• Publicidad

Extraer palabras de una secuencia

Perl aplicado a la bioinformática

Extraer palabras de una secuencia

Notapor alexander2714 » 2011-08-11 10:40 @486

¡Hola!
Mira tengo un problema: necesito extraer palabras de 8 nucleótidos de la siguiente forma:

Tengo mi secuencia:
CTGTGAAGGAACTT...

La primera palabra sería:
CTGTGAAG

Para la segunda palabra tiene que correr un espacio y empezar a correr los 8 nucleótidos desde el segundo nucleótido de la primera palabra, es decir, ambas palabras quedarían así:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
CTGTGAAG               primera palabra
 TGTGAAGG              segunda
  GTGAAGGA             tercera
   TGAAGGAC            cuarta
    GAAGGAGT           quinta
     AAGGAGTT          sexta
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Luego tengo que hacer un conteo de esas palabras para saber cuántas veces se repiten cada una de ellas en toda la secuencia.

Se me ocurre hacer un hash donde la llave sea la palabra y el valor sea el número de veces que está, es decir, si la vio por primera vez el valor es 1, y si la vio por segunda vez el valor es 2, y así sucesivamente pero no tengo idea de cómo hacer esto. ¿Podrían ayudarme?

¡Gracias!
alexander2714
Perlero nuevo
Perlero nuevo
 
Mensajes: 24
Registrado: 2011-07-25 11:22 @515

Publicidad

Re: Extraer palabras de una secuencia

Notapor explorer » 2011-08-11 11:51 @535

Pero... si tu mismo has dado la solución...

¿No puedes probar a hacer algo de código, aunque sean tres líneas?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Extraer palabras de una secuencia

Notapor Birei » 2011-08-17 11:06 @504

Hola,

Algo así:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use strict ;
  2. use warnings ;
  3. use diagnostics;
  4.  
  5. my (%nucleotido);
  6.  
  7. while ( <DATA> ) {
  8.         chomp;
  9.         my $offset = 0;
  10.         while ( length( my $str = substr $_, $offset, 8 ) == 8 ) {
  11.                 ++$nucleotido{ $str };
  12.                 ++$offset;
  13.         }
  14. }
  15.  
  16. for ( keys %nucleotido ) {
  17.         printf "%s %d\n", $_, $nucleotido{ $_ };
  18. }
  19.  
  20. __DATA__
  21. CTGTGAAGGAACTT
  22.  
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Saludos,
Birei
Birei
Perlero nuevo
Perlero nuevo
 
Mensajes: 15
Registrado: 2011-06-19 13:27 @602


Volver a Bioinformática

¿Quién está conectado?

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