If you Google "Why did I become a biologist?" most answers include "I loved science and hated math".
One of the key elements of SimBiology for me (and for many clients) is positional notation. If I show a client group (including biologists and physicians for example) matlab code, they run screaming from the room, or at best lean back in their chairs with their arms folded across their chests, and a glare on their face. If I show them graphs and such, they are a bit happier but wonder where the heck the numbers came from. If I show them a graphical representation of the model, with species, nodes and rates, they get it. They understand biological diagrams. They understand chemical reactions. The are more likely to grok and accept the graphs and numerical output. Graphical model representation is extremely powerful in communicating models to and gaining the confidence of people who are not predisposed to, for example, reviewing m file scripts.
It dismays me when folks don't regard graphical model representation seriously. I'm astounded when modelers fail to use graphical representation to improve communication with non-modelers. It's like giving away effective communication tools. I'm aghast that SBML2 doesn't include positional notation when its clear that folks who model like graphical representation (e.g. SimBiology and Pathway Designer both allow for this). I hope that SBML 3 doesnt squander the opportunity to include this. [/general rant]
[specific rant] Suppose I have a model with carefully constructed graphics. If I open that model in Simbiology, ala
and then change it in any way, for example
p1h = sbioselect(m1,'Name','Param1');
and then save the model
sbiosaveproject 'Garbled.sbproj' m1
the resulting Garbled.sbproj, when opened on the desktop, is garbled. Param1 is changed as specified, but all the graphics are rearranged - it is spaghetti and useless for communication. So here's one question: 1) Is there a way to open a model, modify it with code, and close it such that the positional notation is preserved?
Another thing that seems to happen is that any constant parameter graphic that is global that I had in Clear_model.sbproj has been deleted. So if I have a graphical parameter called "Evanescent" in Clear_model, and I open, change, and save the model, Evanescent is gone, graphically. It's still in the model in the rules and rate laws, but the graphical symbol is gone from the desktop. But what if I want that parameter to be visible? So, again, a question:
2. Is there any way to force SB to not mess with my graphics when I open/change/save?
Of course, if I'm doing this wrong, I'll be happy to be set straight! Thanks.