Pular para o conteúdo principal

teton

Tags: metagenomics classification kraken2 bracken abundance profiling named-workflow

Classificação taxonômica e perfilamento de abundância de reads metagenômicos.

Este fluxo de trabalho realiza classificação metagenômica usando Kraken2 e Bracken, com remoção opcional de reads do hospedeiro usando deacon (padrão), nohuman, ou SRA Human Scrubber. Ele processa reads de sequenciamento metagenômico para estimar tamanhos de genomas bacterianos e separar organismos bacterianos de não bacterianos.

Uso

CLI do teton:

teton \
--input samples.csv \
--outdir results/

Nextflow:

nextflow run bactopia/bactopia/workflows/teton/main.nf \
--input samples.csv \
--outdir results/

Saídas

Arquivos de Saída Esperados

<BACTOPIA_DIR>
├── <SAMPLE_NAME>
│ ├── teton-<TIMESTAMP>
│ │ ├── main
│ │ │ └── gather
│ │ │ ├── <SAMPLE_NAME>-meta.tsv
│ │ │ └── logs
│ │ │ ├── nf.command.{begin,err,log,out,run,sh,trace}
│ │ │ └── versions.yml
│ │ ├── teton-prepare
│ │ │ ├── <SAMPLE_NAME>-sizemeup.txt
│ │ │ ├── <SAMPLE_NAME>.bacteria.tsv
│ │ │ ├── <SAMPLE_NAME>.nonbacteria.tsv
│ │ │ └── logs
│ │ │ ├── nf.command.{begin,err,log,out,run,sh,trace}
│ │ │ └── versions.yml
│ │ └── tools
│ │ └── bracken
│ │ ├── <SAMPLE_NAME>.bracken.abundances.txt
│ │ ├── <SAMPLE_NAME>.bracken.adjusted.abundances.txt
│ │ ├── <SAMPLE_NAME>.bracken.classification.txt
│ │ ├── <SAMPLE_NAME>.bracken.krona.html
│ │ ├── <SAMPLE_NAME>.bracken.report.txt
│ │ ├── <SAMPLE_NAME>.bracken.tsv
│ │ ├── <SAMPLE_NAME>.kraken2.krona.html
│ │ ├── <SAMPLE_NAME>.kraken2.report.txt
│ │ └── logs
│ │ ├── nf.command.{begin,err,log,out,run,sh,trace}
│ │ └── versions.yml
│ └── tools
│ └── scrubber
│ ├── <SAMPLE_NAME>.deacon.json
│ ├── <SAMPLE_NAME>.scrub.report.tsv
│ ├── <SAMPLE_NAME>_R1.scrubbed.fastq.gz
│ ├── <SAMPLE_NAME>_R2.scrubbed.fastq.gz
│ └── logs
│ ├── nf.command.{begin,err,log,out,run,sh,trace}
│ └── versions.yml
├── bactopia-runs
│ └── teton-<TIMESTAMP>
│ ├── merged-results
│ │ ├── bracken-adjusted.tsv
│ │ ├── bracken-species-abundance.tsv
│ │ ├── logs
│ │ │ ├── bracken-adjusted-concat
│ │ │ │ ├── nf.command.{begin,err,log,out,run,sh,trace}
│ │ │ │ └── versions.yml
│ │ │ ├── bracken-species-abundance-concat
│ │ │ │ ├── nf.command.{begin,err,log,out,run,sh,trace}
│ │ │ │ └── versions.yml
│ │ │ ├── meta-concat
│ │ │ │ ├── nf.command.{begin,err,log,out,run,sh,trace}
│ │ │ │ └── versions.yml
│ │ │ ├── scrubber-concat
│ │ │ │ ├── nf.command.{begin,err,log,out,run,sh,trace}
│ │ │ │ └── versions.yml
│ │ │ ├── sizemeup-concat
│ │ │ │ ├── nf.command.{begin,err,log,out,run,sh,trace}
│ │ │ │ └── versions.yml
│ │ │ ├── teton-concat
│ │ │ │ ├── nf.command.{begin,err,log,out,run,sh,trace}
│ │ │ │ └── versions.yml
│ │ │ ├── teton-prepare-concat
│ │ │ │ ├── nf.command.{begin,err,log,out,run,sh,trace}
│ │ │ │ └── versions.yml
│ │ │ └── teton-prepare-nonbacteria-concat
│ │ │ ├── nf.command.{begin,err,log,out,run,sh,trace}
│ │ │ └── versions.yml
│ │ ├── meta.tsv
│ │ ├── scrubber.tsv
│ │ ├── sizemeup.tsv
│ │ ├── teton-prepare-nonbacteria.tsv
│ │ ├── teton-prepare.tsv
│ │ └── teton.tsv
│ └── nf-reports
│ ├── teton-dag.dot
│ ├── teton-report.html
│ └── teton-timeline.html
└── merged-results
├── <SAMPLE_NAME>.tsv
└── logs
└── <SAMPLE_NAME>-join
├── nf.command.{begin,err,log,out,run,sh,trace}
└── versions.yml

Resultados por Amostra

ArquivoDescrição
bacteria.tsvArquivos TSV por amostra contendo organismos bacterianos e suas propriedades
nonbacteria.tsvArquivos TSV por amostra contendo organismos não bacterianos
sizemeup.tsvArquivos TSV por amostra com estimativas de tamanho de genoma

Resultados Consolidados

ArquivoDescrição
merged-bacteria.tsvArquivo TSV consolidado de todos os organismos bacterianos entre amostras
merged-nonbacteria.tsvArquivo TSV consolidado de todos os organismos não bacterianos entre amostras
merged-sizemeup.tsvArquivo TSV consolidado de estimativas de tamanho de genoma entre amostras
report.tsvArquivo TSV combinado unindo resultados de scrubber e classificação

Trilha de Auditoria

A seguir estão os arquivos que podem ajudá-lo a entender quais parâmetros e versões de programas foram utilizados.

Logs

Cada processo executado terá uma pasta chamada logs. Nessa pasta há arquivos úteis para revisar caso seja necessário.

ExtensãoDescrição
.beginUm arquivo vazio usado para indicar que o processo foi iniciado
.errContém as saídas STDERR do processo
.logContém as saídas STDERR e STDOUT do processo
.outContém as saídas STDOUT do processo
.runO script que o Nextflow usa para preparar/desfazer arquivos e enfileirar processos com base no perfil fornecido
.shO script executado pelo bash para o processo
.traceO relatório de rastreamento do Nextflow para o processo
versions.ymlUm arquivo formatado em YAML com as versões dos programas

Relatórios do Nextflow

Esses relatórios do Nextflow fornecem um excelente resumo da sua execução. Eles podem ser usados para otimizar o uso de recursos e estimar custos esperados ao utilizar plataformas em nuvem.

Nome do arquivoDescrição
teton-dag.dotA visualização DAG do Nextflow
teton-report.htmlO Relatório de Execução do Nextflow
teton-timeline.htmlO Relatório de Linha do Tempo do Nextflow
teton-trace.txtO relatório de Rastreamento do Nextflow

Parâmetros

Parâmetros Obrigatórios

Os parâmetros a seguir são como você fornecerá amostras locais ou remotas para serem processadas pelo Bactopia.

ParâmetroTipoPadrãoDescrição
--samplesstringUm FOFN (via bactopia prepare) com nomes de amostras e caminhos para FASTQ/FASTAs a processar
--r1stringPrimeiro conjunto de reads Illumina paired-end comprimidos (gzip) (requer --r2 e --sample)
--r2stringSegundo conjunto de reads Illumina paired-end comprimidos (gzip) (requer --r1 e --sample)
--sestringReads Illumina single-end comprimidos (gzip) (requer --sample)
--ontstringReads Oxford Nanopore comprimidos (gzip) (requer --sample)
--hybridbooleanfalseCriar montagem híbrida usando Unicycler. (requer --r1, --r2, --ont e --sample)
--short_polishbooleanfalseCriar montagem híbrida a partir de montagem de reads longos e polimento com reads curtos. (requer --r1, --r2, --ont e --sample)
--samplestringNome da amostra a ser usado para as sequências de entrada
--accessionsstringUm arquivo contendo acessões de Experimento ENA/SRA ou acessões de Assembly NCBI para processar
--accessionstringNome da amostra a ser usado para as sequências de entrada
--assemblystringUm genoma montado em formato FASTA comprimido. (requer --sample)
--check_samplesbooleanfalseValidar o FOFN de entrada fornecido por --samples

Parâmetros de Coleta

ParâmetroTipoPadrãoDescrição
--skip_fastq_checkbooleanIgnorar verificações de requisitos mínimos para FASTQs de entrada
--min_basepairsinteger2241820A quantidade mínima de pares de bases necessária para continuar as análises posteriores.
--min_readsinteger7472A quantidade mínima de reads necessária para continuar as análises posteriores.
--min_coverageinteger10A cobertura mínima necessária para continuar as análises posteriores.
--min_proportionnumber0.5A proporção mínima de pares de bases para reads paired-end continuar as análises posteriores.
--min_genome_sizeinteger100000O tamanho mínimo estimado do genoma permitido para a sequência de entrada continuar as análises posteriores.
--max_genome_sizeinteger18040666O tamanho máximo estimado do genoma permitido para a sequência de entrada continuar as análises posteriores.
--attemptsinteger3Número máximo de tentativas de download
--use_enabooleanBaixar FASTQs da ENA
--no_cachebooleanIgnorar o cache do arquivo de resumo de montagem do ncbi-genome-download

Parâmetros do csvtk concat

ParâmetroTipoPadrãoDescrição
--csvtk_concat_optsstringOpções extras do csvtk concat entre aspas

Parâmetros do csvtk join

ParâmetroTipoPadrãoDescrição
--csvtk_join_optsstringOpções extras do csvtk join entre aspas

Parâmetros do SRA Human Scrubber

ParâmetroTipoPadrãoDescrição
--use_srascrubberbooleanfalseUsar SRAHumanScrubber para remover reads humanos

Parâmetros de Download do Nohuman

ParâmetroTipoPadrãoDescrição
--nohuman_dbstringCaminho para o banco de dados nohuman ou diretório para baixá-lo
--nohuman_db_versionstringVersão do banco de dados para baixar (padrão: versão mais recente do HPRC)
--nohuman_save_as_tarballbooleanfalseSalvar o banco de dados nohuman como um tarball
--download_nohumanbooleanfalseBaixar o banco de dados nohuman para o caminho fornecido por --nohuman_db

Parâmetros de Execução do Nohuman

ParâmetroTipoPadrãoDescrição
--nohuman_dbstringCaminho para o diretório do banco de dados nohuman ou tarball
--nohuman_confidencenumber0.0Pontuação mínima de confiança do Kraken2 para classificação (0.0-1.0)
--nohuman_humanbooleanfalseInverter saída para manter apenas reads humanos em vez de removê-los
--nohuman_save_reportbooleanfalseSalvar o relatório de classificação do Kraken2

Parâmetros de Obtenção do Deacon

ParâmetroTipoPadrãoDescrição
--deacon_index_namestringpanhuman-1Nome do índice deacon pré-construído a ser obtido
--download_deaconbooleanfalseBaixar o índice deacon para o cache de datasets
--use_deaconbooleanfalseUsar deacon para filtragem de reads do hospedeiro

Parâmetros de Filtragem do Deacon

ParâmetroTipoPadrãoDescrição
--deacon_abs_thresholdinteger2Número absoluto mínimo de acertos de minimizadores para uma correspondência
--deacon_dbstringCaminho para um índice deacon pré-existente (.idx) para filtragem de reads do hospedeiro
--deacon_depletebooleantrueDescartar sequências correspondentes em vez de mantê-las
--deacon_optsstringOpções adicionais do deacon filter não cobertas por outros parâmetros
--deacon_prefix_lengthinteger0Pesquisar apenas os primeiros N nucleotídeos por sequência (0 para todos)
--deacon_rel_thresholdnumber0.01Proporção relativa mínima (0.0-1.0) de acertos de minimizadores para uma correspondência

Parâmetros do Kraken2 e Bracken

ParâmetroTipoPadrãoDescrição
--kraken2_dbstringUm único tarball ou caminho para um banco de dados no formato Kraken2
--kraken2_quick_modebooleanfalseOperação rápida (usar primeiro acerto ou acertos)
--kraken2_confidencenumber0.0Limiar de pontuação de confiança entre 0 e 1
--kraken2_minimum_base_qualityinteger0Qualidade mínima de base usada na classificação
--kraken2_use_mpa_stylebooleanfalseFormatar saída do relatório como o kraken-mpa-report do Kraken 1
--kraken2_report_zero_countsbooleanfalseReportar contagens para TODOS os táxons, mesmo que as contagens sejam zero
--kraken2_report_minimizer_databooleanfalseIncluir informações de minimizadores e contagem de minimizadores distintos no relatório
--kraken2_use_namesbooleanfalseImprimir nomes científicos em vez de apenas taxids
--kraken2_memory_mappingbooleanfalseEvitar carregar o banco de dados na RAM
--kraken2_minimum_hit_groupsinteger2Número mínimo de grupos de acertos necessários para fazer uma classificação
--kraken2_keep_filtered_readsbooleanfalseManter os FASTQs classificados e não classificados produzidos pelo Kraken2
--kraken2_keep_raw_outputbooleanfalseManter o arquivo STDOUT produzido pelo Kraken2
--bracken_read_lengthinteger0Comprimento de read para obter todas as classificações (0 = determinar em tempo de execução)
--bracken_levelstringSNível para estimar a abundância
--bracken_thresholdinteger0Reads necessários ANTES da estimativa de abundância para realizar a reestimativa
--bracken_max_secondary_percentnumber0.01A porcentagem máxima de abundância para a espécie secundária; se excedida, a amostra permanecerá não classificada
--bracken_skip_kronabooleanfalseIgnorar a criação de um relatório Krona
Parâmetros de Dataset

Define onde o pipeline deve encontrar os dados de entrada e salvar os dados de saída.

ParâmetroTipoPadrãoDescrição
--speciesstringNome da espécie para usar o dataset específico da espécie
--ask_merlinbooleanPedir ao Merlin para executar ferramentas Bactopia específicas para a espécie com base nas distâncias Mash
--coverageinteger100Reduzir amostras a uma dada cobertura, requer um tamanho de genoma
--genome_sizeinteger0Tamanho esperado do genoma (bp) para todas as amostras, necessário para correção de erros de leitura e subamostragem de reads
--use_baktabooleanUsar Bakta para anotação, em vez de Prokka
Parâmetros Opcionais

Esses parâmetros opcionais podem ser úteis em determinadas situações.

ParâmetroTipoPadrãoDescrição
--outdirstringbactopiaDiretório base para salvar os resultados
--skip_compressionbooleanfalseOs arquivos de saída não serão comprimidos
--datasetsstringO caminho para armazenar em cache os datasets
--keep_all_filesbooleanfalseMantém todos os arquivos de análise criados
Parâmetros de Requisição Máxima de Jobs

Define o limite máximo de recursos solicitados para qualquer job individual.

ParâmetroTipoPadrãoDescrição
--max_retryinteger3Número máximo de tentativas de um processo antes de permitir que ele falhe.
--max_cpusinteger4Número máximo de CPUs que podem ser solicitadas para qualquer job individual.
--max_memorystring128.GBQuantidade máxima de memória que pode ser solicitada para qualquer job individual.
--max_timestring240.hQuantidade máxima de tempo que pode ser solicitada para qualquer job individual.
--max_downloadsinteger3Número máximo de amostras para baixar ao mesmo tempo
Parâmetros de Configuração do Nextflow

Parâmetros para ajustar a configuração do Nextflow.

ParâmetroTipoPadrãoDescrição
--nfconfigstringUm arquivo de configuração compatível com Nextflow para perfis personalizados, carregado por último e que substituirá variáveis existentes se definido.
--publish_dir_modestringcopyMétodo usado para salvar os resultados do pipeline no diretório de saída. (opções: symlink, rellink, link, copy, copyNoFollow, move)
--infodirstring${params.outdir}/pipeline_infoDiretório para manter os logs e relatórios do Nextflow do pipeline.
--forcebooleanfalseO Nextflow substituirá arquivos de saída existentes.
--cleanup_workdirbooleanfalseApós a execução bem-sucedida do Bactopia, o diretório work será excluído.
Opções de configuração institucional

Parâmetros usados para descrever perfis de configuração centralizados. Estes não devem ser editados.

ParâmetroTipoPadrãoDescrição
--custom_config_versionstringmasterID de commit Git para configurações institucionais.
--custom_config_basestringhttps://raw.githubusercontent.com/nf-core/configs/masterDiretório base para configurações institucionais.
--config_profile_namestringNome do perfil de configuração institucional.
--config_profile_descriptionstringDescrição do perfil de configuração institucional.
--config_profile_contactstringInformações de contato do perfil de configuração institucional.
--config_profile_urlstringURL do perfil de configuração institucional.
Parâmetros de Perfil do Nextflow

Parâmetros para ajustar a configuração do Nextflow.

ParâmetroTipoPadrãoDescrição
--condadirstringDiretório que o Nextflow deve usar para ambientes Conda
--registrystringquay.ioRegistro para baixar contêineres Docker.
--datasets_cachestring<HOME>/.bactopia/datasetsDiretório onde os datasets baixados devem ser armazenados.
--singularity_cachestringDiretório onde imagens Singularity remotas são armazenadas.
--singularity_pull_docker_containerbooleanEm vez de baixar imagens Singularity diretamente para uso com Singularity, forçar o fluxo de trabalho a baixar e converter contêineres Docker.
--force_rebuildbooleanfalseForçar a substituição de ambientes pré-construídos existentes.
--queuestringgeneral,high-memoryNome(s) separado(s) por vírgula da(s) fila(s) a ser(em) usada(s) por um agendador de jobs (ex.: AWS Batch ou SLURM)
--cluster_optsstringOpções adicionais para passar ao executor. (ex.: SLURM: '--account=my_acct_name')
--container_optsstringOpções adicionais para passar ao Apptainer, Docker ou Singularity. (ex.: Singularity: '-D pwd')
--disable_scratchbooleanfalseTodos os arquivos intermediários criados nos nós de trabalho serão transferidos para o nó principal.
Parâmetros Úteis

Parâmetros raramente usados que podem ser úteis.

ParâmetroTipoPadrãoDescrição
--monochrome_logsbooleanNão usar saídas de log coloridas.
--nfdirbooleanImprimir o diretório para o qual o Nextflow baixou o Bactopia
--sleep_timeinteger5O tempo (em segundos) que o Nextflow aguardará após configurar os datasets antes da execução.
--validate_paramsbooleantrueBooleano que indica se os parâmetros devem ser validados contra o esquema em tempo de execução
--helpbooleanExibir texto de ajuda.
--wfstringbactopiaEspecificar qual fluxo de trabalho ou Bactopia Tool executar
--list_wfsbooleanListar os fluxos de trabalho e Bactopia Tools disponíveis para usar com '--wf'
--show_hidden_paramsbooleanMostrar todos os parâmetros ao usar --help
--help_allbooleanUm alias para --help --show_hidden_params
--versionbooleanExibir texto da versão.

Composição

Este fluxo de trabalho usa os seguintes subworkflows:

  • bactopia_gather - Pesquisar, validar, coletar e padronizar amostras de entrada.
  • teton - Realizar classificação taxonômica e estimar tamanhos de genomas bacterianos.

Citações

Se você usar este fluxo de trabalho em sua análise, por favor cite os seguintes trabalhos.

Fonte

Ver código-fonte no GitHub