**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

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

* 

* אתר האינטרנט הרשמי של SAMtools

* אתר האינטרנט הרשמי של SAMtools
* מדריך לשימוש בתוכנה (באנגלית)