Class SBMLReader
java.lang.Object
org.episteme.core.io.AbstractResourceReader<SBMLModel>
org.episteme.natural.biology.loaders.sbml.SBMLReader
- All Implemented Interfaces:
ResourceIO<SBMLModel>, ResourceReader<SBMLModel>
Systems Biology Markup Language (SBML) Reader.
Parses SBML files using the JSBML library, supporting SBML Level 3 Core and common extensions like FBC (Flux Balance Constraints).
Supported Features:
- Model metadata (name, ID, notes)
- Compartments with sizes and units
- Species (metabolites) with concentrations
- Reactions with kinetic laws and stoichiometry
- Parameters (global and local)
- FBC extension for flux balance analysis
Example Usage:
SBMLReader reader = new SBMLReader();
SBMLModel model = reader.read(new File("ecoli_core.xml"));
System.out.println("Model: " + model.getName());
System.out.println("Species: " + model.getSpeciesCount());
System.out.println("Reactions: " + model.getReactionCount());
// Get stoichiometry matrix for FBA
RealDoubleMatrix stoichiometry = model.getStoichiometryMatrix();
* @see SBML.org- Since:
- 1.0
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns the category for grouping.Returns a short description of this resource handler.Returns a long description of this resource handler.getName()Returns the display name of this resource handler.Returns the base path where this resource is located.Returns the type of resource.String[]Returns the supported versions of the format this reader/writer handles.protected SBMLModelloadFromInputStream(InputStream is, String id) protected SBMLModelloadFromSource(String resourceId) Reads an SBML model from a file.read(InputStream input) Reads an SBML model from an input stream.Methods inherited from class AbstractResourceReader
clearCache, getMiniCatalog, getSampleDataPath, isUsingFallback, load, loadAll, loadAllFromSource, loadFromFallback, setCacheEnabledMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ResourceIO
getExpectedResourceFiles, getSupportedExtensions, isFileBased, isOutputMethods inherited from interface ResourceReader
isInput
-
Constructor Details
-
SBMLReader
public SBMLReader()Creates a new SBMLReader.
-
-
Method Details
-
getResourcePath
Description copied from interface:ResourceIOReturns the base path where this resource is located. -
getResourceType
Description copied from interface:ResourceIOReturns the type of resource. -
getName
Description copied from interface:ResourceIOReturns the display name of this resource handler. MUST be implemented with I18N support.- Returns:
- the display name
-
getDescription
Description copied from interface:ResourceIOReturns a short description of this resource handler. MUST be implemented with I18N support.- Returns:
- the description
-
getLongDescription
Description copied from interface:ResourceIOReturns a long description of this resource handler. MUST be implemented with I18N support.- Returns:
- the long description
-
getCategory
Description copied from interface:ResourceIOReturns the category for grouping. MUST be implemented with I18N support.- Returns:
- the category name
-
getSupportedVersions
Description copied from interface:ResourceIOReturns the supported versions of the format this reader/writer handles.Each implementation MUST override this method to declare which versions of the underlying format are supported. The returned array should contain version strings in the format's standard notation (e.g., "3.0", "2.1", "Level 3 Version 2").
Examples:
- MathML: {"3.0", "2.0"}
- SBML: {"Level 3 Version 2", "Level 3 Version 1", "Level 2 Version 5"}
- PhyloXML: {"1.10", "1.00"}
- Returns:
- array of supported version strings, never null (empty array if version-agnostic)
-
loadFromSource
- Specified by:
loadFromSourcein classAbstractResourceReader<SBMLModel>- Throws:
Exception
-
loadFromInputStream
- Overrides:
loadFromInputStreamin classAbstractResourceReader<SBMLModel>- Throws:
Exception
-
read
Reads an SBML model from a file.- Parameters:
file- the SBML file- Returns:
- an SBMLModel containing the parsed data
- Throws:
SBMLException- if parsing fails
-
read
Reads an SBML model from an input stream.- Parameters:
input- the input stream containing SBML data- Returns:
- an SBMLModel containing the parsed data
- Throws:
SBMLException- if parsing fails
-