之前的文章《 Bioperl-开源生命科学工具套件 》介绍了BioPerl的整个蓝图,Bio::SeqIO是其一个子模块,可以根据输入文件类型抽取出所需要的信息,其相关模块Bio::Seq则可以按照格式要求储存数据信息,一般处理常用的生信文件格式会调用到。
下面我们利用Bio::SeqIO来快速解析fasta文件格式,示例如下:
#!/usr/bin/perl -w
use warnings;
use strict;
use autodie;
# 载入关键包,安装:`cpan Bio::SeqIO`
use Bio::SeqIO;
# 载入demo序列信息
# 文件状态
#'file' # 打开只读文件
#'>file' # 写入文件
#'>>file' # 向文件追加内容
#'+<file' # 可以读写操作文件
my $in = Bio::SeqIO->new(-file => "demo.fasta" ,
-format => 'Fasta');
# 读取序列
while ( my $seq = $in->next_seq() ) {
# 获取ID
print "ID: ", $seq->display_id, "\n";
# Accession number
print "Accession number: ", $seq->accession_number(), "\n";
# 判断序列是DNA、RNA、Protein
print "Is DNA? ", ($seq->alphabet eq 'dna') ? "True":"False", "\n";
print "Is Protein? ", ($seq->alphabet eq 'protein') ? "True":"False", "\n";
# 获取序列
print "Seq > \n", $seq->seq(), "\n";
# 获取物种信息