-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.rs
30 lines (23 loc) · 11.9 KB
/
main.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
use std::collections::HashMap;
mod dna_model;
mod rna_model;
mod protein_model;
pub use crate::dna_model::dna;
pub use crate::rna_model::rna;
pub use crate::protein_model::protein;
fn main() {
let dna_string = String::from("GCGGTCCACGTCCTCTCTGTCTTGACAGGCGTACATCAGAGTGAAGGGCTCGACGCCAGGTGGTACGTAACCGCAATCAGTCTTTTAGTATTAAACGAAGGGGGGTCTGCGAACGACATTTGGATGCCCCGATTAGAACGCATCCAGCGTGACCTCCAACGTCATTCAGATCTGAACGCGACAGTCCAATTTACAAGGTTCCTCCGCAGGGCGCCACGCTCTTTGTACATTTTCAGTTTTATGGATGATAAAACATACTGTGATAGCTATTGCAGGGGGACCATTCTACGTCGGACTTCCCACTCTTTAGCCACCAACGTTTCGACAACTGAGTTACCTCGTCACCGCAAGCGGTTTCCCTACTGACGGCTTCATACATATACACAAATGCTTTCATTTGTGACGTTTAGTACCCCCTCGTGAGTCGATCAGGATCTGAGTATGGCTGATCCTCTAGCCACTCTAGGCAATAGGAATCAAGACATGGTTCCGCAGATTTGAAGATCCCCTGGGGGCAATTGCTTAGTGTACGGTGGTTACAACGGTAAACGCGGTGAGTGTTGTTGCGCCCTGAGGTACCCGGAGCGCATGCGTCCAACCGTCATACAAGCTCATCTAAGATCAACCTCTCTCGGTAACTTTTGCAGAACAGGACGTTGTGGATTTGAGAGGGTTCACTAACTTAGTCGCTGCCCGACTACTGGCAGGGTATCTCAGGCCCAAATCGTCGGCGTCATCGCATGTTTCGTCGTCCGCACTGTAGTAAGTGAACAGCCCTGGGACAATCTAAGTAATACTAAAAGGGAAATTTCGCGGGTGGACGTTGGGAGACGACACGTCTCCAAGTATTTAGCAGAAT");
let mut dna_sample = dna::DNA::new(dna_string);
dna_sample.count();
//dna_sample.print_nuc();
let rna_str = String::from("AUGAAAUUAGUAGAAGUGUUGUCAACCCGGGAUGAUACGGUAACGAGCUUAGCCUGCACAUAUGGCCGAUGCCUGUCUCUGAACACAUGGCGGGAUAUAACCAUUCGAGAAAAUACUACUUCUAGGAUCGAACAUACAACAAAGUCAACGGUAGAGCGAUCUCCCAAUGACCUCCAGGGAACCGAAGUGGCAGUCGCGAUGUGCGUCUGCUGUUAUGCGUGCGGUGAUCUACGACCAUGUAAAAUUCAAAUGAACGCGAGCAUCCGCUCGUUCAAAAGUUCAGGGCGGCUAAGCGGUCCAGCACAAGCCCAUGGUCGCUUGACGUCCUUAUCGGGUGAGUCAGACUUAUCCCAGGGGCGCGACGUGUUCGUGGCUGAACUCCUUGUAGCAGAAGGGCGGGGCGACCCAGUACUUCUCACCUCCCAUCGUGACCUUUUCAAUGAAUGGAUUAGGGGACAUCAUAUACUACCUCUUGUGGCACGAGGGCCCAGAGUUAGCGCGUCUGGAAAGGUAGGGCUAAUCUGGGACGCAUGCUGCCUUUUGGUCGCGGUACGCCGGACGCGUUAUCUUAAUCUCCACUGCAUACGCGUUAUAUAUAUCAGAAUGGACGCGAUCUCUUGCAUUGAGAGUGUAGGUGACACCAGGCGUCUUGGUAGAUUCAGGUCAGUUUGGAGACGUGGAGUGGGAGAGUGCGCACCCGAUCUUCGAUCCGCAUUAUCCCUAAGACCGAGUGUAAGACUUGGCUAUCGUGCUCUAAACGUAGUGAUCCGCACGGUGGGUAUAUGCGCACUGGGAACUUUUCUUACGCUCCGAGAAUCAAGUUUCAUAAAACCUUACUUGGGGGAACUUGGAUCGCUGGACACGCCUUUCGGGGCGAGGGAGAGUAGUCCUCCUGUCAUCGUAACAUAUGCUCGAGCAUUCUACAGGCUGGACAGUUCUGAACUGGCUAUCGCCGUUACUUACGUACAGGCGCCUUCCCUUUGGGGCCAUUUUACCAGUUAUGGAGAGCUUGCCGCUCCGCAGACAGAGAUAGGGCAAACCAGGUAUGAAAGGCGCUCCAUUAGUACUCAGACAUCUGUCAGAGCUCAUGACAAUCAGAAUACGGUAACAAUCCGAGACAGAUCUGAGUACGGCUACUACCAGAGCCUGGUGACAGACUAUUUUUGCUAUUUCACCGUACAGUCAUUUUAUAAUCAUUGUACAUGCAGGAUUCAGCCAUCCGAUCUUAACUGCCUUUGGGCACGCACAUAUAGGCCAUUGUUUGAAUACACCACGGAAGUAGCUUCAAAGCCCAACGGGCCCUCUGGCGACCCAGUUAGUGCUCGUCCUGUACUAGUAUCGGAUAGCUAUUUUCCCGGCGUCCUAUGGGGGAGCGGAACUCCGCCACCAUUCACUCUAGUGUCAAGACCGAGAAGAAGCAAGAGUGCCCGUCUAUUUCAUGGGCUCCAGUCGUUAAGGCCCACGUCCGGAAGACGCCCGGACUACGGCUCAUUCUUACUUAACUGCGAGGGUAAUACGCACCUAGUCAUAGAAAGUCUGUCCAGUUACCCAGUCGCUUUCGUUCCUCCCCUUCCAGUUACGGGGCGUUCGAGCCCUGCAUUGGAGCCACGCGUCGCCAAUGGUUCUCUGCUUGGUUUCAAUUAUGGACAGAUCGCGACGUCUUUCGGUGGCUGGACUGUUCAAGGCAACAAGUGCCUAAAAACACUCCCGAGGGUAUUCACUUCUGCGGCAGUCAUAGGUCGGGCCGUGUGCUGUGACUUUCUCCGAGCUACCAGUGACCCCUGUCGGCAACUUGGUGCCCCCGGGAACCCUAGACGUACACGACAACUAUUCUUUCCACAAGCCCGCACGCCGCCAAGCCACUCAACCGACAACGACGUUCAGGCAGAGGUAUCCCGAGCGAUUGACGGAGGAAGCCACGCGCAAACUAUCAUUCCAUAUCAAUACCUGGGUUAUCUGGUGCCGUGCCUAGAGACUCGCGGCAUAAGAGUAAUCUCUUCAGUCCACUUCUUCCCAGGAAUGUUUUGGGAAAUGUUGGGGCCAUGGGAAUUCUGUCGAUAUUUUGGUAUGCGGUCUGAGACGUGUUCCUUGGCUCUCCCCUCUAAACGCGAGAACAGAAACUCUAAAGAGCUGCCGAUUGGUGACGAUUCGACGUCAGACCCAUUACCAAAACACUCCAUGCGCACGAGUCACCAAAACCUUCAGCAGGGUUUCAUGCACUUUUCCCGUUGUAAAGAUAUACGUCGGAAGGAUACUGUGAUAGUCUCUCUUGUCAGAAUUUCAGAUCUCCUCCUAGUAGCGCUCUACGACCUGUUCAACCCGGACUGCGUAGACGCCACCUUACGCGUAGGGUGGCGUCAGGUUCCUGUGUAUCAAACUCGAUGCAGAGAAGCUGAAUGGGUACAUCAUAAAGCGGGCGUUUUGGAUCUCAUCCGACGCAACUCUGAAACGCUGUUUAUGGCUCCUACAUACAUCGCUGGGGGGGUCGUUGACGGUACAUAUAACAAGACAUUUCCGAAGGGAAGCACUACUAUUUACUGGGCGACAAAGACCAGUAUGAUACCUGCCGACACAAACUCAAUUACGCGCUCAGUUCUAGAGGAAAAAAGACAUGGUCUAUCCGUGGAAGAAGGGGAAUAUCGUGCAGAUCCAGCAUCCCCCGUUACAGUCGGUUCGAGAACAGCGGAUACGAGAAAGCACAGUGUGCAUUCGUUCAGUGUAACCCGCCAUACAUUCCAUGUGGUGGUCGAUAACUCAUCCGGACAAGGUCUCCCCCCUAGACCGGAAGCUAAGAGCCUAUCGAGAUACCUUUGUCUAAUUAACCCUUUGCAAACCUUAUUGGUCCUGCGCGGUUUAGCUUUCGCAAUUGGGCGUAACGCAAUAUAUAAAGCCAAUCUCACGUUCGGGUGGAUGCACAUGCCGGGCGAUAUCCCGUUACACCAAGUCAAUGCCGAACCAACACACACUAAUGAGAGUGACCGGAUCUGCGUCUUACGCAUAUCCUUAACCUCCACAAUGAAUCGCGUGAUCGAAACGACAAAGAUAGGCGUCAUGGUCGAAAGCCACUUAUUGUUGGCACGCACAUUCUCCCCUCACCGUAAGCAACACACCUCUGCGAAGGUUUCGCAAAUCAUAAAGCAUCGAGCACCCCUCUCAAUCACGACGGCACCGGGCAUAACGCUUCGCGUACAGCCUGACGGCGCAACAUCUGUACUAGGAUCGCGCUGGGAACGCAUCCAAAUAAUGCCAAAAGGCACUUGUGCCUACCGUUACUGCUGGGGUUUCGGAUCCGACCGGACUAGACUCAUAAGAUUUAGCGGAGGGCCCGCGGACCCUGUAACCGUACAUGUCCGUGGACAAUCGUGGACAUGCACGUCUACGCCCGCAUUAGGAAUAUUGAAGCUUCACAUCUCGAUACCCGCUCUUGUAUCUCAGGUAAACAAUUGGAUGGACGUAACGGCCGUGAUCAGCAGCCUAUCCUAUCGCUGGCUUAUGCGCAUUGACACUGCCGGGAGUCACCGCGACCACUUCGAUUUUCUAUCGGGCUUUUGCCCACAUAGCCGGGGCUUGUUACAGGAGUUCCAAAAAGAGGACGUACAACAAAACCGAUCUUGCGAGAACCCAAAGCGGCAAAACUUUGACCAUCUCAGAGCAUGCUACACCUUCUUAGACUCUACUACAGACAAAGGGCGGACUGGACGUAUAUUCCUAGAAAACGCAUGCUGGAUCAAUCAGUCAAACAACGCUGUCGAUCCCUGUCCUUCUGCGACGUCCGCUUAUGUAGACCAAGAUGAAGACUACCCCGGCGAUGUAGUGGCCCCUCCUUCACCUUUCCAUUUCGUGACGCCUGAAUCACGCCGAGCGGAGAGCGCAAUGGGUGGUGUACUUCACAGGAGGCCAACGACGCGAGGCACUGCAACUUGUCCAGCAAAACAGUUGAGGGUAAGCAUGAGAUUACACCAGAUUGACACUUAUUGUGAAUGCAUUGACGUCUUUCGGCGGCUUGAGUAUUCCGCUCUCGACUUCGGGACUCUCAUUGAUUACUCCCCGCUAAGAGCACAGUAUAUACCCCAAGCUCUGACAGCGUAUCACAAGGUAACCUGCUCUCAGAUCCAAUUUAUCACGGAACAGCUUUCCCGCCCUAAUCUUCCGGUAGUCUUAAGUUCCUCUGUACGUUCUCGUGUUUGGUCCGGUUCCUUAUGUGUAUUAGCUAAGGCAAGGGUACUGCAACUUAUUACGCAUCCUCACCGUUUCUCAGUGUGGUUCGUCAGCUACAUAAGACGAUGCAGGCUACACGUUAACAGGGUGGCUUUUCACGGAUCAUUUCUGCAUAGUCUCGUCAAUCGCCCUCCUCGUUCCGAAAUCUUACAUUUGGUACAUCUGAAAUCCGUGGCCAACCUGUUGGGGUAUGAUAUGAUUUCGAGCGCGACCCAACGGCCCGUUGCGAAUUUCAUGACCUAUACAUGUAUGCUCCUCGAAGUCCCGCCAUUUUCACCUAGUCACUAUAAAGAGGUGACGACACUAAAGACCUUGGGCAUCACUGAGGGACGUAACAGUAAGCAGUUUCUGGUUCUCCACUCAGGUACAUGUUCGGUGAUGAUCAGUAUCAGAAUAGGCCAAUUGUAUAUAGUGACCGCCCCCAGUAGGUACAAGGGGGGGACUCGUUCCAAAAUGAGACAUAAUACAGAGACGGCUUCCAGGCUGUAUAAAACUCCUAUUUCUCUCCGUCUGCCAAAAUGCAUGCUCUCGAUAUCCGAAGGGGCAUCCCUAUUCUGCCUCCGCGCCGGUCCCACGAAGCGUACUGGGGAAAUGGACCAGCAACGACGCGGAAGGAUUUCGGCCGGGGGUGCGCGGAGACUAGAAUAUGUGCGGGCCAACCUCGUUUGGACUUCUCUGACAGCGCGUUCGAGCGUCUGCGUCCCAAAACGUCACUUCGGAUGCCGCACGACAGACACAUACAACGUGUCGACUCGUGGCAGCGUUAUUAUCUCCUUGGAUAACGGCGGUAUGGUGCUCCUGGGUCCGGGUCCCCAACGCCGUAUUCAAAUCCGUAGUGCGGCAAUCAGGGGUUCGCCAGAUAGGAAGGCCAUAAGGUACCGCUUAUUACGGAUACGCCUGAGUUUAGAAAUUAUGAGCGGUAUCGCUCAUCUGGGGGGACGGUUCCCGAUCACAGCUCAUCUGUACUCGUCGAGAGAUCCUCUCUUUAAAGAGCCCAACGCUCGAAGGUUAAUGGACGGCACAGUAUUUCAGAUUUCGGUUCACAGGCCGGGAGCUUGUAAAACCCCGAGGUGUGGAGUGCUCGCGCGCGACACAACGUUGCCUCACUCUCAUCUCACACAGGUUAGACGCGACGGGCCUGGAUUCAGAAACAAGCGUGGGGAGAAUUGCUGGGCCAUCUCCGACACGGCAGUCGGCUUAAUAUGUGUGGAUGAAAGCCGGCCAAAUUGUGGACCCGAGGGGUUGGUAGAGAGACGUAACUAUCUCCGGUCACUCGAAUUGGAUCCAUGGGUAUCUGAAACCGUCGUCAAUUGCCCCAAGCUUCUAAACACUCUCAAGAAGUCGAGGGACUGCUACACGGCGAUUGAAGUAUUAUCGUUCAACUCACUUUGCGGGCCCGCCUUGCCACGGUUGUUUGUUGACCGGACUCUCAGGUUUUAUUUAAGUGUGACGCAAACUAAGGAAACUUUGCUGAGGUUUUCGGAAGACGGCUACCGCAGAAGCAAUGGAGCCAAGUGCCCUAAAAUAAAGUGCUGGGAGCGCGGCACAGUUCUUGUGUCUGUUCUAUCUCUCCGGGUACCGAGGUGUUCGUCGAUCAAGCGCGACCUUGAGUACUUUCUCGACCCUGUGAUCGGCUCAGGCGUACCAAACCCGACUCCAACCUACAUUAAACCUCGCUACUUAAUCCGGAACCUUCGAAUUAGAAAACAAGAAUGUCCCUGGGCGGCGCGUUGUGUGGCGCUAGCUCACAGCCCUUUCAAGGCUGAUCUCAGUUGCAGCCCUGGCAGUCGGGUAGGCUAUGCACCAAGGCCACCAACUUUUGGGCGCGUUUUGGGUCGAAAAUUCAUGCGCAUGACAUUAAACUUCCAACAGUAUUGUUUGUGUGACAACCGGUUCGUACUUACGACCCUAAAGGACAUCAGAAAGCUGAGUUUCGUUGCUUUCACGCGAUGGCGGAUAACAUUGGAACAUGGAUUCGUGGACCUCGGGCAUCGCCCAGUCAACCUACAGGCACUUUUCCAAUGCUCGCGAAGUCGUUUGGGCUAUCCGAUUUGCCACAUUUUGGGGGUGCGGAGCCAGCCUUGCUUAAUAUAUUCUUUCUGGAGCAGGGCCGUUGAAAAUGACGUGUCCGGCCCGCUUCCUGAACCAAGUGAGAGUAGCUCACAAACGGCGCAGAAUUACUGUAAUGGUUUGUACGCAGGGUAUGCCAGUCCCUACGUGCGCAUGCCUACUGUAUCACCGGGCCAGGCGUGUGUACGGAGAACUCAUUGUUGUCGAAGUCGGCAUACCAAAAGAUGUGUAUAUGUUGGUCGUGUAUCCCUUAUCCAGUUGCAGGGGUUGUUUGUGGCAAUCACUCUGUCGCUGCAAUGCUAUCCUUCACAUAUGUCGGUUAAGCUGCGUGGAGUUCGGUUUGCUGUAUCUCAUGCACUGGACCGGUGUUCUCAGUGUUCUCCGCCCUCGUGGGUGACAACGCCUGACCAGGACAAUCUGCCUCAAGUCAAGUCUAGCCUCUUUGUGGAACAUGUCGAAAGACUAGUAGGGGAAGUCGGAUUGAAUGGCACGCGUACCUUCACACCGCGCCCCUACGUGCAACGCAAACAACCUCAUCCCUACGUAGUUCAGCAGUGUCUCCUAGUGUCGGGUUCACCCAGUUAUGUGGCCCCACUCGUAGCCUGUGCUGAGGUUUUUUGGUUGGUCCCUUCUCCUGGUAUUAUAAAGCUCGAGGUUCUAACGUUGUAUGGAACUCCAUAUAGCCUAAAAUGCAAGCUGCUGUUCGAGAAAUCGCUAAUUCAAUUGGGGGUUCUUCUUCACCAAAACUGUUUUAAAUCGGUGCGGCGCGCGAACUUGUCAAGCUCUACCGGGGACCCUGUCAGCAUGGUGACACACGGAGUCCCUAUAGGACUCGUGGGUUCCAGCUUGGGCUCAGACCACACCACGUGUGGUAGCCGCUGCCCCGUAAGAUGUGUGCUACGGGUAAAUGUGGAAGCUUUCUGGUACAUAACGGAUGCGUACCGCGAUAGCCUAAUCCGGAACGCUUCGUUGGAGGUCUCGCUGGUUUGUAGACGGGCUCGCACGCGAAUAAUUCAGGAGAUUAUGGCGUCGGUAACCGUUCGAGGGCAGGUUCGGUUAUUGCGUACAUGGCCGCAUGUGCUGUAUGGUGUGAAGGAAAUAUCCUGUGGUUUUCGGGCCAGAAUAGUAGCGCAACGAUUUGCCUUGUUACUGCUCAGAGAUUCACAAACUGAUUUCGUUAGCUCGUGGGAGAUAUACAUUCAAGCAUUGCUAUAUGUAUACCCUAUACAGCUGGUAUGGCAAGGAGGUAAGCUUUCUGGCGCUUACAGUGUACGCGGACGUCGCUGGUAUUGUAAUUCCGGUGUUAUUGUCAACGGGACUCUGCUCUCAGAUGAGGGCCCCCGUAUAUUAGUCACAAGUGUUGCGUCAUUCUCUCGCCUAGAGCUCGGCCAAGAAUCAUUACACUCCCCUACCGUCCGUUCCAGCUUACAAAGAUCUUCGUACACACCCUACUUUGACGAGGCAACGACCUUGGCUUGGCUCUACGCAGAUCUGUCGGAUUGCAUUCUAACGCCUGUUGUACAUGAAGCCGGAACAGGUGAGUUUGGGACACGCCACUUCGUGUCGCUUCUUGAGAUCCACCGGUGUGGUAAAGGCUGCCUGUUAGUACAUGGGCCAUCUCAGCUCUACCAACACGUAAAGGGGACACGCUUCGCACUUGUAGGUUCUGCGCAGCGCUUGAAUGGCUCAUUAACGCAUCAGGAAUUUCAAAUUCCGCAUCGACCACAUGGAUUCUUCGUGUUUUCAGAAGUUCGAUCUUCAAUGGAACGCCUAGAUCCGAACCUUGCCGCUGUGCAGCAAUGCUUACCCGCCGAGCUUUGGACCUCCGAAGAUUAUGAACGUUCAAUAUCCGUCGUCAGUGGAUCGGCGGCGUUAAAUUUCGGUGUAGAAGCGGCGACUAGAUCUAGCCAUGUUUUGAAGUCGUGCACUCUGCAAGGGCUCCGAGGCUCUCAGCUUGAUAAAGAGAGUGCGUCUGCGAAACAAACCACAUUAGGUUUCAAAUUCGUACCCCCUUGCCUUAUCUCUGGUAGCGCGCCAAACCUAAUCGAGCUGACUCACCACAUGCUAGCCUUCAGCCGGAAAGACAGAGGCUCCCGGAAAGAGUCAAUGAAGAACAACCGAACUCCGGCUAUUCGGCAACUAGACGAGGAGUUCAACUCACUACGUCGUAUAUCAGUGGACCCCGUUAGGAGGCUUCUGGCAGCAUCGGGUGUGGUUACAUCUCAGGAAAUCAACUCGUCUCAGCGCAUUUCCAUCUAUUUCAAACCGGCGAGGCAUUCAGACGAUGGAUUACCCGACUUGGCCAUCACGCAGCUUUCUCUUUCUAGUGGAACUCGUAUACCGACAGGAUUUCAUUAUAGCAGACGUACCAGCAAAUUUAAGGUCAGAAUAGCUCGUUCCAUAAGGAAGAUACUGCCGUGUGUCGACACAUGCAGACUAAUCGGCAAAAUGAGUGCACGACACCAUCCAGUCAGCAACGUUGAGUACAGCUCUGACUCGGGGUGGUACCUAUGUUUGCGAGCUAUAUGUAAAAUCCCGCUAAUAUCGUGCCUGGUUAAGGUGGAUCCGGCUAUGAAGAAGCCGACCGUGCCUACUGACUACCGGAAACUGUUGCAGGAGUAUGUAUGUACGAACACACUAAUAUCUCCGGCCCGUGAUGUAUCCAGUUACACGUUUCUGACAGCAAACGUAGGCGACCUGAGUAUCCGAAUUUCUCUGCUCUCUAAACAACACUGUCAAAAGCCAGCCUCAACAUGUAAGAUACGUGUGGCUUAUAUCUCGUUUGCAUGGUCCUCUACAGCGUUCAUCGGCGCGGAGCAUCGUAUCCGCACCCCGAUCGGCAGCACGACAAGCCGAUCAGAGAUACGACAAAUAUCUUCGCACUACGAACCGAGGCUUUACCGAGUGAGUCUGGGGCACAACCGAAGCAAUAACGAAGGCGCUCUGAAUUCAGAAAGGAGUCUAAAAGUGAGUUGGAUGGGCGGGAGAAUUUCUCUGCUUUGUGAAGGAAUGUGUACUUUGCCUGAAUUUCUAGCUGAGGUCCUCGAUAACACGAUUCCGACGCAGCUCCUGGCUGGCGCAAGCGGCACUUUUCUUGCUGCCUCACACGGCCUUGGCGGAGCAGCCUAUCACAAAAAGAGGCCGUGCUGCGUGGACGCACGUCCCGGUGGGGGAGCAUGUACUAGGGAGCGCCGUAUUGUACUUGUGGACAAGCCCGGUACCCCUGCCUGCUUUCGGAGAUGA");
let mut rna_sample = rna::RNA::new(0, rna_str);
let protein = rna_sample.to_protein();
println!("{}", protein);
let complement = dna_sample.rev_complement();
let codon = HashMap::new();
//let mut protein_sample = protein::Protein::new("MA\n".to_string(), codon);
let mut protein_sample = protein::Protein::new("MQYCNQKKQMMIIYKHDMETMLTQQRCFTHNYTHTSTFQVDNMVSCHGSHDKRRAWFNFNDPLEPEHSVCSLWPYKGKLATKYSISIVWRSKTLDIMTKHHNTLVMKRTCWCHPHRNWGTFNGWMFPMGETAWFHWHEHWKTDYSIDQAVHISEMIDFEQIVPNVRCYPNNHNWILSEMPHRSDIKDLCTQGMFENIIVYNFMRYFPKNAKTGTDTKMLILVKEMFYANAGQQLLSSPKHFARIRAIGLNCCMTKVEVPMVAQQFEAIIIMVVMVCCCTIKANRSDEVNSCEWYNLSDKYWISEQTVELQMQIFRGHNCAPDEQYMVSFFRSCFGPNTSYHQIIDRMSANTHFMWMQIQPVHIKMKTSVHPMSSMVAYHEILGFPLAGHPCRSCVVYIRGHCFFHRPLHCRDSAVGQQGITRTFYIDPQGLWYQDVFNTDKPHVAHTYSQPKIMTVKNCMRTHVGAPMVPQHRTQLFVRDMVIGSHLVEHHHRPDEKINLKFHVAPMRMVFSIWNSYHEWMIAYDIRHRWCFCEMNELTCCCRAWHNQWCTHETEVGHWWAPWTWQVFMFCSHLGMEMSWTQWLYPLHSFMLPFCAYLMLQDFAKNNGTLRIQHPMYLDLYACYRYKKFKLSLPGLESHPAGVMDICLKPPHKTGDLVMEAQDWLRESTKQMHVFICHWMNTMWNNMQGPRDIEQTCISLWIKFLYGLGGDTTSYMRAYDYDRTSVTIRSYEPTGYIQIHMPIWQILQVTNDTTFMPEFMCEASTKVRPTKMMAIGMTYPPHKNFQPETNIDNKCNESTKEHVTTHSTHRCDTRKVARYMDFDMWSQPECPSKGHEQMRHIWDELWTDESPVARHESDDTLQEFCQWNFTWWVKMHHNHYWPMSIYNMMYDSRYTAELYYFYWRNHMGASDGHCMDCTLKNNLLCSQDDDCPITRRERADDIHCTCHCERNWLVHLVFDDIEEGKDDSIITRWEMKHHSQSTWRIIRVMDKYKDPFDTTC\n".to_string(), codon);
let total = protein_sample.total_mrna_protein();
println!("{}", total);
}