Este proyecto tiene como objetivo construir un sistema interactivo para la manipulación de secuencias genéticas en formato FASTA, aplicando los conceptos de estructuras lineales, jerárquicas (árboles) y no lineales (grafos) vistos en el curso de Estructuras de Datos.
El sistema permite trabajar con información genética representada en archivos FASTA (.fa), los cuales contienen secuencias de ADN o ARN.
A lo largo del proyecto se desarrollan diferentes componentes que permiten cargar, procesar, comprimir, descomprimir y analizar las secuencias.
- Cargar archivos FASTA en memoria.
- Listar secuencias y número de bases.
- Generar histogramas de frecuencias.
- Verificar si una subsecuencia existe.
- Enmascarar subsecuencias con
X. - Guardar las secuencias modificadas.
- Implementación de codificación de Huffman para:
- Codificar archivos FASTA →
.fabin. - Decodificar archivos
.fabin→ restaurar secuencias en memoria.
- Codificar archivos FASTA →
- Representar secuencias como matrices y grafos.
- Calcular ruta más corta entre dos posiciones de bases.
- Determinar la base remota más lejana de una posición dada.
El programa funciona en modo consola interactiva.
El indicador de línea es el caracter $.
cargar nombre_archivo.falistar_secuenciashistograma descripcion_secuenciaes_subsecuencia subsecuenciaenmascarar subsecuenciaguardar nombre_archivo.facodificar nombre_archivo.fabindecodificar nombre_archivo.fabinruta_mas_corta descripcion_secuencia i j x ybase_remota descripcion_secuencia i jayuda [comando]salir
- Compilador GNU g++ (≥ 4.0.0)
- Sistema operativo Linux/Windows/Mac con terminal habilitada
g++ -std=c++17 -o programa *.cxx *.cpp
./programa