BioJava:CookbookPortuguese:Alphabets:CrossProduct

From BioJava

Jump to: navigation, search

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:

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);
  }
}
Personal tools