Release of libSBML-5.6.0
03 Aug '12 03:12
We are pleased to announce the release of libSBML-5.6.0 which is
available for download from
Version 5.6.0 (2012-08-03)
A note on the use of SWIG:
All aspects of libSBML-5.6.0 requiring SWIG are known to work with
SWIG version 2.0.4. Issues with later versions have been found
with respect to some areas of a libSBML build. These will be
addressed in future releases but for libSBML-5.6.0 we recommend
the use of SWIG 2.0.4.
* New features
- LibSBML now includes a binding to R (The R Project for Statistical
Computing). The binding is generated using SWIG and thus can be
built by users. Alternatively, the libSBML-5.6.0 release provides
R packages that can be installed directly into R.
- During HARMONY 2012, people discussed the issue of providing
support for Level 3 Layout in other SBML Level 3 packages. The
conclusion was that additional GeneralGlyph elements should be
added in order to support references to as-yet unknown types of
objects to be defined in Level 3 packages. These additional
elements have been included in the libSBML layout code.
- Although libSBML GNU makefiles have technically supported Python 3
for some time, there had been no feedback regarding the use of
Python 3 until recently. In response to the feedback, we have the
updated the build system to facilitate the use of different
versions of Python 3. On Windows, the libSBML release also
includes prebuilt installers for Python 3.2.
- The libSBML 'configure' command now accepts the additional option
--with-python-interpreter, which allows you to specify the Python
interpreter that should be used. This is useful when a system has
multiple versions of Python installed in the same directories, and
the version that should be used can be selected by explicitly
invoking the desired version. The option takes a full path, as in
- In order to facilitate the use of identifiers.org URLs, we added
an additional function, getSBOTermAsURL, to the SBase class. This
function returns a string representation of the SBOTerm in its
resolvable identifiers.org URL format; e.g.,
- The use of libSBML get and set functions in Python; a by-product
of the use of SWIG; is not particularly intuitive. LibSBML-5.6.0
applies a patch that allows the use of indexing in the python
environment i.e. model->getSpecies(0)->getId() can be replaced
with model.species.id. This patch is limited to Python 2 versions
at present. It does not adversely effect existing functions for
either Python 2 or Python 3. Many thanks to Gordon Ball
(Computational Medicine, Karolinska Institute) for creating and
sharing this patch.
* Bug fixes
- When using a copy of libSBML compiled with Level 3 package
support, attributes from the "sbml" namespace were not given a
namespace prefix when they should have been. This has been fixed.
- The L3Parser had some subtle bugs on some operating systems when
dealing with very long numbers or exponentials. These have been
tracked down and fixed.
- Although libSBML explicitly prevented History or CVTerm objects
from being added to the annotation of an object when that object
had no metaid attribute value, it was still possible to add
History and CVTerm directly to the annotation. This could lead to
invalid MIRIAM annotations because they lacked a metaid attribute
value. LibSBML now checks that an object to which any MIRIAM
compliant annotation is being added has a metaid.
- When returning a MIRIAM-compliant annotation, all CVTerms were
lost if just one had an invalid qualifier. This has been fixed.
- The decompression code uses a macro OF that is not defined for all
versions of linux. A definition has been added to avoid problems.
Thanks to Kai Wohlfahrt for reporting this.
- There was a potential memory leak issue while registering
SBMLConverters. Thanks to Akira Funahashi and his team for spotting
the problem and supplying a fix.
* Configuration/build system changes
- As SBML Level 3 packages and their code become available, there is
a increasing number of possibilities in the matrix of what a
particular instance of libSBML has included. In order to
facilitate code that may rely on the presence of one or more
packages, the CMake configuration process has been improved to
include a set of flags that identify the packages included in a
particular build. The file convertLayout.cpp in the examples/c++
directory illustrates the use of these #define's.
- The MATLAB bindings failed to build on Mac OS X whenever an Xcode
version was used that did not include the Mac OS 10.6 SDK. This
has been fixed.
- The CMake build system has been made more resilient to finding
include files from previous libSBML installations.
* New features
- The Qualitative Modeling package "qual" is now supported.
- The R binding is available for all packages.
- 'Groups' package:
- At HARMONY it was agreed that the 'group' element needed an
additional attribute 'kind'. This has been added.
- 'Spatial' package:
- There was an issue with the encoding of image data for the
spatial package. This has been solved by providing a function
that will uncompress the data and return it to the user in a
- 'Comp' package:
- Instantiated Model objects in Submodels now are set to have that
Submodel as their parent. The SBMLDocument is still set to the
document of the original Model, so that its own Submodel
references can be properly tracked down.
Please report any problems you encounter using libSBML either to the
mailing list firstname.lastname@example.org or using the issue tracker
for libSBML at
To manage your sbml-discuss list subscription, visit
For a web interface to the sbml-discuss mailing list, visit
For questions or feedback about the sbml-discuss list,
[Updated on: 03 Aug '12 08:43] by Moderator
Powered by FUDforum. (Copyright Advanced Internet Designs Inc.)