Hola a todos
Soy alumno de la carrera de Bioinformática en Chile y soy nuevo en el foro
Resulta que me dieron una tarea de encontrar todos los ORF de la secuencia de un genoma, usando sólo expresiones regulares.Yo para eso ocupé la siguiente sentencia:
my @orfs = ( $sequence =~ m/(ATG(?:[ACTG]{3})+?(TAA|TAG|TGA))/g);
Esto me resulta bien, pero tiene un puro detalle. Cuando encuentra un codón de inicio junto a un codón de STOP, se salta ese codón y corta la secuencia en el STOP siguiente.
Ejemplo:
ATG-TAA-ATG-TGA-TGA
Si se fijan, hay un TAA al lado de ATG y no corta hasta que encuentra el próximo codón de STOP.
Salvo ese problema lo demás funciona muy bien.
De antemano, gracias por la ayuda