bioperl读入写出fastaweb
根据序列ID,从fasta文件中提取目标序列并输出less
序列ID
fasta文件
svg
die "perl $0 <id> <fa> <OUT>" unless(@ARGV==3); #$0程序名 use Bio::SeqIO; use Bio::Seq; $in = Bio::SeqIO->new(-file=>"$ARGV[1]", -format =>'Fasta'); $out = Bio::SeqIO->new(-file=>"$ARGV[2]", -format=>'Fasta'); my %keep=(); open (IN, "$ARGV[0]") or die "$!"; while(<IN>){ chomp; next if ($_=~/^#/); $keep{$_}=1; } close IN; while(my$seqobj = $in->next_seq()){ my($id, $desc) = ($seqobj->id, $seqobj->desc); if(exists $keep{$id}){ $out->wirte_seq($seqobj); } } $in->close(); $out->close();