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.

Potentially problematic release.


This version of sequenceserver might be problematic. Click here for more details.

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,229 +0,0 @@
1
- require 'spec_helper'
2
-
3
- # Test BLAST module.
4
- module SequenceServer
5
-
6
- with_hits = Job.fetch('blast_2.3.0/blastn')
7
- no_hits = Job.fetch('blast_2.3.0/blastn_nohits')
8
-
9
- init
10
-
11
- describe 'Report' do
12
- hits_report = BLAST::Report.new(with_hits)
13
- no_hits_report = BLAST::Report.new(no_hits)
14
-
15
- it 'will return an Array of queries' do
16
- hits_report.queries.should be_a Array
17
- no_hits_report.queries.should be_a Array
18
- end
19
-
20
- it 'will return a Hash of stats' do
21
- hits_report.stats.should be_a Hash
22
- no_hits_report.stats.should be_a Hash
23
- end
24
-
25
- it 'contains all the necessary stats' do
26
- hits_report.stats.length.should eql(7)
27
- no_hits_report.stats.length.should eql(7)
28
- end
29
- end
30
-
31
- describe 'Query' do
32
- hits_report = BLAST::Report.new(with_hits)
33
- no_hits_report = BLAST::Report.new(no_hits)
34
-
35
- it 'will return queries with valid length' do
36
- hits_report.queries.first.length.should be_a Integer
37
- hits_report.queries.first.length.should satisfy { |n| n > 0 }
38
- no_hits_report.queries.first.length.should be_a Integer
39
- no_hits_report.queries.first.length.should satisfy { |n| n > 0 }
40
- end
41
-
42
- it 'will return an Array of hits' do
43
- hits_report.queries.first.hits.should be_a Array
44
- no_hits_report.queries.first.hits.should be_a Array
45
- end
46
- end
47
-
48
- describe 'Hits' do
49
- hits_report = BLAST::Report.new(with_hits)
50
- no_hits_report = BLAST::Report.new(no_hits)
51
-
52
- it 'will have non zero length' do
53
- hits_report.queries.last.hits.first.length.should satisfy { |n| n > 0 }
54
- end
55
-
56
- it 'will return an Array of HSPs' do
57
- hits_report.queries.first.hits.first.hsps.should be_a Array
58
- end
59
-
60
- it 'will return an Array with atleast one HSP' do
61
- hits_report.queries.first.hits.first.hsps.length.should be >= 1
62
- end
63
-
64
- it 'will contain no element if no hits were obtained' do
65
- no_hits_report.queries.first.hits.length.should eql(0)
66
- end
67
- end
68
-
69
- # Test general features of HSPs. Algorithm specific customizations are
70
- # tested separetly.
71
- describe 'HSPs' do
72
- hits_report = BLAST::Report.new(with_hits)
73
-
74
- # Currently using all 17 HSP parameters in BLAST Report + 1 to refer to the
75
- # hit object it belongs to.
76
- it 'have all the necessary values' do
77
- hits_report.queries.last.hits.first.hsps.last.count.should eql(19)
78
- end
79
-
80
- # Test Random HSPs to ensure that all the values from HSP struct are valid.
81
- it 'have correct alignment values' do
82
- hits_report.queries.last.hits.first.hsps.last.bit_score.should be_a Float
83
- hits_report.queries.last.hits.first.hsps.last.score.should be_a Integer
84
-
85
- hits_report.queries.first.hits.first.hsps.first.evalue.should be_a Float
86
- hits_report.queries.first.hits.first.hsps.first.evalue
87
- .should_not satisfy { |n| n < 0 }
88
-
89
- hits_report.queries.first.hits.last.hsps.first.qstart.should be_a Integer
90
- hits_report.queries.first.hits.last.hsps.first.qstart
91
- .should_not satisfy { |n| n < 0 }
92
-
93
- hits_report.queries.first.hits.last.hsps.first.qend.should be_a Integer
94
- hits_report.queries.first.hits.last.hsps.first.qend
95
- .should_not satisfy { |n| n < 0 }
96
-
97
- hits_report.queries.last.hits.last.hsps.last.sstart.should be_a Integer
98
- hits_report.queries.last.hits.last.hsps.last.sstart
99
- .should_not satisfy { |n| n < 0 }
100
-
101
- hits_report.queries.first.hits.first.hsps.last.send.should be_a Integer
102
- hits_report.queries.first.hits.first.hsps.last.send
103
- .should_not satisfy { |n| n < 0 }
104
-
105
- hits_report.queries.first.hits.first.hsps.last.qframe.should be_a Integer
106
- hits_report.queries.first.hits.first.hsps.last.sframe.should be_a Integer
107
-
108
- hits_report.queries.first.hits.first.hsps.last.identity.should be_a Integer
109
- hits_report.queries.first.hits.first.hsps.last.identity
110
- .should_not satisfy { |n| n < 0 }
111
-
112
- hits_report.queries.first.hits.first.hsps.last.gaps.should be_a Integer
113
- hits_report.queries.first.hits.first.hsps.last.gaps
114
- .should_not satisfy { |n| n < 0 }
115
-
116
- hits_report.queries.first.hits.first.hsps.last.positives
117
- .should be_a Integer
118
- hits_report.queries.first.hits.first.hsps.last.positives
119
- .should_not satisfy { |n| n < 0 }
120
-
121
- hits_report.queries.first.hits.first.hsps.last.length.should be_a Integer
122
- hits_report.queries.first.hits.first.hsps.last.length
123
- .should satisfy { |n| n > 0 }
124
-
125
- hits_report.queries.last.hits.last.hsps.first.qseq.should be_a String
126
- hits_report.queries.last.hits.last.hsps.first.sseq.should be_a String
127
- hits_report.queries.last.hits.last.hsps.first.midline.should be_a String
128
- end
129
-
130
- it 'have correctly matched query, hit and midline alignments' do
131
- hsp = hits_report.queries.last.hits.last.hsps.first
132
- hsp.qseq.length.should eql(hsp.sseq.length)
133
- hsp.sseq.length.should eql(hsp.midline.length)
134
- hsp.midline.length.should eql(hsp.qseq.length)
135
- end
136
- end
137
-
138
- # Individually test different BLAST+ algorithms
139
- #
140
- describe 'BLASTN' do
141
- let 'hsp' do
142
- report = BLAST::Report.new(Job.fetch('blast_2.3.0/blastn'))
143
- report.queries.first.hits.last.hsps.first
144
- end
145
-
146
- it 'have correct query and subject frame' do
147
- [1, -1].should include(hsp.qframe)
148
- [1, -1].should include(hsp.sframe)
149
- end
150
-
151
- it 'have correct qstart, qend, sstart, send' do
152
- if hsp.sframe > 0
153
- hsp.sstart.should be <= hsp.send
154
- else
155
- hsp.sstart.should be >= hsp.send
156
- end
157
- end
158
- end
159
-
160
- describe 'BLASTP' do
161
- let 'hsp' do
162
- report = BLAST::Report.new(Job.fetch('blast_2.3.0/blastp'))
163
- report.queries.first.hits.last.hsps.first
164
- end
165
-
166
- it 'have correct query and subject frame' do
167
- hsp.qframe.should eql(0)
168
- hsp.sframe.should eql(0)
169
- end
170
-
171
- it 'have correct qstart, qend, sstart, send values' do
172
- hsp.qstart.should be <= hsp.qend
173
- hsp.sstart.should be <= hsp.send
174
- end
175
-
176
- end
177
-
178
- describe 'BLASTX' do
179
- let 'hsp' do
180
- report = BLAST::Report.new(Job.fetch('blast_2.3.0/blastx'))
181
-
182
- report.queries.first.hits.last.hsps.first
183
- end
184
-
185
- it 'have correct query and subject frame' do
186
- hsp.qframe.should_not eql(0)
187
- hsp.sframe.should eql(0)
188
- end
189
-
190
- it 'have correct qstart, qend, sstart, send' do
191
- hsp.qstart.should be <= hsp.qend
192
- hsp.sstart.should be <= hsp.send
193
- end
194
- end
195
-
196
- describe 'TBLASTX' do
197
- let 'hsp' do
198
- report = BLAST::Report.new(Job.fetch('blast_2.3.0/tblastx'))
199
- report.queries.first.hits.last.hsps.first
200
- end
201
-
202
- it 'have correct query and subject frame' do
203
- hsp.qframe.should_not eql(0)
204
- hsp.sframe.should_not eql(0)
205
- end
206
-
207
- it 'have correct qstart, qend, sstart, send' do
208
- hsp.qstart.should be <= hsp.qend
209
- hsp.sstart.should be <= hsp.send
210
- end
211
- end
212
-
213
- describe 'TBLASTN' do
214
- let 'hsp' do
215
- report = BLAST::Report.new(Job.fetch('blast_2.3.0/tblastn'))
216
- report.queries.first.hits.last.hsps.first
217
- end
218
-
219
- it 'have correct query and subject frame' do
220
- hsp.qframe.should eql(0)
221
- hsp.sframe.should_not eql(0)
222
- end
223
-
224
- it 'have correct qstart, qend, sstart, send' do
225
- hsp.qstart.should be <= hsp.qend
226
- hsp.sstart.should be <= hsp.send
227
- end
228
- end
229
- end
@@ -1,587 +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.3.0/blastp')
10
-
11
- # Click on the first hit Alignment download button on the page and wait for
12
- # the download to finish.
13
-
14
- page.execute_script("$('.download-aln:eq(0)').click()")
15
- wait_for_download
16
-
17
- expect(File.basename(downloaded_file)).to eq('sp_P04637_P53_HUMAN_gi_1099170394_ref_XP_018868681_1.txt')
18
- expect(File.read(downloaded_file)).to eq(File.read('spec/sequences/sp_P04637_P53_HUMAN_gi_1099170394_ref_XP_018868681_1.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
-
28
- expect(File.basename(downloaded_file)).to eq('alignment-40_hits.txt')
29
- expect(File.read(downloaded_file)).to eq(File.read('spec/sequences/alignment-40_hits_blastp.txt'))
30
-
31
- clear_downloads
32
-
33
- # Check the cheboxes of indicted hits and click on the download of Alignment
34
- # of selected hits and compare the downloaded content
35
-
36
- page.check('Query_1_hit_1_checkbox')
37
- page.check('Query_1_hit_2_checkbox')
38
- page.check('Query_2_hit_1_checkbox')
39
- page.check('Query_2_hit_2_checkbox')
40
- page.click_link('Alignment of 4 selected hit(s)')
41
- wait_for_download
42
-
43
- expect(File.basename(downloaded_file)).to eq('alignment-4_hits.txt')
44
- expect(File.read(downloaded_file)).to eq(File.read('spec/sequences/alignment-4_hits_blastp.txt'))
45
- end
46
-
47
- it 'loads BLASTP XML and tests alignment overview and hit PNG/SVG download' do
48
- access_by_uuid('blast_2.3.0/blastp')
49
-
50
- # Click on the PNG/SVG download button of the alignment overview and compare
51
- # the downloaded content.
52
-
53
- page.execute_script("$('.export-to-png:eq(0)').click()")
54
- wait_for_download
55
- expect(File.basename(downloaded_file)).to eq('Alignment-Overview-sp_P04637_P53_HUMAN.png')
56
-
57
- clear_downloads
58
-
59
- page.execute_script("$('.export-to-svg:eq(0)').click()")
60
- wait_for_download
61
- expect(File.basename(downloaded_file)).to eq('Alignment-Overview-sp_P04637_P53_HUMAN.svg')
62
-
63
- clear_downloads
64
-
65
- # Click on the PNG/SVG download button of the first hit available and
66
- # compare the downloaded content.
67
-
68
- page.execute_script("$('.export-to-png:eq(1)').click()")
69
- wait_for_download
70
- expect(File.basename(downloaded_file)).to eq('Kablammo-sp_P04637_P53_HUMAN-gi_1099170394_ref_XP_018868681_1.png')
71
-
72
- clear_downloads
73
-
74
- page.execute_script("$('.export-to-svg:eq(1)').click()")
75
- wait_for_download
76
- expect(File.basename(downloaded_file)).to eq('Kablammo-sp_P04637_P53_HUMAN-gi_1099170394_ref_XP_018868681_1.svg')
77
- page.should have_content('BLASTP')
78
- end
79
-
80
- it 'loads BLASTP XML and tests Circos download' do
81
- access_by_uuid('blast_2.3.0/blastp')
82
-
83
- # Click on the Circos expanding button, wait for animation, click on the
84
- # download of PNG/SVG file and test that it initiated a file download in a
85
- # right format.
86
-
87
- page.should have_content('Queries and their top hits: chord diagram')
88
- page.execute_script("$('.circos > .grapher-header > h4').click()")
89
- sleep 1
90
-
91
- page.execute_script("$('.export-to-png:eq(0)').click()")
92
- wait_for_download
93
- expect(File.basename(downloaded_file)).to eq('Circos-visualisation.png')
94
-
95
- clear_downloads
96
-
97
- page.execute_script("$('.export-to-svg:eq(0)').click()")
98
- wait_for_download
99
- expect(File.basename(downloaded_file)).to eq('Circos-visualisation.svg')
100
- end
101
-
102
- it 'loads BLASTP XML and tests Length distribution download' do
103
- access_by_uuid('blast_2.3.0/blastp')
104
-
105
- # Click on the Length distribution expanding button, wait for animation,
106
- # click on the download of PNG/SVG file and test that it initiated a file
107
- # download in a right format.
108
-
109
- page.should have_content('Length distribution of hits')
110
- page.execute_script("$('.length-distribution > .grapher-header > h4').click()")
111
- sleep 1
112
-
113
- page.execute_script("$('.export-to-png:eq(1)').click()")
114
- wait_for_download
115
- expect(File.basename(downloaded_file)).to eq('length-distribution-sp_P04637_P53_HUMAN.png')
116
-
117
- clear_downloads
118
-
119
- page.execute_script("$('.export-to-svg:eq(1)').click()")
120
- wait_for_download
121
- expect(File.basename(downloaded_file)).to eq('length-distribution-sp_P04637_P53_HUMAN.svg')
122
- end
123
-
124
- # BLASTX test scenarios
125
-
126
- it 'loads BLASTX XML and tests hit alignment and sidebar Alignment download' do
127
- access_by_uuid('blast_2.3.0/blastx')
128
-
129
- # Click on the first Alignment download button on the page and wait for the
130
- # download to finish.
131
-
132
- page.execute_script("$('.download-aln:eq(0)').click()")
133
- wait_for_download
134
-
135
- expect(File.basename(downloaded_file)).to eq('MH011443_1_gi_1486783307_gb_AYF55702_1.txt')
136
- expect(File.read(downloaded_file)).to eq(File.read('spec/sequences/MH011443_1_gi_1486783307_gb_AYF55702_1.txt'))
137
-
138
- clear_downloads
139
-
140
- # Click on the Alignment of all hits download and compare the downloaded
141
- # content
142
-
143
- page.click_link('Alignment of all hits')
144
- wait_for_download
145
- expect(File.basename(downloaded_file)).to eq('alignment-40_hits.txt')
146
- expect(File.read(downloaded_file)).to eq(File.read('spec/sequences/alignment-40_hits_blastx.txt'))
147
-
148
- clear_downloads
149
-
150
- # Select four hit checkboxes and click on the Alignment of selected hits.
151
- # Compare the downloaded content.
152
-
153
- page.check('Query_1_hit_3_checkbox')
154
- page.check('Query_1_hit_4_checkbox')
155
- page.check('Query_2_hit_3_checkbox')
156
- page.check('Query_2_hit_4_checkbox')
157
- page.click_link('Alignment of 4 selected hit(s)')
158
- wait_for_download
159
-
160
- expect(File.basename(downloaded_file)).to eq('alignment-4_hits.txt')
161
- expect(File.read(downloaded_file)).to eq(File.read('spec/sequences/alignment-4_hits_blastx.txt'))
162
-
163
- page.should have_content('BLASTX')
164
- end
165
-
166
- it 'loads BLASTX XML and tests hit PNG/SVG download' do
167
- access_by_uuid('blast_2.3.0/blastx')
168
-
169
- # Click on the PNG/SVG download button of the alignment overview and compare
170
- # the downloaded content.
171
- page.execute_script("$('.export-to-png:eq(0)').click()")
172
- wait_for_download
173
- expect(File.basename(downloaded_file)).to eq('Alignment-Overview-MH011443_1.png')
174
-
175
- clear_downloads
176
-
177
- page.execute_script("$('.export-to-svg:eq(0)').click()")
178
- wait_for_download
179
- expect(File.basename(downloaded_file)).to eq('Alignment-Overview-MH011443_1.svg')
180
-
181
- clear_downloads
182
-
183
- # Click on the PNG/SVG download button of the first hit available and
184
- # compare the downloaded content.
185
- page.execute_script("$('.export-to-png:eq(1)').click()")
186
- wait_for_download
187
- expect(File.basename(downloaded_file)).to eq('Kablammo-MH011443_1-gi_1486783307_gb_AYF55702_1.png')
188
-
189
- clear_downloads
190
-
191
- page.execute_script("$('.export-to-svg:eq(1)').click()")
192
- wait_for_download
193
- expect(File.basename(downloaded_file)).to eq('Kablammo-MH011443_1-gi_1486783307_gb_AYF55702_1.svg')
194
- page.should have_content('BLASTX')
195
- end
196
-
197
- it 'loads BLASTX XML and tests Circos download' do
198
- access_by_uuid('blast_2.3.0/blastx')
199
- # Click on the Circos expanding button, wait for animation, click on the
200
- # download of PNG/SVG file and test that it initiated a file download in a
201
- # right format.
202
-
203
- page.should have_content('Queries and their top hits: chord diagram')
204
- page.execute_script("$('.circos > .grapher-header > h4').click()")
205
- sleep 1
206
-
207
- page.execute_script("$('.export-to-png:eq(0)').click()")
208
- wait_for_download
209
- expect(File.basename(downloaded_file)).to eq('Circos-visualisation.png')
210
- clear_downloads
211
-
212
- page.execute_script("$('.export-to-svg:eq(0)').click()")
213
- wait_for_download
214
- expect(File.basename(downloaded_file)).to eq('Circos-visualisation.svg')
215
- end
216
-
217
- it 'loads BLASTX XML and tests Length distribution download' do
218
- access_by_uuid('blast_2.3.0/blastx')
219
- # Click on the Length distribution expanding button, wait for animation,
220
- # click on the download of PNG/SVG file and test that it initiated a file
221
- # download in a right format.
222
-
223
- page.should have_content('Length distribution of hits')
224
- page.execute_script("$('.length-distribution > .grapher-header > h4').click()")
225
- sleep 1
226
-
227
- page.execute_script("$('.export-to-png:eq(1)').click()")
228
- wait_for_download
229
- expect(File.basename(downloaded_file)).to eq('length-distribution-MH011443_1.png')
230
-
231
- clear_downloads
232
-
233
- page.execute_script("$('.export-to-svg:eq(1)').click()")
234
- wait_for_download
235
- expect(File.basename(downloaded_file)).to eq('length-distribution-MH011443_1.svg')
236
- end
237
-
238
- # BLASTN Test scenarios
239
-
240
- it 'loads BLASTN XML and tests hit alignment and sidebar Alignment download' do
241
- access_by_uuid('blast_2.3.0/blastn')
242
- # Click on the first Alignment download button on the page and wait for the
243
- # download to finish.
244
-
245
- page.execute_script("$('.download-aln:eq(0)').click()")
246
- wait_for_download
247
- expect(File.basename(downloaded_file)).to eq('MH011443_1_gi_1486783306_gb_MH011443_1.txt')
248
- expect(File.read(downloaded_file)).to eq(File.read('spec/sequences/MH011443_1_gi_1486783306_gb_MH011443_1.txt'))
249
-
250
- clear_downloads
251
-
252
- # Click on the Alignment of all hits download and compare the downloaded
253
- # content
254
-
255
- page.click_link('Alignment of all hits')
256
- wait_for_download
257
- expect(File.basename(downloaded_file)).to eq('alignment-40_hits.txt')
258
- expect(File.read(downloaded_file)).to eq(File.read('spec/sequences/alignment-40_hits_blastn.txt'))
259
-
260
- clear_downloads
261
-
262
- # Select four hit checkboxes and click on the Alignment of selected hits.
263
- # Compare the downloaded content.
264
- page.check('Query_1_hit_5_checkbox')
265
- page.check('Query_1_hit_6_checkbox')
266
- page.check('Query_2_hit_5_checkbox')
267
- page.check('Query_2_hit_6_checkbox')
268
- page.click_link('Alignment of 4 selected hit(s)')
269
- wait_for_download
270
-
271
- expect(File.basename(downloaded_file)).to eq('alignment-4_hits.txt')
272
- expect(File.read(downloaded_file)).to eq(File.read('spec/sequences/alignment-4_hits_blastn.txt'))
273
- page.should have_content('BLASTN')
274
- end
275
-
276
- it 'loads BLASTN XML and tests hit PNG/SVG download' do
277
- access_by_uuid('blast_2.3.0/blastn')
278
-
279
- # Click on the PNG/SVG download button of the alignment overview and compare
280
- # the downloaded content.
281
- page.execute_script("$('.export-to-png:eq(0)').click()")
282
- wait_for_download
283
- expect(File.basename(downloaded_file)).to eq('Alignment-Overview-MH011443_1.png')
284
-
285
- clear_downloads
286
-
287
- page.execute_script("$('.export-to-svg:eq(0)').click()")
288
- wait_for_download
289
- expect(File.basename(downloaded_file)).to eq('Alignment-Overview-MH011443_1.svg')
290
-
291
- clear_downloads
292
- # Click on the PNG download button of the first hit available and compare
293
- # the downloaded content.
294
-
295
- page.execute_script("$('.export-to-png:eq(2)').click()")
296
- wait_for_download
297
- expect(File.basename(downloaded_file)).to eq('Kablammo-MH011443_1-gi_1528997474_gb_MH447967_1.png')
298
-
299
- clear_downloads
300
-
301
- # Click on the SVG download button of the first hit available and compare
302
- # the downloaded content.
303
-
304
- page.execute_script("$('.export-to-svg:eq(2)').click()")
305
- wait_for_download
306
- expect(File.basename(downloaded_file)).to eq('Kablammo-MH011443_1-gi_1528997474_gb_MH447967_1.svg')
307
- page.should have_content('BLASTN')
308
- end
309
-
310
- it 'loads BLASTN XML and tests Circos download' do
311
- access_by_uuid('blast_2.3.0/blastn')
312
-
313
- # Click on the Circos expanding button, wait for animation, click on the
314
- # download of PNG/SVG file and test that it initiated a file download in a
315
- # right format.
316
-
317
- page.should have_content('Queries and their top hits: chord diagram')
318
- page.execute_script("$('.circos > .grapher-header > h4').click()")
319
- sleep 1
320
-
321
- page.execute_script("$('.export-to-png:eq(0)').click()")
322
- wait_for_download
323
- expect(File.basename(downloaded_file)).to eq('Circos-visualisation.png')
324
- clear_downloads
325
-
326
- page.execute_script("$('.export-to-svg:eq(0)').click()")
327
- wait_for_download
328
- expect(File.basename(downloaded_file)).to eq('Circos-visualisation.svg')
329
- end
330
-
331
- it 'loads BLASTN XML and tests Length distribution download' do
332
- access_by_uuid('blast_2.3.0/blastn')
333
- # Click on the Length distribution expanding button, wait for animation,
334
- # click on the download of PNG/SVG file and test that it initiated a file
335
- # download in a right format.
336
-
337
- page.should have_content('Length distribution of hits')
338
- page.execute_script("$('.length-distribution > .grapher-header > h4').click()")
339
- sleep 1
340
-
341
- page.execute_script("$('.export-to-png:eq(1)').click()")
342
- wait_for_download
343
- expect(File.basename(downloaded_file)).to eq('length-distribution-MH011443_1.png')
344
- clear_downloads
345
-
346
- page.execute_script("$('.export-to-svg:eq(1)').click()")
347
- wait_for_download
348
- expect(File.basename(downloaded_file)).to eq('length-distribution-MH011443_1.svg')
349
- end
350
-
351
- # TBLASTN Test scenarios
352
-
353
- it 'loads TBLASTN XML and tests hit alignment and sidebar Alignment download' do
354
- access_by_uuid('blast_2.3.0/tblastn')
355
- # Click on the first Alignment download button on the page and wait for the
356
- # download to finish.
357
-
358
- page.execute_script("$('.download-aln:eq(0)').click()")
359
- wait_for_download
360
- expect(File.basename(downloaded_file)).to eq('sp_P04637_P53_HUMAN_gi_395440626_gb_JQ694049_1.txt')
361
- expect(File.read(downloaded_file)).to eq(File.read('spec/sequences/sp_P04637_P53_HUMAN_gi_395440626_gb_JQ694049_1.txt'))
362
-
363
- clear_downloads
364
-
365
- # Click on the Alignment of all hits download and compare the downloaded
366
- # content
367
-
368
- page.click_link('Alignment of all hits')
369
- wait_for_download
370
- expect(File.basename(downloaded_file)).to eq('alignment-40_hits.txt')
371
- expect(File.read(downloaded_file)).to eq(File.read('spec/sequences/alignment-40_hits_tblastn.txt'))
372
-
373
- clear_downloads
374
-
375
- # Select four hit checkboxes and click on the Alignment of selected hits.
376
- # Compare the downloaded content.
377
- page.check('Query_1_hit_7_checkbox')
378
- page.check('Query_1_hit_8_checkbox')
379
- page.check('Query_2_hit_7_checkbox')
380
- page.check('Query_2_hit_8_checkbox')
381
- page.click_link('Alignment of 4 selected hit(s)')
382
- wait_for_download
383
-
384
- expect(File.basename(downloaded_file)).to eq('alignment-4_hits.txt')
385
- expect(File.read(downloaded_file)).to eq(File.read('spec/sequences/alignment-4_hits_tblastn.txt'))
386
- page.should have_content('TBLASTN')
387
- end
388
-
389
- it 'loads TBLASTN XML and tests hit PNG/SVG download' do
390
- access_by_uuid('blast_2.3.0/tblastn')
391
-
392
- # Click on the PNG/SVG download button of the alignment overview and compare
393
- # the downloaded content.
394
- page.execute_script("$('.export-to-png:eq(0)').click()")
395
- wait_for_download
396
- expect(File.basename(downloaded_file)).to eq('Alignment-Overview-sp_P04637_P53_HUMAN.png')
397
-
398
- clear_downloads
399
-
400
- page.execute_script("$('.export-to-svg:eq(0)').click()")
401
- wait_for_download
402
- expect(File.basename(downloaded_file)).to eq('Alignment-Overview-sp_P04637_P53_HUMAN.svg')
403
- clear_downloads
404
- # Click on the PNG download button of the first hit available and compare
405
- # the downloaded content.
406
-
407
- page.execute_script("$('.export-to-png:eq(1)').click()")
408
- wait_for_download
409
- expect(File.basename(downloaded_file)).to eq('Kablammo-sp_P04637_P53_HUMAN-gi_395440626_gb_JQ694049_1.png')
410
-
411
- clear_downloads
412
-
413
- # Click on the SVG download button of the first hit available and compare
414
- # the downloaded content.
415
-
416
- page.execute_script("$('.export-to-svg:eq(1)').click()")
417
- wait_for_download
418
- expect(File.basename(downloaded_file)).to eq('Kablammo-sp_P04637_P53_HUMAN-gi_395440626_gb_JQ694049_1.svg')
419
- page.should have_content('TBLASTN')
420
- end
421
-
422
- it 'loads TBLASTN XML and tests Circos download' do
423
- access_by_uuid('blast_2.3.0/tblastn')
424
- # Click on the Circos expanding button, wait for animation, click on the
425
- # download of PNG/SVG file and test that it initiated a file download in a
426
- # right format.
427
-
428
- page.should have_content('Queries and their top hits: chord diagram')
429
- page.execute_script("$('.circos > .grapher-header > h4').click()")
430
- sleep 1
431
-
432
- page.execute_script("$('.export-to-png:eq(0)').click()")
433
- wait_for_download
434
- expect(File.basename(downloaded_file)).to eq('Circos-visualisation.png')
435
-
436
- clear_downloads
437
-
438
- page.execute_script("$('.export-to-svg:eq(0)').click()")
439
- wait_for_download
440
- expect(File.basename(downloaded_file)).to eq('Circos-visualisation.svg')
441
- end
442
-
443
- it 'loads TBLASTN XML and tests Length distribution download' do
444
- access_by_uuid('blast_2.3.0/tblastn')
445
- # Click on the Length distribution expanding button, wait for animation,
446
- # click on the download of PNG/SVG file and test that it initiated a file
447
- # download in a right format.
448
-
449
- page.should have_content('Length distribution of hits')
450
- page.execute_script("$('.length-distribution > .grapher-header > h4').click()")
451
- sleep 1
452
-
453
- page.execute_script("$('.export-to-png:eq(1)').click()")
454
- wait_for_download
455
- expect(File.basename(downloaded_file)).to eq('length-distribution-sp_P04637_P53_HUMAN.png')
456
-
457
- clear_downloads
458
-
459
- page.execute_script("$('.export-to-svg:eq(1)').click()")
460
- wait_for_download
461
- expect(File.basename(downloaded_file)).to eq('length-distribution-sp_P04637_P53_HUMAN.svg')
462
- end
463
-
464
- # TBLASTX Test scenarios
465
-
466
- it 'loads TBLASTX XML and tests hit alignment and sidebar Alignment download' do
467
- access_by_uuid('blast_2.3.0/tblastx')
468
- # Click on the first Alignment download button on the page and wait for the
469
- # download to finish.
470
-
471
- page.execute_script("$('.download-aln:eq(1)').click()")
472
- wait_for_download
473
- expect(File.basename(downloaded_file)).to eq('MH011443_1_gi_1528997474_gb_MH447967_1.txt')
474
- expect(File.read(downloaded_file)). to eq(File.read('spec/sequences/MH011443_1_gi_1528997474_gb_MH447967_1.txt'))
475
-
476
- clear_downloads
477
-
478
- # Click on the Alignment of all hits download and compare the downloaded
479
- # content
480
-
481
- page.click_link('Alignment of all hits')
482
- wait_for_download
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.3.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
- wait_for_download
523
- expect(File.basename(downloaded_file)).to eq('Kablammo-MH011443_1-gi_1486783306_gb_MH011443_1.png')
524
-
525
- clear_downloads
526
-
527
- # Click on the SVG download button of the first hit available and compare
528
- # the downloaded content.
529
-
530
- page.execute_script("$('.export-to-svg:eq(1)').click()")
531
- wait_for_download
532
- expect(File.basename(downloaded_file)).to eq('Kablammo-MH011443_1-gi_1486783306_gb_MH011443_1.svg')
533
-
534
- page.should have_content('TBLASTX')
535
- end
536
-
537
- it 'loads TBLASTX XML and tests Circos download' do
538
- access_by_uuid('blast_2.3.0/tblastx')
539
- # Click on the Circos expanding button, wait for animation, click on the
540
- # download of PNG/SVG file and test that it initiated a file download in a
541
- # right format.
542
-
543
- page.should have_content('Queries and their top hits: chord diagram')
544
- page.execute_script("$('.circos > .grapher-header > h4').click()")
545
- sleep 1
546
-
547
- page.execute_script("$('.export-to-png:eq(0)').click()")
548
- wait_for_download
549
- expect(File.basename(downloaded_file)).to eq('Circos-visualisation.png')
550
-
551
- clear_downloads
552
-
553
- page.execute_script("$('.export-to-svg:eq(0)').click()")
554
- wait_for_download
555
- expect(File.basename(downloaded_file)).to eq('Circos-visualisation.svg')
556
- end
557
-
558
- it 'loads TBLASTX XML and tests Length distribution download' do
559
- access_by_uuid('blast_2.3.0/tblastx')
560
- # Click on the Length distribution expanding button, wait for animation,
561
- # click on the download of PNG/SVG file and test that it initiated a file
562
- # download in a right format.
563
-
564
- page.should have_content('Length distribution of hits')
565
- page.execute_script("$('.length-distribution > .grapher-header > h4').click()")
566
- sleep 1
567
-
568
- page.execute_script("$('.export-to-png:eq(1)').click()")
569
- wait_for_download
570
- expect(File.basename(downloaded_file)).to eq('length-distribution-MH011443_1.png')
571
-
572
- clear_downloads
573
-
574
- page.execute_script("$('.export-to-svg:eq(1)').click()")
575
- wait_for_download
576
- expect(File.basename(downloaded_file)).to eq('length-distribution-MH011443_1.svg')
577
- end
578
-
579
- ## Helpers ##
580
-
581
- def access_by_uuid(id)
582
- # Method to access the XML report in the browser
583
- url = url_encode(id)
584
- visit "/#{url}"
585
- page.should have_content('Query')
586
- end
587
- end