bio 1.5.1 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +35 -36
  3. data/ChangeLog +911 -2554
  4. data/{gemfiles/Gemfile.travis-ruby2.2 → Gemfile} +0 -3
  5. data/KNOWN_ISSUES.rdoc +10 -13
  6. data/LEGAL +0 -10
  7. data/README.rdoc +40 -96
  8. data/README_DEV.rdoc +5 -5
  9. data/RELEASE_NOTES.rdoc +118 -234
  10. data/Rakefile +13 -43
  11. data/appveyor.yml +29 -0
  12. data/bioruby.gemspec +18 -81
  13. data/bioruby.gemspec.erb +8 -28
  14. data/doc/ChangeLog-1.5.0 +2919 -0
  15. data/doc/RELEASE_NOTES-1.5.0.rdoc +285 -0
  16. data/doc/Tutorial.rd +6 -108
  17. data/doc/Tutorial.rd.html +19 -98
  18. data/gemfiles/Gemfile.travis-jruby1.8 +3 -5
  19. data/gemfiles/Gemfile.travis-jruby1.9 +0 -3
  20. data/gemfiles/Gemfile.travis-rbx +0 -3
  21. data/gemfiles/Gemfile.travis-ruby1.8 +3 -5
  22. data/gemfiles/Gemfile.travis-ruby1.9 +0 -3
  23. data/gemfiles/Gemfile.windows +6 -0
  24. data/gemfiles/prepare-gemspec.rb +4 -0
  25. data/lib/bio.rb +0 -10
  26. data/lib/bio/appl/blast/genomenet.rb +4 -4
  27. data/lib/bio/appl/blast/report.rb +40 -8
  28. data/lib/bio/appl/fasta/format10.rb +2 -1
  29. data/lib/bio/command.rb +10 -0
  30. data/lib/bio/data/codontable.rb +99 -3
  31. data/lib/bio/db/aaindex.rb +74 -5
  32. data/lib/bio/db/gff.rb +3 -1
  33. data/lib/bio/db/kegg/common.rb +14 -0
  34. data/lib/bio/db/kegg/genes.rb +26 -0
  35. data/lib/bio/db/kegg/pathway.rb +5 -11
  36. data/lib/bio/db/soft.rb +2 -2
  37. data/lib/bio/io/flatfile/autodetection.rb +5 -0
  38. data/lib/bio/io/togows.rb +5 -5
  39. data/lib/bio/map.rb +4 -4
  40. data/lib/bio/sequence/format.rb +1 -0
  41. data/lib/bio/util/restriction_enzyme/range/sequence_range/calculated_cuts.rb +1 -1
  42. data/lib/bio/util/sirna.rb +2 -0
  43. data/lib/bio/version.rb +6 -8
  44. data/sample/color_scheme_aa.rb +82 -0
  45. data/sample/color_scheme_na.rb +5 -6
  46. data/sample/fastq2html.cwl +23 -0
  47. data/sample/fastq2html.rb +94 -0
  48. data/sample/fastq2html.testdata.yaml +5 -0
  49. data/sample/na2aa.cwl +23 -0
  50. data/sample/na2aa.rb +11 -25
  51. data/sample/na2aa.testdata.yaml +7 -0
  52. data/sample/rev_comp.cwl +23 -0
  53. data/sample/rev_comp.rb +20 -0
  54. data/sample/rev_comp.testdata.yaml +7 -0
  55. data/sample/test_restriction_enzyme_long.rb +1 -1
  56. data/test/network/bio/db/kegg/test_genes_hsa7422.rb +91 -0
  57. data/test/unit/bio/appl/blast/test_report.rb +4 -4
  58. data/test/unit/bio/data/test_codontable.rb +3 -0
  59. data/test/unit/bio/db/test_gff.rb +5 -0
  60. data/test/unit/bio/test_alignment.rb +2 -2
  61. metadata +20 -77
  62. data/bin/bioruby +0 -47
  63. data/bin/br_biofetch.rb +0 -71
  64. data/bin/br_bioflat.rb +0 -293
  65. data/bin/br_biogetseq.rb +0 -45
  66. data/bin/br_pmfetch.rb +0 -422
  67. data/lib/bio/appl/blast/xmlparser.rb +0 -236
  68. data/lib/bio/db/biosql/biosql_to_biosequence.rb +0 -78
  69. data/lib/bio/db/biosql/sequence.rb +0 -444
  70. data/lib/bio/db/phyloxml/phyloxml.xsd +0 -582
  71. data/lib/bio/db/phyloxml/phyloxml_elements.rb +0 -1197
  72. data/lib/bio/db/phyloxml/phyloxml_parser.rb +0 -1001
  73. data/lib/bio/db/phyloxml/phyloxml_writer.rb +0 -227
  74. data/lib/bio/io/biosql/ar-biosql.rb +0 -257
  75. data/lib/bio/io/biosql/biosql.rb +0 -39
  76. data/lib/bio/io/biosql/config/database.yml +0 -21
  77. data/lib/bio/io/sql.rb +0 -79
  78. data/lib/bio/shell.rb +0 -44
  79. data/lib/bio/shell/core.rb +0 -578
  80. data/lib/bio/shell/demo.rb +0 -146
  81. data/lib/bio/shell/interface.rb +0 -217
  82. data/lib/bio/shell/irb.rb +0 -94
  83. data/lib/bio/shell/object.rb +0 -71
  84. data/lib/bio/shell/plugin/blast.rb +0 -42
  85. data/lib/bio/shell/plugin/codon.rb +0 -218
  86. data/lib/bio/shell/plugin/das.rb +0 -58
  87. data/lib/bio/shell/plugin/emboss.rb +0 -23
  88. data/lib/bio/shell/plugin/entry.rb +0 -137
  89. data/lib/bio/shell/plugin/flatfile.rb +0 -101
  90. data/lib/bio/shell/plugin/midi.rb +0 -430
  91. data/lib/bio/shell/plugin/ncbirest.rb +0 -68
  92. data/lib/bio/shell/plugin/obda.rb +0 -45
  93. data/lib/bio/shell/plugin/psort.rb +0 -56
  94. data/lib/bio/shell/plugin/seq.rb +0 -248
  95. data/lib/bio/shell/plugin/togows.rb +0 -40
  96. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/bioruby_generator.rb +0 -29
  97. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_classes.rhtml +0 -4
  98. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_log.rhtml +0 -27
  99. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_methods.rhtml +0 -11
  100. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_modules.rhtml +0 -4
  101. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_variables.rhtml +0 -7
  102. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby-bg.gif +0 -0
  103. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby-gem.png +0 -0
  104. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby-link.gif +0 -0
  105. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby.css +0 -368
  106. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby.rhtml +0 -47
  107. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby_controller.rb +0 -144
  108. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby_helper.rb +0 -47
  109. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/commands.rhtml +0 -8
  110. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/history.rhtml +0 -10
  111. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/index.rhtml +0 -26
  112. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/spinner.gif +0 -0
  113. data/lib/bio/shell/script.rb +0 -25
  114. data/lib/bio/shell/setup.rb +0 -108
  115. data/lib/bio/shell/web.rb +0 -102
  116. data/sample/test_phyloxml_big.rb +0 -205
  117. data/setup.rb +0 -1600
  118. data/test/data/phyloxml/apaf.xml +0 -666
  119. data/test/data/phyloxml/bcl_2.xml +0 -2097
  120. data/test/data/phyloxml/made_up.xml +0 -144
  121. data/test/data/phyloxml/ncbi_taxonomy_mollusca_short.xml +0 -65
  122. data/test/data/phyloxml/phyloxml_examples.xml +0 -415
  123. data/test/unit/bio/db/biosql/tc_biosql.rb +0 -114
  124. data/test/unit/bio/db/biosql/ts_suite_biosql.rb +0 -8
  125. data/test/unit/bio/db/test_phyloxml.rb +0 -821
  126. data/test/unit/bio/db/test_phyloxml_writer.rb +0 -334
  127. data/test/unit/bio/shell/plugin/test_seq.rb +0 -187
  128. data/test/unit/bio/test_shell.rb +0 -20
@@ -1,8 +1,6 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- gem "rake"
4
- gem "rdoc"
5
-
6
- ## disabled because of build error on Travis
7
- #gem "libxml-ruby"
3
+ gem "rake", "~>10.4"
4
+ # rdoc 4.3.0 requires Ruby >= 1.9.3
5
+ gem "rdoc", "~>4.2.0"
8
6
 
@@ -3,6 +3,3 @@ source "https://rubygems.org"
3
3
  gem "rake"
4
4
  gem "rdoc"
5
5
 
6
- ## disabled because of build error on Travis
7
- #gem "libxml-ruby"
8
-
@@ -3,9 +3,6 @@ source "https://rubygems.org"
3
3
  gem "rake"
4
4
  gem "rdoc"
5
5
 
6
- gem "xmlparser"
7
- gem "libxml-ruby"
8
-
9
6
  platforms :rbx do
10
7
  gem 'racc'
11
8
  gem 'rubysl', '~> 2.0'
@@ -1,8 +1,6 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- gem "rake"
4
- gem "rdoc"
5
-
6
- gem "xmlparser"
7
- gem "libxml-ruby"
3
+ gem "rake", "~>10.4"
4
+ # rdoc 4.3.0 requires Ruby >= 1.9.3
5
+ gem "rdoc", "~>4.2.0"
8
6
 
@@ -3,6 +3,3 @@ source "https://rubygems.org"
3
3
  gem "rake"
4
4
  gem "rdoc"
5
5
 
6
- gem "xmlparser"
7
- gem "libxml-ruby"
8
-
@@ -0,0 +1,6 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "rake"
4
+ gem "rdoc"
5
+ gem "test-unit"
6
+
@@ -15,6 +15,10 @@ else
15
15
  exit(0)
16
16
  end
17
17
 
18
+ # update bundler to avoid Bundler's bug fixed in the latest version
19
+ $stderr.puts "gem update bundler"
20
+ system("gem update bundler")
21
+
18
22
  $stderr.puts "cd #{gem_dir}"
19
23
  Dir.chdir(gem_dir)
20
24
 
data/lib/bio.rb CHANGED
@@ -142,20 +142,10 @@ module Bio
142
142
  autoload :Newick, 'bio/db/newick'
143
143
  autoload :Nexus, 'bio/db/nexus'
144
144
 
145
- autoload :PhyloXML, 'bio/db/phyloxml/phyloxml_elements'
146
- # Bio::Taxonomy will be moved to other file
147
- autoload :Taxonomy, 'bio/db/phyloxml/phyloxml_elements'
148
- ## below are described in bio/db/phyloxml/phyloxml_elements.rb
149
- #module PhyloXML
150
- # autoload :Parser, 'bio/db/phyloxml/phyloxml_parser'
151
- # autoload :Writer, 'bio/db/phyloxml/phyloxml_writer'
152
- #end
153
-
154
145
  ### IO interface modules
155
146
 
156
147
  autoload :Registry, 'bio/io/registry'
157
148
  autoload :Fetch, 'bio/io/fetch'
158
- autoload :SQL, 'bio/io/sql'
159
149
  autoload :FlatFile, 'bio/io/flatfile'
160
150
  autoload :FlatFileIndex, 'bio/io/flatfile/index' # chage to FlatFile::Index ?
161
151
  ## below are described in bio/io/flatfile/index.rb
@@ -102,7 +102,7 @@ module Bio::Blast::Remote
102
102
  dbdescs = {}
103
103
  key = nil
104
104
  host = Bio::Blast::Remote::Genomenet::Host
105
- http = Bio::Command.new_http(host)
105
+ http = Bio::Command.new_https(host)
106
106
  result = http.get('/tools/blast/')
107
107
  #p result.body
108
108
  result.body.each_line do |line|
@@ -211,7 +211,7 @@ module Bio::Blast::Remote
211
211
  end
212
212
 
213
213
  begin
214
- http = Bio::Command.new_http(host)
214
+ http = Bio::Command.new_https(host)
215
215
  http.open_timeout = 300
216
216
  http.read_timeout = 600
217
217
  result = Bio::Command.http_post_form(http, path, form)
@@ -243,10 +243,10 @@ module Bio::Blast::Remote
243
243
  end
244
244
 
245
245
  # workaround 2005.08.12 + 2011.01.27 + 2011.7.22
246
- if /\<A +HREF=\"(http\:\/\/[\-\.a-z0-9]+\.genome\.jp)?(\/tmp\/[^\"]+)\"\>Show all result\<\/A\>/i =~ @output.to_s then
246
+ if /\<A +HREF=\"(https?\:\/\/[\-\.a-z0-9]+\.genome\.jp)?(\/tmp\/[^\"]+)\"\>Show all result\<\/A\>/i =~ @output.to_s then
247
247
  all_prefix = $1
248
248
  all_path = $2
249
- all_prefix = "http://#{Host}" if all_prefix.to_s.empty?
249
+ all_prefix = "https://#{Host}" if all_prefix.to_s.empty?
250
250
  all_uri = all_prefix + all_path
251
251
  @output = Bio::Command.read_uri(all_uri)
252
252
  case all_path
@@ -43,18 +43,20 @@ class Report
43
43
  #--
44
44
  # require lines moved here to avoid circular require
45
45
  #++
46
- require 'bio/appl/blast/xmlparser'
47
46
  require 'bio/appl/blast/rexml'
48
47
  require 'bio/appl/blast/format8'
49
48
 
49
+ #--
50
+ # loading bio-blast-xmlparser plugin if available
51
+ #++
52
+ begin
53
+ require 'bio-blast-xmlparser'
54
+ rescue LoadError
55
+ end
56
+
50
57
  # for Bio::FlatFile support (only for XML data)
51
58
  DELIMITER = RS = "</BlastOutput>\n"
52
59
 
53
- # Specify to use XMLParser to parse XML (-m 7) output.
54
- def self.xmlparser(data)
55
- self.new(data, :xmlparser)
56
- end
57
-
58
60
  # Specify to use REXML to parse XML (-m 7) output.
59
61
  def self.rexml(data)
60
62
  self.new(data, :rexml)
@@ -67,7 +69,7 @@ class Report
67
69
 
68
70
  def auto_parse(data)
69
71
  if /<?xml/.match(data[/.*/])
70
- if defined?(XMLParser)
72
+ if defined? xmlparser_parse
71
73
  xmlparser_parse(data)
72
74
  @reports = blastxml_split_reports
73
75
  else
@@ -87,7 +89,11 @@ class Report
87
89
  @parameters = {}
88
90
  case parser
89
91
  when :xmlparser # format 7
90
- xmlparser_parse(data)
92
+ if defined? xmlparser_parse
93
+ xmlparser_parse(data)
94
+ else
95
+ raise NameError, "xmlparser_parse does not defined"
96
+ end
91
97
  @reports = blastxml_split_reports
92
98
  when :rexml # format 7
93
99
  rexml_parse(data)
@@ -383,6 +389,32 @@ class Report
383
389
  attr_reader :reports
384
390
 
385
391
  private
392
+ # set parameter of the key as val
393
+ def xml_set_parameter(key, val)
394
+ #labels = {
395
+ # 'matrix' => 'Parameters_matrix',
396
+ # 'expect' => 'Parameters_expect',
397
+ # 'include' => 'Parameters_include',
398
+ # 'sc-match' => 'Parameters_sc-match',
399
+ # 'sc-mismatch' => 'Parameters_sc-mismatch',
400
+ # 'gap-open' => 'Parameters_gap-open',
401
+ # 'gap-extend' => 'Parameters_gap-extend',
402
+ # 'filter' => 'Parameters_filter',
403
+ # 'pattern' => 'Parameters_pattern',
404
+ # 'entrez-query' => 'Parameters_entrez-query',
405
+ #}
406
+ k = key.sub(/\AParameters\_/, '')
407
+ @parameters[k] =
408
+ case k
409
+ when 'expect', 'include'
410
+ val.to_f
411
+ when /\Agap\-/, /\Asc\-/
412
+ val.to_i
413
+ else
414
+ val
415
+ end
416
+ end
417
+
386
418
  # (private method)
387
419
  # In new BLAST XML (blastall >= 2.2.14), results of multiple queries
388
420
  # are stored in <Iteration>. This method splits iterations into
@@ -94,8 +94,9 @@ class Report
94
94
  # header lines - brief list of the hits
95
95
  if list_start = data.index("\nThe best scores are") then
96
96
  data = data[(list_start + 1)..-1]
97
- data.sub!(/(.*)\n\n>>>/m, '')
97
+ data.sub!(/(.*?)\n\n>>>/m, '')
98
98
  @list = $1
99
+ data.sub!(/>>><<<(.*)$/m, '')
99
100
  else
100
101
  if list_start = data.index(/\n!!\s+/) then
101
102
  data = data[list_start..-1]
@@ -791,6 +791,16 @@ module Command
791
791
  end
792
792
  end
793
793
 
794
+ # Same as:
795
+ # h = Bio::Command.new_http(address, port)
796
+ # h.use_ssl = true
797
+ # h
798
+ def new_https(address, port = 443)
799
+ connection = new_http(address, port)
800
+ connection.use_ssl = true
801
+ connection
802
+ end
803
+
794
804
  # Same as:
795
805
  # http = Net::HTTP.new(...); http.post_form(path, params)
796
806
  # and
@@ -51,10 +51,15 @@ class CodonTable
51
51
  def self.[](i)
52
52
  hash = TABLES[i]
53
53
  raise "ERROR: Unknown codon table No.#{i}" unless hash
54
+ if AMBIGUITY_CODON_TABLES != nil
55
+ atable = AMBIGUITY_CODON_TABLES[i]
56
+ else
57
+ atable = nil
58
+ end
54
59
  definition = DEFINITIONS[i]
55
60
  start = STARTS[i]
56
61
  stop = STOPS[i]
57
- self.new(hash, definition, start, stop)
62
+ self.new(hash, definition, start, stop, atable)
58
63
  end
59
64
 
60
65
  # Similar to Bio::CodonTable[num] but returns a copied codon table.
@@ -70,8 +75,13 @@ class CodonTable
70
75
  #
71
76
  # Two Arrays 'start' and 'stop' can be specified which contains a list of
72
77
  # start and stop codons used by 'start_codon?' and 'stop_codon?' methods.
73
- def initialize(hash, definition = nil, start = [], stop = [])
78
+ def initialize(hash, definition = nil, start = [], stop = [], atable = nil)
74
79
  @table = hash
80
+ if atable == nil
81
+ @atable = gen_ambiguity_map(hash)
82
+ else
83
+ @atable = atable
84
+ end
75
85
  @definition = definition
76
86
  @start = start
77
87
  @stop = stop.empty? ? generate_stop : stop
@@ -87,10 +97,55 @@ class CodonTable
87
97
  # codons respectively.
88
98
  attr_accessor :start, :stop
89
99
 
100
+ # Compute possible ambiguity nucleotide code to amino acid conversion
101
+ # the codon is defined when all decomposed codon translates to the
102
+ # same amino acid / stop codon
103
+ def gen_ambiguity_map(hash)
104
+ nucleotide_sets={
105
+ 'a' => ['a'],
106
+ 't' => ['t'],
107
+ 'g' => ['g'],
108
+ 'c' => ['c'],
109
+
110
+ 'y' => ['t','c'],
111
+ 'r' => ['a','g'],
112
+ 'w' => ['a','t'],
113
+ 's' => ['g','c'],
114
+ 'k' => ['t','g'],
115
+ 'm' => ['a','c'],
116
+
117
+ 'b' => ['t','g','c'],
118
+ 'd' => ['a','t','g'],
119
+ 'h' => ['a','t','c'],
120
+ 'v' => ['a','g','c'],
121
+
122
+ 'n' => ['a','t','g','c'],
123
+ }
124
+ atable=Hash.new
125
+ nucleotide_sets.keys.each{|n1|
126
+ nucleotide_sets.keys.each{|n2|
127
+ nucleotide_sets.keys.each{|n3|
128
+ a = Array.new
129
+ nucleotide_sets[n1].each{|c1|
130
+ nucleotide_sets[n2].each{|c2|
131
+ nucleotide_sets[n3].each{|c3|
132
+ a << hash["#{c1}#{c2}#{c3}"]
133
+ }
134
+ }
135
+ }
136
+ a.uniq!
137
+ atable["#{n1}#{n2}#{n3}"] = a.to_a[0] if a.size== 1
138
+ }
139
+ }
140
+ }
141
+ atable
142
+ end
143
+
90
144
  # Translate a codon into a relevant amino acid. This method is used for
91
145
  # translating a DNA sequence into amino acid sequence.
92
146
  def [](codon)
93
- @table[codon]
147
+ @atable=gen_ambiguity_map(@table) if @atable == nil
148
+ @atable[codon]
94
149
  end
95
150
 
96
151
  # Modify the codon table. Use with caution as it may break hard coded
@@ -107,6 +162,7 @@ class CodonTable
107
162
  #
108
163
  def []=(codon, aa)
109
164
  @table[codon] = aa
165
+ @atable = nil
110
166
  end
111
167
 
112
168
  # Iterates on codon table hash.
@@ -625,3 +681,43 @@ end # CodonTable
625
681
 
626
682
  end # module Bio
627
683
 
684
+ module Bio
685
+ class CodonTable
686
+ AMBIGUITY_CODON_TABLES = {
687
+ 1 =>
688
+ {"aaa"=>"K", "aat"=>"N", "aag"=>"K", "aac"=>"N", "aay"=>"N", "aar"=>"K", "ata"=>"I", "att"=>"I", "atg"=>"M", "atc"=>"I", "aty"=>"I", "atw"=>"I", "atm"=>"I", "ath"=>"I", "aga"=>"R", "agt"=>"S", "agg"=>"R", "agc"=>"S", "agy"=>"S", "agr"=>"R", "aca"=>"T", "act"=>"T", "acg"=>"T", "acc"=>"T", "acy"=>"T", "acr"=>"T", "acw"=>"T", "acs"=>"T", "ack"=>"T", "acm"=>"T", "acb"=>"T", "acd"=>"T", "ach"=>"T", "acv"=>"T", "acn"=>"T", "taa"=>"*", "tat"=>"Y", "tag"=>"*", "tac"=>"Y", "tay"=>"Y", "tar"=>"*", "tta"=>"L", "ttt"=>"F", "ttg"=>"L", "ttc"=>"F", "tty"=>"F", "ttr"=>"L", "tga"=>"*", "tgt"=>"C", "tgg"=>"W", "tgc"=>"C", "tgy"=>"C", "tca"=>"S", "tct"=>"S", "tcg"=>"S", "tcc"=>"S", "tcy"=>"S", "tcr"=>"S", "tcw"=>"S", "tcs"=>"S", "tck"=>"S", "tcm"=>"S", "tcb"=>"S", "tcd"=>"S", "tch"=>"S", "tcv"=>"S", "tcn"=>"S", "tra"=>"*", "gaa"=>"E", "gat"=>"D", "gag"=>"E", "gac"=>"D", "gay"=>"D", "gar"=>"E", "gta"=>"V", "gtt"=>"V", "gtg"=>"V", "gtc"=>"V", "gty"=>"V", "gtr"=>"V", "gtw"=>"V", "gts"=>"V", "gtk"=>"V", "gtm"=>"V", "gtb"=>"V", "gtd"=>"V", "gth"=>"V", "gtv"=>"V", "gtn"=>"V", "gga"=>"G", "ggt"=>"G", "ggg"=>"G", "ggc"=>"G", "ggy"=>"G", "ggr"=>"G", "ggw"=>"G", "ggs"=>"G", "ggk"=>"G", "ggm"=>"G", "ggb"=>"G", "ggd"=>"G", "ggh"=>"G", "ggv"=>"G", "ggn"=>"G", "gca"=>"A", "gct"=>"A", "gcg"=>"A", "gcc"=>"A", "gcy"=>"A", "gcr"=>"A", "gcw"=>"A", "gcs"=>"A", "gck"=>"A", "gcm"=>"A", "gcb"=>"A", "gcd"=>"A", "gch"=>"A", "gcv"=>"A", "gcn"=>"A", "caa"=>"Q", "cat"=>"H", "cag"=>"Q", "cac"=>"H", "cay"=>"H", "car"=>"Q", "cta"=>"L", "ctt"=>"L", "ctg"=>"L", "ctc"=>"L", "cty"=>"L", "ctr"=>"L", "ctw"=>"L", "cts"=>"L", "ctk"=>"L", "ctm"=>"L", "ctb"=>"L", "ctd"=>"L", "cth"=>"L", "ctv"=>"L", "ctn"=>"L", "cga"=>"R", "cgt"=>"R", "cgg"=>"R", "cgc"=>"R", "cgy"=>"R", "cgr"=>"R", "cgw"=>"R", "cgs"=>"R", "cgk"=>"R", "cgm"=>"R", "cgb"=>"R", "cgd"=>"R", "cgh"=>"R", "cgv"=>"R", "cgn"=>"R", "cca"=>"P", "cct"=>"P", "ccg"=>"P", "ccc"=>"P", "ccy"=>"P", "ccr"=>"P", "ccw"=>"P", "ccs"=>"P", "cck"=>"P", "ccm"=>"P", "ccb"=>"P", "ccd"=>"P", "cch"=>"P", "ccv"=>"P", "ccn"=>"P", "yta"=>"L", "ytg"=>"L", "ytr"=>"L", "mga"=>"R", "mgg"=>"R", "mgr"=>"R"},
689
+ 2 =>
690
+ {"aaa"=>"K", "aat"=>"N", "aag"=>"K", "aac"=>"N", "aay"=>"N", "aar"=>"K", "ata"=>"M", "att"=>"I", "atg"=>"M", "atc"=>"I", "aty"=>"I", "atr"=>"M", "aga"=>"*", "agt"=>"S", "agg"=>"*", "agc"=>"S", "agy"=>"S", "agr"=>"*", "aca"=>"T", "act"=>"T", "acg"=>"T", "acc"=>"T", "acy"=>"T", "acr"=>"T", "acw"=>"T", "acs"=>"T", "ack"=>"T", "acm"=>"T", "acb"=>"T", "acd"=>"T", "ach"=>"T", "acv"=>"T", "acn"=>"T", "taa"=>"*", "tat"=>"Y", "tag"=>"*", "tac"=>"Y", "tay"=>"Y", "tar"=>"*", "tta"=>"L", "ttt"=>"F", "ttg"=>"L", "ttc"=>"F", "tty"=>"F", "ttr"=>"L", "tga"=>"W", "tgt"=>"C", "tgg"=>"W", "tgc"=>"C", "tgy"=>"C", "tgr"=>"W", "tca"=>"S", "tct"=>"S", "tcg"=>"S", "tcc"=>"S", "tcy"=>"S", "tcr"=>"S", "tcw"=>"S", "tcs"=>"S", "tck"=>"S", "tcm"=>"S", "tcb"=>"S", "tcd"=>"S", "tch"=>"S", "tcv"=>"S", "tcn"=>"S", "gaa"=>"E", "gat"=>"D", "gag"=>"E", "gac"=>"D", "gay"=>"D", "gar"=>"E", "gta"=>"V", "gtt"=>"V", "gtg"=>"V", "gtc"=>"V", "gty"=>"V", "gtr"=>"V", "gtw"=>"V", "gts"=>"V", "gtk"=>"V", "gtm"=>"V", "gtb"=>"V", "gtd"=>"V", "gth"=>"V", "gtv"=>"V", "gtn"=>"V", "gga"=>"G", "ggt"=>"G", "ggg"=>"G", "ggc"=>"G", "ggy"=>"G", "ggr"=>"G", "ggw"=>"G", "ggs"=>"G", "ggk"=>"G", "ggm"=>"G", "ggb"=>"G", "ggd"=>"G", "ggh"=>"G", "ggv"=>"G", "ggn"=>"G", "gca"=>"A", "gct"=>"A", "gcg"=>"A", "gcc"=>"A", "gcy"=>"A", "gcr"=>"A", "gcw"=>"A", "gcs"=>"A", "gck"=>"A", "gcm"=>"A", "gcb"=>"A", "gcd"=>"A", "gch"=>"A", "gcv"=>"A", "gcn"=>"A", "caa"=>"Q", "cat"=>"H", "cag"=>"Q", "cac"=>"H", "cay"=>"H", "car"=>"Q", "cta"=>"L", "ctt"=>"L", "ctg"=>"L", "ctc"=>"L", "cty"=>"L", "ctr"=>"L", "ctw"=>"L", "cts"=>"L", "ctk"=>"L", "ctm"=>"L", "ctb"=>"L", "ctd"=>"L", "cth"=>"L", "ctv"=>"L", "ctn"=>"L", "cga"=>"R", "cgt"=>"R", "cgg"=>"R", "cgc"=>"R", "cgy"=>"R", "cgr"=>"R", "cgw"=>"R", "cgs"=>"R", "cgk"=>"R", "cgm"=>"R", "cgb"=>"R", "cgd"=>"R", "cgh"=>"R", "cgv"=>"R", "cgn"=>"R", "cca"=>"P", "cct"=>"P", "ccg"=>"P", "ccc"=>"P", "ccy"=>"P", "ccr"=>"P", "ccw"=>"P", "ccs"=>"P", "cck"=>"P", "ccm"=>"P", "ccb"=>"P", "ccd"=>"P", "cch"=>"P", "ccv"=>"P", "ccn"=>"P", "yta"=>"L", "ytg"=>"L", "ytr"=>"L"},
691
+ 3 =>
692
+ {"aaa"=>"K", "aat"=>"N", "aag"=>"K", "aac"=>"N", "aay"=>"N", "aar"=>"K", "ata"=>"M", "att"=>"I", "atg"=>"M", "atc"=>"I", "aty"=>"I", "atr"=>"M", "aga"=>"R", "agt"=>"S", "agg"=>"R", "agc"=>"S", "agy"=>"S", "agr"=>"R", "aca"=>"T", "act"=>"T", "acg"=>"T", "acc"=>"T", "acy"=>"T", "acr"=>"T", "acw"=>"T", "acs"=>"T", "ack"=>"T", "acm"=>"T", "acb"=>"T", "acd"=>"T", "ach"=>"T", "acv"=>"T", "acn"=>"T", "taa"=>"*", "tat"=>"Y", "tag"=>"*", "tac"=>"Y", "tay"=>"Y", "tar"=>"*", "tta"=>"L", "ttt"=>"F", "ttg"=>"L", "ttc"=>"F", "tty"=>"F", "ttr"=>"L", "tga"=>"W", "tgt"=>"C", "tgg"=>"W", "tgc"=>"C", "tgy"=>"C", "tgr"=>"W", "tca"=>"S", "tct"=>"S", "tcg"=>"S", "tcc"=>"S", "tcy"=>"S", "tcr"=>"S", "tcw"=>"S", "tcs"=>"S", "tck"=>"S", "tcm"=>"S", "tcb"=>"S", "tcd"=>"S", "tch"=>"S", "tcv"=>"S", "tcn"=>"S", "gaa"=>"E", "gat"=>"D", "gag"=>"E", "gac"=>"D", "gay"=>"D", "gar"=>"E", "gta"=>"V", "gtt"=>"V", "gtg"=>"V", "gtc"=>"V", "gty"=>"V", "gtr"=>"V", "gtw"=>"V", "gts"=>"V", "gtk"=>"V", "gtm"=>"V", "gtb"=>"V", "gtd"=>"V", "gth"=>"V", "gtv"=>"V", "gtn"=>"V", "gga"=>"G", "ggt"=>"G", "ggg"=>"G", "ggc"=>"G", "ggy"=>"G", "ggr"=>"G", "ggw"=>"G", "ggs"=>"G", "ggk"=>"G", "ggm"=>"G", "ggb"=>"G", "ggd"=>"G", "ggh"=>"G", "ggv"=>"G", "ggn"=>"G", "gca"=>"A", "gct"=>"A", "gcg"=>"A", "gcc"=>"A", "gcy"=>"A", "gcr"=>"A", "gcw"=>"A", "gcs"=>"A", "gck"=>"A", "gcm"=>"A", "gcb"=>"A", "gcd"=>"A", "gch"=>"A", "gcv"=>"A", "gcn"=>"A", "caa"=>"Q", "cat"=>"H", "cag"=>"Q", "cac"=>"H", "cay"=>"H", "car"=>"Q", "cta"=>"T", "ctt"=>"T", "ctg"=>"T", "ctc"=>"T", "cty"=>"T", "ctr"=>"T", "ctw"=>"T", "cts"=>"T", "ctk"=>"T", "ctm"=>"T", "ctb"=>"T", "ctd"=>"T", "cth"=>"T", "ctv"=>"T", "ctn"=>"T", "cga"=>"R", "cgt"=>"R", "cgg"=>"R", "cgc"=>"R", "cgy"=>"R", "cgr"=>"R", "cgw"=>"R", "cgs"=>"R", "cgk"=>"R", "cgm"=>"R", "cgb"=>"R", "cgd"=>"R", "cgh"=>"R", "cgv"=>"R", "cgn"=>"R", "cca"=>"P", "cct"=>"P", "ccg"=>"P", "ccc"=>"P", "ccy"=>"P", "ccr"=>"P", "ccw"=>"P", "ccs"=>"P", "cck"=>"P", "ccm"=>"P", "ccb"=>"P", "ccd"=>"P", "cch"=>"P", "ccv"=>"P", "ccn"=>"P", "mga"=>"R", "mgg"=>"R", "mgr"=>"R"},
693
+ 4 =>
694
+ {"aaa"=>"K", "aat"=>"N", "aag"=>"K", "aac"=>"N", "aay"=>"N", "aar"=>"K", "ata"=>"I", "att"=>"I", "atg"=>"M", "atc"=>"I", "aty"=>"I", "atw"=>"I", "atm"=>"I", "ath"=>"I", "aga"=>"R", "agt"=>"S", "agg"=>"R", "agc"=>"S", "agy"=>"S", "agr"=>"R", "aca"=>"T", "act"=>"T", "acg"=>"T", "acc"=>"T", "acy"=>"T", "acr"=>"T", "acw"=>"T", "acs"=>"T", "ack"=>"T", "acm"=>"T", "acb"=>"T", "acd"=>"T", "ach"=>"T", "acv"=>"T", "acn"=>"T", "taa"=>"*", "tat"=>"Y", "tag"=>"*", "tac"=>"Y", "tay"=>"Y", "tar"=>"*", "tta"=>"L", "ttt"=>"F", "ttg"=>"L", "ttc"=>"F", "tty"=>"F", "ttr"=>"L", "tga"=>"W", "tgt"=>"C", "tgg"=>"W", "tgc"=>"C", "tgy"=>"C", "tgr"=>"W", "tca"=>"S", "tct"=>"S", "tcg"=>"S", "tcc"=>"S", "tcy"=>"S", "tcr"=>"S", "tcw"=>"S", "tcs"=>"S", "tck"=>"S", "tcm"=>"S", "tcb"=>"S", "tcd"=>"S", "tch"=>"S", "tcv"=>"S", "tcn"=>"S", "gaa"=>"E", "gat"=>"D", "gag"=>"E", "gac"=>"D", "gay"=>"D", "gar"=>"E", "gta"=>"V", "gtt"=>"V", "gtg"=>"V", "gtc"=>"V", "gty"=>"V", "gtr"=>"V", "gtw"=>"V", "gts"=>"V", "gtk"=>"V", "gtm"=>"V", "gtb"=>"V", "gtd"=>"V", "gth"=>"V", "gtv"=>"V", "gtn"=>"V", "gga"=>"G", "ggt"=>"G", "ggg"=>"G", "ggc"=>"G", "ggy"=>"G", "ggr"=>"G", "ggw"=>"G", "ggs"=>"G", "ggk"=>"G", "ggm"=>"G", "ggb"=>"G", "ggd"=>"G", "ggh"=>"G", "ggv"=>"G", "ggn"=>"G", "gca"=>"A", "gct"=>"A", "gcg"=>"A", "gcc"=>"A", "gcy"=>"A", "gcr"=>"A", "gcw"=>"A", "gcs"=>"A", "gck"=>"A", "gcm"=>"A", "gcb"=>"A", "gcd"=>"A", "gch"=>"A", "gcv"=>"A", "gcn"=>"A", "caa"=>"Q", "cat"=>"H", "cag"=>"Q", "cac"=>"H", "cay"=>"H", "car"=>"Q", "cta"=>"L", "ctt"=>"L", "ctg"=>"L", "ctc"=>"L", "cty"=>"L", "ctr"=>"L", "ctw"=>"L", "cts"=>"L", "ctk"=>"L", "ctm"=>"L", "ctb"=>"L", "ctd"=>"L", "cth"=>"L", "ctv"=>"L", "ctn"=>"L", "cga"=>"R", "cgt"=>"R", "cgg"=>"R", "cgc"=>"R", "cgy"=>"R", "cgr"=>"R", "cgw"=>"R", "cgs"=>"R", "cgk"=>"R", "cgm"=>"R", "cgb"=>"R", "cgd"=>"R", "cgh"=>"R", "cgv"=>"R", "cgn"=>"R", "cca"=>"P", "cct"=>"P", "ccg"=>"P", "ccc"=>"P", "ccy"=>"P", "ccr"=>"P", "ccw"=>"P", "ccs"=>"P", "cck"=>"P", "ccm"=>"P", "ccb"=>"P", "ccd"=>"P", "cch"=>"P", "ccv"=>"P", "ccn"=>"P", "yta"=>"L", "ytg"=>"L", "ytr"=>"L", "mga"=>"R", "mgg"=>"R", "mgr"=>"R"},
695
+ 5 =>
696
+ {"aaa"=>"K", "aat"=>"N", "aag"=>"K", "aac"=>"N", "aay"=>"N", "aar"=>"K", "ata"=>"M", "att"=>"I", "atg"=>"M", "atc"=>"I", "aty"=>"I", "atr"=>"M", "aga"=>"S", "agt"=>"S", "agg"=>"S", "agc"=>"S", "agy"=>"S", "agr"=>"S", "agw"=>"S", "ags"=>"S", "agk"=>"S", "agm"=>"S", "agb"=>"S", "agd"=>"S", "agh"=>"S", "agv"=>"S", "agn"=>"S", "aca"=>"T", "act"=>"T", "acg"=>"T", "acc"=>"T", "acy"=>"T", "acr"=>"T", "acw"=>"T", "acs"=>"T", "ack"=>"T", "acm"=>"T", "acb"=>"T", "acd"=>"T", "ach"=>"T", "acv"=>"T", "acn"=>"T", "taa"=>"*", "tat"=>"Y", "tag"=>"*", "tac"=>"Y", "tay"=>"Y", "tar"=>"*", "tta"=>"L", "ttt"=>"F", "ttg"=>"L", "ttc"=>"F", "tty"=>"F", "ttr"=>"L", "tga"=>"W", "tgt"=>"C", "tgg"=>"W", "tgc"=>"C", "tgy"=>"C", "tgr"=>"W", "tca"=>"S", "tct"=>"S", "tcg"=>"S", "tcc"=>"S", "tcy"=>"S", "tcr"=>"S", "tcw"=>"S", "tcs"=>"S", "tck"=>"S", "tcm"=>"S", "tcb"=>"S", "tcd"=>"S", "tch"=>"S", "tcv"=>"S", "tcn"=>"S", "gaa"=>"E", "gat"=>"D", "gag"=>"E", "gac"=>"D", "gay"=>"D", "gar"=>"E", "gta"=>"V", "gtt"=>"V", "gtg"=>"V", "gtc"=>"V", "gty"=>"V", "gtr"=>"V", "gtw"=>"V", "gts"=>"V", "gtk"=>"V", "gtm"=>"V", "gtb"=>"V", "gtd"=>"V", "gth"=>"V", "gtv"=>"V", "gtn"=>"V", "gga"=>"G", "ggt"=>"G", "ggg"=>"G", "ggc"=>"G", "ggy"=>"G", "ggr"=>"G", "ggw"=>"G", "ggs"=>"G", "ggk"=>"G", "ggm"=>"G", "ggb"=>"G", "ggd"=>"G", "ggh"=>"G", "ggv"=>"G", "ggn"=>"G", "gca"=>"A", "gct"=>"A", "gcg"=>"A", "gcc"=>"A", "gcy"=>"A", "gcr"=>"A", "gcw"=>"A", "gcs"=>"A", "gck"=>"A", "gcm"=>"A", "gcb"=>"A", "gcd"=>"A", "gch"=>"A", "gcv"=>"A", "gcn"=>"A", "caa"=>"Q", "cat"=>"H", "cag"=>"Q", "cac"=>"H", "cay"=>"H", "car"=>"Q", "cta"=>"L", "ctt"=>"L", "ctg"=>"L", "ctc"=>"L", "cty"=>"L", "ctr"=>"L", "ctw"=>"L", "cts"=>"L", "ctk"=>"L", "ctm"=>"L", "ctb"=>"L", "ctd"=>"L", "cth"=>"L", "ctv"=>"L", "ctn"=>"L", "cga"=>"R", "cgt"=>"R", "cgg"=>"R", "cgc"=>"R", "cgy"=>"R", "cgr"=>"R", "cgw"=>"R", "cgs"=>"R", "cgk"=>"R", "cgm"=>"R", "cgb"=>"R", "cgd"=>"R", "cgh"=>"R", "cgv"=>"R", "cgn"=>"R", "cca"=>"P", "cct"=>"P", "ccg"=>"P", "ccc"=>"P", "ccy"=>"P", "ccr"=>"P", "ccw"=>"P", "ccs"=>"P", "cck"=>"P", "ccm"=>"P", "ccb"=>"P", "ccd"=>"P", "cch"=>"P", "ccv"=>"P", "ccn"=>"P", "yta"=>"L", "ytg"=>"L", "ytr"=>"L"},
697
+ 6 =>
698
+ {"aaa"=>"K", "aat"=>"N", "aag"=>"K", "aac"=>"N", "aay"=>"N", "aar"=>"K", "ata"=>"I", "att"=>"I", "atg"=>"M", "atc"=>"I", "aty"=>"I", "atw"=>"I", "atm"=>"I", "ath"=>"I", "aga"=>"R", "agt"=>"S", "agg"=>"R", "agc"=>"S", "agy"=>"S", "agr"=>"R", "aca"=>"T", "act"=>"T", "acg"=>"T", "acc"=>"T", "acy"=>"T", "acr"=>"T", "acw"=>"T", "acs"=>"T", "ack"=>"T", "acm"=>"T", "acb"=>"T", "acd"=>"T", "ach"=>"T", "acv"=>"T", "acn"=>"T", "taa"=>"Q", "tat"=>"Y", "tag"=>"Q", "tac"=>"Y", "tay"=>"Y", "tar"=>"Q", "tta"=>"L", "ttt"=>"F", "ttg"=>"L", "ttc"=>"F", "tty"=>"F", "ttr"=>"L", "tga"=>"*", "tgt"=>"C", "tgg"=>"W", "tgc"=>"C", "tgy"=>"C", "tca"=>"S", "tct"=>"S", "tcg"=>"S", "tcc"=>"S", "tcy"=>"S", "tcr"=>"S", "tcw"=>"S", "tcs"=>"S", "tck"=>"S", "tcm"=>"S", "tcb"=>"S", "tcd"=>"S", "tch"=>"S", "tcv"=>"S", "tcn"=>"S", "gaa"=>"E", "gat"=>"D", "gag"=>"E", "gac"=>"D", "gay"=>"D", "gar"=>"E", "gta"=>"V", "gtt"=>"V", "gtg"=>"V", "gtc"=>"V", "gty"=>"V", "gtr"=>"V", "gtw"=>"V", "gts"=>"V", "gtk"=>"V", "gtm"=>"V", "gtb"=>"V", "gtd"=>"V", "gth"=>"V", "gtv"=>"V", "gtn"=>"V", "gga"=>"G", "ggt"=>"G", "ggg"=>"G", "ggc"=>"G", "ggy"=>"G", "ggr"=>"G", "ggw"=>"G", "ggs"=>"G", "ggk"=>"G", "ggm"=>"G", "ggb"=>"G", "ggd"=>"G", "ggh"=>"G", "ggv"=>"G", "ggn"=>"G", "gca"=>"A", "gct"=>"A", "gcg"=>"A", "gcc"=>"A", "gcy"=>"A", "gcr"=>"A", "gcw"=>"A", "gcs"=>"A", "gck"=>"A", "gcm"=>"A", "gcb"=>"A", "gcd"=>"A", "gch"=>"A", "gcv"=>"A", "gcn"=>"A", "caa"=>"Q", "cat"=>"H", "cag"=>"Q", "cac"=>"H", "cay"=>"H", "car"=>"Q", "cta"=>"L", "ctt"=>"L", "ctg"=>"L", "ctc"=>"L", "cty"=>"L", "ctr"=>"L", "ctw"=>"L", "cts"=>"L", "ctk"=>"L", "ctm"=>"L", "ctb"=>"L", "ctd"=>"L", "cth"=>"L", "ctv"=>"L", "ctn"=>"L", "cga"=>"R", "cgt"=>"R", "cgg"=>"R", "cgc"=>"R", "cgy"=>"R", "cgr"=>"R", "cgw"=>"R", "cgs"=>"R", "cgk"=>"R", "cgm"=>"R", "cgb"=>"R", "cgd"=>"R", "cgh"=>"R", "cgv"=>"R", "cgn"=>"R", "cca"=>"P", "cct"=>"P", "ccg"=>"P", "ccc"=>"P", "ccy"=>"P", "ccr"=>"P", "ccw"=>"P", "ccs"=>"P", "cck"=>"P", "ccm"=>"P", "ccb"=>"P", "ccd"=>"P", "cch"=>"P", "ccv"=>"P", "ccn"=>"P", "yaa"=>"Q", "yag"=>"Q", "yar"=>"Q", "yta"=>"L", "ytg"=>"L", "ytr"=>"L", "mga"=>"R", "mgg"=>"R", "mgr"=>"R"},
699
+ 9 =>
700
+ {"aaa"=>"N", "aat"=>"N", "aag"=>"K", "aac"=>"N", "aay"=>"N", "aaw"=>"N", "aam"=>"N", "aah"=>"N", "ata"=>"I", "att"=>"I", "atg"=>"M", "atc"=>"I", "aty"=>"I", "atw"=>"I", "atm"=>"I", "ath"=>"I", "aga"=>"S", "agt"=>"S", "agg"=>"S", "agc"=>"S", "agy"=>"S", "agr"=>"S", "agw"=>"S", "ags"=>"S", "agk"=>"S", "agm"=>"S", "agb"=>"S", "agd"=>"S", "agh"=>"S", "agv"=>"S", "agn"=>"S", "aca"=>"T", "act"=>"T", "acg"=>"T", "acc"=>"T", "acy"=>"T", "acr"=>"T", "acw"=>"T", "acs"=>"T", "ack"=>"T", "acm"=>"T", "acb"=>"T", "acd"=>"T", "ach"=>"T", "acv"=>"T", "acn"=>"T", "taa"=>"*", "tat"=>"Y", "tag"=>"*", "tac"=>"Y", "tay"=>"Y", "tar"=>"*", "tta"=>"L", "ttt"=>"F", "ttg"=>"L", "ttc"=>"F", "tty"=>"F", "ttr"=>"L", "tga"=>"W", "tgt"=>"C", "tgg"=>"W", "tgc"=>"C", "tgy"=>"C", "tgr"=>"W", "tca"=>"S", "tct"=>"S", "tcg"=>"S", "tcc"=>"S", "tcy"=>"S", "tcr"=>"S", "tcw"=>"S", "tcs"=>"S", "tck"=>"S", "tcm"=>"S", "tcb"=>"S", "tcd"=>"S", "tch"=>"S", "tcv"=>"S", "tcn"=>"S", "gaa"=>"E", "gat"=>"D", "gag"=>"E", "gac"=>"D", "gay"=>"D", "gar"=>"E", "gta"=>"V", "gtt"=>"V", "gtg"=>"V", "gtc"=>"V", "gty"=>"V", "gtr"=>"V", "gtw"=>"V", "gts"=>"V", "gtk"=>"V", "gtm"=>"V", "gtb"=>"V", "gtd"=>"V", "gth"=>"V", "gtv"=>"V", "gtn"=>"V", "gga"=>"G", "ggt"=>"G", "ggg"=>"G", "ggc"=>"G", "ggy"=>"G", "ggr"=>"G", "ggw"=>"G", "ggs"=>"G", "ggk"=>"G", "ggm"=>"G", "ggb"=>"G", "ggd"=>"G", "ggh"=>"G", "ggv"=>"G", "ggn"=>"G", "gca"=>"A", "gct"=>"A", "gcg"=>"A", "gcc"=>"A", "gcy"=>"A", "gcr"=>"A", "gcw"=>"A", "gcs"=>"A", "gck"=>"A", "gcm"=>"A", "gcb"=>"A", "gcd"=>"A", "gch"=>"A", "gcv"=>"A", "gcn"=>"A", "caa"=>"Q", "cat"=>"H", "cag"=>"Q", "cac"=>"H", "cay"=>"H", "car"=>"Q", "cta"=>"L", "ctt"=>"L", "ctg"=>"L", "ctc"=>"L", "cty"=>"L", "ctr"=>"L", "ctw"=>"L", "cts"=>"L", "ctk"=>"L", "ctm"=>"L", "ctb"=>"L", "ctd"=>"L", "cth"=>"L", "ctv"=>"L", "ctn"=>"L", "cga"=>"R", "cgt"=>"R", "cgg"=>"R", "cgc"=>"R", "cgy"=>"R", "cgr"=>"R", "cgw"=>"R", "cgs"=>"R", "cgk"=>"R", "cgm"=>"R", "cgb"=>"R", "cgd"=>"R", "cgh"=>"R", "cgv"=>"R", "cgn"=>"R", "cca"=>"P", "cct"=>"P", "ccg"=>"P", "ccc"=>"P", "ccy"=>"P", "ccr"=>"P", "ccw"=>"P", "ccs"=>"P", "cck"=>"P", "ccm"=>"P", "ccb"=>"P", "ccd"=>"P", "cch"=>"P", "ccv"=>"P", "ccn"=>"P", "yta"=>"L", "ytg"=>"L", "ytr"=>"L"},
701
+ 10 =>
702
+ {"aaa"=>"K", "aat"=>"N", "aag"=>"K", "aac"=>"N", "aay"=>"N", "aar"=>"K", "ata"=>"I", "att"=>"I", "atg"=>"M", "atc"=>"I", "aty"=>"I", "atw"=>"I", "atm"=>"I", "ath"=>"I", "aga"=>"R", "agt"=>"S", "agg"=>"R", "agc"=>"S", "agy"=>"S", "agr"=>"R", "aca"=>"T", "act"=>"T", "acg"=>"T", "acc"=>"T", "acy"=>"T", "acr"=>"T", "acw"=>"T", "acs"=>"T", "ack"=>"T", "acm"=>"T", "acb"=>"T", "acd"=>"T", "ach"=>"T", "acv"=>"T", "acn"=>"T", "taa"=>"*", "tat"=>"Y", "tag"=>"*", "tac"=>"Y", "tay"=>"Y", "tar"=>"*", "tta"=>"L", "ttt"=>"F", "ttg"=>"L", "ttc"=>"F", "tty"=>"F", "ttr"=>"L", "tga"=>"C", "tgt"=>"C", "tgg"=>"W", "tgc"=>"C", "tgy"=>"C", "tgw"=>"C", "tgm"=>"C", "tgh"=>"C", "tca"=>"S", "tct"=>"S", "tcg"=>"S", "tcc"=>"S", "tcy"=>"S", "tcr"=>"S", "tcw"=>"S", "tcs"=>"S", "tck"=>"S", "tcm"=>"S", "tcb"=>"S", "tcd"=>"S", "tch"=>"S", "tcv"=>"S", "tcn"=>"S", "gaa"=>"E", "gat"=>"D", "gag"=>"E", "gac"=>"D", "gay"=>"D", "gar"=>"E", "gta"=>"V", "gtt"=>"V", "gtg"=>"V", "gtc"=>"V", "gty"=>"V", "gtr"=>"V", "gtw"=>"V", "gts"=>"V", "gtk"=>"V", "gtm"=>"V", "gtb"=>"V", "gtd"=>"V", "gth"=>"V", "gtv"=>"V", "gtn"=>"V", "gga"=>"G", "ggt"=>"G", "ggg"=>"G", "ggc"=>"G", "ggy"=>"G", "ggr"=>"G", "ggw"=>"G", "ggs"=>"G", "ggk"=>"G", "ggm"=>"G", "ggb"=>"G", "ggd"=>"G", "ggh"=>"G", "ggv"=>"G", "ggn"=>"G", "gca"=>"A", "gct"=>"A", "gcg"=>"A", "gcc"=>"A", "gcy"=>"A", "gcr"=>"A", "gcw"=>"A", "gcs"=>"A", "gck"=>"A", "gcm"=>"A", "gcb"=>"A", "gcd"=>"A", "gch"=>"A", "gcv"=>"A", "gcn"=>"A", "caa"=>"Q", "cat"=>"H", "cag"=>"Q", "cac"=>"H", "cay"=>"H", "car"=>"Q", "cta"=>"L", "ctt"=>"L", "ctg"=>"L", "ctc"=>"L", "cty"=>"L", "ctr"=>"L", "ctw"=>"L", "cts"=>"L", "ctk"=>"L", "ctm"=>"L", "ctb"=>"L", "ctd"=>"L", "cth"=>"L", "ctv"=>"L", "ctn"=>"L", "cga"=>"R", "cgt"=>"R", "cgg"=>"R", "cgc"=>"R", "cgy"=>"R", "cgr"=>"R", "cgw"=>"R", "cgs"=>"R", "cgk"=>"R", "cgm"=>"R", "cgb"=>"R", "cgd"=>"R", "cgh"=>"R", "cgv"=>"R", "cgn"=>"R", "cca"=>"P", "cct"=>"P", "ccg"=>"P", "ccc"=>"P", "ccy"=>"P", "ccr"=>"P", "ccw"=>"P", "ccs"=>"P", "cck"=>"P", "ccm"=>"P", "ccb"=>"P", "ccd"=>"P", "cch"=>"P", "ccv"=>"P", "ccn"=>"P", "yta"=>"L", "ytg"=>"L", "ytr"=>"L", "mga"=>"R", "mgg"=>"R", "mgr"=>"R"},
703
+ 11 =>
704
+ {"aaa"=>"K", "aat"=>"N", "aag"=>"K", "aac"=>"N", "aay"=>"N", "aar"=>"K", "ata"=>"I", "att"=>"I", "atg"=>"M", "atc"=>"I", "aty"=>"I", "atw"=>"I", "atm"=>"I", "ath"=>"I", "aga"=>"R", "agt"=>"S", "agg"=>"R", "agc"=>"S", "agy"=>"S", "agr"=>"R", "aca"=>"T", "act"=>"T", "acg"=>"T", "acc"=>"T", "acy"=>"T", "acr"=>"T", "acw"=>"T", "acs"=>"T", "ack"=>"T", "acm"=>"T", "acb"=>"T", "acd"=>"T", "ach"=>"T", "acv"=>"T", "acn"=>"T", "taa"=>"*", "tat"=>"Y", "tag"=>"*", "tac"=>"Y", "tay"=>"Y", "tar"=>"*", "tta"=>"L", "ttt"=>"F", "ttg"=>"L", "ttc"=>"F", "tty"=>"F", "ttr"=>"L", "tga"=>"*", "tgt"=>"C", "tgg"=>"W", "tgc"=>"C", "tgy"=>"C", "tca"=>"S", "tct"=>"S", "tcg"=>"S", "tcc"=>"S", "tcy"=>"S", "tcr"=>"S", "tcw"=>"S", "tcs"=>"S", "tck"=>"S", "tcm"=>"S", "tcb"=>"S", "tcd"=>"S", "tch"=>"S", "tcv"=>"S", "tcn"=>"S", "tra"=>"*", "gaa"=>"E", "gat"=>"D", "gag"=>"E", "gac"=>"D", "gay"=>"D", "gar"=>"E", "gta"=>"V", "gtt"=>"V", "gtg"=>"V", "gtc"=>"V", "gty"=>"V", "gtr"=>"V", "gtw"=>"V", "gts"=>"V", "gtk"=>"V", "gtm"=>"V", "gtb"=>"V", "gtd"=>"V", "gth"=>"V", "gtv"=>"V", "gtn"=>"V", "gga"=>"G", "ggt"=>"G", "ggg"=>"G", "ggc"=>"G", "ggy"=>"G", "ggr"=>"G", "ggw"=>"G", "ggs"=>"G", "ggk"=>"G", "ggm"=>"G", "ggb"=>"G", "ggd"=>"G", "ggh"=>"G", "ggv"=>"G", "ggn"=>"G", "gca"=>"A", "gct"=>"A", "gcg"=>"A", "gcc"=>"A", "gcy"=>"A", "gcr"=>"A", "gcw"=>"A", "gcs"=>"A", "gck"=>"A", "gcm"=>"A", "gcb"=>"A", "gcd"=>"A", "gch"=>"A", "gcv"=>"A", "gcn"=>"A", "caa"=>"Q", "cat"=>"H", "cag"=>"Q", "cac"=>"H", "cay"=>"H", "car"=>"Q", "cta"=>"L", "ctt"=>"L", "ctg"=>"L", "ctc"=>"L", "cty"=>"L", "ctr"=>"L", "ctw"=>"L", "cts"=>"L", "ctk"=>"L", "ctm"=>"L", "ctb"=>"L", "ctd"=>"L", "cth"=>"L", "ctv"=>"L", "ctn"=>"L", "cga"=>"R", "cgt"=>"R", "cgg"=>"R", "cgc"=>"R", "cgy"=>"R", "cgr"=>"R", "cgw"=>"R", "cgs"=>"R", "cgk"=>"R", "cgm"=>"R", "cgb"=>"R", "cgd"=>"R", "cgh"=>"R", "cgv"=>"R", "cgn"=>"R", "cca"=>"P", "cct"=>"P", "ccg"=>"P", "ccc"=>"P", "ccy"=>"P", "ccr"=>"P", "ccw"=>"P", "ccs"=>"P", "cck"=>"P", "ccm"=>"P", "ccb"=>"P", "ccd"=>"P", "cch"=>"P", "ccv"=>"P", "ccn"=>"P", "yta"=>"L", "ytg"=>"L", "ytr"=>"L", "mga"=>"R", "mgg"=>"R", "mgr"=>"R"},
705
+ 12 =>
706
+ {"aaa"=>"K", "aat"=>"N", "aag"=>"K", "aac"=>"N", "aay"=>"N", "aar"=>"K", "ata"=>"I", "att"=>"I", "atg"=>"M", "atc"=>"I", "aty"=>"I", "atw"=>"I", "atm"=>"I", "ath"=>"I", "aga"=>"R", "agt"=>"S", "agg"=>"R", "agc"=>"S", "agy"=>"S", "agr"=>"R", "aca"=>"T", "act"=>"T", "acg"=>"T", "acc"=>"T", "acy"=>"T", "acr"=>"T", "acw"=>"T", "acs"=>"T", "ack"=>"T", "acm"=>"T", "acb"=>"T", "acd"=>"T", "ach"=>"T", "acv"=>"T", "acn"=>"T", "taa"=>"*", "tat"=>"Y", "tag"=>"*", "tac"=>"Y", "tay"=>"Y", "tar"=>"*", "tta"=>"L", "ttt"=>"F", "ttg"=>"L", "ttc"=>"F", "tty"=>"F", "ttr"=>"L", "tga"=>"*", "tgt"=>"C", "tgg"=>"W", "tgc"=>"C", "tgy"=>"C", "tca"=>"S", "tct"=>"S", "tcg"=>"S", "tcc"=>"S", "tcy"=>"S", "tcr"=>"S", "tcw"=>"S", "tcs"=>"S", "tck"=>"S", "tcm"=>"S", "tcb"=>"S", "tcd"=>"S", "tch"=>"S", "tcv"=>"S", "tcn"=>"S", "tra"=>"*", "gaa"=>"E", "gat"=>"D", "gag"=>"E", "gac"=>"D", "gay"=>"D", "gar"=>"E", "gta"=>"V", "gtt"=>"V", "gtg"=>"V", "gtc"=>"V", "gty"=>"V", "gtr"=>"V", "gtw"=>"V", "gts"=>"V", "gtk"=>"V", "gtm"=>"V", "gtb"=>"V", "gtd"=>"V", "gth"=>"V", "gtv"=>"V", "gtn"=>"V", "gga"=>"G", "ggt"=>"G", "ggg"=>"G", "ggc"=>"G", "ggy"=>"G", "ggr"=>"G", "ggw"=>"G", "ggs"=>"G", "ggk"=>"G", "ggm"=>"G", "ggb"=>"G", "ggd"=>"G", "ggh"=>"G", "ggv"=>"G", "ggn"=>"G", "gca"=>"A", "gct"=>"A", "gcg"=>"A", "gcc"=>"A", "gcy"=>"A", "gcr"=>"A", "gcw"=>"A", "gcs"=>"A", "gck"=>"A", "gcm"=>"A", "gcb"=>"A", "gcd"=>"A", "gch"=>"A", "gcv"=>"A", "gcn"=>"A", "caa"=>"Q", "cat"=>"H", "cag"=>"Q", "cac"=>"H", "cay"=>"H", "car"=>"Q", "cta"=>"L", "ctt"=>"L", "ctg"=>"S", "ctc"=>"L", "cty"=>"L", "ctw"=>"L", "ctm"=>"L", "cth"=>"L", "cga"=>"R", "cgt"=>"R", "cgg"=>"R", "cgc"=>"R", "cgy"=>"R", "cgr"=>"R", "cgw"=>"R", "cgs"=>"R", "cgk"=>"R", "cgm"=>"R", "cgb"=>"R", "cgd"=>"R", "cgh"=>"R", "cgv"=>"R", "cgn"=>"R", "cca"=>"P", "cct"=>"P", "ccg"=>"P", "ccc"=>"P", "ccy"=>"P", "ccr"=>"P", "ccw"=>"P", "ccs"=>"P", "cck"=>"P", "ccm"=>"P", "ccb"=>"P", "ccd"=>"P", "cch"=>"P", "ccv"=>"P", "ccn"=>"P", "yta"=>"L", "mga"=>"R", "mgg"=>"R", "mgr"=>"R"},
707
+ 13 =>
708
+ {"aaa"=>"K", "aat"=>"N", "aag"=>"K", "aac"=>"N", "aay"=>"N", "aar"=>"K", "ata"=>"M", "att"=>"I", "atg"=>"M", "atc"=>"I", "aty"=>"I", "atr"=>"M", "aga"=>"G", "agt"=>"S", "agg"=>"G", "agc"=>"S", "agy"=>"S", "agr"=>"G", "aca"=>"T", "act"=>"T", "acg"=>"T", "acc"=>"T", "acy"=>"T", "acr"=>"T", "acw"=>"T", "acs"=>"T", "ack"=>"T", "acm"=>"T", "acb"=>"T", "acd"=>"T", "ach"=>"T", "acv"=>"T", "acn"=>"T", "taa"=>"*", "tat"=>"Y", "tag"=>"*", "tac"=>"Y", "tay"=>"Y", "tar"=>"*", "tta"=>"L", "ttt"=>"F", "ttg"=>"L", "ttc"=>"F", "tty"=>"F", "ttr"=>"L", "tga"=>"W", "tgt"=>"C", "tgg"=>"W", "tgc"=>"C", "tgy"=>"C", "tgr"=>"W", "tca"=>"S", "tct"=>"S", "tcg"=>"S", "tcc"=>"S", "tcy"=>"S", "tcr"=>"S", "tcw"=>"S", "tcs"=>"S", "tck"=>"S", "tcm"=>"S", "tcb"=>"S", "tcd"=>"S", "tch"=>"S", "tcv"=>"S", "tcn"=>"S", "gaa"=>"E", "gat"=>"D", "gag"=>"E", "gac"=>"D", "gay"=>"D", "gar"=>"E", "gta"=>"V", "gtt"=>"V", "gtg"=>"V", "gtc"=>"V", "gty"=>"V", "gtr"=>"V", "gtw"=>"V", "gts"=>"V", "gtk"=>"V", "gtm"=>"V", "gtb"=>"V", "gtd"=>"V", "gth"=>"V", "gtv"=>"V", "gtn"=>"V", "gga"=>"G", "ggt"=>"G", "ggg"=>"G", "ggc"=>"G", "ggy"=>"G", "ggr"=>"G", "ggw"=>"G", "ggs"=>"G", "ggk"=>"G", "ggm"=>"G", "ggb"=>"G", "ggd"=>"G", "ggh"=>"G", "ggv"=>"G", "ggn"=>"G", "gca"=>"A", "gct"=>"A", "gcg"=>"A", "gcc"=>"A", "gcy"=>"A", "gcr"=>"A", "gcw"=>"A", "gcs"=>"A", "gck"=>"A", "gcm"=>"A", "gcb"=>"A", "gcd"=>"A", "gch"=>"A", "gcv"=>"A", "gcn"=>"A", "caa"=>"Q", "cat"=>"H", "cag"=>"Q", "cac"=>"H", "cay"=>"H", "car"=>"Q", "cta"=>"L", "ctt"=>"L", "ctg"=>"L", "ctc"=>"L", "cty"=>"L", "ctr"=>"L", "ctw"=>"L", "cts"=>"L", "ctk"=>"L", "ctm"=>"L", "ctb"=>"L", "ctd"=>"L", "cth"=>"L", "ctv"=>"L", "ctn"=>"L", "cga"=>"R", "cgt"=>"R", "cgg"=>"R", "cgc"=>"R", "cgy"=>"R", "cgr"=>"R", "cgw"=>"R", "cgs"=>"R", "cgk"=>"R", "cgm"=>"R", "cgb"=>"R", "cgd"=>"R", "cgh"=>"R", "cgv"=>"R", "cgn"=>"R", "cca"=>"P", "cct"=>"P", "ccg"=>"P", "ccc"=>"P", "ccy"=>"P", "ccr"=>"P", "ccw"=>"P", "ccs"=>"P", "cck"=>"P", "ccm"=>"P", "ccb"=>"P", "ccd"=>"P", "cch"=>"P", "ccv"=>"P", "ccn"=>"P", "yta"=>"L", "ytg"=>"L", "ytr"=>"L", "rga"=>"G", "rgg"=>"G", "rgr"=>"G"},
709
+ 14 =>
710
+ {"aaa"=>"N", "aat"=>"N", "aag"=>"K", "aac"=>"N", "aay"=>"N", "aaw"=>"N", "aam"=>"N", "aah"=>"N", "ata"=>"I", "att"=>"I", "atg"=>"M", "atc"=>"I", "aty"=>"I", "atw"=>"I", "atm"=>"I", "ath"=>"I", "aga"=>"S", "agt"=>"S", "agg"=>"S", "agc"=>"S", "agy"=>"S", "agr"=>"S", "agw"=>"S", "ags"=>"S", "agk"=>"S", "agm"=>"S", "agb"=>"S", "agd"=>"S", "agh"=>"S", "agv"=>"S", "agn"=>"S", "aca"=>"T", "act"=>"T", "acg"=>"T", "acc"=>"T", "acy"=>"T", "acr"=>"T", "acw"=>"T", "acs"=>"T", "ack"=>"T", "acm"=>"T", "acb"=>"T", "acd"=>"T", "ach"=>"T", "acv"=>"T", "acn"=>"T", "taa"=>"Y", "tat"=>"Y", "tag"=>"*", "tac"=>"Y", "tay"=>"Y", "taw"=>"Y", "tam"=>"Y", "tah"=>"Y", "tta"=>"L", "ttt"=>"F", "ttg"=>"L", "ttc"=>"F", "tty"=>"F", "ttr"=>"L", "tga"=>"W", "tgt"=>"C", "tgg"=>"W", "tgc"=>"C", "tgy"=>"C", "tgr"=>"W", "tca"=>"S", "tct"=>"S", "tcg"=>"S", "tcc"=>"S", "tcy"=>"S", "tcr"=>"S", "tcw"=>"S", "tcs"=>"S", "tck"=>"S", "tcm"=>"S", "tcb"=>"S", "tcd"=>"S", "tch"=>"S", "tcv"=>"S", "tcn"=>"S", "gaa"=>"E", "gat"=>"D", "gag"=>"E", "gac"=>"D", "gay"=>"D", "gar"=>"E", "gta"=>"V", "gtt"=>"V", "gtg"=>"V", "gtc"=>"V", "gty"=>"V", "gtr"=>"V", "gtw"=>"V", "gts"=>"V", "gtk"=>"V", "gtm"=>"V", "gtb"=>"V", "gtd"=>"V", "gth"=>"V", "gtv"=>"V", "gtn"=>"V", "gga"=>"G", "ggt"=>"G", "ggg"=>"G", "ggc"=>"G", "ggy"=>"G", "ggr"=>"G", "ggw"=>"G", "ggs"=>"G", "ggk"=>"G", "ggm"=>"G", "ggb"=>"G", "ggd"=>"G", "ggh"=>"G", "ggv"=>"G", "ggn"=>"G", "gca"=>"A", "gct"=>"A", "gcg"=>"A", "gcc"=>"A", "gcy"=>"A", "gcr"=>"A", "gcw"=>"A", "gcs"=>"A", "gck"=>"A", "gcm"=>"A", "gcb"=>"A", "gcd"=>"A", "gch"=>"A", "gcv"=>"A", "gcn"=>"A", "caa"=>"Q", "cat"=>"H", "cag"=>"Q", "cac"=>"H", "cay"=>"H", "car"=>"Q", "cta"=>"L", "ctt"=>"L", "ctg"=>"L", "ctc"=>"L", "cty"=>"L", "ctr"=>"L", "ctw"=>"L", "cts"=>"L", "ctk"=>"L", "ctm"=>"L", "ctb"=>"L", "ctd"=>"L", "cth"=>"L", "ctv"=>"L", "ctn"=>"L", "cga"=>"R", "cgt"=>"R", "cgg"=>"R", "cgc"=>"R", "cgy"=>"R", "cgr"=>"R", "cgw"=>"R", "cgs"=>"R", "cgk"=>"R", "cgm"=>"R", "cgb"=>"R", "cgd"=>"R", "cgh"=>"R", "cgv"=>"R", "cgn"=>"R", "cca"=>"P", "cct"=>"P", "ccg"=>"P", "ccc"=>"P", "ccy"=>"P", "ccr"=>"P", "ccw"=>"P", "ccs"=>"P", "cck"=>"P", "ccm"=>"P", "ccb"=>"P", "ccd"=>"P", "cch"=>"P", "ccv"=>"P", "ccn"=>"P", "yta"=>"L", "ytg"=>"L", "ytr"=>"L"},
711
+ 15 =>
712
+ {"aaa"=>"K", "aat"=>"N", "aag"=>"K", "aac"=>"N", "aay"=>"N", "aar"=>"K", "ata"=>"I", "att"=>"I", "atg"=>"M", "atc"=>"I", "aty"=>"I", "atw"=>"I", "atm"=>"I", "ath"=>"I", "aga"=>"R", "agt"=>"S", "agg"=>"R", "agc"=>"S", "agy"=>"S", "agr"=>"R", "aca"=>"T", "act"=>"T", "acg"=>"T", "acc"=>"T", "acy"=>"T", "acr"=>"T", "acw"=>"T", "acs"=>"T", "ack"=>"T", "acm"=>"T", "acb"=>"T", "acd"=>"T", "ach"=>"T", "acv"=>"T", "acn"=>"T", "taa"=>"*", "tat"=>"Y", "tag"=>"Q", "tac"=>"Y", "tay"=>"Y", "tta"=>"L", "ttt"=>"F", "ttg"=>"L", "ttc"=>"F", "tty"=>"F", "ttr"=>"L", "tga"=>"*", "tgt"=>"C", "tgg"=>"W", "tgc"=>"C", "tgy"=>"C", "tca"=>"S", "tct"=>"S", "tcg"=>"S", "tcc"=>"S", "tcy"=>"S", "tcr"=>"S", "tcw"=>"S", "tcs"=>"S", "tck"=>"S", "tcm"=>"S", "tcb"=>"S", "tcd"=>"S", "tch"=>"S", "tcv"=>"S", "tcn"=>"S", "tra"=>"*", "gaa"=>"E", "gat"=>"D", "gag"=>"E", "gac"=>"D", "gay"=>"D", "gar"=>"E", "gta"=>"V", "gtt"=>"V", "gtg"=>"V", "gtc"=>"V", "gty"=>"V", "gtr"=>"V", "gtw"=>"V", "gts"=>"V", "gtk"=>"V", "gtm"=>"V", "gtb"=>"V", "gtd"=>"V", "gth"=>"V", "gtv"=>"V", "gtn"=>"V", "gga"=>"G", "ggt"=>"G", "ggg"=>"G", "ggc"=>"G", "ggy"=>"G", "ggr"=>"G", "ggw"=>"G", "ggs"=>"G", "ggk"=>"G", "ggm"=>"G", "ggb"=>"G", "ggd"=>"G", "ggh"=>"G", "ggv"=>"G", "ggn"=>"G", "gca"=>"A", "gct"=>"A", "gcg"=>"A", "gcc"=>"A", "gcy"=>"A", "gcr"=>"A", "gcw"=>"A", "gcs"=>"A", "gck"=>"A", "gcm"=>"A", "gcb"=>"A", "gcd"=>"A", "gch"=>"A", "gcv"=>"A", "gcn"=>"A", "caa"=>"Q", "cat"=>"H", "cag"=>"Q", "cac"=>"H", "cay"=>"H", "car"=>"Q", "cta"=>"L", "ctt"=>"L", "ctg"=>"L", "ctc"=>"L", "cty"=>"L", "ctr"=>"L", "ctw"=>"L", "cts"=>"L", "ctk"=>"L", "ctm"=>"L", "ctb"=>"L", "ctd"=>"L", "cth"=>"L", "ctv"=>"L", "ctn"=>"L", "cga"=>"R", "cgt"=>"R", "cgg"=>"R", "cgc"=>"R", "cgy"=>"R", "cgr"=>"R", "cgw"=>"R", "cgs"=>"R", "cgk"=>"R", "cgm"=>"R", "cgb"=>"R", "cgd"=>"R", "cgh"=>"R", "cgv"=>"R", "cgn"=>"R", "cca"=>"P", "cct"=>"P", "ccg"=>"P", "ccc"=>"P", "ccy"=>"P", "ccr"=>"P", "ccw"=>"P", "ccs"=>"P", "cck"=>"P", "ccm"=>"P", "ccb"=>"P", "ccd"=>"P", "cch"=>"P", "ccv"=>"P", "ccn"=>"P", "yag"=>"Q", "yta"=>"L", "ytg"=>"L", "ytr"=>"L", "mga"=>"R", "mgg"=>"R", "mgr"=>"R"},
713
+ 16 =>
714
+ {"aaa"=>"K", "aat"=>"N", "aag"=>"K", "aac"=>"N", "aay"=>"N", "aar"=>"K", "ata"=>"I", "att"=>"I", "atg"=>"M", "atc"=>"I", "aty"=>"I", "atw"=>"I", "atm"=>"I", "ath"=>"I", "aga"=>"R", "agt"=>"S", "agg"=>"R", "agc"=>"S", "agy"=>"S", "agr"=>"R", "aca"=>"T", "act"=>"T", "acg"=>"T", "acc"=>"T", "acy"=>"T", "acr"=>"T", "acw"=>"T", "acs"=>"T", "ack"=>"T", "acm"=>"T", "acb"=>"T", "acd"=>"T", "ach"=>"T", "acv"=>"T", "acn"=>"T", "taa"=>"*", "tat"=>"Y", "tag"=>"L", "tac"=>"Y", "tay"=>"Y", "tta"=>"L", "ttt"=>"F", "ttg"=>"L", "ttc"=>"F", "tty"=>"F", "ttr"=>"L", "tga"=>"*", "tgt"=>"C", "tgg"=>"W", "tgc"=>"C", "tgy"=>"C", "tca"=>"S", "tct"=>"S", "tcg"=>"S", "tcc"=>"S", "tcy"=>"S", "tcr"=>"S", "tcw"=>"S", "tcs"=>"S", "tck"=>"S", "tcm"=>"S", "tcb"=>"S", "tcd"=>"S", "tch"=>"S", "tcv"=>"S", "tcn"=>"S", "tra"=>"*", "twg"=>"L", "gaa"=>"E", "gat"=>"D", "gag"=>"E", "gac"=>"D", "gay"=>"D", "gar"=>"E", "gta"=>"V", "gtt"=>"V", "gtg"=>"V", "gtc"=>"V", "gty"=>"V", "gtr"=>"V", "gtw"=>"V", "gts"=>"V", "gtk"=>"V", "gtm"=>"V", "gtb"=>"V", "gtd"=>"V", "gth"=>"V", "gtv"=>"V", "gtn"=>"V", "gga"=>"G", "ggt"=>"G", "ggg"=>"G", "ggc"=>"G", "ggy"=>"G", "ggr"=>"G", "ggw"=>"G", "ggs"=>"G", "ggk"=>"G", "ggm"=>"G", "ggb"=>"G", "ggd"=>"G", "ggh"=>"G", "ggv"=>"G", "ggn"=>"G", "gca"=>"A", "gct"=>"A", "gcg"=>"A", "gcc"=>"A", "gcy"=>"A", "gcr"=>"A", "gcw"=>"A", "gcs"=>"A", "gck"=>"A", "gcm"=>"A", "gcb"=>"A", "gcd"=>"A", "gch"=>"A", "gcv"=>"A", "gcn"=>"A", "caa"=>"Q", "cat"=>"H", "cag"=>"Q", "cac"=>"H", "cay"=>"H", "car"=>"Q", "cta"=>"L", "ctt"=>"L", "ctg"=>"L", "ctc"=>"L", "cty"=>"L", "ctr"=>"L", "ctw"=>"L", "cts"=>"L", "ctk"=>"L", "ctm"=>"L", "ctb"=>"L", "ctd"=>"L", "cth"=>"L", "ctv"=>"L", "ctn"=>"L", "cga"=>"R", "cgt"=>"R", "cgg"=>"R", "cgc"=>"R", "cgy"=>"R", "cgr"=>"R", "cgw"=>"R", "cgs"=>"R", "cgk"=>"R", "cgm"=>"R", "cgb"=>"R", "cgd"=>"R", "cgh"=>"R", "cgv"=>"R", "cgn"=>"R", "cca"=>"P", "cct"=>"P", "ccg"=>"P", "ccc"=>"P", "ccy"=>"P", "ccr"=>"P", "ccw"=>"P", "ccs"=>"P", "cck"=>"P", "ccm"=>"P", "ccb"=>"P", "ccd"=>"P", "cch"=>"P", "ccv"=>"P", "ccn"=>"P", "yta"=>"L", "ytg"=>"L", "ytr"=>"L", "mga"=>"R", "mgg"=>"R", "mgr"=>"R"},
715
+ 21 =>
716
+ {"aaa"=>"N", "aat"=>"N", "aag"=>"K", "aac"=>"N", "aay"=>"N", "aaw"=>"N", "aam"=>"N", "aah"=>"N", "ata"=>"M", "att"=>"I", "atg"=>"M", "atc"=>"I", "aty"=>"I", "atr"=>"M", "aga"=>"S", "agt"=>"S", "agg"=>"S", "agc"=>"S", "agy"=>"S", "agr"=>"S", "agw"=>"S", "ags"=>"S", "agk"=>"S", "agm"=>"S", "agb"=>"S", "agd"=>"S", "agh"=>"S", "agv"=>"S", "agn"=>"S", "aca"=>"T", "act"=>"T", "acg"=>"T", "acc"=>"T", "acy"=>"T", "acr"=>"T", "acw"=>"T", "acs"=>"T", "ack"=>"T", "acm"=>"T", "acb"=>"T", "acd"=>"T", "ach"=>"T", "acv"=>"T", "acn"=>"T", "taa"=>"*", "tat"=>"Y", "tag"=>"*", "tac"=>"Y", "tay"=>"Y", "tar"=>"*", "tta"=>"L", "ttt"=>"F", "ttg"=>"L", "ttc"=>"F", "tty"=>"F", "ttr"=>"L", "tga"=>"W", "tgt"=>"C", "tgg"=>"W", "tgc"=>"C", "tgy"=>"C", "tgr"=>"W", "tca"=>"S", "tct"=>"S", "tcg"=>"S", "tcc"=>"S", "tcy"=>"S", "tcr"=>"S", "tcw"=>"S", "tcs"=>"S", "tck"=>"S", "tcm"=>"S", "tcb"=>"S", "tcd"=>"S", "tch"=>"S", "tcv"=>"S", "tcn"=>"S", "gaa"=>"E", "gat"=>"D", "gag"=>"E", "gac"=>"D", "gay"=>"D", "gar"=>"E", "gta"=>"V", "gtt"=>"V", "gtg"=>"V", "gtc"=>"V", "gty"=>"V", "gtr"=>"V", "gtw"=>"V", "gts"=>"V", "gtk"=>"V", "gtm"=>"V", "gtb"=>"V", "gtd"=>"V", "gth"=>"V", "gtv"=>"V", "gtn"=>"V", "gga"=>"G", "ggt"=>"G", "ggg"=>"G", "ggc"=>"G", "ggy"=>"G", "ggr"=>"G", "ggw"=>"G", "ggs"=>"G", "ggk"=>"G", "ggm"=>"G", "ggb"=>"G", "ggd"=>"G", "ggh"=>"G", "ggv"=>"G", "ggn"=>"G", "gca"=>"A", "gct"=>"A", "gcg"=>"A", "gcc"=>"A", "gcy"=>"A", "gcr"=>"A", "gcw"=>"A", "gcs"=>"A", "gck"=>"A", "gcm"=>"A", "gcb"=>"A", "gcd"=>"A", "gch"=>"A", "gcv"=>"A", "gcn"=>"A", "caa"=>"Q", "cat"=>"H", "cag"=>"Q", "cac"=>"H", "cay"=>"H", "car"=>"Q", "cta"=>"L", "ctt"=>"L", "ctg"=>"L", "ctc"=>"L", "cty"=>"L", "ctr"=>"L", "ctw"=>"L", "cts"=>"L", "ctk"=>"L", "ctm"=>"L", "ctb"=>"L", "ctd"=>"L", "cth"=>"L", "ctv"=>"L", "ctn"=>"L", "cga"=>"R", "cgt"=>"R", "cgg"=>"R", "cgc"=>"R", "cgy"=>"R", "cgr"=>"R", "cgw"=>"R", "cgs"=>"R", "cgk"=>"R", "cgm"=>"R", "cgb"=>"R", "cgd"=>"R", "cgh"=>"R", "cgv"=>"R", "cgn"=>"R", "cca"=>"P", "cct"=>"P", "ccg"=>"P", "ccc"=>"P", "ccy"=>"P", "ccr"=>"P", "ccw"=>"P", "ccs"=>"P", "cck"=>"P", "ccm"=>"P", "ccb"=>"P", "ccd"=>"P", "cch"=>"P", "ccv"=>"P", "ccn"=>"P", "yta"=>"L", "ytg"=>"L", "ytr"=>"L"},
717
+ 22 =>
718
+ {"aaa"=>"K", "aat"=>"N", "aag"=>"K", "aac"=>"N", "aay"=>"N", "aar"=>"K", "ata"=>"I", "att"=>"I", "atg"=>"M", "atc"=>"I", "aty"=>"I", "atw"=>"I", "atm"=>"I", "ath"=>"I", "aga"=>"R", "agt"=>"S", "agg"=>"R", "agc"=>"S", "agy"=>"S", "agr"=>"R", "aca"=>"T", "act"=>"T", "acg"=>"T", "acc"=>"T", "acy"=>"T", "acr"=>"T", "acw"=>"T", "acs"=>"T", "ack"=>"T", "acm"=>"T", "acb"=>"T", "acd"=>"T", "ach"=>"T", "acv"=>"T", "acn"=>"T", "taa"=>"*", "tat"=>"Y", "tag"=>"L", "tac"=>"Y", "tay"=>"Y", "tta"=>"L", "ttt"=>"F", "ttg"=>"L", "ttc"=>"F", "tty"=>"F", "ttr"=>"L", "tga"=>"*", "tgt"=>"C", "tgg"=>"W", "tgc"=>"C", "tgy"=>"C", "tca"=>"*", "tct"=>"S", "tcg"=>"S", "tcc"=>"S", "tcy"=>"S", "tcs"=>"S", "tck"=>"S", "tcb"=>"S", "tra"=>"*", "twg"=>"L", "tsa"=>"*", "tma"=>"*", "tva"=>"*", "gaa"=>"E", "gat"=>"D", "gag"=>"E", "gac"=>"D", "gay"=>"D", "gar"=>"E", "gta"=>"V", "gtt"=>"V", "gtg"=>"V", "gtc"=>"V", "gty"=>"V", "gtr"=>"V", "gtw"=>"V", "gts"=>"V", "gtk"=>"V", "gtm"=>"V", "gtb"=>"V", "gtd"=>"V", "gth"=>"V", "gtv"=>"V", "gtn"=>"V", "gga"=>"G", "ggt"=>"G", "ggg"=>"G", "ggc"=>"G", "ggy"=>"G", "ggr"=>"G", "ggw"=>"G", "ggs"=>"G", "ggk"=>"G", "ggm"=>"G", "ggb"=>"G", "ggd"=>"G", "ggh"=>"G", "ggv"=>"G", "ggn"=>"G", "gca"=>"A", "gct"=>"A", "gcg"=>"A", "gcc"=>"A", "gcy"=>"A", "gcr"=>"A", "gcw"=>"A", "gcs"=>"A", "gck"=>"A", "gcm"=>"A", "gcb"=>"A", "gcd"=>"A", "gch"=>"A", "gcv"=>"A", "gcn"=>"A", "caa"=>"Q", "cat"=>"H", "cag"=>"Q", "cac"=>"H", "cay"=>"H", "car"=>"Q", "cta"=>"L", "ctt"=>"L", "ctg"=>"L", "ctc"=>"L", "cty"=>"L", "ctr"=>"L", "ctw"=>"L", "cts"=>"L", "ctk"=>"L", "ctm"=>"L", "ctb"=>"L", "ctd"=>"L", "cth"=>"L", "ctv"=>"L", "ctn"=>"L", "cga"=>"R", "cgt"=>"R", "cgg"=>"R", "cgc"=>"R", "cgy"=>"R", "cgr"=>"R", "cgw"=>"R", "cgs"=>"R", "cgk"=>"R", "cgm"=>"R", "cgb"=>"R", "cgd"=>"R", "cgh"=>"R", "cgv"=>"R", "cgn"=>"R", "cca"=>"P", "cct"=>"P", "ccg"=>"P", "ccc"=>"P", "ccy"=>"P", "ccr"=>"P", "ccw"=>"P", "ccs"=>"P", "cck"=>"P", "ccm"=>"P", "ccb"=>"P", "ccd"=>"P", "cch"=>"P", "ccv"=>"P", "ccn"=>"P", "yta"=>"L", "ytg"=>"L", "ytr"=>"L", "mga"=>"R", "mgg"=>"R", "mgr"=>"R"},
719
+ 23 =>
720
+ {"aaa"=>"K", "aat"=>"N", "aag"=>"K", "aac"=>"N", "aay"=>"N", "aar"=>"K", "ata"=>"I", "att"=>"I", "atg"=>"M", "atc"=>"I", "aty"=>"I", "atw"=>"I", "atm"=>"I", "ath"=>"I", "aga"=>"R", "agt"=>"S", "agg"=>"R", "agc"=>"S", "agy"=>"S", "agr"=>"R", "aca"=>"T", "act"=>"T", "acg"=>"T", "acc"=>"T", "acy"=>"T", "acr"=>"T", "acw"=>"T", "acs"=>"T", "ack"=>"T", "acm"=>"T", "acb"=>"T", "acd"=>"T", "ach"=>"T", "acv"=>"T", "acn"=>"T", "taa"=>"*", "tat"=>"Y", "tag"=>"*", "tac"=>"Y", "tay"=>"Y", "tar"=>"*", "tta"=>"*", "ttt"=>"F", "ttg"=>"L", "ttc"=>"F", "tty"=>"F", "tga"=>"*", "tgt"=>"C", "tgg"=>"W", "tgc"=>"C", "tgy"=>"C", "tca"=>"S", "tct"=>"S", "tcg"=>"S", "tcc"=>"S", "tcy"=>"S", "tcr"=>"S", "tcw"=>"S", "tcs"=>"S", "tck"=>"S", "tcm"=>"S", "tcb"=>"S", "tcd"=>"S", "tch"=>"S", "tcv"=>"S", "tcn"=>"S", "tra"=>"*", "twa"=>"*", "tka"=>"*", "tda"=>"*", "gaa"=>"E", "gat"=>"D", "gag"=>"E", "gac"=>"D", "gay"=>"D", "gar"=>"E", "gta"=>"V", "gtt"=>"V", "gtg"=>"V", "gtc"=>"V", "gty"=>"V", "gtr"=>"V", "gtw"=>"V", "gts"=>"V", "gtk"=>"V", "gtm"=>"V", "gtb"=>"V", "gtd"=>"V", "gth"=>"V", "gtv"=>"V", "gtn"=>"V", "gga"=>"G", "ggt"=>"G", "ggg"=>"G", "ggc"=>"G", "ggy"=>"G", "ggr"=>"G", "ggw"=>"G", "ggs"=>"G", "ggk"=>"G", "ggm"=>"G", "ggb"=>"G", "ggd"=>"G", "ggh"=>"G", "ggv"=>"G", "ggn"=>"G", "gca"=>"A", "gct"=>"A", "gcg"=>"A", "gcc"=>"A", "gcy"=>"A", "gcr"=>"A", "gcw"=>"A", "gcs"=>"A", "gck"=>"A", "gcm"=>"A", "gcb"=>"A", "gcd"=>"A", "gch"=>"A", "gcv"=>"A", "gcn"=>"A", "caa"=>"Q", "cat"=>"H", "cag"=>"Q", "cac"=>"H", "cay"=>"H", "car"=>"Q", "cta"=>"L", "ctt"=>"L", "ctg"=>"L", "ctc"=>"L", "cty"=>"L", "ctr"=>"L", "ctw"=>"L", "cts"=>"L", "ctk"=>"L", "ctm"=>"L", "ctb"=>"L", "ctd"=>"L", "cth"=>"L", "ctv"=>"L", "ctn"=>"L", "cga"=>"R", "cgt"=>"R", "cgg"=>"R", "cgc"=>"R", "cgy"=>"R", "cgr"=>"R", "cgw"=>"R", "cgs"=>"R", "cgk"=>"R", "cgm"=>"R", "cgb"=>"R", "cgd"=>"R", "cgh"=>"R", "cgv"=>"R", "cgn"=>"R", "cca"=>"P", "cct"=>"P", "ccg"=>"P", "ccc"=>"P", "ccy"=>"P", "ccr"=>"P", "ccw"=>"P", "ccs"=>"P", "cck"=>"P", "ccm"=>"P", "ccb"=>"P", "ccd"=>"P", "cch"=>"P", "ccv"=>"P", "ccn"=>"P", "ytg"=>"L", "mga"=>"R", "mgg"=>"R", "mgr"=>"R"},
721
+ }
722
+ end #CodonTable
723
+ end #Bio
@@ -7,12 +7,11 @@
7
7
  # Mitsuteru C. Nakao <n@bioruby.org>
8
8
  # License:: The Ruby License
9
9
  #
10
- # $Id:$
11
10
  #
12
11
  # == Description
13
12
  #
14
13
  # Classes for Amino Acid Index Database (AAindex and AAindex2).
15
- # * AAindex Manual: http://www.genome.jp/dbget-bin/show_man?aaindex
14
+ # * AAindex Help: https://www.genome.jp/aaindex/aaindex_help.html
16
15
  #
17
16
  # == Examples
18
17
  #
@@ -40,7 +39,38 @@ require "matrix"
40
39
 
41
40
  module Bio
42
41
 
43
- # Super class for AAindex1 and AAindex2
42
+ # == Description
43
+ #
44
+ # Bio::AAindex is the super class of Bio::AAindex1 and Bio::AAindex2,
45
+ # parser classes for AAindex Amino Acid Index Database.
46
+ # * AAindex Help: https://www.genome.jp/aaindex/aaindex_help.html
47
+ #
48
+ # Except Bio::AAindex.auto, do not use this class directly.
49
+ # Methods of this super class is used from AAindex1 and AAindex2 classes.
50
+ #
51
+ # == Examples
52
+ #
53
+ # # auto-detection of data format
54
+ # aax1 = Bio::AAindex.auto("PRAM900102.aaindex1")
55
+ # aax2 = Bio::AAindex.auto("DAYM780301.aaindex2")
56
+ #
57
+ # # Example of Bio::AAindex1 class
58
+ # aax1 = Bio::AAindex1.new("PRAM900102.aaindex1")
59
+ # aax1.entry_id
60
+ # aax1.index
61
+ #
62
+ # # Example of Bio::AAindex2 class
63
+ # aax2 = Bio::AAindex2.new("DAYM780301.aaindex2")
64
+ # aax2.entry_id
65
+ # aax2.matrix
66
+ # aax2.matrix[2,2]
67
+ # aax2.matrix('R', 'A')
68
+ # aax2['R', 'A']
69
+ #
70
+ # == References
71
+ #
72
+ # * http://www.genome.jp/aaindex/
73
+ #
44
74
  class AAindex < KEGGDB
45
75
 
46
76
  # Delimiter
@@ -136,7 +166,25 @@ module Bio
136
166
  end
137
167
 
138
168
 
139
- # Class for AAindex1 format.
169
+ # == Description
170
+ #
171
+ # Parser class for AAindex1, Amino Acid Index Database.
172
+ # * AAindex Help: https://www.genome.jp/aaindex/aaindex_help.html
173
+ #
174
+ # == Examples
175
+ #
176
+ # # auto-detection of data format by using Bio::AAindex class
177
+ # aax1 = Bio::AAindex.auto("PRAM900102.aaindex1")
178
+ #
179
+ # # parse a file and get contents
180
+ # aax1 = Bio::AAindex1.new("PRAM900102.aaindex1")
181
+ # aax1.entry_id
182
+ # aax1.index
183
+ #
184
+ # == References
185
+ #
186
+ # * http://www.genome.jp/aaindex/
187
+ #
140
188
  class AAindex1 < AAindex
141
189
 
142
190
  def initialize(entry)
@@ -211,7 +259,28 @@ module Bio
211
259
  end
212
260
 
213
261
 
214
- # Class for AAindex2 format.
262
+ # == Description
263
+ #
264
+ # Parser class for AAindex2, Amino Acid Index Database.
265
+ # * AAindex Help: https://www.genome.jp/aaindex/aaindex_help.html
266
+ #
267
+ # == Examples
268
+ #
269
+ # # auto-detection of data format by using Bio::AAindex class
270
+ # aax2 = Bio::AAindex.auto("DAYM780301.aaindex2")
271
+ #
272
+ # # parse a file and get contents
273
+ # aax2 = Bio::AAindex2.new("DAYM780301.aaindex2")
274
+ # aax2.entry_id
275
+ # aax2.matrix
276
+ # aax2.matrix[2,2]
277
+ # aax2.matrix('R', 'A')
278
+ # aax2['R', 'A']
279
+ #
280
+ # == References
281
+ #
282
+ # * http://www.genome.jp/aaindex/
283
+ #
215
284
  class AAindex2 < AAindex
216
285
 
217
286
  def initialize(entry)