oaioai:repositorio.unb.br:10482/37428

CUDA-Parttree : estratégia paralela em GPU para alinhamento múltiplo heurístico de milhares de sequências

Abstract

Dissertação (mestrado)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2019.O alinhamento de sequências biológicas é uma operação muito importante na Bioinformática e pode ser feito entre duas (alinhamento par-a-par) ou mais sequências (alinhamento múltiplo). O alinhamento múltiplo de sequências é um problema NP-completo e o algoritmo de programação dinâmica que obtém o alinhamento ótimo só é utilizado para conjuntos com poucas sequências (até 30). Por isso, são utilizados algoritmos heurísticos, que obtém alinhamento com acurácia aceitável em tempo hábil. Para conjuntos com dezenas de milhares de sequências são necessários algoritmos especificamente criados para esse fim. O Parttree é um algoritmo heurístico de alinhamento múltiplo de sequências para conjuntos com dezenas de milhares de sequências. Nessa dissertação de mestrado, propomos e avaliamos o CUDA-Parttree, uma estratégia de paralela que executa a primeira fase do Parttree (cálculo da matriz de distâncias com contagem de 6mers) parcialmente em GPU. Com essa estratégia, conseguimos reduzir consideravelmente o tempo de execução do cálculo das distâncias entre as sequências quando comparado ao Parttree. O CUDAParttree foi usado no alinhamento de 6 conjuntos de sequências reais de proteínas, como tamanho variando de 25.534 a 151.443 sequências, e 4 conjuntos de sequências sintéticas, variando de 10.000 a 100.000. O CUDA-Parttree conseguiu um speedup de 6,10x no cálculo da matriz de distâncias para o conjunto Cyclodex_gly_tran (50.280 sequências), reduzindo o tempo de execução de 33,94s para 5,57s. Contudo, as transformações de dados necessárias para o cálculo em GPU e para retornar a matriz de distâncias para o Parttree reduziram o speedup para 2,58x mais rápido que a versão em CPU. Com um conjunto de sequências sintéticas com 100.000 sequências, conseguimos um speedup de 4,46x, reduzindo o tempo de execução do cálculo de distâncias de 209,54s para 47,00s.Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES).Biological sequence alignment is a very important task in Bioinformatics and it may be done between two (pairwise alignment) or more sequences (multiple sequence alignment). Multiple sequence alignment is an NP-complete problem and the dynamic programming algorithm that obtains the optimal alignment is used only for small sequence sets (up to 30 sequences). As such, heuristic algorithms are used for obtaining alignments with acceptable accuracy in a timely manner. For sets with tens of thousands of sequences, algorithms specifically designed for such sizes are necessary. Parttree is a state-of-the-art heuristic algorithm for multiple sequence alignment of tens of thousands os sequences. In this MSc dissertation, we propose and evaluate CUDA-Parttree, a parallel strategy that executes the first phase of Parttree (distance matrix calculation with 6mers) partially on GPU. Using this strategy, we were able to reduce the execution time of the distance calculation between all sequences compared to Parttree. CUDA-Parttree was used to align 6 real sequence sets, ranging from 25,534 to 151,443 sequences, and 4 synthetic sets, ranging from 10,000 to 100,000 CUDA-Parttree obtained a speedup of 6.10x on the distance matrix calculation for the Cyclodex_gly_tran (50,280 sequences) set, reducing the execution time from 33.94s to 5.57s. Nevertheless, the data transformation required for the GPU calculation and to return the distance matrix to Parttree reduced the speedup to 2.59x. With the sequence set Syn_100000 (100, 000 sequences), a speedup of 4.46x was attained, reducing execution time from 209.54s to 47.00s

Similar works

Full text

thumbnail-image

Repositório Institucional da Universidade de Brasília

Provided a free PDF
oaioai:repositorio.unb.br:10482/37428Last time updated on 5/13/2020View original full text link

Having an issue?

Is data on this page outdated, violates copyrights or anything else? Report the problem now and we will take corresponding actions after reviewing your request.