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.
Imprimir el array después
de cada paso
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.
Definir
una función que calcule el factorial de un número de manera recursiva.
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.
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.
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.
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.
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
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.
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.