A ver, tengo que analizar cientos de ficheros FASTA. La cabecera ya la he sacado.
Using perl Syntax Highlighting
use strict;
my @fichero;
open (FA, "641736151.fna.txt");
@fichero = <FA>;
close @fichero;
my $line;
my @headers;
my $id;
my $locus;
my $refseq;
my $nombre;
foreach $line (@fichero){
if ($line =~ />/){
@headers = $line;
print @headers;
}
Coloreado en 0.003 segundos, usando
GeSHi 1.0.8.4
Entonces me da cientos de estas cabeceras:
Using text Syntax Highlighting
>642427638 BgramDRAFT_6745 1557..1832(-)(NZ_ABLD01000069) [Burkholderia graminis C4D1M]
>642427639 BgramDRAFT_6746 1921..2019(-)(NZ_ABLD01000069) [Burkholderia graminis C4D1M]
>642427640 BgramDRAFT_6747 280..846(-)(NZ_ABLD01000070) [Burkholderia graminis C4D1M]
>642427641 BgramDRAFT_6748 851..1948(-)(NZ_ABLD01000070) [Burkholderia graminis C4D1M]
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
Y se me ha ocurrido hacerlo así, pero no sé si está bien o si hago algo mal:
Using perl Syntax Highlighting
my $header;
foreach $header (@headers) {
if ( $header =~ />(\d+) (BgramDRAFT_\d+) (\d+..\d+)\([+-]\)(NZ_ABLD\d+) (\[Burkholderia graminis C4D1M\])/ ) {
$id = $1;
$locus = $2;
$refseq = $3;
$nombre = $4;
}
}
}
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
¡Muchas Gracias!