usage: perl thisScript.pl query.fa gene.lst outfile
--------------------------------------------------------------------
query.fa 基因组或其他需要从中提取的fasta格式文件
gene.lst 需要提取的基因或染色体名字,有无>均可
outfile 输出文件
#!/bin/perl
#unless(@ARGV==3){
# die "usage: $0 <input.fa> <lst> <output.fas>\n";
#}
$file=shift;
$lst=shift;
$out=shift;
open FILE,$file;
open LST,$lst;
open OUT,">".$out;
while(<FILE>){
chomp;
my $line=$_;
if($line=~/^>/){
my @line=split /[ |\t]/,$line;
our $name=$line[0];
#print "$name\n";
}
else{
$seq_hash{$name}.=$line;
}
}
while(<LST>){
chomp;
my $line=$_;
if($line=~/^>/){
$ID=$line;
if(exists $seq_hash{$ID}){
print OUT "$ID\n$seq_hash{$ID}\n";
}
else{
print OUT "error1: ".$ID." no found.\n";
}
}
else{
my $ID=">".$line;
if(exists $seq_hash{$ID}){
print OUT "$ID\n$seq_hash{$ID}\n";
}
else{
print OUT "error2: ".$ID." no found.\n";
}
}
}