SAMtools

SAMtools היא חבילת תכנה שנכתבה על ידי Heng Li ומאפשרת צפייה וביצוע פעולות ברצפי DNA שהתקבלו מריצוף DNA בפורמטים SAM, BAM ו-CRAN. קבצים אלה נוצרו כפלט על ידי תוכנות עימוד רצפים (alignment) לרצפים קצרים, כגון תוכנת BWA. חבילת התוכנה, הבסיסית והמתקדמת, מאפשרת ביצוע משימות מורכבות כגון אפיון שונות (variant calling) וצפייה בתוצאות עימוד, כמו גם מיון, אינדוקס (מיפתוח), חילוץ נתונים והמרות בין פורמטים שונים. לאור העובדה שקובצי SAM יכולים להיות גדולים למדי (עשרה ג'יגה בייט הוא גודל סביר), הקבצים לרוב נדחסים כדי לחסוך בשטח דיסק. קובצי SAM הם קובצי טקסט הניתנים לקריאה ישירה, ואילו קובצי BAM הם הגרסה הבינארית השקולה שלהם. קובצי BAM הם לרב דחוסים יותר מאשר קובצי SAM, ומאפשרים פעולה יעילה יותר של תוכנות. SAMtools מאפשרים לעבוד ישירות עם קובצי BAM, ללא צורך להמיר אותם לקובצי SAM קודם לכן. בנוסף לכך, לאור העובדה שפורמט ה-SAM/BAM הוא מורכב, וכלל מידע בנוגע לקריאות, לרצף הייחוס (reference), לעימוד, לאיכות ומידע נוסף, SAMtools מקל על העבודה עם הקבצים על ידי הסתרת מידע בעל חשיבות משנית.

פקודות SAMtools
SAMtools כל אחת מהפקודות נקראת על ידי samtools ושם הפקודה.
 view 
פקודת ה-view מסננת נתונים בפורמט SAM או BAM. אפשרויות וארגומנטים גורמים לתוכנה להעביר חלק (או את כל) המידע. הקלט הוא לרב בפורמט SAM או BAM ומופיע כארגמונט, אך יכול להיות מוזרם (piped) מכל פקודה אחרת. שימושים אפשריים כוללים חילוץ תת-קבוצה של נתונים לקובץ חדש, המרה בין פורמט BAM ל-SAM, וכן צפייה בתוכן הקובץ הגולמי. סדר הרצפים שחולצו נשמר על ידי התוכנה.
 sort 
פקודת sort ממיינת קובצי BAM על פי המיקום ברצף הייחוס, כפי שנקבע על ידי העימוד. על פי ברירת המחדל הפלט הממויין מופנה לקובץ חדש (אף על פי ניתן להפנות אותו ל-stdout). מכיוון שהמיון צורך זיכרון רב, וקובצי ה-BAM לרוב גדולים מאוד, התוכנה תומכת במידור (באמצעות האופציה m) ומאפשרת הגבלה של כמות הזיכרון שהתוכנה צורכת, ויצירה של מספר קובצי פלט.
 index 
פקודת ה-index יוצרת קובץ אינדקס חדש שמאפשרת חיפוש מהיר בקובץ ה-SAM או ה-BAM הממויינים. בדומה לאינדקס בבסיס נתונים, קובצי ה-.sam.sai וה-.bam.sai מאפשרים גישה יעילה למידע בקבצים אליהם הם מקושרים.
 tview 
פקודת ה-tview מתחילה תצוגה אינראקטיבית מבוססת ascii שמשמשת להמחשת האופן בו מספר קריאות עברו עימוד כנגד אזורים קטנים בגנום הייחוס. בהשוואה לתצוגות גרפיות, כגון תוכנת IGV, היא ענייה ביכולות. בזמן התצוגה, ניתן לעבור לאזור אחר ברצף הייחוס (באמצעות 'g'), וכן להציג עזרה (באמצעות '?')
 mpileup 
פקודת ה-mpileup מייצרת קובץ בפורמט pileup, שמציג, עבור כל אתר גנמי, את הקריאות החופפות, וכן מוטציות והכנסות או החסרות (indel) בקובץ ה-BAM הנשלח אליה. התוכנה מאפשרת לייצר קובץ בפורמט BCF.

דוגמאות
 samtools view sample.bam > sample.sam
המרה של קובץ BAM לקובץ SAM
 samtools view -bS sample.sam > sample.bam
המרה של קובץ SAM לקובץ BAM
 samtools view -h -b sample_sorted.bam "chr1:10-13" > tiny_sorted.bam
חילוץ כל הקריאות שהועמדו כנגד טווח גנומי מסוים (בדוגמה – הבסיסים ה-10, 11, 12 ו-13 שבכרומוזום מס' 1). התוצאות נשמרות לקובץ BAM. קובץ ה-BAM שנשלח כפלט חייב לעבור אינדוקס קודם לכן.
 samtools sort unsorted_in.bam sorted_out
מיון הקובץ unsorted_in.bam על פי מיקום הקריאות שעברו עימוד וכתיבת הפלט לקובץ sorted_out
 samtools index sorted.bam
יצירת קובץ אינדקס בשם sorted.bam.bai עבור קובץ ה- sorted.bam

ראו גם 
 ריצוף DNA

קישורים חיצוניים
 
  

גנומיקה
ביואינפורמטיקה