Építsd rendszerek, mint a make gyakran létrehozásához használt bonyolult munkafolyamatokat, pl A bioinformatika. & nbsp; snakemake célja, hogy csökkentse a komplexitás megteremtésére munkafolyamatok azáltal, hogy a tiszta és modern szakterület-specifikus specifikációs nyelv (DSL) a python stílus, együtt a gyors és kényelmes futtatási környezetet.
Telepítés
- On Ubuntu 12.04, akkor a Debian csomagot python3-snakemake elérhetők a gyorsindító tárolóból.
- Más rendszereken, szükség van egy működő telepítés Python> = 3,2. Attól függően, hogy a rendszer, akkor majd telepíteni snakemake kiadásával sem easy_install snakemake vagy easy_install3 snakemake a parancssorban. Ha nem rendelkezik rendszergazdai priviledges, vessen egy pillantást az érvet --user a easy_install.
- Végül, snakemake manuálisan telepített letölti a forráskód archívumot pypi.
Használat
Snakemake egy egyszerű DSL leírni munkafolyamatok létrehozhat fájlokat több egymást követő lépéseket:
minták = ["01", "02"]
# Igény szerint a könyvtár, ahol a munkát el kell végezni.
workdir: "path / to / workdir"
# Hasonló, hogy meghatározzák dummy szabályok látják el építeni célokat.
uralkodik az egész:
& Nbsp; input: "diffexpr.tsv", ...
szabály foglalja össze:
& Nbsp; input: "{} minta .mapped.bam" .format (minta = s) az s mintákban
& Nbsp; output: "diffexpr.tsv"
& Nbsp; futtatni:
& Nbsp; # ... nyújt valamilyen python kódot előállítani a kimenetet a bemeneti fájlok
& Nbsp; # például. hozzáférést input fájlok index
& Nbsp; input [1]
& Nbsp; # hozzáférés a helyettesítő értékeket
& Nbsp; wildcards.sample
& Nbsp; # könnyen fut shell parancsok használatával automatikusan az alapértelmezett shell miközben közvetlen hozzáférést
& Nbsp; # az összes helyi és globális változók a Formátum mininyelvet
& Nbsp; threads = 6
& Nbsp; shell ("nyithatjuk --threads {szálak} {input [0]} {kimenet [0]}")
uralkodni map_reads:
& Nbsp; # elnevezését az input és output fájlok
& Nbsp; input: olvasás = "{} minta .fastq", hg19 = "hg19.fasta"
& Nbsp; # jellel kimeneti fájlok írásvédett létrehozása után
& Nbsp; output: térképezni = védeni ("{} minta .mapped.sai")
& Nbsp; # Igény szerint megjelent üzeneteket, mely ahelyett, hogy általános szabály leírását a végrehajtási szabály:
& Nbsp; üzenettel: "Mapping szól, hogy {} input.hg19"
& Nbsp; szálak: 8
& Nbsp; shell:
& Nbsp; # közvetlenül nyújt shell parancsok (egy multi, vagy egyetlen sor string), ha python szintaxis nem szükséges.
& Nbsp; # újra, globális és lokális változók keresztül érhető el, a formátum mininyelvet.
& Nbsp; # További, szálak száma által használt szabály is megadható. A snakemake ütemező biztosítja, hogy a szabály futtatni a megadott szálak számát, ha van elég magok keresztül teszik elérhetővé a -j parancssori opcióval.
& Nbsp; "" "
& Nbsp; BWA aln -t {szálak} {input.hg19} {input.reads}> {output.mapped}
& Nbsp; néhány --Egyéb --command
& Nbsp; "" "
Mivel a "Snakefile" egy ilyen szintaxist, a munkafolyamat elvégezhető (pl segítségével akár 6 párhuzamos folyamatok) által issueing:
& Nbsp; snakemake -j6 -s Snakefile
További részletekért kérjük tekintse meg az útmutatót.
Tulajdonságok :
- Adja meg a munkafolyamatok egy szöveges módon írásban szabályok, hogyan kell létrehozni a kimeneti Fájlok input fájlok egyszerű python alapú szintaxis. Ezzel szemben a GNU make (amely elsősorban a build rendszer), snakemake lehetővé teszi a szabályt, hogy több kimeneti fájlokat.
- Snakemake automatikusan kiszámítja a szabályokat kell végrehajtani, hogy megteremtse a kívánt kimenetet.
- Mindkét shell alapú szabályok, valamint a teljes python szintaxis belsejében egy szabályt támogatott. Shell parancsok közvetlen hozzáférést biztosít az összes helyi és globális python változók.
- Like GNU make, snakemake A menetrend párhuzamos szabály kivégzések, ahol csak lehetséges. Továbbá, többek szabály párhuzamosítás kombinálható belüli szabály párhuzamosítás (pl szállal) és snakemake biztosítja, hogy a használt magok száma nem haladja meg a megadott értéket.
- A fájlok jelölt ideiglenes (azaz törölhető egyszer nincs rá szükség), vagy védett (azaz lesznek írásvédett létrehozás után).
- A bemeneti és kimeneti fájlokat tartalmazhat több megnevezett helyettesítő karaktereket.
- A bemeneti és kimeneti fájlokat lehet elemzi, hogy ezek kezelésével belül a szabályt kéznél lesz.
- A térképet-csökkentésére, mint a funkcionalitást úgy végzik, hogy a könnyen olvasható python lista értése szintaxis.
- A kísérleti állapotban van, snakemake futhat egy klaszter megadásával benyújtja parancsot (pl qsub a Sun Grid Engine).
követelmények :
- Python
Hozzászólás nem található