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

  • A+
所属分类:Script

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

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


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);
}
}
}

avatar

发表评论

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