Especialista en bioinformática:
Genómica y proteómica

Escuela de verano Complutense 2003

A lo largo del curso se han enunciado una serie de ejercicios prácticos para que los alumnos puedan comprobar si van asimilando los conocimientos teóricos dados en clase.

A continuación se muestran posibles soluciones a estos problemas. Es importante tener en cuenta que una de las características de PERL es que cualquier problema se puede solucionar de múltiples modos, por ello, aquí sólo se muestra una posible solución.

Ejercicio 1:

  1. Crear un array con el nombre de 4 ácidos nucleicos
  2. Insertar uno más al final
  3. Eliminar el primero
  4. Invertirlo
  5. Ordenarlo alfabéticamente
  6. Imprimir el número de elementos

Imprimir el array después de cada paso

Ejercicio 2:

  1. Crear un array asociativo con el nombre de 4 ácidos nucleicos y su abreviatura
  2. Insertar uno más
  3. Eliminar uno de ellos usando su abreviatura
  4. Imprimir los nombres de todos los ácidos
  5. Imprimir todos las abreviaturas
  6. Imprimir el número de elementos

Ejercicio 3:

  1. Guardar en dos variables dos cadenas de DNA.
  2. Crear una nueva variable uniendo las dos anteriores
  3. Crear una nueva variable repitiendo tres veces la cadena 2

Ejercicio 4:

Usando la siguiente función:

@dna = split(‘’, $dna);

Que coloca cada una de las bases de la cadena de ADN almacenada en  la variable $dna, en cada uno de los elementos del array @dna

Contar cuántas veces aparece cada una de las bases.

Ejercicio 5:

Definir una función que calcule el factorial de un número de manera recursiva.

Ejercicio 6:

Realizar un programa que pida al usuario el nombre de un fichero, lo abra y cuente cuántas palabras de cada tipo existen. Se puede utilizar como ejemplo el fichero lope.txt.

Ejercicio 7:

Abrir el fichero dna1.txt.

Este fichero contiene 5 líneas de cabecero y el resto con DNA.

Contar cuántas veces aparece cada una de las bases.

Usando la subrutina que convierte codones en aminoácidos que encontrareis en el fichero subs.txt, convertir todo el DNA en aminoácidos y guardarlo en un fichero llamado amino.txt

Definir una subrutina que cuente cuántos aminoácidos de cada tipo hay.

Por pantalla solicitar al usuario un porcentaje y mostrar cuáles son los aminoácidos por encima de ese porcentaje.

Ejercicio 8:

Introducir por teclado una palabra y dar un mensaje en caso de que comience por vocal, después haya un número y a continuación cualquier letra.

Ejercicio 9:

Introducir por teclado una palabra y dar un mensaje en caso de que contenga la sílaba pa, indicando en que posición dentro de la palabra se encuentra. Dar otro mensaje si contiene la sílaba pi indicando también su posición.

Ejercicio 10:

Introducir por teclado una palabra y dar un mensaje en caso de que sea un nombre de variable legal en PERL.

 

Ejercicio 11:

Para el siguiente código:

            $x = “the cat in the hat”;

            $x =~ /^(.*)(cat)(.*)$/;

Determinar que se identifica en cada uno de los agrupamientos.

 

Hacer lo mismo con:

            $x = “the cat in the hat”;

            $x =~ /^(.*)(at)(.*)$/;

Explicar lo ocurrido

Ejercicio 12:

Escribir un código que pida al usuario un número y diga si es válido.

Debe identificar números enteros con o sin signo y números en notación científica o punto flotante: -12.23e-128.Nota: Los números en punto flotante pueden tener el signo delante de la mantisa o no, pueden no tener parte decimal o no tener parte entera. La letra que indica el exponente puede ser mayúscula o no, y el exponente puede tener signo o no.   

Ejercicio 13:

1.      Crear un programa que abra el fichero GenBank.gb y haga lo siguiente:

2.      Guarde en un fichero toda la información que no se corresponda con los datos de una secuencia.

3.      Guarde en otro fichero los datos de secuencia.

4.      Analice cada línea de secuencia e indique en qué líneas aparece tca y en qué posición dentro de la línea.