Ejercicio con enzimas de restricción

Ahora os toca a vosotros, la tarea es escribir un programa que busque dentro de una secuencia de ADN dianas de las enzimas de restricción BamHI (diana GGATCC) y EcoRI (diana CC[A/T]GG). Os propongo un borrador de la solución, que en principio podría extenderse a todas las enzimas de restricción que queráis:

 
#!/usr/bin/perl -w 
# Ejercicio escrito por Bruno Contreras

use strict; 

my @enz_sitios = ('GGATCC','CC(A|T)GG'); # expresion regular: 'CC[AT]GG' 
my %enz_nombres = ('GGATCC','BamHI','CC(A|T)GG','EcoRI');
my $DNA = "ATCGCGACCAGGTTAGCGCGCGATTATTATATATCGATATCGCGGCGATATATCTCGAGAGTATATGGATCCTGGATAGCTAGATCATAGA";

# 1) obtengo la secuencia de la hebra de DNA complementaria, no olvidando invertirla con la funcion reverse

# 2) recorro el vector de enzimas de restriccion mediante un bucle foreach, buscando sitios
# para cada enzima, mostrando y contando los sitios encontrados
# PISTA: para mostrar los sitios encontrados usar la variable especial $1 

# 	2.1) primero en la hebra + del DNA
# 	2.2) ahora en la hebra complementaria

Bruno Contreras-Moreira
http://www.eead.csic.es/compbio