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
@@ -1,129 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- activesupport (4.2.6)
5
- i18n (~> 0.7)
6
- json (~> 1.7, >= 1.7.7)
7
- minitest (~> 5.1)
8
- thread_safe (~> 0.3, >= 0.3.4)
9
- tzinfo (~> 1.1)
10
- addressable (2.4.0)
11
- coffee-script (2.4.1)
12
- coffee-script-source
13
- execjs
14
- coffee-script-source (1.10.0)
15
- colorator (0.1)
16
- ethon (0.9.0)
17
- ffi (>= 1.3.0)
18
- execjs (2.7.0)
19
- faraday (0.9.2)
20
- multipart-post (>= 1.2, < 3)
21
- ffi (1.9.10)
22
- gemoji (2.1.0)
23
- github-pages (83)
24
- github-pages-health-check (= 1.1.0)
25
- jekyll (= 3.1.6)
26
- jekyll-coffeescript (= 1.0.1)
27
- jekyll-feed (= 0.5.1)
28
- jekyll-gist (= 1.4.0)
29
- jekyll-github-metadata (= 2.0.0)
30
- jekyll-mentions (= 1.1.2)
31
- jekyll-paginate (= 1.1.0)
32
- jekyll-redirect-from (= 0.10.0)
33
- jekyll-sass-converter (= 1.3.0)
34
- jekyll-seo-tag (= 2.0.0)
35
- jekyll-sitemap (= 0.10.0)
36
- jemoji (= 0.6.2)
37
- kramdown (= 1.11.1)
38
- liquid (= 3.0.6)
39
- listen (= 3.0.6)
40
- mercenary (~> 0.3)
41
- rouge (= 1.10.1)
42
- terminal-table (~> 1.4)
43
- github-pages-health-check (1.1.0)
44
- addressable (~> 2.3)
45
- net-dns (~> 0.8)
46
- octokit (~> 4.0)
47
- public_suffix (~> 1.4)
48
- typhoeus (~> 0.7)
49
- html-pipeline (2.4.1)
50
- activesupport (>= 2, < 5)
51
- nokogiri (>= 1.4)
52
- i18n (0.7.0)
53
- jekyll (3.1.6)
54
- colorator (~> 0.1)
55
- jekyll-sass-converter (~> 1.0)
56
- jekyll-watch (~> 1.1)
57
- kramdown (~> 1.3)
58
- liquid (~> 3.0)
59
- mercenary (~> 0.3.3)
60
- rouge (~> 1.7)
61
- safe_yaml (~> 1.0)
62
- jekyll-coffeescript (1.0.1)
63
- coffee-script (~> 2.2)
64
- jekyll-feed (0.5.1)
65
- jekyll-gist (1.4.0)
66
- octokit (~> 4.2)
67
- jekyll-github-metadata (2.0.0)
68
- jekyll (~> 3.1)
69
- octokit (~> 4.0)
70
- jekyll-mentions (1.1.2)
71
- html-pipeline (~> 2.3)
72
- jekyll (~> 3.0)
73
- jekyll-paginate (1.1.0)
74
- jekyll-redirect-from (0.10.0)
75
- jekyll (>= 2.0)
76
- jekyll-sass-converter (1.3.0)
77
- sass (~> 3.2)
78
- jekyll-seo-tag (2.0.0)
79
- jekyll (~> 3.1)
80
- jekyll-sitemap (0.10.0)
81
- jekyll-watch (1.4.0)
82
- listen (~> 3.0, < 3.1)
83
- jemoji (0.6.2)
84
- gemoji (~> 2.0)
85
- html-pipeline (~> 2.2)
86
- jekyll (>= 3.0)
87
- json (1.8.3)
88
- kramdown (1.11.1)
89
- liquid (3.0.6)
90
- listen (3.0.6)
91
- rb-fsevent (>= 0.9.3)
92
- rb-inotify (>= 0.9.7)
93
- mercenary (0.3.6)
94
- mini_portile2 (2.1.0)
95
- minitest (5.9.0)
96
- multipart-post (2.0.0)
97
- net-dns (0.8.0)
98
- nokogiri (1.6.8)
99
- mini_portile2 (~> 2.1.0)
100
- pkg-config (~> 1.1.7)
101
- octokit (4.3.0)
102
- sawyer (~> 0.7.0, >= 0.5.3)
103
- pkg-config (1.1.7)
104
- public_suffix (1.5.3)
105
- rb-fsevent (0.9.7)
106
- rb-inotify (0.9.7)
107
- ffi (>= 0.5.0)
108
- rouge (1.10.1)
109
- safe_yaml (1.0.4)
110
- sass (3.4.22)
111
- sawyer (0.7.0)
112
- addressable (>= 2.3.5, < 2.5)
113
- faraday (~> 0.8, < 0.10)
114
- terminal-table (1.6.0)
115
- thread_safe (0.3.5)
116
- typhoeus (0.8.0)
117
- ethon (>= 0.8.0)
118
- tzinfo (1.2.2)
119
- thread_safe (~> 0.1)
120
-
121
- PLATFORMS
122
- ruby
123
-
124
- DEPENDENCIES
125
- github-pages (= 83)
126
- json
127
-
128
- BUNDLED WITH
129
- 1.12.5
@@ -1,71 +0,0 @@
1
- ## 2.0 Software Development Plan
2
-
3
- ## Table of Contents
4
- 2.1 Introduction
5
-
6
- 2.1.1 Project Deliverables
7
-
8
- 2.2 Project Resources
9
-
10
- 2.2.1 Hardware Resources
11
-
12
- 2.2.2 Software Resources
13
-
14
- 2.3 Project Organization
15
-
16
- 2.4 Schedule
17
-
18
- 2.4.1 Gantt Chart
19
-
20
- ## 2.1 Introduction
21
- This Software Development Plan provides the details of the planned development for the GRNsight application developed as an LMU Senior Project.This application provides a web service which will allow users to generate visualizations of gene regulatory networks derived from uploaded spreadsheets.This application will serve as an update of sorts to the XMLPipeDB program used by the LMU Biological Databases classes in addition to providing an accessible and dynamic visualization tool to general users. In addition to the time spent researching and coding, the development process will include meetings with both the Senior Project class and the professors that requested the application. Additionally, the application will be presented at both the 2014 LMU Undergraduate Research Symposium and during the final presentations for the Senior Project Laboratory.
22
-
23
- Major Milestones include:
24
- * 2014-01-21 Project Proposal Due
25
- * 2014-02-11 Requirements Due
26
- * 2014-03-11 Software Development Plan Due
27
- * 2014-03-29 Undergraduate Research Symposium
28
- * 2014-04-15 Final Software Design Description Due
29
- * 2014-05-06 Final Presentations and Demonstrations
30
-
31
- ### 2.1.1 Project Deliverables
32
- * **Project Proposal**: A general overview of the project goals and justifications. Delivered as an oral presentation and a written summary on 2014-01-21.
33
- * **Requirements Document**: A detailed description of the functionality required by the application. Separated into three sections: the Web Client Requirements, the Server Requirements, and the Visualizer Requirements. Uploaded to the project GitHub wiki on 2014-02-11.
34
- * **Software Development Plan**: This document, detailing the planned development for the project. Includes descriptions of the project organization and scheduling. Uploaded to the project GitHub wiki on 2014-03-11.
35
- * **Final Software Development Plan**: An updated version of the original Software Development Plan revised to reflect the actual development progress of the project. Will be uploaded to the project GitHub page on 2014-04-15
36
- * **Final Presentation**: An oral presentation and demonstration of the finished product. Will contain a Q&A section at the end. Will be delivered the week of 2014-05-06.
37
-
38
- ## 2.2 Project Resources
39
- This section will detail the various elements used to aid in the completion of the project.
40
-
41
- ### 2.2.1 Hardware Resources
42
- * A computer for development
43
- * A server to host the application
44
- * A network connection to access the application's website
45
- * A projector for the presentation
46
-
47
- ### 2.2.2 Software Resources
48
- * A code editor such as Text Wrangler
49
- * A web browser such as Chrome
50
- * D3 for the graph creation
51
- * Node.js for the server framework
52
- * Express to handle HTTP requests
53
- * Node-XLSX to parse spreadsheets
54
- * Cors to handle cross-origin requests
55
- * Multiparty to handle file uploads
56
- * Mocha and Supertest for testing
57
- * Jade to write the web pages
58
- * Stylus to style the web pages
59
- * Git for version controll
60
- * GitHub to host the code repository
61
-
62
- ## 2.3 Project Organization
63
- This project is divided into three major subsections: a server, a web client, and a visualizer. Early work will focus almost exclusively on the server and the web client. Work on the server and web client will be relatively concurrent as the functionality of both are fairly intertwined.
64
-
65
- Once the server and web client are developed, work will shift to the file upload system and then finally to the visualizer and the web pages that will host it. The refinement of the visualization will compose the bulk of the remaining development time, with some time devoted to designing and styling the web pages.
66
-
67
- ## 2.4 Schedule
68
- This section provides schedule information for the GRNsight project
69
-
70
- ### 2.4.1 Gantt Chart
71
- ![Gantt Chart](http://i.imgur.com/8L53Zch.png)
@@ -1,71 +0,0 @@
1
- ### 1.0 Requirements
2
-
3
- The system allows users to upload an Excel spreadsheet containing gene regulatory information generated by the GRNmap program, which is offered as a download by the web client. The system then parses this spreadsheet and uses the relevant data to create a visual representation of the numerical network data in the form of a user-modifiable directed graph.
4
-
5
- ### 1.1 Server Subsystem
6
- 1.1.1. The server subsystem shall receive xlsx files from the web client.
7
- 1.1.2. The server subsystem shall parse the xlsx file into a JSON object.
8
- 1.1.3. The server subsystem shall validate the JSON object.
9
- 1.1.4. The server subsystem shall send an error to the web client when validation fails.
10
- 1.1.5. The server subsystem shall POST the JSON object to the web client when validation succeeds.
11
- The server subsystem should receive JSON objects from the web client.
12
- The server subsystem should convert the JSON object into an xslx document.
13
- The server subsystem should POST the xlsx document to the web client.
14
- The server subsystem will use Nodejs as a server platform.
15
-
16
- ### 1.2 Web Client Subsystem
17
- 1.2.1. The web client subsystem shall consist of three web pages
18
- The web client will use Bootstrap.
19
- 1.2.2. The first page shall be an instructional page
20
- 1.2.2.1. The page shall display instructions for uploading spreadsheets
21
- 1.2.2.2. The page shall display instructions regarding GRNmap
22
- 1.2.2.2.1. The page shall display instructions regarding how to download GRNmap
23
- 1.2.2.2.2. The page shall display instructions for running GRNmap
24
- 1.2.2.3. The page shall display instructions for modifying a generated graph
25
- 1.2.3. The second page shall be the upload page
26
- 1.2.3.1. The upload page shall accept an xlsx file.
27
- 1.2.3.1.1. The upload page shall allow the user to browse for a file.
28
- 1.2.3.4. The upload page shall pass the input file to the server.
29
- 1.2.4. The Third page shall be the visualization as specified in Section 1.3 "Visualizer Subsystem".
30
- 1.2.4.1. The visualization page shall GET the parsed file from the server.
31
- 1.2.4.2. The visualization page shall run the visualizer on the parsed data.
32
- 1.2.4.3. The visualization page shall display the visualization.
33
- The visualization page should allow users to manipulate the visualization.
34
- The visualization page should allow users to click and drag nodes.
35
- The visualization page should allow users to double click to create new nodes.
36
- The visualization page should allow users to double click and drag between nodes to create
37
- new edges.
38
- The visualization page should allow users to click the endpoints of an edge to drag that
39
- endpoint to another node.
40
- The visualization page should allow users to click on an edge once to select it.
41
- The visualization page should allow users to press the '+' key to increase the magnitude of
42
- a selected edge.
43
- The visualization page should allow users to press the '-' key to decrease the magnitude of
44
- a selected edge.
45
- The visualization page should allow users to press the 'r' key to reverse the direction of
46
- a selected edge.
47
- The visualization page should allow users to press the 'SHIFT' key to toggle the selected
48
- edge between 'expression' and 'regulation.'
49
- The visualization page should allow users to submit the changes.
50
- The visualization page should convert the changed graph into a JSON object.
51
- The visualization page should POST the JSON to the server.
52
- The visualization page should GET an xlsx document from the server.
53
- The visualization page should prompt user to download the xlsx document.
54
-
55
- ### 1.3 Visualizer Subsystem
56
- 1.3.1. The visualizer subsystem shall run on the web client application.
57
- 1.3.2. The visualizer subsystem shall create a force-directed graph.
58
- 1.3.2.1. The visualizer subsystem shall read data from a JSON object provided by the web client.
59
- 1.3.2.2. The visualizer subsystem shall create nodes to represent genes.
60
- The visualizer subsystem will use D3.
61
- 1.3.2.2.1. The visualizer subsystem shall label each node with the gene's scientific name.
62
- 1.3.2.3. The visualizer subsystem shall create lines between nodes to represent a gene regulating another gene.
63
- 1.3.2.4. The visualizer subsystem shall color the lines to represent positive and negative influence.
64
- 1.3.2.4.1. Red lines shall signify a negative influence.
65
- 1.3.2.4.2. Blue lines shall signify a positive influence.
66
- 1.3.2.5. The visualizer subsystem shall use line thickness to denote magnitude of influence.
67
- 1.3.2.5.1. Greater thickness shall denote stronger influence.
68
- 1.3.2.5.2. Lesser thickness shall denote weaker influence.
69
-
70
-
71
-
@@ -1,28 +0,0 @@
1
- GRNSight Project SRS Evaluation
2
- ===============================
3
-
4
- Nice job on this, a very good document.
5
-
6
- Just a couple of suggestions.
7
-
8
- When thinking of requirements, try to be even more specific about what
9
- you are specifying. For example, in requirement 5.2.2.1.7, what do you
10
- mean by "move in the normal way afterward"? What is the "normal" way?
11
- "Afterward" meaning after what, exactly?
12
-
13
- These are "philosophy of requirements" issues that you can apply in a
14
- *general* way to nearly all the requirements in the document. However,
15
- in the essence of time remaining, I'm assigning full credit to this
16
- deliverable, for both the initial and the final submissions.
17
-
18
- Be sure to check your spelling... "examen" in the paragraph for section
19
- 5.2.2 for example...
20
-
21
- You don't have to do anything further with this document if you don't
22
- feel the need to do so.
23
-
24
- Deliverable D-02: 15% out of 15% = 100% which is an A-plus
25
- Deliverable D-05: 5% out of 5% = 100% which is an A-plus
26
-
27
- Keep up the good work!
28
-
@@ -1,223 +0,0 @@
1
- # 4.0 Software Development Plan
2
-
3
- ## 4.1 Plan Introduction
4
-
5
- This Software Development Plan provides the details of the planned development for the GRNsight version 3.0.0. which provides a web application and service for users to upload, view, and edit graphs of gene regulatory networks.
6
-
7
- Existing applications that perform similar tasks are difficult to use for small GRNs with only a few genes represented, and often have very high learning curves. Additionally, they may require standalone download that may not be compatible with every user’s computer. GRNsight aims to provide users with a simple, clean, and easy to use application for visualizing small- to medium-scale gene regulatory networks.
8
-
9
- As a part of development, a series of deliverables will be created.
10
-
11
- * Project Proposal Presentations and Project Proposal Paragraph Document was submitted January 22nd 2018.
12
- * Requirements Document was submitted February 5th 2018.
13
- * Software Development Plan will be submitted by March 5th 2018.
14
- * Software Development Plan resubmit will be submitted by March 19th 2018.
15
- * Requirements Document resubmit will be submitted by April 2nd 2018.
16
- * Preliminary Version of Poster will be submitted by April 9th 2018.
17
- * Final Presentation / Demonstration will be April 30th 2018.
18
-
19
-
20
-
21
- ### 4.1.1 Project Deliverables
22
-
23
- This section will explain in detail the project deliverables that will be completed and submitted throughout the production of the GRNsight software.
24
-
25
- * 4.1.1.1 Project Proposal Document
26
- * The project proposal document was submitted on January 22nd. It contained initial information about the scope of the project, the features that are intended to be complete, and an initial set of information about the project itself. It also detailed the rational behind the project. The proposal was presented as a document as well as a presentation given to the class on January 22rd.
27
- * 4.1.1.2 Requirements Specification Document
28
- * The requirements specification document was submitted February 5th. This document contains the information about the requirements of the project, including required features, performance goals, and hardware and software. It also contained projected goals that may be completed over the course of the 402 class. A resubmit of this document will be completed by April 2nd, containing improvements and changes requested by the primary user, Kam Dahlquist, as well as the professor, B.J. Johnson.
29
- * 4.1.1.3 Software Development Plan
30
- * This document is the software development plan. It is to be submitted by March 5th. This document contains the information about the projected plan of development for the GRNsight software as it currently stands. It contains information about the schedule of the development tasks, as well as the deliverables to be given to the customer. A resubmit of this document containing improvements and changes will be completed by March 19th.
31
- * 4.1.1.4 Oral Status Reports
32
- * Throughout the entire time of development, oral status reports will be given each week. These status reports will contain information on the current task or tasks being completed, what tasks have been completed since the previous status report, and what challenges are currently being faced in completing the current task, if any.
33
- * 4.1.1.5 Written Status Reports
34
- * These written status reports are very similar in content to the oral status reports. They will contain accomplishments since the last status report, tasks that are to be completed before the next week, and any predicted or current challenges that are faced.
35
- * 4.1.1.6 Poster
36
- * Preliminary version of poster is to be submitted by April 9th. The poster will provide a summary of the new features of GRNsight version 3.0.0. in a visually appealing way. The poster contains information about the project description, development concerns, citations, and graphics that explain the new features. The final version of the poster will be submitted by April 30th.
37
- * 4.1.1.7 Final Presentation / Demonstration
38
- * The final product presentation will be made on April 30th, time TBD, to give an overview of the project. In addition, demonstration will be held to show the users a live GRNsight and give the opportunity for the users to use the new features.
39
-
40
-
41
-
42
- ## 4.2 Project Resources
43
-
44
- The following sections will detail the project resources necessary for the completion of the project.
45
-
46
- * 4.2.1 Hardware Resources
47
-
48
- Development:
49
- * Macbook Air, macOS Sierra v10.12.3, 1.4GHz IntelCore i5 Processor, 4GB 1600 MHz DDR3 RAM.
50
-
51
- Deployment:
52
- * Server hosted on AWS
53
- * Ubuntu 14.04.2 LTS, 7.74 GB RAM
54
-
55
- * 4.2.2 Software Resources
56
-
57
- * Operating System: macOS Sierra v10.12.6 && Windows 10
58
- * Editor: Atom v 1.24.0 x64
59
- * Packages:
60
- * Stylus v3.1.0
61
- * Atom-jade v0.3.0
62
- * Language-git v0.19.0
63
- * Git-diff v1.2.0
64
- * Project Software Requirements:
65
- * Node v9.5.0
66
- * npm v5.6.0
67
- * NPM Packages:
68
- * Chai v1.10.0
69
- * Cors v2.8.1
70
- * Cytoscape v2.7.14
71
- * Express v4.16.0
72
- * Googleapis v1.1.5
73
- * Istanbul v0.4.5
74
- * Jade v1.11.0
75
- * Jquery-Extend v2.0.3
76
- * Mocha v2.5.3
77
- * Moment v2.17.1
78
- * Multiparty v4.1.3
79
- * Node-xlsx v0.7.2
80
- * Nodemon v1.11.0
81
- * Parallelshell v3.0.1
82
- * Should v11.2.0
83
- * Stylus v0.54.5
84
- * Supertest v3.0.0
85
- * Xml2js v0.4.17
86
- * Xmlbuilder v8.2.2
87
- * body-parser: ^1.18.2,
88
- * errorhandler: ^1.5.0,
89
- * method-override: ^2.3.10,
90
- * morgan: ^1.9.0,
91
- * serve-static: ^1.13.1,
92
- * coveralls: ^2.13.1,
93
- * eslint: ^3.19.0,
94
- * markdown-pdf: ^8.0.0,
95
- * mocha-lcov-reporter: ^1.3.0
96
- * Google Chrome v56.0.2924.87 (64-bit)
97
- * Mozilla Firefox v51.0.1 (64-bit)
98
- * Libraries:
99
- * Bootstrap v3.2.0
100
- * D3.js v3.4.4
101
- * Bootstrap CSS v3.1.1
102
- * Bootstrap File Input
103
- * jQuery v1.11.0
104
-
105
-
106
-
107
- ## 4.3 Project Organization / Human Resources
108
-
109
- This section contains the information on the project organization. GRNsight is a team project currently comprised of 3 undergraduates: Eileen Choe (Computer Science), Jen Shin (Computer Science), and Mihir Samdarshi (Biology), and 2 faculty advisors: Dr. John Dionisio (Computer Science) and Dr. Kam Dahlquist (Biology).
110
-
111
- For the CMSI402 Senior Project, Eileen and Jen will be completing four majors feature additions to GRNsight. The table below outlines the project member responsible for each feature:
112
-
113
- | Task | Developer |
114
- | --------------------------------- | --------- |
115
- | Updated GRNmap Spreadsheet Parser | Eileen |
116
- | Node Coloring Framework | Eileen |
117
- | Block Layout | Jen |
118
- | Alternative Layouts | Jen |
119
-
120
- ### 4.3.1 Updated GRNmap Spreadsheet Parser
121
-
122
- GRNsight is designed to accept Excel workbooks from GRNmap, a MATLAB GRN modeling program, and lay out the network graph specified by an adjacency matrix contained within one of the worksheets. However, the GRNmap output contains additional worksheets which store data about the GRN and results of the GRNmap simulations that have not been displayed or visualized by GRNsight. To address this, the Excel spreadsheet importer will be redesigned to parse and store data from the entire GRNmap output workbook in a standardized JavaScript Object Notation (JSON) data structure. The complete data extraction from the GRNsight output includes experimental and simulated temporal expression data for each gene in the network.
123
-
124
- 1. Investigate current spreadsheet controller
125
- 2. Research the GRNmap input and output workbook formatting standards
126
- 3. Design a data model and implement a parser for GRNmap "expression" type sheets
127
- 4. Design a data model and implement a parser for GRNmap "2 column" type sheets
128
- 5. Design a data model and implement a parser for GRNmap "meta data" type sheets
129
- 6. Write unit tests to ensure software quality
130
-
131
-
132
-
133
- ### 4.3.2 Node Coloring Framework
134
-
135
- A coloring framework will be developed to visualize expression data in the form of a stacked heat map overlay of the nodes which compares the experimental and simulated gene expression levels. Node coloring allows GRNsight users to better derive insights from the data that model these networks.
136
-
137
- 1. Perform user interviews to better understand use cases for node coloring
138
- 2. Decide on a color scheme that is color-blind friendly
139
- 3. Review D3 visualization library and complete relevant tutorials
140
- 4. Create a first draft of the node coloring framework
141
- 5. Develop UI menu for node coloring customization
142
- 6. Integrate user feedback for final draft of node coloring framework
143
- 7. Write unit tests to ensure software quality
144
-
145
-
146
-
147
- ### 4.3.3 Block Layout
148
-
149
- The block layout alphabetically organizes the nodes in a grid pattern. Users can use a button to apply the layout to the graph and the nodes will be organized alphabetically left to right, then top to bottom. This will make it easier and faster for the users to analyze the data.
150
-
151
- The main developing goals to implement block layout includes:
152
-
153
- 1. Grid layout button
154
- 2. Applying d3-v4 grid layout.
155
- 3. Including webpack in order to use webpack to import.
156
- 4. Viewport size adaptive grid layout
157
- 5. Alphabetizing the nodes.
158
- 6. Centering the grid layout graph
159
- 7. Toggle to disable/enable force graph with the grid layout button
160
-
161
-
162
-
163
- ### 4.3.4 Alternate Layouts
164
-
165
- Once the block layout is finished, alternate layouts will be developed in addition. Currently hierarchical layout and snap to grid feature are highest priority to implement next. The alternate graph layout provides the users an option to organize the nodes on the graph.
166
-
167
- If time allows:
168
-
169
- 1. hierarchical layout
170
- 2. snap to grid feature
171
-
172
-
173
-
174
- ## 4.4 Schedule
175
-
176
- ### 4.4.1 [GANTT Chart](https://docs.google.com/spreadsheets/d/1FSXKUKDkfHP9eXH_88yZcgP6hzxQvJ-2ait0InETpas/edit?ts=5a8e3963#gid=1115838130)
177
-
178
- ![gantt chart](https://github.com/dondi/GRNsight/blob/master/documents/SDF/CMSI_402/spring_2018/402-gantt.png)
179
-
180
- ### 4.4.2 Task / Resource Table
181
-
182
- 4.4.2.1 Updated GRNmap Spreadsheet Parser
183
-
184
- | Task | Hardware | Software |
185
- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
186
- | Investigate current spreadsheet controller | MacBook Pro (Retina, 13-inch, Mid 2014) 2.6 GHz Intel Core i5 | Atom, Node, Bootstrap, jQuery, D3.js, Chrome, Firefox |
187
- | Research the GRNmap input and output workbook formatting standards | MacBook Pro (Retina, 13-inch, Mid 2014) 2.6 GHz Intel Core i5 | Atom, Node, Bootstrap, jQuery, D3.js, Chrome, Firefox |
188
- | Design a data model and implement a parser for GRNmap "expression" type sheets | MacBook Pro (Retina, 13-inch, Mid 2014) 2.6 GHz Intel Core i5 | Atom, Node, Bootstrap, jQuery, D3.js, Chrome, Firefox |
189
- | Design a data model and implement a parser for GRNmap "2 column" type sheets | MacBook Pro (Retina, 13-inch, Mid 2014) 2.6 GHz Intel Core i5 | Atom, Node, Bootstrap, jQuery, D3.js, Chrome, Firefox |
190
- | Design a data model and implement a parser for GRNmap "meta data" type sheets | MacBook Pro (Retina, 13-inch, Mid 2014) 2.6 GHz Intel Core i5 | Atom, Node, Bootstrap, jQuery, D3.js, Chrome, Firefox |
191
- | Write unit tests to ensure software quality | MacBook Pro (Retina, 13-inch, Mid 2014) 2.6 GHz Intel Core i5 | Atom, Node, Bootstrap, jQuery, D3.js, Chrome, Firefox |
192
-
193
- 4.4.2.2 Node Coloring Framework
194
-
195
- | Task | Hardware | Software |
196
- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
197
- | Perform user interviews to better understand use cases for node coloring | MacBook Pro (Retina, 13-inch, Mid 2014) 2.6 GHz Intel Core i5 | Atom, Node, Bootstrap, jQuery, D3.js, Chrome, Firefox |
198
- | Decide on a color scheme that is color-blind friendly | MacBook Pro (Retina, 13-inch, Mid 2014) 2.6 GHz Intel Core i5 | Atom, Node, Bootstrap, jQuery, D3.js, Chrome, Firefox |
199
- | Review D3 visualization library and complete relevant tutorials | MacBook Pro (Retina, 13-inch, Mid 2014) 2.6 GHz Intel Core i5 | Atom, Node, Bootstrap, jQuery, D3.js, Chrome, Firefox |
200
- | Create a first draft of the node coloring framework | MacBook Pro (Retina, 13-inch, Mid 2014) 2.6 GHz Intel Core i5 | Atom, Node, Bootstrap, jQuery, D3.js, Chrome, Firefox |
201
- | Develop UI menu for node coloring customization | MacBook Pro (Retina, 13-inch, Mid 2014) 2.6 GHz Intel Core i5 | Atom, Node, Bootstrap, jQuery, D3.js, Chrome, Firefox |
202
- | Integrate user feedback for final draft of node coloring framework | MacBook Pro (Retina, 13-inch, Mid 2014) 2.6 GHz Intel Core i5 | Atom, Node, Bootstrap, jQuery, D3.js, Chrome, Firefox |
203
- | Write unit tests to ensure software quality | MacBook Pro (Retina, 13-inch, Mid 2014) 2.6 GHz Intel Core i5 | Atom, Node, Bootstrap, jQuery, D3.js, Chrome, Firefox |
204
-
205
- 4.4.2.3
206
-
207
- | Task | Hardware | Software |
208
- | ------------------------------------------------------------ | ------------------------------------- | ----------------------------------------------------- |
209
- | Grid layout button | Windows 10 x64 Dell intel i7 2.40 GHz | Atom, Node, Bootstrap, jQuery, D3.js, Chrome, Firefox |
210
- | Applying d3-v4 grid layout | Windows 10 x64 Dell intel i7 2.40 GHz | Atom, Node, Bootstrap, jQuery, D3.js, Chrome, Firefox |
211
- | Including webpack in order to use webpack to import | Windows 10 x64 Dell intel i7 2.40 GHz | Atom, Node, Bootstrap, jQuery, D3.js, Chrome, Firefox |
212
- | Viewport size adaptive grid layout | Windows 10 x64 Dell intel i7 2.40 GHz | Atom, Node, Bootstrap, jQuery, D3.js, Chrome, Firefox |
213
- | Alphabetizing the nodes | Windows 10 x64 Dell intel i7 2.40 GHz | Atom, Node, Bootstrap, jQuery, D3.js, Chrome, Firefox |
214
- | Centering the grid layout graph | Windows 10 x64 Dell intel i7 2.40 GHz | Atom, Node, Bootstrap, jQuery, D3.js, Chrome, Firefox |
215
- | Toggle to disable/enable force graph with the grid layout button | Windows 10 x64 Dell intel i7 2.40 GHz | Atom, Node, Bootstrap, jQuery, D3.js, Chrome, Firefox |
216
-
217
- 4.4.2.4
218
-
219
- | Task | Hardware | Software |
220
- | -------------------- | ------------------------------------- | ----------------------------------------------------- |
221
- | hierarchical layout | Windows 10 x64 Dell intel i7 2.40 GHz | Atom, Node, Bootstrap, jQuery, D3.js, Chrome, Firefox |
222
- | snap to grid feature | Windows 10 x64 Dell intel i7 2.40 GHz | Atom, Node, Bootstrap, jQuery, D3.js, Chrome, Firefox |
223
-
@@ -1,22 +0,0 @@
1
- # Project Proposal
2
- - Eileen Choe & Jen Shin
3
- - January 22, 2018
4
-
5
- ## Description
6
- GRNsight is a web application and service for visualizing small- to medium-scale gene regulatory networks (GRNs). A GRN consists of genes, transcription factors, and the regulatory connections between them which govern the level of expression of mRNA and protein from genes. GRNsight produces weighted or unweighted network graphs by representing genes as nodes and regulatory connections as edges, with colors, end markers, and thicknesses corresponding to the sign and magnitude of activation or repression.
7
-
8
- We will develop two major features for our 402 project: node coloring and block layout.
9
-
10
- ### Node Coloring
11
- GRNsight was originally designed to accept Excel workbooks seamlessly from GRNmap, a MATLAB GRN modeling program, and lay out the network graph specified by an adjacency matrix contained within a worksheet named “network” or “network_optimized_weights.” However, the GRNmap output contains additional worksheets, which include temporal gene expression data and the results of the GRNmap forward simulation. In GRNsight v3, the Excel spreadsheet importer will be redesigned to read and store data from the entire GRNmap output workbook as a first step towards extending the visualization capabilities of GRNsight. Using the extended capabilities of the importer, a framework will be developed to visualize the gene expression over time, through coloring the nodes in the network graph. The node coloring feature provides a more complete visual representation of the GRN, allowing GRNsight users to better derive insights from the data that model these networks.
12
-
13
- ### Block layout
14
- In addition, GRNsight v3 will allow the users to display the graph in block layout. Currently GRNsight does not have any options to organize the genes. Users have to manually move the nodes one by one which costs time and effort. There is no way of saving the current position or the layout that the users created manually. This requires the users to repeatedly do the same action even for the same datasheet that they already manually created a layout for. The block layout functionality will lay the nodes in alphabetical order, left to right first, then top to bottom and better display the genes in organized manner. Users can toggle the block layout option by using the menu item on the left. The nodes will be laid out in a grid pattern with even spaces between them. There will be no forces applied, but the nodes can be moved in the normal way afterward.
15
-
16
- GRNsight has been in active development since 2016, and is an ongoing undergraduate research project advised by Dr. Kam Dahlquist (Biology) and Dr. John Dionisio (Computer Science). The end users of GRNsight are biologists seeeking insight into their GRN data.
17
- The GRNsight application http://dondi.github.io/GRNsight/ and code https://github.com/dondi/GRNsight are available under the open source BSD license.
18
-
19
- ## Justification
20
- We have both been working on GRNsight as undergraduate researchers for over a year, and this project gives us an opportunity to fully develop two major features for GRNsight that will enhance the feature set and user experience of the application. This project will allow us to apply the knowledge we've gained from courses in the LMU Computer Science curriculum such as Interaction Design, Programming Languages, Data Structures, and Computer Graphics. We believe that the scope of the two features we will develop are appropriate for the duration of the semester, and will be challenging as well as interesting.
21
-
22
- Block layout is a good feature to develop because it solves the problem that the users are currently having. It helps the users to test and analyze the graph more easily. If the functionality is finished before the semester, other layouts such as hierarchical layout, will be implemented in addition.