Wednesday, April 10, 2013
SED-ML Web Tools & COMBINE archive
http://sysbioapps.dyndns.org/SED-ML_Web_Tools/
If you rather try it offline on your Windows box, try the SED-ML Script editor:
SetupSedML-win32-1.11.exe
Friday, April 5, 2013
COMBINE archive … an implementation
It has been quite some time ago, that the COMBINE archive was proposed it seemed a simple enough format. I had a library for some time, but was not yet sure where to read it. As with any format, if no files are around there will be no applications written to support them.
In any case, since the conversion is going again, I’ve decided to put all the information about the library, and an first version of a graphical frontend for it. As with any experimental frontend it is written again for Windows. The links below have the details:
About the User Interface
When you open an archive in the application, you will find the following layout:
On the left you find the list of files contained in the archive, separated by their type, currently only a limited number of the COMBINE standards is recognized and an even smaller number can be interacted with, but that will change in the future. When you select a file, the systems preview handler will be used to generate a preview, as you can see in the screenshot with the PDF. Also recognized are images, and websites. Can the format not be determined, the file will be displayed as plain text, which may or may not be helpful.
If an SBML file is selected, it will be displayed as plain text. But if you have SBW installed, you will see this pane on the top:
That will allow you to open the file immediately for simulation / editing with one of the defined favorite applications. Or you could choose any other installed SBW Analyzer. The next version will allow you to simulate SED-ML files, and view SBGN files … stay tunes! I’m also working on an online version for sysbioapps.
Monday, March 4, 2013
libSBML 5.8.0 Released
Just as follow up to the release of the SBML Level 3 Package for Flux Balance Constraints: we have now released a new version of libSBML, that includes the FBC package enabled in all binaries. That is not just the core library, but also all language bindings (including MATLAB). Particularly I want to highlight three features:
- the first one is full validation: all validation rules have been implemented in libSBML and will be validated automatically on a
checkConsistency()call onSBMLDocuments. - the other one are the converters: we have included converters from the COBRA annotation to the FBC package and vice versa. Examples are available online, or in the source archives including the package.
- Finally, C++ documentation of the package is available online. While package documentation is not yet available for language bindings, they do use the same function calls, so the information is transferable.
See also the full release announcement for more information.
Thursday, February 14, 2013
SBML Level 3 Package for Flux Balance Constraints
It is official, the SBML Level 3 Package for Flux Balance Constraints has been released! In its first version it allows to efficiently store constraints of Flux Balance models along with objectives to be met.
You can find the full specification online under:
http://identifiers.org/combine.specifications/sbml.level-3.version-1.fbc.version-1.release-1
As of today the next release of libSBML (5.8.0) has gone into code freeze, that will include the FBC package, along with full validation and conversions from SBML Levels that use the COBRA annotations to SBML Level 3 models with the FBC package. This new version is bound to be released by the end of the month. In the meantime nightly windows builds can be found on our build server.
With this release I’ve also made a new version of my FluxBalance tool available. Version 1.7 now already uses the COBRA importer, and has been redesigned to efficiently compute flux balance solutions for even genome scale models (albeit the loading of these models still takes a while).
A big thanks to the SBML editors and the community to make this possible!
Sunday, February 10, 2013
New SBML Test Suite Database!
As you might have noticed there is a new online service available on sbml.org, the SBML Test Suite Database. We of course had the SBML Test Suite for quite some time, with an amazing number of 1196 tests (to date), that now also include tests for the Flux Balance Package and even Hierarchical Modeling. This new application lets you browse all these tests, filter for tests (for example: Show me all tests, that test ‘RandomEventExecution’) and download a selection of tests right there.
At the heart of course is the capability to *upload* a zipped set of test results, and analyze them for yourself in a private area, and once you are happy with them have them published publicly for the world to see. I’ve am working on a new version of SBW, that uses the 5.7.0 version of libSBML. And here is what a result for RoadRunner would look like:
As you can see in yellow, RoadRunner will still not support AlgebraicRules, FastReactions or CSymbolDelay. However, libSBML will flatten comp models for RoadRunner, and so all comp tests that do not use the above mentioned elements will work just fine.
Wednesday, January 30, 2013
COPASI 4.9.45 Released
<functionDefinition id="rateOf"> <annotation> <symbols xmlns="http://sbml.org/annotations/symbols" definition="http://en.wikipedia.org/wiki/Derivative"/> </annotation> <math xmlns="http://www.w3.org/1998/Math/MathML"> <lambda> <bvar> <ci> a </ci> </bvar> <notanumber/> </lambda> </math> </functionDefinition>
<functionDefinition id="RUNIFORM"> <annotation> <distribution xmlns="http://sbml.org/annotations/distribution" definition="http://www.uncertml.org/distributions/uniform"/> </annotation> <math xmlns="http://www.w3.org/1998/Math/MathML"> <lambda> <bvar> <ci> a </ci> </bvar> <bvar> <ci> b </ci> </bvar> <apply> <divide/> <apply> <plus/> <ci> a </ci> <ci> b </ci> </apply> <cn type="integer"> 2 </cn> </apply> </lambda> </math> </functionDefinition>
<functionDefinition id="RNORMAL"> <annotation> <distribution xmlns="http://sbml.org/annotations/distribution" definition="http://www.uncertml.org/distributions/normal"/> </annotation> <math xmlns="http://www.w3.org/1998/Math/MathML"> <lambda> <bvar> <ci> m </ci> </bvar> <bvar> <ci> s </ci> </bvar> <ci> m </ci> </lambda> </math> </functionDefinition>
Monday, January 28, 2013
libSBML 5.7.0 Released
I know I’m two weeks late by now, still I wanted to let you know that we released a new version of libSBML (be sure to have a look at the full release announcement). Since the last release the hierarchical modeling composition package was approved and thus for the first time the comp package is enabled in all binaries. So no matter which one you grab, you will be able to build comp models with it, and read and write them. Much work has gone into the flattening algorithm so that even if your software does not actually make use of the comp package yet, you could automatically flatten the model into a Level 3 core model. To make this possible even from the (otherwise from comp neglected) C API, we finally wrapped the libSBML Converter API for C (including the SBMLConverterRegistry). So now you can query for converters from all languages. Example conversions are available that demonstrate how to flatten the model for all binding languages. Just as example, given an SBMLDocument ‘doc’ all it would take to convert the model are these three lines (in C#)
var props = new ConversionProperties();
props.addOption("flatten comp", true, "flatten comp");
int result = doc.convert(props);
After that, the document will be flattened. And can be treated as a regular Level 3 model. (Though you might want to check for a zero result, just to make sure no issues crept up during the conversion (which would be logged in the error log)).
Perhaps one more word about ExternalModelDefinitions. LibSBML will automatically locate files on the *local* hard drive, relative to the document opened. If you are loading documents from string, and want this feature to be working, you can set the SBMLDocuments locationURI property. More generally the comp package includes a ResolverRegistry, where you can register your own resolvers. These resolvers basically allow you to return an SBML document for a given URI. This facility also would allow you to easily extend the resolvers to resolve documents from the web, from databases and other non-local sources. To demonstrate this, I wrote an example, the SBMLHttpResolverExample, that uses libCURL to download a model from any given website (with the caveat that the comp specification does not allow the inclusion of non-level 3 models, which means that all models from the BioModels Database are rejected for the time being. If you, like me, don’t particularly like that behavior, you might want to raise that issue with the comp working group).
Please grab the new version from SourceForge:
http://sourceforge.net/projects/sbml/files/libsbml/5.7.0/
Happy coding!