Hola, a partir de un fichero con el siguiente formato:
Using text Syntax Highlighting
>supercont1.1 of E.coli M1.001
TTATACTTAACTTATTATTTAAATTAATATAGCTTATTATATAGTAACCTTATAGTTCTA
ATTATATTATAAATAATTTATTTATTATACTTATTTAGTAGTTATTAAATATCTTTATTT
>supercont1.2 of E.coli M1.001
ATATAATAAATAAGAAGTATATATAAAGTAATAATTTTTTATTTATTTATAAGAATTATT
AAAGTTAGTTAATTTATAGTTATTATAACTATTAAAGATTAAAAGTTAATAAGTACTTTT
(...)
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
Estoy intentando extraer, en otro fichero (out.txt), el primer
supercont. Para ello, en teoría, (según lo que yo pretendía) bastaría con teclear
1.2 y dejar que ese valor se guardara en
$a. Al hacer esto, en vez de obtener un fichero con sólo la primera secuencia, obtengo uno con todas las secuencias.
Seguramente sea algo muy tonto pero no tengo mucha experiencia programando en Perl
, ¿alguien puede ayudarme?
Este es el código del programa:
Using perl Syntax Highlighting
#!usr/local/bin/perl
use strict;
use warnings;
print "write the number of the supercontig from out which you want to start erasing";
my $a=<STDIN>;
chomp $a;
my $file="E_coli_m1.001_1_supercontigs.fasta";
my $out_file="out.txt";
my $line;
open (IN, "<$file") or die "can't open $file :$!\n";
open (OUT, ">$out_file") or die "can't open $out_file:$!\n";
while ($line= <IN>) {
if ($line =~m/\d$a/) {
exit;}
else {print OUT $line;
}
}
close IN;
close OUT;
exit;
Coloreado en 0.003 segundos, usando
GeSHi 1.0.8.4