README.md 3.56 KB
Newer Older
Clement Frainay's avatar
Clement Frainay committed
1
![](https://forgemia.inra.fr/uploads/-/system/project/avatar/864/met4J_logo.png?width=64)
cfrainay's avatar
cfrainay committed
2
# Met4J : the Java library for metabolic networks
Unknown's avatar
Unknown committed
3

lcottret's avatar
lcottret committed
4
5
[![pipeline status](https://forgemia.inra.fr/metexplore/met4j/badges/master/pipeline.svg)](https://forgemia.inra.fr/metexplore/met4j/-/commits/master)
[![coverage report](https://forgemia.inra.fr/metexplore/met4j/badges/master/coverage.svg)](https://forgemia.inra.fr/metexplore/met4j/-/commits/master)
6
7
8
[![maven](https://img.shields.io/maven-central/v/fr.inrae.toulouse.metexplore/met4j)](https://img.shields.io/maven-central/v/fr.inrae.toulouse.metexplore/met4j)
[![version](https://img.shields.io/gitlab/v/tag/metexplore/met4j?gitlab_url=https%3A%2F%2Fforgemia.inra.fr%2F&include_prereleases&label=version)](https://img.shields.io/gitlab/v/tag/metexplore/met4j?gitlab_url=https%3A%2F%2Fforgemia.inra.fr%2F&include_prereleases&label=version)
[![javadoc](https://javadoc.io/badge2/fr.inrae.toulouse.metexplore/met4j/javadoc.svg)](https://javadoc.io/doc/fr.inrae.toulouse.metexplore/met4j) 
lcottret's avatar
lcottret committed
9

Clement Frainay's avatar
Clement Frainay committed
10
11
**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.**

12

cfrainay's avatar
cfrainay committed
13
Met4j is composed by several modules:
14
15
16
17
- [met4j-core](met4j-core/README.md): it's the key module which contains all the core 
classes for handling metabolic networks
- [met4j-io](met4j-io/README.md): for importing/exporting metabolic networks in several 
formats (SBML, MetExploreXml, KEGG)
cfrainay's avatar
cfrainay committed
18
19
20
- [met4j-graph](met4j-graph/README.md): for performing graph-based topological analysis of metabolic networks.  

The other modules contains utilities to serve the main modules listed here.  
21

cfrainay's avatar
cfrainay committed
22
The full list of implemented metabolic network analysis can be found in the [met4j-toolbox](met4j-toolbox/README.md) 
23
24
25



cfrainay's avatar
cfrainay committed
26
## Installation
27

cfrainay's avatar
cfrainay committed
28
### From Maven
lcottret's avatar
Doc    
lcottret committed
29

cfrainay's avatar
cfrainay committed
30
Install all modules :  
lcottret's avatar
Doc    
lcottret committed
31
32
33
```
<dependency>
<groupId>fr.inrae.toulouse.metexplore</groupId>
lcottret's avatar
lcottret committed
34
35
<artifactId>met4j-toolbox</artifactId>
<version>0.5.2</version>
lcottret's avatar
Doc    
lcottret committed
36
37
38
</dependency>
```

cfrainay's avatar
cfrainay committed
39
or a specific module (example : met4j-core ):  
lcottret's avatar
Doc    
lcottret committed
40
41
42
43
```
<dependency>
<groupId>fr.inrae.toulouse.metexplore</groupId>
<artifactId>met4j-core</artifactId>
lcottret's avatar
lcottret committed
44
<version>0.5.2</version>
lcottret's avatar
Doc    
lcottret committed
45
46
47
</dependency>
```

cfrainay's avatar
cfrainay committed
48
### From Source
49
50
51
52

```
git clone https://forgemia.inra.fr/metexplore/met4j.git;
cd met4j;
lcottret's avatar
lcottret committed
53
mvn clean install 
54
```
cfrainay's avatar
cfrainay committed
55
56
57
58
59
60
61
62
63
64
to build the executable toolbox jar:
```
cd met4j-toolbox
mvn clean compile assembly:single
mv ./target/*-jar-with-dependencies.jar ../../../
```

## Usage

Documentation for the library modules can be found in each module's own README.  
Ludovic Cottret's avatar
Ludovic Cottret committed
65
Detailed code examples can be found at [here](https://forgemia.inra.fr/metexplore/tutorialmet4j).  
cfrainay's avatar
cfrainay committed
66
67
68
69
70
71
72
73
74
75
76

The toolbox can be launched using
```
java -jar met4j-toolbox-0.8.0-jar-with-dependencies.jar
```
which will list all the contained applications that can be called using

```
java -cp met4j-toolbox-0.8.0-jar-with-dependencies.jar <App full name> -h
```

Ludovic Cottret's avatar
Ludovic Cottret committed
77
78
79
80
81
82
83
84
### With singularity

You need at least [singularity](https://sylabs.io/guides/3.5/user-guide/quick_start.html) v3.5.

```console
singularity pull met4j-toolbox.sif oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:latest
```

cfrainay's avatar
cfrainay committed
85
86
87
88
89
90
91
## Contributing
Pull requests are welcome **on the gitlab repo** ([https://forgemia.inra.fr/metexplore/met4j](https://forgemia.inra.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.  

## License
Met4J is distributed under the open license [CeCILL-2.1](https://cecill.info/licences/Licence_CeCILL_V2.1-en.html) (compatible GNU-GPL).  
92
93
94
95
96
97
98