@draeger draeger released this May 30, 2017 · 11 commits to master since this release

Assets 5

Features and enhancements:

  • Better and more general text messages (English and German)
  • Additional command-line option --no-model-notes to avoid adding XHTML content to the file
  • Technical improvements to database connectors
  • Automatic grouping and alphabetical sorting of MIRIAM annotations in addition to duplicate identification and removal


  • Fixed an error in the annotation of compartments: newly created compartments were always named "default", now the name comes again from BiGG database.
  • Log messages are no longer duplicated when a log file option was given.
  • Smaller source-code and technical improvements.

@mephenor mephenor released this Apr 7, 2017 · 19 commits to master since this release

Assets 5

Features and enhancements:

  • Added support for SQLite via sqlite-jdbc:
    The jar now contains a ready to use SQLite version of BiGGDB, so no locally running PostgreSQL BiGGDB is required to use the annotation functionality of ModelPolisher. To run ModelPolisher with the in-jar DB, use the "annotate-with-bigg=true" option and omit the additional arguments you would provide when connecting to PostgreSQL. This should in general be faster than annotation with the PSQL version.

  • We now use the MIRIAM registry-lib to check all resources against the identifiers.org regexes and provide simple correction mechanisms for KEGG collections, EC-codes, NCBIGI and GO IDs. If a resource does not match and cannot be corrected, it will not be added to model and will be logged instead.

  • COBRAparser is now able to parse multimodel mat files. Each model after the initial one will get an incrementing integer as suffix. Matlab fields are now matched in a case insensitive way, if no exact match can be obtained or are assigned, if the field name is a substring of a variant.

  • Basic unit definitions will now be added to models when missing.

  • Added a method to check for wrong html tags in a SBML model and replace them.


  • Added a few null checks to COBRAparser and improved its ability to recognize resource IDs (mainly PUBMED and DOI).

  • Fixed a bug in COBRAparser cutting of the last character of a Miriam ID

  • Added a check to assure output files for batch process always have the correct filetype ending.

  • Made the SQL-Query that retrieves resources from BiGGDB a bit more specific. This should prevent annotating reaction-specific resources to metabolites and vice versa.


  • Refactoring removed some redundant assignments. This may result in a slight speedup when running ModelPolisher on a folder of models.

  • If you use runModelPolisher.sh, a copy of the call to ModelPolisher.sh with your provided arguments is now saved in ModelPolisherTemplate.sh, overwriting the default template - a simple backup of your previous call can be found in ModelPolisherTemplate.bckp.

@mephenor mephenor released this Nov 23, 2016 · 64 commits to master since this release

Assets 5

Hotfix (21.12.2016)

Running ModelPolisher without BIGG annotation was missing method calls and thus models created with this option disabled are possibly incomplete, this has now been fixed. Furthermore [organism] should now be replaced correctly.


  • JSONParser has been added, supporting COBRApy models stored in json format according to the schema defined at https://github.com/opencobra/cobrapy/blob/devel/cobra/io/json.py
  • The core functionality of ModelPolisher has been split into two parts:
    • SBMLPolisher now creates SBML files for all supported input formats without pulling additional information from BiGG knowledgebase
    • A new option annotate-with-bigg (default = false) has been added, to optionally enable annotation from BiGG knowledgebase
  • A flow chart displaying the structure of ModelPolisher has been added to doc/img


  • The reactome pattern was updated

@mephenor mephenor released this Jul 13, 2016 · 104 commits to master since this release

Assets 5


  • Updated pom.xml, so that the local non-maven libs work as local repositories without the need for local_maven-repo.sh; project is now built with mvn clean compile verify
  • Updated assembly.xml to use relative pathnames, as per warnings during maven build
  • ModelPolisher now uses the JSBML 1.2-SNAPSHOT from http://jsbml.sourceforge.net/m2repo_snapshots/
  • Added JUnit4 tests to BiGGId.java
  • Refactored BiGGId.java - both constructors should now have the same behavior
  • Added a basic contract class for BiGGDB.java

Bug fixes:

  • Solved a bug when changing the identifier of reactions that have subsystem information attached, it is also necessary to update the reference from the member element to the updated reaction
  • Added missing G prefix, fixed R_EX and R_DM prefix, which where a letter to short previously, in BiGGId.java

@draeger draeger released this Apr 30, 2016 · 112 commits to master since this release

Assets 5

New features:

  • Several improvements were made in the COBRA parser:
    • A source of an IndexOutOfBoundsExceptions was solved
    • Error messages have been improved.
    • Special cases of common errors in mat files were integrated and are now caught rather than causing failure.
  • The JSBML version has been updated to revision 2492.
  • It is now possible to disable the use of URIs for the annotation of models that are not (yet) included in the MIRIAM registry using the new command-line argument --include-any-uri=<true|false>. If the given value is set to false, only those URLs will be included that contain the prefix http://identifiers.org/.
  • External third-party libraries are now included as local Maven repositories in order to simplify the building process for developers. Thanks to @matthiaskoenig for this contribution.
  • When creating groups to represent COBRA subsystems the new SBO term subsystem.

For documentation purposes, an overview html file has been created and the POM file was slightly updated.

Bug fixes:

  • A typo was fixed in the model notes file.

@draeger draeger released this Mar 4, 2016 · 123 commits to master since this release

Assets 5

This release includes ModelFix:

  • If raw files lack an objective function, ModelPolisher can now automatically declare the biomass reaction to the flux objective. The coefficient defaults to 1.0, but can be influenced via a new command-line argument.
  • In cases where no biomass reaction exists, i.e., no reaction whose id matches the pattern for biomass reactions, a new command-line argument can be used to specify one or multiple target reactions. This can be used in combination with the command-line argument for coefficients. ModelPolisher displays a log message in the category SEVERE if it is not possible to find a suitable target reaction. Users are then advised to manually determine appropriate reaction(s).
  • Missing required group kind attributes are added in.

Further improvements:

  • For now, we set the units of compartments to dimensionless. This might change in the future.
  • New MIRIAM resources have been added.
  • Smaller bug fixes.

To find out more about all command-line arguments, launch with -? or --help. In particular, the two new command-line arguments are:

  • --flux-coefficients={1, 2, 3} (here with sample values 1, 2, 3 separated by commas; spaces are optional)
  • --flux-objectives={R_example1:R_example2:R_example3} (here with three example reaction identifiers separated by colon).

@draeger draeger released this Jan 24, 2016

Assets 6

This version of ModelPolisher is not fully functional. We strongly recommend waiting for version 1.2. The package ModelFix.jar solves some major issues.

ModelPolisher has been adapted to the latest version of BiGG Models knowledgebase and brings several new features with it:

  • Instead of only posting a severe message when an undeclared gene product is used in a gene-product association with in a reaction, ModelPolisher now generates the missing gene product on the fly and only displays a warning.
  • ModelPolisher now comes with a first version of a *.mat file parser for MATLAB COBRA files that directly converts those files into SBML L3V1 with FBC V2, and Groups. A few features of some MATLAB model files are not yet supported.
  • It is now possible to pass alternative XHTML templates for model or document notes to the application as command-line arguments.
  • Several external databases were added to the list of MIRIAM resources: UPA, Inchi, DOI, Pubmed, and EC code.

Bug fixes:

  • When writing subsystem information as groups of reactions, the mandatory kind attribute of the groups was forgotten. Since all reactions are part of the respective subsystem, ModelPolisher uses the group kind 'partonomy'.
  • Forgotten gene prefix ‘G’ is now also allowed within BiGG ids.
  • Refined the id patterns for reaction types (demand, ATP maintennance, Biomass, demand, and exchange.

Currently not supported are the following third-party databases:

  • EnsemblGenomes
  • EnsemblGenomes-Gn
  • EnsemblGenomes-Tr
  • refseq_name
  • refseq_locus_tag
  • refseq_old_locus_tag
  • refseq_orf_id
  • refseq_synonym

@draeger draeger released this Oct 19, 2015 · 136 commits to master since this release

Assets 5

This release supports BiGG Models database from October 17th 2015, including the following features:

  • Writes notes into SBML document and Model for informative display of SBML files in a web browser.
  • Subsystems using the groups extension for SBML
  • FBC version 2 with check if all criteria for strict FBC are satisfied
  • Atom balance check
  • Optional SBML validation (through web service at sbml.org)
  • Output compression
  • Error logging
  • Compartment assignment checking and correction
  • Pseudoreaction annotation and update of reaction ids from *_sink_* to *_SK_*
  • Annotation of each SBML component with third-party resources
  • Determination of component roles and SBO term assignment
  • and many more...

Currently not supported are the following annotations of gene products:

  • refseq_name
  • refseq_old_locus_tag
  • refseq_orf_id
  • refseq_synonym