SAMtools
ایس اے ایم ٹولز، ہینگ لی کے لکھے ہوئے ایس اے ایم (سیکوینس الائنمنٹ/میپ)، بی اے ایم (بائنری الائنمنٹ/میپ) اور سی آر اے ایم فارمیٹس میں مختصر ڈی این اے سیکوینس ریڈ الائنمنٹس کے ساتھ تعامل اور پوسٹ پروسیسنگ کے لیے افادیت کا ایک مجموعہ ہے۔ یہ فائلیں بی ڈبلیو اے جیسے شارٹ ریڈ ایلائنرز کے ذریعے آؤٹ پٹ کے طور پر تیار کی جاتی ہیں۔ سادہ اور جدید دونوں ٹولز فراہم کیے جاتے ہیں، جو مختلف کالنگ اور صف بندی دیکھنے کے ساتھ ساتھ ترتیب، انڈیکسنگ، ڈیٹا نکالنے اور فارمیٹ میں تبدیلی جیسے پیچیدہ کاموں کی حمایت کرتے ہیں۔ ایس اے ایم فائلیں بہت بڑی ہو سکتی ہیں (دسیوں گیگا بائٹس عام ہیں)، اس لیے کمپریشن کا استعمال جگہ بچانے کے لیے کیا جاتا ہے۔ ایس اے ایم فائلیں انسانی پڑھنے کے قابل ٹیکسٹ فائلیں ہیں، اور بی اے ایم فائلیں محض ان کے بائنری مساوی ہیں، جبکہ سی آر اے ایم فائلیں ایک دوبارہ تشکیل شدہ کالم پر مبنی بائنری کنٹینر فارمیٹ ہیں۔ بی اے ایم فائلیں عام طور پر ایس اے ایم کے مقابلے سافٹ ویئر کے ساتھ کام کرنے کے لیے کمپریسڈ اور زیادہ موثر ہوتی ہیں۔ SAMtools ایک کمپریسڈ BAM فائل کے ساتھ براہ راست کام کرنا ممکن بناتا ہے، بغیر پوری فائل کو انکمپریس کیے۔ مزید برآں، چونکہ ایس اے ایم/بی اے ایم فائل کا فارمیٹ کچھ حد تک پیچیدہ ہے-جس میں ریڈز، حوالہ جات، صف بندی، معیاری معلومات، اور صارف کے ذریعہ متعین تشریحات شامل ہیں-ایس اے ایم ٹولز نچلی سطح کی تفصیلات کو چھپاتے ہوئے ایس اے ایم/بی اے ایم فائلوں کو استعمال کرنے کے لیے درکار کوشش کو کم کر دیتا ہے۔ چونکہ تھرڈ پارٹی پروجیکٹس SAMtools سے کوڈ استعمال کرنے کی کوشش کر رہے تھے اس کے باوجود کہ اسے اس طرح سے سرایت کرنے کے لیے ڈیزائن نہیں کیا گیا تھا، اگست 2014 میں SAMtools پیکیج کو ایک اچھی طرح سے طے شدہ API (HTSlib) کے ساتھ ایک اسٹینڈ ایلون سافٹ ویئر لائبریری میں تقسیم کرنے کا فیصلہ لیا گیا، جو مختلف قسم کے کالنگ اور مختلف قسم کے ڈیٹا (BCFtools) میں ہیرا پھیری کے لیے ایک پروجیکٹ ہے، اور سیکوینس الائنمنٹ ڈیٹا کے ساتھ کام کرنے کے لیے اسٹینڈ ایلون SAMtools پیکیج ہے۔ استعمال اور کمانڈ بہت سے یونکس کمانڈوں کی طرح، SAMtool کمانڈ ایک اسٹریم ماڈل کی پیروی کرتے ہیں، جہاں ڈیٹا ہر کمانڈ کے ذریعے چلتا ہے گویا کسی کنویر بیلٹ پر ہوتا ہے۔ یہ ڈیٹا پروسیسنگ پائپ لائن میں متعدد کمانڈوں کو یکجا کرنے کی اجازت دیتا ہے۔ اگرچہ حتمی آؤٹ پٹ بہت پیچیدہ ہو سکتا ہے، لیکن اسے تیار کرنے کے لیے صرف محدود تعداد میں سادہ کمانڈز کی ضرورت ہوتی ہے۔ اگر متعین نہیں کیا گیا ہے، تو معیاری دھارے (ایس ٹی ڈی این، ایس ٹی ڈی آؤٹ، اور ایس ٹی ڈی آر آر) فرض کیے جاتے ہیں۔ ایس ٹی ڈی آؤٹ کو بھیجے گئے ڈیٹا کو ڈیفالٹ طور پر اسکرین پر پرنٹ کیا جاتا ہے لیکن عام یونکس ری ڈائریکٹروں (> اور>>) کا استعمال کرتے ہوئے آسانی سے کسی دوسری فائل پر، یا پائپ (|) کے ذریعے کسی دوسری کمانڈ پر ری ڈائریکٹ کیا جاتا ہے۔ SAMtools کمانڈز SAMtools مندرجہ ذیل کمانڈز فراہم کرتا ہے، جن میں سے ہر ایک کو "" کے طور پر طلب کیا جاتا ہے۔ کمانڈ SAM یا BAM فارمیٹڈ ڈیٹا کو فلٹر کرتی ہے۔ اختیارات اور دلائل کا استعمال کرتے ہوئے یہ سمجھتا ہے کہ کون سا ڈیٹا منتخب کرنا ہے (ممکنہ طور پر یہ سب) اور صرف اس ڈیٹا کو منتقل کرتا ہے۔ ان پٹ عام طور پر ایک سام یا بام فائل ہوتی ہے جس کی وضاحت دلیل کے طور پر کی جاتی ہے، لیکن یہ سام یا بام ڈیٹا ہو سکتا ہے جسے کسی اور کمانڈ سے پائپ کیا جاتا ہے۔ ممکنہ استعمال میں ڈیٹا کے ذیلی سیٹ کو نئی فائل میں نکالنا، بی اے ایم اور ایس اے ایم فارمیٹس کے درمیان تبدیل کرنا، اور صرف خام فائل کے مندرجات کو دیکھنا شامل ہے۔ نکالے ہوئے ریڈز کا آرڈر محفوظ ہے۔ ترتیب کمانڈ حوالہ میں اس کی پوزیشن کی بنیاد پر بی اے ایم فائل کو ترتیب دیتی ہے، جیسا کہ اس کی صف بندی سے طے ہوتا ہے۔ عنصر + حوالہ میں مربوط ہوتا ہے جس سے پڑھنے میں پہلا مماثل بیس سیدھا ہوتا ہے اسے ترتیب دینے کے لیے کلید کے طور پر استعمال کیا جاتا ہے۔ [ٹوڈو: تصدیق کریں]۔ ترتیب شدہ آؤٹ پٹ کو ڈیفالٹ طور پر ایک نئی فائل میں ڈمپ کیا جاتا ہے، حالانکہ اسے اسٹڈاؤٹ (-o آپشن کا استعمال کرتے ہوئے) کی طرف بھیجا جا سکتا ہے۔ چونکہ چھانٹنا میموری پر مبنی ہے اور بی اے ایم فائلیں بڑی ہو سکتی ہیں، اس لیے یہ کمانڈ زیادہ سے زیادہ دی گئی میموری کو استعمال کرنے اور متعدد آؤٹ پٹ فائل تیار کرنے کے لیے سیکشننگ موڈ (-m آپشنز کے ساتھ) کی حمایت کرتی ہے۔ اس کے بعد ان فائلوں کو ایک مکمل ترتیب شدہ بی اے ایم فائل تیار کرنے کے لیے ضم کیا جا سکتا ہے [ٹوڈو-اس کی تفصیلات کی مزید احتیاط سے تفتیش کریں]۔ انڈیکس کمانڈ ایک نئی انڈیکس فائل بناتی ہے جو (ترتیب شدہ) SAM یا BAM میں ڈیٹا کو تیزی سے دیکھنے کی اجازت دیتی ہے۔ ڈیٹا بیس پر انڈیکس کی طرح، تیار کردہ یا فائل ایسے پروگراموں کی اجازت دیتی ہے جو اسے پڑھ سکتے ہیں تاکہ متعلقہ فائلوں میں موجود ڈیٹا کے ساتھ زیادہ مؤثر طریقے سے کام کر سکیں۔ ٹی ویو کمانڈ ایک انٹرایکٹو اے ایس سی آئی آئی پر مبنی ناظرین کو شروع کرتی ہے جسے یہ تصور کرنے کے لیے استعمال کیا جا سکتا ہے کہ ریڈز کو حوالہ جینوم کے مخصوص چھوٹے علاقوں سے کیسے منسلک کیا جاتا ہے۔ آئی جی وی جیسے گرافکس پر مبنی ناظرین کے مقابلے میں، اس میں بہت کم خصوصیات ہیں۔ ویو کے اندر، حوالہ عناصر ('جی' کا استعمال کرتے ہوئے) کے ساتھ مختلف پوزیشنوں پر کودنا اور مدد کی معلومات ('؟') دکھانا ممکن ہے۔ ایم پائیل اپ کمانڈ ایک پائیل اپ فارمیٹ (یا بی سی ایف) فائل تیار کرتی ہے، جو ہر جینومک کوآرڈینیٹ کے لیے، ان پٹ بی اے ایم فائلوں میں اس پوزیشن پر اوور لیپنگ ریڈ بیسز اور انڈلز دیتی ہے۔ یہ مثال کے طور پر ایس این پی کالنگ کے لیے استعمال کیا جا سکتا ہے۔ فلیگسٹیٹ مثالیں دیکھیں سیم ٹولز دیکھیں sample.bam> sample.sam بام فائل کو سیم فائل میں تبدیل کریں۔ سیم ٹولز ویو-bS sample.sam> sample.bam سیم فائل کو بام فائل میں تبدیل کریں۔ آپشن کمپریسڈ ان پٹ ڈیٹا کو کمپریس یا چھوڑ دیتا ہے۔ سیم ٹولز ویو sample_sorted.bam "chr 1:10-13" مخصوص رینج سے منسلک تمام ریڈز کو نکالیں، جو وہ ہیں جو chr1 نامی حوالہ عنصر سے منسلک ہیں اور اس کے 10 ویں، 11 ویں، 12 ویں یا 13 ویں بیس کا احاطہ کرتے ہیں۔ نتائج کو ہیڈر سمیت بی اے ایم فائل میں محفوظ کیا جاتا ہے۔ حوالہ جینوم میں ان کی نقشہ سازی کی پوزیشن کے مطابق ریڈز کو نکالنے کے لیے ان پٹ فائل کا انڈیکس درکار ہوتا ہے، جیسا کہ سیم ٹولز انڈیکس کے ذریعے بنایا گیا ہے۔ سیم ٹولز ویو-h-b sample_sorted.bam "chr 1:10-13"> tiny_sorted.bam اوپر کی طرح وہی ریڈز نکالیں، لیکن انہیں دکھانے کے بجائے، انہیں ایک نئی بام فائل، tiny_sorted.bam پر لکھیں۔ آپشن آؤٹ پٹ کو کمپریس کرتا ہے اور آپشن SAM ہیڈرز کو بھی آؤٹ پٹ ہونے کا سبب بنتا ہے۔ ان ہیڈرز میں اس حوالہ کی تفصیل شامل ہے جس کے ساتھ sample_sorted.bam میں ریڈز منسلک تھے اور اگر tiny_sorted.bam فائل کو کچھ زیادہ جدید SAMtools کمانڈز کے ساتھ استعمال کرنا ہے تو اس کی ضرورت ہوگی۔ نکالے ہوئے ریڈز کا آرڈر محفوظ ہے۔ ٹی ویو سیمٹولز ٹی ویو sample_sorted.bam حوالہ کے ایک چھوٹے سے علاقے کو دیکھنے کے لیے ایک انٹرایکٹو ناظرین کو شروع کریں، ریڈز سیدھے ہوئے ہیں، اور مطابقت نہیں رکھتے ہیں۔ ویو کے اندر، جی: اور لوکیشن ٹائپ کر کے کسی نئے لوکیشن پر کود سکتے ہیں، جیسے۔ اگر حوالہ عنصر کا نام اور مندرجہ ذیل کالون کو تبدیل کیا جاتا ہے، تو موجودہ حوالہ عنصر استعمال ہوتا ہے، یعنی۔ اگر پچھلے "گوٹو" کمانڈ کے بعد ٹائپ کیا جاتا ہے، تو ناظرین chr1 پر نیچے 200 بیس جوڑوں والے علاقے میں چھلانگ لگاتا ہے۔ ٹائپنگ اسکرول کی حرکت، رنگوں، نظاروں کے لیے مدد کی معلومات لاتا ہے۔ سیم ٹولز ویو-p chrM: 1 sample_chrM.bam UCSC_hg38.fa سیٹ اسٹارٹ پوزیشن اور موازنہ کریں۔ سیم ٹولز ویو-d T-p chrY: 10,000,000 sample_chrY.bam UCSC_hg38.fa> save.txt <کوڈ کلاس = "پلین لنکس"> سیم ٹولز ویو-d H-p chrY: 10,000,000 sample_chrY.bam UCSC_hg38.fa> save.html </کوڈ> اسکرین کو. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. t. سام ٹولز کو ترتیب دیں-o ترتیب دیا گیا unsorted_in.bam مخصوص unsorted_in.bam کو ان پٹ کے طور پر پڑھیں، اسے صف بندی شدہ پڑھنے کی پوزیشن کے ذریعے ترتیب دیں، اور اسے ترتیب دینے کے لیے لکھیں۔ آؤٹ پٹ کی قسم یا تو سیم، بام، یا کرام ہو سکتی ہے، اور اس کا تعین خود بخود sorted _ out کی فائل ایکسٹینشن کے ذریعے کیا جائے گا۔ سیم ٹولز ترتیب دیتے ہیں-m 5000000 unsorted_in.bam ترتیب دیا گیا۔ مخصوص unsorted_in.bam کو ان پٹ کے طور پر پڑھیں، اسے 5 ملین کے (5 جی بی) تک کے بلاکس میں ترتیب دیں اور sorted_out.0000.bam، sorted_out.0001.bam، وغیرہ نامی بام فائلوں کی ایک سیریز میں آؤٹ پٹ لکھیں، جہاں تمام بام 0 ریڈز کسی بھی بام 1 کے پڑھنے سے پہلے آتے ہیں، وغیرہ۔ انڈیکس سیم ٹولز انڈیکس sorted.bam ایک انڈیکس فائل بناتا ہے، sorted.bam "" فائل کے لیے بائی۔ ڈی این اے سیکوینسنگ پائلپ فارمیٹ حوالہ جات بیرونی لنکس ہوم پیج برائے SAMtools پروجیکٹ SAMtools کمانڈز ویکی پیج برائے SAQAnswers برائے SAMtools سافٹ ویئر (سٹب کے طور پر 2012-02-26) بھی دیکھیں۔ اس کے بنیادی مصنف شارٹ سے SAMtools الگورتھم پر ریاضیاتی نوٹ، ای ایم بی ایل سے SAMtools پر کسی حد تک خصوصی سبق۔ ٹوٹی ہوئی لنک بائیو انفارمیٹکس الگورتھم بائیو انفارمیٹکس سافٹ ویئر ڈی این اے سیکوینسنگ پبلک ڈومین سافٹ ویئر