MetaGraph 是一種用於可擴展構建帶註釋的基因組圖和序列到圖比對的工具。
MetaGraph 中的預設索引表示具有極高的可擴展性,支援建立具有數萬億個節點和數百萬個註釋標籤的圖。同時,所提供的工作流程及其精心實施,與核心資料結構的低階優化相結合,可實現卓越的查詢和對齊效能。
線上文件位於 https://metagraph.ethz.ch/static/docs/index.html。離線資源都在這裡。
使用 Anaconda 在 Linux 或 Mac OS X 上安裝最新版本:
conda install -c bioconda -c conda-forge metagraph
如果系統上有可用的 docker,請立即開始使用
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
並將${HOME}
替換為主機系統上的目錄,以將其映射到容器中的/mnt
下。
要執行Protein
字母表編譯的二進位文件,只需添加--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
如您所見,從 docker 容器執行 MetaGraph 非常簡單。此外,以下命令(或類似命令)可以方便地查看容器中安裝的目錄或其他類型的命令偵錯:
docker run -v ${HOME}:/mnt --entrypoint ls ghcr.io/ratschlab/metagraph:master /mnt
此處列出了容器映像的所有不同版本。
若要從原始程式碼進行編譯(例如,使用自訂字母表或其他配置進行建置),請參閱線上文件。
./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*R/8 + 6*N^2
位元組的 RAM,其中N
是列數, R
是二次採樣的行數。
./metagraph transform_anno -v -p NCORES --anno-type brwt
--linkage-file linkage.txt
-o primates
--parallel-nodes V
-p NCORES
primates.column.annodbg
需要M*V/8 + Size(BRWT)
位元組的 RAM,其中M
是註解中的行數, V
是同時合併的節點數。
./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
有關範例文件,請參閱metagraph/tests/data/example.diff.json
和metagraph/tests/data/example_simple.diff.json
。
圖表統計
./metagraph stats graph.dbg
註釋統計
./metagraph stats -a annotation.column.annodbg
兩者的統計數據
./metagraph stats -a annotation.column.annodbg graph.dbg
頂級來源目錄中的Makefile
可用於更方便地建立和測試metagraph
。支持以下論點:
env
:編譯/運行的環境( ""
:在主機上, docker
:在 docker 容器中)alphabet
:為某個字母表編譯元圖(例如DNA
或Protein
,預設DNA
)additional_cmake_args
:傳遞給 cmake 的附加參數。範例:
# compiles metagraph in a docker container for the `DNA` alphabet
make build-metagraph env=docker alphabet=DNA
建立新版本發布分三個步驟完成:
Metagraph 依據 GPLv3 授權分發(請參閱授權)。請在作者和版權文件中查找更多資訊。