يسعدنا أن نعلن أن حجم الفهرس على القرص انخفض بمقدار 8 مرات وفي الذاكرة بمقدار 4 مرات بسبب الانتقال إلى نوع واحد فقط من مؤشر FM (2bit.64 بدلاً من 2bit.64 و 8bit.32) و 8 × ضغط من صفيف لاحقة. على سبيل المثال ، بالنسبة للجينوم البشري ، فإن حجم الفهرس على القرص ينخفض إلى حوالي 10 جيجابايت من ~ 80 جيجابايت وتصبح البصمة للذاكرة إلى حوالي 10 جيجابايت من حوالي 40 جيجابايت. هناك انخفاض كبير في وقت IO الفهرس بسبب التخفيض وبالكاد أي تأثير أداء على تعيين القراءة. بسبب هذا التغيير في بنية الفهرس (في الالتزام #4B59796 ، 10 أكتوبر 2020) ، ستحتاج إلى إعادة بناء الفهرس.
تمت إضافة علامة MC في ملف SAM الإخراج في CANTING A591E22. يجب أن يتطابق الإخراج إلى إصدار BWA-MEM الأصلي 0.7.17.
اعتبارا من الالتزام e0ac59e ، لدينا الجهاز الفرعي git safestringlib. للحصول على ذلك ، استخدم -معاداة أثناء الاستنساخ أو استخدام "GIT Submodule init" و "GIT Subderule Update" في مستودع استنساخ بالفعل (انظر أدناه للحصول على مزيد من التفاصيل).
# استخدم الثنائيات المسبقة (الموصى بها) curl -l https://github.com/bwa-mem2/bwa-mem2/release/download/v2.2.1/bwa-mem2-2.2.1_x64-linux.tar.bz2 | TAR JXF - BWA-MEM2-2.2.1_X64-Linux/BWA-MEM2 INDEX Ref.FA BWA-MEM2-2.2.1_X64-Linux/BWA-MEM2 MEM.FA read1.fq read2 github.com/bwa-mem2/bwa-mem2cd bwa-mem2# orgit clone https://github.com/bwa-mem2/bwa-mem2cd bwa-mem2 git submodule init تحديث الجهاز الفرعي git# الترجم و RunMake ./BWA-MEM2
الأداة BWA-MEM2 هي الإصدار التالي من خوارزمية BWA-MEM في BWA. إنه ينتج محاذاة مماثلة لـ BWA وهو أسرع من 1.3-3.1x اعتمادًا على حالة الاستخدام ومجموعة البيانات وجهاز التشغيل.
تم تطوير BWA الأصلي بواسطة Heng LI (@LH3). تم تعزيز الأداء في BWA-MEM2 في المقام الأول بواسطة Vasimuddin MD (@yuk12) و Sanchit Misra (@sanchit-misra) من مختبر الحوسبة الموازي ، Intel. يتم توزيع BWA-MEM2 تحت رخصة معهد ماساتشوستس للتكنولوجيا.
للمستخدمين العامين ، يوصى باستخدام الثنائيات المسبقة من صفحة الإصدار. تم تجميع هذه الثنائيات باستخدام برنامج التحويل البرمجي Intel ويعمل بشكل أسرع من الثنائيات المبللة GCC. الثنائيات المسبقة أيضا تدعم بشكل غير مباشر إرسال وحدة المعالجة المركزية. يمكن لـ bwa-mem2
Binary تلقائيًا اختيار التطبيق الأكثر فعالية بناءً على مجموعة تعليمات SIMD المتوفرة على جهاز التشغيل. تم إنشاء الثنائيات المسبقة على جهاز CentOS7 باستخدام سطر الأوامر التالي:
جعل CXX = ICPC Multi
الاستخدام هو بالضبط نفس أداة BWA MEM الأصلية. هنا ملخصات موجزة. تشغيل ./BWA-MEM2 للأوامر المتاحة.
# فهرسة التسلسل المرجعي (يتطلب ذاكرة 28n gb حيث n هي حجم التسلسل المرجعي) ../ BWA-MEM2 INDEX [-P Prefix] <in.fasta> حيث <in.fasta> هو مسار ملف تسلسل المرجع و fasta و <prect> هو بادئة أسماء الملفات التي تخزن الفهرس الناتج. الافتراضي هو In.fasta. # mapping # run "./bwa-mem2 mem" للحصول على كل الخيارات. حيث يتم تحديد البادئة <prect> عند إنشاء الفهرس أو المسار إلى ملف fasta المرجعي في حالة عدم توفير أي بادئة.
مجموعات البيانات:
الجينوم المرجعي: Human_G1K_V37.Fasta
الاسم المستعار | مصدر مجموعة البيانات | عدد القراءات | قراءة الطول |
---|---|---|---|
D1 | معهد واسع | 2 × 2.5 م bp | 151bp |
D2 | SRA: SRR7733443 | 2 × 2.5 م bp | 151bp |
D3 | SRA: SRR9932168 | 2 × 2.5 م bp | 151bp |
D4 | SRA: SRX6999918 | 2 × 2.5 م bp | 151bp |
تفاصيل الآلة:
المعالج: Intel (R) Xeon (R) 8280 CPU @ 2.70GHz
OS: Centos Linux الإصدار 7.6.1810
الذاكرة: 100 جيجابايت
اتبعنا الخطوات أدناه لجمع نتائج الأداء:
أ. خطوات تنزيل البيانات:
تنزيل SRA Toolkit من https://trace.ncbi.nlm.nih.gov/traces/sra/sra.cgi؟view=software#header-global
TAR XFZV SRATOLLKIT.2.10.5-CENTOS_LINUX64.TAR.GZ
تنزيل D2: sratoolkit.2.10.5-centos_linux64/bin/fastq dump-split-files srr733443
تنزيل D3: sratoolkit.2.10.5-centos_linux64/bin/fastq dump-split-files srr9932168
تنزيل D4: sratoolkit.2.10.5-centos_linux64/bin/fastq dump-split-files srx6999918
خطوات المحاذاة:
git clone https://github.com/bwa-mem2/bwa-mem2.git
CD BWA-MEM2
make CXX=icpc
(باستخدام برنامج التحويل البرمجي Intel C/C ++)
أو make
(باستخدام برنامج التحويل البرمجي)
./bwa-mem2 index <ref.fa>
./BWA-MEM2 MEM [-T <#THREADS>] <REF.FA> <in_1.fastq> [<EN_2.FASTQ>]> <TORPHIT.SAM>
على سبيل المثال ، في المقبس المزدوج لدينا (56 مؤشرات ترابط لكل منهما) وعقدة حساب NUMA المزدوجة ، استخدمنا سطر الأوامر التالي لمحاذاة جينوم مرجع Human_G1K_V37.Fasta.
numactl -m 0 -C 0-27,56-83 ./bwa-mem2 index human_g1k_v37.fasta numactl -m 0 -C 0-27,56-83 ./bwa-mem2 mem -t 56 human_g1k_v37.fasta SRR7733443_1.fastq SRR7733443_2.fastq > d2_align.sam
BWA-MEM2-LISA هي نسخة متسارعة من BWA-MEM2 حيث نطبق المؤشرات المستفادة على مرحلة البذر. يحتوي فرع BWA-MEM2-LISA على رمز المصدر للتنفيذ. فيما يلي ميزات BWA-MEM2-LISA:
نفس الإخراج بالضبط مثل BWA-MEM2.
جميع خطوط الأوامر لإنشاء فهرس ورسم خرائط القراءة هي بالضبط مثل BWA-MEM2.
BWA-MEM2-LISA يسارع مرحلة البذار (واحدة من الاختناقات الرئيسية في BWA-MEM2) بما يصل إلى 4.5x مقارنة مع BWA-MEM2.
البصمة الذاكرة لمؤشر BWA-MEM2-LISA هي ~ 120 جيجابايت للجينوم البشري.
الكود موجود في فرع BWA-MEM2-LISA: https://github.com/bwa-mem2/bwa-mem2/tree/bwa-mem2-lisa
يحتوي فرع ERT لمستودع BWA-MEM2 على قاعدة كود لتسريع شجرة Radix المستندة إلى BWA-MEM2. تم تصميم رمز ERT على الجزء العلوي من BWA-MEM2 (بفضل العمل الشاق الذي أجراه @arun-sub). فيما يلي أبرز أدوات BWA-MEM2 المستندة إلى ERT:
نفس الإخراج بالضبط مثل BWA-MEM (2)
تحتوي الأداة على علامات إضافية لتمكين استخدام حل ERT (لإنشاء الفهرس ورسم الخرائط) ، وإلا فإنه يعمل في وضع الفانيليا BWA-MEM2
يستخدم علامة إضافية واحدة لإنشاء فهرس ERT (يختلف عن مؤشر BWA-MEM2) وعلم إضافي واحد لاستخدام فهرس ERT هذا (يرجى الاطلاع
يتكون حل ERT 10 ٪ -30 ٪ أسرع (تم اختباره على تكوين الماكينة أعلاه) بالمقارنة مع الفانيليا BWA -MEM2 -يتم الحصول على المستخدمين لاستخدام الخيار -K 1000000
لمشاهدة السرعة
طباعة قدم الذاكرة لمؤشر ERT هي ~ 60 جيجابايت
الكود موجود في فرع ERT: https://github.com/bwa-mem2/bwa-mem2/tree/ert
Vasimuddin MD ، Sanchit Misra ، Heng Li ، Srinivas Aluru. تسريع فعال للعمارة في BWA-MEM للأنظمة متعددة الأوساط. ندوة المعالجة المتوازية والموزعة IEEE (IPDPS) ، 2019. 10.1109/IPDPS.2019.00041