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