• Publicidad

Buscar secuencia en un genoma

Perl aplicado a la bioinformática

Buscar secuencia en un genoma

Notapor zackarias » 2011-10-12 12:06 @546

Hola

¿Cómo puedo hacer que me busque una secuencia en un genoma?

Por ejemplo:

Quiero buscar GATCTATTTATTTAGAGATCTGTTCTATTGT

donde las que están con color pueden ser cualquier base.

Si lo hago con index() solo me busca lo que le especifico, pero quiero que me la tome igual si las bases que están con color cambien.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. index( $secuencia, 'GATCTATTTATTTAGAGATCTGTTCTATTGT', $posicion+1 );
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


¿Cómo lo puedo hacer?, ¿se hace con expresión regular?


De antemano, gracias.
Avatar de Usuario
zackarias
Perlero nuevo
Perlero nuevo
 
Mensajes: 11
Registrado: 2011-09-27 19:33 @856

Publicidad

Re: Buscar secuencia en un genoma

Notapor explorer » 2011-10-12 13:27 @602

Sí, tienes que usar una expresión regular, poniendo el comodín en los lugares adecuados.

if ($secuencia =~ /GATCTATTT.TTTAGAGATCTGT.CTATTGT/) {

De todas maneras, con index() también se puede hacer buscando por las partes fijas iniciales (no probado).
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my $seq1 = 'GATCTATTT';
  2. my $pos = index($secuencia, $seq1);
  3. if ($pos != -1) {
  4.     my $seq2 = 'TTTAGAGATCTGT';
  5.     my $pos1 = $pos + 1 + length $seq1;
  6.     my $extracto2 = substr($secuencia, $pos1, length $seq2);
  7.     if ($extracto2 eq $seq2) {
  8.         my $seq3 = 'CTATTGT';
  9.         my $pos2 = $pos1 + 1 + length $seq2;
  10.         my $extracto3 = substr($secuencia, $pos2, length $seq3);
  11.         if ($seq3 eq $extracto3) {
  12.             say "Encontrado en posición $pos";
  13.             return;
  14.         }
  15.     }
  16. }
  17. say "No encontrado";
  18. return;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
En algunos casos, incluso puede ser más rápido que con la expresión regular.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
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 1 invitado