UNPKG

@nexys/math-ts

Version:

[![npm version](https://badge.fury.io/js/%40nexys%2Fmath-ts.svg)](https://www.npmjs.com/package/@nexys/math-ts) [![TavisCI](https://travis-ci.com/Nexysweb/tableau-wdc-react.svg?branch=master)](https://travis-ci.com/github/Nexysweb/math-ts) [![Deployment](

198 lines (197 loc) 4.46 kB
"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(''); };