Documentos de Académico
Documentos de Profesional
Documentos de Cultura
de Hileras
Generalidades
• El programa debe estar escrito en C y debe compilar y ejecutar correctamente
sobre Linux, en nuestros laboratorios. Toda la interacción con el usuario debe
ser hecha con interfaces gráficas.
• Ninguna estructura de datos asociada a las hileras puede estar definida
estáticamente, sino que serán creadas y destruidas en el momento que se
necesiten (especialmente las tablas necesarias).
• Cualquier resultado incluirá los requerimientos de memoria y de tiempo de CPU
que se usaron para atender la consulta del usuario. Ambos deben ser medidos
con la mayor precisión posible. Inclusive si un trabajo es rechazado por no tener
suficiente memoria, se debe mostrar la cantidad de memoria requerida.
• El programa debe manejar correctamente entradas de cualquier tamaño. Por
supuesto, si se exceden las capacidades de la máquina particular, el usuario será
informado de esta situación sin que el programa se caiga.
• Los pesos utilizados en los alineamientos serán por defecto (+1, -1, -2), pero el
usuario los podrá alterar a conveniencia o podrá seleccionar una tabla de pesos
para parejas de DNA (4 por 4) o para parejas de aminoácidos (20 por 20). Se
deben ofrecer tablas estándar precargadas en el programa o que el usuario
indique un nombre de archivo de texto con esta información.
Entrada
Dos hileras (secuencias de DNA, proteínas o texto arbitrario). Estas pueden venir
de archivos de texto o tecleadas interactivamente por el usuario (cualquier
combinación de estas dos posibilidades debe ser permitida). Estos archivos podrán
ser de cualquier tamaño permitido por el sistema operativo.
Si se indica que una hilera corresponde a proteína, hay que indicar si se usará el
código de 1 letra o el código de 3 letras. Si se va a hacer un alineamiento de DNA y
proteína, se usará el código genético alineando tripletas de bases de DNA contra un
residuo de aminoácido en la hilera que representa a la proteína. Similarmente, es
válido alinear 2 proteínas donde una esté representada en código de 3 letras y la
otra en código de 1 letra.
Salida
Siguiendo las indicaciones del usuario, el programa encontrará el alineamiento
óptimo entre las dos hileras (ya sea global, local, o semiglobal). Hasta un tamaño
máximo razonable se debe desplegar la tabla final del alineamiento, mostrando
todas las "flechitas" y la ruta seleccionada. Para el alineamiento local se desplegará
adicionalmente un mapa abstracto gráfico e interactivo indicando la presencia de
islas (para cualquier tamaño de archivos). Además, el programa dará el valor del
scoring óptimo y el alineamiento de las dos secuencias, o las islas solictadas por el
usuario.