bioperl 格式化genebank的输出

代码如下:

use Bio::SeqIO;
use Bio::DB::GenBank;
use Bio::DB::Query::GenBank;
my $db_obj = Bio::DB::GenBank->new; my $seq_obj = $db_obj->get_Seq_by_acc('JN093905'); my $id = $seq_obj->display_id(); my $organ; foreach my $feat_object ($seq_obj->get_SeqFeatures) { if ($feat_object->primary_tag eq "source") { ($organ) = $feat_object->get_tag_values('organism'); } if ($feat_object->primary_tag eq "CDS") { my ($gene_name) = $feat_object->get_tag_values('gene'); next if $gene_name ne 'nifH'; my ($seq) = $feat_object->get_tag_values('translation'); my ($pro) = $feat_object->get_tag_values('product'); $seq = lc($seq); my $len = (length($seq) + 1) * 3; print qq{>$id coded_by=<1..>$len,organism=$organ,definition=$pro\n$seq\n}; } }

运行结果如下:

>JN093905 coded_by=<1..>330,organism=uncultured Trichodesmium sp.,definition=dinitrogenase reductase
rlilnakaqttvlhvaaergavedveldevlkpgfggikcvesggpepgvgcagrgiitainfleeegaytdldfvsydvlgdvvcggfampirenkaqeiyivcsgem

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值