Pular para o conteúdo principal

pangenome

Tags: alignment core-genome pan-genoma phylogeny comparative-genomics bactopia-tool

Análise de pan-genoma com filogenia do genoma-core opcional.

Esta Bactopia Tool cria um pan-genoma a partir de arquivos de anotação GFF3 utilizando uma de três ferramentas: Panaroo (padrão), PIRATE, ou Roary. Ela gera alinhamentos do genoma-core e matrizes de presença/ausência de genes, seguidos de cálculos de distância SNP. Você pode complementar seu pan-genoma com genomas completos usando os parâmetros --species ou --accessions, que baixam genomas do RefSeq e os anotam com Prokka. Uma filogenia baseada no alinhamento do genoma-core é criada pelo IQ-Tree, com mascaramento opcional de recombinação usando ClonalFrameML. Por fim, estudos de associação em escala de pan-genoma podem ser realizados usando Scoary.

Uso

Bactopia CLI:

bactopia --wf pangenome \
--bactopia /path/to/your/bactopia/results

Nextflow:

nextflow run bactopia/bactopia/workflows/bactopia-tools/pangenome/main.nf \
--bactopia /path/to/your/bactopia/results

Saídas

Arquivos de Saída Esperados

<BACTOPIA_DIR>
└── <SAMPLE_NAME>
└── pangenome-<TIMESTAMP>
├── clonalframeml
│ ├── core-genome.ML_sequence.fasta.gz
│ ├── core-genome.em.txt
│ ├── core-genome.emsim.txt
│ ├── core-genome.importation_status.txt
│ ├── core-genome.labelled_tree.newick
│ ├── core-genome.position_cross_reference.txt.gz
│ └── logs
│ ├── nf.command.{begin,err,log,out,run,sh,trace}
│ └── versions.yml
├── core-genome.distance.tsv
├── core-genome.masked.aln.gz
├── core-genome.masked.distance.tsv
├── core-genome.treefile
├── iqtree
│ ├── core-genome.alninfo.gz
│ ├── core-genome.bionj
│ ├── core-genome.ckp.gz
│ ├── core-genome.contree
│ ├── core-genome.iqtree
│ ├── core-genome.log
│ ├── core-genome.mldist
│ ├── core-genome.splits.nex
│ ├── core-genome.ufboot
│ └── logs
│ ├── nf.command.{begin,err,log,out,run,sh,trace}
│ └── versions.yml
├── iqtree-fast
│ ├── logs
│ │ ├── nf.command.{begin,err,log,out,run,sh,trace}
│ │ └── versions.yml
│ ├── roary.bionj
│ ├── roary.ckp.gz
│ ├── roary.iqtree
│ ├── roary.log
│ ├── roary.mldist
│ ├── roary.model.gz
│ └── roary.treefile
├── nf-reports
│ ├── pangenome-dag.dot
│ ├── pangenome-report.html
│ └── pangenome-timeline.html
├── roary
│ ├── accessory.header.embl
│ ├── accessory.tab
│ ├── accessory_binary_genes.fa.gz
│ ├── accessory_binary_genes.fa.newick
│ ├── accessory_graph.dot
│ ├── blast_identity_frequency.Rtab
│ ├── clustered_proteins
│ ├── core_accessory.header.embl
│ ├── core_accessory.tab
│ ├── core_accessory_graph.dot
│ ├── core_alignment_header.embl
│ ├── core_gene_alignment.aln.gz
│ ├── gene_presence_absence.Rtab
│ ├── gene_presence_absence.csv
│ ├── logs
│ │ ├── nf.command.{begin,err,log,out,run,sh,trace}
│ │ └── versions.yml
│ ├── number_of_conserved_genes.Rtab
│ ├── number_of_genes_in_pan_genome.Rtab
│ ├── number_of_new_genes.Rtab
│ ├── number_of_unique_genes.Rtab
│ ├── pan_genome_reference.fa.gz
│ └── summary_statistics.txt
├── roary.aln.gz
├── scoary
│ ├── Bogus_trait.results.csv
│ ├── Tetracycline_resistance.results.csv
│ └── logs
│ ├── nf.command.{begin,err,log,out,run,sh,trace}
│ ├── scoary.log
│ └── versions.yml
├── snpdists
│ └── logs
│ ├── nf.command.{begin,err,log,out,run,sh,trace}
│ └── versions.yml
└── snpdists-masked
└── logs
├── nf.command.{begin,err,log,out,run,sh,trace}
└── versions.yml

Resultados do Pan-genoma

ArquivoDescrição
*.alnArquivo de alinhamento do genoma-core contendo genes presentes em todos os genomas de entrada
*.csvMatriz de presença/ausência de genes mostrando quais genes estão presentes em cada genoma
*.tsvMatriz de distância SNP entre todas as amostras

Resultados da Filogenia

Nota

Criado apenas se --skip_phylogeny não estiver habilitado

ArquivoDescrição
*.treefileÁrvore filogenética de máxima verossimilhança no formato Newick
*.iqtreeRelatório de análise IQ-Tree com seleção de modelo e valores de suporte
*.logLog de execução do IQ-Tree

Análise de Recombinação

Nota

Criado apenas se --skip_recombination não estiver habilitado

ArquivoDescrição
*.masked.alnAlinhamento do genoma-core com regiões de recombinação mascaradas

Análise de Associação

Nota

Criado apenas se --scoary_traits for especificado

ArquivoDescrição
scoary/*Resultados e gráficos da análise de associação do Scoary

Resultados do Panaroo

Nota

Criado apenas quando Panaroo é selecionado como ferramenta de pan-genoma

ArquivoDescrição
panaroo/*Arquivos de saída específicos do Panaroo, incluindo grafo e estatísticas

Resultados do PIRATE

Nota

Criado apenas quando PIRATE é selecionado como ferramenta de pan-genoma

ArquivoDescrição
pirate/*Arquivos de saída específicos do PIRATE, incluindo famílias e clusters de genes

Resultados do Roary

Nota

Criado apenas quando Roary é selecionado como ferramenta de pan-genoma

ArquivoDescrição
roary/*Arquivos de saída específicos do Roary, incluindo matrizes de presença/ausência de genes

Trilha de Auditoria

Abaixo 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 necessário.

ExtensãoDescrição
.beginArquivo 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/remover 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.ymlArquivo no formato 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 usar plataformas em nuvem.

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

Parâmetros

Parâmetros Obrigatórios

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

ParâmetroTipoPadrãoDescrição
--bactopiastringO caminho para os resultados do Bactopia a serem usados como entrada

Parâmetros de Download de Genomas do NCBI

ParâmetroTipoPadrãoDescrição
--speciesstringNome da espécie para baixar montagens
--accessionstringUm número de acesso de montagem do NCBI a ser baixado
--accessionsstringUm arquivo de números de acesso de montagem do NCBI (um por linha) a serem baixados
--formatstringfastaLista de formatos separada por vírgulas para baixar
--sectionstringrefseqSeção do NCBI para baixar
--assembly_levelstringcompleteLista de níveis de montagem separada por vírgulas para baixar
--kingdomstringbacteriaLista de formatos separada por vírgulas para baixar
--limitstringLimitar o número de montagens a serem baixadas
--keep_downloadsbooleanfalseSalvar arquivos baixados na pasta bactopia-runs

Parâmetros do Prokka

ParâmetroTipoPadrãoDescrição
--prokka_proteinsstringArquivo FASTA de proteínas confiáveis para anotar primeiro
--prokka_prodigal_tfstringArquivo de treinamento a ser usado pelo Prodigal
--prokka_compliantbooleanfalseForçar conformidade com Genbank/ENA/DDJB
--prokka_centrestringBactopiaID do centro de sequenciamento
--prokka_coverageinteger80Cobertura mínima na proteína de consulta
--prokka_evaluestring1e-09Corte de e-value de similaridade
--prokka_optsstringOpções extras do Prokka entre aspas.
--prokka_debugbooleanfalseHabilitar modo de depuração para Prokka

Parâmetros do PIRATE

ParâmetroTipoPadrãoDescrição
--use_piratebooleanfalseUsar PIRATE em vez de Panaroo no subworkflow 'pangenome'
--pirate_stepsstring50,60,70,80,90,95,98Limiares de identidade percentual para construção do pan-genoma
--pirate_featuresstringCDSCaracterísticas delimitadas por vírgulas para construção do pan-genoma
--pirate_para_offbooleanfalseDesativar identificação de parálogos
--pirate_zbooleanfalseManter todos os arquivos intermediários do PIRATE
--pirate_pan_optstringArgumentos adicionais para a construção do pan-genoma.

Parâmetros do Roary

ParâmetroTipoPadrãoDescrição
--roary_use_prankbooleanfalseUsar PRANK em vez de MAFFT para gene core
--use_roarybooleanfalseUsar Roary em vez de PIRATE no subworkflow 'pangenome'
--roary_iinteger95Percentual mínimo de identidade para blastp
--roary_cdinteger99Percentual de isolados em que um gene deve estar para ser core
--roary_ginteger50000Número máximo de clusters
--roary_sbooleanfalseNão dividir parálogos
--roary_apbooleanfalsePermitir parálogos no alinhamento core
--roary_ivnumber1.5Valor de inflação MCL

Parâmetros de Execução do Panaroo

ParâmetroTipoPadrãoDescrição
--panaroo_modestringstrictO modo de rigorosidade para executar o Panaroo (opções: strict, moderate, sensitive)
--panaroo_alignmentstringcoreSaída de alinhamentos de genes core ou todos os genes (opções: core, pan)
--panaroo_alignerstringmafftAlinhador a ser usado para alinhamento do genoma core/pan (opções: mafft, prank, clustal)
--panaroo_core_thresholdnumber0.95Limiar de amostras do genoma-core
--panaroo_thresholdnumber0.98Limiar de identidade de sequência
--panaroo_family_thresholdnumber0.7Limiar de identidade de sequência de família de proteínas
--panaroo_len_dif_percentnumber0.98Corte de diferença de comprimento
--panaroo_merge_paralogsbooleanfalseNão dividir parálogos
--panaroo_optsstringOpções adicionais para passar ao Panaroo

Parâmetros do SNP-Dists

ParâmetroTipoPadrãoDescrição
--snpdists_abooleanfalseContar todas as diferenças, não apenas [AGTC]
--snpdists_bbooleanfalseManter a célula do canto superior esquerdo
--snpdists_csvbooleanfalseGerar CSV em vez de TSV
--snpdists_kbooleanfalseManter capitalização, não converter todas as letras para maiúsculas

Parâmetros do ClonalFrameML

ParâmetroTipoPadrãoDescrição
--clonalframeml_emsiminteger100Número de simulações para estimar a incerteza nos resultados do EM
--clonalframeml_optsstringOpções extras do ClonalFrameML entre aspas
--skip_recombinationbooleanfalseIgnorar execução do ClonalFrameML nos subworkflows

Parâmetros do IQ-TREE

ParâmetroTipoPadrãoDescrição
--iqtree_modelstringHKYNome do modelo de substituição
--iqtree_bbinteger1000Réplicas de bootstrap ultrafast
--iqtree_alrtinteger1000Réplicas do teste de razão de verossimilhança aproximado semelhante ao SH
--iqtree_asrbooleanfalseReconstrução de estado ancestral por Bayes empírico
--iqtree_optsstringOpções extras do IQ-TREE entre aspas.
--skip_phylogenybooleanfalseIgnorar execução do IQ-TREE nos subworkflows

Parâmetros do Scoary

ParâmetroTipoPadrãoDescrição
--scoary_traitsstringTabela de características de entrada (CSV) para testar associações
--scoary_p_value_cutoffnumber0.05Para testes estatísticos, genes com p-valores maiores não serão reportados
--scoary_correctionstringIAplicar a medida de filtragem indicada. (opções: I, B, BH, PW, EPW, P)
--scoary_permuteinteger0Realizar N permutações dos resultados significativos pós-análise
--scoary_start_colinteger15Em qual coluna do arquivo de presença/ausência de genes começam as informações de cada isolado
Parâmetros de Filtragem

Use estes parâmetros para especificar quais amostras incluir ou excluir.

ParâmetroTipoPadrãoDescrição
--includestringUm arquivo de texto contendo nomes de amostras (um por linha) a incluir na análise
--excludestringUm arquivo de texto contendo nomes de amostras (um por linha) a excluir da análise
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.hTempo máximo que pode ser solicitado para qualquer job individual.
--max_downloadsinteger3Número máximo de amostras a baixar simultaneamente
Parâmetros de Configuração do Nextflow

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

ParâmetroTipoPadrãoDescrição
--nfconfigstringUm arquivo de configuração compatível com Nextflow para perfis personalizados, carregado por último e 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 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 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 sua configuração do Nextflow.

ParâmetroTipoPadrãoDescrição
--condadirstringDiretório que o Nextflow deve usar para ambientes Conda
--registrystringquay.ioRegistro de onde baixar os contêineres 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, 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) 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 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.
--nfdirbooleanExibir 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_paramsbooleantrueSe deve validar os parâmetros 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 de versão.

Composição

Este fluxo de trabalho utiliza os seguintes subworkflows:

  • clonalframeml - Detectar e mascarar eventos de recombinação em filogenias bacterianas.
  • iqtree - Construir árvores filogenéticas de máxima verossimilhança a partir de alinhamentos.
  • ncbigenomedownload - Baixar genomas bacterianos do banco de dados RefSeq do NCBI.
  • pangenome - Realizar análise de pan-genoma com filogenia do genoma-core opcional.
  • prokka - Anotar genomas bacterianos com informações funcionais.
  • scoary - Estudos de associação em escala de pan-genoma.

Citações

Se você usar isto em sua análise, por favor cite o seguinte.

Fonte

Ver fonte no GitHub