如何利用BioJava从序列中删除特征

评论1,477

当你处理序列对象的时候可能希望能够删除一些特征。下面的例子由Keith James 提供,展示如何删除不需要的特征。

在这个例子中所有在正链上的特征都被删除。

[code lang="java"]
import java.io.*;
import java.util.*;
import org.biojava.bio.*;
import org.biojava.bio.seq.*;
import org.biojava.bio.seq.io.*;

public class RemoveFeatures {
public static void main(String[] args) throws Exception {
// 读取EMBL文件
BufferedReader br = new BufferedReader(new FileReader(args[0]));
SequenceIterator seqI = SeqIOTools.readEmbl(br);

while(seq.hasNext()){
Sequence seq = seqI.nextSequence();
// 获得所有在正链上的特征
FeatureHolder fh = seq.filter(new FeatureFilter.StrandFilter(StrandedFeature.POSITIVE));

// 遍历所有的特征
for ( Iterator i = fh.features();i.hasNext();){
// 删除每个特征
seq.removeFeature((Feature)i.next());
}

// 最后将编辑过的序列输出(EMBL format)
SeqIOTools.writeEmbl(System.out, seq);
}
}
}
[/code]

发表评论

匿名网友