|
发表于 2009-9-2 15:06:28
|
显示全部楼层
建议用 BioPerl 处理序列文件,代码比直接处理要清晰得多。
- #!/usr/bin/perl
- use strict;
- use warnings;
- use Bio::SeqIO;
- my $inf = "in.fasta";
- my $outf = ""out.fasta";
- # 输入序列对象
- my $o_seqi = Bio::SeqIO->new(
- -file => $inf,
- -format => 'fasta',
- );
- # 输出序列对象
- my $o_seqo = Bio::SeqIO->new(
- -file => ">$outf",
- -format => 'fasta',
- );
- while (my $o_seq = $o_seqi->next_seq) {
- # 如果在序列的描述 (description) 中有 'Calponin',则输出完整序列到文件 'out.fsata'
- # 输出的包括序列的 id,描述和核苷酸序列
- if ($o_seq->description =~ /Calponin/) {
- $o_seqo->write_seq($o_seq);
- }
- }
- exit 0;
复制代码
BioPerl 具体请见
http://www.bioperl.org |
|