bio-ucsc-api 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (534) hide show
  1. data/README.rdoc +79 -47
  2. data/Rakefile +4 -2
  3. data/VERSION +1 -1
  4. data/bio-ucsc-api.gemspec +408 -3
  5. data/lib/bio-ucsc.rb +162 -8
  6. data/lib/bio-ucsc/ailmel1.rb +21 -0
  7. data/lib/bio-ucsc/ailmel1/db_connection.rb +57 -0
  8. data/lib/bio-ucsc/anocar2.rb +22 -0
  9. data/lib/bio-ucsc/anocar2/db_connection.rb +57 -0
  10. data/lib/bio-ucsc/anogam1.rb +30 -0
  11. data/lib/bio-ucsc/anogam1/chaindm3.rb +81 -0
  12. data/lib/bio-ucsc/anogam1/chaindm3link.rb +81 -0
  13. data/lib/bio-ucsc/anogam1/db_connection.rb +57 -0
  14. data/lib/bio-ucsc/anogam1/est.rb +81 -0
  15. data/lib/bio-ucsc/anogam1/gap.rb +81 -0
  16. data/lib/bio-ucsc/anogam1/gold.rb +81 -0
  17. data/lib/bio-ucsc/anogam1/intronest.rb +81 -0
  18. data/lib/bio-ucsc/anogam1/mrna.rb +81 -0
  19. data/lib/bio-ucsc/anogam1/rmsk.rb +78 -0
  20. data/lib/bio-ucsc/apimel2.rb +26 -0
  21. data/lib/bio-ucsc/apimel2/chaindm2.rb +81 -0
  22. data/lib/bio-ucsc/apimel2/chaindm2link.rb +81 -0
  23. data/lib/bio-ucsc/apimel2/db_connection.rb +57 -0
  24. data/lib/bio-ucsc/aplcal1.rb +33 -0
  25. data/lib/bio-ucsc/aplcal1/chaincaepb1.rb +81 -0
  26. data/lib/bio-ucsc/aplcal1/chaincaepb1link.rb +81 -0
  27. data/lib/bio-ucsc/aplcal1/chaincaerem2.rb +81 -0
  28. data/lib/bio-ucsc/aplcal1/chaincaerem2link.rb +81 -0
  29. data/lib/bio-ucsc/aplcal1/chaincb3.rb +81 -0
  30. data/lib/bio-ucsc/aplcal1/chaincb3link.rb +81 -0
  31. data/lib/bio-ucsc/aplcal1/chaince6.rb +81 -0
  32. data/lib/bio-ucsc/aplcal1/chaince6link.rb +81 -0
  33. data/lib/bio-ucsc/aplcal1/db_connection.rb +57 -0
  34. data/lib/bio-ucsc/aplcal1/gap.rb +81 -0
  35. data/lib/bio-ucsc/aplcal1/gold.rb +81 -0
  36. data/lib/bio-ucsc/aplcal1/rmsk.rb +78 -0
  37. data/lib/bio-ucsc/bostau4.rb +24 -0
  38. data/lib/bio-ucsc/bostau4/db_connection.rb +57 -0
  39. data/lib/bio-ucsc/braflo1.rb +32 -0
  40. data/lib/bio-ucsc/braflo1/chaingalgal3.rb +81 -0
  41. data/lib/bio-ucsc/braflo1/chaingalgal3link.rb +81 -0
  42. data/lib/bio-ucsc/braflo1/chainhg18.rb +81 -0
  43. data/lib/bio-ucsc/braflo1/chainhg18link.rb +81 -0
  44. data/lib/bio-ucsc/braflo1/chainmm9.rb +81 -0
  45. data/lib/bio-ucsc/braflo1/chainmm9link.rb +81 -0
  46. data/lib/bio-ucsc/braflo1/chainpetmar1.rb +81 -0
  47. data/lib/bio-ucsc/braflo1/chainpetmar1link.rb +81 -0
  48. data/lib/bio-ucsc/braflo1/db_connection.rb +57 -0
  49. data/lib/bio-ucsc/braflo1/gap.rb +81 -0
  50. data/lib/bio-ucsc/braflo1/gold.rb +81 -0
  51. data/lib/bio-ucsc/caejap1.rb +26 -0
  52. data/lib/bio-ucsc/caejap1/chaince6.rb +81 -0
  53. data/lib/bio-ucsc/caejap1/chaince6link.rb +81 -0
  54. data/lib/bio-ucsc/caejap1/db_connection.rb +57 -0
  55. data/lib/bio-ucsc/caejap1/gap.rb +81 -0
  56. data/lib/bio-ucsc/caejap1/gold.rb +81 -0
  57. data/lib/bio-ucsc/caepb2.rb +26 -0
  58. data/lib/bio-ucsc/caepb2/chaince6.rb +81 -0
  59. data/lib/bio-ucsc/caepb2/chaince6link.rb +81 -0
  60. data/lib/bio-ucsc/caepb2/db_connection.rb +57 -0
  61. data/lib/bio-ucsc/caepb2/gap.rb +81 -0
  62. data/lib/bio-ucsc/caepb2/gold.rb +81 -0
  63. data/lib/bio-ucsc/caerem3.rb +26 -0
  64. data/lib/bio-ucsc/caerem3/chaince6.rb +81 -0
  65. data/lib/bio-ucsc/caerem3/chaince6link.rb +81 -0
  66. data/lib/bio-ucsc/caerem3/db_connection.rb +57 -0
  67. data/lib/bio-ucsc/caerem3/gap.rb +81 -0
  68. data/lib/bio-ucsc/caerem3/gold.rb +81 -0
  69. data/lib/bio-ucsc/caljac3.rb +24 -0
  70. data/lib/bio-ucsc/caljac3/db_connection.rb +55 -0
  71. data/lib/bio-ucsc/canfam2.rb +39 -0
  72. data/lib/bio-ucsc/canfam2/chainbostau4.rb +81 -0
  73. data/lib/bio-ucsc/canfam2/chainbostau4link.rb +81 -0
  74. data/lib/bio-ucsc/canfam2/chainmm9.rb +81 -0
  75. data/lib/bio-ucsc/canfam2/chainmm9link.rb +81 -0
  76. data/lib/bio-ucsc/canfam2/chainrn4.rb +81 -0
  77. data/lib/bio-ucsc/canfam2/chainrn4link.rb +81 -0
  78. data/lib/bio-ucsc/canfam2/chainself.rb +81 -0
  79. data/lib/bio-ucsc/canfam2/chainselflink.rb +81 -0
  80. data/lib/bio-ucsc/canfam2/db_connection.rb +57 -0
  81. data/lib/bio-ucsc/canfam2/est.rb +81 -0
  82. data/lib/bio-ucsc/canfam2/gap.rb +81 -0
  83. data/lib/bio-ucsc/canfam2/gold.rb +81 -0
  84. data/lib/bio-ucsc/canfam2/intronest.rb +81 -0
  85. data/lib/bio-ucsc/canfam2/mrna.rb +81 -0
  86. data/lib/bio-ucsc/canfam2/rmsk.rb +78 -0
  87. data/lib/bio-ucsc/cavpor3.rb +21 -0
  88. data/lib/bio-ucsc/cavpor3/db_connection.rb +57 -0
  89. data/lib/bio-ucsc/cb3.rb +36 -0
  90. data/lib/bio-ucsc/cb3/chaincaepb1.rb +81 -0
  91. data/lib/bio-ucsc/cb3/chaincaepb1link.rb +81 -0
  92. data/lib/bio-ucsc/cb3/chaincaerem2.rb +81 -0
  93. data/lib/bio-ucsc/cb3/chaincaerem2link.rb +81 -0
  94. data/lib/bio-ucsc/cb3/chaince6.rb +81 -0
  95. data/lib/bio-ucsc/cb3/chaince6link.rb +81 -0
  96. data/lib/bio-ucsc/cb3/chainpripac1.rb +81 -0
  97. data/lib/bio-ucsc/cb3/chainpripac1link.rb +81 -0
  98. data/lib/bio-ucsc/cb3/db_connection.rb +57 -0
  99. data/lib/bio-ucsc/cb3/est.rb +81 -0
  100. data/lib/bio-ucsc/cb3/gap.rb +81 -0
  101. data/lib/bio-ucsc/cb3/gold.rb +81 -0
  102. data/lib/bio-ucsc/cb3/intronest.rb +81 -0
  103. data/lib/bio-ucsc/cb3/mrna.rb +81 -0
  104. data/lib/bio-ucsc/cb3/rmsk.rb +78 -0
  105. data/lib/bio-ucsc/ce6/chaincaejap1.rb +2 -2
  106. data/lib/bio-ucsc/ce6/chaincaejap1link.rb +2 -2
  107. data/lib/bio-ucsc/ce6/chaincaepb2.rb +2 -2
  108. data/lib/bio-ucsc/ce6/chaincaepb2link.rb +2 -2
  109. data/lib/bio-ucsc/ce6/chaincaerem3.rb +2 -2
  110. data/lib/bio-ucsc/ce6/chaincaerem3link.rb +2 -2
  111. data/lib/bio-ucsc/ce6/chaincb3.rb +2 -2
  112. data/lib/bio-ucsc/ce6/chaincb3link.rb +2 -2
  113. data/lib/bio-ucsc/ce6/chainpripac1.rb +2 -2
  114. data/lib/bio-ucsc/ce6/chainpripac1link.rb +2 -2
  115. data/lib/bio-ucsc/ce6/chainself.rb +2 -2
  116. data/lib/bio-ucsc/ce6/chainselflink.rb +2 -2
  117. data/lib/bio-ucsc/ce6/db_connection.rb +5 -6
  118. data/lib/bio-ucsc/ce6/est.rb +2 -2
  119. data/lib/bio-ucsc/ce6/gap.rb +2 -2
  120. data/lib/bio-ucsc/ce6/gold.rb +2 -2
  121. data/lib/bio-ucsc/ce6/intronest.rb +2 -2
  122. data/lib/bio-ucsc/ce6/mrna.rb +2 -2
  123. data/lib/bio-ucsc/ce6/rmsk.rb +2 -2
  124. data/lib/bio-ucsc/ce6/t25mersrepeats.rb +2 -2
  125. data/lib/bio-ucsc/ci2.rb +23 -0
  126. data/lib/bio-ucsc/ci2/db_connection.rb +55 -0
  127. data/lib/bio-ucsc/danrer7.rb +24 -0
  128. data/lib/bio-ucsc/danrer7/db_connection.rb +57 -0
  129. data/lib/bio-ucsc/dm3/chainanogam1.rb +2 -2
  130. data/lib/bio-ucsc/dm3/chainanogam1link.rb +2 -2
  131. data/lib/bio-ucsc/dm3/chainapimel3.rb +2 -2
  132. data/lib/bio-ucsc/dm3/chainapimel3link.rb +2 -2
  133. data/lib/bio-ucsc/dm3/chaindp3.rb +2 -2
  134. data/lib/bio-ucsc/dm3/chaindp3link.rb +2 -2
  135. data/lib/bio-ucsc/dm3/chaindroana2.rb +2 -2
  136. data/lib/bio-ucsc/dm3/chaindroana2link.rb +2 -2
  137. data/lib/bio-ucsc/dm3/chaindroere1.rb +2 -2
  138. data/lib/bio-ucsc/dm3/chaindroere1link.rb +2 -2
  139. data/lib/bio-ucsc/dm3/chaindroper1.rb +2 -2
  140. data/lib/bio-ucsc/dm3/chaindroper1link.rb +2 -2
  141. data/lib/bio-ucsc/dm3/chaindrosec1.rb +2 -2
  142. data/lib/bio-ucsc/dm3/chaindrosec1link.rb +2 -2
  143. data/lib/bio-ucsc/dm3/chaindrosim1.rb +2 -2
  144. data/lib/bio-ucsc/dm3/chaindrosim1link.rb +2 -2
  145. data/lib/bio-ucsc/dm3/chaindroyak2.rb +2 -2
  146. data/lib/bio-ucsc/dm3/chaindroyak2link.rb +2 -2
  147. data/lib/bio-ucsc/dm3/db_connection.rb +5 -6
  148. data/lib/bio-ucsc/dm3/est.rb +2 -2
  149. data/lib/bio-ucsc/dm3/gap.rb +2 -2
  150. data/lib/bio-ucsc/dm3/gold.rb +2 -2
  151. data/lib/bio-ucsc/dm3/intronest.rb +2 -2
  152. data/lib/bio-ucsc/dm3/mrna.rb +2 -2
  153. data/lib/bio-ucsc/dm3/rmsk.rb +2 -2
  154. data/lib/bio-ucsc/dp3.rb +33 -0
  155. data/lib/bio-ucsc/dp3/chaindm3.rb +81 -0
  156. data/lib/bio-ucsc/dp3/chaindm3link.rb +81 -0
  157. data/lib/bio-ucsc/dp3/db_connection.rb +57 -0
  158. data/lib/bio-ucsc/dp3/est.rb +81 -0
  159. data/lib/bio-ucsc/dp3/gap.rb +81 -0
  160. data/lib/bio-ucsc/dp3/gold.rb +81 -0
  161. data/lib/bio-ucsc/dp3/intronest.rb +81 -0
  162. data/lib/bio-ucsc/dp3/mrna.rb +81 -0
  163. data/lib/bio-ucsc/dp3/rmsk.rb +78 -0
  164. data/lib/bio-ucsc/droana2.rb +22 -0
  165. data/lib/bio-ucsc/droana2/db_connection.rb +57 -0
  166. data/lib/bio-ucsc/droere1.rb +22 -0
  167. data/lib/bio-ucsc/droere1/db_connection.rb +57 -0
  168. data/lib/bio-ucsc/drogri1.rb +22 -0
  169. data/lib/bio-ucsc/drogri1/db_connection.rb +57 -0
  170. data/lib/bio-ucsc/dromoj2.rb +22 -0
  171. data/lib/bio-ucsc/dromoj2/db_connection.rb +57 -0
  172. data/lib/bio-ucsc/droper1.rb +22 -0
  173. data/lib/bio-ucsc/droper1/db_connection.rb +57 -0
  174. data/lib/bio-ucsc/drosec1.rb +22 -0
  175. data/lib/bio-ucsc/drosec1/db_connection.rb +57 -0
  176. data/lib/bio-ucsc/drosim1.rb +30 -0
  177. data/lib/bio-ucsc/drosim1/chaindm3.rb +81 -0
  178. data/lib/bio-ucsc/drosim1/chaindm3link.rb +81 -0
  179. data/lib/bio-ucsc/drosim1/db_connection.rb +57 -0
  180. data/lib/bio-ucsc/drosim1/est.rb +81 -0
  181. data/lib/bio-ucsc/drosim1/gap.rb +81 -0
  182. data/lib/bio-ucsc/drosim1/gold.rb +81 -0
  183. data/lib/bio-ucsc/drosim1/intronest.rb +81 -0
  184. data/lib/bio-ucsc/drosim1/mrna.rb +81 -0
  185. data/lib/bio-ucsc/drosim1/rmsk.rb +78 -0
  186. data/lib/bio-ucsc/drovir2.rb +22 -0
  187. data/lib/bio-ucsc/drovir2/db_connection.rb +57 -0
  188. data/lib/bio-ucsc/droyak2.rb +32 -0
  189. data/lib/bio-ucsc/droyak2/chaindm3.rb +81 -0
  190. data/lib/bio-ucsc/droyak2/chaindm3link.rb +81 -0
  191. data/lib/bio-ucsc/droyak2/db_connection.rb +57 -0
  192. data/lib/bio-ucsc/droyak2/est.rb +81 -0
  193. data/lib/bio-ucsc/droyak2/gap.rb +81 -0
  194. data/lib/bio-ucsc/droyak2/gold.rb +81 -0
  195. data/lib/bio-ucsc/droyak2/intronest.rb +81 -0
  196. data/lib/bio-ucsc/droyak2/mrna.rb +81 -0
  197. data/lib/bio-ucsc/droyak2/rmsk.rb +78 -0
  198. data/lib/bio-ucsc/equcab2.rb +31 -0
  199. data/lib/bio-ucsc/equcab2/db_connection.rb +57 -0
  200. data/lib/bio-ucsc/equcab2/est.rb +81 -0
  201. data/lib/bio-ucsc/equcab2/gap.rb +81 -0
  202. data/lib/bio-ucsc/equcab2/gold.rb +81 -0
  203. data/lib/bio-ucsc/equcab2/intronest.rb +81 -0
  204. data/lib/bio-ucsc/equcab2/mrna.rb +81 -0
  205. data/lib/bio-ucsc/equcab2/rmsk.rb +78 -0
  206. data/lib/bio-ucsc/felcat4.rb +23 -0
  207. data/lib/bio-ucsc/felcat4/db_connection.rb +57 -0
  208. data/lib/bio-ucsc/fr2.rb +35 -0
  209. data/lib/bio-ucsc/fr2/chaingalgal3.rb +81 -0
  210. data/lib/bio-ucsc/fr2/chaingalgal3link.rb +81 -0
  211. data/lib/bio-ucsc/fr2/chaingasacu1.rb +81 -0
  212. data/lib/bio-ucsc/fr2/chaingasacu1link.rb +81 -0
  213. data/lib/bio-ucsc/fr2/chainmm9.rb +81 -0
  214. data/lib/bio-ucsc/fr2/chainmm9link.rb +81 -0
  215. data/lib/bio-ucsc/fr2/chainorylat2.rb +81 -0
  216. data/lib/bio-ucsc/fr2/chainorylat2link.rb +81 -0
  217. data/lib/bio-ucsc/fr2/db_connection.rb +57 -0
  218. data/lib/bio-ucsc/fr2/est.rb +81 -0
  219. data/lib/bio-ucsc/fr2/gap.rb +81 -0
  220. data/lib/bio-ucsc/fr2/gold.rb +81 -0
  221. data/lib/bio-ucsc/fr2/intronest.rb +81 -0
  222. data/lib/bio-ucsc/fr2/mrna.rb +81 -0
  223. data/lib/bio-ucsc/fr2/rmsk.rb +78 -0
  224. data/lib/bio-ucsc/galgal3.rb +54 -0
  225. data/lib/bio-ucsc/galgal3/chainanocar1.rb +81 -0
  226. data/lib/bio-ucsc/galgal3/chainanocar1link.rb +81 -0
  227. data/lib/bio-ucsc/galgal3/chainbraflo1.rb +81 -0
  228. data/lib/bio-ucsc/galgal3/chainbraflo1link.rb +81 -0
  229. data/lib/bio-ucsc/galgal3/chaincavpor3.rb +81 -0
  230. data/lib/bio-ucsc/galgal3/chaincavpor3link.rb +81 -0
  231. data/lib/bio-ucsc/galgal3/chaindanrer4.rb +81 -0
  232. data/lib/bio-ucsc/galgal3/chaindanrer4link.rb +81 -0
  233. data/lib/bio-ucsc/galgal3/chainfr2.rb +81 -0
  234. data/lib/bio-ucsc/galgal3/chainfr2link.rb +81 -0
  235. data/lib/bio-ucsc/galgal3/chaingasacu1.rb +81 -0
  236. data/lib/bio-ucsc/galgal3/chaingasacu1link.rb +81 -0
  237. data/lib/bio-ucsc/galgal3/chainmm9.rb +81 -0
  238. data/lib/bio-ucsc/galgal3/chainmm9link.rb +81 -0
  239. data/lib/bio-ucsc/galgal3/chainornana1.rb +81 -0
  240. data/lib/bio-ucsc/galgal3/chainornana1link.rb +81 -0
  241. data/lib/bio-ucsc/galgal3/chainpetmar1.rb +81 -0
  242. data/lib/bio-ucsc/galgal3/chainpetmar1link.rb +81 -0
  243. data/lib/bio-ucsc/galgal3/chainrn4.rb +81 -0
  244. data/lib/bio-ucsc/galgal3/chainrn4link.rb +81 -0
  245. data/lib/bio-ucsc/galgal3/chaintaegut1.rb +81 -0
  246. data/lib/bio-ucsc/galgal3/chaintaegut1link.rb +81 -0
  247. data/lib/bio-ucsc/galgal3/chainxentro2.rb +81 -0
  248. data/lib/bio-ucsc/galgal3/chainxentro2link.rb +81 -0
  249. data/lib/bio-ucsc/galgal3/db_connection.rb +57 -0
  250. data/lib/bio-ucsc/galgal3/est.rb +81 -0
  251. data/lib/bio-ucsc/galgal3/gap.rb +81 -0
  252. data/lib/bio-ucsc/galgal3/gold.rb +81 -0
  253. data/lib/bio-ucsc/galgal3/intronest.rb +81 -0
  254. data/lib/bio-ucsc/galgal3/mrna.rb +81 -0
  255. data/lib/bio-ucsc/galgal3/rmsk.rb +78 -0
  256. data/lib/bio-ucsc/gasacu1.rb +39 -0
  257. data/lib/bio-ucsc/gasacu1/chainanocar1.rb +81 -0
  258. data/lib/bio-ucsc/gasacu1/chainanocar1link.rb +81 -0
  259. data/lib/bio-ucsc/gasacu1/chainfr2.rb +81 -0
  260. data/lib/bio-ucsc/gasacu1/chainfr2link.rb +81 -0
  261. data/lib/bio-ucsc/gasacu1/chaingalgal3.rb +81 -0
  262. data/lib/bio-ucsc/gasacu1/chaingalgal3link.rb +81 -0
  263. data/lib/bio-ucsc/gasacu1/chainmm9.rb +81 -0
  264. data/lib/bio-ucsc/gasacu1/chainmm9link.rb +81 -0
  265. data/lib/bio-ucsc/gasacu1/chainorylat2.rb +81 -0
  266. data/lib/bio-ucsc/gasacu1/chainorylat2link.rb +81 -0
  267. data/lib/bio-ucsc/gasacu1/db_connection.rb +57 -0
  268. data/lib/bio-ucsc/gasacu1/est.rb +81 -0
  269. data/lib/bio-ucsc/gasacu1/intronest.rb +81 -0
  270. data/lib/bio-ucsc/gasacu1/mrna.rb +81 -0
  271. data/lib/bio-ucsc/gasacu1/rmsk.rb +78 -0
  272. data/lib/bio-ucsc/go/db_connection.rb +5 -6
  273. data/lib/bio-ucsc/hg18/chainanocar1.rb +2 -2
  274. data/lib/bio-ucsc/hg18/chainbostau4.rb +2 -2
  275. data/lib/bio-ucsc/hg18/chainbraflo1.rb +2 -2
  276. data/lib/bio-ucsc/hg18/chaincaljac1.rb +2 -2
  277. data/lib/bio-ucsc/hg18/chaincanfam2.rb +2 -2
  278. data/lib/bio-ucsc/hg18/chaincavpor3.rb +2 -2
  279. data/lib/bio-ucsc/hg18/chaindanrer5.rb +2 -2
  280. data/lib/bio-ucsc/hg18/chainequcab1.rb +2 -2
  281. data/lib/bio-ucsc/hg18/chainfelcat3.rb +2 -2
  282. data/lib/bio-ucsc/hg18/chainfr2.rb +2 -2
  283. data/lib/bio-ucsc/hg18/chaingalgal3.rb +2 -2
  284. data/lib/bio-ucsc/hg18/chaingasacu1.rb +2 -2
  285. data/lib/bio-ucsc/hg18/chainmm9.rb +2 -2
  286. data/lib/bio-ucsc/hg18/chainmondom4.rb +2 -2
  287. data/lib/bio-ucsc/hg18/chainornana1.rb +2 -2
  288. data/lib/bio-ucsc/hg18/chainorylat2.rb +2 -2
  289. data/lib/bio-ucsc/hg18/chainpantro2.rb +2 -2
  290. data/lib/bio-ucsc/hg18/chainpetmar1.rb +2 -2
  291. data/lib/bio-ucsc/hg18/chainponabe2.rb +2 -2
  292. data/lib/bio-ucsc/hg18/chainrhemac2.rb +2 -2
  293. data/lib/bio-ucsc/hg18/chainrn4.rb +2 -2
  294. data/lib/bio-ucsc/hg18/chainself.rb +2 -2
  295. data/lib/bio-ucsc/hg18/chainstrpur2.rb +2 -2
  296. data/lib/bio-ucsc/hg18/chaintaegut1.rb +2 -2
  297. data/lib/bio-ucsc/hg18/chaintetnig2.rb +2 -2
  298. data/lib/bio-ucsc/hg18/chainxentro2.rb +2 -2
  299. data/lib/bio-ucsc/hg18/db_connection.rb +5 -7
  300. data/lib/bio-ucsc/hg18/gap.rb +2 -2
  301. data/lib/bio-ucsc/hg18/gold.rb +2 -2
  302. data/lib/bio-ucsc/hg18/intronest.rb +2 -2
  303. data/lib/bio-ucsc/hg18/rmsk.rb +2 -2
  304. data/lib/bio-ucsc/hg18/rmskrm327.rb +2 -2
  305. data/lib/bio-ucsc/hgfixed/db_connection.rb +5 -6
  306. data/lib/bio-ucsc/loxafr3.rb +20 -0
  307. data/lib/bio-ucsc/loxafr3/db_connection.rb +57 -0
  308. data/lib/bio-ucsc/mm9/chainanocar1.rb +2 -2
  309. data/lib/bio-ucsc/mm9/chainanocar1link.rb +2 -2
  310. data/lib/bio-ucsc/mm9/chainbostau4.rb +2 -2
  311. data/lib/bio-ucsc/mm9/chainbostau4link.rb +3 -3
  312. data/lib/bio-ucsc/mm9/chainbraflo1.rb +2 -2
  313. data/lib/bio-ucsc/mm9/chainbraflo1link.rb +2 -2
  314. data/lib/bio-ucsc/mm9/chaincanfam2.rb +2 -2
  315. data/lib/bio-ucsc/mm9/chaincanfam2link.rb +2 -2
  316. data/lib/bio-ucsc/mm9/chaincavpor3.rb +2 -2
  317. data/lib/bio-ucsc/mm9/chaincavpor3link.rb +2 -2
  318. data/lib/bio-ucsc/mm9/chainfr2.rb +2 -2
  319. data/lib/bio-ucsc/mm9/chainfr2link.rb +2 -2
  320. data/lib/bio-ucsc/mm9/chaingalgal3.rb +2 -2
  321. data/lib/bio-ucsc/mm9/chaingalgal3link.rb +2 -2
  322. data/lib/bio-ucsc/mm9/chaingasacu1.rb +2 -2
  323. data/lib/bio-ucsc/mm9/chaingasacu1link.rb +2 -2
  324. data/lib/bio-ucsc/mm9/chainornana1.rb +2 -2
  325. data/lib/bio-ucsc/mm9/chainornana1link.rb +2 -2
  326. data/lib/bio-ucsc/mm9/chainorylat2.rb +2 -2
  327. data/lib/bio-ucsc/mm9/chainorylat2link.rb +2 -2
  328. data/lib/bio-ucsc/mm9/chainpantro2.rb +2 -2
  329. data/lib/bio-ucsc/mm9/chainpantro2link.rb +2 -2
  330. data/lib/bio-ucsc/mm9/chainpetmar1.rb +2 -2
  331. data/lib/bio-ucsc/mm9/chainpetmar1link.rb +2 -2
  332. data/lib/bio-ucsc/mm9/chainponabe2.rb +2 -2
  333. data/lib/bio-ucsc/mm9/chainponabe2link.rb +2 -2
  334. data/lib/bio-ucsc/mm9/chainrhemac2.rb +2 -2
  335. data/lib/bio-ucsc/mm9/chainrhemac2link.rb +2 -2
  336. data/lib/bio-ucsc/mm9/chainrn4.rb +2 -2
  337. data/lib/bio-ucsc/mm9/chainrn4link.rb +2 -2
  338. data/lib/bio-ucsc/mm9/chainxentro2.rb +2 -2
  339. data/lib/bio-ucsc/mm9/chainxentro2link.rb +2 -2
  340. data/lib/bio-ucsc/mm9/db_connection.rb +6 -7
  341. data/lib/bio-ucsc/mm9/est.rb +2 -2
  342. data/lib/bio-ucsc/mm9/gap.rb +2 -2
  343. data/lib/bio-ucsc/mm9/gold.rb +2 -2
  344. data/lib/bio-ucsc/mm9/intronest.rb +2 -2
  345. data/lib/bio-ucsc/mm9/mrna.rb +2 -2
  346. data/lib/bio-ucsc/mm9/rmsk.rb +2 -2
  347. data/lib/bio-ucsc/mondom5.rb +21 -0
  348. data/lib/bio-ucsc/mondom5/db_connection.rb +57 -0
  349. data/lib/bio-ucsc/ornana1.rb +20 -0
  350. data/lib/bio-ucsc/ornana1/db_connection.rb +57 -0
  351. data/lib/bio-ucsc/orycun2.rb +24 -0
  352. data/lib/bio-ucsc/orycun2/db_connection.rb +57 -0
  353. data/lib/bio-ucsc/orylat2.rb +24 -0
  354. data/lib/bio-ucsc/orylat2/db_connection.rb +55 -0
  355. data/lib/bio-ucsc/oviari1.rb +24 -0
  356. data/lib/bio-ucsc/oviari1/db_connection.rb +57 -0
  357. data/lib/bio-ucsc/pantro3.rb +24 -0
  358. data/lib/bio-ucsc/pantro3/db_connection.rb +55 -0
  359. data/lib/bio-ucsc/petmar1.rb +22 -0
  360. data/lib/bio-ucsc/petmar1/db_connection.rb +57 -0
  361. data/lib/bio-ucsc/ponabe2.rb +36 -0
  362. data/lib/bio-ucsc/ponabe2/chainmm9.rb +81 -0
  363. data/lib/bio-ucsc/ponabe2/chainmm9link.rb +81 -0
  364. data/lib/bio-ucsc/ponabe2/chainornana1.rb +81 -0
  365. data/lib/bio-ucsc/ponabe2/chainornana1link.rb +81 -0
  366. data/lib/bio-ucsc/ponabe2/chainrhemac2.rb +81 -0
  367. data/lib/bio-ucsc/ponabe2/chainrhemac2link.rb +81 -0
  368. data/lib/bio-ucsc/ponabe2/db_connection.rb +55 -0
  369. data/lib/bio-ucsc/ponabe2/est.rb +81 -0
  370. data/lib/bio-ucsc/ponabe2/gap.rb +81 -0
  371. data/lib/bio-ucsc/ponabe2/gold.rb +81 -0
  372. data/lib/bio-ucsc/ponabe2/intronest.rb +81 -0
  373. data/lib/bio-ucsc/ponabe2/mrna.rb +81 -0
  374. data/lib/bio-ucsc/ponabe2/rmsk.rb +78 -0
  375. data/lib/bio-ucsc/pripac1.rb +33 -0
  376. data/lib/bio-ucsc/pripac1/chaincaepb1.rb +81 -0
  377. data/lib/bio-ucsc/pripac1/chaincaepb1link.rb +81 -0
  378. data/lib/bio-ucsc/pripac1/chaincaerem2.rb +81 -0
  379. data/lib/bio-ucsc/pripac1/chaincaerem2link.rb +81 -0
  380. data/lib/bio-ucsc/pripac1/chaincb3.rb +81 -0
  381. data/lib/bio-ucsc/pripac1/chaincb3link.rb +81 -0
  382. data/lib/bio-ucsc/pripac1/chaince6.rb +81 -0
  383. data/lib/bio-ucsc/pripac1/chaince6link.rb +81 -0
  384. data/lib/bio-ucsc/pripac1/db_connection.rb +57 -0
  385. data/lib/bio-ucsc/pripac1/gap.rb +81 -0
  386. data/lib/bio-ucsc/pripac1/gold.rb +81 -0
  387. data/lib/bio-ucsc/pripac1/rmsk.rb +78 -0
  388. data/lib/bio-ucsc/proteome/db_connection.rb +5 -7
  389. data/lib/bio-ucsc/rhemac2.rb +32 -0
  390. data/lib/bio-ucsc/rhemac2/chainmm9.rb +81 -0
  391. data/lib/bio-ucsc/rhemac2/chainmm9link.rb +81 -0
  392. data/lib/bio-ucsc/rhemac2/chainpantro2.rb +81 -0
  393. data/lib/bio-ucsc/rhemac2/chainpantro2link.rb +81 -0
  394. data/lib/bio-ucsc/rhemac2/chainponabe2.rb +81 -0
  395. data/lib/bio-ucsc/rhemac2/chainponabe2link.rb +81 -0
  396. data/lib/bio-ucsc/rhemac2/chainrn4.rb +81 -0
  397. data/lib/bio-ucsc/rhemac2/chainrn4link.rb +81 -0
  398. data/lib/bio-ucsc/rhemac2/db_connection.rb +55 -0
  399. data/lib/bio-ucsc/rn4.rb +52 -0
  400. data/lib/bio-ucsc/rn4/chainbostau3.rb +79 -0
  401. data/lib/bio-ucsc/rn4/chainbostau3link.rb +79 -0
  402. data/lib/bio-ucsc/rn4/chaincanfam2.rb +82 -0
  403. data/lib/bio-ucsc/rn4/chaincanfam2link.rb +82 -0
  404. data/lib/bio-ucsc/rn4/chaincavpor3.rb +81 -0
  405. data/lib/bio-ucsc/rn4/chaincavpor3link.rb +81 -0
  406. data/lib/bio-ucsc/rn4/chaindanrer4.rb +81 -0
  407. data/lib/bio-ucsc/rn4/chaindanrer4link.rb +81 -0
  408. data/lib/bio-ucsc/rn4/chainequcab1.rb +81 -0
  409. data/lib/bio-ucsc/rn4/chainequcab1link.rb +81 -0
  410. data/lib/bio-ucsc/rn4/chaingalgal3.rb +81 -0
  411. data/lib/bio-ucsc/rn4/chaingalgal3link.rb +81 -0
  412. data/lib/bio-ucsc/rn4/chainmm9.rb +81 -0
  413. data/lib/bio-ucsc/rn4/chainmm9link.rb +81 -0
  414. data/lib/bio-ucsc/rn4/chainmondom4.rb +81 -0
  415. data/lib/bio-ucsc/rn4/chainmondom4link.rb +81 -0
  416. data/lib/bio-ucsc/rn4/chainpantro2.rb +81 -0
  417. data/lib/bio-ucsc/rn4/chainpantro2link.rb +82 -0
  418. data/lib/bio-ucsc/rn4/chainrhemac2.rb +81 -0
  419. data/lib/bio-ucsc/rn4/chainrhemac2link.rb +81 -0
  420. data/lib/bio-ucsc/rn4/chainxentro2.rb +81 -0
  421. data/lib/bio-ucsc/rn4/chainxentro2link.rb +81 -0
  422. data/lib/bio-ucsc/rn4/db_connection.rb +55 -0
  423. data/lib/bio-ucsc/rn4/est.rb +81 -0
  424. data/lib/bio-ucsc/rn4/gap.rb +81 -0
  425. data/lib/bio-ucsc/rn4/gold.rb +81 -0
  426. data/lib/bio-ucsc/rn4/intronest.rb +81 -0
  427. data/lib/bio-ucsc/rn4/mrna.rb +81 -0
  428. data/lib/bio-ucsc/rn4/rmsk.rb +78 -0
  429. data/lib/bio-ucsc/saccer2.rb +33 -0
  430. data/lib/bio-ucsc/saccer2/db_connection.rb +55 -0
  431. data/lib/bio-ucsc/saccer2/est.rb +83 -0
  432. data/lib/bio-ucsc/saccer2/gap.rb +83 -0
  433. data/lib/bio-ucsc/saccer2/gold.rb +83 -0
  434. data/lib/bio-ucsc/saccer2/intronest.rb +83 -0
  435. data/lib/bio-ucsc/saccer2/mrna.rb +83 -0
  436. data/lib/bio-ucsc/saccer2/t2micron_est.rb +57 -0
  437. data/lib/bio-ucsc/saccer2/t2micron_gap.rb +57 -0
  438. data/lib/bio-ucsc/saccer2/t2micron_gold.rb +58 -0
  439. data/lib/bio-ucsc/saccer2/t2micron_intronEst.rb +57 -0
  440. data/lib/bio-ucsc/saccer2/t2micron_mrna.rb +57 -0
  441. data/lib/bio-ucsc/strpur2.rb +32 -0
  442. data/lib/bio-ucsc/strpur2/chaingalgal3.rb +81 -0
  443. data/lib/bio-ucsc/strpur2/chaingalgal3link.rb +81 -0
  444. data/lib/bio-ucsc/strpur2/chainhg18.rb +81 -0
  445. data/lib/bio-ucsc/strpur2/chainhg18link.rb +81 -0
  446. data/lib/bio-ucsc/strpur2/chainmm9.rb +81 -0
  447. data/lib/bio-ucsc/strpur2/chainmm9link.rb +81 -0
  448. data/lib/bio-ucsc/strpur2/chainpetmar1.rb +81 -0
  449. data/lib/bio-ucsc/strpur2/chainpetmar1link.rb +81 -0
  450. data/lib/bio-ucsc/strpur2/db_connection.rb +57 -0
  451. data/lib/bio-ucsc/strpur2/gap.rb +81 -0
  452. data/lib/bio-ucsc/strpur2/gold.rb +81 -0
  453. data/lib/bio-ucsc/susscr2.rb +26 -0
  454. data/lib/bio-ucsc/susscr2/db_connection.rb +57 -0
  455. data/lib/bio-ucsc/susscr2/est.rb +81 -0
  456. data/lib/bio-ucsc/susscr2/intronest.rb +81 -0
  457. data/lib/bio-ucsc/susscr2/mrna.rb +81 -0
  458. data/lib/bio-ucsc/table_class_detector.rb +18 -22
  459. data/lib/bio-ucsc/taegut1.rb +33 -0
  460. data/lib/bio-ucsc/taegut1/chaingalgal3.rb +81 -0
  461. data/lib/bio-ucsc/taegut1/chaingalgal3link.rb +81 -0
  462. data/lib/bio-ucsc/taegut1/db_connection.rb +57 -0
  463. data/lib/bio-ucsc/taegut1/est.rb +81 -0
  464. data/lib/bio-ucsc/taegut1/gap.rb +81 -0
  465. data/lib/bio-ucsc/taegut1/gold.rb +81 -0
  466. data/lib/bio-ucsc/taegut1/intronest.rb +81 -0
  467. data/lib/bio-ucsc/taegut1/mrna.rb +81 -0
  468. data/lib/bio-ucsc/taegut1/rmsk.rb +78 -0
  469. data/lib/bio-ucsc/tetnig2.rb +25 -0
  470. data/lib/bio-ucsc/tetnig2/db_connection.rb +57 -0
  471. data/lib/bio-ucsc/tetnig2/mrna.rb +81 -0
  472. data/lib/bio-ucsc/uniprot/db_connection.rb +5 -7
  473. data/lib/bio-ucsc/visigene/db_connection.rb +5 -6
  474. data/lib/bio-ucsc/xentro2.rb +30 -0
  475. data/lib/bio-ucsc/xentro2/chaingalgal3.rb +81 -0
  476. data/lib/bio-ucsc/xentro2/chaingalgal3link.rb +81 -0
  477. data/lib/bio-ucsc/xentro2/db_connection.rb +57 -0
  478. data/lib/bio-ucsc/xentro2/est.rb +81 -0
  479. data/lib/bio-ucsc/xentro2/gap.rb +81 -0
  480. data/lib/bio-ucsc/xentro2/gold.rb +81 -0
  481. data/lib/bio-ucsc/xentro2/intronest.rb +81 -0
  482. data/lib/bio-ucsc/xentro2/mrna.rb +81 -0
  483. data/lib/bio-ucsc/xentro2/rmsk.rb +78 -0
  484. data/samples/hg19-2bit-retrieve.rb +5 -2
  485. data/spec/ailmel1_spec.rb +770 -0
  486. data/spec/anocar2_spec.rb +750 -0
  487. data/spec/anogam1_spec.rb +568 -0
  488. data/spec/apimel2_spec.rb +542 -0
  489. data/spec/aplcal1_spec.rb +530 -0
  490. data/spec/bostau4_spec.rb +920 -0
  491. data/spec/braflo1_spec.rb +660 -0
  492. data/spec/caejap1_spec.rb +524 -0
  493. data/spec/caepb2_spec.rb +515 -0
  494. data/spec/caerem3_spec.rb +524 -0
  495. data/spec/caljac3_spec.rb +860 -0
  496. data/spec/canfam2_spec.rb +1145 -0
  497. data/spec/cavpor3_spec.rb +880 -0
  498. data/spec/cb3_spec.rb +634 -0
  499. data/spec/ci2_spec.rb +520 -0
  500. data/spec/danrer7_spec.rb +810 -0
  501. data/spec/dp3_spec.rb +617 -0
  502. data/spec/droana2_spec.rb +500 -0
  503. data/spec/droere1_spec.rb +510 -0
  504. data/spec/drogri1_spec.rb +470 -0
  505. data/spec/dromoj2_spec.rb +510 -0
  506. data/spec/droper1_spec.rb +470 -0
  507. data/spec/drosec1_spec.rb +470 -0
  508. data/spec/drosim1_spec.rb +588 -0
  509. data/spec/drovir2_spec.rb +540 -0
  510. data/spec/droyak2_spec.rb +558 -0
  511. data/spec/equcab2_spec.rb +936 -0
  512. data/spec/felcat4_spec.rb +770 -0
  513. data/spec/fr2_spec.rb +835 -0
  514. data/spec/galgal3_spec.rb +1351 -0
  515. data/spec/gasacu1_spec.rb +924 -0
  516. data/spec/loxafr3_spec.rb +550 -0
  517. data/spec/mondom5_spec.rb +1230 -0
  518. data/spec/ornana1_spec.rb +980 -0
  519. data/spec/orycun2_spec.rb +770 -0
  520. data/spec/orylat2_spec.rb +930 -0
  521. data/spec/oviari1_spec.rb +670 -0
  522. data/spec/pantro3_spec.rb +810 -0
  523. data/spec/petmar1_spec.rb +770 -0
  524. data/spec/ponabe2_spec.rb +962 -0
  525. data/spec/pripac1_spec.rb +621 -0
  526. data/spec/rhemac2_spec.rb +958 -0
  527. data/spec/rn4_spec.rb +2038 -0
  528. data/spec/saccer2_spec.rb +925 -0
  529. data/spec/strpur2_spec.rb +600 -0
  530. data/spec/susscr2_spec.rb +623 -0
  531. data/spec/taegut1_spec.rb +768 -0
  532. data/spec/tetnig2_spec.rb +721 -0
  533. data/spec/xentro2_spec.rb +900 -0
  534. metadata +477 -23
@@ -0,0 +1,81 @@
1
+ # Copyright::
2
+ # Copyright (C) 2011 MISHIMA, Hiroyuki <missy at be.to / hmishima at nagasaki-u.ac.jp>
3
+ # License:: The Ruby licence (Ryby's / GPLv2 dual)
4
+ #
5
+ # In the hg18 database, this table is actually separated
6
+ # into "chr1_*", "chr2_*", etc. This class dynamically
7
+ # define *::Chr1_*, *::Chr2_*, etc. The
8
+ # Rmsk.find_by_interval calls an appropreate class automatically.
9
+
10
+ module Bio
11
+ module Ucsc
12
+ module PriPac1
13
+
14
+ class ChainCaeRem2Link
15
+ KLASS = "ChainCaeRem2Link"
16
+ KLASS_S = KLASS[0..0].downcase + KLASS[1..-1]
17
+
18
+ Bio::Ucsc::PriPac1::CHROMS.each do |chr|
19
+ class_eval %!
20
+ class #{chr[0..0].upcase + chr[1..-1]}_#{KLASS} < DBConnection
21
+ set_table_name "#{chr[0..0].downcase + chr[1..-1]}_#{KLASS_S}"
22
+ set_primary_key nil
23
+ set_inheritance_column nil
24
+
25
+ def self.find_by_interval(interval, opt = {:partial => true})
26
+ find_first_or_all_by_interval(interval, :first, opt)
27
+ end
28
+
29
+ def self.find_all_by_interval(interval, opt = {:partial => true})
30
+ find_first_or_all_by_interval(interval, :all, opt)
31
+ end
32
+
33
+ def self.find_first_or_all_by_interval(interval, first_all, opt)
34
+ zstart = interval.zero_start
35
+ zend = interval.zero_end
36
+ if opt[:partial] == true
37
+ where = <<-SQL
38
+ tName = :chrom
39
+ AND bin in (:bins)
40
+ AND ((tStart BETWEEN :zstart AND :zend)
41
+ OR (tEnd BETWEEN :zstart AND :zend)
42
+ OR (tStart <= :zstart AND tEnd >= :zend))
43
+ SQL
44
+ else
45
+ where = <<-SQL
46
+ tName = :chrom
47
+ AND bin in (:bins)
48
+ AND ((tStart BETWEEN :zstart AND :zend)
49
+ AND (tEnd BETWEEN :zstart AND :zend))
50
+ SQL
51
+ end
52
+ cond = {
53
+ :chrom => interval.chrom,
54
+ :bins => Bio::Ucsc::UcscBin.bin_all(zstart, zend),
55
+ :zstart => zstart,
56
+ :zend => zend,
57
+ }
58
+ self.find(first_all,
59
+ { :select => "*",
60
+ :conditions => [where, cond], })
61
+ end
62
+ end
63
+ !
64
+ end # each chromosome
65
+
66
+ def self.find_by_interval(interval, opt = {:partial => true})
67
+ chrom = interval.chrom[0..0].upcase + interval.chrom[1..-1]
68
+ chr_klass = self.const_get("#{chrom}_#{KLASS}")
69
+ chr_klass.__send__(:find_by_interval, interval, opt)
70
+ end
71
+
72
+ def self.find_all_by_interval(interval, opt = {:partial => true})
73
+ chrom = interval.chrom[0..0].upcase + interval.chrom[1..-1]
74
+ chr_klass = self.const_get("#{chrom}_#{KLASS}")
75
+ chr_klass.__send__(:find_all_by_interval, interval, opt)
76
+ end
77
+ end # class
78
+
79
+ end # module Hg18
80
+ end # module Ucsc
81
+ end # module Bio
@@ -0,0 +1,81 @@
1
+ # Copyright::
2
+ # Copyright (C) 2011 MISHIMA, Hiroyuki <missy at be.to / hmishima at nagasaki-u.ac.jp>
3
+ # License:: The Ruby licence (Ryby's / GPLv2 dual)
4
+ #
5
+ # In the hg18 database, this table is actually separated
6
+ # into "chr1_*", "chr2_*", etc. This class dynamically
7
+ # define *::Chr1_*, *::Chr2_*, etc. The
8
+ # Rmsk.find_by_interval calls an appropreate class automatically.
9
+
10
+ module Bio
11
+ module Ucsc
12
+ module PriPac1
13
+
14
+ class ChainCb3
15
+ KLASS = "ChainCb3"
16
+ KLASS_S = KLASS[0..0].downcase + KLASS[1..-1]
17
+
18
+ Bio::Ucsc::PriPac1::CHROMS.each do |chr|
19
+ class_eval %!
20
+ class #{chr[0..0].upcase + chr[1..-1]}_#{KLASS} < DBConnection
21
+ set_table_name "#{chr[0..0].downcase + chr[1..-1]}_#{KLASS_S}"
22
+ set_primary_key nil
23
+ set_inheritance_column nil
24
+
25
+ def self.find_by_interval(interval, opt = {:partial => true})
26
+ find_first_or_all_by_interval(interval, :first, opt)
27
+ end
28
+
29
+ def self.find_all_by_interval(interval, opt = {:partial => true})
30
+ find_first_or_all_by_interval(interval, :all, opt)
31
+ end
32
+
33
+ def self.find_first_or_all_by_interval(interval, first_all, opt)
34
+ zstart = interval.zero_start
35
+ zend = interval.zero_end
36
+ if opt[:partial] == true
37
+ where = <<-SQL
38
+ tName = :chrom
39
+ AND bin in (:bins)
40
+ AND ((tStart BETWEEN :zstart AND :zend)
41
+ OR (tEnd BETWEEN :zstart AND :zend)
42
+ OR (tStart <= :zstart AND tEnd >= :zend))
43
+ SQL
44
+ else
45
+ where = <<-SQL
46
+ tName = :chrom
47
+ AND bin in (:bins)
48
+ AND ((tStart BETWEEN :zstart AND :zend)
49
+ AND (tEnd BETWEEN :zstart AND :zend))
50
+ SQL
51
+ end
52
+ cond = {
53
+ :chrom => interval.chrom,
54
+ :bins => Bio::Ucsc::UcscBin.bin_all(zstart, zend),
55
+ :zstart => zstart,
56
+ :zend => zend,
57
+ }
58
+ self.find(first_all,
59
+ { :select => "*",
60
+ :conditions => [where, cond], })
61
+ end
62
+ end
63
+ !
64
+ end # each chromosome
65
+
66
+ def self.find_by_interval(interval, opt = {:partial => true})
67
+ chrom = interval.chrom[0..0].upcase + interval.chrom[1..-1]
68
+ chr_klass = self.const_get("#{chrom}_#{KLASS}")
69
+ chr_klass.__send__(:find_by_interval, interval, opt)
70
+ end
71
+
72
+ def self.find_all_by_interval(interval, opt = {:partial => true})
73
+ chrom = interval.chrom[0..0].upcase + interval.chrom[1..-1]
74
+ chr_klass = self.const_get("#{chrom}_#{KLASS}")
75
+ chr_klass.__send__(:find_all_by_interval, interval, opt)
76
+ end
77
+ end # class
78
+
79
+ end # module Hg18
80
+ end # module Ucsc
81
+ end # module Bio
@@ -0,0 +1,81 @@
1
+ # Copyright::
2
+ # Copyright (C) 2011 MISHIMA, Hiroyuki <missy at be.to / hmishima at nagasaki-u.ac.jp>
3
+ # License:: The Ruby licence (Ryby's / GPLv2 dual)
4
+ #
5
+ # In the hg18 database, this table is actually separated
6
+ # into "chr1_*", "chr2_*", etc. This class dynamically
7
+ # define *::Chr1_*, *::Chr2_*, etc. The
8
+ # Rmsk.find_by_interval calls an appropreate class automatically.
9
+
10
+ module Bio
11
+ module Ucsc
12
+ module PriPac1
13
+
14
+ class ChainCb3Link
15
+ KLASS = "ChainCb3Link"
16
+ KLASS_S = KLASS[0..0].downcase + KLASS[1..-1]
17
+
18
+ Bio::Ucsc::PriPac1::CHROMS.each do |chr|
19
+ class_eval %!
20
+ class #{chr[0..0].upcase + chr[1..-1]}_#{KLASS} < DBConnection
21
+ set_table_name "#{chr[0..0].downcase + chr[1..-1]}_#{KLASS_S}"
22
+ set_primary_key nil
23
+ set_inheritance_column nil
24
+
25
+ def self.find_by_interval(interval, opt = {:partial => true})
26
+ find_first_or_all_by_interval(interval, :first, opt)
27
+ end
28
+
29
+ def self.find_all_by_interval(interval, opt = {:partial => true})
30
+ find_first_or_all_by_interval(interval, :all, opt)
31
+ end
32
+
33
+ def self.find_first_or_all_by_interval(interval, first_all, opt)
34
+ zstart = interval.zero_start
35
+ zend = interval.zero_end
36
+ if opt[:partial] == true
37
+ where = <<-SQL
38
+ tName = :chrom
39
+ AND bin in (:bins)
40
+ AND ((tStart BETWEEN :zstart AND :zend)
41
+ OR (tEnd BETWEEN :zstart AND :zend)
42
+ OR (tStart <= :zstart AND tEnd >= :zend))
43
+ SQL
44
+ else
45
+ where = <<-SQL
46
+ tName = :chrom
47
+ AND bin in (:bins)
48
+ AND ((tStart BETWEEN :zstart AND :zend)
49
+ AND (tEnd BETWEEN :zstart AND :zend))
50
+ SQL
51
+ end
52
+ cond = {
53
+ :chrom => interval.chrom,
54
+ :bins => Bio::Ucsc::UcscBin.bin_all(zstart, zend),
55
+ :zstart => zstart,
56
+ :zend => zend,
57
+ }
58
+ self.find(first_all,
59
+ { :select => "*",
60
+ :conditions => [where, cond], })
61
+ end
62
+ end
63
+ !
64
+ end # each chromosome
65
+
66
+ def self.find_by_interval(interval, opt = {:partial => true})
67
+ chrom = interval.chrom[0..0].upcase + interval.chrom[1..-1]
68
+ chr_klass = self.const_get("#{chrom}_#{KLASS}")
69
+ chr_klass.__send__(:find_by_interval, interval, opt)
70
+ end
71
+
72
+ def self.find_all_by_interval(interval, opt = {:partial => true})
73
+ chrom = interval.chrom[0..0].upcase + interval.chrom[1..-1]
74
+ chr_klass = self.const_get("#{chrom}_#{KLASS}")
75
+ chr_klass.__send__(:find_all_by_interval, interval, opt)
76
+ end
77
+ end # class
78
+
79
+ end # module Hg18
80
+ end # module Ucsc
81
+ end # module Bio
@@ -0,0 +1,81 @@
1
+ # Copyright::
2
+ # Copyright (C) 2011 MISHIMA, Hiroyuki <missy at be.to / hmishima at nagasaki-u.ac.jp>
3
+ # License:: The Ruby licence (Ryby's / GPLv2 dual)
4
+ #
5
+ # In the hg18 database, this table is actually separated
6
+ # into "chr1_*", "chr2_*", etc. This class dynamically
7
+ # define *::Chr1_*, *::Chr2_*, etc. The
8
+ # Rmsk.find_by_interval calls an appropreate class automatically.
9
+
10
+ module Bio
11
+ module Ucsc
12
+ module PriPac1
13
+
14
+ class ChainCe6
15
+ KLASS = "ChainCe6"
16
+ KLASS_S = KLASS[0..0].downcase + KLASS[1..-1]
17
+
18
+ Bio::Ucsc::PriPac1::CHROMS.each do |chr|
19
+ class_eval %!
20
+ class #{chr[0..0].upcase + chr[1..-1]}_#{KLASS} < DBConnection
21
+ set_table_name "#{chr[0..0].downcase + chr[1..-1]}_#{KLASS_S}"
22
+ set_primary_key nil
23
+ set_inheritance_column nil
24
+
25
+ def self.find_by_interval(interval, opt = {:partial => true})
26
+ find_first_or_all_by_interval(interval, :first, opt)
27
+ end
28
+
29
+ def self.find_all_by_interval(interval, opt = {:partial => true})
30
+ find_first_or_all_by_interval(interval, :all, opt)
31
+ end
32
+
33
+ def self.find_first_or_all_by_interval(interval, first_all, opt)
34
+ zstart = interval.zero_start
35
+ zend = interval.zero_end
36
+ if opt[:partial] == true
37
+ where = <<-SQL
38
+ tName = :chrom
39
+ AND bin in (:bins)
40
+ AND ((tStart BETWEEN :zstart AND :zend)
41
+ OR (tEnd BETWEEN :zstart AND :zend)
42
+ OR (tStart <= :zstart AND tEnd >= :zend))
43
+ SQL
44
+ else
45
+ where = <<-SQL
46
+ tName = :chrom
47
+ AND bin in (:bins)
48
+ AND ((tStart BETWEEN :zstart AND :zend)
49
+ AND (tEnd BETWEEN :zstart AND :zend))
50
+ SQL
51
+ end
52
+ cond = {
53
+ :chrom => interval.chrom,
54
+ :bins => Bio::Ucsc::UcscBin.bin_all(zstart, zend),
55
+ :zstart => zstart,
56
+ :zend => zend,
57
+ }
58
+ self.find(first_all,
59
+ { :select => "*",
60
+ :conditions => [where, cond], })
61
+ end
62
+ end
63
+ !
64
+ end # each chromosome
65
+
66
+ def self.find_by_interval(interval, opt = {:partial => true})
67
+ chrom = interval.chrom[0..0].upcase + interval.chrom[1..-1]
68
+ chr_klass = self.const_get("#{chrom}_#{KLASS}")
69
+ chr_klass.__send__(:find_by_interval, interval, opt)
70
+ end
71
+
72
+ def self.find_all_by_interval(interval, opt = {:partial => true})
73
+ chrom = interval.chrom[0..0].upcase + interval.chrom[1..-1]
74
+ chr_klass = self.const_get("#{chrom}_#{KLASS}")
75
+ chr_klass.__send__(:find_all_by_interval, interval, opt)
76
+ end
77
+ end # class
78
+
79
+ end # module Hg18
80
+ end # module Ucsc
81
+ end # module Bio
@@ -0,0 +1,81 @@
1
+ # Copyright::
2
+ # Copyright (C) 2011 MISHIMA, Hiroyuki <missy at be.to / hmishima at nagasaki-u.ac.jp>
3
+ # License:: The Ruby licence (Ryby's / GPLv2 dual)
4
+ #
5
+ # In the hg18 database, this table is actually separated
6
+ # into "chr1_*", "chr2_*", etc. This class dynamically
7
+ # define *::Chr1_*, *::Chr2_*, etc. The
8
+ # Rmsk.find_by_interval calls an appropreate class automatically.
9
+
10
+ module Bio
11
+ module Ucsc
12
+ module PriPac1
13
+
14
+ class ChainCe6Link
15
+ KLASS = "ChainCe6Link"
16
+ KLASS_S = KLASS[0..0].downcase + KLASS[1..-1]
17
+
18
+ Bio::Ucsc::PriPac1::CHROMS.each do |chr|
19
+ class_eval %!
20
+ class #{chr[0..0].upcase + chr[1..-1]}_#{KLASS} < DBConnection
21
+ set_table_name "#{chr[0..0].downcase + chr[1..-1]}_#{KLASS_S}"
22
+ set_primary_key nil
23
+ set_inheritance_column nil
24
+
25
+ def self.find_by_interval(interval, opt = {:partial => true})
26
+ find_first_or_all_by_interval(interval, :first, opt)
27
+ end
28
+
29
+ def self.find_all_by_interval(interval, opt = {:partial => true})
30
+ find_first_or_all_by_interval(interval, :all, opt)
31
+ end
32
+
33
+ def self.find_first_or_all_by_interval(interval, first_all, opt)
34
+ zstart = interval.zero_start
35
+ zend = interval.zero_end
36
+ if opt[:partial] == true
37
+ where = <<-SQL
38
+ tName = :chrom
39
+ AND bin in (:bins)
40
+ AND ((tStart BETWEEN :zstart AND :zend)
41
+ OR (tEnd BETWEEN :zstart AND :zend)
42
+ OR (tStart <= :zstart AND tEnd >= :zend))
43
+ SQL
44
+ else
45
+ where = <<-SQL
46
+ tName = :chrom
47
+ AND bin in (:bins)
48
+ AND ((tStart BETWEEN :zstart AND :zend)
49
+ AND (tEnd BETWEEN :zstart AND :zend))
50
+ SQL
51
+ end
52
+ cond = {
53
+ :chrom => interval.chrom,
54
+ :bins => Bio::Ucsc::UcscBin.bin_all(zstart, zend),
55
+ :zstart => zstart,
56
+ :zend => zend,
57
+ }
58
+ self.find(first_all,
59
+ { :select => "*",
60
+ :conditions => [where, cond], })
61
+ end
62
+ end
63
+ !
64
+ end # each chromosome
65
+
66
+ def self.find_by_interval(interval, opt = {:partial => true})
67
+ chrom = interval.chrom[0..0].upcase + interval.chrom[1..-1]
68
+ chr_klass = self.const_get("#{chrom}_#{KLASS}")
69
+ chr_klass.__send__(:find_by_interval, interval, opt)
70
+ end
71
+
72
+ def self.find_all_by_interval(interval, opt = {:partial => true})
73
+ chrom = interval.chrom[0..0].upcase + interval.chrom[1..-1]
74
+ chr_klass = self.const_get("#{chrom}_#{KLASS}")
75
+ chr_klass.__send__(:find_all_by_interval, interval, opt)
76
+ end
77
+ end # class
78
+
79
+ end # module Hg18
80
+ end # module Ucsc
81
+ end # module Bio
@@ -0,0 +1,57 @@
1
+ #
2
+ # = db_connection.rb - UCSC DB connection
3
+ #
4
+ # Copyright:: Cioyrught (C) 2011
5
+ # MISHIMA, Hiroyuki <missy at be.to / hmishima at nagasaki-u.ac.jp>
6
+ # Copyright:: Copyright (C) 2010
7
+ # Jan Aerts <jan.aerts@gmail.com>
8
+ # License:: Ruby licence (Ryby's / GPLv2 dual)
9
+
10
+ require 'rubygems'
11
+ require 'active_record'
12
+
13
+ module Bio
14
+ module Ucsc
15
+
16
+ module PriPac1
17
+ DATABASE_NAME = "priPac1"
18
+
19
+ # = DESCRIPTION
20
+ # Actual connection established to the UCSC mysql server.
21
+ class DBConnection < ActiveRecord::Base
22
+ # = DESCRIPTION
23
+ # The #connect method make the connection
24
+ #
25
+ # = USAGE
26
+ # Bin::Ucsc::DB_NAME::DBConnection.connect
27
+ #
28
+ # ---
29
+ # *Arguments*: none
30
+ @@db_adapter ||= 'mysql'
31
+ @@db_host ||= 'genome-mysql.cse.ucsc.edu'
32
+ @@db_username ||= 'genome'
33
+ @@db_password ||= ''
34
+
35
+ cattr_accessor :db_adapter, :db_host, :db_username, :db_password
36
+
37
+ self.abstract_class = true
38
+
39
+ def self.default
40
+ @@db_adapter = 'mysql'
41
+ @@db_host = 'genome-mysql.cse.ucsc.edu'
42
+ @@db_username = 'genome'
43
+ @@db_password = ''
44
+ end
45
+
46
+ def self.connect
47
+ establish_connection({ :adapter => @@db_adapter,
48
+ :host => @@db_host,
49
+ :database => DATABASE_NAME,
50
+ :username => @@db_username,
51
+ :password => @@db_password, })
52
+ end
53
+ end
54
+ end # module
55
+
56
+ end # module Ucsc
57
+ end # module Bio