107 research outputs found

    Computational Molecular Biology

    No full text
    Computational Biology is a fairly new subject that arose in response to the computational problems posed by the analysis and the processing of biomolecular sequence and structure data. The field was initiated in the late 60's and early 70's largely by pioneers working in the life sciences. Physicists and mathematicians entered the field in the 70's and 80's, while Computer Science became involved with the new biological problems in the late 1980's. Computational problems have gained further importance in molecular biology through the various genome projects which produce enormous amounts of data. For this bibliography we focus on those areas of computational molecular biology that involve discrete algorithms or discrete optimization. We thus neglect several other areas of computational molecular biology, like most of the literature on the protein folding problem, as well as databases for molecular and genetic data, and genetic mapping algorithms. Due to the availability of review papers and a bibliography this bibliography

    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)

    Homology inference with specific molecular constraints

    Get PDF
    Evolutionary processes can be considered at multiple levels of biological organization. The work developed in this thesis focuses on protein molecular evolution. Although proteins are linear polymers composed from a basic set of 20 amino acids, they generate an enormous variety of form and function. Proteins that have arisen by a common descent are classified into families; they often share common properties including similarities in sequence, structure, and function. Multiple methods have been developed to infer evolutionary relationships between proteins and classify them into families. Yet, those generic methods are often inaccurate, especially when specific protein properties limit their applications. In this thesis, we analyse two protein classes that are often difficult for the evolutionary analysis: the coiled-coils – repetitive protein domains defined by a simple widespread peptide motif (chapters 2 and 3) and Rab small GTPases – a large family of closely related proteins (chapters 4 and 5). In both cases, we analyse the specific properties that determine protein structure and function and use them to improve their evolutionary inference

    A polyhedral approach to sequence alignment problems

    Get PDF
    We study two problems in sequence alignment both from a theoretical and a practical point of view. For the first time in sequence alignment, we use tools from combinatorial optimization to develop branch-and-cut algorithms that solve these problems efficiently. The Generalized Maximum Trace formulation captures several forms of multiple sequence alignment problems in a common framework, among them is the original formulation of Maximum Trace. The Structural Maximum Trace Problem captures the comparison of RNA molecules on the basis of their primary sequence and their secondary structure. For both problems we derive a characterization in terms of graphs which we use to reformulate the problems in terms of integer linear programs. We then study the polytopes (or convex hulls of all feasible solutions)associated with the integer linear program for both problems. For each polytope we derive several classes of facet-defining inequalities and show that for some of these classes the corresponding separation problem can be solved in polynomial time. Thisleads to a polynomial time algorithm for pairwise sequence alignment that is not based on dynamic programming. Moreover, for multiple sequences the branch-and-cut algorithms for both sequence alignment problems are able to solve to optimality instances that are beyond the range of present dynamic programming approaches.Wir betrachten zwei Sequenz-Alignment-Probleme von einem theoretischen und praktischen Standpunkt aus. Dabei nutzen wir Methoden der kombinatorischen Optimierung, um Branch-and-Cut-Algorithmen zu entwickeln, die diese Probleme effizient lösen. Das sogenannte Generalized-Maximum-Trace-Problem beinhaltet verschiedene Arten von multiplen Sequenz-Alignment in einem einheitlichen Rahmen, darunter auch das ursprüngliche Maximum-Trace-Problem. Das sogenannte Structural-Maximum- Trace-Problem beschreibt den Vergleich von RNA-Molekülen, basierend auf deren Primär- und Sekundärstruktur. Wir leiten für beide Probleme eine graphentheoretische Formulierung her, welche wir dann zur Definition ganzzahliger linearer Programme benutzen. Wir untersuchen die Polytope (d.h. die konvexen Hüllen aller zulässigen Lösungen), die mit den ganzzahligen, linearen Programmen assoziiert sind. Für jedes Polytop leiten wir mehrere Klassen facettendefinierender Ungleichungen her und zeigen, daß für einige dieser Klassen das entsprechende Separationsproblem in Polynomialzeit gelöst werden kann. Dies impliziert unter anderem einen Polynomialzeitalgorithmus zum paarweisen Sequenzvergleich, welcher nicht auf dem Prinzip der dynamischen Programmierung beruht. Darüber hinaus sind die vorgestellten Branch-and- Cut-Algorithmen in der Lage, Probleminstanzen einer Größe optimal zu lösen, die mit Verfahren, welche auf dynamischer Programmierung beruhen, nicht gelöst werden könne

    A polyhedral approach to sequence alignment problems

    Get PDF
    We study two problems in sequence alignment both from a theoretical and a practical point of view. For the first time in sequence alignment, we use tools from combinatorial optimization to develop branch-and-cut algorithms that solve these problems efficiently. The Generalized Maximum Trace formulation captures several forms of multiple sequence alignment problems in a common framework, among them is the original formulation of Maximum Trace. The Structural Maximum Trace Problem captures the comparison of RNA molecules on the basis of their primary sequence and their secondary structure. For both problems we derive a characterization in terms of graphs which we use to reformulate the problems in terms of integer linear programs. We then study the polytopes (or convex hulls of all feasible solutions)associated with the integer linear program for both problems. For each polytope we derive several classes of facet-defining inequalities and show that for some of these classes the corresponding separation problem can be solved in polynomial time. Thisleads to a polynomial time algorithm for pairwise sequence alignment that is not based on dynamic programming. Moreover, for multiple sequences the branch-and-cut algorithms for both sequence alignment problems are able to solve to optimality instances that are beyond the range of present dynamic programming approaches.Wir betrachten zwei Sequenz-Alignment-Probleme von einem theoretischen und praktischen Standpunkt aus. Dabei nutzen wir Methoden der kombinatorischen Optimierung, um Branch-and-Cut-Algorithmen zu entwickeln, die diese Probleme effizient lösen. Das sogenannte Generalized-Maximum-Trace-Problem beinhaltet verschiedene Arten von multiplen Sequenz-Alignment in einem einheitlichen Rahmen, darunter auch das ursprüngliche Maximum-Trace-Problem. Das sogenannte Structural-Maximum- Trace-Problem beschreibt den Vergleich von RNA-Molekülen, basierend auf deren Primär- und Sekundärstruktur. Wir leiten für beide Probleme eine graphentheoretische Formulierung her, welche wir dann zur Definition ganzzahliger linearer Programme benutzen. Wir untersuchen die Polytope (d.h. die konvexen Hüllen aller zulässigen Lösungen), die mit den ganzzahligen, linearen Programmen assoziiert sind. Für jedes Polytop leiten wir mehrere Klassen facettendefinierender Ungleichungen her und zeigen, daß für einige dieser Klassen das entsprechende Separationsproblem in Polynomialzeit gelöst werden kann. Dies impliziert unter anderem einen Polynomialzeitalgorithmus zum paarweisen Sequenzvergleich, welcher nicht auf dem Prinzip der dynamischen Programmierung beruht. Darüber hinaus sind die vorgestellten Branch-and- Cut-Algorithmen in der Lage, Probleminstanzen einer Größe optimal zu lösen, die mit Verfahren, welche auf dynamischer Programmierung beruhen, nicht gelöst werden könne

    Molecular phylogenetic analysis: design and implementation of scalable and reliable algorithms and verification of phylogenetic properties

    Get PDF
    El término bioinformática tiene muchas acepciones, una gran parte referentes a la bioinformática molecular: el conjunto de métodos matemáticos, estadísticos y computacionales que tienen como objetivo dar solución a problemas biológicos, haciendo uso exclusivamente de las secuencias de ADN, ARN y proteínas y su información asociada. La filogenética es el área de la bioinformática encargada del estudio de la relación evolutiva entre organismos de la misma o distintas especies. Al igual que sucedía con la definición anterior, los trabajos realizados a lo largo de esta tesis se centran en la filogenética molecular: la rama de la filogenética que analiza las mutaciones hereditarias en secuencias biológicas (principalmente ADN) para establecer dicha relación evolutiva. El resultado de este análisis se plasma en un árbol evolutivo o filogenia. Una filogenia suele representarse como un árbol con raíz, normalmente binario, en el que las hojas simbolizan los organismos existentes actualmente y, la raíz, su ancestro común. Cada nodo interno representa una mutación que ha dado lugar a una división en la clasificación de los descendientes. Las filogenias se construyen mediante procesos de inferencia en base a la información disponible, que pertenece mayoritariamente a organismos existentes hoy en día. La complejidad de este problema se ha visto reflejada en la clasificación de la mayoría de métodos propuestos para su solución como NP-duros [1-3].El caso real de aplicación de esta tesis ha sido el ADN mitocondrial. Este tipo de secuencias biológicas es relevante debido a que tiene un alto índice de mutación, por lo que incluso filogenias de organismos muy cercanos evolutivamente proporcionan datos significativos para la comunidad biológica. Además, varias mutaciones del ADN mitocondrial humano se han relacionado directamente con enfermedad y patogenias, la mayoría mortales en individuos no natos o de corta edad. En la actualidad hay más de 30000 secuencias disponibles de ADN mitocondrial humano, lo que, además de su utilidad científica, ha permitido el análisis de rendimiento de nuestras contribuciones para datos masivos (Big Data). La reciente incorporación de la bioinformática en la categoría Big Data viene respaldada por la mejora de las técnicas de digitalización de secuencias biológicas que sucedió a principios del siglo 21 [4]. Este cambio aumentó drásticamente el número de secuencias disponibles. Por ejemplo, el número de secuencias de ADN mitocondrial humano pasó de duplicarse cada cuatro años, a hacerlo en menos de dos. Por ello, un gran número de métodos y herramientas usados hasta entonces han quedado obsoletos al no ser capaces de procesar eficientemente estos nuevos volúmenes de datos.Este es motivo por el que todas las aportaciones de esta tesis han sido desarrolladas para poder tratar grandes volúmenes de datos. La contribución principal de esta tesis es un framework que permite diseñar y ejecutar automáticamente flujos de trabajo para la inferencia filogenética: PhyloFlow [5-7]. Su creación fue promovida por el hecho de que la mayoría de sistemas de inferencia filogenética existentes tienen un flujo de trabajo fijo y no se pueden modificar ni las herramientas software que los componen ni sus parámetros. Esta decisión puede afectar negativamente a la precisión del resultado si el flujo del sistema o alguno de sus componentes no está adaptado a la información biológica que se va a utilizar como entrada. Por ello, PhyloFlow incorpora un proceso de configuración que permite seleccionar tanto cada uno de los procesos que formarán parte del sistema final, como las herramientas y métodos específicos y sus parámetros. Se han incluido consejos y opciones por defecto durante el proceso de configuración para facilitar su uso, sobre todo a usuarios nóveles. Además, nuestro framework permite la ejecución desatendida de los sistemas filogenéticos generados, tanto en ordenadores de sobremesa como en plataformas hardware (clusters, computación en la nube, etc.). Finalmente, se han evaluado las capacidades de PhyloFlow tanto en la reproducción de sistemas de inferencia filogenética publicados anteriormente como en la creación de sistemas orientados a problemas intensivos como el de inferencia del ADN mitocondrial humano. Los resultados muestran que nuestro framework no solo es capaz de realizar los retos planteados, sino que, en el caso de la replicación de sistemas, la posibilidad de configurar cada elemento que los componen mejora ampliamente su aplicabilidad.Durante la implementación de PhyloFlow descubrimos varias carencias importantes en algunas bibliotecas software actuales que dificultaron la integración y gestión de las herramientas filogenéticas. Por este motivo se decidió crear la primera biblioteca software en Python para estudios de filogenética molecular: MEvoLib [8]. Esta biblioteca ha sido diseñada para proveer una sola interfaz para los conjuntos de herramientas software orientados al mismo proceso, como el multialineamiento o la inferencia de filogenias. MEvoLib incluye además configuraciones por defecto y métodos que hacen uso de conocimiento biológico específico para mejorar su precisión, adaptándose a las necesidades de cada tipo de usuario. Como última característica relevante, se ha incorporado un proceso de conversión de formatos para los ficheros de entrada y salida de cada interfaz, de forma que, si la herramienta seleccionada no soporta dicho formato, este es adaptado automáticamente. Esta propiedad facilita el uso e integración de MEvoLib en scripts y herramientas software.El estudio del caso de aplicación de PhyloFlow al ADN mitocondrial humano ha expuesto los elevados costes tanto computacionales como económicos asociados a la inferencia de grandes filogenias. Por ello, sistemas como PhyloTree [9], que infiere un tipo especial de filogenias de ADN mitocondrial humano, recalculan sus resultados con una frecuencia máxima anual. Sin embargo, como ya hemos comentado anteriormente, las técnicas de secuenciación actuales permiten la incorporación de cientos o incluso miles de secuencias biológicas nuevas cada mes. Este desfase entre productor y consumidor hace que dichas filogenias queden desactualizadas en unos pocos meses. Para solucionar este problema hemos diseñado un nuevo algoritmo que permite la actualización de una filogenia mediante la incorporación iterativa de nuevas secuencias: PHYSER [10]. Además, la propia información evolutiva se utiliza para detectar posibles mutaciones introducidas artificialmente por el proceso de secuenciación, inexistentes en la secuencia original. Las pruebas realizadas con ADN mitocondrial han probado su eficacia y eficiencia, con un coste temporal por secuencia inferior a los 20 segundos.El desarrollo de nuevas herramientas para el análisis de filogenias también ha sido una parte importante de esta tesis. En concreto, se han realizado dos aportaciones principales en este aspecto: PhyloViewer [11] y una herramienta para el análisis de la conservación [12]. PhyloViewer es un visualizador de filogenias extensivas, es decir, filogenias que poseen al menos un millar de hojas. Esta herramienta aporta una novedosa interfaz en la que se muestra el nodo seleccionado y sus nodos hijo, así como toda la información asociada a cada uno de ellos: identificador, secuencia biológica, ... Esta decisión de diseño ha sido orientada a evitar el habitual “borrón” que se produce en la mayoría de herramientas de visualización al mostrar este tipo de filogenias enteras por pantalla. Además, se ha desarrollado en una arquitectura clienteservidor, con lo que el procesamiento de la filogenia se realiza una única vez por parte el servidor. Así, se ha conseguido reducir significativamente los tiempos de carga y acceso por parte del cliente. Por otro lado, la aportación principal de nuestra herramienta para el análisis de la conservación se basa en la paralelización de los métodos clásicos aplicados en este campo, alcanzando speed-ups cercanos al teórico sin pérdida de precisión. Esto ha sido posible gracias a la implementación de dichos métodos desde cero, incorporando la paralelización a nivel de instrucción, en vez de paralelizar implementaciones existentes. Como resultado, nuestra herramienta genera un informe que contiene las conclusiones del análisis de conservación realizado. El usuario puede introducir un umbral de conservación para que el informe destaque solo aquellas posiciones que no lo cumplan. Además, existen dos tipos de informe con distinto nivel de detalle. Ambos se han diseñado para que sean comprensibles y útiles para los usuarios.Finalmente, se ha diseñado e implementado un predictor de mutaciones patógenas en ADN mitocondrial desarollado en máquinas de vectores de soporte (SVM): Mitoclass.1 [13]. Se trata del primer predictor para este tipo de secuencias biológicas. Tanto es así, que ha sido necesario crear el primer repositorio de mutaciones patógenas conocidas, mdmv.1, para poder entrenar y evaluar nuestro predictor. Se ha demostrado que Mitoclass.1 mejora la clasificación de las mutaciones frente a los predictores más conocidos y utilizados, todos ellos orientados al estudio de patogenicidad en ADN nuclear. Este éxito radica en la novedosa combinación de propiedades a evaluar por cada mutación en el proceso de clasificación. Además, otro factor a destacar es el uso de SVM frente a otras alternativas, que han sido probadas y descartadas debido a su menor capacidad de predicción para nuestro caso de aplicación.REFERENCIAS[1] L. Wang and T. Jiang, “On the complexity of multiple sequence alignment,” Journal of computational biology, vol. 1, no. 4, pp. 337–348, 1994.[2] W. H. E. Day, D. S. Johnson, and D. Sankoff, “The Computational Complexity of Inferring Rooted Phylogenies by Parsimony,” Mathematical Biosciences, vol. 81, no. 1, pp. 33–42, 1986.[3] S. Roch, “A short proof that phylogenetic tree reconstruction by maximum likelihood is hard,” IEEE/ACM Transactions on Computational Biology and Bioinformatics (TCBB), vol. 3, no. 1, p. 92, 2006.[4] E. R. Mardis, “The impact of next-generation sequencing technology on genetics,” Trends in genetics, vol. 24, no. 3, pp. 133–141, 2008.[5] J. Álvarez-Jarreta, G. de Miguel Casado, and E. Mayordomo, “PhyloFlow: A Fully Customizable and Automatic Workflow for Phylogeny Estimation,” in ECCB 2014, 2014.[6] J. Álvarez-Jarreta, G. de Miguel Casado, and E. Mayordomo, “PhyloFlow: A Fully Customizable and Automatic Workflow for Phylogenetic Reconstruction,” in IEEE International Conference on Bioinformatics and Biomedicine (BIBM), pp. 1–7, IEEE, 2014.[7] J. Álvarez, R. Blanco, and E. Mayordomo, “Workflows with Model Selection: A Multilocus Approach to Phylogenetic Analysis,” in 5th International Conference on Practical Applications of Computational Biology & Bioinformatics (PACBB 2011), vol. 93 of Advances in Intelligent and Soft Computing, pp. 39–47, Springer Berlin Heidelberg, 2011.[8] J. Álvarez-Jarreta and E. Ruiz-Pesini, “MEvoLib v1.0: the First Molecular Evolution Library for Python,” BMC Bioinformatics, vol. 17, no. 436, pp. 1–8, 2016.[9] M. van Oven and M. Kayser, “Updated comprehensive phylogenetic tree of global human mitochondrial DNA variation,” Human Mutation, vol. 30, no. 2, pp. E386–E394, 2009.[10] J. Álvarez-Jarreta, E. Mayordomo, and E. Ruiz-Pesini, “PHYSER: An Algorithm to Detect Sequencing Errors from Phylogenetic Information,” in 6th International Conference on Practical Applications of Computational Biology & Bioinformatics (PACBB 2012), pp. 105–112, 2012.[11] J. Álvarez-Jarreta and G. de Miguel Casado, “PhyloViewer: A Phylogenetic Tree Viewer for Extense Phylogenies,” in ECCB 2014, 2014.[12] F. Merino-Casallo, J. Álvarez-Jarreta, and E. Mayordomo, “Conservation in mitochondrial DNA: Parallelized estimation and alignment influence,” in 2015 IEEE International Conference on Bioinformatics and Biomedicine (BIBM 2015), pp. 1434–1440, IEEE, 2015.[13] A. Martín-Navarro, A. Gaudioso-Simón, J. Álvarez-Jarreta, J. Montoya, E. Mayordomo, and E. Ruiz-Pesini, “Machine learning classifier for identification of damaging missense mutations exclusive to human mitochondrial DNA-encoded polypeptides,” BMC Bioinformatics, vol. 18, no. 158, pp. 1–11, 2017.<br /
    corecore