O monitoramento ambiental com uso de métodos de sequenciamento de DNA de nova geração (next generation sequencing, NGS) vem se mostrando uma estratégia promissora para a detecção de patógenos de interesse em saúde humana, como o vírus SARS-Cov2 (NIEUWENHUIJSE et al., 2020), bem como de genes de resistência a antibióticos (HENDRIKSEN et al., 2019), possibilitando assim a detecção precoce de surtos. Neste caso, o DNA total (metagenoma) de amostras ambientais (ex: esgoto de centros urbanos) é extraído e sequenciado, sendo posteriormente atribuído a cada fragmento uma possível identificação taxonômica (MANDE; MOHAMMED; GHOSH, 2012). Tradicionalmente, métodos de alinhamento de sequência são utilizados para realizar esta identificação, mas estratégias alternativas, denominadas “alignment-free”, tem ganhado destaque por conta da maior velocidade (REN et al., 2018).
O alinhamento de sequências é uma abordagem de bioinformática que visa a identificação e medida da similaridade entre duas sequências biológicas, sejam estas de nucleotídeos (DNA ou RNA) ou proteínas, permitindo a identificação de proteínas, inferência de funções biológicas e de suas relações filogenéticas (DURBIN et al., 1998). Tradicionalmente, a comparação entre duas sequências (pairwise) pode ser classificada como “global”, quando o alinhamento compreende toda a extensão de ambas sequências, ou “local”, quando apenas as regiões de máxima similaridade são alinhadas, tendo-se como exemplos de algoritmos para estas finalidades os descritos por Needleman-Wunsch (NEEDLEMAN; WUNSCH, 1970) e Smith-Waterman (SMITH; WATERMAN, 1981), respectivamente.
Os algoritmos para alinhamento de sequências podem ser utilizados por ferramentas de busca por similaridade, sendo uma das principais ferramentas para esta finalidade o BLAST (Basic Local Alignment Search Tool), descrito por ALTSCHUL et al (1990), que atualmente tem como implementação de referência o NCBI-BLAST+ (CAMACHO et al., 2009), disponibilizado pelo National Center for Biotechnology Information (NCBI). De forma similar ao seu antecessor FASTA (LIPMAN; PEARSON, 1985), o BLAST utiliza heurística para acelerar a comparação de sequências contra bancos de dados, reduzindo o número de alinhamentos locais necessários por conta do custo computacional envolvido no uso do algoritmo de Smith-Waterman, sobretudo para sequências grandes (ex: genomas completos). Outras ferramentas que utilizam estratégias parecidas incluem o USEARCH (EDGAR, 2010) e o DIAMOND (BUCHFINK; XIE; HUSON, 2015), cujas velocidades em muitos casos superam a observada com NCBI-BLAST+, mas mesmo com elas a busca por similaridade continua sendo considerada um ponto limitante em muitos projetos de análise de metagenomas.
Por conta das limitações e gargalos computacionais impostos pelas ferramentas de alinhamento tradicionais, técnicas de comparação que não utilizam alinhamento de sequências (alignment-free) passaram a ser avaliadas, como as baseadas em conteúdo de sub-palavras, teoria da informação e, mais recentemente, aprendizado de máquina (machine learning, ML) (ASGARI; MOFRAD, 2015; SHI et al., 2017; VINGA, 2014; VINGA; ALMEIDA, 2003). Para computarem a similaridade entre sequências estas técnicas utilizam medidas de distância (ex: euclidiana, por cosseno), variação de conteúdo de informação, similaridade por cosseno, dentre outras. Dentre as técnicas de ML empregadas para a comparação alignment-free, recentemente tem recebido destaque as baseadas word embeddings, que permitem uma representação vetorial de textos através de vetores numéricos preservando a sua relação “semântica”.
Algoritmos de uso geral para produção de word embeddings incluem o Word2Vec (MIKOLOV et al., 2013), GloVe (PENNINGTON; SOCHER; MANNING, 2014) e FastText (BOJANOWSKI et al., 2016; JOULIN et al., 2016a, 2016b), enquanto que os específicos para sequências biológicas (BioVecs) incluem prot2vec (ASGARI; MOFRAD, 2015), dna2vec (NG, 2017) e SuperVec (KIMOTHI et al., 2020), parcialmente baseados no Word2Vec, FastDNA (MENEGAUX; VERT, 2018), baseado no FastText, e SWeeP (DE PIERRI et al., 2020). Alguns destes métodos já apresentaram ganhos de performance expressivos quando comparados com métodos baseados em alinhamento, como demonstrado na comparação do FastDNA com o alinhador de leituras BWA (LI; DURBIN, 2009) onde se observou um aumento de velocidade de até 6 vezes no alinhamento de datasets de leituras de sequenciamento (MENEGAUX; VERT, 2018). No entanto, ainda não há implementações de métodos alignment-free que utilizem como base BioVecs e ofereçam uma interface de fácil utilização e integração a pipelines de análise de dados.
Deste modo, O presente projeto propõe o desenvolvimento de uma ferramenta, denominadas NESS, cujas funcionalidades sejam acessíveis tanto através de uma interface por linha de comando (command line interface, CLI), quanto através de uma interface de programação (application programming interface, API) disponível para a linguagem Python, que permita e execução de busca por similaridade de sequências biológicas (proteínas e nucleotídeos) usando algoritmos baseados em BioVecs.
De modo a se verificar previamente a aplicabilidade das metodologias proposta na solução do presente problema, uma prova de conceito (POC) foi desenvolvimento utilizando como base a metodologia FastText para geração de embeddings para as sequências. A POC, cujo código-fonte pode ser acessado através do endereço https://github.com/omixlab/ness, permite a construção de modelos a partir de bancos de sequências, formatação de bancos de dados e busca por similaridade. Entretanto, esta, apesar de promissora, ainda precisa ser aprimorada através da incorporação de novas metodologias para consulta, inclusive com suporte à aceleração por GPU, identificação dos melhores parâmetros para os modelos preditivos, testes com outros algoritmos para geração das representações de embeddings, além do benchmark nos cenários propostos, fazendo-se necessária, desta forma, uma melhor infraestrutura de processamento.