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
时间: 2024-10-14 21:33:55

bioperl 格式化genebank的输出的相关文章

文件格式化输入和输出

在控制台操作时,使用的格式化输入和输出为scanf和printf,那么对文件的IO操作也可以使用fscanf和fprintf,它们的使用如下: #include <stdio.h> #include <string.h> #include <stdlib.h> const int LENGTH=80; int main(void){ long num1=234567L; long num2=345123L; long num3=789234L; long num4=0L

标准IO之格式化输入和输出

1. 格式化输入 返回值:三个函数的返回值一致,若成功,指定输入的项数,若输入出错或在任意变换前已到达文件结尾则返回EOF (1). scanf 原型:int scanf(const char *restrict format, ...); 最基础,从标准输入输入 (2). fscanf 原型:int fscanf(FILE *restrict fp, const char *restrict format, ...); 和(1)相比,可以指定流fp,不再局限标准输入 (3). sscanf 原

格式化p6spy的输出日志

众所周知, p6spy打印出来的日志是一行很长很长的内容, 很不容易查看, 牛B的p6spy为什么就不能想hibernate那样有format_sql的功能? 竟然没有, 我只好自己动手写一个日志输出类, 这里我只举出console日志输出的例子: 1 package com.techmango.higenericdao.utils; 2 3 import com.p6spy.engine.spy.appender.StdoutLogger; 4 5 public class P6SpyStdo

JfinalUIB 代码笔记 (5)--- 增加sql打印格式化和参数值输出

先上图看效果 sql格式化 用hibernate的都知道他的sql格式化打印还是很不错的,直接摘取过来用用了,改了个类名叫ToolSqlFormatter 下面是修改jfinal sql输出的地方 参数输出,修改jfinal Dialect类参数预处理的方法

GDB 格式化结构体输出

转载:http://blog.csdn.net/unix21/article/details/9991925 set print addressset print address on打开地址输出,当程序显示函数信息时,GDB会显出函数的参数地址.系统默认为打开的,show print address查看当前地址显示选项是否打开. set print arrayset print array on打开数组显示,打开后当数组显示时,每个元素占一行,如果不打开的话,每个元素则以逗号分隔.这个选项默认

Bioperl 解析blast的输出结果

用bioperl 解析blast的默认输出结果, 整理成-m8格式的输出 #!/usr/bin/perl use Bio::SearchIO; my ($blast) = @ARGV; my $searchio = new Bio::SearchIO(-format => "blast", -file => "test.bls"); while (my $result = $searchio->next_result) { while (my $h

未格式化的输入/输出操作

单字节操作 单字节 IO 操作 说明 is.get(ch) 从 istream is 读取下一个字节存入字符 ch 中,返回 is os.put(ch) 将字符 ch 输出到 ostream os,返回 os is.get() 将 is 的下一个字节作为 int 返回 is.putback(ch) 将字符 ch 放回 is,返回 is is.unget() 将 is 向后 移动一个字节,返回 is is.peek() 将下一个字节作为 int 返回,但不从流中删除它 使用未格式化 IO 操作读取

C 语言字符串和格式化输入与输出

1.前导程序 1 #include<stdio.h> 2 #include<string.h> //1提供strlen()的函数原型 3 #define DENSITY 62.4 //2预处理命令 4 int main(void) 5 { 6 float weight,volume; 7 int size,letters; 8 char name[40]; //3定义一个长度为40的数组 9 10 printf("Hi! What's your first name?\n

C 字符串和格式化输入与输出

1.前导程序 #include<stdio.h> #include<string.h> //1提供strlen()的函数原型 #define DENSITY 62.4 //2预处理命令 int main(void) { float weight,volume; int size,letters; char name[40]; //3定义一个长度为40的数组 printf("Hi! What's your first name?\n"); scanf("