MCPcopy Create free account
hub / github.com/bebop/poly / ExampleTranslationTable_UpdateWeights

Function ExampleTranslationTable_UpdateWeights

synthesis/codon/example_test.go:26–79  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

24}
25
26func ExampleTranslationTable_UpdateWeights() {
27 gfpTranslation := "MASKGEELFTGVVPILVELDGDVNGHKFSVSGEGEGDATYGKLTLKFICTTGKLPVPWPTLVTTFSYGVQCFSRYPDHMKRHDFFKSAMPEGYVQERTISFKDDGNYKTRAEVKFEGDTLVNRIELKGIDFKEDGNILGHKLEYNYNSHNVYITADKQKNGIKANFKIRHNIEDGSVQLADHYQQNTPIGDGPVLLPDNHYLSTQSALSKDPNEKRDHMVLLEFVTAAGITHGMDELYK*"
28
29 sequenceWithCustomWeights := "ATGGCGAGCAAGGGCGAAGAGCTTTTTACTGGAGTGGTACCCATCCTTGTGGAGCTGGATGGGGATGTTAATGGGCACAAGTTTTCTGTGTCCGGTGAGGGGGAGGGTGACGCGACCTATGGCAAACTAACGTTGAAGTTTATCTGCACCACCGGCAAGCTCCCTGTCCCTTGGCCGACGCTGGTAACCACTTTTTCATACGGAGTGCAATGCTTTTCACGATACCCAGACCACATGAAACGGCACGACTTCTTCAAGAGCGCGATGCCAGAAGGTTATGTGCAAGAGCGTACGATCTCATTCAAGGACGACGGGAATTATAAGACAAGAGCAGAGGTGAAATTTGAGGGGGACACGTTAGTAAATCGGATTGAATTAAAGGGAATCGACTTTAAGGAGGATGGGAACATACTTGGTCACAAACTGGAATATAATTACAATTCACACAATGTTTACATCACTGCCGACAAGCAAAAAAATGGGATTAAAGCAAATTTCAAAATTCGGCATAATATTGAGGATGGTAGTGTCCAGCTCGCGGATCACTATCAGCAAAACACACCTATCGGAGACGGACCCGTTTTACTACCGGATAATCATTACTTAAGCACCCAATCAGCGTTATCCAAAGATCCGAACGAAAAACGTGACCACATGGTTCTCTTGGAGTTCGTCACCGCAGCTGGAATAACTCATGGAATGGACGAACTATACAAATAA"
30
31 table, err := codon.NewTranslationTable(11)
32 if err != nil {
33 fmt.Printf("error running example: %s\n", err)
34 return
35 }
36
37 // this example is using custom weights for different codons for Arginine. Use this if you would rather use your own
38 // codon weights, they can also be computed for you with `UpdateWeightsWithSequence`.
39
40 err = table.UpdateWeights([]codon.AminoAcid{
41 {
42 Letter: "R",
43 Codons: []codon.Codon{
44 {
45 Triplet: "CGU",
46 Weight: 1,
47 },
48 {
49 Triplet: "CGA",
50 Weight: 2,
51 },
52 {
53 Triplet: "CGG",
54 Weight: 4,
55 },
56 {
57 Triplet: "AGA",
58 Weight: 6,
59 },
60 {
61 Triplet: "AGG",
62 Weight: 2,
63 },
64 },
65 },
66 })
67 if err != nil {
68 fmt.Println("Could not update weights in example")
69 }
70
71 optimizedSequence, err := table.Optimize(gfpTranslation, 1)
72 if err != nil {
73 fmt.Printf("error running example: %s\n", err)
74 return
75 }
76
77 fmt.Println(optimizedSequence == sequenceWithCustomWeights)
78 // output: true
79}
80
81func ExampleTranslationTable_Optimize() {
82 gfpTranslation := "MASKGEELFTGVVPILVELDGDVNGHKFSVSGEGEGDATYGKLTLKFICTTGKLPVPWPTLVTTFSYGVQCFSRYPDHMKRHDFFKSAMPEGYVQERTISFKDDGNYKTRAEVKFEGDTLVNRIELKGIDFKEDGNILGHKLEYNYNSHNVYITADKQKNGIKANFKIRHNIEDGSVQLADHYQQNTPIGDGPVLLPDNHYLSTQSALSKDPNEKRDHMVLLEFVTAAGITHGMDELYK*"

Callers

nothing calls this directly

Calls 3

UpdateWeightsMethod · 0.95
OptimizeMethod · 0.95
NewTranslationTableFunction · 0.92

Tested by

no test coverage detected