Biblioteca das mutações

TB-Profiler vem com um banco de dados padrão. O desenvolvimento da biblioteca de mutação está hospedado no repositório tbdb. Visite este repositório se você deseja se envolver com o banco de dados ou modificar e criar o seu próprio.

Por que existe um repositório github separado?

Com pipelines de análise praticamente padronizados, é evidente que a acurácia da predição é afetada principalmente pela biblioteca subjacente de mutações. À medida que novas evidências para a inclusão ou exclusão de mutações são geradas, há uma necessidade constante de atualizar e reavaliar a biblioteca de mutações. Além disso, é importante que o controle da biblioteca fique nas mãos dos usuários finais. Ao hospedar a biblioteca em um repositório separado (em vez de ocultado profundamente no código da ferramenta para criação de perfil), fica mais fácil descobrir exatamente quais mutações estão presentes. Além disso, o github tem uma série de recursos úteis que podem ser utilizados:

  • Todas as alterações na biblioteca são rastreadas e podem ser facilmente revertidas para versões anteriores.

  • Os usuários podem levantar questões ou discutir a biblioteca usando a seção de problemas (issues) do repositório github.

  • Diferentes versões da biblioteca podem ser mantidas usando Forks, permitindo que os usuários experimentem a biblioteca sem afetar o projeto principal. Essas alterações podem ser mescladas no repositório principal após as alterações serem revisadas.

  • Vários usuários / desenvolvedores podem contribuir para a biblioteca.

tl;dr – Hospedando este separadamente torna mais fácil atualizar a biblioteca.

Quer contribuir?

Se você acha que uma mutação deve ser removida ou adicionada, indique e questione aqui. Se você quiser ajudar na curadoria da biblioteca, deixe um comentário aqui.

Adicionando/removendo mutações

As mutações podem ser adicionadas enviando uma pull request (PR) com o arquivo tbdb.csv modificado. Se a frase anterior não fazia sentido para você, você pode sugerir uma alteração usando um problema e tentaremos ajudar. Ao enviar uma solicitação pull, o tbdb_bot calculará automaticamente a confiança das mutações em questão e enviará os resultados como um comentário sobre o pull request (como este). Todas as verificações tbdb_bot devem ser aprovadas, pelo menos duas revisões devem ser solicitadas e, após a revisão, podem ser mescladas no master branch.

Como funciona?

As mutações estão listadas em tbdb.csv. Eles são analisados por parse_db.py para gerar o banco de dados formatado em json usado pelo TBProfiler junto com mais alguns arquivos. Mutações podem ser removidas e adicionadas de tbdb.csv e uma nova biblioteca pode ser construída usando parse_db.py.

tbdb.csv

Este é um arquivo CSV que deve conter os seguintes cabeçalhos de coluna:

  1. Gene - podem ser os nomes dos genes (por exemplo, rpoB) ou locus tag (por exemplo, Rv0667).

  2. Mutação - deve seguir a nomenclatura hgvs. Mais informações abaixo.

  3. Droga - Nome da droga.

  4. Literatura - Qualquer literatura que forneça evidências para a mutação. Eu recomendaria usar identificações (IDs) do Pubmed (por exemplo, PMC3315572), mas, em teoria, qualquer coisa pode ser adicionada aqui. Várias entradas podem ser separadas com ";".

As três primeiras colunas devem conter um valor, porém a literatura pode permanecer vazia. Colunas adicionais podem ser incluídas e serão construídas na biblioteca json, e podem ser geradas nos resultados do tb-profiler.

Formato da mutação

As mutações devem seguir a nomenclatura HGVS. Informações sobre este formato podem ser encontradas aqui. Os seguintes tipos de mutações são permitidos atualmente:

  • Substituições de aminoácidos. Exemplo: S450L em rpoB seria p.Ser450Leu

  • Deleções em genes. Exemplo: a deleção do nucleotídeo 758 em tlyA seria c.758del

  • Inserção em genes. Exemplo: a inserção de GT entre os nucleotídeos 1850 e 1851 em katG seria c.1850_1851insGT

  • SNPs em RNAs não codificantes. Exemplo: A a G na posição 1401 em rrs seria r.1401a> g

  • SNPs em promotores de genes. Exemplo: A a G 7 bases 5 'do códon de início em pncA c.-7A> G

Importante! As mutações e os arquivos de biblioteca resultantes são em referência ao genoma de referência H37Rv (NC_000962.3 / AL123456.3).

Valores de confiança

Os valores de confiança para mutações serão incluídos na construção do banco de dados. Por padrão, eles são fontes do arquivo tbdb.confidence.csv. Esses valores de confiança foram pré-calculados usando um banco de dados de> 16.000 isolados com dados fenotípicos e genotípicos disponíveis. O banco de dados foi criado conforme especificado em tb-profiler paper. Os valores de confiança foram calculados utilizando um método semelhante ao proposto pelo consórcio ReSeqTB e é detalhado no material complementar 5 deste artigo. Em suma, a razão de risco é usada para inferir se as mutações estão positiva ou negativamente associadas à resistência e a razão de chances é usada para caracterizar o tamanho do efeito. O valor p associado a essas métricas é calculado e, se algum ficar abaixo de 0,05, a confiança é classificada como indeterminada. Se os valores de p forem significativos, o OR é usado para classificar as mutações em alto (high) (OR> 10), moderado (moderate) (5 <OR <= 10), baixo (low) (1 <OR <= 5) ou sem associação (no_association) (OR <= 1). O script usado para baixar os dados necessários e calcular as métricas pode ser encontrado aqui.

Posso usar meu próprio sistema de notas?

Claro! Se você preferir atribuir seus próprios valores de confiança, pode fornecer um arquivo CSV com as colunas drug, gene, mutation e confidence ao sinalizador --confidence ao usar parse_db.py. Se uma mutação for encontrada na lista de confiança, ela será incluída; caso contrário, será definida como indeterminada.

Gerando uma nova biblioteca

Instalação

Basta baixar o repositório usando https://github.com/jodyphelan/tbdb.git. O script é escrito em Python puro, sem dependências.

Corra (“Run”)

Depois que o arquivo tbdb.csv é finalizado, o script parse_db.py pode ser executado. Quando executado sem nenhum argumento opcional como este: python parse_db.py, ele por padrão lerá o arquivo tbdb.csv e produzirá todas as saídas com "tbdb" como prefixo do arquivo. Eles podem ser alterados usando o sinalizador --csv para especificar um arquivo CSV diferente e --prefix para especificar os prefixos do arquivo de saída. Use o sinalizador --help para imprimir a ajuda do script:

usage: parse_db.py [-h] [--prefix PREFIX] [--csv CSV]

Script to generate the files required to run TBProfiler

optional arguments:
  -h, --help            show this help message and exit
  --prefix PREFIX, -p PREFIX
                        The input CSV file containing the mutations (default:
                        tbdb)
  --csv CSV, -c CSV     The prefix for all output files (default: tbdb.csv)

Arquivos de saída (“output”)

Depois de executar parse_db.py você terá 6 arquivos de saída (considerando que você não alterou o prefixo dos arquivos de saída):

  1. tbdb.fasta - O genoma de referência usado para mapeamento

  2. tbdb.gff - A anotação do genoma de referência

  3. tbdb.barcode.bed - A marca específica da linhagem usada para atribuir linhagens

  4. tbdb.bed - Um arquivo de cama contendo todos os genes candidatos e as drogas associadas

  5. tbdb.ann.txt - Um arquivo que lista as posições genômicas e correspondentes do gene

  6. tbdb.config.json - Um arquivo json listando o caminho absoluto de todos os arquivos acima.

O arquivo tbdb.config.json pode então ser carregado pelo tb-profiler load_library drdb.config.json e está pronto para ser usado.

Usando nomes de referência alternativos

O banco de dados tbdb assumirá que você mapeou seus dados para uma referência com "Cromossomo" como o nome da sequência. Se sua sequência de referência for a mesma, mas tiver um nome diferente, por exemplo, "NC_000962.3". Você pode gerar um banco de dados com um nome de sequência alternativo usando o sinalizador --seqname.

Lista de observação

Existem alguns genes que podem ser interessantes para registrar mutações, mesmo se não tivermos mutações associados específicos. Para permitir essa funcionalidade, incluímos um arquivo de "lista de observação". Para incluir genes, basta adicioná-los e os medicamentos associados ao arquivo tbdb.watchlist.csv.

Bancos de dados não H37Rv

É possível executar o TB-Profiler em outro genoma de referência. Embora atualmente não haja uma ferramenta auxiliar para criar os bancos de dados para outras referências automaticamente, verifique o repositório tbdb e este exemplo para descobrir mais sobre o que você precisa.

Perspectivas futuros

• Integrar a personalização dos SNPs de atribuição de linhagem

Last updated