BioJava:CookbookPortuguese:Alphabets:CrossProduct
Como crio um CrossProductAlphabet, por exemplo, um alfabeto de codons?
Um CrossProductAlphabet resulta da multiplicação de alguns Alphabets. Eles são usados para transformar 2 ou mais Symbols em um único Symbol “cross product”.
Por exemplo:
Utilizando 3 nucleotideos do alfabeto de DNA você pode obter um codon representado por um único Symbol. A partir dai é possível obter uma contabilização dos codons em um objeto Count ou ainda utilizá-los em um objeto Distribution.
CrossProductAlphabets podem ser criados pelo nome (se o componente Alphabet está registrado no AlphabetManager) ou criando uma lista com o auxilio da Classe Collections. Ambas as possibilidades são mostradas no exemplo abaixo:
```java import java.util.*; import org.biojava.bio.seq.*; import org.biojava.bio.symbol.*;
public class CrossProduct {
public static void main(String[] args) {
//cria um CrossProductAlphabet a partir de uma Lista
List l = Collections.nCopies(3, DNATools.getDNA());
Alphabet codon = AlphabetManager.getCrossProductAlphabet(l);
//retorna o Alfabeto de codons
Alphabet codon2 =
AlphabetManager.generateCrossProductAlphaFromName("(DNA x DNA x DNA)");
//exibe se os dois alfabetos são canonical
System.out.println(codon == codon2);
}
} ```