Actividades

  1. Realizad la instalación de la versión más reciente de Ubuntu MATE dentro de una máquina virtual de Oracle VirtualBox. Para ello, primero debéis obtener una imagen ISO de Ubuntu MATE. Posteriormente, es necesario crear una máquina virtual vacía, insertar la imagen ISO de Ubuntu y ejecutar la instalación. Podéis emplear un administrador de la gestión de paquetes de software para configurar el sistema final resultante.
  2. Averiguad las funciones que realiza el comando fold del terminal. Analizar las opciones disponibles para este comando. Después, diseñad un pequeño script que combine gawk con el comando fold para calcular la frecuencia de aparición absoluta y relativa de cada clase de nucleótido en una secuencia genómica almacenada en un fichero de texto guardado en formato FASTA. Evaluad el funcionamiento de vuestro protocolo sobre varias secuencias de ADN.
  3. Averiguad las funciones realizadas por Bioawk. Determinad cuál es el comando origen de esta extensión, los formatos de datos biológicos que soporta y si es posible trabajar con ficheros comprimidos con gzip o con otros comandos compresores.
  4. Estudiad el comando sedl. Para probar su eficacia, grabad una hoja de estilo de MicrosoftExcel en formato texto (seleccionar el tabulador como separador de campos). Una vez en Gnu/Linux, verificad con el comando od que este formato propietario efectivamente introduce como salto de línea los caracteres \r y \n. Finalmente, emplead el comando sed para únicamente mantener el carácter \n (el terminal trabaja en este formato).
  5. Diseñad un script en el terminal que os permita realizar el análisis completo de una serie de ficheros de la clase refGene_human.txt almacenados en un directorio. Cada fichero debe contener en su propio nombre el organismo al que pertenece para evitar nombres de ficheros duplicados (p.e. txt). Para cada genoma podemos realizar las mismas preguntas mostradas en el caso de estudio de los materiales teóricos.
  6. A continuación, suministramos un archivo FASTA y debéis contestar a las siguientes preguntas. El separador entre las dos columnas es el \t
$ cat hib.fasta
HiB_C1    TGTTTGTTGTCACTGACTGATGTTGTGGTCTGG

HiB_C2    TATATATTACTT

HiB_C3    TATATATAACTTATA

HiB_C4    TATATATAACTTATA

HiB_C5    TATATATTACTT
  • Imprimid la línea que coincide con el patrón HiB_C4.
  • Imprimid la columna 1, un punto y coma, y la columna 2.
  • Usad el concepto de un operador condicional en la declaración de impresión de la forma print CONDITION ? PRINT_IF_TRUE_TEXT : PRINT_IF_FALSE_TEXT para identificar las secuencias con longitudes > 14.
  • Intentad realizar el siguiente ejercicio. ¿Qué es lo que ocurre?

Se puede usar e1 después del último bloque {} para imprimir todo (1 es una notación abreviada para {print $0} que se convierte en {print}, ya que, sin ningún argumento, print imprimirá $0 por defecto), y dentro de este bloque, podemos cambiar $0, por ejemplo, para asignar el primer campo a $0 para la segunda línea (NR==2).

  • Usad el comando getline para cargar el contenido de otro archivo además del que estás leyendo. Intenta, con el bucle while, cargar cada línea del fichero fasta en una variable: la b, por ejemplo.
  1. Contestad a las siguientes preguntas después de descargar el siguiente fichero: https://ftp.ncbi.nlm.nih.gov/genomes/ASSEMBLY_REPORTS/assembly_summary_refseq.txt
  • Los valores únicos de la variable categórica assembly_level se encuentran indicados en la columna #12, la cual muestra el estado del ensamble. ¿Cuáles son?
  • Determinad el número de genomas por especie, que se encuentra en la columna #8. Luego, debéis mostrar únicamente las 10 especies con la mayor cantidad de genomas secuenciados.
  • ¿Cuántos genomas completos hay del género Mycobacterium?
  • Contad los genomas de Salmonella, Pseudomonas y Acinetobacter (por género) y presentad la lista ordenada por número decreciente de genomas.
  • Determinad la longitud de una cadena: ¿Por qué estos dos comandos dan diferente información?
$ echo 'atattttGAATTtattGAATCAGGACC' | wc -c
$ echo 'atattttGAATTtattGAATCAGGACC' | awk 'END{print "El oligonucleótido", $0, "tiene" lenght($0), "nucleótidos de longitud"}'
  1. Eligid varios ficheros que contengan secuencias FASTA.
  • El número de secuencias para un fichero (awk, autoincremento).
  • Con un bucle determina el número de secuencias para todos los ficheros (for and, awk, autoincremento).