Skip to content

jsbml-1.0-rc1

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

Version 1.0-rc1 (24-09-2014)

  • New Features:
    • Changed the default behaviour of the parsing of math infix formula.
      The methods concerned are JSBML#parseFormula and
      ASTNode#parseFormula.
      The changes include a different operator precedence, to match the
      one used in the L3 libSBML parser. The parsing is also case
      sensitive for mathML elements. Boolean operators are now
      differently interpreted: '&&' and '||' are used instead of 'and'
      and 'or'. Please consult the JavaDoc of those methods for more
      details, it is also explain there what to do if you want to keep
      the old behaviour.
    • Added two new BioModels.net qualifiers, bqmodel:isIntanceOf and
      bqmodel:hasInstance.
    • BioJava was updated to the latest version and the dependency is
      now to biojava3-ontology.
    • Added removeCVTerm methods in Annotation and SBase.
    • An IdManager interface has been introduced to help deal with the
      different id namespace in SBML core and in the different packages.
    • JSBML now provides a convenient ModelBuilder that can be used to
      create SBML models with a significantly lower number of lines of
      code for the end user.
    • Improved Java source code documentation (in particular CVTerm).
    • The SBMLDocument has now a convenient method to access all metaIds
      within the document in form of an unmodifiable Collection.
    • The SBO class provides more methods to access those terms that are
      of particular interest for SBGN displays.
    • A general Pair of arbitrary values now generalizes ValuePair.
    • The toString() methods in UnitDefinition and SpeciesReferences
      have been improved and are now more informative.
    • Internally, JSBML no longer creates Unit objects that lack
      required attributes when reading models. (However, this does not
      prevent users from creating new Unit objects without such
      attributes.)
    • Species and Compartment 'containsUndeclaredUnits' method has been
      overridden because in SBML L3 Species and Compartments can inherit
      a default unit from the Model. This is now considered. In this
      case, containsUndeclaredUnits will return false even if the object
      itself does not explicitly declare its unit. This is important
      because the unit of the element is not undefined.
    • Added some missing methods to manipulate EvenAssignment in Event
      and improved the JavaDoc of the Event class.
    • Added some missing getter in the L3 packages classes.
    • Support for SBML Level 3 'Arrays' package:
    • Arrays package implemented, version 05/05/14. Only selector and
      vector supported for now. Validations, flattening available.
    • Added support for vector and selector infix parsing to support the
      arrays package.
    • Support for SBML Level 3 'Layout' package:
    • Added missing methods to remove GeneralGlyph objects from a Layout
      object.
    • Added further missing remove or unset methods in the layout
      package.
    • Support for SBML Level 3 'Qualitative Models (qual)' package:
    • The class QualitativeModel in the qual package has been marked
      deprecated and should no longer be used. Aiming to achieve better
      compatibility to libSBML, the new class QualModelPlugin has been
      created to be used instead.
    • Support for SBML Level 3 'Spatial Processes (spatial)' package:
    • Updated to implement version 0.88 of the draft specifications.
  • Bug Fixes:
    • Corrected the method AbstractSBase#getExtensionCount that was
      always returning 0.
    • Corrected the SBMLWriter so that disabled packages are not written
      to XML any more (they are still cloned).
    • Corrected the method SBase.appendNotes that contained several
      problems.
    • Corrected a bug when cloning a text XMLToken.
    • Fixed the AbstractSBase equals method that could throw a
      NullPointerException in some cases and was not testing all fields.
    • Fixed the CVTerm.removeResource(String) method. Thanks to Camille
      Laibe who reported the problem (tracker item #80).
    • Corrected the method ASTNode.parseFormula so that they catch any
      Exception or Error and throw a ParseException instead.
    • Added the support for the 'root' function in the parsing of math
      formula.
    • The FormulaParserLL3 was not reading properly formula like
      'kf * S0 * S1'. Only two arguments were read instead of three or
      more. Thanks to Chris J. Myers for reporting this problem.
    • Corrected a bug in Event#setListOfEventAssignments method that
      prevented the listOfEventAssignments to be registered properly in
      the model (ids and metaids registered).
    • Corrected the removeFromParent method to make it working for
      SBasePlugin instances.
    • The ListOf.remove(String) will not throw a ClassCastException
      anymore when used on list that do not contain elements with id.
    • The static method JSBML.read(String) was not calling the right
      helper method.
    • ASTNode threw a NullPointerException when trying to un-set its
      variable.
    • The AbstractTreeNode recursive method
      removeTreeNodeChangeListener(TreeNodeChangeListener, boolean) was
      not actually recursive.
    • Solved source for potential NullPointerException in LaTeXCompiler.
    • Support for SBML Level 3 'Hierarchical Model Composition (comp)'
      package:
    • Fixed several issues when cloning 'comp' elements and L3 packages
      elements in general. Thanks to Chris J. Myers and the iBioSim team
      for their help to find and fix all issues.
    • Support for SBML Level 3 'Flux Balance Constraints (fbc)' package:
    • The required flag for the fbc package was set to true instead of
      false, thanks to Chris J. Myers for reporting this problem.
    • Support for SBML Level 3 'Layout' package:
    • The implementation of the layout package contained unnecessary
      classes that all represented a Point object (Start, End, Position,
      BasePoint1, BasePoint2). In order to avoid confusion and to
      simplify the implementation, those classes have all been deleted.
    • Corrected the method Layout#setListOfAdditionalGraphicalObjects to
      avoid the warnings when cloning the list and to avoid to create a
      new list when not needed.
    • Support for SBML Level 3 'Qualitative Models (qual)' package:
    • The SBML qual attribute Output.outputLevel was not read properly
      from XML.
    • Support for SBML Level 3 'Rendering (render)' package:
    • Fixed severals bugs in the experimental render package. Renamed
      the Group class to RenderGroup and the Curve class to RenderCurve.
      Added the possibility to add children to a RenderGroup and
      corrected the way it was written to XML.