BioJava:CookBookItaliano:Alphabets:CrossProduct
From BioJava
Come posso creare un CrossProductAlphabet? (ad esempio un alfabeto di codoni)
Un CrossProductAlphabet è il risultato della moltiplicazione di Alfabeti fra di loro. I CrossProductAlphabets sono utilizzati per racchiudere 2 o più Simboli all'interno di un singolo "cross product" da considerarsi come un unico Simbolo. Ad esempio utilizzando un cross a 3 vie dell'alfabeto del DNA è possibile racchiudere un codone come un Simbolo(ad esempio un alfabeto di triplette). E' possibile poi contare i Simboli relativi ai codoni in un Count o è possibile utilizzarli in una Distribution. I CrossProductAlphabets possono essere creati tramite un nome [purchè gli Alfabeti siano stati registrati all'interno dell'AlphabetManager) o creando una nuova lista di Alfabeti e creando un Alfabeto a partire da una List. Entrambi i metodi sono mostrati nell'esempio seguente.
import java.util.*; import org.biojava.bio.seq.*; import org.biojava.bio.symbol.*; public class CrossProduct { public static void main(String[] args) { //creo un CrossProductAlphabet a partire da una lista List l = Collections.nCopies(3, DNATools.getDNA()); Alphabet codon = AlphabetManager.getCrossProductAlphabet(l); //ottengo lo stesso alfabeto a partire dal nome Alphabet codon2 = AlphabetManager.generateCrossProductAlphaFromName("(DNA x DNA x DNA)"); //mostriamo che i due alfabeti sono identici System.out.println(codon == codon2); } }

