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

ראו גם עריכה

קישורים חיצוניים עריכה