Difference between revisions of "Antimony"

From BioUML platform
Jump to: navigation, search
(Composite model)
(BioUML version used, minor fixes)
 
(10 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 0.9.6 aims to combine two representations of mathematical model (particularly - SBML model):
+
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-diagram using extended SBGN notation
+
<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> Are supported within an antimony </td>
+
<td> Supported Antimony features </td>
<td> Necessary additions in the antimony specification</td>
+
<td> Not supported in current version</td>
 
</tr>
 
</tr>
 
<tr>
 
<tr>
 
<td>
 
<td>
 
<ul>
 
<ul>
<li>Creating and removal of species, compartments,</li>
+
<li>Creating and removing of species, compartments,</li>
 
<li>Putting nodes into parental compartments,</li>
 
<li>Putting nodes into parental compartments,</li>
<li>Changing initial values,</li>
+
<li>Initial values changing,</li>
<li>Creating and removal of reaction with reactants and products,</li>
+
<li>Creating and removing of reaction with reactants and products,</li>
<li>Editing kinetic laws of reactions,</li>
+
<li>Editing of reaction kinetic laws,</li>
<li>Creating, removal and editing of functions,</li>
+
<li>Creating, removing and editing of functions,</li>
<li>Creating, removal and editing of scalar and rate equations,</li>
+
<li>Creating, removing and editing of scalar and rate equations,</li>
<li>Mounting constant value for species and variables;</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>Algebraic rules</li>
+
        <li>Declaration <i>"DNA strand definitions"</i> isn't supported,</li>
<li>Opportunity to divide initial value and initial assignment</li>
+
        <li>From symbol types, only "species" and "compartment" are supported,</li>
<li>Opportunity to change independently attributes "constant" and "boundary conditional",</li>
+
        <li>Reactions with interactions (inhibition, activation);</li>
 
</ul>
 
</ul>
 
</td>
 
</td>
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td bgcolor="#999999">Antimony features which hadn't supported in beta-version</td>
+
<td bgcolor="#999999">Necessary additions in the antimony specification</td>
 
</tr>
 
</tr>
 
<tr>
 
<tr>
 
<td>
 
<td>
 
<ul>
 
<ul>
<li>Can import only diagram from the current collection,</li>
+
                                <li>Algebraic rules</li>
<li>The public port is created only if it is registered in parameters model,</li>
+
<li>Distinguishing between initial value and initial assignment with numerical value,</li>
<li>Some declarations don't supported: <i> DNA strand definitions, deletions</i>,</li>
+
<li>Independent management of "constant" and "boundary conditional" attributes,</li>
<li>From symbol types only  "species" and "compartment" are supported,</li>
+
<li>Reactions with interactions (inhibition, activation) don't use;</li>
+
 
</ul>
 
</ul>
 
</td>
 
</td>
Line 69: Line 67:
 
[[File:SubDiagram.PNG |thumb| Use model definition or external model for adding subdiagram.]]
 
[[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: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 correspond composite model. Main model will be created and it contains all models like model definitions.
+
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> Are supported within an antimony </td>
+
<td> Supported Antimony features </td>
<td> Features which aren't supported in beta version</td>
+
<td> Not supported in current version</td>
 
</tr>
 
</tr>
 
<tr>
 
<tr>
Line 82: Line 81:
 
<li>Model definitions,</li>
 
<li>Model definitions,</li>
 
<li>External models,</li>
 
<li>External models,</li>
<li>SubDiagrams,</li>
+
<li>Submodels,</li>
<li>Synchronization elements from different models;</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>Main model is defined using sign < * ></li>
+
<li>Sign < * > for defining main model,</li>
<li>Synchronizing elements which are located below in more than one level  
+
<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>Synchronizing elements which have different types,</li>
+
                                <li>Replacing of elements other than species and parameters,</li>
<li>Defining a model into subdiagrams or other model definitions,</li>
+
<li>Replacing of elements with different types,</li>
<li>Adding propagation ports;</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>
Line 114: 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

Visual (SBGN) and text-based (Antimony) representations of SBML model in BioUML

Antimony plugin for BioUML 2023.3 aims to combine two representations of mathematical model (particularly - SBML model):

  • visual representation as BioUML Type-diagram-icon.png 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 Type-diagram-icon.png 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 Type-diagram-icon.png diagram only after "Apply Antimony" button is pressed. If you change Type-diagram-icon.png diagram before you press this button, all changes in text will be lost!

Scheme for compartment adding via Antimony
Scheme for species adding via Antimony

[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
  • Creating and removing of species, compartments,
  • Putting nodes into parental compartments,
  • Initial values changing,
  • Creating and removing of reaction with reactants and products,
  • Editing of reaction kinetic laws,
  • Creating, removing and editing of functions,
  • Creating, removing and editing of scalar and rate equations,
  • Declarating species and variables as constants;
  • Declaration "DNA strand definitions" isn't supported,
  • From symbol types, only "species" and "compartment" are supported,
  • Reactions with interactions (inhibition, activation);
Necessary additions in the antimony specification
  • Algebraic rules
  • Distinguishing between initial value and initial assignment with numerical value,
  • Independent management of "constant" and "boundary conditional" attributes,

[edit] Composite model

Use model definition or external model for adding subdiagram.
Use parameters of subdiagram or synchronization for adding connection.
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 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
  • Model definitions,
  • External models,
  • Submodels,
  • Replacing species and parameters from different models;
  • Sign < * > for defining main model,
  • Replacing of elements with more than one level of depth
    Example: s1 is A.B.s2,
  • Replacing of elements other than species and parameters,
  • Replacing of elements with different types,
  • Import models from other collections,
  • "Deletion" attributes,
  • Operating with submodel elements wich are not defined in model definition as ports explicitly;
New elements which we have added in Antimony language
  • Prefix for different type ports:
    • contact: "a",
    • input: ">a",
    • output: "<a";

    Example: model nameModel(a,<b,>c);

[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

  1. 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

[edit] See also

Personal tools
Namespaces

Variants
Actions
BioUML platform
Community
Modelling
Analysis & Workflows
Collaborative research
Development
Virtual biology
Wiki
Toolbox