| """Codon scoring tables and accessors for plant codon optimization.
|
|
|
| This is the *accessor* layer used by the analyzer, designer and API: it provides
|
| ``get_codon_usage`` / ``get_codon_pair_usage`` / ``get_tgcn`` / ``get_tai_weights``
|
| plus the codon↔amino-acid map, and holds the tGCN (tRNA gene copy number) and
|
| tAI-weight tables. It is distinct from ``codon_usage_tables.py``, which holds the
|
| large *generated* per-species Kazusa CUTG usage-frequency tables that this module
|
| imports and re-exports. In short: raw usage frequencies live in
|
| ``codon_usage_tables.py``; every derived table and accessor lives here.
|
| """
|
|
|
| VALID_AMINO_ACIDS = set("ACDEFGHIKLMNPQRSTVWY")
|
|
|
| CODON_TO_AMINO_ACID = {
|
| 'TTT': 'F', 'TTC': 'F', 'TTA': 'L', 'TTG': 'L', 'TCT': 'S', 'TCC': 'S', 'TCA': 'S', 'TCG': 'S',
|
| 'TAT': 'Y', 'TAC': 'Y', 'TAA': '_', 'TAG': '_', 'TGT': 'C', 'TGC': 'C', 'TGA': '_', 'TGG': 'W',
|
| 'CTT': 'L', 'CTC': 'L', 'CTA': 'L', 'CTG': 'L', 'CCT': 'P', 'CCC': 'P', 'CCA': 'P', 'CCG': 'P',
|
| 'CAT': 'H', 'CAC': 'H', 'CAA': 'Q', 'CAG': 'Q', 'CGT': 'R', 'CGC': 'R', 'CGA': 'R', 'CGG': 'R',
|
| 'ATT': 'I', 'ATC': 'I', 'ATA': 'I', 'ATG': 'M', 'ACT': 'T', 'ACC': 'T', 'ACA': 'T', 'ACG': 'T',
|
| 'AAT': 'N', 'AAC': 'N', 'AAA': 'K', 'AAG': 'K', 'AGT': 'S', 'AGC': 'S', 'AGA': 'R', 'AGG': 'R',
|
| 'GTT': 'V', 'GTC': 'V', 'GTA': 'V', 'GTG': 'V', 'GCT': 'A', 'GCC': 'A', 'GCA': 'A', 'GCG': 'A',
|
| 'GAT': 'D', 'GAC': 'D', 'GAA': 'E', 'GAG': 'E', 'GGT': 'G', 'GGC': 'G', 'GGA': 'G', 'GGG': 'G',
|
| }
|
|
|
|
|
|
|
|
|
|
|
| from .codon_usage_tables import CODON_USAGE_TABLES, SPECIES_CDS_COUNT
|
|
|
|
|
| ARABIDOPSIS_CODON_USAGE = CODON_USAGE_TABLES['arabidopsis']
|
| RICE_CODON_USAGE = CODON_USAGE_TABLES['rice']
|
| MAIZE_CODON_USAGE = CODON_USAGE_TABLES['maize']
|
|
|
|
|
|
|
|
|
|
|
| ARABIDOPSIS_CODON_PAIR_USAGE = {
|
| ('GCT', 'GCT'): 0.055, ('GCT', 'GCC'): 0.072, ('GCC', 'GCC'): 0.081,
|
| ('GCC', 'GCT'): 0.064, ('GCT', 'GCG'): 0.031, ('AAG', 'AAG'): 0.068,
|
| ('AAG', 'GAG'): 0.062, ('GAG', 'AAG'): 0.059, ('GAG', 'GAG'): 0.074,
|
| ('ATG', 'AAG'): 0.091, ('ATG', 'GAG'): 0.083, ('ATG', 'GCC'): 0.087,
|
| ('GGT', 'GGC'): 0.070, ('GGC', 'GGC'): 0.088, ('GGC', 'GGT'): 0.067,
|
| ('CTG', 'CTG'): 0.052, ('CTG', 'CTC'): 0.058, ('CTC', 'CTG'): 0.049,
|
| ('ACC', 'ACC'): 0.065, ('ACC', 'ACT'): 0.051, ('ACT', 'ACC'): 0.048,
|
| ('GTG', 'GTG'): 0.061, ('GTG', 'GTC'): 0.055, ('GTC', 'GTG'): 0.050,
|
| ('TTG', 'TTG'): 0.035, ('TTG', 'CTG'): 0.047, ('ATC', 'ATC'): 0.063,
|
| ('ATC', 'ATT'): 0.045, ('AAC', 'AAC'): 0.058, ('GAC', 'GAC'): 0.055,
|
| ('TGC', 'TGC'): 0.044, ('TAC', 'TAC'): 0.041, ('CAG', 'CAG'): 0.049,
|
| }
|
|
|
| RICE_CODON_PAIR_USAGE = {
|
| ('GCT', 'GCT'): 0.061, ('GCT', 'GCC'): 0.079, ('GCC', 'GCC'): 0.088,
|
| ('GCC', 'GCT'): 0.070, ('GCT', 'GCG'): 0.035, ('AAG', 'AAG'): 0.072,
|
| ('AAG', 'GAG'): 0.068, ('GAG', 'AAG'): 0.063, ('GAG', 'GAG'): 0.079,
|
| ('ATG', 'AAG'): 0.096, ('ATG', 'GAG'): 0.088, ('ATG', 'GCC'): 0.093,
|
| ('GGT', 'GGC'): 0.076, ('GGC', 'GGC'): 0.094, ('GGC', 'GGT'): 0.072,
|
| ('CTG', 'CTG'): 0.057, ('CTG', 'CTC'): 0.063, ('CTC', 'CTG'): 0.054,
|
| ('ACC', 'ACC'): 0.071, ('ACC', 'ACT'): 0.056, ('ACT', 'ACC'): 0.053,
|
| ('GTG', 'GTG'): 0.067, ('GTG', 'GTC'): 0.060, ('GTC', 'GTG'): 0.055,
|
| ('TTG', 'TTG'): 0.039, ('TTG', 'CTG'): 0.052, ('ATC', 'ATC'): 0.069,
|
| ('ATC', 'ATT'): 0.050, ('AAC', 'AAC'): 0.063, ('GAC', 'GAC'): 0.060,
|
| ('TGC', 'TGC'): 0.049, ('TAC', 'TAC'): 0.046, ('CAG', 'CAG'): 0.054,
|
| }
|
|
|
| MAIZE_CODON_PAIR_USAGE = {
|
| ('GCT', 'GCT'): 0.067, ('GCT', 'GCC'): 0.085, ('GCC', 'GCC'): 0.094,
|
| ('GCC', 'GCT'): 0.075, ('GCT', 'GCG'): 0.038, ('AAG', 'AAG'): 0.077,
|
| ('AAG', 'GAG'): 0.073, ('GAG', 'AAG'): 0.068, ('GAG', 'GAG'): 0.084,
|
| ('ATG', 'AAG'): 0.101, ('ATG', 'GAG'): 0.093, ('ATG', 'GCC'): 0.098,
|
| ('GGT', 'GGC'): 0.081, ('GGC', 'GGC'): 0.100, ('GGC', 'GGT'): 0.077,
|
| ('CTG', 'CTG'): 0.062, ('CTG', 'CTC'): 0.068, ('CTC', 'CTG'): 0.059,
|
| ('ACC', 'ACC'): 0.076, ('ACC', 'ACT'): 0.061, ('ACT', 'ACC'): 0.058,
|
| ('GTG', 'GTG'): 0.072, ('GTG', 'GTC'): 0.065, ('GTC', 'GTG'): 0.060,
|
| ('TTG', 'TTG'): 0.043, ('TTG', 'CTG'): 0.057, ('ATC', 'ATC'): 0.074,
|
| ('ATC', 'ATT'): 0.055, ('AAC', 'AAC'): 0.068, ('GAC', 'GAC'): 0.065,
|
| ('TGC', 'TGC'): 0.054, ('TAC', 'TAC'): 0.051, ('CAG', 'CAG'): 0.059,
|
| }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| _ARABIDOPSIS_TGCN = {
|
| 'TTT': 15, 'TTC': 15, 'TTA': 6, 'TTG': 16,
|
| 'TCT': 36, 'TCC': 36, 'TCA': 42, 'TCG': 11,
|
| 'TAT': 61, 'TAC': 61, 'TAA': 0, 'TAG': 0,
|
| 'TGT': 14, 'TGC': 14, 'TGA': 0, 'TGG': 14,
|
| 'CTT': 12, 'CTC': 12, 'CTA': 21, 'CTG': 12,
|
| 'CCT': 15, 'CCC': 15, 'CCA': 58, 'CCG': 48,
|
| 'CAT': 9, 'CAC': 9, 'CAA': 7, 'CAG': 16,
|
| 'CGT': 9, 'CGC': 9, 'CGA': 15, 'CGG': 10,
|
| 'ATT': 17, 'ATC': 17, 'ATA': 22, 'ATG': 25,
|
| 'ACT': 10, 'ACC': 10, 'ACA': 18, 'ACG': 13,
|
| 'AAT': 16, 'AAC': 16, 'AAA': 13, 'AAG': 30,
|
| 'AGT': 11, 'AGC': 11, 'AGA': 9, 'AGG': 16,
|
| 'GTT': 14, 'GTC': 14, 'GTA': 21, 'GTG': 15,
|
| 'GCT': 16, 'GCC': 16, 'GCA': 26, 'GCG': 17,
|
| 'GAT': 25, 'GAC': 25, 'GAA': 10, 'GAG': 23,
|
| 'GGT': 21, 'GGC': 21, 'GGA': 12, 'GGG': 17,
|
| }
|
|
|
| _BRACHYPODIUM_TGCN = {
|
| 'TTT': 17, 'TTC': 17, 'TTA': 4, 'TTG': 10,
|
| 'TCT': 13, 'TCC': 13, 'TCA': 15, 'TCG': 10,
|
| 'TAT': 16, 'TAC': 16, 'TAA': 0, 'TAG': 0,
|
| 'TGT': 12, 'TGC': 12, 'TGA': 0, 'TGG': 16,
|
| 'CTT': 14, 'CTC': 14, 'CTA': 19, 'CTG': 13,
|
| 'CCT': 13, 'CCC': 13, 'CCA': 24, 'CCG': 19,
|
| 'CAT': 10, 'CAC': 10, 'CAA': 6, 'CAG': 17,
|
| 'CGT': 14, 'CGC': 14, 'CGA': 19, 'CGG': 11,
|
| 'ATT': 22, 'ATC': 22, 'ATA': 23, 'ATG': 26,
|
| 'ACT': 11, 'ACC': 11, 'ACA': 20, 'ACG': 15,
|
| 'AAT': 13, 'AAC': 13, 'AAA': 10, 'AAG': 28,
|
| 'AGT': 10, 'AGC': 10, 'AGA': 9, 'AGG': 18,
|
| 'GTT': 13, 'GTC': 13, 'GTA': 18, 'GTG': 16,
|
| 'GCT': 19, 'GCC': 19, 'GCA': 28, 'GCG': 20,
|
| 'GAT': 19, 'GAC': 19, 'GAA': 10, 'GAG': 28,
|
| 'GGT': 20, 'GGC': 20, 'GGA': 8, 'GGG': 17,
|
| }
|
|
|
| _CASSAVA_TGCN = {
|
| 'TTT': 21, 'TTC': 21, 'TTA': 13, 'TTG': 27,
|
| 'TCT': 19, 'TCC': 19, 'TCA': 37, 'TCG': 22,
|
| 'TAT': 18, 'TAC': 18, 'TAA': 0, 'TAG': 0,
|
| 'TGT': 21, 'TGC': 21, 'TGA': 0, 'TGG': 19,
|
| 'CTT': 16, 'CTC': 16, 'CTA': 26, 'CTG': 17,
|
| 'CCT': 15, 'CCC': 15, 'CCA': 32, 'CCG': 21,
|
| 'CAT': 17, 'CAC': 17, 'CAA': 13, 'CAG': 24,
|
| 'CGT': 8, 'CGC': 8, 'CGA': 18, 'CGG': 16,
|
| 'ATT': 28, 'ATC': 28, 'ATA': 41, 'ATG': 47,
|
| 'ACT': 15, 'ACC': 15, 'ACA': 29, 'ACG': 19,
|
| 'AAT': 31, 'AAC': 31, 'AAA': 29, 'AAG': 50,
|
| 'AGT': 23, 'AGC': 23, 'AGA': 12, 'AGG': 24,
|
| 'GTT': 24, 'GTC': 24, 'GTA': 39, 'GTG': 28,
|
| 'GCT': 27, 'GCC': 27, 'GCA': 57, 'GCG': 36,
|
| 'GAT': 36, 'GAC': 36, 'GAA': 20, 'GAG': 45,
|
| 'GGT': 28, 'GGC': 28, 'GGA': 23, 'GGG': 32,
|
| }
|
|
|
| _COTTON_TGCN = {
|
| 'TTT': 27, 'TTC': 27, 'TTA': 9, 'TTG': 23,
|
| 'TCT': 23, 'TCC': 23, 'TCA': 30, 'TCG': 16,
|
| 'TAT': 21, 'TAC': 21, 'TAA': 0, 'TAG': 0,
|
| 'TGT': 19, 'TGC': 19, 'TGA': 0, 'TGG': 21,
|
| 'CTT': 18, 'CTC': 18, 'CTA': 26, 'CTG': 15,
|
| 'CCT': 18, 'CCC': 18, 'CCA': 41, 'CCG': 28,
|
| 'CAT': 14, 'CAC': 14, 'CAA': 12, 'CAG': 22,
|
| 'CGT': 14, 'CGC': 14, 'CGA': 22, 'CGG': 13,
|
| 'ATT': 28, 'ATC': 28, 'ATA': 36, 'ATG': 41,
|
| 'ACT': 16, 'ACC': 16, 'ACA': 26, 'ACG': 16,
|
| 'AAT': 27, 'AAC': 27, 'AAA': 26, 'AAG': 42,
|
| 'AGT': 26, 'AGC': 26, 'AGA': 11, 'AGG': 23,
|
| 'GTT': 25, 'GTC': 25, 'GTA': 37, 'GTG': 22,
|
| 'GCT': 24, 'GCC': 24, 'GCA': 42, 'GCG': 26,
|
| 'GAT': 36, 'GAC': 36, 'GAA': 19, 'GAG': 38,
|
| 'GGT': 28, 'GGC': 28, 'GGA': 18, 'GGG': 27,
|
| }
|
|
|
| _GRAPE_TGCN = {
|
| 'TTT': 11, 'TTC': 11, 'TTA': 5, 'TTG': 11,
|
| 'TCT': 11, 'TCC': 11, 'TCA': 17, 'TCG': 10,
|
| 'TAT': 11, 'TAC': 11, 'TAA': 0, 'TAG': 0,
|
| 'TGT': 8, 'TGC': 8, 'TGA': 0, 'TGG': 10,
|
| 'CTT': 9, 'CTC': 9, 'CTA': 15, 'CTG': 11,
|
| 'CCT': 12, 'CCC': 12, 'CCA': 26, 'CCG': 18,
|
| 'CAT': 9, 'CAC': 9, 'CAA': 6, 'CAG': 15,
|
| 'CGT': 5, 'CGC': 5, 'CGA': 10, 'CGG': 9,
|
| 'ATT': 12, 'ATC': 12, 'ATA': 16, 'ATG': 21,
|
| 'ACT': 9, 'ACC': 9, 'ACA': 13, 'ACG': 8,
|
| 'AAT': 14, 'AAC': 14, 'AAA': 8, 'AAG': 18,
|
| 'AGT': 8, 'AGC': 8, 'AGA': 6, 'AGG': 12,
|
| 'GTT': 12, 'GTC': 12, 'GTA': 16, 'GTG': 13,
|
| 'GCT': 11, 'GCC': 11, 'GCA': 20, 'GCG': 14,
|
| 'GAT': 17, 'GAC': 17, 'GAA': 9, 'GAG': 23,
|
| 'GGT': 14, 'GGC': 14, 'GGA': 8, 'GGG': 13,
|
| }
|
|
|
| _MAIZE_TGCN = {
|
| 'TTT': 43, 'TTC': 43, 'TTA': 5, 'TTG': 14,
|
| 'TCT': 41, 'TCC': 41, 'TCA': 20, 'TCG': 14,
|
| 'TAT': 27, 'TAC': 27, 'TAA': 0, 'TAG': 0,
|
| 'TGT': 42, 'TGC': 42, 'TGA': 0, 'TGG': 44,
|
| 'CTT': 28, 'CTC': 28, 'CTA': 34, 'CTG': 20,
|
| 'CCT': 17, 'CCC': 17, 'CCA': 69, 'CCG': 61,
|
| 'CAT': 14, 'CAC': 14, 'CAA': 15, 'CAG': 28,
|
| 'CGT': 59, 'CGC': 59, 'CGA': 67, 'CGG': 14,
|
| 'ATT': 64, 'ATC': 64, 'ATA': 68, 'ATG': 45,
|
| 'ACT': 38, 'ACC': 38, 'ACA': 45, 'ACG': 30,
|
| 'AAT': 83, 'AAC': 83, 'AAA': 9, 'AAG': 49,
|
| 'AGT': 26, 'AGC': 26, 'AGA': 18, 'AGG': 29,
|
| 'GTT': 22, 'GTC': 22, 'GTA': 27, 'GTG': 21,
|
| 'GCT': 37, 'GCC': 37, 'GCA': 48, 'GCG': 30,
|
| 'GAT': 49, 'GAC': 49, 'GAA': 14, 'GAG': 45,
|
| 'GGT': 46, 'GGC': 46, 'GGA': 11, 'GGG': 21,
|
| }
|
|
|
| _RICE_TGCN = {
|
| 'TTT': 19, 'TTC': 19, 'TTA': 4, 'TTG': 12,
|
| 'TCT': 14, 'TCC': 14, 'TCA': 16, 'TCG': 12,
|
| 'TAT': 15, 'TAC': 15, 'TAA': 0, 'TAG': 0,
|
| 'TGT': 13, 'TGC': 13, 'TGA': 0, 'TGG': 17,
|
| 'CTT': 16, 'CTC': 16, 'CTA': 22, 'CTG': 14,
|
| 'CCT': 14, 'CCC': 14, 'CCA': 24, 'CCG': 18,
|
| 'CAT': 10, 'CAC': 10, 'CAA': 13, 'CAG': 23,
|
| 'CGT': 20, 'CGC': 20, 'CGA': 24, 'CGG': 11,
|
| 'ATT': 17, 'ATC': 17, 'ATA': 22, 'ATG': 28,
|
| 'ACT': 17, 'ACC': 17, 'ACA': 25, 'ACG': 19,
|
| 'AAT': 27, 'AAC': 27, 'AAA': 10, 'AAG': 29,
|
| 'AGT': 16, 'AGC': 16, 'AGA': 10, 'AGG': 19,
|
| 'GTT': 17, 'GTC': 17, 'GTA': 21, 'GTG': 14,
|
| 'GCT': 20, 'GCC': 20, 'GCA': 30, 'GCG': 21,
|
| 'GAT': 25, 'GAC': 25, 'GAA': 11, 'GAG': 37,
|
| 'GGT': 21, 'GGC': 21, 'GGA': 10, 'GGG': 19,
|
| }
|
|
|
| _SORGHUM_TGCN = {
|
| 'TTT': 17, 'TTC': 17, 'TTA': 4, 'TTG': 11,
|
| 'TCT': 10, 'TCC': 10, 'TCA': 16, 'TCG': 12,
|
| 'TAT': 12, 'TAC': 12, 'TAA': 0, 'TAG': 0,
|
| 'TGT': 11, 'TGC': 11, 'TGA': 0, 'TGG': 12,
|
| 'CTT': 14, 'CTC': 14, 'CTA': 20, 'CTG': 16,
|
| 'CCT': 13, 'CCC': 13, 'CCA': 21, 'CCG': 15,
|
| 'CAT': 12, 'CAC': 12, 'CAA': 11, 'CAG': 23,
|
| 'CGT': 13, 'CGC': 13, 'CGA': 17, 'CGG': 11,
|
| 'ATT': 17, 'ATC': 17, 'ATA': 22, 'ATG': 31,
|
| 'ACT': 12, 'ACC': 12, 'ACA': 18, 'ACG': 12,
|
| 'AAT': 15, 'AAC': 15, 'AAA': 8, 'AAG': 26,
|
| 'AGT': 10, 'AGC': 10, 'AGA': 6, 'AGG': 16,
|
| 'GTT': 16, 'GTC': 16, 'GTA': 20, 'GTG': 14,
|
| 'GCT': 18, 'GCC': 18, 'GCA': 28, 'GCG': 21,
|
| 'GAT': 23, 'GAC': 23, 'GAA': 10, 'GAG': 34,
|
| 'GGT': 22, 'GGC': 22, 'GGA': 10, 'GGG': 16,
|
| }
|
|
|
| _SOYBEAN_TGCN = {
|
| 'TTT': 21, 'TTC': 21, 'TTA': 8, 'TTG': 21,
|
| 'TCT': 15, 'TCC': 15, 'TCA': 26, 'TCG': 17,
|
| 'TAT': 20, 'TAC': 20, 'TAA': 0, 'TAG': 0,
|
| 'TGT': 14, 'TGC': 14, 'TGA': 0, 'TGG': 17,
|
| 'CTT': 16, 'CTC': 16, 'CTA': 25, 'CTG': 16,
|
| 'CCT': 19, 'CCC': 19, 'CCA': 44, 'CCG': 30,
|
| 'CAT': 17, 'CAC': 17, 'CAA': 13, 'CAG': 26,
|
| 'CGT': 13, 'CGC': 13, 'CGA': 22, 'CGG': 14,
|
| 'ATT': 25, 'ATC': 25, 'ATA': 33, 'ATG': 41,
|
| 'ACT': 9, 'ACC': 9, 'ACA': 19, 'ACG': 14,
|
| 'AAT': 22, 'AAC': 22, 'AAA': 20, 'AAG': 41,
|
| 'AGT': 23, 'AGC': 23, 'AGA': 14, 'AGG': 27,
|
| 'GTT': 21, 'GTC': 21, 'GTA': 30, 'GTG': 22,
|
| 'GCT': 24, 'GCC': 24, 'GCA': 41, 'GCG': 25,
|
| 'GAT': 32, 'GAC': 32, 'GAA': 18, 'GAG': 42,
|
| 'GGT': 29, 'GGC': 29, 'GGA': 18, 'GGG': 27,
|
| }
|
|
|
| _TOBACCO_TGCN = {
|
| 'TTT': 46, 'TTC': 46, 'TTA': 18, 'TTG': 52,
|
| 'TCT': 30, 'TCC': 30, 'TCA': 52, 'TCG': 32,
|
| 'TAT': 60, 'TAC': 60, 'TAA': 0, 'TAG': 0,
|
| 'TGT': 28, 'TGC': 28, 'TGA': 0, 'TGG': 32,
|
| 'CTT': 32, 'CTC': 32, 'CTA': 60, 'CTG': 47,
|
| 'CCT': 12, 'CCC': 12, 'CCA': 53, 'CCG': 52,
|
| 'CAT': 30, 'CAC': 30, 'CAA': 28, 'CAG': 45,
|
| 'CGT': 26, 'CGC': 26, 'CGA': 42, 'CGG': 25,
|
| 'ATT': 47, 'ATC': 47, 'ATA': 54, 'ATG': 61,
|
| 'ACT': 30, 'ACC': 30, 'ACA': 48, 'ACG': 29,
|
| 'AAT': 38, 'AAC': 38, 'AAA': 23, 'AAG': 63,
|
| 'AGT': 42, 'AGC': 42, 'AGA': 18, 'AGG': 39,
|
| 'GTT': 40, 'GTC': 40, 'GTA': 63, 'GTG': 48,
|
| 'GCT': 37, 'GCC': 37, 'GCA': 69, 'GCG': 45,
|
| 'GAT': 20, 'GAC': 20, 'GAA': 38, 'GAG': 78,
|
| 'GGT': 24, 'GGC': 24, 'GGA': 36, 'GGG': 50,
|
| }
|
|
|
| _TOMATO_TGCN = {
|
| 'TTT': 23, 'TTC': 23, 'TTA': 9, 'TTG': 24,
|
| 'TCT': 18, 'TCC': 18, 'TCA': 30, 'TCG': 19,
|
| 'TAT': 28, 'TAC': 28, 'TAA': 0, 'TAG': 0,
|
| 'TGT': 14, 'TGC': 14, 'TGA': 0, 'TGG': 17,
|
| 'CTT': 20, 'CTC': 20, 'CTA': 32, 'CTG': 19,
|
| 'CCT': 18, 'CCC': 18, 'CCA': 47, 'CCG': 35,
|
| 'CAT': 17, 'CAC': 17, 'CAA': 11, 'CAG': 24,
|
| 'CGT': 13, 'CGC': 13, 'CGA': 20, 'CGG': 12,
|
| 'ATT': 25, 'ATC': 25, 'ATA': 34, 'ATG': 39,
|
| 'ACT': 16, 'ACC': 16, 'ACA': 28, 'ACG': 16,
|
| 'AAT': 26, 'AAC': 26, 'AAA': 19, 'AAG': 42,
|
| 'AGT': 16, 'AGC': 16, 'AGA': 13, 'AGG': 24,
|
| 'GTT': 24, 'GTC': 24, 'GTA': 35, 'GTG': 22,
|
| 'GCT': 19, 'GCC': 19, 'GCA': 38, 'GCG': 26,
|
| 'GAT': 31, 'GAC': 31, 'GAA': 19, 'GAG': 44,
|
| 'GGT': 36, 'GGC': 36, 'GGA': 19, 'GGG': 29,
|
| }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| _TGCN_TABLES = {
|
|
|
| 'arabidopsis': _ARABIDOPSIS_TGCN,
|
| 'rice': _RICE_TGCN,
|
| 'maize': _MAIZE_TGCN,
|
| 'sorghum': _SORGHUM_TGCN,
|
| 'soybean': _SOYBEAN_TGCN,
|
| 'tomato': _TOMATO_TGCN,
|
| 'grape': _GRAPE_TGCN,
|
| 'cassava': _CASSAVA_TGCN,
|
| 'cotton': _COTTON_TGCN,
|
| 'tobacco': _TOBACCO_TGCN,
|
|
|
| 'wheat': _BRACHYPODIUM_TGCN,
|
| 'barley': _BRACHYPODIUM_TGCN,
|
| 'canola': _ARABIDOPSIS_TGCN,
|
| 'potato': _TOMATO_TGCN,
|
| 'sunflower': _TOMATO_TGCN,
|
| 'peanut': _SOYBEAN_TGCN,
|
| 'sugarcane': _SORGHUM_TGCN,
|
| 'banana': _RICE_TGCN,
|
| }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| _ARABIDOPSIS_TAI_W = {
|
| 'TTT': 0.1451, 'TTC': 0.2459, 'TTA': 0.0984, 'TTG': 0.1954,
|
| 'TCT': 0.3482, 'TCC': 0.4295, 'TCA': 0.1148, 'TCG': 0.1023,
|
| 'TAT': 0.5900, 'TAC': 1.0000, 'TAA': 0.0000, 'TAG': 0.0000,
|
| 'TGT': 0.1354, 'TGC': 0.2295, 'TGA': 0.0000, 'TGG': 0.2295,
|
| 'CTT': 0.1161, 'CTC': 0.1416, 'CTA': 0.1476, 'CTG': 0.0964,
|
| 'CCT': 0.1451, 'CCC': 0.1770, 'CCA': 0.7049, 'CCG': 0.3075,
|
| 'CAT': 0.0870, 'CAC': 0.1475, 'CAA': 0.1148, 'CAG': 0.1843,
|
| 'CGT': 0.0870, 'CGC': 0.1062, 'CGA': 0.0984, 'CGG': 0.0970,
|
| 'ATT': 0.1644, 'ATC': 0.2007, 'ATA': 0.0820, 'ATG': 0.3541,
|
| 'ACT': 0.0967, 'ACC': 0.1180, 'ACA': 0.1312, 'ACG': 0.1239,
|
| 'AAT': 0.1548, 'AAC': 0.2623, 'AAA': 0.2131, 'AAG': 0.3469,
|
| 'AGT': 0.1064, 'AGC': 0.1803, 'AGA': 0.1475, 'AGG': 0.1620,
|
| 'GTT': 0.1354, 'GTC': 0.1652, 'GTA': 0.1148, 'GTG': 0.1679,
|
| 'GCT': 0.1548, 'GCC': 0.1889, 'GCA': 0.1640, 'GCG': 0.1672,
|
| 'GAT': 0.2418, 'GAC': 0.4098, 'GAA': 0.1639, 'GAG': 0.2656,
|
| 'GGT': 0.2031, 'GGC': 0.3443, 'GGA': 0.1967, 'GGG': 0.1449,
|
| }
|
|
|
| _BRACHYPODIUM_TAI_W = {
|
| 'TTT': 0.4186, 'TTC': 0.7095, 'TTA': 0.1669, 'TTG': 0.3038,
|
| 'TCT': 0.3201, 'TCC': 0.4257, 'TCA': 0.2087, 'TCG': 0.2755,
|
| 'TAT': 0.3940, 'TAC': 0.6678, 'TAA': 0.0000, 'TAG': 0.0000,
|
| 'TGT': 0.2955, 'TGC': 0.5008, 'TGA': 0.0000, 'TGG': 0.6678,
|
| 'CTT': 0.3447, 'CTC': 0.4207, 'CTA': 0.2087, 'CTG': 0.4007,
|
| 'CCT': 0.3201, 'CCC': 0.3907, 'CCA': 0.4592, 'CCG': 0.4808,
|
| 'CAT': 0.2462, 'CAC': 0.4174, 'CAA': 0.2504, 'CAG': 0.5392,
|
| 'CGT': 0.3447, 'CGC': 0.4207, 'CGA': 0.2087, 'CGG': 0.3172,
|
| 'ATT': 0.5417, 'ATC': 0.6845, 'ATA': 0.1253, 'ATG': 1.0000,
|
| 'ACT': 0.2709, 'ACC': 0.3306, 'ACA': 0.3757, 'ACG': 0.3706,
|
| 'AAT': 0.3201, 'AAC': 0.5426, 'AAA': 0.4174, 'AAG': 0.8848,
|
| 'AGT': 0.2462, 'AGC': 0.4174, 'AGA': 0.3756, 'AGG': 0.4958,
|
| 'GTT': 0.3201, 'GTC': 0.3907, 'GTA': 0.2087, 'GTG': 0.5259,
|
| 'GCT': 0.4679, 'GCC': 0.5710, 'GCA': 0.3757, 'GCG': 0.5793,
|
| 'GAT': 0.4679, 'GAC': 0.7930, 'GAA': 0.4174, 'GAG': 0.8848,
|
| 'GGT': 0.4925, 'GGC': 0.8347, 'GGA': 0.3339, 'GGG': 0.4825,
|
| }
|
|
|
| _CASSAVA_TAI_W = {
|
| 'TTT': 0.3247, 'TTC': 0.5430, 'TTA': 0.3145, 'TTG': 0.4937,
|
| 'TCT': 0.2938, 'TCC': 0.3585, 'TCA': 0.4717, 'TCG': 0.2558,
|
| 'TAT': 0.2783, 'TAC': 0.4717, 'TAA': 0.0000, 'TAG': 0.0000,
|
| 'TGT': 0.3247, 'TGC': 0.5503, 'TGA': 0.0000, 'TGG': 0.4979,
|
| 'CTT': 0.2474, 'CTC': 0.3019, 'CTA': 0.2621, 'CTG': 0.2673,
|
| 'CCT': 0.2319, 'CCC': 0.2830, 'CCA': 0.4455, 'CCG': 0.2474,
|
| 'CAT': 0.2628, 'CAC': 0.4455, 'CAA': 0.3407, 'CAG': 0.3973,
|
| 'CGT': 0.1237, 'CGC': 0.1509, 'CGA': 0.2621, 'CGG': 0.2411,
|
| 'ATT': 0.4329, 'ATC': 0.5283, 'ATA': 0.3407, 'ATG': 1.0000,
|
| 'ACT': 0.2319, 'ACC': 0.2830, 'ACA': 0.3669, 'ACG': 0.2484,
|
| 'AAT': 0.4793, 'AAC': 0.8124, 'AAA': 0.7600, 'AAG': 0.7935,
|
| 'AGT': 0.3556, 'AGC': 0.6027, 'AGA': 0.3145, 'AGG': 0.4151,
|
| 'GTT': 0.3711, 'GTC': 0.4528, 'GTA': 0.3931, 'GTG': 0.4665,
|
| 'GCT': 0.4175, 'GCC': 0.5094, 'GCA': 0.7862, 'GCG': 0.4088,
|
| 'GAT': 0.5566, 'GAC': 0.9434, 'GAA': 0.5241, 'GAG': 0.8229,
|
| 'GGT': 0.4329, 'GGC': 0.7338, 'GGA': 0.6027, 'GGG': 0.4287,
|
| }
|
|
|
| _COTTON_TAI_W = {
|
| 'TTT': 0.4425, 'TTC': 0.7500, 'TTA': 0.2500, 'TTG': 0.4689,
|
| 'TCT': 0.3769, 'TCC': 0.4911, 'TCA': 0.3056, 'TCG': 0.2367,
|
| 'TAT': 0.3442, 'TAC': 0.5833, 'TAA': 0.0000, 'TAG': 0.0000,
|
| 'TGT': 0.3114, 'TGC': 0.5278, 'TGA': 0.0000, 'TGG': 0.5833,
|
| 'CTT': 0.2950, 'CTC': 0.3600, 'CTA': 0.2223, 'CTG': 0.2656,
|
| 'CCT': 0.2950, 'CCC': 0.3600, 'CCA': 0.6389, 'CCG': 0.3433,
|
| 'CAT': 0.2294, 'CAC': 0.3889, 'CAA': 0.3333, 'CAG': 0.3844,
|
| 'CGT': 0.2294, 'CGC': 0.2878, 'CGA': 0.2500, 'CGG': 0.1911,
|
| 'ATT': 0.4589, 'ATC': 0.5600, 'ATA': 0.2223, 'ATG': 0.9878,
|
| 'ACT': 0.2622, 'ACC': 0.3278, 'ACA': 0.3056, 'ACG': 0.2367,
|
| 'AAT': 0.4425, 'AAC': 0.7422, 'AAA': 0.6944, 'AAG': 0.6944,
|
| 'AGT': 0.4261, 'AGC': 0.7222, 'AGA': 0.3056, 'AGG': 0.4311,
|
| 'GTT': 0.4097, 'GTC': 0.5000, 'GTA': 0.3334, 'GTG': 0.3844,
|
| 'GCT': 0.3933, 'GCC': 0.4800, 'GCA': 0.5001, 'GCG': 0.3822,
|
| 'GAT': 0.5900, 'GAC': 1.0000, 'GAA': 0.5278, 'GAG': 0.6967,
|
| 'GGT': 0.4589, 'GGC': 0.7778, 'GGA': 0.5000, 'GGG': 0.4100,
|
| }
|
|
|
| _GRAPE_TAI_W = {
|
| 'TTT': 0.3550, 'TTC': 0.6018, 'TTA': 0.2735, 'TTG': 0.4158,
|
| 'TCT': 0.3550, 'TCC': 0.4486, 'TCA': 0.3830, 'TCG': 0.2867,
|
| 'TAT': 0.3550, 'TAC': 0.6018, 'TAA': 0.0000, 'TAG': 0.0000,
|
| 'TGT': 0.2582, 'TGC': 0.4376, 'TGA': 0.0000, 'TGG': 0.5470,
|
| 'CTT': 0.2905, 'CTC': 0.3545, 'CTA': 0.3283, 'CTG': 0.3786,
|
| 'CCT': 0.3873, 'CCC': 0.4726, 'CCA': 0.7659, 'CCG': 0.4639,
|
| 'CAT': 0.2905, 'CAC': 0.4923, 'CAA': 0.3282, 'CAG': 0.5974,
|
| 'CGT': 0.1614, 'CGC': 0.1969, 'CGA': 0.2736, 'CGG': 0.3063,
|
| 'ATT': 0.3873, 'ATC': 0.4726, 'ATA': 0.2189, 'ATG': 1.0000,
|
| 'ACT': 0.2905, 'ACC': 0.3698, 'ACA': 0.2736, 'ACG': 0.2516,
|
| 'AAT': 0.4519, 'AAC': 0.7659, 'AAA': 0.4376, 'AAG': 0.6871,
|
| 'AGT': 0.2582, 'AGC': 0.4376, 'AGA': 0.3282, 'AGG': 0.4333,
|
| 'GTT': 0.3873, 'GTC': 0.4726, 'GTA': 0.2189, 'GTG': 0.5624,
|
| 'GCT': 0.3550, 'GCC': 0.4333, 'GCA': 0.4924, 'GCG': 0.4311,
|
| 'GAT': 0.5487, 'GAC': 0.9147, 'GAA': 0.4376, 'GAG': 0.9606,
|
| 'GGT': 0.4519, 'GGC': 0.7659, 'GGA': 0.4376, 'GGG': 0.4136,
|
| }
|
|
|
| _MAIZE_TAI_W = {
|
| 'TTT': 0.3057, 'TTC': 0.5181, 'TTA': 0.0602, 'TTG': 0.1277,
|
| 'TCT': 0.2914, 'TCC': 0.4501, 'TCA': 0.0844, 'TCG': 0.1113,
|
| 'TAT': 0.1919, 'TAC': 0.3253, 'TAA': 0.0000, 'TAG': 0.0000,
|
| 'TGT': 0.2986, 'TGC': 0.5060, 'TGA': 0.0000, 'TGG': 0.5301,
|
| 'CTT': 0.1990, 'CTC': 0.2429, 'CTA': 0.0723, 'CTG': 0.1918,
|
| 'CCT': 0.1208, 'CCC': 0.1475, 'CCA': 0.6265, 'CCG': 0.3089,
|
| 'CAT': 0.0995, 'CAC': 0.1687, 'CAA': 0.1807, 'CAG': 0.2145,
|
| 'CGT': 0.4194, 'CGC': 0.5118, 'CGA': 0.0965, 'CGG': 0.1031,
|
| 'ATT': 0.4549, 'ATC': 0.5552, 'ATA': 0.0483, 'ATG': 0.5094,
|
| 'ACT': 0.2701, 'ACC': 0.3870, 'ACA': 0.2892, 'ACG': 0.1648,
|
| 'AAT': 0.5900, 'AAC': 1.0000, 'AAA': 0.1084, 'AAG': 0.5166,
|
| 'AGT': 0.1848, 'AGC': 0.3133, 'AGA': 0.2169, 'AGG': 0.2019,
|
| 'GTT': 0.1564, 'GTC': 0.1908, 'GTA': 0.0603, 'GTG': 0.2120,
|
| 'GCT': 0.2630, 'GCC': 0.3210, 'GCA': 0.1326, 'GCG': 0.2713,
|
| 'GAT': 0.3483, 'GAC': 0.5904, 'GAA': 0.1687, 'GAG': 0.4275,
|
| 'GGT': 0.3270, 'GGC': 0.5542, 'GGA': 0.1325, 'GGG': 0.1629,
|
| }
|
|
|
| _RICE_TAI_W = {
|
| 'TTT': 0.3797, 'TTC': 0.6436, 'TTA': 0.1355, 'TTG': 0.3144,
|
| 'TCT': 0.2798, 'TCC': 0.3794, 'TCA': 0.2033, 'TCG': 0.2683,
|
| 'TAT': 0.2998, 'TAC': 0.5081, 'TAA': 0.0000, 'TAG': 0.0000,
|
| 'TGT': 0.2598, 'TGC': 0.4309, 'TGA': 0.0000, 'TGG': 0.5759,
|
| 'CTT': 0.3198, 'CTC': 0.3902, 'CTA': 0.2033, 'CTG': 0.3360,
|
| 'CCT': 0.2798, 'CCC': 0.3415, 'CCA': 0.3388, 'CCG': 0.3794,
|
| 'CAT': 0.1999, 'CAC': 0.3388, 'CAA': 0.4404, 'CAG': 0.4797,
|
| 'CGT': 0.3997, 'CGC': 0.4878, 'CGA': 0.1356, 'CGG': 0.2805,
|
| 'ATT': 0.3398, 'ATC': 0.4146, 'ATA': 0.1694, 'ATG': 0.8333,
|
| 'ACT': 0.3398, 'ACC': 0.4715, 'ACA': 0.4743, 'ACG': 0.3211,
|
| 'AAT': 0.5396, 'AAC': 0.9146, 'AAA': 0.3388, 'AAG': 0.7520,
|
| 'AGT': 0.3198, 'AGC': 0.5420, 'AGA': 0.3388, 'AGG': 0.4133,
|
| 'GTT': 0.3398, 'GTC': 0.4146, 'GTA': 0.1356, 'GTG': 0.3821,
|
| 'GCT': 0.3997, 'GCC': 0.4878, 'GCA': 0.3388, 'GCG': 0.4810,
|
| 'GAT': 0.4997, 'GAC': 0.8469, 'GAA': 0.3726, 'GAG': 1.0000,
|
| 'GGT': 0.4197, 'GGC': 0.7114, 'GGA': 0.3388, 'GGG': 0.4133,
|
| }
|
|
|
| _SORGHUM_TAI_W = {
|
| 'TTT': 0.3634, 'TTC': 0.6159, 'TTA': 0.1449, 'TTG': 0.3000,
|
| 'TCT': 0.2138, 'TCC': 0.2609, 'TCA': 0.2174, 'TCG': 0.2870,
|
| 'TAT': 0.2565, 'TAC': 0.4348, 'TAA': 0.0000, 'TAG': 0.0000,
|
| 'TGT': 0.2351, 'TGC': 0.3986, 'TGA': 0.0000, 'TGG': 0.4348,
|
| 'CTT': 0.2993, 'CTC': 0.3652, 'CTA': 0.2174, 'CTG': 0.4319,
|
| 'CCT': 0.2779, 'CCC': 0.3391, 'CCA': 0.2899, 'CCG': 0.3464,
|
| 'CAT': 0.2565, 'CAC': 0.4246, 'CAA': 0.3623, 'CAG': 0.5870,
|
| 'CGT': 0.2779, 'CGC': 0.3391, 'CGA': 0.1450, 'CGG': 0.3000,
|
| 'ATT': 0.3634, 'ATC': 0.4435, 'ATA': 0.1812, 'ATG': 1.0000,
|
| 'ACT': 0.2565, 'ACC': 0.3130, 'ACA': 0.2174, 'ACG': 0.2870,
|
| 'AAT': 0.3207, 'AAC': 0.5435, 'AAA': 0.2899, 'AAG': 0.7449,
|
| 'AGT': 0.2138, 'AGC': 0.3623, 'AGA': 0.2174, 'AGG': 0.4319,
|
| 'GTT': 0.3420, 'GTC': 0.4174, 'GTA': 0.1450, 'GTG': 0.4087,
|
| 'GCT': 0.3848, 'GCC': 0.4696, 'GCA': 0.3624, 'GCG': 0.5145,
|
| 'GAT': 0.4917, 'GAC': 0.8333, 'GAA': 0.3623, 'GAG': 0.9855,
|
| 'GGT': 0.4703, 'GGC': 0.7971, 'GGA': 0.3623, 'GGG': 0.3333,
|
| }
|
|
|
| _SOYBEAN_TAI_W = {
|
| 'TTT': 0.3484, 'TTC': 0.5906, 'TTA': 0.2250, 'TTG': 0.4376,
|
| 'TCT': 0.2489, 'TCC': 0.3037, 'TCA': 0.3094, 'TCG': 0.2677,
|
| 'TAT': 0.3318, 'TAC': 0.5624, 'TAA': 0.0000, 'TAG': 0.0000,
|
| 'TGT': 0.2323, 'TGC': 0.3937, 'TGA': 0.0000, 'TGG': 0.4781,
|
| 'CTT': 0.2655, 'CTC': 0.3240, 'CTA': 0.2531, 'CTG': 0.2778,
|
| 'CCT': 0.3152, 'CCC': 0.3847, 'CCA': 0.7031, 'CCG': 0.3656,
|
| 'CAT': 0.2821, 'CAC': 0.4781, 'CAA': 0.3656, 'CAG': 0.4826,
|
| 'CGT': 0.2157, 'CGC': 0.2632, 'CGA': 0.2531, 'CGG': 0.2216,
|
| 'ATT': 0.4148, 'ATC': 0.5062, 'ATA': 0.2250, 'ATG': 1.0000,
|
| 'ACT': 0.1493, 'ACC': 0.1822, 'ACA': 0.2812, 'ACG': 0.2025,
|
| 'AAT': 0.3650, 'AAC': 0.6187, 'AAA': 0.5624, 'AAG': 0.7705,
|
| 'AGT': 0.3816, 'AGC': 0.6468, 'AGA': 0.3937, 'AGG': 0.4916,
|
| 'GTT': 0.3484, 'GTC': 0.4252, 'GTA': 0.2532, 'GTG': 0.4466,
|
| 'GCT': 0.3982, 'GCC': 0.4859, 'GCA': 0.4781, 'GCG': 0.3780,
|
| 'GAT': 0.5309, 'GAC': 0.8999, 'GAA': 0.5062, 'GAG': 0.8369,
|
| 'GGT': 0.4812, 'GGC': 0.8155, 'GGA': 0.5062, 'GGG': 0.4151,
|
| }
|
|
|
| _TOBACCO_TAI_W = {
|
| 'TTT': 0.4523, 'TTC': 0.7667, 'TTA': 0.3000, 'TTG': 0.6627,
|
| 'TCT': 0.2950, 'TCC': 0.3600, 'TCA': 0.3667, 'TCG': 0.2840,
|
| 'TAT': 0.5900, 'TAC': 1.0000, 'TAA': 0.0000, 'TAG': 0.0000,
|
| 'TGT': 0.2753, 'TGC': 0.4667, 'TGA': 0.0000, 'TGG': 0.5333,
|
| 'CTT': 0.3147, 'CTC': 0.3840, 'CTA': 0.4667, 'CTG': 0.4660,
|
| 'CCT': 0.1180, 'CCC': 0.1440, 'CCA': 0.6834, 'CCG': 0.4020,
|
| 'CAT': 0.2950, 'CAC': 0.5000, 'CAA': 0.4667, 'CAG': 0.4327,
|
| 'CGT': 0.2557, 'CGC': 0.3120, 'CGA': 0.2667, 'CGG': 0.2353,
|
| 'ATT': 0.4622, 'ATC': 0.5640, 'ATA': 0.1167, 'ATG': 0.9373,
|
| 'ACT': 0.2950, 'ACC': 0.3693, 'ACA': 0.3334, 'ACG': 0.2567,
|
| 'AAT': 0.3737, 'AAC': 0.6333, 'AAA': 0.3833, 'AAG': 0.7893,
|
| 'AGT': 0.4130, 'AGC': 0.7000, 'AGA': 0.3000, 'AGG': 0.4460,
|
| 'GTT': 0.3933, 'GTC': 0.4800, 'GTA': 0.3834, 'GTG': 0.5393,
|
| 'GCT': 0.3638, 'GCC': 0.4440, 'GCA': 0.5334, 'GCG': 0.3873,
|
| 'GAT': 0.1967, 'GAC': 0.3333, 'GAA': 0.6333, 'GAG': 0.8693,
|
| 'GGT': 0.2360, 'GGC': 0.4000, 'GGA': 0.6000, 'GGG': 0.4253,
|
| }
|
|
|
| _TOMATO_TAI_W = {
|
| 'TTT': 0.3769, 'TTC': 0.6389, 'TTA': 0.2500, 'TTG': 0.4967,
|
| 'TCT': 0.2950, 'TCC': 0.3756, 'TCA': 0.3889, 'TCG': 0.2633,
|
| 'TAT': 0.4589, 'TAC': 0.7778, 'TAA': 0.0000, 'TAG': 0.0000,
|
| 'TGT': 0.2294, 'TGC': 0.3889, 'TGA': 0.0000, 'TGG': 0.4722,
|
| 'CTT': 0.3278, 'CTC': 0.4000, 'CTA': 0.3334, 'CTG': 0.3011,
|
| 'CCT': 0.2950, 'CCC': 0.3600, 'CCA': 0.8056, 'CCG': 0.4244,
|
| 'CAT': 0.2786, 'CAC': 0.4722, 'CAA': 0.3056, 'CAG': 0.4589,
|
| 'CGT': 0.2131, 'CGC': 0.2600, 'CGA': 0.1945, 'CGG': 0.2011,
|
| 'ATT': 0.4097, 'ATC': 0.5000, 'ATA': 0.2501, 'ATG': 0.9133,
|
| 'ACT': 0.2622, 'ACC': 0.3200, 'ACA': 0.3334, 'ACG': 0.2178,
|
| 'AAT': 0.4261, 'AAC': 0.7222, 'AAA': 0.5278, 'AAG': 0.8078,
|
| 'AGT': 0.2622, 'AGC': 0.4444, 'AGA': 0.3611, 'AGG': 0.4211,
|
| 'GTT': 0.3933, 'GTC': 0.4800, 'GTA': 0.3056, 'GTG': 0.4033,
|
| 'GCT': 0.3114, 'GCC': 0.3800, 'GCA': 0.5278, 'GCG': 0.3633,
|
| 'GAT': 0.5081, 'GAC': 0.8611, 'GAA': 0.5278, 'GAG': 0.8633,
|
| 'GGT': 0.5900, 'GGC': 1.0000, 'GGA': 0.5278, 'GGG': 0.4467,
|
| }
|
|
|
|
|
|
|
| _TAI_W_TABLES = {
|
| 'arabidopsis': _ARABIDOPSIS_TAI_W, 'rice': _RICE_TAI_W, 'maize': _MAIZE_TAI_W,
|
| 'sorghum': _SORGHUM_TAI_W, 'soybean': _SOYBEAN_TAI_W, 'tomato': _TOMATO_TAI_W,
|
| 'grape': _GRAPE_TAI_W, 'cassava': _CASSAVA_TAI_W, 'cotton': _COTTON_TAI_W,
|
| 'tobacco': _TOBACCO_TAI_W,
|
| 'wheat': _BRACHYPODIUM_TAI_W, 'barley': _BRACHYPODIUM_TAI_W,
|
| 'canola': _ARABIDOPSIS_TAI_W, 'potato': _TOMATO_TAI_W, 'sunflower': _TOMATO_TAI_W,
|
| 'peanut': _SOYBEAN_TAI_W, 'sugarcane': _SORGHUM_TAI_W, 'banana': _RICE_TAI_W,
|
| }
|
|
|
|
|
|
|
| CODON_PAIR_TABLES = {
|
| 'arabidopsis': ARABIDOPSIS_CODON_PAIR_USAGE,
|
| 'rice': RICE_CODON_PAIR_USAGE,
|
| 'maize': MAIZE_CODON_PAIR_USAGE,
|
| }
|
|
|
|
|
|
|
|
|
|
|
|
|
| _PAIR_PROXY = {
|
| 'arabidopsis': 'arabidopsis', 'rice': 'rice', 'maize': 'maize',
|
| 'wheat': 'rice', 'barley': 'rice', 'banana': 'rice',
|
| 'sorghum': 'maize', 'sugarcane': 'maize',
|
| 'tomato': 'arabidopsis', 'potato': 'arabidopsis', 'soybean': 'arabidopsis',
|
| 'cassava': 'arabidopsis', 'tobacco': 'arabidopsis', 'grape': 'arabidopsis',
|
| 'cotton': 'arabidopsis', 'canola': 'arabidopsis', 'peanut': 'arabidopsis',
|
| 'sunflower': 'arabidopsis',
|
| }
|
|
|
|
|
| def get_codon_usage(codon_table: str) -> dict:
|
| """Return the species' own measured codon usage table (Arabidopsis default)."""
|
| return CODON_USAGE_TABLES.get(codon_table.lower(), ARABIDOPSIS_CODON_USAGE)
|
|
|
|
|
| def get_codon_pair_usage(codon_table: str) -> dict:
|
| """Return the codon-pair usage table (clade proxy; Arabidopsis default)."""
|
| key = _PAIR_PROXY.get(codon_table.lower(), 'arabidopsis')
|
| return CODON_PAIR_TABLES[key]
|
|
|
|
|
| def get_tgcn(codon_table: str) -> dict:
|
| """Return tRNA gene copy numbers for the given plant species."""
|
| return _TGCN_TABLES.get(codon_table.lower(), _ARABIDOPSIS_TGCN)
|
|
|
|
|
| def get_tai_weights(codon_table: str) -> dict:
|
| """Return per-codon tAI relative adaptiveness w(c) (dos Reis 2004 wobble model)."""
|
| return _TAI_W_TABLES.get(codon_table.lower(), _ARABIDOPSIS_TAI_W)
|
|
|