grnsight 3.0.0 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +1 -0
- package/.travis.yml +1 -1
- package/GRNsight - Beta.html +194 -0
- package/Gemfile.lock +259 -0
- package/README.md +1 -1
- package/_gh_pages/about.html +360 -45
- package/_gh_pages/assets/css/footer.css +3 -0
- package/_gh_pages/assets/css/main.css +28 -14
- package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_estimation_output_binary-no-targetless-genes_sif.png +0 -0
- package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_estimation_output_binary_sif.png +0 -0
- package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_graphml_3-edges-and-footer.png +0 -0
- package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_graphml_header-and-3-nodes.png +0 -0
- package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_graphml_output_3-edges-and-footer.png +0 -0
- package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_graphml_output_header-and-3-nodes.png +0 -0
- package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_input_binary-no-targetless-genes_sif.png +0 -0
- package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_input_binary_sif.png +0 -0
- package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_input_concatenated-no-targetless-genes_sif.png +0 -0
- package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_input_concatenated_sif.png +0 -0
- package/_gh_pages/assets/images/Choe-Shin_CMSI402-poster-session_20180430.jpg +0 -0
- package/_gh_pages/assets/images/Choe_SCCUR_2017.jpg +0 -0
- package/_gh_pages/assets/images/Dahlquist-Choe-Shin_CMSI402-poster-session_20180430.jpg +0 -0
- package/_gh_pages/assets/images/Dionisio-Dahlquist_GRNsight-shades_20170506.jpg +0 -0
- package/_gh_pages/assets/images/Klein_Samdarshi_TriBeta_2018_20180317.jpg +0 -0
- package/_gh_pages/assets/images/Shin_SCCUR_2017.jpg +0 -0
- package/{documents/manuscripts/peerj-computerscience-2016/figures/submitted-versions/Figure1_zoom145_900pix-wide.png → _gh_pages/assets/images/demo-3_network-sheet.png} +0 -0
- package/{documents/manuscripts/peerj-computerscience-2016/figures/submitted-versions/Figure2_zoom145_900pix-wide.png → _gh_pages/assets/images/demo-4_network-optimized-weights-sheet.png} +0 -0
- package/_gh_pages/assets/images/gene-pages-0.png +0 -0
- package/_gh_pages/assets/images/gene-pages-1.png +0 -0
- package/_gh_pages/assets/images/gene-pages-2.png +0 -0
- package/_gh_pages/assets/images/gene-pages-3.png +0 -0
- package/_gh_pages/assets/images/grnsight2020.png +0 -0
- package/_gh_pages/assets/images/v3demo2-grid+nodecoloring.png +0 -0
- package/_gh_pages/assets/images/v3demo2-nodecoloring.png +0 -0
- package/_gh_pages/assets/images/v3demo2.png +0 -0
- package/_gh_pages/assets/js/ga-report.js +11 -11
- package/_gh_pages/assets/js/iframeResizer.min.js +9 -0
- package/_gh_pages/assets/js/main.js +43 -43
- package/_gh_pages/beta.html +29 -24
- package/_gh_pages/contact.html +31 -31
- package/_gh_pages/coverage/coverage.json +1 -0
- package/_gh_pages/coverage/coverage.raw.json +1 -0
- package/_gh_pages/coverage/lcov-report/base.css +223 -0
- package/_gh_pages/coverage/lcov-report/block-navigation.js +63 -0
- package/_gh_pages/coverage/lcov-report/controllers/additional-sheet-parser.js.html +330 -0
- package/_gh_pages/coverage/lcov-report/controllers/constants.js.html +243 -0
- package/_gh_pages/coverage/lcov-report/controllers/export-controller.js.html +285 -0
- package/_gh_pages/coverage/lcov-report/controllers/exporters/graphml.js.html +405 -0
- package/_gh_pages/coverage/lcov-report/controllers/exporters/index.html +110 -0
- package/_gh_pages/coverage/lcov-report/controllers/exporters/sif.js.html +150 -0
- package/_gh_pages/coverage/lcov-report/controllers/helpers.js.html +114 -0
- package/_gh_pages/coverage/lcov-report/controllers/import-controller.js.html +233 -0
- package/_gh_pages/coverage/lcov-report/controllers/importers/graphml.js.html +716 -0
- package/_gh_pages/coverage/lcov-report/controllers/importers/index.html +106 -0
- package/_gh_pages/coverage/lcov-report/controllers/importers/sif.js.html +488 -0
- package/_gh_pages/coverage/lcov-report/controllers/index.html +162 -0
- package/_gh_pages/coverage/lcov-report/controllers/semantic-checker.js.html +810 -0
- package/_gh_pages/coverage/lcov-report/controllers/spreadsheet-controller.js.html +1779 -0
- package/_gh_pages/coverage/lcov-report/index.html +136 -0
- package/_gh_pages/coverage/lcov-report/prettify.css +1 -0
- package/_gh_pages/coverage/lcov-report/prettify.js +1 -0
- package/_gh_pages/coverage/lcov-report/server/controllers/additional-sheet-parser.js.html +330 -0
- package/_gh_pages/coverage/lcov-report/server/controllers/constants.js.html +243 -0
- package/_gh_pages/coverage/lcov-report/server/controllers/export-controller.js.html +285 -0
- package/_gh_pages/coverage/lcov-report/server/controllers/exporters/graphml.js.html +405 -0
- package/_gh_pages/coverage/lcov-report/server/controllers/exporters/index.html +110 -0
- package/_gh_pages/coverage/lcov-report/server/controllers/exporters/sif.js.html +150 -0
- package/_gh_pages/coverage/lcov-report/server/controllers/graphml-constants.js.html +585 -0
- package/_gh_pages/coverage/lcov-report/server/controllers/helpers.js.html +114 -0
- package/_gh_pages/coverage/lcov-report/server/controllers/import-controller.js.html +237 -0
- package/_gh_pages/coverage/lcov-report/server/controllers/importers/graphml.js.html +585 -0
- package/_gh_pages/coverage/lcov-report/server/controllers/importers/index.html +110 -0
- package/_gh_pages/coverage/lcov-report/server/controllers/importers/sif.js.html +492 -0
- package/_gh_pages/coverage/lcov-report/server/controllers/index.html +188 -0
- package/_gh_pages/coverage/lcov-report/server/controllers/semantic-checker.js.html +810 -0
- package/_gh_pages/coverage/lcov-report/server/controllers/spreadsheet-controller.js.html +1779 -0
- package/_gh_pages/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/_gh_pages/coverage/lcov-report/sorter.js +158 -0
- package/_gh_pages/coverage/lcov-report/web-client/public/js/grnstate.js.html +225 -0
- package/_gh_pages/coverage/lcov-report/web-client/public/js/index.html +97 -0
- package/_gh_pages/coverage/lcov.info +49 -0
- package/_gh_pages/documentation.html +998 -320
- package/_gh_pages/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.aux +47 -0
- package/_gh_pages/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.bbl +73 -0
- package/_gh_pages/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.blg +52 -0
- package/_gh_pages/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.log +1056 -0
- package/_gh_pages/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.out +7 -0
- package/_gh_pages/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.synctex.gz +0 -0
- package/_gh_pages/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_manuscript_2016_text-only_revised-Dondi.docx +0 -0
- package/_gh_pages/encryption/server.cert +21 -0
- package/_gh_pages/encryption/server.key +28 -0
- package/_gh_pages/favicon.ico +0 -0
- package/_gh_pages/index.html +45 -22
- package/_gh_pages/links.html +47 -28
- package/_gh_pages/news.html +103 -21
- package/_gh_pages/onlyfooter.html +78 -0
- package/_gh_pages/onlyheader.html +64 -0
- package/_gh_pages/onlysidebar.html +73 -0
- package/_gh_pages/package-lock.json +14048 -0
- package/_gh_pages/people.html +129 -40
- package/_gh_pages/privacy.html +23 -17
- package/_gh_pages/publications.html +75 -33
- package/_gh_pages/robots.txt +1 -0
- package/_gh_pages/sitemap.xml +87 -74
- package/_gh_pages/test-files/import-samples/attributes.graphml +40 -0
- package/_gh_pages/test-files/import-samples/port.graphml +32 -0
- package/_gh_pages/test-files/import-samples/simple.graphml +31 -0
- package/_gh_pages/web-client/public/js/grnsight.min.js +2347 -0
- package/_gh_pages/web-client/public/stylesheets/grnsight.css +443 -0
- package/coverage/coverage.json +1 -1
- package/coverage/coverage.raw.json +1 -0
- package/coverage/lcov-report/base.css +18 -8
- package/coverage/lcov-report/block-navigation.js +63 -0
- package/coverage/lcov-report/controllers/additional-sheet-parser.js.html +330 -0
- package/coverage/lcov-report/controllers/constants.js.html +65 -61
- package/coverage/lcov-report/controllers/export-controller.js.html +96 -92
- package/coverage/lcov-report/controllers/exporters/graphml.js.html +168 -164
- package/coverage/lcov-report/controllers/exporters/index.html +36 -32
- package/coverage/lcov-report/controllers/exporters/sif.js.html +65 -61
- package/coverage/lcov-report/controllers/helpers.js.html +25 -21
- package/coverage/lcov-report/controllers/index.html +49 -45
- package/coverage/lcov-report/controllers/semantic-checker.js.html +403 -396
- package/coverage/lcov-report/controllers/spreadsheet-controller.js.html +973 -879
- package/coverage/lcov-report/index.html +45 -28
- package/coverage/lcov-report/server/controllers/additional-sheet-parser.js.html +330 -0
- package/coverage/lcov-report/server/controllers/constants.js.html +243 -0
- package/coverage/lcov-report/server/controllers/export-controller.js.html +285 -0
- package/coverage/lcov-report/server/controllers/exporters/graphml.js.html +405 -0
- package/coverage/lcov-report/server/controllers/exporters/index.html +110 -0
- package/coverage/lcov-report/server/controllers/exporters/sif.js.html +150 -0
- package/coverage/lcov-report/server/controllers/graphml-constants.js.html +585 -0
- package/coverage/lcov-report/server/controllers/helpers.js.html +114 -0
- package/coverage/lcov-report/server/controllers/import-controller.js.html +237 -0
- package/coverage/lcov-report/server/controllers/importers/graphml.js.html +585 -0
- package/coverage/lcov-report/server/controllers/importers/index.html +110 -0
- package/coverage/lcov-report/server/controllers/importers/sif.js.html +492 -0
- package/coverage/lcov-report/server/controllers/index.html +188 -0
- package/coverage/lcov-report/server/controllers/semantic-checker.js.html +810 -0
- package/coverage/lcov-report/server/controllers/spreadsheet-controller.js.html +1779 -0
- package/coverage/lcov-report/web-client/public/js/grnstate.js.html +225 -0
- package/coverage/lcov-report/web-client/public/js/index.html +97 -0
- package/coverage/lcov.info +1758 -876
- package/encryption/server.cert +21 -0
- package/encryption/server.key +28 -0
- package/package.json +46 -22
- package/server/app.js +6 -2
- package/server/config/config.js +16 -7
- package/server/controllers/additional-sheet-parser.js +292 -55
- package/server/controllers/api-controllers.js +36 -0
- package/server/controllers/constants.js +4 -37
- package/server/controllers/database-controller.js +129 -0
- package/server/controllers/demo-workbooks.js +5973 -0
- package/server/controllers/export-constants.js +78 -0
- package/server/controllers/export-controller.js +25 -3
- package/server/controllers/exporters/graphml.js +15 -15
- package/server/controllers/exporters/sif.js +7 -7
- package/server/controllers/exporters/xlsx.js +183 -0
- package/server/controllers/expression-sheet-parser.js +170 -0
- package/server/controllers/ga-controller.js +1 -1
- package/server/controllers/graphml-constants.js +0 -17
- package/server/controllers/helpers.js +25 -1
- package/server/controllers/import-controller.js +2 -2
- package/server/controllers/importers/graphml.js +17 -20
- package/server/controllers/importers/sif.js +22 -18
- package/server/controllers/network-sheet-parser.js +307 -0
- package/server/controllers/semantic-checker.js +30 -162
- package/server/controllers/sif-constants.js +36 -0
- package/server/controllers/spreadsheet-controller.js +277 -424
- package/server/controllers/workbook-constants.js +521 -0
- package/test/additional-sheet-parser-tests.js +147 -38
- package/test/api-tests.js +245 -0
- package/test/errors-adjacency-matrix-modifications.js +30 -29
- package/test/errors-gene-name-modifications.js +9 -0
- package/test/errors-graph-tests.js +4 -4
- package/test/errors-sheet-modifications.js +10 -2
- package/test/export-tests.js +431 -24
- package/test/expression-data-import-tests.js +113 -0
- package/test/grnstate-tests.js +29 -0
- package/test/import-graphml-tests.js +59 -40
- package/test/import-sif-tests.js +50 -37
- package/test/test.js +557 -93
- package/test/warnings-adjacency-matrix-modifications.js +8 -7
- package/test-files/additional-sheet-test-files/optimization-diagnostics-default.xlsx +0 -0
- package/test-files/additional-sheet-test-files/optimization-diagnostics-extraneous-data.xlsx +0 -0
- package/test-files/additional-sheet-test-files/optimization-diagnostics-incorrect-MSE-gene-header.xlsx +0 -0
- package/test-files/additional-sheet-test-files/optimization-diagnostics-incorrect-MSE-header.xlsx +0 -0
- package/test-files/additional-sheet-test-files/optimization-diagnostics-incorrect-column-headers.xlsx +0 -0
- package/test-files/additional-sheet-test-files/optimization-diagnostics-invalid-MSE-data.xlsx +0 -0
- package/test-files/additional-sheet-test-files/optimization-diagnostics-invalid-value.xlsx +0 -0
- package/test-files/additional-sheet-test-files/optimization-diagnostics-missing-MSE-data.xlsx +0 -0
- package/test-files/additional-sheet-test-files/optimization-diagnostics-missing-column-headers.xlsx +0 -0
- package/test-files/additional-sheet-test-files/optimization-diagnostics-missing-header.xlsx +0 -0
- package/test-files/additional-sheet-test-files/optimization-diagnostics-unknown-parameter.xlsx +0 -0
- package/test-files/additional-sheet-test-files/optimization-parameters-default.xlsx +0 -0
- package/test-files/additional-sheet-test-files/optimization-parameters-incorrect-headers.xlsx +0 -0
- package/test-files/additional-sheet-test-files/optimization-parameters-invalid-optimization-parameter.xlsx +0 -0
- package/test-files/additional-sheet-test-files/optimization-parameters-missing-headers.xlsx +0 -0
- package/test-files/additional-sheet-test-files/optimization-parameters-unknown-parameter.xlsx +0 -0
- package/test-files/additional-sheet-test-files/two-column-sheets-extraneous-data.xlsx +0 -0
- package/test-files/additional-sheet-test-files/two-column-sheets-incorrect-cell-A1.xlsx +0 -0
- package/test-files/additional-sheet-test-files/two-column-sheets-incorrect-column-header.xlsx +0 -0
- package/test-files/additional-sheet-test-files/two-column-sheets-invalid-gene-length.xlsx +0 -0
- package/test-files/additional-sheet-test-files/two-column-sheets-invalid-gene-type.xlsx +0 -0
- package/test-files/additional-sheet-test-files/two-column-sheets-invalid-value.xlsx +0 -0
- package/test-files/additional-sheet-test-files/two-column-sheets-missing-column-header.xlsx +0 -0
- package/test-files/additional-sheet-test-files/two-column-sheets-special-character.xlsx +0 -0
- package/test-files/adjacency-matrix-modifications/asymmetric-gene-order-input.xlsx +0 -0
- package/test-files/adjacency-matrix-modifications/asymmetric-gene-order-output.xlsx +0 -0
- package/test-files/adjacency-matrix-modifications/extra-column-adjacent-input.xlsx +0 -0
- package/test-files/adjacency-matrix-modifications/extra-column-adjacent-output.xlsx +0 -0
- package/test-files/adjacency-matrix-modifications/extra-column-end-of-sheet-input.xlsx +0 -0
- package/test-files/adjacency-matrix-modifications/extra-column-end-of-sheet-output.xlsx +0 -0
- package/test-files/adjacency-matrix-modifications/extra-data-random-cell-both-output.xlsx +0 -0
- package/test-files/adjacency-matrix-modifications/extra-data-random-cell-network-only-input.xlsx +0 -0
- package/test-files/adjacency-matrix-modifications/extra-data-random-cell-network-only-output.xlsx +0 -0
- package/test-files/adjacency-matrix-modifications/extra-data-random-cell-network-optimized-only-output.xlsx +0 -0
- package/test-files/adjacency-matrix-modifications/extra-row-end-of-sheet-input.xlsx +0 -0
- package/test-files/adjacency-matrix-modifications/extra-row-end-of-sheet-output.xlsx +0 -0
- package/test-files/adjacency-matrix-modifications/incorrect-network-cell-A1.xlsx +0 -0
- package/test-files/adjacency-matrix-modifications/missing-column-end-input.xlsx +0 -0
- package/test-files/adjacency-matrix-modifications/missing-column-end-output.xlsx +0 -0
- package/test-files/adjacency-matrix-modifications/missing-data-input.xlsx +0 -0
- package/test-files/adjacency-matrix-modifications/missing-data-output.xlsx +0 -0
- package/test-files/adjacency-matrix-modifications/missing-row-end-input.xlsx +0 -0
- package/test-files/adjacency-matrix-modifications/missing-row-end-output.xlsx +0 -0
- package/test-files/adjacency-matrix-modifications/missing-row-middle-input.xlsx +0 -0
- package/test-files/adjacency-matrix-modifications/missing-row-middle-output.xlsx +0 -0
- package/test-files/adjacency-matrix-modifications/missing-value-bottom-corner-input.xlsx +0 -0
- package/test-files/adjacency-matrix-modifications/missing-value-bottom-corner-output.xlsx +0 -0
- package/test-files/adjacency-matrix-modifications/value-replaced-w-spaces-both-output.xlsx +0 -0
- package/test-files/adjacency-matrix-modifications/value-replaced-w-spaces-net-only-input.xlsx +0 -0
- package/test-files/adjacency-matrix-modifications/value-replaced-w-spaces-net-op-only-output.xlsx +0 -0
- package/test-files/adjacency-matrix-modifications/value-replaced/342/200/223w-spaces-net-only-output.xlsx +0 -0
- package/test-files/demo-files/15-genes_28-edges_db5_Dahlquist-data_estimation_output.xlsx +0 -0
- package/test-files/demo-files/15-genes_28-edges_db5_Dahlquist-data_input.xlsx +0 -0
- package/test-files/expression-data-test-sheets/expression_sheet_correct_numbering.xlsx +0 -0
- package/test-files/expression-data-test-sheets/expression_sheet_different_number_of_columns.xlsx +0 -0
- package/test-files/expression-data-test-sheets/expression_sheet_empty_column.xlsx +0 -0
- package/test-files/expression-data-test-sheets/expression_sheet_empty_row.xlsx +0 -0
- package/test-files/expression-data-test-sheets/expression_sheet_erroneous_data.xlsx +0 -0
- package/test-files/expression-data-test-sheets/expression_sheet_extra_gene_name.xlsx +0 -0
- package/test-files/expression-data-test-sheets/expression_sheet_incorrectly_ordered_time_points.xlsx +0 -0
- package/test-files/expression-data-test-sheets/expression_sheet_mismatched_case_gene_names.xlsx +0 -0
- package/test-files/expression-data-test-sheets/expression_sheet_mismatched_gene_names.xlsx +0 -0
- package/test-files/expression-data-test-sheets/expression_sheet_missing_column_header.xlsx +0 -0
- package/test-files/expression-data-test-sheets/expression_sheet_missing_data_error.xlsx +0 -0
- package/test-files/expression-data-test-sheets/expression_sheet_missing_data_ok.xlsx +0 -0
- package/test-files/expression-data-test-sheets/expression_sheet_missing_data_ok_export_exact.xlsx +0 -0
- package/test-files/expression-data-test-sheets/expression_sheet_missing_gene_name.xlsx +0 -0
- package/test-files/expression-data-test-sheets/expression_sheet_name_not_in_optparams.xlsx +0 -0
- package/test-files/expression-data-test-sheets/expression_sheet_name_not_present.xlsx +0 -0
- package/test-files/expression-data-test-sheets/expression_sheet_negative_time_points.xlsx +0 -0
- package/test-files/expression-data-test-sheets/expression_sheet_non_numerical_time_points.xlsx +0 -0
- package/test-files/expression-data-test-sheets/expression_sheet_not_existing.xlsx +0 -0
- package/test-files/expression-data-test-sheets/expression_sheet_wrong_id_label.xlsx +0 -0
- package/test-files/expression-data-test-sheets/expression_sheet_wrong_order_gene_names.xlsx +0 -0
- package/test-files/expression-data-test-sheets/expression_sheet_wrong_sheet_name_case.xlsx +0 -0
- package/test-files/expression-data-test-sheets/expression_sheet_wrong_sheet_name_convention.xlsx +0 -0
- package/test-files/gene-name-modifications/NaN-as-gene-name-input.xlsx +0 -0
- package/test-files/gene-name-modifications/NaN-as-gene-name-output.xlsx +0 -0
- package/test-files/gene-name-modifications/mismatched-case-related-input.xlsx +0 -0
- package/test-files/gene-name-modifications/mismatched-case-related-output.xlsx +0 -0
- package/test-files/gene-name-modifications/mismatched-case-unrelated-input.xlsx +0 -0
- package/test-files/gene-name-modifications/mismatched-case-unrelated-output.xlsx +0 -0
- package/test-files/gene-name-modifications/numbers-as-gene-name-related-input.xlsx +0 -0
- package/test-files/gene-name-modifications/numbers-as-gene-name-related-output.xlsx +0 -0
- package/test-files/gene-name-modifications/numbers-as-gene-name-unrelated-input.xlsx +0 -0
- package/test-files/gene-name-modifications/numbers-as-gene-name-unrelated-output.xlsx +0 -0
- package/test-files/graph-tests/different-sized-networks/{80-genes-0-edges.xlsx → 134-genes-0-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{45-genes-max-edges.xlsx → 44-source-genes-45-target-genes-max-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{1-gene-0-edges.xlsx → unused-files/1-gene-0-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{1-gene-1-edges.xlsx → unused-files/1-gene-1-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{10-genes-50-edges.xlsx → unused-files/10-genes-50-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{10-genes-90-edges.xlsx → unused-files/10-genes-90-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{100-genes-0-edges.xlsx → unused-files/100-genes-0-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{110-genes-0-edges.xlsx → unused-files/110-genes-0-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{120-genes-0-edges.xlsx → unused-files/120-genes-0-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{130-genes-0-edges.xlsx → unused-files/130-genes-0-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{140-genes-0-edges.xlsx → unused-files/140-genes-0-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{150-genes-10000-edges.xlsx → unused-files/150-genes-10000-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{150-genes-20000-edges.xlsx → unused-files/150-genes-20000-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{150-genes-max-edges.xlsx → unused-files/150-genes-max-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{160-genes-max-edges.xlsx → unused-files/160-genes-max-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{20-genes-max-edges.xlsx → unused-files/20-genes-max-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{25-genes-max-edges.xlsx → unused-files/25-genes-max-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{30-genes-max-edges.xlsx → unused-files/30-genes-max-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{34-genes-0-edges.xlsx → unused-files/34-genes-0-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{34-genes-40-edges.xlsx → unused-files/34-genes-40-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{34-genes-65-edges.xlsx → unused-files/34-genes-65-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{34-genes-90-edges.xlsx → unused-files/34-genes-90-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{5-genes-max-edges.xlsx → unused-files/5-genes-max-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{51-genes-max-edges.xlsx → unused-files/51-genes-max-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{52-genes-max-edges.xlsx → unused-files/52-genes-max-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{55-genes-0-edges.xlsx → unused-files/55-genes-0-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{55-genes-max-edges.xlsx → unused-files/55-genes-max-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{65-genes-0-edges.xlsx → unused-files/65-genes-0-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{7-genes-max-edges.xlsx → unused-files/7-genes-max-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{70-genes-0-edges.xlsx → unused-files/70-genes-0-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{9-genes-max-edges.xlsx → unused-files/9-genes-max-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{90-genes-0-edges.xlsx → unused-files/90-genes-0-edges.xlsx} +0 -0
- package/test-files/graph-tests/different-sized-networks/{regulation-matrix-documented-20140709-AllTF-all-targets.xlsx → unused-files/regulation-matrix-documented-20140709-AllTF-all-targets.xlsx} +0 -0
- package/test-files/node-tests/long-gene-name-no-spaces-first.xlsx +0 -0
- package/test-files/node-tests/long-gene-name-no-spaces-second.xlsx +0 -0
- package/test-files/node-tests/long-gene-name-spaces.xlsx +0 -0
- package/test-files/species-test-data/15-genes_28-edges_db5_Dahlquist-data_input_no-species.xlsx +0 -0
- package/test-files/species-test-data/15-genes_28-edges_db5_Dahlquist-data_input_with-species.xlsx +0 -0
- package/test-files/species-test-data/3-gene_7-edge_elegans.xlsx +0 -0
- package/test-files/species-test-data/3-gene_7-edge_melanogaster.xlsx +0 -0
- package/test-files/species-test-data/3-gene_7-edge_musculus.xlsx +0 -0
- package/test-files/species-test-data/3-gene_7-edge_sapiens.xlsx +0 -0
- package/test-files/species-test-data/kev-fake-data-sapiens-no-exp-data.xlsx +0 -0
- package/test-files/spreadsheet-controller-test-files/sheet-name-capitalized-network-optimized-weights.xlsx +0 -0
- package/test-files/spreadsheet-controller-test-files/sheet-name-capitalized-network.xlsx +0 -0
- package/web-client/app.js +1 -1
- package/web-client/config/config.js +5 -5
- package/web-client/controllers/main.js +5 -1
- package/web-client/public/favicon.ico +0 -0
- package/web-client/public/gene/GRNSight.svg +689 -0
- package/web-client/public/gene/PageDesignREADME.md +1 -0
- package/web-client/public/gene/api.js +442 -0
- package/web-client/public/gene/info.css +181 -0
- package/web-client/public/gene/info.js +334 -0
- package/web-client/public/gene/integrationREADME.md +52 -0
- package/web-client/public/js/constants.js +182 -0
- package/web-client/public/js/getGeneInformationREADME.md +4 -0
- package/web-client/public/js/graph-statistics.js +7 -7
- package/web-client/public/js/graph.js +480 -476
- package/web-client/public/js/grnsight.js +10 -9
- package/web-client/public/js/grnsight.min.js +2335 -0
- package/web-client/public/js/grnstate.js +147 -0
- package/web-client/public/js/iframe-coordination.js +55 -0
- package/web-client/public/js/setup-handlers.js +617 -0
- package/web-client/public/js/setup-load-and-import-handlers.js +180 -0
- package/web-client/public/js/update-app.js +980 -0
- package/web-client/public/js/upload.js +352 -578
- package/web-client/public/js/warnings.js +60 -0
- package/web-client/public/lib/iframeSizer.contentWindow.min.js +10 -0
- package/{documents/SDF/CMSI_402/spring_2018/writtenStatusReport4 → web-client/public/lib/jaspar-front.html} +0 -0
- package/web-client/public/stylesheets/grnsight.styl +176 -26
- package/web-client/public/stylesheets/print.styl +10 -4
- package/web-client/views/{graph.jade → graph.pug} +1 -3
- package/web-client/views/info.pug +215 -0
- package/web-client/views/upload.pug +587 -0
- package/_gh_pages/Gemfile +0 -7
- package/_gh_pages/Gemfile.lock +0 -129
- package/documents/SDF/CMSI_402/spring_2014/Southwick_CMSI402_Spring2014_software-development-plan.md +0 -71
- package/documents/SDF/CMSI_402/spring_2014/Southwick_CMSI402_Spring2014_software-requirements-specification.md +0 -71
- package/documents/SDF/CMSI_402/spring_2014/use-case-diagram-spring-2014.jpg +0 -0
- package/documents/SDF/CMSI_402/spring_2017/Anguiano_402_Final_Presentation.pptx +0 -0
- package/documents/SDF/CMSI_402/spring_2017/Anguiano_402_Presentation_Final_Poster.pdf +0 -0
- package/documents/SDF/CMSI_402/spring_2017/Anguiano_CMSI402_Spring2017_project-proposal-presentation.pptx +0 -0
- package/documents/SDF/CMSI_402/spring_2017/Anguiano_CMSI402_Spring2017_project-proposal.docx +0 -0
- package/documents/SDF/CMSI_402/spring_2017/Anguiano_CMSI402_Spring2017_software-development-plan.docx +0 -0
- package/documents/SDF/CMSI_402/spring_2017/Anguiano_CMSI402_Spring2017_software-requirements-specification.docx +0 -0
- package/documents/SDF/CMSI_402/spring_2017/Design Review Presentation.pptx +0 -0
- package/documents/SDF/CMSI_402/spring_2018/0402report.docx +0 -0
- package/documents/SDF/CMSI_402/spring_2018/0409report.docx +0 -0
- package/documents/SDF/CMSI_402/spring_2018/402-gantt.png +0 -0
- package/documents/SDF/CMSI_402/spring_2018/402SRS_GRNSightFeedback01.txt +0 -28
- package/documents/SDF/CMSI_402/spring_2018/402_SPD.md +0 -223
- package/documents/SDF/CMSI_402/spring_2018/ChoeShinCMSI402_Final.pptx +0 -0
- package/documents/SDF/CMSI_402/spring_2018/ProjectProposal.md +0 -22
- package/documents/SDF/CMSI_402/spring_2018/SoftwareRequirementsSpecification.md +0 -88
- package/documents/SDF/CMSI_402/spring_2018/homework/choe_eileen/Choe_Eileen_CMSI 402_HW1.pdf +0 -0
- package/documents/SDF/CMSI_402/spring_2018/homework/choe_eileen/Choe_Eileen_CMSI402_HW2.pdf +0 -0
- package/documents/SDF/CMSI_402/spring_2018/homework/shin_jen/402hw2.docx +0 -0
- package/documents/SDF/CMSI_402/spring_2018/homework/shin_jen/Jen - 402Hw1.docx +0 -0
- package/documents/SDF/CMSI_402/spring_2018/homework/shin_jen/Jen - hw3.docx +0 -0
- package/documents/SDF/CMSI_402/spring_2018/writtenStatusReport.docx +0 -0
- package/documents/Varshneya_Samdarshi_LMU_Symposium_2016.pptx +0 -0
- package/documents/abstracts/Anguiano_Varshneya_Undergraduate-Research-Symposium_2017_abstract.pdf +0 -0
- package/documents/abstracts/SIGGRAPH 2017 Abstract/ACM-Reference-Format.bst +0 -3478
- package/documents/abstracts/SIGGRAPH 2017 Abstract/Figure1_zoom100.png +0 -0
- package/documents/abstracts/SIGGRAPH 2017 Abstract/acmart.cls +0 -2352
- package/documents/abstracts/SIGGRAPH 2017 Abstract/acmart.ins +0 -29
- package/documents/abstracts/SIGGRAPH 2017 Abstract/always-weights.png +0 -0
- package/documents/abstracts/SIGGRAPH 2017 Abstract/auto.png +0 -0
- package/documents/abstracts/SIGGRAPH 2017 Abstract/networkA.png +0 -0
- package/documents/abstracts/SIGGRAPH 2017 Abstract/networkB-normalized.png +0 -0
- package/documents/abstracts/SIGGRAPH 2017 Abstract/networkB.png +0 -0
- package/documents/abstracts/SIGGRAPH 2017 Abstract/never-weights.png +0 -0
- package/documents/abstracts/SIGGRAPH 2017 Abstract/representative-image/screenshot.jpg +0 -0
- package/documents/abstracts/SIGGRAPH 2017 Abstract/representative-image/screenshot3x2.png +0 -0
- package/documents/abstracts/SIGGRAPH 2017 Abstract/representative-image/withweights3x2.png +0 -0
- package/documents/abstracts/SIGGRAPH 2017 Abstract/screenshot-auto.png +0 -0
- package/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.bib +0 -85
- package/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.pdf +0 -0
- package/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.tex +0 -235
- package/documents/abstracts/SWE Collegiate Competition 2017.md +0 -9
- package/documents/abstracts/Varshneya_Samdarshi_Southern-California-Systems-Biology_2017_abstract.docx +0 -0
- package/documents/developer_documents/State Diagram.graphml +0 -3525
- package/documents/developer_documents/graphml/State Diagram.graphml +0 -3115
- package/documents/developer_documents/older_versions/GRNsight State Diagram old.png +0 -0
- package/documents/developer_documents/older_versions/GRNsight State Diagram.png +0 -0
- package/documents/developer_documents/testing_script_generator/GRNsightTestingDocument.md +0 -998
- package/documents/developer_documents/testing_script_generator/featureList.json +0 -486
- package/documents/developer_documents/testing_script_generator/testing-script-generator.js +0 -149
- package/documents/manuscripts/peerj-computerscience-2016/GRNsight_PeerJ-CS_conference-presentations_2016.docx +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/GRNsight_PeerJ-CS_manuscript_2016.docx +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/GRNsight_PeerJ-CS_manuscript_2016_Table1.docx +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/GRNsight_PeerJ-CS_manuscript_2016_references.rtf +0 -264
- package/documents/manuscripts/peerj-computerscience-2016/GRNsight_PeerJ-CS_manuscript_2016_text-only.docx +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/21-genes_31-edges_Schade-data_for-screenshots.xlsx +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure1_zoom100.jpg +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure1_zoom100.png +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure1_zoom100.psd +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure1_zoom145.jpg +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure1_zoom145.png +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure1_zoom145.psd +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure1_zoom145_900pix-wide.psd +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure2_zoom100.jpg +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure2_zoom100.png +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure2_zoom100.psd +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure2_zoom145.jpg +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure2_zoom145.png +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure2_zoom145.psd +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure2_zoom145_900pix-wide.psd +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure5A.pdf +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure5B.pdf +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure5C.eps +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure5D.pdf +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure5E.pdf +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure5F.eps +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure5_compiled.png +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/figures/submitted-versions/Figure3_GRNsight-Architecture.pdf +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/figures/submitted-versions/Figure4_GRNsight-Screenshot.pdf +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/figures/submitted-versions/Figure5_compiled.pdf +12 -5383
- package/documents/manuscripts/peerj-computerscience-2016/peerj-reviewing-10823-v0.pdf +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_conference-presentations_2016_revised.docx +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_cover-letter-and-response_2016.pdf +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_cover-letter_2016.docx +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_cover-letter_2016.pdf +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_manuscript_2016_Table1.docx +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_manuscript_2016_references_revised.rtf +0 -385
- package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_manuscript_2016_text-only_revised.docx +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_manuscript_2016_text-only_revised_marked.docx +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_response-to-reviewers_2016.docx +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_response-to-reviewers_2016.pdf +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/revisions/figures/Figure3_GRNsight-Architecture.pdf +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/revisions/figures/Figure4_GRNsight-Screenshot-auto.pdf +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/revisions/figures/Figure4_GRNsight-Screenshot.pdf +0 -0
- package/documents/manuscripts/peerj-computerscience-2016/revisions/peerj-reviewing-10823-v1.pdf +0 -0
- package/documents/posters/Anguiano_402_Presentation_Draft_Poster.pdf +0 -0
- package/documents/posters/Anguiano_402_Presentation_Draft_Poster.pptx +0 -0
- package/documents/posters/Anguiano_Varshneya_LMU-Symposium_2015_poster.pptx +0 -0
- package/documents/posters/Anguiano_Varshneya_SCCUR-Poster_20141122_poster.pptx +0 -0
- package/documents/posters/ChoeShinCMSI402-2.pptx +0 -0
- package/documents/posters/ChoeShinCMSI402.pptx +0 -0
- package/documents/posters/ChoeShinCMSI402Final.pptx +0 -0
- package/documents/posters/Dahlquist-et-al_BOSC_ISMB_2016_poster.pptx +0 -0
- package/documents/posters/Samdarshi et al. LMU Symposium 2017-finalDraft.pptx +0 -0
- package/documents/posters/Samdarshi et al. LMU Symposium 2018-firstDraft.pptx +0 -0
- package/documents/posters/Shin et al. SCCUR 2017 FinalDraft.pptx +0 -0
- package/documents/posters/Southwick_CMSI402_2014_poster.pptx +0 -0
- package/documents/posters/Varshneya_Samdarshi_LMU-Symposium_2016_poster.pptx +0 -0
- package/documents/posters/Varshneya_Samdarshi_Southern-California-Systems-Biology-Conference_2017_poster.pptx +0 -0
- package/documents/posters/~$Samdarshi et al. LMU Symposium 2018-firstDraft.pptx +0 -0
- package/documents/presentations/Anguiano_402_Final_Presentation.pptx +0 -0
- package/documents/presentations/Choe_SCCUR2017.pptx +0 -0
- package/documents/presentations/Choe_SWERapidFire2017_final.pptx +0 -0
- package/documents/presentations/Dahlquist_BOSC_20160709.pptx +0 -0
- package/documents/presentations/Dahlquist_ExperimentalBiology_20160404_talk.pptx +0 -0
- package/documents/presentations/Dahlquist_SoCalSysBio_20150131_talk.pptx +0 -0
- package/documents/presentations/Samdarshi et al. LMU Symposium 2017-draft.pptx +0 -0
- package/documents/presentations/Southwick_Anguiano_LMU-Symposium_20140329_talk.pptx +0 -0
- package/documents/presentations/Southwick_CMSI402_Presentation_20140508_talk.pptx +0 -0
- package/documents/presentations/Varshneya-Anguiano-LMU Symposium-201703.pptx +0 -0
- package/documents/presentations/~$Choe_SWERapidFire2017_final.pptx +0 -0
- package/documents/reports/Varshneya-201701-AnnotatedBibliography.docx +0 -0
- package/documents/reports/Varshneya-201702-Introduction.docx +0 -0
- package/documents/reports/Varshneya-201702-Outline.docx +0 -0
- package/documents/reports/Varshneya-201703-Discussion.docx +0 -0
- package/documents/reports/Varshneya-201703-MMResults.docx +0 -0
- package/documents/reports/Varshneya-201704-Draft-1.docx +0 -0
- package/documents/reports/Varshneya-201704-Final.docx +0 -0
- package/test/graph-library-tests.js +0 -165
- package/test-files/demo-files/21-genes_50-edges_Dahlquist-data_estimation_output.xlsx +0 -0
- package/test-files/demo-files/21-genes_50-edges_Dahlquist-data_input.xlsx +0 -0
- package/test-files/graph-tests/different-sized-networks/10-genes-max-edges.xlsx +0 -0
- package/test-files/graph-tests/different-sized-networks/12-genes-max-edges.xlsx +0 -0
- package/test-files/graph-tests/different-sized-networks/35-genes-max-edges.xlsx +0 -0
- package/test-files/graph-tests/different-sized-networks/40-genes-0-edges.xlsx +0 -0
- package/test-files/graph-tests/different-sized-networks/40-genes-max-edges.xlsx +0 -0
- package/test-files/graph-tests/different-sized-networks/42-genes-max-edges.xlsx +0 -0
- package/test-files/graph-tests/different-sized-networks/50-genes-max-edges.xlsx +0 -0
- package/test-files/graph-tests/different-sized-networks/75-genes-150-edges.xlsx +0 -0
- package/web-client/public/js/container.js +0 -121
- package/web-client/public/js/node-coloring.js +0 -306
- package/web-client/public/js/sliders.js +0 -197
- package/web-client/views/upload.jade +0 -458
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
(function () {
|
|
2
|
+
|
|
3
|
+
$(".sourceLink, button").click(function (event) {
|
|
4
|
+
event.preventDefault();
|
|
5
|
+
const anchorName = $(this).attr("data-target") + "Heading";
|
|
6
|
+
$("html, body").animate({scrollTop: $(anchorName).offset().top});
|
|
7
|
+
let currentButton = this;
|
|
8
|
+
window.setTimeout(function () {
|
|
9
|
+
/* I am exploiting Bootstrap's ARIA functionality for the
|
|
10
|
+
purposes of this application*/
|
|
11
|
+
let isOpen = $(currentButton).attr("aria-expanded") === "true";
|
|
12
|
+
if (isOpen) {
|
|
13
|
+
$(currentButton).removeAttr("data-toggle");
|
|
14
|
+
}
|
|
15
|
+
}, 200);
|
|
16
|
+
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
$(".accordionLink").click(function () {
|
|
20
|
+
let currentDataTarget = "button[data-target=\'" + $(this).attr("href") + "\']";
|
|
21
|
+
$(currentDataTarget).attr("data-toggle", "collapse");
|
|
22
|
+
|
|
23
|
+
window.setTimeout(function () {
|
|
24
|
+
let isOpen = $(currentDataTarget).attr("aria-expanded") === "true";
|
|
25
|
+
if (isOpen) {
|
|
26
|
+
$(currentDataTarget).removeAttr("data-toggle");
|
|
27
|
+
}
|
|
28
|
+
}, 200);
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
// object for gene page API calls
|
|
32
|
+
// Thank you https://gist.github.com/pirate/9298155edda679510723
|
|
33
|
+
const query = new URLSearchParams(location.search);
|
|
34
|
+
const obj = {
|
|
35
|
+
symbol: query.get("symbol"),
|
|
36
|
+
species: query.get("species"),
|
|
37
|
+
jaspar: query.get("jaspar"),
|
|
38
|
+
uniprot: query.get("uniprot"),
|
|
39
|
+
ensembl: query.get("ensembl"),
|
|
40
|
+
mine: query.get("mine")
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
document.title = "GRNsight - " + obj.symbol;
|
|
44
|
+
$("#gene-name").text(obj.symbol);
|
|
45
|
+
// This is cite used to find the parsing:
|
|
46
|
+
// https://stackoverflow.com/questions/8648892/convert-url-parameters-to-a-javascript-object
|
|
47
|
+
|
|
48
|
+
const api = window.api;
|
|
49
|
+
|
|
50
|
+
api.getGeneInformation(obj).done(function (gene) {
|
|
51
|
+
|
|
52
|
+
const locusTag = gene.ncbi.locusTag;
|
|
53
|
+
|
|
54
|
+
const sgdHrefTemplate = "https://www.yeastgenome.org/locus/";
|
|
55
|
+
const sgdId = gene.sgd.sgdID;
|
|
56
|
+
$(".sgd-link").text(sgdId);
|
|
57
|
+
if (sgdId !== "Not found") {
|
|
58
|
+
$(".sgd-link").attr({ href: sgdHrefTemplate + sgdId });
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const ncbiHrefTemplate = "https://www.ncbi.nlm.nih.gov/gene/";
|
|
62
|
+
const ncbiId = gene.ncbi.ncbiID;
|
|
63
|
+
$(".ncbi-link").text(ncbiId);
|
|
64
|
+
if (ncbiId !== "Not found") {
|
|
65
|
+
$(".ncbi-link").attr({ href: ncbiHrefTemplate + ncbiId });
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
const ensemblHrefTemplate = "https://www.ensembl.org/" + obj.species + "/Gene/Summary?g=";
|
|
69
|
+
const ensemblPlantHrefTemplate = "https://www.plants.ensembl.org/ " + obj.species + "/Gene/Summary?g=";
|
|
70
|
+
const ensemblId = locusTag;
|
|
71
|
+
// console.log("ensembl id: " + ensemblId)
|
|
72
|
+
$(".ensembl-link").text(ensemblId);
|
|
73
|
+
if (ensemblId !== "Not found") {
|
|
74
|
+
if ( obj.ensembl === "plant") {
|
|
75
|
+
$(".ensembl-link").attr({ href: ensemblPlantHrefTemplate + ensemblId });
|
|
76
|
+
} else {
|
|
77
|
+
$(".ensembl-link").attr({ href: ensemblHrefTemplate + ensemblId });
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
const uniprotHrefTemplate = "http://www.uniprot.org/uniprot/";
|
|
82
|
+
const uniprotId = gene.uniprot.uniprotID;
|
|
83
|
+
$(".uniprot-link").text(uniprotId);
|
|
84
|
+
if (uniprotId !== "Not found") {
|
|
85
|
+
$(".uniprot-link").attr({ href: uniprotHrefTemplate + uniprotId });
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const jasparHrefTemplate = "http://jaspar.genereg.net/matrix/";
|
|
89
|
+
const jasparId = gene.jaspar.jasparID;
|
|
90
|
+
$(".jaspar-link").text(jasparId);
|
|
91
|
+
if (jasparId !== "Not found") {
|
|
92
|
+
$(".jaspar-link").attr({ href: jasparHrefTemplate + jasparId });
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// General Information Section
|
|
96
|
+
const geneDescription = gene.sgd.description;
|
|
97
|
+
$(".geneDescription").text(geneDescription).attr({ href: sgdHrefTemplate + geneDescription });
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
const GRNSightSpecies = obj.species.replace("_", " "); // change to make species display work
|
|
101
|
+
$(".uniProtSpecies").text(GRNSightSpecies).attr({ href: uniprotHrefTemplate + GRNSightSpecies });
|
|
102
|
+
|
|
103
|
+
// This has been moved to top of function
|
|
104
|
+
$(".ncbiLocusTag").text(locusTag).attr({ href: ncbiHrefTemplate + locusTag });
|
|
105
|
+
|
|
106
|
+
const jasparClass = gene.jaspar.class;
|
|
107
|
+
$(".jasparClass").text(jasparClass).attr({ href: jasparHrefTemplate + jasparClass });
|
|
108
|
+
|
|
109
|
+
const jasparFam = gene.jaspar.family;
|
|
110
|
+
$(".jasparFamily").text(jasparFam).attr({ href: jasparHrefTemplate + jasparFam });
|
|
111
|
+
|
|
112
|
+
const ncbiChromosome = gene.ncbi.chromosomeSequence;
|
|
113
|
+
$(".chromosomeSequence").text(ncbiChromosome).attr({ href: ncbiHrefTemplate + ncbiChromosome });
|
|
114
|
+
|
|
115
|
+
// Protein Information
|
|
116
|
+
|
|
117
|
+
const uniprotProteinType = gene.uniprot.proteinType;
|
|
118
|
+
$(".proteinType").text(uniprotProteinType).attr({ href: uniprotHrefTemplate + uniprotProteinType });
|
|
119
|
+
|
|
120
|
+
const uniprotProteinSequence = gene.uniprot.proteinSequence;
|
|
121
|
+
if (uniprotProteinSequence !== "Not found") {
|
|
122
|
+
$(".proteinSequence").text(uniprotProteinSequence.replace(/\s/g, "")).attr({ href: uniprotHrefTemplate
|
|
123
|
+
+ uniprotProteinSequence });
|
|
124
|
+
} else {
|
|
125
|
+
$(".proteinSequence").text("Not found").attr({ href: uniprotHrefTemplate
|
|
126
|
+
+ uniprotProteinSequence });
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
// Regulation Information
|
|
131
|
+
const regulators = gene.regulators.regulators;
|
|
132
|
+
|
|
133
|
+
if (regulators !== "Not found") {
|
|
134
|
+
$(".regulators").append("<dl class=\"row regulatorsTable\"></dl>");
|
|
135
|
+
for (let k = 0; k < regulators.length; k++) {
|
|
136
|
+
$(".regulatorsTable").append("<dt class=\"col-xl-3\">" + regulators[k].regulator + "</dt>");
|
|
137
|
+
$(".regulatorsTable").append("<dd class=\"sgdSource col-xl-9\">"
|
|
138
|
+
+ regulators[k].regulationOf + "</dd>");
|
|
139
|
+
}
|
|
140
|
+
} else {
|
|
141
|
+
$(".regulators").text("Not found").attr({ class : "sgdSource col-sm-9"});
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
const targets = gene.regulators.targets;
|
|
146
|
+
|
|
147
|
+
if (targets !== "Not found") {
|
|
148
|
+
$(".targets").append("<dl class=\"row targetsTable\"></dl>");
|
|
149
|
+
for (let k = 0; k < targets.length; k++) {
|
|
150
|
+
$(".targetsTable").append("<dt class=\"col-xl-3\">" + targets[k].target + "</dt>");
|
|
151
|
+
$(".targetsTable").append("<dd class=\"sgdSource col-xl-9\">"
|
|
152
|
+
+ targets[k].regulationOf + "</dd>");
|
|
153
|
+
}
|
|
154
|
+
} else {
|
|
155
|
+
$(".targets").text("Not found").attr({ class : "sgdSource col-sm-9"});
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
// Interaction: Physical Reaction
|
|
161
|
+
|
|
162
|
+
const sgdInteractions = gene.sgd.totalInteractions;
|
|
163
|
+
$(".totalInteractions").text(sgdInteractions).attr({ href: sgdHrefTemplate + sgdInteractions });
|
|
164
|
+
|
|
165
|
+
const sgdAffinityCaptureMS = gene.sgd.affinityCaptureMS;
|
|
166
|
+
$(".affinityCaptureMS").text(sgdAffinityCaptureMS).attr({ href: sgdHrefTemplate + sgdAffinityCaptureMS });
|
|
167
|
+
|
|
168
|
+
const sgdAffinityCaptureRNA = gene.sgd.affinityCaptureRNA;
|
|
169
|
+
$(".affinityCaptureRNA").text(sgdAffinityCaptureRNA).attr({ href: sgdHrefTemplate + sgdAffinityCaptureRNA });
|
|
170
|
+
|
|
171
|
+
const sgdAffinityCaptureWesterns = gene.sgd.affinityCaptureWestern;
|
|
172
|
+
$(".affinityCaptureWestern").text(sgdAffinityCaptureWesterns).attr(
|
|
173
|
+
{ href: sgdHrefTemplate + sgdAffinityCaptureWesterns });
|
|
174
|
+
|
|
175
|
+
const sgdBiochemicalActivity = gene.sgd.biochemicalActivity;
|
|
176
|
+
$(".biochemicalActivity").text(sgdBiochemicalActivity).attr({ href: sgdHrefTemplate + sgdBiochemicalActivity });
|
|
177
|
+
|
|
178
|
+
const sgdColocalization = gene.sgd.colocalization;
|
|
179
|
+
$(".colocalization").text(sgdColocalization).attr({ href: sgdHrefTemplate + sgdColocalization });
|
|
180
|
+
|
|
181
|
+
const sgdReconstitutedComplex = gene.sgd.reconstitutedComplex;
|
|
182
|
+
$(".reconstitutedComplex").text(sgdReconstitutedComplex).attr(
|
|
183
|
+
{ href: sgdHrefTemplate + sgdReconstitutedComplex });
|
|
184
|
+
|
|
185
|
+
const sgdTwoHybrid = gene.sgd.twoHybrid;
|
|
186
|
+
$(".twoHybrid").text(sgdTwoHybrid).attr({ href: sgdHrefTemplate + sgdTwoHybrid });
|
|
187
|
+
|
|
188
|
+
// Genetic Interactions
|
|
189
|
+
|
|
190
|
+
const sgdDosage = gene.sgd.dosageRescue;
|
|
191
|
+
$(".dosageRescue").text(sgdDosage).attr({ href: sgdHrefTemplate + sgdDosage });
|
|
192
|
+
|
|
193
|
+
const sgdNegGen = gene.sgd.negativeGenetic;
|
|
194
|
+
$(".negativeGenetic").text(sgdNegGen).attr({ href: sgdHrefTemplate + sgdNegGen });
|
|
195
|
+
|
|
196
|
+
const sgdEnhance = gene.sgd.phenotypicEnhancement;
|
|
197
|
+
$(".phenotypicEnhancement").text(sgdEnhance).attr({ href: sgdHrefTemplate + sgdEnhance });
|
|
198
|
+
|
|
199
|
+
const sgdSuppress = gene.sgd.phenotypicSuppression;
|
|
200
|
+
$(".phenotypicSuppression").text(sgdSuppress).attr({ href: sgdHrefTemplate + sgdSuppress });
|
|
201
|
+
|
|
202
|
+
const sgdGrowthDefect = gene.sgd.syntheticGrowthDefect;
|
|
203
|
+
$(".syntheticGrowthDefect").text(sgdGrowthDefect).attr({ href: sgdHrefTemplate + sgdGrowthDefect });
|
|
204
|
+
|
|
205
|
+
const sgdHaploin = gene.sgd.syntheticHaploinsufficiency;
|
|
206
|
+
$(".syntheticHaploinsufficiency").text(sgdHaploin).attr({ href: sgdHrefTemplate + sgdHaploin });
|
|
207
|
+
|
|
208
|
+
const sgdLethality = gene.sgd.syntheticLethality;
|
|
209
|
+
$(".syntheticLethality").text(sgdLethality).attr({ href: sgdHrefTemplate + sgdLethality });
|
|
210
|
+
|
|
211
|
+
const sgdRescue = gene.sgd.syntheticRescue;
|
|
212
|
+
$(".syntheticRescue").text(sgdRescue).attr({ href: sgdHrefTemplate + sgdRescue });
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
// Gene Ontology
|
|
216
|
+
const sgdSummary = gene.sgd.geneOntologySummary;
|
|
217
|
+
$(".geneSummary").text(sgdSummary).attr({ href: sgdHrefTemplate + sgdSummary });
|
|
218
|
+
|
|
219
|
+
const molecularFunction = gene.geneOntology.molecularFunction;
|
|
220
|
+
let link;
|
|
221
|
+
if (molecularFunction !== "Not found") {
|
|
222
|
+
$(".molecularFunction").append("<dl class=\"row molecularFunctionTable\"></dl>");
|
|
223
|
+
for (let k = 0; k < molecularFunction.length; k++) {
|
|
224
|
+
link = "https://www.yeastgenome.org" + molecularFunction[k].link;
|
|
225
|
+
$(".molecularFunctionTable").append("<dd><a href=\"" + link
|
|
226
|
+
+ "\" class=\"col-xl-3\">" + molecularFunction[k].id + "</a></dd>");
|
|
227
|
+
$(".molecularFunctionTable").append("<dd class=\"sgdSource col-xl-9\">"
|
|
228
|
+
+ molecularFunction[k].displayName + "</dd>");
|
|
229
|
+
}
|
|
230
|
+
} else {
|
|
231
|
+
$(".molecularFunction").text("Not found").attr({ class : "sgdSource col-sm-9"});
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
let biologicalProcess = gene.geneOntology.biologicalProcess;
|
|
236
|
+
if (biologicalProcess !== "Not found") {
|
|
237
|
+
$(".biologicalProcess").append("<dl class=\"row biologicalProcessTable\"></dl>");
|
|
238
|
+
for (let k = 0; k < biologicalProcess.length; k++) {
|
|
239
|
+
link = "https://www.yeastgenome.org" + biologicalProcess[k].link;
|
|
240
|
+
$(".biologicalProcessTable").append("<dd><a href=\"" + link
|
|
241
|
+
+ "\" class=\"col-xl-3\">" + biologicalProcess[k].id + "</a></dd>");
|
|
242
|
+
$(".biologicalProcessTable").append("<dd class=\"sgdSource col-xl-9\">"
|
|
243
|
+
+ biologicalProcess[k].displayName + "</dd>");
|
|
244
|
+
}
|
|
245
|
+
} else {
|
|
246
|
+
$(".biologicalProcess").text("Not found").attr({ class : "sgdSource col-sm-9"});
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
let cellularComponent = gene.geneOntology.cellularComponent;
|
|
250
|
+
if (cellularComponent !== "Not found") {
|
|
251
|
+
$(".cellularComponent").append("<dl class=\" row cellularComponentTable\"></dl>");
|
|
252
|
+
for (let k = 0; k < cellularComponent.length; k++) {
|
|
253
|
+
link = "https://www.yeastgenome.org" + cellularComponent[k].link;
|
|
254
|
+
$(".cellularComponentTable").append("<dd><a href=\"" + link
|
|
255
|
+
+ "\" class=\"col-xl-3\">" + cellularComponent[k].id + "</a></dd>");
|
|
256
|
+
$(".cellularComponentTable").append("<dd class=\"sgdSource col-xl-9\">"
|
|
257
|
+
+ cellularComponent[k].displayName + "</dd>");
|
|
258
|
+
}
|
|
259
|
+
} else {
|
|
260
|
+
$(".cellularComponent").text("Not found").attr({ class : "sgdSource col-sm-9"});
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
// Fequency Matrix and Sequence Logo
|
|
265
|
+
const sequenceLogo = gene.jaspar.sequenceLogo;
|
|
266
|
+
if (sequenceLogo !== "Not found") {
|
|
267
|
+
$(".sequenceLogoImage").attr({ src : sequenceLogo });
|
|
268
|
+
} else {
|
|
269
|
+
$(".sequenceLogo").replaceWith("<p class=\"jasparSource\">Not found</p>");
|
|
270
|
+
$(".logo").removeClass("jasparSource");
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
const frequencyMatrix = gene.jaspar.frequencyMatrix;
|
|
275
|
+
|
|
276
|
+
let a = "";
|
|
277
|
+
try {
|
|
278
|
+
for (let i = 0; i < frequencyMatrix.A.length; i++) {
|
|
279
|
+
a += "<td>" + frequencyMatrix.A[i] + "</td>";
|
|
280
|
+
}
|
|
281
|
+
} catch (e) {
|
|
282
|
+
a += "<td> Not found </td>";
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
$(".frequencyOfA").append($(a));
|
|
286
|
+
|
|
287
|
+
let c = "";
|
|
288
|
+
try {
|
|
289
|
+
for (let k = 0; k < frequencyMatrix.C.length; k++) {
|
|
290
|
+
c += "<td>" + frequencyMatrix.C[k] + "</td>";
|
|
291
|
+
}
|
|
292
|
+
} catch (e) {
|
|
293
|
+
c += "<td> Not found </td>";
|
|
294
|
+
}
|
|
295
|
+
$(".frequencyOfC").append($(c));
|
|
296
|
+
|
|
297
|
+
let g = "";
|
|
298
|
+
try {
|
|
299
|
+
for (let j = 0; j < frequencyMatrix.C.length; j++) {
|
|
300
|
+
g += "<td>" + frequencyMatrix.C[j] + "</td>";
|
|
301
|
+
}
|
|
302
|
+
} catch (e) {
|
|
303
|
+
g += "<td> Not found </td>";
|
|
304
|
+
}
|
|
305
|
+
$(".frequencyOfG").append($(g));
|
|
306
|
+
|
|
307
|
+
let t = "";
|
|
308
|
+
try {
|
|
309
|
+
for (let h = 0; h < frequencyMatrix.C.length; h++) {
|
|
310
|
+
t += "<td>" + frequencyMatrix.C[h] + "</td>";
|
|
311
|
+
}
|
|
312
|
+
} catch (e) {
|
|
313
|
+
t += "<td> Not found </td>";
|
|
314
|
+
}
|
|
315
|
+
$(".frequencyOfT").append($(t));
|
|
316
|
+
|
|
317
|
+
$("#sgdSource").text("1. Saccharomyces Genome Database");
|
|
318
|
+
$("#uniprotSource").text("2. UniProt");
|
|
319
|
+
$("#ensemblSource").text("3. Ensembl");
|
|
320
|
+
$("#ncbiSource").text("4. NCBI Gene Database");
|
|
321
|
+
$("#jasparSource").text("5. JASPAR Database");
|
|
322
|
+
|
|
323
|
+
$("<a class=\"sourceLink\"> <sup>[1]</sup></a>").appendTo(".sgdSource");
|
|
324
|
+
$("<a class=\"sourceLink\"><sup>[2]</sup></a>").appendTo(".uniprotSource");
|
|
325
|
+
$("<a class=\"sourceLink\"><sup>[3]</sup></a>").appendTo(".ensemblSource");
|
|
326
|
+
$("<a class=\"sourceLink\"><sup>[4]</sup></a>").appendTo(".ncbiSource");
|
|
327
|
+
$("<a class=\"sourceLink\"><sup>[5]</sup></a>").appendTo(".jasparSource");
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
$("a").attr("target", "blank");
|
|
332
|
+
|
|
333
|
+
});
|
|
334
|
+
})();
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
**Blair Hamilton and Zach Van Ysseldyk’s README File**
|
|
2
|
+
|
|
3
|
+
# General Information
|
|
4
|
+
|
|
5
|
+
The Integration and Interaction team has implemented a right-click function thats purpose is to open a new tab and produce a gene page with data
|
|
6
|
+
|
|
7
|
+
brought in from multiple credible databases. The primary goal of our info.js, info.html and api.js files is to bring in the work of the gene database
|
|
8
|
+
|
|
9
|
+
API team, JASPAR team and the page design team, and produce a working demo of the GRNsight right click function.
|
|
10
|
+
|
|
11
|
+
# Right-Click Functionality
|
|
12
|
+
|
|
13
|
+
First, the right click function bridges the original GRNSight existing gene page with the new gene page. The GRNSight gene regulatory map depicts a
|
|
14
|
+
|
|
15
|
+
relationship between each gene. If a user would like to know more information on one of those genes depicted in the regulatory map, they may do so by
|
|
16
|
+
|
|
17
|
+
right clicking on that gene.
|
|
18
|
+
|
|
19
|
+
The following section will delve into the actual code:
|
|
20
|
+
|
|
21
|
+
-First, the graph.js file contains a function called “dbclick” which refers to the right click functionality.
|
|
22
|
+
|
|
23
|
+
-Next, the “_ blank” syntax opens up into a new tab.
|
|
24
|
+
|
|
25
|
+
-Unfortunately, due to data security concerns, the syntax for opening up a link in a new tab has been taken down from the D3 help page. Because of this, the integration team had to circumnavigate this problem by adding a fake anchor.
|
|
26
|
+
|
|
27
|
+
-The fake anchor tag in the beginning of the function conceptually creates a fake, temporary landing page for the URL. Once the URL has landed on the anchor, the anchor is taken away via the tempLink.remove() function. Once the landing page has been taken away, the new link can now live on its own.
|
|
28
|
+
|
|
29
|
+
The link itself is broken up into two parts.
|
|
30
|
+
|
|
31
|
+
1.The first part is a template URL.
|
|
32
|
+
|
|
33
|
+
2.The parameter portion refers to the gene name being pulled from the selected right-click node.
|
|
34
|
+
|
|
35
|
+
# Variable Links
|
|
36
|
+
|
|
37
|
+
In collaboration with the Page-Design team a layout for specific data points was given to the Interaction team in order to put the correct variable
|
|
38
|
+
|
|
39
|
+
link with data point in divided tabs.
|
|
40
|
+
|
|
41
|
+
-For this portion a hreftemplate link was made in the info.js file for each of the five databases in which a generic gene page URL from the respective database can be called upon.
|
|
42
|
+
|
|
43
|
+
-Next variable links were made between the info.html page classes and api.js API calls in order to produce data on the gene page.
|
|
44
|
+
-This can be seen in the info.js file which contains comments representing the different tabs on the gene page.
|
|
45
|
+
|
|
46
|
+
-Four individual for-loops were created for the frequency matrix in order to account for the difference in data per gene.
|
|
47
|
+
|
|
48
|
+
-For example, some yeast genes contain anywhere from 0-15 data points for the frequency matrix involving: A,T,G, and C dna points
|
|
49
|
+
|
|
50
|
+
-Lastly, the dnaSequence and Gene Map sections are currently empty due to API difficulties in the data retrieval, but currently have a placeholder for when the API call is working.
|
|
51
|
+
|
|
52
|
+
-All desired data points have received a variable link and a spot in the gene page template. If no data currently shows then it is left blank, but otherwise is functional.
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
export const HOST_SITE = "https://dondi.github.io";
|
|
2
|
+
|
|
3
|
+
export const FILE_NAME = "#fileName";
|
|
4
|
+
|
|
5
|
+
export const GREY_EDGES_DASHED_MENU = "#grey-edges-dashed-menu";
|
|
6
|
+
export const GREY_EDGES_DASHED_SIDEBAR = "#dashedGrayLineButton";
|
|
7
|
+
|
|
8
|
+
export const UNWEIGHTED_DEMO_ID = "#unweighted";
|
|
9
|
+
export const UNWEIGHTED_DEMO_PATH = "demo/unweighted";
|
|
10
|
+
export const UNWEIGHTED_DEMO_NAME = "Demo #1: Unweighted GRN (15 genes, 28 edges)";
|
|
11
|
+
export const WEIGHTED_DEMO_ID = "#weighted";
|
|
12
|
+
export const WEIGHTED_DEMO_PATH = "demo/weighted";
|
|
13
|
+
export const WEIGHTED_DEMO_NAME = "Demo #2: Weighted GRN (15 genes, 28 edges, Dahlquist Lab unpublished data)";
|
|
14
|
+
export const SCHADE_INPUT_ID = "#schadeInput";
|
|
15
|
+
export const SCHADE_INPUT_PATH = "demo/schadeInput";
|
|
16
|
+
export const SCHADE_INPUT_NAME = "Demo #3: Unweighted GRN (21 genes, 31 edges)";
|
|
17
|
+
export const SCHADE_OUTPUT_ID = "#schadeOutput";
|
|
18
|
+
export const SCHADE_OUTPUT_PATH = "demo/schadeOutput";
|
|
19
|
+
export const SCHADE_OUTPUT_NAME = "Demo #4: Weighted GRN (21 genes, 31 edges, Schade et al. 2004 data)";
|
|
20
|
+
|
|
21
|
+
export const EXPORT_TO_EXCEL = "#exportAsExcelWkbk";
|
|
22
|
+
export const EXPORT_TO_UNWEIGHTED_SIF = "#exportAsUnweightedSif";
|
|
23
|
+
export const EXPORT_TO_WEIGHTED_SIF = "#exportAsWeightedSif";
|
|
24
|
+
export const EXPORT_TO_UNWEIGHTED_GML = "#exportAsUnweightedGraphMl";
|
|
25
|
+
export const EXPORT_TO_WEIGHTED_GML = "#exportAsWeightedGraphMl";
|
|
26
|
+
export const EXPORT_TO_PNG = "#exportAsPng";
|
|
27
|
+
export const EXPORT_TO_SVG = "#exportAsSvg";
|
|
28
|
+
export const EXPORT_TO_PDF = "#exportAsPdf";
|
|
29
|
+
export const EXPORT_WEIGHTED_CLASS = ".weighted.export";
|
|
30
|
+
export const EXPRESSION_SOURCE = "#expressionSource";
|
|
31
|
+
|
|
32
|
+
export const DEMO_INFORMATION = [
|
|
33
|
+
[ WEIGHTED_DEMO_ID, WEIGHTED_DEMO_PATH, WEIGHTED_DEMO_NAME ],
|
|
34
|
+
[ UNWEIGHTED_DEMO_ID, UNWEIGHTED_DEMO_PATH, UNWEIGHTED_DEMO_NAME ],
|
|
35
|
+
[ SCHADE_INPUT_ID, SCHADE_INPUT_PATH, SCHADE_INPUT_NAME ],
|
|
36
|
+
[ SCHADE_OUTPUT_ID, SCHADE_OUTPUT_PATH, SCHADE_OUTPUT_NAME ]
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
export const MIN_EDGE_WEIGHT_NORMALIZATION = 0.0001;
|
|
40
|
+
export const MAX_EDGE_WEIGHT_NORMALIZATION = 1000;
|
|
41
|
+
|
|
42
|
+
export const DEFAULT_ZOOM_VALUE = 100;
|
|
43
|
+
|
|
44
|
+
export const GREY_EDGE_THRESHOLD_MENU = "#gray-edge-threshold-menu";
|
|
45
|
+
export const GREY_EDGE_THRESHOLD_SLIDER_SIDEBAR = "#grayThresholdInput";
|
|
46
|
+
export const GREY_EDGE_THRESHOLD_TEXT_SIDEBAR = "#grayThresholdValue";
|
|
47
|
+
|
|
48
|
+
export const SET_NORMALIZATION_MENU = "#edge-weight-normalization-factor-menu";
|
|
49
|
+
export const SET_NORMALIZATION_SIDEBAR = "#normalization-button";
|
|
50
|
+
export const SET_NORMALIZATION_SIDEBAR_VALUE = "#normalization-max";
|
|
51
|
+
export const RESET_NORMALIZATION_MENU = "#reset-normalization-factor-menu";
|
|
52
|
+
export const RESET_NORMALIZATION_SIDEBAR = "#resetNormalizationButton";
|
|
53
|
+
|
|
54
|
+
export const WEIGHTS_SHOW_MOUSE_OVER_MENU = "#weightsMouseOverMenu";
|
|
55
|
+
export const WEIGHTS_SHOW_ALWAYS_MENU = "#weightsAlwaysMenu";
|
|
56
|
+
export const WEIGHTS_HIDE_MENU = "#weightsNeverMenu";
|
|
57
|
+
export const WEIGHTS_SHOW_MOUSE_OVER_SIDE = "#weightsMouseOverSide";
|
|
58
|
+
export const WEIGHTS_SHOW_ALWAYS_SIDE = "#weightsAlwaysSide";
|
|
59
|
+
export const WEIGHTS_HIDE_SIDE = "#weightsNeverSide";
|
|
60
|
+
export const WEIGHTS_SHOW_MOUSE_OVER_CLASS = ".weightsMouseOver";
|
|
61
|
+
export const WEIGHTS_SHOW_ALWAYS_CLASS = ".weightsAlways";
|
|
62
|
+
export const WEIGHTS_HIDE_CLASS = ".weightsNever";
|
|
63
|
+
|
|
64
|
+
export const SHOW_WEIGHTS_MOUSEOVER = "showWeightsMouseover";
|
|
65
|
+
export const SHOW_ALL_WEIGHTS = "showAllWeights";
|
|
66
|
+
export const HIDE_ALL_WEIGHTS = "hideAllWeights";
|
|
67
|
+
|
|
68
|
+
export const COLOR_EDGES = ".colorEdges";
|
|
69
|
+
export const ACTIVE_COLOR_OPTION = "active";
|
|
70
|
+
export const COLOR_EDGES_MENU = "#colorEdges";
|
|
71
|
+
export const COLOR_EDGES_SIDEBAR = "#colorEdgesSidebar";
|
|
72
|
+
|
|
73
|
+
export const GRAVITY_LENGTH_WITHOUT_ZERO = 3;
|
|
74
|
+
export const LOCK_SLIDERS_CLASS = ".lockSliders";
|
|
75
|
+
export const LOCK_SLIDERS_BUTTON = "#lockSlidersButton";
|
|
76
|
+
export const LOCK_SLIDERS_MENU = "#lockSlidersMenu";
|
|
77
|
+
export const RESET_SLIDERS_CLASS = ".resetSliders";
|
|
78
|
+
export const RESET_SLIDERS_SIDEBAR = "#resetSlidersButton";
|
|
79
|
+
export const RESET_SLIDERS_MENU = "#resetSlidersMenu";
|
|
80
|
+
export const UNDO_SLIDERS_RESET_CLASS = ".undoSliderReset";
|
|
81
|
+
export const UNDO_SLIDERS_RESET_ID = "#undoReset";
|
|
82
|
+
export const UNDO_SLIDERS_RESET_MENU = "#undoResetMenu";
|
|
83
|
+
export const UNDO_SLIDERS_RESET_SIDEBAR = "#undoResetButton";
|
|
84
|
+
|
|
85
|
+
export const LINK_DIST_CLASS = "#link-distance";
|
|
86
|
+
export const LINK_DIST_SLIDER_SIDEBAR = "#linkDistInput";
|
|
87
|
+
export const LINK_DIST_VALUE = "#linkDistVal";
|
|
88
|
+
export const LINK_DIST_MENU = "#link-distance-menu";
|
|
89
|
+
export const LINK_DIST_DEFAULT_VALUE = 500;
|
|
90
|
+
export const CHARGE_CLASS = "#charge";
|
|
91
|
+
export const CHARGE_SLIDER_SIDEBAR = "#chargeInput";
|
|
92
|
+
export const CHARGE_VALUE = "#chargeVal";
|
|
93
|
+
export const CHARGE_MENU = "#charge-menu";
|
|
94
|
+
export const CHARGE_DEFAULT_VALUE = -50;
|
|
95
|
+
|
|
96
|
+
export const GRID_LAYOUT = "GRID_LAYOUT";
|
|
97
|
+
export const FORCE_GRAPH = "FORCE_GRAPH";
|
|
98
|
+
export const FORCE_GRAPH_BUTTON = "#forceGraphButton";
|
|
99
|
+
export const GRID_LAYOUT_BUTTON = "#gridLayoutButton";
|
|
100
|
+
export const FORCE_GRAPH_MENU = "#forceGraph";
|
|
101
|
+
export const GRID_LAYOUT_MENU = "#gridLayout";
|
|
102
|
+
|
|
103
|
+
export const MINIMUM_MAX_LOG_FOLD_CHANGE = 0;
|
|
104
|
+
export const MAXIMUM_MAX_LOG_FOLD_CHANGE = 100;
|
|
105
|
+
export const DEFAULT_MAX_LOG_FOLD_CHANGE = 3;
|
|
106
|
+
export const MAX_NUM_CHARACTERS_DROPDOWN = 24;
|
|
107
|
+
export const LAYOUT_SIDEBAR_PANEL = "#layoutSidebarPanel";
|
|
108
|
+
export const EDGE_WEIGHT_MENU_CLASS = ".weightedGraphOptionsMenu";
|
|
109
|
+
export const EDGE_WEIGHT_SIDEBAR = ".edge-weight-sidebar";
|
|
110
|
+
export const EDGE_WEIGHT_SIDEBAR_HEADER_LINK = "#edgeWeightHeaderLink";
|
|
111
|
+
export const EXPRESSION_DB_MENU = ".data-sidebar";
|
|
112
|
+
export const EXPRESSION_DB_MENU_HEADER_LINK = "#dataSidebarLink";
|
|
113
|
+
export const EXPRESSION_DB_SIDEBAR_PANEL = "#dataSidebarPanel";
|
|
114
|
+
export const EXPRESSION_DB_LOADER = ".expression-db-loader";
|
|
115
|
+
export const EXPRESSION_DB_LOADER_TEXT = ".expression-db-loader-text";
|
|
116
|
+
export const DATA_SET_SELECT = "#data-set-select";
|
|
117
|
+
export const NODE_COLORING_MENU = ".node-coloring";
|
|
118
|
+
export const NODE_COLORING_MENU_CLASS = ".node-coloring-menu";
|
|
119
|
+
export const NODE_COLORING_SIDEBAR_PANEL = "#nodeColoringSidebarPanel";
|
|
120
|
+
export const NODE_COLORING_SIDEBAR_HEADER_LINK = "#nodeColoringHeaderLink";
|
|
121
|
+
export const NODE_COLORING_SIDEBAR_BODY = ".nodeColoringSidebarBody";
|
|
122
|
+
export const DATA_SIDEBAR_BODY = ".dataSidebarBody";
|
|
123
|
+
export const NODE_COLORING_SIDEBAR_HEADER = "#sidebarPanelHeader";
|
|
124
|
+
export const NODE_COLORING_TOGGLE_SIDEBAR = "#nodeColoringToggleSidebar";
|
|
125
|
+
export const AVG_REPLICATE_VALS_BOTTOM_SIDEBAR = "#averageDataBottom";
|
|
126
|
+
export const AVG_REPLICATE_VALS_TOP_SIDEBAR = "#averageDataTop";
|
|
127
|
+
export const AVG_REPLICATE_VALS_TOP_MENU = "#averageDataTopMenu";
|
|
128
|
+
export const AVG_REPLICATE_VALS_BOTTOM_MENU = "#averageDataBottomMenu";
|
|
129
|
+
export const NODE_COLORING_TOGGLE_MENU = "#node-coloring-toggle-menu";
|
|
130
|
+
export const NODE_COLORING_TOGGLE_CLASS = ".nodeColoringToggle";
|
|
131
|
+
export const LOG_FOLD_CHANGE_MAX_VALUE_CLASS = ".logFoldChangeMaxValue";
|
|
132
|
+
export const LOG_FOLD_CHANGE_MAX_VALUE_HEADER = "#logFoldChangeMaxValue";
|
|
133
|
+
export const LOG_FOLD_CHANGE_MAX_VALUE_SIDEBAR_INPUT = "#log-fold-change-max-value-sidebar";
|
|
134
|
+
export const LOG_FOLD_CHANGE_MAX_VALUE_SIDEBAR_BUTTON = "#log-fold-change-button";
|
|
135
|
+
export const LOG_FOLD_CHANGE_MAX_VALUE_MENU = "#log-fold-change-max-value-menu";
|
|
136
|
+
export const ENDS_IN_EXPRESSION_REGEXP = /expression$/;
|
|
137
|
+
export const TOP_DATASET_SELECTION_MENU = "#topDatasetDropdownMenu";
|
|
138
|
+
export const TOP_DATASET_SELECTION_SIDEBAR = "#dataset-top";
|
|
139
|
+
export const BOTTOM_DATASET_SELECTION_MENU = "#bottomDatasetDropdownMenu";
|
|
140
|
+
export const BOTTOM_DATASET_SELECTION_SIDEBAR = "#dataset-bottom";
|
|
141
|
+
|
|
142
|
+
export const SPECIES_IDENTIFIED_NAME = "#speciesName";
|
|
143
|
+
export const SPECIES_DISPLAY = "#speciesDropdown";
|
|
144
|
+
export const SPECIES_BUTTON_YEAST = "#Saccharomyces_cerevisiae";
|
|
145
|
+
export const SPECIES_BUTTON_HUMAN = "#Homo_sapiens";
|
|
146
|
+
export const SPECIES_BUTTON_FLY = "#Drosophila_melanogaster";
|
|
147
|
+
export const SPECIES_BUTTON_NEMATODE = "#Caenorhabditis_elegans";
|
|
148
|
+
export const SPECIES_BUTTON_MOUSE = "#Mus_musculus";
|
|
149
|
+
export const SPECIES_BUTTON_CRESS = "#Arabidopsis_thaliana";
|
|
150
|
+
|
|
151
|
+
export const NODE_COLORING_USING_EXPRESSION_DATA = "#expressionDB";
|
|
152
|
+
|
|
153
|
+
export const ZOOM_CONTROL = ".zoom";
|
|
154
|
+
export const ZOOM_DISPLAY_MAXIMUM_SELECTOR = ".maximum-zoom-display";
|
|
155
|
+
export const ZOOM_DISPLAY_MAXIMUM_VALUE = 200;
|
|
156
|
+
export const ZOOM_DISPLAY_MINIMUM_SELECTOR = ".minimum-zoom-display";
|
|
157
|
+
export const ZOOM_DISPLAY_MINIMUM_VALUE = 25;
|
|
158
|
+
export const ZOOM_DISPLAY_MIDDLE = 100;
|
|
159
|
+
export const ZOOM_ADAPTIVE_MAX_SCALE = 4;
|
|
160
|
+
export const ZOOM_SLIDER = "#zoomSlider";
|
|
161
|
+
export const ZOOM_INPUT = "#zoomInput";
|
|
162
|
+
export const ZOOM_PERCENT = "#zoomPercent";
|
|
163
|
+
|
|
164
|
+
export const VIEWPORT_INIT = "containerInit";
|
|
165
|
+
export const VIEWPORT_FIT = "containerFit";
|
|
166
|
+
export const VIEWPORT_S = "containerS";
|
|
167
|
+
export const VIEWPORT_M = "containerM";
|
|
168
|
+
export const VIEWPORT_L = "containerL";
|
|
169
|
+
|
|
170
|
+
export const VIEWPORT_SIZE_S_DROPDOWN = "#viewport-size-s";
|
|
171
|
+
export const VIEWPORT_SIZE_M_DROPDOWN = "#viewport-size-m";
|
|
172
|
+
export const VIEWPORT_SIZE_L_DROPDOWN = "#viewport-size-l";
|
|
173
|
+
export const VIEWPORT_SIZE_FIT_DROPDOWN = "#viewport-size-fit";
|
|
174
|
+
export const VIEWPORT_SIZE_S_SIDEBAR = "#boundBoxS";
|
|
175
|
+
export const VIEWPORT_SIZE_M_SIDEBAR = "#boundBoxM";
|
|
176
|
+
export const VIEWPORT_SIZE_L_SIDEBAR = "#boundBoxL";
|
|
177
|
+
export const VIEWPORT_SIZE_FIT_SIDEBAR = "#boundBoxFit";
|
|
178
|
+
export const VIEWPORT_OPTION_CLASS = ".viewportOption";
|
|
179
|
+
export const VIEWPORT_OPTION_CLASS_SIDEBAR = ".boundBoxSize";
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
Our Team was tasked with designing the api framework for retrieving the information from the 5 databases through the getGeneInformation function.
|
|
2
|
+
This function takes in a gene symbol as a parameter, and returns a deferred jQuery object that ultimately resolves to an object containing the values found from the search. If there is an error in contacting the databases, the function alerts to the main page that an error occurred.
|
|
3
|
+
|
|
4
|
+
In the function, there were some pieces of data that were requested but ultimately unable to be retrieved through the API endpoints we were tasked with retrieving. These pieces of data are noted in the function with a comment: // Information unavailable via regular API.
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
var displayStatistics = function (
|
|
1
|
+
var displayStatistics = function (workbook) { // eslint-disable-line no-unused-vars
|
|
2
2
|
var $container = $(".graph-statistics-container").removeClass("hidden");
|
|
3
3
|
var $thead = $container.find("thead");
|
|
4
4
|
var $tbody = $container.find("tbody").empty();
|
|
5
5
|
|
|
6
6
|
// TODO Still quick-and-dirty, needs robustness and optimization.
|
|
7
7
|
var betweennessCentralityFor = function (geneName) {
|
|
8
|
-
return
|
|
8
|
+
return workbook.graphStatisticsReport.betweennessCentrality.filter(function (bcItem) {
|
|
9
9
|
return bcItem.gene.name === geneName;
|
|
10
10
|
})[0].betweennessCentrality;
|
|
11
11
|
};
|
|
12
12
|
|
|
13
13
|
var shortestPath = function (sourceName, targetName) {
|
|
14
|
-
var rawResult =
|
|
14
|
+
var rawResult = workbook.graphStatisticsReport.shortestPath.filter(function (spItem) {
|
|
15
15
|
return spItem.source === sourceName && spItem.pathData.target === targetName;
|
|
16
16
|
})[0].pathData.shortestPath;
|
|
17
17
|
|
|
@@ -20,20 +20,20 @@ var displayStatistics = function (network) { // eslint-disable-line no-unused-va
|
|
|
20
20
|
|
|
21
21
|
var populateHead = function () {
|
|
22
22
|
$thead.find(".shortest-path-column-headers").empty().append(
|
|
23
|
-
|
|
23
|
+
workbook.genes.map(function (gene) {
|
|
24
24
|
return $("<th></th>").text(gene.name);
|
|
25
25
|
})
|
|
26
26
|
);
|
|
27
27
|
|
|
28
|
-
$thead.find(".shortest-path-header").attr({ colspan:
|
|
28
|
+
$thead.find(".shortest-path-header").attr({ colspan: workbook.genes.length });
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
var populateBody = function () {
|
|
32
|
-
$tbody.append(
|
|
32
|
+
$tbody.append(workbook.genes.map(function (gene) {
|
|
33
33
|
return $("<tr></tr>")
|
|
34
34
|
.append($("<th></th>").text(gene.name))
|
|
35
35
|
.append($("<td></td>").text(betweennessCentralityFor(gene.name)))
|
|
36
|
-
.append(
|
|
36
|
+
.append(workbook.genes.map(function (targetGene) {
|
|
37
37
|
return $("<td></td>").text(shortestPath(gene.name, targetGene.name));
|
|
38
38
|
}));
|
|
39
39
|
}));
|