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 @@
|
|
|
1
|
+
Our Team was Tasked with Designing the Page that Hosts all the Data that is pulled from the various biological databases used. There are not many specific features that are unique to the page design team, but we utilized the bootstrap front-end framework to display all the information in the most easily understandable and aesthetically pleasing fashion. We used, description lists, tables, and some style tools such as color and "text-muted".
|
|
@@ -0,0 +1,442 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// Using "use strict" global
|
|
4
|
+
const serviceRoot = $("#service-root").attr("value");
|
|
5
|
+
const serializer = new XMLSerializer();
|
|
6
|
+
const XMLParser = function (data) {
|
|
7
|
+
return serializer.serializeToString(data).replace(/\<.*?\>\s?/g, "");
|
|
8
|
+
};
|
|
9
|
+
// console.log("service root: " + serviceRoot)
|
|
10
|
+
|
|
11
|
+
let defaultJaspar = {
|
|
12
|
+
jasparID: "Not found",
|
|
13
|
+
class: "Not found",
|
|
14
|
+
family: "Not found",
|
|
15
|
+
sequenceLogo: "Not found",
|
|
16
|
+
frequencyMatrix: "Not found"
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
let defaultNCBI = {
|
|
20
|
+
ncbiID: "Not found",
|
|
21
|
+
locusTag: "Not found",
|
|
22
|
+
genomicSequence: "Not found"
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
let defaultUniprot = {
|
|
26
|
+
uniprotID: "Not found",
|
|
27
|
+
proteinSequence: "Not found",
|
|
28
|
+
proteinType: "Not found",
|
|
29
|
+
species: "Species not found"
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
let defaultGeneOntology = {
|
|
33
|
+
molecularFunction: "Not found",
|
|
34
|
+
biologicalProcess: "Not found",
|
|
35
|
+
cellularComponent: "Not found"
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
let defaultRegulators = {
|
|
39
|
+
regulators: "Not found",
|
|
40
|
+
targets: "Not found"
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
let defaultYeastmine = {
|
|
44
|
+
description: "Not found",
|
|
45
|
+
sgdID: "Not found",
|
|
46
|
+
geneOntologySummary: "Not found"
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
let getUniProtInfo = function (query) {
|
|
52
|
+
const taxon = query.uniprot;
|
|
53
|
+
const geneSymbol = query.symbol;
|
|
54
|
+
// console.log("this is uniprot: " + taxon);
|
|
55
|
+
return $.get({
|
|
56
|
+
url: serviceRoot + "/uniprot/uploadlists/",
|
|
57
|
+
data: {
|
|
58
|
+
from: "GENENAME",
|
|
59
|
+
to: "ACC",
|
|
60
|
+
format: "tab",
|
|
61
|
+
taxon: taxon,
|
|
62
|
+
query: geneSymbol,
|
|
63
|
+
},
|
|
64
|
+
dataType: "text",
|
|
65
|
+
timeout: 5000,
|
|
66
|
+
}).then(function (data) {
|
|
67
|
+
const regex = new RegExp(geneSymbol + "[ \t\r\n\v\f]*([A-Z0-9]+)", "gm");
|
|
68
|
+
const id = regex.exec(data)[1];
|
|
69
|
+
return $.get({
|
|
70
|
+
url: serviceRoot + "/uniprot/uniprot/" + id + ".xml",
|
|
71
|
+
timeout: 5000,
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
let getNCBIInfo = function (query) {
|
|
77
|
+
const geneSymbol = query.symbol;
|
|
78
|
+
const geneName = query.species.replace(/_/, "+");
|
|
79
|
+
// console.log("calling ncbi")
|
|
80
|
+
|
|
81
|
+
return $.get({
|
|
82
|
+
url: serviceRoot + "/ncbi/entrez/eutils/esearch.fcgi",
|
|
83
|
+
data: {
|
|
84
|
+
db: "gene",
|
|
85
|
+
term: geneSymbol + "[gene]+" + geneName + "[Organism]",
|
|
86
|
+
},
|
|
87
|
+
dataType: "text",
|
|
88
|
+
timeout: 5000,
|
|
89
|
+
}).then(function (data) {
|
|
90
|
+
const regex = /<Id>(\d*)<\/Id>/gm;
|
|
91
|
+
const id = regex.exec(data)[1];
|
|
92
|
+
return $.get({
|
|
93
|
+
url: serviceRoot + "/ncbi/entrez/eutils/esummary.fcgi?db=gene&id=" + id,
|
|
94
|
+
dataType: "xml",
|
|
95
|
+
timeout: 5000,
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
let getGeneOntologyInfo = function (query) {
|
|
101
|
+
const geneSymbol = query.symbol;
|
|
102
|
+
return $.get({
|
|
103
|
+
url: serviceRoot + "/yeastmine/backend/locus/" + geneSymbol + "/go_details",
|
|
104
|
+
dataType: "json",
|
|
105
|
+
beforeSend: function (xhr) {
|
|
106
|
+
xhr.setRequestHeader("content-type", "application/json");
|
|
107
|
+
}
|
|
108
|
+
}).catch(function () {
|
|
109
|
+
return defaultGeneOntology;
|
|
110
|
+
});
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
let getRegulationInfo = function (query) {
|
|
114
|
+
const geneSymbol = query.symbol;
|
|
115
|
+
return $.get({
|
|
116
|
+
url: serviceRoot + "/yeastmine/backend/locus/" + geneSymbol + "/regulation_details",
|
|
117
|
+
dataType: "json",
|
|
118
|
+
beforeSend: function (xhr) {
|
|
119
|
+
xhr.setRequestHeader("content-type", "application/json");
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
// let getFlyMineInfo = function (query) {
|
|
125
|
+
// const geneSymbol = query.symbol;
|
|
126
|
+
// return $.get({
|
|
127
|
+
// url: serviceRoot + "/flymine/webservice/locus/" + geneSymbol,
|
|
128
|
+
// dataType: "json",
|
|
129
|
+
// beforeSend: function (xhr) {
|
|
130
|
+
// xhr.setRequestHeader("content-type", "application/json");
|
|
131
|
+
// },
|
|
132
|
+
// });
|
|
133
|
+
// };
|
|
134
|
+
|
|
135
|
+
let getYeastMineInfo = function (query) {
|
|
136
|
+
const geneSymbol = query.symbol;
|
|
137
|
+
return $.get({
|
|
138
|
+
url: serviceRoot + "/yeastmine/webservice/locus/" + geneSymbol,
|
|
139
|
+
dataType: "json",
|
|
140
|
+
beforeSend: function (xhr) {
|
|
141
|
+
xhr.setRequestHeader("content-type", "application/json");
|
|
142
|
+
},
|
|
143
|
+
});
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
let getJasparInfo = function (query) {
|
|
147
|
+
const geneSymbol = query.symbol;
|
|
148
|
+
const taxon = query.jaspar;
|
|
149
|
+
// console.log("this is jaspar: " + taxon);
|
|
150
|
+
|
|
151
|
+
return $.get({
|
|
152
|
+
url: serviceRoot + "/jaspar/api/v1/matrix/?tax_id=" + taxon + "&format=json&name=" + geneSymbol.toUpperCase(),
|
|
153
|
+
dataType: "json",
|
|
154
|
+
beforeSend: function (xhr) {
|
|
155
|
+
xhr.setRequestHeader("content-type", "application/json");
|
|
156
|
+
},
|
|
157
|
+
timeout: 5000,
|
|
158
|
+
}).then(function (data) {
|
|
159
|
+
return (data.results.length === 0 || data.results === undefined) ? {} :
|
|
160
|
+
$.get({
|
|
161
|
+
url: serviceRoot + "/jaspar/api/v1/matrix/" + data.results[0].matrix_id,
|
|
162
|
+
dataType: "json",
|
|
163
|
+
beforeSend: function (xhr) {
|
|
164
|
+
xhr.setRequestHeader("content-type", "application/json");
|
|
165
|
+
},
|
|
166
|
+
});
|
|
167
|
+
});
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
let defaultValues = {
|
|
171
|
+
jaspar: defaultJaspar,
|
|
172
|
+
ncbi: defaultNCBI,
|
|
173
|
+
uniprot: defaultUniprot,
|
|
174
|
+
sgd: defaultYeastmine,
|
|
175
|
+
geneOntology: defaultGeneOntology,
|
|
176
|
+
regulators: defaultRegulators
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
let parseRegulators = function (data, symbol) {
|
|
181
|
+
|
|
182
|
+
let regs = [];
|
|
183
|
+
let targs = [];
|
|
184
|
+
|
|
185
|
+
data.filter(word => (word.locus1.display_name === symbol.symbol) ? targs[targs.length] = {
|
|
186
|
+
target: word.locus2.display_name,
|
|
187
|
+
regulationOf: word.regulation_of }
|
|
188
|
+
: regs[regs.length] = {
|
|
189
|
+
regulator: word.locus1.display_name,
|
|
190
|
+
regulationOf: word.regulation_of,
|
|
191
|
+
regulationType: word.regulation_type}) ;
|
|
192
|
+
|
|
193
|
+
return {
|
|
194
|
+
regulators: regs,
|
|
195
|
+
targets: targs
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
};
|
|
199
|
+
|
|
200
|
+
let parseGeneOntology = function (data) {
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
let goTemplate = {
|
|
204
|
+
molecularFunction : [],
|
|
205
|
+
biologicalProcess : [],
|
|
206
|
+
cellularComponent : [],
|
|
207
|
+
};
|
|
208
|
+
|
|
209
|
+
for (var k = 0; k < data.length; k++) {
|
|
210
|
+
let isUnique = true;
|
|
211
|
+
for (var len = 0; len < k; len++) {
|
|
212
|
+
if (data[k].go.go_id === data[len].go.go_id) {
|
|
213
|
+
isUnique = false;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
if (isUnique) {
|
|
218
|
+
switch (data[k].go.go_aspect ) {
|
|
219
|
+
case "molecular function":
|
|
220
|
+
goTemplate.molecularFunction[goTemplate.molecularFunction.length] = {
|
|
221
|
+
id: data[k].go.go_id,
|
|
222
|
+
link: data[k].go.link,
|
|
223
|
+
displayName: data[k].go.display_name
|
|
224
|
+
};
|
|
225
|
+
break;
|
|
226
|
+
case "biological process":
|
|
227
|
+
goTemplate.biologicalProcess[goTemplate.biologicalProcess.length] = {
|
|
228
|
+
id: data[k].go.go_id,
|
|
229
|
+
link: data[k].go.link,
|
|
230
|
+
displayName: data[k].go.display_name
|
|
231
|
+
};
|
|
232
|
+
break;
|
|
233
|
+
case "cellular component":
|
|
234
|
+
goTemplate.cellularComponent[goTemplate.cellularComponent.length] = {
|
|
235
|
+
id: data[k].go.go_id,
|
|
236
|
+
link: data[k].go.link,
|
|
237
|
+
displayName: data[k].go.display_name
|
|
238
|
+
};
|
|
239
|
+
break;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
for (var prop in goTemplate) {
|
|
246
|
+
if (goTemplate[prop].length === 0) {
|
|
247
|
+
goTemplate[prop] = "Not found";
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
return goTemplate;
|
|
252
|
+
};
|
|
253
|
+
|
|
254
|
+
let parseUniprot = function (data) {
|
|
255
|
+
let uniprotTemplate = {
|
|
256
|
+
uniprotID: XMLParser(data.getElementsByTagName("name")[0]),
|
|
257
|
+
proteinSequence: XMLParser(data.getElementsByTagName("sequence")[0]),
|
|
258
|
+
proteinType: XMLParser(data.getElementsByTagName("protein")[0].childNodes[1].childNodes[1]),
|
|
259
|
+
species: XMLParser(data.getElementsByTagName("organism")[0].childNodes[1]),
|
|
260
|
+
};
|
|
261
|
+
|
|
262
|
+
for (var prop in uniprotTemplate) {
|
|
263
|
+
if ((uniprotTemplate[prop] === undefined) || (uniprotTemplate[prop] === null)) {
|
|
264
|
+
uniprotTemplate[prop] = "Not found";
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
return uniprotTemplate;
|
|
269
|
+
|
|
270
|
+
};
|
|
271
|
+
|
|
272
|
+
let parseNCBI = function (data) {
|
|
273
|
+
const tagArray = serializer.serializeToString(
|
|
274
|
+
data.getElementsByTagName("OtherAliases")[0]).split(",");
|
|
275
|
+
const ncbiTemplate = {
|
|
276
|
+
ncbiID: data.getElementsByTagName("DocumentSummary")[0].getAttribute("uid"),
|
|
277
|
+
locusTag: tagArray[0].replace(/\<.*?\>\s?/g, ""),
|
|
278
|
+
chromosomeSequence: XMLParser(data.getElementsByTagName("ChrAccVer")[0]),
|
|
279
|
+
};
|
|
280
|
+
|
|
281
|
+
for (var prop in ncbiTemplate) {
|
|
282
|
+
if ((ncbiTemplate[prop] === undefined) || (ncbiTemplate[prop] === null)) {
|
|
283
|
+
ncbiTemplate[prop] = "Not found";
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
return ncbiTemplate;
|
|
288
|
+
};
|
|
289
|
+
|
|
290
|
+
let parseYeastmine = function (data) {
|
|
291
|
+
const yeastmineTemplate = {
|
|
292
|
+
description: data.description,
|
|
293
|
+
sgdID: data.sgdid,
|
|
294
|
+
geneOntologySummary: data.go_overview.paragraph,
|
|
295
|
+
};
|
|
296
|
+
|
|
297
|
+
for (var prop in yeastmineTemplate) {
|
|
298
|
+
|
|
299
|
+
if ((yeastmineTemplate[prop] === undefined) || (yeastmineTemplate[prop] === null)) {
|
|
300
|
+
yeastmineTemplate[prop] = "Not found";
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
return yeastmineTemplate;
|
|
307
|
+
};
|
|
308
|
+
|
|
309
|
+
// let parseFlymine = function (data) {
|
|
310
|
+
// const flymineTemplate = {
|
|
311
|
+
// description: data.description,
|
|
312
|
+
// sgdID: data.sgdid,
|
|
313
|
+
// geneOntologySummary: data.go_overview.paragraph,
|
|
314
|
+
// };
|
|
315
|
+
|
|
316
|
+
// for (var prop in flymineTemplate) {
|
|
317
|
+
|
|
318
|
+
// if ((flymineTemplate[prop] === undefined) || (flymineTemplate[prop] === null)) {
|
|
319
|
+
// flymineTemplate[prop] = "Not found";
|
|
320
|
+
// }
|
|
321
|
+
// }
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
// return flymineTemplate;
|
|
326
|
+
// };
|
|
327
|
+
|
|
328
|
+
let parseJaspar = function (data) {
|
|
329
|
+
// console.log(data)
|
|
330
|
+
const jasparTemplate = {
|
|
331
|
+
jasparID : data.matrix_id,
|
|
332
|
+
class: data.class[0],
|
|
333
|
+
family: data.family[0],
|
|
334
|
+
sequenceLogo: data.sequence_logo,
|
|
335
|
+
frequencyMatrix: data.pfm,
|
|
336
|
+
};
|
|
337
|
+
|
|
338
|
+
for (var prop in jasparTemplate) {
|
|
339
|
+
if ((jasparTemplate[prop] === undefined) || (jasparTemplate[prop] === null)) {
|
|
340
|
+
jasparTemplate[prop] = "Not found";
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
return jasparTemplate;
|
|
345
|
+
};
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
(function ($) {
|
|
349
|
+
window.api = {
|
|
350
|
+
getNCBIInfo,
|
|
351
|
+
getUniProtInfo,
|
|
352
|
+
getYeastMineInfo,
|
|
353
|
+
// getFlyMineInfo,
|
|
354
|
+
getGeneOntologyInfo,
|
|
355
|
+
getRegulationInfo,
|
|
356
|
+
getJasparInfo,
|
|
357
|
+
getGeneInformation: function (symbol) {
|
|
358
|
+
return $.when(
|
|
359
|
+
window.api.getNCBIInfo(symbol)
|
|
360
|
+
).then(function (ncbiInfo) {
|
|
361
|
+
defaultValues.ncbi = parseNCBI(ncbiInfo);
|
|
362
|
+
return window.api.getUniProtInfo(symbol);
|
|
363
|
+
}).then(function (uniProtInfo) {
|
|
364
|
+
// console.log("in uniprot")
|
|
365
|
+
defaultValues.uniprot = parseUniprot(uniProtInfo);
|
|
366
|
+
return window.api.getJasparInfo(symbol);
|
|
367
|
+
}).then(function (jasparInfo) {
|
|
368
|
+
// console.log("this is jasparInfo: ")
|
|
369
|
+
// console.log(jasparInfo)
|
|
370
|
+
defaultValues.jaspar = parseJaspar(jasparInfo);
|
|
371
|
+
return window.api.getYeastMineInfo(symbol);
|
|
372
|
+
}).then(function (yeastMineInfo) {
|
|
373
|
+
// console.log("in yeastmine")
|
|
374
|
+
defaultValues.sgd = parseYeastmine(yeastMineInfo);
|
|
375
|
+
// return window.api.getFlyMineInfo(symbol);
|
|
376
|
+
// }).then(function (flyMineInfo) {
|
|
377
|
+
// defaultValues.sgd = parseFlymine(flyMineInfo);
|
|
378
|
+
return window.api.getGeneOntologyInfo(symbol);
|
|
379
|
+
}).then(function (goInfo) {
|
|
380
|
+
// console.log("inside GO call")
|
|
381
|
+
defaultValues.geneOntology = parseGeneOntology(goInfo);
|
|
382
|
+
return window.api.getRegulationInfo(symbol);
|
|
383
|
+
}).then(function (regulationInfo) {
|
|
384
|
+
// parseRegulators needs both info and symbol
|
|
385
|
+
defaultValues.regulators = parseRegulators(regulationInfo, symbol);
|
|
386
|
+
return defaultValues;
|
|
387
|
+
}).catch(function () {
|
|
388
|
+
// window.api.getNCBIInfo(symbol);
|
|
389
|
+
window.api.getUniProtInfo(symbol);
|
|
390
|
+
window.api.getYeastMineInfo(symbol);
|
|
391
|
+
// window.api.getFlyMineInfo(symbol);
|
|
392
|
+
window.api.getGeneOntologyInfo(symbol);
|
|
393
|
+
window.api.getRegulationInfo(symbol);
|
|
394
|
+
window.api.getJasparInfo(symbol);
|
|
395
|
+
window.api.getNCBIInfo(symbol);
|
|
396
|
+
|
|
397
|
+
if (
|
|
398
|
+
defaultValues.ncbi === defaultNCBI &&
|
|
399
|
+
defaultValues.uniprot === defaultUniprot &&
|
|
400
|
+
defaultValues.sgd === defaultYeastmine &&
|
|
401
|
+
defaultValues.geneOntology === defaultGeneOntology &&
|
|
402
|
+
defaultValues.regulators === defaultRegulators &&
|
|
403
|
+
defaultValues.jaspar === defaultJaspar
|
|
404
|
+
) {
|
|
405
|
+
const errorString1 = "No gene information was retrieved for " + symbol.symbol + ".";
|
|
406
|
+
|
|
407
|
+
const errorString2 = "This could have happened because:";
|
|
408
|
+
const errorString3 = "You can check back later to see if gene information" +
|
|
409
|
+
" can be retrieved or submit an issue to https://github.com/dondi/GRNsight.";
|
|
410
|
+
|
|
411
|
+
$("#error2").text(errorString2);
|
|
412
|
+
var errorString4 = $("<ul/>").appendTo("#error2");
|
|
413
|
+
errorString4.append("<li>The wrong species is selected </li>");
|
|
414
|
+
errorString4.append("<li>GRNsight could not access the gene information"
|
|
415
|
+
+ " from one of the source databases</li>");
|
|
416
|
+
errorString4.append("<li>No information exists for the gene in the source databases.</li>");
|
|
417
|
+
|
|
418
|
+
$("#error1").text(errorString1);
|
|
419
|
+
$("#error3").text(errorString3);
|
|
420
|
+
|
|
421
|
+
var screenHeight = $(window).height();
|
|
422
|
+
var MIN_SCREEN_HEIGHT = 600;
|
|
423
|
+
var BORDER = 425;
|
|
424
|
+
var setPanel = (screenHeight - BORDER) + "px";
|
|
425
|
+
var minPanel = (MIN_SCREEN_HEIGHT - BORDER) + "px";
|
|
426
|
+
if (screenHeight > MIN_SCREEN_HEIGHT) {
|
|
427
|
+
$("#list-frame").css({ height: setPanel });
|
|
428
|
+
} else {
|
|
429
|
+
$("#list-frame").css({ height: minPanel });
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
$("#errorModal").css({ "font-family": "arial",
|
|
433
|
+
"font-size": "14px",
|
|
434
|
+
"color": "#333"});
|
|
435
|
+
$("#errorModal").modal("show");
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
return defaultValues;
|
|
439
|
+
});
|
|
440
|
+
}
|
|
441
|
+
};
|
|
442
|
+
})($);
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
|
|
2
|
+
a {
|
|
3
|
+
color: #16693f;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
a:hover {
|
|
7
|
+
color: #3f1669;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
body {
|
|
11
|
+
font-family: 'Georgia', serif;
|
|
12
|
+
margin: 0;
|
|
13
|
+
background-color: #FFFFFF;
|
|
14
|
+
min-width: 1300px;
|
|
15
|
+
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
iframe {
|
|
19
|
+
border:none;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
sup {
|
|
24
|
+
line-height: 2;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
#gene-name {
|
|
29
|
+
text-align: left;
|
|
30
|
+
|
|
31
|
+
}
|
|
32
|
+
#gene-species {
|
|
33
|
+
font-style: italic;
|
|
34
|
+
text-align: left;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
#iframeHeader {
|
|
38
|
+
height: 118px;
|
|
39
|
+
box-sizing: content-box;
|
|
40
|
+
min-width: 100%;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
#iframeMenu {
|
|
44
|
+
position: absolute;
|
|
45
|
+
min-height: 450px;
|
|
46
|
+
min-width: 160px;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
#iframeFooter {
|
|
50
|
+
width: 100%;
|
|
51
|
+
display: block;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
#mainContent {
|
|
55
|
+
left: 0;
|
|
56
|
+
right: 0;
|
|
57
|
+
margin: 20px 0px 0px 209px;
|
|
58
|
+
padding: 5px 5px 5px 5px;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
#pageContent {
|
|
62
|
+
padding: 0px 5px 5px 10px;
|
|
63
|
+
margin-right: 8em;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
#pageHead {
|
|
67
|
+
margin-top: 20px;
|
|
68
|
+
margin-bottom: 25px;
|
|
69
|
+
font-size: 25px;
|
|
70
|
+
min-height: 78px;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.btn {
|
|
74
|
+
color: white;
|
|
75
|
+
margin-right: 10px;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.btn-green {
|
|
79
|
+
background-color: #16693f;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.btn-purple {
|
|
83
|
+
background-color: #3f1669;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.btn-brown {
|
|
87
|
+
background-color: #693f16;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.btn-turquoise {
|
|
91
|
+
background-color: #166969;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.btn-violet {
|
|
95
|
+
background-color: #691640;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.card {
|
|
99
|
+
margin-bottom: 5px;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.card-header {
|
|
103
|
+
text-decoration: underline;
|
|
104
|
+
padding: 7px 15px;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.card-header > h5 {
|
|
108
|
+
margin-left: -5px;
|
|
109
|
+
font-size: 16px;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.card-block {
|
|
113
|
+
margin-left: 10px;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.close {
|
|
117
|
+
color: black;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.codeSequence {
|
|
121
|
+
font-family: Courier;
|
|
122
|
+
color:black;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.container-fluid {
|
|
126
|
+
padding-left: 0px;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.col {
|
|
130
|
+
padding: 0px;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.col-12 {
|
|
134
|
+
padding: 0px;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.database-link {
|
|
138
|
+
color: #16693f;
|
|
139
|
+
font-weight: 700;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.gene-link {
|
|
143
|
+
color: #16693f;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.jumbotron {
|
|
147
|
+
background-color: white;
|
|
148
|
+
padding-bottom: 0px !important;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.row {
|
|
152
|
+
margin: 0px;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.sequenceLogo {
|
|
156
|
+
width: 50%;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.frequencyMatrix {
|
|
160
|
+
width: 100%;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.green {
|
|
164
|
+
color: #16693f;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
.purple {
|
|
168
|
+
color: #3f1669;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.brown {
|
|
172
|
+
color: #693f16;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.turquoise {
|
|
176
|
+
color: #166969;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.violet {
|
|
180
|
+
color: #691640;
|
|
181
|
+
}
|