MetaPhase: เครื่องมือซอฟต์แวร์สำหรับการแยกส่วนแบบ metagenomic ด้วย Hi-C
สร้างโดย Josh Burton ( jnburton at uw.edu
) ในภาควิชาวิทยาศาสตร์จีโนมที่มหาวิทยาลัยวอชิงตัน ซีแอตเทิล วอชิงตัน สหรัฐอเมริกา
การตีพิมพ์ใน G3: Genes | จีโนม | พันธุศาสตร์ (โปรดอ้างอิง) อยู่ที่นี่: http://dx.doi.org/10.1534/g3.114.011825
MetaPhase คืออะไร และทำไมฉันถึงสนใจ?
ฉันต้องมีอะไรบ้างจึงจะสามารถใช้ MetaPhase ได้?
ความต้องการของระบบ
กำลังดาวน์โหลดแพ็คเกจ MetaPhase
รวบรวมแพ็คเกจ MetaPhase
บทสรุป: ลองใช้ MetaPhase บนชุดข้อมูลตัวอย่าง
รายการไฟล์อินพุต
การสร้างแอสเซมบลี metagenome แบบร่าง
การจัดตำแหน่งการอ่าน Hi-C ให้สอดคล้องกับชุดประกอบเมตาจีโนมแบบร่าง
การจัดหาจีโนมอ้างอิง
การสร้างไฟล์ TSV
อาร์กิวเมนต์บรรทัดคำสั่งที่จำเป็น
อาร์กิวเมนต์บรรทัดคำสั่งเพิ่มเติม
อาร์กิวเมนต์บรรทัดคำสั่งเอาต์พุต (สลับตัวเลือกทั้งหมด)
แผนภูมิ
รูปภาพ
ไฟล์ในไดเร็กทอรีเอาต์พุต
วิ่ง LACHESIS
MetaPhase จะไม่ทำงาน!
MetaPhase ขัดข้อง!
MetaPhase กำลังสร้างผลลัพธ์ที่แปลกประหลาด!
MetaPhase เป็นเครื่องมือซอฟต์แวร์สำหรับดำเนินการแยกส่วนแบบเมตาเจโนมิก นั่นคือ มันป้อนชุดประกอบเมตาจีโนม ซึ่งเป็นชุดที่สร้างขึ้นจากตัวอย่างจีโนมแบบผสม ซึ่งโดยปกติจะเป็นจุลินทรีย์หลายชนิด และจะกำหนดว่าส่วนใดในชุดประกอบนั้นอยู่ร่วมกันในจีโนมเดียวกัน แอสเซมบลีเมตาจีโนมไม่มีจีโนมที่สมบูรณ์ของสปีชีส์ใดสปีชีส์หนึ่งในตัวอย่างผสม แต่แอสเซมบลีแบบแยกส่วนสามารถมีจีโนมที่เกือบสมบูรณ์ของสปีชีส์แต่ละชนิดได้ MetaPhase อาศัยข้อมูลที่สร้างโดย Hi-C ซึ่งเป็นเทคนิคระดับโมเลกุลที่ได้รับการยอมรับในการศึกษาโครงสร้างของโครมาติน (กระดาษ)
คุณต้องการใช้ MetaPhase หากคุณกำลังศึกษาชุมชนจุลินทรีย์และต้องการทราบจีโนมของจุลินทรีย์แต่ละสายพันธุ์ MetaPhase ทำงานได้ดีในชุมชนที่ค่อนข้างซับซ้อน และสามารถศึกษายูคาริโอตและโปรคาริโอตได้ดีพอๆ กัน MetaPhase ไม่สามารถแยกส่วนสายพันธุ์ที่เกี่ยวข้องอย่างใกล้ชิดของสายพันธุ์เดียวกันได้ มันจะรวมสายพันธุ์เหล่านี้ทั้งหมดไว้ในคลัสเตอร์เดียว MetaPhase ไม่ได้รับการทดสอบในชุมชนที่มีสายพันธุ์หลายพันชนิด เช่น ไมโครไบโอมในลำไส้ของมนุษย์ และไม่สามารถตรวจจับสายพันธุ์ที่มีความอุดมสมบูรณ์ต่ำกว่า 1% ได้อย่างน่าเชื่อถือ (โปรดทราบว่าข้อจำกัดอยู่ที่การที่ซอฟต์แวร์แอสเซมบลี metagenome มาตรฐาน ของเดอโนโว ไม่สามารถสร้างแอสเซมบลี metagenome แบบร่างที่มี contigs จากสายพันธุ์หายาก แทนที่จะเป็นความสามารถของ MetaPhase ในการแยกส่วน contigs เหล่านี้)
คุณไม่ต้องการใช้ MetaPhase หากคุณกำลังศึกษาความแปรผันของความเครียดภายในสายพันธุ์เดียว หรือหากคุณกำลังศึกษาการจัดเรียงจีโนมใหม่ในจีโนมมะเร็งของมนุษย์ คุณไม่ต้องการใช้ MetaPhase เว้นแต่คุณจะมีชุดข้อมูล Hi-C แบบ metagenomic หรือเต็มใจที่จะสร้าง Hi-C ไม่ใช่เทคนิคเล็กๆ น้อยๆ ในการเรียนรู้ การสลายตัวของ metagenomic ด้วยการคำนวณล้วนๆ (แทนที่จะเป็นโมเลกุล) เป็นเรื่องยาก แต่ก็ไม่ใช่ว่าจะเป็นไปไม่ได้: ดูเอกสารที่อ้างถึงในบทนำของเอกสาร MetaPhase
ในระดับสูง คุณเพียงต้องการสองสิ่งเพื่อรัน MetaPhase:
แอสเซมบลีเมตาจีโนม แบบร่าง เดอ โนโว สิ่งนี้สามารถสร้างได้จากไลบรารีลำดับเมตาจีโนมของปืนลูกซองด้วยเครื่องมือประกอบจำนวนเท่าใดก็ได้ เช่น Velvet, IDBA-UD, ABySS หรือ SPAdes
ไลบรารีลำดับ Hi-C ที่สร้างขึ้นจากตัวอย่างเมตาจีโนม - ควรเป็นตัวอย่างเดียวกันกับที่ใช้ในการสร้างชุดประกอบเมตาจีโนม เดอโนโว หรือตัวอย่างที่คล้ายกันมาก
ในระดับต่ำ MetaPhase ต้องการไฟล์อินพุตที่แตกต่างกันหลายไฟล์ รวมถึงอินพุตเสริมบางไฟล์ สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับไฟล์อินพุต โปรดดูส่วน C1 "รายการไฟล์อินพุต"
ในการตั้งค่าและรัน MetaPhase คุณจะต้องมีคอมพิวเตอร์ที่ทำงานในสภาพแวดล้อม UNIX ที่มีหน่วยความจำอย่างน้อย 16GB พร้อมติดตั้งซอฟต์แวร์ต่อไปนี้:
gcc คอมไพเลอร์ C++ (http://gcc.gnu.org/)
ไลบรารีการบีบอัด zlib (http://www.zlib.net/)
คุณอาจต้องใช้ซอฟต์แวร์ต่อไปนี้:
เครื่องมือจัดตำแหน่งแบบอ่านสั้น BWA (http://bio-bwa.sourceforge.net/) หรือเครื่องมือจัดตำแหน่งอื่น
BLAST aligner ในรูปแบบบรรทัดคำสั่ง (http://www.ncbi.nlm.nih.gov/books/NBK1763/) รวมถึงคำสั่ง blastn
, tblastx
และ makeblastdb
ซอฟต์แวร์ bmtagger เพื่อลบการอ่านของมนุษย์ออกจากชุดข้อมูล metagenomics (http://biowulf.nih.gov/apps/bmtagger.html)
MetaPhase ยังต้องการไลบรารี Boost C++ (http://www.boost.org/) และชุดเครื่องมือ SAMtools (http://samtools.sourceforge.net/) แต่สิ่งเหล่านี้รวมอยู่ในแพ็คเกจการติดตั้ง MetaPhase
ดาวน์โหลดแพ็คเกจ MetaPhase จาก https://github.com/shendurelab/MetaPhase/archive/master.zip ลงในระบบไฟล์ UNIX หากคุณดาวน์โหลด tarball ( MetaPhase.tar.gz
) ให้แตกไฟล์โดยใช้คำสั่ง UNIX ต่อไปนี้:
tar xzvf MetaPhase.tar.gz
cd MetaPhase/
จากนี้ไป ฉันจะอ้างถึงไดเร็กทอรี MetaPhase หลักว่า <MetaPhase>
หากต้องการคอมไพล์ MetaPhase เพียงพิมพ์ make
ในไดเร็กทอรี <MetaPhase>
ในการรัน MetaPhase คุณอาจต้องเพิ่ม <MetaPhase>/include/boost_1_47_0/stage/lib
ให้กับ $LD_LIBRARY_PATH
ของคุณ (เพื่อหลีกเลี่ยงปัญหา: cannot open shared object file...
.) สุดท้ายนี้ ตรวจสอบให้แน่ใจว่าได้เรียกใช้อย่างใดอย่างหนึ่ง MetaPhase จากไดเร็กทอรี <MetaPhase>
หรือเพิ่มไดเร็กทอรีนั้นไปยัง $PATH
ของคุณ นี่เป็นสิ่งสำคัญเนื่องจากโมดูล MetaPhase บางตัวจำเป็นต้องเข้าถึงสคริปต์ปฏิบัติการ FastaSize
, CountMotifsInFasta.pl
, Fig2a.R
และ MakeClusteringResultHeatmap.R
ซึ่งรวมอยู่ในแพ็คเกจ MetaPhase
แพ็คเกจ MetaPhase มีกรณีทดสอบขนาดเล็กที่คุณสามารถเรียกใช้เพื่อทำความเข้าใจว่า MetaPhase ทำงานอย่างไร มีอยู่ในไดเร็กทอรี test_case
ซึ่งมีไดเร็กทอรีย่อยต่อไปนี้:
<MetaPhase>/test_case/assembly/
: มีแอสเซมบลี metagenome ฉบับร่าง ใหม่ , assembly.fasta
ชุดประกอบนี้ประกอบด้วยชุดเชื้อ 20 ชุดที่นำมาจากชุดตัวอย่างภาวะช่องคลอดอักเสบจากเชื้อแบคทีเรียที่มีขนาดใหญ่กว่ามาก ที่นี่ทำหน้าที่เป็นตัวอย่างของเล่นของการประกอบเมตาจีโนม
<MetaPhase>/test_case/HiC/
: ประกอบด้วยไฟล์ fastq 2 ไฟล์ BV.H3.head.bmt.1.fq และ BV.H3.head.bmt.2.fq การอ่านเหล่านี้เป็นส่วนหนึ่งของชุดข้อมูล Hi-C ที่มีขนาดใหญ่กว่ามากซึ่งจัดลำดับจากตัวอย่างภาวะช่องคลอดอักเสบจากเชื้อแบคทีเรีย พวกเขาถูกกรองด้วย bmtagger เพื่อลบการอ่านของมนุษย์
<MetaPhase>/test_case/refs/
: ประกอบด้วยจีโนมอ้างอิงหนึ่งรายการที่เปิดเผยต่อสาธารณะ นั่นคือ LI.fasta
สำหรับแบคทีเรีย Lactobacillus iners นี่เป็นอินพุตทางเลือกที่ MetaPhase จะใช้เพื่อดูว่าคลัสเตอร์ตรงกับจีโนม L. iners หรือไม่
<MetaPhase>/test_case/tsvs/
: มีไฟล์ TSV สองไฟล์ที่อธิบายตำแหน่งของไฟล์อินพุตอื่นและ MetaPhase ใช้งาน
<MetaPhase>/test_case/out/
: ไม่มีไดเร็กทอรีนี้ตั้งแต่แรก เมื่อ MetaPhase ทำงานบนกรณีทดสอบ มันจะสร้างไดเร็กทอรีนี้และใส่เอาต์พุตไว้ที่นี่
อินพุตหนึ่ง (เป็นทางเลือก) ที่ขาดหายไปจาก test_case คือฐานข้อมูล BLAST ของลำดับนิวคลีโอไทด์ ฐานข้อมูลนี้ซึ่งช่วยให้คุณสามารถค้นหา contigs ของแอสเซมบลี metagenome กับลำดับที่รู้จักทั้งหมดได้ ซึ่งมีขนาดใหญ่เกินไปสำหรับแพ็คเกจทดสอบ แต่สามารถดาวน์โหลดได้จากเว็บไซต์ BLAST หากต้องการใช้ฐานข้อมูลนี้ คุณจะต้องตั้งค่าอาร์กิวเมนต์บรรทัดคำสั่ง --blast_dir
หากต้องการใช้ MetaPhase กับ test_case ให้รันคำสั่งต่อไปนี้:
เตรียมชุดประกอบเมตาจีโนมแบบร่าง เดอโนโว เพื่อให้สอดคล้องกับ bwa โปรดทราบว่า bwa
ต้องอยู่ใน $PATH
ของคุณ cd <MetaPhase>/test_case/assembly
../../FastaSize assembly.fasta
bwa index -a bwtsw assembly.fasta
จัดตำแหน่งการอ่าน Hi-C เข้ากับชุดประกอบแบบร่าง สิ่งนี้ใช้ align.sh
ซึ่งเป็นสคริปต์ที่ให้ไว้แล้ว ซึ่งรัน bwa aln
และ bwa sampe
และสร้างไฟล์ BAM ที่ MetaPhase จะใช้ โปรดทราบว่าคุณต้องใช้ bwa aln
และ bwa sampe
ไม่ใช่ bwa mem
cd <MetaPhase>/test_case/HiC
align.sh
ตรวจสอบไฟล์ TSV เพื่อให้แน่ใจว่าคุณเข้าใจสิ่งที่พวกเขากำลังทำอยู่ cd <MetaPhase>/tsvs
cat test_case.refs.tsv
cat test_case.HiC_libs.tsv
ตอนนี้ รันกรณีทดสอบ MetaPhase ด้วยชุดพื้นฐานของอาร์กิวเมนต์บรรทัดคำสั่ง วัตถุประสงค์ของอาร์กิวเมนต์บรรทัดคำสั่งทั้งหมดนี้อธิบายไว้ด้านล่างในส่วน D "การเรียกใช้ MetaPhase" cd <MetaPhase>
MetaPhase -s test_case -a test_case/assembly/assembly.fasta -i test_case/tsvs --refs_dir test_case/refs -o test_case/out -N 3 --isolated_component_size 2 --jarvis_patrick_K 2
สิ่งแรกที่ MetaPhase จะทำคือจัดแนวโครงร่างของแอสเซมบลีแบบร่างกับจีโนมอ้างอิง LI.fasta การดำเนินการนี้อาจใช้เวลาหลายนาที แต่เป็นการรอเพียงครั้งเดียว: ผลลัพธ์จะถูกแคชไว้ในไฟล์พิเศษ ถัดไป MetaPhase จะทำคลัสเตอร์ 20 contigs ในแอสเซมบลีแบบร่างโดยการเชื่อมโยง Hi-C สร้าง 3 คลัสเตอร์ (เนื่องจาก -N 3
) สุดท้าย MetaPhase จะรายงานสถิติพื้นฐานเกี่ยวกับคลัสเตอร์ที่มันสร้างขึ้น
ตอนนี้ลองเรียกใช้ MetaPhase อีกครั้ง โดยเพิ่มอาร์กิวเมนต์บรรทัดคำสั่งต่อไปนี้อย่างน้อยหนึ่งรายการ: --report_unclustered
, --output_cluster_fastas
, --output_heatmaps
, output_network_image
แต่ละตัวเลือกเหล่านี้จะส่งผลให้มีข้อมูลมากขึ้นถูกส่งออกในรูปแบบต่างๆ: ไปยังหน้าจอ หรือไปยังไฟล์ หรือไปยังรูปภาพ ดูส่วน D2 "อาร์กิวเมนต์บรรทัดคำสั่งเผื่อเลือก" สำหรับข้อมูลเพิ่มเติม
ตอนนี้ดูใน test_case/out/test_case
นี่คือไดเร็กทอรีเอาต์พุตที่สร้างโดยการรัน MetaPhase ของคุณ มันมีไฟล์เอาต์พุตหลายไฟล์ files cluster.*.fasta
คือคลัสเตอร์ fastas ของคุณ (มีอยู่เฉพาะเมื่อคุณรันด้วย --output_cluster_fastas
) ไดเร็กทอรีย่อย cached_data
มีไฟล์ข้อมูล ที่แคชไว้ ซึ่งรวมถึงผลลัพธ์ของการรัน BLAST และการจัดกลุ่ม MetaPhase
โปรดทราบว่า test_case เป็นชุดข้อมูลขนาดเล็กมากและผลลัพธ์ไม่ได้มีประโยชน์ทางชีวภาพหรือโดยทั่วไป ตัวอย่างเช่น มีคู่การอ่าน Hi-C เพียงไม่กี่คู่ที่ 10 จาก 20 การเชื่อมต่อถูกยกเลิกการเชื่อมโยงโดยสมบูรณ์ และคู่ที่เชื่อมโยงอยู่ในสามคลัสเตอร์ที่แยกจากกัน (ดังนั้นจึงเป็นไปไม่ได้ที่จะสร้างคลัสเตอร์น้อยกว่า 3 คลัสเตอร์) สิ่งนี้ทำให้เราไม่สามารถแสดงตัวอย่างอื่นที่มีประโยชน์ได้ คุณสมบัติของ MetaPhase ซึ่งเราสามารถใช้เพื่อทำนายจำนวนคลัสเตอร์ได้ ในตัวอย่างของคุณ (แต่ไม่ใช่ใน test_case) คุณสามารถเรียกใช้ MetaPhase ด้วย -N 1
และมันจะสร้างเส้นโค้งการเพิ่มคุณค่า E(N) เช่นเดียวกับที่อยู่ในรูปที่ S4 ของกระดาษ MetaPhase วิธีนี้จะช่วยให้คุณระบุจำนวนสปีชีส์คร่าวๆ ในการประกอบเมตาจีโนมของคุณได้ และด้วยเหตุนี้จึงทำให้เป็นจำนวนคลัสเตอร์ที่เหมาะสมที่สุด
MetaPhase ใช้ไฟล์อินพุตต่อไปนี้โดยตรง หากต้องการทราบว่าไฟล์เหล่านี้มีลักษณะอย่างไร โปรดดูที่ test_case
ไฟล์ที่จำเป็น:
แอสเซมบลี metagenome แบบร่างในรูปแบบ fasta
ไฟล์ SAM/BAM หนึ่งไฟล์ขึ้นไปที่อธิบายการจัดตำแหน่งของ Hi-C อ่านไปยังชุดประกอบเมตาจีโนมแบบร่าง โปรดทราบว่าไฟล์ SAM/BAM เหล่านี้ต้องมีรายการอ่านแต่ละรายการเพียงครั้งเดียว ซึ่งหมายความว่าจะต้องสร้างไฟล์ด้วย bwa aln และ bwa sampe ไม่ใช่ bwa mem
ไฟล์ TSV สองไฟล์ <scenario>.HiC_libs.tsv
และ <scenario>.refs.tsv
ซึ่งอธิบายชุดของไฟล์อินพุต BAM และชุดของจีโนมอ้างอิงตามลำดับ ไฟล์ทางเลือก:
ฐานข้อมูล BLAST ที่อธิบายลำดับนิวคลีโอไทด์ ( nt
) และ/หรือโปรตีน ( nr
) ที่รู้จักทั้งหมด สามารถดาวน์โหลดเวอร์ชันอัปเดตของฐานข้อมูลนี้ได้จากเว็บไซต์ BLAST ซึ่งมีคำแนะนำสำหรับวิธีติดตั้งยูทิลิตีบรรทัดคำสั่ง blastn
และ tblastx
ที่คุณต้องการด้วย โปรดทราบว่าฐานข้อมูลเหล่านี้มีขนาดใหญ่ (ณ ปี 2558 nt
คือ ~25 Gb และ nr
คือ ~50 Gb)
ชุดของจีโนมอ้างอิงในรูปแบบ fasta ซึ่งอธิบายสปีชีส์ที่คุณเชื่อว่าอยู่ในตัวอย่างของคุณ หรือเกี่ยวข้องกับสิ่งต่าง ๆ ในตัวอย่างของคุณ หากคุณไม่รู้ทุกอย่างในกลุ่มตัวอย่างของคุณ (และคุณอาจจะไม่รู้) คุณสามารถรอจนกว่าคุณจะจัดแนวแอสเซมบลีเมตาจีโนมของคุณให้สอดคล้องกับการค้นหา BLAST แล้วจึงรับคำแนะนำจากผลการค้นหาเหล่านั้น หากต้องการค้นหาชุดประกอบจีโนมอ้างอิงสำหรับสปีชีส์ ให้ค้นหาฐานข้อมูลชุดประกอบ NCBI
ไฟล์ SAM/BAM ที่อธิบายการจัดตำแหน่งของปืนลูกซองจะอ่านไปยังชุดประกอบเมตาจีโนมแบบร่าง การอ่านปืนลูกซองเป็นการอ่านแบบเดียวกับที่ใช้ในการสร้างชุดประกอบ MetaPhase สามารถใช้ไฟล์นี้เพื่อประเมินความอุดมสมบูรณ์ในตัวอย่างของคุณของแต่ละ contig และของแต่ละคลัสเตอร์ ขณะนี้ไม่สามารถใช้งานได้หากไม่มีการแฮ็ค MetaPhase.cc เล็กน้อย (ขออภัย)
อินพุตที่สำคัญที่สุดประการหนึ่งของ MetaPhase คือชุดประกอบ metagenome เดอโนโว แบบร่าง คุณต้องสร้างชุดประกอบนี้ด้วยตนเองโดยใช้ปืนลูกซองอ่านจากตัวอย่างของคุณ มีเครื่องมือประกอบเมตาจีโนม de novo ที่เผยแพร่ต่อสาธารณะจำนวนมากซึ่งทำงานได้ค่อนข้างดี รวมถึง Velvet, IDBA-UD, ABySS และ SPAdes ฉันใช้ IDBA-UD ในขณะที่พัฒนา MetaPhase
สิ่งสำคัญคือต้องตระหนักว่า MetaPhase ไม่ได้สร้างลำดับใหม่ใดๆ มันเป็นเพียงลำดับคลัสเตอร์ที่มีอยู่ในแอสเซมบลีแล้ว หากลำดับบางอย่างจากตัวอย่างของคุณไม่ได้จัดลงในชุดประกอบแบบร่าง - เนื่องจากไม่บ่อยเกินไป, GC-ไม่สมดุลเกินไป, ซ้ำเกินไป หรือด้วยเหตุผลอื่นใด - MetaPhase จะไม่สามารถจัดกลุ่มเป็นจีโนมได้ อาจคุ้มค่าที่จะลองใช้ตัวเลือกต่างๆ มากมายในแอสเซมเบลอร์เมตาจีโนมของคุณ หรือเครื่องมือประกอบเมตาจีโนมหลายๆ ตัว เพื่อให้ได้แอสเซมบลีที่มีลำดับจำนวนมากที่สุดและมีการเชื่อมต่อ N50 ที่ยาวที่สุด
MetaPhase ทำงานได้ดีขึ้นมากเมื่อคอนฟิกอินพุตยาวขึ้น เนื่องจากมีสัญญาณที่ชัดเจนกว่าของการเชื่อมโยง Hi-C ให้ใช้งาน โดยเฉพาะอย่างยิ่ง MetaPhase ไม่สามารถจัดกลุ่ม contig ที่ไม่มีไซต์เอนไซม์จำกัดใดๆ ได้ เนื่องจากการอ่าน Hi-C ไม่สามารถจัดตำแหน่งได้อย่างน่าเชื่อถือ โปรดคำนึงถึงข้อเท็จจริงนี้เมื่อเลือกเอนไซม์จำกัดที่จะใช้สำหรับการทดสอบ Hi-C ของคุณ หากชุดประกอบเมตาจีโนมของคุณมี N50 ขนาดเล็ก คุณอาจต้องการใช้เอนไซม์จำกัดคัตเตอร์แบบ 4 คัตเตอร์ แทนคัตเตอร์แบบ 6 คัตเตอร์ (ตัวอย่างเช่น หากแอสเซมบลีเมตาจีโนมของคุณมี N50 เพียง 4 Kb ดังนั้นไลบรารี Hi-C ที่สร้างด้วยเครื่องตัดแบบ 6 ซึ่งจะตัดทุกๆ 4 Kb โดยประมาณ จะไม่สามารถจัดคลัสเตอร์ 50% ของลำดับของแอสเซมบลีได้อย่างสมบูรณ์)
นอกเหนือจากชุดประกอบเมตาจีโนมแล้ว MetaPhase ยังป้อนการจัดตำแหน่งของการอ่าน Hi-C ไปยังชุดประกอบเมตาจีโนม ไฟล์นี้ต้องอยู่ในรูปแบบ SAM หรือ BAM และต้องมีการอ่าน Hi-C แต่ละครั้งเพียงครั้งเดียว คุณสามารถใช้เครื่องมือจัดตำแหน่งที่สร้างไฟล์ SAM/BAM ได้ ฉันใช้ bwa ในขณะที่พัฒนา MetaPhas; หากคุณใช้ bwa ตรวจสอบให้แน่ใจว่าใช้ bwa aln และ bwa sampe ไม่ใช่ bwa mem ซึ่งจะส่งออกการอ่านแต่ละครั้งหลายครั้ง!)
การอ่าน Hi-C มีเอกลักษณ์เฉพาะตัว: เป็นแบบจงใจเลียนแบบ โดยมีไซต์การผูกมัดแบบไคเมอริกซึ่งทราบลำดับจากเอนไซม์ควบคุม (เช่น ตัด HindIII ที่ AAGCTT และสร้าง AAGCTAGCTT เมื่อทำการเชื่อมโยงใหม่) ด้วยเหตุนี้ วิธีการจัดตำแหน่งที่ตรงไปตรงมาจะ พลาดการจับคู่ Hi-C ที่มีประโยชน์มากมาย คุณอาจต้องการออกแบบไปป์ไลน์การจัดตำแหน่งที่กำหนดเองเพื่อเพิ่มผลตอบแทนสูงสุด หากเป็นเช่นนั้น ลองดูที่สคริปต์ align.iter.interactive.sh
ซึ่งฉันใช้ในการพัฒนาของตัวเองและอาจให้แนวคิดเกี่ยวกับไปป์ไลน์ที่คุณกำหนดเอง
การจัดหาจีโนมอ้างอิงให้กับ MetaPhase เป็นทางเลือกทั้งหมด แต่มีประโยชน์มาก MetaPhase สามารถจัดแนวโครงร่างของการประกอบแบบร่างเพื่อดูว่าพวกมันน่าจะมาจากสายพันธุ์ใด มีสองวิธีในการทำเช่นนี้: จัดให้สอดคล้องกับฐานข้อมูล BLAST ที่มีลำดับที่รู้จักทั้งหมด และจัดแนวให้กับไฟล์ fasta ในเครื่องที่มีชุดประกอบจีโนมอ้างอิงเดียว วิธีการแบบเดิมมีประโยชน์ในการสำรวจคำถามว่าแท็กซ่าอยู่ในตัวอย่างของคุณมีอะไรบ้าง วิธีหลังมีประโยชน์สำหรับการกำหนดเป้าหมายสปีชีส์แต่ละชนิดที่คุณทราบว่าอยู่ในตัวอย่างของคุณเป็นศูนย์ (หรือเกี่ยวข้องกับสิ่งต่าง ๆ ในตัวอย่างของคุณ) และสำหรับการสร้างแผนที่ความร้อนและอิมเมจเครือข่ายคลัสเตอร์ (ดูหัวข้อ E2 "รูปภาพ") คุณสามารถเริ่มต้นด้วยการจัดตำแหน่ง BLAST เท่านั้น จากนั้นใช้การเข้าชมจากที่นั่นเพื่อกำหนดว่าคุณมีแนวโน้มที่จะพบสปีชีส์ใด จากนั้นดาวน์โหลดข้อมูลอ้างอิงเหล่านั้นและป้อนลงใน MetaPhase รายการชุดประกอบจีโนมอ้างอิงจะถูกส่งไปยัง MetaPhase ในไฟล์ <scenario>.refs.tsv
MetaPhase จะดำเนินการจัดตำแหน่งทั้งหมดกับทั้งฐานข้อมูล BLAST และจีโนมอ้างอิง MetaPhase อาจเรียกใช้คำสั่ง BLAST blastn
, tblastx
และ makeblastdb
ซึ่งทั้งหมดนี้เป็นส่วนหนึ่งของแพ็คเกจโค้ดบรรทัดคำสั่ง BLAST ตรวจสอบให้แน่ใจว่าคำสั่งเหล่านี้อยู่ใน $PATH
ของคุณ โปรดทราบว่า BLAST สามารถใช้รันไทม์ได้มาก โดยเฉพาะอย่างยิ่งหากคุณตั้งค่า --use-tblastx
อย่างไรก็ตาม MetaPhase จะแคชผลลัพธ์ของการเรียกใช้ BLAST ใน <out_dir>/cached_data
เพื่อบันทึกรันไทม์ในภายหลัง
MetaPhase ต้องการไฟล์อินพุต TSV (ค่าที่คั่นด้วยแท็บ) สองไฟล์ ไฟล์หนึ่งเพื่อให้เป็นชุดของไฟล์การจัดตำแหน่ง SAM/BAM และอีกไฟล์หนึ่งเพื่อให้ชุดของชุดประกอบจีโนมอ้างอิง ไฟล์เหล่านี้มีขนาดเล็ก และคุณจะต้องทำด้วยมือ โดยเฉพาะอย่างยิ่งเนื่องจากอาจต้องมีการแก้ไขด้วยตนเองในภายหลัง สิ่งที่ง่ายที่สุดที่ต้องทำคือทำตามตัวอย่างไฟล์ TSV ใน test_case/tsvs
หากต้องการรับข้อมูลสรุปโดยย่อของอาร์กิวเมนต์บรรทัดคำสั่งของ MetaPhase ทั้งหมด ให้เรียกใช้ MetaPhase -help
คำอธิบายโดยละเอียดเพิ่มเติมอยู่ที่นี่
-s
<string>
: ชื่อสถานการณ์ MetaPhase ใช้เพื่อตั้งชื่อการวิ่งของคุณ ใช้เป็นจุดเริ่มต้นของชื่อของไฟล์ tsv (ดู -i
ด้านล่าง) และยังเป็นชื่อของไดเร็กทอรีเอาต์พุต (ดู -o
ด้านล่าง) สุดท้ายนี้ คุณสามารถเพิกเฉยต่อสิ่งนี้ได้ แต่มีชื่อสถานการณ์บางชื่อที่มีตัวเลือกบรรทัดคำสั่งแบบใช้สายยากที่ฉันใช้ในการพัฒนา (ตัวอย่างเช่น เหตุใด -a
จึงไม่แสดงรายการเป็นอาร์กิวเมนต์ "จำเป็น" ใน MetaPhase -help
คำสั่ง MetaPhase -help
)
-a
<string>
: ตำแหน่งของไฟล์ fasta แอสเซมบลีของ metagenome แบบร่าง นี่จะต้องเป็นเส้นทางที่แน่นอน ไม่ใช่เส้นทางสัมพัทธ์ กล่าวคือ ต้องขึ้นต้นด้วย /
-N
<integer>
: จำนวนคลัสเตอร์ที่จะสร้าง หากคุณตั้งค่าเป็น 1 MetaPhase จะจัดกลุ่มทุกอย่างให้เป็นคลัสเตอร์เดียว และจะคำนวณ E(N) ซึ่งเป็นการเพิ่มคุณค่าลิงก์ภายในคลัสเตอร์ไปพร้อมกัน จากนั้นเขียนไฟล์ enrichment_curve.jpg
ที่สามารถประมาณจำนวน ชนิดในตัวอย่างของคุณ อย่าตั้งค่าเป็น 0 หรือเป็นตัวเลขที่มากกว่าจำนวนคอนแทค
อาร์กิวเมนต์เหล่านี้บางส่วนรวม $HOME
ไว้ในค่าเริ่มต้น นี่หมายถึงโฮมไดเร็กทอรี UNIX ของคุณ (ตำแหน่งที่คุณไปเมื่อคุณพิมพ์ cd ~
หรือ cd $HOME
)
-i
<string>
: ไดเรกทอรีอินพุต นี่คือไดเร็กทอรีที่มีไฟล์ tsv <scenario>.HiC_libs.tsv
และ <scenario>.refs.tsv
ค่าเริ่มต้น: ./input
-o
<string>
: ไดเร็กทอรีรากของเอาต์พุต ไฟล์เอาท์พุตจากการรันนี้จะอยู่ใน <out_dir>/<scenario>
ค่าเริ่มต้น: $HOME/MP/out
--blast_dir
<string>
: ไดเร็กทอรีที่มีฐานข้อมูล BLAST ( nt.*
และ nr.*
) ที่ MetaPhase ใช้สำหรับการจัดตำแหน่ง คุณสามารถดาวน์โหลดไฟล์เหล่านี้ได้จากเว็บไซต์ BLAST ค่าเริ่มต้น: $HOME/extern/blast
--refs_dir
<string>
: ไดเร็กทอรีที่มีแอสเซมบลีจีโนมอ้างอิงซึ่งแสดงอยู่ในไฟล์ refs.tsv
ไฟล์เอาท์พุตจากการรันนี้จะอยู่ใน <out_dir>/<scenario>
ค่าเริ่มต้น: $HOME/MP/refs
--use_tblastx
: สลับ หากตั้งค่าไว้ MetaPhase จะดำเนินการจัดตำแหน่ง BLAST โดยใช้ tblastx
แทน blastn
ซึ่งแทนที่จะจัดลำดับนิวคลีโอไทด์ของ contigs กับฐานข้อมูลนิวคลีโอไทด์ จะแปลนิวคลีโอไทด์เป็นกรดอะมิโนและจัดตำแหน่งให้เป็นฐานข้อมูลโปรตีน เนื่องจากลำดับโปรตีนได้รับการอนุรักษ์ไว้มากกว่าลำดับนิวคลีโอไทด์ tblastx
จึงดึงความสัมพันธ์ทางสายวิวัฒนาการที่ห่างไกลออกไป กล่าวคือ ในระดับวงศ์หรือสกุล แทนที่จะเป็นสายพันธุ์ ซึ่งคุณอาจจะต้องการหรือไม่ต้องการก็ได้ tblastx
ยังช้ากว่า blastn
มาก
--force_blast_realign
: สลับ หากตั้งค่าไว้ MetaPhase จะเพิกเฉยและเขียนทับไฟล์แคชใดๆ ที่อธิบายการจัดตำแหน่ง BLAST
-b
: สลับ ใช้การบูตสแตรปทางสถิติกับลิงก์เมทริกซ์ กล่าวอีกนัยหนึ่ง เมื่อสร้างเมทริกซ์ของลิงก์ Hi-C แล้ว (และก่อนที่จะทำให้เป็นมาตรฐาน) ให้สุ่มตัวอย่างเมทริกซ์ใหม่ด้วยการแทนที่ สร้างเมทริกซ์ใหม่ที่มีจำนวนลิงก์ทั้งหมดเท่ากัน แต่มีการเปลี่ยนแปลงแบบสุ่มในตำแหน่งที่แน่นอนของลิงก์ หากคุณต้องการทดสอบความสมบูรณ์ของผลลัพธ์การจัดกลุ่มของคุณ ให้รัน MetaPhase ด้วย -b
หลายๆ ครั้งแล้วเปรียบเทียบผลลัพธ์ ซึ่งควรจะแตกต่างกันแบบสุ่ม
--isolated_component_size <integer>
: หลังจากสร้างกราฟการเชื่อมต่อ contig จากเมทริกซ์ลิงก์แล้ว ให้ละทิ้งส่วนประกอบใดๆ ในกราฟที่มี contig น้อยกว่าจำนวนนี้ ในชุดข้อมูลส่วนใหญ่ ส่วนประกอบดังกล่าวประกอบด้วยสัญญาณรบกวนที่ไม่สามารถจัดอยู่ในสายพันธุ์ใดๆ ได้อย่างน่าเชื่อถือ และเนื่องจากส่วนประกอบเหล่านี้ไม่สามารถใช้ร่วมกับส่วนประกอบอื่นๆ ได้ จึงอาจทำให้หมายเลขคลัสเตอร์ที่ชัดเจนหายไป อย่างไรก็ตาม หากข้อมูลลิงก์ Hi-C ของคุณกระจัดกระจาย คุณอาจต้องลดสิ่งนี้เพื่อหลีกเลี่ยงการรวมคลัสเตอร์จริง ค่าเริ่มต้น: 100
--jarvis_patrick_K <integer>
: ค่าของ K ที่ใช้ในขั้นตอนการทำคลัสเตอร์ล่วงหน้าของ Jarvis-Patrick ค่าที่สูงกว่าจะเพิ่มรันไทม์แต่อาจเพิ่มความแม่นยำ หากต้องการทำความเข้าใจตัวเลขนี้โดยละเอียด โปรดไปที่ Jarvis และ Patrick "การจัดกลุ่มโดยใช้การวัดความคล้ายคลึงกันตามเพื่อนบ้านที่แชร์", 1973 ค่าเริ่มต้น: 100
--min_cluster_norm <integer>
: บรรทัดฐานขั้นต่ำของคลัสเตอร์ที่อนุญาต "บรรทัดฐาน" ของ contig คือจำนวนตำแหน่งเอนไซม์จำกัด (RE) ที่คลัสเตอร์นั้นมีอยู่ และบรรทัดฐานของคลัสเตอร์คือผลรวมของบรรทัดฐานของ contig พารามิเตอร์นี้สามารถมีผลกระทบอย่างมากต่อเอาต์พุต: การเพิ่ม min_cluster_norm
จะเพิ่มขนาดต่ำสุดที่เป็นไปได้ของคลัสเตอร์ ซึ่งอาจทำลายคลัสเตอร์ที่เป็นตัวแทนของสายพันธุ์ขนาดเล็ก แต่ยังป้องกันการก่อตัวของคลัสเตอร์ขนาดเล็กที่น่ารำคาญซึ่งมี contig จำนวนเล็กน้อย (2-3) ซึ่งมักเป็นผลมาจากสัญญาณรบกวนในข้อมูลและ/หรือจาก contig ซ้ำ ๆ หากคุณได้รับคลัสเตอร์ขนาดใหญ่กลุ่มหนึ่งที่มีองค์ประกอบส่วนใหญ่ของคุณ และคลัสเตอร์อื่นๆ ทั้งหมดมีขนาดเล็ก คุณจะต้องเพิ่มสิ่งนี้ โปรดทราบว่าบรรทัดฐานของคลัสเตอร์จะเท่ากับความยาวของคลัสเตอร์ในหน่วย bp หารด้วยความถี่ของไซต์ RE ดังนั้นจำนวนที่เหมาะสมอาจแตกต่างกันสำหรับ RE ประเภทต่างๆ ค่าเริ่มต้น: 25
-merge
: สลับ ใช้อัลกอริธึมการจัดกลุ่มเชิงทดลองเพื่อรวมการจัดกลุ่มอิสระหลายรายการที่เกิดจากไลบรารี Hi-C ที่แตกต่างกัน ไม่แนะนำ.
--load_cached_clusters
: สลับ หากตั้งค่าไว้ แทนที่จะดำเนินการจัดกลุ่ม MetaPhase จะค้นหาไฟล์แคชใน <out_dir>/<scenario>.cached_data
ที่มีผลการจัดกลุ่มที่คำนวณไว้ก่อนหน้านี้ ไฟล์นี้จะมีอยู่หาก MetaPhase เคยถูกเรียกใช้ในสถานการณ์นี้โดยมีค่า -N
เท่ากันในขณะนี้และไม่มีแฟล็ก --dont_output_cache
นี่เป็นวิธีประหยัดเวลาหากคุณต้องการวิเคราะห์ผลลัพธ์ของการทำคลัสเตอร์โดยไม่ต้องเรียกใช้การทำคลัสเตอร์อีกครั้ง
--dont_output_cache
: สลับ อย่าสร้าง (หรือเขียนทับ) ไฟล์แคชคลัสเตอร์ที่สามารถโหลดได้ในภายหลังด้วย --load_cached_clusters
ตัวเลือกนี้ถูกแทนที่โดย --load_cached_clusters
--report_unclustered
: สลับ หากตั้งค่าไว้ MetaPhase จะสร้างรายงานขั้นสุดท้ายเกี่ยวกับ Contig ที่ไม่ได้จัดกลุ่ม เช่น ชนิดใดที่จัดอยู่ในแนวเดียวกัน มีกี่รายการที่ไม่รวมกลุ่มเนื่องจากไม่ได้เชื่อมโยงกันทั้งหมด เป็นต้น
--output_cluster_fastas
: สลับ หากตั้งค่าไว้ ให้เขียนไฟล์ cluster.*.fasta
และ unclustered.fasta
ใน <out_dir>/<scenario>/
ไฟล์เหล่านี้เป็นไฟล์ fasta ที่ระบุว่า MetaPhase ทำคลัสเตอร์ contigs อย่างไร
--output_network_image
: สลับ หากตั้งค่าไว้ ให้รันสคริปต์ Fig2a.R
และสร้างอิมเมจเครือข่ายคลัสเตอร์เหมือนกับที่ปรากฏในรูปที่ 2A ของเอกสาร MetaPhase
--output_heatmaps
: สลับ หากตั้งค่าไว้ ให้รันสคริปต์ MakeClusteringResultHeatmap.R
และสร้างอิมเมจแผนที่ความร้อนเหมือนกับที่ปรากฏในรูปที่ 2B และรูปที่ S5 ของกระดาษ MetaPhase
--reorder_clusters_by_refs
: สลับ หากตั้งค่าไว้ ให้จัดลำดับคลัสเตอร์ใหม่เพื่อเพิ่มสัญญาณสูงสุดในแนวทแยงของแผนที่ความร้อนที่สร้างด้วย --output_heatmaps
โปรดทราบว่าสิ่งนี้จะขึ้นอยู่กับจีโนมอ้างอิงใดที่อยู่ในไฟล์ refs.tsv
ของคุณและลำดับที่ปรากฏในไฟล์ หากคุณต้องการมีหมายเลขคลัสเตอร์ที่สอดคล้องกัน อย่าตั้งค่านี้
ผลลัพธ์พื้นฐานที่สุดของ MetaPhase คือไปที่หน้าจอ MetaPhase จะให้รายงานโดยละเอียดเกี่ยวกับความคืบหน้าในขณะที่ดำเนินการก่อนการประมวลผล การจัดตำแหน่ง BLAST การจัดกลุ่ม และการวิเคราะห์หลังการจัดกลุ่ม สมมติว่ามันไม่ขัดข้อง MetaPhase จะสร้างแผนภูมิที่มีประโยชน์ของผลลัพธ์การจัดกลุ่ม คอลัมน์ในแผนภูมินี้คือ:
หมายเลขคลัสเตอร์
จำนวนการเชื่อมต่อในคลัสเตอร์นี้
ความยาวรวมของเนื้อหาทั้งหมดในคลัสเตอร์นี้
ความอุดมสมบูรณ์: การประมาณความอุดมสมบูรณ์ของดีเอ็นเอ (ไม่ใช่ความอุดมสมบูรณ์ของสายพันธุ์) ของกลุ่มนี้ กำหนดเป็นเปอร์เซ็นต์ของการอ่านปืนลูกซองที่สอดคล้องกับเนื้อหาในกลุ่มนี้ ต้องใช้ไฟล์ SAM/BAM สำหรับปืนลูกซองจำนวนมาก ซึ่งปัจจุบันต้องมีการแฮ็ก
การอ้างอิงจำนวนมาก: ชุดประกอบจีโนมอ้างอิง (ในบรรดารายการที่อยู่ในไฟล์ refs.tsv
) ซึ่งมีลำดับจำนวนมากจัดอยู่ในแนวเดียวกัน
%ยูคาริโอต, %rDNA, %tRNA, %mtDNA: คำอธิบายประกอบที่คาดการณ์ไว้ของเนื้อหาลำดับในคลัสเตอร์นี้ ขึ้นอยู่กับการจัดตำแหน่ง BLAST กับฐานข้อมูล BLAST
อนุกรมวิธานพหูพจน์: ตำแหน่งอนุกรมวิธานที่พบบ่อยที่สุดของเนื้อหาลำดับในคลัสเตอร์นี้ ขึ้นอยู่กับการจัดตำแหน่ง BLAST กับฐานข้อมูล BLAST
หากคุณตั้งค่า --report_unclustered
MetaPhase จะสร้างแผนภูมิที่เล็กลงและง่ายกว่ามากโดยอธิบาย contigs ที่ไม่คลัสเตอร์
คุณสามารถสร้างภาพสวย ๆ ได้เหมือนกับในรูปที่ 2A และ 2B ของกระดาษ MetaPhase หากต้องการสร้างอิมเมจเครือข่ายหรือแผนที่ความร้อน ให้ตั้งค่า --output_network_image
หรือ --output_heatmap
ตามลำดับ ไฟล์ถูกสร้างขึ้นโดยสคริปต์ Fig2a.R
และ MakeClusteringResultHeatmap.R
ตามลำดับ นี่เป็นสคริปต์ R ที่ค่อนข้างตรงไปตรงมาโดยใช้ ggplot2 หากคุณต้องการปรับแต่งรูปลักษณ์ของภาพ เพียงแค่ปรับแต่งสคริปต์ ไฟล์เหล่านี้ตามค่าเริ่มต้นจะถูกสร้างขึ้นใน $HOME/public_html
; คุณอาจต้องสร้างไดเร็กทอรีนี้เพื่อให้ไฟล์ปรากฏ
MetaPhase จะสร้างไฟล์ต่อไปนี้ใน <out_dir>/<scenario>
:
assembly.blastn_report
: ไฟล์ที่มนุษย์สามารถอ่านได้โดยสะดวกเพื่อสรุปการจัดตำแหน่ง BLAST ของชุดประกอบแบบร่างไปยังฐานข้อมูล nt
result.human_readable.txt
: ไฟล์ที่มนุษย์สามารถอ่านได้ซึ่งแสดงรายการแต่ละ contig ในแอสเซมบลี metagenome แบบร่าง และระบุวิธีการรวมกลุ่ม
cluster.*.fasta
และ unclustered.fasta
: ไฟล์ Fasta ที่มี contigs ในแต่ละคลัสเตอร์ สร้างเฉพาะเมื่อคุณรันด้วย --output_cluster_fastas
ไดเรกทอรีย่อย cached_data
: มีไฟล์แคชที่อธิบายการจัดตำแหน่ง BLAST เพื่ออ้างอิงจีโนม (MapToRefs.txt*) การจัดตำแหน่ง BLAST กับฐานข้อมูล nt (assembly. _blast); และผลการจัดกลุ่ม (clusters. ) ไฟล์เหล่านี้อาจไม่สามารถอ่านได้โดยมนุษย์โดยเฉพาะ
LACHESIS
ไดเรกทอรีย่อย: ว่างเปล่าเว้นแต่คุณจะเรียกใช้ Lachesis หลังจากเรียกใช้ MetaPhase (ดูหัวข้อถัดไป)
ดังที่แสดงให้เห็นในรายงาน MetaPhase เป็นไปได้ที่จะเรียกใช้ MetaPhase เพื่อสร้างคลัสเตอร์แยกสำหรับแต่ละสปีชีส์ จากนั้นเรียกใช้ LACHESIS เพื่อสร้างโครงนั่งร้านขนาดโครโมโซมของ contigs ในคลัสเตอร์นั้น ดังนั้นจึงสร้างแอสเซมบลีสปีชีส์เดี่ยวคุณภาพสูงจากศูนย์ แต่เป็นข้อมูลเมทาโนมิกิก อย่างไรก็ตาม มีข้อควรระวังหลายประการ:
สิ่งนี้น่าจะใช้ได้กับยูคาริโอตเท่านั้น เนื่องจากวิธีการของ LACHESIS ไม่สามารถใช้ได้กับจีโนมโปรคาริโอตจริงๆ
คุณจะต้องทราบหมายเลขโครโมโซมของสายพันธุ์ของคุณ เนื่องจาก LACHESIS ไม่สามารถทำนายจำนวนโครโมโซมได้อย่างแม่นยำเท่ากับที่ MetaPhase สามารถทำนายจำนวนสายพันธุ์ได้
คุณจะต้องจัดแนวการอ่าน Hi-C ของคุณใหม่ให้สอดคล้องกับเนื้อหาในกลุ่มที่คุณกำลังศึกษา
ในยีสต์สายพันธุ์ ระวังอย่ารวมกลุ่มที่มีเซนโทรเมียร์ทั้งหมดไว้ในโครโมโซมเดียว คุณจะต้องใช้ตัวเลือก CLUSTER_CONTIGS_WITH_CENS
ของ LACHESIS
ควรมีไฟล์ปฏิบัติการที่เรียกว่า MetaPhase
พิมพ์ MetaPhase
ที่บรรทัดคำสั่ง หากคุณได้รับข้อผิดพลาด เช่น "ไม่พบคำสั่ง" แสดงว่าคุณอาจไม่ได้อยู่ในไดเรกทอรี MetaPhase ที่ถูกต้อง หรือคุณยังรวบรวมไม่สำเร็จ หาก MetaPhase พร้อมที่จะรัน การพิมพ์ MetaPhase
จะทำให้เกิด PARSE ERROR
และ MetaPhase จะอธิบายให้คุณทราบถึงอาร์กิวเมนต์บรรทัดคำสั่งที่ต้องการ
หากคุณได้รับข้อผิดพลาดต่อไปนี้: MetaPhase: error while loading shared libraries: libboost_filesystem.so.1.47.0: cannot open shared object file: No such file or directory
กล่าว คุณจะต้องเพิ่มไดเร็กทอรีที่มี libboost_filesystem.so.1.47.0
ไปที่ ตัวแปรสภาพแวดล้อมของคุณ $LD_LIBRARY_PATH
พิมพ์คำสั่งนี้: LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<MetaPhase>/include/boost_1_47_0/stage/lib
หาก MetaPhase ขัดข้อง สิ่งแรกที่คุณควรทำคือดูผลลัพธ์อย่างระมัดระวัง อาจให้คำอธิบายโดยละเอียดเกี่ยวกับสิ่งที่ผิดพลาดและช่วยให้คุณมีความคิดที่ดีในการแก้ไข ปัญหาที่พบบ่อยที่สุดคือไฟล์อินพุตไฟล์หนึ่งไม่พบหรือมีข้อมูลที่ไร้สาระ
คุณอาจได้รับข้อความ "ข้อผิดพลาดในการยืนยัน" ซึ่งมีลักษณะดังนี้: Assertion ... failed.
นั่นหมายความว่าในบางขั้นตอนของอัลกอริธึม MetaPhase ได้พบบางสิ่งที่เจาะจงโดยไม่คาดคิด ข้อผิดพลาดในการยืนยันจะมาพร้อมกับการอ้างอิงถึงไฟล์ ( *.cc
หรือ *.h
) และหมายเลขบรรทัดที่เกิดข้อผิดพลาด ลองดูที่บรรทัดนั้นในไฟล์ ซึ่งควรมีฟังก์ชัน assert()
ควรมีความคิดเห็นบางส่วนเกี่ยวกับบรรทัดนั้นเพื่ออธิบายสิ่งที่อาจทำให้เกิดข้อผิดพลาดในการยืนยัน
โดยทั่วไป เราได้ใช้ความพยายามอย่างเต็มที่เพื่อทำให้ MetaPhase เป็นโค้ดที่ได้รับการออกแบบอย่างดีและมีความคิดเห็นที่ดี หากคุณคุ้นเคยกับ C++ คุณควรจะสามารถเข้าไปดูซอร์สโค้ดและทำความเข้าใจได้ว่าเกิดอะไรขึ้น เราขอแนะนำให้เริ่มต้นด้วยโมดูลระดับบนสุด MetaPhase.cc
และทำงานจากที่นั่น
หลังจากที่คุณได้ MetaPhase ทำงานอย่างถูกต้องแล้ว ให้พิจารณาผลลัพธ์ให้ดี โดยเฉพาะแผนภูมิรายงาน หากคุณได้รับผลลัพธ์แปลกๆ เช่น มีการประกอบลำดับน้อยมาก หรือลำดับส่วนใหญ่จัดกลุ่มเป็นคลัสเตอร์เดียว (ปัญหาทั่วไป) คุณอาจต้องปรับแต่งประสิทธิภาพของ MetaPhase ลองดูที่ส่วน D2 "อาร์กิวเมนต์บรรทัดคำสั่งเผื่อเลือก"
ชุดซอฟต์แวร์ MetaPhase รวมถึงซอฟต์แวร์และเอกสารทั้งหมดที่มีอยู่นั้นเป็นลิขสิทธิ์ © 2013-2014 โดย Josh Burton และ University of Washington สงวนลิขสิทธิ์
ซอฟต์แวร์นี้ได้รับการจัดหาให้ 'ตามสภาพ' โดยไม่มีการรับประกันหรือการรับประกันการสนับสนุนใดๆ มหาวิทยาลัย Washington จะไม่รับผิดชอบต่อการใช้งาน การใช้ในทางที่ผิด หรือฟังก์ชันการทำงาน ไม่ว่าในกรณีใด ผู้เขียนหรือผู้ถือลิขสิทธิ์จะไม่รับผิดชอบต่อการเรียกร้อง ความเสียหาย หรือความรับผิดอื่น ๆ ที่เกิดขึ้นจาก หรือเกี่ยวข้องกับซอฟต์แวร์นี้
ขอขอบคุณ Ivan Liachko ที่ทำให้โครงการ MetaPhase เป็นไปได้ และสำหรับการสร้างข้อมูล Hi-C ทั้งหมดที่ใช้โดยซอฟต์แวร์ MetaPhase
ขอขอบคุณ Maitreya Dunham และ Jay Shendure สำหรับความเป็นผู้นำ การจัดการ และแนวคิดต่างๆ
ขอขอบคุณ Kathryn Bushley, David Fredricks, Steve Salipante, Laura Sycuro และ Andrew Wiser ที่ช่วยฉันทดสอบและแก้ไขปัญหา MetaPhase อย่างอดทน
ขอขอบคุณ Aaron McKenna ที่ช่วยทำให้ MetaPhase พร้อมใช้งานผ่าน GitHub
(จาก Andrew) คุณกำลังมอบการติดตั้ง BOOST ใหม่แบบจำกัดแก่ผู้ใช้ ซึ่งอาจไม่ต้องการโต้ตอบกับระบบที่เหลือโดยการเพิ่ม LD_LIBRARY_PATH ข้อเสนอแนะของฉันคือแนะนำให้ผู้ใช้เพิ่มไดเร็กทอรี include/boost_1_47_0/stage/lib ให้กับ LD_LIBRARY_PATH หากเป็นไปได้ แต่ให้จัดเตรียมสคริปต์ wrapper ที่จะตั้งค่าตัวแปรสภาพแวดล้อมที่รันไทม์แทน โปรแกรม Python ที่ตรวจสอบว่าเส้นทางที่ถูกต้องอยู่ในผู้ใช้ LD_LIBRARY_PATH หรือไม่ หากไม่พบ ให้ตั้งค่า จากนั้นจึงรันโปรแกรมจะง่ายต่อการปรุงอาหารอย่างรวดเร็ว