Skip to content

MetExplore/met4j

Repository files navigation

Met4J : the Java library for metabolic networks

MetaboHUB LogoMetaboHUB title pipeline status coverage report maven version javadoc

Metadata

Description

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.

Features

Metabolic Network Manipulation (met4j-core)

The core module met4j-core provides robust data structures for handling metabolic networks.

Input/Output & Standards Support (met4j-io)

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.

Graph-Based Topology Analysis (met4j-graph)

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.

Cheminformatics Utilities (met4j-chemUtils)

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).

Mapping & Data Integration (met4j-mapping)

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).

High-Level Apps & Toolbox (met4j-toolbox)

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: SbmlCheckBalance and CreateMetaNetwork

Getting Started

Prerequisites

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

Installing

From Maven

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>

From Source

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.

Running tests

Unit tests:

mvn clean test

Integration tests:

mvn clean install -DskipTests
mvn  verify

Usage

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

Contributing

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

Issues or suggestions can be posted here.

Changelog

All notable changes to this project will be documented in CHANGELOG.md. For the versions available, see the releases on this repository.

Support & External resources

License

Met4J is distributed under the open license CeCILL-2.1 (compatible GNU-GPL).

About

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.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages