Download Links

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

Thursday, April 11, 2019

sysbioapps.dyndns.org is now sysbioapps.spdns.org

Just a brief note, that the services so far provided from sysbioapps.dyndns.org are now available under: http://sysbioapps.spdns.org/. That includes: 




Sorry for the inconvenience.

Wednesday, October 26, 2016

Launching COPASI on Linux via Desktop icon

COPASI is released on Linux as a zipped tarball, to make it as easy as possible to get started with it. You simply extract it and run the executables. However, sometimes that is not enough, or if you don't like to launch your programs from the command line, then you want an alternative. Even worse some distributions launch the CopasiUI shell script in an editor, rather than the application instead.

So enough! Here you will find a shell script that you invoke once, and once done it generates a COPASI.desktop file that your Distribution ought to pick up and launch for you.

so you simply download this shell script:

create-copasi-icon.sh

(choose right click and save, should your browser not download the file) make it executable:

chmod +x create-copasi-icon.sh

and run it with the location where you placed your COPASI installation (and where you will leave it). Say you downloaded COPASI-4.16.104-Linux-64bit and placed it in your home directory, where you want it to stay, then you'd run:

./create-copasi-icon.sh ~/COPASI-4.16.104-Linux-64bit

The script will print the full path of the file it generated, and so if you don't like the results you could simply delete it right away. No other files on your systems will be touched.

Once the script ran, you can go to your application launcher of choice (or simply launch your super key aka windows key) and type COPASI. You should find the COPASI icon right there waiting for you. Let me know (with the name of your linux distro & version) if it does not.

Uninstalling the icon

If at any other point you would like to remove the file you can simply remove the desktop file via:

rm ~/.local/share/applications/COPASI.desktop

Friday, September 16, 2016

libCombine, this time in C++

Today (and just in time for the COMBINE meeting next week) I released the first version of a C++ library supporting the COMBINE archive. The primary purpose of this release is to gather feedback about the API and look what additional features people might need from it. To get a glimpse at what is possible right now you could have a look at:

Should you have any feedback, please use the
to let me know, so it won't get lost. 

Thursday, May 8, 2014

LibSBML Python Bindings 5.10.1

We have just updated the libSBML standalone python package, both on PyPI as well as on the Open Build Service. This includes a critical bug fix, when reading SBML Level 3 files using approved packages.
The new versions are available immediately from PyPI, and can be installed by running

pip install python-libsbml

or

pip install python-libsbml-experimental

if you need all packages. Otherwise linux binaries are available from OBS:

There we added now also binaries for Ubuntu 14.04 and Fedora 20.

sbml-logo-h100

Saturday, April 19, 2014

COPASI 4.12 Released

We have just released a new version of COPASI, and I just wanted to call out my favorite features in this release:
  • We have re-implemented the Rendering backend for network diagrams in Qt and improved the navigation and export of them. That means that all files containing an SBML file supporting the SBML Layout Package and / or the SBML Render Package will displayed properly and could for example be exported as PDF.
  • The same rendering code can now also be used to provide visualization of results for tasks. In this release we just exposed the display of time course results, conserved species, or elementary flux modes. For this visualization the existing rendering information will be altered and not replaced as you can see in the small recording below. Unable to display content. Adobe Flash is required.
  • If you would like to compare, you can switch between the different visualization types, by choosing in the COPASI preferences (Tools/Preferences, or the Preference menu on OSX) to select “Use OpenGL” and give it the Value “YES”.
  • While you are in the Preference menu, have a look at the option “Use Advanced Editing” I encourage you to try it out! If enabled, you can free-type expressions in all the places, where COPASI allows you to enter infix expressions as in for example Event Triggers / Assignments. It also makes it possible to copy expressions from one place to another, something that was not possible before.
  • Speaking about Events, there is a new option in the Time Course Task: “Continue on Simultaneous Events”. Before when two events would be competing and trigger at the same time, COPASI would always interrupt the simulation to make you aware of the fact. By enabling the option, you will just be warned, rather than the simulation stopped. This option is automatically enabled when SBML files are imported. It will not be automatically when opening / creating COPASI files (as it would be a change in behavior as compared to previous versions).
  • SED-ML support: COPASI now has limited support for SED-ML. It is possible to export the Time Course Simulation Task, along with Plots, as well as steady state parameter scans. Other files supporting the same feature set (SED-ML L1V1 / L1V2 without model pre-processing and local SBML sources) can also be imported.
the full release announcement and downloads are as always on the COPASI site:
http://www.copasi.org/

Tuesday, April 15, 2014

Release of libSEDML 0.3.0

Just in time for HARMONY 2014 I am pleased to announce the release of libSEDML 0.3.0, the source of which is available for download from:

https://github.com/fbergmann/libSEDML/releases/tag/v0.3.0

New Features:

  • Support for SED-ML L1V2
  • Support for Notes / Annotations in both versions
  • Support for AddXML / ChangeXML

Bug fixes:

  • sorted issues in supporting both versions and their namespaces
  • numerous improvements

Thanks of course to Sarah Keating, without whom the project would not have been possible, to Bertrand Moreau for helping to improve the CMake build and the Python Bindings.

Please report any issues with libSEDML to:

https://github.com/fbergmann/libSEDML/issues

or directly to me.

Examples for the use of each of the API is available online. If you prefer there to be binaries available for any specific binding language / platform, please let me know.

logoSEDML_567

Thursday, April 10, 2014

libSBML 5.10.0 Released

As of now libSBML 5.10.0 is available for download:

http://sourceforge.net/projects/sbml/files/libsbml/5.10.0/

as well as the python source packages in pypi:

https://pypi.python.org/pypi/python-libsbml/5.10.0
https://pypi.python.org/pypi/python-libsbml-experimental/5.10.0

and additional linux python packages from the OBS:

python-libsbml
python-libsbml-experimental

The full release announcement is as always on sbml-discuss. Here I would just like to call out a number of changes in this release:

  • We were able to fix a number of memory leaks within libSBML, and would recommend everyone to upgrade.
  • There is now an extensible ASTNode layer implemented, that can be used to add additional math to the set understood by libsbml. This is primarily of importance for SBML Level 3 packages like ‘arrays’ and ‘multi’ that extend math. If your software tool does not use these packages, and is not extending math, then you can use the ‘old’ implementation by specifying  the cmake option ‘LIBSBML_USE_LEGACY_MATH’.
  • The CMake build no longer modifies any files within the source directory, and so it is finally possible to have differently configured build directories side-by-side.
  • It is possible to influence precisely how comp-flattening influences each element in the flattening process. This is made possible by passing along a custom transformer class that will be called on each element by libSBML.
  • The CMake files have also been updated, so that it is possible for others to include the libSBML sources anywhere within their cmake projects and simply add libSBML as subdirectory to their project. All that needs to be done to make this work, is to set CMake variables to the root of the libSBML sources and the root of the libSBML build directory.
  • We have solved several issues with respect to compatibility with OSX Mavericks. The only remaining issue, is that when you install the standalone python packages, you will get an error as the python distutils are pretty much broken with Apples switch to Clang. For now you will have to define the ARCHFLAGS environment variable to include: ‘ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future’.

 

sbml-logo-h100

Sunday, March 2, 2014

Release of the Systems Biology Workbench 2.10.0

We are proud to finally announce a new release of the Systems Biology Workbench 2.10.0. You can download this release directly from SourceForge. This version provides updates to all components:

  • Jarnac comes up with an altered front-end, that will make it easier to work with it. It features also additional script commands .
  • JDesigner has been updated to work on newer Windows versions (7-8.1). It also can now load and save model parameters from / to external files. And it features a new plugin system.

Since our last official release, the SBML Level 3 Layout Package has finally been officially accepted, this release supports that final version as well. Similarly, SED-ML Level 1 Version 2 has been released, and with the Simulation Tool those files can be executed. Broken down into individual applications we have:

  • Layout Viewer / SBW Auto Layout: Support for SBML Level 3 Layout Package.
  • SBW Simulation Tool: Support for all SBML levels, and SED-ML Level 1 Version 2. First experiments such as Parameter Scans can also be exported. It also automatically displays targets of SBML Events / Rules in the list of selected elements, when loading models. The Simulation Tool also supports loading files from the COMBINE archive.
  • SBML Support Library: SBML models using the Hierarchical Model Composition package will be automatically flattened, when possible (The file has to be valid, and all submodels have to be reachable.).
  • JarnacLite / RoadRunner / SBML Support Library / JDesigner: A number of custom annotations have been added to allow the specification / simulation of distribution functions, or referencing the rate of change of a species. I've written about that before: distribution and rateOf.

As some of you know, Frank has joined the COPASI team. This made it possible to write a translator for COPASI, and now there is a new SBW import category that enables calling modules, to have a specific format converted into SBML, which can then be consumed. Current bidirectional translators are available for COPASI and JARNAC format. Practically that means that COPASI and JARNAC files can now be directly imported into: Simulation Tool, Auto Layout and others.

Of course there have been many more changes, bug fixes and improvements, so have a look at our full changelog.

Friday, December 20, 2013

libSBML Python Bindings

For a long time we have received reports, that the bindings to some of the supported bindings are hard to build. Usually we would prefer to provide binaries, however in the case of some languages this is not feasible, as there are different versions (that are incompatible with each other) being used. For this reason we have decided to work on creating standalone source packages for python, ruby, perl and r bindings.
The first package that I looked into was python. The idea would be to create two flavors of the source packages, one with libSBML core + accepted packages (dubbed python-libsbml), and another that includes also all proposed packages (dubbed python-libsbml-experimental).
With these source packages, installing the python bindings is as simple as running:
python setup.py install
Thanks to the Open Build Service this also makes it possible to provide binaries for a variety of linux distributions for them. They provide even repositories, so that the packages could be automatically updated, when a new version has been released.

Source:
Linux Binaries:

Hopefully in time for the next release we want to add these packages to the standard repositories (like pypi) over. And so I would like to ask you for feedback on the packages so far. Thanks!

Thursday, November 28, 2013

Building LibSBML on Windows …

Building libSBML is really straightforward on all platforms. Especially with CMake. All one needs to do is to specify the dependencies. And while one of the parser libraries (libxml, expat or xerces-c) is surely available on every Linux or OS X system. It is sometimes difficult to track those binaries down for windows.

Since I upgraded my machine to use VS2013 today, I released new dependency archives on SourceForge. (for recent releases of Visual Studio (both in 32 and 64 bit and with / without static runtime)). The downloads are available from:

http://sf.net/projects/sbml/files/libsbml/win-dependencies

The binaries included are for the following libraries:

  • bzip2 v1.0.6
  • check v0.9.8
  • expat v2.0.1
  • iconv v1.9.2
  • libxml2 v2.7.7
  • xerces v3.1
  • zlib v1.2.3

Using the dependency archives

Please download the dependency archive, that matches your Visual Studio Version (i.e vs9 files, if you use Visual Studio 2008, vs11 files if you use Visual Studio 2012 ... ) as well as the build type (release / debug) and desired VS runtime (static runtime, vs dynamic (no extension)).

Then extract the file which will contain a folder libSBML Dependencies-1.0.0-b1-win32 for 32 bit, or libSBML Dependencies-1.0.0-b1-win64 for 64bit files.

Now checkout libSBML or download one of the release archives. Next create a build directory from the Visual Studio Command line. Ensure you have cmake in the path and run:

cmake -DLIBSBML_DEPENDENCY_DIR=<dependency dir> -DCMAKE_BUILD_TYPE=Release -DWITH_STATIC_RUNTIME=ON <source dir>

Here <source dir> is the libSBML source directory, and <dependency dir> the extracted directory. If you downloaded the debug archive, replace -DCMAKE_BUILD_TYPE=Release with -DCMAKE_BUILD_TYPE=Debug. In case you downloaded the file with dynamic runtime replace: -DWITH_STATIC_RUNTIME=ON with -DWITH_STATIC_RUNTIME=OFF.


Hope this helps …

Sunday, November 24, 2013

SBML Validation from SBW

The SBML Online Validator, currently represents the most comprehensive validator for SBML files. While we are working on a standalone version of it, it will be some time before it will be released. In the meantime I came across a nice Web Automation Framework (see http://watin.org/). That makes it very easy to test web applications. It was easy enough to wrap it into an SBW module, so that now all SBML files can be easily validated right from your favorite SBW Application:

LaunchOnlineValidator

I’ve pushed the project over to http://fbergmann.github.io/LaunchOnlineValidator/ if you like to see how that was done. Or grab the module right from SourceForge: SetupSBMLValidator_1.0.exe.

Thursday, November 14, 2013

libSBML 5.9.0 Released

Its official the new libSBML 5.9.0 is available immediately from source forge:

http://sourceforge.net/projects/sbml/files/libsbml/5.9.0/

There have been a number of changes. In the past months both the SBML Level 3 Qualitative Modeling Package, and the SBML Level 3 Layout Package have been released. From now on, they will be enabled and fully validated by every libSBML binary release.

And while there are many great new features (such as a converter that promotes all local reaction parameters to global ones, or a converter that attempts to infer units of elements), there are two new API introductions that I want to highlight below. Please see also the full release announcement.

ElementFilters: searching for elements

LibSBML 5.9.0 also introduces a new API, that makes it easier to search for specific elements in the SBML documents. You might be familiar with the SBase::getAllElements method, that until now would have returned all SBase elements below a certain element. So if you called it on a Event you would get a list containing of Trigger, Delay and EventAssignments. New is now, that getAllElements can optionally take an ElementFilter. In order to use the ElementFilter you would create a new class, that inherits from ElementFilter and implements one method:

virtual bool filter(const SBase* element);

This function can inspect an SBase element for its properties, and if it should be returned by getAllElements it would return true and false otherwise. This also works in the bindings languages, such as Python, Java or C#. So for example in C# if you would like a filter that filters for elements that contain Notes, you would implement the method like so:

public override bool filter(SBase element)
{
// return in case we don't have a valid element
// or the element contains no notes.
if (element == null || !element.isSetNotes())
return false;

// otherwise include it in the result
return true;
}

Then you simply pass that class into the call to getAllElements, and you would only receive elements with notes. Examples for this are in the examples folder of libSBML:



IdentifierTransformer: transforming elements


Another new concept included in 5.9.0 is the IdentifierTransformer class. This was initially motivated by the comp package, where often identifiers (SIds / METAIDs) would have to be renamed during flattening. Of course when you rename things, then you have to go through all references, to ensure that these would be corrected as well. To make this easier we included the IdentifierTransformer class. Similar as to the ElementFilter you would again inherit from that class and implement:

virtual int transform(SBase* element);

in order to use the transformer, you would first call getAllElements with the appropriate filter, to get a hold of all elements you would want to transform. and then go through them applying the transformer to the items. Of course this is useful even outside of comp. As example we include a transformer, that will updated all SBML Ids, to be as close as possible to their elements Name (by ensuring that all invalid characters such as spaces are removed from the name to represent a valid id):



Of course these transformers don't have to be used at all in the context of renaming identifiers. The general API also allows them to do pretty much any manipulations of the elements that you would like.

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.

Wednesday, October 16, 2013

Applying the Scientific Method to Simulation Experiments …

I’ve just finished a one hour Rosa & Co webinar, and thought to post the slides below. You might also be interested in their other webinars, you can find the webinar archive here.

Wednesday, September 25, 2013

Systems Biology Workbench 2.10.0 - RC2

We are still working on the next release for SBW. Some users commented, that the last release candidate did not work for them, having issues in JDesigner. As of right now a new Windows build is available, from the Update tool or:

http://128.208.17.26/fbergman/files/latest/SetupSBW.exe

image

Thank you again for all the reports so far, please keep them coming.

Monday, September 16, 2013

SED-ML Level 1 Version 2–Release Candidate

The COMBINE meeting has just started, and we finally made the release candidate for the SED-ML Level 1 Version 2 specification available. SED-ML L1V2 finally extends the simulation experiments covered by SED-ML to include any kind of repeat and perturbation experiment. Apart from that it also includes the possibility to fully parameterize simulations, by specifying algorithm specific parameters like relative and absolute tolerances of integrators. The specification is available online from:

http://tinyurl.com/sed-ml-l1v2-rc

On my end I’ve updated the libSedML, and the SED-ML Script editor and of course SBW to be able to simulate L1V2. Another major change has been applied to the SED-ML Web Tools that now also support L1V2, and are now also capable of simulating the repeatedTask concept with CellML additionally to SBML.

As always any feedback is appreciated.

SED-ML Logo 5

Sunday, September 1, 2013

Systems Biology Workbench 2.10 (RC1)

As hinted at, a couple of days ago, we are shortly before the release of the next version of SBW with enhancements for all associated programs. Today I want to announce a new release candidate. On SourceForge you will find installers for Windows, OSX as well as Linux (x86 & x64). You can download them from:

http://sourceforge.net/projects/sbw/files/sbw/2.10.0/rc1/

I’ve also created virtual machines & live images with SUSE studio, that are available online:

32bit OpenSUSE 12.3,
64bit OpenSUSE 12.3

Any feedback is appreciated.

SBW-Logo

Saturday, August 17, 2013

Preparing the next SBW release (2.10)

It has been some time since the last release. Of course we never stopped working, as you can tell if you look at the change log:

SBW Change log

Apart from major upgrades to JDesigner and Jarnac, there is full support for the newly released Layout package. Additionally, Level 3 models using the Hierarchical Modeling (i.e. comp) Package can be automatically flattened for use in our simulators. Also an import option has been added to many modules, so that COPASI files can be opened.

The new windows installer can be downloaded from:

Windows Installer

Or obtained from the update program.

SBW-Logo

Wednesday, July 24, 2013

SBML Layout Specification RC2

Finally, after a good 10 years since the first presentation of a layout extension to SBML, the specification has been sent to the SBML editors for approval. One might think it is actually quite easy to describe where something is, and it should not take all that long to agree on a bare minimum for a standard, but be that as it may, we are now in the final stretches. If you like, you could have a look at the specification:

SBML Layout Specification RC2

It is of course fully supported by libSBML. Now that the specification is in the approved format for L3 packages, including a whole number of validation rules, validation is currently added to libSBML and will be available from the Online Validator with the acceptance of the package. In the meantime you could use the

SBML RNG Online Validator

Software support is shaping up: SBW has been supporting SBML Layout since 2005, and COPASI has it enabled in publicly released builds since last year. Both software tools also import CellDesigner annotations! At last years HARMONY meeting the layout specification has received its biggest change, by adding a GeneralGlyph, that makes it possible to also layout elements, that previously where not possible. Support for that is available in the latest SBW builds,

SBML Online Layout Viewer

And within the COPASI codebase, to be released sometime soon.Here a screenshot, showing the exchange between COPASI & SBW of an SBML Level 3 model with a GeneralGlyph that represents an SBML Event, including Trigger and Event Assignment:

image

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!