Alphabets#
Alphabet
and MolType
#
MolType
instances have an Alphabet
.
from cogent3 import DNA, PROTEIN
print(DNA.alphabet)
print(PROTEIN.alphabet)
('T', 'C', 'A', 'G')
('A', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'Y')
Alphabet
instances have a MolType
.
PROTEIN.alphabet.moltype == PROTEIN
True
Creating tuple alphabets#
You can create a tuple alphabet of, for example, dinucleotides or trinucleotides.
dinuc_alphabet = DNA.alphabet.get_word_alphabet(2)
print(dinuc_alphabet)
trinuc_alphabet = DNA.alphabet.get_word_alphabet(3)
print(trinuc_alphabet)
('TT', 'TC', 'TA', 'TG', 'CT', 'CC', 'CA', 'CG', 'AT', 'AC', 'AA', 'AG', 'GT', 'GC', 'GA', 'GG')
('TTT', 'TTC', 'TTA', 'TTG', 'TCT', 'TCC', 'TCA', 'TCG', 'TAT', 'TAC', 'TAA', 'TAG', 'TGT', 'TGC', 'TGA', 'TGG', 'CTT', 'CTC', 'CTA', 'CTG', 'CCT', 'CCC', 'CCA', 'CCG', 'CAT', 'CAC', 'CAA', 'CAG', 'CGT', 'CGC', 'CGA', 'CGG', 'ATT', 'ATC', 'ATA', 'ATG', 'ACT', 'ACC', 'ACA', 'ACG', 'AAT', 'AAC', 'AAA', 'AAG', 'AGT', 'AGC', 'AGA', 'AGG', 'GTT', 'GTC', 'GTA', 'GTG', 'GCT', 'GCC', 'GCA', 'GCG', 'GAT', 'GAC', 'GAA', 'GAG', 'GGT', 'GGC', 'GGA', 'GGG')
Convert a sequence into integers#
seq = "TAGT"
indices = DNA.alphabet.to_indices(seq)
indices
array([0, 2, 3, 0], dtype=uint8)
Convert integers to a sequence#
seq = DNA.alphabet.from_indices([0, 2, 3, 0])
seq
'TAGT'