• Publicidad

Interpretación de una expresión regular

Perl aplicado a la bioinformática

Interpretación de una expresión regular

Notapor angelluigi » 2016-12-05 17:30 @771

Buenas. Estaba mirando un programa que han subido aquí y no entiendo muy bien este trozo de código.

my @orfs = $sequence =~ /(ATG(?:.{3})*?)(TAA|TAG|TGA|.{1,3}$)/g;

Muchas gracias.
angelluigi
Perlero nuevo
Perlero nuevo
 
Mensajes: 9
Registrado: 2016-11-16 08:52 @411

Publicidad

Re: Interpretación de una expresión regular

Notapor explorer » 2016-12-05 18:03 @793

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my @orfs = $sequence =~ /(ATG(?:.{3})*?)(?:TAA|TAG|TGA|.{1,3}$)/g;
Coloreado en 0.002 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).
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14475
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Bioinformática

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados

cron