MetaGraph ist ein Tool zur skalierbaren Erstellung annotierter Genomdiagramme und zum Sequenz-zu-Diagramm-Alignment.
Die Standardindexdarstellungen in MetaGraph sind äußerst skalierbar und unterstützen die Erstellung von Diagrammen mit Billionen von Knoten und Millionen von Anmerkungsbezeichnungen. Gleichzeitig ermöglichen die bereitgestellten Workflows und deren sorgfältige Implementierung in Kombination mit Optimierungen der Kerndatenstrukturen auf niedriger Ebene eine außergewöhnliche Abfrage- und Ausrichtungsleistung.
Die Online-Dokumentation ist unter https://metagraph.ethz.ch/static/docs/index.html verfügbar. Offline-Quellen finden Sie hier.
Installieren Sie die neueste Version unter Linux oder Mac OS X mit Anaconda:
conda install -c bioconda -c conda-forge metagraph
Wenn Docker auf dem System verfügbar ist, können Sie sofort damit beginnen
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
und ersetzen Sie ${HOME}
durch ein Verzeichnis auf dem Hostsystem, um es unter /mnt
im Container abzubilden.
Um die für das Protein
Alphabet kompilierte Binärdatei auszuführen, fügen Sie einfach --entrypoint metagraph_Protein
hinzu:
docker run -v ${HOME}:/mnt --entrypoint metagraph_Protein ghcr.io/ratschlab/metagraph:master
build -v -k 10 -o /mnt/graph /mnt/protein.fa
Wie Sie sehen, ist die Ausführung von MetaGraph aus Docker-Containern sehr einfach. Außerdem kann der folgende Befehl (oder ein ähnlicher Befehl) nützlich sein, um zu sehen, welches Verzeichnis im Container gemountet ist, oder um den Befehl auf andere Weise zu debuggen:
docker run -v ${HOME}:/mnt --entrypoint ls ghcr.io/ratschlab/metagraph:master /mnt
Hier werden alle verschiedenen Versionen des Container-Images aufgelistet.
Informationen zum Kompilieren aus dem Quellcode (z. B. für Builds mit benutzerdefiniertem Alphabet oder anderen Konfigurationen) finden Sie in der Online-Dokumentation.
./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
Erfordert N*R/8 + 6*N^2
Bytes RAM, wobei N
die Anzahl der Spalten und R
die Anzahl der unterabgetasteten Zeilen ist.
./metagraph transform_anno -v -p NCORES --anno-type brwt
--linkage-file linkage.txt
-o primates
--parallel-nodes V
-p NCORES
primates.column.annodbg
Erfordert M*V/8 + Size(BRWT)
Bytes RAM, wobei M
die Anzahl der Zeilen in der Annotation und V
die Anzahl der gleichzeitig zusammengeführten Knoten ist.
./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
Beispieldateien finden Sie unter metagraph/tests/data/example.diff.json
und metagraph/tests/data/example_simple.diff.json
.
Statistiken für Grafik
./metagraph stats graph.dbg
Statistiken für Anmerkungen
./metagraph stats -a annotation.column.annodbg
Statistiken für beide
./metagraph stats -a annotation.column.annodbg graph.dbg
Das Makefile
im Quellverzeichnis der obersten Ebene kann zum bequemeren Erstellen und Testen metagraph
verwendet werden. Die folgenden Argumente werden unterstützt:
env
: Umgebung, in der kompiliert/ausgeführt werden soll ( ""
: auf dem Host, docker
: in einem Docker-Container)alphabet
: Metagraph für ein bestimmtes Alphabet kompilieren (z. B. DNA
oder Protein
, Standard- DNA
)additional_cmake_args
: zusätzliche Argumente, die an cmake übergeben werden.Beispiele:
# compiles metagraph in a docker container for the `DNA` alphabet
make build-metagraph env=docker alphabet=DNA
Das Erstellen einer neuen Versionsfreigabe erfolgt in drei Schritten:
Metagraph wird unter der GPLv3-Lizenz vertrieben (siehe LIZENZ). Weitere Informationen finden Sie in den Dateien AUTOREN und COPYRIGHTS.