![]() ![]() ![]() |
|
我如何从杂交产物成分表(cross product alphabet)中分解出他们的组成标记(component symbol)?杂交产物成分表用来将一组标记包装成单个标记。这有利于处理象密码子这样的标记。然而,有时候我们希望将这些标记转变回它们的组成标记,下面的例子说明了如何完成这个任务。 杂交产物成分表中的标记实现了原子标记(atomic symbol)接口。前缀“原子”显示这个标记不可再分。所以有人就会问道,“如何将不可再分的标记分成它的组成标记?”。原子标记的完备定义是它不能再被分解成简单的标记,而这个简单标记却又和原子标记处在相同成分表中。这样,杂交产物成分中的标记并不和它的组成标记处于同一个成分表中。(例如,atg,acc att是密码子标记,由DNAxDNAxDNA杂交生成,但在密码子成分表中并不包含a,g,t,c。所以其原子性仍成立 -- 译者注)密码子对应(DNAxDNAxDNA)成分表,而它的组成标记对应DNA成分表。 和基本标记(Basis symbol)相比较,基本标记分解的组成标记可以和基本标记处于同一个成分表中。 用这种方法,一个基本标记可以是多义的。更多讨论参见基本标记。 package biojava_in_anger; import java.util.*; import org.biojava.bio.seq.*; import org.biojava.bio.symbol.*; public class BreakingComponents { public static void main(String[] args) { // 创建密码子成分表 List l = Collections.nCopies(3, DNATools.getDNA()); Alphabet alph = Alphabet.Manager.getCrossProductAlphabet(l); // 从成分表中取得第一个原子标记 Iterator iter = ((FiniteAlphabet)alpha).iterator(); AtomicSymbol codon = (AtomicSymbol)iter.next(); System.out.print(codon.getName()+" is made of: "); // 将它(第一个标记)的组成标记列举出来 List symbols = codon.getSymbols(); for (int i = 0;i < symbols.size();i++) { if(i!= 0 ) System.out.print(", "); Symbol sym = (Symbol)symbols.get(i); System.out.println(sym.getName()); } } }
|
|
Maintainted by Wu Xin, CBI, Peking University, China, 2003 |