Download Links

Simulate 3D | SBW (Win32) | Bifurcation Discovery | FluxBalance
Showing posts with label fbc. Show all posts
Showing posts with label fbc. Show all posts

Sunday, November 10, 2013

Updated FluxBalance Tool

Today I want to announce a new version of the FluxBalance tool. New in this version is that it works better with SBW. By adding a new entry to the menu bar “Export L2”, it is now possible to export the Flux Balance problem designed to other SBW modules as SBML Level 2 Version 4 files with the FluxBalance annotation. Is the button not pressed the SBML Level 3 File with the official Flux Balance Constraints Package will be exported. The new installer is available immidiately from SourceForge under:

http://sourceforge.net/projects/sbw/files/modules/FluxBalance/

Screenshot 2013-11-10 16.09.45

Unfortunately, we are still not quite there for the next SBW release, last changes on JDesigner are in the process. In the meantime there is a new update for SBW please feel free to download the latest version.

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.


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 on SBMLDocuments.
  • 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.

image

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!

Wednesday, January 18, 2012

FBC Package & SBMLToolbox 4.1.0 Getting Started

Today the SBML Team released version 4.1.0 of the SBML Toolbox. The news? It can be used with the SBML Level 3 Flux package. So what do you need to get it set up?

  1. Grab the beta FBC package for your system from:
  2. Grab SBML Toolbox 4.1.0: http://sourceforge.net/projects/sbml/files/SBMLToolbox/4.1.0/
  3. unzip / start Matlab / change into the toolbox directory, run the ‘install’ command.
  4. run the tests to be sure all is working fine for you:
    cd Test
    RunTest




Please let us know how things are going for you!

Saturday, November 12, 2011

libSBML 5.2.0 released

This morning Sarah sent the announcement that a new version of libSBML is available for download from:
http://sf.net/projects/sbml/files/libsbml/5.2.0/ 
New this time around is that we also provide binaries for all the SBML Level 3 Extension packages. So if you are interested in providing software support for:
  • FBC
  • COMP
  • LAYOUT
  • GROUPS
  • REQ
  • SPATIAL
you can simply download your favorite binaries (including language bindings) from the experimental directory.

New Features

There are two new features I want to bring to your attention, that is the facility for custom validators and converters. By inheriting form SBMLConverter or SBMLValidator it is now possible for your application to quickly check for specific aspects of documents that is important to you.
Here just one example on how you could check that your SBML model does not contain Algebraic Rules or Fast reactions if your application does not support them.
   1: /** 
2: * Declares a custom validator to be called. This allows you to validate
3: * any aspect of an SBML Model that you want to be notified about. You could
4: * use this to notify your application that a model contains an unsupported
5: * feature of SBML (either as warning).
6: *
7: * In this example the validator will go through the model and test for the
8: * presence of 'fast' reactions and algebraic rules. If either is used a
9: * warning will be added to the error log.
10: */
11: class MyCustomValidator : public SBMLValidator
12: {
13: public:
14: MyCustomValidator() : SBMLValidator() {}
15: MyCustomValidator(const MyCustomValidator& orig) : SBMLValidator(orig) {
16: 
17: }
18: virtual ~MyCustomValidator() {}
19: 
20: virtual SBMLValidator* clone() const { return new MyCustomValidator(*this); }
21: 
22: virtual unsigned int validate() {
23: // if we don't have a model we don't apply this validator.
24: if (getDocument() == NULL || getModel() == NULL)
25: return 0;
26: 
27: // if we have no rules and reactions we don't apply this validator either
28: if (getModel()->getNumReactions() == 0 && getModel()->getNumRules() == 0)
29: return 0;
30: 
31: unsigned int numErrors = 0;
32: // test for algebraic rules
33: for (unsigned int i = 0; i < getModel()->getNumRules(); i++)
34: {
35: if (getModel()->getRule(i)->getTypeCode() == SBML_ALGEBRAIC_RULE) {
36:
37: getErrorLog()->add(SBMLError(99999, 3, 1,
38: "This model uses algebraic rules, however this application does not support them.",
39: 0, 0,
40: LIBSBML_SEV_WARNING, // or LIBSBML_SEV_ERROR if you want to stop
41: LIBSBML_CAT_SBML // or whatever category you prefer
42: ));
43:
44: numErrors++;
45: }
46: }
47: 
48: // test for fast reactions
49: for (unsigned int i = 0; i < getModel()->getNumReactions(); i++)
50: {
51: // test whether value is set, and true
52: if (getModel()->getReaction(i)->isSetFast() &&
53: getModel()->getReaction(i)->getFast()) {
54: 
55: getErrorLog()->add(SBMLError(99999, 3, 1,
56: "This model uses fast reactions, however this application does not support them.",
57: 0, 0,
58: LIBSBML_SEV_WARNING, // or LIBSBML_SEV_ERROR if you want to stop
59: LIBSBML_CAT_SBML // or whatever category you prefer
60: ));
61: 
62: numErrors++;
63: 
64: }
65: }
66: 
67: return numErrors;
68: }
69: 
70:
71: };
72: 
73: 
74: int
75: main (int argc, char *argv[])
76: {
77: if (argc != 2)
78: {
79: cout << endl << "Usage: addCustomValidator filename" << endl << endl;
80: return 1;
81: }
82:
83: const char* filename = argv[1];
84: 
85: // read the file name
86: SBMLDocument* document = readSBML(filename);
87: 
88: // add a custom validator
89: document->addValidator(new MyCustomValidator());
90: 
91: // check consistency like before
92: int numErrors = document->checkConsistency();
93: 
94: // print errors and warnings
95: document->printErrors();
96: 
97: // return number of errors
98: return numErrors;
99: 
100: }


Linux Packages

For this release we provide again DEB and RPM files with binaries compiled on CentOS 4.6 and Ubuntu 8. This means they use a libc version that is reasonably old and will not cause problems on newer distributions.

Listening to feedback from our users the default install prefix has been changed to /usr. And we also include language bindings in them.

The plan was to use the OpenBuildService (OBS),  but unfortunately I was not yet able to create binaries with language bindings for all different distributions. I hope we can sort this out for the next release.

Monday, September 5, 2011

LibSBML 5.1.0 (beta) Language Bindings with Packages

COMBIN2011 is in full swing, a great meeting! I have heard from several people that they would like to play with the language bindings in different programming languages. With CMAKE it really is easy to create those bindings, so the archive below includes the Windows 32 bit bindings for:

  • Java
  • C#
  • Python (2.7)

Of the following beta packages:

  • comp
  • fbc
  • groups
  • layout
  • req
  • spatial

For more information of these packages please see the SBML Community wiki.

The bindings are build with libxml2 and compression libraries statically linked in, and the static MSVC bindings, so they won’t need any further dependencies. So without further ado, here the link:

http://cl.ly/1K3i07323y2e14103d3J 

Please let me know about any problems with these bindings.

SBML logo

Wednesday, April 20, 2011

Flux Balance Constraints for libSBML 5.0.0

In time for todays session on SBML at HARMONY 2011 below a set of windows binaries that include libSBML 5.0.0 with the first beta version of the Flux Balance Constraints package. This time the package is implemented using the libSBML 5 extension API, which allows easy interaction with SBML Level 3 extensions.

For more information about the Flux Balance Constraints package, please have a look at the proposal page. On that page you find a detailed description about the current proposal, as well as links to examples.

Below you find full installers (including C#, Java, Perl and Python bindings) as well as python bindings for specific versions of Python.

If you don’t use Windows and still would like to try out the FBC package on your platform, I have a source package. In order to use this, download the libSBML 5 source distribution, as well as the fbc-package, then extract the fbc-package into the libsbml 5 source tree. Next, use CMake to configure the program to your needs, ensuring to set ENABLE_FBC=ON (or in the UI check the ENABLE_FBC option).

  1. libSBML 5.0.0 source release
  2. fbc-package-beta-1

Please let me know how the package is working for you.