- authors: clement.frainay@inrae.fr, ludovic.cottret@inrae.fr
- creation date:
2016-12-06 - main usage: open-source Java library dedicated to the structural analysis of metabolic networks
Met4J is an open-source Java library dedicated to the structural analysis of metabolic networks. It also came with a toolbox gathering CLI for several analyses relevant to metabolism-related research.
Met4j is composed by three main modules:
- met4j-core: it's the key module which contains all the core classes for handling metabolic networks
- met4j-io: for importing/exporting metabolic networks in several formats (SBML, KEGG, TSV)
- met4j-graph: for performing graph-based topological analysis of metabolic networks.
The package met4j-toolbox contains high-level apps that can be run in command line by using either jar file or Singularity or Docker containers.
The core module met4j-core provides robust data structures for handling metabolic networks.
The met4j-io module supports reading and writing metabolic networks in various formats, ensuring compatibility with community standards.
- SBML Support: comprehensive support for SBML (Structure-based Model Language), including packages like FBC (Flux Balance Constraints), Groups (for pathways), Miriam annotations, and Notes.
- Format Conversion: Capabilities to import/export from KEGG, TSV, and generic matrices.
The met4j-graph offers advanced graph representations and algorithms for structural analysis dedicated to metabolic graphs.
- Graph Representations: Converting metabolic networks into Compound Graphs, Reaction Graphs, and Bipartite Graphs.
- Topological Metrics: Algorithms to compute Load points, Choke points, Scope networks, and Precursor networks.
- Weighting Strategies: Edge weighting based on degree or chemical similarity.
- Export: Compatibility with Cytoscape via GML/XGMML export.
The met4j-chemUtils module handles chemical information associated with metabolites.
- Chemical Analysis: Parsing chemical formulas and computing molecular masses (
MassComputor). - Chemical Similarity: Computing similarity between metabolites using molecular fingerprints (
FingerprintBuilder,SimilarityComputor).
The met4j-mapping module facilitates the mapping of omics data onto metabolic networks and its statiscal analysis.
- Data Mapping: Features to map omics data or attributes to network entities (
AttributeMapper). - Enrichment: Statistical tools for pathway enrichment analysis (
PathwayEnrichment).
The met4j-toolbox module is collection of command-line applications making the library's features accessible without coding.
- converters: examples:
Sbml2Graph,Tab2Sbml,Kegg2Sbml. - Network Analysis: examples:
ChokePoint,LoadPoint,ScopeNetwork,MetaboRank. - Reconstruction: examples:
SbmlCheckBalanceandCreateMetaNetwork
To use Met4J as a library or to build it from source, you need:
- Java Development Kit (JDK): version 17 or higher
- Apache Maven: version 3.x or higher
Install all modules :
<dependency>
<groupId>fr.inrae.toulouse.metexplore</groupId>
<artifactId>met4j-toolbox</artifactId>
<version>1.4.0</version>
</dependency>
or a specific module (example : met4j-core ):
<dependency>
<groupId>fr.inrae.toulouse.metexplore</groupId>
<artifactId>met4j-core</artifactId>
<version>1.4.0</version>
</dependency>
git clone https://forge.inrae.fr/metexplore/met4j.git;
cd met4j;
mvn clean install
Read met4j-toolbox to see how to get jar, conda, Docker or Singularity packages containing all the met4-toolbox apps.
Unit tests:
mvn clean test
Integration tests:
mvn clean install -DskipTests
mvn verify
User documentation for the library modules can be found in each module's own README.
Detailed code examples can be found at here.
Javadoc can be found at https://javadoc.io/doc/fr.inrae.toulouse.metexplore
Pull requests are welcome on the gitlab repo (https://forge.inrae.fr/metexplore/met4j). For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
Issues or suggestions can be posted here.
All notable changes to this project will be documented in CHANGELOG.md. For the versions available, see the releases on this repository.
- Bug reports: INRAE Forge issues or contact us by email: contact-metexplore@inrae.fr.
Met4J is distributed under the open license CeCILL-2.1 (compatible GNU-GPL).
