snakemake

Software screenshot:
snakemake
Software detaljer:
Version: 2.5
Upload dato: 20 Feb 15
Udvikler: Johannes Koster
Licens: Gratis
Popularitet: 10

Rating: 4.0/5 (Total Votes: 1)

Byg systemer som make ofte bruges til at skabe komplicerede arbejdsgange, f.eks i bioinformatik. & nbsp; snakemake har til formål at reducere kompleksiteten af ​​skabe arbejdsgange ved at give en ren og moderne domænespecifik specifikation sprog (DSL) i python stil, sammen med en hurtig og behagelig udførelse miljø.
Installation
- På Ubuntu 12.04, kan du installere Debian-pakke python3-snakemake tilgængelige i vores Launchpad repository.
- På andre systemer, du har brug for en arbejdsgruppe installation af Python> = 3,2. Afhængigt af dit system, kan du derefter installere snakemake ved at udstede enten easy_install snakemake eller easy_install3 snakemake i kommandolinjen. Hvis du ikke har administratorrettigheder priviledges, har et kig på det argument --user af easy_install.
- Endelig snakemake kan installeres manuelt ved at downloade kildekoden arkivet fra pypi.
Anvendelse
Snakemake tilbyder en enkel DSL til at beskrive arbejdsgange, der skaber filer i flere efterfølgende trin:
prøver = ["01", "02"]
# Eventuelt definere en mappe, hvor arbejdet skal udføres.
workdir: "sti / til / workdir"
# Ligner gøre definere dummy regler, der fungerer som build mål.
regere alle:
& Nbsp; input: "diffexpr.tsv", ...
herske opsummere:
& Nbsp; input: "{prøve} .mapped.bam" .format (prøve = s) for s i prøver
& Nbsp; output: "diffexpr.tsv"
& Nbsp; kører:
& Nbsp; # ... give nogle python kode for at producere output fra inddatafilerne
& Nbsp; # f.eks. adgang input filer efter indeks
& Nbsp; input [1]
& nbsp; # adgang wildcard værdier
& Nbsp; wildcards.sample
& Nbsp; # nemt køre skal-kommandoer automatisk ved hjælp af din standard shell samtidig have direkte adgang
& Nbsp; # for alle lokale og globale variabler via format minilanguage
& Nbsp; tråde = 6
& Nbsp; shell ("somecommand --threads {tråde} {input [0]} {output [0]}")
herske map_reads:
& Nbsp; # tildele navne til input og output-filer
& Nbsp; input: læser = "{prøve} .fastq", hg19 = "hg19.fasta"
& Nbsp; # mark output filer til at være skrivebeskyttet efter oprettelsen
& Nbsp; output: kortlagt = beskyttet ("{prøve} .mapped.sai")
& Nbsp; # Eventuelt definere meddelelser, der vises i stedet for generiske regel beskrivelse på eksekvering af reglen:
& Nbsp; message: "Kortlægning læser til {input.hg19}"
& nbsp; tråde: 8
& Nbsp; skal:
& Nbsp; # direkte give shell-kommandoer (i en multi eller enkelt snor), hvis python syntaks ikke er nødvendig.
& Nbsp; # igen, globale og lokale variabler kan tilgås via formatet minilanguage.
& Nbsp; # Endvidere kan antallet af tråde, der bruges af den regel angives. Den snakemake scheduler sikrer, at reglen drives med det angivne antal tråde hvis nok kerner til rådighed via -j kommandolinjen option.
& Nbsp; "" "
& Nbsp; BWA ALN -t {tråde} {input.hg19} {input.reads}> {output.mapped}
& Nbsp; nogle --Andre --command
& Nbsp; "" "
Givet en "Snakefile" med sådan en syntaks, kan workflowet udføres (f.eks bruge op til 6 parallelle processer) ved issueing:
& Nbsp; snakemake -j6 -s Snakefile
For flere detaljer se venligst Tutorial

Egenskaber :.

  • Definer arbejdsgange i en tekstuel måde ved at skrive regler, hvordan man skaber output filer fra input filer på en enkel python baseret syntaks. I modsætning til GNU gøre (som primært er et byggesystem), snakemake tillader en regel for at oprette flere output-filer.
  • Snakemake beregner automatisk, hvilke regler der skal udføres for at skabe den ønskede effekt.
  • Både shell baserede regler samt fuld python syntaks inde i en regel understøttes. Shell kommandoer har direkte adgang til alle lokale og globale Python variabler.
  • Ligesom GNU gøre, kan snakemake planlægge parallelle regel henrettelser hvor det er muligt. Endvidere kan blandt regel parallelisering kombineres med intra regel parallelisering (f.eks tråde) og snakemake sikrer, at antallet af anvendte kerner ikke overstiger den givne værdi.
  • Filer kan markeres som midlertidig (dvs. de kan slettes, når der ikke behov for nogen mere) eller beskyttet (dvs. de vil blive skrivebeskyttet efter oprettelsen).
  • Input og output-filer kan indeholde flere navngivne wildcards.
  • Input og output-filer kan navngives, så tage dem inde reglen bliver handy.
  • Et kort-reducere lignende funktionalitet opnås ved at bruge den let at læse python liste forståelse syntaks.
  • Som en eksperimentel funktion, snakemake kan køre på en klynge ved at angive indsende kommandoen (f.eks qsub for Sun Grid Engine).

Krav :

  • Python

Lignende software

Andre software developer Johannes Koster

TRMiner
TRMiner

14 Apr 15

Kommentarer til snakemake

Kommentarer ikke fundet
Tilføj kommentar
Tænd billeder!