sequenceserver 2.0.0.rc3 → 2.0.0.rc8

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