Skip to content

Releases: SysBioChalmers/RAVEN

v2.10.5

24 Oct 12:08

Choose a tag to compare

  • fix:
    • importModel parsing of model notes in MATLAB R2025a (solves #586)
    • readYAMLmodel can read files where entries were broken over more than 2 lines.
    • readYAMLmodel recognizes '' as an empty string.
  • doc:
    • getExchangeRxns correct 'out' flag definition
  • refactor:
    • setParam and solveLP speed improvements
    • optimizeProb parses Threads=1 to gurobi if run in parallel
  • feat:
    • checkModelStruct will throw error if a grRules entry starts/end with AND/OR, example: or geneA and geneB

v2.10.4

04 Sep 09:23

Choose a tag to compare

  • fix:
    • importModel prevent colon operands warning
    • importModel parsing of model notes in MATLAB R2025a (solves #586)
    • randomSampling uses real reaction bounds and not the model.rev field to identify reversible reactions, and filters from goodRxns those reactions that cannot carry flux
  • feature:
    • setParam checks if the new LB and UB values are not invalid
    • randomSampling recognizes if a model is a GECKO v3+ ecModel, in which case the usage_prot reactions are not sampled
  • refactor:
    • importModel parsing of LB and UB values, minor speed improvements
  • documentation:
    • remove traces of getMILPParams, which has been obsolete since 2.7.10

v2.10.3

21 Dec 21:46

Choose a tag to compare

  • fix:
    • closeModel if model only contained one compartment
    • generateNewIds returns by default 1 identifier
    • readYAMLmodel if the model contains multiple annotations of the same type (e.g. CHEBI) for the same entity (e.g. metabolite)
    • readYAMLmodel and writeYAMLmodel if an essential field is empty but should still be imported/exported
    • generateNewIds can handle if the model already contains identifiers that start with the prefix (e.g. r_) but is not followed by a number.

v2.10.2

23 Nov 15:00

Choose a tag to compare

  • fix:
    • addMets if metNames and not mets identifiers are given
    • addRxns when adding empty subSystems if the model uses cell arrays of cells for subSystems
    • importModel properly parsing of annotations if identifiers.org/name:value is used instead of identifiers.org/name/value
  • features:
    • changeGrRules can change the same grRule for multiple reactions simultaneously
    • replaceMets can use metabolite identifiers instead of metabolite names
  • refactor:
    • use getGenesFromGrRules in checkModelStruct, changeGrRules and importModel, to correctly split and/or relationships
  • documentation:
    • checkRxn clarify what the output represents (solves #572)

v2.10.1

19 Oct 20:25

Choose a tag to compare

  • fix:
    • readYAMLmodel will correctly construct the ec.rxnEnzmat matrix
    • exportForGit will not search for COBRA if it is not in MATLAB path
  • feature:
    • unit-tests for YAML in/output, now also included in checkInstallation
  • docs:
    • exportForGit correctly describe neverPrefix option

v2.10.0

14 Oct 16:08
4039650

Choose a tag to compare

  • fix:
    • importModel only removes identifier prefixes (like R_ for reactions) when present in all entries of a certain type; gives a warning that this happened; and has a removePrefix flag that can be set to false if desired
    • exportModel only adds identifier prefixes (like R_ for reactions) when one or more entries of a certain type are not compatible with SBML (i.e. do not start with a letter or _); gives a warning that this happened; and has a neverPrefix flag that can be set to true if desired. Previously, prefixes were always added
    • importModel allows for empty parameters when not specified
    • constructS gives correct error message when a metabolite is missing
    • importExcelModel can ignore faulty MIRIAM entries (note: import of Excel models is strongly discouraged!)
    • checkModelStruct to determine if reaction is reversible, consider all combinations of LB and UB, not just whether LB < 0 or not
    • checkModelStruct checks that all genes in grRules field are also in genes field (solves #556)
  • feature:
    • checkModelStruct queries if the model has any identifiers that are not SBML compatible (i.e. do not start with a letter or _)
    • new removeIdentifierPrefix function can remove identifier prefixes like R_ for reactions if desired
    • new addIdentifierPrefix function can add identifier prefixes like R_ for reactions if required
    • support for model.proteins as field, which matches model.genes and is also supported by SBML and YAML
    • getExchangeRxns has more options to select reactions based on their reaction bounds, whether they represent uptake, excretion etc. (solves #555)
  • docs:
    • getKEGGModelForOrganism explicitly refers to the correct dataDir options (i.e. prok90_kegg105 or euk90_kegg105 at this time)

v2.9.3

31 Jul 22:58
49acaa6

Choose a tag to compare

  • fix:
    • ravenCobraWrapper handle empty rxnReferences from COBRA => RAVEN
    • replaceMets should not contract the whole model, only for the replaced metabolites
    • getBlast can handle paths containing spaces, or makes a custom temp path if required (solves #506)
    • importModel with empty confidenceScores entries
    • constructS avoid warning about "Colon operands must be real scalars"
    • randomSampling should output the solutions as full matrix, as sparse matrices occassionally acts weird when using functions like mean
  • feature:
    • getIndexes supports ecenzymes, ecrxns and ecgenes types, to query GECKO3 model.ec fields
  • refactor:
    • speedup readYAMLmodel
  • docs
    • update badges and refer to GitHub Discussions instead of Gitter

v2.9.2

27 May 12:59
20afda4

Choose a tag to compare

  • fix:
    • checkInstallation finding RAVEN when installed as MATLAB Add-On

v2.9.1

27 May 09:36
0338867

Choose a tag to compare

  • refactor:
    • when running a unit test and a solver is not installed, report the absence of the solver, not the general failing of the test
  • fix:
    • prevent glpk timeout when running selected large FBA calculations
    • avoid an error when running solveLP in parallel and COBRA toolbox is not installed
    • getAllowedBounds returned inconsistent results when running parallelization
    • ⚠️ various changes in relation to solveLP swapping the sign of reported objective function (sol.f), as already announced with RAVEN release 2.7.12, but not actually done at that point
    • ensure that RAVEN provided libSBML binaries are used, by using unique filenames
    • removeMets also considers metNotes field if available
    • setParam error message if incorrect paramType is specified
  • feat:
    • checkInstallation reports how RAVEN was installed, as described in the Wiki
  • doc:
    • minor changes in formatting of function documentation

v2.9.0

02 May 22:53
bbb6b98

Choose a tag to compare

  • chore:
    • update libSBML to version 5.20.2, now including support for Apple Silicon .mexmaca64. The macOS Intel .mexmaci64 is kept at version 5.19.0, as the required compiled mex file is not included in the 5.20.2 release.
    • add .mexmaca64 glpk binary for Apple Silicon.
  • fix:
    • simplifyModel with irreversible backwards-only reactions (solves #529)
    • writeYAMLmodel do not write lines with empty entries (e.g. reactions without subsystems)
    • getModelFromKEGG includes model.annotation.defaultLB and model.annotation.defaultUB fields
    • getGenesFromGrRules can handle genes with '|'
    • getModelFromHomology remove geneFrom field (solves #533)
    • getMinNrFluxes reduce default verbosity
    • writeYAMLmodel allow empty id and name fields, in line with https://github.com/SysBioChalmers/RAVEN/wiki/RAVEN-Model-Structure
    • ravenCobraWrapper prefers to use grRules in COBRA models if present (solves GECKO issue #367)
    • optimizeProb will throw error when trying to solve MILP with glpk (also if glpk is set via cobra)
    • writeYAMLmodel will throw an informative error if it cannot write the file to the intended directory
    • mapCompartments correct horizontal concatenation of cell array
    • checkInstallation during first installation on unix machines, makeBinaryExecutables threw an error.
    • importModel correctly parses SBML file that has some missing SBO terms
  • feat:
    • randomSampling can run in parallel with MATLAB Parallel Computing Toolbox installed
    • setParam has an additional option, 'unc' if a reaction's lower and upper bound should be set as unconstrained. If available, this will use the default bounds in model.annotation (otherwise [-1000, 1000]), and considers reversibility (in which case lower bound = 0)
    • auxiliary parallelPoolRAVEN function to check if function should be running in parallel
    • use alternative ProgressBar, particularly in functions containing parfor calls
    • give execution rights in Terminal for new RAVEN functions
  • refactor:
    • remove mentions to soplex (which has been replaced by scip).
    • avoid cmd windows output by parallelPoolRaven.
    • allow randomSampling with nsamples set to 0, to only get goodRxns.