snakemake

Screenshot der Software:
snakemake
Softwarebeschreibung:
Version: 2.5
Upload-Datum: 20 Feb 15
Entwickler: Johannes Koster
Lizenz: Frei
Popularität: 10

Rating: 4.0/5 (Total Votes: 1)

Build Systemen wie Make werden häufig verwendet, um komplizierte Arbeitsabläufe, zum Beispiel zu erstellen in der Bioinformatik. & nbsp; snakemake zielt darauf ab, die Komplexität der Erstellung von Workflows, indem sie eine saubere und moderne domänenspezifische Spezifikationssprache (DSL) in python-Stil zusammen mit einer schnellen und komfortablen Ausführungsumgebung reduzieren.
Installation
- Unter Ubuntu 12.04, können Sie das Debian-Paket python3-snakemake in unserer Launchpad Repository installieren.
- Auf anderen Systemen müssen Sie ein Installation von Python> = 3.2. Abhängig von Ihrem System haben, können Sie installieren snakemake, indem Sie entweder easy_install snakemake oder easy_install3 snakemake in der Befehlszeile. Wenn Sie nicht über Administrator-Rechte, haben einen Blick auf das Argument --user von easy_install.
- Schließlich snakemake kann manuell durch Herunterladen des Quellcodes Archiv von pypi installiert werden.
Verwendung
Snakemake bietet eine einfache DSL-Workflows, die Dateien in mehreren aufeinander folgenden Schritten erstellen zu beschreiben:
Proben = ["01", "02"]
# Optional ein Verzeichnis, in dem die Arbeiten durchgeführt werden sollen.
workdir: "path / to / workdir"
# Ähnlich zu machen, definieren Dummy Regeln, die als Build-Ziele zu handeln.
Regel alle:
& Nbsp; Eingabe: "diffexpr.tsv", ...
Regel zusammenfassen:
& Nbsp; Eingabe: "{} Probe .mapped.bam" .format (sample = s) für s in Proben
& Nbsp; Ausgabe: "diffexpr.tsv"
& Nbsp; laufen:
& Nbsp; # ... bieten einige Python-Code, um die Ausgabe von den Eingabedateien erzeugen
& Nbsp; # z. Zugang Eingabedateien nach Index
& Nbsp; Eingang [1]
& Nbsp; # Zugang Wildcard-Werte
& Nbsp; wildcards.sample
& Nbsp; # leicht laufen Shell-Befehle automatisch mit Standard-Shell, während mit direktem Zugang
& Nbsp; # auf alle lokalen und globalen Variablen über das Format minilanguage
& Nbsp; threads = 6
& Nbsp; Schale ("somecommand --threads {Themen} {Eingabe [0]} {Ausgang [0]}")
schen map_reads:
& Nbsp; # zuweisen Namen für Ein- und Ausgabedateien
& Nbsp; Eingabe: liest = "{} .fastq Probe", HG19 = "hg19.fasta"
& Nbsp; # Marke Ausgabedateien schreibgeschützt nach der Schöpfung
& Nbsp; Ausgang: kartiert = geschützt ("{} .mapped.sai Probe")
& Nbsp; # Optional definieren Nachrichten, die anstelle von generischen Regelbeschreibung auf die Ausführung der Regel angezeigt werden:
& Nbsp; Meldung: "Mapping liest {input.hg19}"
& Nbsp; Themen: 8
& Nbsp; Shell:
& Nbsp; # direkt liefern Shell-Befehle (in einem mehr oder einzelne Zeile), wenn Python-Syntax ist nicht erforderlich.
& Nbsp; # wieder, globale und lokale Variablen können über das Format minilanguage zugegriffen werden.
& Nbsp; # Weitere, Anzahl der Threads, die von der Regel verwendet werden, können angegeben werden. Die snakemake Scheduler sorgt dafür, dass die Regel mit der angegebenen Anzahl von Threads ausgeführt werden, wenn genug Kerne zur Verfügung über die Befehlszeilenoption -j gemacht.
& Nbsp; "" "
& Nbsp; BWA aln -t {Themen} {} {input.hg19 input.reads}> {output.mapped}
& Nbsp; einige --other --command
& Nbsp; "" "
Bei einer "Snakefile" mit einer solchen Syntax kann der Workflow durch Verlegerung ausgeführt werden (zB bis zu 6 mit parallelen Prozessen):
& Nbsp; snakemake -j6 -s Snakefile
Weitere Einzelheiten entnehmen Sie bitte dem Tutorial

Eigenschaften .

  • Arbeitsabläufe in einer textlichen Weise definieren, indem er Regeln, wie die Ausgabe zu erstellen Dateien aus Eingabedateien auf einfache Python basierte Syntax. Im Gegensatz zu GNU make (das in erster Linie ein Build-System ist), ermöglicht snakemake eine Regel mehrere Ausgabedateien zu erstellen.
  • Snakemake berechnet automatisch, welche Regeln müssen durchgeführt werden, um die gewünschte Ausgabe zu erstellen.
  • Sowohl Shell basierte Regeln sowie die vollständige Python-Syntax innerhalb der Regel wird unterstützt. Shell-Befehle haben direkten Zugriff auf alle lokalen und globalen Python-Variablen.
  • Wie GNU machen, können snakemake parallel Regel Hinrichtungen zu planen, wo möglich. Ferner kann unter Regel Parallelisierung mit inner Regel Parallelisierung kombiniert werden (zB Fäden) und snakemake stellt sicher, dass die Anzahl der verwendeten Kerne nicht den vorgegebenen Wert nicht überschreiten.
  • Die Dateien können als temporäre markiert werden (dh sie können sofort gelöscht werden nicht mehr benötigt) oder geschützt (dh sie werden nach der Erstellung schreib geschützt werden).
  • Ein- und Ausgabedateien können mehrere benannte Platzhalter enthalten.
  • Ein- und Ausgabedateien können benannt werden, so dass ihnen Rechnung in der Regel nützlich wird.
  • Eine Karte-ähnliche Funktionalität zu reduzieren wird mit dem einfach zu python Liste Verständnis Syntax lesen erreicht.
  • Als experimentelle Funktion, snakemake können auf einem Cluster, indem Sie den Befehl senden (zB qsub für Sun Grid Engine) ausgeführt werden.

Anforderungen :

  • Python

Ähnliche Software

AREM
AREM

11 May 15

SSuMMo
SSuMMo

14 Apr 15

MetagenomeDB
MetagenomeDB

12 May 15

Andere Software von Entwickler Johannes Koster

TRMiner
TRMiner

14 Apr 15

Kommentare zu snakemake

Kommentare nicht gefunden
Kommentar hinzufügen
Schalten Sie auf die Bilder!