Skip to content
MetExplorePublic

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

Contributing

Stars

2 stars

Watchers

5 watching

Forks

Repository files navigation

Met4J : the Java library for metabolic networks

MetaboHUB LogoMetaboHUB title MetExplore LogoMetExplore title pipeline status coverage report maven version javadoc bioconda Galaxy

Metadata

Description

Met4J is an open-source Java library dedicated to the structural analysis of metabolic networks. Met4J also offers many features to edit, convert and parse SBML files. 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 met4j-toolbox apps are also available without any installation on a dedicated Galaxy instance.

Met4J is developed and maintained by the MetExplore platform.

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 (check the Maven badge above for the latest version):

<dependency>
<groupId>fr.inrae.toulouse.metexplore</groupId>
<artifactId>met4j-toolbox</artifactId>
<version>2.4.3</version>
</dependency>

or a specific module (example : met4j-core ):

<dependency>
<groupId>fr.inrae.toulouse.metexplore</groupId>
<artifactId>met4j-core</artifactId>
<version>2.4.3</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

mvn clean test                     # unit tests
mvn clean verify -DskipUTs=true    # integration tests

See CONTRIBUTING.md for more details.

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.

See CONTRIBUTING.md for the development setup, how to run tests, the branching workflow and the CI/CD pipeline.

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

Contributing

Stars

2 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages