sequenceserver 2.0.0 → 2.1.0
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/lib/sequenceserver/api_errors.rb +24 -2
- data/lib/sequenceserver/blast/job.rb +41 -7
- data/lib/sequenceserver/blast/report.rb +36 -30
- data/lib/sequenceserver/config.rb +49 -27
- data/lib/sequenceserver/job.rb +13 -3
- data/lib/sequenceserver/job_remover.rb +25 -29
- data/lib/sequenceserver/refinements.rb +15 -0
- data/lib/sequenceserver/routes.rb +69 -7
- data/lib/sequenceserver/sequence.rb +8 -7
- data/lib/sequenceserver/sys.rb +2 -2
- data/lib/sequenceserver/version.rb +1 -1
- data/lib/sequenceserver/zip_file_generator.rb +56 -0
- data/lib/sequenceserver.rb +1 -0
- data/public/config.js +149 -143
- data/public/css/sequenceserver.css +44 -3
- data/public/css/sequenceserver.min.css +3 -3
- data/public/js/alignment_exporter.js +16 -8
- data/public/js/circos.js +370 -234
- data/public/js/cloud_share_modal.js +216 -0
- data/public/js/databases.js +144 -0
- data/public/js/databases_tree.js +42 -113
- data/public/js/dnd.js +164 -0
- data/public/js/error_modal.js +4 -11
- data/public/js/exporter.js +7 -3
- data/public/js/form.js +260 -0
- data/public/js/grapher.js +113 -106
- data/public/js/hit.js +80 -67
- data/public/js/hits_overview.js +2 -2
- data/public/js/hsp.js +343 -288
- data/public/js/jquery_world.js +4 -4
- data/public/js/mailto.js +36 -0
- data/public/js/options.js +84 -0
- data/public/js/query.js +319 -59
- data/public/js/report.js +315 -269
- data/public/js/report_root.js +75 -0
- data/public/js/search.js +28 -1011
- data/public/js/search_button.js +195 -0
- data/public/js/sequence.js +2409 -2411
- data/public/js/sequence_modal.js +152 -159
- data/public/js/share_url.js +23 -0
- data/public/js/sidebar.js +262 -83
- data/public/js/tests/database.spec.js +60 -0
- data/public/js/tests/mock_data/databases.json +91 -0
- data/public/js/tests/mock_data/long_response.json +269 -0
- data/public/js/tests/mock_data/short_response.json +2240 -0
- data/public/js/tests/report.spec.js +99 -0
- data/public/js/tests/search_button.spec.js +14 -0
- data/public/js/tests/search_query.spec.js +41 -0
- data/public/packages/circosJS@1.7.0.js +1640 -0
- data/public/packages/jquery-ui@1.11.4.js +16624 -0
- data/public/sequenceserver-report.min.js +2425 -19
- data/public/sequenceserver-search.min.js +2337 -15
- data/public/vendor/github/jspm/nodelibs-assert@0.1.0/index.js +2 -0
- data/public/vendor/github/jspm/{nodelibs-buffer@0.1.0 → nodelibs-assert@0.1.0}/package.json +1 -1
- data/public/vendor/github/jspm/nodelibs-assert@0.1.0.js +1 -0
- data/public/vendor/github/jspm/nodelibs-buffer@0.1.1/package.json +6 -0
- data/public/vendor/github/jspm/nodelibs-buffer@0.1.1.js +1 -0
- data/public/vendor/github/jspm/{nodelibs-process@0.1.1 → nodelibs-process@0.1.2}/package.json +2 -2
- data/public/vendor/github/jspm/nodelibs-process@0.1.2.js +1 -0
- data/public/vendor/github/jspm/nodelibs-vm@0.1.0/index.js +2 -0
- data/public/vendor/github/jspm/nodelibs-vm@0.1.0/package.json +6 -0
- data/public/vendor/github/jspm/nodelibs-vm@0.1.0.js +1 -0
- data/public/vendor/npm/assert@1.5.0/CHANGELOG.md +8 -0
- data/public/vendor/npm/assert@1.5.0/README.md +105 -0
- data/public/vendor/npm/assert@1.5.0/assert.js +327 -0
- data/public/vendor/npm/assert@1.5.0/package.json +32 -0
- data/public/vendor/npm/assert@1.5.0/test.js +288 -0
- data/public/vendor/npm/assert@1.5.0.js +1 -0
- data/public/vendor/npm/{base64-js@0.0.8/LICENSE.MIT → base64-js@1.5.1/LICENSE} +1 -1
- data/public/vendor/npm/{base64-js@0.0.8 → base64-js@1.5.1}/README.md +10 -7
- data/public/vendor/npm/base64-js@1.5.1/base64js.min.js +3 -0
- data/public/vendor/npm/base64-js@1.5.1/index.d.ts +3 -0
- data/public/vendor/npm/base64-js@1.5.1/index.js +151 -0
- data/public/vendor/npm/base64-js@1.5.1/package.json +47 -0
- data/public/vendor/npm/base64-js@1.5.1.js +1 -0
- data/public/vendor/npm/buffer@5.7.1/AUTHORS.md +70 -0
- data/public/vendor/npm/{buffer@3.4.3 → buffer@5.7.1}/README.md +111 -41
- data/public/vendor/npm/buffer@5.7.1/index.d.ts +186 -0
- data/public/vendor/npm/buffer@5.7.1/index.js +1817 -0
- data/public/vendor/npm/buffer@5.7.1/package.json +96 -0
- data/public/vendor/npm/buffer@5.7.1.js +1 -0
- data/public/vendor/npm/core-util-is@1.0.3/LICENSE +19 -0
- data/public/vendor/npm/core-util-is@1.0.3/lib/util.js +64 -0
- data/public/vendor/npm/{core-util-is@1.0.1 → core-util-is@1.0.3}/package.json +13 -1
- data/public/vendor/npm/core-util-is@1.0.3.js +1 -0
- data/public/vendor/npm/events@1.0.2/tests/add-listeners.js +2 -2
- data/public/vendor/npm/events@1.0.2/tests/check-listener-leaks.js +3 -3
- data/public/vendor/npm/events@1.0.2/tests/common.js +1 -1
- data/public/vendor/npm/events@1.0.2/tests/index.js +13 -13
- data/public/vendor/npm/events@1.0.2/tests/listeners-side-effects.js +2 -2
- data/public/vendor/npm/events@1.0.2/tests/listeners.js +2 -2
- data/public/vendor/npm/events@1.0.2/tests/max-listeners.js +2 -2
- data/public/vendor/npm/events@1.0.2/tests/modify-in-emit.js +2 -2
- data/public/vendor/npm/events@1.0.2/tests/num-args.js +2 -2
- data/public/vendor/npm/events@1.0.2/tests/once.js +2 -2
- data/public/vendor/npm/events@1.0.2/tests/remove-all-listeners.js +3 -3
- data/public/vendor/npm/events@1.0.2/tests/remove-listeners.js +3 -3
- data/public/vendor/npm/events@1.0.2/tests/set-max-listeners-side-effects.js +2 -2
- data/public/vendor/npm/events@1.0.2/tests/subclass.js +3 -3
- data/public/vendor/npm/events@1.0.2.js +1 -1
- data/public/vendor/npm/ieee754@1.2.1/LICENSE +11 -0
- data/public/vendor/npm/{ieee754@1.1.6 → ieee754@1.2.1}/README.md +12 -8
- data/public/vendor/npm/ieee754@1.2.1/index.d.ts +10 -0
- data/public/vendor/npm/{ieee754@1.1.6 → ieee754@1.2.1}/index.js +6 -6
- data/public/vendor/npm/ieee754@1.2.1/package.json +52 -0
- data/public/vendor/npm/ieee754@1.2.1.js +1 -0
- data/public/vendor/npm/{is-array@1.0.1 → indexof@0.0.1}/Makefile +3 -3
- data/public/vendor/npm/indexof@0.0.1/Readme.md +15 -0
- data/public/vendor/npm/indexof@0.0.1/component.json +10 -0
- data/public/vendor/npm/indexof@0.0.1/index.js +11 -0
- data/public/vendor/npm/indexof@0.0.1/package.json +12 -0
- data/public/vendor/npm/indexof@0.0.1.js +1 -0
- data/public/vendor/npm/inherits@2.0.1/inherits.js +1 -1
- data/public/vendor/npm/inherits@2.0.1.js +1 -1
- data/public/vendor/npm/isarray@0.0.1.js +1 -1
- data/public/vendor/npm/js-tokens@4.0.0/index.js +23 -0
- data/public/vendor/npm/js-tokens@4.0.0/package.json +30 -0
- data/public/vendor/npm/js-tokens@4.0.0.js +1 -0
- data/public/vendor/npm/loose-envify@1.4.0/LICENSE +21 -0
- data/public/vendor/npm/loose-envify@1.4.0/README.md +45 -0
- data/public/vendor/npm/loose-envify@1.4.0/cli.js +12 -0
- data/public/vendor/npm/loose-envify@1.4.0/custom.js +3 -0
- data/public/vendor/npm/loose-envify@1.4.0/index.js +5 -0
- data/public/vendor/npm/loose-envify@1.4.0/loose-envify.js +33 -0
- data/public/vendor/npm/loose-envify@1.4.0/package.json +36 -0
- data/public/vendor/npm/loose-envify@1.4.0/replace.js +52 -0
- data/public/vendor/npm/loose-envify@1.4.0.js +1 -0
- data/public/vendor/npm/object-assign@4.1.1/index.js +90 -0
- data/public/vendor/npm/object-assign@4.1.1/package.json +42 -0
- data/public/vendor/npm/object-assign@4.1.1.js +1 -0
- data/public/vendor/npm/path-browserify@0.0.0/index.js +1 -1
- data/public/vendor/npm/path-browserify@0.0.0.js +1 -1
- data/public/vendor/npm/{process@0.10.1 → process@0.11.10}/README.md +4 -1
- data/public/vendor/npm/process@0.11.10/browser.js +184 -0
- data/public/vendor/npm/{process@0.10.1 → process@0.11.10}/package.json +10 -1
- data/public/vendor/npm/process@0.11.10/test.js +185 -0
- data/public/vendor/npm/process@0.11.10.js +1 -0
- data/public/vendor/npm/react-dom@18.0.0/LICENSE +21 -0
- data/public/vendor/npm/react-dom@18.0.0/README.md +50 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server-legacy.browser.development.js +4771 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server-legacy.browser.production.min.js +85 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server-legacy.node.development.js +4813 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server-legacy.node.production.min.js +1705 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server.browser.development.js +4746 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server.browser.production.min.js +90 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server.node.development.js +4714 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server.node.production.min.js +1746 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-test-utils.development.js +1017 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-test-utils.production.min.js +617 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom.development.js +20092 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom.production.min.js +322 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom.profiling.min.js +364 -0
- data/public/vendor/npm/react-dom@18.0.0/client.js +27 -0
- data/public/vendor/npm/react-dom@18.0.0/index.js +23 -0
- data/public/vendor/npm/react-dom@18.0.0/package.json +62 -0
- data/public/vendor/npm/react-dom@18.0.0/profiling.js +23 -0
- data/public/vendor/npm/react-dom@18.0.0/server.browser.js +19 -0
- data/public/vendor/npm/react-dom@18.0.0/server.js +3 -0
- data/public/vendor/npm/react-dom@18.0.0/server.node.js +19 -0
- data/public/vendor/npm/react-dom@18.0.0/test-utils.js +9 -0
- data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-server-legacy.browser.development.js +4770 -0
- data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-server-legacy.browser.production.min.js +72 -0
- data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-server.browser.development.js +4745 -0
- data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-server.browser.production.min.js +74 -0
- data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-test-utils.development.js +1013 -0
- data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-test-utils.production.min.js +625 -0
- data/public/vendor/npm/react-dom@18.0.0/umd/react-dom.development.js +20106 -0
- data/public/vendor/npm/react-dom@18.0.0/umd/react-dom.production.min.js +269 -0
- data/public/vendor/npm/react-dom@18.0.0/umd/react-dom.profiling.min.js +285 -0
- data/public/vendor/npm/react-dom@18.0.0.js +1 -0
- data/public/vendor/npm/react@18.0.0/LICENSE +21 -0
- data/public/vendor/npm/react@18.0.0/README.md +13 -0
- data/public/vendor/npm/react@18.0.0/cjs/react-jsx-dev-runtime.development.js +837 -0
- data/public/vendor/npm/react@18.0.0/cjs/react-jsx-dev-runtime.production.min.js +10 -0
- data/public/vendor/npm/react@18.0.0/cjs/react-jsx-dev-runtime.profiling.min.js +10 -0
- data/public/vendor/npm/react@18.0.0/cjs/react-jsx-runtime.development.js +849 -0
- data/public/vendor/npm/react@18.0.0/cjs/react-jsx-runtime.production.min.js +38 -0
- data/public/vendor/npm/react@18.0.0/cjs/react-jsx-runtime.profiling.min.js +38 -0
- data/public/vendor/npm/react@18.0.0/cjs/react.development.js +1746 -0
- data/public/vendor/npm/react@18.0.0/cjs/react.production.min.js +26 -0
- data/public/vendor/npm/react@18.0.0/cjs/react.shared-subset.development.js +10 -0
- data/public/vendor/npm/react@18.0.0/cjs/react.shared-subset.production.min.js +12 -0
- data/public/vendor/npm/react@18.0.0/index.js +9 -0
- data/public/vendor/npm/react@18.0.0/jsx-dev-runtime.js +9 -0
- data/public/vendor/npm/react@18.0.0/jsx-runtime.js +9 -0
- data/public/vendor/npm/react@18.0.0/package.json +47 -0
- data/public/vendor/npm/react@18.0.0/react.shared-subset.js +9 -0
- data/public/vendor/npm/react@18.0.0/umd/react.development.js +2186 -0
- data/public/vendor/npm/react@18.0.0/umd/react.production.min.js +33 -0
- data/public/vendor/npm/react@18.0.0/umd/react.profiling.min.js +33 -0
- data/public/vendor/npm/react@18.0.0.js +1 -0
- data/public/vendor/npm/readable-stream@1.1.14/LICENSE +18 -0
- data/public/vendor/npm/readable-stream@1.1.14/duplex.js +2 -0
- data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_duplex.js +5 -5
- data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_passthrough.js +3 -3
- data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_readable.js +10 -10
- data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_transform.js +4 -4
- data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_writable.js +6 -6
- data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/package.json +1 -1
- data/public/vendor/npm/readable-stream@1.1.14/passthrough.js +2 -0
- data/public/vendor/npm/readable-stream@1.1.14/readable.js +13 -0
- data/public/vendor/npm/readable-stream@1.1.14/transform.js +2 -0
- data/public/vendor/npm/readable-stream@1.1.14/writable.js +2 -0
- data/public/vendor/npm/readable-stream@1.1.14.js +1 -0
- data/public/vendor/npm/scheduler@0.21.0/LICENSE +21 -0
- data/public/vendor/npm/scheduler@0.21.0/README.md +9 -0
- data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler-unstable_mock.development.js +530 -0
- data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler-unstable_mock.production.min.js +20 -0
- data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler-unstable_post_task.development.js +153 -0
- data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler-unstable_post_task.production.min.js +14 -0
- data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler.development.js +444 -0
- data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler.production.min.js +19 -0
- data/public/vendor/npm/scheduler@0.21.0/index.js +9 -0
- data/public/vendor/npm/scheduler@0.21.0/package.json +36 -0
- data/public/vendor/npm/scheduler@0.21.0/umd/scheduler-unstable_mock.development.js +701 -0
- data/public/vendor/npm/scheduler@0.21.0/umd/scheduler-unstable_mock.production.min.js +21 -0
- data/public/vendor/npm/scheduler@0.21.0/umd/scheduler.development.js +154 -0
- data/public/vendor/npm/scheduler@0.21.0/umd/scheduler.production.min.js +148 -0
- data/public/vendor/npm/scheduler@0.21.0/umd/scheduler.profiling.min.js +148 -0
- data/public/vendor/npm/scheduler@0.21.0/unstable_mock.js +9 -0
- data/public/vendor/npm/scheduler@0.21.0/unstable_post_task.js +9 -0
- data/public/vendor/npm/scheduler@0.21.0.js +1 -0
- data/public/vendor/npm/stream-browserify@1.0.0/index.js +7 -7
- data/public/vendor/npm/stream-browserify@1.0.0/test/buf.js +5 -5
- data/public/vendor/npm/stream-browserify@1.0.0.js +1 -1
- data/public/vendor/npm/string_decoder@0.10.31/index.js +2 -2
- data/public/vendor/npm/string_decoder@0.10.31.js +1 -1
- data/public/vendor/npm/util@0.10.3/support/isBuffer.js +1 -1
- data/public/vendor/npm/util@0.10.3/test/browser/inspect.js +2 -2
- data/public/vendor/npm/util@0.10.3/test/browser/is.js +3 -3
- data/public/vendor/npm/util@0.10.3/test/node/debug.js +4 -4
- data/public/vendor/npm/util@0.10.3/test/node/format.js +2 -2
- data/public/vendor/npm/util@0.10.3/test/node/inspect.js +3 -3
- data/public/vendor/npm/util@0.10.3/test/node/log.js +3 -3
- data/public/vendor/npm/util@0.10.3/test/node/util.js +3 -3
- data/public/vendor/npm/util@0.10.3/util.js +3 -3
- data/public/vendor/npm/util@0.10.3.js +1 -1
- data/public/vendor/npm/vm-browserify@0.0.4/LICENSE +18 -0
- data/public/vendor/npm/vm-browserify@0.0.4/example/run/bundle.js +376 -0
- data/public/vendor/npm/vm-browserify@0.0.4/example/run/entry.js +6 -0
- data/public/vendor/npm/vm-browserify@0.0.4/example/run/index.html +9 -0
- data/public/vendor/npm/vm-browserify@0.0.4/example/run/server.js +6 -0
- data/public/vendor/npm/vm-browserify@0.0.4/index.js +139 -0
- data/public/vendor/npm/vm-browserify@0.0.4/package.json +46 -0
- data/public/vendor/npm/vm-browserify@0.0.4/readme.markdown +67 -0
- data/public/vendor/npm/vm-browserify@0.0.4/test/vm.js +34 -0
- data/public/vendor/npm/vm-browserify@0.0.4.js +1 -0
- data/public/vendor/npm/webshim@1.15.8/Gruntfile.js +4 -4
- data/public/vendor/npm/webshim@1.15.8/build/combobuild.js +2 -2
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/color-picker.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/10.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/11.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/17.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/5.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/6.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/9.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/es6.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/excanvas.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/form-number-date-ui.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/moxie/js/moxie-html4.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/moxie/js/moxie-swf.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/sizzle.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/minified/shims/es6.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/color-picker.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/combos/10.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/combos/11.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/combos/17.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/combos/5.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/combos/6.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/combos/9.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/es6.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/excanvas.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/form-number-date-ui.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/moxie/js/moxie-html4.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/moxie/js/moxie-swf.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/sizzle.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/tests/dist/jquery.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/tests/jquery/unit/core.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/tests/jquery/unit/event.js +1388 -711
- data/public/vendor/npm/webshim@1.15.8/tests/qunit/qunit.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/tests/test-ext/jquery-1-custom.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/tests/test-ext/jquery-2-custom.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/tests/test-ext/punycode.js +1 -1
- data/public/vendor/system-polyfills.js +865 -1
- data/views/blastn_options.erb +291 -0
- data/views/blastp_options.erb +288 -0
- data/views/blastx_options.erb +318 -0
- data/views/error.erb +12 -0
- data/views/layout.erb +2 -30
- data/views/report.erb +0 -8
- data/views/search.erb +16 -9
- data/views/tblastn_options.erb +266 -0
- data/views/tblastx_options.erb +291 -0
- metadata +318 -439
- data/public/vendor/github/jspm/nodelibs-buffer@0.1.0.js +0 -1
- data/public/vendor/github/jspm/nodelibs-module@0.1.0/index.js +0 -1
- data/public/vendor/github/jspm/nodelibs-module@0.1.0.js +0 -1
- data/public/vendor/github/jspm/nodelibs-process@0.1.1.js +0 -1
- data/public/vendor/npm/amdefine@1.0.0/LICENSE +0 -58
- data/public/vendor/npm/amdefine@1.0.0/README.md +0 -171
- data/public/vendor/npm/amdefine@1.0.0/amdefine.js +0 -200
- data/public/vendor/npm/amdefine@1.0.0/intercept.js +0 -24
- data/public/vendor/npm/amdefine@1.0.0/package.json +0 -16
- data/public/vendor/npm/amdefine@1.0.0.js +0 -1
- data/public/vendor/npm/base62@0.1.1/LICENSE +0 -20
- data/public/vendor/npm/base62@0.1.1/Readme.md +0 -30
- data/public/vendor/npm/base62@0.1.1/base62.js +0 -28
- data/public/vendor/npm/base62@0.1.1/package.json +0 -21
- data/public/vendor/npm/base62@0.1.1/test/test.js +0 -13
- data/public/vendor/npm/base62@0.1.1.js +0 -1
- data/public/vendor/npm/base64-js@0.0.8/lib/b64.js +0 -125
- data/public/vendor/npm/base64-js@0.0.8/package.json +0 -34
- data/public/vendor/npm/base64-js@0.0.8/test/convert.js +0 -39
- data/public/vendor/npm/base64-js@0.0.8/test/url-safe.js +0 -15
- data/public/vendor/npm/base64-js@0.0.8.js +0 -1
- data/public/vendor/npm/buffer@3.4.3/index.js +0 -1533
- data/public/vendor/npm/buffer@3.4.3/package.json +0 -67
- data/public/vendor/npm/buffer@3.4.3/test/_polyfill.js +0 -152
- data/public/vendor/npm/buffer@3.4.3/test/base64.js +0 -33
- data/public/vendor/npm/buffer@3.4.3/test/basic.js +0 -58
- data/public/vendor/npm/buffer@3.4.3/test/compare.js +0 -53
- data/public/vendor/npm/buffer@3.4.3/test/constructor.js +0 -132
- data/public/vendor/npm/buffer@3.4.3/test/deprecated.js +0 -21
- data/public/vendor/npm/buffer@3.4.3/test/from-string.js +0 -105
- data/public/vendor/npm/buffer@3.4.3/test/methods.js +0 -109
- data/public/vendor/npm/buffer@3.4.3/test/node/README.txt +0 -1
- data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-ascii.js +0 -20
- data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-bytelength.js +0 -38
- data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-concat.js +0 -26
- data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-indexof.js +0 -78
- data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-inspect.js +0 -31
- data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer.js +0 -804
- data/public/vendor/npm/buffer@3.4.3/test/node-es6/README.txt +0 -1
- data/public/vendor/npm/buffer@3.4.3/test/node-es6/test-buffer-arraybuffer.js +0 -37
- data/public/vendor/npm/buffer@3.4.3/test/node-es6/test-buffer-iterator.js +0 -32
- data/public/vendor/npm/buffer@3.4.3/test/slice.js +0 -33
- data/public/vendor/npm/buffer@3.4.3/test/static.js +0 -32
- data/public/vendor/npm/buffer@3.4.3/test/to-string.js +0 -106
- data/public/vendor/npm/buffer@3.4.3/test/write.js +0 -90
- data/public/vendor/npm/buffer@3.4.3.js +0 -1
- data/public/vendor/npm/core-util-is@1.0.1/float.patch +0 -604
- data/public/vendor/npm/core-util-is@1.0.1/lib/util.js +0 -66
- data/public/vendor/npm/core-util-is@1.0.1/util.js +0 -66
- data/public/vendor/npm/core-util-is@1.0.1.js +0 -1
- data/public/vendor/npm/envify@3.4.0/README.md +0 -145
- data/public/vendor/npm/envify@3.4.0/bin/envify +0 -17
- data/public/vendor/npm/envify@3.4.0/custom.js +0 -33
- data/public/vendor/npm/envify@3.4.0/index.js +0 -4
- data/public/vendor/npm/envify@3.4.0/package.json +0 -35
- data/public/vendor/npm/envify@3.4.0/visitors.js +0 -33
- data/public/vendor/npm/envify@3.4.0.js +0 -1
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/bin/esparse.js +0 -90
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/bin/esvalidate.js +0 -145
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/esprima.js +0 -6191
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/package.json +0 -72
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/compat.js +0 -167
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/reflect.js +0 -421
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/run.js +0 -34
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/runner.js +0 -418
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/test.js +0 -34730
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb.js +0 -1
- data/public/vendor/npm/ieee754@1.1.6/LICENSE +0 -56
- data/public/vendor/npm/ieee754@1.1.6/package.json +0 -34
- data/public/vendor/npm/ieee754@1.1.6/test/basic.js +0 -20
- data/public/vendor/npm/ieee754@1.1.6.js +0 -1
- data/public/vendor/npm/is-array@1.0.1/History.md +0 -11
- data/public/vendor/npm/is-array@1.0.1/Readme.md +0 -27
- data/public/vendor/npm/is-array@1.0.1/component.json +0 -13
- data/public/vendor/npm/is-array@1.0.1/index.js +0 -33
- data/public/vendor/npm/is-array@1.0.1/package.json +0 -10
- data/public/vendor/npm/is-array@1.0.1/test/test.html +0 -46
- data/public/vendor/npm/is-array@1.0.1.js +0 -1
- data/public/vendor/npm/jstransform@10.1.0/LICENSE +0 -201
- data/public/vendor/npm/jstransform@10.1.0/README.md +0 -98
- data/public/vendor/npm/jstransform@10.1.0/jestEnvironment.js +0 -3
- data/public/vendor/npm/jstransform@10.1.0/jestPreprocessor.js +0 -8
- data/public/vendor/npm/jstransform@10.1.0/package.json +0 -52
- data/public/vendor/npm/jstransform@10.1.0/polyfill/Object.es6.js +0 -54
- data/public/vendor/npm/jstransform@10.1.0/src/__tests__/jstransform-test.js +0 -246
- data/public/vendor/npm/jstransform@10.1.0/src/__tests__/jstransform-utils-test.js +0 -31
- data/public/vendor/npm/jstransform@10.1.0/src/docblock.js +0 -86
- data/public/vendor/npm/jstransform@10.1.0/src/jstransform.js +0 -180
- data/public/vendor/npm/jstransform@10.1.0/src/utils.js +0 -386
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-arrow-function-visitors-test.js +0 -57
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-call-spread-visitors-test.js +0 -46
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-class-visitors-test.js +0 -463
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-destructuring-visitors-test.js +0 -144
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-es7-object-integration-test.js +0 -40
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-object-concise-method-visitors-test.js +0 -47
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-object-short-notation-visitors-test.js +0 -33
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-rest-param-visitors-test.js +0 -119
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-template-visitors-test.js +0 -138
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es7-rest-property-helpers-test.js +0 -47
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es7-spread-property-visitors-test.js +0 -90
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/gen/generate-type-syntax-test.js +0 -40
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/gen/type-syntax-test.rec.js +0 -846
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/reserved-words-test.js +0 -40
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-alias-syntax-test.js +0 -34
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-class-syntax-test.js +0 -105
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-function-syntax-test.js +0 -126
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-interface-syntax-test.js +0 -29
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-object-method-syntax-test.js +0 -65
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-pattern-syntax-test.js +0 -45
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-syntax-test.js +0 -46
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-variable-declaration-syntax-test.js +0 -102
- data/public/vendor/npm/jstransform@10.1.0/visitors/es6-arrow-function-visitors.js +0 -66
- data/public/vendor/npm/jstransform@10.1.0/visitors/es6-call-spread-visitors.js +0 -72
- data/public/vendor/npm/jstransform@10.1.0/visitors/es6-class-visitors.js +0 -316
- data/public/vendor/npm/jstransform@10.1.0/visitors/es6-destructuring-visitors.js +0 -135
- data/public/vendor/npm/jstransform@10.1.0/visitors/es6-object-concise-method-visitors.js +0 -28
- data/public/vendor/npm/jstransform@10.1.0/visitors/es6-object-short-notation-visitors.js +0 -12
- data/public/vendor/npm/jstransform@10.1.0/visitors/es6-rest-param-visitors.js +0 -45
- data/public/vendor/npm/jstransform@10.1.0/visitors/es6-template-visitors.js +0 -90
- data/public/vendor/npm/jstransform@10.1.0/visitors/es7-rest-property-helpers.js +0 -80
- data/public/vendor/npm/jstransform@10.1.0/visitors/es7-spread-property-visitors.js +0 -56
- data/public/vendor/npm/jstransform@10.1.0/visitors/reserved-words-helper.js +0 -74
- data/public/vendor/npm/jstransform@10.1.0/visitors/reserved-words-visitors.js +0 -30
- data/public/vendor/npm/jstransform@10.1.0/visitors/type-syntax.js +0 -118
- data/public/vendor/npm/jstransform@10.1.0.js +0 -1
- data/public/vendor/npm/process@0.10.1/browser.js +0 -58
- data/public/vendor/npm/process@0.10.1.js +0 -1
- data/public/vendor/npm/qs@2.4.1/test/stringify.js +0 -162
- data/public/vendor/npm/react@0.13.3/README.md +0 -20
- data/public/vendor/npm/react@0.13.3/addons.js +0 -2
- data/public/vendor/npm/react@0.13.3/dist/JSXTransformer.js +0 -11346
- data/public/vendor/npm/react@0.13.3/dist/react-with-addons.js +0 -10483
- data/public/vendor/npm/react@0.13.3/dist/react-with-addons.min.js +0 -7297
- data/public/vendor/npm/react@0.13.3/dist/react.js +0 -9468
- data/public/vendor/npm/react@0.13.3/dist/react.min.js +0 -6764
- data/public/vendor/npm/react@0.13.3/lib/AutoFocusMixin.js +0 -9
- data/public/vendor/npm/react@0.13.3/lib/BeforeInputEventPlugin.js +0 -197
- data/public/vendor/npm/react@0.13.3/lib/CSSCore.js +0 -39
- data/public/vendor/npm/react@0.13.3/lib/CSSProperty.js +0 -123
- data/public/vendor/npm/react@0.13.3/lib/CSSPropertyOperations.js +0 -103
- data/public/vendor/npm/react@0.13.3/lib/CallbackQueue.js +0 -43
- data/public/vendor/npm/react@0.13.3/lib/ChangeEventPlugin.js +0 -174
- data/public/vendor/npm/react@0.13.3/lib/ClientReactRootIndex.js +0 -23
- data/public/vendor/npm/react@0.13.3/lib/DOMChildrenOperations.js +0 -57
- data/public/vendor/npm/react@0.13.3/lib/DOMProperty.js +0 -96
- data/public/vendor/npm/react@0.13.3/lib/DOMPropertyOperations.js +0 -99
- data/public/vendor/npm/react@0.13.3/lib/Danger.js +0 -67
- data/public/vendor/npm/react@0.13.3/lib/DefaultEventPluginOrder.js +0 -5
- data/public/vendor/npm/react@0.13.3/lib/EnterLeaveEventPlugin.js +0 -69
- data/public/vendor/npm/react@0.13.3/lib/EventConstants.js +0 -55
- data/public/vendor/npm/react@0.13.3/lib/EventListener.js +0 -34
- data/public/vendor/npm/react@0.13.3/lib/EventPluginHub.js +0 -103
- data/public/vendor/npm/react@0.13.3/lib/EventPluginRegistry.js +0 -115
- data/public/vendor/npm/react@0.13.3/lib/EventPluginUtils.js +0 -121
- data/public/vendor/npm/react@0.13.3/lib/EventPropagators.js +0 -62
- data/public/vendor/npm/react@0.13.3/lib/ExecutionEnvironment.js +0 -42
- data/public/vendor/npm/react@0.13.3/lib/FallbackCompositionState.js +0 -45
- data/public/vendor/npm/react@0.13.3/lib/HTMLDOMPropertyConfig.js +0 -155
- data/public/vendor/npm/react@0.13.3/lib/LinkedStateMixin.js +0 -8
- data/public/vendor/npm/react@0.13.3/lib/LinkedValueUtils.js +0 -74
- data/public/vendor/npm/react@0.13.3/lib/LocalEventTrapMixin.js +0 -26
- data/public/vendor/npm/react@0.13.3/lib/MobileSafariClickEventPlugin.js +0 -17
- data/public/vendor/npm/react@0.13.3/lib/Object.assign.js +0 -47
- data/public/vendor/npm/react@0.13.3/lib/PooledClass.js +0 -75
- data/public/vendor/npm/react@0.13.3/lib/React.js +0 -93
- data/public/vendor/npm/react@0.13.3/lib/ReactBrowserComponentMixin.js +0 -7
- data/public/vendor/npm/react@0.13.3/lib/ReactBrowserEventEmitter.js +0 -136
- data/public/vendor/npm/react@0.13.3/lib/ReactCSSTransitionGroup.js +0 -34
- data/public/vendor/npm/react@0.13.3/lib/ReactCSSTransitionGroupChild.js +0 -92
- data/public/vendor/npm/react@0.13.3/lib/ReactChildReconciler.js +0 -57
- data/public/vendor/npm/react@0.13.3/lib/ReactChildren.js +0 -67
- data/public/vendor/npm/react@0.13.3/lib/ReactClass.js +0 -338
- data/public/vendor/npm/react@0.13.3/lib/ReactComponent.js +0 -50
- data/public/vendor/npm/react@0.13.3/lib/ReactComponentBrowserEnvironment.js +0 -14
- data/public/vendor/npm/react@0.13.3/lib/ReactComponentEnvironment.js +0 -19
- data/public/vendor/npm/react@0.13.3/lib/ReactComponentWithPureRenderMixin.js +0 -7
- data/public/vendor/npm/react@0.13.3/lib/ReactCompositeComponent.js +0 -374
- data/public/vendor/npm/react@0.13.3/lib/ReactContext.js +0 -27
- data/public/vendor/npm/react@0.13.3/lib/ReactCurrentOwner.js +0 -32
- data/public/vendor/npm/react@0.13.3/lib/ReactDOM.js +0 -146
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMButton.js +0 -35
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMComponent.js +0 -267
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMForm.js +0 -21
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMIDOperations.js +0 -63
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMIframe.js +0 -20
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMImg.js +0 -21
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMInput.js +0 -94
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMOption.js +0 -23
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMSelect.js +0 -112
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMSelection.js +0 -103
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMTextComponent.js +0 -38
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMTextarea.js +0 -70
- data/public/vendor/npm/react@0.13.3/lib/ReactDefaultBatchingStrategy.js +0 -37
- data/public/vendor/npm/react@0.13.3/lib/ReactDefaultInjection.js +0 -93
- data/public/vendor/npm/react@0.13.3/lib/ReactDefaultPerf.js +0 -183
- data/public/vendor/npm/react@0.13.3/lib/ReactDefaultPerfAnalysis.js +0 -145
- data/public/vendor/npm/react@0.13.3/lib/ReactElement.js +0 -151
- data/public/vendor/npm/react@0.13.3/lib/ReactElementValidator.js +0 -218
- data/public/vendor/npm/react@0.13.3/lib/ReactEmptyComponent.js +0 -47
- data/public/vendor/npm/react@0.13.3/lib/ReactErrorUtils.js +0 -30
- data/public/vendor/npm/react@0.13.3/lib/ReactEventEmitterMixin.js +0 -12
- data/public/vendor/npm/react@0.13.3/lib/ReactEventListener.js +0 -93
- data/public/vendor/npm/react@0.13.3/lib/ReactFragment.js +0 -110
- data/public/vendor/npm/react@0.13.3/lib/ReactInjection.js +0 -27
- data/public/vendor/npm/react@0.13.3/lib/ReactInputSelection.js +0 -75
- data/public/vendor/npm/react@0.13.3/lib/ReactInstanceHandles.js +0 -113
- data/public/vendor/npm/react@0.13.3/lib/ReactInstanceMap.js +0 -47
- data/public/vendor/npm/react@0.13.3/lib/ReactLifeCycle.js +0 -9
- data/public/vendor/npm/react@0.13.3/lib/ReactLink.js +0 -16
- data/public/vendor/npm/react@0.13.3/lib/ReactMarkupChecksum.js +0 -17
- data/public/vendor/npm/react@0.13.3/lib/ReactMount.js +0 -347
- data/public/vendor/npm/react@0.13.3/lib/ReactMultiChild.js +0 -190
- data/public/vendor/npm/react@0.13.3/lib/ReactMultiChildUpdateTypes.js +0 -10
- data/public/vendor/npm/react@0.13.3/lib/ReactNativeComponent.js +0 -53
- data/public/vendor/npm/react@0.13.3/lib/ReactOwner.js +0 -21
- data/public/vendor/npm/react@0.13.3/lib/ReactPerf.js +0 -42
- data/public/vendor/npm/react@0.13.3/lib/ReactPropTransferer.js +0 -40
- data/public/vendor/npm/react@0.13.3/lib/ReactPropTypeLocationNames.js +0 -13
- data/public/vendor/npm/react@0.13.3/lib/ReactPropTypeLocations.js +0 -9
- data/public/vendor/npm/react@0.13.3/lib/ReactPropTypes.js +0 -225
- data/public/vendor/npm/react@0.13.3/lib/ReactPutListenerQueue.js +0 -31
- data/public/vendor/npm/react@0.13.3/lib/ReactReconcileTransaction.js +0 -66
- data/public/vendor/npm/react@0.13.3/lib/ReactReconciler.js +0 -44
- data/public/vendor/npm/react@0.13.3/lib/ReactRef.js +0 -36
- data/public/vendor/npm/react@0.13.3/lib/ReactRootIndex.js +0 -29
- data/public/vendor/npm/react@0.13.3/lib/ReactServerRendering.js +0 -44
- data/public/vendor/npm/react@0.13.3/lib/ReactServerRenderingTransaction.js +0 -47
- data/public/vendor/npm/react@0.13.3/lib/ReactStateSetters.js +0 -104
- data/public/vendor/npm/react@0.13.3/lib/ReactTestUtils.js +0 -249
- data/public/vendor/npm/react@0.13.3/lib/ReactTransitionChildMapping.js +0 -53
- data/public/vendor/npm/react@0.13.3/lib/ReactTransitionEvents.js +0 -68
- data/public/vendor/npm/react@0.13.3/lib/ReactTransitionGroup.js +0 -140
- data/public/vendor/npm/react@0.13.3/lib/ReactUpdateQueue.js +0 -107
- data/public/vendor/npm/react@0.13.3/lib/ReactUpdates.js +0 -139
- data/public/vendor/npm/react@0.13.3/lib/ReactWithAddons.js +0 -30
- data/public/vendor/npm/react@0.13.3/lib/SVGDOMPropertyConfig.js +0 -76
- data/public/vendor/npm/react@0.13.3/lib/SelectEventPlugin.js +0 -91
- data/public/vendor/npm/react@0.13.3/lib/ServerReactRootIndex.js +0 -29
- data/public/vendor/npm/react@0.13.3/lib/SimpleEventPlugin.js +0 -287
- data/public/vendor/npm/react@0.13.3/lib/SyntheticClipboardEvent.js +0 -11
- data/public/vendor/npm/react@0.13.3/lib/SyntheticCompositionEvent.js +0 -9
- data/public/vendor/npm/react@0.13.3/lib/SyntheticDragEvent.js +0 -9
- data/public/vendor/npm/react@0.13.3/lib/SyntheticEvent.js +0 -90
- data/public/vendor/npm/react@0.13.3/lib/SyntheticFocusEvent.js +0 -9
- data/public/vendor/npm/react@0.13.3/lib/SyntheticInputEvent.js +0 -9
- data/public/vendor/npm/react@0.13.3/lib/SyntheticKeyboardEvent.js +0 -43
- data/public/vendor/npm/react@0.13.3/lib/SyntheticMouseEvent.js +0 -38
- data/public/vendor/npm/react@0.13.3/lib/SyntheticTouchEvent.js +0 -19
- data/public/vendor/npm/react@0.13.3/lib/SyntheticUIEvent.js +0 -29
- data/public/vendor/npm/react@0.13.3/lib/SyntheticWheelEvent.js +0 -18
- data/public/vendor/npm/react@0.13.3/lib/Transaction.js +0 -90
- data/public/vendor/npm/react@0.13.3/lib/ViewportMetrics.js +0 -27
- data/public/vendor/npm/react@0.13.3/lib/accumulateInto.js +0 -26
- data/public/vendor/npm/react@0.13.3/lib/adler32.js +0 -32
- data/public/vendor/npm/react@0.13.3/lib/camelize.js +0 -30
- data/public/vendor/npm/react@0.13.3/lib/camelizeStyleName.js +0 -8
- data/public/vendor/npm/react@0.13.3/lib/cloneWithProps.js +0 -20
- data/public/vendor/npm/react@0.13.3/lib/containsNode.js +0 -20
- data/public/vendor/npm/react@0.13.3/lib/createArrayFromMixed.js +0 -15
- data/public/vendor/npm/react@0.13.3/lib/createFullPageComponent.js +0 -22
- data/public/vendor/npm/react@0.13.3/lib/createNodesFromMarkup.js +0 -39
- data/public/vendor/npm/react@0.13.3/lib/cx.js +0 -20
- data/public/vendor/npm/react@0.13.3/lib/dangerousStyleValue.js +0 -19
- data/public/vendor/npm/react@0.13.3/lib/emptyFunction.js +0 -32
- data/public/vendor/npm/react@0.13.3/lib/emptyObject.js +0 -9
- data/public/vendor/npm/react@0.13.3/lib/escapeTextContentForBrowser.js +0 -38
- data/public/vendor/npm/react@0.13.3/lib/findDOMNode.js +0 -31
- data/public/vendor/npm/react@0.13.3/lib/flattenChildren.js +0 -25
- data/public/vendor/npm/react@0.13.3/lib/focusNode.js +0 -27
- data/public/vendor/npm/react@0.13.3/lib/forEachAccumulated.js +0 -29
- data/public/vendor/npm/react@0.13.3/lib/getActiveElement.js +0 -27
- data/public/vendor/npm/react@0.13.3/lib/getEventCharCode.js +0 -50
- data/public/vendor/npm/react@0.13.3/lib/getEventKey.js +0 -72
- data/public/vendor/npm/react@0.13.3/lib/getEventModifierState.js +0 -45
- data/public/vendor/npm/react@0.13.3/lib/getEventTarget.js +0 -29
- data/public/vendor/npm/react@0.13.3/lib/getIteratorFn.js +0 -42
- data/public/vendor/npm/react@0.13.3/lib/getMarkupWrap.js +0 -73
- data/public/vendor/npm/react@0.13.3/lib/getNodeForCharacterOffset.js +0 -73
- data/public/vendor/npm/react@0.13.3/lib/getReactRootElementInContainer.js +0 -33
- data/public/vendor/npm/react@0.13.3/lib/getTextContentAccessor.js +0 -11
- data/public/vendor/npm/react@0.13.3/lib/getUnboundedScrollPosition.js +0 -38
- data/public/vendor/npm/react@0.13.3/lib/hyphenate.js +0 -31
- data/public/vendor/npm/react@0.13.3/lib/hyphenateStyleName.js +0 -8
- data/public/vendor/npm/react@0.13.3/lib/instantiateReactComponent.js +0 -55
- data/public/vendor/npm/react@0.13.3/lib/invariant.js +0 -26
- data/public/vendor/npm/react@0.13.3/lib/isEventSupported.js +0 -24
- data/public/vendor/npm/react@0.13.3/lib/isNode.js +0 -25
- data/public/vendor/npm/react@0.13.3/lib/isTextInputElement.js +0 -41
- data/public/vendor/npm/react@0.13.3/lib/isTextNode.js +0 -6
- data/public/vendor/npm/react@0.13.3/lib/joinClasses.js +0 -39
- data/public/vendor/npm/react@0.13.3/lib/keyMirror.js +0 -18
- data/public/vendor/npm/react@0.13.3/lib/keyOf.js +0 -34
- data/public/vendor/npm/react@0.13.3/lib/mapObject.js +0 -51
- data/public/vendor/npm/react@0.13.3/lib/memoizeStringOnly.js +0 -31
- data/public/vendor/npm/react@0.13.3/lib/onlyChild.js +0 -11
- data/public/vendor/npm/react@0.13.3/lib/performance.js +0 -8
- data/public/vendor/npm/react@0.13.3/lib/performanceNow.js +0 -7
- data/public/vendor/npm/react@0.13.3/lib/quoteAttributeValueForBrowser.js +0 -7
- data/public/vendor/npm/react@0.13.3/lib/setInnerHTML.js +0 -40
- data/public/vendor/npm/react@0.13.3/lib/setTextContent.js +0 -16
- data/public/vendor/npm/react@0.13.3/lib/shallowEqual.js +0 -42
- data/public/vendor/npm/react@0.13.3/lib/shouldUpdateReactComponent.js +0 -51
- data/public/vendor/npm/react@0.13.3/lib/toArray.js +0 -21
- data/public/vendor/npm/react@0.13.3/lib/traverseAllChildren.js +0 -104
- data/public/vendor/npm/react@0.13.3/lib/update.js +0 -78
- data/public/vendor/npm/react@0.13.3/lib/warning.js +0 -34
- data/public/vendor/npm/react@0.13.3/package.json +0 -34
- data/public/vendor/npm/react@0.13.3/react.js +0 -2
- data/public/vendor/npm/react@0.13.3.js +0 -1
- data/public/vendor/npm/readable-stream@1.1.13/duplex.js +0 -2
- data/public/vendor/npm/readable-stream@1.1.13/passthrough.js +0 -2
- data/public/vendor/npm/readable-stream@1.1.13/readable.js +0 -8
- data/public/vendor/npm/readable-stream@1.1.13/transform.js +0 -2
- data/public/vendor/npm/readable-stream@1.1.13/writable.js +0 -2
- data/public/vendor/npm/readable-stream@1.1.13.js +0 -1
- data/public/vendor/npm/source-map@0.1.31/CHANGELOG.md +0 -112
- data/public/vendor/npm/source-map@0.1.31/LICENSE +0 -28
- data/public/vendor/npm/source-map@0.1.31/Makefile.dryice.js +0 -89
- data/public/vendor/npm/source-map@0.1.31/README.md +0 -434
- data/public/vendor/npm/source-map@0.1.31/build/assert-shim.js +0 -58
- data/public/vendor/npm/source-map@0.1.31/build/mini-require.js +0 -154
- data/public/vendor/npm/source-map@0.1.31/build/prefix-source-map.jsm +0 -20
- data/public/vendor/npm/source-map@0.1.31/build/prefix-utils.jsm +0 -18
- data/public/vendor/npm/source-map@0.1.31/build/suffix-browser.js +0 -8
- data/public/vendor/npm/source-map@0.1.31/build/suffix-source-map.jsm +0 -6
- data/public/vendor/npm/source-map@0.1.31/build/suffix-utils.jsm +0 -21
- data/public/vendor/npm/source-map@0.1.31/build/test-prefix.js +0 -10
- data/public/vendor/npm/source-map@0.1.31/build/test-suffix.js +0 -5
- data/public/vendor/npm/source-map@0.1.31/lib/source-map/array-set.js +0 -49
- data/public/vendor/npm/source-map@0.1.31/lib/source-map/base64-vlq.js +0 -56
- data/public/vendor/npm/source-map@0.1.31/lib/source-map/base64.js +0 -44
- data/public/vendor/npm/source-map@0.1.31/lib/source-map/binary-search.js +0 -83
- data/public/vendor/npm/source-map@0.1.31/lib/source-map/source-map-consumer.js +0 -238
- data/public/vendor/npm/source-map@0.1.31/lib/source-map/source-map-generator.js +0 -231
- data/public/vendor/npm/source-map@0.1.31/lib/source-map/source-node.js +0 -234
- data/public/vendor/npm/source-map@0.1.31/lib/source-map/util.js +0 -207
- data/public/vendor/npm/source-map@0.1.31/lib/source-map.js +0 -4
- data/public/vendor/npm/source-map@0.1.31/package.json +0 -52
- data/public/vendor/npm/source-map@0.1.31/test/run-tests.js +0 -50
- data/public/vendor/npm/source-map@0.1.31/test/source-map/test-api.js +0 -19
- data/public/vendor/npm/source-map@0.1.31/test/source-map/test-array-set.js +0 -84
- data/public/vendor/npm/source-map@0.1.31/test/source-map/test-base64-vlq.js +0 -17
- data/public/vendor/npm/source-map@0.1.31/test/source-map/test-base64.js +0 -26
- data/public/vendor/npm/source-map@0.1.31/test/source-map/test-binary-search.js +0 -37
- data/public/vendor/npm/source-map@0.1.31/test/source-map/test-dog-fooding.js +0 -76
- data/public/vendor/npm/source-map@0.1.31/test/source-map/test-source-map-consumer.js +0 -426
- data/public/vendor/npm/source-map@0.1.31/test/source-map/test-source-map-generator.js +0 -480
- data/public/vendor/npm/source-map@0.1.31/test/source-map/test-source-node.js +0 -307
- data/public/vendor/npm/source-map@0.1.31/test/source-map/util.js +0 -84
- data/public/vendor/npm/source-map@0.1.31.js +0 -1
- data/public/vendor/npm/through@2.3.8/LICENSE.APACHE2 +0 -15
- data/public/vendor/npm/through@2.3.8/LICENSE.MIT +0 -24
- data/public/vendor/npm/through@2.3.8/index.js +0 -93
- data/public/vendor/npm/through@2.3.8/package.json +0 -36
- data/public/vendor/npm/through@2.3.8/readme.markdown +0 -64
- data/public/vendor/npm/through@2.3.8/test/async.js +0 -26
- data/public/vendor/npm/through@2.3.8/test/auto-destroy.js +0 -26
- data/public/vendor/npm/through@2.3.8/test/buffering.js +0 -57
- data/public/vendor/npm/through@2.3.8/test/end.js +0 -37
- data/public/vendor/npm/through@2.3.8/test/index.js +0 -98
- data/public/vendor/npm/through@2.3.8/test.js +0 -2
- data/public/vendor/npm/through@2.3.8.js +0 -1
- data/views/_options.erb +0 -156
- /data/public/vendor/github/jspm/{nodelibs-buffer@0.1.0 → nodelibs-buffer@0.1.1}/index.js +0 -0
- /data/public/vendor/github/jspm/{nodelibs-process@0.1.1 → nodelibs-process@0.1.2}/index.js +0 -0
- /data/public/vendor/npm/{readable-stream@1.1.13 → assert@1.5.0}/LICENSE +0 -0
- /data/public/vendor/npm/{buffer@3.4.3 → buffer@5.7.1}/LICENSE +0 -0
- /data/public/vendor/npm/{core-util-is@1.0.1 → core-util-is@1.0.3}/README.md +0 -0
- /data/public/vendor/npm/{process@0.10.1 → process@0.11.10}/LICENSE +0 -0
- /data/public/vendor/npm/{process@0.10.1 → process@0.11.10}/index.js +0 -0
- /data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/README.md +0 -0
- /data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/float.patch +0 -0
data/public/js/report.js
CHANGED
@@ -1,82 +1,25 @@
|
|
1
1
|
import './jquery_world'; // for custom $.tooltip function
|
2
|
-
import React from 'react';
|
2
|
+
import React, { Component } from 'react';
|
3
3
|
import _ from 'underscore';
|
4
4
|
|
5
5
|
import Sidebar from './sidebar';
|
6
6
|
import Circos from './circos';
|
7
|
-
import
|
7
|
+
import { ReportQuery } from './query';
|
8
8
|
import Hit from './hit';
|
9
9
|
import HSP from './hsp';
|
10
|
+
import AlignmentExporter from './alignment_exporter';
|
10
11
|
|
11
|
-
import SequenceModal from './sequence_modal';
|
12
|
-
import ErrorModal from './error_modal';
|
13
12
|
|
14
|
-
/**
|
15
|
-
* Base component of report page. This component is later rendered into page's
|
16
|
-
* '#view' element.
|
17
|
-
*/
|
18
|
-
var Page = React.createClass({
|
19
|
-
render: function () {
|
20
|
-
return (
|
21
|
-
<div>
|
22
|
-
{/* Provide bootstrap .container element inside the #view for
|
23
|
-
the Report component to render itself in. */}
|
24
|
-
<div className="container">
|
25
|
-
<Report showSequenceModal={ _ => this.showSequenceModal(_) }
|
26
|
-
getCharacterWidth={ () => this.getCharacterWidth() }
|
27
|
-
showErrorModal={ (...args) => this.showErrorModal(...args) } />
|
28
|
-
</div>
|
29
|
-
|
30
|
-
{/* Add a hidden span tag containing chars used in HSPs */}
|
31
|
-
<pre className="pre-reset hsp-lines" ref="hspChars" hidden>
|
32
|
-
ABCDEFGHIJKLMNOPQRSTUVWXYZ +-
|
33
|
-
</pre>
|
34
|
-
|
35
|
-
{/* Required by Grapher for SVG and PNG download */}
|
36
|
-
<canvas id="png-exporter" hidden></canvas>
|
37
|
-
|
38
|
-
<SequenceModal ref="sequenceModal"
|
39
|
-
showErrorModal={ (...args) => this.showErrorModal(...args) }/>
|
40
|
-
|
41
|
-
<ErrorModal ref="errorModal" />
|
42
|
-
</div>
|
43
|
-
);
|
44
|
-
},
|
45
|
-
|
46
|
-
componentDidMount: function () {
|
47
|
-
var job_id = location.pathname.split('/').pop();
|
48
|
-
sessionStorage.setItem('job_id', job_id);
|
49
|
-
},
|
50
|
-
|
51
|
-
showSequenceModal: function (url) {
|
52
|
-
this.refs.sequenceModal.show(url);
|
53
|
-
},
|
54
13
|
|
55
|
-
showErrorModal: function (errorData, beforeShow) {
|
56
|
-
this.refs.errorModal.show(errorData, beforeShow);
|
57
|
-
},
|
58
|
-
|
59
|
-
getCharacterWidth: function () {
|
60
|
-
if (!this.characterWidth) {
|
61
|
-
var $hspChars = $(React.findDOMNode(this.refs.hspChars));
|
62
|
-
this.characterWidth = $hspChars.width() / 29;
|
63
|
-
}
|
64
|
-
return this.characterWidth;
|
65
|
-
}
|
66
|
-
});
|
67
14
|
|
68
15
|
/**
|
69
16
|
* Renders entire report.
|
70
17
|
*
|
71
18
|
* Composed of Query and Sidebar components.
|
72
19
|
*/
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
getInitialState: function () {
|
78
|
-
this.fetchResults();
|
79
|
-
|
20
|
+
class Report extends Component {
|
21
|
+
constructor(props) {
|
22
|
+
super(props);
|
80
23
|
// Properties below are internal state used to render results in small
|
81
24
|
// slices (see updateState).
|
82
25
|
this.numUpdates = 0;
|
@@ -84,92 +27,89 @@ var Report = React.createClass({
|
|
84
27
|
this.nextHit = 0;
|
85
28
|
this.nextHSP = 0;
|
86
29
|
this.maxHSPs = 3; // max HSPs to render in a cycle
|
87
|
-
|
88
|
-
|
89
|
-
search_id: '',
|
30
|
+
this.state = {
|
31
|
+
search_id: '',
|
90
32
|
seqserv_version: '',
|
91
|
-
program:
|
33
|
+
program: '',
|
92
34
|
program_version: '',
|
93
|
-
submitted_at:
|
94
|
-
queries:
|
95
|
-
results:
|
96
|
-
querydb:
|
97
|
-
params:
|
98
|
-
stats:
|
35
|
+
submitted_at: '',
|
36
|
+
queries: [],
|
37
|
+
results: [],
|
38
|
+
querydb: [],
|
39
|
+
params: [],
|
40
|
+
stats: [],
|
41
|
+
alignment_blob_url: '',
|
42
|
+
allQueriesLoaded: false,
|
43
|
+
cloud_sharing_enabled: false,
|
99
44
|
};
|
100
|
-
|
101
|
-
|
45
|
+
this.prepareAlignmentOfSelectedHits = this.prepareAlignmentOfSelectedHits.bind(this);
|
46
|
+
this.prepareAlignmentOfAllHits = this.prepareAlignmentOfAllHits.bind(this);
|
47
|
+
this.setStateFromJSON = this.setStateFromJSON.bind(this);
|
48
|
+
}
|
102
49
|
/**
|
103
|
-
|
104
|
-
|
105
|
-
fetchResults
|
50
|
+
* Fetch results.
|
51
|
+
*/
|
52
|
+
fetchResults() {
|
106
53
|
var intervals = [200, 400, 800, 1200, 2000, 3000, 5000];
|
107
54
|
var component = this;
|
108
55
|
|
109
|
-
function poll
|
110
|
-
$.getJSON(location.pathname + '.json')
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
else {
|
119
|
-
interval = intervals.shift();
|
120
|
-
}
|
121
|
-
setTimeout(poll, interval);
|
122
|
-
break;
|
123
|
-
case 200:
|
124
|
-
component.setStateFromJSON(jqXHR.responseJSON);
|
125
|
-
break;
|
126
|
-
case 404:
|
127
|
-
case 400:
|
128
|
-
case 500:
|
129
|
-
component.props.showErrorModal(jqXHR.responseJSON);
|
130
|
-
break;
|
56
|
+
function poll() {
|
57
|
+
$.getJSON(location.pathname + '.json').complete(function (jqXHR) {
|
58
|
+
switch (jqXHR.status) {
|
59
|
+
case 202:
|
60
|
+
var interval;
|
61
|
+
if (intervals.length === 1) {
|
62
|
+
interval = intervals[0];
|
63
|
+
} else {
|
64
|
+
interval = intervals.shift();
|
131
65
|
}
|
132
|
-
|
66
|
+
setTimeout(poll, interval);
|
67
|
+
break;
|
68
|
+
case 200:
|
69
|
+
component.setStateFromJSON(jqXHR.responseJSON);
|
70
|
+
break;
|
71
|
+
case 404:
|
72
|
+
case 400:
|
73
|
+
case 500:
|
74
|
+
component.props.showErrorModal(jqXHR.responseJSON);
|
75
|
+
break;
|
76
|
+
}
|
77
|
+
});
|
133
78
|
}
|
134
79
|
|
135
80
|
poll();
|
136
|
-
}
|
81
|
+
}
|
137
82
|
|
138
83
|
/**
|
139
|
-
|
140
|
-
|
141
|
-
setStateFromJSON
|
84
|
+
* Calls setState after any required modification to responseJSON.
|
85
|
+
*/
|
86
|
+
setStateFromJSON(responseJSON) {
|
142
87
|
this.lastTimeStamp = Date.now();
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
// Life-cycle methods //
|
147
|
-
render: function () {
|
148
|
-
return this.isResultAvailable() ?
|
149
|
-
this.resultsJSX() : this.loadingJSX();
|
150
|
-
},
|
151
|
-
|
88
|
+
// the callback prepares the download link for all alignments
|
89
|
+
this.setState(responseJSON, this.prepareAlignmentOfAllHits);
|
90
|
+
}
|
152
91
|
/**
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
componentDidMount
|
92
|
+
* Called as soon as the page has loaded and the user sees the loading spinner.
|
93
|
+
* We use this opportunity to setup services that make use of delegated events
|
94
|
+
* bound to the window, document, or body.
|
95
|
+
*/
|
96
|
+
componentDidMount() {
|
97
|
+
this.fetchResults();
|
158
98
|
// This sets up an event handler which enables users to select text from
|
159
99
|
// hit header without collapsing the hit.
|
160
100
|
this.preventCollapseOnSelection();
|
161
101
|
this.toggleTable();
|
162
|
-
}
|
102
|
+
}
|
163
103
|
|
164
104
|
/**
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
componentDidUpdate
|
171
|
-
|
172
|
-
console.log((Date.now() - this.lastTimeStamp)/1000);
|
105
|
+
* Called for the first time after as BLAST results have been retrieved from
|
106
|
+
* the server and added to this.state by fetchResults. Only summary overview
|
107
|
+
* and circos would have been rendered at this point. At this stage we kick
|
108
|
+
* start iteratively adding 1 HSP to the page every 25 milli-seconds.
|
109
|
+
*/
|
110
|
+
componentDidUpdate() {
|
111
|
+
// Log to console how long the last update take?
|
112
|
+
console.log((Date.now() - this.lastTimeStamp) / 1000);
|
173
113
|
|
174
114
|
// Lock sidebar in its position on the first update.
|
175
115
|
if (this.nextQuery == 0 && this.nextHit == 0 && this.nextHSP == 0) {
|
@@ -182,16 +122,15 @@ var Report = React.createClass({
|
|
182
122
|
// the updates giving the browser a chance to respond
|
183
123
|
// to user interactions.
|
184
124
|
setTimeout(() => this.updateState(), 25);
|
185
|
-
}
|
186
|
-
else {
|
125
|
+
} else {
|
187
126
|
this.componentFinishedUpdating();
|
188
127
|
}
|
189
|
-
}
|
128
|
+
}
|
190
129
|
|
191
130
|
/**
|
192
|
-
|
193
|
-
|
194
|
-
updateState
|
131
|
+
* Push next slice of results to React for rendering.
|
132
|
+
*/
|
133
|
+
updateState() {
|
195
134
|
var results = [];
|
196
135
|
var numHSPsProcessed = 0;
|
197
136
|
while (this.nextQuery < this.state.queries.length) {
|
@@ -200,12 +139,18 @@ var Report = React.createClass({
|
|
200
139
|
// 3 hsps or are rendered in each cycle, but we want to create the
|
201
140
|
// corresponding Query component only the first time we see it.
|
202
141
|
if (this.nextHit == 0 && this.nextHSP == 0) {
|
203
|
-
results.push(
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
142
|
+
results.push(
|
143
|
+
<ReportQuery
|
144
|
+
key={'Query_' + query.number}
|
145
|
+
query={query}
|
146
|
+
program={this.state.program}
|
147
|
+
querydb={this.state.querydb}
|
148
|
+
showQueryCrumbs={this.state.queries.length > 1}
|
149
|
+
non_parse_seqids={this.state.non_parse_seqids}
|
150
|
+
imported_xml={this.state.imported_xml}
|
151
|
+
veryBig={this.state.veryBig}
|
152
|
+
/>
|
153
|
+
);
|
209
154
|
}
|
210
155
|
|
211
156
|
while (this.nextHit < query.hits.length) {
|
@@ -214,14 +159,22 @@ var Report = React.createClass({
|
|
214
159
|
// 10 hsps are rendered in each cycle, but we want to create the
|
215
160
|
// corresponding Hit component only the first time we see it.
|
216
161
|
if (this.nextHSP == 0) {
|
217
|
-
results.push(
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
162
|
+
results.push(
|
163
|
+
<Hit
|
164
|
+
key={'Query_' + query.number + '_Hit_' + hit.number}
|
165
|
+
query={query}
|
166
|
+
hit={hit}
|
167
|
+
algorithm={this.state.program}
|
168
|
+
querydb={this.state.querydb}
|
169
|
+
selectHit={this.selectHit}
|
170
|
+
imported_xml={this.state.imported_xml}
|
171
|
+
non_parse_seqids={this.state.non_parse_seqids}
|
172
|
+
showQueryCrumbs={this.state.queries.length > 1}
|
173
|
+
showHitCrumbs={query.hits.length > 1}
|
174
|
+
veryBig={this.state.veryBig}
|
175
|
+
onChange={this.prepareAlignmentOfSelectedHits}
|
176
|
+
{...this.props}
|
177
|
+
/>
|
225
178
|
);
|
226
179
|
}
|
227
180
|
|
@@ -229,9 +182,22 @@ var Report = React.createClass({
|
|
229
182
|
// Get nextHSP and increment the counter.
|
230
183
|
var hsp = hit.hsps[this.nextHSP++];
|
231
184
|
results.push(
|
232
|
-
<HSP
|
233
|
-
|
234
|
-
|
185
|
+
<HSP
|
186
|
+
key={
|
187
|
+
'Query_' +
|
188
|
+
query.number +
|
189
|
+
'_Hit_' +
|
190
|
+
hit.number +
|
191
|
+
'_HSP_' +
|
192
|
+
hsp.number
|
193
|
+
}
|
194
|
+
query={query}
|
195
|
+
hit={hit}
|
196
|
+
hsp={hsp}
|
197
|
+
algorithm={this.state.program}
|
198
|
+
showHSPNumbers={hit.hsps.length > 1}
|
199
|
+
{...this.props}
|
200
|
+
/>
|
235
201
|
);
|
236
202
|
numHSPsProcessed++;
|
237
203
|
if (numHSPsProcessed == this.maxHSPs) break;
|
@@ -259,147 +225,163 @@ var Report = React.createClass({
|
|
259
225
|
this.lastTimeStamp = Date.now();
|
260
226
|
this.setState({
|
261
227
|
results: this.state.results.concat(results),
|
262
|
-
veryBig: this.numUpdates >= 250
|
228
|
+
veryBig: this.numUpdates >= 250,
|
263
229
|
});
|
264
|
-
}
|
230
|
+
}
|
265
231
|
|
266
232
|
/**
|
267
|
-
|
268
|
-
|
269
|
-
componentFinishedUpdating
|
233
|
+
* Called after all results have been rendered.
|
234
|
+
*/
|
235
|
+
componentFinishedUpdating() {
|
236
|
+
if (this.state.allQueriesLoaded) return;
|
270
237
|
this.shouldShowIndex() && this.setupScrollSpy();
|
271
|
-
|
238
|
+
this.setState({ allQueriesLoaded: true });
|
239
|
+
}
|
272
240
|
|
273
241
|
/**
|
274
|
-
|
275
|
-
|
276
|
-
loadingJSX
|
242
|
+
* Returns loading message
|
243
|
+
*/
|
244
|
+
loadingJSX() {
|
277
245
|
return (
|
278
|
-
<div
|
279
|
-
className="
|
280
|
-
<div
|
281
|
-
className="col-md-6 col-md-offset-3 text-center">
|
246
|
+
<div className="row">
|
247
|
+
<div className="col-md-6 col-md-offset-3 text-center">
|
282
248
|
<h1>
|
283
249
|
<i className="fa fa-cog fa-spin"></i> BLAST-ing
|
284
250
|
</h1>
|
285
251
|
<p>
|
286
|
-
<br/>
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
<br/>
|
291
|
-
|
292
|
-
|
293
|
-
the link with someone.
|
252
|
+
<br />
|
253
|
+
This can take some time depending on the size of your query and
|
254
|
+
database(s). The page will update automatically when BLAST is done.
|
255
|
+
<br />
|
256
|
+
<br />
|
257
|
+
You can bookmark the page and come back to it later or share the
|
258
|
+
link with someone.
|
294
259
|
</p>
|
295
260
|
</div>
|
296
261
|
</div>
|
297
262
|
);
|
298
|
-
}
|
263
|
+
}
|
299
264
|
|
300
265
|
/**
|
301
|
-
|
302
|
-
|
303
|
-
resultsJSX
|
266
|
+
* Return results JSX.
|
267
|
+
*/
|
268
|
+
resultsJSX() {
|
304
269
|
return (
|
305
|
-
<div className="row">
|
270
|
+
<div className="row" id="results">
|
306
271
|
<div className="col-md-3 hidden-sm hidden-xs">
|
307
|
-
<Sidebar
|
272
|
+
<Sidebar
|
273
|
+
data={this.state}
|
308
274
|
atLeastOneHit={this.atLeastOneHit()}
|
309
|
-
shouldShowIndex={this.shouldShowIndex()}
|
275
|
+
shouldShowIndex={this.shouldShowIndex()}
|
276
|
+
allQueriesLoaded={this.state.allQueriesLoaded}
|
277
|
+
cloudSharingEnabled={this.state.cloud_sharing_enabled}
|
278
|
+
/>
|
310
279
|
</div>
|
311
280
|
<div className="col-md-9">
|
312
|
-
{
|
313
|
-
{
|
314
|
-
{
|
281
|
+
{this.overviewJSX()}
|
282
|
+
{this.circosJSX()}
|
283
|
+
{this.state.results}
|
315
284
|
</div>
|
316
285
|
</div>
|
317
286
|
);
|
318
|
-
}
|
287
|
+
}
|
319
288
|
|
320
289
|
/**
|
321
|
-
|
322
|
-
|
323
|
-
overviewJSX
|
290
|
+
* Renders report overview.
|
291
|
+
*/
|
292
|
+
overviewJSX() {
|
324
293
|
return (
|
325
294
|
<div className="overview">
|
326
295
|
<p>
|
327
|
-
<strong>SequenceServer {this.state.seqserv_version}</strong> using
|
328
|
-
{this.state.
|
296
|
+
<strong>SequenceServer {this.state.seqserv_version}</strong> using{' '}
|
297
|
+
<strong>{this.state.program_version}</strong>
|
298
|
+
{this.state.submitted_at &&
|
299
|
+
`, query submitted on ${this.state.submitted_at}`}
|
329
300
|
</p>
|
330
301
|
<p>
|
331
|
-
<strong> Databases: </strong>
|
332
|
-
|
333
|
-
|
302
|
+
<strong> Databases: </strong>
|
303
|
+
{this.state.querydb
|
304
|
+
.map((db) => {
|
305
|
+
return db.title;
|
306
|
+
})
|
307
|
+
.join(', ')}{' '}
|
308
|
+
({this.state.stats.nsequences} sequences,
|
334
309
|
{this.state.stats.ncharacters} characters)
|
335
310
|
</p>
|
336
311
|
<p>
|
337
|
-
<strong>Parameters: </strong>
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
}
|
312
|
+
<strong>Parameters: </strong>{' '}
|
313
|
+
{_.map(this.state.params, function (val, key) {
|
314
|
+
return key + ' ' + val;
|
315
|
+
}).join(', ')}
|
342
316
|
</p>
|
343
317
|
<p>
|
344
|
-
|
318
|
+
Please cite:{' '}
|
319
|
+
<a href="https://doi.org/10.1093/molbev/msz185">
|
320
|
+
https://doi.org/10.1093/molbev/msz185
|
321
|
+
</a>
|
345
322
|
</p>
|
346
323
|
</div>
|
347
324
|
);
|
348
|
-
}
|
325
|
+
}
|
349
326
|
|
350
327
|
/**
|
351
|
-
|
352
|
-
|
353
|
-
circosJSX
|
354
|
-
return this.atLeastTwoHits()
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
328
|
+
* Return JSX for circos if we have at least one hit.
|
329
|
+
*/
|
330
|
+
circosJSX() {
|
331
|
+
return this.atLeastTwoHits() ? (
|
332
|
+
<Circos
|
333
|
+
queries={this.state.queries}
|
334
|
+
program={this.state.program}
|
335
|
+
collapsed="true"
|
336
|
+
/>
|
337
|
+
) : (
|
338
|
+
<span></span>
|
339
|
+
);
|
340
|
+
}
|
359
341
|
|
360
342
|
// Controller //
|
361
343
|
|
362
344
|
/**
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
isResultAvailable
|
345
|
+
* Returns true if results have been fetched.
|
346
|
+
*
|
347
|
+
* A holding message is shown till results are fetched.
|
348
|
+
*/
|
349
|
+
isResultAvailable() {
|
368
350
|
return this.state.queries.length >= 1;
|
369
|
-
}
|
351
|
+
}
|
370
352
|
|
371
353
|
/**
|
372
|
-
|
373
|
-
|
374
|
-
atLeastOneHit
|
375
|
-
return this.state.queries.some(query => query.hits.length > 0);
|
376
|
-
}
|
354
|
+
* Returns true if we have at least one hit.
|
355
|
+
*/
|
356
|
+
atLeastOneHit() {
|
357
|
+
return this.state.queries.some((query) => query.hits.length > 0);
|
358
|
+
}
|
377
359
|
|
378
360
|
/**
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
atLeastTwoHits
|
361
|
+
* Does the report have at least two hits? This is used to determine
|
362
|
+
* whether Circos should be enabled or not.
|
363
|
+
*/
|
364
|
+
atLeastTwoHits() {
|
383
365
|
var hit_num = 0;
|
384
|
-
return this.state.queries.some(query => {
|
366
|
+
return this.state.queries.some((query) => {
|
385
367
|
hit_num += query.hits.length;
|
386
368
|
return hit_num > 1;
|
387
369
|
});
|
388
|
-
}
|
370
|
+
}
|
389
371
|
|
390
372
|
/**
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
shouldShowIndex
|
373
|
+
* Returns true if index should be shown in the sidebar. Index is shown
|
374
|
+
* only for 2 and 8 queries.
|
375
|
+
*/
|
376
|
+
shouldShowIndex() {
|
395
377
|
var num_queries = this.state.queries.length;
|
396
378
|
return num_queries >= 2 && num_queries <= 12;
|
397
|
-
}
|
379
|
+
}
|
398
380
|
|
399
381
|
/**
|
400
|
-
|
401
|
-
|
402
|
-
preventCollapseOnSelection
|
382
|
+
* Prevents folding of hits during text-selection.
|
383
|
+
*/
|
384
|
+
preventCollapseOnSelection() {
|
403
385
|
$('body').on('mousedown', '.hit > .section-header > h4', function (event) {
|
404
386
|
var $this = $(this);
|
405
387
|
$this.on('mouseup mousemove', function handler(event) {
|
@@ -415,52 +397,53 @@ var Report = React.createClass({
|
|
415
397
|
$this.off('mouseup mousemove', handler);
|
416
398
|
});
|
417
399
|
});
|
418
|
-
}
|
400
|
+
}
|
419
401
|
|
420
402
|
/* Handling the fa icon when Hit Table is collapsed */
|
421
|
-
toggleTable
|
422
|
-
$('body').on(
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
$this
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
403
|
+
toggleTable() {
|
404
|
+
$('body').on(
|
405
|
+
'mousedown',
|
406
|
+
'.resultn > .section-content > .table-hit-overview > .caption',
|
407
|
+
function (event) {
|
408
|
+
var $this = $(this);
|
409
|
+
$this.on('mouseup mousemove', function handler(event) {
|
410
|
+
$this.find('i').toggleClass('fa-minus-square-o fa-plus-square-o');
|
411
|
+
$this.off('mouseup mousemove', handler);
|
412
|
+
});
|
413
|
+
}
|
414
|
+
);
|
415
|
+
}
|
432
416
|
|
433
417
|
/**
|
434
|
-
|
435
|
-
|
436
|
-
affixSidebar
|
418
|
+
* Affixes the sidebar.
|
419
|
+
*/
|
420
|
+
affixSidebar() {
|
437
421
|
var $sidebar = $('.sidebar');
|
438
422
|
var sidebarOffset = $sidebar.offset();
|
439
423
|
if (sidebarOffset) {
|
440
424
|
$sidebar.affix({
|
441
425
|
offset: {
|
442
|
-
top: sidebarOffset.top
|
443
|
-
}
|
426
|
+
top: sidebarOffset.top,
|
427
|
+
},
|
444
428
|
});
|
445
429
|
}
|
446
|
-
}
|
430
|
+
}
|
447
431
|
|
448
432
|
/**
|
449
|
-
|
450
|
-
|
451
|
-
setupScrollSpy
|
452
|
-
$('body').scrollspy({target: '.sidebar'});
|
453
|
-
}
|
433
|
+
* For the query in viewport, highlights corresponding entry in the index.
|
434
|
+
*/
|
435
|
+
setupScrollSpy() {
|
436
|
+
$('body').scrollspy({ target: '.sidebar' });
|
437
|
+
}
|
454
438
|
|
455
439
|
/**
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
selectHit
|
461
|
-
|
440
|
+
* Event-handler when hit is selected
|
441
|
+
* Adds glow to hit component.
|
442
|
+
* Updates number of Fasta that can be downloaded
|
443
|
+
*/
|
444
|
+
selectHit(id) {
|
462
445
|
var checkbox = $('#' + id);
|
463
|
-
var num_checked
|
446
|
+
var num_checked = $('.hit-links :checkbox:checked').length;
|
464
447
|
|
465
448
|
if (!checkbox || !checkbox.val()) {
|
466
449
|
return;
|
@@ -475,17 +458,15 @@ var Report = React.createClass({
|
|
475
458
|
$hit.next('.hsp').addClass('glow');
|
476
459
|
$('.download-fasta-of-selected').enable();
|
477
460
|
$('.download-alignment-of-selected').enable();
|
478
|
-
}
|
479
|
-
else {
|
461
|
+
} else {
|
480
462
|
$hit.removeClass('glow');
|
481
463
|
$hit.next('.hsp').removeClass('glow');
|
482
464
|
}
|
483
465
|
|
484
466
|
var $a = $('.download-fasta-of-selected');
|
485
467
|
var $b = $('.download-alignment-of-selected');
|
486
|
-
|
487
|
-
if (num_checked >= 1)
|
488
|
-
{
|
468
|
+
|
469
|
+
if (num_checked >= 1) {
|
489
470
|
$a.find('.text-bold').html(num_checked);
|
490
471
|
$b.find('.text-bold').html(num_checked);
|
491
472
|
}
|
@@ -494,7 +475,72 @@ var Report = React.createClass({
|
|
494
475
|
$a.addClass('disabled').find('.text-bold').html('');
|
495
476
|
$b.addClass('disabled').find('.text-bold').html('');
|
496
477
|
}
|
497
|
-
}
|
498
|
-
|
478
|
+
}
|
479
|
+
populate_hsp_array(hit, query_id){
|
480
|
+
return hit.hsps.map(hsp => Object.assign(hsp, {hit_id: hit.id, query_id}));
|
481
|
+
}
|
482
|
+
|
483
|
+
prepareAlignmentOfSelectedHits() {
|
484
|
+
var sequence_ids = $('.hit-links :checkbox:checked').map(function () {
|
485
|
+
return this.value;
|
486
|
+
}).get();
|
487
|
+
|
488
|
+
if(!sequence_ids.length){
|
489
|
+
// remove attributes from link if sequence_ids array is empty
|
490
|
+
$('.download-alignment-of-selected').attr('href', '#').removeAttr('download');
|
491
|
+
return;
|
492
|
+
|
493
|
+
}
|
494
|
+
if(this.state.alignment_blob_url){
|
495
|
+
// always revoke existing url if any because this method will always create a new url
|
496
|
+
window.URL.revokeObjectURL(this.state.alignment_blob_url);
|
497
|
+
}
|
498
|
+
var hsps_arr = [];
|
499
|
+
var aln_exporter = new AlignmentExporter();
|
500
|
+
const self = this;
|
501
|
+
_.each(this.state.queries, _.bind(function (query) {
|
502
|
+
_.each(query.hits, function (hit) {
|
503
|
+
if (_.indexOf(sequence_ids, hit.id) != -1) {
|
504
|
+
hsps_arr = hsps_arr.concat(self.populate_hsp_array(hit, query.id));
|
505
|
+
}
|
506
|
+
});
|
507
|
+
}, this));
|
508
|
+
const filename = 'alignment-' + sequence_ids.length + '_hits.txt';
|
509
|
+
const blob_url = aln_exporter.prepare_alignments_for_export(hsps_arr, filename);
|
510
|
+
// set required download attributes for link
|
511
|
+
$('.download-alignment-of-selected').attr('href', blob_url).attr('download', filename);
|
512
|
+
// track new url for future removal
|
513
|
+
this.setState({alignment_blob_url: blob_url});
|
514
|
+
}
|
515
|
+
|
516
|
+
prepareAlignmentOfAllHits() {
|
517
|
+
// Get number of hits and array of all hsps.
|
518
|
+
var num_hits = 0;
|
519
|
+
var hsps_arr = [];
|
520
|
+
if(!this.state.queries.length){
|
521
|
+
return;
|
522
|
+
}
|
523
|
+
this.state.queries.forEach(
|
524
|
+
(query) => query.hits.forEach(
|
525
|
+
(hit) => {
|
526
|
+
num_hits++;
|
527
|
+
hsps_arr = hsps_arr.concat(this.populate_hsp_array(hit, query.id));
|
528
|
+
}
|
529
|
+
)
|
530
|
+
);
|
531
|
+
|
532
|
+
var aln_exporter = new AlignmentExporter();
|
533
|
+
var file_name = `alignment-${num_hits}_hits.txt`;
|
534
|
+
const blob_url = aln_exporter.prepare_alignments_for_export(hsps_arr, file_name);
|
535
|
+
$('.download-alignment-of-all')
|
536
|
+
.attr('href', blob_url)
|
537
|
+
.attr('download', file_name);
|
538
|
+
return false;
|
539
|
+
}
|
540
|
+
|
541
|
+
render() {
|
542
|
+
return this.isResultAvailable() ? this.resultsJSX() : this.loadingJSX();
|
543
|
+
}
|
544
|
+
}
|
499
545
|
|
500
|
-
|
546
|
+
export default Report;
|