Using perl Syntax Highlighting
my @orfs = $sequence =~ /(ATG(?:.{3})*?)(?:TAA|TAG|TGA|.{1,3}$)/g;
Coloreado en 0.003 segundos, usando
GeSHi 1.0.8.4
La línea realiza la búsqueda repetida (
/g) de una serie de patrones dentro de
$sequence, y lo encontrado se va almacenando en
@orfs.
Lo que se busca son secuencias que comiencen por '
ATG', seguida por 0 o más (
*) codones (
.{3}, tres letras cualesquiera), justo antes (
?) de una marca final, es decir, cualquiera de las combinaciones '
TAA', '
TAG', '
TGA', o cualquier otra combinación de entre uno a tres letras que estén al final de
$sequence (
.{1,3}$). Los paréntesis de captura alrededor de toda el patrón permiten llevar la secuencia encontrada a
@orfs (los paréntesis interiores no capturan nada, solo agrupan subpatrones (
?:)).
Las secuencias corresponden a lo que conocemos como ORF (
Open reading frame).