MetaPhase: Alat perangkat lunak untuk dekonvolusi metagenomik dengan Hi-C.
Dibuat oleh Josh Burton ( jnburton at uw.edu
) di Departemen Ilmu Genom di Universitas Washington, Seattle, WA, AS
Publikasi di G3: Gen | Genom | Genetika (silakan kutip) ada di sini: http://dx.doi.org/10.1534/g3.114.011825
Apa itu MetaPhase, dan mengapa saya peduli?
Apa yang perlu saya miliki untuk menggunakan MetaPhase?
Persyaratan sistem
Mengunduh paket MetaPhase
Mengompilasi paket MetaPhase
Panduan: Cobalah MetaPhase pada contoh kumpulan data
Masukkan daftar file
Membuat rancangan perakitan metagenom
Menyelaraskan pembacaan Hi-C dengan rancangan perakitan metagenom
Memasok genom referensi
Membuat file TSV
Argumen baris perintah yang diperlukan
Argumen baris perintah opsional
Keluarkan argumen baris perintah (semua tombol opsional)
Grafik
Gambar
File di direktori keluaran
Menjalankan LACHESIS
MetaPhase tidak akan berjalan!
MetaPhase mogok!
MetaPhase menghasilkan hasil yang aneh!
MetaPhase adalah alat perangkat lunak untuk melakukan dekonvolusi metagenomik. Artinya, ia memasukkan kumpulan metagenom - kumpulan yang dibuat dari sampel genom campuran, biasanya dari banyak spesies mikroba berbeda - dan ia menentukan komponen mana dalam kumpulan itu yang termasuk dalam genom yang sama. Kumpulan metagenom tidak berisi genom lengkap dari satu spesies mana pun dalam sampel campuran, tetapi kumpulan yang didekonvolusi dapat berisi genom yang hampir lengkap dari banyak spesies individu. MetaPhase bergantung pada data yang dihasilkan oleh Hi-C, teknik molekuler yang mapan untuk mempelajari konformasi kromatin (kertas).
Anda ingin menggunakan MetaPhase jika Anda mempelajari komunitas mikroba dan ingin mengetahui genom masing-masing spesies mikroba. MetaPhase bekerja dengan baik pada komunitas yang cukup kompleks, dan dapat mempelajari eukariota dan prokariota dengan baik. MetaPhase tidak dapat mendekonvolusi strain yang berkerabat dekat dari spesies yang sama; itu akan menempatkan semua strain ini ke dalam satu cluster. MetaPhase belum diuji pada komunitas dengan ribuan spesies, seperti mikrobioma usus manusia, dan juga tidak dapat mendeteksi spesies dengan kelimpahan jauh di bawah 1%. (Perhatikan bahwa batasan di sini adalah ketidakmampuan perangkat lunak perakitan metagenome de novo standar untuk menghasilkan rancangan perakitan metagenom yang berisi contigs dari spesies langka, daripada kemampuan MetaPhase untuk mendekonvolusi contigs ini.)
Anda tidak ingin menggunakan MetaPhase jika Anda mempelajari variasi strain dalam satu spesies. Atau jika Anda sedang mempelajari penataan ulang genom pada genom kanker manusia. Anda juga tidak ingin menggunakan MetaPhase kecuali Anda memiliki kumpulan data metagenomik Hi-C atau ingin membuatnya; Hi-C bukanlah teknik yang mudah dipelajari. Dekonvolusi metagenomik murni komputasi (bukan molekuler) sulit dilakukan, tetapi bukan tidak mungkin: lihat makalah yang dikutip dalam pengantar makalah MetaPhase.
Pada level tinggi, Anda hanya memerlukan dua hal untuk menjalankan MetaPhase:
Draf perakitan metagenom de novo . Ini dapat dibuat dari perpustakaan pengurutan metagenome shotgun dengan sejumlah alat perakitan, seperti Velvet, IDBA-UD, ABySS, atau SPAdes.
Pustaka pengurutan Hi-C yang dibuat dari sampel metagenom - sebaiknya sampel yang sama yang digunakan untuk membuat rakitan metagenom de novo , atau yang sangat mirip.
Pada tingkat rendah, MetaPhase memerlukan beberapa file masukan yang berbeda, serta beberapa masukan opsional. Untuk rincian lebih lanjut tentang file masukan, lihat bagian C1, "Daftar file masukan".
Untuk mengatur dan menjalankan MetaPhase, Anda memerlukan komputer yang berjalan di lingkungan UNIX dengan memori minimal 16 GB, dengan perangkat lunak berikut diinstal:
gcc, kompiler C++ (http://gcc.gnu.org/)
Pustaka kompresi zlib (http://www.zlib.net/)
Anda mungkin juga memerlukan perangkat lunak berikut:
Aligner baca pendek BWA (http://bio-bwa.sourceforge.net/) atau aligner serupa lainnya
Aligner BLAST dalam bentuk baris perintah (http://www.ncbi.nlm.nih.gov/books/NBK1763/), termasuk perintah blastn
, tblastx
, dan makeblastdb
Perangkat lunak bmtagger untuk menghapus bacaan manusia dari kumpulan data metagenomics (http://biowulf.nih.gov/apps/bmtagger.html)
MetaPhase juga memerlukan pustaka C++ boost (http://www.boost.org/) dan toolkit SAMtools (http://samtools.sourceforge.net/), tetapi ini disertakan dengan paket instalasi MetaPhase.
Unduh paket MetaPhase dari https://github.com/shendurelab/MetaPhase/archive/master.zip ke sistem file UNIX. Jika Anda mengunduh tarball ( MetaPhase.tar.gz
), ekstrak tarball tersebut menggunakan perintah UNIX berikut:
tar xzvf MetaPhase.tar.gz
cd MetaPhase/
Mulai sekarang, saya merujuk ke direktori utama MetaPhase sebagai <MetaPhase>
.
Untuk mengkompilasi MetaPhase, cukup ketik make
di direktori <MetaPhase>
. Untuk menjalankan MetaPhase, Anda mungkin juga perlu menambahkan <MetaPhase>/include/boost_1_47_0/stage/lib
ke $LD_LIBRARY_PATH
Anda (untuk menghindari masalah: cannot open shared object file...
.) Terakhir, pastikan untuk menjalankannya MetaPhase dari direktori <MetaPhase>
atau tambahkan direktori itu ke $PATH
Anda. Hal ini penting karena beberapa modul MetaPhase perlu mengakses skrip yang dapat dieksekusi FastaSize
, CountMotifsInFasta.pl
, Fig2a.R
, dan MakeClusteringResultHeatmap.R
, yang disertakan dalam paket MetaPhase.
Paket MetaPhase menyertakan test case kecil yang dapat Anda jalankan untuk merasakan cara kerja MetaPhase. Itu terdapat dalam direktori test_case
, yang memiliki subdirektori berikut:
<MetaPhase>/test_case/assembly/
: Berisi rancangan perakitan metagenome de novo , assembly.fasta
. Kumpulan ini terdiri dari 20 contig yang diambil dari kumpulan sampel vaginosis bakterial yang jauh lebih besar. Ini berfungsi di sini sebagai contoh mainan dari perakitan metagenom.
<MetaPhase>/test_case/HiC/
: Berisi 2 file fastq, BV.H3.head.bmt.1.fq dan BV.H3.head.bmt.2.fq. Pembacaan ini adalah bagian dari kumpulan data Hi-C yang jauh lebih besar yang diurutkan dari sampel bakterial vaginosis. Mereka telah disaring dengan bmtagger untuk menghapus bacaan manusia.
<MetaPhase>/test_case/refs/
: Berisi satu genom referensi yang tersedia untuk umum, LI.fasta
, untuk bakteri Lactobacillus iners . Ini adalah masukan opsional yang akan digunakan MetaPhase untuk melihat apakah clusternya cocok dengan genom L. iners .
<MetaPhase>/test_case/tsvs/
: Berisi dua file TSV yang menjelaskan lokasi file input lain dan digunakan oleh MetaPhase.
<MetaPhase>/test_case/out/
: Direktori ini awalnya tidak ada. Ketika MetaPhase dijalankan pada test case, ia akan membuat direktori ini dan meletakkan hasilnya di sini.
Satu-satunya masukan (opsional) yang hilang dari test_case adalah database urutan nukleotida BLAST. Basis data ini, yang memungkinkan Anda untuk menanyakan konfigurasi rakitan metagenom terhadap semua urutan yang diketahui, terlalu besar untuk paket pengujian tetapi dapat diunduh dari situs web BLAST. Untuk menggunakan database ini, Anda perlu menyetel argumen baris perintah --blast_dir
.
Untuk menerapkan MetaPhase ke test_case, jalankan perintah berikut:
Siapkan rancangan perakitan metagenom de novo untuk diselaraskan dengan bwa. Perhatikan bahwa bwa
harus ada di $PATH
Anda. cd <MetaPhase>/test_case/assembly
../../FastaSize assembly.fasta
bwa index -a bwtsw assembly.fasta
Sejajarkan pembacaan Hi-C dengan rancangan majelis. Ini menggunakan align.sh
, skrip yang sudah disediakan, yang menjalankan bwa aln
dan bwa sampe
, dan membuat file BAM yang akan digunakan MetaPhase. Perhatikan bahwa Anda harus menggunakan bwa aln
dan bwa sampe
, bukan bwa mem
. cd <MetaPhase>/test_case/HiC
align.sh
Periksa file TSV untuk memastikan Anda memahami apa yang dilakukannya. cd <MetaPhase>/tsvs
cat test_case.refs.tsv
cat test_case.HiC_libs.tsv
Sekarang, jalankan kasus uji MetaPhase dengan serangkaian argumen baris perintah dasar. Tujuan dari semua argumen baris perintah ini dijelaskan di bawah di bagian D, "Menjalankan 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
Hal pertama yang akan dilakukan MetaPhase adalah menyelaraskan rangkaian rancangan perakitan dengan genom referensi LI.fasta. Ini mungkin memakan waktu beberapa menit, tetapi hanya menunggu satu kali saja: hasilnya akan disimpan dalam cache dalam file khusus. Selanjutnya, MetaPhase akan mengelompokkan 20 contig dalam rancangan perakitan dengan hubungan Hi-C mereka, menciptakan 3 cluster (karena -N 3
.) Terakhir, MetaPhase akan melaporkan statistik dasar tentang cluster yang telah dibuat.
Sekarang coba jalankan MetaPhase lagi, tambahkan satu atau lebih argumen baris perintah berikut: --report_unclustered
, --output_cluster_fastas
, --output_heatmaps
, output_network_image
. Masing-masing pilihan ini akan menghasilkan lebih banyak informasi yang ditampilkan dalam berbagai bentuk: baik ke layar, atau ke file, atau ke gambar. Lihat bagian D2, "Argumen baris perintah opsional" untuk informasi selengkapnya.
Sekarang lihat test_case/out/test_case
. Ini adalah direktori keluaran yang dibuat oleh proses MetaPhase Anda. Ini berisi beberapa file keluaran. File cluster.*.fasta
adalah fastas cluster Anda (hanya ada jika Anda menjalankannya dengan --output_cluster_fastas
.) Subdirektori cached_data
berisi file data cache , yang mencakup hasil proses BLAST dan pengelompokan MetaPhase.
Perhatikan bahwa test_case adalah kumpulan data yang sangat kecil dan hasilnya tidak berguna atau tipikal secara biologis. Misalnya saja, terdapat sangat sedikit pasangan baca Hi-C sehingga 10 dari 20 contig benar-benar tidak tertaut, dan contig yang tertaut berada dalam tiga klaster terpisah (sehingga tidak mungkin menghasilkan kurang dari 3 klaster.) Hal ini menghalangi kami untuk mengilustrasikan hal lain yang berguna fitur MetaPhase yaitu kita dapat menggunakannya untuk memprediksi jumlah cluster. Pada sampel Anda (meskipun, sayangnya, tidak pada test_case) Anda dapat menjalankan MetaPhase dengan -N 1
dan itu akan menghasilkan kurva pengayaan E(N) , seperti yang ada pada Gambar S4 pada makalah MetaPhase. Ini akan memungkinkan Anda menentukan jumlah kasar spesies dalam kumpulan metagenom Anda, dan dengan demikian jumlah cluster yang optimal.
MetaPhase menggunakan file input berikut secara langsung. Untuk ilustrasi tampilan semua file ini, lihat test_case.
File yang diperlukan:
Rancangan perakitan metagenom, dalam format fasta
Satu atau lebih file SAM/BAM yang menjelaskan penyelarasan Hi-C dibaca ke rancangan rakitan metagenom. Perhatikan bahwa file SAM/BAM ini harus memiliki setiap pembacaan yang dicantumkan hanya satu kali, yang berarti file tersebut harus dibuat dengan bwa aln dan bwa sampe, BUKAN bwa mem.
Dua file TSV, <scenario>.HiC_libs.tsv
dan <scenario>.refs.tsv
, yang masing-masing menjelaskan kumpulan file masukan BAM dan kumpulan genom referensi. File opsional:
Basis data BLAST yang menjelaskan semua rangkaian nukleotida ( nt
) dan/atau protein ( nr
) yang diketahui. Versi terbaru dari database ini dapat diunduh dari situs web BLAST, yang juga berisi instruksi tentang cara menginstal utilitas baris perintah blastn
dan tblastx
yang Anda perlukan. Perhatikan bahwa database ini berukuran besar (mulai tahun 2015, nt
berukuran ~25 Gb dan nr
berukuran ~50 Gb.)
Sekumpulan genom referensi dalam format fasta, yang mendeskripsikan spesies yang Anda yakini ada dalam sampel Anda, atau terkait dengan hal-hal dalam sampel Anda. Jika Anda tidak mengetahui semua yang ada dalam sampel Anda (dan mungkin juga tidak mengetahuinya) maka Anda dapat menunggu hingga Anda telah menyelaraskan rakitan metagenom Anda dengan pencarian BLAST dan kemudian mengambil saran dari hasil pencarian tersebut. Untuk menemukan kumpulan genom referensi suatu spesies, cari di database Majelis NCBI.
File SAM/BAM yang menjelaskan penyelarasan senapan dibacakan ke rancangan perakitan metagenom. Bacaan senapan adalah bacaan yang sama yang digunakan untuk membuat rakitan. MetaPhase dapat menggunakan file ini untuk memperkirakan kelimpahan sampel Anda di setiap contig, dan juga di setiap cluster. Saat ini tidak tersedia tanpa sedikit meretas MetaPhase.cc (maaf.)
Salah satu masukan terpenting untuk MetaPhase adalah rancangan perakitan metagenom de novo . Anda harus membuat rakitan ini sendiri menggunakan bacaan senapan dari sampel Anda. Ada banyak alat perakitan metagenome de novo yang tersedia untuk umum dan bekerja cukup baik, termasuk Velvet, IDBA-UD, ABySS, dan SPAdes. Saya menggunakan IDBA-UD saat mengembangkan MetaPhase.
Penting untuk disadari bahwa MetaPhase tidak menghasilkan urutan baru; itu hanya urutan cluster yang sudah ada di Majelis. Jika beberapa urutan dari sampel Anda tidak berhasil masuk ke dalam rancangan perakitan - karena terlalu jarang, terlalu tidak seimbang GC, terlalu berulang, atau karena alasan lain - maka MetaPhase tidak mungkin mengelompokkannya ke dalam genom. Mungkin ada baiknya mencoba banyak opsi berbeda di perakit metagenom Anda, atau banyak alat perakitan metagenom yang berbeda, untuk mendapatkan rakitan dengan jumlah urutan terbanyak dan konfigurasi terpanjang N50.
MetaPhase berkinerja jauh lebih baik ketika konfigurasi inputnya lebih panjang, karena ada sinyal hubungan Hi-C yang lebih jelas untuk digunakan. Secara khusus, MetaPhase tidak dapat mengelompokkan contig yang tidak mengandung situs enzim restriksi apa pun , karena pembacaan Hi-C tidak dapat diselaraskan dengan andal. Ingatlah fakta ini saat memilih enzim restriksi yang akan digunakan untuk eksperimen Hi-C Anda. Jika rakitan metagenom Anda memiliki N50 yang kecil, Anda mungkin ingin menggunakan enzim restriksi 4 pemotong, bukan enzim 6 pemotong. (Misalnya, jika rakitan metagenom Anda memiliki N50 hanya 4 Kb, maka pustaka Hi-C yang dibuat dengan 6 pemotong - yang memotong kira-kira setiap 4 Kb - tidak akan mampu mengelompokkan 50% urutan rakitan.)
Selain rakitan metagenom itu sendiri, MetaPhase memasukkan penyelarasan pembacaan Hi-C ke rakitan metagenom. File ini harus dalam format SAM atau BAM, dan harus berisi setiap Hi-C yang hanya dibaca satu kali. Anda dapat menggunakan pelurus apa pun yang menghasilkan file SAM/BAM; Saya menggunakan bwa saat mengembangkan MetaPhas; jika Anda menggunakan bwa, pastikan untuk menggunakan bwa aln dan bwa sampe, bukan bwa mem, yang menghasilkan setiap pembacaan beberapa kali!)
Pembacaan Hi-C unik: mereka sengaja dibuat chimeric, dengan situs ligasi chimeric yang urutannya diketahui dari enzim restriksi (misalnya, HindIII memotong AAGCTT dan menghasilkan AAGCTAGCTT setelah re-ligasi.) Oleh karena itu, pendekatan penyelarasan langsung akan lewatkan banyak pasangan Hi-C yang berguna. Anda mungkin ingin merancang jalur penyelarasan khusus untuk memaksimalkan hasil Anda; jika demikian, lihat skrip align.iter.interactive.sh
, yang saya gunakan dalam pengembangan saya sendiri dan mungkin memberi Anda ide untuk saluran kustom Anda.
Menyediakan genom referensi ke MetaPhase sepenuhnya opsional, tetapi sangat berguna. MetaPhase dapat menyelaraskan rangkaian rancangan majelis untuk mendapatkan petunjuk tentang spesies apa yang mungkin mereka berasal. Ada dua cara untuk melakukan hal ini: menyelaraskan ke database BLAST yang berisi semua urutan yang diketahui; dan menyelaraskan ke file fasta lokal yang berisi rakitan genom referensi tunggal. Metode sebelumnya berguna untuk mengeksplorasi pertanyaan tentang taksa apa saja yang ada dalam sampel Anda; metode terakhir berguna untuk memusatkan perhatian pada spesies individu yang Anda tahu ada dalam sampel Anda (atau terkait dengan hal-hal dalam sampel Anda) dan untuk membuat peta panas dan gambar jaringan cluster (lihat bagian E2, "Gambar"). Anda dapat memulai dengan penyelarasan BLAST saja, lalu gunakan hasil dari sana untuk menentukan spesies apa yang mungkin Anda temui, lalu unduh referensi tersebut dan masukkan ke dalam MetaPhase. Daftar kumpulan genom referensi dipasok ke MetaPhase dalam file <scenario>.refs.tsv
.
MetaPhase akan melakukan semua penyelarasan ke database BLAST dan genom referensi. MetaPhase dapat memanggil perintah BLAST blastn
, tblastx
, dan makeblastdb
, yang semuanya merupakan bagian dari paket kode baris perintah BLAST; pastikan perintah ini ada di $PATH
Anda. Perhatikan bahwa BLAST dapat menggunakan banyak runtime, terutama jika Anda menyetel --use-tblastx
. Namun, MetaPhase menyimpan hasil eksekusi BLAST di <out_dir>/cached_data
untuk menghemat runtime nanti.
MetaPhase memerlukan dua file input TSV (nilai yang dipisahkan tab): satu untuk memberikan kumpulan file penyelarasan SAM/BAM, dan satu lagi untuk memberikan kumpulan kumpulan genom referensi. File-file ini berukuran kecil, dan Anda pasti ingin membuatnya dengan tangan, terutama karena file tersebut mungkin memerlukan modifikasi manual nantinya. Hal termudah untuk dilakukan adalah mengikuti contoh file TSV di test_case/tsvs
.
Untuk mendapatkan ringkasan singkat dari semua argumen baris perintah MetaPhase, jalankan MetaPhase -help
. Penjelasan lebih detail ada di sini.
-s
<string>
: Nama skenario. Ini digunakan oleh MetaPhase untuk memberi nama proses Anda. Ini digunakan sebagai awal nama file tsv (lihat -i
di bawah) dan juga sebagai nama direktori keluaran (lihat -o
di bawah). Terakhir, Anda dapat mengabaikan ini, tetapi ada beberapa nama skenario yang memiliki opsi baris perintah terprogram yang saya gunakan dalam pengembangan (inilah, misalnya, mengapa -a
tidak terdaftar sebagai argumen "wajib" di MetaPhase -help
perintah MetaPhase -help
.)
-a
<string>
: Lokasi file fasta perakitan metagenome draf de novo . Ini harus berupa jalur absolut, bukan jalur relatif - yaitu , harus dimulai dengan /
.
-N
<integer>
: Jumlah cluster yang akan dibuat. Jika Anda menyetel ke 1, MetaPhase akan mengelompokkan semuanya ke dalam satu kluster dan akan menghitung E(N), pengayaan tautan intra-kluster, di sepanjang prosesnya, lalu menulis file enrichment_curve.jpg
yang dapat memberi Anda perkiraan jumlah spesies dalam sampel Anda. Jangan setel ke 0 atau ke angka yang lebih besar dari jumlah contigs.
Beberapa argumen ini menyertakan $HOME
dalam nilai defaultnya. Ini mengacu pada direktori home UNIX Anda (tempat Anda pergi saat mengetik cd ~
atau cd $HOME
.)
-i
<string>
: Direktori masukan. Ini adalah direktori yang berisi file tsv, <scenario>.HiC_libs.tsv
dan <scenario>.refs.tsv
. Bawaan: ./input
.
-o
<string>
: Direktori akar keluaran. File keluaran dari proses ini akan masuk <out_dir>/<scenario>
. Bawaan: $HOME/MP/out
.
--blast_dir
<string>
: Direktori yang berisi database BLAST ( nt.*
dan nr.*
) yang digunakan MetaPhase untuk penyelarasan. Anda dapat mengunduh file-file ini dari situs web BLAST. Bawaan: $HOME/extern/blast
.
--refs_dir
<string>
: Direktori yang berisi kumpulan genom referensi yang tercantum dalam file refs.tsv
. File keluaran dari proses ini akan masuk <out_dir>/<scenario>
. Bawaan: $HOME/MP/refs
.
--use_tblastx
: Beralih. Jika disetel, MetaPhase akan melakukan penyelarasan BLAST menggunakan tblastx
alih-alih blastn
- yang, alih-alih menyelaraskan urutan nukleotida contig dengan database nukleotida, malah menerjemahkan nukleotida menjadi asam amino dan menyelaraskannya ke database protein. Karena rangkaian protein lebih kekal dibandingkan rangkaian nukleotida, tblastx
mengambil hubungan filogenetik yang lebih jauh - yaitu , pada tingkat famili atau genus, bukan pada spesies - yang mungkin Anda inginkan atau tidak. tblastx
juga jauh lebih lambat dari blastn
.
--force_blast_realign
: Beralih. Jika disetel, MetaPhase akan mengabaikan dan menimpa file cache apa pun yang menjelaskan penyelarasan BLAST.
-b
: Beralih. Terapkan bootstrapping statistik ke matriks tautan. Dengan kata lain, setelah matriks tautan Hi-C dibuat (dan sebelum dinormalisasi), sampel ulang matriks dengan penggantian, buat matriks baru dengan jumlah total tautan yang sama tetapi variasi acak dalam penempatan tautan yang tepat. Jika Anda ingin menguji ketahanan hasil pengelompokan Anda, jalankan MetaPhase dengan -b
beberapa kali dan bandingkan hasilnya, yang seharusnya berbeda secara stokastik.
--isolated_component_size <integer>
: Setelah membuat grafik konektivitas contig dari matriks tautan, buang komponen mana pun dalam grafik yang memiliki jumlah contig kurang dari ini. Di sebagian besar kumpulan data, komponen-komponen tersebut terdiri dari kebisingan yang tidak dapat ditempatkan secara pasti pada spesies mana pun, dan karena komponen-komponen ini tidak pernah dapat digabungkan dengan komponen lain, komponen-komponen tersebut mungkin menghilangkan jumlah cluster yang terlihat. Namun, jika data link Hi-C Anda sedikit, Anda mungkin perlu menguranginya untuk menghindari membuang cluster yang sebenarnya. Bawaan: 100
.
--jarvis_patrick_K <integer>
: Nilai K yang digunakan pada langkah pra-clustering Jarvis-Patrick. Nilai yang lebih tinggi akan meningkatkan waktu proses tetapi dapat meningkatkan akurasi. Untuk memahami angka ini secara mendetail, buka Jarvis dan Patrick, "Pengelompokan Menggunakan Ukuran Kesamaan Berdasarkan Tetangga Dekat Bersama", 1973. Default: 100
.
--min_cluster_norm <integer>
: Norma minimum dari sebuah cluster yang diijinkan. "Norma" suatu contig adalah jumlah situs enzim restriksi (RE) yang dikandungnya, dan norma suatu cluster adalah jumlah dari norma-norma contignya. Parameter ini dapat berdampak besar pada keluaran: meningkatkan min_cluster_norm
akan meningkatkan ukuran minimum yang mungkin dari sebuah cluster, berpotensi menghancurkan cluster yang mewakili spesies kecil; tetapi hal ini juga mencegah pembentukan mini-cluster kecil yang mengganggu yang hanya berisi sejumlah kecil contig (2-3) yang sering kali diakibatkan oleh noise pada data dan/atau dari contig yang berulang. Jika Anda mendapatkan satu klaster besar dengan sebagian besar konfigurasinya dan semua klaster lainnya berukuran kecil, Anda perlu meningkatkannya. Perlu diingat bahwa norma sebuah cluster kira-kira sama dengan panjangnya dalam bp dibagi dengan frekuensi situs RE, sehingga jumlah optimal mungkin berbeda untuk jenis RE yang berbeda. Bawaan: 25
.
-merge
: Beralih. Terapkan beberapa algoritma pengelompokan eksperimental untuk menggabungkan beberapa pengelompokan independen yang timbul dari perpustakaan Hi-C yang berbeda. Tidak direkomendasikan.
--load_cached_clusters
: Beralih. Jika disetel, alih-alih melakukan pengelompokan, MetaPhase akan mencari file cache di <out_dir>/<scenario>.cached_data
yang berisi hasil pengelompokan yang dihitung sebelumnya. File ini akan ada jika MetaPhase sebelumnya telah dijalankan pada skenario ini dengan nilai -N
yang sama seperti sekarang dan tanpa flag --dont_output_cache
. Ini adalah cara menghemat waktu jika Anda ingin menganalisis hasil clustering tanpa menjalankan kembali clustering.
--dont_output_cache
: Beralih. Jangan membuat (atau menimpa) file cache cluster yang nantinya dapat dimuat dengan --load_cached_clusters
. Opsi ini diganti oleh --load_cached_clusters
.
--report_unclustered
: Beralih. Jika disetel, MetaPhase menghasilkan laporan akhir tentang konfigurasi yang tidak dikelompokkan: spesies apa yang selaras dengannya, berapa banyak yang tidak dikelompokkan karena seluruhnya tidak terhubung, dll.
--output_cluster_fastas
: Beralih. Jika disetel, tulis file cluster.*.fasta
dan unclustered.fasta
di <out_dir>/<scenario>/
. Ini adalah file fasta yang menunjukkan bagaimana MetaPhase mengelompokkan konfigurasinya.
--output_network_image
: Beralih. Jika disetel, jalankan skrip Fig2a.R
dan buat gambar jaringan cluster seperti yang muncul pada Gambar 2A makalah MetaPhase.
--output_heatmaps
: Beralih. Jika disetel, jalankan skrip MakeClusteringResultHeatmap.R
dan buat gambar peta panas seperti yang muncul pada Gambar 2B dan Gambar S5 pada makalah MetaPhase.
--reorder_clusters_by_refs
: Beralih. Jika disetel, susun ulang cluster untuk memaksimalkan sinyal pada diagonal peta panas yang dibuat dengan --output_heatmaps
. Perhatikan bahwa ini akan bergantung pada genom referensi mana yang ada di file refs.tsv
Anda dan urutan kemunculannya di file. Jika Anda ingin memiliki nomor cluster yang konsisten, jangan setel ini.
Output paling dasar dari MetaPhase adalah ke layar. MetaPhase akan memberikan laporan panjang lebar tentang kemajuannya saat melakukan pra-pemrosesan, penyelarasan BLAST, pengelompokan, dan analisis pasca-pengelompokan. Dengan asumsi itu tidak crash, MetaPhase menghasilkan grafik bagus yang berguna tentang hasil pengelompokannya. Kolom dalam bagan ini adalah:
Nomor klaster
Jumlah contigs di cluster ini
Total panjang semua contigs di cluster ini
Kelimpahan: perkiraan kelimpahan DNA (bukan kelimpahan spesies) pada cluster ini. Didefinisikan sebagai persentase pembacaan shotgun yang selaras dengan contigs di cluster ini. Membutuhkan file SAM/BAM yang berlimpah, yang saat ini memerlukan peretasan.
Referensi pluralitas: kumpulan genom referensi (di antara yang tercantum dalam file refs.tsv
) yang menjadi tempat penyelarasan sejumlah urutan
%eukariotik, %rDNA, %tRNA, %mtDNA: Prediksi anotasi konten urutan dalam cluster ini. Berdasarkan penyelarasan BLAST ke database BLAST.
Taksonomi pluralitas: Penempatan taksonomi paling umum dari konten urutan dalam cluster ini. Berdasarkan penyelarasan BLAST ke database BLAST.
Jika Anda menyetel --report_unclustered
, MetaPhase juga akan membuat bagan yang jauh lebih kecil dan sederhana yang menjelaskan konfigurasi yang tidak dikelompokkan.
Anda dapat membuat gambar cantik seperti pada Gambar 2A dan 2B pada makalah MetaPhase. Untuk membuat citra jaringan atau peta panas, setel --output_network_image
atau --output_heatmap
. File-file tersebut masing-masing dibuat oleh skrip Fig2a.R
dan MakeClusteringResultHeatmap.R
. Ini adalah skrip R yang cukup mudah menggunakan ggplot2; jika ingin mengubah tampilan gambar, sesuaikan saja skripnya. File-file ini, secara default, dibuat di $HOME/public_html
; Anda mungkin perlu membuat direktori ini agar file dapat muncul.
MetaPhase akan membuat file berikut di <out_dir>/<scenario>
:
assembly.blastn_report
: File yang dapat dibaca manusia dengan mudah merangkum penyelarasan BLAST dari rancangan perakitan ke database nt.
result.human_readable.txt
: File yang dapat dibaca manusia yang mencantumkan setiap konfigurasi dalam draf rakitan metagenom dan menunjukkan cara pengelompokannya.
cluster.*.fasta
dan unclustered.fasta
: File Fasta yang berisi contigs di setiap cluster. Dibuat hanya jika Anda menjalankan dengan --output_cluster_fastas
.
Subdirektori cached_data
: Berisi file cache yang menjelaskan penyelarasan BLAST dengan genom referensi (MapToRefs.txt*); Penyelarasan BLAST ke database nt ( assembly._blast); dan hasil pengelompokan (cluster. ). File-file ini mungkin tidak dapat dibaca manusia.
Subdirektori LACHESIS
: Kosong kecuali Anda menjalankan Lachesis setelah menjalankan MetaPhase (lihat bagian selanjutnya).
Seperti yang ditunjukkan dalam makalah MetaPhase, MetaPhase dapat dijalankan untuk membuat cluster terpisah untuk setiap spesies, kemudian menjalankan LACHESIS untuk membuat perancah skala kromosom dari contigs dalam cluster tersebut, sehingga menghasilkan perakitan spesies tunggal berkualitas tinggi dari nol. tapi data metagenomik. Namun, ada beberapa peringatan yang berlaku:
Ini mungkin hanya berhasil pada eukariota, karena metode LACHESIS tidak berlaku pada genom prokariotik.
Anda harus mengetahui nomor kromosom spesies Anda, karena LACHESIS tidak dapat memprediksi jumlah kromosom setepat MetaPhase dapat memprediksi nomor spesies.
Anda harus menyelaraskan kembali pembacaan Hi-C Anda dengan konfigurasi di cluster yang Anda pelajari.
Pada spesies ragi, berhati-hatilah untuk tidak mengelompokkan semua komponen yang mengandung sentromer ke dalam satu kromosom. Anda harus menggunakan opsi CLUSTER_CONTIGS_WITH_CENS
LACHESIS.
Seharusnya ada file yang dapat dieksekusi bernama MetaPhase
. Ketik MetaPhase
di baris perintah. Jika Anda mendapatkan kesalahan seperti "perintah tidak ditemukan", berarti Anda tidak berada di direktori MetaPhase yang benar, atau Anda belum berhasil menyelesaikan kompilasi. Jika MetaPhase siap dijalankan, mengetik MetaPhase
akan menghasilkan PARSE ERROR
dan MetaPhase akan menjelaskan kepada Anda argumen baris perintah yang diperlukan.
Jika Anda mendapatkan kesalahan berikut: MetaPhase: error while loading shared libraries: libboost_filesystem.so.1.47.0: cannot open shared object file: No such file or directory
maka Anda perlu menambahkan direktori yang berisi libboost_filesystem.so.1.47.0
ke variabel lingkungan Anda $LD_LIBRARY_PATH
. Ketik perintah ini: LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<MetaPhase>/include/boost_1_47_0/stage/lib
Jika MetaPhase crash, hal pertama yang harus Anda lakukan adalah memperhatikan outputnya dengan cermat. Ini mungkin memberikan penjelasan panjang lebar tentang apa yang salah dan memberi Anda ide bagus tentang cara memperbaikinya. Masalah paling umum adalah salah satu file masukan tidak dapat ditemukan atau berisi data yang tidak masuk akal.
Anda mungkin juga menerima "kesalahan pernyataan", yang terlihat seperti ini: Assertion ... failed.
Artinya, pada tahap tertentu dalam algoritme, MetaPhase menemui sesuatu yang spesifik yang tidak diharapkannya. Kesalahan pernyataan akan muncul dengan referensi ke file ( *.cc
atau *.h
) dan nomor baris tempat kesalahan terjadi. Coba lihat baris di file tersebut, yang seharusnya berisi fungsi assert()
. Seharusnya ada beberapa komentar di sekitar baris itu yang menjelaskan apa yang mungkin menyebabkan kesalahan pernyataan.
Secara umum, kami telah berupaya keras untuk menjadikan MetaPhase sebagai bagian kode yang dirancang dengan baik dan mendapat komentar yang baik. Jika Anda familiar dengan C++, Anda seharusnya bisa melihat-lihat kode sumbernya dan mendapatkan gambaran tentang apa yang terjadi. Kami merekomendasikan memulai dengan modul tingkat atas, MetaPhase.cc
, dan bekerja dari sana.
Setelah MetaPhase Anda berjalan dengan baik, perhatikan baik-baik keluarannya, terutama bagan laporannya. Jika Anda mendapatkan hasil yang aneh - misalnya, sangat sedikit rangkaian yang dirakit, atau sebagian besar rangkaian dikelompokkan menjadi satu cluster (masalah umum) - Anda mungkin perlu menyesuaikan performa MetaPhase. Perhatikan baik-baik bagian D2, "Argumen baris perintah opsional".
Paket perangkat lunak MetaPhase dan semua perangkat lunak serta dokumentasi yang terkandung di dalamnya adalah hak cipta © 2013-2014 oleh Josh Burton dan University of Washington. Semua hak dilindungi undang-undang.
Perangkat lunak ini disediakan 'sebagaimana adanya' tanpa jaminan atau jaminan dukungan apa pun. University of Washington tidak bertanggung jawab atas penggunaan, penyalahgunaan, atau fungsinya. Dalam keadaan apa pun penulis atau pemegang hak cipta tidak bertanggung jawab atas segala klaim, kerusakan, atau tanggung jawab lain yang timbul dari, di luar, atau sehubungan dengan perangkat lunak ini.
Terima kasih kepada Ivan Liachko yang telah memungkinkan proyek MetaPhase dan menghasilkan semua data Hi-C yang digunakan oleh perangkat lunak MetaPhase.
Terima kasih kepada Maitreya Dunham dan Jay Shendure atas kepemimpinan, manajemen, dan idenya.
Terima kasih kepada Kathryn Bushley, David Fredricks, Steve Salipante, Laura Sycuro, dan Andrew Wiser karena telah dengan sabar membantu saya menguji dan memecahkan masalah MetaPhase.
Terima kasih kepada Aaron McKenna yang membantu membuat MetaPhase tersedia melalui GitHub.
(dari Andrew) Anda memberi pengguna pemasangan BOOST baru dan terbatas sehingga mereka mungkin tidak ingin berinteraksi dengan seluruh sistem mereka dengan menambahkan ke LD_LIBRARY_PATH mereka. Saran saya adalah merekomendasikan pengguna untuk menambahkan direktori include/boost_1_47_0/stage/lib ke LD_LIBRARY_PATH mereka jika memungkinkan, tetapi juga menyediakan skrip pembungkus yang akan mengatur variabel lingkungan saat runtime. Sebuah program Python yang memeriksa apakah jalur yang benar ada pada pengguna LD_LIBRARY_PATH, mengaturnya jika tidak ditemukan, dan kemudian menjalankan program tersebut akan sangat mudah untuk dimasak dengan cepat.