SAMtools

SAMtools هي مجموعة أدوات للتفاعل مع محاذاة قراءات تسلسل الحمض النووي القصيرة ومعالجتها لاحقًا، وهي متوفرة بصيغ SAM (محاذاة/خريطة التسلسل)، و BAM (محاذاة/خريطة ثنائية)، و CRAM ، من تطوير هينغ لي . تُنتج هذه الملفات بواسطة برامج محاذاة القراءات القصيرة مثل BWA . توفر SAMtools أدوات بسيطة ومتقدمة، تدعم مهامًا معقدة مثل تحديد المتغيرات وعرض المحاذاة، بالإضافة إلى الفرز والفهرسة واستخراج البيانات وتحويل الصيغ . [ 3 ] قد تكون ملفات SAM كبيرة جدًا (عشرات الجيجابايتات شائعة)، لذا يُستخدم الضغط لتوفير المساحة. ملفات SAM هي ملفات نصية قابلة للقراءة، وملفات BAM هي ببساطة النسخة الثنائية منها، بينما ملفات CRAM هي صيغة حاوية ثنائية مُعاد هيكلتها وموجهة نحو الأعمدة. عادةً ما تكون ملفات BAM مضغوطة، وهي أكثر كفاءة للبرامج في التعامل معها من ملفات SAM. تُمكّن SAMtools من العمل مباشرةً مع ملف BAM مضغوط، دون الحاجة إلى فك ضغط الملف بالكامل. بالإضافة إلى ذلك، نظرًا لأن تنسيق ملف SAM/BAM معقد إلى حد ما - يحتوي على قراءات ومراجع ومحاذاة ومعلومات الجودة وتعليقات توضيحية يحددها المستخدم - فإن SAMtools يقلل من الجهد المطلوب لاستخدام ملفات SAM/BAM عن طريق إخفاء التفاصيل منخفضة المستوى.

نظراً لمحاولة مشاريع خارجية استخدام شفرة من SAMtools على الرغم من أنها لم تُصمم للتضمين بهذه الطريقة، فقد اتُخذ القرار في أغسطس 2014 بفصل حزمة SAMtools إلى مكتبة برمجية مستقلة ذات واجهة برمجة تطبيقات محددة جيداً (HTSlib)، [ 4 ] ومشروع لاستدعاء المتغيرات ومعالجة بيانات المتغيرات (BCFtools)، وحزمة SAMtools المستقلة للعمل مع بيانات محاذاة التسلسل . [ 5 ]

الاستخدام والأوامر

على غرار العديد من أوامر يونكس ، تتبع أوامر SAMtool نموذج التدفق ، حيث تمر البيانات عبر كل أمر كما لو كانت محمولة على سير ناقل . يتيح هذا دمج عدة أوامر في مسار معالجة بيانات واحد. على الرغم من أن الناتج النهائي قد يكون معقدًا للغاية، إلا أن عددًا محدودًا فقط من الأوامر البسيطة يكفي لإنتاجه. في حال عدم تحديدها، تُفترض التدفقات القياسية (stdin وstdout وstderr). تُطبع البيانات المرسلة إلى stdout على الشاشة افتراضيًا، ولكن يمكن إعادة توجيهها بسهولة إلى ملف آخر باستخدام موجهات يونكس المعتادة (> و>>)، أو إلى أمر آخر عبر علامة الأنبوب (|).

أوامر SAMtools

توفر SAMtools الأوامر التالية، ويتم استدعاء كل منها على النحو التالي samtools <subcommand>:

منظر
يقوم أمر العرض بتصفية البيانات بتنسيق SAM أو BAM. وباستخدام الخيارات والوسائط، يفهم الأمر البيانات المراد تحديدها (ربما جميعها) ويمررها فقط. عادةً ما يكون المُدخل ملف SAM أو BAM مُحددًا كوسيط، ولكن يمكن أن يكون بيانات SAM أو BAM مُمررة من أي أمر آخر. تشمل الاستخدامات المُحتملة استخراج مجموعة فرعية من البيانات إلى ملف جديد، والتحويل بين تنسيقي BAM وSAM، وعرض محتويات الملف الخام. ويتم الحفاظ على ترتيب القراءات المُستخرجة.
نوع
يُرتّب الأمر sort ملف BAM بناءً على موقعه في المرجع، وفقًا لمحاذاة التسلسل. يُستخدم العنصر + الإحداثي في ​​المرجع الذي تُحاذي معه أول قاعدة مُطابقة في القراءة كمفتاح للترتيب. [ملاحظة: يجب التحقق من ذلك]. يُحفظ الناتج المُرتّب في ملف جديد افتراضيًا، مع إمكانية توجيهه إلى الإخراج القياسي (باستخدام الخيار -o). نظرًا لأن عملية الفرز تستهلك الكثير من الذاكرة، وقد تكون ملفات BAM كبيرة الحجم، يدعم هذا الأمر وضع التقسيم (باستخدام الخيار -m) لاستخدام مقدار مُحدد من الذاكرة كحد أقصى، وإنشاء ملفات إخراج متعددة. يمكن بعد ذلك دمج هذه الملفات لإنتاج ملف BAM مُرتّب كامل. [ملاحظة: يجب التحقق من تفاصيل ذلك بدقة أكبر] .
فِهرِس
يُنشئ أمر الفهرسة ملف فهرسة جديدًا يُتيح البحث السريع عن البيانات في ملفات SAM أو BAM (المُرتبة). وكما هو الحال في الفهرس الموجود في قاعدة البيانات، فإن ملف *.sam.sai أو *.bam.bai المُنشأ يُتيح للبرامج التي يُمكنها قراءته العمل بكفاءة أكبر مع البيانات الموجودة في الملفات المرتبطة به.
tview
يُشغّل الأمر tview عارضًا تفاعليًا يعتمد على رموز ASCII، يُستخدم لعرض كيفية محاذاة القراءات مع مناطق صغيرة محددة من الجينوم المرجعي. بالمقارنة مع عارض رسومي مثل IGV، [ 6 ] فهو يتميز بميزات قليلة. ضمن العرض، يُمكن الانتقال إلى مواضع مختلفة على طول العناصر المرجعية (باستخدام 'g') وعرض معلومات المساعدة ('؟').
mpileup
يُنتج الأمر mpileup ملفًا بصيغة pileup (أو BCF) يُظهر، لكل إحداثية جينومية، قواعد القراءة المتداخلة وعمليات الإدخال/الحذف في ذلك الموضع في ملفات BAM المُدخلة. ويمكن استخدام هذا الملف، على سبيل المثال، لتحديد تعدد أشكال النوكليوتيدات المفردة (SNP).
flagstat

انظر أيضاً

مراجع

  1. "أدوات SAM" . SourceForge .
  2. "الإصدارات · samtools/samtools" . github.com . تم الاطلاع عليه بتاريخ 12-09-2024 .
  3. لي هـ ، هاندساكر ب، ويسوكر أ، فينيل ت، روان ج، هومر ن، وآخرون . (أغسطس 2009). "تنسيق محاذاة/خريطة التسلسل وأدوات SAM" ( ملف PDF) . المعلوماتية الحيوية . 25 (16): 2078-2079 . doi : 10.1093/bioinformatics/btp352 . PMC 2723002. PMID 19505943 .   
  4. بونفيلد جيه كيه، مارشال جيه، دانيك بي، لي إتش، أوهان في، ويتهام إيه، وآخرون . (فبراير 2021). " HTSlib: مكتبة C لقراءة/كتابة بيانات التسلسل عالي الإنتاجية" . GigaScience . 10 (2). doi : 10.1093/gigascience/giab007 . PMC 7931820. PMID 33594436 .   
  5. ^ Danecek P، Bonfield JK، Liddle J، Marshall J، Ohan V، Pollard MO، et al. (فبراير 2021). "اثنا عشر عامًا من SAMtools وBCFtools" . جيجا ساينس . 10 (2). دوى : 10.1093/gigascience/giab008 . بمك 7931819 . بميد 33590861 .   
  6. IGV