利用BioJava从杂交产物成分表中分解出他们的组成标记

  • A+
所属分类:Script

杂交产物成分表用来将一组标记包装成单个标记。这有利于处理象密码子这样的标记。然而,有时候我们希望将这些标记转变回它们的组成标记,下面的例子说明了如何完成这个任务。

杂交产物成分表中的标记实现了原子标记(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());

}

}

}

avatar

发表评论

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