grnsight 4.0.0 → 6.0.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/.travis.yml +3 -1
- package/GRNsight - Beta.html +194 -0
- package/Gemfile.lock +259 -0
- package/README.md +2 -2
- 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/lcov.info +1847 -1142
- package/database/README.md +1 -0
- package/database/network-database/README.md +44 -0
- package/database/network-database/schema.sql +24 -0
- package/database/network-database/scripts/filter_genes.py +76 -0
- package/database/network-database/scripts/generate_network.py +199 -0
- package/database/network-database/scripts/generate_sgd_network_from_yeastract_network.py +120 -0
- package/database/network-database/scripts/loader.py +78 -0
- package/package.json +20 -11
- package/server/app.js +7 -2
- package/server/config/config.js +12 -3
- package/server/controllers/additional-sheet-parser.js +292 -55
- package/server/controllers/constants.js +4 -37
- package/server/controllers/custom-workbook-controller.js +66 -0
- package/server/controllers/demo-workbooks.js +5973 -0
- package/server/controllers/export-constants.js +78 -0
- package/server/controllers/export-controller.js +4 -3
- package/server/controllers/exporters/graphml.js +15 -15
- package/server/controllers/exporters/sif.js +7 -7
- package/server/controllers/exporters/xlsx.js +110 -34
- package/server/controllers/expression-database-controller.js +19 -0
- package/server/controllers/expression-sheet-parser.js +170 -0
- 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-database-controller.js +18 -0
- 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 -425
- package/server/controllers/workbook-constants.js +521 -0
- package/server/dals/expression-dal.js +122 -0
- package/server/dals/network-dal.js +96 -0
- package/test/additional-sheet-parser-tests.js +147 -38
- package/test/api-tests.js +3 -6
- package/test/errors-adjacency-matrix-modifications.js +30 -29
- package/test/errors-graph-tests.js +4 -4
- package/test/errors-sheet-modifications.js +10 -2
- package/test/export-tests.js +187 -60
- package/test/expression-data-import-tests.js +113 -0
- package/test/grnstate-tests.js +8 -2
- package/test/import-graphml-tests.js +59 -40
- package/test/import-sif-tests.js +50 -37
- package/test/test.js +554 -91
- 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/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/controllers/main.js +1 -1
- package/web-client/public/favicon.ico +0 -0
- package/web-client/public/gene/api.js +76 -14
- package/web-client/public/gene/info.js +19 -8
- package/web-client/public/js/api/grnsight-api.js +124 -0
- package/web-client/public/js/constants.js +90 -17
- package/web-client/public/js/createNetwork.js +195 -0
- package/web-client/public/js/graph-statistics.js +7 -7
- package/web-client/public/js/graph.js +369 -324
- package/web-client/public/js/grnsight.js +2 -2
- package/web-client/public/js/grnsight.min.js +128 -59
- package/web-client/public/js/grnstate.js +54 -30
- package/web-client/public/js/iframe-coordination.js +55 -0
- package/web-client/public/js/setup-handlers.js +358 -18
- package/web-client/public/js/setup-load-and-import-handlers.js +105 -66
- package/web-client/public/js/update-app.js +483 -93
- package/web-client/public/js/upload.js +349 -32
- package/web-client/public/js/warnings.js +13 -51
- package/web-client/public/lib/iframeSizer.contentWindow.min.js +10 -0
- package/web-client/public/stylesheets/grnsight.styl +323 -28
- package/web-client/views/components/demo.pug +10 -0
- package/web-client/views/{graph.jade → graph.pug} +0 -0
- package/web-client/views/{info.jade → info.pug} +1 -5
- package/web-client/views/upload.pug +580 -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/SDF/CMSI_402/spring_2018/writtenStatusReport4 +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/Samdarshi_GRNsight_SoCalSysBio_Abstract_2019.docx +0 -0
- package/documents/abstracts/Varshneya_Samdarshi_Southern-California-Systems-Biology_2017_abstract.docx +0 -0
- package/documents/abstracts/~$mdarshi_SoCalSysBio_Abstract_2019.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 -496
- 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_CMSI402_2017.pptx +0 -0
- package/documents/posters/Anguiano_Varshneya_LMU-Symposium_2015.pptx +0 -0
- package/documents/posters/Anguiano_Varshneya_SCCUR_2014.pptx +0 -0
- package/documents/posters/Choe_Shin_CMSI402_2018.pptx +0 -0
- package/documents/posters/Dahlquist-et-al_BOSC_ISMB_2016_poster.pptx +0 -0
- package/documents/posters/Lopez_Filler_LMU_Symposium_2019.pdf +0 -0
- package/documents/posters/Lopez_Filler_LMU_Symposium_2019.pptx +0 -0
- package/documents/posters/Samdarshi-et-al_LMU-Symposium_2017.pptx +0 -0
- package/documents/posters/Samdarshi-et-al_LMU-Symposium_2018.pptx +0 -0
- package/documents/posters/Samdarshi-et-al_SoCalSysBio_2019.pptx +0 -0
- package/documents/posters/Shin-et-al_SCCUR_2017.pptx +0 -0
- package/documents/posters/Southwick_CMSI402_2014.pptx +0 -0
- package/documents/posters/Varshneya_Samdarshi_LMU-Symposium_2016.pptx +0 -0
- package/documents/posters/Varshneya_Samdarshi_SoCalSysBio_2017.pptx +0 -0
- package/documents/presentations/Anguiano_402_Final_Presentation.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_LMU-Symposium_20190323_talk.pdf +0 -0
- package/documents/presentations/Samdarshi_LMU-Symposium_20190323_talk.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_talk.pptx +0 -0
- package/documents/reports/Samdarshi_Mihir_2019/Samdarshi_2019_Final.docx +0 -0
- package/documents/reports/Samdarshi_Mihir_2019/Samdarshi_Mihir_2019_AnnotatedBibliography.docx +0 -0
- package/documents/reports/Samdarshi_Mihir_2019/Samdarshi_Mihir_2019_Outline.docx +0 -0
- package/documents/reports/Samdarshi_Mihir_2019/~$mdarshi_2019_Draft.docx +0 -0
- package/documents/reports/Samdarshi_Mihir_2019/~$mdarshi_2019_Final_Paper_Draft.docx +0 -0
- package/documents/reports/Varshneya_Anu_2017/Varshneya-201701-AnnotatedBibliography.docx +0 -0
- package/documents/reports/Varshneya_Anu_2017/Varshneya-201702-Introduction.docx +0 -0
- package/documents/reports/Varshneya_Anu_2017/Varshneya-201702-Outline.docx +0 -0
- package/documents/reports/Varshneya_Anu_2017/Varshneya-201703-Discussion.docx +0 -0
- package/documents/reports/Varshneya_Anu_2017/Varshneya-201703-MMResults.docx +0 -0
- package/documents/reports/Varshneya_Anu_2017/Varshneya-201704-Draft-1.docx +0 -0
- package/documents/reports/Varshneya_Anu_2017/Varshneya-201704-Final.docx +0 -0
- package/onlysidebar.html +0 -8
- 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/views/upload.jade +0 -464
|
@@ -5,8 +5,9 @@ var UTF8 = { encoding: "utf-8" };
|
|
|
5
5
|
|
|
6
6
|
var importController = require(__dirname + "/../server/controllers" + "/import-controller")();
|
|
7
7
|
var constants = require(__dirname + "/../server/controllers" + "/constants");
|
|
8
|
+
var initWorkbook = require(__dirname + "/../server/controllers" + "/helpers.js").initWorkbook;
|
|
8
9
|
|
|
9
|
-
var
|
|
10
|
+
var expectedUnweightedWorkbook = initWorkbook({
|
|
10
11
|
genes: [
|
|
11
12
|
{ name: "A" },
|
|
12
13
|
{ name: "B" },
|
|
@@ -24,10 +25,12 @@ var expectedUnweightedNetwork = {
|
|
|
24
25
|
warnings: [],
|
|
25
26
|
positiveWeights: [],
|
|
26
27
|
negativeWeights: [],
|
|
27
|
-
sheetType: "unweighted"
|
|
28
|
-
}
|
|
28
|
+
sheetType: "unweighted",
|
|
29
|
+
meta: {},
|
|
30
|
+
expression:{}
|
|
31
|
+
});
|
|
29
32
|
|
|
30
|
-
var
|
|
33
|
+
var expectedWeightedWorkbook = initWorkbook({
|
|
31
34
|
genes: [
|
|
32
35
|
{ name: "A" },
|
|
33
36
|
{ name: "B" },
|
|
@@ -45,10 +48,12 @@ var expectedWeightedNetwork = {
|
|
|
45
48
|
warnings: [],
|
|
46
49
|
positiveWeights: [],
|
|
47
50
|
negativeWeights: [],
|
|
48
|
-
sheetType: "weighted"
|
|
49
|
-
}
|
|
51
|
+
sheetType: "weighted",
|
|
52
|
+
meta: {},
|
|
53
|
+
expression:{}
|
|
54
|
+
});
|
|
50
55
|
|
|
51
|
-
var
|
|
56
|
+
var expectedUnweightedWorkbookWithCycle = initWorkbook({
|
|
52
57
|
genes: [
|
|
53
58
|
{ name: "A" },
|
|
54
59
|
{ name: "B" },
|
|
@@ -69,10 +74,12 @@ var expectedUnweightedNetworkWithCycle = {
|
|
|
69
74
|
warnings: [],
|
|
70
75
|
positiveWeights: [],
|
|
71
76
|
negativeWeights: [],
|
|
72
|
-
sheetType: "unweighted"
|
|
73
|
-
}
|
|
77
|
+
sheetType: "unweighted",
|
|
78
|
+
meta: {},
|
|
79
|
+
expression:{}
|
|
80
|
+
});
|
|
74
81
|
|
|
75
|
-
var
|
|
82
|
+
var expectedWeightedWorkbookWithCycle = initWorkbook({
|
|
76
83
|
genes: [
|
|
77
84
|
{ name: "A" },
|
|
78
85
|
{ name: "B" },
|
|
@@ -93,8 +100,10 @@ var expectedWeightedNetworkWithCycle = {
|
|
|
93
100
|
warnings: [],
|
|
94
101
|
positiveWeights: [],
|
|
95
102
|
negativeWeights: [],
|
|
96
|
-
sheetType: "weighted"
|
|
97
|
-
}
|
|
103
|
+
sheetType: "weighted",
|
|
104
|
+
meta: {},
|
|
105
|
+
expression:{}
|
|
106
|
+
});
|
|
98
107
|
|
|
99
108
|
/* eslint-disable quotes */
|
|
100
109
|
// Temporarily disabling double-quote rule because graphML has a lot of double quotes.
|
|
@@ -268,8 +277,8 @@ var misspelledGraphTagTestGraphMl = [
|
|
|
268
277
|
].join("\n");
|
|
269
278
|
|
|
270
279
|
|
|
271
|
-
// Added
|
|
272
|
-
var
|
|
280
|
+
// Added workbooks and GraphML documents
|
|
281
|
+
var newExpectedWeightedWorkbook = initWorkbook({
|
|
273
282
|
genes: [
|
|
274
283
|
{ name: "A" },
|
|
275
284
|
{ name: "B" },
|
|
@@ -288,8 +297,10 @@ var newExpectedWeightedNetwork = {
|
|
|
288
297
|
warnings: [],
|
|
289
298
|
positiveWeights: [],
|
|
290
299
|
negativeWeights: [],
|
|
291
|
-
sheetType: "weighted"
|
|
292
|
-
}
|
|
300
|
+
sheetType: "weighted",
|
|
301
|
+
meta: {},
|
|
302
|
+
expression:{}
|
|
303
|
+
});
|
|
293
304
|
|
|
294
305
|
var templateGraphmlFileForNewTests = [
|
|
295
306
|
'<?xml version="1.0" encoding="UTF-8"?>',
|
|
@@ -566,28 +577,28 @@ var missingOpeningQuote = [
|
|
|
566
577
|
].join("\n");
|
|
567
578
|
|
|
568
579
|
describe("Import from GraphML", function () {
|
|
569
|
-
it("should import unweighted
|
|
580
|
+
it("should import unweighted workbooks from GraphML correctly", function () {
|
|
570
581
|
expect(
|
|
571
582
|
importController.graphMlToGrnsight(unweightedTestGraphMl)
|
|
572
|
-
).to.deep.equal(
|
|
583
|
+
).to.deep.equal(expectedUnweightedWorkbook);
|
|
573
584
|
});
|
|
574
585
|
|
|
575
|
-
it("should import weighted
|
|
586
|
+
it("should import weighted workbooks from GraphML correctly", function () {
|
|
576
587
|
expect(
|
|
577
588
|
importController.graphMlToGrnsight(weightedTestGraphMl)
|
|
578
|
-
).to.deep.equal(
|
|
589
|
+
).to.deep.equal(expectedWeightedWorkbook);
|
|
579
590
|
});
|
|
580
591
|
|
|
581
|
-
it("should import unweighted
|
|
592
|
+
it("should import unweighted workbooks with cycles from GraphML correctly", function () {
|
|
582
593
|
expect(
|
|
583
594
|
importController.graphMlToGrnsight(unweightedTestGraphMlWithCycle)
|
|
584
|
-
).to.deep.equal(
|
|
595
|
+
).to.deep.equal(expectedUnweightedWorkbookWithCycle);
|
|
585
596
|
});
|
|
586
597
|
|
|
587
|
-
it("should import weighted
|
|
598
|
+
it("should import weighted workbooks with cycles from GraphML correctly", function () {
|
|
588
599
|
expect(
|
|
589
600
|
importController.graphMlToGrnsight(weightedTestGraphMlWithCycle)
|
|
590
|
-
).to.deep.equal(
|
|
601
|
+
).to.deep.equal(expectedWeightedWorkbookWithCycle);
|
|
591
602
|
});
|
|
592
603
|
|
|
593
604
|
it("should issue an general graphML syntax error because there is a missing end tag", function () {
|
|
@@ -649,7 +660,7 @@ describe("Import from GraphML", function () {
|
|
|
649
660
|
fs.readFile(__dirname + "/../test-files/import-samples/hyper.graphml", UTF8, function (error, data) {
|
|
650
661
|
expect(
|
|
651
662
|
importController.graphMlToGrnsight(data)
|
|
652
|
-
).to.deep.equal({
|
|
663
|
+
).to.deep.equal(initWorkbook({
|
|
653
664
|
genes: [
|
|
654
665
|
{ name: "n0" },
|
|
655
666
|
{ name: "n1" },
|
|
@@ -669,13 +680,13 @@ describe("Import from GraphML", function () {
|
|
|
669
680
|
positiveWeights: [],
|
|
670
681
|
negativeWeights: [],
|
|
671
682
|
sheetType: "unweighted"
|
|
672
|
-
}); // Look ma, no hyperedges.
|
|
683
|
+
})); // Look ma, no hyperedges.
|
|
673
684
|
});
|
|
674
685
|
|
|
675
686
|
fs.readFile(__dirname + "/../test-files/import-samples/nested.graphml", UTF8, function (error, data) {
|
|
676
687
|
expect(
|
|
677
688
|
importController.graphMlToGrnsight(data)
|
|
678
|
-
).to.deep.equal({
|
|
689
|
+
).to.deep.equal(initWorkbook({
|
|
679
690
|
genes: [
|
|
680
691
|
{ name: "n0" },
|
|
681
692
|
{ name: "n1" },
|
|
@@ -698,8 +709,10 @@ describe("Import from GraphML", function () {
|
|
|
698
709
|
warnings: [],
|
|
699
710
|
positiveWeights: [],
|
|
700
711
|
negativeWeights: [],
|
|
701
|
-
sheetType: "unweighted"
|
|
702
|
-
|
|
712
|
+
sheetType: "unweighted",
|
|
713
|
+
meta: {},
|
|
714
|
+
expression:{}
|
|
715
|
+
})); // Look ma, no nested graphs (nor edges that refer to them).
|
|
703
716
|
});
|
|
704
717
|
});
|
|
705
718
|
|
|
@@ -707,7 +720,7 @@ describe("Import from GraphML", function () {
|
|
|
707
720
|
fs.readFile(__dirname + "/../test-files/import-samples/4-gene_4-edge_Manual-Cytoscape_test-naming.graphml", UTF8, function (error, data) {
|
|
708
721
|
expect(
|
|
709
722
|
importController.graphMlToGrnsight(data)
|
|
710
|
-
).to.deep.equal({
|
|
723
|
+
).to.deep.equal(initWorkbook({
|
|
711
724
|
genes: [
|
|
712
725
|
{ name: "Gene4_name" },
|
|
713
726
|
{ name: "Gene3_name" },
|
|
@@ -726,8 +739,10 @@ describe("Import from GraphML", function () {
|
|
|
726
739
|
warnings: [],
|
|
727
740
|
positiveWeights: [],
|
|
728
741
|
negativeWeights: [],
|
|
729
|
-
sheetType: "unweighted"
|
|
730
|
-
|
|
742
|
+
sheetType: "unweighted",
|
|
743
|
+
meta: {},
|
|
744
|
+
expression:{}
|
|
745
|
+
}));
|
|
731
746
|
});
|
|
732
747
|
});
|
|
733
748
|
|
|
@@ -735,7 +750,7 @@ describe("Import from GraphML", function () {
|
|
|
735
750
|
fs.readFile(__dirname + "/../test-files/import-samples/graph-with-yed-tags.graphml", UTF8, function (error, data) {
|
|
736
751
|
expect(
|
|
737
752
|
importController.graphMlToGrnsight(data)
|
|
738
|
-
).to.deep.equal({
|
|
753
|
+
).to.deep.equal(initWorkbook({
|
|
739
754
|
genes: [
|
|
740
755
|
{ name: "January" },
|
|
741
756
|
{ name: "n1" }
|
|
@@ -749,8 +764,10 @@ describe("Import from GraphML", function () {
|
|
|
749
764
|
warnings: [],
|
|
750
765
|
positiveWeights: [],
|
|
751
766
|
negativeWeights: [],
|
|
752
|
-
sheetType: "unweighted"
|
|
753
|
-
|
|
767
|
+
sheetType: "unweighted",
|
|
768
|
+
meta: {},
|
|
769
|
+
expression:{}
|
|
770
|
+
}));
|
|
754
771
|
});
|
|
755
772
|
});
|
|
756
773
|
|
|
@@ -758,7 +775,7 @@ describe("Import from GraphML", function () {
|
|
|
758
775
|
fs.readFile(__dirname + "/../test-files/import-samples/4-node_4-edge_manual-yED.graphml", UTF8, function (error, data) {
|
|
759
776
|
expect(
|
|
760
777
|
importController.graphMlToGrnsight(data)
|
|
761
|
-
).to.deep.equal({
|
|
778
|
+
).to.deep.equal(initWorkbook({
|
|
762
779
|
genes: [
|
|
763
780
|
{ name: "A" },
|
|
764
781
|
{ name: "B" },
|
|
@@ -775,16 +792,18 @@ describe("Import from GraphML", function () {
|
|
|
775
792
|
|
|
776
793
|
errors: [],
|
|
777
794
|
warnings: [],
|
|
778
|
-
sheetType: "unweighted"
|
|
779
|
-
|
|
795
|
+
sheetType: "unweighted",
|
|
796
|
+
meta: {},
|
|
797
|
+
expression:{}
|
|
798
|
+
}));
|
|
780
799
|
});
|
|
781
800
|
});
|
|
782
801
|
|
|
783
802
|
// Added Tests
|
|
784
|
-
it("should import this weighted
|
|
803
|
+
it("should import this weighted workbook from GraphML correctly", function () {
|
|
785
804
|
expect(
|
|
786
805
|
importController.graphMlToGrnsight(templateGraphmlFileForNewTests)
|
|
787
|
-
).to.deep.equal(
|
|
806
|
+
).to.deep.equal(newExpectedWeightedWorkbook);
|
|
788
807
|
});
|
|
789
808
|
|
|
790
809
|
it("should issue an invalid attribute name graphML syntax error because there is a missing source tag name", function () {
|
package/test/import-sif-tests.js
CHANGED
|
@@ -5,8 +5,9 @@ var extend = require("jquery-extend");
|
|
|
5
5
|
|
|
6
6
|
var importController = require(__dirname + "/../server/controllers" + "/import-controller")();
|
|
7
7
|
var constants = require(__dirname + "/../server/controllers" + "/constants");
|
|
8
|
+
var initWorkbook = require(__dirname + "/../server/controllers" + "/helpers.js").initWorkbook;
|
|
8
9
|
|
|
9
|
-
var
|
|
10
|
+
var expectedUnweightedWorkbook = initWorkbook({
|
|
10
11
|
genes: [
|
|
11
12
|
{ name: "A" },
|
|
12
13
|
{ name: "B" },
|
|
@@ -24,10 +25,12 @@ var expectedUnweightedNetwork = {
|
|
|
24
25
|
warnings: [],
|
|
25
26
|
positiveWeights: [],
|
|
26
27
|
negativeWeights: [],
|
|
27
|
-
sheetType: "unweighted"
|
|
28
|
-
}
|
|
28
|
+
sheetType: "unweighted",
|
|
29
|
+
meta: {},
|
|
30
|
+
expression:{}
|
|
31
|
+
});
|
|
29
32
|
|
|
30
|
-
var
|
|
33
|
+
var expectedWeightedWorkbook = initWorkbook({
|
|
31
34
|
genes: [
|
|
32
35
|
{ name: "A" },
|
|
33
36
|
{ name: "B" },
|
|
@@ -45,10 +48,12 @@ var expectedWeightedNetwork = {
|
|
|
45
48
|
warnings: [],
|
|
46
49
|
positiveWeights: [],
|
|
47
50
|
negativeWeights: [],
|
|
48
|
-
sheetType: "weighted"
|
|
49
|
-
}
|
|
51
|
+
sheetType: "weighted",
|
|
52
|
+
meta: {},
|
|
53
|
+
expression:{}
|
|
54
|
+
});
|
|
50
55
|
|
|
51
|
-
var
|
|
56
|
+
var expectedUnweightedWorkbookWithCycle = initWorkbook({
|
|
52
57
|
genes: [
|
|
53
58
|
{ name: "A" },
|
|
54
59
|
{ name: "B" },
|
|
@@ -69,10 +74,12 @@ var expectedUnweightedNetworkWithCycle = {
|
|
|
69
74
|
warnings: [],
|
|
70
75
|
positiveWeights: [],
|
|
71
76
|
negativeWeights: [],
|
|
72
|
-
sheetType: "unweighted"
|
|
73
|
-
}
|
|
77
|
+
sheetType: "unweighted",
|
|
78
|
+
meta: {},
|
|
79
|
+
expression:{}
|
|
80
|
+
});
|
|
74
81
|
|
|
75
|
-
var
|
|
82
|
+
var expectedWeightedWorkbookWithCycle = initWorkbook({
|
|
76
83
|
genes: [
|
|
77
84
|
{ name: "A" },
|
|
78
85
|
{ name: "B" },
|
|
@@ -93,8 +100,10 @@ var expectedWeightedNetworkWithCycle = {
|
|
|
93
100
|
warnings: [],
|
|
94
101
|
positiveWeights: [],
|
|
95
102
|
negativeWeights: [],
|
|
96
|
-
sheetType: "weighted"
|
|
97
|
-
}
|
|
103
|
+
sheetType: "weighted",
|
|
104
|
+
meta: {},
|
|
105
|
+
expression:{}
|
|
106
|
+
});
|
|
98
107
|
|
|
99
108
|
// Unweighted SIF
|
|
100
109
|
|
|
@@ -242,7 +251,7 @@ var strayDataInMultiColumnFormat = [
|
|
|
242
251
|
"E"
|
|
243
252
|
].join("\r\n");
|
|
244
253
|
|
|
245
|
-
var
|
|
254
|
+
var triviallyTabbedUnweightedWorkbook = [
|
|
246
255
|
"A",
|
|
247
256
|
[ "B", "pd", "A", "C" ].join("\t"),
|
|
248
257
|
[ "C", "pd", "B" ].join("\t"),
|
|
@@ -272,44 +281,44 @@ var sifWithSemanticErrorOnly = [
|
|
|
272
281
|
].join("\r\n");
|
|
273
282
|
|
|
274
283
|
describe("Import from SIF", function () {
|
|
275
|
-
it("should import unweighted
|
|
284
|
+
it("should import unweighted workbooks from SIF correctly", function () {
|
|
276
285
|
expect(
|
|
277
286
|
importController.sifToGrnsight(unweightedTestSif)
|
|
278
|
-
).to.deep.equal(
|
|
287
|
+
).to.deep.equal(expectedUnweightedWorkbook);
|
|
279
288
|
});
|
|
280
289
|
|
|
281
|
-
it("should import weighted
|
|
290
|
+
it("should import weighted workbooks from SIF correctly", function () {
|
|
282
291
|
expect(
|
|
283
292
|
importController.sifToGrnsight(weightedTestSif)
|
|
284
|
-
).to.deep.equal(
|
|
293
|
+
).to.deep.equal(expectedWeightedWorkbook);
|
|
285
294
|
});
|
|
286
295
|
|
|
287
|
-
it("should import inconsistently weighted
|
|
296
|
+
it("should import inconsistently weighted workbooks from SIF as unweighted", function () {
|
|
288
297
|
expect(
|
|
289
298
|
importController.sifToGrnsight(inconsistentlyWeightedTestSif)
|
|
290
|
-
).to.deep.equal(extend(true, {},
|
|
299
|
+
).to.deep.equal(extend(true, {}, expectedUnweightedWorkbook, {
|
|
291
300
|
warnings: [
|
|
292
301
|
constants.warnings.EDGES_WITHOUT_WEIGHTS
|
|
293
302
|
]
|
|
294
303
|
}));
|
|
295
304
|
});
|
|
296
305
|
|
|
297
|
-
it("should import unweighted
|
|
306
|
+
it("should import unweighted workbooks with cycles from SIF correctly", function () {
|
|
298
307
|
expect(
|
|
299
308
|
importController.sifToGrnsight(unweightedTestSifWithCycle)
|
|
300
|
-
).to.deep.equal(
|
|
309
|
+
).to.deep.equal(expectedUnweightedWorkbookWithCycle);
|
|
301
310
|
});
|
|
302
311
|
|
|
303
|
-
it("should import weighted
|
|
312
|
+
it("should import weighted workbooks with cycles from SIF correctly", function () {
|
|
304
313
|
expect(
|
|
305
314
|
importController.sifToGrnsight(weightedTestSifWithCycle)
|
|
306
|
-
).to.deep.equal(
|
|
315
|
+
).to.deep.equal(expectedWeightedWorkbookWithCycle);
|
|
307
316
|
});
|
|
308
317
|
|
|
309
|
-
it("should import inconsistently weighted
|
|
318
|
+
it("should import inconsistently weighted workbooks with cycles from SIF as unweighted", function () {
|
|
310
319
|
expect(
|
|
311
320
|
importController.sifToGrnsight(inconsistentlyWeightedTestSifWithCycle)
|
|
312
|
-
).to.deep.equal(extend(true, {},
|
|
321
|
+
).to.deep.equal(extend(true, {}, expectedUnweightedWorkbookWithCycle, {
|
|
313
322
|
warnings: [
|
|
314
323
|
constants.warnings.EDGES_WITHOUT_WEIGHTS
|
|
315
324
|
]
|
|
@@ -319,7 +328,7 @@ describe("Import from SIF", function () {
|
|
|
319
328
|
it("should import nodes mentioned only in edges (i.e., targeted but targetless)", function () {
|
|
320
329
|
expect(
|
|
321
330
|
importController.sifToGrnsight(unweightedTestSifWithUntargeted)
|
|
322
|
-
).to.deep.equal({
|
|
331
|
+
).to.deep.equal(initWorkbook({
|
|
323
332
|
genes: [
|
|
324
333
|
{ name: "A" },
|
|
325
334
|
{ name: "B" },
|
|
@@ -339,14 +348,16 @@ describe("Import from SIF", function () {
|
|
|
339
348
|
warnings: [],
|
|
340
349
|
positiveWeights: [],
|
|
341
350
|
negativeWeights: [],
|
|
342
|
-
sheetType: "unweighted"
|
|
343
|
-
|
|
351
|
+
sheetType: "unweighted",
|
|
352
|
+
meta: {},
|
|
353
|
+
expression:{}
|
|
354
|
+
}));
|
|
344
355
|
});
|
|
345
356
|
|
|
346
|
-
it("should import a
|
|
357
|
+
it("should import a workbook with a single node correctly", function () {
|
|
347
358
|
expect(
|
|
348
359
|
importController.sifToGrnsight(sifWithOneNode)
|
|
349
|
-
).to.deep.equal({
|
|
360
|
+
).to.deep.equal(initWorkbook({
|
|
350
361
|
genes: [
|
|
351
362
|
{ name: "A" }
|
|
352
363
|
],
|
|
@@ -355,8 +366,10 @@ describe("Import from SIF", function () {
|
|
|
355
366
|
warnings: [],
|
|
356
367
|
positiveWeights: [],
|
|
357
368
|
negativeWeights: [],
|
|
358
|
-
sheetType: "weighted"
|
|
359
|
-
|
|
369
|
+
sheetType: "weighted",
|
|
370
|
+
meta: {},
|
|
371
|
+
expression:{}
|
|
372
|
+
}));
|
|
360
373
|
});
|
|
361
374
|
|
|
362
375
|
});
|
|
@@ -442,22 +455,22 @@ describe("Import from SIF syntactic checker", function () {
|
|
|
442
455
|
).to.equal("SIF_STRAY_DATA_ERROR");
|
|
443
456
|
});
|
|
444
457
|
|
|
445
|
-
it("should throw an error if there is stray data for unweighted
|
|
458
|
+
it("should throw an error if there is stray data for unweighted workbooks", function () {
|
|
446
459
|
expect(
|
|
447
460
|
importController.sifToGrnsight(unweightedTestSifWithStrayData).errors[0].errorCode
|
|
448
461
|
).to.equal("SIF_STRAY_DATA_ERROR");
|
|
449
462
|
});
|
|
450
463
|
|
|
451
|
-
it("should throw an error if there is stray data at the bottom of an unweighted
|
|
464
|
+
it("should throw an error if there is stray data at the bottom of an unweighted workbook", function () {
|
|
452
465
|
expect(
|
|
453
466
|
importController.sifToGrnsight(unweightedTestSifWithStrayDataAtBottom).errors[0].errorCode
|
|
454
467
|
).to.equal("SIF_STRAY_DATA_ERROR");
|
|
455
468
|
});
|
|
456
469
|
|
|
457
|
-
it("should accept trivially tabbed
|
|
470
|
+
it("should accept trivially tabbed workbooks", function () {
|
|
458
471
|
expect(
|
|
459
|
-
importController.sifToGrnsight(
|
|
460
|
-
).to.deep.equal(
|
|
472
|
+
importController.sifToGrnsight(triviallyTabbedUnweightedWorkbook)
|
|
473
|
+
).to.deep.equal(expectedUnweightedWorkbook);
|
|
461
474
|
});
|
|
462
475
|
|
|
463
476
|
});
|