Skip to content

JSBML 1.1 release

Compare
Choose a tag to compare
@niko-rodrigue niko-rodrigue released this 23 May 12:45
· 2005 commits to master since this release

JSBML-1.1 DOI

We are pleased to announce the release of JSBML-1.1.

JSBML is a community-driven project to create a free, open-source, pure
Java library for reading, writing, and manipulating SBML files and data
streams. It is an alternative to the mixed Java/native code-based
interface provided in libSBML.

For more details, please visit

http://sbml.org/Software/JSBML

At the end of this message, you can find a detailed list of the
user-visible new features and bug fixes since 1.0.

Thank you for your interest and support of JSBML and SBML in general.

The JSBML team.

Version 1.1 (09-12-2015)

  • New Features:
    • Implemented the ability to support multiple version of SBML Level 3
      package definitions.
    • Improved the Maven pom files, and changed the Maven group ids and
      artifact ids. They should be stable now. With these changes in place,
      we can update the Maven repository much more quickly and easily. Next
      steps are to make JSBML available in Maven Central.
    • Added some utility classes to improve support for SBML files written by
      the Cobra toolbox before the SBML Level 3 FBC package was created. The
      CobraFormulaParser class can parse properly the Cobra gene associations
      String into an ASTNode. The CobraUtils class contain a method to parse
      the SBML notes into a Java Properties object.
    • Updated the implementation of the SBML Level 3 Groups package to the
      Groups version 0.7 specification.
  • Bug Fixes:
    • The compartment 'units' attribute was not written in SBML L1. This is
      corrected now.
    • SBML L1 rules were not correctly written: the wrong XML element name
      was used. Now it uses the correct L1 names and attributes.
    • The clone constructor for the Species class did not copy the
      speciesType attribute. Thanks to Olivier Martin who reported the
      problem.
    • The clone constructor for the FunctionDefinition class did not copy the
      id attribute.
      • Since the merge with the astnode2 branch in 1.1-beta1, the attributes
        on mathML elements where processed before calling the main
        processAttributes method and as a consequence, some of them where not
        processed at all, like 'sbml:units'. Thanks to Matthias König who
        reported the problem.

Version 1.1-beta1 (12-10-2015)

  • New Features:
    • Changed the default JSBML formula compiler. WARNING: this changes the
      default output for comparison operators. The parsing is now very close
      to what the libSBML L3 parser is doing.
    • Added support for the nested CVTerms introduced in SBML L2V5 and
      L3V2. We created some new methods in the CVTerm class to be able to
      manipulate nested terms.
    • Merged with the ASTNode2 branch (experimental). This is not used by
      default, but it is starting to work well. We were able to pass all tests
      from the SBML Test Suite using the ASTNode facade that uses the ASTNode2
      classes underneath. We made this work so that no API change is needed --
      old code should work without modifications.
    • Changed the printing of ASTNode in SimpleTreeNodeChangeListener to
      avoid many exceptions being printed when reading an XML file and the
      log4j DEBUG is activated (SF.net tracker item #88).
    • Improved CellDesigner LayoutConverter.
    • Added a new class, PackageUtil, to check and fix the package versions and
      namespaces if needed. This method is called after we read a file from
      XML or before we write the model to XML. In the near future, the method
      SBase.registerChild will take care of setting everything properly.
    • Added a default load of the parsers for environment not setup properly
      for it (Eclipse, Matlab dynamic path, OSGi, ...).
    • Modified the way we initialize the XML factories so that it is explicit
      (to OSGi for example) which classes and packages are used. Then there
      is no more need to define the System properties about the XML factories
      which solve an other reported problem with OSGi bundles. Thanks to all
      users who reported and tested problems related to OSGi.
    • Implemented a new interface CompartmentalizedSBase and changed all
      elements that can have a compartment so that they extend it.
    • Added a createCurve method to ReactionGlyph.
    • Improvements in the arrays flattening code.
    • Updated spatial to implement version 0.90 of the draft specifications.
    • Implemented FBC version 2.
    • Implemented distrib version 1 draft 0.16.
    • Modified the SBMLReader so that we are able to parse some UncertML
      Strings as XMLNode, even when they are on their own, via
      org.sbml.jsbml.xml.XMLNode.convertStringToXMLNode(String).
    • Added a new class DistribModelBuilder to help users to create distrib
      elements, including uncertML XMLNode.
    • Implemented the multi draft rev 459 (Nov 2014).
  • Bug Fixes:
    • Methods that accepted Double/Integer/Boolean values or returned those
      where updated to double/integer/boolean in the spatial and render
      package. Instead of null values PropertyUndefinedExceptions are now
      thrown when necessary.
    • Tracker item #83: the equals method from StringBuilder is
      not implemented so we have to compare the content of the StringBuilder
      or use other utility method to compare properly the StringBuilders.
    • Tracker item #84: corrected and improved the XMLNode.toString method.
    • Tracker item #85: removing spaces with the String.trim() method in
      org.sbml.jsbml.Creator.setEmail(String) before checking the validity
      of the email address. Thanks to Camille Laibe who reported this
      problem.
    • Tracker item #87: changed HashMap to Map in the SBMLValidator API.
    • When writing math formula, in some cases, parentheses were not generated
      properly surrounding relational expressions. This is now fixed. Thanks
      to Miguel de Alba for reporting this problem.

J S B M L 1.1

JSBML is a free, open-source programming library to help you read, write,
manipulate, translate, and validate SBML files and data streams. It is not
an application itself (though it does come with example programs), but
rather a library you can embed in your own applications.

This is the a short description of the JSBML 1.1 final release files.
Here you will find the following:

jsbml-1.1.jar -- jar file containing the classes of JSBML-1.1

jsbml-1.1-with-dependencies.jar -- jar file containing the
classes of JSBML-1.1 including all of the currently supported
SBML L3 packages and any needed dependencies libraries classes.

jsbml-1.1-full.zip -- full distribution of JSBML-1.1
containing the two jars file described above plus the sources and
documentation along with the build script to be able to compile the
library. Contain also the jsbml modules sources and binaries.

For more information about JSBML, please visit the JSBML website at

               http://sbml.org/Software/JSBML

Thank you for your interest in JSBML!

The JSBML Team.