Translation tables¶
By default, Codeine uses the standard genetic code. It can also be used to generate sequences under nonstandard genetic codes.
Choosing a translation table¶
The TranslationTable object governs how Codeine translates and
reverse-translates amino acid sequences. A table can be chosen from the
NCBI list of genetic code tables by specifying
its ID:
from codeine import TranslationTable
table1 = TranslationTable(table_id=1)
print(table1.name)
print('M', table1.aa_to_codons['M'])
table2 = TranslationTable(table_id=2)
print(table2.name)
print('M', table2.aa_to_codons['M'])
Output:
Standard
M ('ATG',)
Vertebrate Mitochondrial
M ('ATA', 'ATG')
To use a nonstandard genetic code with Codeine, simply pass one to the CodingSpace:
from codeine import CodingSpace, TranslationTable
table = TranslationTable(table_id=2)
space = CodingSpace('CYIQNCPLG', translation_table=table)
Custom tables¶
Codeine also supports user-defined custom tables:
from codeine import TranslationTable
table = TranslationTable.custom(
codons_to_aa={
'AAA': 'A',
'AAC': 'B',
'AAG': 'C',
'AAT': 'D',
'ACA': 'E',
'ACC': 'F',
'ACG': 'G',
'ACT': '*',
},
)
print(table.codons_to_aa['AAG'])
RNA tables¶
By default, translation tables use DNA codons. To use RNA codons instead, set
rna=True.
table = TranslationTable(table_id=1, rna=True)
print(table.translate['M'])
Available tables¶
Codeine supports the following NCBI genetic code tables:
ID |
Name |
|---|---|
1 |
Standard |
2 |
Vertebrate Mitochondrial |
3 |
Yeast Mitochondrial |
4 |
Mold Mitochondrial |
5 |
Invertebrate Mitochondrial |
6 |
Ciliate Nuclear |
9 |
Echinoderm Mitochondrial |
10 |
Euplotid Nuclear |
11 |
Bacterial |
12 |
Alternative Yeast Nuclear |
13 |
Ascidian Mitochondrial |
14 |
Alternative Flatworm Mitochondrial |
15 |
Blepharisma Macronuclear |
16 |
Chlorophycean Mitochondrial |
21 |
Trematode Mitochondrial |
22 |
Scenedesmus obliquus Mitochondrial |
23 |
Thraustochytrium Mitochondrial |
24 |
Pterobranchia Mitochondrial |
25 |
Candidate Division SR1 |
26 |
Pachysolen tannophilus Nuclear |
27 |
Karyorelict Nuclear |
28 |
Condylostoma Nuclear |
29 |
Mesodinium Nuclear |
30 |
Peritrich Nuclear |
31 |
Blastocrithidia Nuclear |
32 |
Balanophoraceae Plastid |
33 |
Cephalodiscidae Mitochondrial |
Fixed codons¶
codon_restrictions restricts which codons are allowed at specific amino acid positions. They can either be fixed exact codons, or subsets of the set of possible codons for that amino acid. Positions are 1-based.
from codeine import CodingSpace
aa_seq = 'MKTLEFQNGSCPRYKKL'
space = CodingSpace(
aa_seq,
codon_restrictions={
2: 'AAA',
3: ['ACA', 'ACG'],
},
seed=42,
)
Here, position 1 is restricted to TCG or TCA, and position 2 is fixed to
GAG.