BioJava:CookbookPortuguese:Alphabets:Custom
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.
```java 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);
}
} ```