| title | BioJava:CookBookItaliano:Alphabets:Custom |
|---|---|
| permalink | wiki/BioJava%3ACookBookItaliano%3AAlphabets%3ACustom |
Questo esempio mostra la creazione di un alfabeto binario che ha 2 Simboli zero e uno. La personalizzazione dei Simboli e dell'Alfabeto può essere utilizzata per costruire nuove Liste di Simboli, Sequenze, Distribuzioni, etc.
import java.util.\*;
public class Binary {
` public static void main(String[] args) {`
` //crea il Simbolo zero senza nessuna annotazione`
` Symbol zero =`
` AlphabetManager.createSymbol("zero", Annotation.EMPTY_ANNOTATION);`
` //creo il Simbolo uno`
` Symbol one =`
` AlphabetManager.createSymbol("one", Annotation.EMPTY_ANNOTATION);`
` //inserisco i 2 simboli in un Set`
` Set symbols = new HashSet();`
` symbols.add(zero); symbols.add(one);`
` //creo l'alfabeto binary`
` FiniteAlphabet binary = new SimpleAlphabet(symbols, "Binary");`
` //itero i vari elementi dell'alfabeto per verificare che tutto funzioni correttamente`
` for (Iterator i = binary.iterator(); i.hasNext(); ) {`
` Symbol sym = (Symbol)i.next();`
` System.out.println(sym.getName());`
` }`
` //Bisogna registrare i nuovi alfabeti con l'AlphabetManager`
` AlphabetManager.registerAlphabet(binary.getName(), binary);`
` /*`
` * Il nuovo alfabeto cosi' creato e' stato registrato con `
` * l'AlphabetManager con il nome "Binary". Per ottenere l'istanza di`
` * di quest'ultimo basta richiamarlo con il nome assegnato alla precendente istanza`
` */`
` `
` Alphabet alpha = AlphabetManager.alphabetForName("Binary");`
` //verifico che siamo uguali`
` System.out.println(alpha == binary);`
` }`
` }````