MTSV Tools هي مجموعة من الأدوات الأساسية للتصنيف التصنيفي لقراءات التسلسل metagenomic. يقوم MTSV بإجراء محاذاة كاملة باستخدام مرشح Q-Gram بمساعدة مؤشر FM تليها محاذاة Simd Smith-Waterman.
CENTA تثبيت MTSV -TOOLS -C BIOCONDA
MTSV بنيت في الصدأ. ستحتاج:
rustc
و cargo
> = 1.29.0 (Rustup.rs هي أسهل طريقة تثبيت)لتشغيل الاختبارات:
$ cargo test
لإنشاء تقرير تغطية رمز ، تأكد من تثبيت KCOV> = 26 على PATH
، ثم تثبيت cargo-kcov
:
$ cargo install cargo-kcov
لتشغيل التغطية:
$ cargo kcov -- --exclude-pattern="/.cargo,vendor/,tests/,bench/,include/,bin/,ssw/"
سيضع هذا تقرير تغطية الكود ضمن target/kcov/index.html
.
لبناء ثنائيات MTSV:
$ cargo build --release
ستكون متوفرة ضمن target/release/mtsv-*
.
لتوليد الوثائق الداخلية:
$ cargo doc [--open]
(مرر العلم --open
إذا كنت تريد فتح المستندات على الفور في متصفحك)
MTSV يبني العديد من الثنائيات:
mtsv-chunk
mtsv-binner
mtsv-build
mtsv-collapse
كل هذه تقبل علامة --help
لطباعة رسالة مساعدة على استخدامها. انظر أدناه للحصول على تعليمات الاستخدام المحددة.
ينفذ MTSV فهرس metagenomic مخصص (MG-Index) استنادًا إلى بنية بيانات المؤشر FM. يجب بناء المؤشرات المرجعية قبل إجراء التصنيف التصنيفي.
لإنشاء محركات MG ، ستحتاج إلى ملف متعدد الصب من جميع التسلسلات المرجعية ، مع رؤوس في التنسيق SEQID-TAXID
. لذا فإن التسلسل يحتوي على معرف عدد صحيح فريد 12345 ، وينتمي إلى معرف NCBI التصنيفي 987 ، يجب أن يقرأ رأس هذا التسلسل 12345-987
. يمكن الحصول على التسلسلات المرجعية من أي مجموعة تسلسل الحمض النووي (أي ، GenBank ، RefSeq ، وما إلى ذلك) وتخصيصها لتناسب مشروعك.
نظرًا لأن MTSV تم تصميمه ليكون قابلاً للتوازي للغاية ، فإننا نوصي ببناء مؤشرات متعددة من أجزاء أصغر من التسلسلات المرجعية. يساعد هذا في تقليل متطلبات الذاكرة ويسمح بمعالجة أسرع لكل من بناء الفهرس والتعيين.
$ mtsv-chunk -i PATH_TO_FASTA -o PATH_TO_CHUNK_FOLDER -g NUM_GBS_PER_CHUNK
سيؤدي ذلك إلى تقسيم Fasta المرجعي إلى سلسلة من الملفات الأصغر ووضعها في الدليل المحدد. انظر رسالة المساعدة لمزيد من المعلومات.
mtsv-chunk 2.0.0
Adam Perry <[email protected]>:Tara Furstenau <[email protected]>
Split a FASTA reference database into chunks for index generation.
USAGE:
mtsv-chunk [FLAGS] --input <INPUT> --output <OUTPUT> --gb <SIZE_GB>
FLAGS:
-v Include this flag to trigger debug-level logging.
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-i, --input <INPUT> Path(s) to vedro results files to collapse
-o, --output <OUTPUT> Folder path to write split outupt files to.
-g, --gb <SIZE_GB> Chunk size (in gigabytes). [default: 1.0]
الآن بعد أن أصبح لديك قطع من قاعدة بيانات Fasta الخاصة بك ، يجب معالجتها في مؤشرات يمكن لـ MTSV استخدامها للاستعلام. أثناء إنشاء الفهرس ، يتم تسلسل التسلسلات في ملف FARTA المكثف أثناء تسجيل موقع حدود التسلسل و Taxid المرتبط بكل تسلسل. تم تصميم مجموعة لاحقة ، وتحويل العجلات الجحور (BWT) ، وفهرس FM من التسلسلات المتسلسلة باستخدام حزمة Rust-Bio V0.39.1. تشكل مؤشر FM و MG-Endex وبيانات التعريف المرتبطة به. يتم إنشاء مؤتمر MG واحد لكل ملف fasta ، ويمكن إضافة مؤشرات جديدة مع نمو المجموعة المرجعية دون الحاجة إلى إعادة بناء أي من المؤشرات الحالية.
$ mtsv-build --fasta /path/to/chunkN.fasta --index /path/to/write/chunkN.index
باستخدام الإعدادات الافتراضية ، ستكون المؤشرات ~ 3.6x حجم الملف المرجعي وتتطلب ذلك الكبير من ذاكرة الوصول العشوائي لتشغيل خطوة binning. فاصل أخذ العينات الافتراضي هو 64 بالنسبة لمصفوفة BWT و 32 لصفيف اللاحقة. يمكن تجاوز هذا عن طريق المرور --sample-interval <FM_SAMPLE_INTERVAL>
لمصفوفة حدث أو- --sa-sample <SA_SAMPLE_RATE>
لمصفوقة لاحقة. ستزيد القيم المنخفضة من حجم الفهرس ويمكن أن توفر انخفاضًا في وقت الاستعلام. ستؤدي زيادة العلم إلى تقليل حجم الفهرس إلى نقطة مع قبول وقت استعلام أبطأ.
انظر رسالة المساعدة للحصول على خيارات أخرى.
$ mtsv-build --help
mtsv-build 2.0.0
Adam Perry <[email protected]>:Tara Furstenau <[email protected]>
Index construction for mtsv metagenomics binning tool.
USAGE:
mtsv-build [FLAGS] [OPTIONS] --fasta <FASTA> --index <INDEX>
FLAGS:
-v Include this flag to trigger debug-level logging.
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-f, --fasta <FASTA> Path to FASTA database file.
--sample-interval <FM_SAMPLE_INTERVAL>
BWT occurance sampling rate. If sample interval is k, every k-th entry will be kept. [default: 64]
-i, --index <INDEX> Absolute path to mtsv index file.
--sa-sample <SA_SAMPLE_RATE>
Suffix array sampling rate. If sampling rate is k, every k-th entry will be kept. [default: 32]
يقوم الأمر mtsv-binner
بتعيين القراءات إلى التسلسلات المرجعية في مؤشر MG-index المقدم (يجب تشغيل أمر binning منفصل لكل من المؤشرات MG المطلوبة). سيبدأ باستخلاص الفرعية المتداخلة (البذور) من نفس الحجم ( --seed-size
) مع بعض الإزاحة ( --seed-interval
) من كل تسلسل استعلام ومكمل عكسي. ثم يستخدم مؤشر MG للبحث عن المباريات الدقيقة غير المنقولة لكل بذرة. يتم فرز مباريات البذور حسب الموقع وتجميعها في مناطق مرشحة باستخدام Windows المحددة. يتم ترجمة عدد الزيارات لكل مرشح ويتم ترشيح أي مرشح لا يلبي الحد الأدنى لعدد الزيارات البذرة. يتم فرز المواقف المرشحة المتبقية بترتيب تنازلي من خلال عدد مرات ضربات البذور بحيث يتم تقييم المناطق الأكثر واعدة أولاً.
بالنسبة لكل منطقة مرشح ، يستخلص MTSV النطاق المقابل من التسلسل المرجعي ويتطلع إلى Taxid المرتبط بالمنطقة في مؤشر MG. إذا كان الاستعلام الحالي قد تم محاذاة بالفعل مع "تاكسيد" المرتبط بمنطقة المرشح ، فلا تتم محاولة محاذاة إضافية ، ويتم التحقق من منطقة المرشح التالية. وإلا يتم تنفيذ محاذاة سميث ووترمان التي تم تسريعها من SIMD بين التسلسل المرجعي المستخرج وتسلسل الاستعلام (باستخدام تسجيل 1 للمباريات و -1 لعدم التطابق ، فتح الفجوة ، وتمديد الفجوة). إذا كانت درجة المحاذاة مرتفعة بما فيه الكفاية ، فهناك فحص نهائي واحد لتحديد ما إذا كانت مسافة التحرير أقل من أو تساوي قطع المسافة المحددة للمستخدم ( --edit-rate
). إذا كانت المحاذاة تعتبر ناجحة ، فلا تتم محاولة محاذاة أخرى لهذا الاستعلام ضد نفس الضريبة على. إن تخطي جميع المحاذاة الإضافية إلى Taxid يتجنب العديد من العمليات باهظة الثمن ويقلل من وقت الحساب.
تعتمد خطوة تصفية المرشح على خوارزمية تصفية Q-Gram التي تحدد الحد الأدنى لعدد مطابقات K-MER الدقيق (من جميع أدوات K- K +1 التي يمكن توقعها بين قراءة الطول N وتسلسل مرجعي مع عدم التطابق في معظم الحالات . / (e+ 1 --seed-size
> k . --seed-size
) والفاصل الزمني L ( --seed-interval
) الذي يحدد عدد البذور مثل N_Seeds = Ceil ((N -K + 1)/L) ولأن هذا يختلف بناءً على حجم القراءة ، فإن الحد الأدنى لعدد القراءات المطلوبة لإجراء مهمة ( --min-seed
) يتم --edit-rate
كنسبة مئوية من هذه الأرضية (MIN-POED * N_SEEDS) . و 1) وطول القراءة ، ن .
$ mtsv-binner --edit-rate 0.13 --seed-size 18
--seed-interval 2 --threads 8
--index /path/to/chunk1.index
--fastq /path/to/reads.fastq
--results /path/to/write/chunk1_results.txt
انظر رسالة المساعدة للحصول على خيارات أخرى.
$ mtsv-binner --help
mtsv 2.0.0
Adam Perry <[email protected]>:Tara Furstenau <[email protected]>
Metagenomics binning tool.
USAGE:
mtsv-binner [FLAGS] [OPTIONS] --fasta <FASTA> --fastq <FASTQ> --index <INDEX>
FLAGS:
-v Include this flag to trigger debug-level logging.
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-e, --edit-rate <EDIT_TOLERANCE> The maximum proportion of edits allowed for alignment. [default: 0.13]
-f, --fasta <FASTA> Path to FASTA reads.
-f, --fastq <FASTQ> Path to FASTQ reads.
-i, --index <INDEX> Path to MG-index file.
--max-hits <MAX_HITS> Skip seeds with more than MAX_HITS hits. [default: 20000]
--min-seed <MIN_SEED> Set the minimum percentage of seeds required to perform an alignment.
[default: 0.015]
-t, --threads <NUM_THREADS> Number of worker threads to spawn. [default: 4]
-m, --results <RESULTS_PATH> Path to write results file.
--seed-interval <SEED_INTERVAL> Set the interval between seeds used for initial exact match. [default: 2]
--seed-size <SEED_SIZE> Set seed size. [default: 18]
يكتب mtsv-binner
نتائج لقراءة واحدة لكل سطر. على سبيل المثال ، إذا كانت قراءة مع رأس خرائط R1_123
إلى معرفات التصنيف 562
و 9062
و 100
مع مسافات تحرير 5
و 10
و 11
:
R1_123:562=5,9062=10,100=11
نظرًا لأن كل ملف إخراج من أمر mtsv-binner
سيمثل فقط المهام للمراجع داخل مؤشر MG واحد ، يجب دمج نتائج جميع محركات MG في ملف نتائج واحد لمزيد من التحليل.
$ mtsv-collapse /path/to/chunk1_results.txt /path/to/chunk2_results.txt ...
--output /path/to/collapsed_results.txt
تأكد من تضمين جميع ملفات القطع. على الرغم من أنه يمكن تشغيل الاصطدام في مراحل متعددة ، إلا أنه من الأسرع عمومًا القيام بها جميعًا مرة واحدة. إذا تم تعيين نفس الضريبة على القراءة نفسها في ملفات متعددة ، فسيتم تسجيل تلك التي لديها أدنى مسافة تحرير في الإخراج النهائي.
انظر رسالة المساعدة للحصول على خيارات أخرى.
$ mtsv-collapse --help
mtsv-collapse 2.0.0
Adam Perry <[email protected]>:Tara Furstenau <[email protected]>
Tool for combining the output of multiple separate mtsv runs.
USAGE:
mtsv-collapse [FLAGS] <FILES>... --output <OUTPUT>
FLAGS:
-v Include this flag to trigger debug-level logging.
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-o, --output <OUTPUT> Path to write combined outupt file to.
ARGS:
<FILES>... Path(s) to mtsv results files to collapse