Download Links

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

Saturday, April 27, 2013

Ninja to the rescue

Don't you hate all these long compile times? I've head of Ninja a long time ago, but never gave it much thought. In case you don't feel like following the page, Ninja is a replacement for make / nmake. So today I gave it a try:

Installation

Couldn't be simpler. I cloned the git repository, opened a VS command line, called bootstrap.py with python 2.7, and added the directory to the path.

Configuring libSBML

I figured libSBML makes for a great test project, at least on my machine a build of it with tests takes forever. So I configured a new build of libsbml, release, static runtime, with tests. Thus the configuration line is:

cmake -G Ninja -DWITH_CHECK=ON -DWITH_STATIC_RUNTIME=ON -DLIBSBML_DEPENDENCY_DIR=..\..\vs11_dependencies_32_static-release ..\..

and the build is ready to go. To collect timing information, i run using time:

\cygwin\bin\time.exe ninja

And *drumroll*, time reported: 0.00user 0.00system 2:29.59elapsed 0%CPU. If you know Windows C++ builds (on non SSD drives), you know they take forever, so having all these projects build in two and a half minutes is amazing.

counter example

Just so you know, here the counter example, of using NMake as distributed by VS11. Here the configure line is:

cmake -G "NMake Makefiles"  -DWITH_CHECK=ON -DWITH_STATIC_RUNTIME=ON -DLIBSBML_DEPENDENCY_DIR=..\..\vs11_dependencies_32_static-release -DCMAKE_BUILD_TYPE=Release ..\..

running timed build again leaves gives us: 0.00user 0.00system 8:31.14elapsed 0%CPU. A whole 6 minutes more!

More data

So I couldn’t stop there, a compilation of libSBML on OSX  took (again with tests) 1m55.769 (vs. 4m4.568 for the regular make, and 2m2.698 for make –j 4). With universal binaries (i386 + x86_64) that time doubles as expected. Not too much of a difference. But this is made up by the fact that the output of ninja displays all critical things like warnings an errors nicely.

Today I used ninja for COPASI. Just as example: CopasiSE + CopasiUI + java bindings builds in just 4 minutes, 28! As compared to the 24m28 that nmake was using.

It seems obvious that using Ninja definitely saves a bunch of time, especially when compiling on Windows. The next thing to try is to use it as external build tool in VS!

Thursday, April 18, 2013

Flux Balance Tools

For the Friday morning here a collection of links to software applications and databases all around flux balance analysis.

Tools
  • Systems Biology Workbench: While SBW does not in and of itself deal with flux balance analysis, it does make it easy to construct networks. And makes it easy to send models between applications.
    Download 
  • FluxBalance; An application to add constraints and objectives to SBML models and to evaluate them using LPsolve.
    Download
  • CBMPy: comprehensive python package for analyzing flux balance models. Installation instructions are here.
  • OpenCOBRA: MATLAB toolbox for genome scale reconstruction. Instructions on how to use are here.
WEB
  • F.A.M.E: Web based environment for Flux Analysis. With a tutorial here
Databases
  • KEGG Pathway: KEGG PATHWAY Database (used by F.A.M.E for visualization).
  • BIGG Database: Database of genome scale reconstructed networks. Among them the global reconstruction of the human metabolic network.


Wednesday, April 10, 2013

SED-ML Web Tools & COMBINE archive

A couple of days I've published the COMBINE archive project to github. Today, I'm proud to let you know, that you can now upload / download COMBINE archive also to the SED-ML web tools:

  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:

image

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:

image

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.