Otimização de busca por SNPs baseada em máscaras por meio de unidade de processamento gráfico (GPU) - Cruz, Álvaro Magri Nogueira da [UNESP] (Universidade Estadual Paulista (Unesp), 2020)
Dentre os problemas que a bioinformática procura soluções factíveis está a busca por Polimorfismo de Nucleotídeo Simples (SNP, sigla em inglês). A detecção desse fenômeno em sequências de nucleotídeos é fundamental para possíveis inferências acerca de doenças e respostas a tratamentos, além de predições a susceptibilidade. A busca mostra-se eficiente quando trata-se de arquivos .ab1 que são provenientes de sequenciamento tipo Sanger. No entanto, no que se refere aos sequenciadores de nova geração (NGS, sigla em inglês) essa estratégia apresenta deficiências em relação ao tempo de processamento, visto que os arquivos gerados por este chegam a milhões de sequências. Algumas abordagens podem ser utilizadas a fim de amenizar esta deficiência por meio de hardwares paralelos. O paradigma multithread pode ser utilizado com o intuito de melhorar o desempenho do algoritmo, no entanto não se faz rápido o suficiente quando trata-se de um grande número de sequências. A Unidade de Processamento Gráfico (GPU, sigla em inglês) é uma alternativa, dado que esta opera com múltiplas unidades lógicas aritméticas, até milhares de unidades, bem diferente de um processador que opera com não mais do que uma dezena de unidades. A GPU torna-se mais viável, dado seu custo-benefício e características que são adequadas à resolução do problema em questão. Logo, o objetivo deste trabalho foi desenvolver um método para a busca de SNPs em arquivos NGS, com base em programação paralela com o uso de GPU. Dessa forma, foi possível observar o quão inviável torna-se a aplicação de CPU para processamento altamente paralelizável e com grande volume de dados genéticos. Em suma, foi possível obter um speedup de 5.176,86, ou seja, uma execução de 1,91 dias ora obtida por CPU, nesta proposta com GPU foi performada em 48,47 segundos.

Among the problems that bioinformatics looks for feasible solutions is the search for Simple Nucleotide Polymorphism (SNP). The detection of this phenomenon in nucleotide sequences is fundamental for possible inferences about diseases and responses to treatments, beyond as susceptibility predictions. The search is efficient when it comes to .ab1 files that are derived from Sanger sequencing. However, with regard to the Next Generation Sequencing (NGS) this strategy presents deficiencies in relation to the processing time, since the files generated by it arrive at millions of sequences. Some approaches can be used to mitigate this deficiency by relying on parallel hardware. The multithreaded paradigm can be used to improve the performance of the algorithm, however it is not done fast enough when it is a large number of sequences. The Graphics Processing Unit (GPU) is an alternative, since it operates with multiple arithmetic logical units, reaching the house of hundreds of units, quite different from a processor that operates with no more than a dozen units. The GPU becomes more feasible, given its cost-effectiveness and characteristics that are adequate to solve the problem in question. Therefore, the objective of this work was to develop a method to searching for SNPs in NGS files, based on parallel programming using GPU. Thus, it was possible to note how unfeasible the application of CPU becomes for highly parallelizable processing and with a large volume of genetic data. In short, it was possible to obtain a speedup of 5,176.86, i.e, execution of 1.91 days now obtained by CPU, in this proposal with GPU it was performed in 48.47 seconds.
Snp search optmization based on masks using graphic processing unit (GPU)
Keywords: Bioinformática; Busca por padrões; SNPs; GPU; Otimização; Bioinformatics; Pattern search; Optimization