bio-nexml 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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
+