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:
Gene - podem ser os nomes dos genes (por exemplo, rpoB) ou locus tag (por exemplo, Rv0667).
Mutação - deve seguir a nomenclatura hgvs. Mais informações abaixo.
Droga - Nome da droga.
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:
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):
tbdb.fasta - O genoma de referência usado para mapeamento
tbdb.gff - A anotação do genoma de referência
tbdb.barcode.bed - A marca específica da linhagem usada para atribuir linhagens
tbdb.bed - Um arquivo de cama contendo todos os genes candidatos e as drogas associadas
tbdb.ann.txt - Um arquivo que lista as posições genômicas e correspondentes do gene
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