bio 1.2.1 → 1.3.0

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