MetaGraph เป็นเครื่องมือสำหรับการสร้างกราฟจีโนมที่มีคำอธิบายประกอบและการจัดตำแหน่งตามลำดับต่อกราฟแบบปรับขนาดได้
การแสดงดัชนีเริ่มต้นใน MetaGraph สามารถปรับขนาดได้อย่างมาก และรองรับการสร้างกราฟที่มีโหนดหลายล้านล้านโหนดและป้ายกำกับคำอธิบายประกอบนับล้าน ในเวลาเดียวกัน ขั้นตอนการทำงานที่ให้มาและการใช้งานอย่างระมัดระวัง รวมกับการปรับโครงสร้างข้อมูลหลักในระดับต่ำ ให้ประสิทธิภาพการสืบค้นและการจัดตำแหน่งที่ยอดเยี่ยม
เอกสารออนไลน์มีอยู่ที่ https://metagraph.ethz.ch/static/docs/index.html แหล่งข้อมูลออฟไลน์อยู่ที่นี่
ติดตั้งรุ่นล่าสุดบน Linux หรือ Mac OS X ด้วย Anaconda:
conda install -c bioconda -c conda-forge metagraph
หากนักเทียบท่าพร้อมใช้งานบนระบบ ให้เริ่มต้นทันที
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
อย่างที่คุณเห็น การเรียกใช้ 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
ต้องใช้ RAM N*R/8 + 6*N^2
ไบต์ โดยที่ 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
: ในคอนเทนเนอร์นักเทียบท่า)alphabet
: รวบรวม metagraph สำหรับตัวอักษรบางตัว (เช่น 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 (ดูใบอนุญาต) โปรดดูข้อมูลเพิ่มเติมในไฟล์ผู้แต่งและลิขสิทธิ์