4  Datos biológicos

Este módulo cubre los tipos de datos biológicos fundamentales en bioinformática: secuencias de ADN, ARN y proteínas. Se explican sus características, formatos de archivo y ejemplos de comandos básicos de Unix/Bash para manipularlos.

4.1 Introducción a las secuencias biológicas

  • ADN (Ácido Desoxirribonucleico): molécula portadora de la información genética. Bases: Adenina (A), Citocinina (C), Guananina (G), Timina (T).
  • ARN (Ácido Ribonucleico): similar al ADN, pero con ribosa y Uracilo (U) en lugar de T. Muy importante en expresión génica.
  • Proteínas: polímeros de aminoácidos (20 tipos estándar). Funcionan como enzimas, estructuras y mensajeros.

4.2 Formatos de archivo

4.2.1 FASTA

Es el formato más común para representar secuencias individuales.

```fasta
>seq1 Homo_sapiens_geneX
ATGCGTACGTAGCTAGCTAGCTAGC
>seq2 Mus_musculus_geneY
ATGCGTAGCTAGCTAAACCGGTT
```
  • Línea de encabezado: comienza con > seguido del identificador y descripción.
  • Siguientes líneas: la secuencia en mayúsculas.

Ejemplo Bash: contar secuencias

# Contar el número de secuencias en un FASTA
grep -c ">" secuencias.fasta

4.2.2 FASTQ

Formato para secuencias con calidad de lecturas (p. ej., Illumina).

```fastq
@read1
ACGTAGCTAGCTAGC
+
IIIIHHHHGGGGFFFF
```
  • Línea 1: @ + identificador.
  • Línea 2: secuencia.
  • Línea 3: + opcionalmente repetición del identificador.
  • Línea 4: puntuaciones de calidad en ASCII.

Ejemplo Bash: extraer IDs de lecturas de baja calidad

# Usando seqkit para calidad promedio < 20
seqkit fx2tab -q -n -i reads.fastq | awk '$2 < 20' | cut -f1

4.2.3 gff/gff3

Formato tabular para anotaciones genómicas.

Esta compuesto de 9 columnas:

  • seqid - Nombre del cromosoma o scaffold.
  • source - Nombre del programa que generó esta característica o fuente de datos (base de datos o proyecto).
  • type - Tipo de característica. Debe ser un término o acceso de la ontología de secuencias SOFA.
  • start - Posición inicial de la característica (la numeración de secuencia comienza en 1).
  • end - Posición final de la característica (la numeración de secuencia comienza en 1).
  • score - Valor numérico de punto flotante.
  • strand - Cadena definida como ‘+’ (forward/sentido) o ‘-’ (reverse/antisentido).
  • phase - Uno de ‘0’, ‘1’ o ‘2’. ‘0’ indica que la primera base de la característica es la primera base de un codón, ‘1’ que la segunda base es la primera de un codón, etc.
  • attributes - Lista de pares tag-valor separados por punto y coma, que proveen información adicional sobre cada característica. Algunos tags están predefinidos (ID, Name, Alias, Parent). Consulte la documentación GFF para más detalles.
```gff3
##gff-version 3
Chr_1   funannotate gene    550 1495    .   -   .   ID=Tatro_000001;
Chr_1   funannotate mRNA    550 1495    .   -   .   ID=Tatro_000001-T1;Parent=Tatro_000001;product=hypothetical protein;
Chr_1   funannotate exon    1230    1495    .   -   .   ID=Tatro_000001-T1.exon1;Parent=Tatro_000001-T1;
Chr_1   funannotate exon    550 1171    .   -   .   ID=Tatro_000001-T1.exon2;Parent=Tatro_000001-T1;
Chr_1   funannotate CDS 1230    1495    .   -   0   ID=Tatro_000001-T1.cds;Parent=Tatro_000001-T1;
Chr_1   funannotate CDS 550 1171    .   -   1   ID=Tatro_000001-T1.cds;Parent=Tatro_000001-T1;
Chr_1   funannotate gene    3585    5108    .   -   .   ID=Tatro_000002;
Chr_1   funannotate mRNA    3585    5108    .   -   .   ID=Tatro_000002-T1;Parent=Tatro_000002;product=hypothetical protein;
Chr_1   funannotate five_prime_UTR  4960    5108    .   -   .   ID=Tatro_000002-T1.utr5p1;Parent=Tatro_000002-T1;
Chr_1   funannotate exon    4516    5108    .   -   .   ID=Tatro_000002-T1.exon1;Parent=Tatro_000002-T1;
Chr_1   funannotate exon    3585    4452    .   -   .   ID=Tatro_000002-T1.exon2;Parent=Tatro_000002-T1;
Chr_1   funannotate three_prime_UTR 3585    3780    .   -   .   ID=Tatro_000002-T1.utr3p1;Parent=Tatro_000002-T1;
Chr_1   funannotate CDS 4516    4959    .   -   0   ID=Tatro_000002-T1.cds;Parent=Tatro_000002-T1;
Chr_1   funannotate CDS 3781    4452    .   -   0   ID=Tatro_000002-T1.cds;Parent=Tatro_000002-T1;
```

Ejemplo Bash: extraer genes de cromosoma 1

awk '\$1=="chr1" && \$3=="gene"' anotacion.gff3 > genes_chr1.gff3

4.2.4 BAM/SAM

  • SAM: formato de texto para alineamientos.
  • BAM: versión binaria compacta.

Ejemplo Bash: ver primeras 5 líneas de un BAM

samtools view alignments.bam | head -5

4.3 Comparación y uso en Unix

  • Las secuencias se manipulan con pipes y herramientas como grep, awk, cut, sort, uniq, seqkit, samtools.
  • Principio Unix: un comando realiza una tarea, y se combinan con pipes para flujos complejos.

4.4 Buenas prácticas

  • Indentar y comentar scripts.
  • Crear archivos de log.

4.5 Recursos adicionales