snakemake

Tela Software:
snakemake
Detalhes de Software:
Versão: 2.5
Data de upload: 20 Feb 15
Revelador: Johannes Koster
Licença: Livre
Popularidade: 10

Rating: 4.0/5 (Total Votes: 1)

Construir sistemas como o make são freqüentemente usados ​​para criar fluxos de trabalho complexos, por exemplo, em bioinformática. & nbsp; snakemake visa reduzir a complexidade da criação de fluxos de trabalho, fornecendo uma linguagem limpa e moderna de domínio específico especificação (DSL) em grande estilo python, juntamente com um ambiente de execução rápida e confortável.
Instalação
- No Ubuntu 12.04, você pode instalar o pacote Debian python3-snakemake disponível em nosso repositório Launchpad.
- Em outros sistemas, você precisa de uma instalação funcional do Python> = 3,2. Dependendo do seu sistema, você pode então instalar snakemake emitindo easy_install snakemake ou easy_install3 snakemake na linha de comando. Se você não tem privilégios de administrador, ter um olhar para o argumento --user de easy_install.
- Finalmente, snakemake pode ser instalado manualmente baixando o arquivo de código-fonte do pypi.
Uso
Snakemake oferece uma DSL simples de descrever os fluxos de trabalho que criam arquivos em várias etapas subseqüentes:
amostras = ["01", "02"]
# Opcionalmente definir um diretório onde o trabalho deve ser feito.
workdir: "path / to / workdir"
# Semelhante para fazer, definir regras de manequim que atuam como alvos de compilação.
governar tudo:
& Nbsp; de entrada: "diffexpr.tsv", ...
governar resumir:
& Nbsp; de entrada: "{} amostra .mapped.bam" .format (amostra = s) para s em amostras
& Nbsp; de saída: "diffexpr.tsv"
& Nbsp; execute:
& Nbsp; # ... fornecer algum código python para produzir a saída dos arquivos de entrada
& Nbsp; # por exemplo. arquivos de entrada de acesso por índice
& Nbsp; de entrada [1]
& nbsp; # valores acesso curinga
& Nbsp; wildcards.sample
& Nbsp; # facilmente executar comandos shell automaticamente usando seu shell default ao ter acesso directo
& Nbsp; # para todas as variáveis ​​locais e globais através do minilinguagem formato
& Nbsp; threads = 6
& Nbsp; shell ("--threads alguma_coisa {threads} {input [0]} {saída [0]}")
governar map_reads:
& Nbsp; # atribuir nomes para arquivos de entrada e de saída
& Nbsp; de entrada: lê = "{} amostra .fastq", hg19 = "hg19.fasta"
& Nbsp; # arquivos de saída marca a ser após a criação protegido contra gravação
& Nbsp; de saída: mapeada = protegido ("{} amostra .mapped.sai")
& Nbsp; # Opcionalmente definir mensagens que são exibidas em vez de descrição da regra genérica sobre a execução da regra:
& Nbsp; mensagem: "Mapeamento lê para {input.hg19}"
& nbsp; tópicos: 8
& Nbsp; shell:
& Nbsp; # fornecer diretamente comandos shell (em uma cadeia de vários ou única linha) se sintaxe python não é necessário.
& Nbsp; # novamente, as variáveis ​​globais e locais podem ser acessados ​​através do minilinguagem formato.
& Nbsp; # Além disso, o número de threads utilizados pela regra pode ser especificado. O planejador snakemake garante que a regra é executada com o número especificado de threads se núcleos suficientes são disponibilizados através da opção de linha de comando -j.
& Nbsp; "" "
& Nbsp; BWA ALN -t {threads} {} {input.hg19 input.reads}> {} output.mapped
& Nbsp; alguns --outros --command
& Nbsp; "" "
Dada a "Snakefile" com tal sintaxe, o fluxo de trabalho pode ser executado (por exemplo, usando até 6 processos paralelos) por issueing:
& Nbsp; snakemake -j6 -s Snakefile
Para mais detalhes consulte o Tutorial

Características :.

  • Definir os fluxos de trabalho de uma forma textual por regras por escrito, como para criar uma saída arquivos de arquivos de entrada em uma sintaxe baseada python simples. Em contraste com o GNU make (que é basicamente um sistema de compilação), snakemake permite uma regra para criar vários arquivos de saída.
  • Snakemake calcula automaticamente quais as regras precisam ser executadas para criar a saída desejada.

  • Regras baseadas
  • tanto a Shell, assim como sintaxe python completo dentro de uma regra é suportado. Comandos Shell têm acesso direto a todas as variáveis ​​python locais e globais.
  • Como o GNU make, snakemake pode agendar as execuções de regras paralelas sempre que possível. Além disso, entre regra paralelização pode ser combinado com intra regra paralelização (por exemplo, threads) e snakemake garante que o número de núcleos usados ​​não exceda o valor dado.
  • Os arquivos podem ser marcadas como temporária (ou seja, eles podem ser excluídos quando não mais necessários) ou protegidos (ou seja, eles vão ser protegido contra gravação após a criação).

  • Arquivos
  • entrada e de saída pode conter vários curingas nomeados.

  • Arquivos
  • entrada e de saída pode ser chamado assim que enfrentá-los no interior do Estado torna-se útil.
  • A Map-Reduce como funcionalidade é realizado usando o fácil de ler python sintaxe lista compreensão.
  • Como um recurso experimental, snakemake pode ser executado em um cluster, especificando o comando de envio (por exemplo qsub para Sun Grid Engine).

Requisitos :

  • Python

Programas semelhantes

Seal
Seal

14 Apr 15

Staden Package
Staden Package

12 May 15

pyNetConv
pyNetConv

3 Jun 15

MACS2
MACS2

20 Feb 15

Outro software de desenvolvedor Johannes Koster

TRMiner
TRMiner

14 Apr 15

Comentário para snakemake

Comentários não encontrado
Adicionar comentário
Ligue imagens!