Página 1 de 1

Cortar secuencia por la mitad

NotaPublicado: 2015-06-14 12:14 @551
por perl biología
Buenas.

Estoy tratando de cortar una secuencia por la mitad y que ambas mitades me la guarde cada una en una variable distinta.

Para ellos he probado con la variable chop() pero no consigo guardar ambas mitades.

El caso es que meto variables pero no consigo el fin.

#!/usr/bin/perl

my $secuencia = 'AAATTTGGGTGTAATTGGGCCCGT';
my $secuencia =~ s/\s//g;
my $longitud = length($secuencia);

my $long = $longitud/2;
print "La longitud de la cadena es $longitud y el borde mide $long\n";
my $char;
my $new;
for ($char = 0;$char < $long; $char++){
my $char = chop ($secuencia) >> my $new;
}

¿Me pueden ayudar?
Gracias

Re: Cortar secuencia por la mitad

NotaPublicado: 2015-06-14 13:42 @613
por explorer
Muy creativo tu código... En una línea casi parece C++ :D

El método (que no variable) chop() sirve para recortar el último carácter de una cadena de caracteres.

Si quieres extraer una cadena de caracteres de otra, puedes usar substr():
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4.  
  5. my $secuencia = 'AAATTTGGGTGTAATTGGGCCCGT';
  6. my $longitud  = length $secuencia;
  7. my $borde     = $longitud / 2;
  8.  
  9. print "La longitud de la cadena es $longitud y el borde mide $long\n";
  10.  
  11. my $primera_mitad = substr $secuencia, 0, $borde;
  12. my $segunda_mitad = substr $secuencia, $borde +1;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

Tienes más información en tu ordenador, ejecutando el comando perldoc -f substr

Re: Cortar secuencia por la mitad

NotaPublicado: 2015-06-14 14:09 @631
por perl biología
Sí, ante la desesperación de tantas pruebas he liado varios programas.

Muchas gracias por la gran ayuda.