@nexys/math-ts
Version:
[](https://www.npmjs.com/package/@nexys/math-ts) [](https://travis-ci.com/github/Nexysweb/math-ts) [ • 4.46 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.aas = [
['F', "Phe", "Phenylananine"],
['L', "Leu", "Leucine"],
['I', "Ile", "Isoleucine"],
['M', "Met", "Methionine"],
['V', "Val", "Valine"],
['S', "Ser", "Serine"],
['P', "Pro", "Proline"],
['T', "Thr", "Threonine"],
['A', "Ala", "Alanine"],
['Y', "Tyr", "Tyrosine"],
['H', "His", "Histidine"],
['Q', "Gln", "Glutamine"],
['K', "Lys", "Lysine"],
['D', "Asp", "Aspartic Acid"],
['E', "Glu", "Glutamic Acid"],
['C', "Cys", "Cysteine"],
['W', "Trp", "Tryptophane"],
['R', "Arg", "Arginine"],
['S', "Ser", "Serine"],
['G', "Gly", "Glycine"],
['U', "Sec", "Selenocysteine"],
['O', "Pyr", "Pyrrolysine"]
].map(a => {
return { l: a[0], short: a[1], name: a[2] };
});
exports.aaToCodon = (aa) => {
const hn = new Map([
['A', 'GCN'],
['R', 'CGN'],
['N', 'AAY'],
['D', 'GAY'],
['C', 'TGY'],
['Q', 'CAR'],
['E', 'GAR'],
['G', 'GGN'],
['H', 'CAY'],
['I', 'ATM'],
['L', 'CTN'],
['K', 'AAR'],
['M', 'ATG'],
['F', 'TTY'],
['P', 'CCN'],
['S', 'TCN'],
['T', 'ACN'],
['W', 'TGG'],
['Y', 'TAY'],
['V', 'GTN'],
[')', 'TAA'],
[']', 'TAG'],
['}', 'TGA']
]);
const r = hn.get(aa);
if (!r) {
throw Error('no associated codon');
}
return r;
};
exports.codonToAa = (codon) => {
switch (codon) {
case "TTT":
case "TTC":
return 'F';
case "TTG":
case "TTA":
case "CTT":
case "CTC":
case "CTA":
case "CTG":
return 'L';
case "ATA":
case "ATT":
case "ATC":
return 'I';
case "ATG":
return 'M';
case "GTT":
case "GTC":
case "GTA":
case "GTG":
return 'V';
case "TCT":
case "TCC":
case "TCA":
case "TCG":
return 'S';
case "CCT":
case "CCC":
case "CCA":
case "CCG":
return 'P';
case "ACT":
case "ACC":
case "ACA":
case "ACG":
return 'T';
case "GCT":
case "GCC":
case "GCA":
case "GCG":
return 'A';
case "TAT":
case "TAC":
return 'Y';
case "TAA":
return ')';
case "TAG":
return ']';
case "CAT":
case "CAC":
return 'H';
case "CAA":
case "CAG":
return 'Q';
case "AAT":
case "AAC":
return 'N';
case "AAA":
case "AAG":
return 'K';
case "GAT":
case "GAC":
return 'D';
case "GAA":
case "GAG":
return 'E';
case "TGT":
case "TGC":
return 'C';
case "TGA":
return '}';
case "TGG":
return 'W';
case "CGT":
case "CGC":
case "CGA":
case "CGG":
return 'R';
case "AGT":
case "AGC":
return 'S';
case "AGA":
case "AGG":
return 'R';
case "GGT":
case "GGC":
case "GGA":
case "GGG":
return 'G';
break;
default:
return null;
}
};
exports.anticodon = (str) => {
return Array.from(str).map(a => {
switch (a) {
case 'A':
return 'T';
case 'T':
return 'A';
case 'G':
return 'C';
case 'C':
return 'G';
case 'U':
return 'A';
break;
default:
return null;
}
}).join('');
};
exports.dnaToRna = (str) => {
return Array.from(str).map(a => {
switch (a) {
case 'A':
case 'G':
case 'C':
return a;
case 'T':
return 'U';
break;
default:
return null;
}
}).join('');
};
exports.codons = (str) => {
const codons = str.match(/.{1,3}/g);
if (!codons) {
return '';
}
return codons.map(exports.codonToAa).join('');
};