Pular para o conteúdo principal

cleanyerreads

Tags: reads quality-control trimming filtering host-removal preprocessing named-workflow

Controle de qualidade e remoção opcional de reads do hospedeiro a partir de reads de sequenciamento brutos.

Este fluxo de trabalho realiza um controle de qualidade abrangente dos reads, incluindo trimagem, remoção de adaptadores, filtragem por qualidade e, opcionalmente, remove contaminação do hospedeiro utilizando deacon, nohuman, ou SRA Human Scrubber. Ele processa reads de sequenciamento brutos para produzir reads limpos e de alta qualidade, prontos para análises subsequentes.

Uso

CLI do clean-yer-reads:

clean-yer-reads \
--input samples.csv \
--outdir results/

Nextflow:

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

Saídas

Arquivos de Saída Esperados

<BACTOPIA_DIR>
├── <SAMPLE_NAME>
│ ├── main
│ │ ├── gather
│ │ │ ├── <SAMPLE_NAME>-meta.tsv
│ │ │ └── logs
│ │ │ ├── nf.command.{begin,err,log,out,run,sh,trace}
│ │ │ └── versions.yml
│ │ └── qc
│ │ ├── <SAMPLE_NAME>_SE.fastq.gz
│ │ ├── logs
│ │ │ ├── <SAMPLE_NAME>-fastp.log
│ │ │ ├── nf.command.{begin,err,log,out,run,sh,trace}
│ │ │ └── versions.yml
│ │ └── supplemental
│ │ ├── <SAMPLE_NAME>.fastp.html
│ │ ├── <SAMPLE_NAME>.fastp.json
│ │ ├── <SAMPLE_NAME>_SE-final.json
│ │ ├── <SAMPLE_NAME>_SE-final_fastqc.html
│ │ ├── <SAMPLE_NAME>_SE-final_fastqc.zip
│ │ ├── <SAMPLE_NAME>_SE-original.json
│ │ ├── <SAMPLE_NAME>_SE-original_fastqc.html
│ │ └── <SAMPLE_NAME>_SE-original_fastqc.zip
│ └── tools
│ └── srahumanscrubber
│ ├── <SAMPLE_NAME>.scrub.report.tsv
│ ├── <SAMPLE_NAME>.scrubbed.fastq.gz
│ └── logs
│ ├── nf.command.{begin,err,log,out,run,sh,trace}
│ └── versions.yml
└── bactopia-runs
└── cleanyerreads-<TIMESTAMP>
├── merged-results
│ ├── logs
│ │ ├── 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
│ ├── meta.tsv
│ └── scrubber.tsv
└── nf-reports
├── cleanyerreads-dag.dot
├── cleanyerreads-report.html
└── cleanyerreads-timeline.html

Relatórios de Controle de Qualidade

ArquivoDescrição
supplemental/*_fastqc.*Relatórios FastQC para reads brutos e limpos
supplemental/*-NanoPlot.*Relatórios NanoPlot para reads Nanopore
supplemental/*.fastp.*Relatórios de qualidade do Fastp (quando aplicável)
supplemental/*_original.jsonMétricas de qualidade dos reads originais
supplemental/*_final.jsonMétricas de qualidade dos reads finais

Reads Limpos

ArquivoDescrição
*.fastq.gzReads com controle de qualidade aplicado e trimados
*.unclassified.fastq.gzReads descontaminados do hospedeiro (se o scrubber estiver habilitado)

Descontaminação do Hospedeiro

Nota

Criado apenas quando a remoção do hospedeiro está habilitada

ArquivoDescrição
*.kraken2.report.txtRelatório de classificação do Kraken2
*.scrub.report.tsvRelatório de contaminação humana

Trilha de Auditoria

Abaixo estão os arquivos que podem ajudar você a entender quais parâmetros e versões de programas foram utilizados.

Logs

Cada processo executado terá uma pasta chamada logs. Nesta pasta estão arquivos úteis para revisão caso 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 definido
.shO script executado pelo bash para o processo
.traceO relatório de rastreamento do Nextflow para o processo
versions.ymlUm arquivo no formato YAML com as versões dos programas

Relatórios do Nextflow

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

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

Parâmetros

Parâmetros Obrigatórios

Os parâmetros a seguir são a forma de 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 FASTQ comprimidos (gzip) (requer --r2 e --sample)
--r2stringSegundo conjunto de reads Illumina paired-end FASTQ comprimidos (gzip) (requer --r1 e --sample)
--sestringReads Illumina single-end FASTQ comprimidos (gzip) (requer --sample)
--ontstringReads Oxford Nanopore FASTQ 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 long-reads com polimento por short reads. (requer --r1, --r2, --ont e --sample)
--samplestringNome da amostra a ser usado para as sequências de entrada
--accessionsstringUm arquivo contendo acessões de Experimentos ENA/SRA ou acessões de montagens NCBI a serem processadas
--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 Gather

ParâmetroTipoPadrãoDescrição
--skip_fastq_checkbooleanPular 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 subsequentes.
--min_readsinteger7472A quantidade mínima de reads necessária para continuar as análises subsequentes.
--min_coverageinteger10A cobertura mínima necessária para continuar as análises subsequentes.
--min_proportionnumber0.5A proporção mínima de pares de bases para reads paired-end continuar as análises subsequentes.
--min_genome_sizeinteger100000O tamanho mínimo estimado do genoma permitido para a sequência de entrada continuar as análises subsequentes.
--max_genome_sizeinteger18040666O tamanho máximo estimado do genoma permitido para a sequência de entrada continuar as análises subsequentes.
--attemptsinteger3Número máximo de tentativas de download
--use_enabooleanBaixar FASTQs do ENA
--no_cachebooleanPular 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 de QC

ParâmetroTipoPadrãoDescrição
--use_bbmapbooleanReads Illumina serão submetidos ao controle de qualidade usando BBMap
--use_porechopbooleanfalseUsar Porechop para remover adaptadores de reads ONT
--skip_qcbooleanA etapa de QC será ignorada e será assumido que as sequências de entrada já passaram pelo QC.
--skip_qc_plotsbooleanA criação de gráficos de QC pelo FastQC ou Nanoplot será ignorada
--skip_error_correctionbooleanA correção de erros de reads pelo FLASH será ignorada.
--adaptersstringUm arquivo FASTA contendo adaptadores a serem removidos
--adapter_kinteger23Comprimento do kmer usado para encontrar adaptadores.
--phixstringGenoma de referência do phiX174 a ser removido
--phix_kinteger31Comprimento do kmer usado para encontrar phiX174.
--ktrimstringrTrimar reads para remover bases correspondentes a kmers de referência (opções: f, r, l)
--minkinteger11Procurar kmers mais curtos nas pontas dos reads até este comprimento, durante k-trimagem ou mascaramento.
--hdistinteger1Distância máxima de Hamming para kmers de referência (apenas substituições)
--tpestringtDurante a k-trimagem pela direita, trimar ambos os reads para o comprimento mínimo de qualquer um deles (opções: f, t)
--tbostringtTrimar adaptadores com base na região de sobreposição dos reads paired (opções: f, t)
--qtrimstringrlTrimar extremidades dos reads para remover bases com qualidade abaixo de trimq. (opções: rl, f, r, l, w)
--trimqinteger6Regiões com qualidade média ABAIXO deste valor serão trimadas se qtrim estiver definido como diferente de f
--maqinteger10Reads com qualidade média (após trimagem) abaixo deste valor serão descartados
--minlengthinteger35Reads mais curtos que este valor após a trimagem serão descartados
--ftminteger5Se positivo, trimar o comprimento pela direita para ser igual a zero, módulo este número
--tossjunkstringtDescartar reads com caracteres inválidos como bases (opções: f, t)
--ainstringfAo detectar nomes de pares, permitir nomes idênticos (opções: f, t)
--qoutstring33Offset PHRED a ser usado para FASTQs de saída (opções: 33, 64)
--maxcorinteger1Número máximo de correções dentro de uma janela de 20bp
--sampleseedinteger42Definir um número positivo para usar como semente do gerador de números aleatórios para amostragem
--ont_minlengthinteger1000Reads ONT mais curtos que este valor serão descartados
--ont_minqualinteger0Filtro de qualidade média mínima dos reads ONT
--porechop_optsstringOpções extras do Porechop entre aspas
--nanoplot_optsstringOpções extras do NanoPlot entre aspas
--bbduk_optsstringOpções extras do BBDuk entre aspas
--fastp_optsstringOpções extras do fastp 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 do nohuman ou diretório para baixá-lo
--nohuman_db_versionstringVersão do banco de dados a ser baixada (padrão: versão mais recente do HPRC)
--nohuman_save_as_tarballbooleanfalseSalvar o banco de dados do nohuman como um tarball
--download_nohumanbooleanfalseBaixar o banco de dados do nohuman para o caminho indicado em --nohuman_db

Parâmetros de Execução do Nohuman

ParâmetroTipoPadrãoDescrição
--nohuman_dbstringCaminho para o diretório ou tarball do banco de dados do nohuman
--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 Download do Deacon

ParâmetroTipoPadrãoDescrição
--deacon_index_namestringpanhuman-1Nome do índice pré-construído do deacon a ser baixado
--download_deaconbooleanfalseBaixar o índice do 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 mínimo absoluto de hits de minimizador 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 hits de minimizador para uma correspondência
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 espécie-específico
--ask_merlinbooleanPedir ao Merlin para executar ferramentas Bactopia espécie-específicas com base nas distâncias Mash
--coverageinteger100Reduzir amostras para uma cobertura determinada, requer um tamanho de genoma
--genome_sizeinteger0Tamanho esperado do genoma (bp) para todas as amostras, necessário para correção de erros de reads e subamostramento de reads
--use_baktabooleanUsar Bakta para anotação, em vez de Prokka
Parâmetros Opcionais

Estes 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 a serem baixadas simultaneamente
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 irá sobrescrever 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 logs e relatórios do Nextflow do pipeline.
--forcebooleanfalseO Nextflow irá sobrescrever 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 do 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 da configuração institucional.
--config_profile_descriptionstringDescrição da configuração institucional.
--config_profile_contactstringInformações de contato da configuração institucional.
--config_profile_urlstringLink de URL da 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 de onde baixar os containers Docker.
--datasets_cachestring<HOME>/.bactopia/datasetsDiretório onde os datasets baixados devem ser armazenados.
--singularity_cachestringDiretório onde as imagens Singularity remotas são armazenadas.
--singularity_pull_docker_containerbooleanEm vez de baixar diretamente imagens Singularity para uso com Singularity, forçar o fluxo de trabalho a baixar e converter containers Docker.
--force_rebuildbooleanfalseForçar a sobrescrita de ambientes pré-construídos existentes.
--queuestringgeneral,high-memoryNome(s) da(s) fila(s) separados por vírgula a serem usados por um agendador de jobs (ex: AWS Batch ou SLURM)
--cluster_optsstringOpções adicionais a serem passadas ao executor. (ex: SLURM: '--account=my_acct_name'
--container_optsstringOpções adicionais a serem passadas 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 em relação ao schema 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 utiliza os seguintes subworkflows:

  • bactopia_gather - Pesquisar, validar, reunir e padronizar amostras de entrada.
  • bactopia_qc - Realizar controle de qualidade abrangente em reads de sequenciamento.
  • scrubber - Remover sequências contaminantes de dados metagenômicos.

Citações

Se você usar este fluxo de trabalho em sua análise, por favor cite o seguinte.

Fonte

Ver fonte no GitHub