5 research outputs found

    Alinhamento primário e secundário de sequências biológicas em arquiteturas de alto desempenho

    Get PDF
    Tese (doutorado)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2017.O alinhamento múltiplo primário de sequências biológicas é um problema muito importante em Biologia Molecular, pois permite que sejam detectadas similaridades e diferenças entre um conjunto de sequências. Esse problema foi provado NP-Completo e, por essa razão, geralmente algoritmos heurísticos são usados para resolvê-lo. No entanto, a obtenção da solução ótima é bastante desejada e, por essa razão, existem alguns algoritmos exatos que solucionam esse problema para um número reduzido de sequências. As sequências de RNA, diferente do DNA, não possuem dupla-hélice e podem dobrar-se, pois seus nucleotídeos podem formar pares de bases. É conhecido na Biologia Molecular que a função dessa estrutura está ligada à sua conformação espacial, e não à composição de seus nucleotídeos. Obter a estrutura secundária (2D) de uma sequência de RNA também exige uma grande quantidade de recursos computacionais, até mesmo para um pequeno número de sequências. Desta forma, as arquiteturas de alto desempenho são muito importantes para a obtenção dos resultados em um tempo factível. A presente tese visa investigar os problemas do alinhamento múltiplo primário e do alinhamento em pares secundário, utilizando arquiteturas de alto desempenho para acelerar a obtenção de resultados. Para o alinhamento primário ótimo de múltiplas sequências, propusemos na presente Tese o PA-Star, uma estratégia multithreaded baseada no algoritmo A-Star que usa uma política sensível à localidade de atribuição de trabalho às threads. De modo a lidar com o alto uso de memória, nossa estratégia PA-Star usa tanto memória RAM como disco. Para o alinhamento estrutural (2D) de sequências de RNA, propusemos o Foldalign 2.5, que é uma estratégia multithreaded heurística baseada no algoritmo exato de Sankoff, capaz de obter o alinhamento estrutural de grandes sequências em tempo reduzido. Finalmente, propusemos o CUDA-Sankoff, que é capaz de obter o alinhamento estrutural ótimo entre duas sequências de RNA em GPU (Graphics Processing Unit).Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES).The primary multiple sequence Alignment is a very important problem in Molecular Biology since it is able to detect similarities and differences in a set of sequences. This problem has been proven NP-Hard and, for this reason, heuristic algorithms are usually used to solve it. Nevertheless, obtaining the optimal solution is highly desirable and there are indeed some exact algorithms that solve this problem for a reduced number of sequences. The RNA sequences are different than the DNA, they do not have double helix, their nucleotides can form base pairs and the sequence can fold on itself. It is known in the Molecular Biology that, the function of the RNA is related to its spatial structure. Calculating the secondary structure of RNA sequences also demand a high amount of computational resources, even for a small number of sequences. The High Performance Computing (HPC) Platforms can be used in order to produce results faster. The current thesis aims to investigate the primary multiple sequence alignment and the secondary pairwise sequence alignment, using High Performance Architectures to accelerate and obtaining results in reasonable time. For the primary multiple sequence alignment, we propose the PA-Star, a multithreaded solution based on the A-Star algorithm using a locality sensitive hash to distribute the workload among the threads. Due to the high RAM memory usage required by the algorithm, our strategy can also uses disk. For the RNA structural alignment, we proposed the Foldalign 2.5, a multithreaded solution that uses heuristics to reduce the Sankoff Algorithm complexity, and can obtain the pairwise structural alignment of large sequences in reduced time. Finally, we proposed CUDASankoff, that obtains the optimal pairwise structural alignment for RNA sequences using a GPU (Graphics Processing Unit)

    High-Performance and Power-Aware Graph Processing on GPUs

    Get PDF
    Graphs are a common representation in many problem domains, including engineering, finance, medicine, and scientific applications. Different problems map to very large graphs, often involving millions of vertices. Even though very efficient sequential implementations of graph algorithms exist, they become impractical when applied on such actual very large graphs. On the other hand, graphics processing units (GPUs) have become widespread architectures as they provide massive parallelism at low cost. Parallel execution on GPUs may achieve speedup up to three orders of magnitude with respect to the sequential counterparts. Nevertheless, accelerating efficient and optimized sequential algorithms and porting (i.e., parallelizing) their implementation to such many-core architectures is a very challenging task. The task is made even harder since energy and power consumption are becoming constraints in addition, or in same case as an alternative, to performance. This work aims at developing a platform that provides (I) a library of parallel, efficient, and tunable implementations of the most important graph algorithms for GPUs, and (II) an advanced profiling model to analyze both performance and power consumption of the algorithm implementations. The platform goal is twofold. Through the library, it aims at saving developing effort in the parallelization task through a primitive-based approach. Through the profiling framework, it aims at customizing such primitives by considering both the architectural details and the target efficiency metrics (i.e., performance or power)

    Herramientas eficientes para el análisis masivo de datos ómicos

    Get PDF
    En los últimos años se han desarrollado técnicas en el campo de la biología que han revolucionado las áreas de la genómica y la proteómica. Estas técnicas, entre las que se encuentran la secuenciación masiva y la proteómica de Shotgun, nos están permitiendo un conocimiento mucho más profundo del funcionamiento de las células, pudiendo ver qué ARN mensajero y proteínas están presentes en un momento puntual de las mismas, además de conocer mejor algunos mecanismos de regulación. Con el desarrollo de estas tecnologías, se están generando más datos de los que es posible procesar en una cantidad razonable de tiempo. Es necesario el desarrollo de nuevas herramientas que manejen este tipo de datos de una forma eficiente, haciendo uso de técnicas de computación de altas prestaciones que incluyan el uso de granjas de computación, computación paralela y gestión de plataformas virtualizadas. En la presente tesis se pretende realizar un abordaje integral del análisis masivo de datos provenientes de estastécnicas con herramientas eficientes, empezando por el procesamiento de los datos en crudo y obteniendo información de más alto nivel sobre expresión de genes y proteínas, enriqueciéndola con información relacionada de bases de datos y ontologías de libre acceso, para finalmente generar informes que reflejen el funcionamiento celular asociado a toda esta información. También incluye el desarrollo de herramientas generadoras de hipótesis en el ámbito de la regulación génica, que sirvan a biólogos experimentalistas para el desarrollo de nuevos experimentos de validación. Este abordaje se ha concretado en el desarrollo de diferentes metodologías y herramientas. Primeramente se han desarrollado varios flujos de trabajo para análisis de RNA-Seq, Microarrays y proteómica de Shotgun de diferentes proyectos y bases de datos públicas tales como ENCODE, Human Proteome Project, Illumina Human Body Map o the Cancer Cell Line Encyclopedia, enfocados para realizar estudios proteogenómicos, permitiendo detectar con exactitud los genes expresados sin necesidad de un control, o mezclar datos transcriptómicos y proteómicos para poder realizar una mejor detección de proteínas..

    Accelerating ncRNA homology search with FPGAs

    No full text
    corecore