We are* pleased to announce the release of Antimony v2.0 and 2.1-beta at http://antimony.sourceforge.net/
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 (http://www.physiome.org/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 (http://qt.nokia.com/). ======================================== 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 cellml-discussion@cellml.org http://lists.cellml.org/mailman/listinfo/cellml-discussion