bio 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/bin/bioruby +14 -122
- data/bin/br_biofetch.rb +2 -2
- data/bin/br_bioflat.rb +2 -2
- data/bin/br_biogetseq.rb +2 -2
- data/bin/br_pmfetch.rb +3 -3
- data/doc/Changes-0.7.rd +77 -0
- data/doc/KEGG_API.rd +523 -232
- data/doc/KEGG_API.rd.ja +529 -207
- data/doc/Tutorial.rd +48 -11
- data/lib/bio.rb +59 -6
- data/lib/bio/alignment.rb +713 -103
- data/lib/bio/appl/bl2seq/report.rb +2 -18
- data/lib/bio/appl/blast.rb +108 -91
- data/lib/bio/appl/blast/format0.rb +33 -18
- data/lib/bio/appl/blast/format8.rb +6 -20
- data/lib/bio/appl/blast/report.rb +293 -429
- data/lib/bio/appl/blast/rexml.rb +8 -22
- data/lib/bio/appl/blast/wublast.rb +21 -12
- data/lib/bio/appl/blast/xmlparser.rb +180 -183
- data/lib/bio/appl/blat/report.rb +127 -30
- data/lib/bio/appl/clustalw.rb +87 -59
- data/lib/bio/appl/clustalw/report.rb +20 -22
- data/lib/bio/appl/emboss.rb +113 -20
- data/lib/bio/appl/fasta.rb +173 -198
- data/lib/bio/appl/fasta/format10.rb +244 -347
- data/lib/bio/appl/gcg/msf.rb +212 -0
- data/lib/bio/appl/gcg/seq.rb +195 -0
- data/lib/bio/appl/genscan/report.rb +5 -23
- data/lib/bio/appl/hmmer.rb +8 -45
- data/lib/bio/appl/hmmer/report.rb +2 -20
- data/lib/bio/appl/iprscan/report.rb +374 -0
- data/lib/bio/appl/mafft.rb +87 -50
- data/lib/bio/appl/mafft/report.rb +151 -44
- data/lib/bio/appl/muscle.rb +52 -0
- data/lib/bio/appl/phylip/alignment.rb +129 -0
- data/lib/bio/appl/phylip/distance_matrix.rb +96 -0
- data/lib/bio/appl/probcons.rb +41 -0
- data/lib/bio/appl/psort.rb +89 -96
- data/lib/bio/appl/psort/report.rb +6 -22
- data/lib/bio/appl/pts1.rb +263 -0
- data/lib/bio/appl/sim4.rb +26 -36
- data/lib/bio/appl/sim4/report.rb +2 -18
- data/lib/bio/appl/sosui/report.rb +5 -20
- data/lib/bio/appl/spidey/report.rb +2 -2
- data/lib/bio/appl/targetp/report.rb +4 -20
- data/lib/bio/appl/tcoffee.rb +55 -0
- data/lib/bio/appl/tmhmm/report.rb +4 -20
- data/lib/bio/command.rb +235 -64
- data/lib/bio/data/aa.rb +21 -26
- data/lib/bio/data/codontable.rb +2 -20
- data/lib/bio/data/na.rb +19 -4
- data/lib/bio/db.rb +27 -12
- data/lib/bio/db/aaindex.rb +2 -20
- data/lib/bio/db/embl/common.rb +4 -21
- data/lib/bio/db/embl/embl.rb +33 -85
- data/lib/bio/db/embl/sptr.rb +612 -302
- data/lib/bio/db/embl/swissprot.rb +10 -29
- data/lib/bio/db/embl/trembl.rb +10 -29
- data/lib/bio/db/embl/uniprot.rb +10 -29
- data/lib/bio/db/fantom.rb +15 -20
- data/lib/bio/db/fasta.rb +3 -3
- data/lib/bio/db/genbank/common.rb +37 -46
- data/lib/bio/db/genbank/ddbj.rb +6 -18
- data/lib/bio/db/genbank/genbank.rb +47 -186
- data/lib/bio/db/genbank/genpept.rb +4 -17
- data/lib/bio/db/genbank/refseq.rb +4 -17
- data/lib/bio/db/gff.rb +103 -35
- data/lib/bio/db/go.rb +4 -20
- data/lib/bio/db/kegg/brite.rb +26 -36
- data/lib/bio/db/kegg/compound.rb +81 -85
- data/lib/bio/db/kegg/drug.rb +98 -0
- data/lib/bio/db/kegg/enzyme.rb +133 -110
- data/lib/bio/db/kegg/expression.rb +2 -20
- data/lib/bio/db/kegg/genes.rb +208 -238
- data/lib/bio/db/kegg/genome.rb +164 -285
- data/lib/bio/db/kegg/glycan.rb +114 -157
- data/lib/bio/db/kegg/keggtab.rb +242 -303
- data/lib/bio/db/kegg/kgml.rb +117 -160
- data/lib/bio/db/kegg/orthology.rb +112 -0
- data/lib/bio/db/kegg/reaction.rb +54 -69
- data/lib/bio/db/kegg/taxonomy.rb +331 -0
- data/lib/bio/db/lasergene.rb +209 -0
- data/lib/bio/db/litdb.rb +3 -27
- data/lib/bio/db/medline.rb +228 -249
- data/lib/bio/db/nbrf.rb +3 -3
- data/lib/bio/db/newick.rb +510 -0
- data/lib/bio/db/nexus.rb +1854 -0
- data/lib/bio/db/pdb.rb +5 -17
- data/lib/bio/db/pdb/atom.rb +2 -18
- data/lib/bio/db/pdb/chain.rb +2 -18
- data/lib/bio/db/pdb/chemicalcomponent.rb +2 -18
- data/lib/bio/db/pdb/model.rb +2 -18
- data/lib/bio/db/pdb/pdb.rb +73 -34
- data/lib/bio/db/pdb/residue.rb +4 -20
- data/lib/bio/db/pdb/utils.rb +2 -18
- data/lib/bio/db/prosite.rb +403 -422
- data/lib/bio/db/rebase.rb +84 -40
- data/lib/bio/db/soft.rb +404 -0
- data/lib/bio/db/transfac.rb +5 -17
- data/lib/bio/feature.rb +106 -52
- data/lib/bio/io/das.rb +32 -42
- data/lib/bio/io/dbget.rb +2 -20
- data/lib/bio/io/ddbjxml.rb +77 -138
- data/lib/bio/io/ebisoap.rb +158 -0
- data/lib/bio/io/ensembl.rb +229 -0
- data/lib/bio/io/fastacmd.rb +89 -82
- data/lib/bio/io/fetch.rb +163 -96
- data/lib/bio/io/flatfile.rb +170 -73
- data/lib/bio/io/flatfile/bdb.rb +3 -16
- data/lib/bio/io/flatfile/index.rb +2 -2
- data/lib/bio/io/flatfile/indexer.rb +3 -2
- data/lib/bio/io/higet.rb +12 -31
- data/lib/bio/io/keggapi.rb +210 -269
- data/lib/bio/io/ncbisoap.rb +155 -0
- data/lib/bio/io/pubmed.rb +169 -147
- data/lib/bio/io/registry.rb +4 -20
- data/lib/bio/io/soapwsdl.rb +43 -38
- data/lib/bio/io/sql.rb +242 -305
- data/lib/bio/location.rb +407 -285
- data/lib/bio/map.rb +410 -0
- data/lib/bio/pathway.rb +558 -695
- data/lib/bio/reference.rb +272 -75
- data/lib/bio/sequence.rb +255 -13
- data/lib/bio/sequence/aa.rb +71 -10
- data/lib/bio/sequence/common.rb +187 -33
- data/lib/bio/sequence/compat.rb +59 -4
- data/lib/bio/sequence/format.rb +54 -7
- data/lib/bio/sequence/generic.rb +3 -3
- data/lib/bio/sequence/na.rb +328 -26
- data/lib/bio/shell.rb +11 -4
- data/lib/bio/shell/core.rb +221 -160
- data/lib/bio/shell/demo.rb +18 -15
- data/lib/bio/shell/interface.rb +14 -12
- data/lib/bio/shell/irb.rb +95 -0
- data/lib/bio/shell/object.rb +45 -26
- data/lib/bio/shell/plugin/blast.rb +42 -0
- data/lib/bio/shell/plugin/codon.rb +22 -14
- data/lib/bio/shell/plugin/das.rb +58 -0
- data/lib/bio/shell/plugin/emboss.rb +2 -2
- data/lib/bio/shell/plugin/entry.rb +22 -11
- data/lib/bio/shell/plugin/flatfile.rb +2 -2
- data/lib/bio/shell/plugin/keggapi.rb +13 -6
- data/lib/bio/shell/plugin/midi.rb +4 -4
- data/lib/bio/shell/plugin/obda.rb +2 -2
- data/lib/bio/shell/plugin/psort.rb +56 -0
- data/lib/bio/shell/plugin/seq.rb +35 -8
- data/lib/bio/shell/plugin/soap.rb +87 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/bioruby_generator.rb +29 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/_classes.rhtml +4 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/_log.rhtml +27 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/_methods.rhtml +11 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/_modules.rhtml +4 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/_variables.rhtml +7 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/bioruby-bg.gif +0 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/bioruby-console.png +0 -0
- data/lib/bio/shell/rails/{public/images/icon.png → vendor/plugins/generators/bioruby/templates/bioruby-gem.png} +0 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/bioruby-link.gif +0 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/bioruby.css +369 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/bioruby.rhtml +47 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/bioruby_controller.rb +144 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/bioruby_helper.rb +47 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/commands.rhtml +8 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/history.rhtml +10 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/index.rhtml +22 -0
- data/lib/bio/shell/script.rb +25 -0
- data/lib/bio/shell/setup.rb +109 -0
- data/lib/bio/shell/web.rb +70 -58
- data/lib/bio/tree.rb +850 -0
- data/lib/bio/util/color_scheme.rb +84 -107
- data/lib/bio/util/color_scheme/buried.rb +5 -24
- data/lib/bio/util/color_scheme/helix.rb +5 -24
- data/lib/bio/util/color_scheme/hydropathy.rb +5 -24
- data/lib/bio/util/color_scheme/nucleotide.rb +5 -24
- data/lib/bio/util/color_scheme/strand.rb +5 -24
- data/lib/bio/util/color_scheme/taylor.rb +5 -24
- data/lib/bio/util/color_scheme/turn.rb +5 -24
- data/lib/bio/util/color_scheme/zappo.rb +5 -24
- data/lib/bio/util/contingency_table.rb +70 -43
- data/lib/bio/util/restriction_enzyme.rb +228 -0
- data/lib/bio/util/restriction_enzyme/analysis.rb +249 -0
- data/lib/bio/util/restriction_enzyme/analysis_basic.rb +217 -0
- data/lib/bio/util/restriction_enzyme/cut_symbol.rb +107 -0
- data/lib/bio/util/restriction_enzyme/double_stranded.rb +321 -0
- data/lib/bio/util/restriction_enzyme/double_stranded/aligned_strands.rb +130 -0
- data/lib/bio/util/restriction_enzyme/double_stranded/cut_location_pair.rb +103 -0
- data/lib/bio/util/restriction_enzyme/double_stranded/cut_location_pair_in_enzyme_notation.rb +38 -0
- data/lib/bio/util/restriction_enzyme/double_stranded/cut_locations.rb +76 -0
- data/lib/bio/util/restriction_enzyme/double_stranded/cut_locations_in_enzyme_notation.rb +107 -0
- data/lib/bio/util/restriction_enzyme/enzymes.yaml +7061 -0
- data/lib/bio/util/restriction_enzyme/range/cut_range.rb +24 -0
- data/lib/bio/util/restriction_enzyme/range/cut_ranges.rb +47 -0
- data/lib/bio/util/restriction_enzyme/range/horizontal_cut_range.rb +67 -0
- data/lib/bio/util/restriction_enzyme/range/sequence_range.rb +257 -0
- data/lib/bio/util/restriction_enzyme/range/sequence_range/calculated_cuts.rb +242 -0
- data/lib/bio/util/restriction_enzyme/range/sequence_range/fragment.rb +51 -0
- data/lib/bio/util/restriction_enzyme/range/sequence_range/fragments.rb +41 -0
- data/lib/bio/util/restriction_enzyme/range/vertical_cut_range.rb +77 -0
- data/lib/bio/util/restriction_enzyme/single_strand.rb +199 -0
- data/lib/bio/util/restriction_enzyme/single_strand/cut_locations_in_enzyme_notation.rb +135 -0
- data/lib/bio/util/restriction_enzyme/single_strand_complement.rb +23 -0
- data/lib/bio/util/restriction_enzyme/string_formatting.rb +111 -0
- data/lib/bio/util/sirna.rb +4 -22
- data/sample/color_scheme_na.rb +4 -12
- data/sample/enzymes.rb +78 -0
- data/sample/goslim.rb +5 -13
- data/sample/psortplot_html.rb +4 -12
- data/test/data/blast/2.2.15.blastp.m7 +876 -0
- data/test/data/embl/AB090716.embl.rel89 +63 -0
- data/test/data/fasta/example1.txt +75 -0
- data/test/data/fasta/example2.txt +21 -0
- data/test/data/iprscan/merged.raw +32 -0
- data/test/data/iprscan/merged.txt +74 -0
- data/test/data/soft/GDS100_partial.soft +92 -0
- data/test/data/soft/GSE3457_family_partial.soft +874 -0
- data/test/functional/bio/io/test_ensembl.rb +103 -0
- data/test/functional/bio/io/test_soapwsdl.rb +5 -17
- data/test/unit/bio/appl/bl2seq/test_report.rb +2 -2
- data/test/unit/bio/appl/blast/test_report.rb +3 -16
- data/test/unit/bio/appl/blast/test_xmlparser.rb +4 -16
- data/test/unit/bio/appl/genscan/test_report.rb +3 -16
- data/test/unit/bio/appl/hmmer/test_report.rb +3 -16
- data/test/unit/bio/appl/iprscan/test_report.rb +338 -0
- data/test/unit/bio/appl/mafft/test_report.rb +63 -0
- data/test/unit/bio/appl/sosui/test_report.rb +3 -16
- data/test/unit/bio/appl/targetp/test_report.rb +3 -16
- data/test/unit/bio/appl/test_blast.rb +3 -16
- data/test/unit/bio/appl/test_fasta.rb +4 -16
- data/test/unit/bio/appl/test_pts1.rb +140 -0
- data/test/unit/bio/appl/tmhmm/test_report.rb +3 -16
- data/test/unit/bio/data/test_aa.rb +4 -17
- data/test/unit/bio/data/test_codontable.rb +3 -16
- data/test/unit/bio/data/test_na.rb +3 -3
- data/test/unit/bio/db/embl/test_common.rb +3 -16
- data/test/unit/bio/db/embl/test_embl.rb +3 -16
- data/test/unit/bio/db/embl/test_embl_rel89.rb +219 -0
- data/test/unit/bio/db/embl/test_sptr.rb +1548 -41
- data/test/unit/bio/db/embl/test_uniprot.rb +3 -16
- data/test/unit/bio/db/kegg/test_genes.rb +3 -16
- data/test/unit/bio/db/pdb/test_pdb.rb +7 -24
- data/test/unit/bio/db/test_aaindex.rb +2 -2
- data/test/unit/bio/db/test_fasta.rb +3 -16
- data/test/unit/bio/db/test_gff.rb +3 -16
- data/test/unit/bio/db/test_lasergene.rb +95 -0
- data/test/unit/bio/db/test_newick.rb +56 -0
- data/test/unit/bio/db/test_nexus.rb +360 -0
- data/test/unit/bio/db/test_prosite.rb +5 -18
- data/test/unit/bio/db/test_rebase.rb +11 -25
- data/test/unit/bio/db/test_soft.rb +138 -0
- data/test/unit/bio/io/test_ddbjxml.rb +5 -17
- data/test/unit/bio/io/test_ensembl.rb +109 -0
- data/test/unit/bio/io/test_fastacmd.rb +3 -16
- data/test/unit/bio/io/test_flatfile.rb +237 -0
- data/test/unit/bio/io/test_soapwsdl.rb +4 -17
- data/test/unit/bio/sequence/test_aa.rb +3 -3
- data/test/unit/bio/sequence/test_common.rb +3 -16
- data/test/unit/bio/sequence/test_compat.rb +3 -16
- data/test/unit/bio/sequence/test_na.rb +29 -3
- data/test/unit/bio/shell/plugin/test_seq.rb +8 -8
- data/test/unit/bio/test_alignment.rb +16 -27
- data/test/unit/bio/test_command.rb +242 -25
- data/test/unit/bio/test_db.rb +3 -16
- data/test/unit/bio/test_feature.rb +4 -16
- data/test/unit/bio/test_location.rb +4 -16
- data/test/unit/bio/test_map.rb +230 -0
- data/test/unit/bio/test_pathway.rb +4 -16
- data/test/unit/bio/test_reference.rb +2 -2
- data/test/unit/bio/test_sequence.rb +7 -19
- data/test/unit/bio/test_shell.rb +3 -16
- data/test/unit/bio/test_tree.rb +593 -0
- data/test/unit/bio/util/restriction_enzyme/analysis/test_calculated_cuts.rb +299 -0
- data/test/unit/bio/util/restriction_enzyme/analysis/test_cut_ranges.rb +103 -0
- data/test/unit/bio/util/restriction_enzyme/analysis/test_sequence_range.rb +240 -0
- data/test/unit/bio/util/restriction_enzyme/double_stranded/test_aligned_strands.rb +100 -0
- data/test/unit/bio/util/restriction_enzyme/double_stranded/test_cut_location_pair.rb +75 -0
- data/test/unit/bio/util/restriction_enzyme/double_stranded/test_cut_location_pair_in_enzyme_notation.rb +73 -0
- data/test/unit/bio/util/restriction_enzyme/double_stranded/test_cut_locations.rb +53 -0
- data/test/unit/bio/util/restriction_enzyme/double_stranded/test_cut_locations_in_enzyme_notation.rb +104 -0
- data/test/unit/bio/util/restriction_enzyme/single_strand/test_cut_locations_in_enzyme_notation.rb +83 -0
- data/test/unit/bio/util/restriction_enzyme/test_analysis.rb +246 -0
- data/test/unit/bio/util/restriction_enzyme/test_cut_symbol.rb +44 -0
- data/test/unit/bio/util/restriction_enzyme/test_double_stranded.rb +115 -0
- data/test/unit/bio/util/restriction_enzyme/test_single_strand.rb +147 -0
- data/test/unit/bio/util/restriction_enzyme/test_single_strand_complement.rb +147 -0
- data/test/unit/bio/util/restriction_enzyme/test_string_formatting.rb +60 -0
- data/test/unit/bio/util/test_color_scheme.rb +6 -18
- data/test/unit/bio/util/test_contingency_table.rb +6 -18
- data/test/unit/bio/util/test_restriction_enzyme.rb +42 -0
- data/test/unit/bio/util/test_sirna.rb +3 -16
- metadata +228 -169
- data/doc/BioRuby.rd.ja +0 -225
- data/doc/Design.rd.ja +0 -341
- data/doc/TODO.rd.ja +0 -138
- data/lib/bio/appl/fasta/format6.rb +0 -37
- data/lib/bio/db/kegg/cell.rb +0 -88
- data/lib/bio/db/kegg/ko.rb +0 -178
- data/lib/bio/shell/rails/Rakefile +0 -10
- data/lib/bio/shell/rails/app/controllers/application.rb +0 -4
- data/lib/bio/shell/rails/app/controllers/shell_controller.rb +0 -94
- data/lib/bio/shell/rails/app/helpers/application_helper.rb +0 -3
- data/lib/bio/shell/rails/app/models/shell_connection.rb +0 -30
- data/lib/bio/shell/rails/app/views/layouts/shell.rhtml +0 -37
- data/lib/bio/shell/rails/app/views/shell/history.rhtml +0 -5
- data/lib/bio/shell/rails/app/views/shell/index.rhtml +0 -2
- data/lib/bio/shell/rails/app/views/shell/show.rhtml +0 -13
- data/lib/bio/shell/rails/config/boot.rb +0 -19
- data/lib/bio/shell/rails/config/database.yml +0 -85
- data/lib/bio/shell/rails/config/environment.rb +0 -53
- data/lib/bio/shell/rails/config/environments/development.rb +0 -19
- data/lib/bio/shell/rails/config/environments/production.rb +0 -19
- data/lib/bio/shell/rails/config/environments/test.rb +0 -19
- data/lib/bio/shell/rails/config/routes.rb +0 -19
- data/lib/bio/shell/rails/doc/README_FOR_APP +0 -2
- data/lib/bio/shell/rails/public/404.html +0 -8
- data/lib/bio/shell/rails/public/500.html +0 -8
- data/lib/bio/shell/rails/public/dispatch.cgi +0 -10
- data/lib/bio/shell/rails/public/dispatch.fcgi +0 -24
- data/lib/bio/shell/rails/public/dispatch.rb +0 -10
- data/lib/bio/shell/rails/public/favicon.ico +0 -0
- data/lib/bio/shell/rails/public/images/rails.png +0 -0
- data/lib/bio/shell/rails/public/index.html +0 -277
- data/lib/bio/shell/rails/public/javascripts/controls.js +0 -750
- data/lib/bio/shell/rails/public/javascripts/dragdrop.js +0 -584
- data/lib/bio/shell/rails/public/javascripts/effects.js +0 -854
- data/lib/bio/shell/rails/public/javascripts/prototype.js +0 -1785
- data/lib/bio/shell/rails/public/robots.txt +0 -1
- data/lib/bio/shell/rails/public/stylesheets/main.css +0 -187
- data/lib/bio/shell/rails/script/about +0 -3
- data/lib/bio/shell/rails/script/breakpointer +0 -3
- data/lib/bio/shell/rails/script/console +0 -3
- data/lib/bio/shell/rails/script/destroy +0 -3
- data/lib/bio/shell/rails/script/generate +0 -3
- data/lib/bio/shell/rails/script/performance/benchmarker +0 -3
- data/lib/bio/shell/rails/script/performance/profiler +0 -3
- data/lib/bio/shell/rails/script/plugin +0 -3
- data/lib/bio/shell/rails/script/process/reaper +0 -3
- data/lib/bio/shell/rails/script/process/spawner +0 -3
- data/lib/bio/shell/rails/script/process/spinner +0 -3
- data/lib/bio/shell/rails/script/runner +0 -3
- data/lib/bio/shell/rails/script/server +0 -42
- data/lib/bio/shell/rails/test/test_helper.rb +0 -28
data/lib/bio/db/kegg/genome.rb
CHANGED
|
@@ -1,214 +1,203 @@
|
|
|
1
1
|
#
|
|
2
|
-
# bio/db/kegg/genome.rb - KEGG/GENOME database class
|
|
2
|
+
# = bio/db/kegg/genome.rb - KEGG/GENOME database class
|
|
3
3
|
#
|
|
4
|
-
#
|
|
4
|
+
# Copyright:: Copyright (C) 2001, 2002, 2007 Toshiaki Katayama <k@bioruby.org>
|
|
5
|
+
# License:: The Ruby License
|
|
5
6
|
#
|
|
6
|
-
#
|
|
7
|
-
# modify it under the terms of the GNU Lesser General Public
|
|
8
|
-
# License as published by the Free Software Foundation; either
|
|
9
|
-
# version 2 of the License, or (at your option) any later version.
|
|
10
|
-
#
|
|
11
|
-
# This library is distributed in the hope that it will be useful,
|
|
12
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
14
|
-
# Lesser General Public License for more details.
|
|
15
|
-
#
|
|
16
|
-
# You should have received a copy of the GNU Lesser General Public
|
|
17
|
-
# License along with this library; if not, write to the Free Software
|
|
18
|
-
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
19
|
-
#
|
|
20
|
-
# $Id: genome.rb,v 0.14 2005/09/08 01:22:11 k Exp $
|
|
7
|
+
# $Id: genome.rb,v 0.18 2007/06/28 11:27:24 k Exp $
|
|
21
8
|
#
|
|
22
9
|
|
|
23
10
|
require 'bio/db'
|
|
24
11
|
|
|
25
12
|
module Bio
|
|
13
|
+
class KEGG
|
|
26
14
|
|
|
27
|
-
|
|
15
|
+
# == Description
|
|
16
|
+
#
|
|
17
|
+
# Parser for the KEGG GENOME database
|
|
18
|
+
#
|
|
19
|
+
# == References
|
|
20
|
+
#
|
|
21
|
+
# * ftp://ftp.genome.jp/pub/kegg/genomes/genome
|
|
22
|
+
#
|
|
23
|
+
class GENOME < KEGGDB
|
|
28
24
|
|
|
29
|
-
|
|
25
|
+
DELIMITER = RS = "\n///\n"
|
|
26
|
+
TAGSIZE = 12
|
|
30
27
|
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
def initialize(entry)
|
|
29
|
+
super(entry, TAGSIZE)
|
|
30
|
+
end
|
|
33
31
|
|
|
34
|
-
def initialize(entry)
|
|
35
|
-
super(entry, TAGSIZE)
|
|
36
|
-
end
|
|
37
32
|
|
|
33
|
+
# ENTRY -- Returns contents of the ENTRY record as a String.
|
|
34
|
+
def entry_id
|
|
35
|
+
field_fetch('ENTRY')[/\S+/]
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# NAME -- Returns contents of the NAME record as a String.
|
|
39
|
+
def name
|
|
40
|
+
field_fetch('NAME')
|
|
41
|
+
end
|
|
38
42
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
43
|
+
# DEFINITION -- Returns contents of the DEFINITION record as a String.
|
|
44
|
+
def definition
|
|
45
|
+
field_fetch('DEFINITION')
|
|
46
|
+
end
|
|
47
|
+
alias organism definition
|
|
48
|
+
|
|
49
|
+
# TAXONOMY -- Returns contents of the TAXONOMY record as a Hash.
|
|
50
|
+
def taxonomy
|
|
51
|
+
unless @data['TAXONOMY']
|
|
52
|
+
taxid, lineage = subtag2array(get('TAXONOMY'))
|
|
53
|
+
taxid = taxid ? truncate(tag_cut(taxid)) : ''
|
|
54
|
+
lineage = lineage ? truncate(tag_cut(lineage)) : ''
|
|
55
|
+
@data['TAXONOMY'] = {
|
|
56
|
+
'taxid' => taxid,
|
|
57
|
+
'lineage' => lineage,
|
|
58
|
+
}
|
|
59
|
+
@data['TAXONOMY'].default = ''
|
|
60
|
+
end
|
|
61
|
+
@data['TAXONOMY']
|
|
62
|
+
end
|
|
48
63
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
alias organism definition
|
|
54
|
-
|
|
55
|
-
# TAXONOMY
|
|
56
|
-
def taxonomy
|
|
57
|
-
unless @data['TAXONOMY']
|
|
58
|
-
taxid, lineage = subtag2array(get('TAXONOMY'))
|
|
59
|
-
taxid = taxid ? truncate(tag_cut(taxid)) : ''
|
|
60
|
-
lineage = lineage ? truncate(tag_cut(lineage)) : ''
|
|
61
|
-
@data['TAXONOMY'] = {
|
|
62
|
-
'taxid' => taxid,
|
|
63
|
-
'lineage' => lineage,
|
|
64
|
-
}
|
|
65
|
-
@data['TAXONOMY'].default = ''
|
|
66
|
-
end
|
|
67
|
-
@data['TAXONOMY']
|
|
68
|
-
end
|
|
64
|
+
# Returns NCBI taxonomy ID from the TAXONOMY record as a String.
|
|
65
|
+
def taxid
|
|
66
|
+
taxonomy['taxid']
|
|
67
|
+
end
|
|
69
68
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
69
|
+
# Returns contents of the TAXONOMY/LINEAGE record as a String.
|
|
70
|
+
def lineage
|
|
71
|
+
taxonomy['lineage']
|
|
72
|
+
end
|
|
73
73
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
74
|
+
# DATA_SOURCE -- Returns contents of the DATA_SOURCE record as a String.
|
|
75
|
+
def data_source
|
|
76
|
+
field_fetch('DATA_SOURCE')
|
|
77
|
+
end
|
|
77
78
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
# REFERENCE
|
|
84
|
-
def references
|
|
85
|
-
unless @data['REFERENCE']
|
|
86
|
-
ary = []
|
|
87
|
-
toptag2array(get('REFERENCE')).each do |ref|
|
|
88
|
-
hash = Hash.new('')
|
|
89
|
-
subtag2array(ref).each do |field|
|
|
90
|
-
case tag_get(field)
|
|
91
|
-
when /AUTHORS/
|
|
92
|
-
authors = truncate(tag_cut(field))
|
|
93
|
-
authors = authors.split(', ')
|
|
94
|
-
authors[-1] = authors[-1].split(/\s+and\s+/)
|
|
95
|
-
authors = authors.flatten.map { |a| a.sub(',', ', ') }
|
|
96
|
-
hash['authors'] = authors
|
|
97
|
-
when /TITLE/
|
|
98
|
-
hash['title'] = truncate(tag_cut(field))
|
|
99
|
-
when /JOURNAL/
|
|
100
|
-
journal = truncate(tag_cut(field))
|
|
101
|
-
if journal =~ /(.*) (\d+):(\d+)-(\d+) \((\d+)\) \[UI:(\d+)\]$/
|
|
102
|
-
hash['journal'] = $1
|
|
103
|
-
hash['volume'] = $2
|
|
104
|
-
hash['pages'] = $3
|
|
105
|
-
hash['year'] = $5
|
|
106
|
-
hash['medline'] = $6
|
|
107
|
-
else
|
|
108
|
-
hash['journal'] = journal
|
|
109
|
-
end
|
|
110
|
-
end
|
|
111
|
-
end
|
|
112
|
-
ary.push(Reference.new(hash))
|
|
113
|
-
end
|
|
114
|
-
@data['REFERENCE'] = References.new(ary)
|
|
115
|
-
end
|
|
116
|
-
@data['REFERENCE']
|
|
117
|
-
end
|
|
79
|
+
# ORIGINAL_DB -- Returns contents of the ORIGINAL_DB record as a String.
|
|
80
|
+
def original_db
|
|
81
|
+
field_fetch('ORIGINAL_DB')
|
|
82
|
+
end
|
|
118
83
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
toptag2array(get('CHROMOSOME')).each do |chr|
|
|
124
|
-
hash = Hash.new('')
|
|
125
|
-
subtag2array(chr).each do |field|
|
|
126
|
-
hash[tag_get(field)] = truncate(tag_cut(field))
|
|
127
|
-
end
|
|
128
|
-
@data['CHROMOSOME'].push(hash)
|
|
129
|
-
end
|
|
130
|
-
end
|
|
131
|
-
@data['CHROMOSOME']
|
|
132
|
-
end
|
|
84
|
+
# DISEASE -- Returns contents of the COMMENT record as a String.
|
|
85
|
+
def disease
|
|
86
|
+
field_fetch('DISEASE')
|
|
87
|
+
end
|
|
133
88
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
89
|
+
# COMMENT -- Returns contents of the COMMENT record as a String.
|
|
90
|
+
def comment
|
|
91
|
+
field_fetch('COMMENT')
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
# REFERENCE -- Returns contents of the REFERENCE records as an Array of
|
|
95
|
+
# Bio::Reference objects.
|
|
96
|
+
def references
|
|
97
|
+
unless @data['REFERENCE']
|
|
98
|
+
ary = []
|
|
99
|
+
toptag2array(get('REFERENCE')).each do |ref|
|
|
100
|
+
hash = Hash.new('')
|
|
101
|
+
subtag2array(ref).each do |field|
|
|
102
|
+
case tag_get(field)
|
|
103
|
+
when /AUTHORS/
|
|
104
|
+
authors = truncate(tag_cut(field))
|
|
105
|
+
authors = authors.split(', ')
|
|
106
|
+
authors[-1] = authors[-1].split(/\s+and\s+/)
|
|
107
|
+
authors = authors.flatten.map { |a| a.sub(',', ', ') }
|
|
108
|
+
hash['authors'] = authors
|
|
109
|
+
when /TITLE/
|
|
110
|
+
hash['title'] = truncate(tag_cut(field))
|
|
111
|
+
when /JOURNAL/
|
|
112
|
+
journal = truncate(tag_cut(field))
|
|
113
|
+
if journal =~ /(.*) (\d+):(\d+)-(\d+) \((\d+)\) \[UI:(\d+)\]$/
|
|
114
|
+
hash['journal'] = $1
|
|
115
|
+
hash['volume'] = $2
|
|
116
|
+
hash['pages'] = $3
|
|
117
|
+
hash['year'] = $5
|
|
118
|
+
hash['medline'] = $6
|
|
119
|
+
else
|
|
120
|
+
hash['journal'] = journal
|
|
142
121
|
end
|
|
143
|
-
@data['PLASMID'].push(hash)
|
|
144
122
|
end
|
|
145
123
|
end
|
|
146
|
-
|
|
124
|
+
ary.push(Reference.new(hash))
|
|
147
125
|
end
|
|
126
|
+
@data['REFERENCE'] = References.new(ary)
|
|
127
|
+
end
|
|
128
|
+
@data['REFERENCE']
|
|
129
|
+
end
|
|
148
130
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
@data['SCAFFOLD'].push(hash)
|
|
159
|
-
end
|
|
131
|
+
# CHROMOSOME -- Returns contents of the CHROMOSOME records as an Array
|
|
132
|
+
# of Hash.
|
|
133
|
+
def chromosomes
|
|
134
|
+
unless @data['CHROMOSOME']
|
|
135
|
+
@data['CHROMOSOME'] = []
|
|
136
|
+
toptag2array(get('CHROMOSOME')).each do |chr|
|
|
137
|
+
hash = Hash.new('')
|
|
138
|
+
subtag2array(chr).each do |field|
|
|
139
|
+
hash[tag_get(field)] = truncate(tag_cut(field))
|
|
160
140
|
end
|
|
161
|
-
@data['
|
|
141
|
+
@data['CHROMOSOME'].push(hash)
|
|
162
142
|
end
|
|
143
|
+
end
|
|
144
|
+
@data['CHROMOSOME']
|
|
145
|
+
end
|
|
163
146
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
when /protein genes:\s+(\d+)/
|
|
173
|
-
hash['num_gene'] = $1.to_i
|
|
174
|
-
when /RNA genes:\s+(\d+)/
|
|
175
|
-
hash['num_rna'] = $1.to_i
|
|
176
|
-
when /G\+C content:\s+(\d+.\d+)/
|
|
177
|
-
hash['gc'] = $1.to_f
|
|
178
|
-
end
|
|
179
|
-
end
|
|
180
|
-
@data['STATISTICS'] = hash
|
|
147
|
+
# PLASMID -- Returns contents of the PLASMID records as an Array of Hash.
|
|
148
|
+
def plasmids
|
|
149
|
+
unless @data['PLASMID']
|
|
150
|
+
@data['PLASMID'] = []
|
|
151
|
+
toptag2array(get('PLASMID')).each do |chr|
|
|
152
|
+
hash = Hash.new('')
|
|
153
|
+
subtag2array(chr).each do |field|
|
|
154
|
+
hash[tag_get(field)] = truncate(tag_cut(field))
|
|
181
155
|
end
|
|
182
|
-
@data['
|
|
183
|
-
end
|
|
184
|
-
|
|
185
|
-
def nalen
|
|
186
|
-
statistics['nalen']
|
|
187
|
-
end
|
|
188
|
-
alias length nalen
|
|
189
|
-
|
|
190
|
-
def num_gene
|
|
191
|
-
statistics['num_gene']
|
|
156
|
+
@data['PLASMID'].push(hash)
|
|
192
157
|
end
|
|
158
|
+
end
|
|
159
|
+
@data['PLASMID']
|
|
160
|
+
end
|
|
193
161
|
|
|
194
|
-
|
|
195
|
-
|
|
162
|
+
# STATISTICS -- Returns contents of the STATISTICS record as a Hash.
|
|
163
|
+
def statistics
|
|
164
|
+
unless @data['STATISTICS']
|
|
165
|
+
hash = Hash.new(0.0)
|
|
166
|
+
get('STATISTICS').each_line do |line|
|
|
167
|
+
case line
|
|
168
|
+
when /nucleotides:\s+(\d+)/
|
|
169
|
+
hash['num_nuc'] = $1.to_i
|
|
170
|
+
when /protein genes:\s+(\d+)/
|
|
171
|
+
hash['num_gene'] = $1.to_i
|
|
172
|
+
when /RNA genes:\s+(\d+)/
|
|
173
|
+
hash['num_rna'] = $1.to_i
|
|
174
|
+
end
|
|
196
175
|
end
|
|
176
|
+
@data['STATISTICS'] = hash
|
|
177
|
+
end
|
|
178
|
+
@data['STATISTICS']
|
|
179
|
+
end
|
|
197
180
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
181
|
+
# Returns number of nucleotides from the STATISTICS record as a Fixnum.
|
|
182
|
+
def nalen
|
|
183
|
+
statistics['num_nuc']
|
|
184
|
+
end
|
|
185
|
+
alias length nalen
|
|
201
186
|
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
187
|
+
# Returns number of protein genes from the STATISTICS record as a Fixnum.
|
|
188
|
+
def num_gene
|
|
189
|
+
statistics['num_gene']
|
|
190
|
+
end
|
|
206
191
|
|
|
207
|
-
|
|
208
|
-
|
|
192
|
+
# Returns number of rna from the STATISTICS record as a Fixnum.
|
|
193
|
+
def num_rna
|
|
194
|
+
statistics['num_rna']
|
|
209
195
|
end
|
|
210
196
|
|
|
211
|
-
end
|
|
197
|
+
end # GENOME
|
|
198
|
+
|
|
199
|
+
end # KEGG
|
|
200
|
+
end # Bio
|
|
212
201
|
|
|
213
202
|
|
|
214
203
|
|
|
@@ -237,9 +226,7 @@ if __FILE__ == $0
|
|
|
237
226
|
%w( REFERENCE references ),
|
|
238
227
|
%w( CHROMOSOME chromosomes ),
|
|
239
228
|
%w( PLASMID plasmids ),
|
|
240
|
-
%w(
|
|
241
|
-
%w( STATISTICS statistics nalen num_gene num_rna gc ),
|
|
242
|
-
%w( GENOMEMAP genomemap ),
|
|
229
|
+
%w( STATISTICS statistics nalen num_gene num_rna ),
|
|
243
230
|
].each do |x|
|
|
244
231
|
puts "### " + x.shift
|
|
245
232
|
x.each do |m|
|
|
@@ -252,111 +239,3 @@ if __FILE__ == $0
|
|
|
252
239
|
end
|
|
253
240
|
|
|
254
241
|
|
|
255
|
-
=begin
|
|
256
|
-
|
|
257
|
-
= Bio::KEGG::GENOME
|
|
258
|
-
|
|
259
|
-
=== Initialize
|
|
260
|
-
|
|
261
|
-
--- Bio::KEGG::GENOME.new(entry)
|
|
262
|
-
|
|
263
|
-
=== ENTRY
|
|
264
|
-
|
|
265
|
-
--- Bio::KEGG::GENOME#entry_id -> String
|
|
266
|
-
|
|
267
|
-
Returns contents of the ENTRY record as a String.
|
|
268
|
-
|
|
269
|
-
=== NAME
|
|
270
|
-
|
|
271
|
-
--- Bio::KEGG::GENOME#name -> String
|
|
272
|
-
|
|
273
|
-
Returns contents of the NAME record as a String.
|
|
274
|
-
|
|
275
|
-
=== DEFINITION
|
|
276
|
-
|
|
277
|
-
--- Bio::KEGG::GENOME#definition -> String
|
|
278
|
-
|
|
279
|
-
Returns contents of the DEFINITION record as a String.
|
|
280
|
-
|
|
281
|
-
--- Bio::KEGG::GENOME#organism -> String
|
|
282
|
-
|
|
283
|
-
Alias for the 'definition' method.
|
|
284
|
-
|
|
285
|
-
=== TAXONOMY
|
|
286
|
-
|
|
287
|
-
--- Bio::KEGG::GENOME#taxonomy -> Hash
|
|
288
|
-
|
|
289
|
-
Returns contents of the TAXONOMY record as a Hash.
|
|
290
|
-
|
|
291
|
-
--- Bio::KEGG::GENOME#taxid -> String
|
|
292
|
-
|
|
293
|
-
Returns NCBI taxonomy ID from the TAXONOMY record as a String.
|
|
294
|
-
|
|
295
|
-
--- Bio::KEGG::GENOME#lineage -> String
|
|
296
|
-
|
|
297
|
-
Returns contents of the TAXONOMY/LINEAGE record as a String.
|
|
298
|
-
|
|
299
|
-
=== COMMENT
|
|
300
|
-
|
|
301
|
-
--- Bio::KEGG::GENOME#comment -> String
|
|
302
|
-
|
|
303
|
-
Returns contents of the COMMENT record as a String.
|
|
304
|
-
|
|
305
|
-
=== REFERENCE
|
|
306
|
-
|
|
307
|
-
--- Bio::GenBank#references -> Array
|
|
308
|
-
|
|
309
|
-
Returns contents of the REFERENCE records as an Array of Bio::Reference
|
|
310
|
-
objects.
|
|
311
|
-
|
|
312
|
-
=== CHROMOSOME
|
|
313
|
-
|
|
314
|
-
--- Bio::KEGG::GENOME#chromosomes -> Array
|
|
315
|
-
|
|
316
|
-
Returns contents of the CHROMOSOME records as an Array of Hash.
|
|
317
|
-
|
|
318
|
-
=== PLASMID
|
|
319
|
-
|
|
320
|
-
--- Bio::KEGG::GENOME#plasmids -> Array
|
|
321
|
-
|
|
322
|
-
Returns contents of the PLASMID records as an Array of Hash.
|
|
323
|
-
|
|
324
|
-
=== SCAFFOLD
|
|
325
|
-
|
|
326
|
-
--- Bio::KEGG::GENOME#scaffolds -> Array
|
|
327
|
-
|
|
328
|
-
Returns contents of the SCAFFOLD records as an Array of Hash.
|
|
329
|
-
|
|
330
|
-
=== STATISTICS
|
|
331
|
-
|
|
332
|
-
--- Bio::KEGG::GENOME#statistics -> Hash
|
|
333
|
-
|
|
334
|
-
Returns contents of the STATISTICS record as a Hash.
|
|
335
|
-
|
|
336
|
-
--- Bio::KEGG::GENOME#nalen -> Fixnum
|
|
337
|
-
|
|
338
|
-
Returns number of nucleotides from the STATISTICS record as a Fixnum.
|
|
339
|
-
|
|
340
|
-
--- Bio::KEGG::GENOME#num_gene -> Fixnum
|
|
341
|
-
|
|
342
|
-
Returns number of protein genes from the STATISTICS record as a Fixnum.
|
|
343
|
-
|
|
344
|
-
--- Bio::KEGG::GENOME#num_rna -> Fixnum
|
|
345
|
-
|
|
346
|
-
Returns number of rna from the STATISTICS record as a Fixnum.
|
|
347
|
-
|
|
348
|
-
--- Bio::KEGG::GENOME#gc -> Float
|
|
349
|
-
|
|
350
|
-
Returns G+C content from the STATISTICS record as a Float.
|
|
351
|
-
|
|
352
|
-
=== GENOMEMAP
|
|
353
|
-
|
|
354
|
-
--- Bio::KEGG::GENOME#genomemap -> String
|
|
355
|
-
|
|
356
|
-
Returns contents of the GENOMEMAP record as a String.
|
|
357
|
-
|
|
358
|
-
== SEE ALSO
|
|
359
|
-
|
|
360
|
-
ftp://ftp.genome.jp/pub/kegg/genomes/genome
|
|
361
|
-
|
|
362
|
-
=end
|