bio-nexml 0.0.1

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.
Files changed (57) hide show
  1. data/Gemfile +15 -0
  2. data/Gemfile.lock +24 -0
  3. data/LICENSE.txt +20 -0
  4. data/README.rdoc +47 -0
  5. data/Rakefile +55 -0
  6. data/TODO.txt +6 -0
  7. data/VERSION +1 -0
  8. data/bio-nexml.gemspec +126 -0
  9. data/extconf.rb +2 -0
  10. data/lib/bio-nexml.rb +0 -0
  11. data/lib/bio.rb +321 -0
  12. data/lib/bio/db/nexml.rb +109 -0
  13. data/lib/bio/db/nexml/mapper.rb +113 -0
  14. data/lib/bio/db/nexml/mapper/framework.rb +157 -0
  15. data/lib/bio/db/nexml/mapper/inflection.rb +99 -0
  16. data/lib/bio/db/nexml/mapper/repository.rb +59 -0
  17. data/lib/bio/db/nexml/matrix.rb +1046 -0
  18. data/lib/bio/db/nexml/parser.rb +622 -0
  19. data/lib/bio/db/nexml/schema/README.txt +21 -0
  20. data/lib/bio/db/nexml/schema/abstract.xsd +159 -0
  21. data/lib/bio/db/nexml/schema/characters/README.txt +1 -0
  22. data/lib/bio/db/nexml/schema/characters/abstractcharacters.xsd +361 -0
  23. data/lib/bio/db/nexml/schema/characters/characters.xsd +22 -0
  24. data/lib/bio/db/nexml/schema/characters/continuous.xsd +190 -0
  25. data/lib/bio/db/nexml/schema/characters/dna.xsd +282 -0
  26. data/lib/bio/db/nexml/schema/characters/protein.xsd +280 -0
  27. data/lib/bio/db/nexml/schema/characters/restriction.xsd +239 -0
  28. data/lib/bio/db/nexml/schema/characters/rna.xsd +283 -0
  29. data/lib/bio/db/nexml/schema/characters/standard.xsd +261 -0
  30. data/lib/bio/db/nexml/schema/external/sawsdl.xsd +21 -0
  31. data/lib/bio/db/nexml/schema/external/xhtml-datatypes-1.xsd +177 -0
  32. data/lib/bio/db/nexml/schema/external/xlink.xsd +75 -0
  33. data/lib/bio/db/nexml/schema/external/xml.xsd +145 -0
  34. data/lib/bio/db/nexml/schema/meta/README.txt +2 -0
  35. data/lib/bio/db/nexml/schema/meta/annotations.xsd +100 -0
  36. data/lib/bio/db/nexml/schema/meta/meta.xsd +294 -0
  37. data/lib/bio/db/nexml/schema/nexml.xsd +104 -0
  38. data/lib/bio/db/nexml/schema/taxa/README.txt +2 -0
  39. data/lib/bio/db/nexml/schema/taxa/taxa.xsd +39 -0
  40. data/lib/bio/db/nexml/schema/trees/README.txt +2 -0
  41. data/lib/bio/db/nexml/schema/trees/abstracttrees.xsd +135 -0
  42. data/lib/bio/db/nexml/schema/trees/network.xsd +113 -0
  43. data/lib/bio/db/nexml/schema/trees/tree.xsd +149 -0
  44. data/lib/bio/db/nexml/schema/trees/trees.xsd +36 -0
  45. data/lib/bio/db/nexml/taxa.rb +147 -0
  46. data/lib/bio/db/nexml/trees.rb +663 -0
  47. data/lib/bio/db/nexml/writer.rb +265 -0
  48. data/test/data/nexml/test.xml +69 -0
  49. data/test/test_bio-nexml.rb +17 -0
  50. data/test/unit/bio/db/nexml/tc_factory.rb +119 -0
  51. data/test/unit/bio/db/nexml/tc_mapper.rb +78 -0
  52. data/test/unit/bio/db/nexml/tc_matrix.rb +551 -0
  53. data/test/unit/bio/db/nexml/tc_parser.rb +21 -0
  54. data/test/unit/bio/db/nexml/tc_taxa.rb +118 -0
  55. data/test/unit/bio/db/nexml/tc_trees.rb +370 -0
  56. data/test/unit/bio/db/nexml/tc_writer.rb +633 -0
  57. metadata +253 -0
data/Gemfile ADDED
@@ -0,0 +1,15 @@
1
+ source "http://rubygems.org"
2
+ # Add dependencies required to use your gem here.
3
+ # Example:
4
+ # gem "activesupport", ">= 2.3.5"
5
+
6
+ # Add dependencies to develop your gem here.
7
+ # Include everything needed to run rake, tests, features, etc.
8
+ group :development do
9
+ gem "shoulda", ">= 0"
10
+ gem "bundler", "~> 1.0.0"
11
+ gem "jeweler", "~> 1.5.2"
12
+ gem "rcov", ">= 0"
13
+ gem "bio", ">= 1.4.1"
14
+ gem "libxml-ruby", ">= 1.1.4"
15
+ end
@@ -0,0 +1,24 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ bio (1.4.1)
5
+ git (1.2.5)
6
+ jeweler (1.5.2)
7
+ bundler (~> 1.0.0)
8
+ git (>= 1.2.5)
9
+ rake
10
+ libxml-ruby (1.1.4)
11
+ rake (0.8.7)
12
+ rcov (0.9.9)
13
+ shoulda (2.11.3)
14
+
15
+ PLATFORMS
16
+ ruby
17
+
18
+ DEPENDENCIES
19
+ bio (>= 1.4.1)
20
+ bundler (~> 1.0.0)
21
+ jeweler (~> 1.5.2)
22
+ libxml-ruby (>= 1.1.4)
23
+ rcov
24
+ shoulda
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2011 rvosa
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,47 @@
1
+ = bio-nexml
2
+
3
+ NeXML is a file format for phylogenetic data. It is inspired by the modular
4
+ architecture of the commonly-used NEXUS file format (hence the name) in that
5
+ a NeXML instance document can contain:
6
+ * sets of Operational Taxonomic Units (OTUs), i.e. the tips in phylogenetic
7
+ trees, and that which comparative observations are made on. Often these are
8
+ species ("taxa").
9
+ * sets of phylogenetic trees (or reticulate trees, i.e. networks)
10
+ * sets of comparative data, i.e. molecular sequences, morphological categorical
11
+ data, continuous data, and other types.
12
+
13
+ The elements in a NeXML document can be annotated using RDFa
14
+ (http://en.wikipedia.org/wiki/RDFa), which means that every object that can
15
+ be parsed out of a NeXML document must be an object that, in turn, can be
16
+ annotated with predicates (and their namespaces) and other objects (with,
17
+ perhaps, their own namespaces). The advantage over previous file formats is
18
+ that we can retain all metadata for all objects within one file, regardless
19
+ where the metadata come from.
20
+
21
+ NeXML can be transformed to RDF using an XSL stylesheet. As such, NeXML forms
22
+ an intermediate format between traditional flat file formats (with predictable
23
+ structure but no semantics) and RDF (with loose structure, but lots of
24
+ semantics) that is both easy to work with, yet ready for the Semantic Web.
25
+
26
+ To learn more, visit http://www.nexml.org
27
+
28
+ == Contributing to bio-nexml
29
+
30
+ * Check out the latest master to make sure the feature hasn't been implemented
31
+ or the bug hasn't been fixed yet
32
+ * Check out the issue tracker to make sure someone already hasn't requested it
33
+ and/or contributed it
34
+ * Fork the project
35
+ * Start a feature/bugfix branch
36
+ * Commit and push until you are happy with your contribution
37
+ * Make sure to add tests for it. This is important so I don't break it in a
38
+ future version unintentionally.
39
+ * Please try not to mess with the Rakefile, version, or history. If you want to
40
+ have your own version, or is otherwise necessary, that is fine, but please
41
+ isolate to its own commit so I can cherry-pick around it.
42
+
43
+ == Copyright
44
+
45
+ Copyright (c) 2011 rvosa. See LICENSE.txt for
46
+ further details.
47
+
@@ -0,0 +1,55 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ begin
4
+ Bundler.setup(:default, :development)
5
+ rescue Bundler::BundlerError => e
6
+ $stderr.puts e.message
7
+ $stderr.puts "Run `bundle install` to install missing gems"
8
+ exit e.status_code
9
+ end
10
+ require 'rake'
11
+
12
+ require 'jeweler'
13
+ Jeweler::Tasks.new do |gem|
14
+ # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
15
+ gem.name = "bio-nexml"
16
+ gem.homepage = "http://github.com/rvosa/bioruby-nexml"
17
+ gem.license = "MIT"
18
+ gem.summary = %Q{BioRuby plugin for reading and writing NeXML (http://nexml.org)}
19
+ gem.description = %Q{This plugin reads, writes and generates NeXML}
20
+ gem.email = "rutgeraldo@gmail.com"
21
+ gem.authors = ["rvosa"]
22
+ gem.add_runtime_dependency 'libxml-ruby', '1.1.4'
23
+ gem.add_development_dependency 'libxml-ruby', '1.1.4'
24
+ # Include your dependencies below. Runtime dependencies are required when using your gem,
25
+ # and development dependencies are only needed for development (ie running rake tasks, tests, etc)
26
+ # gem.add_runtime_dependency 'jabber4r', '> 0.1'
27
+ # gem.add_development_dependency 'rspec', '> 1.2.3'
28
+ end
29
+ Jeweler::RubygemsDotOrgTasks.new
30
+
31
+ require 'rake/testtask'
32
+ Rake::TestTask.new(:test) do |test|
33
+ test.libs << 'lib' << 'test'
34
+ test.pattern = 'test/**/test_*.rb'
35
+ test.verbose = true
36
+ end
37
+
38
+ require 'rcov/rcovtask'
39
+ Rcov::RcovTask.new do |test|
40
+ test.libs << 'test'
41
+ test.pattern = 'test/**/test_*.rb'
42
+ test.verbose = true
43
+ end
44
+
45
+ task :default => :test
46
+
47
+ require 'rake/rdoctask'
48
+ Rake::RDocTask.new do |rdoc|
49
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
50
+
51
+ rdoc.rdoc_dir = 'rdoc'
52
+ rdoc.title = "bio-nexml #{version}"
53
+ rdoc.rdoc_files.include('README*')
54
+ rdoc.rdoc_files.include('lib/**/*.rb')
55
+ end
@@ -0,0 +1,6 @@
1
+ * it would be good if objects could only be instantiated in the right nesting
2
+ order, e.g. you wouldn't do cell = Cell.new, but you'd do
3
+ cell = Row.create_cell and the nesting is automatically handled for you.
4
+ I think the way to do this is to require the containing object to be passed
5
+ (recursively) to the constructors, while create_foo internally does this,
6
+ passing self to the constructor.
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.1
@@ -0,0 +1,126 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{bio-nexml}
8
+ s.version = "0.0.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["rvosa"]
12
+ s.date = %q{2011-03-01}
13
+ s.description = %q{This plugin reads, writes and generates NeXML}
14
+ s.email = %q{rutgeraldo@gmail.com}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ "Gemfile",
21
+ "Gemfile.lock",
22
+ "LICENSE.txt",
23
+ "README.rdoc",
24
+ "Rakefile",
25
+ "TODO.txt",
26
+ "VERSION",
27
+ "bio-nexml.gemspec",
28
+ "extconf.rb",
29
+ "lib/bio-nexml.rb",
30
+ "lib/bio.rb",
31
+ "lib/bio/db/nexml.rb",
32
+ "lib/bio/db/nexml/mapper.rb",
33
+ "lib/bio/db/nexml/mapper/framework.rb",
34
+ "lib/bio/db/nexml/mapper/inflection.rb",
35
+ "lib/bio/db/nexml/mapper/repository.rb",
36
+ "lib/bio/db/nexml/matrix.rb",
37
+ "lib/bio/db/nexml/parser.rb",
38
+ "lib/bio/db/nexml/schema/README.txt",
39
+ "lib/bio/db/nexml/schema/abstract.xsd",
40
+ "lib/bio/db/nexml/schema/characters/README.txt",
41
+ "lib/bio/db/nexml/schema/characters/abstractcharacters.xsd",
42
+ "lib/bio/db/nexml/schema/characters/characters.xsd",
43
+ "lib/bio/db/nexml/schema/characters/continuous.xsd",
44
+ "lib/bio/db/nexml/schema/characters/dna.xsd",
45
+ "lib/bio/db/nexml/schema/characters/protein.xsd",
46
+ "lib/bio/db/nexml/schema/characters/restriction.xsd",
47
+ "lib/bio/db/nexml/schema/characters/rna.xsd",
48
+ "lib/bio/db/nexml/schema/characters/standard.xsd",
49
+ "lib/bio/db/nexml/schema/external/sawsdl.xsd",
50
+ "lib/bio/db/nexml/schema/external/xhtml-datatypes-1.xsd",
51
+ "lib/bio/db/nexml/schema/external/xlink.xsd",
52
+ "lib/bio/db/nexml/schema/external/xml.xsd",
53
+ "lib/bio/db/nexml/schema/meta/README.txt",
54
+ "lib/bio/db/nexml/schema/meta/annotations.xsd",
55
+ "lib/bio/db/nexml/schema/meta/meta.xsd",
56
+ "lib/bio/db/nexml/schema/nexml.xsd",
57
+ "lib/bio/db/nexml/schema/taxa/README.txt",
58
+ "lib/bio/db/nexml/schema/taxa/taxa.xsd",
59
+ "lib/bio/db/nexml/schema/trees/README.txt",
60
+ "lib/bio/db/nexml/schema/trees/abstracttrees.xsd",
61
+ "lib/bio/db/nexml/schema/trees/network.xsd",
62
+ "lib/bio/db/nexml/schema/trees/tree.xsd",
63
+ "lib/bio/db/nexml/schema/trees/trees.xsd",
64
+ "lib/bio/db/nexml/taxa.rb",
65
+ "lib/bio/db/nexml/trees.rb",
66
+ "lib/bio/db/nexml/writer.rb",
67
+ "test/data/nexml/test.xml",
68
+ "test/test_bio-nexml.rb",
69
+ "test/unit/bio/db/nexml/tc_factory.rb",
70
+ "test/unit/bio/db/nexml/tc_mapper.rb",
71
+ "test/unit/bio/db/nexml/tc_matrix.rb",
72
+ "test/unit/bio/db/nexml/tc_parser.rb",
73
+ "test/unit/bio/db/nexml/tc_taxa.rb",
74
+ "test/unit/bio/db/nexml/tc_trees.rb",
75
+ "test/unit/bio/db/nexml/tc_writer.rb"
76
+ ]
77
+ s.homepage = %q{http://github.com/rvosa/bioruby-nexml}
78
+ s.licenses = ["MIT"]
79
+ s.require_paths = ["lib"]
80
+ s.rubygems_version = %q{1.4.2}
81
+ s.summary = %q{BioRuby plugin for reading and writing NeXML (http://nexml.org)}
82
+ s.test_files = [
83
+ "test/test_bio-nexml.rb",
84
+ "test/unit/bio/db/nexml/tc_factory.rb",
85
+ "test/unit/bio/db/nexml/tc_mapper.rb",
86
+ "test/unit/bio/db/nexml/tc_matrix.rb",
87
+ "test/unit/bio/db/nexml/tc_parser.rb",
88
+ "test/unit/bio/db/nexml/tc_taxa.rb",
89
+ "test/unit/bio/db/nexml/tc_trees.rb",
90
+ "test/unit/bio/db/nexml/tc_writer.rb"
91
+ ]
92
+
93
+ if s.respond_to? :specification_version then
94
+ s.specification_version = 3
95
+
96
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
97
+ s.add_development_dependency(%q<shoulda>, [">= 0"])
98
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
99
+ s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
100
+ s.add_development_dependency(%q<rcov>, [">= 0"])
101
+ s.add_development_dependency(%q<bio>, [">= 1.4.1"])
102
+ s.add_development_dependency(%q<libxml-ruby>, [">= 1.1.4"])
103
+ s.add_runtime_dependency(%q<libxml-ruby>, ["= 1.1.4"])
104
+ s.add_development_dependency(%q<libxml-ruby>, ["= 1.1.4"])
105
+ else
106
+ s.add_dependency(%q<shoulda>, [">= 0"])
107
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
108
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
109
+ s.add_dependency(%q<rcov>, [">= 0"])
110
+ s.add_dependency(%q<bio>, [">= 1.4.1"])
111
+ s.add_dependency(%q<libxml-ruby>, [">= 1.1.4"])
112
+ s.add_dependency(%q<libxml-ruby>, ["= 1.1.4"])
113
+ s.add_dependency(%q<libxml-ruby>, ["= 1.1.4"])
114
+ end
115
+ else
116
+ s.add_dependency(%q<shoulda>, [">= 0"])
117
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
118
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
119
+ s.add_dependency(%q<rcov>, [">= 0"])
120
+ s.add_dependency(%q<bio>, [">= 1.4.1"])
121
+ s.add_dependency(%q<libxml-ruby>, [">= 1.1.4"])
122
+ s.add_dependency(%q<libxml-ruby>, ["= 1.1.4"])
123
+ s.add_dependency(%q<libxml-ruby>, ["= 1.1.4"])
124
+ end
125
+ end
126
+
@@ -0,0 +1,2 @@
1
+ require 'mkmf'
2
+ create_makefile("bio-nexml")
File without changes
@@ -0,0 +1,321 @@
1
+ #
2
+ # = bio.rb - Loading all BioRuby modules
3
+ #
4
+ # Copyright:: Copyright (C) 2001-2007
5
+ # Toshiaki Katayama <k@bioruby.org>
6
+ # License:: The Ruby License
7
+ #
8
+ # $Id:$
9
+ #
10
+
11
+ module Bio
12
+
13
+ autoload :BIORUBY_VERSION, 'bio/version'
14
+ autoload :BIORUBY_EXTRA_VERSION, 'bio/version'
15
+ autoload :BIORUBY_VERSION_ID, 'bio/version'
16
+
17
+ ### Basic data types
18
+
19
+ ## Sequence
20
+
21
+ autoload :Sequence, 'bio/sequence'
22
+ ## below are described in bio/sequence.rb
23
+ #class Sequence
24
+ # autoload :Common, 'bio/sequence/common'
25
+ # autoload :NA, 'bio/sequence/na'
26
+ # autoload :AA, 'bio/sequence/aa'
27
+ # autoload :Generic, 'bio/sequence/generic'
28
+ # autoload :Format, 'bio/sequence/format'
29
+ # autoload :Adapter, 'bio/sequence/adapter'
30
+ #end
31
+
32
+ ## Locations/Location
33
+
34
+ autoload :Location, 'bio/location'
35
+ autoload :Locations, 'bio/location'
36
+
37
+ ## Features/Feature
38
+
39
+ autoload :Feature, 'bio/feature'
40
+ autoload :Features, 'bio/compat/features'
41
+
42
+ ## References/Reference
43
+
44
+ autoload :Reference, 'bio/reference'
45
+ autoload :References, 'bio/compat/references'
46
+
47
+ ## Pathway/Relation
48
+
49
+ autoload :Pathway, 'bio/pathway'
50
+ autoload :Relation, 'bio/pathway'
51
+
52
+ ## Alignment
53
+
54
+ autoload :Alignment, 'bio/alignment'
55
+
56
+ ## Tree
57
+ autoload :Tree, 'bio/tree'
58
+
59
+ ## Map
60
+ autoload :Map, 'bio/map'
61
+
62
+ ### Constants
63
+
64
+ autoload :NucleicAcid, 'bio/data/na'
65
+ autoload :AminoAcid, 'bio/data/aa'
66
+ autoload :CodonTable, 'bio/data/codontable'
67
+
68
+
69
+ ### DB parsers
70
+
71
+ autoload :DB, 'bio/db'
72
+ autoload :NCBIDB, 'bio/db'
73
+ autoload :KEGGDB, 'bio/db'
74
+ autoload :EMBLDB, 'bio/db'
75
+
76
+ ## GenBank/RefSeq/DDBJ
77
+
78
+ autoload :GenBank, 'bio/db/genbank/genbank'
79
+ autoload :GenPept, 'bio/db/genbank/genpept'
80
+ autoload :RefSeq, 'bio/db/genbank/refseq'
81
+ autoload :DDBJ, 'bio/db/genbank/ddbj'
82
+ ## below are described in bio/db/genbank/ddbj.rb
83
+ #class DDBJ
84
+ # autoload :XML, 'bio/io/ddbjxml'
85
+ #end
86
+
87
+ ## EMBL/TrEMBL/Swiss-Prot/SPTR
88
+
89
+ autoload :EMBL, 'bio/db/embl/embl'
90
+ autoload :SPTR, 'bio/db/embl/sptr'
91
+ autoload :TrEMBL, 'bio/db/embl/trembl'
92
+ autoload :UniProt, 'bio/db/embl/uniprot'
93
+ autoload :SwissProt, 'bio/db/embl/swissprot'
94
+
95
+ ## KEGG
96
+
97
+ class KEGG
98
+ autoload :GENOME, 'bio/db/kegg/genome'
99
+ autoload :GENES, 'bio/db/kegg/genes'
100
+ autoload :ENZYME, 'bio/db/kegg/enzyme'
101
+ autoload :COMPOUND, 'bio/db/kegg/compound'
102
+ autoload :DRUG, 'bio/db/kegg/drug'
103
+ autoload :GLYCAN, 'bio/db/kegg/glycan'
104
+ autoload :REACTION, 'bio/db/kegg/reaction'
105
+ autoload :BRITE, 'bio/db/kegg/brite'
106
+ autoload :CELL, 'bio/db/kegg/cell'
107
+ autoload :EXPRESSION, 'bio/db/kegg/expression'
108
+ autoload :ORTHOLOGY, 'bio/db/kegg/orthology'
109
+ autoload :KGML, 'bio/db/kegg/kgml'
110
+ autoload :Taxonomy, 'bio/db/kegg/taxonomy'
111
+ end
112
+
113
+ ## other formats
114
+
115
+ autoload :FastaFormat, 'bio/db/fasta'
116
+ autoload :FastaNumericFormat, 'bio/db/fasta/qual' # change to FastaFormat::Numeric ?
117
+ autoload :FastaDefline, 'bio/db/fasta/defline' # change to FastaFormat::Defline ?
118
+ autoload :Fastq, 'bio/db/fastq'
119
+ autoload :GFF, 'bio/db/gff'
120
+ autoload :AAindex, 'bio/db/aaindex'
121
+ autoload :AAindex1, 'bio/db/aaindex' # change to AAindex::AAindex1 ?
122
+ autoload :AAindex2, 'bio/db/aaindex' # change to AAindex::AAindex2 ?
123
+ autoload :TRANSFAC, 'bio/db/transfac'
124
+ autoload :PROSITE, 'bio/db/prosite'
125
+ autoload :LITDB, 'bio/db/litdb'
126
+ autoload :MEDLINE, 'bio/db/medline'
127
+ autoload :FANTOM, 'bio/db/fantom'
128
+ autoload :GO, 'bio/db/go'
129
+ autoload :PDB, 'bio/db/pdb'
130
+ autoload :NBRF, 'bio/db/nbrf'
131
+ autoload :REBASE, 'bio/db/rebase'
132
+ autoload :SOFT, 'bio/db/soft'
133
+ autoload :Lasergene, 'bio/db/lasergene'
134
+ autoload :SangerChromatogram, 'bio/db/sanger_chromatogram/chromatogram'
135
+ autoload :Scf, 'bio/db/sanger_chromatogram/scf'
136
+ autoload :Abif, 'bio/db/sanger_chromatogram/abif'
137
+
138
+ autoload :Newick, 'bio/db/newick'
139
+ autoload :Nexus, 'bio/db/nexus'
140
+
141
+ autoload :PhyloXML, 'bio/db/phyloxml/phyloxml_elements'
142
+ # Bio::Taxonomy will be moved to other file
143
+ autoload :Taxonomy, 'bio/db/phyloxml/phyloxml_elements'
144
+ ## below are described in bio/db/phyloxml/phyloxml_elements.rb
145
+ #module PhyloXML
146
+ # autoload :Parser, 'bio/db/phyloxml/phyloxml_parser'
147
+ # autoload :Writer, 'bio/db/phyloxml/phyloxml_writer'
148
+ #end
149
+
150
+ ### IO interface modules
151
+
152
+ autoload :Registry, 'bio/io/registry'
153
+ autoload :Fetch, 'bio/io/fetch'
154
+ autoload :SQL, 'bio/io/sql'
155
+ autoload :SOAPWSDL, 'bio/io/soapwsdl'
156
+ autoload :FlatFile, 'bio/io/flatfile'
157
+ autoload :FlatFileIndex, 'bio/io/flatfile/index' # chage to FlatFile::Index ?
158
+ ## below are described in bio/io/flatfile/index.rb
159
+ #class FlatFileIndex
160
+ # autoload :Indexer, 'bio/io/flatfile/indexer'
161
+ # autoload :BDBdefault, 'bio/io/flatfile/bdb'
162
+ # autoload :BDBwrapper, 'bio/io/flatfile/bdb'
163
+ # autoload :BDB_1, 'bio/io/flatfile/bdb'
164
+ #end
165
+
166
+ autoload :PubMed, 'bio/io/pubmed'
167
+ autoload :DAS, 'bio/io/das'
168
+ autoload :DBGET, 'bio/io/dbget'
169
+
170
+ autoload :Ensembl, 'bio/io/ensembl'
171
+ autoload :Hinv, 'bio/io/hinv'
172
+
173
+ ## below are described in bio/appl/blast.rb
174
+ #class Blast
175
+ # autoload :Fastacmd, 'bio/io/fastacmd'
176
+ #end
177
+
178
+ class KEGG
179
+ autoload :API, 'bio/io/keggapi'
180
+ end
181
+
182
+ ## below are described in bio/db/genbank/ddbj.rb
183
+ #class DDBJ
184
+ # autoload :XML, 'bio/io/ddbjxml'
185
+ #end
186
+
187
+ class HGC
188
+ autoload :HiGet, 'bio/io/higet'
189
+ end
190
+
191
+ class EBI
192
+ autoload :SOAP, 'bio/io/ebisoap'
193
+ end
194
+
195
+ autoload :NCBI, 'bio/io/ncbirest'
196
+ ## below are described in bio/io/ncbirest.rb
197
+ #class NCBI
198
+ # autoload :SOAP, 'bio/io/ncbisoap'
199
+ # autoload :REST, 'bio/io/ncbirest'
200
+ #end
201
+
202
+ autoload :TogoWS, 'bio/io/togows'
203
+
204
+ ### Applications
205
+
206
+ autoload :Fasta, 'bio/appl/fasta'
207
+ ## below are described in bio/appl/fasta.rb
208
+ #class Fasta
209
+ # autoload :Report, 'bio/appl/fasta/format10'
210
+ #end
211
+
212
+ autoload :Blast, 'bio/appl/blast'
213
+ ## below are described in bio/appl/blast.rb
214
+ #class Blast
215
+ # autoload :Fastacmd, 'bio/io/fastacmd'
216
+ # autoload :Report, 'bio/appl/blast/report'
217
+ # autoload :Default, 'bio/appl/blast/format0'
218
+ # autoload :WU, 'bio/appl/blast/wublast'
219
+ # autoload :Bl2seq, 'bio/appl/bl2seq/report'
220
+ # autoload :RPSBlast, 'bio/appl/blast/rpsblast'
221
+ # autoload :NCBIOptions, 'bio/appl/blast/ncbioptions'
222
+ # autoload :Remote, 'bio/appl/blast/remote'
223
+ #end
224
+
225
+ autoload :HMMER, 'bio/appl/hmmer'
226
+ ## below are described in bio/appl/hmmer.rb
227
+ #class HMMER
228
+ # autoload :Report, 'bio/appl/hmmer/report'
229
+ #end
230
+
231
+ autoload :EMBOSS, 'bio/appl/emboss' # use bio/command, improve
232
+
233
+ autoload :PSORT, 'bio/appl/psort'
234
+ ## below are described in bio/appl/psort.rb
235
+ #class PSORT
236
+ # class PSORT1
237
+ # autoload :Report, 'bio/appl/psort/report'
238
+ # end
239
+ # class PSORT2
240
+ # autoload :Report, 'bio/appl/psort/report'
241
+ # end
242
+ #end
243
+
244
+ autoload :TMHMM, 'bio/appl/tmhmm/report'
245
+ autoload :TargetP, 'bio/appl/targetp/report'
246
+ autoload :SOSUI, 'bio/appl/sosui/report'
247
+ autoload :Genscan, 'bio/appl/genscan/report'
248
+
249
+ autoload :ClustalW, 'bio/appl/clustalw'
250
+ ## below are described in bio/appl/clustalw.rb
251
+ #class ClustalW
252
+ # autoload :Report, 'bio/appl/clustalw/report'
253
+ #end
254
+
255
+ autoload :MAFFT, 'bio/appl/mafft'
256
+ ## below are described in bio/appl/mafft.rb
257
+ #class MAFFT
258
+ # autoload :Report, 'bio/appl/mafft/report'
259
+ #end
260
+
261
+ autoload :Tcoffee, 'bio/appl/tcoffee'
262
+ autoload :Muscle, 'bio/appl/muscle'
263
+ autoload :Probcons, 'bio/appl/probcons'
264
+
265
+ autoload :Sim4, 'bio/appl/sim4'
266
+ ## below are described in bio/appl/sim4.rb
267
+ #class Sim4
268
+ # autoload :Report, 'bio/appl/sim4/report'
269
+ #end
270
+
271
+ autoload :Spidey, 'bio/appl/spidey/report'
272
+ autoload :Blat, 'bio/appl/blat/report'
273
+
274
+ module GCG
275
+ autoload :Msf, 'bio/appl/gcg/msf'
276
+ autoload :Seq, 'bio/appl/gcg/seq'
277
+ end
278
+
279
+ module Phylip
280
+ autoload :PhylipFormat, 'bio/appl/phylip/alignment'
281
+ autoload :DistanceMatrix, 'bio/appl/phylip/distance_matrix'
282
+ end
283
+
284
+ autoload :Iprscan, 'bio/appl/iprscan/report'
285
+
286
+ autoload :PAML, 'bio/appl/paml/common'
287
+ ## below are described in bio/appl/paml/common.rb
288
+ # module PAML
289
+ # autoload :Codeml, 'bio/appl/paml/codeml'
290
+ # autoload :Baseml, 'bio/appl/paml/baseml'
291
+ # autoload :Yn00, 'bio/appl/paml/yn00'
292
+ # end
293
+
294
+ ### Utilities
295
+
296
+ autoload :SiRNA, 'bio/util/sirna'
297
+ autoload :ColorScheme, 'bio/util/color_scheme'
298
+ autoload :ContingencyTable, 'bio/util/contingency_table'
299
+ autoload :RestrictionEnzyme, 'bio/util/restriction_enzyme'
300
+
301
+ ### Service libraries
302
+ autoload :Command, 'bio/command'
303
+
304
+ ### NeXML lib
305
+ autoload :NeXML, 'bio/db/nexml'
306
+
307
+ ### Provide BioRuby shell 'command' also as 'Bio.command' (like ChemRuby)
308
+
309
+ def self.method_missing(*args)
310
+ require 'bio/shell'
311
+ extend Bio::Shell
312
+ public_class_method(*Bio::Shell.private_instance_methods)
313
+ if Bio.respond_to?(args.first)
314
+ Bio.send(*args)
315
+ else
316
+ raise NameError
317
+ end
318
+ end
319
+
320
+ end
321
+