BioJava:CookbookPortuguese:Alphabets:Custom
From BioJava
Como crio alfabetos customizados a partir de simbolos customizados?
Este exemplo demonstra a criação de um alfabeto 'binário' que terá dois elementos Symbol, zero e um. O Symbol customizado e o Alphabet podem ser usados para criar SymbolList, Sequences, Distributions, etc.
import org.biojava.bio.symbol.*; import org.biojava.bio.*; import java.util.*; public class Binary { public static void main(String[] args) { //cria o Simbolo "zero" sem anotação ou anotação vazia Symbol zero = AlphabetManager.createSymbol("zero", Annotation.EMPTY_ANNOTATION); //cria o Simbolo "um" Symbol one = AlphabetManager.createSymbol("um", Annotation.EMPTY_ANNOTATION); //agrega os Simbolos em uma Coleção Set symbols = new HashSet(); symbols.add(zero); symbols.add(one); //cria o Alfabeto Binário FiniteAlphabet binary = new SimpleAlphabet(symbols, "Binary"); //navega entre os simbolos para exibir todo o trabalho for (Iterator i = binary.iterator(); i.hasNext(); ) { Symbol sym = (Symbol)i.next(); System.out.println(sym.getName()); } //geralmente se registra os Alfabetos recem-criados com AlphabetManager AlphabetManager.registerAlphabet(binary.getName(), binary); /* * O Alfabeto recém-criado deverá ser registrado com o * AlphabetManager sob o nome "Binary". Se voce recuperar uma instancia * dele usando seu nome deve ser canonical com a instancia anterior */ Alphabet alpha = AlphabetManager.alphabetForName("Binary"); //verifica o status canonical System.out.println(alpha == binary); } }

