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.
- checksums.yaml +4 -4
- data/bin/chromedriver +0 -0
- data/bin/geckodriver +0 -0
- data/bin/sequenceserver +31 -4
- data/lib/sequenceserver.rb +6 -1
- data/lib/sequenceserver/database.rb +7 -42
- data/lib/sequenceserver/exceptions.rb +14 -0
- data/lib/sequenceserver/makeblastdb.rb +121 -41
- data/lib/sequenceserver/routes.rb +1 -1
- data/lib/sequenceserver/version.rb +1 -1
- data/public/css/sequenceserver.css +8 -2
- data/public/css/sequenceserver.min.css +1 -1
- data/public/js/jquery_world.js +1 -1
- data/public/js/report.js +1 -2
- data/public/js/search.js +40 -18
- data/public/js/sidebar.js +50 -26
- data/public/sequenceserver-report.min.js +17 -17
- data/public/sequenceserver-search.min.js +2 -2
- data/views/layout.erb +1 -1
- data/views/report.erb +1 -1
- data/views/search.erb +1 -1
- metadata +4 -510
- data/.bootstrap/config.json +0 -433
- data/.codeclimate.yml +0 -31
- data/.csslintrc +0 -2
- data/.dockerignore +0 -1
- data/.eslintignore +0 -1
- data/.eslintrc.json +0 -36
- data/.gitignore +0 -56
- data/.mailmap +0 -5
- data/.rspec +0 -3
- data/.rubocop.yml +0 -61
- data/.travis.yml +0 -74
- data/AppImage/recipe.yml +0 -15
- data/AppImage/sequenceserver.desktop +0 -8
- data/AppImage/sequenceserver.png +0 -0
- data/AppImage/sequenceserver.sh +0 -16
- data/Dockerfile +0 -25
- data/LICENSE.txt +0 -661
- data/LICENSE/Apache.txt +0 -176
- data/LICENSE/d3.txt +0 -26
- data/README.md +0 -161
- data/package.json +0 -48
- data/public/vendor/.dependencies.json +0 -18
- data/public/vendor/.loaderversions +0 -1
- data/public/vendor/github/components/jquery@2.1.4/.gitignore +0 -1
- data/public/vendor/github/components/jquery@2.1.4/.jspm-hash +0 -1
- data/public/vendor/github/components/jquery@2.1.4/.jspm.json +0 -37
- data/public/vendor/github/components/jqueryui@1.11.4/.gitignore +0 -4
- data/public/vendor/github/components/jqueryui@1.11.4/.jspm-hash +0 -1
- data/public/vendor/github/components/jqueryui@1.11.4/.jspm.json +0 -136
- data/public/vendor/github/components/jqueryui@1.11.4/ui/.jshintrc +0 -24
- data/public/vendor/github/jspm/nodelibs-buffer@0.1.0/.jspm-hash +0 -1
- data/public/vendor/github/jspm/nodelibs-buffer@0.1.0/.jspm.json +0 -10
- data/public/vendor/github/jspm/nodelibs-events@0.1.1/.jspm-hash +0 -1
- data/public/vendor/github/jspm/nodelibs-events@0.1.1/.jspm.json +0 -10
- data/public/vendor/github/jspm/nodelibs-fs@0.1.2/.jspm-hash +0 -1
- data/public/vendor/github/jspm/nodelibs-module@0.1.0/.jspm-hash +0 -1
- data/public/vendor/github/jspm/nodelibs-module@0.1.0/.jspm.json +0 -3
- data/public/vendor/github/jspm/nodelibs-path@0.1.0/.jspm-hash +0 -1
- data/public/vendor/github/jspm/nodelibs-path@0.1.0/.jspm.json +0 -10
- data/public/vendor/github/jspm/nodelibs-process@0.1.1/.jspm-hash +0 -1
- data/public/vendor/github/jspm/nodelibs-stream@0.1.0/.jspm-hash +0 -1
- data/public/vendor/github/jspm/nodelibs-stream@0.1.0/.jspm.json +0 -10
- data/public/vendor/github/jspm/nodelibs-util@0.1.0/.jspm-hash +0 -1
- data/public/vendor/github/jspm/nodelibs-util@0.1.0/.jspm.json +0 -10
- data/public/vendor/github/mbostock/d3@3.5.6/.jspm-hash +0 -1
- data/public/vendor/github/mbostock/d3@3.5.6/.jspm.json +0 -76
- data/public/vendor/github/nicgirault/circosJs@1.7.0/.gitignore +0 -10
- data/public/vendor/github/nicgirault/circosJs@1.7.0/.jspm-hash +0 -1
- data/public/vendor/github/systemjs/plugin-css@0.1.15/.gitignore +0 -1
- data/public/vendor/github/systemjs/plugin-css@0.1.15/.jspm-hash +0 -1
- data/public/vendor/github/systemjs/plugin-css@0.1.15/.jspm.json +0 -4
- data/public/vendor/github/systemjs/plugin-json@0.1.0/.jspm-hash +0 -1
- data/public/vendor/github/twbs/bootstrap@3.3.5/.jspm-hash +0 -1
- data/public/vendor/github/twbs/bootstrap@3.3.5/.jspm.json +0 -100
- data/public/vendor/npm/amdefine@1.0.0/.jspm-hash +0 -1
- data/public/vendor/npm/amdefine@1.0.0/.jspm.json +0 -55
- data/public/vendor/npm/babel-core@5.8.23/.jspm-hash +0 -1
- data/public/vendor/npm/babel-runtime@5.8.20/.jspm-hash +0 -1
- data/public/vendor/npm/babel-runtime@5.8.20/.npmignore +0 -2
- data/public/vendor/npm/base62@0.1.1/.jspm-hash +0 -1
- data/public/vendor/npm/base62@0.1.1/.jspm.json +0 -49
- data/public/vendor/npm/base62@0.1.1/.travis.yml +0 -4
- data/public/vendor/npm/base64-js@0.0.8/.jspm-hash +0 -1
- data/public/vendor/npm/base64-js@0.0.8/.jspm.json +0 -77
- data/public/vendor/npm/base64-js@0.0.8/.travis.yml +0 -5
- data/public/vendor/npm/buffer@3.4.3/.jspm-hash +0 -1
- data/public/vendor/npm/buffer@3.4.3/.jspm.json +0 -105
- data/public/vendor/npm/buffer@3.4.3/.npmignore +0 -1
- data/public/vendor/npm/buffer@3.4.3/.travis.yml +0 -8
- data/public/vendor/npm/buffer@3.4.3/.zuul.yml +0 -20
- data/public/vendor/npm/core-js@1.1.2/.eslintrc +0 -36
- data/public/vendor/npm/core-js@1.1.2/.gitattributes +0 -1
- data/public/vendor/npm/core-js@1.1.2/.jspm-hash +0 -1
- data/public/vendor/npm/core-js@1.1.2/.npmignore +0 -10
- data/public/vendor/npm/core-js@1.1.2/.travis.yml +0 -3
- data/public/vendor/npm/core-util-is@1.0.1/.jspm-hash +0 -1
- data/public/vendor/npm/core-util-is@1.0.1/.jspm.json +0 -58
- data/public/vendor/npm/envify@3.4.0/.jspm-hash +0 -1
- data/public/vendor/npm/envify@3.4.0/.jspm.json +0 -72
- data/public/vendor/npm/envify@3.4.0/.npmignore +0 -2
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/.jspm-hash +0 -1
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/.jspm.json +0 -102
- data/public/vendor/npm/events@1.0.2/.jspm-hash +0 -1
- data/public/vendor/npm/events@1.0.2/.jspm.json +0 -67
- data/public/vendor/npm/events@1.0.2/.npmignore +0 -1
- data/public/vendor/npm/events@1.0.2/.travis.yml +0 -7
- data/public/vendor/npm/events@1.0.2/.zuul.yml +0 -12
- data/public/vendor/npm/font-awesome@4.4.0/.jspm-hash +0 -1
- data/public/vendor/npm/font-awesome@4.4.0/.jspm.json +0 -81
- data/public/vendor/npm/font-awesome@4.4.0/.npmignore +0 -42
- data/public/vendor/npm/ieee754@1.1.6/.jspm-hash +0 -1
- data/public/vendor/npm/ieee754@1.1.6/.jspm.json +0 -70
- data/public/vendor/npm/ieee754@1.1.6/.travis.yml +0 -7
- data/public/vendor/npm/ieee754@1.1.6/.zuul.yml +0 -20
- data/public/vendor/npm/inherits@2.0.1/.jspm-hash +0 -1
- data/public/vendor/npm/inherits@2.0.1/.jspm.json +0 -60
- data/public/vendor/npm/is-array@1.0.1/.jepso-ci.json +0 -3
- data/public/vendor/npm/is-array@1.0.1/.jspm-hash +0 -1
- data/public/vendor/npm/is-array@1.0.1/.jspm.json +0 -42
- data/public/vendor/npm/is-array@1.0.1/.npmignore +0 -0
- data/public/vendor/npm/isarray@0.0.1/.jspm-hash +0 -1
- data/public/vendor/npm/isarray@0.0.1/.jspm.json +0 -51
- data/public/vendor/npm/jstransform@10.1.0/.jshintrc +0 -28
- data/public/vendor/npm/jstransform@10.1.0/.jspm-hash +0 -1
- data/public/vendor/npm/jstransform@10.1.0/.jspm.json +0 -95
- data/public/vendor/npm/jstransform@10.1.0/.npmignore +0 -4
- data/public/vendor/npm/jstransform@10.1.0/.travis.yml +0 -8
- data/public/vendor/npm/path-browserify@0.0.0/.jspm-hash +0 -1
- data/public/vendor/npm/path-browserify@0.0.0/.jspm.json +0 -56
- data/public/vendor/npm/process@0.10.1/.jspm-hash +0 -1
- data/public/vendor/npm/react@0.13.3/.jspm-hash +0 -1
- data/public/vendor/npm/react@0.13.3/.jspm.json +0 -77
- data/public/vendor/npm/readable-stream@1.1.13/.jspm-hash +0 -1
- data/public/vendor/npm/readable-stream@1.1.13/.jspm.json +0 -95
- data/public/vendor/npm/readable-stream@1.1.13/.npmignore +0 -5
- data/public/vendor/npm/source-map@0.1.31/.jspm-hash +0 -1
- data/public/vendor/npm/source-map@0.1.31/.jspm.json +0 -133
- data/public/vendor/npm/source-map@0.1.31/.npmignore +0 -2
- data/public/vendor/npm/source-map@0.1.31/.travis.yml +0 -4
- data/public/vendor/npm/stream-browserify@1.0.0/.jspm-hash +0 -1
- data/public/vendor/npm/stream-browserify@1.0.0/.jspm.json +0 -77
- data/public/vendor/npm/stream-browserify@1.0.0/.travis.yml +0 -4
- data/public/vendor/npm/string_decoder@0.10.31/.jspm-hash +0 -1
- data/public/vendor/npm/string_decoder@0.10.31/.jspm.json +0 -58
- data/public/vendor/npm/string_decoder@0.10.31/.npmignore +0 -2
- data/public/vendor/npm/through@2.3.8/.jspm-hash +0 -1
- data/public/vendor/npm/through@2.3.8/.jspm.json +0 -72
- data/public/vendor/npm/through@2.3.8/.travis.yml +0 -5
- data/public/vendor/npm/underscore@1.8.3/.jspm-hash +0 -1
- data/public/vendor/npm/underscore@1.8.3/.jspm.json +0 -74
- data/public/vendor/npm/util@0.10.3/.jspm-hash +0 -1
- data/public/vendor/npm/util@0.10.3/.jspm.json +0 -58
- data/public/vendor/npm/util@0.10.3/.npmignore +0 -1
- data/public/vendor/npm/util@0.10.3/.travis.yml +0 -8
- data/public/vendor/npm/util@0.10.3/.zuul.yml +0 -10
- data/public/vendor/npm/webshim@1.15.8/.gitattributes +0 -12
- data/public/vendor/npm/webshim@1.15.8/.jspm-hash +0 -1
- data/public/vendor/npm/webshim@1.15.8/.jspm.json +0 -92
- data/public/vendor/npm/webshim@1.15.8/.npmignore +0 -16
- data/public/vendor/npm/webshim@1.15.8/.project +0 -12
- data/public/vendor/npm/webshim@1.15.8/demos/demos/filereader/upload/.keep +0 -0
- data/sequenceserver.gemspec +0 -55
- data/spec/blast_versions/blast_2.2.30/blast_2.2.30_spec.rb +0 -228
- data/spec/blast_versions/blast_2.2.30/import_spec_capybara_local_2.2.30.rb +0 -583
- data/spec/blast_versions/blast_2.2.31/blast_2.2.31_spec.rb +0 -228
- data/spec/blast_versions/blast_2.2.31/import_spec_capybara_local_2.2.31.rb +0 -587
- data/spec/blast_versions/blast_2.3.0/blast_2.3.0_spec.rb +0 -229
- data/spec/blast_versions/blast_2.3.0/import_spec_capybara_local_2.3.0.rb +0 -587
- data/spec/blast_versions/blast_2.4.0/blast_2.4.0_spec.rb +0 -228
- data/spec/blast_versions/blast_2.4.0/import_spec_capybara_local_2.4.0.rb +0 -588
- data/spec/blast_versions/blast_2.5.0/blast_2.5.0_spec.rb +0 -228
- data/spec/blast_versions/blast_2.5.0/import_spec_capybara_local_2.5.0.rb +0 -587
- data/spec/blast_versions/blast_2.6.0/blast_2.6.0_spec.rb +0 -228
- data/spec/blast_versions/blast_2.6.0/import_spec_capybara_local_2.6.0.rb +0 -587
- data/spec/blast_versions/blast_2.7.1/blast_2.7.1_spec.rb +0 -228
- data/spec/blast_versions/blast_2.7.1/import_spec_capybara_local_2.7.1.rb +0 -587
- data/spec/blast_versions/blast_2.8.1/blast_2.8.1_spec.rb +0 -228
- data/spec/blast_versions/blast_2.8.1/import_spec_capybara_local_2.8.1.rb +0 -587
- data/spec/blast_versions/blast_2.9.0/blast_2.9.0_spec.rb +0 -228
- data/spec/blast_versions/blast_2.9.0/import_spec_capybara_local_2.9.0.rb +0 -585
- data/spec/blast_versions/diamond_0.9.24/diamond_0.9.24_spec.rb +0 -176
- data/spec/blast_versions/diamond_0.9.24/import_spec_capybara_local_0.9.24.rb +0 -237
- data/spec/capybara_spec.rb +0 -345
- data/spec/config_spec.rb +0 -87
- data/spec/database/funky_ids/funky_ids.fa +0 -16
- data/spec/database/funky_ids/v4/funky_ids.fa.nhd +0 -8
- data/spec/database/funky_ids/v4/funky_ids.fa.nhi +0 -0
- data/spec/database/funky_ids/v4/funky_ids.fa.nhr +0 -0
- data/spec/database/funky_ids/v4/funky_ids.fa.nin +0 -0
- data/spec/database/funky_ids/v4/funky_ids.fa.nog +0 -0
- data/spec/database/funky_ids/v4/funky_ids.fa.nsd +0 -15
- data/spec/database/funky_ids/v4/funky_ids.fa.nsi +0 -0
- data/spec/database/funky_ids/v4/funky_ids.fa.nsq +0 -0
- data/spec/database/funky_ids/v5/funky_ids.fa.ndb +0 -0
- data/spec/database/funky_ids/v5/funky_ids.fa.nhd +0 -8
- data/spec/database/funky_ids/v5/funky_ids.fa.nhi +0 -0
- data/spec/database/funky_ids/v5/funky_ids.fa.nhr +0 -0
- data/spec/database/funky_ids/v5/funky_ids.fa.nin +0 -0
- data/spec/database/funky_ids/v5/funky_ids.fa.nog +0 -0
- data/spec/database/funky_ids/v5/funky_ids.fa.nos +0 -0
- data/spec/database/funky_ids/v5/funky_ids.fa.not +0 -0
- data/spec/database/funky_ids/v5/funky_ids.fa.nsq +0 -0
- data/spec/database/funky_ids/v5/funky_ids.fa.ntf +0 -0
- data/spec/database/funky_ids/v5/funky_ids.fa.nto +0 -0
- data/spec/database/funky_sequences/README.md +0 -14
- data/spec/database/funky_sequences/funky_aa_sequences.fa +0 -7
- data/spec/database/funky_sequences/funky_aa_sequences.fa.phd +0 -3
- data/spec/database/funky_sequences/funky_aa_sequences.fa.phi +0 -0
- data/spec/database/funky_sequences/funky_aa_sequences.fa.phr +0 -0
- data/spec/database/funky_sequences/funky_aa_sequences.fa.pin +0 -0
- data/spec/database/funky_sequences/funky_aa_sequences.fa.pog +0 -0
- data/spec/database/funky_sequences/funky_aa_sequences.fa.psd +0 -6
- data/spec/database/funky_sequences/funky_aa_sequences.fa.psi +0 -0
- data/spec/database/funky_sequences/funky_aa_sequences.fa.psq +0 -0
- data/spec/database/funky_sequences/funky_na_sequences.fa +0 -2
- data/spec/database/funky_sequences/funky_na_sequences.fa.nhr +0 -0
- data/spec/database/funky_sequences/funky_na_sequences.fa.nin +0 -0
- data/spec/database/funky_sequences/funky_na_sequences.fa.nog +0 -0
- data/spec/database/funky_sequences/funky_na_sequences.fa.nsd +0 -2
- data/spec/database/funky_sequences/funky_na_sequences.fa.nsi +0 -0
- data/spec/database/funky_sequences/funky_na_sequences.fa.nsq +0 -0
- data/spec/database/ox_parse_error/query.fa +0 -1
- data/spec/database/ox_parse_error/rand1.fa +0 -2
- data/spec/database/ox_parse_error/rand1.fa.nhd +0 -1
- data/spec/database/ox_parse_error/rand1.fa.nhi +0 -0
- data/spec/database/ox_parse_error/rand1.fa.nhr +0 -0
- data/spec/database/ox_parse_error/rand1.fa.nin +0 -0
- data/spec/database/ox_parse_error/rand1.fa.nog +0 -0
- data/spec/database/ox_parse_error/rand1.fa.nsd +0 -2
- data/spec/database/ox_parse_error/rand1.fa.nsi +0 -0
- data/spec/database/ox_parse_error/rand1.fa.nsq +0 -0
- data/spec/database/ox_parse_error/rand2.fa +0 -2
- data/spec/database/ox_parse_error/rand2.fa.nhd +0 -1
- data/spec/database/ox_parse_error/rand2.fa.nhi +0 -0
- data/spec/database/ox_parse_error/rand2.fa.nhr +0 -0
- data/spec/database/ox_parse_error/rand2.fa.nin +0 -0
- data/spec/database/ox_parse_error/rand2.fa.nog +0 -0
- data/spec/database/ox_parse_error/rand2.fa.nsd +0 -2
- data/spec/database/ox_parse_error/rand2.fa.nsi +0 -0
- data/spec/database/ox_parse_error/rand2.fa.nsq +0 -0
- data/spec/database/ox_parse_error_unique_ids/query.fa +0 -1
- data/spec/database/ox_parse_error_unique_ids/rand1.fa +0 -2
- data/spec/database/ox_parse_error_unique_ids/rand1.fa.nhd +0 -1
- data/spec/database/ox_parse_error_unique_ids/rand1.fa.nhi +0 -0
- data/spec/database/ox_parse_error_unique_ids/rand1.fa.nhr +0 -0
- data/spec/database/ox_parse_error_unique_ids/rand1.fa.nin +0 -0
- data/spec/database/ox_parse_error_unique_ids/rand1.fa.nog +0 -0
- data/spec/database/ox_parse_error_unique_ids/rand1.fa.nsd +0 -2
- data/spec/database/ox_parse_error_unique_ids/rand1.fa.nsi +0 -0
- data/spec/database/ox_parse_error_unique_ids/rand1.fa.nsq +0 -0
- data/spec/database/ox_parse_error_unique_ids/rand2.fa +0 -2
- data/spec/database/ox_parse_error_unique_ids/rand2.fa.nhd +0 -1
- data/spec/database/ox_parse_error_unique_ids/rand2.fa.nhi +0 -0
- data/spec/database/ox_parse_error_unique_ids/rand2.fa.nhr +0 -0
- data/spec/database/ox_parse_error_unique_ids/rand2.fa.nin +0 -0
- data/spec/database/ox_parse_error_unique_ids/rand2.fa.nog +0 -0
- data/spec/database/ox_parse_error_unique_ids/rand2.fa.nsd +0 -2
- data/spec/database/ox_parse_error_unique_ids/rand2.fa.nsi +0 -0
- data/spec/database/ox_parse_error_unique_ids/rand2.fa.nsq +0 -0
- data/spec/database/pipe_in_seqid/pipe_in_seqid.fa +0 -6
- data/spec/database/pipe_in_seqid/pipe_in_seqid.fa.nhd +0 -1
- data/spec/database/pipe_in_seqid/pipe_in_seqid.fa.nhi +0 -0
- data/spec/database/pipe_in_seqid/pipe_in_seqid.fa.nhr +0 -0
- data/spec/database/pipe_in_seqid/pipe_in_seqid.fa.nin +0 -0
- data/spec/database/pipe_in_seqid/pipe_in_seqid.fa.nog +0 -0
- data/spec/database/pipe_in_seqid/pipe_in_seqid.fa.nsd +0 -2
- data/spec/database/pipe_in_seqid/pipe_in_seqid.fa.nsi +0 -0
- data/spec/database/pipe_in_seqid/pipe_in_seqid.fa.nsq +0 -0
- data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.ndb +0 -0
- data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nhd +0 -8
- data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nhi +0 -0
- data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nhr +0 -0
- data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nin +0 -0
- data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nog +0 -0
- data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nos +0 -0
- data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.not +0 -0
- data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nsq +0 -0
- data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.ntf +0 -0
- data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nto +0 -0
- data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.txt +0 -8
- data/spec/database/sample/links.rb +0 -23
- data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta +0 -6449
- data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pdb +0 -0
- data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.phd +0 -1189
- data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.phi +0 -0
- data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.phr +0 -0
- data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pin +0 -0
- data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pog +0 -0
- data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pos +0 -0
- data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pot +0 -0
- data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.psq +0 -0
- data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.ptf +0 -0
- data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pto +0 -0
- data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pdb +0 -0
- data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.phd +0 -9140
- data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.phi +0 -0
- data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.phr +0 -0
- data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pin +0 -0
- data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pog +0 -0
- data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pos +0 -0
- data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pot +0 -0
- data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.psq +0 -0
- data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.ptf +0 -0
- data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pto +0 -0
- data/spec/database/sample/proteins/uniprot/URL +0 -1
- data/spec/database/sample/si_uniprot_idmap.yml +0 -14180
- data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta +0 -5486
- data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.ndb +0 -0
- data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nhd +0 -473
- data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nhi +0 -0
- data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nhr +0 -0
- data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nin +0 -0
- data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nog +0 -0
- data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nos +0 -0
- data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.not +0 -0
- data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nsq +0 -0
- data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.ntf +0 -0
- data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nto +0 -0
- data/spec/database/unformatted/Cardiocondyla_obscurior/Cobs1.4.proteins.fa +0 -148303
- data/spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nhd +0 -8
- data/spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nhi +0 -0
- data/spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nhr +0 -0
- data/spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nin +0 -0
- data/spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nog +0 -0
- data/spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nsd +0 -16
- data/spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nsi +0 -0
- data/spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nsq +0 -0
- data/spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.txt +0 -8
- data/spec/database/v4/links.rb +0 -23
- data/spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta +0 -6449
- data/spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.phd +0 -1189
- data/spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.phi +0 -0
- data/spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.phr +0 -0
- data/spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pin +0 -0
- data/spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pog +0 -0
- data/spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.psd +0 -2378
- data/spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.psi +0 -0
- data/spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.psq +0 -0
- data/spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.phd +0 -9140
- data/spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.phi +0 -0
- data/spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.phr +0 -0
- data/spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pin +0 -0
- data/spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pog +0 -0
- data/spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.psd +0 -18280
- data/spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.psi +0 -0
- data/spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.psq +0 -0
- data/spec/database/v4/proteins/uniprot/URL +0 -1
- data/spec/database/v4/si_uniprot_idmap.yml +0 -14180
- data/spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta +0 -5486
- data/spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nhd +0 -473
- data/spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nhi +0 -0
- data/spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nhr +0 -0
- data/spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nin +0 -0
- data/spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nog +0 -0
- data/spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nsd +0 -946
- data/spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nsi +0 -0
- data/spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nsq +0 -0
- data/spec/database/without_parse_seqids/without_parse_seqids.fa +0 -10
- data/spec/database/without_parse_seqids/without_parse_seqids.fa.phr +0 -0
- data/spec/database/without_parse_seqids/without_parse_seqids.fa.pin +0 -0
- data/spec/database/without_parse_seqids/without_parse_seqids.fa.psq +0 -0
- data/spec/database_spec.rb +0 -51
- data/spec/doctor_spec.disabled.rb +0 -107
- data/spec/dotdir/blast_2.2.30/blastn/BLASTN_XML_2.2.30.xml +0 -1201
- data/spec/dotdir/blast_2.2.30/blastn/job.yaml +0 -8
- data/spec/dotdir/blast_2.2.30/blastn_nohits/BLASTN_NO_HITS_XML_2.2.30.xml +0 -866
- data/spec/dotdir/blast_2.2.30/blastn_nohits/job.yaml +0 -8
- data/spec/dotdir/blast_2.2.30/blastp/BLASTP_XML_2.2.30.xml +0 -1181
- data/spec/dotdir/blast_2.2.30/blastp/job.yaml +0 -8
- data/spec/dotdir/blast_2.2.30/blastx/BLASTX_XML_2.2.30.xml +0 -1181
- data/spec/dotdir/blast_2.2.30/blastx/job.yaml +0 -8
- data/spec/dotdir/blast_2.2.30/tblastn/TBLASTN_XML_2.2.30.xml +0 -1181
- data/spec/dotdir/blast_2.2.30/tblastn/job.yaml +0 -8
- data/spec/dotdir/blast_2.2.30/tblastx/TBLASTX_XML_2.2.30.xml +0 -8857
- data/spec/dotdir/blast_2.2.30/tblastx/job.yaml +0 -8
- data/spec/dotdir/blast_2.2.31/blastn/BLASTN_XML_2.2.31.xml +0 -1201
- data/spec/dotdir/blast_2.2.31/blastn/job.yaml +0 -8
- data/spec/dotdir/blast_2.2.31/blastn_nohits/BLASTN_NO_HITS_XML_2.2.31.xml +0 -866
- data/spec/dotdir/blast_2.2.31/blastn_nohits/job.yaml +0 -8
- data/spec/dotdir/blast_2.2.31/blastp/BLASTP_XML_2.2.31.xml +0 -1181
- data/spec/dotdir/blast_2.2.31/blastp/job.yaml +0 -8
- data/spec/dotdir/blast_2.2.31/blastx/BLASTX_XML_2.2.31.xml +0 -1181
- data/spec/dotdir/blast_2.2.31/blastx/job.yaml +0 -8
- data/spec/dotdir/blast_2.2.31/tblastn/TBLASTN_XML_2.2.31.xml +0 -1181
- data/spec/dotdir/blast_2.2.31/tblastn/job.yaml +0 -8
- data/spec/dotdir/blast_2.2.31/tblastx/TBLASTX_XML_2.2.31.xml +0 -8857
- data/spec/dotdir/blast_2.2.31/tblastx/job.yaml +0 -8
- data/spec/dotdir/blast_2.3.0/blastn/BLASTN_XML_2.3.0.xml +0 -1201
- data/spec/dotdir/blast_2.3.0/blastn/job.yaml +0 -8
- data/spec/dotdir/blast_2.3.0/blastn_nohits/BLASTN_NO_HITS_XML_2.3.0.xml +0 -866
- data/spec/dotdir/blast_2.3.0/blastn_nohits/job.yaml +0 -8
- data/spec/dotdir/blast_2.3.0/blastp/BLASTP_XML_2.3.0.xml +0 -1181
- data/spec/dotdir/blast_2.3.0/blastp/job.yaml +0 -8
- data/spec/dotdir/blast_2.3.0/blastx/BLASTX_XML_2.3.0.xml +0 -1181
- data/spec/dotdir/blast_2.3.0/blastx/job.yaml +0 -8
- data/spec/dotdir/blast_2.3.0/tblastn/TBLASTN_XML_2.3.0.xml +0 -1181
- data/spec/dotdir/blast_2.3.0/tblastn/job.yaml +0 -8
- data/spec/dotdir/blast_2.3.0/tblastx/TBLASTX_XML_2.3.0.xml +0 -8857
- data/spec/dotdir/blast_2.3.0/tblastx/job.yaml +0 -8
- data/spec/dotdir/blast_2.4.0/blastn/BLASTN_XML_2.4.0.xml +0 -1201
- data/spec/dotdir/blast_2.4.0/blastn/job.yaml +0 -8
- data/spec/dotdir/blast_2.4.0/blastn_nohits/BLASTN_NO_HITS_XML_2.4.0.xml +0 -866
- data/spec/dotdir/blast_2.4.0/blastn_nohits/job.yaml +0 -8
- data/spec/dotdir/blast_2.4.0/blastp/BLASTP_XML_2.4.0.xml +0 -1181
- data/spec/dotdir/blast_2.4.0/blastp/job.yaml +0 -8
- data/spec/dotdir/blast_2.4.0/blastx/BLASTX_XML_2.4.0.xml +0 -1181
- data/spec/dotdir/blast_2.4.0/blastx/job.yaml +0 -8
- data/spec/dotdir/blast_2.4.0/tblastn/TBLASTN_XML_2.4.0.xml +0 -1181
- data/spec/dotdir/blast_2.4.0/tblastn/job.yaml +0 -8
- data/spec/dotdir/blast_2.4.0/tblastx/TBLASTX_XML_2.4.0.xml +0 -8857
- data/spec/dotdir/blast_2.4.0/tblastx/job.yaml +0 -8
- data/spec/dotdir/blast_2.5.0/blastn/BLASTN_XML_2.5.0.xml +0 -1201
- data/spec/dotdir/blast_2.5.0/blastn/job.yaml +0 -8
- data/spec/dotdir/blast_2.5.0/blastn_nohits/BLASTN_NO_HITS_XML_2.5.0.xml +0 -866
- data/spec/dotdir/blast_2.5.0/blastn_nohits/job.yaml +0 -8
- data/spec/dotdir/blast_2.5.0/blastp/BLASTP +0 -2161
- data/spec/dotdir/blast_2.5.0/blastp/BLASTP_XML_2.5.0.xml +0 -1181
- data/spec/dotdir/blast_2.5.0/blastp/job.yaml +0 -8
- data/spec/dotdir/blast_2.5.0/blastx/BLASTX +0 -28080
- data/spec/dotdir/blast_2.5.0/blastx/BLASTX_XML_2.5.0.xml +0 -1181
- data/spec/dotdir/blast_2.5.0/blastx/job.yaml +0 -8
- data/spec/dotdir/blast_2.5.0/tblastn/TBLASTN +0 -29486
- data/spec/dotdir/blast_2.5.0/tblastn/TBLASTN_XML_2.5.0.xml +0 -1181
- data/spec/dotdir/blast_2.5.0/tblastn/job.yaml +0 -8
- data/spec/dotdir/blast_2.5.0/tblastx/TBLASTX +0 -180859
- data/spec/dotdir/blast_2.5.0/tblastx/TBLASTX_XML_2.5.0.xml +0 -8857
- data/spec/dotdir/blast_2.5.0/tblastx/job.yaml +0 -8
- data/spec/dotdir/blast_2.6.0/blastn/BLASTN_XML_2.6.0.xml +0 -1201
- data/spec/dotdir/blast_2.6.0/blastn/job.yaml +0 -8
- data/spec/dotdir/blast_2.6.0/blastn_nohits/BLASTN_NO_HITS_XML_2.6.0.xml +0 -866
- data/spec/dotdir/blast_2.6.0/blastn_nohits/job.yaml +0 -8
- data/spec/dotdir/blast_2.6.0/blastp/BLASTP_XML_2.6.0.xml +0 -1181
- data/spec/dotdir/blast_2.6.0/blastp/job.yaml +0 -8
- data/spec/dotdir/blast_2.6.0/blastx/BLASTX_XML_2.6.0.xml +0 -1181
- data/spec/dotdir/blast_2.6.0/blastx/job.yaml +0 -8
- data/spec/dotdir/blast_2.6.0/tblastn/TBLASTN_XML_2.6.0.xml +0 -1181
- data/spec/dotdir/blast_2.6.0/tblastn/job.yaml +0 -8
- data/spec/dotdir/blast_2.6.0/tblastx/TBLASTX_XML_2.6.0.xml +0 -8857
- data/spec/dotdir/blast_2.6.0/tblastx/job.yaml +0 -8
- data/spec/dotdir/blast_2.7.1/blastn/BLASTN_XML_2.7.1.xml +0 -1201
- data/spec/dotdir/blast_2.7.1/blastn/job.yaml +0 -8
- data/spec/dotdir/blast_2.7.1/blastn_nohits/BLASTN_NO_HITS_XML_2.7.1.xml +0 -866
- data/spec/dotdir/blast_2.7.1/blastn_nohits/job.yaml +0 -8
- data/spec/dotdir/blast_2.7.1/blastp/BLASTP_XML_2.7.1.xml +0 -1181
- data/spec/dotdir/blast_2.7.1/blastp/job.yaml +0 -8
- data/spec/dotdir/blast_2.7.1/blastx/BLASTX_XML_2.7.1.xml +0 -1181
- data/spec/dotdir/blast_2.7.1/blastx/job.yaml +0 -8
- data/spec/dotdir/blast_2.7.1/tblastn/TBLASTN_XML_2.7.1.xml +0 -1181
- data/spec/dotdir/blast_2.7.1/tblastn/job.yaml +0 -8
- data/spec/dotdir/blast_2.7.1/tblastx/TBLASTX_XML_2.7.1.xml +0 -8857
- data/spec/dotdir/blast_2.7.1/tblastx/job.yaml +0 -8
- data/spec/dotdir/blast_2.8.1/blastn/BLASTN_XML_2.8.1.xml +0 -1201
- data/spec/dotdir/blast_2.8.1/blastn/job.yaml +0 -8
- data/spec/dotdir/blast_2.8.1/blastn_nohits/BLASTN_NO_HITS_XML_2.8.1.xml +0 -866
- data/spec/dotdir/blast_2.8.1/blastn_nohits/job.yaml +0 -8
- data/spec/dotdir/blast_2.8.1/blastp/BLASTP_XML_2.8.1.xml +0 -1181
- data/spec/dotdir/blast_2.8.1/blastp/job.yaml +0 -8
- data/spec/dotdir/blast_2.8.1/blastx/BLASTX_XML_2.8.1.xml +0 -1181
- data/spec/dotdir/blast_2.8.1/blastx/job.yaml +0 -8
- data/spec/dotdir/blast_2.8.1/tblastn/TBLASTN_XML_2.8.1.xml +0 -1181
- data/spec/dotdir/blast_2.8.1/tblastn/job.yaml +0 -8
- data/spec/dotdir/blast_2.8.1/tblastx/TBLASTX_XML_2.8.1.xml +0 -8857
- data/spec/dotdir/blast_2.8.1/tblastx/job.yaml +0 -8
- data/spec/dotdir/blast_2.9.0/blastn/BLASTN_XML_2.9.0.xml +0 -1201
- data/spec/dotdir/blast_2.9.0/blastn/job.yaml +0 -8
- data/spec/dotdir/blast_2.9.0/blastn_nohits/BLASTN_NO_HITS_XML_2.9.0.xml +0 -866
- data/spec/dotdir/blast_2.9.0/blastn_nohits/job.yaml +0 -8
- data/spec/dotdir/blast_2.9.0/blastp/BLASTP_XML_2.9.0.xml +0 -1181
- data/spec/dotdir/blast_2.9.0/blastp/job.yaml +0 -8
- data/spec/dotdir/blast_2.9.0/blastx/BLASTX_XML_2.9.0.xml +0 -1181
- data/spec/dotdir/blast_2.9.0/blastx/job.yaml +0 -8
- data/spec/dotdir/blast_2.9.0/tblastn/TBLASTN_XML_2.9.0.xml +0 -1181
- data/spec/dotdir/blast_2.9.0/tblastn/job.yaml +0 -8
- data/spec/dotdir/blast_2.9.0/tblastx/TBLASTX_XML_2.9.0.xml +0 -8857
- data/spec/dotdir/blast_2.9.0/tblastx/job.yaml +0 -8
- data/spec/dotdir/diamond_0.9.24/blastp/DIAMOND_BLASTP_0.9.24.xml +0 -1040
- data/spec/dotdir/diamond_0.9.24/blastp/job.yaml +0 -8
- data/spec/dotdir/diamond_0.9.24/blastx/DIAMOND_BLASTX_0.9.24.xml +0 -1040
- data/spec/dotdir/diamond_0.9.24/blastx/job.yaml +0 -8
- data/spec/dotdir/diamond_0.9.24/blastx_nohits/DIAMOND_BLASTX_NOHITS_0.9.24.xml +0 -41
- data/spec/dotdir/diamond_0.9.24/blastx_nohits/job.yaml +0 -8
- data/spec/download_helper.rb +0 -35
- data/spec/empty_config.yml +0 -0
- data/spec/makeblastdb_spec.rb +0 -121
- data/spec/routes_spec.rb +0 -93
- data/spec/sample.conf +0 -2
- data/spec/sequence_spec.rb +0 -99
- data/spec/sequences/MH011443_1_gi_1486783306_gb_MH011443_1.txt +0 -6
- data/spec/sequences/MH011443_1_gi_1486783307_gb_AYF55702_1.txt +0 -6
- data/spec/sequences/MH011443_1_gi_1528997474_gb_MH447967_1.txt +0 -30
- data/spec/sequences/MH011443_1_sp_P04637_P53_HUMAN.txt +0 -6
- data/spec/sequences/Nucleotide_TP53_COX41.fasta +0 -15
- data/spec/sequences/Protein_TP53_COX41.fasta +0 -12
- data/spec/sequences/Query_1_SI2_2_0_06267.txt +0 -6
- data/spec/sequences/alignment-2_hits.txt +0 -12
- data/spec/sequences/alignment-35_hits_diamond_blastp.txt +0 -210
- data/spec/sequences/alignment-35_hits_diamond_blastx.txt +0 -210
- data/spec/sequences/alignment-3_hits.txt +0 -18
- data/spec/sequences/alignment-40_hits_blastn.txt +0 -246
- data/spec/sequences/alignment-40_hits_blastp.txt +0 -240
- data/spec/sequences/alignment-40_hits_blastp_2.2.30.txt +0 -240
- data/spec/sequences/alignment-40_hits_blastx.txt +0 -240
- data/spec/sequences/alignment-40_hits_tblastn.txt +0 -240
- data/spec/sequences/alignment-40_hits_tblastn_2.2.30.txt +0 -240
- data/spec/sequences/alignment-40_hits_tblastx.txt +0 -2664
- data/spec/sequences/alignment-4_hits.txt +0 -24
- data/spec/sequences/alignment-4_hits_blastn.txt +0 -24
- data/spec/sequences/alignment-4_hits_blastp.txt +0 -24
- data/spec/sequences/alignment-4_hits_blastp_2.2.30.txt +0 -24
- data/spec/sequences/alignment-4_hits_blastx.txt +0 -24
- data/spec/sequences/alignment-4_hits_diamond_blastp.txt +0 -24
- data/spec/sequences/alignment-4_hits_diamond_blastx.txt +0 -24
- data/spec/sequences/alignment-4_hits_tblastn.txt +0 -24
- data/spec/sequences/alignment-4_hits_tblastn_2.2.30.txt +0 -24
- data/spec/sequences/alignment-4_hits_tblastx.txt +0 -318
- data/spec/sequences/nucleotide_query.fa +0 -21
- data/spec/sequences/problematic_query.fa +0 -5
- data/spec/sequences/protein_query.fa +0 -9
- data/spec/sequences/sample_query_fire_ant_obps.fa +0 -44
- data/spec/sequences/sequenceserver-2_hits.fa +0 -10
- data/spec/sequences/sequenceserver-SI2.2.0_06267.fa +0 -5
- data/spec/sequences/sp_P04637_P53_HUMAN_gi_1099170394_ref_XP_018868681_1.txt +0 -6
- data/spec/sequences/sp_P04637_P53_HUMAN_gi_120407068_ref_NP_000537_3.txt +0 -6
- data/spec/sequences/sp_P04637_P53_HUMAN_gi_1484127324_gb_MG595988_1.txt +0 -6
- data/spec/sequences/sp_P04637_P53_HUMAN_gi_395440626_gb_JQ694049_1.txt +0 -6
- data/spec/sequences/sp_P04637_P53_HUMAN_sp_P04637_P53_HUMAN.txt +0 -6
- data/spec/sequenceserver_spec.rb +0 -90
- 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.6.0/blastn')
|
6
|
-
no_hits = Job.fetch('blast_2.6.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.6.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.6.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.6.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.6.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.6.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,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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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.6.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
|