MetaGraph est un outil de construction évolutive de graphiques génomiques annotés et d'alignement séquence à graphique.
Les représentations d'index par défaut dans MetaGraph sont extrêmement évolutives et prennent en charge la création de graphiques avec des milliards de nœuds et des millions d'étiquettes d'annotation. Dans le même temps, les flux de travail fournis et leur mise en œuvre minutieuse, combinés à des optimisations de bas niveau des structures de données de base, permettent des performances de requête et d'alignement exceptionnelles.
La documentation en ligne est disponible sur https://metagraph.ethz.ch/static/docs/index.html. Les sources hors ligne sont ici.
Installez la dernière version sur Linux ou Mac OS X avec Anaconda :
conda install -c bioconda -c conda-forge metagraph
Si Docker est disponible sur le système, commencez immédiatement avec
docker pull ghcr.io/ratschlab/metagraph:master
docker run -v ${HOME}:/mnt ghcr.io/ratschlab/metagraph:master
build -v -k 10 -o /mnt/transcripts_1000 /mnt/transcripts_1000.fa
et remplacez ${HOME}
par un répertoire sur le système hôte pour le mapper sous /mnt
dans le conteneur.
Pour exécuter le binaire compilé pour l'alphabet Protein
, ajoutez simplement --entrypoint metagraph_Protein
:
docker run -v ${HOME}:/mnt --entrypoint metagraph_Protein ghcr.io/ratschlab/metagraph:master
build -v -k 10 -o /mnt/graph /mnt/protein.fa
Comme vous le voyez, exécuter MetaGraph à partir de conteneurs Docker est très simple. De plus, la commande suivante (ou similaire) peut être utile pour voir quel répertoire est monté dans le conteneur ou autre type de débogage de la commande :
docker run -v ${HOME}:/mnt --entrypoint ls ghcr.io/ratschlab/metagraph:master /mnt
Toutes les différentes versions de l’image du conteneur sont répertoriées ici.
Pour compiler à partir des sources (par exemple, pour les builds avec un alphabet personnalisé ou d'autres configurations), consultez la documentation en ligne.
./metagraph build
./metagraph annotate
./metagraph transform_anno
./metagraph query
DATA="../tests/data/transcripts_1000.fa"
./metagraph build -k 12 -o transcripts_1000 $DATA
./metagraph annotate -i transcripts_1000.dbg --anno-filename -o transcripts_1000 $DATA
./metagraph query -i transcripts_1000.dbg -a transcripts_1000.column.annodbg $DATA
./metagraph stats -a transcripts_1000.column.annodbg transcripts_1000.dbg
./metagraph
./metagraph build -v --parallel 30 -k 20 --mem-cap-gb 10
-o < GRAPH_DIR > /graph < DATA_DIR > / * .fasta.gz
2>&1 | tee < LOG_DIR > /log.txt
./metagraph build -v --parallel 30 -k 20 --mem-cap-gb 10 --disk-swap < GRAPH_DIR >
-o < GRAPH_DIR > /graph < DATA_DIR > / * .fasta.gz
2>&1 | tee < LOG_DIR > /log.txt
K=20
./KMC/kmc -ci5 -t4 -k $K -m5 -fm < FILE > .fasta.gz < FILE > .cutoff_5 ./KMC
./metagraph build -v -p 4 -k $K --mem-cap-gb 10 -o graph < FILE > .cutoff_5.kmc_pre
./metagraph annotate -v --anno-type row --fasta-anno
-i primates.dbg
-o primates
~ /fasta_zurich/refs_chimpanzee_primates.fa
./metagraph transform_anno -v --linkage --greedy
-o linkage.txt
--subsample R
-p NCORES
primates.column.annodbg
Nécessite N*R/8 + 6*N^2
octets de RAM, où N
est le nombre de colonnes et R
est le nombre de lignes sous-échantillonnées.
./metagraph transform_anno -v -p NCORES --anno-type brwt
--linkage-file linkage.txt
-o primates
--parallel-nodes V
-p NCORES
primates.column.annodbg
Nécessite M*V/8 + Size(BRWT)
octets de RAM, où M
est le nombre de lignes dans l'annotation et V
est le nombre de nœuds fusionnés simultanément.
./metagraph query -v -i < GRAPH_DIR > /graph.dbg
-a < GRAPH_DIR > /annotation.column.annodbg
--min-kmers-fraction-label 0.8 --labels-delimiter " , "
query_seq.fa
./metagraph align -v -i < GRAPH_DIR > /graph.dbg query_seq.fa
./metagraph assemble -v < GRAPH_DIR > /graph.dbg
-o assembled.fa
--unitigs
./metagraph assemble -v < GRAPH_DIR > /graph.dbg
--unitigs
-a < GRAPH_DIR > /annotation.column.annodbg
--diff-assembly-rules diff_assembly_rules.json
-o diff_assembled.fa
Voir metagraph/tests/data/example.diff.json
et metagraph/tests/data/example_simple.diff.json
pour des exemples de fichiers.
Statistiques pour le graphique
./metagraph stats graph.dbg
Statistiques pour les annotations
./metagraph stats -a annotation.column.annodbg
Statistiques pour les deux
./metagraph stats -a annotation.column.annodbg graph.dbg
Le Makefile
dans le répertoire source de niveau supérieur peut être utilisé pour créer et tester metagraph
plus facilement. Les arguments suivants sont pris en charge :
env
: environnement dans lequel compiler/exécuter ( ""
: sur l'hôte, docker
: dans un conteneur docker)alphabet
: compile un métagraphe pour un certain alphabet (par exemple DNA
ou Protein
, DNA
par défaut)additional_cmake_args
: arguments supplémentaires à transmettre à cmake.Exemples :
# compiles metagraph in a docker container for the `DNA` alphabet
make build-metagraph env=docker alphabet=DNA
La création d'une nouvelle version se fait en trois étapes :
Metagraph est distribué sous licence GPLv3 (voir LICENCE). Veuillez trouver de plus amples informations dans les fichiers AUTEURS et COPYRIGHTS.