snakemake

Skjermbilde programvare:
snakemake
Prog.varedetaljer:
Versjon: 2.5
Last opp dato: 20 Feb 15
Utvikler: Johannes Koster
Lisens: Gratis
Popularitet: 10

Rating: 4.0/5 (Total Votes: 1)

Bygg systemer som gjør blir ofte brukt til å lage komplisert arbeidsflyt, f.eks i bioinformatikk. & nbsp; snakemake mål å redusere kompleksiteten i å lage arbeidsflyter ved å gi en ren og moderne domenespesifikk spesifikasjon språk (DSL) i python stil, sammen med en rask og behagelig miljø utførelse.
Installasjon
- På Ubuntu 12.04, kan du installere Debian pakken python3-snakemake tilgjengelig i vår start depotet.
- På andre systemer, trenger du en fungerende installasjon av Python> = 3.2. Avhengig av systemet ditt, kan du deretter installere snakemake ved å utstede enten easy_install snakemake eller easy_install3 snakemake i kommandolinjen. Hvis du ikke har administrator priviledges, ta en titt på argumentet --user av easy_install.
- Endelig kan snakemake installeres manuelt ved å laste ned kildekoden arkivet fra PyPI.
Bruk
Snakemake tilbyr en enkel DSL å beskrive arbeidsflyter som skaper filer i flere påfølgende trinn:
prøver = ["01", "02"]
# Eventuelt definere en katalog hvor arbeidet skal gjøres.
workdir: "sti / til / workdir"
# Lignende for å gjøre, definere dummy regler som fungerer som bygge mål.
utelukke alle:
& Nbsp; innspill: "diffexpr.tsv", ...
herske oppsummere:
& Nbsp; innspill: "{sample} .mapped.bam" .format (eksempel = er) for s i prøvene
& Nbsp; utgang: "diffexpr.tsv"
& Nbsp; kjøre:
& Nbsp; # ... gi noen python kode for å produsere den sendes ut fra innspill filer
& Nbsp; # f.eks. tilgang innspill filer etter indeks
& Nbsp; inngang [1]
& nbsp; # tilgang joker verdier
& Nbsp; wildcards.sample
& Nbsp; # enkelt kjøre skallkommandoer automatisk med ditt standard shell mens du har direkte tilgang
& Nbsp; # til alle lokale og globale variabler via formatet minilanguage
& Nbsp; tråder = 6
& Nbsp; shell ("somecommand --threads {tråder} {inngang [0]} {utgang [0]}")
herske map_reads:
& Nbsp; # tildele navn for input og output filer
& Nbsp; inngang: leser = "{prøve} .fastq", hg19 = "hg19.fasta"
& Nbsp; # mark utdatafiler å være skrivebeskyttet etter etableringen
& Nbsp; utgang: kartlagt = beskyttet ("{prøve} .mapped.sai")
& Nbsp; # Alternativt definere meldinger som vises i stedet for generisk regel beskrivelse på gjennomføringen av regelen:
& Nbsp; budskap: "Kartlegging leser til {input.hg19}"
& nbsp; tråder: 8
& Nbsp; shell:
& Nbsp; # direkte gi shell-kommandoer (i en multi eller enkelt linje streng) hvis python syntaks ikke er nødvendig.
& Nbsp; # igjen, kan nås globale og lokale variabler via formatet minilanguage.
& Nbsp; # Videre kan antall tråder som brukes av regelen angis. Den snakemake planleggeren sørger for at regelen er kjørt med det angitte antall tråder hvis nok kjerner er gjort tilgjengelig via den j kommandolinjealternativet.
& Nbsp; "" "
& Nbsp; bwa aln -t {tråder} {input.hg19} {input.reads}> {output.mapped}
& Nbsp; noen --Andre --command
& Nbsp; "" "
Gitt en "Snakefile" med en slik syntaks, kan arbeidsflyten skal utføres (f.eks ved hjelp av opp til seks parallelle prosesser) ved issueing:
& Nbsp; snakemake -j6 -s Snakefile
For mer informasjon vennligst se Tutorial

Egenskaper .

  • Definer arbeidsflyten i en tekstlig måte ved å skrive regler hvordan å lage utgang filer fra input-filer i en enkel python basert syntaks. I motsetning til GNU gjøre (som er først og fremst en bygge system), gjør snakemake en regel for å opprette flere utdatafiler.
  • Snakemake beregner automatisk hvilke regler som må utføres for å skape den ønskede effekt.
  • Både skall baserte regler samt full python syntaks inne i en regel er støttet. Shell-kommandoer har direkte tilgang til alle lokale og globale python variabler.
  • Som GNU gjøre, kan snakemake planlegge parallelle regel henrettelser der det er mulig. Videre kan inter regel parallellise kombineres med intra regel parallellisering (f.eks tråder) og snakemake sikrer at antall brukte kjerner ikke overstiger den gitte verdien.
  • Filer kan merkes som midlertidig (dvs. at de kan slettes så snart ikke trengs lenger) eller beskyttet (dvs. de vil bli skrivebeskyttet etter skapelsen).
  • Input og output filer kan inneholde flere navngitte jokertegn.
  • Input og output filer kan bli navngitt slik at møte dem inne i regelen blir hendig.
  • Et kart-redusere lignende funksjonalitet oppnås ved hjelp av lett å lese python liste forståelse syntaks.
  • Som en eksperimentell funksjon, snakemake kan kjøre på en klynge ved å spesifisere sende kommandoen (f.eks qsub for Sun Grid Engine).

Krav :

  • Python

Lignende programvare

NetAtlas
NetAtlas

2 Jun 15

Pathomx
Pathomx

17 Feb 15

Staden Package
Staden Package

12 May 15

Annen programvare fra utvikleren Johannes Koster

TRMiner
TRMiner

14 Apr 15

Kommentarer til snakemake

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!