snakemake

Screenshot Software:
snakemake
Szczegóły programowe:
Wersja: 2.5
Filmu: 20 Feb 15
Wywoływacz: Johannes Koster
Licencja: Wolny
Popularność: 10

Rating: 4.0/5 (Total Votes: 1)

Budowanie systemów, takich jak marki są często wykorzystywane do tworzenia skomplikowanych przepływów pracy, m.in. w bioinformatyce. & nbsp; snakemake ma na celu zmniejszenie złożoności tworzenia przepływów pracy, zapewniając czyste i nowoczesne specyficzny język specyfikacji domeny (DSL) w stylu Pythona, wraz z szybkim i wygodnym środowisku wykonania.
instalacji
- Na Ubuntu 12.04, można zainstalować pakiet Debiana python3-snakemake dostępne w repozytorium startera.
- W innych systemach, należy instalację pracy Python> = 3.2. W zależności od systemu, możesz zainstalować snakemake wydając ani easy_install snakemake lub easy_install3 snakemake w linii poleceń. Jeśli nie masz przywileje administratora, zajrzyj na --user argument easy_install.
- Wreszcie, snakemake może być ręcznie zainstalować po pobraniu archiwum z kodem źródłowym z PyPI.
Zastosowanie
Snakemake oferuje proste DSL do opisania przepływów pracy, które tworzą pliki w kilku kolejnych etapach:
próbki = ["01", "02"]
# Opcjonalnie określić katalog, w którym praca powinna być wykonywana.
WORKDIR: "ścieżka / do / WORKDIR"
# Podobna do wykonania, określenie sztuczne zasady, które działają jako cele kompilacji.
rządzić wszystkim:
& Nbsp; wejście: "diffexpr.tsv", ...
rządzić Podsumowując:
& Nbsp; wejście: "{próbka} .mapped.bam" .format (przykładowe = s) dla s w próbkach
& Nbsp; wyjście: "diffexpr.tsv"
& Nbsp; uruchom:
& Nbsp; # ... dostarczyć niektóre kodu Pythona do produkcji wyjście z plików wejściowych
& Nbsp; # np. pliki wejściowe dostępu przez indeks
& Nbsp; wejście [1]
& nbsp; # wartości Dostęp wieloznacznych
& Nbsp; wildcards.sample
& Nbsp; # łatwo uruchomić za pomocą polecenia powłoki automatycznie domyślną powłokę, mając jednocześnie bezpośredni dostęp
& Nbsp; # do wszystkich lokalnych i globalnych zmiennych za pośrednictwem minilanguage formacie
& Nbsp; nici = 6
& Nbsp; powłoki ("--threads somecommand nici} {{Wejście [0]} {wyjścia [0]}")
rządzić map_reads:
& Nbsp; # przypisanie nazwy plików wejściowych i wyjściowych
& Nbsp; wejście: czyta próbki = "{} .fastq" = ", hg19 hg19.fasta"
& Nbsp; # pliki wyjściowe znak jest chroniony przed zapisem po utworzeniu
& Nbsp; wyjście: odwzorowane = chronione ("{próbka} .mapped.sai")
& Nbsp; # Opcjonalnie zdefiniować wiadomości, które są wyświetlane, a nie opis rodzaju przepis na realizację zasady:
& Nbsp; komunikat: "Mapowanie czyta {input.hg19}"
& nbsp; wątków: 8
& Nbsp; Powłoka:
& Nbsp; # bezpośrednio dostarczyć poleceń powłoki (w multi lub pojedynczej linii łańcucha), jeśli składni Pythona nie jest potrzebne.
& Nbsp; # znowu, zmienne globalne i lokalne mogą być dostępne poprzez minilanguage formatu.
& Nbsp; # Ponadto, liczba wątków używanych przez reguły można określić. Snakemake harmonogram zapewnia, że ​​reguła jest uruchamiany o określonej liczby wątków, jeśli wystarczająca ilość rdzeni są udostępniane za pomocą opcji wiersza poleceń -j.
& Nbsp; "" "
& Nbsp; BWA aln -t {wątki} {} {input.reads input.hg19}> {output.mapped}
& Nbsp; niektóre --Pozostałe --command
& Nbsp; "" "
Biorąc pod uwagę "Snakefile" z taką składnią, przepływu pracy mogą być wykonywane (np używając do 6 równoległych procesów) przez issueing:
& Nbsp; snakemake -j6 -s Snakefile
Aby uzyskać więcej informacji zapoznaj się z samouczkiem

Opis .

  • Definiowanie przepływów pracy w sposób tekstowy pisząc zasady jak stworzyć wyjście Pliki z plików wejściowych w składni Pythona opartej na prostych. W przeciwieństwie do GNU make (co jest przede wszystkim system budowania), snakemake pozwala reguła utworzyć wiele plików wyjściowych.
  • Snakemake automatycznie oblicza, które przepisy muszą być wykonane, aby stworzyć pożądany wynik.

  • Zasady oparte
  • Obie powłoki, jak również pełne python składni wewnątrz reguły jest obsługiwany. Polecenia powłoki mają bezpośredni dostęp do wszystkich lokalnych i globalnych zmiennych Pythona.
  • Jak GNU make, może snakemake zaplanować równoległych egzekucji reguł, gdzie to możliwe. Ponadto, między regułą zrównoleglanie można łączyć z reguły parallelization wewnątrz (np wątków) i snakemake zapewnia, że ​​liczba używanych rdzeni nie przekracza określonej wartości.
  • Pliki mogą być oznaczony jako tymczasowy (to znaczy mogą być usunięte po nie już potrzebne) lub zabezpieczone (tzn będą one zabezpieczone przed zapisem po stworzeniu).

  • Pliki
  • wejściowe i wyjściowe mogą zawierać wiele nazwanych symboli wieloznacznych.

  • Pliki
  • wejścia i wyjścia mogą być nazwane tak, że zajęcie się nimi wewnątrz reguły staje się przydać.
  • map-zmniejszyć jak funkcjonalność jest realizowane przy użyciu łatwy do odczytania listy składni Pythona rozumienie.
  • Jako funkcji eksperymentalnych, snakemake może pracować w klastrze podając polecenie przedstawienia (np qsub Sun Grid Engine).

Wymagania :

  • Python

Podobne oprogramowanie

mpiBLAST
mpiBLAST

3 Jun 15

Geant4
Geant4

20 Feb 15

bein
bein

12 May 15

Inne programy z deweloperem Johannes Koster

TRMiner
TRMiner

14 Apr 15

Komentarze do snakemake

Komentarze nie znaleziono
Dodaj komentarz
Włącz zdjęć!