sequenceserver 2.0.0.rc7 → 2.0.0.rc8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (530) hide show
  1. checksums.yaml +4 -4
  2. data/bin/chromedriver +0 -0
  3. data/bin/geckodriver +0 -0
  4. data/bin/sequenceserver +31 -4
  5. data/lib/sequenceserver.rb +6 -1
  6. data/lib/sequenceserver/database.rb +7 -42
  7. data/lib/sequenceserver/exceptions.rb +14 -0
  8. data/lib/sequenceserver/makeblastdb.rb +121 -41
  9. data/lib/sequenceserver/routes.rb +1 -1
  10. data/lib/sequenceserver/version.rb +1 -1
  11. data/public/css/sequenceserver.css +8 -2
  12. data/public/css/sequenceserver.min.css +1 -1
  13. data/public/js/jquery_world.js +1 -1
  14. data/public/js/report.js +1 -2
  15. data/public/js/search.js +40 -18
  16. data/public/js/sidebar.js +50 -26
  17. data/public/sequenceserver-report.min.js +17 -17
  18. data/public/sequenceserver-search.min.js +2 -2
  19. data/views/layout.erb +1 -1
  20. data/views/report.erb +1 -1
  21. data/views/search.erb +1 -1
  22. metadata +4 -510
  23. data/.bootstrap/config.json +0 -433
  24. data/.codeclimate.yml +0 -31
  25. data/.csslintrc +0 -2
  26. data/.dockerignore +0 -1
  27. data/.eslintignore +0 -1
  28. data/.eslintrc.json +0 -36
  29. data/.gitignore +0 -56
  30. data/.mailmap +0 -5
  31. data/.rspec +0 -3
  32. data/.rubocop.yml +0 -61
  33. data/.travis.yml +0 -74
  34. data/AppImage/recipe.yml +0 -15
  35. data/AppImage/sequenceserver.desktop +0 -8
  36. data/AppImage/sequenceserver.png +0 -0
  37. data/AppImage/sequenceserver.sh +0 -16
  38. data/Dockerfile +0 -25
  39. data/LICENSE.txt +0 -661
  40. data/LICENSE/Apache.txt +0 -176
  41. data/LICENSE/d3.txt +0 -26
  42. data/README.md +0 -161
  43. data/package.json +0 -48
  44. data/public/vendor/.dependencies.json +0 -18
  45. data/public/vendor/.loaderversions +0 -1
  46. data/public/vendor/github/components/jquery@2.1.4/.gitignore +0 -1
  47. data/public/vendor/github/components/jquery@2.1.4/.jspm-hash +0 -1
  48. data/public/vendor/github/components/jquery@2.1.4/.jspm.json +0 -37
  49. data/public/vendor/github/components/jqueryui@1.11.4/.gitignore +0 -4
  50. data/public/vendor/github/components/jqueryui@1.11.4/.jspm-hash +0 -1
  51. data/public/vendor/github/components/jqueryui@1.11.4/.jspm.json +0 -136
  52. data/public/vendor/github/components/jqueryui@1.11.4/ui/.jshintrc +0 -24
  53. data/public/vendor/github/jspm/nodelibs-buffer@0.1.0/.jspm-hash +0 -1
  54. data/public/vendor/github/jspm/nodelibs-buffer@0.1.0/.jspm.json +0 -10
  55. data/public/vendor/github/jspm/nodelibs-events@0.1.1/.jspm-hash +0 -1
  56. data/public/vendor/github/jspm/nodelibs-events@0.1.1/.jspm.json +0 -10
  57. data/public/vendor/github/jspm/nodelibs-fs@0.1.2/.jspm-hash +0 -1
  58. data/public/vendor/github/jspm/nodelibs-module@0.1.0/.jspm-hash +0 -1
  59. data/public/vendor/github/jspm/nodelibs-module@0.1.0/.jspm.json +0 -3
  60. data/public/vendor/github/jspm/nodelibs-path@0.1.0/.jspm-hash +0 -1
  61. data/public/vendor/github/jspm/nodelibs-path@0.1.0/.jspm.json +0 -10
  62. data/public/vendor/github/jspm/nodelibs-process@0.1.1/.jspm-hash +0 -1
  63. data/public/vendor/github/jspm/nodelibs-stream@0.1.0/.jspm-hash +0 -1
  64. data/public/vendor/github/jspm/nodelibs-stream@0.1.0/.jspm.json +0 -10
  65. data/public/vendor/github/jspm/nodelibs-util@0.1.0/.jspm-hash +0 -1
  66. data/public/vendor/github/jspm/nodelibs-util@0.1.0/.jspm.json +0 -10
  67. data/public/vendor/github/mbostock/d3@3.5.6/.jspm-hash +0 -1
  68. data/public/vendor/github/mbostock/d3@3.5.6/.jspm.json +0 -76
  69. data/public/vendor/github/nicgirault/circosJs@1.7.0/.gitignore +0 -10
  70. data/public/vendor/github/nicgirault/circosJs@1.7.0/.jspm-hash +0 -1
  71. data/public/vendor/github/systemjs/plugin-css@0.1.15/.gitignore +0 -1
  72. data/public/vendor/github/systemjs/plugin-css@0.1.15/.jspm-hash +0 -1
  73. data/public/vendor/github/systemjs/plugin-css@0.1.15/.jspm.json +0 -4
  74. data/public/vendor/github/systemjs/plugin-json@0.1.0/.jspm-hash +0 -1
  75. data/public/vendor/github/twbs/bootstrap@3.3.5/.jspm-hash +0 -1
  76. data/public/vendor/github/twbs/bootstrap@3.3.5/.jspm.json +0 -100
  77. data/public/vendor/npm/amdefine@1.0.0/.jspm-hash +0 -1
  78. data/public/vendor/npm/amdefine@1.0.0/.jspm.json +0 -55
  79. data/public/vendor/npm/babel-core@5.8.23/.jspm-hash +0 -1
  80. data/public/vendor/npm/babel-runtime@5.8.20/.jspm-hash +0 -1
  81. data/public/vendor/npm/babel-runtime@5.8.20/.npmignore +0 -2
  82. data/public/vendor/npm/base62@0.1.1/.jspm-hash +0 -1
  83. data/public/vendor/npm/base62@0.1.1/.jspm.json +0 -49
  84. data/public/vendor/npm/base62@0.1.1/.travis.yml +0 -4
  85. data/public/vendor/npm/base64-js@0.0.8/.jspm-hash +0 -1
  86. data/public/vendor/npm/base64-js@0.0.8/.jspm.json +0 -77
  87. data/public/vendor/npm/base64-js@0.0.8/.travis.yml +0 -5
  88. data/public/vendor/npm/buffer@3.4.3/.jspm-hash +0 -1
  89. data/public/vendor/npm/buffer@3.4.3/.jspm.json +0 -105
  90. data/public/vendor/npm/buffer@3.4.3/.npmignore +0 -1
  91. data/public/vendor/npm/buffer@3.4.3/.travis.yml +0 -8
  92. data/public/vendor/npm/buffer@3.4.3/.zuul.yml +0 -20
  93. data/public/vendor/npm/core-js@1.1.2/.eslintrc +0 -36
  94. data/public/vendor/npm/core-js@1.1.2/.gitattributes +0 -1
  95. data/public/vendor/npm/core-js@1.1.2/.jspm-hash +0 -1
  96. data/public/vendor/npm/core-js@1.1.2/.npmignore +0 -10
  97. data/public/vendor/npm/core-js@1.1.2/.travis.yml +0 -3
  98. data/public/vendor/npm/core-util-is@1.0.1/.jspm-hash +0 -1
  99. data/public/vendor/npm/core-util-is@1.0.1/.jspm.json +0 -58
  100. data/public/vendor/npm/envify@3.4.0/.jspm-hash +0 -1
  101. data/public/vendor/npm/envify@3.4.0/.jspm.json +0 -72
  102. data/public/vendor/npm/envify@3.4.0/.npmignore +0 -2
  103. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/.jspm-hash +0 -1
  104. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/.jspm.json +0 -102
  105. data/public/vendor/npm/events@1.0.2/.jspm-hash +0 -1
  106. data/public/vendor/npm/events@1.0.2/.jspm.json +0 -67
  107. data/public/vendor/npm/events@1.0.2/.npmignore +0 -1
  108. data/public/vendor/npm/events@1.0.2/.travis.yml +0 -7
  109. data/public/vendor/npm/events@1.0.2/.zuul.yml +0 -12
  110. data/public/vendor/npm/font-awesome@4.4.0/.jspm-hash +0 -1
  111. data/public/vendor/npm/font-awesome@4.4.0/.jspm.json +0 -81
  112. data/public/vendor/npm/font-awesome@4.4.0/.npmignore +0 -42
  113. data/public/vendor/npm/ieee754@1.1.6/.jspm-hash +0 -1
  114. data/public/vendor/npm/ieee754@1.1.6/.jspm.json +0 -70
  115. data/public/vendor/npm/ieee754@1.1.6/.travis.yml +0 -7
  116. data/public/vendor/npm/ieee754@1.1.6/.zuul.yml +0 -20
  117. data/public/vendor/npm/inherits@2.0.1/.jspm-hash +0 -1
  118. data/public/vendor/npm/inherits@2.0.1/.jspm.json +0 -60
  119. data/public/vendor/npm/is-array@1.0.1/.jepso-ci.json +0 -3
  120. data/public/vendor/npm/is-array@1.0.1/.jspm-hash +0 -1
  121. data/public/vendor/npm/is-array@1.0.1/.jspm.json +0 -42
  122. data/public/vendor/npm/is-array@1.0.1/.npmignore +0 -0
  123. data/public/vendor/npm/isarray@0.0.1/.jspm-hash +0 -1
  124. data/public/vendor/npm/isarray@0.0.1/.jspm.json +0 -51
  125. data/public/vendor/npm/jstransform@10.1.0/.jshintrc +0 -28
  126. data/public/vendor/npm/jstransform@10.1.0/.jspm-hash +0 -1
  127. data/public/vendor/npm/jstransform@10.1.0/.jspm.json +0 -95
  128. data/public/vendor/npm/jstransform@10.1.0/.npmignore +0 -4
  129. data/public/vendor/npm/jstransform@10.1.0/.travis.yml +0 -8
  130. data/public/vendor/npm/path-browserify@0.0.0/.jspm-hash +0 -1
  131. data/public/vendor/npm/path-browserify@0.0.0/.jspm.json +0 -56
  132. data/public/vendor/npm/process@0.10.1/.jspm-hash +0 -1
  133. data/public/vendor/npm/react@0.13.3/.jspm-hash +0 -1
  134. data/public/vendor/npm/react@0.13.3/.jspm.json +0 -77
  135. data/public/vendor/npm/readable-stream@1.1.13/.jspm-hash +0 -1
  136. data/public/vendor/npm/readable-stream@1.1.13/.jspm.json +0 -95
  137. data/public/vendor/npm/readable-stream@1.1.13/.npmignore +0 -5
  138. data/public/vendor/npm/source-map@0.1.31/.jspm-hash +0 -1
  139. data/public/vendor/npm/source-map@0.1.31/.jspm.json +0 -133
  140. data/public/vendor/npm/source-map@0.1.31/.npmignore +0 -2
  141. data/public/vendor/npm/source-map@0.1.31/.travis.yml +0 -4
  142. data/public/vendor/npm/stream-browserify@1.0.0/.jspm-hash +0 -1
  143. data/public/vendor/npm/stream-browserify@1.0.0/.jspm.json +0 -77
  144. data/public/vendor/npm/stream-browserify@1.0.0/.travis.yml +0 -4
  145. data/public/vendor/npm/string_decoder@0.10.31/.jspm-hash +0 -1
  146. data/public/vendor/npm/string_decoder@0.10.31/.jspm.json +0 -58
  147. data/public/vendor/npm/string_decoder@0.10.31/.npmignore +0 -2
  148. data/public/vendor/npm/through@2.3.8/.jspm-hash +0 -1
  149. data/public/vendor/npm/through@2.3.8/.jspm.json +0 -72
  150. data/public/vendor/npm/through@2.3.8/.travis.yml +0 -5
  151. data/public/vendor/npm/underscore@1.8.3/.jspm-hash +0 -1
  152. data/public/vendor/npm/underscore@1.8.3/.jspm.json +0 -74
  153. data/public/vendor/npm/util@0.10.3/.jspm-hash +0 -1
  154. data/public/vendor/npm/util@0.10.3/.jspm.json +0 -58
  155. data/public/vendor/npm/util@0.10.3/.npmignore +0 -1
  156. data/public/vendor/npm/util@0.10.3/.travis.yml +0 -8
  157. data/public/vendor/npm/util@0.10.3/.zuul.yml +0 -10
  158. data/public/vendor/npm/webshim@1.15.8/.gitattributes +0 -12
  159. data/public/vendor/npm/webshim@1.15.8/.jspm-hash +0 -1
  160. data/public/vendor/npm/webshim@1.15.8/.jspm.json +0 -92
  161. data/public/vendor/npm/webshim@1.15.8/.npmignore +0 -16
  162. data/public/vendor/npm/webshim@1.15.8/.project +0 -12
  163. data/public/vendor/npm/webshim@1.15.8/demos/demos/filereader/upload/.keep +0 -0
  164. data/sequenceserver.gemspec +0 -55
  165. data/spec/blast_versions/blast_2.2.30/blast_2.2.30_spec.rb +0 -228
  166. data/spec/blast_versions/blast_2.2.30/import_spec_capybara_local_2.2.30.rb +0 -583
  167. data/spec/blast_versions/blast_2.2.31/blast_2.2.31_spec.rb +0 -228
  168. data/spec/blast_versions/blast_2.2.31/import_spec_capybara_local_2.2.31.rb +0 -587
  169. data/spec/blast_versions/blast_2.3.0/blast_2.3.0_spec.rb +0 -229
  170. data/spec/blast_versions/blast_2.3.0/import_spec_capybara_local_2.3.0.rb +0 -587
  171. data/spec/blast_versions/blast_2.4.0/blast_2.4.0_spec.rb +0 -228
  172. data/spec/blast_versions/blast_2.4.0/import_spec_capybara_local_2.4.0.rb +0 -588
  173. data/spec/blast_versions/blast_2.5.0/blast_2.5.0_spec.rb +0 -228
  174. data/spec/blast_versions/blast_2.5.0/import_spec_capybara_local_2.5.0.rb +0 -587
  175. data/spec/blast_versions/blast_2.6.0/blast_2.6.0_spec.rb +0 -228
  176. data/spec/blast_versions/blast_2.6.0/import_spec_capybara_local_2.6.0.rb +0 -587
  177. data/spec/blast_versions/blast_2.7.1/blast_2.7.1_spec.rb +0 -228
  178. data/spec/blast_versions/blast_2.7.1/import_spec_capybara_local_2.7.1.rb +0 -587
  179. data/spec/blast_versions/blast_2.8.1/blast_2.8.1_spec.rb +0 -228
  180. data/spec/blast_versions/blast_2.8.1/import_spec_capybara_local_2.8.1.rb +0 -587
  181. data/spec/blast_versions/blast_2.9.0/blast_2.9.0_spec.rb +0 -228
  182. data/spec/blast_versions/blast_2.9.0/import_spec_capybara_local_2.9.0.rb +0 -585
  183. data/spec/blast_versions/diamond_0.9.24/diamond_0.9.24_spec.rb +0 -176
  184. data/spec/blast_versions/diamond_0.9.24/import_spec_capybara_local_0.9.24.rb +0 -237
  185. data/spec/capybara_spec.rb +0 -345
  186. data/spec/config_spec.rb +0 -87
  187. data/spec/database/funky_ids/funky_ids.fa +0 -16
  188. data/spec/database/funky_ids/v4/funky_ids.fa.nhd +0 -8
  189. data/spec/database/funky_ids/v4/funky_ids.fa.nhi +0 -0
  190. data/spec/database/funky_ids/v4/funky_ids.fa.nhr +0 -0
  191. data/spec/database/funky_ids/v4/funky_ids.fa.nin +0 -0
  192. data/spec/database/funky_ids/v4/funky_ids.fa.nog +0 -0
  193. data/spec/database/funky_ids/v4/funky_ids.fa.nsd +0 -15
  194. data/spec/database/funky_ids/v4/funky_ids.fa.nsi +0 -0
  195. data/spec/database/funky_ids/v4/funky_ids.fa.nsq +0 -0
  196. data/spec/database/funky_ids/v5/funky_ids.fa.ndb +0 -0
  197. data/spec/database/funky_ids/v5/funky_ids.fa.nhd +0 -8
  198. data/spec/database/funky_ids/v5/funky_ids.fa.nhi +0 -0
  199. data/spec/database/funky_ids/v5/funky_ids.fa.nhr +0 -0
  200. data/spec/database/funky_ids/v5/funky_ids.fa.nin +0 -0
  201. data/spec/database/funky_ids/v5/funky_ids.fa.nog +0 -0
  202. data/spec/database/funky_ids/v5/funky_ids.fa.nos +0 -0
  203. data/spec/database/funky_ids/v5/funky_ids.fa.not +0 -0
  204. data/spec/database/funky_ids/v5/funky_ids.fa.nsq +0 -0
  205. data/spec/database/funky_ids/v5/funky_ids.fa.ntf +0 -0
  206. data/spec/database/funky_ids/v5/funky_ids.fa.nto +0 -0
  207. data/spec/database/funky_sequences/README.md +0 -14
  208. data/spec/database/funky_sequences/funky_aa_sequences.fa +0 -7
  209. data/spec/database/funky_sequences/funky_aa_sequences.fa.phd +0 -3
  210. data/spec/database/funky_sequences/funky_aa_sequences.fa.phi +0 -0
  211. data/spec/database/funky_sequences/funky_aa_sequences.fa.phr +0 -0
  212. data/spec/database/funky_sequences/funky_aa_sequences.fa.pin +0 -0
  213. data/spec/database/funky_sequences/funky_aa_sequences.fa.pog +0 -0
  214. data/spec/database/funky_sequences/funky_aa_sequences.fa.psd +0 -6
  215. data/spec/database/funky_sequences/funky_aa_sequences.fa.psi +0 -0
  216. data/spec/database/funky_sequences/funky_aa_sequences.fa.psq +0 -0
  217. data/spec/database/funky_sequences/funky_na_sequences.fa +0 -2
  218. data/spec/database/funky_sequences/funky_na_sequences.fa.nhr +0 -0
  219. data/spec/database/funky_sequences/funky_na_sequences.fa.nin +0 -0
  220. data/spec/database/funky_sequences/funky_na_sequences.fa.nog +0 -0
  221. data/spec/database/funky_sequences/funky_na_sequences.fa.nsd +0 -2
  222. data/spec/database/funky_sequences/funky_na_sequences.fa.nsi +0 -0
  223. data/spec/database/funky_sequences/funky_na_sequences.fa.nsq +0 -0
  224. data/spec/database/ox_parse_error/query.fa +0 -1
  225. data/spec/database/ox_parse_error/rand1.fa +0 -2
  226. data/spec/database/ox_parse_error/rand1.fa.nhd +0 -1
  227. data/spec/database/ox_parse_error/rand1.fa.nhi +0 -0
  228. data/spec/database/ox_parse_error/rand1.fa.nhr +0 -0
  229. data/spec/database/ox_parse_error/rand1.fa.nin +0 -0
  230. data/spec/database/ox_parse_error/rand1.fa.nog +0 -0
  231. data/spec/database/ox_parse_error/rand1.fa.nsd +0 -2
  232. data/spec/database/ox_parse_error/rand1.fa.nsi +0 -0
  233. data/spec/database/ox_parse_error/rand1.fa.nsq +0 -0
  234. data/spec/database/ox_parse_error/rand2.fa +0 -2
  235. data/spec/database/ox_parse_error/rand2.fa.nhd +0 -1
  236. data/spec/database/ox_parse_error/rand2.fa.nhi +0 -0
  237. data/spec/database/ox_parse_error/rand2.fa.nhr +0 -0
  238. data/spec/database/ox_parse_error/rand2.fa.nin +0 -0
  239. data/spec/database/ox_parse_error/rand2.fa.nog +0 -0
  240. data/spec/database/ox_parse_error/rand2.fa.nsd +0 -2
  241. data/spec/database/ox_parse_error/rand2.fa.nsi +0 -0
  242. data/spec/database/ox_parse_error/rand2.fa.nsq +0 -0
  243. data/spec/database/ox_parse_error_unique_ids/query.fa +0 -1
  244. data/spec/database/ox_parse_error_unique_ids/rand1.fa +0 -2
  245. data/spec/database/ox_parse_error_unique_ids/rand1.fa.nhd +0 -1
  246. data/spec/database/ox_parse_error_unique_ids/rand1.fa.nhi +0 -0
  247. data/spec/database/ox_parse_error_unique_ids/rand1.fa.nhr +0 -0
  248. data/spec/database/ox_parse_error_unique_ids/rand1.fa.nin +0 -0
  249. data/spec/database/ox_parse_error_unique_ids/rand1.fa.nog +0 -0
  250. data/spec/database/ox_parse_error_unique_ids/rand1.fa.nsd +0 -2
  251. data/spec/database/ox_parse_error_unique_ids/rand1.fa.nsi +0 -0
  252. data/spec/database/ox_parse_error_unique_ids/rand1.fa.nsq +0 -0
  253. data/spec/database/ox_parse_error_unique_ids/rand2.fa +0 -2
  254. data/spec/database/ox_parse_error_unique_ids/rand2.fa.nhd +0 -1
  255. data/spec/database/ox_parse_error_unique_ids/rand2.fa.nhi +0 -0
  256. data/spec/database/ox_parse_error_unique_ids/rand2.fa.nhr +0 -0
  257. data/spec/database/ox_parse_error_unique_ids/rand2.fa.nin +0 -0
  258. data/spec/database/ox_parse_error_unique_ids/rand2.fa.nog +0 -0
  259. data/spec/database/ox_parse_error_unique_ids/rand2.fa.nsd +0 -2
  260. data/spec/database/ox_parse_error_unique_ids/rand2.fa.nsi +0 -0
  261. data/spec/database/ox_parse_error_unique_ids/rand2.fa.nsq +0 -0
  262. data/spec/database/pipe_in_seqid/pipe_in_seqid.fa +0 -6
  263. data/spec/database/pipe_in_seqid/pipe_in_seqid.fa.nhd +0 -1
  264. data/spec/database/pipe_in_seqid/pipe_in_seqid.fa.nhi +0 -0
  265. data/spec/database/pipe_in_seqid/pipe_in_seqid.fa.nhr +0 -0
  266. data/spec/database/pipe_in_seqid/pipe_in_seqid.fa.nin +0 -0
  267. data/spec/database/pipe_in_seqid/pipe_in_seqid.fa.nog +0 -0
  268. data/spec/database/pipe_in_seqid/pipe_in_seqid.fa.nsd +0 -2
  269. data/spec/database/pipe_in_seqid/pipe_in_seqid.fa.nsi +0 -0
  270. data/spec/database/pipe_in_seqid/pipe_in_seqid.fa.nsq +0 -0
  271. data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.ndb +0 -0
  272. data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nhd +0 -8
  273. data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nhi +0 -0
  274. data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nhr +0 -0
  275. data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nin +0 -0
  276. data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nog +0 -0
  277. data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nos +0 -0
  278. data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.not +0 -0
  279. data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nsq +0 -0
  280. data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.ntf +0 -0
  281. data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nto +0 -0
  282. data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.txt +0 -8
  283. data/spec/database/sample/links.rb +0 -23
  284. data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta +0 -6449
  285. data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pdb +0 -0
  286. data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.phd +0 -1189
  287. data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.phi +0 -0
  288. data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.phr +0 -0
  289. data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pin +0 -0
  290. data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pog +0 -0
  291. data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pos +0 -0
  292. data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pot +0 -0
  293. data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.psq +0 -0
  294. data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.ptf +0 -0
  295. data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pto +0 -0
  296. data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pdb +0 -0
  297. data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.phd +0 -9140
  298. data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.phi +0 -0
  299. data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.phr +0 -0
  300. data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pin +0 -0
  301. data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pog +0 -0
  302. data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pos +0 -0
  303. data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pot +0 -0
  304. data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.psq +0 -0
  305. data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.ptf +0 -0
  306. data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pto +0 -0
  307. data/spec/database/sample/proteins/uniprot/URL +0 -1
  308. data/spec/database/sample/si_uniprot_idmap.yml +0 -14180
  309. data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta +0 -5486
  310. data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.ndb +0 -0
  311. data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nhd +0 -473
  312. data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nhi +0 -0
  313. data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nhr +0 -0
  314. data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nin +0 -0
  315. data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nog +0 -0
  316. data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nos +0 -0
  317. data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.not +0 -0
  318. data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nsq +0 -0
  319. data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.ntf +0 -0
  320. data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nto +0 -0
  321. data/spec/database/unformatted/Cardiocondyla_obscurior/Cobs1.4.proteins.fa +0 -148303
  322. data/spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nhd +0 -8
  323. data/spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nhi +0 -0
  324. data/spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nhr +0 -0
  325. data/spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nin +0 -0
  326. data/spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nog +0 -0
  327. data/spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nsd +0 -16
  328. data/spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nsi +0 -0
  329. data/spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nsq +0 -0
  330. data/spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.txt +0 -8
  331. data/spec/database/v4/links.rb +0 -23
  332. data/spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta +0 -6449
  333. data/spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.phd +0 -1189
  334. data/spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.phi +0 -0
  335. data/spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.phr +0 -0
  336. data/spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pin +0 -0
  337. data/spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pog +0 -0
  338. data/spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.psd +0 -2378
  339. data/spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.psi +0 -0
  340. data/spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.psq +0 -0
  341. data/spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.phd +0 -9140
  342. data/spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.phi +0 -0
  343. data/spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.phr +0 -0
  344. data/spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pin +0 -0
  345. data/spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pog +0 -0
  346. data/spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.psd +0 -18280
  347. data/spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.psi +0 -0
  348. data/spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.psq +0 -0
  349. data/spec/database/v4/proteins/uniprot/URL +0 -1
  350. data/spec/database/v4/si_uniprot_idmap.yml +0 -14180
  351. data/spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta +0 -5486
  352. data/spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nhd +0 -473
  353. data/spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nhi +0 -0
  354. data/spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nhr +0 -0
  355. data/spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nin +0 -0
  356. data/spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nog +0 -0
  357. data/spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nsd +0 -946
  358. data/spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nsi +0 -0
  359. data/spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nsq +0 -0
  360. data/spec/database/without_parse_seqids/without_parse_seqids.fa +0 -10
  361. data/spec/database/without_parse_seqids/without_parse_seqids.fa.phr +0 -0
  362. data/spec/database/without_parse_seqids/without_parse_seqids.fa.pin +0 -0
  363. data/spec/database/without_parse_seqids/without_parse_seqids.fa.psq +0 -0
  364. data/spec/database_spec.rb +0 -51
  365. data/spec/doctor_spec.disabled.rb +0 -107
  366. data/spec/dotdir/blast_2.2.30/blastn/BLASTN_XML_2.2.30.xml +0 -1201
  367. data/spec/dotdir/blast_2.2.30/blastn/job.yaml +0 -8
  368. data/spec/dotdir/blast_2.2.30/blastn_nohits/BLASTN_NO_HITS_XML_2.2.30.xml +0 -866
  369. data/spec/dotdir/blast_2.2.30/blastn_nohits/job.yaml +0 -8
  370. data/spec/dotdir/blast_2.2.30/blastp/BLASTP_XML_2.2.30.xml +0 -1181
  371. data/spec/dotdir/blast_2.2.30/blastp/job.yaml +0 -8
  372. data/spec/dotdir/blast_2.2.30/blastx/BLASTX_XML_2.2.30.xml +0 -1181
  373. data/spec/dotdir/blast_2.2.30/blastx/job.yaml +0 -8
  374. data/spec/dotdir/blast_2.2.30/tblastn/TBLASTN_XML_2.2.30.xml +0 -1181
  375. data/spec/dotdir/blast_2.2.30/tblastn/job.yaml +0 -8
  376. data/spec/dotdir/blast_2.2.30/tblastx/TBLASTX_XML_2.2.30.xml +0 -8857
  377. data/spec/dotdir/blast_2.2.30/tblastx/job.yaml +0 -8
  378. data/spec/dotdir/blast_2.2.31/blastn/BLASTN_XML_2.2.31.xml +0 -1201
  379. data/spec/dotdir/blast_2.2.31/blastn/job.yaml +0 -8
  380. data/spec/dotdir/blast_2.2.31/blastn_nohits/BLASTN_NO_HITS_XML_2.2.31.xml +0 -866
  381. data/spec/dotdir/blast_2.2.31/blastn_nohits/job.yaml +0 -8
  382. data/spec/dotdir/blast_2.2.31/blastp/BLASTP_XML_2.2.31.xml +0 -1181
  383. data/spec/dotdir/blast_2.2.31/blastp/job.yaml +0 -8
  384. data/spec/dotdir/blast_2.2.31/blastx/BLASTX_XML_2.2.31.xml +0 -1181
  385. data/spec/dotdir/blast_2.2.31/blastx/job.yaml +0 -8
  386. data/spec/dotdir/blast_2.2.31/tblastn/TBLASTN_XML_2.2.31.xml +0 -1181
  387. data/spec/dotdir/blast_2.2.31/tblastn/job.yaml +0 -8
  388. data/spec/dotdir/blast_2.2.31/tblastx/TBLASTX_XML_2.2.31.xml +0 -8857
  389. data/spec/dotdir/blast_2.2.31/tblastx/job.yaml +0 -8
  390. data/spec/dotdir/blast_2.3.0/blastn/BLASTN_XML_2.3.0.xml +0 -1201
  391. data/spec/dotdir/blast_2.3.0/blastn/job.yaml +0 -8
  392. data/spec/dotdir/blast_2.3.0/blastn_nohits/BLASTN_NO_HITS_XML_2.3.0.xml +0 -866
  393. data/spec/dotdir/blast_2.3.0/blastn_nohits/job.yaml +0 -8
  394. data/spec/dotdir/blast_2.3.0/blastp/BLASTP_XML_2.3.0.xml +0 -1181
  395. data/spec/dotdir/blast_2.3.0/blastp/job.yaml +0 -8
  396. data/spec/dotdir/blast_2.3.0/blastx/BLASTX_XML_2.3.0.xml +0 -1181
  397. data/spec/dotdir/blast_2.3.0/blastx/job.yaml +0 -8
  398. data/spec/dotdir/blast_2.3.0/tblastn/TBLASTN_XML_2.3.0.xml +0 -1181
  399. data/spec/dotdir/blast_2.3.0/tblastn/job.yaml +0 -8
  400. data/spec/dotdir/blast_2.3.0/tblastx/TBLASTX_XML_2.3.0.xml +0 -8857
  401. data/spec/dotdir/blast_2.3.0/tblastx/job.yaml +0 -8
  402. data/spec/dotdir/blast_2.4.0/blastn/BLASTN_XML_2.4.0.xml +0 -1201
  403. data/spec/dotdir/blast_2.4.0/blastn/job.yaml +0 -8
  404. data/spec/dotdir/blast_2.4.0/blastn_nohits/BLASTN_NO_HITS_XML_2.4.0.xml +0 -866
  405. data/spec/dotdir/blast_2.4.0/blastn_nohits/job.yaml +0 -8
  406. data/spec/dotdir/blast_2.4.0/blastp/BLASTP_XML_2.4.0.xml +0 -1181
  407. data/spec/dotdir/blast_2.4.0/blastp/job.yaml +0 -8
  408. data/spec/dotdir/blast_2.4.0/blastx/BLASTX_XML_2.4.0.xml +0 -1181
  409. data/spec/dotdir/blast_2.4.0/blastx/job.yaml +0 -8
  410. data/spec/dotdir/blast_2.4.0/tblastn/TBLASTN_XML_2.4.0.xml +0 -1181
  411. data/spec/dotdir/blast_2.4.0/tblastn/job.yaml +0 -8
  412. data/spec/dotdir/blast_2.4.0/tblastx/TBLASTX_XML_2.4.0.xml +0 -8857
  413. data/spec/dotdir/blast_2.4.0/tblastx/job.yaml +0 -8
  414. data/spec/dotdir/blast_2.5.0/blastn/BLASTN_XML_2.5.0.xml +0 -1201
  415. data/spec/dotdir/blast_2.5.0/blastn/job.yaml +0 -8
  416. data/spec/dotdir/blast_2.5.0/blastn_nohits/BLASTN_NO_HITS_XML_2.5.0.xml +0 -866
  417. data/spec/dotdir/blast_2.5.0/blastn_nohits/job.yaml +0 -8
  418. data/spec/dotdir/blast_2.5.0/blastp/BLASTP +0 -2161
  419. data/spec/dotdir/blast_2.5.0/blastp/BLASTP_XML_2.5.0.xml +0 -1181
  420. data/spec/dotdir/blast_2.5.0/blastp/job.yaml +0 -8
  421. data/spec/dotdir/blast_2.5.0/blastx/BLASTX +0 -28080
  422. data/spec/dotdir/blast_2.5.0/blastx/BLASTX_XML_2.5.0.xml +0 -1181
  423. data/spec/dotdir/blast_2.5.0/blastx/job.yaml +0 -8
  424. data/spec/dotdir/blast_2.5.0/tblastn/TBLASTN +0 -29486
  425. data/spec/dotdir/blast_2.5.0/tblastn/TBLASTN_XML_2.5.0.xml +0 -1181
  426. data/spec/dotdir/blast_2.5.0/tblastn/job.yaml +0 -8
  427. data/spec/dotdir/blast_2.5.0/tblastx/TBLASTX +0 -180859
  428. data/spec/dotdir/blast_2.5.0/tblastx/TBLASTX_XML_2.5.0.xml +0 -8857
  429. data/spec/dotdir/blast_2.5.0/tblastx/job.yaml +0 -8
  430. data/spec/dotdir/blast_2.6.0/blastn/BLASTN_XML_2.6.0.xml +0 -1201
  431. data/spec/dotdir/blast_2.6.0/blastn/job.yaml +0 -8
  432. data/spec/dotdir/blast_2.6.0/blastn_nohits/BLASTN_NO_HITS_XML_2.6.0.xml +0 -866
  433. data/spec/dotdir/blast_2.6.0/blastn_nohits/job.yaml +0 -8
  434. data/spec/dotdir/blast_2.6.0/blastp/BLASTP_XML_2.6.0.xml +0 -1181
  435. data/spec/dotdir/blast_2.6.0/blastp/job.yaml +0 -8
  436. data/spec/dotdir/blast_2.6.0/blastx/BLASTX_XML_2.6.0.xml +0 -1181
  437. data/spec/dotdir/blast_2.6.0/blastx/job.yaml +0 -8
  438. data/spec/dotdir/blast_2.6.0/tblastn/TBLASTN_XML_2.6.0.xml +0 -1181
  439. data/spec/dotdir/blast_2.6.0/tblastn/job.yaml +0 -8
  440. data/spec/dotdir/blast_2.6.0/tblastx/TBLASTX_XML_2.6.0.xml +0 -8857
  441. data/spec/dotdir/blast_2.6.0/tblastx/job.yaml +0 -8
  442. data/spec/dotdir/blast_2.7.1/blastn/BLASTN_XML_2.7.1.xml +0 -1201
  443. data/spec/dotdir/blast_2.7.1/blastn/job.yaml +0 -8
  444. data/spec/dotdir/blast_2.7.1/blastn_nohits/BLASTN_NO_HITS_XML_2.7.1.xml +0 -866
  445. data/spec/dotdir/blast_2.7.1/blastn_nohits/job.yaml +0 -8
  446. data/spec/dotdir/blast_2.7.1/blastp/BLASTP_XML_2.7.1.xml +0 -1181
  447. data/spec/dotdir/blast_2.7.1/blastp/job.yaml +0 -8
  448. data/spec/dotdir/blast_2.7.1/blastx/BLASTX_XML_2.7.1.xml +0 -1181
  449. data/spec/dotdir/blast_2.7.1/blastx/job.yaml +0 -8
  450. data/spec/dotdir/blast_2.7.1/tblastn/TBLASTN_XML_2.7.1.xml +0 -1181
  451. data/spec/dotdir/blast_2.7.1/tblastn/job.yaml +0 -8
  452. data/spec/dotdir/blast_2.7.1/tblastx/TBLASTX_XML_2.7.1.xml +0 -8857
  453. data/spec/dotdir/blast_2.7.1/tblastx/job.yaml +0 -8
  454. data/spec/dotdir/blast_2.8.1/blastn/BLASTN_XML_2.8.1.xml +0 -1201
  455. data/spec/dotdir/blast_2.8.1/blastn/job.yaml +0 -8
  456. data/spec/dotdir/blast_2.8.1/blastn_nohits/BLASTN_NO_HITS_XML_2.8.1.xml +0 -866
  457. data/spec/dotdir/blast_2.8.1/blastn_nohits/job.yaml +0 -8
  458. data/spec/dotdir/blast_2.8.1/blastp/BLASTP_XML_2.8.1.xml +0 -1181
  459. data/spec/dotdir/blast_2.8.1/blastp/job.yaml +0 -8
  460. data/spec/dotdir/blast_2.8.1/blastx/BLASTX_XML_2.8.1.xml +0 -1181
  461. data/spec/dotdir/blast_2.8.1/blastx/job.yaml +0 -8
  462. data/spec/dotdir/blast_2.8.1/tblastn/TBLASTN_XML_2.8.1.xml +0 -1181
  463. data/spec/dotdir/blast_2.8.1/tblastn/job.yaml +0 -8
  464. data/spec/dotdir/blast_2.8.1/tblastx/TBLASTX_XML_2.8.1.xml +0 -8857
  465. data/spec/dotdir/blast_2.8.1/tblastx/job.yaml +0 -8
  466. data/spec/dotdir/blast_2.9.0/blastn/BLASTN_XML_2.9.0.xml +0 -1201
  467. data/spec/dotdir/blast_2.9.0/blastn/job.yaml +0 -8
  468. data/spec/dotdir/blast_2.9.0/blastn_nohits/BLASTN_NO_HITS_XML_2.9.0.xml +0 -866
  469. data/spec/dotdir/blast_2.9.0/blastn_nohits/job.yaml +0 -8
  470. data/spec/dotdir/blast_2.9.0/blastp/BLASTP_XML_2.9.0.xml +0 -1181
  471. data/spec/dotdir/blast_2.9.0/blastp/job.yaml +0 -8
  472. data/spec/dotdir/blast_2.9.0/blastx/BLASTX_XML_2.9.0.xml +0 -1181
  473. data/spec/dotdir/blast_2.9.0/blastx/job.yaml +0 -8
  474. data/spec/dotdir/blast_2.9.0/tblastn/TBLASTN_XML_2.9.0.xml +0 -1181
  475. data/spec/dotdir/blast_2.9.0/tblastn/job.yaml +0 -8
  476. data/spec/dotdir/blast_2.9.0/tblastx/TBLASTX_XML_2.9.0.xml +0 -8857
  477. data/spec/dotdir/blast_2.9.0/tblastx/job.yaml +0 -8
  478. data/spec/dotdir/diamond_0.9.24/blastp/DIAMOND_BLASTP_0.9.24.xml +0 -1040
  479. data/spec/dotdir/diamond_0.9.24/blastp/job.yaml +0 -8
  480. data/spec/dotdir/diamond_0.9.24/blastx/DIAMOND_BLASTX_0.9.24.xml +0 -1040
  481. data/spec/dotdir/diamond_0.9.24/blastx/job.yaml +0 -8
  482. data/spec/dotdir/diamond_0.9.24/blastx_nohits/DIAMOND_BLASTX_NOHITS_0.9.24.xml +0 -41
  483. data/spec/dotdir/diamond_0.9.24/blastx_nohits/job.yaml +0 -8
  484. data/spec/download_helper.rb +0 -35
  485. data/spec/empty_config.yml +0 -0
  486. data/spec/makeblastdb_spec.rb +0 -121
  487. data/spec/routes_spec.rb +0 -93
  488. data/spec/sample.conf +0 -2
  489. data/spec/sequence_spec.rb +0 -99
  490. data/spec/sequences/MH011443_1_gi_1486783306_gb_MH011443_1.txt +0 -6
  491. data/spec/sequences/MH011443_1_gi_1486783307_gb_AYF55702_1.txt +0 -6
  492. data/spec/sequences/MH011443_1_gi_1528997474_gb_MH447967_1.txt +0 -30
  493. data/spec/sequences/MH011443_1_sp_P04637_P53_HUMAN.txt +0 -6
  494. data/spec/sequences/Nucleotide_TP53_COX41.fasta +0 -15
  495. data/spec/sequences/Protein_TP53_COX41.fasta +0 -12
  496. data/spec/sequences/Query_1_SI2_2_0_06267.txt +0 -6
  497. data/spec/sequences/alignment-2_hits.txt +0 -12
  498. data/spec/sequences/alignment-35_hits_diamond_blastp.txt +0 -210
  499. data/spec/sequences/alignment-35_hits_diamond_blastx.txt +0 -210
  500. data/spec/sequences/alignment-3_hits.txt +0 -18
  501. data/spec/sequences/alignment-40_hits_blastn.txt +0 -246
  502. data/spec/sequences/alignment-40_hits_blastp.txt +0 -240
  503. data/spec/sequences/alignment-40_hits_blastp_2.2.30.txt +0 -240
  504. data/spec/sequences/alignment-40_hits_blastx.txt +0 -240
  505. data/spec/sequences/alignment-40_hits_tblastn.txt +0 -240
  506. data/spec/sequences/alignment-40_hits_tblastn_2.2.30.txt +0 -240
  507. data/spec/sequences/alignment-40_hits_tblastx.txt +0 -2664
  508. data/spec/sequences/alignment-4_hits.txt +0 -24
  509. data/spec/sequences/alignment-4_hits_blastn.txt +0 -24
  510. data/spec/sequences/alignment-4_hits_blastp.txt +0 -24
  511. data/spec/sequences/alignment-4_hits_blastp_2.2.30.txt +0 -24
  512. data/spec/sequences/alignment-4_hits_blastx.txt +0 -24
  513. data/spec/sequences/alignment-4_hits_diamond_blastp.txt +0 -24
  514. data/spec/sequences/alignment-4_hits_diamond_blastx.txt +0 -24
  515. data/spec/sequences/alignment-4_hits_tblastn.txt +0 -24
  516. data/spec/sequences/alignment-4_hits_tblastn_2.2.30.txt +0 -24
  517. data/spec/sequences/alignment-4_hits_tblastx.txt +0 -318
  518. data/spec/sequences/nucleotide_query.fa +0 -21
  519. data/spec/sequences/problematic_query.fa +0 -5
  520. data/spec/sequences/protein_query.fa +0 -9
  521. data/spec/sequences/sample_query_fire_ant_obps.fa +0 -44
  522. data/spec/sequences/sequenceserver-2_hits.fa +0 -10
  523. data/spec/sequences/sequenceserver-SI2.2.0_06267.fa +0 -5
  524. data/spec/sequences/sp_P04637_P53_HUMAN_gi_1099170394_ref_XP_018868681_1.txt +0 -6
  525. data/spec/sequences/sp_P04637_P53_HUMAN_gi_120407068_ref_NP_000537_3.txt +0 -6
  526. data/spec/sequences/sp_P04637_P53_HUMAN_gi_1484127324_gb_MG595988_1.txt +0 -6
  527. data/spec/sequences/sp_P04637_P53_HUMAN_gi_395440626_gb_JQ694049_1.txt +0 -6
  528. data/spec/sequences/sp_P04637_P53_HUMAN_sp_P04637_P53_HUMAN.txt +0 -6
  529. data/spec/sequenceserver_spec.rb +0 -90
  530. data/spec/spec_helper.rb +0 -63
@@ -1,228 +0,0 @@
1
- require 'spec_helper'
2
-
3
- # Test BLAST module.
4
- module SequenceServer
5
- with_hits = Job.fetch('blast_2.4.0/blastn')
6
- no_hits = Job.fetch('blast_2.4.0/blastn_nohits')
7
-
8
- init
9
-
10
- describe 'Report' do
11
- hits_report = BLAST::Report.new(with_hits)
12
- no_hits_report = BLAST::Report.new(no_hits)
13
-
14
- it 'will return an Array of queries' do
15
- hits_report.queries.should be_a Array
16
- no_hits_report.queries.should be_a Array
17
- end
18
-
19
- it 'will return a Hash of stats' do
20
- hits_report.stats.should be_a Hash
21
- no_hits_report.stats.should be_a Hash
22
- end
23
-
24
- it 'contains all the necessary stats' do
25
- hits_report.stats.length.should eql(7)
26
- no_hits_report.stats.length.should eql(7)
27
- end
28
- end
29
-
30
- describe 'Query' do
31
- hits_report = BLAST::Report.new(with_hits)
32
- no_hits_report = BLAST::Report.new(no_hits)
33
-
34
- it 'will return queries with valid length' do
35
- hits_report.queries.first.length.should be_a Integer
36
- hits_report.queries.first.length.should satisfy { |n| n > 0 }
37
- no_hits_report.queries.first.length.should be_a Integer
38
- no_hits_report.queries.first.length.should satisfy { |n| n > 0 }
39
- end
40
-
41
- it 'will return an Array of hits' do
42
- hits_report.queries.first.hits.should be_a Array
43
- no_hits_report.queries.first.hits.should be_a Array
44
- end
45
- end
46
-
47
- describe 'Hits' do
48
- hits_report = BLAST::Report.new(with_hits)
49
- no_hits_report = BLAST::Report.new(no_hits)
50
-
51
- it 'will have non zero length' do
52
- hits_report.queries.last.hits.first.length.should satisfy { |n| n > 0 }
53
- end
54
-
55
- it 'will return an Array of HSPs' do
56
- hits_report.queries.first.hits.first.hsps.should be_a Array
57
- end
58
-
59
- it 'will return an Array with atleast one HSP' do
60
- hits_report.queries.first.hits.first.hsps.length.should be >= 1
61
- end
62
-
63
- it 'will contain no element if no hits were obtained' do
64
- no_hits_report.queries.first.hits.length.should eql(0)
65
- end
66
- end
67
-
68
- # Test general features of HSPs. Algorithm specific customizations are
69
- # tested separetly.
70
- describe 'HSPs' do
71
- hits_report = BLAST::Report.new(with_hits)
72
-
73
- # Currently using all 17 HSP parameters in BLAST Report + 1 to refer to the
74
- # hit object it belongs to.
75
- it 'have all the necessary values' do
76
- hits_report.queries.last.hits.first.hsps.last.count.should eql(19)
77
- end
78
-
79
- # Test Random HSPs to ensure that all the values from HSP struct are valid.
80
- it 'have correct alignment values' do
81
- hits_report.queries.last.hits.first.hsps.last.bit_score.should be_a Float
82
- hits_report.queries.last.hits.first.hsps.last.score.should be_a Integer
83
-
84
- hits_report.queries.first.hits.first.hsps.first.evalue.should be_a Float
85
- hits_report.queries.first.hits.first.hsps.first.evalue
86
- .should_not satisfy { |n| n < 0 }
87
-
88
- hits_report.queries.first.hits.last.hsps.first.qstart.should be_a Integer
89
- hits_report.queries.first.hits.last.hsps.first.qstart
90
- .should_not satisfy { |n| n < 0 }
91
-
92
- hits_report.queries.first.hits.last.hsps.first.qend.should be_a Integer
93
- hits_report.queries.first.hits.last.hsps.first.qend
94
- .should_not satisfy { |n| n < 0 }
95
-
96
- hits_report.queries.last.hits.last.hsps.last.sstart.should be_a Integer
97
- hits_report.queries.last.hits.last.hsps.last.sstart
98
- .should_not satisfy { |n| n < 0 }
99
-
100
- hits_report.queries.first.hits.first.hsps.last.send.should be_a Integer
101
- hits_report.queries.first.hits.first.hsps.last.send
102
- .should_not satisfy { |n| n < 0 }
103
-
104
- hits_report.queries.first.hits.first.hsps.last.qframe.should be_a Integer
105
- hits_report.queries.first.hits.first.hsps.last.sframe.should be_a Integer
106
-
107
- hits_report.queries.first.hits.first.hsps.last.identity.should be_a Integer
108
- hits_report.queries.first.hits.first.hsps.last.identity
109
- .should_not satisfy { |n| n < 0 }
110
-
111
- hits_report.queries.first.hits.first.hsps.last.gaps.should be_a Integer
112
- hits_report.queries.first.hits.first.hsps.last.gaps
113
- .should_not satisfy { |n| n < 0 }
114
-
115
- hits_report.queries.first.hits.first.hsps.last.positives
116
- .should be_a Integer
117
- hits_report.queries.first.hits.first.hsps.last.positives
118
- .should_not satisfy { |n| n < 0 }
119
-
120
- hits_report.queries.first.hits.first.hsps.last.length.should be_a Integer
121
- hits_report.queries.first.hits.first.hsps.last.length
122
- .should satisfy { |n| n > 0 }
123
-
124
- hits_report.queries.last.hits.last.hsps.first.qseq.should be_a String
125
- hits_report.queries.last.hits.last.hsps.first.sseq.should be_a String
126
- hits_report.queries.last.hits.last.hsps.first.midline.should be_a String
127
- end
128
-
129
- it 'have correctly matched query, hit and midline alignments' do
130
- hsp = hits_report.queries.last.hits.last.hsps.first
131
- hsp.qseq.length.should eql(hsp.sseq.length)
132
- hsp.sseq.length.should eql(hsp.midline.length)
133
- hsp.midline.length.should eql(hsp.qseq.length)
134
- end
135
- end
136
-
137
- # Individually test different BLAST+ algorithms
138
- #
139
- describe 'BLASTN' do
140
- let 'hsp' do
141
- report = BLAST::Report.new(Job.fetch('blast_2.4.0/blastn'))
142
- report.queries.first.hits.last.hsps.first
143
- end
144
-
145
- it 'have correct query and subject frame' do
146
- [1, -1].should include(hsp.qframe)
147
- [1, -1].should include(hsp.sframe)
148
- end
149
-
150
- it 'have correct qstart, qend, sstart, send' do
151
- if hsp.sframe > 0
152
- hsp.sstart.should be <= hsp.send
153
- else
154
- hsp.sstart.should be >= hsp.send
155
- end
156
- end
157
- end
158
-
159
- describe 'BLASTP' do
160
- let 'hsp' do
161
- report = BLAST::Report.new(Job.fetch('blast_2.4.0/blastp'))
162
- report.queries.first.hits.last.hsps.first
163
- end
164
-
165
- it 'have correct query and subject frame' do
166
- hsp.qframe.should eql(0)
167
- hsp.sframe.should eql(0)
168
- end
169
-
170
- it 'have correct qstart, qend, sstart, send values' do
171
- hsp.qstart.should be <= hsp.qend
172
- hsp.sstart.should be <= hsp.send
173
- end
174
-
175
- end
176
-
177
- describe 'BLASTX' do
178
- let 'hsp' do
179
- report = BLAST::Report.new(Job.fetch('blast_2.4.0/blastx'))
180
-
181
- report.queries.first.hits.last.hsps.first
182
- end
183
-
184
- it 'have correct query and subject frame' do
185
- hsp.qframe.should_not eql(0)
186
- hsp.sframe.should eql(0)
187
- end
188
-
189
- it 'have correct qstart, qend, sstart, send' do
190
- hsp.qstart.should be <= hsp.qend
191
- hsp.sstart.should be <= hsp.send
192
- end
193
- end
194
-
195
- describe 'TBLASTX' do
196
- let 'hsp' do
197
- report = BLAST::Report.new(Job.fetch('blast_2.4.0/tblastx'))
198
- report.queries.first.hits.last.hsps.first
199
- end
200
-
201
- it 'have correct query and subject frame' do
202
- hsp.qframe.should_not eql(0)
203
- hsp.sframe.should_not eql(0)
204
- end
205
-
206
- it 'have correct qstart, qend, sstart, send' do
207
- hsp.qstart.should be <= hsp.qend
208
- hsp.sstart.should be <= hsp.send
209
- end
210
- end
211
-
212
- describe 'TBLASTN' do
213
- let 'hsp' do
214
- report = BLAST::Report.new(Job.fetch('blast_2.4.0/tblastn'))
215
- report.queries.first.hits.last.hsps.first
216
- end
217
-
218
- it 'have correct query and subject frame' do
219
- hsp.qframe.should eql(0)
220
- hsp.sframe.should_not eql(0)
221
- end
222
-
223
- it 'have correct qstart, qend, sstart, send' do
224
- hsp.qstart.should be <= hsp.qend
225
- hsp.sstart.should be <= hsp.send
226
- end
227
- end
228
- end
@@ -1,588 +0,0 @@
1
- describe 'report generated from imported XML', type: :feature, js: true do
2
- # Test suite to test features of imported XML report. Fasta files used for
3
- # testing consist of TP53 and COX41 protein/nucleotide sequences for
4
- # reproducibility. Each query was limited to 20 hits to not to overload the
5
- # test suite.
6
-
7
- # BLASTP test scenarios
8
- it 'loads BLASTP XML and tests hit alignment and sidebar Alignment download' do
9
- access_by_uuid('blast_2.4.0/blastp')
10
- # Click on the first hit Alignment download button on the page and wait for
11
- # the download to finish.
12
-
13
- page.execute_script("$('.download-aln:eq(0)').click()")
14
- wait_for_download
15
-
16
- expect(File.basename(downloaded_file)).to eq('sp_P04637_P53_HUMAN_gi_1099170394_ref_XP_018868681_1.txt')
17
- expect(File.read(downloaded_file)).to eq(File.read('spec/sequences/sp_P04637_P53_HUMAN_gi_1099170394_ref_XP_018868681_1.txt'))
18
-
19
- clear_downloads
20
-
21
- # Click on the Alignment of all hits download and compare the downloaded
22
- # content
23
-
24
- page.click_link('Alignment of all hits')
25
- wait_for_download
26
-
27
- expect(File.basename(downloaded_file)).to eq('alignment-40_hits.txt')
28
- expect(File.read(downloaded_file)).to eq(File.read('spec/sequences/alignment-40_hits_blastp.txt'))
29
- clear_downloads
30
-
31
- # Check the cheboxes of indicted hits and click on the download of Alignment
32
- # of selected hits and compare the downloaded content
33
-
34
- page.check('Query_1_hit_1_checkbox')
35
- page.check('Query_1_hit_2_checkbox')
36
- page.check('Query_2_hit_1_checkbox')
37
- page.check('Query_2_hit_2_checkbox')
38
- page.click_link('Alignment of 4 selected hit(s)')
39
- wait_for_download
40
-
41
- expect(File.basename(downloaded_file)).to eq('alignment-4_hits.txt')
42
- expect(File.read(downloaded_file)).to eq(File.read('spec/sequences/alignment-4_hits_blastp.txt'))
43
- end
44
-
45
- it 'loads BLASTP XML and tests alignment overview and hit PNG/SVG download' do
46
- access_by_uuid('blast_2.4.0/blastp')
47
-
48
- # Click on the PNG/SVG download button of the alignment overview and compare
49
- # the downloaded content.
50
-
51
- page.execute_script("$('.export-to-png:eq(0)').click()")
52
- wait_for_download
53
- expect(File.basename(downloaded_file)).to eq('Alignment-Overview-sp_P04637_P53_HUMAN.png')
54
-
55
- clear_downloads
56
-
57
- page.execute_script("$('.export-to-svg:eq(0)').click()")
58
- wait_for_download
59
- expect(File.basename(downloaded_file)).to eq('Alignment-Overview-sp_P04637_P53_HUMAN.svg')
60
-
61
- clear_downloads
62
-
63
- # Click on the PNG/SVG download button of the first hit available and
64
- # compare the downloaded content.
65
- page.execute_script("$('.export-to-png:eq(1)').click()")
66
- wait_for_download
67
-
68
- expect(File.basename(downloaded_file)).to eq('Kablammo-sp_P04637_P53_HUMAN-gi_1099170394_ref_XP_018868681_1.png')
69
- clear_downloads
70
-
71
- page.execute_script("$('.export-to-svg:eq(1)').click()")
72
- wait_for_download
73
-
74
- expect(File.basename(downloaded_file)).to eq('Kablammo-sp_P04637_P53_HUMAN-gi_1099170394_ref_XP_018868681_1.svg')
75
- page.should have_content('BLASTP')
76
- end
77
-
78
- it 'loads BLASTP XML and tests Circos download' do
79
- access_by_uuid('blast_2.4.0/blastp')
80
-
81
- # Click on the Circos expanding button, wait for animation, click on the
82
- # download of PNG/SVG file and test that it initiated a file download in a
83
- # right format.
84
- page.should have_content('Queries and their top hits: chord diagram')
85
- page.execute_script("$('.circos > .grapher-header > h4').click()")
86
- sleep 1
87
-
88
- page.execute_script("$('.export-to-png:eq(0)').click()")
89
- wait_for_download
90
- expect(File.basename(downloaded_file)).to eq('Circos-visualisation.png')
91
- clear_downloads
92
-
93
- page.execute_script("$('.export-to-svg:eq(0)').click()")
94
- wait_for_download
95
- expect(File.basename(downloaded_file)).to eq('Circos-visualisation.svg')
96
- end
97
-
98
- it 'loads BLASTP XML and tests Length distribution download' do
99
- access_by_uuid('blast_2.4.0/blastp')
100
-
101
- # Click on the Length distribution expanding button, wait for animation,
102
- # click on the download of PNG/SVG file and test that it initiated a file
103
- # download in a right format.
104
- page.should have_content('Length distribution of hits')
105
- page.execute_script("$('.length-distribution > .grapher-header > h4').click()")
106
- sleep 1
107
-
108
- page.execute_script("$('.export-to-png:eq(1)').click()")
109
- wait_for_download
110
- expect(File.basename(downloaded_file)).to eq('length-distribution-sp_P04637_P53_HUMAN.png')
111
- clear_downloads
112
-
113
- page.execute_script("$('.export-to-svg:eq(1)').click()")
114
- wait_for_download
115
- expect(File.basename(downloaded_file)).to eq('length-distribution-sp_P04637_P53_HUMAN.svg')
116
- end
117
-
118
- # BLASTX test scenarios
119
-
120
- it 'loads BLASTX XML and tests hit alignment and sidebar Alignment download' do
121
- access_by_uuid('blast_2.4.0/blastx')
122
-
123
- # Click on the first Alignment download button on the page and wait for the
124
- # download to finish.
125
- page.execute_script("$('.download-aln:eq(0)').click()")
126
- wait_for_download
127
-
128
- expect(File.basename(downloaded_file)).to eq('MH011443_1_gi_1486783307_gb_AYF55702_1.txt')
129
- expect(File.read(downloaded_file)).to eq(File.read('spec/sequences/MH011443_1_gi_1486783307_gb_AYF55702_1.txt'))
130
-
131
- clear_downloads
132
-
133
- # Click on the Alignment of all hits download and compare the downloaded
134
- # content
135
-
136
- page.click_link('Alignment of all hits')
137
- wait_for_download
138
-
139
- expect(File.basename(downloaded_file)).to eq('alignment-40_hits.txt')
140
- expect(File.read(downloaded_file)).to eq(File.read('spec/sequences/alignment-40_hits_blastx.txt'))
141
- clear_downloads
142
-
143
- # Select four hit checkboxes and click on the Alignment of selected hits.
144
- # Compare the downloaded content.
145
- page.check('Query_1_hit_3_checkbox')
146
- page.check('Query_1_hit_4_checkbox')
147
- page.check('Query_2_hit_3_checkbox')
148
- page.check('Query_2_hit_4_checkbox')
149
- page.click_link('Alignment of 4 selected hit(s)')
150
- wait_for_download
151
-
152
- expect(File.basename(downloaded_file)).to eq('alignment-4_hits.txt')
153
- expect(File.read(downloaded_file)).to eq(File.read('spec/sequences/alignment-4_hits_blastx.txt'))
154
-
155
- page.should have_content('BLASTX')
156
- end
157
-
158
- it 'loads BLASTX XML and tests hit PNG/SVG download' do
159
- access_by_uuid('blast_2.4.0/blastx')
160
-
161
- # Click on the PNG/SVG download button of the alignment overview and compare
162
- # the downloaded content.
163
- page.execute_script("$('.export-to-png:eq(0)').click()")
164
- wait_for_download
165
- expect(File.basename(downloaded_file)).to eq('Alignment-Overview-MH011443_1.png')
166
-
167
- clear_downloads
168
-
169
- page.execute_script("$('.export-to-svg:eq(0)').click()")
170
- wait_for_download
171
- expect(File.basename(downloaded_file)).to eq('Alignment-Overview-MH011443_1.svg')
172
-
173
- clear_downloads
174
- # Click on the PNG/SVG download button of the first hit available and
175
- # compare the downloaded content.
176
- page.execute_script("$('.export-to-png:eq(1)').click()")
177
-
178
- wait_for_download
179
- expect(File.basename(downloaded_file)).to eq('Kablammo-MH011443_1-gi_1486783307_gb_AYF55702_1.png')
180
- clear_downloads
181
-
182
- page.execute_script("$('.export-to-svg:eq(1)').click()")
183
- wait_for_download
184
-
185
- expect(File.basename(downloaded_file)).to eq('Kablammo-MH011443_1-gi_1486783307_gb_AYF55702_1.svg')
186
- page.should have_content('BLASTX')
187
- end
188
-
189
- it 'loads BLASTX XML and tests Circos download' do
190
- access_by_uuid('blast_2.4.0/blastx')
191
- # Click on the Circos expanding button, wait for animation, click on the
192
- # download of PNG/SVG file and test that it initiated a file download in a
193
- # right format.
194
-
195
- page.should have_content('Queries and their top hits: chord diagram')
196
- page.execute_script("$('.circos > .grapher-header > h4').click()")
197
- sleep 1
198
-
199
- page.execute_script("$('.export-to-png:eq(0)').click()")
200
- wait_for_download
201
- expect(File.basename(downloaded_file)).to eq('Circos-visualisation.png')
202
- clear_downloads
203
-
204
- page.execute_script("$('.export-to-svg:eq(0)').click()")
205
- wait_for_download
206
- expect(File.basename(downloaded_file)).to eq('Circos-visualisation.svg')
207
- end
208
-
209
- it 'loads BLASTX XML and tests Length distribution download' do
210
- access_by_uuid('blast_2.4.0/blastx')
211
- # Click on the Length distribution expanding button, wait for animation,
212
- # click on the download of PNG/SVG file and test that it initiated a file
213
- # download in a right format.
214
-
215
- page.should have_content('Length distribution of hits')
216
- page.execute_script("$('.length-distribution > .grapher-header > h4').click()")
217
- sleep 1
218
-
219
- page.execute_script("$('.export-to-png:eq(1)').click()")
220
- wait_for_download
221
- expect(File.basename(downloaded_file)).to eq('length-distribution-MH011443_1.png')
222
-
223
- clear_downloads
224
-
225
- page.execute_script("$('.export-to-svg:eq(1)').click()")
226
- wait_for_download
227
- expect(File.basename(downloaded_file)).to eq('length-distribution-MH011443_1.svg')
228
- end
229
-
230
- # BLASTN Test scenarios
231
-
232
- it 'loads BLASTN XML and tests hit alignment and sidebar Alignment download' do
233
- access_by_uuid('blast_2.4.0/blastn')
234
- # Click on the first Alignment download button on the page and wait for the
235
- # download to finish.
236
-
237
- page.execute_script("$('.download-aln:eq(0)').click()")
238
- wait_for_download
239
-
240
- expect(File.basename(downloaded_file)).to eq('MH011443_1_gi_1486783306_gb_MH011443_1.txt')
241
- expect(File.read(downloaded_file)).to eq(File.read('spec/sequences/MH011443_1_gi_1486783306_gb_MH011443_1.txt'))
242
-
243
- clear_downloads
244
-
245
- # Click on the Alignment of all hits download and compare the downloaded
246
- # content
247
-
248
- page.click_link('Alignment of all hits')
249
- wait_for_download
250
-
251
- expect(File.basename(downloaded_file)).to eq('alignment-40_hits.txt')
252
- expect(File.read(downloaded_file)).to eq(File.read('spec/sequences/alignment-40_hits_blastn.txt'))
253
-
254
- clear_downloads
255
-
256
- # Select four hit checkboxes and click on the Alignment of selected hits.
257
- # Compare the downloaded content.
258
- page.check('Query_1_hit_5_checkbox')
259
- page.check('Query_1_hit_6_checkbox')
260
- page.check('Query_2_hit_5_checkbox')
261
- page.check('Query_2_hit_6_checkbox')
262
- page.click_link('Alignment of 4 selected hit(s)')
263
- wait_for_download
264
-
265
- expect(File.basename(downloaded_file)).to eq('alignment-4_hits.txt')
266
- expect(File.read(downloaded_file)).to eq(File.read('spec/sequences/alignment-4_hits_blastn.txt'))
267
- page.should have_content('BLASTN')
268
- end
269
-
270
- it 'loads BLASTN XML and tests hit PNG/SVG download' do
271
- access_by_uuid('blast_2.4.0/blastn')
272
-
273
- # Click on the PNG/SVG download button of the alignment overview and compare
274
- # the downloaded content.
275
- page.execute_script("$('.export-to-png:eq(0)').click()")
276
- wait_for_download
277
- expect(File.basename(downloaded_file)).to eq('Alignment-Overview-MH011443_1.png')
278
-
279
- clear_downloads
280
-
281
- page.execute_script("$('.export-to-svg:eq(0)').click()")
282
- wait_for_download
283
- expect(File.basename(downloaded_file)).to eq('Alignment-Overview-MH011443_1.svg')
284
-
285
- clear_downloads
286
- # Click on the PNG download button of the first hit available and compare
287
- # the downloaded content.
288
-
289
- page.execute_script("$('.export-to-png:eq(2)').click()")
290
-
291
- wait_for_download
292
- expect(File.basename(downloaded_file)).to eq('Kablammo-MH011443_1-gi_1528997474_gb_MH447967_1.png')
293
-
294
- clear_downloads
295
-
296
- # Click on the SVG download button of the first hit available and compare
297
- # the downloaded content.
298
-
299
- page.execute_script("$('.export-to-svg:eq(2)').click()")
300
- wait_for_download
301
-
302
- expect(File.basename(downloaded_file)).to eq('Kablammo-MH011443_1-gi_1528997474_gb_MH447967_1.svg')
303
- page.should have_content('BLASTN')
304
- end
305
-
306
- it 'loads BLASTN XML and tests Circos download' do
307
- access_by_uuid('blast_2.4.0/blastn')
308
- # Click on the Circos expanding button, wait for animation, click on the
309
- # download of PNG/SVG file and test that it initiated a file download in a
310
- # right format.
311
-
312
- page.should have_content('Queries and their top hits: chord diagram')
313
- page.execute_script("$('.circos > .grapher-header > h4').click()")
314
- sleep 1
315
-
316
- page.execute_script("$('.export-to-png:eq(0)').click()")
317
- wait_for_download
318
- expect(File.basename(downloaded_file)).to eq('Circos-visualisation.png')
319
- clear_downloads
320
-
321
- page.execute_script("$('.export-to-svg:eq(0)').click()")
322
- wait_for_download
323
- expect(File.basename(downloaded_file)).to eq('Circos-visualisation.svg')
324
- end
325
-
326
- it 'loads BLASTN XML and tests Length distribution download' do
327
- access_by_uuid('blast_2.4.0/blastn')
328
- # Click on the Length distribution expanding button, wait for animation,
329
- # click on the download of PNG/SVG file and test that it initiated a file
330
- # download in a right format.
331
-
332
- page.should have_content('Length distribution of hits')
333
- page.execute_script("$('.length-distribution > .grapher-header > h4').click()")
334
- sleep 1
335
- page.execute_script("$('.export-to-png:eq(1)').click()")
336
- wait_for_download
337
- expect(File.basename(downloaded_file)).to eq('length-distribution-MH011443_1.png')
338
- clear_downloads
339
-
340
- page.execute_script("$('.export-to-svg:eq(1)').click()")
341
- wait_for_download
342
- expect(File.basename(downloaded_file)).to eq('length-distribution-MH011443_1.svg')
343
- end
344
-
345
- # TBLASTN Test scenarios
346
-
347
- it 'loads TBLASTN XML and tests hit alignment and sidebar Alignment download' do
348
- access_by_uuid('blast_2.4.0/tblastn')
349
- # Click on the first Alignment download button on the page and wait for the
350
- # download to finish.
351
-
352
- page.execute_script("$('.download-aln:eq(0)').click()")
353
- wait_for_download
354
-
355
- expect(File.basename(downloaded_file)).to eq('sp_P04637_P53_HUMAN_gi_395440626_gb_JQ694049_1.txt')
356
- expect(File.read(downloaded_file)).to eq(File.read('spec/sequences/sp_P04637_P53_HUMAN_gi_395440626_gb_JQ694049_1.txt'))
357
-
358
- clear_downloads
359
-
360
- # Click on the Alignment of all hits download and compare the downloaded
361
- # content
362
-
363
- page.click_link('Alignment of all hits')
364
- wait_for_download
365
-
366
- expect(File.basename(downloaded_file)).to eq('alignment-40_hits.txt')
367
- expect(File.read(downloaded_file)).to eq(File.read('spec/sequences/alignment-40_hits_tblastn.txt'))
368
-
369
- clear_downloads
370
-
371
- # Select four hit checkboxes and click on the Alignment of selected hits.
372
- # Compare the downloaded content.
373
- page.check('Query_1_hit_7_checkbox')
374
- page.check('Query_1_hit_8_checkbox')
375
- page.check('Query_2_hit_7_checkbox')
376
- page.check('Query_2_hit_8_checkbox')
377
- page.click_link('Alignment of 4 selected hit(s)')
378
- wait_for_download
379
-
380
- expect(File.basename(downloaded_file)).to eq('alignment-4_hits.txt')
381
- expect(File.read(downloaded_file)).to eq(File.read('spec/sequences/alignment-4_hits_tblastn.txt'))
382
- page.should have_content('TBLASTN')
383
- end
384
-
385
- it 'loads TBLASTN XML and tests hit PNG/SVG download' do
386
- access_by_uuid('blast_2.4.0/tblastn')
387
-
388
- # Click on the PNG/SVG download button of the alignment overview and compare
389
- # the downloaded content.
390
- page.execute_script("$('.export-to-png:eq(0)').click()")
391
- wait_for_download
392
- expect(File.basename(downloaded_file)).to eq('Alignment-Overview-sp_P04637_P53_HUMAN.png')
393
-
394
- clear_downloads
395
-
396
- page.execute_script("$('.export-to-svg:eq(0)').click()")
397
- wait_for_download
398
- expect(File.basename(downloaded_file)).to eq('Alignment-Overview-sp_P04637_P53_HUMAN.svg')
399
-
400
- clear_downloads
401
- # Click on the PNG download button of the first hit available and compare
402
- # the downloaded content.
403
-
404
- page.execute_script("$('.export-to-png:eq(1)').click()")
405
-
406
- wait_for_download
407
- expect(File.basename(downloaded_file)).to eq('Kablammo-sp_P04637_P53_HUMAN-gi_395440626_gb_JQ694049_1.png')
408
- clear_downloads
409
-
410
- # Click on the SVG download button of the first hit available and compare
411
- # the downloaded content.
412
-
413
- page.execute_script("$('.export-to-svg:eq(1)').click()")
414
- wait_for_download
415
-
416
- expect(File.basename(downloaded_file)).to eq('Kablammo-sp_P04637_P53_HUMAN-gi_395440626_gb_JQ694049_1.svg')
417
- page.should have_content('TBLASTN')
418
- end
419
-
420
- it 'loads TBLASTN XML and tests Circos download' do
421
- access_by_uuid('blast_2.4.0/tblastn')
422
- # Click on the Circos expanding button, wait for animation, click on the
423
- # download of PNG/SVG file and test that it initiated a file download in a
424
- # right format.
425
-
426
- page.should have_content('Queries and their top hits: chord diagram')
427
- page.execute_script("$('.circos > .grapher-header > h4').click()")
428
- sleep 1
429
-
430
- page.execute_script("$('.export-to-png:eq(0)').click()")
431
- wait_for_download
432
- expect(File.basename(downloaded_file)).to eq('Circos-visualisation.png')
433
-
434
- clear_downloads
435
-
436
- page.execute_script("$('.export-to-svg:eq(0)').click()")
437
- wait_for_download
438
- expect(File.basename(downloaded_file)).to eq('Circos-visualisation.svg')
439
- end
440
-
441
- it 'loads TBLASTN XML and tests Length distribution download' do
442
- access_by_uuid('blast_2.4.0/tblastn')
443
- # Click on the Length distribution expanding button, wait for animation,
444
- # click on the download of PNG/SVG file and test that it initiated a file
445
- # download in a right format.
446
-
447
- page.should have_content('Length distribution of hits')
448
- page.execute_script("$('.length-distribution > .grapher-header > h4').click()")
449
- sleep 1
450
-
451
- page.execute_script("$('.export-to-png:eq(1)').click()")
452
- wait_for_download
453
- expect(File.basename(downloaded_file)).to eq('length-distribution-sp_P04637_P53_HUMAN.png')
454
-
455
- clear_downloads
456
-
457
- page.execute_script("$('.export-to-svg:eq(1)').click()")
458
- wait_for_download
459
- expect(File.basename(downloaded_file)).to eq('length-distribution-sp_P04637_P53_HUMAN.svg')
460
- end
461
-
462
- # TBLASTX Test scenarios
463
-
464
- it 'loads TBLASTX XML and tests hit alignment and sidebar Alignment download' do
465
- access_by_uuid('blast_2.4.0/tblastx')
466
- # Click on the first Alignment download button on the page and wait for the
467
- # download to finish.
468
-
469
- page.execute_script("$('.download-aln:eq(1)').click()")
470
- wait_for_download
471
-
472
- expect(File.basename(downloaded_file)).to eq('MH011443_1_gi_1528997474_gb_MH447967_1.txt')
473
- expect(File.read(downloaded_file)). to eq(File.read('spec/sequences/MH011443_1_gi_1528997474_gb_MH447967_1.txt'))
474
-
475
- clear_downloads
476
-
477
- # Click on the Alignment of all hits download and compare the downloaded
478
- # content
479
-
480
- page.click_link('Alignment of all hits')
481
- wait_for_download
482
-
483
- expect(File.basename(downloaded_file)).to eq('alignment-40_hits.txt')
484
- expect(File.read(downloaded_file)).to eq(File.read('spec/sequences/alignment-40_hits_tblastx.txt'))
485
-
486
- clear_downloads
487
-
488
- # Select four hit checkboxes and click on the Alignment of selected hits.
489
- # Compare the downloaded content.
490
- page.check('Query_1_hit_9_checkbox')
491
- page.check('Query_1_hit_10_checkbox')
492
- page.check('Query_2_hit_9_checkbox')
493
- page.check('Query_2_hit_10_checkbox')
494
- page.click_link('Alignment of 4 selected hit(s)')
495
- wait_for_download
496
-
497
- expect(File.basename(downloaded_file)).to eq('alignment-4_hits.txt')
498
- expect(File.read(downloaded_file)).to eq(File.read('spec/sequences/alignment-4_hits_tblastx.txt'))
499
- page.should have_content('TBLASTX')
500
- end
501
-
502
- it 'loads TBLASTX XML and tests hit PNG/SVG download' do
503
- access_by_uuid('blast_2.4.0/tblastx')
504
-
505
- # Click on the PNG/SVG download button of the alignment overview and compare
506
- # the downloaded content.
507
- page.execute_script("$('.export-to-png:eq(0)').click()")
508
- wait_for_download
509
- expect(File.basename(downloaded_file)).to eq('Alignment-Overview-MH011443_1.png')
510
-
511
- clear_downloads
512
-
513
- page.execute_script("$('.export-to-svg:eq(0)').click()")
514
- wait_for_download
515
- expect(File.basename(downloaded_file)).to eq('Alignment-Overview-MH011443_1.svg')
516
-
517
- clear_downloads
518
- # Click on the PNG download button of the first hit available and compare
519
- # the downloaded content.
520
-
521
- page.execute_script("$('.export-to-png:eq(1)').click()")
522
-
523
- wait_for_download
524
- expect(File.basename(downloaded_file)).to eq('Kablammo-MH011443_1-gi_1486783306_gb_MH011443_1.png')
525
-
526
- clear_downloads
527
-
528
- # Click on the SVG download button of the first hit available and compare
529
- # the downloaded content.
530
-
531
- page.execute_script("$('.export-to-svg:eq(1)').click()")
532
- wait_for_download
533
-
534
- expect(File.basename(downloaded_file)).to eq('Kablammo-MH011443_1-gi_1486783306_gb_MH011443_1.svg')
535
- page.should have_content('TBLASTX')
536
- end
537
-
538
- it 'loads TBLASTX XML and tests Circos download' do
539
- access_by_uuid('blast_2.4.0/tblastx')
540
- # Click on the Circos expanding button, wait for animation, click on the
541
- # download of PNG/SVG file and test that it initiated a file download in a
542
- # right format.
543
-
544
- page.should have_content('Queries and their top hits: chord diagram')
545
- page.execute_script("$('.circos > .grapher-header > h4').click()")
546
- sleep 1
547
-
548
- page.execute_script("$('.export-to-png:eq(0)').click()")
549
- wait_for_download
550
- expect(File.basename(downloaded_file)).to eq('Circos-visualisation.png')
551
-
552
- clear_downloads
553
-
554
- page.execute_script("$('.export-to-svg:eq(0)').click()")
555
- wait_for_download
556
- expect(File.basename(downloaded_file)).to eq('Circos-visualisation.svg')
557
- end
558
-
559
- it 'loads TBLASTX XML and tests Length distribution download' do
560
- access_by_uuid('blast_2.4.0/tblastx')
561
- # Click on the Length distribution expanding button, wait for animation,
562
- # click on the download of PNG/SVG file and test that it initiated a file
563
- # download in a right format.
564
-
565
- page.should have_content('Length distribution of hits')
566
- page.execute_script("$('.length-distribution > .grapher-header > h4').click()")
567
- sleep 1
568
-
569
- page.execute_script("$('.export-to-png:eq(1)').click()")
570
- wait_for_download
571
- expect(File.basename(downloaded_file)).to eq('length-distribution-MH011443_1.png')
572
-
573
- clear_downloads
574
-
575
- page.execute_script("$('.export-to-svg:eq(1)').click()")
576
- wait_for_download
577
- expect(File.basename(downloaded_file)).to eq('length-distribution-MH011443_1.svg')
578
- end
579
-
580
- ## Helpers ##
581
-
582
- def access_by_uuid(id)
583
- # Method to access the XML report in the browser
584
- url = url_encode(id)
585
- visit "/#{url}"
586
- page.should have_content('Query')
587
- end
588
- end