We are* pleased to announce the release of Antimony v2.0 and 2.1-beta at


where you can get windows binaries, source code, and documentation.

What has changed?

In addition to smaller changes like introducing a new syntax to accomodate 
SBML Level 3's new event features, the principle change with version 2.0 
is the ability to translate CellML models, maintaining their modularity in 
Antimony's native modularity format.

For version 2.1-beta, the principle change is the ability to produce SBML 
models that use the proposed 'Hierarchical Model Composition' package 
constructs.  This feature uses the 'sbml-comp' package code written for 
libSBML (by yours truly) and can hopefully serve as an example both of how 
to write code using this package, as well as now providing the ability to 
produce actual hierarchical models in the proposed format.  QTAntimony 
v2.1-beta allows you to view the SBML models in 'comp' and in 'flattened' 
form.  From the SBML model tab, select 'Edit/Flatten SBML tab(s)' (or hit 
Control-F) to toggle between the two modes.

The fact that v2.1 is currently in beta is a reflection of the fact that 
the 'comp' package proposal has not yet been finalized, and changes to the 
format may still occur which may invalidate models produced with this 
tool.  Nonetheless, the models should be instructive to those interested 
in the comp package.

Antimony now uses CMake as its build system, which hopefully will make 
compilation on a variety of platforms more straightforward.

What was it originally?

Antimony is a modular, human-readable, human-writeable model definition 
language, originally based off of Jarnac, and extended to be fully 
modular.  So named because the chemical symbol for antimony is 'Sb', 
Antimony is designed to allow you to rapidly create new SBML models, and 
view SBML models in a simplified text form.  libAntimony is a library 
designed to allow programmers to add interfaces to their software to allow 
users to create and view models in this way.  It is currently used in the 
programs Tinkercell (http://www.tinkercell.com/) and JSim 

In addition, a simple editor 'QTAntimony' (written in, of all things, QT) 
is provided as a way to get started using Antimony on its own.  This 
editor displays your model using different tabs, each containing a 
different translation.  It can read and write models written in Antimony, 
SBML, and CellML, and can translate between the three formats by simply 
clicking on the appropriate tab.  A major client of QTAntimony have been 
Biomodels.net curators, who have used it to transform models in published 
papers to SBML.

Where is it going?

Antimony will continue to be on the leading edge of 'comp' package use 
(since the same guy who's writing this program is also writing the 
libSBML-comp code), and will probably be one of the two implementations 
required to move the package to a 'finalized' status.  As such, we will be 
adding the concept of deletions to the syntax soon, as well as the concept 
of conversion factors (assuming the latter survives to the final draft of 
the specification).

In addition, it has long been our desire to add units to the Antimony 
syntax, and this is next on our list of Things To Do (tm).  Attaching 
units to variables should be relatively straightforward, but allowing 
users to attach units to constants (as is now allowed in SBML Level 3) 
will probably require the development of a brand-new infix parser.  If it 
does, we may consider donating this code to libsbml on the theory that 
others may find it useful as well.  Watch this space!

Who is to blame?

Antimony was developed by Lucian Smith from an original specification 
developed by Dr. Herbert Sauro and Frank Bergmann, under a grant from the 
NIH (thanks, the NIH!).  It uses libSBML 
(http://sbml.org/Software/libSBML), the CellML API 
(http://www.cellml.org/tools/api), and the QT libraries 

Do I get something for reading this far?

My undying gratitude.  And you get to read the joke footnote, below!

Thank you!

-Lucian Smith

*(for values of 'We are' equal to 'I am'.  But using 'we' makes it sound 
more distinguished, don't you think?)
cellml-discussion mailing list

Reply via email to