Difference between revisions of "Antimony"
(→Composite model) |
(BioUML version used, minor fixes) |
||
(14 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
==Antimony plugin== | ==Antimony plugin== | ||
[[File:Antimony demo.png|thumb|Visual (SBGN) and text-based (Antimony) representations of SBML model in BioUML]] | [[File:Antimony demo.png|thumb|Visual (SBGN) and text-based (Antimony) representations of SBML model in BioUML]] | ||
− | Antimony plugin for BioUML | + | Antimony plugin for [[BioUML]] {{BioUML current version}} aims to combine two representations of mathematical model (particularly - SBML model): |
<ul> | <ul> | ||
− | <li>visual representation as BioUML | + | <li>visual representation as BioUML {{Type link|diagram}} using extended SBGN notation |
<li>text-based representation using Antimony language<ref>Smith, L.P., Bergmann, F.T., Chandran, D. Sauro, M.H. Antimony: a modular model definition language. Bioinformatics, 2009, 25(18): 2452-2454. {{doi|10.1093/bioinformatics/btp401}}</ref>. | <li>text-based representation using Antimony language<ref>Smith, L.P., Bergmann, F.T., Chandran, D. Sauro, M.H. Antimony: a modular model definition language. Bioinformatics, 2009, 25(18): 2452-2454. {{doi|10.1093/bioinformatics/btp401}}</ref>. | ||
</ul> | </ul> | ||
Line 9: | Line 9: | ||
Plugin allows user to edit model both visually and as text. | Plugin allows user to edit model both visually and as text. | ||
If visual repesentation is changed - antimony text is updated on the fly.<br> | If visual repesentation is changed - antimony text is updated on the fly.<br> | ||
− | Text changes are applied to the diagram on demand (after pressing "Apply Antimony" button).<br> | + | Text changes are applied to the {{Type link|diagram}} on demand (after pressing "Apply Antimony" button).<br> |
Besides model representations syncrhonisation, we also try to presereve user diagram layout as well as antimony text format (spaces, comments, etc.) | Besides model representations syncrhonisation, we also try to presereve user diagram layout as well as antimony text format (spaces, comments, etc.) | ||
<br> | <br> | ||
− | <b>Please note:</b> antimony changes will be applied to the diagram only after "Apply Antimony" button is pressed. | + | <b>Please note:</b> antimony changes will be applied to the {{Type link|diagram}} only after "Apply Antimony" button is pressed. |
− | If you change diagram before you press this button, all changes in text will be lost! | + | If you change {{Type link|diagram}} before you press this button, all changes in text will be lost! |
<br> | <br> | ||
[[File:compartment antimony.png|thumb|Scheme for compartment adding via Antimony]] | [[File:compartment antimony.png|thumb|Scheme for compartment adding via Antimony]] | ||
Line 26: | Line 26: | ||
<table border="1" align="center" cellspacing="0" cellpadding="4"> | <table border="1" align="center" cellspacing="0" cellpadding="4"> | ||
<tr bgcolor="#999999"> | <tr bgcolor="#999999"> | ||
− | <td> | + | <td> Supported Antimony features </td> |
− | <td> | + | <td> Not supported in current version</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td> | ||
<ul> | <ul> | ||
− | <li>Creating and | + | <li>Creating and removing of species, compartments,</li> |
<li>Putting nodes into parental compartments,</li> | <li>Putting nodes into parental compartments,</li> | ||
− | <li> | + | <li>Initial values changing,</li> |
− | <li>Creating and | + | <li>Creating and removing of reaction with reactants and products,</li> |
− | <li>Editing kinetic laws | + | <li>Editing of reaction kinetic laws,</li> |
− | <li>Creating, | + | <li>Creating, removing and editing of functions,</li> |
− | <li>Creating, | + | <li>Creating, removing and editing of scalar and rate equations,</li> |
− | <li> | + | <li>Declarating species and variables as constants;</li> |
</ul> | </ul> | ||
</td> | </td> | ||
<td rowspan="3" valign="top" > | <td rowspan="3" valign="top" > | ||
<ul> | <ul> | ||
− | + | <li>Declaration <i>"DNA strand definitions"</i> isn't supported,</li> | |
− | + | <li>From symbol types, only "species" and "compartment" are supported,</li> | |
− | + | <li>Reactions with interactions (inhibition, activation);</li> | |
</ul> | </ul> | ||
</td> | </td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td bgcolor="#999999"> | + | <td bgcolor="#999999">Necessary additions in the antimony specification</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td> | ||
<ul> | <ul> | ||
− | + | <li>Algebraic rules</li> | |
− | + | <li>Distinguishing between initial value and initial assignment with numerical value,</li> | |
− | + | <li>Independent management of "constant" and "boundary conditional" attributes,</li> | |
− | + | ||
− | + | ||
</ul> | </ul> | ||
</td> | </td> | ||
Line 67: | Line 65: | ||
==Composite model== | ==Composite model== | ||
+ | [[File:SubDiagram.PNG |thumb| Use model definition or external model for adding subdiagram.]] | ||
+ | [[File:Ports.png |thumb| Use parameters of subdiagram or synchronization for adding connection.]] | ||
+ | [[File:CompositDiagram.png |thumb| Visual (SBGN) and text-based (Antimony) representations of composite model.]] | ||
− | In the beta-version plugin new declarations were added for working with composite models. If antimony text contains few models or declarations outside model then this text | + | In the beta-version plugin new declarations were added for working with composite models. If antimony text contains few models or declarations outside model then this text corresponds to the composite model. Main model will be created and it contains all models like model definitions. |
<table border="1" align="center" cellspacing="0" cellpadding="4"> | <table border="1" align="center" cellspacing="0" cellpadding="4"> | ||
<tr bgcolor="#999999"> | <tr bgcolor="#999999"> | ||
− | <td> | + | <td> Supported Antimony features </td> |
− | <td> | + | <td> Not supported in current version</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
Line 80: | Line 81: | ||
<li>Model definitions,</li> | <li>Model definitions,</li> | ||
<li>External models,</li> | <li>External models,</li> | ||
− | <li> | + | <li>Submodels,</li> |
− | <li> | + | <li>Replacing species and parameters from different models;</li> |
</ul> | </ul> | ||
</td> | </td> | ||
<td rowspan="4" valign="top" > | <td rowspan="4" valign="top" > | ||
<ul> | <ul> | ||
− | <li> | + | <li>Sign < * > for defining main model,</li> |
− | <li> | + | <li>Replacing of elements with more than one level of depth |
<br><b>Example:</b> s1 is A.B.s2,</li> | <br><b>Example:</b> s1 is A.B.s2,</li> | ||
− | <li> | + | <li>Replacing of elements other than species and parameters,</li> |
− | + | <li>Replacing of elements with different types,</li> | |
− | + | <li>Import models from other collections,</li> | |
+ | <li>"Deletion" attributes,</li> | ||
+ | <li>Operating with submodel elements wich are not defined in model definition as ports explicitly;</li> | ||
</ul> | </ul> | ||
</td> | </td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td bgcolor="#999999">New elements which we added in Antimony language</td> | + | <td bgcolor="#999999">New elements which we have added in Antimony language</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td> | ||
<ul> | <ul> | ||
− | <li>Prefix for different type ports | + | <li>Prefix for different type ports: |
+ | <ul> | ||
+ | <li><b>contact:</b> "a",</li> | ||
+ | <li><b>input:</b> ">a",</li> | ||
+ | <li><b>output:</b> "<a";</li> | ||
+ | </ul> | ||
<br><b>Example:</b> model nameModel(a,<b,>c);</li> | <br><b>Example:</b> model nameModel(a,<b,>c);</li> | ||
</ul> | </ul> | ||
Line 107: | Line 115: | ||
</tr> | </tr> | ||
</table> | </table> | ||
− | + | ||
+ | ==Other features== | ||
+ | <b>Attributes.</b> Antimony language has been expended for working with element's attributes. String attribute can be specified by declaration: <b>@elementName.attributeName = "value"</b>. Some attributes are not displayed in the antimony text, but one is able to choose visible attributes in "Additional properties" (tab Options). List of attributes is split by commas. | ||
== References== | == References== |
Latest revision as of 18:08, 21 July 2015
Contents |
[edit] Antimony plugin
Antimony plugin for BioUML 2023.3 aims to combine two representations of mathematical model (particularly - SBML model):
- visual representation as BioUML diagram using extended SBGN notation
- text-based representation using Antimony language[1].
Plugin allows user to edit model both visually and as text.
If visual repesentation is changed - antimony text is updated on the fly.
Text changes are applied to the diagram on demand (after pressing "Apply Antimony" button).
Besides model representations syncrhonisation, we also try to presereve user diagram layout as well as antimony text format (spaces, comments, etc.)
Please note: antimony changes will be applied to the diagram only after "Apply Antimony" button is pressed.
If you change diagram before you press this button, all changes in text will be lost!
[edit] Features overview
Currently plugin is in beta version, some features of antimony aren't supported. Also we want to achieve full synchronization between antimony and sbml-model in BioUML. And for this purpose we need some additions for the antimony specification.
Supported Antimony features | Not supported in current version |
|
|
Necessary additions in the antimony specification | |
|
[edit] Composite model
In the beta-version plugin new declarations were added for working with composite models. If antimony text contains few models or declarations outside model then this text corresponds to the composite model. Main model will be created and it contains all models like model definitions.
Supported Antimony features | Not supported in current version |
|
|
New elements which we have added in Antimony language | |
|
[edit] Other features
Attributes. Antimony language has been expended for working with element's attributes. String attribute can be specified by declaration: @elementName.attributeName = "value". Some attributes are not displayed in the antimony text, but one is able to choose visible attributes in "Additional properties" (tab Options). List of attributes is split by commas.
[edit] References
- ↑ Smith, L.P., Bergmann, F.T., Chandran, D. Sauro, M.H. Antimony: a modular model definition language. Bioinformatics, 2009, 25(18): 2452-2454. doi:10.1093/bioinformatics/btp401