BioJava中改变序列的名字

评论1,056

大多数Biojava序列对象是不可改变的。这样的安全特性能避免对数据完整性的破坏。这样,在序列对象中就没有setName()这样的方法。有一种办法是用原始序列作为参数创建原始序列对象的视图。

通过使用序列视图这样的包装器能够实现很多不能直接对原始序列对象调用的方法,例如改变序列的名字。

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

public class NameChange {
public static void main(String[] args){
try{
Sequence seq = DNATools.createDNASequence("atgcgctaggctag","gi|12356|ABC123");

// 创建一个序列视图 改变它的名字
ViewSequence seq2 = new ViewSequence(seq,"ABC123");
// 输出FASTA格式证明名字改变了
SeqIOTools.writeFasta(System.out,seq2);
}
catch(IllegalSymbolException ex){
ex.printStackTrace();
}
catch(IOException ex){
ex.printStackTrace();
}
}
}
[/code]

发表评论

匿名网友