grnsight 5.0.0 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. package/.travis.yml +1 -1
  2. package/package.json +5 -5
  3. package/server/app.js +4 -2
  4. package/server/controllers/database-controller.js +9 -8
  5. package/server/controllers/exporters/xlsx.js +27 -9
  6. package/test/export-tests.js +2 -2
  7. package/test/test.js +3 -1
  8. package/test-files/expression-data-test-sheets/expression_sheet_missing_data_ok_export_exact.xlsx +0 -0
  9. package/web-client/app.js +1 -1
  10. package/web-client/controllers/main.js +1 -1
  11. package/web-client/public/js/constants.js +4 -1
  12. package/web-client/public/js/update-app.js +8 -11
  13. package/web-client/public/js/upload.js +337 -11
  14. package/web-client/views/{graph.jade → graph.pug} +0 -0
  15. package/web-client/views/{info.jade → info.pug} +1 -5
  16. package/web-client/views/{upload.jade → upload.pug} +47 -4
  17. package/documents/SDF/CMSI_402/spring_2014/Southwick_CMSI402_Spring2014_software-development-plan.md +0 -71
  18. package/documents/SDF/CMSI_402/spring_2014/Southwick_CMSI402_Spring2014_software-requirements-specification.md +0 -71
  19. package/documents/SDF/CMSI_402/spring_2014/use-case-diagram-spring-2014.jpg +0 -0
  20. package/documents/SDF/CMSI_402/spring_2017/Anguiano_402_Final_Presentation.pptx +0 -0
  21. package/documents/SDF/CMSI_402/spring_2017/Anguiano_402_Presentation_Final_Poster.pdf +0 -0
  22. package/documents/SDF/CMSI_402/spring_2017/Anguiano_CMSI402_Spring2017_project-proposal-presentation.pptx +0 -0
  23. package/documents/SDF/CMSI_402/spring_2017/Anguiano_CMSI402_Spring2017_project-proposal.docx +0 -0
  24. package/documents/SDF/CMSI_402/spring_2017/Anguiano_CMSI402_Spring2017_software-development-plan.docx +0 -0
  25. package/documents/SDF/CMSI_402/spring_2017/Anguiano_CMSI402_Spring2017_software-requirements-specification.docx +0 -0
  26. package/documents/SDF/CMSI_402/spring_2017/Design Review Presentation.pptx +0 -0
  27. package/documents/SDF/CMSI_402/spring_2018/0402report.docx +0 -0
  28. package/documents/SDF/CMSI_402/spring_2018/0409report.docx +0 -0
  29. package/documents/SDF/CMSI_402/spring_2018/402-gantt.png +0 -0
  30. package/documents/SDF/CMSI_402/spring_2018/402SRS_GRNSightFeedback01.txt +0 -28
  31. package/documents/SDF/CMSI_402/spring_2018/402_SPD.md +0 -223
  32. package/documents/SDF/CMSI_402/spring_2018/ChoeShinCMSI402_Final.pptx +0 -0
  33. package/documents/SDF/CMSI_402/spring_2018/ProjectProposal.md +0 -22
  34. package/documents/SDF/CMSI_402/spring_2018/SoftwareRequirementsSpecification.md +0 -88
  35. package/documents/SDF/CMSI_402/spring_2018/homework/choe_eileen/Choe_Eileen_CMSI 402_HW1.pdf +0 -0
  36. package/documents/SDF/CMSI_402/spring_2018/homework/choe_eileen/Choe_Eileen_CMSI402_HW2.pdf +0 -0
  37. package/documents/SDF/CMSI_402/spring_2018/homework/shin_jen/402hw2.docx +0 -0
  38. package/documents/SDF/CMSI_402/spring_2018/homework/shin_jen/Jen - 402Hw1.docx +0 -0
  39. package/documents/SDF/CMSI_402/spring_2018/homework/shin_jen/Jen - hw3.docx +0 -0
  40. package/documents/SDF/CMSI_402/spring_2018/writtenStatusReport.docx +0 -0
  41. package/documents/SDF/CMSI_402/spring_2018/writtenStatusReport4 +0 -0
  42. package/documents/SDF/CMSI_402/spring_2020/Alexia Filler/Expression Database Schema.pdf +0 -0
  43. package/documents/SDF/CMSI_402/spring_2020/Alexia Filler/ExpressionDbLayoutImage.jpg +0 -0
  44. package/documents/SDF/CMSI_402/spring_2020/Alexia Filler/ExpressionDbLayoutImageSmall.jpg +0 -0
  45. package/documents/SDF/CMSI_402/spring_2020/Alexia Filler/Filler_Patterson_CMSI402_Poster.pptx +0 -0
  46. package/documents/SDF/CMSI_402/spring_2020/Alexia Filler/GRNsight Final Presentation.pdf +0 -0
  47. package/documents/SDF/CMSI_402/spring_2020/Alexia Filler/Project Proposal Doc.pdf +0 -0
  48. package/documents/SDF/CMSI_402/spring_2020/Alexia Filler/Project Proposal Presentation.pdf +0 -0
  49. package/documents/SDF/CMSI_402/spring_2020/Alexia Filler/Software Development Plan/GANTT Chart.xlsx +0 -0
  50. package/documents/SDF/CMSI_402/spring_2020/Alexia Filler/Software Development Plan/Software Development Plan.pdf +0 -0
  51. package/documents/SDF/CMSI_402/spring_2020/Alexia Filler/Software Development Plan (Updated)/GANTT Chart (Updated).xlsx +0 -0
  52. package/documents/SDF/CMSI_402/spring_2020/Alexia Filler/Software Development Plan (Updated)/Software Development Plan (Updated).pdf +0 -0
  53. package/documents/SDF/CMSI_402/spring_2020/Alexia Filler/Software Requirements Specification (Updated).pdf +0 -0
  54. package/documents/SDF/CMSI_402/spring_2020/Alexia Filler/Software Requirements Specification.pdf +0 -0
  55. package/documents/SDF/CMSI_402/spring_2020/Kevin Patterson/402 GANTT Chart - Sheet1.pdf +0 -0
  56. package/documents/SDF/CMSI_402/spring_2020/Kevin Patterson/402 GRNsight SDP.pdf +0 -0
  57. package/documents/SDF/CMSI_402/spring_2020/Kevin Patterson/402 SRS.pdf +0 -0
  58. package/documents/SDF/CMSI_402/spring_2020/Kevin Patterson/FINAL GRNSIGHT PRESENTATION.pdf +0 -0
  59. package/documents/SDF/CMSI_402/spring_2020/Kevin Patterson/GRNsight Presentation.pdf +0 -0
  60. package/documents/SDF/CMSI_402/spring_2020/Kevin Patterson/Project Proposal 402.pdf +0 -0
  61. package/documents/SDF/CMSI_402/spring_2020/Kevin Patterson/SDP Updated/402 GANTT Chart UPDATED - Sheet1.pdf +0 -0
  62. package/documents/SDF/CMSI_402/spring_2020/Kevin Patterson/SDP Updated/402 GRNsight SDP UPDATED.pdf +0 -0
  63. package/documents/SDF/CMSI_402/spring_2020/Kevin Patterson/SRS Update/402 SRS Final.pdf +0 -0
  64. package/documents/abstracts/Anguiano_Varshneya_Undergraduate-Research-Symposium_2017_abstract.pdf +0 -0
  65. package/documents/abstracts/Dahlquist_Dionisio_et-al_BOSC_2020_abstract.pdf +0 -0
  66. package/documents/abstracts/SIGGRAPH 2017 Abstract/ACM-Reference-Format.bst +0 -3478
  67. package/documents/abstracts/SIGGRAPH 2017 Abstract/Figure1_zoom100.png +0 -0
  68. package/documents/abstracts/SIGGRAPH 2017 Abstract/acmart.cls +0 -2352
  69. package/documents/abstracts/SIGGRAPH 2017 Abstract/acmart.ins +0 -29
  70. package/documents/abstracts/SIGGRAPH 2017 Abstract/always-weights.png +0 -0
  71. package/documents/abstracts/SIGGRAPH 2017 Abstract/auto.png +0 -0
  72. package/documents/abstracts/SIGGRAPH 2017 Abstract/networkA.png +0 -0
  73. package/documents/abstracts/SIGGRAPH 2017 Abstract/networkB-normalized.png +0 -0
  74. package/documents/abstracts/SIGGRAPH 2017 Abstract/networkB.png +0 -0
  75. package/documents/abstracts/SIGGRAPH 2017 Abstract/never-weights.png +0 -0
  76. package/documents/abstracts/SIGGRAPH 2017 Abstract/representative-image/screenshot.jpg +0 -0
  77. package/documents/abstracts/SIGGRAPH 2017 Abstract/representative-image/screenshot3x2.png +0 -0
  78. package/documents/abstracts/SIGGRAPH 2017 Abstract/representative-image/withweights3x2.png +0 -0
  79. package/documents/abstracts/SIGGRAPH 2017 Abstract/screenshot-auto.png +0 -0
  80. package/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.bib +0 -85
  81. package/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.pdf +0 -0
  82. package/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.tex +0 -235
  83. package/documents/abstracts/SWE Collegiate Competition 2017.md +0 -9
  84. package/documents/abstracts/Samdarshi_GRNsight_SoCalSysBio_Abstract_2019.docx +0 -0
  85. package/documents/abstracts/Varshneya_Samdarshi_Southern-California-Systems-Biology_2017_abstract.docx +0 -0
  86. package/documents/abstracts/~$mdarshi_SoCalSysBio_Abstract_2019.docx +0 -0
  87. package/documents/developer_documents/State Diagram.graphml +0 -3525
  88. package/documents/developer_documents/graphml/State Diagram.graphml +0 -3115
  89. package/documents/developer_documents/older_versions/GRNsight State Diagram old.png +0 -0
  90. package/documents/developer_documents/older_versions/GRNsight State Diagram.png +0 -0
  91. package/documents/developer_documents/testing_script_generator/GRNsightTestingDocument.md +0 -1016
  92. package/documents/developer_documents/testing_script_generator/edgeFeatures.json +0 -178
  93. package/documents/developer_documents/testing_script_generator/fileFeatures.json +0 -100
  94. package/documents/developer_documents/testing_script_generator/layoutFeatures.json +0 -166
  95. package/documents/developer_documents/testing_script_generator/nodeFeatures.json +0 -195
  96. package/documents/developer_documents/testing_script_generator/speciesFeatures.json +0 -30
  97. package/documents/developer_documents/testing_script_generator/testing-script-generator.js +0 -172
  98. package/documents/developer_documents/testing_script_generator/viewFeatures.json +0 -82
  99. package/documents/developer_documents/testing_script_generator/viewportFeatures.json +0 -50
  100. package/documents/manuscripts/peerj-computerscience-2016/GRNsight_PeerJ-CS_conference-presentations_2016.docx +0 -0
  101. package/documents/manuscripts/peerj-computerscience-2016/GRNsight_PeerJ-CS_manuscript_2016.docx +0 -0
  102. package/documents/manuscripts/peerj-computerscience-2016/GRNsight_PeerJ-CS_manuscript_2016_Table1.docx +0 -0
  103. package/documents/manuscripts/peerj-computerscience-2016/GRNsight_PeerJ-CS_manuscript_2016_references.rtf +0 -264
  104. package/documents/manuscripts/peerj-computerscience-2016/GRNsight_PeerJ-CS_manuscript_2016_text-only.docx +0 -0
  105. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/21-genes_31-edges_Schade-data_for-screenshots.xlsx +0 -0
  106. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure1_zoom100.jpg +0 -0
  107. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure1_zoom100.png +0 -0
  108. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure1_zoom100.psd +0 -0
  109. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure1_zoom145.jpg +0 -0
  110. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure1_zoom145.png +0 -0
  111. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure1_zoom145.psd +0 -0
  112. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure1_zoom145_900pix-wide.psd +0 -0
  113. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure2_zoom100.jpg +0 -0
  114. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure2_zoom100.png +0 -0
  115. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure2_zoom100.psd +0 -0
  116. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure2_zoom145.jpg +0 -0
  117. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure2_zoom145.png +0 -0
  118. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure2_zoom145.psd +0 -0
  119. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure2_zoom145_900pix-wide.psd +0 -0
  120. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure5A.pdf +0 -0
  121. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure5B.pdf +0 -0
  122. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure5C.eps +0 -0
  123. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure5D.pdf +0 -0
  124. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure5E.pdf +0 -0
  125. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure5F.eps +0 -0
  126. package/documents/manuscripts/peerj-computerscience-2016/figures/other-versions/Figure5_compiled.png +0 -0
  127. package/documents/manuscripts/peerj-computerscience-2016/figures/submitted-versions/Figure1_zoom145_900pix-wide.png +0 -0
  128. package/documents/manuscripts/peerj-computerscience-2016/figures/submitted-versions/Figure2_zoom145_900pix-wide.png +0 -0
  129. package/documents/manuscripts/peerj-computerscience-2016/figures/submitted-versions/Figure3_GRNsight-Architecture.pdf +0 -0
  130. package/documents/manuscripts/peerj-computerscience-2016/figures/submitted-versions/Figure4_GRNsight-Screenshot.pdf +0 -0
  131. package/documents/manuscripts/peerj-computerscience-2016/figures/submitted-versions/Figure5_compiled.pdf +12 -5383
  132. package/documents/manuscripts/peerj-computerscience-2016/peerj-reviewing-10823-v0.pdf +0 -0
  133. package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_conference-presentations_2016_revised.docx +0 -0
  134. package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_cover-letter-and-response_2016.pdf +0 -0
  135. package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_cover-letter_2016.docx +0 -0
  136. package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_cover-letter_2016.pdf +0 -0
  137. package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_manuscript_2016_Table1.docx +0 -0
  138. package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_manuscript_2016_references_revised.rtf +0 -385
  139. package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_manuscript_2016_text-only_revised.docx +0 -0
  140. package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_manuscript_2016_text-only_revised_marked.docx +0 -0
  141. package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_response-to-reviewers_2016.docx +0 -0
  142. package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_response-to-reviewers_2016.pdf +0 -0
  143. package/documents/manuscripts/peerj-computerscience-2016/revisions/figures/Figure3_GRNsight-Architecture.pdf +0 -0
  144. package/documents/manuscripts/peerj-computerscience-2016/revisions/figures/Figure4_GRNsight-Screenshot-auto.pdf +0 -0
  145. package/documents/manuscripts/peerj-computerscience-2016/revisions/figures/Figure4_GRNsight-Screenshot.pdf +0 -0
  146. package/documents/manuscripts/peerj-computerscience-2016/revisions/peerj-reviewing-10823-v1.pdf +0 -0
  147. package/documents/posters/Anguiano_CMSI402_2017.pptx +0 -0
  148. package/documents/posters/Anguiano_Varshneya_LMU-Symposium_2015.pptx +0 -0
  149. package/documents/posters/Anguiano_Varshneya_SCCUR_2014.pptx +0 -0
  150. package/documents/posters/Choe_Shin_CMSI402_2018.pptx +0 -0
  151. package/documents/posters/Dahlquist-et-al_BOSC_ISMB_2016_poster.pptx +0 -0
  152. package/documents/posters/Filler_Patterson_CMSI402_Poster.pptx +0 -0
  153. package/documents/posters/Igbinedion_Green_Mersaghian_LMU_SYMPOSIUM_2021.pptx +0 -0
  154. package/documents/posters/Lopez_Filler_LMU_Symposium_2019.pdf +0 -0
  155. package/documents/posters/Lopez_Filler_LMU_Symposium_2019.pptx +0 -0
  156. package/documents/posters/Samdarshi-et-al_LMU-Symposium_2017.pptx +0 -0
  157. package/documents/posters/Samdarshi-et-al_LMU-Symposium_2018.pptx +0 -0
  158. package/documents/posters/Samdarshi-et-al_SoCalSysBio_2019.pptx +0 -0
  159. package/documents/posters/Shin-et-al_SCCUR_2017.pptx +0 -0
  160. package/documents/posters/Southwick_CMSI402_2014.pptx +0 -0
  161. package/documents/posters/Varshneya_Samdarshi_LMU-Symposium_2016.pptx +0 -0
  162. package/documents/posters/Varshneya_Samdarshi_SoCalSysBio_2017.pptx +0 -0
  163. package/documents/presentations/Anguiano_402_Final_Presentation.pptx +0 -0
  164. package/documents/presentations/Choe_SWERapidFire2017_final.pptx +0 -0
  165. package/documents/presentations/Dahlquist_BCC2020_20200720_talk.pptx +0 -0
  166. package/documents/presentations/Dahlquist_BOSC_20160709.pptx +0 -0
  167. package/documents/presentations/Dahlquist_ExperimentalBiology_20160404_talk.pptx +0 -0
  168. package/documents/presentations/Dahlquist_GRNsight_BCC2020_20200720_lightning-talk_video.mp4 +0 -0
  169. package/documents/presentations/Dahlquist_SoCalSysBio_20150131_talk.pptx +0 -0
  170. package/documents/presentations/Filler_Patterson_CMSI402_Presentation_20200501.pdf +0 -0
  171. package/documents/presentations/Filler_Patterson_LMU-Symposium_20200418_talk.pdf +0 -0
  172. package/documents/presentations/Samdarshi_LMU-Symposium_20190323_talk.pdf +0 -0
  173. package/documents/presentations/Samdarshi_LMU-Symposium_20190323_talk.pptx +0 -0
  174. package/documents/presentations/Southwick_Anguiano_LMU-Symposium_20140329_talk.pptx +0 -0
  175. package/documents/presentations/Southwick_CMSI402_Presentation_20140508_talk.pptx +0 -0
  176. package/documents/presentations/Varshneya_Anguiano_LMU-Symposium_201703_talk.pptx +0 -0
  177. package/documents/reports/Samdarshi_Mihir_2019/Samdarshi_2019_Final.docx +0 -0
  178. package/documents/reports/Samdarshi_Mihir_2019/Samdarshi_Mihir_2019_AnnotatedBibliography.docx +0 -0
  179. package/documents/reports/Samdarshi_Mihir_2019/Samdarshi_Mihir_2019_Outline.docx +0 -0
  180. package/documents/reports/Samdarshi_Mihir_2019/~$mdarshi_2019_Draft.docx +0 -0
  181. package/documents/reports/Samdarshi_Mihir_2019/~$mdarshi_2019_Final_Paper_Draft.docx +0 -0
  182. package/documents/reports/Varshneya_Anu_2017/Varshneya-201701-AnnotatedBibliography.docx +0 -0
  183. package/documents/reports/Varshneya_Anu_2017/Varshneya-201702-Introduction.docx +0 -0
  184. package/documents/reports/Varshneya_Anu_2017/Varshneya-201702-Outline.docx +0 -0
  185. package/documents/reports/Varshneya_Anu_2017/Varshneya-201703-Discussion.docx +0 -0
  186. package/documents/reports/Varshneya_Anu_2017/Varshneya-201703-MMResults.docx +0 -0
  187. package/documents/reports/Varshneya_Anu_2017/Varshneya-201704-Draft-1.docx +0 -0
  188. package/documents/reports/Varshneya_Anu_2017/Varshneya-201704-Final.docx +0 -0
  189. package/onlysidebar.html +0 -8
@@ -1,172 +0,0 @@
1
- // Instructions for generating new testing document:
2
- // Make any changes in the data.json file
3
- // Navigate to documents>developer_documents>testing-script-generator folder on the command line
4
- // Run node testing-script-generator.js to generate new Testing Document file
5
- // by default, this will create tests for the features with included=true in their features.json
6
- // -l is the option to list the ids you would like to test
7
- // `node testing-script-generator.js -l e4 e5 e6` will create tests for e4, e5, e6 features from the table
8
- // -j is the option to read the test ids from a .json file, default name is testFeatures.json
9
- // `node testing-script-generator.js -j` will create tests for the ids listed in testFeatures.json
10
- // `node testing-script-generator.js -j example.json` will create tests for the ids listed in example.json
11
-
12
-
13
- var fs = require("fs");
14
- var markdownpdf = require("markdown-pdf");
15
- var moment = require("moment");
16
-
17
- // Handle user CLI options
18
- const options = process.argv.slice(2)
19
- let toTest = undefined
20
- if(options.length > 0){
21
- if(options[0] == '-l'){
22
- toTest = options.slice(1)
23
- console.log(toTest)
24
- } else if(options[0] == '-j'){
25
- const fileName = options[1] ? options[1] : 'testFeatures.json'
26
- toTest = JSON.parse(fs.readFileSync(fileName, 'utf-8'))
27
- }
28
- }
29
-
30
- // Imports JSON data from data.json
31
- const JSONFileList = ['edgeFeatures.json', 'fileFeatures.json', 'layoutFeatures.json',
32
- 'nodeFeatures.json', 'speciesFeatures.json', 'viewFeatures.json', 'viewportFeatures.json']
33
- var grnsightOptions = JSONFileList.flatMap((fileName)=> JSON.parse(fs.readFileSync(fileName, 'utf8')) )
34
- // var grnsightOptions = JSON.parse(fs.readFileSync('featureList.json', 'utf8'));
35
-
36
- // Node class for representing each test
37
- class Node {
38
- constructor (instructions, results) {
39
- this.instructions = instructions || [];
40
- this.results = results || [];
41
- }
42
- addResult (result) {
43
- this.results.push(result);
44
- }
45
- addInstruction(instruction) {
46
- this.instructions.push(instruction);
47
- }
48
- print() {
49
- var string = "";
50
- string += "Instructions:\n";
51
- this.instructions.forEach(function(instruction) {
52
- string += "- " + instruction + "\n";
53
- });
54
- string += "\nResults:\n";
55
- this.results.forEach(function (result) {
56
- string += "- " + result + "\n";
57
- });
58
- return string;
59
- }
60
- }
61
-
62
- // Initially, arrayOfNodes only contains an empty node
63
- var root = new Node();
64
- var arrayOfNodes = [root];
65
- var testDescription = "";
66
- var availabilityDescription = "";
67
-
68
- var addChildren = function (arrayOfNodes, optionKeys, test) {
69
- var newArrayOfNodes = [];
70
- // Loops through each node in arrayOfNodes
71
- arrayOfNodes.forEach(function(node) {
72
- if ( (!test.included && !toTest) || (toTest && !toTest.includes(test.id)) ) {
73
- // Skip this test by adding the original node itself to the newArrayOfNodes
74
- newArrayOfNodes.push(node);
75
- } else {
76
- optionKeys.forEach(function(option) {
77
- var instruction = test.title + " - " + option;
78
- var result = test.text + " " + test.options[option];
79
- result = test.conditional ? result + ", " + test.conditional : result;
80
- var newNode = new Node();
81
- // The null option is equivalent to disabling the test.
82
- if (option !== "NULL") {
83
- // Adds the new instruction / result pair only
84
- newNode.addInstruction(instruction);
85
- newNode.addResult(result);
86
- }
87
- // The newNode inherits all of the parent's instruction / result pairs
88
- for (var i = 0; i < node.instructions.length; i++) {
89
- newNode.addInstruction(node.instructions[i]);
90
- newNode.addResult(node.results[i]);
91
- }
92
- newArrayOfNodes.push(newNode);
93
- });
94
- }
95
- });
96
- return newArrayOfNodes;
97
- }
98
-
99
- // Performs the combinatorics for each GRNsight option.
100
- for (var i = grnsightOptions.length - 1; i >=0; i--) {
101
- var test = grnsightOptions[i];
102
- var optionKeys = Object.keys(test.options);
103
- arrayOfNodes = addChildren(arrayOfNodes, optionKeys, test);
104
- }
105
-
106
- // Formats the table to display all the GRNsight options, user interactions, and results.
107
- grnsightOptions.forEach(function(test) {
108
- var optionKeys = Object.keys(test.options);
109
- var entry = "|" + test.title + "|";
110
- var status = (test.included && !toTest || toTest && toTest.includes(test.id)) ? "YES" : "NO";
111
- var entry = "|" + test.id +"|"+ status + " | " + test.title + "|";
112
- var noGraphLoadedAvailability = test.availability['NoGraphLoaded'] ? "YES": "NO";
113
- var weightedGraphLoadedAvailability = test.availability['WeightedGraphLoaded'] ? "YES": "NO";
114
- var unweightedGraphLoadedAvailability = test.availability['UnWeightedGraphLoaded'] ? "YES": "NO";
115
- var availability = `| ${noGraphLoadedAvailability} | ${weightedGraphLoadedAvailability} | ${unweightedGraphLoadedAvailability} | `
116
- optionKeys.forEach(function(option) {
117
- var result = test.text + " " + test.options[option];
118
- result = test.conditional ? result + ", " + test.conditional : result;
119
- testDescription += entry + option + " | " + result + "|\n";
120
- availabilityDescription += `| ${test.title} - ${option} ${availability}\n`
121
- });
122
- });
123
-
124
- // Generates the markdown document, combining the table with the test listing
125
- var formatMarkdown = function (arrayOfNodes) {
126
- var md = "## GRNsight Client Side Testing Overview";
127
- md += "\nLast Updated: " + moment().format("YYYY-MM-DD");
128
- md += "\n\n";
129
- md += "| ID | Included in Testing Protocol | GRNsight Option | User Action | Result | \n"
130
- md += "| ---- | --------------- | ------ | ------- | ------ | \n"
131
- md += testDescription;
132
- md += formatFunctionAvailabilityTable();
133
- md += "\n## Client Side Tests\n";
134
- for (var i = 0; i < arrayOfNodes.length; i++) {
135
- md += "### Test " + (i + 1) + "\n";
136
- md += arrayOfNodes[i].print() + "\n";
137
- }
138
- return md;
139
- }
140
-
141
- var formatFunctionAvailabilityTable = function() {
142
- var md = "\n## GRNsight Function Availability Table";
143
- md += "\n\n";
144
- md += "| GRNsight Function | No Graph Loaded | Weighted Graph Loaded | Unweighted Graph Loaded | \n";
145
- md += "| ---------------- | --------------- | ----------------------- | ---------------------- | \n";
146
- md += availabilityDescription;
147
- return md;
148
- }
149
-
150
- var markdownDocument = formatMarkdown(arrayOfNodes);
151
- // var functionAvailability = formatFunctionAvailabilityTable();
152
-
153
- // Writes over the GRNsightTestingDocument.md file
154
- fs.writeFile('GRNsightTestingDocument.md', markdownDocument, function (err) {
155
- if (err) return console.log(err);
156
- });
157
-
158
- // Generates the GRNsight Function Availability Markdown file
159
- // fs.writeFile("GRNsightFunctionAvailability.md", functionAvailability, function (err) {
160
- // if (err) return console.log(err);
161
- // })
162
-
163
- markdownpdf().from("GRNsightTestingDocument.md").to("GRNsightTestingDocument.pdf", function () {
164
- console.log("Created GRNsightTestingDocument.pdf");
165
- })
166
-
167
- // markdownpdf().from("GRNsightFunctionAvailability.md").to("GRNsightFunctionAvailability.pdf", function () {
168
- // console.log("Created GRNsightFunctionAvailability.pdf");
169
- // })
170
-
171
- console.log("\nGRNsightTestingDocument.md has been successfully regenerated, and includes " + arrayOfNodes.length + " tests.");
172
- console.log("Update the wiki by copy/pasting Markdown code to: https://github.com/dondi/GRNsight/wiki/Client-Side-Testing-Document\n")
@@ -1,82 +0,0 @@
1
- [
2
- {
3
- "id":"v1",
4
- "title": "Sidebar Menu: Restrict Graph to Viewport Checkbox",
5
- "text": "The graph bounding box should",
6
- "options": {
7
- "Check": "always be contained within the viewport.",
8
- "Uncheck": "be allowed to extend past the viewport"
9
- },
10
- "included": false,
11
- "availability": {
12
- "NoGraphLoaded": true,
13
- "WeightedGraphLoaded": true,
14
- "UnWeightedGraphLoaded": true
15
- }
16
- },
17
- {
18
- "id":"v2",
19
- "title": "Sidebar Menu: Viewport Size",
20
- "text": "",
21
- "options": {
22
- "Keep as Detected": "Upon loading or reloading the GRNsight webpage, the viewport size should be automatically detected and set to small, medium, or large, based on the size of the browser window.",
23
- "Select \"Small\"": "The viewport size should be set to small",
24
- "Select \"Medium\"": "The viewport size should be set to medium",
25
- "Select \"Large\"": "The viewport size should be set to large",
26
- "Select \"Fit to Window\"": "The viewport size should automatically be set to the size of the browser window"
27
- },
28
- "included": false,
29
- "availability": {
30
- "NoGraphLoaded": true,
31
- "WeightedGraphLoaded": true,
32
- "UnWeightedGraphLoaded": true
33
- }
34
- },
35
- {
36
- "id":"v3",
37
- "title": "Dropdown Menu: View -> Viewport Size",
38
- "text": "",
39
- "options": {
40
- "Keep as Detected": "Upon loading or reloading the GRNsight webpage, the viewport size should be automatically detected and set to small, medium, or large, based on the size of the browser window.",
41
- "Check \"Small\"": "The viewport size should be set to small",
42
- "Check \"Medium\"": "The viewport size should be set to medium",
43
- "Check \"Large\"": "The viewport size should be set to large",
44
- "Check \"Fit to Window\"": "The viewport size should automatically be set to the size of the browser window"
45
- },
46
- "included": true,
47
- "availability": {
48
- "NoGraphLoaded": true,
49
- "WeightedGraphLoaded": true,
50
- "UnWeightedGraphLoaded": true
51
- }
52
- },
53
- {
54
- "id":"v4",
55
- "title": "Dropdown Menu: View -> Restrict Graph to Viewport",
56
- "text": "The graph should",
57
- "options": {
58
- "Check": "always be contained within the viewport.",
59
- "Uncheck": "be allowed to extend past the viewport"
60
- },
61
- "included": true,
62
- "availability": {
63
- "NoGraphLoaded": true,
64
- "WeightedGraphLoaded": true,
65
- "UnWeightedGraphLoaded": true
66
- }
67
- },
68
- {
69
- "id":"v5",
70
- "title": "Dropdown Menu: View -> Zoom",
71
- "text": "The viewport should",
72
- "options": {
73
- "Enter Zoom Value, then Press Enter": "should zoom according to the value"
74
- },
75
- "included": false,
76
- "availability": {
77
- "NoGraphLoaded": false,
78
- "WeightedGraphLoaded": true,
79
- "UnWeightedGraphLoaded": true
80
- }
81
- }
82
- ]
@@ -1,50 +0,0 @@
1
- [
2
- {
3
- "id":"vp1",
4
- "title": "Viewport Menu: D-Pad Control",
5
- "text": "The graph should",
6
- "options": {
7
- "Click Right Arrow": "shift to the right",
8
- "Click Left Arrow": "shift to the left",
9
- "Click Up Arrow": "shift down",
10
- "Click Down Arrow": "shift up",
11
- "Click Center Button": "move to the center of the bounding box (note that it is not the same thing as the viewport"
12
- },
13
- "included": false,
14
- "availability": {
15
- "NoGraphLoaded": false,
16
- "WeightedGraphLoaded": true,
17
- "UnWeightedGraphLoaded": true
18
- }
19
- },
20
- {
21
- "id":"vp2",
22
- "title": "Viewport Menu: Zoom Slider",
23
- "text": "The graph should",
24
- "options": {
25
- "Increase Zoom Level": "zoom in (get larger)",
26
- "Decrease Zoom Level": "zoom out (get smaller)"
27
- },
28
- "included": false,
29
- "availability": {
30
- "NoGraphLoaded": false,
31
- "WeightedGraphLoaded": true,
32
- "UnWeightedGraphLoaded": true
33
- }
34
- },
35
- {
36
- "id":"vp3",
37
- "title": "Viewport Menu: Node",
38
- "text": "",
39
- "options": {
40
- "No Click": "",
41
- "Right Click": "Gene information page should appear in a new tab within the browser."
42
- },
43
- "included": false,
44
- "availability": {
45
- "NoGraphLoaded": false,
46
- "WeightedGraphLoaded": true,
47
- "UnWeightedGraphLoaded": true
48
- }
49
- }
50
- ]