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.
Files changed (458) hide show
  1. package/.travis.yml +3 -1
  2. package/GRNsight - Beta.html +194 -0
  3. package/Gemfile.lock +259 -0
  4. package/README.md +2 -2
  5. package/_gh_pages/about.html +360 -45
  6. package/_gh_pages/assets/css/footer.css +3 -0
  7. package/_gh_pages/assets/css/main.css +28 -14
  8. package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_estimation_output_binary-no-targetless-genes_sif.png +0 -0
  9. package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_estimation_output_binary_sif.png +0 -0
  10. package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_graphml_3-edges-and-footer.png +0 -0
  11. package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_graphml_header-and-3-nodes.png +0 -0
  12. package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_graphml_output_3-edges-and-footer.png +0 -0
  13. package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_graphml_output_header-and-3-nodes.png +0 -0
  14. package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_input_binary-no-targetless-genes_sif.png +0 -0
  15. package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_input_binary_sif.png +0 -0
  16. package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_input_concatenated-no-targetless-genes_sif.png +0 -0
  17. package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_input_concatenated_sif.png +0 -0
  18. package/_gh_pages/assets/images/Choe-Shin_CMSI402-poster-session_20180430.jpg +0 -0
  19. package/_gh_pages/assets/images/Choe_SCCUR_2017.jpg +0 -0
  20. package/_gh_pages/assets/images/Dahlquist-Choe-Shin_CMSI402-poster-session_20180430.jpg +0 -0
  21. package/_gh_pages/assets/images/Dionisio-Dahlquist_GRNsight-shades_20170506.jpg +0 -0
  22. package/_gh_pages/assets/images/Klein_Samdarshi_TriBeta_2018_20180317.jpg +0 -0
  23. package/_gh_pages/assets/images/Shin_SCCUR_2017.jpg +0 -0
  24. 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
  25. 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
  26. package/_gh_pages/assets/images/gene-pages-0.png +0 -0
  27. package/_gh_pages/assets/images/gene-pages-1.png +0 -0
  28. package/_gh_pages/assets/images/gene-pages-2.png +0 -0
  29. package/_gh_pages/assets/images/gene-pages-3.png +0 -0
  30. package/_gh_pages/assets/images/grnsight2020.png +0 -0
  31. package/_gh_pages/assets/images/v3demo2-grid+nodecoloring.png +0 -0
  32. package/_gh_pages/assets/images/v3demo2-nodecoloring.png +0 -0
  33. package/_gh_pages/assets/images/v3demo2.png +0 -0
  34. package/_gh_pages/assets/js/ga-report.js +11 -11
  35. package/_gh_pages/assets/js/iframeResizer.min.js +9 -0
  36. package/_gh_pages/assets/js/main.js +43 -43
  37. package/_gh_pages/beta.html +29 -24
  38. package/_gh_pages/contact.html +31 -31
  39. package/_gh_pages/coverage/coverage.json +1 -0
  40. package/_gh_pages/coverage/coverage.raw.json +1 -0
  41. package/_gh_pages/coverage/lcov-report/base.css +223 -0
  42. package/_gh_pages/coverage/lcov-report/block-navigation.js +63 -0
  43. package/_gh_pages/coverage/lcov-report/controllers/additional-sheet-parser.js.html +330 -0
  44. package/_gh_pages/coverage/lcov-report/controllers/constants.js.html +243 -0
  45. package/_gh_pages/coverage/lcov-report/controllers/export-controller.js.html +285 -0
  46. package/_gh_pages/coverage/lcov-report/controllers/exporters/graphml.js.html +405 -0
  47. package/_gh_pages/coverage/lcov-report/controllers/exporters/index.html +110 -0
  48. package/_gh_pages/coverage/lcov-report/controllers/exporters/sif.js.html +150 -0
  49. package/_gh_pages/coverage/lcov-report/controllers/helpers.js.html +114 -0
  50. package/_gh_pages/coverage/lcov-report/controllers/import-controller.js.html +233 -0
  51. package/_gh_pages/coverage/lcov-report/controllers/importers/graphml.js.html +716 -0
  52. package/_gh_pages/coverage/lcov-report/controllers/importers/index.html +106 -0
  53. package/_gh_pages/coverage/lcov-report/controllers/importers/sif.js.html +488 -0
  54. package/_gh_pages/coverage/lcov-report/controllers/index.html +162 -0
  55. package/_gh_pages/coverage/lcov-report/controllers/semantic-checker.js.html +810 -0
  56. package/_gh_pages/coverage/lcov-report/controllers/spreadsheet-controller.js.html +1779 -0
  57. package/_gh_pages/coverage/lcov-report/index.html +136 -0
  58. package/_gh_pages/coverage/lcov-report/prettify.css +1 -0
  59. package/_gh_pages/coverage/lcov-report/prettify.js +1 -0
  60. package/_gh_pages/coverage/lcov-report/server/controllers/additional-sheet-parser.js.html +330 -0
  61. package/_gh_pages/coverage/lcov-report/server/controllers/constants.js.html +243 -0
  62. package/_gh_pages/coverage/lcov-report/server/controllers/export-controller.js.html +285 -0
  63. package/_gh_pages/coverage/lcov-report/server/controllers/exporters/graphml.js.html +405 -0
  64. package/_gh_pages/coverage/lcov-report/server/controllers/exporters/index.html +110 -0
  65. package/_gh_pages/coverage/lcov-report/server/controllers/exporters/sif.js.html +150 -0
  66. package/_gh_pages/coverage/lcov-report/server/controllers/graphml-constants.js.html +585 -0
  67. package/_gh_pages/coverage/lcov-report/server/controllers/helpers.js.html +114 -0
  68. package/_gh_pages/coverage/lcov-report/server/controllers/import-controller.js.html +237 -0
  69. package/_gh_pages/coverage/lcov-report/server/controllers/importers/graphml.js.html +585 -0
  70. package/_gh_pages/coverage/lcov-report/server/controllers/importers/index.html +110 -0
  71. package/_gh_pages/coverage/lcov-report/server/controllers/importers/sif.js.html +492 -0
  72. package/_gh_pages/coverage/lcov-report/server/controllers/index.html +188 -0
  73. package/_gh_pages/coverage/lcov-report/server/controllers/semantic-checker.js.html +810 -0
  74. package/_gh_pages/coverage/lcov-report/server/controllers/spreadsheet-controller.js.html +1779 -0
  75. package/_gh_pages/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  76. package/_gh_pages/coverage/lcov-report/sorter.js +158 -0
  77. package/_gh_pages/coverage/lcov-report/web-client/public/js/grnstate.js.html +225 -0
  78. package/_gh_pages/coverage/lcov-report/web-client/public/js/index.html +97 -0
  79. package/_gh_pages/coverage/lcov.info +49 -0
  80. package/_gh_pages/documentation.html +998 -320
  81. package/_gh_pages/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.aux +47 -0
  82. package/_gh_pages/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.bbl +73 -0
  83. package/_gh_pages/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.blg +52 -0
  84. package/_gh_pages/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.log +1056 -0
  85. package/_gh_pages/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.out +7 -0
  86. package/_gh_pages/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.synctex.gz +0 -0
  87. package/_gh_pages/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_manuscript_2016_text-only_revised-Dondi.docx +0 -0
  88. package/_gh_pages/encryption/server.cert +21 -0
  89. package/_gh_pages/encryption/server.key +28 -0
  90. package/_gh_pages/favicon.ico +0 -0
  91. package/_gh_pages/index.html +45 -22
  92. package/_gh_pages/links.html +47 -28
  93. package/_gh_pages/news.html +103 -21
  94. package/_gh_pages/onlyfooter.html +78 -0
  95. package/_gh_pages/onlyheader.html +64 -0
  96. package/_gh_pages/onlysidebar.html +73 -0
  97. package/_gh_pages/package-lock.json +14048 -0
  98. package/_gh_pages/people.html +129 -40
  99. package/_gh_pages/privacy.html +23 -17
  100. package/_gh_pages/publications.html +75 -33
  101. package/_gh_pages/robots.txt +1 -0
  102. package/_gh_pages/sitemap.xml +87 -74
  103. package/_gh_pages/test-files/import-samples/attributes.graphml +40 -0
  104. package/_gh_pages/test-files/import-samples/port.graphml +32 -0
  105. package/_gh_pages/test-files/import-samples/simple.graphml +31 -0
  106. package/_gh_pages/web-client/public/js/grnsight.min.js +2347 -0
  107. package/_gh_pages/web-client/public/stylesheets/grnsight.css +443 -0
  108. package/coverage/coverage.json +1 -1
  109. package/coverage/lcov.info +1847 -1142
  110. package/database/README.md +1 -0
  111. package/database/network-database/README.md +44 -0
  112. package/database/network-database/schema.sql +24 -0
  113. package/database/network-database/scripts/filter_genes.py +76 -0
  114. package/database/network-database/scripts/generate_network.py +199 -0
  115. package/database/network-database/scripts/generate_sgd_network_from_yeastract_network.py +120 -0
  116. package/database/network-database/scripts/loader.py +78 -0
  117. package/package.json +20 -11
  118. package/server/app.js +7 -2
  119. package/server/config/config.js +12 -3
  120. package/server/controllers/additional-sheet-parser.js +292 -55
  121. package/server/controllers/constants.js +4 -37
  122. package/server/controllers/custom-workbook-controller.js +66 -0
  123. package/server/controllers/demo-workbooks.js +5973 -0
  124. package/server/controllers/export-constants.js +78 -0
  125. package/server/controllers/export-controller.js +4 -3
  126. package/server/controllers/exporters/graphml.js +15 -15
  127. package/server/controllers/exporters/sif.js +7 -7
  128. package/server/controllers/exporters/xlsx.js +110 -34
  129. package/server/controllers/expression-database-controller.js +19 -0
  130. package/server/controllers/expression-sheet-parser.js +170 -0
  131. package/server/controllers/graphml-constants.js +0 -17
  132. package/server/controllers/helpers.js +25 -1
  133. package/server/controllers/import-controller.js +2 -2
  134. package/server/controllers/importers/graphml.js +17 -20
  135. package/server/controllers/importers/sif.js +22 -18
  136. package/server/controllers/network-database-controller.js +18 -0
  137. package/server/controllers/network-sheet-parser.js +307 -0
  138. package/server/controllers/semantic-checker.js +30 -162
  139. package/server/controllers/sif-constants.js +36 -0
  140. package/server/controllers/spreadsheet-controller.js +277 -425
  141. package/server/controllers/workbook-constants.js +521 -0
  142. package/server/dals/expression-dal.js +122 -0
  143. package/server/dals/network-dal.js +96 -0
  144. package/test/additional-sheet-parser-tests.js +147 -38
  145. package/test/api-tests.js +3 -6
  146. package/test/errors-adjacency-matrix-modifications.js +30 -29
  147. package/test/errors-graph-tests.js +4 -4
  148. package/test/errors-sheet-modifications.js +10 -2
  149. package/test/export-tests.js +187 -60
  150. package/test/expression-data-import-tests.js +113 -0
  151. package/test/grnstate-tests.js +8 -2
  152. package/test/import-graphml-tests.js +59 -40
  153. package/test/import-sif-tests.js +50 -37
  154. package/test/test.js +554 -91
  155. package/test/warnings-adjacency-matrix-modifications.js +8 -7
  156. package/test-files/additional-sheet-test-files/optimization-diagnostics-default.xlsx +0 -0
  157. package/test-files/additional-sheet-test-files/optimization-diagnostics-extraneous-data.xlsx +0 -0
  158. package/test-files/additional-sheet-test-files/optimization-diagnostics-incorrect-MSE-gene-header.xlsx +0 -0
  159. package/test-files/additional-sheet-test-files/optimization-diagnostics-incorrect-MSE-header.xlsx +0 -0
  160. package/test-files/additional-sheet-test-files/optimization-diagnostics-incorrect-column-headers.xlsx +0 -0
  161. package/test-files/additional-sheet-test-files/optimization-diagnostics-invalid-MSE-data.xlsx +0 -0
  162. package/test-files/additional-sheet-test-files/optimization-diagnostics-invalid-value.xlsx +0 -0
  163. package/test-files/additional-sheet-test-files/optimization-diagnostics-missing-MSE-data.xlsx +0 -0
  164. package/test-files/additional-sheet-test-files/optimization-diagnostics-missing-column-headers.xlsx +0 -0
  165. package/test-files/additional-sheet-test-files/optimization-diagnostics-missing-header.xlsx +0 -0
  166. package/test-files/additional-sheet-test-files/optimization-diagnostics-unknown-parameter.xlsx +0 -0
  167. package/test-files/additional-sheet-test-files/optimization-parameters-default.xlsx +0 -0
  168. package/test-files/additional-sheet-test-files/optimization-parameters-incorrect-headers.xlsx +0 -0
  169. package/test-files/additional-sheet-test-files/optimization-parameters-invalid-optimization-parameter.xlsx +0 -0
  170. package/test-files/additional-sheet-test-files/optimization-parameters-missing-headers.xlsx +0 -0
  171. package/test-files/additional-sheet-test-files/optimization-parameters-unknown-parameter.xlsx +0 -0
  172. package/test-files/additional-sheet-test-files/two-column-sheets-extraneous-data.xlsx +0 -0
  173. package/test-files/additional-sheet-test-files/two-column-sheets-incorrect-cell-A1.xlsx +0 -0
  174. package/test-files/additional-sheet-test-files/two-column-sheets-incorrect-column-header.xlsx +0 -0
  175. package/test-files/additional-sheet-test-files/two-column-sheets-invalid-gene-length.xlsx +0 -0
  176. package/test-files/additional-sheet-test-files/two-column-sheets-invalid-gene-type.xlsx +0 -0
  177. package/test-files/additional-sheet-test-files/two-column-sheets-invalid-value.xlsx +0 -0
  178. package/test-files/additional-sheet-test-files/two-column-sheets-missing-column-header.xlsx +0 -0
  179. package/test-files/additional-sheet-test-files/two-column-sheets-special-character.xlsx +0 -0
  180. package/test-files/adjacency-matrix-modifications/asymmetric-gene-order-input.xlsx +0 -0
  181. package/test-files/adjacency-matrix-modifications/asymmetric-gene-order-output.xlsx +0 -0
  182. package/test-files/adjacency-matrix-modifications/extra-column-adjacent-input.xlsx +0 -0
  183. package/test-files/adjacency-matrix-modifications/extra-column-adjacent-output.xlsx +0 -0
  184. package/test-files/adjacency-matrix-modifications/extra-column-end-of-sheet-input.xlsx +0 -0
  185. package/test-files/adjacency-matrix-modifications/extra-column-end-of-sheet-output.xlsx +0 -0
  186. package/test-files/adjacency-matrix-modifications/extra-data-random-cell-both-output.xlsx +0 -0
  187. package/test-files/adjacency-matrix-modifications/extra-data-random-cell-network-only-input.xlsx +0 -0
  188. package/test-files/adjacency-matrix-modifications/extra-data-random-cell-network-only-output.xlsx +0 -0
  189. package/test-files/adjacency-matrix-modifications/extra-data-random-cell-network-optimized-only-output.xlsx +0 -0
  190. package/test-files/adjacency-matrix-modifications/extra-row-end-of-sheet-input.xlsx +0 -0
  191. package/test-files/adjacency-matrix-modifications/extra-row-end-of-sheet-output.xlsx +0 -0
  192. package/test-files/adjacency-matrix-modifications/incorrect-network-cell-A1.xlsx +0 -0
  193. package/test-files/adjacency-matrix-modifications/missing-column-end-input.xlsx +0 -0
  194. package/test-files/adjacency-matrix-modifications/missing-column-end-output.xlsx +0 -0
  195. package/test-files/adjacency-matrix-modifications/missing-data-input.xlsx +0 -0
  196. package/test-files/adjacency-matrix-modifications/missing-data-output.xlsx +0 -0
  197. package/test-files/adjacency-matrix-modifications/missing-row-end-input.xlsx +0 -0
  198. package/test-files/adjacency-matrix-modifications/missing-row-end-output.xlsx +0 -0
  199. package/test-files/adjacency-matrix-modifications/missing-row-middle-input.xlsx +0 -0
  200. package/test-files/adjacency-matrix-modifications/missing-row-middle-output.xlsx +0 -0
  201. package/test-files/adjacency-matrix-modifications/missing-value-bottom-corner-input.xlsx +0 -0
  202. package/test-files/adjacency-matrix-modifications/missing-value-bottom-corner-output.xlsx +0 -0
  203. package/test-files/adjacency-matrix-modifications/value-replaced-w-spaces-both-output.xlsx +0 -0
  204. package/test-files/adjacency-matrix-modifications/value-replaced-w-spaces-net-only-input.xlsx +0 -0
  205. package/test-files/adjacency-matrix-modifications/value-replaced-w-spaces-net-op-only-output.xlsx +0 -0
  206. package/test-files/adjacency-matrix-modifications/value-replaced/342/200/223w-spaces-net-only-output.xlsx +0 -0
  207. package/test-files/demo-files/15-genes_28-edges_db5_Dahlquist-data_estimation_output.xlsx +0 -0
  208. package/test-files/demo-files/15-genes_28-edges_db5_Dahlquist-data_input.xlsx +0 -0
  209. package/test-files/expression-data-test-sheets/expression_sheet_correct_numbering.xlsx +0 -0
  210. package/test-files/expression-data-test-sheets/expression_sheet_different_number_of_columns.xlsx +0 -0
  211. package/test-files/expression-data-test-sheets/expression_sheet_empty_column.xlsx +0 -0
  212. package/test-files/expression-data-test-sheets/expression_sheet_empty_row.xlsx +0 -0
  213. package/test-files/expression-data-test-sheets/expression_sheet_erroneous_data.xlsx +0 -0
  214. package/test-files/expression-data-test-sheets/expression_sheet_extra_gene_name.xlsx +0 -0
  215. package/test-files/expression-data-test-sheets/expression_sheet_incorrectly_ordered_time_points.xlsx +0 -0
  216. package/test-files/expression-data-test-sheets/expression_sheet_mismatched_case_gene_names.xlsx +0 -0
  217. package/test-files/expression-data-test-sheets/expression_sheet_mismatched_gene_names.xlsx +0 -0
  218. package/test-files/expression-data-test-sheets/expression_sheet_missing_column_header.xlsx +0 -0
  219. package/test-files/expression-data-test-sheets/expression_sheet_missing_data_error.xlsx +0 -0
  220. package/test-files/expression-data-test-sheets/expression_sheet_missing_data_ok.xlsx +0 -0
  221. package/test-files/expression-data-test-sheets/expression_sheet_missing_data_ok_export_exact.xlsx +0 -0
  222. package/test-files/expression-data-test-sheets/expression_sheet_missing_gene_name.xlsx +0 -0
  223. package/test-files/expression-data-test-sheets/expression_sheet_name_not_in_optparams.xlsx +0 -0
  224. package/test-files/expression-data-test-sheets/expression_sheet_name_not_present.xlsx +0 -0
  225. package/test-files/expression-data-test-sheets/expression_sheet_negative_time_points.xlsx +0 -0
  226. package/test-files/expression-data-test-sheets/expression_sheet_non_numerical_time_points.xlsx +0 -0
  227. package/test-files/expression-data-test-sheets/expression_sheet_not_existing.xlsx +0 -0
  228. package/test-files/expression-data-test-sheets/expression_sheet_wrong_id_label.xlsx +0 -0
  229. package/test-files/expression-data-test-sheets/expression_sheet_wrong_order_gene_names.xlsx +0 -0
  230. package/test-files/expression-data-test-sheets/expression_sheet_wrong_sheet_name_case.xlsx +0 -0
  231. package/test-files/expression-data-test-sheets/expression_sheet_wrong_sheet_name_convention.xlsx +0 -0
  232. package/test-files/gene-name-modifications/NaN-as-gene-name-input.xlsx +0 -0
  233. package/test-files/gene-name-modifications/NaN-as-gene-name-output.xlsx +0 -0
  234. package/test-files/gene-name-modifications/mismatched-case-related-input.xlsx +0 -0
  235. package/test-files/gene-name-modifications/mismatched-case-related-output.xlsx +0 -0
  236. package/test-files/gene-name-modifications/mismatched-case-unrelated-input.xlsx +0 -0
  237. package/test-files/gene-name-modifications/mismatched-case-unrelated-output.xlsx +0 -0
  238. package/test-files/graph-tests/different-sized-networks/{80-genes-0-edges.xlsx → 134-genes-0-edges.xlsx} +0 -0
  239. package/test-files/graph-tests/different-sized-networks/{45-genes-max-edges.xlsx → 44-source-genes-45-target-genes-max-edges.xlsx} +0 -0
  240. package/test-files/graph-tests/different-sized-networks/{1-gene-0-edges.xlsx → unused-files/1-gene-0-edges.xlsx} +0 -0
  241. package/test-files/graph-tests/different-sized-networks/{1-gene-1-edges.xlsx → unused-files/1-gene-1-edges.xlsx} +0 -0
  242. package/test-files/graph-tests/different-sized-networks/{10-genes-50-edges.xlsx → unused-files/10-genes-50-edges.xlsx} +0 -0
  243. package/test-files/graph-tests/different-sized-networks/{10-genes-90-edges.xlsx → unused-files/10-genes-90-edges.xlsx} +0 -0
  244. package/test-files/graph-tests/different-sized-networks/{100-genes-0-edges.xlsx → unused-files/100-genes-0-edges.xlsx} +0 -0
  245. package/test-files/graph-tests/different-sized-networks/{110-genes-0-edges.xlsx → unused-files/110-genes-0-edges.xlsx} +0 -0
  246. package/test-files/graph-tests/different-sized-networks/{120-genes-0-edges.xlsx → unused-files/120-genes-0-edges.xlsx} +0 -0
  247. package/test-files/graph-tests/different-sized-networks/{130-genes-0-edges.xlsx → unused-files/130-genes-0-edges.xlsx} +0 -0
  248. package/test-files/graph-tests/different-sized-networks/{140-genes-0-edges.xlsx → unused-files/140-genes-0-edges.xlsx} +0 -0
  249. package/test-files/graph-tests/different-sized-networks/{150-genes-10000-edges.xlsx → unused-files/150-genes-10000-edges.xlsx} +0 -0
  250. package/test-files/graph-tests/different-sized-networks/{150-genes-20000-edges.xlsx → unused-files/150-genes-20000-edges.xlsx} +0 -0
  251. package/test-files/graph-tests/different-sized-networks/{150-genes-max-edges.xlsx → unused-files/150-genes-max-edges.xlsx} +0 -0
  252. package/test-files/graph-tests/different-sized-networks/{160-genes-max-edges.xlsx → unused-files/160-genes-max-edges.xlsx} +0 -0
  253. package/test-files/graph-tests/different-sized-networks/{20-genes-max-edges.xlsx → unused-files/20-genes-max-edges.xlsx} +0 -0
  254. package/test-files/graph-tests/different-sized-networks/{25-genes-max-edges.xlsx → unused-files/25-genes-max-edges.xlsx} +0 -0
  255. package/test-files/graph-tests/different-sized-networks/{30-genes-max-edges.xlsx → unused-files/30-genes-max-edges.xlsx} +0 -0
  256. package/test-files/graph-tests/different-sized-networks/{34-genes-0-edges.xlsx → unused-files/34-genes-0-edges.xlsx} +0 -0
  257. package/test-files/graph-tests/different-sized-networks/{34-genes-40-edges.xlsx → unused-files/34-genes-40-edges.xlsx} +0 -0
  258. package/test-files/graph-tests/different-sized-networks/{34-genes-65-edges.xlsx → unused-files/34-genes-65-edges.xlsx} +0 -0
  259. package/test-files/graph-tests/different-sized-networks/{34-genes-90-edges.xlsx → unused-files/34-genes-90-edges.xlsx} +0 -0
  260. package/test-files/graph-tests/different-sized-networks/{5-genes-max-edges.xlsx → unused-files/5-genes-max-edges.xlsx} +0 -0
  261. package/test-files/graph-tests/different-sized-networks/{51-genes-max-edges.xlsx → unused-files/51-genes-max-edges.xlsx} +0 -0
  262. package/test-files/graph-tests/different-sized-networks/{52-genes-max-edges.xlsx → unused-files/52-genes-max-edges.xlsx} +0 -0
  263. package/test-files/graph-tests/different-sized-networks/{55-genes-0-edges.xlsx → unused-files/55-genes-0-edges.xlsx} +0 -0
  264. package/test-files/graph-tests/different-sized-networks/{55-genes-max-edges.xlsx → unused-files/55-genes-max-edges.xlsx} +0 -0
  265. package/test-files/graph-tests/different-sized-networks/{65-genes-0-edges.xlsx → unused-files/65-genes-0-edges.xlsx} +0 -0
  266. package/test-files/graph-tests/different-sized-networks/{7-genes-max-edges.xlsx → unused-files/7-genes-max-edges.xlsx} +0 -0
  267. package/test-files/graph-tests/different-sized-networks/{70-genes-0-edges.xlsx → unused-files/70-genes-0-edges.xlsx} +0 -0
  268. package/test-files/graph-tests/different-sized-networks/{9-genes-max-edges.xlsx → unused-files/9-genes-max-edges.xlsx} +0 -0
  269. package/test-files/graph-tests/different-sized-networks/{90-genes-0-edges.xlsx → unused-files/90-genes-0-edges.xlsx} +0 -0
  270. 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
  271. package/test-files/node-tests/long-gene-name-no-spaces-first.xlsx +0 -0
  272. package/test-files/node-tests/long-gene-name-no-spaces-second.xlsx +0 -0
  273. package/test-files/node-tests/long-gene-name-spaces.xlsx +0 -0
  274. package/test-files/species-test-data/15-genes_28-edges_db5_Dahlquist-data_input_no-species.xlsx +0 -0
  275. package/test-files/species-test-data/15-genes_28-edges_db5_Dahlquist-data_input_with-species.xlsx +0 -0
  276. package/test-files/species-test-data/3-gene_7-edge_elegans.xlsx +0 -0
  277. package/test-files/species-test-data/3-gene_7-edge_melanogaster.xlsx +0 -0
  278. package/test-files/species-test-data/3-gene_7-edge_musculus.xlsx +0 -0
  279. package/test-files/species-test-data/3-gene_7-edge_sapiens.xlsx +0 -0
  280. package/test-files/species-test-data/kev-fake-data-sapiens-no-exp-data.xlsx +0 -0
  281. package/test-files/spreadsheet-controller-test-files/sheet-name-capitalized-network-optimized-weights.xlsx +0 -0
  282. package/test-files/spreadsheet-controller-test-files/sheet-name-capitalized-network.xlsx +0 -0
  283. package/web-client/app.js +1 -1
  284. package/web-client/controllers/main.js +1 -1
  285. package/web-client/public/favicon.ico +0 -0
  286. package/web-client/public/gene/api.js +76 -14
  287. package/web-client/public/gene/info.js +19 -8
  288. package/web-client/public/js/api/grnsight-api.js +124 -0
  289. package/web-client/public/js/constants.js +90 -17
  290. package/web-client/public/js/createNetwork.js +195 -0
  291. package/web-client/public/js/graph-statistics.js +7 -7
  292. package/web-client/public/js/graph.js +369 -324
  293. package/web-client/public/js/grnsight.js +2 -2
  294. package/web-client/public/js/grnsight.min.js +128 -59
  295. package/web-client/public/js/grnstate.js +54 -30
  296. package/web-client/public/js/iframe-coordination.js +55 -0
  297. package/web-client/public/js/setup-handlers.js +358 -18
  298. package/web-client/public/js/setup-load-and-import-handlers.js +105 -66
  299. package/web-client/public/js/update-app.js +483 -93
  300. package/web-client/public/js/upload.js +349 -32
  301. package/web-client/public/js/warnings.js +13 -51
  302. package/web-client/public/lib/iframeSizer.contentWindow.min.js +10 -0
  303. package/web-client/public/stylesheets/grnsight.styl +323 -28
  304. package/web-client/views/components/demo.pug +10 -0
  305. package/web-client/views/{graph.jade → graph.pug} +0 -0
  306. package/web-client/views/{info.jade → info.pug} +1 -5
  307. package/web-client/views/upload.pug +580 -0
  308. package/_gh_pages/Gemfile +0 -7
  309. package/_gh_pages/Gemfile.lock +0 -129
  310. package/documents/SDF/CMSI_402/spring_2014/Southwick_CMSI402_Spring2014_software-development-plan.md +0 -71
  311. package/documents/SDF/CMSI_402/spring_2014/Southwick_CMSI402_Spring2014_software-requirements-specification.md +0 -71
  312. package/documents/SDF/CMSI_402/spring_2014/use-case-diagram-spring-2014.jpg +0 -0
  313. package/documents/SDF/CMSI_402/spring_2017/Anguiano_402_Final_Presentation.pptx +0 -0
  314. package/documents/SDF/CMSI_402/spring_2017/Anguiano_402_Presentation_Final_Poster.pdf +0 -0
  315. package/documents/SDF/CMSI_402/spring_2017/Anguiano_CMSI402_Spring2017_project-proposal-presentation.pptx +0 -0
  316. package/documents/SDF/CMSI_402/spring_2017/Anguiano_CMSI402_Spring2017_project-proposal.docx +0 -0
  317. package/documents/SDF/CMSI_402/spring_2017/Anguiano_CMSI402_Spring2017_software-development-plan.docx +0 -0
  318. package/documents/SDF/CMSI_402/spring_2017/Anguiano_CMSI402_Spring2017_software-requirements-specification.docx +0 -0
  319. package/documents/SDF/CMSI_402/spring_2017/Design Review Presentation.pptx +0 -0
  320. package/documents/SDF/CMSI_402/spring_2018/0402report.docx +0 -0
  321. package/documents/SDF/CMSI_402/spring_2018/0409report.docx +0 -0
  322. package/documents/SDF/CMSI_402/spring_2018/402-gantt.png +0 -0
  323. package/documents/SDF/CMSI_402/spring_2018/402SRS_GRNSightFeedback01.txt +0 -28
  324. package/documents/SDF/CMSI_402/spring_2018/402_SPD.md +0 -223
  325. package/documents/SDF/CMSI_402/spring_2018/ChoeShinCMSI402_Final.pptx +0 -0
  326. package/documents/SDF/CMSI_402/spring_2018/ProjectProposal.md +0 -22
  327. package/documents/SDF/CMSI_402/spring_2018/SoftwareRequirementsSpecification.md +0 -88
  328. package/documents/SDF/CMSI_402/spring_2018/homework/choe_eileen/Choe_Eileen_CMSI 402_HW1.pdf +0 -0
  329. package/documents/SDF/CMSI_402/spring_2018/homework/choe_eileen/Choe_Eileen_CMSI402_HW2.pdf +0 -0
  330. package/documents/SDF/CMSI_402/spring_2018/homework/shin_jen/402hw2.docx +0 -0
  331. package/documents/SDF/CMSI_402/spring_2018/homework/shin_jen/Jen - 402Hw1.docx +0 -0
  332. package/documents/SDF/CMSI_402/spring_2018/homework/shin_jen/Jen - hw3.docx +0 -0
  333. package/documents/SDF/CMSI_402/spring_2018/writtenStatusReport.docx +0 -0
  334. package/documents/SDF/CMSI_402/spring_2018/writtenStatusReport4 +0 -0
  335. package/documents/abstracts/Anguiano_Varshneya_Undergraduate-Research-Symposium_2017_abstract.pdf +0 -0
  336. package/documents/abstracts/SIGGRAPH 2017 Abstract/ACM-Reference-Format.bst +0 -3478
  337. package/documents/abstracts/SIGGRAPH 2017 Abstract/Figure1_zoom100.png +0 -0
  338. package/documents/abstracts/SIGGRAPH 2017 Abstract/acmart.cls +0 -2352
  339. package/documents/abstracts/SIGGRAPH 2017 Abstract/acmart.ins +0 -29
  340. package/documents/abstracts/SIGGRAPH 2017 Abstract/always-weights.png +0 -0
  341. package/documents/abstracts/SIGGRAPH 2017 Abstract/auto.png +0 -0
  342. package/documents/abstracts/SIGGRAPH 2017 Abstract/networkA.png +0 -0
  343. package/documents/abstracts/SIGGRAPH 2017 Abstract/networkB-normalized.png +0 -0
  344. package/documents/abstracts/SIGGRAPH 2017 Abstract/networkB.png +0 -0
  345. package/documents/abstracts/SIGGRAPH 2017 Abstract/never-weights.png +0 -0
  346. package/documents/abstracts/SIGGRAPH 2017 Abstract/representative-image/screenshot.jpg +0 -0
  347. package/documents/abstracts/SIGGRAPH 2017 Abstract/representative-image/screenshot3x2.png +0 -0
  348. package/documents/abstracts/SIGGRAPH 2017 Abstract/representative-image/withweights3x2.png +0 -0
  349. package/documents/abstracts/SIGGRAPH 2017 Abstract/screenshot-auto.png +0 -0
  350. package/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.bib +0 -85
  351. package/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.pdf +0 -0
  352. package/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.tex +0 -235
  353. package/documents/abstracts/SWE Collegiate Competition 2017.md +0 -9
  354. package/documents/abstracts/Samdarshi_GRNsight_SoCalSysBio_Abstract_2019.docx +0 -0
  355. package/documents/abstracts/Varshneya_Samdarshi_Southern-California-Systems-Biology_2017_abstract.docx +0 -0
  356. package/documents/abstracts/~$mdarshi_SoCalSysBio_Abstract_2019.docx +0 -0
  357. package/documents/developer_documents/State Diagram.graphml +0 -3525
  358. package/documents/developer_documents/graphml/State Diagram.graphml +0 -3115
  359. package/documents/developer_documents/older_versions/GRNsight State Diagram old.png +0 -0
  360. package/documents/developer_documents/older_versions/GRNsight State Diagram.png +0 -0
  361. package/documents/developer_documents/testing_script_generator/GRNsightTestingDocument.md +0 -998
  362. package/documents/developer_documents/testing_script_generator/featureList.json +0 -496
  363. package/documents/developer_documents/testing_script_generator/testing-script-generator.js +0 -149
  364. package/documents/manuscripts/peerj-computerscience-2016/GRNsight_PeerJ-CS_conference-presentations_2016.docx +0 -0
  365. package/documents/manuscripts/peerj-computerscience-2016/GRNsight_PeerJ-CS_manuscript_2016.docx +0 -0
  366. package/documents/manuscripts/peerj-computerscience-2016/GRNsight_PeerJ-CS_manuscript_2016_Table1.docx +0 -0
  367. package/documents/manuscripts/peerj-computerscience-2016/GRNsight_PeerJ-CS_manuscript_2016_references.rtf +0 -264
  368. package/documents/manuscripts/peerj-computerscience-2016/GRNsight_PeerJ-CS_manuscript_2016_text-only.docx +0 -0
  369. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/21-genes_31-edges_Schade-data_for-screenshots.xlsx +0 -0
  370. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure1_zoom100.jpg +0 -0
  371. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure1_zoom100.png +0 -0
  372. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure1_zoom100.psd +0 -0
  373. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure1_zoom145.jpg +0 -0
  374. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure1_zoom145.png +0 -0
  375. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure1_zoom145.psd +0 -0
  376. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure1_zoom145_900pix-wide.psd +0 -0
  377. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure2_zoom100.jpg +0 -0
  378. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure2_zoom100.png +0 -0
  379. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure2_zoom100.psd +0 -0
  380. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure2_zoom145.jpg +0 -0
  381. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure2_zoom145.png +0 -0
  382. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure2_zoom145.psd +0 -0
  383. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure2_zoom145_900pix-wide.psd +0 -0
  384. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure5A.pdf +0 -0
  385. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure5B.pdf +0 -0
  386. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure5C.eps +0 -0
  387. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure5D.pdf +0 -0
  388. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure5E.pdf +0 -0
  389. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure5F.eps +0 -0
  390. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure5_compiled.png +0 -0
  391. package/documents/manuscripts/peerj-computerscience-2016/figures/submitted-versions/Figure3_GRNsight-Architecture.pdf +0 -0
  392. package/documents/manuscripts/peerj-computerscience-2016/figures/submitted-versions/Figure4_GRNsight-Screenshot.pdf +0 -0
  393. package/documents/manuscripts/peerj-computerscience-2016/figures/submitted-versions/Figure5_compiled.pdf +12 -5383
  394. package/documents/manuscripts/peerj-computerscience-2016/peerj-reviewing-10823-v0.pdf +0 -0
  395. package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_conference-presentations_2016_revised.docx +0 -0
  396. package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_cover-letter-and-response_2016.pdf +0 -0
  397. package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_cover-letter_2016.docx +0 -0
  398. package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_cover-letter_2016.pdf +0 -0
  399. package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_manuscript_2016_Table1.docx +0 -0
  400. package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_manuscript_2016_references_revised.rtf +0 -385
  401. package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_manuscript_2016_text-only_revised.docx +0 -0
  402. package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_manuscript_2016_text-only_revised_marked.docx +0 -0
  403. package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_response-to-reviewers_2016.docx +0 -0
  404. package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_response-to-reviewers_2016.pdf +0 -0
  405. package/documents/manuscripts/peerj-computerscience-2016/revisions/figures/Figure3_GRNsight-Architecture.pdf +0 -0
  406. package/documents/manuscripts/peerj-computerscience-2016/revisions/figures/Figure4_GRNsight-Screenshot-auto.pdf +0 -0
  407. package/documents/manuscripts/peerj-computerscience-2016/revisions/figures/Figure4_GRNsight-Screenshot.pdf +0 -0
  408. package/documents/manuscripts/peerj-computerscience-2016/revisions/peerj-reviewing-10823-v1.pdf +0 -0
  409. package/documents/posters/Anguiano_CMSI402_2017.pptx +0 -0
  410. package/documents/posters/Anguiano_Varshneya_LMU-Symposium_2015.pptx +0 -0
  411. package/documents/posters/Anguiano_Varshneya_SCCUR_2014.pptx +0 -0
  412. package/documents/posters/Choe_Shin_CMSI402_2018.pptx +0 -0
  413. package/documents/posters/Dahlquist-et-al_BOSC_ISMB_2016_poster.pptx +0 -0
  414. package/documents/posters/Lopez_Filler_LMU_Symposium_2019.pdf +0 -0
  415. package/documents/posters/Lopez_Filler_LMU_Symposium_2019.pptx +0 -0
  416. package/documents/posters/Samdarshi-et-al_LMU-Symposium_2017.pptx +0 -0
  417. package/documents/posters/Samdarshi-et-al_LMU-Symposium_2018.pptx +0 -0
  418. package/documents/posters/Samdarshi-et-al_SoCalSysBio_2019.pptx +0 -0
  419. package/documents/posters/Shin-et-al_SCCUR_2017.pptx +0 -0
  420. package/documents/posters/Southwick_CMSI402_2014.pptx +0 -0
  421. package/documents/posters/Varshneya_Samdarshi_LMU-Symposium_2016.pptx +0 -0
  422. package/documents/posters/Varshneya_Samdarshi_SoCalSysBio_2017.pptx +0 -0
  423. package/documents/presentations/Anguiano_402_Final_Presentation.pptx +0 -0
  424. package/documents/presentations/Choe_SWERapidFire2017_final.pptx +0 -0
  425. package/documents/presentations/Dahlquist_BOSC_20160709.pptx +0 -0
  426. package/documents/presentations/Dahlquist_ExperimentalBiology_20160404_talk.pptx +0 -0
  427. package/documents/presentations/Dahlquist_SoCalSysBio_20150131_talk.pptx +0 -0
  428. package/documents/presentations/Samdarshi_LMU-Symposium_20190323_talk.pdf +0 -0
  429. package/documents/presentations/Samdarshi_LMU-Symposium_20190323_talk.pptx +0 -0
  430. package/documents/presentations/Southwick_Anguiano_LMU-Symposium_20140329_talk.pptx +0 -0
  431. package/documents/presentations/Southwick_CMSI402_Presentation_20140508_talk.pptx +0 -0
  432. package/documents/presentations/Varshneya_Anguiano_LMU-Symposium_201703_talk.pptx +0 -0
  433. package/documents/reports/Samdarshi_Mihir_2019/Samdarshi_2019_Final.docx +0 -0
  434. package/documents/reports/Samdarshi_Mihir_2019/Samdarshi_Mihir_2019_AnnotatedBibliography.docx +0 -0
  435. package/documents/reports/Samdarshi_Mihir_2019/Samdarshi_Mihir_2019_Outline.docx +0 -0
  436. package/documents/reports/Samdarshi_Mihir_2019/~$mdarshi_2019_Draft.docx +0 -0
  437. package/documents/reports/Samdarshi_Mihir_2019/~$mdarshi_2019_Final_Paper_Draft.docx +0 -0
  438. package/documents/reports/Varshneya_Anu_2017/Varshneya-201701-AnnotatedBibliography.docx +0 -0
  439. package/documents/reports/Varshneya_Anu_2017/Varshneya-201702-Introduction.docx +0 -0
  440. package/documents/reports/Varshneya_Anu_2017/Varshneya-201702-Outline.docx +0 -0
  441. package/documents/reports/Varshneya_Anu_2017/Varshneya-201703-Discussion.docx +0 -0
  442. package/documents/reports/Varshneya_Anu_2017/Varshneya-201703-MMResults.docx +0 -0
  443. package/documents/reports/Varshneya_Anu_2017/Varshneya-201704-Draft-1.docx +0 -0
  444. package/documents/reports/Varshneya_Anu_2017/Varshneya-201704-Final.docx +0 -0
  445. package/onlysidebar.html +0 -8
  446. package/test/graph-library-tests.js +0 -165
  447. package/test-files/demo-files/21-genes_50-edges_Dahlquist-data_estimation_output.xlsx +0 -0
  448. package/test-files/demo-files/21-genes_50-edges_Dahlquist-data_input.xlsx +0 -0
  449. package/test-files/graph-tests/different-sized-networks/10-genes-max-edges.xlsx +0 -0
  450. package/test-files/graph-tests/different-sized-networks/12-genes-max-edges.xlsx +0 -0
  451. package/test-files/graph-tests/different-sized-networks/35-genes-max-edges.xlsx +0 -0
  452. package/test-files/graph-tests/different-sized-networks/40-genes-0-edges.xlsx +0 -0
  453. package/test-files/graph-tests/different-sized-networks/40-genes-max-edges.xlsx +0 -0
  454. package/test-files/graph-tests/different-sized-networks/42-genes-max-edges.xlsx +0 -0
  455. package/test-files/graph-tests/different-sized-networks/50-genes-max-edges.xlsx +0 -0
  456. package/test-files/graph-tests/different-sized-networks/75-genes-150-edges.xlsx +0 -0
  457. package/web-client/public/js/container.js +0 -121
  458. package/web-client/views/upload.jade +0 -464
@@ -0,0 +1,580 @@
1
+ doctype html
2
+ html
3
+ head
4
+ title GRNsight
5
+ link(href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css", rel="stylesheet")
6
+ link(href="stylesheets/grnsight.css", rel="stylesheet")
7
+ link(href="stylesheets/print.css", rel="stylesheet", media="print")
8
+ link(href="//code.jquery.com/ui/1.10.1/themes/base/jquery-ui.css", rel="stylesheet")
9
+ script(src="//code.jquery.com/jquery-1.9.1.js")
10
+ script(src="//code.jquery.com/ui/1.10.1/jquery-ui.js")
11
+ script.
12
+ (function(i,s,o,g,r,a,m){i["GoogleAnalyticsObject"]=r;i[r]=i[r]||function(){
13
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
14
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
15
+ })(window,document,"script","//www.google-analytics.com/analytics.js","ga");
16
+ ga("create", "UA-54882218-1", "auto");
17
+
18
+ body
19
+ nav(class='navbar navbar-default' role='navigation')
20
+ div(class='container-fluid')
21
+ div(class='navbar-header')
22
+ button(type='button' class='navbar-toggle' data-toggle='collapse' data-target='#header-nav')
23
+ span(class='sr-only') Toggle Navigation
24
+ span(class='icon-bar')
25
+ span(class='icon-bar')
26
+ span(class='icon-bar')
27
+ div(class='collapse navbar-collapse' id='header-nav')
28
+ ul(class='nav navbar-nav')
29
+ li(class='dropdown')
30
+ a(href='#' class='dropdown-toggle' data-toggle='dropdown') Network
31
+ ul(class='dropdown-menu' role='menu')
32
+ span(class='menu-subheader')
33
+ strong Network Source
34
+ li(class='dropdown-submenu')
35
+ a(href='#' class='demo')
36
+ span Demo
37
+ include components/demo.pug
38
+ li(class='sub-divider')
39
+ li
40
+ a(class='upload' href='#' id='open-item')
41
+ label(for='upload-nav' id='open')
42
+ span(class='glyphicon glyphicon-folder-open')
43
+ |   Open File...
44
+ i (.xlsx, .sif, .graphml)
45
+ input(type='file' name='upload' id="upload-nav" class='upload' accept='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, .sif, .graphml')
46
+ input(type='hidden' class='service-root' value=`${serviceRoot}`)
47
+ li(class='sub-divider')
48
+ li
49
+ a(class='create-network' href='#')
50
+ label(for='create-network' class='create-network-label') Load from Database...
51
+
52
+ li(class='divider')
53
+ li(class='startDisabled disabled')
54
+ a(href='#' class='reload')
55
+ span(class='glyphicon glyphicon-repeat')
56
+ |   Reload
57
+
58
+ li(class='divider')
59
+
60
+ li
61
+ span(class='menu-subheader') Species
62
+ li
63
+ p(id='Saccharomyces-cerevisiae')
64
+ span(class='glyphicon glyphicon-ok')
65
+ |   Saccharomyces cerevisiae
66
+
67
+
68
+ li(class='dropdown')
69
+ a(href='#' class='dropdown-toggle', data-toggle='dropdown') Layout
70
+ ul(class='dropdown-menu' role='menu')
71
+ span(class='menu-subheader') Graph Options
72
+ li
73
+ a(href='#' id='forceGraph' class='layout' checked)
74
+ span(class='glyphicon glyphicon-ok')
75
+ |   Force Graph
76
+ a(href='#' id='gridLayout' class='layout')
77
+ span(class='glyphicon')
78
+ |   Grid Layout
79
+ li(class='divider')
80
+ li
81
+ a(href='#' id='lockSlidersMenu' class="lockSliders")
82
+ span(class='glyphicon invisible')
83
+ |   Lock Force Graph Parameters
84
+ li
85
+ a(href='#' id='resetSlidersMenu' class="resetSliders")
86
+ span(class='glyphicon invisible')
87
+ |   Reset Force Graph Parameters
88
+ li(class='disabled')
89
+ a(href='#' id='undoResetMenu' class="undoSliderReset")
90
+ span(class='glyphicon invisible')
91
+ |   Undo Reset
92
+ li(class='divider')
93
+ li
94
+ a(href='#' id='link-distance' class='with-input')
95
+ span(class='glyphicon invisible')
96
+ |   Link Distance (1 - 1000)  
97
+ input(type='number' id='link-distance-menu' class='keepopen' value='500' aria-describedby='basic-addon1')
98
+ li
99
+ a(href='#' id='charge' class='with-input')
100
+ span(class='glyphicon invisible')
101
+ |   Charge (-2000 - 0)  
102
+ input(type='number' id='charge-menu' class='keepopen' value='-50' aria-describedby='basic-addon1')
103
+
104
+
105
+ li(class='dropdown')
106
+ a(href='#' class='dropdown-toggle' data-toggle='dropdown') Node
107
+ ul(class='dropdown-menu' role='menu')
108
+ li(class='node-coloring-menu disabled')
109
+ a(href='#' id='node-coloring-toggle-menu' class='nodeColoringToggle')
110
+ span(class='glyphicon')
111
+ |   Enable Node Coloring
112
+ li(class='divider')
113
+ li(class='node-coloring-menu dropdown-submenu disabled')
114
+ a(href='#')
115
+ span(class='glyphicon invisible')
116
+ |   Select Top Dataset
117
+ ul(class='dropdown-menu' id='topDatasetDropdownMenu')
118
+ li(class='node-coloring-menu disabled')
119
+ a(href='#' id='averageDataTopMenu' class='nodeColoring')
120
+ span(class='glyphicon')
121
+ |   Average Replicate Values for Top Dataset
122
+ li(class='divider')
123
+ li(class='node-coloring-menu dropdown-submenu disabled')
124
+ a(href='#')
125
+ span(class='glyphicon invisible')
126
+ |   Select Bottom Dataset
127
+ ul(class='dropdown-menu' id='bottomDatasetDropdownMenu')
128
+ li(class='node-coloring-menu disabled')
129
+ a(href='#' id='averageDataBottomMenu' class='viewportOption')
130
+ span(class='glyphicon')
131
+ |   Average Replicate Values for Bottom Dataset
132
+ li(class='divider')
133
+ li(class='node-coloring-menu disabled')
134
+ a(href='#' class='nodeOptions with-input')
135
+ span(class='glyphicon invisible')
136
+ |   Log Fold Change Max Value (0.01 - 100):  
137
+ input(type='number' min="0.01" max="100" id='log-fold-change-max-value-menu' class='logFoldChangeMaxValue keepopen' aria-describedby='basic-addon1')
138
+
139
+ li(class='dropdown')
140
+ a(href='#' class='dropdown-toggle' data-toggle='dropdown') Edge
141
+ ul(class='dropdown-menu')
142
+ li(class='weightedGraphOptionsMenu disabled')
143
+ a(href='#' id='colorEdges' class='colorEdges active')
144
+ span(class='glyphicon glyphicon-ok')
145
+ |   Enable Edge Coloring Based on Weight Values
146
+ li(class='divider')
147
+ li(class='weightedGraphOptionsMenu disabled')
148
+ a(href='#' id='weightsMouseOverMenu' class='weightsMouseOver' class='selected')
149
+ span(class='glyphicon glyphicon-ok')
150
+ |   Only Show Edge Weights With Mouse Over
151
+ li(class='weightedGraphOptionsMenu disabled')
152
+ a(href='#' id='weightsAlwaysMenu' class='weightsAlways')
153
+ span(class='glyphicon')
154
+ |   Always Show Edge Weights
155
+ li(class='weightedGraphOptionsMenu disabled')
156
+ a(href='#' id='weightsNeverMenu' class='weightsNever')
157
+ span(class='glyphicon')
158
+ |   Never Show Edge Weights
159
+ li(class='divider')
160
+ li(class='weightedGraphOptionsMenu disabled')
161
+ a(href='#' class='with-input')
162
+ span(class='glyphicon invisible')
163
+ |   Edge Weight Normalization Factor (0.0001 - 1000)  
164
+ input(type='number' id='edge-weight-normalization-factor-menu' class='keepopen' placeholder='' step='0.0001' aria-describedby='basic-addon1')
165
+ li(class='weightedGraphOptionsMenu disabled')
166
+ a(href='#' id='reset-normalization-factor-menu')
167
+ span(class='glyphicon invisible')
168
+ |   Reset Edge Weight Normalization Factor
169
+ li(class='divider')
170
+ li(class='weightedGraphOptionsMenu disabled')
171
+ a(href='#' class='with-input')
172
+ span(class='glyphicon invisible')
173
+ |   Gray Edge Threshold (0 - 100%)  
174
+ input(type='number' id='gray-edge-threshold-menu' class='keepopen' value='5' aria-describedby='basic-addon1')
175
+ | %
176
+ li(class='weightedGraphOptionsMenu disabled')
177
+ a(href='#' id='grey-edges-dashed-menu')
178
+ span(class='glyphicon')
179
+ |   Show Gray Edges as Dashed
180
+
181
+ li(class='dropdown')
182
+ a(href='#' class='dropdown-toggle' data-toggle='dropdown') View
183
+ ul(class='dropdown-menu' role='menu')
184
+ span(class='menu-subheader') Viewport Size
185
+ li
186
+ a(href='#' id='viewport-size-s' class='viewportOption active' value='containerS')
187
+ span(class='glyphicon')
188
+ |   Small (1104 x 648 pixels)
189
+ li
190
+ a(href='#' id='viewport-size-m' class='viewportOption' value='containerM')
191
+ span(class='glyphicon glyphicon-ok')
192
+ |   Medium (1414 x 840 pixels)
193
+ li
194
+ a(href='#' id='viewport-size-l' class='viewportOption' value='containerL')
195
+ span(class='glyphicon')
196
+ |   Large (1920 x 1080 pixels)
197
+ li
198
+ a(href='#' id='viewport-size-fit' class='viewportOption' value='containerFit')
199
+ span(class='glyphicon')
200
+ |   Fit To Window
201
+ li(class='divider')
202
+ li
203
+ a(href='#' id='restrict-graph-to-viewport' class='viewportOption')
204
+ span(class='glyphicon')
205
+ |   Restrict Graph to Viewport
206
+ li(class='divider')
207
+ li(class='startDisabled disabled')
208
+ a(href='#' id='zoom' class='with-input')
209
+ span(class='glyphicon invisible')
210
+ |   Zoom (
211
+ span(class='minimum-zoom-display')
212
+ | –
213
+ span(class='maximum-zoom-display')
214
+ | %)  
215
+ input(type='number' id='zoomInput' min='1' max='200' value='100' class='zoom keepopen' aria-describedby='basic-addon1' disabled="true")
216
+ span
217
+ |   %
218
+
219
+ li(class='dropdown')
220
+ a(href='#' class='dropdown-toggle' data-toggle='dropdown') Export
221
+ ul(class='dropdown-menu' role='menu')
222
+ li(class='dropdown-submenu')
223
+ a(href='#')
224
+ span(class='glyphicon glyphicon-export')
225
+ |   Export Data
226
+ ul(class='dropdown-menu')
227
+ //- Temporary hardcoded display: none pending further testing of the Excel export feature.
228
+ li(class='startDisabled disabled unweighted export' style='display: none')
229
+ a(href='#' id='exportAsExcelWkbk') To Excel Workbook
230
+ //- Need to omit the divider too.
231
+ li(class='divider' style='display: none')
232
+ li(class='startDisabled disabled unweighted export')
233
+ a(href='#' id='exportAsUnweightedSif') To Unweighted SIF
234
+ li(class='startDisabled disabled weighted export')
235
+ a(href='#' id='exportAsWeightedSif') To Weighted SIF
236
+ li(class='divider')
237
+ li(class='startDisabled disabled unweighted export')
238
+ a(href='#' id='exportAsUnweightedGraphMl') To Unweighted GraphML
239
+ li(class='startDisabled disabled weighted export')
240
+ a(href='#' id='exportAsWeightedGraphMl') To Weighted GraphML
241
+ li(class='divider')
242
+ //- li(class='startDisabled disabled unweighted export')
243
+ a(href='#' id='exportAsUnweightedExcel') To Unweighted Excel
244
+ //- li(class='startDisabled disabled weighted export')
245
+ //- a(href='#' id='exportAsWeightedExcel') To Weighted Excel
246
+ li(class='startDisabled disabled export')
247
+ a(href='#' id='exportAsExcel') To Excel
248
+
249
+ li(class='dropdown-submenu')
250
+ a(href='#')
251
+ span(class='glyphicon glyphicon-picture')
252
+ |   Export Image
253
+ ul(class='dropdown-menu')
254
+ li(class='startDisabled disabled')
255
+ a(href='#' id='exportAsPng') To PNG
256
+ li(class='startDisabled disabled')
257
+ a(href='#' id='exportAsSvg') To SVG
258
+ li(class='startDisabled disabled')
259
+ a(href='#' id='exportAsPdf') To PDF
260
+ li(class='divider')
261
+ li(class='startDisabled disabled')
262
+ a(href='#' id='printGraph')
263
+ span(class='glyphicon glyphicon-print')
264
+ |   Print
265
+
266
+
267
+ li(class='dropdown')
268
+ a(href='#' class='dropdown-toggle' data-toggle='dropdown') Help
269
+ ul(class='dropdown-menu' role='menu')
270
+ li
271
+ a(href='//dondi.github.io/GRNsight/documentation.html#gettingStarted', target='_blank') Getting Started
272
+ li
273
+ a(href='https://github.com/dondi/GRNsight/wiki', target='_blank') GRNsight Wiki
274
+ li
275
+ a(href='//dondi.github.io/GRNsight/about.html', target='_blank') About GRNsight
276
+
277
+ li(class='dropdown')
278
+ a(href='#' class='dropdown-toggle' data-toggle='dropdown') Demo
279
+ include components/demo.pug
280
+ li
281
+ a(href='#' id='fileName')
282
+ ul(class='nav navbar-nav navbar-right graph-metadata-container')
283
+ li(class='navbar-text text-right')
284
+ small(id='graph-metadata')
285
+
286
+ div(class='container')
287
+ div(class='grnsight-container' data-iframe-width data-iframe-height)
288
+ div(class='scale-and-scroll')
289
+ table(class='scrollTable')
290
+ tr
291
+ td
292
+ td(class='scrollBtn scrollUp')
293
+ p(class='movementArrow') ↑
294
+ td
295
+ tr
296
+ td(class='scrollBtn scrollLeft')
297
+ p(class='movementArrow') ←
298
+ td(class='scrollBtn center')
299
+ p(class='movementArrow') ☼
300
+ td(class='scrollBtn scrollRight')
301
+ p(class='movementArrow') →
302
+ tr
303
+ td
304
+ td(class='scrollBtn scrollDown')
305
+ p(class='movementArrow') ↓
306
+ td
307
+
308
+ span(class="pull-left zoomLabel")
309
+ b
310
+ | Zoom (
311
+ span(class='minimum-zoom-display')
312
+ | –
313
+ span(class='maximum-zoom-display')
314
+ | %): 
315
+ span(class="pull-right zoomLabel" id="zoomPercent") 100%
316
+ br
317
+ table(class='zoomTable')
318
+ tr
319
+ td
320
+ div(class="zoomCenter")
321
+ input(id="zoomSlider" class="zoom" type="range" min="0" max="8" value="4" step="0.25" disabled="true")
322
+
323
+
324
+
325
+
326
+ div(class='sidebar' data-iframe-height)
327
+ div(class='panel-group')
328
+ div(class="network panel panel-default")
329
+ p(class='panel-title sidebarPanelHeader')
330
+ a(data-toggle='collapse' data-target='#networkSidebarPanel') Network
331
+ div(id="networkSidebarPanel" class="panel-collapse")
332
+ div(class="panel-body")
333
+ form(class='panelDropdownContainer')
334
+ p(class="network-source-section-title") Network Source
335
+ div(class="network-source-section")
336
+ form(class='panelDropdownContainer')
337
+ label(for='speciesDropdown' class='info') Demo
338
+ select(class="DemoSourceDropdown panelDropdown btn btn-default" id='demoSourceDropdown' href='#')
339
+ option(value="none" selected="true" disabled hidden) Select a Demo
340
+ option(href='#' id='demoSourceDropdown-unweighted' class='unweighted' value='unweighted') Demo #1: Unweighted GRN (15 genes, 28 edges, Dahlquist Lab unpublished data)
341
+ option(href='#' id='demoSourceDropdown-weighted' class='weighted' value='weighted') Demo #2: Weighted GRN (15 genes, 28 edges, Dahlquist Lab unpublished data)
342
+ option(href='#' id='demoSourceDropdown-schadeInput' class='schadeInput' value='schadeInput') Demo #3: Unweighted GRN (21 genes, 31 edges)
343
+ option(href='#' id='demoSourceDropdown-schadeOutput' class='schadeOutput' value='schadeOutput') Demo #4: Weighted GRN (21 genes, 31 edges, Schade et al. 2004 data)
344
+ label(for='upload-network' class='open btn btn-default network-button' data-toggle='tooltip', title='(.xlsx, .sif, .graphml)')
345
+ span(class='glyphicon glyphicon-folder-open')
346
+ |   Open File
347
+ input(type='file' name='upload' id='upload-network' class='upload btn btn-default' accept='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, .sif, .graphml')
348
+ input(type='hidden' class='service-root' value=`${serviceRoot}`)
349
+ button(id="create-network-button" class="btn btn-default create-network network-button")
350
+ span(class='glyphicon glyphicon-hdd sidebar-glyphicon')
351
+ |   Load from Database
352
+ div(class="long-sub-divider")
353
+ button(id="reload-button", class="btn btn-default network-button reload startDisabled disabled")
354
+ span(class='glyphicon glyphicon-repeat sidebar-glyphicon')
355
+ |   Reload
356
+ div(class="long-sub-divider")
357
+ label(for='species-info' class='info') Species:
358
+ span(id='species' class='network-type') Saccharomyces cerevisiae
359
+ input(type="hidden" id='species-info')
360
+
361
+ //- Sliders should have the ID convention of -Name-Val and -Name-Input in order to work properly in the javascript
362
+ div(class="force-graph panel panel-default")
363
+ p(class='panel-title sidebarPanelHeader')
364
+ a(data-toggle='collapse' data-target='#layoutSidebarPanel') Layout
365
+ div(id="layoutSidebarPanel" class="panel-collapse collapse")
366
+ div(class="panel-body")
367
+ form(class='buttonPairContainer')
368
+ //- Value is set to empty to ensure that the MVC cycle takes care of the button’s label.
369
+ input(id='forceGraphButton' type='button' class='btn btn-default' value='Force Graph')
370
+ input(id='gridLayoutButton' type='button' class='btn btn-default' value='Grid Layout')
371
+ form(class='forceParameterContainer')
372
+ div(class='labelWithValueContainer')
373
+ label(for='linkDistInput', class='info', data-toggle='tooltip', title='Increases/decreases the length of the edges that connect the nodes.') Link Distance (1-1000):
374
+ span(id='linkDistVal' class='forceVal') 500
375
+ input(class='sidebarSlider', type='range', min='1', max='1000', value='500', step='1', id='linkDistInput', name='linkDistInput')
376
+ div(class='labelWithValueContainer')
377
+ label(for='chargeInput', class='info', data-toggle='tooltip', title='Increases/decreases the strength of the force that causes the nodes to repel each other.') Charge (–2000-0):
378
+ span(id='chargeVal' class='forceVal') -50
379
+ input(class='sidebarSlider', type='range', min='-2000', max='0', value='-50', step='1', id='chargeInput', name='chargeInput')
380
+ form
381
+ input(id='lockSlidersButton', type='checkbox', value='lockSliders' class="lockSliders")
382
+ label(for='lockSlidersButton' class='sideLabel') Lock Force Parameters
383
+ form
384
+ input(id='resetSlidersButton' type='button' class='btn btn-default btnSidebar resetSliders' value='Reset Force Parameters')
385
+ input(id='undoResetButton' type='button' class='btn btn-default btnSidebar undoSliderReset' value='Undo Reset' disabled)
386
+ p(id='warningMessage' data-toggle='modal' data-target='#warningsModal')
387
+
388
+ div(class="node-coloring disabled panel panel-default disabled")
389
+ p(class='panel-title sidebarPanelHeader disabledOnLaunch')
390
+ a(id='nodeColoringHeaderLink' data-toggle='collapse' data-target='#nodeColoringSidebarPanel') Node
391
+ div(id="nodeColoringSidebarPanel" class="panel-collapse collapse")
392
+ div(class="panel-body")
393
+ div(class='edgeControl')
394
+ input(id='nodeColoringToggleSidebar' class='nodeColoringToggle' type='checkbox' checked)
395
+ label(for='nodeColoringToggleSidebar' class='sideLabel') Enable Node Coloring
396
+ div(class="nodeColoringSidebarBody")
397
+ p(class='sideHeader info' data-toggle='tooltip') Select from user-uploaded expression data, or use data from our Expression Database
398
+ p(class='sideHeader info' data-toggle='tooltip') Top Dataset
399
+ select(id="dataset-top")
400
+ form
401
+ input(id='averageDataTop', type='checkbox' checked)
402
+ label(for='averageDataTop' class='sideLabel') Average Replicate Values
403
+ p(class='sideHeader info' data-toggle='tooltip') Bottom Dataset
404
+ select(id="dataset-bottom")
405
+ form
406
+ input(id='averageDataBottom', type='checkbox' checked)
407
+ label(for='averageDataBottom' class='sideLabel') Average Replicate Values
408
+ p(class='sideHeader' id="logFoldChangeMaxValue") Log Fold Change Max Value (0.01-100):
409
+ div(class='logFoldChangeControlContainer')
410
+ input(type='number' min='1' max='100' step='1' id='log-fold-change-max-value-sidebar' class='logFoldChangeMaxValue' aria-describedby='basic-addon1')
411
+ button(type="button" class='btn btn-default s' id="log-fold-change-button") Set
412
+ div(class="node-coloring-legend")
413
+ div(class="expression-db-loader-text") Expression Database is Loading
414
+ div(class="expression-db-loader")
415
+
416
+ div(class='edge-weight-sidebar disabled panel panel-default disabled')
417
+ p(class='panel-title sidebarPanelHeader disabledOnLaunch')
418
+ a(id="edgeWeightHeaderLink" data-toggle='collapse' data-target='#edgeSidebarPanel') Edge
419
+ div(id="edgeSidebarPanel" class="panel-collapse collapse")
420
+ div(class="panel-body")
421
+ form(class='weightedGraphOptions hidden')
422
+ div(class='edgeControl')
423
+ input(id='colorEdgesSidebar' class='colorEdges' type='checkbox' checked)
424
+ label(for='colorEdgesSidebar' class='sideLabel') Enable Edge Coloring
425
+ p(class='sideHeader') Hide/Show Edge Weights
426
+ div(class='edgeControl')
427
+ input(type='radio' id='weightsMouseOverSide' class='weightsMouseOver' name='size' class='selected' checked)
428
+ label(for='weightsMouseOverSide' class='sideLabel') Show With Mouse Over
429
+ div(class='edgeControl')
430
+ input(type='radio' id='weightsAlwaysSide' class='weightsAlways' name='size')
431
+ label(for='weightsAlwaysSide' class='sideLabel') Always Show Edge Weights
432
+ div(class='edgeControl')
433
+ input(type='radio' id='weightsNeverSide' class='weightsNever' name='size')
434
+ label(for='weightsNeverSide' class='sideLabel') Never Show Edge Weights
435
+ div(class='weightedGraphOptions hidden')
436
+ p(class='sideHeader' id="normLabel") Edge Weight Normalization Factor (0.0001-1000):
437
+ input(type='number' class='normalization-form' id='normalization-max' placeholder='maximum' step='0.0001' aria-describedby='basic-addon1')
438
+ div(class='buttonPairContainer')
439
+ button(type="button" class='btn btn-default s' id="normalization-button") Set Factor
440
+ button(type='button' class='btn btn-default btn-norm' id='resetNormalizationButton') Reset Factor
441
+ div(class='weightedGraphOptions hidden')
442
+ div(class='labelWithValueContainer')
443
+ label(id='grayLabel' for='grayThresholdInput', class='info', data-toggle='tooltip', title='Increases/decreases the threshold at which edges appear gray. Edges with normalized weight values below this percentage are shown as gray.') Gray Threshold (0-100%):    
444
+ span(class='forceVal', id='grayThresholdValue') 5%
445
+ input(id='grayThresholdInput', class='sidebarSlider', type='range', min='0', max='1', value='0.05', step='0.01')
446
+ div(class='edgeControl')
447
+ input(id='dashedGrayLineButton', type='checkbox', value='dashedGrayLine')
448
+ label(for='dashedGrayLineButton' class='sideLabel') Show Gray Edges as Dashed
449
+
450
+ div(class='view-sidebar panel panel-default')
451
+ p(class='panel-title sidebarPanelHeader')
452
+ a(data-toggle='collapse' data-target='#viewportSidebarPanel') View
453
+ div(id="viewportSidebarPanel" class="panel-collapse collapse")
454
+ div(class="panel-body")
455
+ label(class='sideHeader') Size
456
+ form
457
+ input(type='radio' id='boundBoxS' class='boundBoxSize' name='size' value='containerS')
458
+ label(for='boundBoxS' class='sideLabel')
459
+ | Small #[small (1104 X 648 pixels)]
460
+ br
461
+ input(type='radio' id='boundBoxM' class='boundBoxSize' name='size' value='containerM')
462
+ label(for='boundBoxM' class='sideLabel')
463
+ | Medium #[small (1414 X 840 pixels)]
464
+ br
465
+ input(type='radio' id='boundBoxL' class='boundBoxSize' name='size' value='containerL')
466
+ label(for='boundBoxL' class='sideLabel')
467
+ | Large #[small (1920 X 1080 pixels)]
468
+ br
469
+ input(type='radio' id='boundBoxFit' class='boundBoxSize' name='size' value='containerFit')
470
+ label(for='boundBoxFit' class='sideLabel') Fit to window
471
+ br
472
+ input(type='checkbox' id='viewport' class='viewport' name='viewport' value='viewport')
473
+ label(for='viewport' class='sideLabel') Restrict graph to viewport
474
+
475
+ div(class='graph-statistics-container hidden')
476
+ div(class='panel panel-default')
477
+ div(class='panel-heading' role='tab' id='graph-statistics-heading')
478
+ h4(class='panel-title')
479
+ a(role='button' data-toggle='collapse' href='#graph-statistics' aria-expanded='true') Graph Statistics
480
+ div(id='graph-statistics' class='panel-collapse collapse' role='tabpanel' aria-labelledby='graph-statistics-heading')
481
+ div(class='panel-body')
482
+ table(class='table table-condensed')
483
+ thead
484
+ tr
485
+ th(rowspan='2')
486
+ th(rowspan='2') Betweenness Centrality
487
+ th(class='shortest-path-header') Shortest Path
488
+ tr(class='shortest-path-column-headers')
489
+ tbody
490
+
491
+ div(id='errorModal' class='modal fade' tab-index='-1' role='dialog' aria-labelledby='mySmallModalLabel' aria-hidden='true')
492
+ div(class='modal-dialog')
493
+ div(class='modal-content')
494
+ div(class='modal-header')
495
+ button(type='button' class='close' data-dismiss='modal' aria-label='Close')
496
+ span(aria-hidden='true') ×
497
+ h4(class='modal-title') Error
498
+ div(class='modal-body')
499
+ p(id='error')
500
+ div(class='modal-footer')
501
+ input(type='button' class='btn btn-default' data-dismiss='modal' value='Close')
502
+ input(type='button' id='launchFileOpen' class='btn btn-primary' data-dismiss='modal' value='Select New File' onclick="$('.upload').click()")
503
+
504
+ div(id='warningsModal' class='modal fade' tab-index='-1' role='dialog' aria-labelledby='mySmallModalLabel' aria-hidden='true')
505
+ div(class='modal-dialog')
506
+ div(class='modal-content')
507
+ div(class='modal-header')
508
+ button(type='button' class='close' data-dismiss='modal' aria-label='Close')
509
+ span(aria-hidden='true') ×
510
+ h4(class='modal-title') Warning
511
+ div(class='modal-body' overflow='scroll')
512
+ p(id='warningIntro')
513
+ div(class='panel-group' id='accordion' role='tablist' aria-multiselectable='true')
514
+ div(class='panel panel-default')
515
+ div(class='panel-heading' role='tab' id='warningsHeader')
516
+ h4(class='panel-title')
517
+ a(data-toggle='collapse' data-parent='accordian' href='#warningsInfo' aria-expanded='true' aria-controls='warningsInfo') Warnings List
518
+ div(id='warningsInfo' class='panel-collapse collapse' role='tabpanel' aria-labelledby='warningsHeader')
519
+ div(class='panel-body' id='list-frame')
520
+ p(id='warningsList')
521
+
522
+ div(class='modal-footer')
523
+ input(type='button' class='btn btn-default' data-dismiss='modal' value='Close')
524
+
525
+ div(id='exportExcelModal' class='modal fade' tab-index='-1' role='dialog' aria-labelledby='mySmallModalLabel' aria-hidden='true')
526
+ div(class='modal-dialog')
527
+ div(class='modal-content')
528
+ div(class='modal-header')
529
+ button(type='button' class='close' data-dismiss='modal' aria-label='Close')
530
+ span(aria-hidden='true') ×
531
+ h4(class='modal-title') Export to Excel
532
+ div(class='modal-body')
533
+ div(id='exportExcelQuestions-containter')
534
+ div(class='modal-footer')
535
+ input(type='button' class='btn btn-default' data-dismiss='modal' value='Close')
536
+
537
+ div(id='createNetworkModal' class='modal fade' tab-index='-1' role='dialog' aria-labelledby='mySmallModalLabel' aria-hidden='true')
538
+ div(class='modal-dialog')
539
+ div(class='modal-content')
540
+ div(class='modal-header')
541
+ button(type='button' class='close' data-dismiss='modal' aria-label='Close')
542
+ span(aria-hidden='true') ×
543
+ h4(class='modal-title') Load from Database
544
+ div(class='modal-body')
545
+ div(id='createNetworkQuestions-container')
546
+ div(class='modal-footer')
547
+ input(type='button' class='btn btn-default' data-dismiss='modal' value='Close')
548
+
549
+ div(id='warningsModalSpecies' class='modal fade' tab-index='-1' role='dialog' aria-labelledby='mySmallModalLabel' aria-hidden='true')
550
+ div(class='modal-dialog')
551
+ div(class='modal-content')
552
+ div(class='modal-header')
553
+ button(type='button' class='close' data-dismiss='modal' aria-label='Close')
554
+ span(aria-hidden='true') ×
555
+ h4(class='modal-title') Warning
556
+ div(class='modal-body' overflow='scroll')
557
+ p(id='warningIntroSpecies')
558
+ div(class='modal-footer')
559
+ input(type='button' class='btn btn-default' data-dismiss='modal' value='Close')
560
+ //- input(type='button' id='launchFileOpen' class='btn btn-primary' data-dismiss='modal' value='Select New File' onclick="$('.upload').click()")
561
+
562
+ div(id='importErrorModal' class='modal fade' tab-index='-1' role='dialog' aria-hidden='true')
563
+ div(class='modal-dialog')
564
+ div(class='modal-content')
565
+ div(class='modal-header')
566
+ button(type='button' class='close' data-dismiss='modal' aria-label='Close')
567
+ span(aria-hidden='true') ×
568
+ h4(class='modal-title') Import Error
569
+ div(class='modal-body')
570
+ p The following error was encountered during the import attempt:
571
+ blockquote(id='importErrorMessage')
572
+ div Please verify that the file being imported is in the right format then try the import again.
573
+ div(class='modal-footer')
574
+ input(type='button' class='btn btn-default' data-dismiss='modal' value='Close')
575
+ script(src='//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js')
576
+ script(src='lib/bootstrap.file-input/bootstrap.file-input.js')
577
+ script(src='lib/iframeSizer.contentWindow.min.js')
578
+ script(src='//cdnjs.cloudflare.com/ajax/libs/d3/4.10.2/d3.min.js')
579
+ script(src='//d3js.org/d3-scale-chromatic.v1.min.js')
580
+ script(src='js/grnsight.min.js')
package/_gh_pages/Gemfile DELETED
@@ -1,7 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- require 'json'
4
- require 'open-uri'
5
- versions = JSON.parse(open('https://pages.github.com/versions.json').read)
6
-
7
- gem 'github-pages', versions['github-pages']