Bioinformatica y la programación
Un típico programa de bioinformática lee archivos FASTA, mantiene las secuencias de ADN en memoria, realiza diferentestareas computacionales sobre las secuencias y finalmente escribe el resultado en otro archivo. Otra tarea común en bioinformática es la minería de textos o parseo de textos. Pueden generarse grandes cantidades de datos en diferentes formatos. Como los formatos de archivo pueden ser diferentes, unir los programas en un solo trámite es difícil, por lo tanto se escriben scripts para que actúen comointerfaces entre los programas realiando las partes secuenciales del análisis. Los scripts son también usados para extraer información de grandes archivos de datos, mejorando así la presentación de los resultados. Estos scripts rápidos son usualmente implementados en Perl o Python. Por consiguiente, cualquier procedimiento bioinformático tiene un cierto número de áreas donde la programación puede sermejorada, estas son: el espacio requerido temporalmente para almacenar datos, la velocidad de computado, la vinculación entre programas y la presentación de análisis.
En este artículo examinamos tres tareas usadas comúnmente en biología, el algoritmo Sellers [9], el algoritmo Neighbor-Joining NJ [10] y un programa de parseo de las salidas de BLAST [11]. En cada caso probamos los programas usandodiferentes lenguajes. Esta comparativa (benchmark) fue realizada en Linux y Windows, ya que las computadoras utilizadas tenían un doble booteo. Hay varias razones para realizar este ejercicio de comparativa. Específicamente queremos determinar si C puede ser más rápido que Java para realizar detección de recombinación, que es un ejercicio computacional inherentemente difícil.
También queremosexaminar los requerimientos de memoria de cada combinación de programa y lenguaje, ya que si bien la capacidad de la memoria se incrementa constantemente y el hardware se vuelve más barato, los grandes conjuntos de datos en el análisis bioinformático pueden ser un problema para las computadoras de escritorio. También queremos comparar un lenguaje de script, como Perl, con lenguajes compilados como Javay C. Para completar la comparación también se incluyeron lenguajes “rivales”. Esto incluye a C++, C# y Python. Los lenguajes seleccionados para este estudio fueron elegidos sobre la base de que estos eran los más populares y frecuentemente usados para aplicaciones biológicas.
Perl y Python son a menudo llamados lenguajes de script y cuando son ejecutados, son compilados en una presentaciónintermedia sin crear un archivo intermedio (árbol de sintaxis en Perl y código de byte en Python) y luego interpretados. Ambos lenguajes usan un sistema de gestión automática de la memoria y tienen grandes bibliotecas libres. Son apropiados para web scripting (por ejemplo, CGI), análisis e implementación de trámites como Inter-ProScan [12].
C y C++ son lenguajes completamente compilados, adecuados...
Regístrate para leer el documento completo.