לבנות מערכות כמו איפור משמש לעתים קרובות כדי ליצור זרימות עבודה מסובכות, למשל ביואינפורמטיקה & nbsp;. snakemake שואף לצמצם את המורכבות של תהליכי עבודה יצירת על ידי מתן שפה נקייה ומודרנית תחום ספציפי מפרט (DSL) בסגנון פיתון, יחד עם סביבת ביצוע מהירה ונוחה.
התקנה
- על אובונטו 12.04, אתה יכול להתקין את חבילת דביאן python3-snakemake זמין במאגר Launchpad שלנו.
- במערכות אחרות, אתה צריך התקנת עבודה של Python> = 3.2. בהתאם למערכת שלך, אז אתה יכול להתקין snakemake על ידי הנפקה או easy_install snakemake או easy_install3 snakemake בשורת הפקודה. אם אין לך priviledges מנהל, יש להסתכל על --user הטיעון של easy_install.
- לבסוף, snakemake ניתן להתקין באופן ידני על ידי הורדת ארכיון קוד המקור מpypi.
שימוש
Snakemake מציע DSL פשוט כדי לתאר תהליכי עבודה שיוצרות קבצים בכמה שלבים הבאים:
= דגימות ["01", "02"]
# אופציונלי להגדיר ספרייה שבה העבודה צריך להיעשות.
workdir: "נתיב / ל/ workdir"
# דומה לעשות, להגדיר כללי דמה הפועלים כמטרות בנייה.
לשלוט בכל:
& Nbsp; קלט: "diffexpr.tsv", ...
לשלוט סיכום:
& Nbsp; קלט: "{} מדגם .mapped.bam" .format (= מדגם ים) לים בדגימות
& Nbsp; פלט: "diffexpr.tsv"
& Nbsp; לרוץ:
& Nbsp; # ... לספק קצת קוד פיתון לייצר את הפלט מהקבצים הקלט
& Nbsp; # e.g. קבצי קלט גישה על ידי מדד
& Nbsp; קלט [1]
& Nbsp; ערכים כללי גישה #
& Nbsp; wildcards.sample
& Nbsp; # קלות להפעיל פקודות מעטפת באופן אוטומטי באמצעות מעטפת ברירת המחדל שלך בזמן שיש גישה ישירה
& Nbsp; # לכל המשתנים הגלובליים והמקומיים באמצעות minilanguage הפורמט
& Nbsp; אשכולות = 6
& Nbsp; פגז ("--threads somecommand {אשכולות} {קלט [0]} {פלט [0]}")
לשלוט map_reads:
& Nbsp; # להקצות שמות לקבצי קלט ופלט
& Nbsp; קלט: קורא = "{} מדגם .fastq", hg19 = "hg19.fasta"
& Nbsp; קבצי פלט סימן # להיות לאחר יצירה מוגנת בכתיבה
& Nbsp; פלט: ממופה = מוגן ("{} מדגם .mapped.sai")
& Nbsp; # לחלופין להגדיר הודעות שתופענה במקום תיאור שלטון הגנרית על ביצוע של השלטון:
& Nbsp; הודעה: "מיפוי קורא ל{} input.hg19"
& Nbsp; נושאים: 8
& Nbsp; פגז:
& Nbsp; # ישירות לספק פקודות מעטפת (במחרוזת קו מרובה או בודדת) אם תחביר פיתון אין צורך.
& Nbsp; # שוב, ניתן לגשת משתנים גלובליים ומקומיים באמצעות minilanguage הפורמט.
& Nbsp; # יתר על כן, ניתן לציין מספר הנושאים אשר בשימוש על ידי השלטון. מתזמן snakemake מבטיח כי הכלל הוא לרוץ עם מספר המסוים של נושאים שאם מספיק ליבות נעשות זמינות דרך אפשרות שורת פקודת -j.
& Nbsp; "" "
& Nbsp; BWA AlN -t {אשכולות} {} {input.hg19 input.reads}> {} output.mapped
& Nbsp; כמה --other --command
& Nbsp; "" "
בהתחשב ב" Snakefile "עם תחביר כזה, העבודה יכולה להתבצע (למשל באמצעות עד 6 תהליכים מקבילים) על ידי issueing:
& Nbsp; snakemake -j6 -s Snakefile
לפרטים נוספים, עיין במדריך
מאפיינים :.
- הגדרת תהליכי עבודה באופן טקסטואלי על ידי כתיבת כללים כיצד ליצור פלט קבצים מקבצי קלט בתחביר מבוסס פייתון פשוט. בניגוד לGNU לעשות (שהוא בעיקר מערכת לבנות), snakemake מאפשר שלטון כדי ליצור קבצי פלט מרובים.
כללים
קבצים
יכולים להיות שם קבצים
דרישות :
- Python
תגובות לא נמצא