利用BioJava列出序列中的注释

  • A+
所属分类:Script

当你读取象GenBank或EMBL这样的序列注释文件时,文件提供的不仅仅是序列本身还有一些更细节的序列信息。如果这个信息拥有位置的话,就可以当作是特征。如果这个信息是很通用的信息比如说是物种名称的话,就可以当作是注释。Biojava 注释(Annotation)对象有些象图(Map)对象,它包括键值映射。

下面就是EMBL文件的开头部分:

下面的程序读取EMBL文件并且列出所有的注释属性。程序的输出附在后面。

import java.io.*;
import java.util.*;
import org.biojava.bio.*;
import org.biojava.bio.seq.*;
import org.biojava.bio.seq.io.*;

public class ListAnnotations {
public static void main(String[] args){
try {
// 读取EMBL纪录

BufferedReader br = new BufferedReader(new FileReader(args[0]));
SequenceIterator seqs = SeqIOTools.readEmbl(br);

// 对于每条序列列出它的注释

while(seqs.hasNext()){
Annotation anno = seqs.nextSequence().getAnnotation();

// 打印每个键值对

for(Iterator i = anno.keys().iterator();i.hasNext(); ) {
Object key = i.next();
System.out.println(key+" : "+ anno.getProperty(key));
}
}
}
catch (Exception ex){
ex.printStackTrace();
}
}
}

程序输出:

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: