etmək kimi sistemləri qurmaq tez-tez, məsələn, mürəkkəb axınları yaratmaq üçün istifadə olunur . bioinformatika & nbsp edir; snakemake birlikdə sürətli və rahat icra ətraf mühit ilə, python üslubunda təmiz və müasir domain xüsusi dəqiqləşdirilməsi dili (DSL) təmin etməklə yaradılması axınları mürəkkəbliyi azaltmaq məqsədi daşıyır.
Quraşdırma
- Ubuntu 12.04-də, bizim launchpad deposu mövcud Debian paketi python3-snakemake quraşdıra bilərsiniz.
- Digər sistemləri, siz Python> = 3.2 işçi quraşdırılması lazımdır. Sistem asılı olaraq, sonra easy_install snakemake və ya command line easy_install3 snakemake ya verilməsi ilə snakemake quraşdıra bilərsiniz. Siz administrator güzəşt- yoxsa, easy_install dəlil İstifadəçi nəzər.
- Nəhayət, snakemake əl pypi mənbə kodu arxivi indirerek quraşdırıla bilər.
istifadə
Snakemake bir neçə sonrakı addımlar faylları yaratmaq axınları təsvir etmək üçün sadə DSL təklif edir:
nümunələri = ["01", "02"]
# Isteğe iş görülməlidir bir kataloq müəyyən edir.
workdir: "yol / və / workdir"
# Etmək build hədəfləri kimi çıxış dummy qaydalarını müəyyən oxşar.
bütün idarə:
& Nbsp; input "diffexpr.tsv", ...
ümumiləşdirmək qayda:
& Nbsp; input: nümunələri s "{nümunə} .mapped.bam" .format (nümunə = s)
& Nbsp; çıxdı: "diffexpr.tsv"
& Nbsp; çalıştırın:
& Nbsp; # ... Giriş faylları çıxış istehsal üçün bir python kodu təmin
& Nbsp; # e.g. indeksi daxil giriş faylları
& Nbsp; input [1]
& Nbsp; # giriş wildcard dəyərlər
& Nbsp; wildcards.sample
& Nbsp; # asanlıqla birbaşa çıxışı olan isə avtomatik olaraq default shell istifadə shell əmrləri run
& Nbsp; format minilanguage vasitəsilə bütün yerli və qlobal dəyişənlər #
& Nbsp; mövzuları = 6
& Nbsp; shell ("somecommand --threads {mövzuları} {input [0]} {çıxış [0]}")
map_reads qayda:
& Nbsp; # giriş və çıxış faylları üçün adları təyin
& Nbsp; input: = "{nümunə} .fastq", hg19 = "hg19.fasta" deyilir
& Nbsp; # mark çıxış faylları yazmaq qorunan yaradılması sonra olmaq
& Nbsp; çıxışı: eşlenen = qorunan ("{nümunə} .mapped.sai")
& Nbsp; # İsteğe yerinə qayda icrası barədə ümumi qayda təsviri göstərilir mesajları müəyyən:
& Nbsp; mesaj: "Xəritəçəkmə oxuyur {input.hg19}"
& Nbsp; mövzuları: 8
& Nbsp; shell:
& Nbsp; python syntax lazım deyil, əgər # birbaşa (çox və ya bir line simli) shell əmrləri təmin edir.
& Nbsp; # yenə qlobal və yerli dəyişənlərin format minilanguage vasitəsilə əldə edilə bilər.
& Nbsp; # Bundan başqa, qayda istifadə mövzuları sayı müəyyən edilə bilər. snakemake Scheduler kifayət qədər özəyi -J command line seçimi ilə təqdim edilir, əgər qayda mövzuları müəyyən sıra ilə idarə olunur ki, təmin edir.
& Nbsp; "" "
& Nbsp; bwa ALN -t {mövzuları} {input.hg19} {input.reads}> {output.mapped}
& Nbsp; bir --other --command
& Nbsp; "" "
Belə bir sintaksis ilə "Snakefile" nəzərə alaraq, iş issueing (məsələn 6 paralel proseslərə istifadə edərək) icra edilə bilər:
& Nbsp; snakemake -j6 s Snakefile
Daha ətraflı məlumat üçün Tutorial baxın
Features:.
- necə çıxış yaratmaq üçün qaydaları yazılı bir mətn şəkildə axınları müəyyən sadə python based sintaksis daxil faylları faylları. (Əsasən bir build sistemi) etmək GNU fərqli olaraq, snakemake bir qayda çox çıxış faylları yaratmaq imkan verir.
- Snakemake avtomatik qaydaları istədiyiniz çıxış yaratmaq üçün icra ediləcək lazım olan hesablayır.
- həm də shell based qaydaları, eləcə də bir qayda daxilində tam python syntax dəstəklənir. Shell əmrləri bütün yerli və qlobal python dəyişənlər birbaşa çıxışı var.
- GNU etmək kimi mümkün snakemake paralel qayda edam cədvəli bilər. Bundan əlavə, inter qayda paralelləşdirilməsi daxili qayda paralelləşdirilməsi ilə birlikdə (məsələn, mövzuları) və snakemake istifadə özəyi sayı verilmiş qiymətlərindən artıq deyil ki, təmin edə bilər.
- Files müvəqqəti olaraq qeyd edilə bilər (yəni bir daha lazım deyil bir dəfə edə bilər) və ya müdafiə (yəni yaradılması sonra müdafiə yazmaq olacaq).
- giriş və çıxış faylları çox adlı joker ola bilər.
- giriş və çıxış faylları adlandırıla bilər.
- funksionallığı kimi xəritə-azaltmaq A python siyahısı anlama syntax oxumaq üçün asan istifadə edərək həyata keçirilir.
- eksperimental xüsusiyyət kimi, snakemake (məsələn, qsub Sun Grid Engine üçün) təqdim komanda ifadə edərək çoxluq çalıştırabilirsiniz.
Qayda daxilində onlara müraciət lazımlı olur ki
tələblər
- Python
Şərhlər tapılmadı