Skip to content

Releases: draeger-lab/SBMLsqueezer

SBMLsqueezer Version 2.2

03 Nov 22:04
76aca12
Compare
Choose a tag to compare

New Features

  • Creation of default function terms for qualitative modeling is now also available in graphical user interface
  • Added alternative version of the mass action law that incorporates the equilibrium constant
  • Maven is now used for project management
  • Updated JSBML to newest Version

Bug Fixes

  • Several minor issues have been solved.

SBMLsqueezer Version 2.1.1

16 Jun 09:58
Compare
Choose a tag to compare
v2.1.1

Version 2.1.1

SBMLsqueezer version 2.1

03 Mar 23:45
Compare
Choose a tag to compare

New Features

  • SBMLsqueezer fully supports all Levels and Versions of SBML up to the most recent specifications Level 2 Version 5 and Level 3 Version 1.
  • The CellDesigner plug-in version has been adapted to work with version 4.4.
  • The Garuda backend has been updated.
  • The report generator SBML2LaTeX has been updated, and the new version is now part of this release of SBMLsqueezer.
  • SBMLsqueezer comes with the most recent version of JSBML (revision 2d8550c), which can read all current extension packages.
  • Slightly improved API documentation and updated Users' Guide.
  • Correctly indented SBML output files.

Bug Fixes

  • Under Windows, it was sometimes not possible to correctly display user messages. This has been fixed.
  • Several minor issues have been solved.

Known Issues

In SBML models, it should be possible to evaluate all kinetic equations to the extent of reaction units per time units. Usually, the extend of a reaction would be a variant of a substance unit. However, it has been recognized that some kinetic equations cannot under all conditions be evaluated to extend per time units. The reasons are often the structure of the definition of the rate law. Some equations that have been defined for gene-regulatory networks, for instance, give a purely phenomenological description of the system (e.g., S- or H-systems). In other equations, it is assumed that the equilibrium constant is always dimensionless. If this is not the case, it cannot be guaranteed that SBMLsqueezer will create correct units for these equations (e.g., modular rate laws and convenience kinetics). It is therefore recommended to check the units of generated rate laws, even if in the vast majority of cases these will be correct. Please note that in this version the general unit handling has been extensively revised and improved and is in the vast majority of cases very reliable. SBMLsqueezer displays the derived units of equations so that problematic equations can be easily identified.

SBMLsqueezer version 2.0.1

03 Mar 23:20
Compare
Choose a tag to compare

Improvements

This release has become necessary due to significant changes in the Garuda backend and also includes an updated version of JSBML.

References

See the new Users' Guide that covers various aspects of working with SBMLsqueezer 2.

SBMLsqueezer version 2.0

03 Mar 23:19
Compare
Choose a tag to compare

New Features

Many concepts that have been introduced with version 1.3 have been revised and updated. The entire handling of user settings has been massively changed and now uses the concept of user preferences instead of configuration files. The source code has been cleaned and re-factored in many positions and lots of development time has been invested into with the library JSBML.

SBMLsqueezer can now be used in several different ways:

  • As fully-featured stand-alone program without the need to install any further software, based on the official JSBML version 1.0β1
  • As a stand-alone program based on a libSBML back-end, which means that real off-line SBML validation is possible.
  • Irrespective of whether JSBML or libSBML is used as SBML library, the stand-alone version provides both, a graphical user interface as well as a fully-featured command-line version. For large-scale rate law generation, this command-line interface has already proven to be useful (as part of the path2models project).
  • SBMLsqueezer can be launched directly from the project's website as a Java™ Web Start program without the need of any local installation.
  • As a plug-in for CellDesigner 4.3
  • As a Garuda gadget, as which it can communicate with further Garuda gadgets

Hence, the usage of the program has been greatly simplified. Further new program features comprise:

  • SBMLsqueezer fully supports all Levels and Versions of SBML up to the most recent specification Level 3 Version 1.
  • A direct query wizard for SABIO-RK has been implemented and allows users to extract experimentally obtained rate laws from this database together with parameters, values, and units. The search engine provides several settings for experimental conditions.
  • SBMLsqueezer includes now several JUnit test cases to check if the generated kinetic equations are correct.
  • It includes now a full version of SBML2LaTeX and can directly open PDF files that are generated to document the content of the model.
  • The renderer for equations and formula has been changed and provides more capabilities. SBMLsqueezer windows and context menus are now zoom-able and re-sizable.
  • Improved user preferences menu and management for each major operating system (tested under Microsoft Windows, Linux, and Mac OS X).
  • The user interface (graphical user interface and command-line) is fully bilingual (German and English), and partially also translated to Chinese, but models and their labels are only created in English for the sake of a better international re-usability.
  • A new search function allows users to query the model data structure in the graphical user interface.
  • Lots of effort has been put to better adapt SBMLsqueezer to individual platforms. The support for Mac OS X has been greatly improved; the program now provides many features of native applications for Mac OS X.
  • The documentation of the application programming interface has been improved.

Bug Fixes

The communication between SBMLsqueezer and CellDesigner was very inefficient. The new plug-in interface in JSBML provides much better performance. Errors in kinetic equations and units of parameters have been detected and solved:

  • Sometimes SBMLsqueezer created invalid identifiers for newly introduced units.
  • The units of the association and dissociation constant in generalized mass action kinetics could not be derived correctly if a catalyst interfered with the reaction because the units of the catalyst were not taken into account.
  • The units of the half-saturation constant in the (generalized) Hill equation were not correctly derived. The derivation of units of kinetic parameters has been improved.

Several minor issues with the graphical user interface have been solved.

Known Issues

In SBML models, it should be possible to evaluate all kinetic equations to the extent of reaction units per time units. Usually, the extend of a reaction would be a variant of a substance unit. However, it has been recognized that some kinetic equations cannot under all conditions be evaluated to extend per time units. The reasons are often the structure of the definition of the rate law. Some equations that have been defined for gene-regulatory networks, for instance, give a purely phenomenological description of the system (e.g., S- or H-systems). In other equations, it is assumed that the equilibrium constant is always dimensionless. If this is not the case, it cannot be guaranteed that SBMLsqueezer will create correct units for these equations (e.g., modular rate laws and convenience kinetics). It is therefore recommended to check the units of generated rate laws, even if in the vast majority of cases these will be correct. Please note that in this version the general unit handling has been extensively revised and improved and is in the vast majority of cases very reliable. SBMLsqueezer displays the derived units of equations so that problematic equations can be easily identified.

References

See the new Users' Guide that covers various aspects of working with SBMLsqueezer 2.

SBMLsqueezer version 1.3

03 Mar 23:55
Compare
Choose a tag to compare

New Features

A New and Purely Java-Based SBML Data Structure

SBMLsqueezer's data structure was completely changed: Earlier versions were based on String concatenation to create kinetic formulas with all participating species and parameters. Now SBMLsqueezer is based on an abstract syntax tree representation of the formula and also creates Parameter objects rather than simply their identifier.

This new data structure is an almost complete Java™ implementation of SBML and has, therefore, become a separate project, JSBML. On the SBML homepage, you can find a separate mailing list for this project.

With JSBML at hand, SBMLsqueezer does no longer manipulate CellDesigner's plug-in Objects directly. If you start SBMLsqueezer from CellDesigner's plug-in menu or its reaction context menu, SBMLsqueezer will copy all required parts of the model into JSBML objects. Only this copy of the model is manipulated. By clicking on OK or Apply, all changes will be synchronized with CellDesigner's original data structures.

Stand-Alone Mode

SBMLsqueezer now also runs in a stand-alone mode. With the help of libSBML, valid SBML files can be read and copied into the JSBML data objects. JSBML now mirrors the complete definition of SBML up to Level 2 Version 4. As in the CellDesigner plug-in mode, SBMLsqueezer only manipulates JSBML objects. By clicking on save, changes are written into the SBML file.

Command-line mode: All features of SBMLsqueezer are now also available from the command line. This allows users to write shell or batch scripts that access SBMLsqueezer's functions.

The Application Programming Interface (API) of SBMLsqueezer has been simplified. There is now just one function, squeeze in the main class SBMLsqueezer that can be called to read in a model from a valid SBML file and to write the result, i.e., an SBML model including new KineticLaws, new Parameters, new or adapted UnitDefinitions, into the given out file. Before creating kinetic formulas for the model, the user probably wants to adjust SBMLsqueezer's configuration. To this end, the methods set(CfgKey, <boolean|double|int|String>) in class SBMLsqueezer allow the programmer to set any configuration key and value pair, similar to the command-line mode. Here we give a minimal example of how to use this new API:

public static void main(String[] args) {
  // Initialize SBMLsqueezer with appropriate SBML readers/writers
  SBMLsqueezer squeezer = new SBMLsqueezer(new LibSBMLReader(), new LibSBMLWriter());
  // Configure SBMLsqueezer
  squeezer.set(CfgKeys.OPT_ALL_REACTIONS_ARE_ENZYME_CATALYZED, true);
  squeezer.set(CfgKeys.OPT_DEFAULT_COMPARTMENT_INITIAL_SIZE, 1.0);
  squeezer.set(CfgKeys.POSSIBLE_ENZYME_RNA, true);
  squeezer.set(CfgKeys.KINETICS_UNI_UNI_TYPE, MichaelisMenten.class.getName());
  squeezer.set(CfgKeys.KINETICS_OTHER_ENZYME_REACTIONS, ConvenienceKinetics.class.getName());
  try {
    // Create kinetic equations, parameters, units etc. and save the result
    // args contains infile and outfile path
    squeezer.squeeze(args[0], args[1]);
  } catch (Throwable e) {
    e.printStackTrace();
  }
}

Since SBMLsqueezer still requires the installation of libSBML on the user's system, which can sometimes become problematic, a more convenient way of using SBMLsqueezer has now been made available: the SBMLsqueezer web application does not require any local installation and is freely available at http://webservices.cs.uni-tuebingen.de. In this framework, workflows can be created in which SBMLsqueezer can directly be linked to the full version of SBML2LaTeX. The full version of SBML2LaTeX contains many additional features that are not included in SBMLsqueezer's version of SBML2LaTeX. Hence, it is highly recommended to make use of the online version of SBML2LaTeX.

Configuration

SBMLsqueezer now memorizes every setting and changed parameters from the Graphical User Interface (GUI) whether in CellDesigner plug-in or stand-alone mode. In the stand-alone case, SBMLsqueezer even memorizes given command-line arguments. These settings are read from a configuration file at the next start. This is especially convenient for open and saves directories. At any time, the user can change all settings to the defaults by clicking the designated button in the preferences dialog.

Improved Systems Biology Ontology Support

SBMLsqueezer is now fully based on the Systems Biology Ontology (SBO). The JSBML copy of CellDesigner's plug-in data structures maps all CellDesigner-specific annotations to corresponding SBO terms. Afterward, these are mapped back. SBO term “enzymatic catalyst” (SBO:0000460) was created because it is required by SBMLsqueezer to distinguish enzymes and other catalysts, such as certain inorganic ions. SBMLsqueezer's stand-alone version interprets SBO terms that can be found in the model and changes the annotation of ModifierSpeciesReferences from “catalyst” (SBO:0000013) to “enzymatic catalyst” if the SBO term of the corresponding Species is one of those belonging to the family of materials considered as enzymes (SBMLsqueezer still offers checkboxes to indicate certain kinds of species of enzymes).

Earlier versions of SBMLsqueezer indicated the SBO term identifiers of newly created kinetic equations if these were already defined in SBO. However, this was more or less just for information to the user and could neither be saved nor be considered during any other processes. This version of SBMLsqueezer can not only take SBO terms into account while creating rate laws but can even save SBO terms in the resulting SBML file. However, in CellDesigner plug-in mode, SBMLsqueezer is not yet able to save SBO term ids in CellDesigner data objects due to the missing functionality in its API.
SBMLsqueezer now contains an own parser to identify the correct SBO term ids and attributes that are required to annotate all newly created objects.

Whenever possible, SBMLsqueezer annotates newly created objects, such as Parameters or UnitDefinitions, with SBO identifiers.

MIRIAM Support

In contrast to earlier versions, SBMLsqueezer now also interprets and uses MIRIAM tags. The new command-line and configuration key option OPT_IGNORE_THESE_SPECIES_WHEN_CREATING_LAWS takes a list of comma-separated MIRIAM identifiers as value. Species annotated with BQB_IS, and the given MIRIAM resources are then ignored when creating rate equations. This is, for instance, useful if small molecules such as water take part in a reaction. The concentration of water can hardly be measured, and it is assumed to occur abundantly within the cell. By default, the list of species whose influence is to be neglected when creating new kinetic equations contains the KEGG compound identifiers for the following substances:

New Kinetic Equations and Extensibility

In earlier versions, the inclusion of new kinetic equations into SBMLsqueezer was not an easy task. After writing a class that generates the new rate law, a rule had to be implemented of when to make this rate law available. Furthermore, the GUI had to be changed to include this new formula. Summarized, several changes in the program code were necessary to include additional rate laws.

Now SBMLsqueezer is based on Java reflection, i.e., initially, SBMLsqueezer does not know anyone of its available kinetic equations. These are all loaded when initializing SBMLsqueezer. Currently, twelve interfaces define the properties of all kinetic equations. The rules of when selecting which kind of rate equation only make use of the implemented interfaces. Hence, new kinetic equations can be incorporated into SBMLsqueezer simply by implementing designated interfaces. Since SBMLsqueezer is an open-source project, users can customize it easily and extend it with desired rate laws.

Much effort was put into the extension of SBMLsqueezer with additional rate laws for gene-regulatory processes. Earlier versions of SBMLsqueezer only provided the Hill equation variant suggested by Hinze et al. 2007. This equation has now been renamed to Hill-Hinze equation to highlight that it is a modification of the original rate law. Only in special cases, this equation equals the traditional Hill equation (SBMLsqueezer will highlight these cases). Now nine additional rate equations were included:
Additive Model Linear: A generalized superclass o...

Read more

SBMLsqueezer version 1.2.1

03 Mar 21:29
Compare
Choose a tag to compare

New Features

In the context menu, SBMLsqueezer now remembers the rate law when switching the reaction from reversible to irreversible and automatically selects the corresponding equation if available.

Bug Fixes

In the Hill equation instead of inhibitors, SBMLsqueezer accessed the list of activators to create an inhibition term (only in SBMLsqueezer 1.2).

When trying to remove unnecessary parameters from the model, SBMLsqueezer 1.2 deleted parameters, whose identifiers contain uppercase letters, no matter if these occur in kinetic equations because of an incorrect String comparison.

The thermodynamically independent convenience kinetics was not created correctly in SBMLsqueezer 1.2: the integer one was subtracted in the denominator in cases where this was incorrect, and the parameter kV was not multiplied by the formula.

SBMLsqueezer version 1.2

03 Mar 21:24
Compare
Choose a tag to compare

New Features

SBMLsqueezer now automatically checks for updates. If a newer version of SBMLsqueezer is available online, the user is notified by a message window in the bottom right corner of the screen. Furthermore, the release notes of the most recent SBMLsqueezer version are shown to the user by clicking on “show release notes.”

In contrast to previous versions, SBMLsqueezer now indicates if a model already contains rate equations for all reactions or no reactions at all. In earlier versions, SBMLsqueezer did not overwrite existing kinetic equations and did also not state why. SBMLsqueezer's complete internal data structure was improved: It has become much more efficient and more straightforward.

Improved Adaptation of SBMLsqueezer to CellDesigner 4.0.1

Due to the changes in CellDesigner, SBMLsqueezer only offered zeroth order mass action kinetics as the available option to model transcription and translation processes. The reason for this was that the arrows for transcriptional/translational activation disappeared. These effects have now to be covered by a trigger and physical stimulation. Unfortunately, CellDesigner maps the old arrows for transcriptional/translational activation to catalysis instead of “trigger.” Therefore, we also have to cover the case of having a transcription or translation “catalyzed” by some stimulator. This has now been implemented and SBMLsqueezer, therefore, offers several kinetic rate equations for both processes. The same holds true for the “batch” mode of SBMLsqueezer: besides transcriptional/translational activators also all kinds of catalysts and activators/inhibitors are accepted for the Hill equation.

We now apply the inhibition pre-factor from convenience kinetics also to reversible Michaelis-Menten kinetics with multiple inhibitors. In cases where the formulas of Michaelis-Menten and convenience kinetics are equal, only one of both is offered to the user:

  • For reversible or irreversible uni-uni reactions without inhibition or activation only the Michaelis-Menten equation is selectable and
  • in the case of reversible uni-uni reactions with multiple inhibitors, only convenience kinetics can be applied.
  • However, if the stoichiometric matrix of the reaction system does not have a full column rank, the thermodynamically independent form of the convenience kinetics can be selected as an alternative to the Michaelis-Menten equation.

Additionally, the activation pre-factor is now also applied for the mixed-type inhibition of irreversible enzymes by mutually exclusive inhibitors (SBO:0000275) if activators are assigned to the reaction.

The new SBGN representation of transcription and translation uses the trigger symbol (for the gene or the RNA molecule, depending on the process) and a reaction from some source to RNA or from some source to a protein. SBMLsqueezer did in these cases not suggest the Hill equation as a possible rate law because it still required the translation/transcription arrows that are going to be deprecated. Since this version, SBMLsqueezer also produces the identical form of the Hill equation for the old style of transcription/translation reaction and the new SBGN compliant form.

Bug Fixes

Local parameters could not be removed entirely if not necessary (this happened only in SBMLsqueezer version 1.1 because SBMLsqueezer version 1.0 did not create or delete local parameters at all).
In Michaelis-Menten-kinetics activators were multiplied incorrectly (only in the preview, not in the equation itself).

The help browser could not be started in SBMLsqueezer version 1.1 because of a null pointer exception (an image could not be loaded correctly).

Problems of the “batch mode”:

  • In some cases, SBMLsqueezer did not show the correct SBO numbers (for “Hill equation” and “Henri-Michaelis-Menten equation”).
  • In the kinetics summary table, SBMLsqueezer did not list the kG parameters of the thermodynamically independent convenience kinetics in the column “parameters”.
  • Sometimes there was a problem with the equation preview.

SBMLsqueezer version 1.1

03 Mar 21:02
Compare
Choose a tag to compare

New features

SBMLsqueezer now allows you to specify whether new parameters should be stored locally (only valid within the respective kinetic law) or globally (defined for the whole model). Both, the main window and the context menu contain switches to make this decision. Please note that the k_G parameters of the thermodynamically independent convenience kinetics are always stored globally because these do not belong to a specific reaction but to a specific reacting species.

The context menu of SBMLsqueezer now also shows already existing kinetic equations and renders their formula. The name of the kinetic equation created by SBMLsqueezer is now written to the notes element of the newly created kinetic law.

The LaTeX export function was improved:

  • Several choices allow for customization of the output.
  • The context menu also allows you to export a LaTeX file for a specific kinetic equation.
  • It now includes HTML2LaTeX that converts notes elements from XHTML to LaTeX. Therefore, SBMLsqueezer also includes your notes in its model report.

Please note that SBMLsqueezer's LaTeX export function is, however, still not comprehensive. For a fully-featured model report generator, we strongly recommend having a look at our latest project: SBML2LaTeX.
SBMLsqueezer version 1.1 is distributed under the terms of the GNU General Public License (GPL).

Bugs that were fixed

In some cases, SBMLsqueezer's context menu did not offer the full list of available and applicable kinetic equations for certain reactions.

If the number of products was higher than the number of reactants, a NullPointerException was thrown in the thermodynamically independent form of the convenience kinetics due to incorrect access to the list of products of a reaction.

In the thermodynamically independent convenience kinetics, the root function was called with only one argument. This is not incorrect but earlier versions of libSBML are unable to interpret such an implicit square root and require a 2 as the second argument.
In the thermodynamically independent convenience kinetics, the exponent of the anabolic term and the catabolic term were incorrect if the stoichiometry was not equal to one. In this case, a division of the exponent by 2 was missing.

In the mass action kinetics, a copy and paste error in the source code leads to incorrect pre-factors for activation and inhibition if both effects were assigned to the same reaction. Instead of receiving one activation function and one inhibition function there was the same activation twice.

For several reasons null pointer exceptions could occur when trying to create LaTeX code from a model.

SBMLsqueezer version 1.0

03 Mar 20:50
Compare
Choose a tag to compare

This is the first stable version of SBMLsqueezer that runs as a plug-in within the popular modeling tool CellDesigner. This version of SBMLsqueezer is described in detail in the following article:

Andreas Dräger, Nadine Hassis, Jochen Supper, Adrian Schröder, and Andreas Zell. SBMLsqueezer: a CellDesigner plug-in to generate kinetic rate equations for biochemical networks. BMC Systems Biology, 2(1):39, April 2008. [ DOI | link | pdf ]