Bienvenido a los foros de Perl en Español, Cacho10.
El código creo que hace lo siguiente:
Using perl Syntax Highlighting
while ( my $f1 = <WF> ) { # para todas las líneas del archivo asociado a WF, cada línea se mete en $f1
$f1[0] = $f1; # $f1 no se usa en ningún otro sitio más que aquí, haciendo una copia de la línea en $f1[0]
chomp( $f1[1] = <WF> ); # leemos la siguiente línea de WF, la guardamos en $f1[1] y le quitamos los finales de línea
$f1[2] = <WF>; # leemos la siguiente línea de WF, la guardamos en $f1[2], y no lo usamos más
chomp( $f1[3] = <WF> ); # leemos la siguiente línea de WF, la guardamos en $f1[3] y le quitamos los finales de línea, y no lo usamos más
$r1[0] = <WR>; # leemos una línea de WR, la guardamos en $r1[0], y no lo usamos más
chomp( my $temp1 = <WR> ); # leemos la siguiente línea de WR, la guardamos en $temp1 y le quitamos los finales de línea
$r1[1] = reverse($temp1); # la última línea leída, le damos la vuelta y la guardamos en $r1[1]
$r1[1] =~ s/A/a/g; # de la última línea leída, cambiamos todas las 'A' por 'a'
$r1[1] =~ s/T/t/g; # de la última línea leída, cambiamos todas las 'T' por 't'
$r1[1] =~ s/C/c/g; # de la última línea leída, cambiamos todas las 'C' por 'c'
$r1[1] =~ s/G/g/g; # de la última línea leída, cambiamos todas las 'G' por 'g'
$r1[1] =~ s/a/T/g; # de la última línea leída, cambiamos todas las 'a' por 'T'
$r1[1] =~ s/t/A/g; # de la última línea leída, cambiamos todas las 't' por 'A'
$r1[1] =~ s/c/G/g; # de la última línea leída, cambiamos todas las 'c' por 'G'
$r1[1] =~ s/g/C/g; # de la última línea leída, cambiamos todas las 'g' por 'C'
$r1[2] = <WR>; # leemos otra línea más y la guardamos en $r1[2], y no la usamos más
chomp( my $temp2 = <WR> ); # leemos otra línea, la guardamos en $temp2 y le quitamos los finales de línea
$r1[3] = reverse($temp2); # le damos la vuelta y la guardamos en $r1[3], y no lo usamos más
my $rf1 = $f1[1] . $c_60 . $r1[1]; # concatenamos $f1[1] (que es la segunda línea leída), con $c_60, con la sexta línea traducida
chomp( $f1[0] ); # quitamos los finales de línea de la primera línea
print FILE "$f1[0] $rf1\n"; # escribimos a un archivo externo la primera línea y el resultado de la concatenación anterior
}
Coloreado en 0.005 segundos, usando
GeSHi 1.0.8.4
Lo que parece es que se leen ciertas líneas, se transforman un par de ellas, y se genera un resultado.
Se nota que quieres sacar la complementaria de una secuencia de ADN.
Esta es mi propia interpretación, reducida:
Using perl Syntax Highlighting
while (my $cabeza = <WF>) {
chomp $cabeza;
chomp(my $segunda = <WF>);
<WF>; <WF>; <WR>;
chomp(my $seq = <WR>);
$seq = reverse $seq;
$seq =~ tr/ATCG/TAGC/;
<WR>; <WR>;
my $cuerpo = $segunda . $c_60 . $seq;
print FILE "$cabeza $cuerpo\n";
}
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4