Cómo cambiar una variable por otra
Publicado: 2011-05-03 10:34 @482
Hola. necesito de su ayuda... Ojalá alguien me pueda asesorar con esto...
Es un formato de secuencias de ADN... me busca la $variable y la $secuencia y abro otro archivo en el cual voy a buscar $variable con un grep() y si la encuentra, imprimir la $variable2 declarada en el if(), más o menos así:
Mis archivos de entrada son más o menos de esta manera:
y el archivo 2 es así:
y la salida sería de este modo:
pero el problema es que no me imprime nada y al parecer se hace un loop infinito.
¿¿¿Alguien me podría ayudar, pliss???
Es un formato de secuencias de ADN... me busca la $variable y la $secuencia y abro otro archivo en el cual voy a buscar $variable con un grep() y si la encuentra, imprimir la $variable2 declarada en el if(), más o menos así:
Using perl Syntax Highlighting
- open( my $fh, $ARGV[0] ) or die "No se puede abrir el archivo\n";
- my $var;
- my $sec;
- while (<$fh>) {
- if ( $_ =~ /^>(.+)\srank.*\n/ ) {
- $var = $1;
- }
- if ( $_ =~ /^([ACGT].*)\n/ ) {
- $sec = $1;
- }
- my $archivo = '/root/Desktop/cdhits_IGH/cdhit_90.bak.clstr';
- open( FH, $archivo ) or die "No se puede abrir\n";
- if ( $_ =~ /^([0-9]{1,6}).*\n/ ) {
- my $clu = $1;
- my @result = grep {/$var/} <FH>; #hago la busqueda de mi variable
- print "$clu $var\n";
- print "$sec\n";
- }
- }
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Mis archivos de entrada son más o menos de esta manera:
Using text Syntax Highlighting
- >G07VVQL01AJY0Q rank=0188884 x=110.5 y=1400.5 length=896
- CAGTAGGTATCAACGCAGGTAGTTAACGCGGGGTTACTACTATTCTCAGTTAGACGTCCT
- TCCACTCTAGAGCGTAACTAGGCGTGGTCCTCGGAACCGCTTACGACCTTCGTGGCCCGT
- GGGTTAGGTTCCGTTTTCCCTAACGCCTTGGGTCGCCTAAGTTCCCACGTGGCNCGACTC
- >G07VVQL01ATHR6 rank=0187486 x=218.0 y=3252.0 length=750
- TCGACGTCGGTAAAACGTCAAAAACGCAAACGACGTAACGCCGGGAAACCAGCCTATAGT
- CGACCTCGTACGTGGTACCTACCGTTTCCCAAAGTCCCTTGGTAACCCTACTTTACGAAA
- CGTTCGGTTAACCCAAGTTTCGGGTAACCCTTAGGTACCGTAGGGTTTCGTTTACCGTTC
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
Using text Syntax Highlighting
- >Cluster 0
- 0 896aa, >G07VVQL01AJY0Q ra... *
- >Cluster 1
- 0 750aa, >G07VVQL01ATHR6 ra... *
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
y la salida sería de este modo:
Using text Syntax Highlighting
- >Cluster 0 G07VVQL01AJY0Q
- CAGTAGGTATCAACGCAGGTAGTTAACGCGGGGTTACTACTATTCTCAGTTAGACGTCCT
- TCCACTCTAGAGCGTAACTAGGCGTGGTCCTCGGAACCGCTTACGACCTTCGTGGCCCGT
- GGGTTAGGTTCCGTTTTCCCTAACGCCTTGGGTCGCCTAAGTTCCCACGTGGCNCGACTC
- >Cluster 1 G07VVQL01ATHR6
- TCGACGTCGGTAAAACGTCAAAAACGCAAACGACGTAACGCCGGGAAACCAGCCTATAGT
- CGACCTCGTACGTGGTACCTACCGTTTCCCAAAGTCCCTTGGTAACCCTACTTTACGAAA
- CGTTCGGTTAACCCAAGTTTCGGGTAACCCTTAGGTACCGTAGGGTTTCGTTTACCGTTC
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
pero el problema es que no me imprime nada y al parecer se hace un loop infinito.
¿¿¿Alguien me podría ayudar, pliss???