Download Links

Simulate 3D | SBW (Win32) | Bifurcation Discovery | FluxBalance

Friday, December 23, 2011

LibSBML 5.3.0 Released & SBML Render Package

Just in time for Christmas we have just released LibSBML 5.3.0. The essentials are:

like for the 5.2.0 release we again provided an alternative source archive that contains updated snapshots of all currently available SBML Level 3 Packages:

SBML Rendering Package

The newest addition is a port of Ralph Gauges libSBML 4 implementation patch to the libSBML 5 package API. It supports both serialization as SBML Level 3 package and Level 2 annotation. However, there were some minor changes along the way:

  • Most changes involve the plugin API, instead of directly accessing the render information from the Layout objects, you use the plugin API:

      Model* model = doc->getModel();

    LayoutModelPlugin *plugin = (LayoutModelPlugin*) model->getPlugin ("layout");

    if (plugin == NULL || plugin->getNumLayouts() == 0)
    {
    cerr << "The loaded model contains no layout information, please add these first." << endl;
    return 3;
    }

    RenderListOfLayoutsPlugin *lolPlugin = (RenderListOfLayoutsPlugin*) plugin->getListOfLayouts()->getPlugin("render");
    if (lolPlugin != NULL && lolPlugin->getNumGlobalRenderInformationObjects() > 0)
    {
    cout << "The loaded model contains global Render information. " << endl;
    }



    the the plugin classes then have all the elements you would need. The Render Extension extends three classes:



    • ListOfLayouts: Entry point for the ListOfGlobalRenderInformation


    • Layout: Entry point for the ListOfRenderInformation


    • GraphicalObject: allows to set the role of a graphical object in order to pin a specific render style to it.




  • There also is a minor change with the way that the XML is written out. Each attribute defined in the Render specification, is written out as belonging to the “render” namespace. With one exception, while reading through the Render specification I could not find one different between the BoundingBox defined in the Layout extension and the one used by the Render LineEndings. So rather than re-implementing another BoundingBox in a different namespace, I made the LineEndings reuse the layout bounding box.



Let me know how the extension is working for you.

Sunday, December 11, 2011

SBW goes Portable

Portable Applications, are applications that you can easily take with you on your USB stick. This allows to use your applications on all Windows machines by simply plugging in the stick. I’m pleased to announce a first prototype that will make the Systems Biology Workbench available for the portableapps.com framework. Here the download:

http://sourceforge.net/projects/sbw/files/sbw/portable/

To install, simply launch portable apps, and then click on “Install a new App”:

image

It will install the following applications:

image

While the launcher only exposes: JDesigner,Jarnac, JarnacLite, the Simulation Tool,  SBML Translator, SBML Layout Viewer, AutoLayout and the C# Inspector, the full SBW installation is available.

If you need custom launchers for more applications, let me know (Possible candidates: BioModels Importer, Jacobian Viewer, Convert SBML, Shutdown SBW).

Please let me know whether this is working for you.

BAD NEWS:

Unfortunately we won’t be able to have SBW be part of the Portable Apps dictionary since some SBW components use .NET and portable apps do not consider .NET widely enough spread. (Even though it appears that it was on 90% of  Windows machines in 2010, and is now part of windows update, and thus *everyone* updating their machine is likely to have it installed.) But there goes me rambling …