bio 1.2.1 → 1.3.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.
Files changed (259) hide show
  1. data/ChangeLog +3421 -0
  2. data/KNOWN_ISSUES.rdoc +88 -0
  3. data/README.rdoc +252 -0
  4. data/README_DEV.rdoc +285 -0
  5. data/Rakefile +143 -0
  6. data/bin/bioruby +0 -0
  7. data/bin/br_biofetch.rb +0 -0
  8. data/bin/br_bioflat.rb +12 -1
  9. data/bin/br_biogetseq.rb +0 -0
  10. data/bin/br_pmfetch.rb +4 -3
  11. data/bioruby.gemspec +477 -0
  12. data/bioruby.gemspec.erb +117 -0
  13. data/doc/Changes-0.7.rd +7 -0
  14. data/doc/Changes-1.3.rdoc +239 -0
  15. data/doc/Tutorial.rd +296 -184
  16. data/doc/Tutorial.rd.html +1031 -0
  17. data/doc/Tutorial.rd.ja +111 -45
  18. data/doc/Tutorial.rd.ja.html +2225 -0
  19. data/doc/bioruby.css +281 -0
  20. data/extconf.rb +2 -0
  21. data/lib/bio.rb +29 -4
  22. data/lib/bio/appl/blast.rb +306 -121
  23. data/lib/bio/appl/blast/ddbj.rb +142 -0
  24. data/lib/bio/appl/blast/format0.rb +35 -25
  25. data/lib/bio/appl/blast/format8.rb +2 -2
  26. data/lib/bio/appl/blast/genomenet.rb +263 -0
  27. data/lib/bio/appl/blast/ncbioptions.rb +220 -0
  28. data/lib/bio/appl/blast/remote.rb +106 -0
  29. data/lib/bio/appl/blast/report.rb +260 -9
  30. data/lib/bio/appl/blast/rexml.rb +12 -5
  31. data/lib/bio/appl/blast/rpsblast.rb +277 -0
  32. data/lib/bio/appl/blast/wublast.rb +133 -12
  33. data/lib/bio/appl/blast/xmlparser.rb +35 -18
  34. data/lib/bio/appl/blat/report.rb +46 -5
  35. data/lib/bio/appl/emboss.rb +62 -13
  36. data/lib/bio/appl/fasta.rb +9 -11
  37. data/lib/bio/appl/genscan/report.rb +3 -3
  38. data/lib/bio/appl/hmmer.rb +1 -1
  39. data/lib/bio/appl/hmmer/report.rb +10 -10
  40. data/lib/bio/appl/paml/baseml.rb +95 -0
  41. data/lib/bio/appl/paml/baseml/report.rb +32 -0
  42. data/lib/bio/appl/paml/codeml.rb +242 -0
  43. data/lib/bio/appl/paml/codeml/rates.rb +67 -0
  44. data/lib/bio/appl/paml/codeml/report.rb +67 -0
  45. data/lib/bio/appl/paml/common.rb +348 -0
  46. data/lib/bio/appl/paml/common_report.rb +38 -0
  47. data/lib/bio/appl/paml/yn00.rb +103 -0
  48. data/lib/bio/appl/paml/yn00/report.rb +32 -0
  49. data/lib/bio/appl/psort.rb +2 -2
  50. data/lib/bio/appl/pts1.rb +5 -5
  51. data/lib/bio/appl/tmhmm/report.rb +10 -1
  52. data/lib/bio/command.rb +297 -41
  53. data/lib/bio/compat/features.rb +157 -0
  54. data/lib/bio/compat/references.rb +128 -0
  55. data/lib/bio/db/biosql/biosql_to_biosequence.rb +67 -0
  56. data/lib/bio/db/biosql/sequence.rb +508 -0
  57. data/lib/bio/db/embl/common.rb +28 -12
  58. data/lib/bio/db/embl/embl.rb +107 -9
  59. data/lib/bio/db/embl/embl_to_biosequence.rb +85 -0
  60. data/lib/bio/db/embl/format_embl.rb +190 -0
  61. data/lib/bio/db/embl/sptr.rb +15 -16
  62. data/lib/bio/db/fantom.rb +6 -8
  63. data/lib/bio/db/fasta.rb +10 -507
  64. data/lib/bio/db/fasta/defline.rb +532 -0
  65. data/lib/bio/db/fasta/fasta_to_biosequence.rb +63 -0
  66. data/lib/bio/db/fasta/format_fasta.rb +97 -0
  67. data/lib/bio/db/genbank/common.rb +25 -8
  68. data/lib/bio/db/genbank/format_genbank.rb +187 -0
  69. data/lib/bio/db/genbank/genbank.rb +36 -1
  70. data/lib/bio/db/genbank/genbank_to_biosequence.rb +86 -0
  71. data/lib/bio/db/gff.rb +1791 -119
  72. data/lib/bio/db/kegg/glycan.rb +2 -6
  73. data/lib/bio/db/lasergene.rb +3 -3
  74. data/lib/bio/db/medline.rb +4 -1
  75. data/lib/bio/db/newick.rb +10 -10
  76. data/lib/bio/db/pdb/chain.rb +6 -2
  77. data/lib/bio/db/pdb/pdb.rb +12 -3
  78. data/lib/bio/db/rebase.rb +7 -8
  79. data/lib/bio/db/soft.rb +3 -3
  80. data/lib/bio/feature.rb +1 -88
  81. data/lib/bio/io/biosql/biodatabase.rb +64 -0
  82. data/lib/bio/io/biosql/bioentry.rb +29 -0
  83. data/lib/bio/io/biosql/bioentry_dbxref.rb +11 -0
  84. data/lib/bio/io/biosql/bioentry_path.rb +12 -0
  85. data/lib/bio/io/biosql/bioentry_qualifier_value.rb +10 -0
  86. data/lib/bio/io/biosql/bioentry_reference.rb +10 -0
  87. data/lib/bio/io/biosql/bioentry_relationship.rb +10 -0
  88. data/lib/bio/io/biosql/biosequence.rb +11 -0
  89. data/lib/bio/io/biosql/comment.rb +7 -0
  90. data/lib/bio/io/biosql/config/database.yml +20 -0
  91. data/lib/bio/io/biosql/dbxref.rb +13 -0
  92. data/lib/bio/io/biosql/dbxref_qualifier_value.rb +12 -0
  93. data/lib/bio/io/biosql/location.rb +32 -0
  94. data/lib/bio/io/biosql/location_qualifier_value.rb +11 -0
  95. data/lib/bio/io/biosql/ontology.rb +10 -0
  96. data/lib/bio/io/biosql/reference.rb +9 -0
  97. data/lib/bio/io/biosql/seqfeature.rb +32 -0
  98. data/lib/bio/io/biosql/seqfeature_dbxref.rb +11 -0
  99. data/lib/bio/io/biosql/seqfeature_path.rb +11 -0
  100. data/lib/bio/io/biosql/seqfeature_qualifier_value.rb +20 -0
  101. data/lib/bio/io/biosql/seqfeature_relationship.rb +11 -0
  102. data/lib/bio/io/biosql/taxon.rb +12 -0
  103. data/lib/bio/io/biosql/taxon_name.rb +9 -0
  104. data/lib/bio/io/biosql/term.rb +27 -0
  105. data/lib/bio/io/biosql/term_dbxref.rb +11 -0
  106. data/lib/bio/io/biosql/term_path.rb +12 -0
  107. data/lib/bio/io/biosql/term_relationship.rb +13 -0
  108. data/lib/bio/io/biosql/term_relationship_term.rb +11 -0
  109. data/lib/bio/io/biosql/term_synonym.rb +10 -0
  110. data/lib/bio/io/das.rb +7 -7
  111. data/lib/bio/io/ddbjxml.rb +57 -0
  112. data/lib/bio/io/ensembl.rb +2 -2
  113. data/lib/bio/io/fetch.rb +28 -14
  114. data/lib/bio/io/flatfile.rb +17 -853
  115. data/lib/bio/io/flatfile/autodetection.rb +545 -0
  116. data/lib/bio/io/flatfile/buffer.rb +237 -0
  117. data/lib/bio/io/flatfile/index.rb +17 -7
  118. data/lib/bio/io/flatfile/indexer.rb +30 -12
  119. data/lib/bio/io/flatfile/splitter.rb +297 -0
  120. data/lib/bio/io/hinv.rb +442 -0
  121. data/lib/bio/io/keggapi.rb +2 -2
  122. data/lib/bio/io/ncbirest.rb +733 -0
  123. data/lib/bio/io/pubmed.rb +34 -80
  124. data/lib/bio/io/registry.rb +2 -2
  125. data/lib/bio/io/sql.rb +178 -357
  126. data/lib/bio/io/togows.rb +458 -0
  127. data/lib/bio/location.rb +106 -11
  128. data/lib/bio/pathway.rb +120 -14
  129. data/lib/bio/reference.rb +115 -101
  130. data/lib/bio/sequence.rb +164 -183
  131. data/lib/bio/sequence/adapter.rb +108 -0
  132. data/lib/bio/sequence/common.rb +22 -45
  133. data/lib/bio/sequence/compat.rb +2 -2
  134. data/lib/bio/sequence/dblink.rb +54 -0
  135. data/lib/bio/sequence/format.rb +254 -77
  136. data/lib/bio/sequence/format_raw.rb +23 -0
  137. data/lib/bio/shell.rb +3 -1
  138. data/lib/bio/shell/core.rb +2 -2
  139. data/lib/bio/shell/plugin/entry.rb +33 -4
  140. data/lib/bio/shell/plugin/ncbirest.rb +64 -0
  141. data/lib/bio/shell/plugin/togows.rb +40 -0
  142. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/bioruby_generator.rb +0 -0
  143. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/_classes.rhtml +0 -0
  144. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/_log.rhtml +0 -0
  145. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/_methods.rhtml +0 -0
  146. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/_modules.rhtml +0 -0
  147. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/_variables.rhtml +0 -0
  148. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/bioruby-bg.gif +0 -0
  149. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/bioruby-gem.png +0 -0
  150. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/bioruby-link.gif +0 -0
  151. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/bioruby.css +0 -0
  152. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/bioruby.rhtml +0 -0
  153. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/bioruby_controller.rb +0 -0
  154. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/bioruby_helper.rb +0 -0
  155. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/commands.rhtml +0 -0
  156. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/history.rhtml +0 -0
  157. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/index.rhtml +0 -0
  158. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/spinner.gif +0 -0
  159. data/lib/bio/tree.rb +4 -2
  160. data/lib/bio/util/color_scheme.rb +2 -2
  161. data/lib/bio/util/contingency_table.rb +2 -2
  162. data/lib/bio/util/restriction_enzyme.rb +2 -2
  163. data/lib/bio/util/restriction_enzyme/single_strand.rb +6 -5
  164. data/lib/bio/version.rb +25 -0
  165. data/rdoc.zsh +8 -0
  166. data/sample/any2fasta.rb +0 -0
  167. data/sample/biofetch.rb +0 -0
  168. data/sample/dbget +0 -0
  169. data/sample/demo_sequence.rb +158 -0
  170. data/sample/enzymes.rb +0 -0
  171. data/sample/fasta2tab.rb +0 -0
  172. data/sample/fastagrep.rb +72 -0
  173. data/sample/fastasort.rb +54 -0
  174. data/sample/fsplit.rb +0 -0
  175. data/sample/gb2fasta.rb +2 -3
  176. data/sample/gb2tab.rb +0 -0
  177. data/sample/gbtab2mysql.rb +0 -0
  178. data/sample/genes2nuc.rb +0 -0
  179. data/sample/genes2pep.rb +0 -0
  180. data/sample/genes2tab.rb +0 -0
  181. data/sample/genome2rb.rb +0 -0
  182. data/sample/genome2tab.rb +0 -0
  183. data/sample/goslim.rb +0 -0
  184. data/sample/gt2fasta.rb +0 -0
  185. data/sample/na2aa.rb +34 -0
  186. data/sample/pmfetch.rb +0 -0
  187. data/sample/pmsearch.rb +0 -0
  188. data/sample/ssearch2tab.rb +0 -0
  189. data/sample/tfastx2tab.rb +0 -0
  190. data/sample/vs-genes.rb +0 -0
  191. data/setup.rb +1596 -0
  192. data/test/data/blast/blastp-multi.m7 +188 -0
  193. data/test/data/command/echoarg2.bat +1 -0
  194. data/test/data/paml/codeml/control_file.txt +30 -0
  195. data/test/data/paml/codeml/output.txt +78 -0
  196. data/test/data/paml/codeml/rates +217 -0
  197. data/test/data/rpsblast/misc.rpsblast +193 -0
  198. data/test/data/soft/GDS100_partial.soft +0 -0
  199. data/test/data/soft/GSE3457_family_partial.soft +0 -0
  200. data/test/functional/bio/appl/test_pts1.rb +115 -0
  201. data/test/functional/bio/io/test_ensembl.rb +123 -80
  202. data/test/functional/bio/io/test_togows.rb +267 -0
  203. data/test/functional/bio/sequence/test_output_embl.rb +51 -0
  204. data/test/functional/bio/test_command.rb +301 -0
  205. data/test/runner.rb +17 -1
  206. data/test/unit/bio/appl/blast/test_ncbioptions.rb +112 -0
  207. data/test/unit/bio/appl/blast/test_report.rb +753 -35
  208. data/test/unit/bio/appl/blast/test_rpsblast.rb +398 -0
  209. data/test/unit/bio/appl/paml/codeml/test_rates.rb +45 -0
  210. data/test/unit/bio/appl/paml/codeml/test_report.rb +45 -0
  211. data/test/unit/bio/appl/paml/test_codeml.rb +174 -0
  212. data/test/unit/bio/appl/test_blast.rb +135 -4
  213. data/test/unit/bio/appl/test_fasta.rb +2 -2
  214. data/test/unit/bio/appl/test_pts1.rb +1 -64
  215. data/test/unit/bio/db/embl/test_common.rb +15 -15
  216. data/test/unit/bio/db/embl/test_embl.rb +4 -4
  217. data/test/unit/bio/db/embl/test_embl_rel89.rb +5 -5
  218. data/test/unit/bio/db/embl/test_embl_to_bioseq.rb +203 -0
  219. data/test/unit/bio/db/embl/test_sptr.rb +38 -1
  220. data/test/unit/bio/db/pdb/test_pdb.rb +2 -2
  221. data/test/unit/bio/db/test_gff.rb +1151 -25
  222. data/test/unit/bio/db/test_medline.rb +127 -0
  223. data/test/unit/bio/db/test_nexus.rb +5 -1
  224. data/test/unit/bio/db/test_prosite.rb +4 -4
  225. data/test/unit/bio/io/flatfile/test_autodetection.rb +375 -0
  226. data/test/unit/bio/io/flatfile/test_buffer.rb +251 -0
  227. data/test/unit/bio/io/flatfile/test_splitter.rb +369 -0
  228. data/test/unit/bio/io/test_ddbjxml.rb +8 -3
  229. data/test/unit/bio/io/test_fastacmd.rb +5 -5
  230. data/test/unit/bio/io/test_flatfile.rb +357 -106
  231. data/test/unit/bio/io/test_soapwsdl.rb +2 -2
  232. data/test/unit/bio/io/test_togows.rb +161 -0
  233. data/test/unit/bio/sequence/test_common.rb +210 -11
  234. data/test/unit/bio/sequence/test_compat.rb +3 -3
  235. data/test/unit/bio/sequence/test_dblink.rb +58 -0
  236. data/test/unit/bio/sequence/test_na.rb +2 -2
  237. data/test/unit/bio/test_command.rb +111 -50
  238. data/test/unit/bio/test_feature.rb +29 -1
  239. data/test/unit/bio/test_location.rb +566 -6
  240. data/test/unit/bio/test_pathway.rb +91 -65
  241. data/test/unit/bio/test_reference.rb +67 -13
  242. data/test/unit/bio/util/restriction_enzyme/analysis/test_calculated_cuts.rb +3 -3
  243. data/test/unit/bio/util/restriction_enzyme/analysis/test_cut_ranges.rb +3 -3
  244. data/test/unit/bio/util/restriction_enzyme/analysis/test_sequence_range.rb +3 -3
  245. data/test/unit/bio/util/restriction_enzyme/double_stranded/test_aligned_strands.rb +4 -3
  246. data/test/unit/bio/util/restriction_enzyme/double_stranded/test_cut_location_pair.rb +3 -3
  247. data/test/unit/bio/util/restriction_enzyme/double_stranded/test_cut_location_pair_in_enzyme_notation.rb +3 -3
  248. data/test/unit/bio/util/restriction_enzyme/double_stranded/test_cut_locations.rb +3 -3
  249. data/test/unit/bio/util/restriction_enzyme/double_stranded/test_cut_locations_in_enzyme_notation.rb +3 -3
  250. data/test/unit/bio/util/restriction_enzyme/single_strand/test_cut_locations_in_enzyme_notation.rb +3 -3
  251. data/test/unit/bio/util/restriction_enzyme/test_analysis.rb +3 -3
  252. data/test/unit/bio/util/restriction_enzyme/test_cut_symbol.rb +4 -4
  253. data/test/unit/bio/util/restriction_enzyme/test_double_stranded.rb +3 -3
  254. data/test/unit/bio/util/restriction_enzyme/test_single_strand.rb +3 -3
  255. data/test/unit/bio/util/restriction_enzyme/test_single_strand_complement.rb +3 -3
  256. data/test/unit/bio/util/restriction_enzyme/test_string_formatting.rb +3 -3
  257. data/test/unit/bio/util/test_restriction_enzyme.rb +3 -3
  258. metadata +202 -167
  259. data/test/unit/bio/appl/blast/test_xmlparser.rb +0 -388
@@ -0,0 +1,10 @@
1
+ module Bio
2
+ class SQL
3
+ class BioentryQualifierValue < DummyBase
4
+ #NOTE: added rank to primary_keys, now it's finished.
5
+ set_primary_keys :bioentry_id, :term_id, :rank
6
+ belongs_to :bioentry, :class_name => "Bioentry"
7
+ belongs_to :term, :class_name => "Term"
8
+ end #BioentryQualifierValue
9
+ end #SQL
10
+ end #Bio
@@ -0,0 +1,10 @@
1
+ module Bio
2
+ class SQL
3
+ class BioentryReference < DummyBase
4
+ set_primary_keys :bioentry_id, :reference_id, :rank
5
+ belongs_to :bioentry, :class_name => "Bioentry"
6
+ belongs_to :reference , :class_name => "Reference"
7
+ end
8
+ end #SQL
9
+ end #Bio
10
+
@@ -0,0 +1,10 @@
1
+ module Bio
2
+ class SQL
3
+ class BioentryRelationship < DummyBase
4
+ #delete set_primary_key "bioentry_relationship_id"
5
+ set_sequence_name "bieontry_relationship_pk_seq"
6
+ belongs_to :object_bioentry, :class_name => "Bioentry"
7
+ belongs_to :subject_bioentry, :class_name => "Bioentry"
8
+ end
9
+ end #SQL
10
+ end #Bio
@@ -0,0 +1,11 @@
1
+ module Bio
2
+ class SQL
3
+ class Biosequence < DummyBase
4
+ set_primary_key "bioentry_id"
5
+ #delete set_sequence_name "biosequence_pk_seq"
6
+ belongs_to :bioentry, :foreign_key=>"bioentry_id"
7
+ #has_one :bioentry
8
+ #, :class_name => "Bioentry"
9
+ end
10
+ end #SQL
11
+ end #Bio
@@ -0,0 +1,7 @@
1
+ module Bio
2
+ class SQL
3
+ class Comment < DummyBase
4
+ belongs_to :bioentry, :class_name => "Bioentry"
5
+ end
6
+ end #SQL
7
+ end #Bio
@@ -0,0 +1,20 @@
1
+ #This is the database configuration specific for BioSQL
2
+ #User can configure it's db here
3
+
4
+ development:
5
+ adapter: postgresql
6
+ database: biorails_development
7
+ username: rails
8
+ password:
9
+
10
+ test:
11
+ adapter: postgresql
12
+ database: biorails_test
13
+ username: rails
14
+ password:
15
+
16
+ production:
17
+ adapter: postgresql
18
+ database: biorails_production
19
+ username: rails
20
+ password:
@@ -0,0 +1,13 @@
1
+ module Bio
2
+ class SQL
3
+ class Dbxref < DummyBase
4
+ #set_sequence_name "dbxref_pk_seq"
5
+ has_many :dbxref_qualifier_values, :class_name => "DbxrefQualifierValue"
6
+ has_many :locations, :class_name => "Location"
7
+ has_many :references, :class_name=>"Reference"
8
+ has_many :term_dbxrefs, :class_name => "TermDbxref"
9
+ has_many :bioentry_dbxrefs, :class_name => "BioentryDbxref"
10
+ #TODO: check is with bioentry there is an has_and_belongs_to_many relationship has specified in schema overview.
11
+ end
12
+ end #SQL
13
+ end #Bio
@@ -0,0 +1,12 @@
1
+ module Bio
2
+ class SQL
3
+ class DbxrefQualifierValue < DummyBase
4
+ #think to use composite primary key
5
+ set_primary_key nil #dbxref_id, term_id, rank
6
+ #delete set_sequence_name nil
7
+ belongs_to :dbxref, :class_name => "Dbxref"
8
+ belongs_to :term, :class_name => "Term"
9
+ end
10
+ end #SQL
11
+ end #Bio
12
+
@@ -0,0 +1,32 @@
1
+ module Bio
2
+ class SQL
3
+ class Location < DummyBase
4
+ #set_sequence_name "location_pk_seq"
5
+ belongs_to :seqfeature, :class_name => "Seqfeature"
6
+ belongs_to :dbxref, :class_name => "Dbxref"
7
+ belongs_to :term, :class_name => "Term"
8
+ has_many :location_qualifier_values, :class_name => "LocationQualifierValue"
9
+
10
+ def to_s
11
+ if strand==-1
12
+ str="complement("+start_pos.to_s+".."+end_pos.to_s+")"
13
+ else
14
+ str=start_pos.to_s+".."+end_pos.to_s
15
+ end
16
+ return str
17
+ end
18
+
19
+ def sequence
20
+ seq=""
21
+ unless self.seqfeature.bioentry.biosequence.seq.nil?
22
+ seq=Bio::Sequence::NA.new(self.seqfeature.bioentry.biosequence.seq[start_pos-1..end_pos-1])
23
+ seq.reverse_complement! if strand==-1
24
+ end
25
+ return seq
26
+ end
27
+
28
+
29
+
30
+ end
31
+ end #SQL
32
+ end #Bio
@@ -0,0 +1,11 @@
1
+ module Bio
2
+ class SQL
3
+ class LocationQualifierValue < DummyBase
4
+ set_primary_key nil #location_id, term_id
5
+ #delete set_sequence_name nil
6
+ belongs_to :location, :class_name => "Location"
7
+ belongs_to :term, :class_name => "Term"
8
+ end
9
+ end #SQL
10
+ end #Bio
11
+
@@ -0,0 +1,10 @@
1
+
2
+ module Bio
3
+ class SQL
4
+ class Ontology < DummyBase
5
+ has_many :terms, :class_name => "Term"
6
+ has_many :term_paths, :class_name => "TermPath"
7
+ has_many :term_relationships, :class_name => "TermRelationship"
8
+ end
9
+ end #SQL
10
+ end #Bio
@@ -0,0 +1,9 @@
1
+
2
+ module Bio
3
+ class SQL
4
+ class Reference < DummyBase
5
+ belongs_to :dbxref, :class_name => "Dbxref"
6
+ has_many :bioentry_references, :class_name=>"BioentryRefernce"
7
+ end
8
+ end #SQL
9
+ end #Bio
@@ -0,0 +1,32 @@
1
+
2
+ module Bio
3
+ class SQL
4
+ class Seqfeature <DummyBase
5
+ set_sequence_name "seqfeature_pk_seq"
6
+ belongs_to :bioentry
7
+ #, :class_name => "Bioentry"
8
+ belongs_to :type_term, :class_name => "Term", :foreign_key => "type_term_id"
9
+ belongs_to :source_term, :class_name => "Term", :foreign_key =>"source_term_id"
10
+ has_many :seqfeature_dbxrefs, :class_name => "SeqfeatureDbxref", :foreign_key => "seqfeature_id"
11
+ has_many :seqfeature_qualifier_values, :order=>'rank', :foreign_key => "seqfeature_id"
12
+ #, :class_name => "SeqfeatureQualifierValue"
13
+ has_many :locations, :class_name => "Location", :order=>'rank'
14
+ has_many :object_seqfeature_paths, :class_name => "SeqfeaturePath", :foreign_key => "object_seqfeature_id"
15
+ has_many :subject_seqfeature_paths, :class_name => "SeqfeaturePath", :foreign_key => "subject_seqfeature_id"
16
+ has_many :object_seqfeature_relationships, :class_name => "SeqfeatureRelationship", :foreign_key => "object_seqfeature_id"
17
+ has_many :subject_seqfeature_relationships, :class_name => "SeqfeatureRelationship", :foreign_key => "subject_seqfeature_id"
18
+
19
+ #get the subsequence described by the locations objects
20
+ def sequence
21
+ return self.locations.inject(Bio::Sequence::NA.new("")){|seq, location| seq<<location.sequence}
22
+ end
23
+
24
+ #translate the subsequences represented by the feature and its locations
25
+ #not considering the qualifiers
26
+ #Return a Bio::Sequence::AA object
27
+ def translate(*args)
28
+ self.sequence.translate(*args)
29
+ end
30
+ end
31
+ end #SQL
32
+ end #Bio
@@ -0,0 +1,11 @@
1
+
2
+ module Bio
3
+ class SQL
4
+ class SeqfeatureDbxref < DummyBase
5
+ set_primary_keys :seqfeature_id, :dbxref_id
6
+ #delete set_sequence_name nil
7
+ belongs_to :seqfeature, :class_name => "Seqfeature", :foreign_key => "seqfeature_id"
8
+ belongs_to :dbxref, :class_name => "Dbxref", :foreign_key => "dbxref_id"
9
+ end
10
+ end #SQL
11
+ end #Bio
@@ -0,0 +1,11 @@
1
+ module Bio
2
+ class SQL
3
+ class SeqfeaturePath < DummyBase
4
+ set_primary_keys :object_seqfeature_id, :subject_seqfeature_id, :term_id
5
+ set_sequence_name nil
6
+ belongs_to :object_seqfeature, :class_name => "Seqfeature", :foreign_key => "object_seqfeature_id"
7
+ belongs_to :subject_seqfeature, :class_name => "Seqfeature", :foreign_key => "subject_seqfeature_id"
8
+ belongs_to :term, :class_name => "Term"
9
+ end
10
+ end #SQL
11
+ end #Bio
@@ -0,0 +1,20 @@
1
+
2
+ module Bio
3
+ class SQL
4
+ class SeqfeatureQualifierValue < DummyBase
5
+ set_primary_keys :seqfeature_id, :term_id, :rank
6
+ set_sequence_name nil
7
+ belongs_to :seqfeature
8
+ belongs_to :term, :class_name => "Term"
9
+
10
+ def self.find_cluster(query)
11
+ term_note= Term.find_by_name('note')
12
+ find(:all, :conditions =>["value like ? and term_id = ?", "cl:#{query}", term_note])
13
+ end
14
+ def self.find_cluster_info(query)
15
+ term_note= Term.find_by_name('note')
16
+ find(:all, :conditions =>["value like ? and term_id = ?", "cli:#{query}", term_note])
17
+ end
18
+ end
19
+ end #SQL
20
+ end #Bio
@@ -0,0 +1,11 @@
1
+
2
+ module Bio
3
+ class SQL
4
+ class SeqfeatureRelationship <DummyBase
5
+ set_sequence_name "seqfeatue_relationship_pk_seq"
6
+ belongs_to :term, :class_name => "Term"
7
+ belongs_to :object_seqfeature, :class_name => "Seqfeature"
8
+ belongs_to :subject_seqfeature, :class_name => "Seqfeature"
9
+ end
10
+ end #SQL
11
+ end #Bio
@@ -0,0 +1,12 @@
1
+
2
+ module Bio
3
+ class SQL
4
+ class Taxon < DummyBase
5
+ set_sequence_name "taxon_pk_seq"
6
+ has_many :taxon_names, :class_name => "TaxonName"
7
+ has_one :taxon_scientific_name, :class_name => "TaxonName", :conditions=>"name_class = 'scientific name'"
8
+ has_one :taxon_genbank_common_name, :class_name => "TaxonName", :conditions=>"name_class = 'genbank common name'"
9
+ has_one :bioentry, :class_name => "Bioentry"
10
+ end
11
+ end #SQL
12
+ end #Bio
@@ -0,0 +1,9 @@
1
+
2
+ module Bio
3
+ class SQL
4
+ class TaxonName < DummyBase
5
+ set_primary_keys :taxon_id, :name, :name_class
6
+ belongs_to :taxon, :class_name => "Taxon"
7
+ end
8
+ end #SQL
9
+ end #Bio
@@ -0,0 +1,27 @@
1
+
2
+ module Bio
3
+ class SQL
4
+ class Term < DummyBase
5
+ belongs_to :ontology, :class_name => "Ontology"
6
+ has_many :seqfeature_qualifier_values, :class_name => "SeqfeatureQualifierValue"
7
+ has_many :dbxref_qualifier_values, :class_name => "DbxrefQualifierValue"
8
+ has_many :bioentry_qualifer_values, :class_name => "BioentryQualifierValue"
9
+ has_many :bioentries, :through=>:bioentry_qualifier_values
10
+ has_many :locations, :class_name => "Location"
11
+ has_many :seqfeature_relationships, :class_name => "SeqfeatureRelationship"
12
+ has_many :term_dbxrefs, :class_name => "TermDbxref"
13
+ has_many :term_relationship_terms, :class_name => "TermRelationshipTerm"
14
+ has_many :term_synonyms, :class_name => "TermSynonym"
15
+ has_many :location_qualifier_values, :class_name => "LocationQualifierValue"
16
+ has_many :seqfeature_types, :class_name => "Seqfeature", :foreign_key => "type_term_id"
17
+ has_many :seqfeature_sources, :class_name => "Seqfeature", :foreign_key => "source_term_id"
18
+ has_many :term_path_subjects, :class_name => "TermPath", :foreign_key => "subject_term_id"
19
+ has_many :term_path_predicates, :class_name => "TermPath", :foreign_key => "predicate_term_id"
20
+ has_many :term_path_objects, :class_name => "TermPath", :foreign_key => "object_term_id"
21
+ has_many :term_relationship_subjects, :class_name => "TermRelationship", :foreign_key =>"subject_term_id"
22
+ has_many :term_relationship_predicates, :class_name => "TermRelationship", :foreign_key =>"predicate_term_id"
23
+ has_many :term_relationship_objects, :class_name => "TermRelationship", :foreign_key =>"object_term_id"
24
+ has_many :seqfeature_paths, :class_name => "SeqfeaturePath"
25
+ end
26
+ end #SQL
27
+ end #Bio
@@ -0,0 +1,11 @@
1
+
2
+ module Bio
3
+ class SQL
4
+ class TermDbxref < DummyBase
5
+ set_primary_key nil #term_id, dbxref_id
6
+ #delete set_sequence_name nil
7
+ belongs_to :term, :class_name => "Term"
8
+ belongs_to :dbxref, :class_name => "Dbxref"
9
+ end
10
+ end #SQL
11
+ end #Bio
@@ -0,0 +1,12 @@
1
+
2
+ module Bio
3
+ class SQL
4
+ class TermPath < DummyBase
5
+ set_sequence_name "term_path_pk_seq"
6
+ belongs_to :ontology, :class_name => "Ontology"
7
+ belongs_to :subject_term, :class_name => "Term"
8
+ belongs_to :object_term, :class_name => "Term"
9
+ belongs_to :predicate_term, :class_name => "Term"
10
+ end
11
+ end #SQL
12
+ end #Bio
@@ -0,0 +1,13 @@
1
+
2
+ module Bio
3
+ class SQL
4
+ class TermRelationship < DummyBase
5
+ set_sequence_name "term_relationship_pk_seq"
6
+ belongs_to :ontology, :class_name => "Ontology"
7
+ belongs_to :subject_term, :class_name => "Term"
8
+ belongs_to :predicate_term, :class_name => "Term"
9
+ belongs_to :object_term, :class_name => "Term"
10
+ has_one :term_relationship_term, :class_name => "TermRelationshipTerm"
11
+ end
12
+ end #SQL
13
+ end #Bio
@@ -0,0 +1,11 @@
1
+
2
+ module Bio
3
+ class SQL
4
+ class TermRelationshipTerm < DummyBase
5
+ #delete set_sequence_name nil
6
+ set_primary_key :term_relationship_id
7
+ belongs_to :term_relationship, :class_name => "TermRelationship"
8
+ belongs_to :term, :class_name => "Term"
9
+ end
10
+ end #SQL
11
+ end #Bio
@@ -0,0 +1,10 @@
1
+
2
+ module Bio
3
+ class SQL
4
+ class TermSynonym < DummyBase
5
+ #delete set_sequence_name nil
6
+ set_primary_key nil
7
+ belongs_to :term, :class_name => "Term"
8
+ end
9
+ end #SQL
10
+ end #Bio
@@ -6,7 +6,7 @@
6
6
  # Toshiaki Katayama <k@bioruby.org>
7
7
  # License:: The Ruby License
8
8
  #
9
- # $Id: das.rb,v 1.17 2007/07/16 18:06:12 k Exp $
9
+ # $Id:$
10
10
  #
11
11
  #--
12
12
  # == TODO
@@ -47,7 +47,7 @@ class DAS
47
47
  # Returns an Array of Bio::DAS::DSN
48
48
  def get_dsn
49
49
  ary = []
50
- result, = Bio::Command.post_form("#{@server}/das/dsn")
50
+ result = Bio::Command.post_form("#{@server}/das/dsn")
51
51
  doc = REXML::Document.new(result.body)
52
52
  doc.elements.each('/descendant::DSN') do |e|
53
53
  dsn = DSN.new
@@ -78,7 +78,7 @@ class DAS
78
78
  else
79
79
  src = dsn
80
80
  end
81
- result, = Bio::Command.post_form("#{@server}/das/#{src}/entry_points")
81
+ result = Bio::Command.post_form("#{@server}/das/#{src}/entry_points")
82
82
  doc = REXML::Document.new(result.body)
83
83
  doc.elements.each('/descendant::ENTRY_POINTS') do |e|
84
84
  entry_point.href = e.attributes['href']
@@ -112,7 +112,7 @@ class DAS
112
112
  opts << "segment=#{s.entry_id}:#{s.start},#{s.stop}"
113
113
  end
114
114
 
115
- result, = Bio::Command.post_form("#{@server}/das/#{dsn}/dna", opts)
115
+ result = Bio::Command.post_form("#{@server}/das/#{dsn}/dna", opts)
116
116
  doc = REXML::Document.new(result.body)
117
117
  doc.elements.each('/descendant::SEQUENCE') do |e|
118
118
  sequence = DNA.new
@@ -144,7 +144,7 @@ class DAS
144
144
  opts << "segment=#{s.entry_id}:#{s.start},#{s.stop}"
145
145
  end
146
146
 
147
- result, = Bio::Command.post_form("#{@server}/das/#{dsn}/sequence", opts)
147
+ result = Bio::Command.post_form("#{@server}/das/#{dsn}/sequence", opts)
148
148
  doc = REXML::Document.new(result.body)
149
149
  doc.elements.each('/descendant::SEQUENCE') do |e|
150
150
  sequence = SEQUENCE.new
@@ -181,7 +181,7 @@ class DAS
181
181
  opts << "segment=#{s.entry_id}:#{s.start},#{s.stop}"
182
182
  end
183
183
 
184
- result, = Bio::Command.post_form("#{@server}/das/#{dsn}/types", opts)
184
+ result = Bio::Command.post_form("#{@server}/das/#{dsn}/types", opts)
185
185
  doc = REXML::Document.new(result.body)
186
186
  doc.elements.each('/descendant::GFF') do |e|
187
187
  types.version = e.attributes['version']
@@ -232,7 +232,7 @@ class DAS
232
232
  opts << "group_id=#{gid}"
233
233
  end
234
234
 
235
- result, = Bio::Command.post_form("#{@server}/das/#{dsn}/features", opts)
235
+ result = Bio::Command.post_form("#{@server}/das/#{dsn}/features", opts)
236
236
  doc = REXML::Document.new(result.body)
237
237
  doc.elements.each('/descendant::GFF') do |e|
238
238
  gff.version = e.attributes['version']