# Contar el número de secuencias en un FASTA
grep -c ">" secuencias.fasta
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
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.