@sjcrh/proteinpaint-client 2.92.1-0 → 2.94.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 (358) hide show
  1. package/dist/{2dmaf-3NVWQINO.js → 2dmaf-YCNRR3B7.js} +3 -3
  2. package/dist/{AppHeader-ZKU6ZLSS.js → AppHeader-LG4672GF.js} +11 -12
  3. package/dist/{AppHeader-ZKU6ZLSS.js.map → AppHeader-LG4672GF.js.map} +1 -1
  4. package/dist/{DEanalysis-VIBCWMEY.js → DEanalysis-EQUCIHAI.js} +8 -10
  5. package/dist/{DEanalysis-VIBCWMEY.js.map → DEanalysis-EQUCIHAI.js.map} +1 -1
  6. package/dist/{Disco-6BHA7PC5.js → Disco-KEJNY7UJ.js} +65 -33
  7. package/dist/Disco-KEJNY7UJ.js.map +7 -0
  8. package/dist/{Disco.UI-Y5CVQWAF.js → Disco.UI-MLHD3G74.js} +8 -9
  9. package/dist/{Disco.UI-Y5CVQWAF.js.map → Disco.UI-MLHD3G74.js.map} +1 -1
  10. package/dist/{HicApp-YVGX7EGM.js → HicApp-FAMRACO5.js} +6 -7
  11. package/dist/{HicApp-YVGX7EGM.js.map → HicApp-FAMRACO5.js.map} +1 -1
  12. package/dist/{adSandbox-6PEPCQOT.js → adSandbox-H4PYYSLR.js} +4 -4
  13. package/dist/{app-672JMA37.js → app-BU3IUPCJ.js} +18 -19
  14. package/dist/{app-UNZL7FZE.js → app-Z4WLP2HM.js} +5 -6
  15. package/dist/app.js +6 -6
  16. package/dist/{bam-U725CWMM.js → bam-5PA5R7C4.js} +18 -6
  17. package/dist/{bam-U725CWMM.js.map → bam-5PA5R7C4.js.map} +1 -1
  18. package/dist/{barchart-54IG422P.js → barchart-EISF6XQC.js} +8 -9
  19. package/dist/{barchart.events-O7VO5N6Q.js → barchart.events-5JXV4ER6.js} +6 -7
  20. package/dist/{bars.renderer-6J6G6EKY.js → bars.renderer-ZCKBA3U4.js} +2 -2
  21. package/dist/{block-4ENHZSBQ.js → block-2TYUPQPC.js} +14 -14
  22. package/dist/{block.init-Z6T3SIFV.js → block.init-RWNEBD2U.js} +2 -2
  23. package/dist/{block.mds.junction-7DUSRHF7.js → block.mds.junction-IJFFR32R.js} +1 -1
  24. package/dist/{block.mds.svcnv-XLACMOIZ.js → block.mds.svcnv-XUAVLFYR.js} +4 -4
  25. package/dist/{chunk-46D4SQ3Z.js → block.mds2-4ZNU6VQU.js} +32 -6
  26. package/dist/{chunk-46D4SQ3Z.js.map → block.mds2-4ZNU6VQU.js.map} +1 -1
  27. package/dist/{block.tk.aicheck-YRBG2IQH.js → block.tk.aicheck-B2ZBYDQG.js} +5 -6
  28. package/dist/{block.tk.aicheck-YRBG2IQH.js.map → block.tk.aicheck-B2ZBYDQG.js.map} +1 -1
  29. package/dist/{block.tk.bam-BBTKQ7PW.js → block.tk.bam-JHCKTCDX.js} +5 -6
  30. package/dist/{block.tk.bam-BBTKQ7PW.js.map → block.tk.bam-JHCKTCDX.js.map} +1 -1
  31. package/dist/{block.tk.hicstraw-GS76OCOT.js → block.tk.hicstraw-Z6346VYY.js} +6 -7
  32. package/dist/{block.tk.hicstraw-GS76OCOT.js.map → block.tk.hicstraw-Z6346VYY.js.map} +1 -1
  33. package/dist/{block.tk.junction-QD4DUX6E.js → block.tk.junction-JZGK7GZF.js} +4 -4
  34. package/dist/{block.tk.junction.textmatrixui-2OTBZVT3.js → block.tk.junction.textmatrixui-TSJWRYNE.js} +4 -4
  35. package/dist/{block.tk.ld-QKLVIDVO.js → block.tk.ld-IVNVKQWH.js} +6 -7
  36. package/dist/{block.tk.ld-QKLVIDVO.js.map → block.tk.ld-IVNVKQWH.js.map} +1 -1
  37. package/dist/{boxplot-BTJ23URH.js → boxplot-P4D6MLRU.js} +6 -7
  38. package/dist/{brainImaging-5IIGNRI4.js → brainImaging-HNDMNFAU.js} +21 -16
  39. package/dist/brainImaging-HNDMNFAU.js.map +7 -0
  40. package/dist/{categorical-3AUS23NB.js → categorical-WLH7QNC5.js} +6 -7
  41. package/dist/{chunk-5NXOPBCY.js → chunk-2FPM5VH4.js} +5 -5
  42. package/dist/{chunk-TELEHWHE.js → chunk-2IGMPZLU.js} +3 -3
  43. package/dist/{chunk-OXS5ALKK.js → chunk-2IMIXU47.js} +2 -2
  44. package/dist/{chunk-D5AYVPI5.js → chunk-4PMDPHOK.js} +11 -13
  45. package/dist/{chunk-D5AYVPI5.js.map → chunk-4PMDPHOK.js.map} +1 -1
  46. package/dist/{chunk-F6MLUICF.js → chunk-6GGQ6GPB.js} +4 -4
  47. package/dist/{chunk-CP2LCTLX.js → chunk-6GKC2245.js} +2 -2
  48. package/dist/{chunk-AERTHFIT.js → chunk-6UVLDMW2.js} +5 -5
  49. package/dist/{chunk-BS4MCHKV.js → chunk-ADVIGHSP.js} +7 -7
  50. package/dist/{chunk-Y4HTMRRE.js → chunk-AH5VBLSM.js} +4 -4
  51. package/dist/{chunk-R53CHXO7.js → chunk-AI5IUCP3.js} +3 -3
  52. package/dist/{chunk-5MFKJZXO.js → chunk-BDT2VC2J.js} +4 -6
  53. package/dist/{chunk-5MFKJZXO.js.map → chunk-BDT2VC2J.js.map} +1 -1
  54. package/dist/{chunk-B7WSPEWT.js → chunk-BXDSVZIH.js} +19 -19
  55. package/dist/{chunk-CNSRX47Y.js → chunk-EHJ3YIGT.js} +4 -2
  56. package/dist/chunk-EHJ3YIGT.js.map +7 -0
  57. package/dist/{chunk-IGSXAAKB.js → chunk-EO6QSPZG.js} +22 -10
  58. package/dist/chunk-EO6QSPZG.js.map +7 -0
  59. package/dist/{chunk-U2GYRJSU.js → chunk-GVJYONFE.js} +5 -5
  60. package/dist/{chunk-UW2VIZDM.js → chunk-HASGSCF6.js} +70 -70
  61. package/dist/{chunk-ZYRXVRSD.js → chunk-HUWZTQX4.js} +2 -2
  62. package/dist/{chunk-EV5PWCW6.js → chunk-HXJFNODU.js} +2 -2
  63. package/dist/{chunk-6WASEC7G.js → chunk-IMD3TYE6.js} +4 -4
  64. package/dist/{chunk-2QADLZ7Z.js → chunk-LG6NI2UQ.js} +6 -3
  65. package/dist/{chunk-2QADLZ7Z.js.map → chunk-LG6NI2UQ.js.map} +2 -2
  66. package/dist/{chunk-HV7WP3EB.js → chunk-LUOELTTQ.js} +4 -4
  67. package/dist/{chunk-FBGQAGGK.js → chunk-LXNDJPEG.js} +11 -11
  68. package/dist/{chunk-XJMG4IYX.js → chunk-N3USXWUU.js} +8 -8
  69. package/dist/{chunk-WWEQCHHV.js → chunk-N4DA325B.js} +2 -2
  70. package/dist/{chunk-SJ4KZVLF.js → chunk-NAEANGSC.js} +2 -2
  71. package/dist/chunk-NAEANGSC.js.map +7 -0
  72. package/dist/{chunk-CGOXKDPM.js → chunk-OHX7K5UI.js} +8 -8
  73. package/dist/{chunk-QFWQQGD2.js → chunk-OIP43ZYE.js} +3 -5
  74. package/dist/{chunk-QFWQQGD2.js.map → chunk-OIP43ZYE.js.map} +1 -1
  75. package/dist/{chunk-U4TMNTEN.js → chunk-ORJZXPGR.js} +21 -21
  76. package/dist/chunk-ORJZXPGR.js.map +7 -0
  77. package/dist/{chunk-PR6KQ34N.js → chunk-ORU5KRBU.js} +2 -2
  78. package/dist/{chunk-XOJDT5DM.js → chunk-OTMRT5ZS.js} +2 -2
  79. package/dist/{chunk-5UK5RUPF.js → chunk-PH3QSJNX.js} +2 -2
  80. package/dist/{chunk-BOXIKBU6.js → chunk-PKOJTBTL.js} +5 -5
  81. package/dist/{chunk-3CFT2EHG.js → chunk-PRLAUH62.js} +2 -2
  82. package/dist/{chunk-TLM22KX3.js → chunk-Q6SZCOLT.js} +74 -74
  83. package/dist/{chunk-Y4DFPITM.js → chunk-QKUBZPF2.js} +3 -3
  84. package/dist/{chunk-GAQHST5Q.js → chunk-QNQOVRJG.js} +4 -4
  85. package/dist/{chunk-GLTXSGJ5.js → chunk-R2GU73LD.js} +3 -2
  86. package/dist/{chunk-GLTXSGJ5.js.map → chunk-R2GU73LD.js.map} +2 -2
  87. package/dist/{chunk-GQRSKA25.js → chunk-S2JLOASG.js} +86 -86
  88. package/dist/chunk-S2JLOASG.js.map +7 -0
  89. package/dist/{chunk-66VCTGMX.js → chunk-SSIZ6FIF.js} +35 -35
  90. package/dist/{chunk-7KYC7RQG.js → chunk-T62VB7J3.js} +71 -71
  91. package/dist/{chunk-PCDCWVSC.js → chunk-U4IDCOJX.js} +2 -2
  92. package/dist/{chunk-AUTLLZ66.js → chunk-VJ467ESZ.js} +8015 -7648
  93. package/dist/chunk-VJ467ESZ.js.map +7 -0
  94. package/dist/{chunk-LMOYLSVV.js → chunk-Y4CIIEAJ.js} +5 -5
  95. package/dist/{chunk-7WG6ETAP.js → chunk-ZDZB3W6N.js} +2 -2
  96. package/dist/{chunk-VII2J7M2.js → chunk-ZJ3P7OEJ.js} +5 -7
  97. package/dist/{chunk-VII2J7M2.js.map → chunk-ZJ3P7OEJ.js.map} +1 -1
  98. package/dist/{condition-2XRWCVJH.js → condition-WGWPDLAS.js} +5 -6
  99. package/dist/{condition-2XRWCVJH.js.map → condition-WGWPDLAS.js.map} +1 -1
  100. package/dist/{controls-B3U2PVPQ.js → controls-NOE2P466.js} +5 -6
  101. package/dist/controls.btns-PUKANKAS.js +10 -0
  102. package/dist/{controls.config-QH2FTWNH.js → controls.config-CS23H2SC.js} +5 -6
  103. package/dist/{cuminc-VDSQOBTN.js → cuminc-YZTXMW2A.js} +5 -6
  104. package/dist/{cuminc-VDSQOBTN.js.map → cuminc-YZTXMW2A.js.map} +1 -1
  105. package/dist/{dataDownload-J2Q4NWB5.js → dataDownload-CYY2T7AE.js} +5 -6
  106. package/dist/{dataDownload-J2Q4NWB5.js.map → dataDownload-CYY2T7AE.js.map} +1 -1
  107. package/dist/{databrowser.ui-TCMS2UOY.js → databrowser.ui-ZKOAC4TB.js} +18 -19
  108. package/dist/{databrowser.ui-TCMS2UOY.js.map → databrowser.ui-ZKOAC4TB.js.map} +1 -1
  109. package/dist/{dictionary-DW5TCDKM.js → dictionary-QXJXJL3G.js} +5 -6
  110. package/dist/{dictionary-DW5TCDKM.js.map → dictionary-QXJXJL3G.js.map} +1 -1
  111. package/dist/{expclust.gdc.spec-NTXV7OJT.js → expclust.gdc.spec-HWEIHEZ3.js} +8 -8
  112. package/dist/{facet-DYVU3EUG.js → facet-EUZE2WBA.js} +5 -6
  113. package/dist/{facet-DYVU3EUG.js.map → facet-EUZE2WBA.js.map} +1 -1
  114. package/dist/{geneExpClustering-3H4PBLDH.js → geneExpClustering-AL65LCY3.js} +7 -8
  115. package/dist/{geneExpClustering-3H4PBLDH.js.map → geneExpClustering-AL65LCY3.js.map} +1 -1
  116. package/dist/{geneExpression-U33GCP6S.js → geneExpression-67BTKH45.js} +6 -6
  117. package/dist/{geneExpression-PRXMCAOQ.js → geneExpression-PLC363B7.js} +5 -6
  118. package/dist/{geneExpression-PRXMCAOQ.js.map → geneExpression-PLC363B7.js.map} +1 -1
  119. package/dist/{geneORA-4YMKDW7G.js → geneORA-FWKNRLZH.js} +7 -9
  120. package/dist/{geneORA-4YMKDW7G.js.map → geneORA-FWKNRLZH.js.map} +1 -1
  121. package/dist/{geneVariant-N5N65RK7.js → geneVariant-NZBPMRMV.js} +5 -6
  122. package/dist/{geneVariant-N5N65RK7.js.map → geneVariant-NZBPMRMV.js.map} +1 -1
  123. package/dist/{geneset-PAJ6U3PK.js → geneset-GQWOCK3N.js} +5 -6
  124. package/dist/{geneset-PAJ6U3PK.js.map → geneset-GQWOCK3N.js.map} +1 -1
  125. package/dist/{genomeBrowser-5QDWFBCN.js → genomeBrowser-6HLXHFCQ.js} +8 -9
  126. package/dist/{genomeBrowser-5QDWFBCN.js.map → genomeBrowser-6HLXHFCQ.js.map} +1 -1
  127. package/dist/{genomeBrowser.controls-RPODFNKR.js → genomeBrowser.controls-RRTRR4TI.js} +6 -7
  128. package/dist/{genomeBrowser.spec-XP7GQULJ.js → genomeBrowser.spec-RKGSI7D2.js} +8 -8
  129. package/dist/{gsea-YRKGVGYD.js → gsea-UJT4M6HE.js} +7 -9
  130. package/dist/{gsea-YRKGVGYD.js.map → gsea-UJT4M6HE.js.map} +1 -1
  131. package/dist/{hierCluster-JSEGGQLO.js → hierCluster-MBJ63H4A.js} +15 -16
  132. package/dist/{hierCluster-PDCUG2UC.js → hierCluster-NSQNLLW5.js} +14 -15
  133. package/dist/{hierCluster.config-5GE55GIT.js → hierCluster.config-B7HC4XJO.js} +7 -8
  134. package/dist/{hierCluster.integration.spec-6Z6UIUVD.js → hierCluster.integration.spec-SV6HHQAT.js} +12 -13
  135. package/dist/{hierCluster.integration.spec-6Z6UIUVD.js.map → hierCluster.integration.spec-SV6HHQAT.js.map} +1 -1
  136. package/dist/{hierCluster.interactivity-4FLGWMEH.js → hierCluster.interactivity-OMZF2WSL.js} +6 -7
  137. package/dist/{imagePlot-6FGBX45L.js → imagePlot-ZNKXY3YY.js} +6 -7
  138. package/dist/{imagePlot-6FGBX45L.js.map → imagePlot-ZNKXY3YY.js.map} +1 -1
  139. package/dist/{launch.adhoc-VWISQZPE.js → launch.adhoc-5742GAYN.js} +8 -9
  140. package/dist/{leftlabel.sample-JMFVV7TX.js → leftlabel.sample-Y4WKEIHU.js} +9 -11
  141. package/dist/{leftlabel.sample-JMFVV7TX.js.map → leftlabel.sample-Y4WKEIHU.js.map} +1 -1
  142. package/dist/{lollipop-EO52NTVE.js → lollipop-F2XAQCH5.js} +2 -2
  143. package/dist/{maf-QXULAYCX.js → maf-IZVCLUUJ.js} +18 -11
  144. package/dist/maf-IZVCLUUJ.js.map +7 -0
  145. package/dist/{maftimeline-JPQICZE3.js → maftimeline-ADMMLEHH.js} +3 -3
  146. package/dist/{matrix-QIO63OSJ.js → matrix-5BXJJYVY.js} +12 -13
  147. package/dist/{matrix-MWWY5QN2.js → matrix-ZZXZEPOY.js} +12 -13
  148. package/dist/{matrix.config-LLTCFODM.js → matrix.config-YZXXSAFB.js} +6 -7
  149. package/dist/{matrix.controls-NH75ARNQ.js → matrix.controls-XDH24A5Y.js} +6 -7
  150. package/dist/{matrix.interactivity-ZMJMADCA.js → matrix.interactivity-METSPWZD.js} +6 -7
  151. package/dist/{matrix.layout-IK4GMNRS.js → matrix.layout-6OZ6YBED.js} +6 -7
  152. package/dist/{matrix.legend-LRM5ZNP7.js → matrix.legend-KNMWKTHC.js} +2 -2
  153. package/dist/{matrix.renderers-2JPFSPBV.js → matrix.renderers-KRJLX3AM.js} +6 -7
  154. package/dist/{matrix.sort.unit.spec-FITN5UQD.js → matrix.sort.unit.spec-HJNUEYLJ.js} +6 -7
  155. package/dist/{matrix.sort.unit.spec-FITN5UQD.js.map → matrix.sort.unit.spec-HJNUEYLJ.js.map} +1 -1
  156. package/dist/{matrix.sorterUi.unit.spec-62Z5T465.js → matrix.sorterUi.unit.spec-UILBUNPZ.js} +6 -7
  157. package/dist/{matrix.sorterUi.unit.spec-62Z5T465.js.map → matrix.sorterUi.unit.spec-UILBUNPZ.js.map} +1 -1
  158. package/dist/{mavb-2Q57D3GE.js → mavb-P6RQLEI7.js} +4 -4
  159. package/dist/{mds.samplescatterplot-NBY6OFCV.js → mds.samplescatterplot-LRABITME.js} +7 -8
  160. package/dist/{mds.samplescatterplot-NBY6OFCV.js.map → mds.samplescatterplot-LRABITME.js.map} +1 -1
  161. package/dist/{metaboliteIntensity-VT6KUY35.js → metaboliteIntensity-3C377T4T.js} +6 -6
  162. package/dist/{numeric-VLZ5BMVV.js → numeric-GK6UIBZS.js} +6 -6
  163. package/dist/{numeric.binary-DBRKK7DS.js → numeric.binary-FXFPQZMX.js} +10 -11
  164. package/dist/{numeric.binary-DBRKK7DS.js.map → numeric.binary-FXFPQZMX.js.map} +1 -1
  165. package/dist/{numeric.continuous-5UMFBJLC.js → numeric.continuous-6FVWEZWD.js} +9 -10
  166. package/dist/{numeric.continuous-5UMFBJLC.js.map → numeric.continuous-6FVWEZWD.js.map} +1 -1
  167. package/dist/{numeric.discrete-XB7DUL5P.js → numeric.discrete-ROZZDALG.js} +8 -9
  168. package/dist/{numeric.spline-2LPPVDR2.js → numeric.spline-2IBUNSOQ.js} +9 -10
  169. package/dist/{numeric.spline-2LPPVDR2.js.map → numeric.spline-2IBUNSOQ.js.map} +1 -1
  170. package/dist/{numeric.toggle-O4DFD2YE.js → numeric.toggle-MNI7HCHY.js} +6 -7
  171. package/dist/{oncomatrix-674D7O3P.js → oncomatrix-3L7O4CF3.js} +7 -8
  172. package/dist/{oncomatrix-674D7O3P.js.map → oncomatrix-3L7O4CF3.js.map} +1 -1
  173. package/dist/{oncomatrix.spec-7TYK7JCD.js → oncomatrix.spec-22YYMVHR.js} +8 -8
  174. package/dist/{plot.app-DTRQDE5F.js → plot.app-JO2RSE6O.js} +7 -8
  175. package/dist/{plot.brainImaging-7HDJYEGR.js → plot.brainImaging-N76HFQ6C.js} +2 -2
  176. package/dist/{plot.disco-DF74EBXX.js → plot.disco-2JEHN4XG.js} +2 -2
  177. package/dist/{plot.dzi-HHKXKI33.js → plot.dzi-I5HRFBTG.js} +2 -2
  178. package/dist/{plot.ssgq-HSCTBRNQ.js → plot.ssgq-QLBFWSUS.js} +2 -2
  179. package/dist/{plot.wsi-G4I43CLG.js → plot.wsi-Y342TGUE.js} +2 -2
  180. package/dist/{profile.spec-XDKFUPCN.js → profile.spec-JDRGYRVS.js} +8 -8
  181. package/dist/{profileBarchart-2UFIRNTU.js → profileBarchart-YK6UW5CY.js} +5 -6
  182. package/dist/{profileBarchart-2UFIRNTU.js.map → profileBarchart-YK6UW5CY.js.map} +1 -1
  183. package/dist/{profileForms-HIABB3OF.js → profileForms-HME3Q5ZN.js} +22 -11
  184. package/dist/profileForms-HME3Q5ZN.js.map +7 -0
  185. package/dist/{profilePlot-MSF4G6DL.js → profilePlot-A43SLOFH.js} +5 -6
  186. package/dist/{profilePolar-XK5WQAYU.js → profilePolar-M6NUXFT3.js} +7 -9
  187. package/dist/{profilePolar-XK5WQAYU.js.map → profilePolar-M6NUXFT3.js.map} +1 -1
  188. package/dist/{profileRadar-62H73WD3.js → profileRadar-4BNRB6DP.js} +9 -13
  189. package/dist/profileRadar-4BNRB6DP.js.map +7 -0
  190. package/dist/{profileRadarFacility-UQPZDWOJ.js → profileRadarFacility-XKIHVBZ3.js} +11 -13
  191. package/dist/profileRadarFacility-XKIHVBZ3.js.map +7 -0
  192. package/dist/{regression-VB3TEGLU.js → regression-U7UIVOGG.js} +13 -14
  193. package/dist/{regression.inputs-FWOII7HT.js → regression.inputs-ZKXITMIB.js} +13 -14
  194. package/dist/{regression.inputs.term-B2RRUXKH.js → regression.inputs.term-ZWX66OXH.js} +13 -14
  195. package/dist/{regression.inputs.values.table-XUD6YX7Y.js → regression.inputs.values.table-NUB2B44C.js} +11 -12
  196. package/dist/{regression.results-N6CZULAD.js → regression.results-BQMV42TZ.js} +6 -7
  197. package/dist/{sampleScatter-WFUKYL5J.js → sampleScatter-OR6RDGQU.js} +8 -9
  198. package/dist/{sampleScatter.interactivity-Y7SYWPQI.js → sampleScatter.interactivity-DUCW2PC6.js} +7 -8
  199. package/dist/{sampleScatter.renderer-2PAJTCYI.js → sampleScatter.renderer-3P5ALZOP.js} +8 -9
  200. package/dist/{sampleView-6EMYD2EP.js → sampleView-NKBJMRWX.js} +6 -7
  201. package/dist/{samplelst-GQNYYMMW.js → samplelst-DDGNPNA3.js} +7 -9
  202. package/dist/{samplelst-GQNYYMMW.js.map → samplelst-DDGNPNA3.js.map} +1 -1
  203. package/dist/{samplematrix-M34IHEHY.js → samplematrix-46QTQ7D5.js} +2 -2
  204. package/dist/{scatter-RE3UDNIR.js → scatter-PIT4VYHA.js} +5 -6
  205. package/dist/{scatter-RE3UDNIR.js.map → scatter-PIT4VYHA.js.map} +1 -1
  206. package/dist/{selectGenomeWithTklst-VQMM73RG.js → selectGenomeWithTklst-BNGK3VDA.js} +2 -2
  207. package/dist/{singleCellCellType-2TF47Y3D.js → singleCellCellType-NVS4PUNN.js} +6 -7
  208. package/dist/{singleCellCellType-2TF47Y3D.js.map → singleCellCellType-NVS4PUNN.js.map} +1 -1
  209. package/dist/{singleCellGeneExpression-LVOZ7YNP.js → singleCellGeneExpression-Y226MAC7.js} +6 -6
  210. package/dist/{singleCellPlot-BIUBHTXO.js → singleCellPlot-LJC273DO.js} +104 -67
  211. package/dist/singleCellPlot-LJC273DO.js.map +7 -0
  212. package/dist/{singlecell-NAKTK2GJ.js → singlecell-Y4NTOQKU.js} +9 -10
  213. package/dist/{singlecell-NAKTK2GJ.js.map → singlecell-Y4NTOQKU.js.map} +1 -1
  214. package/dist/{snp-4QA7VI74.js → snp-FK4ZZPGR.js} +6 -7
  215. package/dist/{snp-4QA7VI74.js.map → snp-FK4ZZPGR.js.map} +1 -1
  216. package/dist/{snplocus-W7YUCJXK.js → snplocus-NW2T64BV.js} +5 -6
  217. package/dist/{snplocus-W7YUCJXK.js.map → snplocus-NW2T64BV.js.map} +1 -1
  218. package/dist/{summary-M27FGYW5.js → summary-HBLZGMA2.js} +16 -17
  219. package/dist/{survival-UDPSE7LP.js → survival-AFWYWZCV.js} +5 -6
  220. package/dist/{survival-UDPSE7LP.js.map → survival-AFWYWZCV.js.map} +1 -1
  221. package/dist/{survival-LUSOAAJE.js → survival-PD3336QU.js} +6 -7
  222. package/dist/{survival-LUSOAAJE.js.map → survival-PD3336QU.js.map} +1 -1
  223. package/dist/{svmr-U7DDYQV4.js → svmr-RFNYRDDF.js} +2 -2
  224. package/dist/{table-6SKASEZN.js → table-WMXRPD7F.js} +5 -6
  225. package/dist/{table-6SKASEZN.js.map → table-WMXRPD7F.js.map} +1 -1
  226. package/dist/{tk-M6567HHQ.js → tk-7O3OTWUF.js} +7 -8
  227. package/dist/{tp.ui-WIVCXWQX.js → tp.ui-IR55TTTD.js} +6 -6
  228. package/dist/{tvs.numeric-6SJN52RB.js → tvs.numeric-NLIWNF27.js} +3 -3
  229. package/dist/{tvs.samplelst-6MV6E32W.js → tvs.samplelst-TFMJ44M2.js} +35 -2
  230. package/dist/{tvs.samplelst-6MV6E32W.js.map → tvs.samplelst-TFMJ44M2.js.map} +1 -1
  231. package/dist/{violin-GLV26V3S.js → violin-FPLUUWUK.js} +8 -9
  232. package/dist/{violin.interactivity-3Y65ROOH.js → violin.interactivity-ZHQT6Y4S.js} +6 -7
  233. package/dist/{violin.renderer-MTSIJEXP.js → violin.renderer-GVIDYJMY.js} +6 -7
  234. package/dist/{vocabulary-URLHHNQA.js → vocabulary-3LLTNMQQ.js} +5 -6
  235. package/package.json +2 -2
  236. package/dist/Disco-6BHA7PC5.js.map +0 -7
  237. package/dist/block.mds2-44KPPWA7.js +0 -51
  238. package/dist/brainImaging-5IIGNRI4.js.map +0 -7
  239. package/dist/chunk-AUTLLZ66.js.map +0 -7
  240. package/dist/chunk-CNSRX47Y.js.map +0 -7
  241. package/dist/chunk-GQRSKA25.js.map +0 -7
  242. package/dist/chunk-IGSXAAKB.js.map +0 -7
  243. package/dist/chunk-SJ4KZVLF.js.map +0 -7
  244. package/dist/chunk-U4TMNTEN.js.map +0 -7
  245. package/dist/chunk-Z36HPN3C.js +0 -299
  246. package/dist/chunk-Z36HPN3C.js.map +0 -7
  247. package/dist/controls.btns-KY6YPV4O.js +0 -10
  248. package/dist/maf-QXULAYCX.js.map +0 -7
  249. package/dist/profileForms-HIABB3OF.js.map +0 -7
  250. package/dist/profileRadar-62H73WD3.js.map +0 -7
  251. package/dist/profileRadarFacility-UQPZDWOJ.js.map +0 -7
  252. package/dist/singleCellPlot-BIUBHTXO.js.map +0 -7
  253. package/dist/vocabulary-URLHHNQA.js.map +0 -7
  254. /package/dist/{2dmaf-3NVWQINO.js.map → 2dmaf-YCNRR3B7.js.map} +0 -0
  255. /package/dist/{adSandbox-6PEPCQOT.js.map → adSandbox-H4PYYSLR.js.map} +0 -0
  256. /package/dist/{app-672JMA37.js.map → app-BU3IUPCJ.js.map} +0 -0
  257. /package/dist/{app-UNZL7FZE.js.map → app-Z4WLP2HM.js.map} +0 -0
  258. /package/dist/{barchart-54IG422P.js.map → barchart-EISF6XQC.js.map} +0 -0
  259. /package/dist/{barchart.events-O7VO5N6Q.js.map → barchart.events-5JXV4ER6.js.map} +0 -0
  260. /package/dist/{bars.renderer-6J6G6EKY.js.map → bars.renderer-ZCKBA3U4.js.map} +0 -0
  261. /package/dist/{block-4ENHZSBQ.js.map → block-2TYUPQPC.js.map} +0 -0
  262. /package/dist/{block.init-Z6T3SIFV.js.map → block.init-RWNEBD2U.js.map} +0 -0
  263. /package/dist/{block.mds.junction-7DUSRHF7.js.map → block.mds.junction-IJFFR32R.js.map} +0 -0
  264. /package/dist/{block.mds.svcnv-XLACMOIZ.js.map → block.mds.svcnv-XUAVLFYR.js.map} +0 -0
  265. /package/dist/{block.tk.junction-QD4DUX6E.js.map → block.tk.junction-JZGK7GZF.js.map} +0 -0
  266. /package/dist/{block.tk.junction.textmatrixui-2OTBZVT3.js.map → block.tk.junction.textmatrixui-TSJWRYNE.js.map} +0 -0
  267. /package/dist/{block.mds2-44KPPWA7.js.map → boxplot-P4D6MLRU.js.map} +0 -0
  268. /package/dist/{boxplot-BTJ23URH.js.map → categorical-WLH7QNC5.js.map} +0 -0
  269. /package/dist/{chunk-5NXOPBCY.js.map → chunk-2FPM5VH4.js.map} +0 -0
  270. /package/dist/{chunk-TELEHWHE.js.map → chunk-2IGMPZLU.js.map} +0 -0
  271. /package/dist/{chunk-OXS5ALKK.js.map → chunk-2IMIXU47.js.map} +0 -0
  272. /package/dist/{chunk-F6MLUICF.js.map → chunk-6GGQ6GPB.js.map} +0 -0
  273. /package/dist/{chunk-CP2LCTLX.js.map → chunk-6GKC2245.js.map} +0 -0
  274. /package/dist/{chunk-AERTHFIT.js.map → chunk-6UVLDMW2.js.map} +0 -0
  275. /package/dist/{chunk-BS4MCHKV.js.map → chunk-ADVIGHSP.js.map} +0 -0
  276. /package/dist/{chunk-Y4HTMRRE.js.map → chunk-AH5VBLSM.js.map} +0 -0
  277. /package/dist/{chunk-R53CHXO7.js.map → chunk-AI5IUCP3.js.map} +0 -0
  278. /package/dist/{chunk-B7WSPEWT.js.map → chunk-BXDSVZIH.js.map} +0 -0
  279. /package/dist/{chunk-U2GYRJSU.js.map → chunk-GVJYONFE.js.map} +0 -0
  280. /package/dist/{chunk-UW2VIZDM.js.map → chunk-HASGSCF6.js.map} +0 -0
  281. /package/dist/{chunk-ZYRXVRSD.js.map → chunk-HUWZTQX4.js.map} +0 -0
  282. /package/dist/{chunk-EV5PWCW6.js.map → chunk-HXJFNODU.js.map} +0 -0
  283. /package/dist/{chunk-6WASEC7G.js.map → chunk-IMD3TYE6.js.map} +0 -0
  284. /package/dist/{chunk-HV7WP3EB.js.map → chunk-LUOELTTQ.js.map} +0 -0
  285. /package/dist/{chunk-FBGQAGGK.js.map → chunk-LXNDJPEG.js.map} +0 -0
  286. /package/dist/{chunk-XJMG4IYX.js.map → chunk-N3USXWUU.js.map} +0 -0
  287. /package/dist/{chunk-WWEQCHHV.js.map → chunk-N4DA325B.js.map} +0 -0
  288. /package/dist/{chunk-CGOXKDPM.js.map → chunk-OHX7K5UI.js.map} +0 -0
  289. /package/dist/{chunk-PR6KQ34N.js.map → chunk-ORU5KRBU.js.map} +0 -0
  290. /package/dist/{chunk-XOJDT5DM.js.map → chunk-OTMRT5ZS.js.map} +0 -0
  291. /package/dist/{chunk-5UK5RUPF.js.map → chunk-PH3QSJNX.js.map} +0 -0
  292. /package/dist/{chunk-BOXIKBU6.js.map → chunk-PKOJTBTL.js.map} +0 -0
  293. /package/dist/{chunk-3CFT2EHG.js.map → chunk-PRLAUH62.js.map} +0 -0
  294. /package/dist/{chunk-TLM22KX3.js.map → chunk-Q6SZCOLT.js.map} +0 -0
  295. /package/dist/{chunk-Y4DFPITM.js.map → chunk-QKUBZPF2.js.map} +0 -0
  296. /package/dist/{chunk-GAQHST5Q.js.map → chunk-QNQOVRJG.js.map} +0 -0
  297. /package/dist/{chunk-66VCTGMX.js.map → chunk-SSIZ6FIF.js.map} +0 -0
  298. /package/dist/{chunk-7KYC7RQG.js.map → chunk-T62VB7J3.js.map} +0 -0
  299. /package/dist/{chunk-PCDCWVSC.js.map → chunk-U4IDCOJX.js.map} +0 -0
  300. /package/dist/{chunk-LMOYLSVV.js.map → chunk-Y4CIIEAJ.js.map} +0 -0
  301. /package/dist/{chunk-7WG6ETAP.js.map → chunk-ZDZB3W6N.js.map} +0 -0
  302. /package/dist/{categorical-3AUS23NB.js.map → controls-NOE2P466.js.map} +0 -0
  303. /package/dist/{controls-B3U2PVPQ.js.map → controls.btns-PUKANKAS.js.map} +0 -0
  304. /package/dist/{controls.btns-KY6YPV4O.js.map → controls.config-CS23H2SC.js.map} +0 -0
  305. /package/dist/{expclust.gdc.spec-NTXV7OJT.js.map → expclust.gdc.spec-HWEIHEZ3.js.map} +0 -0
  306. /package/dist/{geneExpression-U33GCP6S.js.map → geneExpression-67BTKH45.js.map} +0 -0
  307. /package/dist/{controls.config-QH2FTWNH.js.map → genomeBrowser.controls-RRTRR4TI.js.map} +0 -0
  308. /package/dist/{genomeBrowser.spec-XP7GQULJ.js.map → genomeBrowser.spec-RKGSI7D2.js.map} +0 -0
  309. /package/dist/{genomeBrowser.controls-RPODFNKR.js.map → hierCluster-MBJ63H4A.js.map} +0 -0
  310. /package/dist/{hierCluster-JSEGGQLO.js.map → hierCluster-NSQNLLW5.js.map} +0 -0
  311. /package/dist/{hierCluster-PDCUG2UC.js.map → hierCluster.config-B7HC4XJO.js.map} +0 -0
  312. /package/dist/{hierCluster.config-5GE55GIT.js.map → hierCluster.interactivity-OMZF2WSL.js.map} +0 -0
  313. /package/dist/{hierCluster.interactivity-4FLGWMEH.js.map → launch.adhoc-5742GAYN.js.map} +0 -0
  314. /package/dist/{lollipop-EO52NTVE.js.map → lollipop-F2XAQCH5.js.map} +0 -0
  315. /package/dist/{maftimeline-JPQICZE3.js.map → maftimeline-ADMMLEHH.js.map} +0 -0
  316. /package/dist/{launch.adhoc-VWISQZPE.js.map → matrix-5BXJJYVY.js.map} +0 -0
  317. /package/dist/{matrix-MWWY5QN2.js.map → matrix-ZZXZEPOY.js.map} +0 -0
  318. /package/dist/{matrix-QIO63OSJ.js.map → matrix.config-YZXXSAFB.js.map} +0 -0
  319. /package/dist/{matrix.config-LLTCFODM.js.map → matrix.controls-XDH24A5Y.js.map} +0 -0
  320. /package/dist/{matrix.controls-NH75ARNQ.js.map → matrix.interactivity-METSPWZD.js.map} +0 -0
  321. /package/dist/{matrix.interactivity-ZMJMADCA.js.map → matrix.layout-6OZ6YBED.js.map} +0 -0
  322. /package/dist/{matrix.layout-IK4GMNRS.js.map → matrix.legend-KNMWKTHC.js.map} +0 -0
  323. /package/dist/{matrix.legend-LRM5ZNP7.js.map → matrix.renderers-KRJLX3AM.js.map} +0 -0
  324. /package/dist/{mavb-2Q57D3GE.js.map → mavb-P6RQLEI7.js.map} +0 -0
  325. /package/dist/{metaboliteIntensity-VT6KUY35.js.map → metaboliteIntensity-3C377T4T.js.map} +0 -0
  326. /package/dist/{numeric-VLZ5BMVV.js.map → numeric-GK6UIBZS.js.map} +0 -0
  327. /package/dist/{matrix.renderers-2JPFSPBV.js.map → numeric.discrete-ROZZDALG.js.map} +0 -0
  328. /package/dist/{numeric.discrete-XB7DUL5P.js.map → numeric.toggle-MNI7HCHY.js.map} +0 -0
  329. /package/dist/{oncomatrix.spec-7TYK7JCD.js.map → oncomatrix.spec-22YYMVHR.js.map} +0 -0
  330. /package/dist/{numeric.toggle-O4DFD2YE.js.map → plot.app-JO2RSE6O.js.map} +0 -0
  331. /package/dist/{plot.brainImaging-7HDJYEGR.js.map → plot.brainImaging-N76HFQ6C.js.map} +0 -0
  332. /package/dist/{plot.disco-DF74EBXX.js.map → plot.disco-2JEHN4XG.js.map} +0 -0
  333. /package/dist/{plot.dzi-HHKXKI33.js.map → plot.dzi-I5HRFBTG.js.map} +0 -0
  334. /package/dist/{plot.ssgq-HSCTBRNQ.js.map → plot.ssgq-QLBFWSUS.js.map} +0 -0
  335. /package/dist/{plot.wsi-G4I43CLG.js.map → plot.wsi-Y342TGUE.js.map} +0 -0
  336. /package/dist/{profile.spec-XDKFUPCN.js.map → profile.spec-JDRGYRVS.js.map} +0 -0
  337. /package/dist/{plot.app-DTRQDE5F.js.map → profilePlot-A43SLOFH.js.map} +0 -0
  338. /package/dist/{profilePlot-MSF4G6DL.js.map → regression-U7UIVOGG.js.map} +0 -0
  339. /package/dist/{regression-VB3TEGLU.js.map → regression.inputs-ZKXITMIB.js.map} +0 -0
  340. /package/dist/{regression.inputs-FWOII7HT.js.map → regression.inputs.term-ZWX66OXH.js.map} +0 -0
  341. /package/dist/{regression.inputs.term-B2RRUXKH.js.map → regression.inputs.values.table-NUB2B44C.js.map} +0 -0
  342. /package/dist/{regression.inputs.values.table-XUD6YX7Y.js.map → regression.results-BQMV42TZ.js.map} +0 -0
  343. /package/dist/{regression.results-N6CZULAD.js.map → sampleScatter-OR6RDGQU.js.map} +0 -0
  344. /package/dist/{sampleScatter-WFUKYL5J.js.map → sampleScatter.interactivity-DUCW2PC6.js.map} +0 -0
  345. /package/dist/{sampleScatter.interactivity-Y7SYWPQI.js.map → sampleScatter.renderer-3P5ALZOP.js.map} +0 -0
  346. /package/dist/{sampleScatter.renderer-2PAJTCYI.js.map → sampleView-NKBJMRWX.js.map} +0 -0
  347. /package/dist/{samplematrix-M34IHEHY.js.map → samplematrix-46QTQ7D5.js.map} +0 -0
  348. /package/dist/{selectGenomeWithTklst-VQMM73RG.js.map → selectGenomeWithTklst-BNGK3VDA.js.map} +0 -0
  349. /package/dist/{singleCellGeneExpression-LVOZ7YNP.js.map → singleCellGeneExpression-Y226MAC7.js.map} +0 -0
  350. /package/dist/{sampleView-6EMYD2EP.js.map → summary-HBLZGMA2.js.map} +0 -0
  351. /package/dist/{svmr-U7DDYQV4.js.map → svmr-RFNYRDDF.js.map} +0 -0
  352. /package/dist/{summary-M27FGYW5.js.map → tk-7O3OTWUF.js.map} +0 -0
  353. /package/dist/{tp.ui-WIVCXWQX.js.map → tp.ui-IR55TTTD.js.map} +0 -0
  354. /package/dist/{tk-M6567HHQ.js.map → tvs.numeric-NLIWNF27.js.map} +0 -0
  355. /package/dist/{tvs.numeric-6SJN52RB.js.map → violin-FPLUUWUK.js.map} +0 -0
  356. /package/dist/{violin-GLV26V3S.js.map → violin.interactivity-ZHQT6Y4S.js.map} +0 -0
  357. /package/dist/{violin.interactivity-3Y65ROOH.js.map → violin.renderer-GVIDYJMY.js.map} +0 -0
  358. /package/dist/{violin.renderer-MTSIJEXP.js.map → vocabulary-3LLTNMQQ.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  renderSandboxFormDiv
3
- } from "./chunk-ZYRXVRSD.js";
4
- import "./chunk-SJ4KZVLF.js";
3
+ } from "./chunk-HUWZTQX4.js";
4
+ import "./chunk-NAEANGSC.js";
5
5
  import {
6
6
  axisstyle,
7
7
  bulk_badline,
@@ -1404,4 +1404,4 @@ export {
1404
1404
  d2mafparseinput,
1405
1405
  d2mafui
1406
1406
  };
1407
- //# sourceMappingURL=2dmaf-3NVWQINO.js.map
1407
+ //# sourceMappingURL=2dmaf-YCNRR3B7.js.map
@@ -1,28 +1,27 @@
1
1
  import {
2
2
  makeButton,
3
3
  openSandbox
4
- } from "./chunk-GLTXSGJ5.js";
4
+ } from "./chunk-R2GU73LD.js";
5
5
  import {
6
6
  InputSearch
7
- } from "./chunk-AUTLLZ66.js";
7
+ } from "./chunk-VJ467ESZ.js";
8
8
  import "./chunk-7KFEDC2T.js";
9
9
  import "./chunk-FCPSU6WB.js";
10
10
  import "./chunk-4WBP22U2.js";
11
11
  import "./chunk-CLHA5AEH.js";
12
12
  import "./chunk-UJALIJYS.js";
13
- import "./chunk-PR6KQ34N.js";
13
+ import "./chunk-ORU5KRBU.js";
14
14
  import "./chunk-U74RHDII.js";
15
15
  import "./chunk-PGEEB5NA.js";
16
16
  import "./chunk-VSRNBBZH.js";
17
17
  import "./chunk-Z7ZWX5W5.js";
18
18
  import "./chunk-NHPZSGTH.js";
19
19
  import "./chunk-PBT5AMVE.js";
20
- import "./chunk-Z36HPN3C.js";
21
20
  import "./chunk-WTM3GD2X.js";
22
21
  import {
23
22
  get_tklst
24
- } from "./chunk-B7WSPEWT.js";
25
- import "./chunk-LMOYLSVV.js";
23
+ } from "./chunk-BXDSVZIH.js";
24
+ import "./chunk-Y4CIIEAJ.js";
26
25
  import "./chunk-MYPTC6HX.js";
27
26
  import "./chunk-MKAF2BHB.js";
28
27
  import {
@@ -32,12 +31,12 @@ import "./chunk-N7KIDGKF.js";
32
31
  import "./chunk-6MSAGRRE.js";
33
32
  import {
34
33
  newSandboxDiv
35
- } from "./chunk-ZYRXVRSD.js";
36
- import "./chunk-SJ4KZVLF.js";
34
+ } from "./chunk-HUWZTQX4.js";
35
+ import "./chunk-NAEANGSC.js";
37
36
  import "./chunk-ALPXXDQD.js";
38
37
  import {
39
38
  block_init_default
40
- } from "./chunk-R53CHXO7.js";
39
+ } from "./chunk-AI5IUCP3.js";
41
40
  import {
42
41
  throwMsgWithFilePathAndFnName
43
42
  } from "./chunk-RKJGIOIF.js";
@@ -236,7 +235,7 @@ async function findgene2paint(str, app, genomename, jwt) {
236
235
  debugmode: app.debugmode
237
236
  };
238
237
  first_genetrack_tolist(g, par2.tklst);
239
- import("./block-4ENHZSBQ.js").then((b) => new b.Block(par2)).catch((err) => {
238
+ import("./block-2TYUPQPC.js").then((b) => new b.Block(par2)).catch((err) => {
240
239
  app.error0(err);
241
240
  });
242
241
  return;
@@ -842,7 +841,7 @@ var AppHeader = class _AppHeader {
842
841
  debugmode: app.debugmode
843
842
  };
844
843
  first_genetrack_tolist(g, par.tklst);
845
- import("./block-4ENHZSBQ.js").then((b) => new b.Block(par));
844
+ import("./block-2TYUPQPC.js").then((b) => new b.Block(par));
846
845
  app.drawer.dispatch({ type: "is_apps_btn_active", value: false });
847
846
  });
848
847
  return g_browser_btn;
@@ -855,4 +854,4 @@ var AppHeader = class _AppHeader {
855
854
  export {
856
855
  AppHeader
857
856
  };
858
- //# sourceMappingURL=AppHeader-ZKU6ZLSS.js.map
857
+ //# sourceMappingURL=AppHeader-LG4672GF.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/header/omniSearch.js", "../appdrawer/card.js", "../appdrawer/dsButton.js", "../appdrawer/layout.js", "../appdrawer/mainBtn.js", "../appdrawer/store.js", "../appdrawer/app.js", "../src/header/AppHeader.ts"],
4
4
  "sourcesContent": ["import { dofetch3 } from '#common/dofetch'\nimport { openSandbox } from '../../appdrawer/adSandbox'\nimport { throwMsgWithFilePathAndFnName } from '../../dom/sayerror.ts'\nimport { string2pos } from '../coord'\nimport { newSandboxDiv } from '../../dom/sandbox.ts'\nimport * as parseurl from '../app.parseurl'\nimport urlmap from '#common/urlmap'\nimport { first_genetrack_tolist } from '#common/1stGenetk'\nimport blockinit from '../block.init'\nimport { select as d3select } from 'd3-selection'\n\n/*\n----EXPORTED----\nsearchItems()\nfindgenelst()\nfindgene2paint()\n\n----Internal----\nfindAppDrawerElements()\ngetExampleNames()\ngetFilteredElements()\n*/\n\nexport async function searchItems(app, tip, help, publications, jwt) {\n\tconst userInput = d3select('input').property('value').trim()\n\tconst data = [\n\t\t{\n\t\t\ttitle: 'Genes',\n\t\t\tdefault: true,\n\t\t\titems: await findgenelst(userInput, app.selectgenome.property('value'), jwt),\n\t\t\tcolor: '#F2F2F2',\n\t\t\tcallback: d => {\n\t\t\t\tapp.drawer.dispatch({ type: 'is_apps_btn_active', value: false })\n\t\t\t\ttip.hide()\n\t\t\t\tfindgene2paint(d, app, app.selectgenome.property('value'), jwt)\n\t\t\t}\n\t\t}\n\t]\n\tawait findAppDrawerElements(app, userInput, data, tip)\n\t//Keep 'Help' section second last\n\tdata.push({\n\t\ttitle: 'Help',\n\t\tdefault: false,\n\t\titems: help.filter(d => d.label.toLowerCase().includes(userInput.toLowerCase())),\n\t\tcolor: '#faebd9',\n\t\tcallback: d => {\n\t\t\twindow.open(d.link, d.label)\n\t\t}\n\t})\n\tdata.push({\n\t\ttitle: 'Publications',\n\t\tdefault: false,\n\t\titems: publications.filter(\n\t\t\td =>\n\t\t\t\td.title.toLowerCase().includes(userInput.toLowerCase()) ||\n\t\t\t\td.appHeaderTitle.toLowerCase().includes(userInput.toLowerCase())\n\t\t),\n\t\tcolor: '#E6E6FA',\n\t\tcallback: d => {\n\t\t\twindow.open(d.doi, d.title)\n\t\t}\n\t})\n\treturn data\n}\n\nasync function findAppDrawerElements(app, input, data, tip) {\n\tconst re = await dofetch3(app.cardsPath + '/index.json')\n\tif (re.error) throwMsgWithFilePathAndFnName(`Problem retrieving ../cards/index.json`)\n\tconst userInput = input.toLowerCase().trim()\n\tconst elements = [...re.elements]\n\tlet filteredElements\n\tif (userInput.length > 2) {\n\t\t/** Adding the examples to the search terms is expensive\n\t\t * Limit when all card files are loaded based on user input\n\t\t * Maybe timeout instead? or combination of the two?\n\t\t */\n\t\tawait getExampleNames(elements, app)\n\t\tfilteredElements = getFilteredElements(elements, userInput)\n\t} else {\n\t\tfilteredElements = getFilteredElements(elements, userInput)\n\t}\n\n\tconst opts = {\n\t\tapp: app.drawer.opts,\n\t\tsandboxDiv: app.drawer.opts.sandboxDiv,\n\t\tgenomes: app.genomes,\n\t\tfromApp: true\n\t}\n\n\tdata.push(\n\t\t{\n\t\t\ttitle: 'Tracks and Apps',\n\t\t\titems: filteredElements.filter(c => c.type == 'card'),\n\t\t\tcolor: '#e1edf7',\n\t\t\tcallback: element => {\n\t\t\t\tapp.drawer.dispatch({ type: 'is_apps_btn_active', value: false })\n\t\t\t\ttip.hide()\n\t\t\t\topenSandbox(element, opts)\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\ttitle: 'Datasets',\n\t\t\titems: filteredElements.filter(c => c.type == 'dsButton'),\n\t\t\tcolor: '#e5f5e4',\n\t\t\tcallback: element => {\n\t\t\t\tapp.drawer.dispatch({ type: 'is_apps_btn_active', value: false })\n\t\t\t\ttip.hide()\n\t\t\t\topenSandbox(element, opts)\n\t\t\t}\n\t\t}\n\t)\n\treturn data\n}\n\nasync function getExampleNames(elements, app) {\n\tconst promises = elements.map(async elem => {\n\t\tif (elem.hidden || elem.type != 'card' || !elem.sandboxJson) return elem\n\t\tconst exs = await dofetch3(app.cardsPath + `/${elem.sandboxJson}.json`)\n\t\tif (exs?.ppcalls.length > 0) {\n\t\t\tfor (const c of exs.ppcalls) {\n\t\t\t\tif (c.isUI) return\n\t\t\t\tif (c?.label) elem.searchterms.push(c.label)\n\t\t\t}\n\t\t}\n\t})\n\n\tawait Promise.all(promises)\n}\n\nfunction getFilteredElements(elements, userInput) {\n\treturn elements\n\t\t.filter(elem => {\n\t\t\tif (elem.hidden) return false\n\t\t\tlet searchTermFound = (elem.searchterms || []).reduce((searchTermFound, searchTerm) => {\n\t\t\t\tif (searchTermFound) return true\n\t\t\t\treturn searchTerm.toLowerCase().includes(userInput)\n\t\t\t}, false)\n\t\t\treturn searchTermFound || elem.name.toLowerCase().includes(userInput)\n\t\t})\n\t\t.sort((a, b) => a.name.localeCompare(b.name))\n}\n\nexport async function findgenelst(str, genome, jwt) {\n\t//TODO - including something here about if user input includes a special character to return rather than comment out catch\n\tif (str.length == 0) return\n\ttry {\n\t\tconst data = await dofetch3('/genelookup', {\n\t\t\tbody: {\n\t\t\t\tinput: str,\n\t\t\t\tgenome,\n\t\t\t\tjwt\n\t\t\t}\n\t\t})\n\n\t\tif (data.error) throw data.error\n\t\tif (!data.hits) throw '.hits[] missing'\n\t\treturn data.hits\n\t} catch (err) {\n\t\t// err is likely \"invalid character in gene name\". ignore and continue\n\t\t// if (err.stack) console.log(err.stack)\n\t\t// throw err\n\t}\n}\n\nexport async function findgene2paint(str, app, genomename, jwt) {\n\tconst g = app.genomes[genomename]\n\tif (!g) {\n\t\tconsole.error('unknown genome ' + genomename)\n\t\treturn\n\t}\n\tconst sandbox_div = newSandboxDiv(app.drawer.opts.sandboxDiv)\n\tsandbox_div.header.html(\n\t\t'<div style=\"display:inline-block;\">' +\n\t\t\tstr +\n\t\t\t'</div><div class=\"sjpp-output-sandbox-title\">' +\n\t\t\tgenomename +\n\t\t\t'</div>'\n\t)\n\t// may yield tklst from url parameters\n\tconst urlp = urlmap()\n\tconst tklst = await parseurl.get_tklst(urlp, g)\n\n\tconst pos = string2pos(str, g)\n\tif (pos) {\n\t\t// input is coordinate, launch block\n\t\tconst par = {\n\t\t\thostURL: app.hostURL,\n\t\t\tjwt,\n\t\t\tholder: sandbox_div.body,\n\t\t\tgenome: g,\n\t\t\tnobox: true,\n\t\t\tchr: pos.chr,\n\t\t\tstart: pos.start,\n\t\t\tstop: pos.stop,\n\t\t\tdogtag: genomename,\n\t\t\ttklst,\n\t\t\tdebugmode: app.debugmode\n\t\t}\n\t\tfirst_genetrack_tolist(g, par.tklst)\n\n\t\timport('../block.js')\n\t\t\t.then(b => new b.Block(par))\n\t\t\t.catch(err => {\n\t\t\t\tapp.error0(err)\n\t\t\t})\n\t\treturn\n\t}\n\n\t// input string is not coordinate, find gene match\n\tconst par = {\n\t\thostURL: app.hostURL,\n\t\tjwt,\n\t\tquery: str,\n\t\tgenome: g,\n\t\tholder: sandbox_div.body,\n\t\tvariantPageCall_snv: app.variantPageCall_snv,\n\t\tsamplecart: app.samplecart,\n\t\ttklst,\n\t\tdebugmode: app.debugmode\n\t}\n\n\t// add svcnv tk from url param\n\tconst tmp = sessionStorage.getItem('urlp_mds')\n\tif (tmp) {\n\t\tconst l = tmp.split(',')\n\t\tif (l.length == 2) {\n\t\t\tpar.datasetqueries = [{ dataset: l[0], querykey: l[1] }]\n\t\t}\n\t}\n\n\tawait blockinit(par)\n}\n", "import { getCompInit } from '#rx'\nimport { rgb } from 'd3-color'\nimport { openSandbox } from './adSandbox'\nimport { slideDrawer } from './mainBtn'\n\n/*\n.opts{\n\t.app{\n\t\t.holder\n\t\t.element{}\n\t\t.sandboxDiv\n\t}\n}\n\nTODOs: \n\n- responsiveness of image on window resize \n\t- expand image size on resize\n\t- non square, take better use of space\n- Need fn in utils to decide black or white text based on background color contrast\n- Unify card and nestedCard layout. Only call one layout function for both\n\t- optional non image card layout\n\t- Make ribbons appear on nested cards\n- element.section only required if columnsLayout provided\n\n*/\n\nclass AppDrawerCard {\n\t// handles types 'card' and 'nestedCard'\n\tconstructor(opts) {\n\t\tthis.type = 'card'\n\t\tthis.opts = this.validateOpts(opts)\n\t\tthis.holder = opts.holder\n\t\tthis.dom = opts.dom\n\t\tthis.sandboxDiv = opts.sandboxDiv\n\t\tsetRenderers(this)\n\t}\n\n\tvalidateOpts(opts) {\n\t\tif (!opts.element.name) throw `Card .name is missing`\n\t\tif (opts.element.type == 'card') {\n\t\t\tif (!opts.element.sandboxJson && !opts.element.sandboxHtml)\n\t\t\t\tthrow `Either .sandboxJson or .sandboxHtml is missing for card=${opts.element.name}`\n\t\t}\n\t\tif (opts.element.type == 'nestedCard') {\n\t\t\tif (!opts.element.children || opts.element.children.length == 0)\n\t\t\t\tthrow `Missing .children for nested card = ${opts.element.name}`\n\t\t}\n\t\tif (opts.element.ribbon) {\n\t\t\tif (!opts.element.ribbon.text) throw `Missing ribbon .text for ${opts.element.type} = ${opts.element.name}`\n\n\t\t\t//ProteinPaint app drawer specific validation\n\t\t\tif (\n\t\t\t\t(opts.element.ribbon.text.toUpperCase() == 'NEW' || opts.element.ribbon.text.toUpperCase() == 'UPDATED') &&\n\t\t\t\t!opts.element.ribbon.expireDate\n\t\t\t)\n\t\t\t\tthrow `${opts.element.type} = ${\n\t\t\t\t\topts.element.name\n\t\t\t\t} ribbon is ${opts.element.ribbon.text.toUpperCase()} but .expireDate is missing. Please provide`\n\n\t\t\tif (opts.element.ribbon.expireDate) {\n\t\t\t\tif (opts.element.ribbon.expireDate >= 0) {\n\t\t\t\t\tthrow `Flag for ${opts.element.type} = ${opts.element.name} is not a valid date`\n\t\t\t\t} //TODO add validation for format?\n\t\t\t}\n\t\t}\n\t\treturn opts\n\t}\n\n\tmain() {}\n}\n\nexport const cardInit = getCompInit(AppDrawerCard)\n\nfunction setRenderers(self) {\n\tconst card = self.holder.append('li')\n\tif (self.opts.element.type == 'card') {\n\t\tcard.classed('sjpp-track', true).html(\n\t\t\t`<div class=\"sjpp-track-h\"><span style=\"font-size:14.5px;font-weight:500;\">${self.opts.element.name}</span></div>\n\t\t\t\t${\n\t\t\t\t\tself.opts.element.description\n\t\t\t\t\t\t? `<span class=\"sjpp-track-blurb\" style=\"cursor:default\">${self.opts.element.description}</span></div>`\n\t\t\t\t\t\t: ' '\n\t\t\t\t}\n\t\t\t\t<span class=\"sjpp-track-image\"><img src=\"${self.opts.element.image}\" alt=\"${\n\t\t\t\tself.opts.element.description\n\t\t\t}\"></img></span>\n\t\t\t\t</div>`\n\t\t)\n\t} else if (self.opts.element.type == 'nestedCard') {\n\t\tcard.classed('sjpp-app-drawer-card', true).html(\n\t\t\t`<p style=\"margin-left: 12px; font-size:14.5px;font-weight:500; display: block;\">${self.opts.element.name}</p>\n\t\t\t<p style=\"display: block; font-size: 13px; font-weight: 300; margin-left: 20px; justify-content: center; font-style:oblique; color: #403f3f;\">${self.opts.element.description}</p>`\n\t\t)\n\t}\n\n\tself.makeRibbon = function(ribbon) {\n\t\t//only relevant for 'card', not 'nestedCard'\n\t\tconst ribbonDiv = card\n\t\t\t.append('div')\n\t\t\t.classed('sjpp-app-drawer-card-ribbon', true)\n\t\t\t.style('align-items', 'center')\n\t\t\t.style('justify-content', 'center')\n\n\t\t//*********TODO: move from diagonal to straight on right side */\n\t\tconst text = ribbon.text.toUpperCase()\n\t\t//Enforce color palette for proteinpaint homepage ribbons\n\t\tconst color =\n\t\t\ttext == 'BETA'\n\t\t\t\t? '#418cb5'\n\t\t\t\t: text == 'NEW'\n\t\t\t\t? '#1ba176'\n\t\t\t\t: text == 'UPDATED'\n\t\t\t\t? 'orange'\n\t\t\t\t: ribbon.color\n\t\t\t\t? ribbon.color\n\t\t\t\t: 'red'\n\n\t\tribbonDiv\n\t\t\t.append('span')\n\t\t\t.text(text)\n\t\t\t.style('color', 'white')\n\t\t\t.style('background-color', rgb(color).darker())\n\t\t\t.style('height', 'auto')\n\t\t\t.style('width', '100%')\n\t\t\t.style('top', '15%')\n\t\t\t.style('left', '-30%')\n\t\t\t.style('font-size', '11.5px')\n\t\t\t.style('text-transform', 'uppercase')\n\t\t\t.style('text-align', 'center')\n\t}\n\n\tif (self.opts.element.ribbon) {\n\t\tconst today = new Date()\n\t\tconst ribbonExpireDate = new Date(self.opts.element.ribbon.expireDate)\n\t\t//Allows ribbons to expire or appear indefinitely\n\t\tif (ribbonExpireDate > today || ribbonExpireDate == 'Invalid Date') self.makeRibbon(self.opts.element.ribbon)\n\t}\n\n\tcard.on('click', async event => {\n\t\tevent.stopPropagation()\n\t\tawait self.app.dispatch({\n\t\t\ttype: 'is_apps_btn_active',\n\t\t\tvalue: false\n\t\t})\n\t\tslideDrawer(self)\n\t\tawait openSandbox(self.opts.element, self.opts)\n\t})\n}\n", "import { getInitFxn } from '#rx'\nimport * as utils from './utils'\nimport { openSandbox } from './adSandbox'\nimport { slideDrawer } from './mainBtn'\n\n/*\n.opts{\n\t.app\n\t.holder\n\t.element{}\n\t.dom{}\n\t.state{}\n\t.sandboxDiv\n}\n*/\n\nclass AppDrawerButton {\n\tconstructor(opts) {\n\t\tthis.type = 'button' // works for 'dsButton'. May expand to other button types\n\t\tthis.opts = this.validateOpts(opts)\n\t\tthis.holder = opts.holder\n\t\tthis.dom = opts.dom\n\t\tthis.sandboxDiv = opts.sandboxDiv\n\t\tsetRenderers(this)\n\t}\n\n\tvalidateOpts(opts) {\n\t\tif (!opts.element.name) throw `Button name is missing`\n\t\tif (!opts.element.sandboxJson && !opts.element.sandboxHtml)\n\t\t\tthrow `Either .sandboxJson or .sandboxHtml is missing for button=${opts.element.name}`\n\t\treturn opts\n\t}\n\n\tmain() {}\n}\n\nexport const buttonInit = getInitFxn(AppDrawerButton)\n\nfunction setRenderers(self) {\n\tconst btn = utils.makeButton({ div: self.holder, text: self.opts.element.name, margin: '20px 20px 0px' })\n\tbtn.attr('class', 'sjpp-appdrawer-dataset-btn').on('click', async event => {\n\t\tevent.stopPropagation()\n\t\tawait self.app.dispatch({\n\t\t\ttype: 'is_apps_btn_active',\n\t\t\tvalue: false\n\t\t})\n\t\tslideDrawer(self)\n\t\tawait openSandbox(self.opts.element, self.opts)\n\t})\n}\n", "import { getCompInit } from '#rx'\nimport { rgb } from 'd3-color'\nimport { defaultcolor } from '#shared/common.js'\nimport { cardInit } from './card'\nimport { buttonInit } from './dsButton'\nimport { select } from 'd3-selection'\nimport { dofetch3, sayerror } from '#src/client'\n\n/*\n.opts{}\n .app{}\n\t.dom{}\n\t.state{}\n\nQuestions: \n\t- Organize in window based on section size to make best use of space?\n - For the column layout: \n 1. Cap number of columns?\n 2. Allow y overflow for >2 columns (like Trello)?\n*/\n\nclass AppDrawerLayoutComp {\n\tconstructor(opts) {\n\t\tthis.type = 'layout'\n\t\tthis.dom = {\n\t\t\tholder: opts.dom.drawerDiv,\n\t\t\twrapper: opts.dom.wrapper,\n\t\t\tsandboxDiv: opts.dom.sandboxDiv\n\t\t}\n\t\tthis.state = opts.state\n\t\tthis.hasStatePreMain = true\n\t}\n\n\tasync validateIndexJson() {\n\t\tconst index = await this.getIndexJson()\n\t\tif (!index.elements) throw `Missing elements array`\n\t\tif (!index.elements.length) throw `No element objects provided`\n\t\tif (index.columnsLayout) {\n\t\t\tif (index.columnsLayout.length == 0) throw `Missing column objects`\n\t\t\tconst allGridAreaValues = index.columnsLayout.map(s => s.gridarea)\n\t\t\tif (allGridAreaValues.length != new Set(allGridAreaValues).size) throw `Duplicate values for .gridarea found`\n\t\t\tconst allSectionIdValues = []\n\t\t\tfor (const col of index.columnsLayout) {\n\t\t\t\tif (!col.gridarea) throw `Missing column .gridarea for column = ${col.name}`\n\t\t\t\tif (!col.sections || col.sections.length == 0) throw `Missing section objects for column = ${col.name}`\n\t\t\t\tfor (const section of col.sections) {\n\t\t\t\t\tif (!section.id)\n\t\t\t\t\t\tthrow `Missing section .id in ${section.name ? `section = ${section.name}` : `column = ${col.name} array`}`\n\t\t\t\t\tallSectionIdValues.push(section.id)\n\t\t\t\t}\n\t\t\t\tif (col.sections.length != new Set(col.sections).size) {\n\t\t\t\t\tthrow `Non-unique levels in line ${lineNum}: ${JSON.stringify(levelNames)}`\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (allSectionIdValues.length != new Set(allSectionIdValues).size) throw `Duplicate values for section.id found`\n\n\t\t\t// Required element attributes when columnsLayout specified\n\t\t\tfor (const element of index.elements) {\n\t\t\t\tif (!element.section) throw `.section is missing for ${element.type} = ${element.name}`\n\t\t\t\tif (!allSectionIdValues.some(d => d == element.section))\n\t\t\t\t\tthrow `section = ${element.section} for ${element.type} = ${element.name} is not a column section`\n\t\t\t}\n\t\t}\n\t\treturn index\n\t}\n\n\tasync getIndexJson() {\n\t\t// Proteinpaint specific index.\n\t\t// TODO: Later modifiy to accept user index.\n\t\tconst re = await dofetch3(this.app.cardsPath + '/index.json')\n\t\tif (re.error) {\n\t\t\tsayerror(this.dom.holder.append('div'), re.error)\n\t\t\treturn\n\t\t}\n\t\treturn re\n\t}\n\n\tvalidateElements() {\n\t\tconst features = JSON.parse(sessionStorage.getItem('optionalFeatures')) || {}\n\t\tthis.elements = this.index.elements.filter(e => !e.hidden && (!e.configFeature || features[e.configFeature]))\n\t}\n\n\tasync init() {\n\t\tthis.index = await this.validateIndexJson()\n\t\tthis.elementsRendered = false\n\t\tsetRenderers(this)\n\t\tthis.validateElements()\n\t\tthis.layout = this.index.columnsLayout ? this.index.columnsLayout : null\n\t\tthis.components = {\n\t\t\telements: []\n\t\t}\n\t}\n\n\tasync main() {\n\t\t// prevent elements from reloading each time\n\t\tif (this.elementsRendered == true) return\n\t\tthis.elementsRendered = true\n\t\tfor (const element of this.elements) {\n\t\t\tconst holder = select(this.layout ? `#${element.section} > .sjpp-element-list` : `.sjpp-element-list`)\n\t\t\tif (element.type == 'card' || element.type == 'nestedCard') {\n\t\t\t\tthis.components.elements.push(\n\t\t\t\t\tawait cardInit({\n\t\t\t\t\t\tapp: this.app,\n\t\t\t\t\t\tholder: holder\n\t\t\t\t\t\t\t.style('display', 'grid')\n\t\t\t\t\t\t\t.style('grid-template-columns', 'repeat(auto-fit, minmax(320px, 1fr))')\n\t\t\t\t\t\t\t.style('gap', '10px')\n\t\t\t\t\t\t\t.style('list-style', 'none')\n\t\t\t\t\t\t\t.style('margin', '15px 0px'),\n\t\t\t\t\t\telement,\n\t\t\t\t\t\tdom: this.opts.dom,\n\t\t\t\t\t\tstate: this.state,\n\t\t\t\t\t\tsandboxDiv: this.dom.sandboxDiv\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t} else if (element.type == 'dsButton') {\n\t\t\t\tthis.components.elements.push(\n\t\t\t\t\tawait buttonInit({\n\t\t\t\t\t\tapp: this.app,\n\t\t\t\t\t\tholder,\n\t\t\t\t\t\telement,\n\t\t\t\t\t\tdom: this.opts.dom,\n\t\t\t\t\t\tstate: this.state,\n\t\t\t\t\t\tsandboxDiv: this.dom.sandboxDiv\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport const layoutInit = getCompInit(AppDrawerLayoutComp)\n\nfunction setRenderers(self) {\n\tif (!self.index.columnsLayout) noDefinedLayout(self)\n\tif (self.index.columnsLayout) columnsLayout(self)\n}\n\nfunction noDefinedLayout(self) {\n\tconst flexLayout = self.dom.wrapper\n\t\t.append('div')\n\t\t.style('display', 'flex')\n\t\t.style('padding', '10px')\n\t\t.classed('sjpp-element-list', true)\n\treturn flexLayout\n}\n\nfunction columnsLayout(self) {\n\t// Allow user to create multiple columns in parent grid\n\tconst parentGrid = self.dom.wrapper\n\t\t.append('div')\n\t\t.style('display', 'grid')\n\t\t.style('grid-template-columns', 'repeat(auto-fit, minmax(425px, 1fr))')\n\t\t.style('gap', '10px')\n\t\t.style('padding', '10px')\n\t\t.style('text-align', 'left')\n\n\t//Allow user to create multiple parent columns in columnsLayout\n\tconst gridareas = []\n\tfor (const column of self.index.columnsLayout) gridareas.push(column.gridarea)\n\tparentGrid.style('grid-template-areas', `\"${gridareas.toString().replace(',', ' ')}\"`)\n\tfor (const col of self.index.columnsLayout) {\n\t\tconst newCol = parentGrid.append('div').style('grid-area', col.gridarea).classed('.sjpp-track-cols', true)\n\t\tfor (const section of col.sections) addSection(section, newCol)\n\t}\n\n\tfunction addSection(section, newCol) {\n\t\tconst newSection = newCol.append('div').attr('id', section.id)\n\t\tif (section.name)\n\t\t\tnewSection\n\t\t\t\t.append('h5')\n\t\t\t\t.classed('sjpp-appdrawer-cols', true)\n\t\t\t\t.style('color', rgb(defaultcolor).darker())\n\t\t\t\t.text(section.name)\n\t\tnewSection.append('div').classed('sjpp-element-list', true).style('padding', '10px')\n\n\t\treturn newSection\n\t}\n}\n", "import { getCompInit } from '#rx'\nimport { layoutInit } from './layout'\n\n/*\n.opts{}\n .app{}\n\t.dom{}\n\t.state{}\n\nTODOs: \n- Replace drawerFullHeight with a different approach\n\t- Causes the drawer to only partially appear when the window zooms in\n*/\n\nclass MainHeadboxBtn {\n\tconstructor(opts) {\n\t\tthis.type = 'mainBtn'\n\t\tthis.opts = this.validateOpts(opts)\n\t\tthis.dom = opts.dom\n\t\tthis.state = opts.state\n\t\tthis.hasStatePreMain = true\n\t\tsetRenderers(this)\n\t}\n\n\tvalidateOpts(opts) {\n\t\treturn opts.app.opts\n\t}\n\n\tgetState(appState) {\n\t\treturn {\n\t\t\tappBtnActive: appState.appBtnActive\n\t\t}\n\t}\n\n\tasync init() {\n\t\tthis.btnRendered = false\n\t\tthis.drawerFullHeight = ''\n\t\ttry {\n\t\t\t//detect whether to show examples right away, which is when the url is barebone without any route paths or search parameters\n\t\t\tif (window.location.pathname == '/' && !window.location.search.length)\n\t\t\t\tawait this.app.dispatch({ type: 'is_apps_btn_active', value: true })\n\t\t\tthis.components = {\n\t\t\t\tlayout: []\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tthrow e\n\t\t}\n\t}\n\n\tasync main(appState) {\n\t\tif (this.app.getState(appState).appBtnActive == true && this.btnRendered == false) {\n\t\t\tthis.dom.drawerDiv.style('background-color', '#f5f5f5') //Quick fix for drawerDiv initially appearing before layout init\n\t\t\t//Init layout only once when 'Apps' button is active for the first time\n\t\t\tthis.components.layout.push(\n\t\t\t\tawait layoutInit({\n\t\t\t\t\tapp: this.app,\n\t\t\t\t\tdom: this.dom,\n\t\t\t\t\tstate: this.state\n\t\t\t\t})\n\t\t\t)\n\t\t\t//Give the drawerDiv time to render before calculating height\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.drawerFullHeight = this.dom.drawerDiv.node().getBoundingClientRect().height + 5\n\t\t\t}, this.state.duration + 5)\n\t\t\tslideDrawer(this)\n\t\t\tthis.btnRendered = true\n\t\t}\n\t\tif (this.state.appBtnActive == false && this.btnRendered == true) slideDrawer(this)\n\t}\n}\n\nexport const mainBtnInit = getCompInit(MainHeadboxBtn)\n\nfunction setRenderers(self) {\n\tself.dom.btnWrapper\n\t\t.style('background-color', self.state.appBtnActive ? '#b2b2b2' : '#f2f2f2')\n\t\t.style('color', self.state.appBtnActive ? '#fff' : '#000')\n\t\t.on('click', async event => {\n\t\t\tevent.stopPropagation()\n\t\t\tawait self.app.dispatch({ type: 'is_apps_btn_active' })\n\t\t\tslideDrawer(self)\n\t\t\tif (self.state.appBtnActive) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tself.drawerFullHeight = self.dom.drawerDiv.node().getBoundingClientRect().height + 5\n\t\t\t\t}, self.state.duration + 5)\n\t\t\t}\n\t\t})\n\n\tself.dom.btn\n\t\t.attr('class', 'sja_menuoption')\n\t\t.style('display', 'inline-block')\n\t\t.style('background-color', 'transparent')\n\t\t.style('color', self.state.appBtnActive ? '#fff' : '#000')\n\t\t.style('padding', self.opts.padw_sm)\n\t\t.style('margin', '0px 5px')\n\t\t.style('cursor', 'pointer')\n\t\t.text('Apps')\n\n\t// an empty spacer div, needed since the arrows are absolutely positioned\n\tself.dom.drawerHint\n\t\t.style('position', 'relative')\n\t\t.style('display', 'inline-block')\n\t\t.style('height', self.state.arrowSize.closed + 'px')\n\t\t.style('width', self.state.appBtnActive ? self.state.hintWidth.open : self.state.hintWidth.closed)\n\t\t.style('background-color', 'transparent')\n\t\t.style('text-align', 'center')\n\t\t.style('cursor', 'pointer')\n\n\tself.dom.drawerArrow\n\t\t.style('position', 'absolute')\n\t\t.style('font-size', self.state.arrowSize.closed + 'px')\n\t\t.style('right', self.state.hintPos.closed.rt + 'px')\n\t\t.style('bottom', self.state.hintPos.closed.btm + 'px')\n\t\t.style('background-color', 'transparent')\n\t\t.style('color', self.state.arrowColor.closed)\n\t\t.style('opacity', self.state.appBtnActive ? 0 : 1)\n\t\t.style('cursor', 'pointer')\n\t\t.html('&#9660;')\n\n\tself.dom.drawerArrowOpen\n\t\t.style('position', 'absolute')\n\t\t.style('font-size', self.state.arrowSize.open + 'px')\n\t\t.style('left', self.state.hintPos.open.left + 'px')\n\t\t.style('bottom', self.state.hintPos.open.btm + 'px')\n\t\t.style('transform', 'rotate(180deg)')\n\t\t.style('background-color', 'transparent')\n\t\t.style('color', self.state.arrowColor.open)\n\t\t.style('opacity', self.state.appBtnActive ? 1 : 0)\n\t\t.style('cursor', 'pointer')\n\t\t.style('pointer-events', self.state.appBtnActive ? 'auto' : 'none')\n\t\t.html('&#9660;')\n\n\tself.drawerFullHeight = self.dom.drawerRow.node().getBoundingClientRect().height + 5\n}\n\nexport async function slideDrawer(self) {\n\tself.dom.btnWrapper\n\t\t.transition()\n\t\t.duration(self.opts.state.duration)\n\t\t.style('background-color', self.state.appBtnActive ? '#b2b2b2' : '#f2f2f2')\n\t\t.style('color', self.state.appBtnActive ? '#fff' : '#000')\n\n\tself.dom.btn\n\t\t.transition()\n\t\t.duration(self.opts.state.duration)\n\t\t.style('color', self.state.appBtnActive ? '#fff' : '#000')\n\n\tself.dom.drawerDiv\n\t\t.style('display', 'inline-block')\n\t\t.transition()\n\t\t.duration(self.opts.state.duration)\n\t\t.style('top', self.state.appBtnActive ? '0px' : '-' + self.drawerFullHeight + 'px')\n\n\tself.dom.drawerRow\n\t\t.transition()\n\t\t.duration(self.opts.state.duration)\n\t\t.style('height', self.state.appBtnActive ? self.drawerFullHeight + 'px' : '0px')\n\n\tself.dom.drawerHint\n\t\t.transition()\n\t\t.duration(self.opts.state.duration)\n\t\t.style('width', self.state.appBtnActive ? self.opts.state.hintWidth.open : self.opts.state.hintWidth.closed)\n\n\tself.dom.drawerArrow\n\t\t.transition()\n\t\t.duration(self.opts.state.duration)\n\t\t.style('opacity', self.state.appBtnActive ? 0 : 1)\n\n\tself.dom.drawerArrowOpen\n\t\t.style('pointer-events', self.state.appBtnActive ? 'auto' : 'none')\n\t\t.transition()\n\t\t.duration(self.opts.state.duration)\n\t\t.style('opacity', self.state.appBtnActive ? 1 : 0)\n}\n", "import { getStoreInit } from '#rx'\n\n/*\n.opts{}\n\n*/\n\nclass AppDrawerStore {\n\tconstructor(opts) {\n\t\tthis.type = 'store'\n\t\tthis.defaultState = {\n\t\t\t// for apps drawer animation\n\t\t\tduration: 500,\n\t\t\thintPos: {\n\t\t\t\topen: { btm: -42, left: 13 },\n\t\t\t\tclosed: { btm: 3, rt: 5 }\n\t\t\t},\n\t\t\thintWidth: { open: '0px', closed: '18px' },\n\t\t\tarrowSize: { open: 42, closed: 20 },\n\t\t\tarrowColor: { open: 'rgb(242,242,242)', closed: 'rgb(85,85,85)' },\n\t\t\tappBtnActive: false\n\t\t}\n\t}\n\n\tasync init() {}\n}\n\nexport const appDrawerStoreInit = getStoreInit(AppDrawerStore)\n\nAppDrawerStore.prototype.actions = {\n\tis_apps_btn_active(action) {\n\t\tthis.state.appBtnActive = 'value' in action ? action.value : !this.state.appBtnActive\n\t}\n}\n", "import { getAppInit } from '#rx'\nimport { mainBtnInit } from './mainBtn'\nimport { appDrawerStoreInit } from './store'\n\n/*\n.opts{}\n .holder\n .genomes{}\n - client-side genome object\n\t.drawerRow\n\t.sandboxDiv\n\t.genome_browser_btn\n\t.debugmode\n\t.headbox\n\t.padw_sm\n\nTODOs: \n\nQuestions: \n*/\n\nclass AppDrawerApp {\n\tconstructor(opts) {\n\t\tthis.type = 'app'\n\n\t\tconst drawerDiv = opts.drawerRow\n\t\t\t.append('div')\n\t\t\t.style('position', 'relative')\n\t\t\t.style('margin', '0 20px')\n\t\t\t.style('padding', `0 ${opts.padw_sm}`)\n\t\t\t.style('display', 'inline-block')\n\t\t\t.style('overflow', 'hidden')\n\t\t\t.style('border-radius', '0px 0px 5px 5px')\n\t\t\t.style('width', '93vw')\n\t\t\t.classed('sjpp-drawer-div', true)\n\n\t\tconst btnWrapper = opts.headbox\n\t\t\t.append('div')\n\t\t\t.style('position', 'relative')\n\t\t\t.style('display', 'inline-block')\n\t\t\t.style('margin-left', '5px')\n\t\t\t.style('margin-right', '5px')\n\t\t\t.style('border-radius', '5px')\n\t\t\t.classed('sjpp-apps-btn-wrapper', true)\n\n\t\tthis.dom = {\n\t\t\tdrawerRow: opts.drawerRow,\n\t\t\tdrawerDiv,\n\t\t\tsandboxDiv: opts.sandboxDiv,\n\t\t\tbtnWrapper,\n\t\t\tbtn: btnWrapper.append('div'),\n\t\t\tdrawerHint: btnWrapper.append('div'),\n\t\t\tdrawerArrow: btnWrapper.append('div'),\n\t\t\tdrawerArrowOpen: btnWrapper.append('div'),\n\t\t\twrapper: drawerDiv.append('div')\n\t\t}\n\t}\n\n\tpreApiFreeze(api) {\n\t\tapi.cardsPath = this.opts.cardsPath\n\t}\n\n\tasync init() {\n\t\ttry {\n\t\t\tthis.store = await appDrawerStoreInit({ app: this.api, state: this.opts.state })\n\t\t\tthis.state = await this.store.copyState()\n\t\t\tthis.components = {\n\t\t\t\tmainBtn: await mainBtnInit({\n\t\t\t\t\tapp: this.api,\n\t\t\t\t\tdom: this.dom,\n\t\t\t\t\tstate: this.state,\n\t\t\t\t\tindexJson: this.indexJson\n\t\t\t\t})\n\t\t\t}\n\t\t\tawait this.api.dispatch()\n\t\t} catch (e) {\n\t\t\tthrow e\n\t\t}\n\t}\n\n\tmain() {}\n}\n\nexport const appDrawerInit = getAppInit(AppDrawerApp)\n", "import { first_genetrack_tolist } from '#common/1stGenetk'\nimport { InputSearch, Menu, newSandboxDiv } from '#dom'\nimport { searchItems } from './omniSearch.js'\nimport { appDrawerInit } from '../../appdrawer/app.js'\nimport { rgb as d3rgb } from 'd3-color'\nimport { defaultcolor } from '#shared/common.js'\nimport { dofetch3 } from '#common/dofetch'\nimport { ClientCopyGenome } from 'types/global.ts'\n\ntype Citation = {\n\tid: number\n\ttitle: string\n\tappHeaderTitle: string\n\tyear: number\n\tjournal: string\n\tpmid: number\n\tpmidURL: string\n\tdoi: string\n}\n\ntype AppHeaderOpts = {\n\t/** menu created in app.js */\n\theadtip: Menu\n\t/** runpp app */\n\tapp: any\n\t/** server returned data */\n\tdata: any\n\t/** token */\n\tjwt: any\n}\n\nexport class AppHeader {\n\theadtip: Menu\n\tapp: any\n\tdata: any\n\tjwt: any\n\t/** List of publications defined in the app drawer\n\t * Appears in button in the header and in search results\n\t */\n\tpublications: Citation[]\n\t/** Used in both the Help button and omni search\n\t * .onlySearch is used to filter out items that should not appear in the Help button\n\t */\n\tstatic help = [\n\t\t{\n\t\t\tlabel: 'Embed in your website',\n\t\t\tlink: 'https://github.com/stjude/proteinpaint/wiki/Embedding'\n\t\t},\n\t\t{\n\t\t\tlabel: 'URL parameters',\n\t\t\tlink: 'https://github.com/stjude/proteinpaint/wiki/URL-parameters'\n\t\t},\n\t\t{\n\t\t\tlabel: 'All tutorials',\n\t\t\tlink: 'https://github.com/stjude/proteinpaint/wiki/'\n\t\t},\n\t\t{\n\t\t\tlabel: 'User community',\n\t\t\tlink: 'https://groups.google.com/g/proteinpaint'\n\t\t},\n\t\t{\n\t\t\tlabel: 'License ProteinPaint',\n\t\t\tlink: 'https://www.stjude.org/research/why-st-jude/shared-resources/technology-licensing/technologies/proteinpaint-web-application-for-visualizing-genomic-data-sj-15-0021.html',\n\t\t\tonlySearch: true\n\t\t},\n\t\t{\n\t\t\tlabel: 'Our Team',\n\t\t\tlink: 'https://proteinpaint.stjude.org/team/',\n\t\t\tonlySearch: true\n\t\t}\n\t]\n\n\tconstructor(opts: AppHeaderOpts) {\n\t\tthis.headtip = opts.headtip\n\t\tthis.app = opts.app\n\t\tthis.data = opts.data\n\t\tthis.jwt = opts.jwt\n\t\tthis.publications = []\n\t}\n\n\tasync createPublicationsList() {\n\t\tconst re = await dofetch3(this.app.cardsPath + '/citations.json')\n\t\tif (re.error) console.error(`Problem retrieving ../cards/citations.json`)\n\t\t//Sort in reverse chronological order for the publications button\n\t\tthis.publications = re?.publications?.length\n\t\t\t? re.publications.filter((d: Citation) => d.appHeaderTitle).sort((a: Citation, b: Citation) => b.year - a.year)\n\t\t\t: []\n\t}\n\n\tasync makeheader() {\n\t\tawait this.createPublicationsList()\n\n\t\tconst color = d3rgb(defaultcolor)\n\t\tconst padw_lg = '13px'\n\t\tconst padw_input = '5px 10px'\n\t\tconst padw_sm = '7px 10px'\n\t\tconst doc_width = document.documentElement.clientWidth\n\t\t// head\n\t\tconst row = this.app.holder\n\t\t\t.append('div')\n\t\t\t.style('white-space', 'nowrap')\n\t\t\t.style(\n\t\t\t\t'border-bottom',\n\t\t\t\tdoc_width > 1600 ? 'solid 1px rgba(' + color.r + ',' + color.g + ',' + color.b + ',.3)' : ''\n\t\t\t)\n\n\t\tconst headbox = row\n\t\t\t.append('div')\n\t\t\t.style('margin', '10px')\n\t\t\t.style('padding', '8px')\n\t\t\t.style('padding-bottom', '12px')\n\t\t\t.style('display', doc_width < 1600 ? 'block' : 'inline-block')\n\t\t\t.style(\n\t\t\t\t'border-bottom',\n\t\t\t\tdoc_width < 1600 ? 'solid 1px rgba(' + color.r + ',' + color.g + ',' + color.b + ',.3)' : ''\n\t\t\t)\n\n\t\t// .style('border-radius', '5px')\n\t\t// .style('background-color', 'rgba(' + color.r + ',' + color.g + ',' + color.b + ',.1)')\n\t\tconst headinfo = row\n\t\t\t.append('div')\n\t\t\t.style('display', 'inline-block')\n\t\t\t.style('padding', padw_sm)\n\t\t\t.style('padding-left', '25px')\n\t\t\t.style('font-size', '.8em')\n\t\t\t.style('color', d3rgb(defaultcolor).darker())\n\n\t\t{\n\t\t\t// a row for server stats\n\t\t\tconst row = headinfo.append('div').style('padding-left', '15px')\n\t\t\t// link to the published ppfull container version, instead of github release tarball which we do not advertise;\n\t\t\t// github's pkgs/container link has a timestamp before the tag, which cannot be computed here (but may be able to query later?)\n\t\t\tconst link = `https://github.com/stjude/proteinpaint/pkgs/container/ppfull` // url to list of published container versions\n\t\t\tconst version = this.data.pkgver\n\t\t\t\t? `Release version: <a href=\"${link}\" target=\"${this.data.pkgver}\">${this.data.pkgver}</a>`\n\t\t\t\t: `Code date: ${this.data.codedate}` // default to using code date as before if pkgver is not available\n\t\t\trow\n\t\t\t\t.attr('id', 'sjpp-serverstat')\n\t\t\t\t.append('span')\n\t\t\t\t.html(`${version}, server launched: ${this.data.launchdate || '??'}.`)\n\t\t\tif (this.data.hasblat) {\n\t\t\t\trow\n\t\t\t\t\t.append('a')\n\t\t\t\t\t.style('margin-left', '10px')\n\t\t\t\t\t.text('Running BLAT')\n\t\t\t\t\t.on('click', async event => {\n\t\t\t\t\t\tthis.headtip.clear().showunder(event.target)\n\t\t\t\t\t\tconst div = this.headtip.d.append('div').style('margin', '10px')\n\t\t\t\t\t\tconst wait = div.append('div').text('Loading...')\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst data = await dofetch3('blat?serverstat=1')\n\t\t\t\t\t\t\tif (data.error) throw data.error\n\t\t\t\t\t\t\tif (!data.lst) throw 'invalid response'\n\t\t\t\t\t\t\twait.remove()\n\t\t\t\t\t\t\tfor (const i of data.lst) {\n\t\t\t\t\t\t\t\tdiv.append('div').text(i)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (e: any) {\n\t\t\t\t\t\t\twait.text(e.message || e)\n\t\t\t\t\t\t\tif (e.stack) console.error(e.stack)\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\tif (this.data.headermessage) {\n\t\t\theadinfo.append('div').html(this.data.headermessage)\n\t\t}\n\n\t\t// 1\n\t\theadbox\n\t\t\t.append('div')\n\t\t\t.text('ProteinPaint')\n\t\t\t.style('display', 'inline-block')\n\t\t\t.style('padding', padw_lg)\n\t\t\t.style('color', defaultcolor)\n\t\t\t.style('font-size', '1.3em')\n\t\t\t.style('font-weight', 'bold')\n\n\t\t// 2, search box\n\t\tconst omniSearch = new InputSearch({\n\t\t\tholder: headbox,\n\t\t\ttip: this.headtip,\n\t\t\tstyle: {\n\t\t\t\tpadding: padw_sm,\n\t\t\t\tborder: `'solid 1px ${defaultcolor}`\n\t\t\t},\n\t\t\tsize: 32,\n\t\t\tplaceholder: 'Gene, position, SNP, app, or dataset',\n\t\t\ttitle: 'Search by gene, SNP, position, app, or dataset',\n\t\t\tsearchItems: async () => {\n\t\t\t\treturn await searchItems(this.app, this.headtip, AppHeader.help, this.publications, this.jwt)\n\t\t\t}\n\t\t})\n\n\t\tomniSearch.initUI()\n\n\t\tconst genome_select_div = headbox.append('div').attr('class', 'sjpp-genome-select-div').style('padding', padw_sm)\n\n\t\tconst get_placeholder = () => {\n\t\t\tconst currG = this.app.genomes[this.app.selectgenome.property('value')]\n\t\t\t/** Defaults */\n\t\t\tconst opts2Show = ['Gene', 'position', 'app']\n\t\t\t/** Show all the genomic options together */\n\t\t\tif (currG.hasSNP) opts2Show.splice(2, 0, 'SNP')\n\t\t\tif (Object.keys(currG.datasets).length) opts2Show.push('dataset')\n\t\t\tconst str = opts2Show.join(', ').replace(/,(?=[^,]*$)/, ', or')\n\t\t\treturn str\n\t\t}\n\n\t\tthis.app.selectgenome = genome_select_div\n\t\t\t.append('select')\n\t\t\t.attr('aria-label', 'Select a genome')\n\t\t\t.attr('class', 'sjpp-genome-select')\n\t\t\t.style('padding', padw_input)\n\t\t\t.style('border', 'solid 1px ' + defaultcolor)\n\t\t\t.on('change', () => {\n\t\t\t\tthis.update_genome_browser_btn(this.app)\n\t\t\t\tomniSearch.updatePlaceholder(get_placeholder())\n\t\t\t})\n\n\t\tconst filterGenomes = Object.values(this.app.genomes).filter((g: any) => !g.hideOnClient) as ClientCopyGenome[]\n\t\tfor (const n of filterGenomes) {\n\t\t\tthis.app.selectgenome.append('option').attr('n', n.name).text(`${n.species} ${n.name}`).property('value', n.name)\n\t\t}\n\t\tthis.app.genome_browser_btn = this.make_genome_browser_btn(this.app, headbox, this.jwt)\n\n\t\tthis.app.drawer = await appDrawerInit({\n\t\t\tholder: this.app.holder,\n\t\t\tgenomes: this.app.genomes,\n\t\t\tdrawerRow: this.app.holder\n\t\t\t\t.append('div')\n\t\t\t\t.style('position', 'relative')\n\t\t\t\t.style('overflow-x', 'visible')\n\t\t\t\t.style('overflow-y', 'hidden')\n\t\t\t\t.classed('sjpp-drawer-row', true),\n\t\t\tsandboxDiv: this.app.holder.append('div').style('margin-top', '15px').classed('sjpp-drawer-sandbox', true),\n\t\t\tgenome_browser_btn: this.app.genome_browser_btn,\n\t\t\tdebugmode: this.app.debugmode,\n\t\t\theadbox,\n\t\t\tpadw_sm,\n\t\t\tcardsPath: this.app.cardsPath\n\t\t})\n\n\t\t//Help button\n\t\theadbox\n\t\t\t.append('span')\n\t\t\t.classed('sja_menuoption', true)\n\t\t\t.attr('id', 'sjpp-header-help-btn')\n\t\t\t.style('padding', padw_sm)\n\t\t\t.text('Help')\n\t\t\t.on('click', async event => {\n\t\t\t\tconst p = event.target.getBoundingClientRect()\n\t\t\t\tconst div = this.headtip.clear().show(p.left - 0, p.top + p.height + 5)\n\n\t\t\t\tawait div.d\n\t\t\t\t\t.append('div')\n\t\t\t\t\t.style('padding', '5px 20px')\n\t\t\t\t\t.selectAll('p')\n\t\t\t\t\t.data(AppHeader.help.filter(d => !d.onlySearch))\n\t\t\t\t\t.enter()\n\t\t\t\t\t.append('p')\n\t\t\t\t\t.html(d => `<a href=${d.link} target=_blank>${d.label}</a>`)\n\t\t\t})\n\n\t\t//Publications button\n\t\t//Citations not available on CI server\n\t\tif (this.publications.length > 0) {\n\t\t\theadbox\n\t\t\t\t.append('span')\n\t\t\t\t.classed('sja_menuoption', true)\n\t\t\t\t.attr('id', 'sjpp-header-publications-btn')\n\t\t\t\t.style('padding', padw_sm)\n\t\t\t\t.style('margin', '0px 5px')\n\t\t\t\t.text('Publications')\n\t\t\t\t.on('click', async event => {\n\t\t\t\t\tconst p = event.target.getBoundingClientRect()\n\t\t\t\t\tconst div = this.headtip.clear().show(p.left - 150, p.top + p.height + 5)\n\n\t\t\t\t\tawait div.d\n\t\t\t\t\t\t.append('div')\n\t\t\t\t\t\t.style('padding', '5px 20px')\n\t\t\t\t\t\t.selectAll('p')\n\t\t\t\t\t\t.data(this.publications)\n\t\t\t\t\t\t.enter()\n\t\t\t\t\t\t.append('p')\n\t\t\t\t\t\t.html((d: any) => `<a href=${d.doi} target=_blank>${d.appHeaderTitle}, ${d.journal}, ${d.year}</a>`)\n\t\t\t\t})\n\t\t}\n\t}\n\n\tmake_genome_browser_btn(app, headbox, jwt) {\n\t\tif (app.selectgenome.node().options.length === 0) {\n\t\t\tconsole.error(`No selected selectgenome options.`)\n\t\t\treturn\n\t\t}\n\n\t\tconst padw = '8px'\n\t\tconst genome_btn_div = headbox.append('span')\n\t\tconst genomename = app.selectgenome.node().options[app.selectgenome.property('selectedIndex')].value\n\n\t\tconst g_browser_btn = genome_btn_div\n\t\t\t.attr('class', 'sja_menuoption')\n\t\t\t.attr('id', 'genome_btn')\n\t\t\t.style('padding', padw)\n\t\t\t.datum(genomename)\n\t\t\t.text(genomename + ' genome browser')\n\t\t\t.on('click', () => {\n\t\t\t\t//Grab the current genome selected\n\t\t\t\tconst genomeSelected = app.selectgenome.node().value\n\t\t\t\tconst g = app.genomes[genomeSelected]\n\t\t\t\tif (!g) {\n\t\t\t\t\talert('Invalid genome name: ' + genomeSelected)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tconst sandbox_div = newSandboxDiv(app.drawer.opts.sandboxDiv)\n\t\t\t\tsandbox_div.header.text(genomeSelected + ' genome browser')\n\n\t\t\t\tconst par = {\n\t\t\t\t\thostURL: app.hostURL,\n\t\t\t\t\tjwt,\n\t\t\t\t\tholder: sandbox_div.body,\n\t\t\t\t\tgenome: g,\n\t\t\t\t\tchr: g.defaultcoord.chr,\n\t\t\t\t\tstart: g.defaultcoord.start,\n\t\t\t\t\tstop: g.defaultcoord.stop,\n\t\t\t\t\tnobox: true,\n\t\t\t\t\ttklst: [],\n\t\t\t\t\tdebugmode: app.debugmode\n\t\t\t\t}\n\t\t\t\tfirst_genetrack_tolist(g, par.tklst)\n\n\t\t\t\timport('../block.js').then(b => new b.Block(par))\n\t\t\t\tapp.drawer.dispatch({ type: 'is_apps_btn_active', value: false })\n\t\t\t})\n\t\treturn g_browser_btn\n\t}\n\n\tupdate_genome_browser_btn(app) {\n\t\tapp.genome_browser_btn.text(app.selectgenome.node().value + ' genome browser')\n\t\tapp.genome_browser_btn.datum(app.selectgenome.node().value)\n\t}\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["searchTermFound", "par", "setRenderers", "setRenderers", "setRenderers", "row"]
7
7
  }
@@ -1,14 +1,16 @@
1
1
  import "./chunk-Q7EFDAC2.js";
2
2
  import {
3
3
  axisstyle,
4
- controlsInit
5
- } from "./chunk-AUTLLZ66.js";
4
+ controlsInit,
5
+ downloadTable,
6
+ renderTable
7
+ } from "./chunk-VJ467ESZ.js";
6
8
  import "./chunk-7KFEDC2T.js";
7
9
  import "./chunk-FCPSU6WB.js";
8
10
  import "./chunk-4WBP22U2.js";
9
11
  import "./chunk-CLHA5AEH.js";
10
12
  import "./chunk-UJALIJYS.js";
11
- import "./chunk-PR6KQ34N.js";
13
+ import "./chunk-ORU5KRBU.js";
12
14
  import "./chunk-U74RHDII.js";
13
15
  import "./chunk-PGEEB5NA.js";
14
16
  import "./chunk-VSRNBBZH.js";
@@ -17,13 +19,9 @@ import "./chunk-NHPZSGTH.js";
17
19
  import {
18
20
  roundValueAuto
19
21
  } from "./chunk-PBT5AMVE.js";
20
- import {
21
- downloadTable,
22
- renderTable
23
- } from "./chunk-Z36HPN3C.js";
24
22
  import "./chunk-WTM3GD2X.js";
25
- import "./chunk-ZYRXVRSD.js";
26
- import "./chunk-SJ4KZVLF.js";
23
+ import "./chunk-HUWZTQX4.js";
24
+ import "./chunk-NAEANGSC.js";
27
25
  import "./chunk-ALPXXDQD.js";
28
26
  import "./chunk-RKJGIOIF.js";
29
27
  import "./chunk-P64DWRTC.js";
@@ -644,4 +642,4 @@ export {
644
642
  makeChartBtnMenu,
645
643
  openHiercluster
646
644
  };
647
- //# sourceMappingURL=DEanalysis-VIBCWMEY.js.map
645
+ //# sourceMappingURL=DEanalysis-EQUCIHAI.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../plots/DEanalysis.js"],
4
4
  "sourcesContent": ["import { axisstyle } from '#dom/axisstyle'\nimport { table2col } from '#dom/table2col'\nimport { Menu } from '../dom/menu'\nimport { renderTable } from '../dom/table'\nimport * as d3axis from 'd3-axis'\nimport { controlsInit } from './controls'\nimport { select as d3select } from 'd3-selection'\nimport { getCompInit, copyMerge } from '#rx'\nimport { dofetch3 } from '#common/dofetch'\nimport { scaleLog, scaleLinear } from 'd3-scale'\nimport { d3lasso } from '../common/lasso'\nimport { downloadTable } from '../dom/table'\nimport { roundValueAuto } from '#shared/roundValue.js'\n\n/*\n\nopts{}\n\tsamplelst{}\n\t\tgroups[]\n\nthis{}\n\tapp{}\n\t\tvocabApi\n*/\n\nconst hlcolor = '#ffa200'\nconst tip = new Menu()\nclass DEanalysis {\n\tconstructor() {\n\t\tthis.type = 'DEanalysis'\n\t}\n\tasync init(opts) {\n\t\tconst config = opts.plots.find(p => p.id === this.id)\n\t\tconst controlsDiv = this.opts.holder.append('div').style('display', 'inline-block')\n\t\tconst mainDiv = this.opts.holder.append('div').style('display', 'inline-block').style('margin-left', '50px')\n\t\tconst holder = mainDiv.append('div').style('display', 'inline-block')\n\t\tconst detailsDiv = mainDiv\n\t\t\t.append('div')\n\t\t\t.style('display', 'inline-block')\n\t\t\t.style('vertical-align', 'top')\n\t\t\t.style('margin-top', '50px')\n\n\t\tconst tableDiv = this.opts.holder.append('div').style('margin-left', '50px')\n\n\t\tthis.dom = {\n\t\t\tholder,\n\t\t\theader: this.opts.header,\n\t\t\tcontrolsDiv,\n\t\t\tdetailsDiv,\n\t\t\ttableDiv\n\t\t}\n\t}\n\n\tasync setControls(output) {\n\t\tthis.dom.controlsDiv.selectAll('*').remove()\n\t\tconst inputs = [\n\t\t\t{\n\t\t\t\tlabel: 'Minimum read count',\n\t\t\t\ttype: 'number',\n\t\t\t\tchartType: 'DEanalysis',\n\t\t\t\tsettingsKey: 'min_count',\n\t\t\t\ttitle: 'Relative cpm cutoff for filtering a gene compared to all samples and genes in dataset',\n\t\t\t\tmin: 0,\n\t\t\t\tmax: 10000\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Minimum total read count',\n\t\t\t\ttype: 'number',\n\t\t\t\tchartType: 'DEanalysis',\n\t\t\t\tsettingsKey: 'min_total_count',\n\t\t\t\ttitle: 'Minimum total read count required for each sample',\n\t\t\t\tmin: 0,\n\t\t\t\tmax: 10000\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'P-value significance (linear scale)',\n\t\t\t\ttype: 'number',\n\t\t\t\tchartType: 'DEanalysis',\n\t\t\t\tsettingsKey: 'pvalue',\n\t\t\t\ttitle: 'P-value significance',\n\t\t\t\tmin: 0,\n\t\t\t\tmax: 1\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Fold change (log scale)',\n\t\t\t\ttype: 'number',\n\t\t\t\tchartType: 'DEanalysis',\n\t\t\t\tsettingsKey: 'foldchange',\n\t\t\t\ttitle: 'Fold change',\n\t\t\t\tmin: -10,\n\t\t\t\tmax: 10\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'P-value table',\n\t\t\t\ttype: 'checkbox',\n\t\t\t\tchartType: 'DEanalysis',\n\t\t\t\tsettingsKey: 'pvaluetable',\n\t\t\t\ttitle: 'Display table showing original and adjusted pvalues for all significant genes',\n\t\t\t\tboxLabel: ''\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'P-value',\n\t\t\t\ttype: 'radio',\n\t\t\t\tchartType: 'DEanalysis',\n\t\t\t\tsettingsKey: 'adjusted_original_pvalue',\n\t\t\t\ttitle: 'Toggle between original and adjusted pvalues for volcano plot',\n\t\t\t\toptions: [\n\t\t\t\t\t{ label: 'adjusted', value: 'adjusted' },\n\t\t\t\t\t{ label: 'original', value: 'original' }\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\n\t\tif (\n\t\t\tJSON.parse(sessionStorage.getItem('optionalFeatures')).run_parametricDE == true || // edgeR (and other parametric methods to be added in the future) option is always shown when serverconfig.features.run_parametricDE is set to true. This has been added so as to make this functionality available only in select few production servers for now.\n\t\t\t(output.mid_sample_size_cutoff >= output.sample_size1 && // Invoked only when one sample size is low than the mid_sample_size_cutoff and the other one is higher but the higher sample size is lower than the high cutoff so that the DE computation does not take a lot of time on the server\n\t\t\t\toutput.mid_sample_size_cutoff < output.sample_size2 &&\n\t\t\t\toutput.sample_size2 < output.high_sample_size_cutoff) ||\n\t\t\t(output.mid_sample_size_cutoff >= output.sample_size2 &&\n\t\t\t\toutput.mid_sample_size_cutoff < output.sample_size1 &&\n\t\t\t\toutput.sample_size1 < output.high_sample_size_cutoff)\n\t\t) {\n\t\t\tinputs.push({\n\t\t\t\tlabel: 'Method',\n\t\t\t\ttype: 'radio',\n\t\t\t\tchartType: 'DEanalysis',\n\t\t\t\tsettingsKey: 'method',\n\t\t\t\ttitle: 'Toggle between edgeR and wilcoxon test',\n\t\t\t\toptions: [\n\t\t\t\t\t{ label: 'edgeR', value: 'edgeR' },\n\t\t\t\t\t{ label: 'wilcoxon', value: 'wilcoxon' }\n\t\t\t\t]\n\t\t\t})\n\t\t}\n\n\t\t//if (\n\t\t//\t(output.mid_sample_size_cutoff >= output.sample_size1 &&\n\t\t//\t\toutput.mid_sample_size_cutoff < output.sample_size2 &&\n\t\t//\t\toutput.sample_size2 < output.high_sample_size_cutoff) ||\n\t\t//\t(output.mid_sample_size_cutoff >= output.sample_size2 &&\n\t\t//\t\toutput.mid_sample_size_cutoff < output.sample_size1 &&\n\t\t//\t\toutput.sample_size1 < output.high_sample_size_cutoff)\n\t\t//) {\n\t\t//\t// Invoked only when one sample size is low than the mid_sample_size_cutoff and the other one is higher but the higher sample size is lower than the high cutoff so that the DE computation does not take a lot of time on the server\n\t\t//\tinputs.push({\n\t\t//\t\tlabel: 'Method',\n\t\t//\t\ttype: 'radio',\n\t\t//\t\tchartType: 'DEanalysis',\n\t\t//\t\tsettingsKey: 'method',\n\t\t//\t\ttitle: 'Toggle between edgeR and wilcoxon test',\n\t\t//\t\toptions: [\n\t\t//\t\t\t{ label: 'edgeR', value: 'edgeR' },\n\t\t//\t\t\t{ label: 'wilcoxon', value: 'wilcoxon' }\n\t\t//\t\t]\n\t\t//\t})\n\t\t//\tthis.settings.method = output.method\n\t\t//\tthis.state.config = output.method\n\t\t//}\n\n\t\tif (this.app.opts.genome.termdbs) {\n\t\t\t// Check if genome build contains termdbs, only then enable gene ora\n\t\t\tinputs.push({\n\t\t\t\tlabel: 'Gene set overrepresentation analysis',\n\t\t\t\ttype: 'radio',\n\t\t\t\tchartType: 'DEanalysis',\n\t\t\t\tsettingsKey: 'gene_ora',\n\t\t\t\ttitle: 'Toggle between analyzing upregulated, downregulated or both genes',\n\t\t\t\toptions: [\n\t\t\t\t\t{ label: 'upregulated', value: 'upregulated' },\n\t\t\t\t\t{ label: 'downregulated', value: 'downregulated' },\n\t\t\t\t\t{ label: 'both', value: 'both' }\n\t\t\t\t]\n\t\t\t})\n\t\t}\n\n\t\tif (this.app.opts.genome.termdbs && !this.settings.gsea) {\n\t\t\t// Check if genome build contains termdbs, only then enable gene ora\n\t\t\tinputs.push({\n\t\t\t\tlabel: 'Gene set enrichment analysis',\n\t\t\t\ttype: 'radio',\n\t\t\t\tchartType: 'DEanalysis',\n\t\t\t\tsettingsKey: 'gsea',\n\t\t\t\ttitle: 'Gene set enrichment analysis',\n\t\t\t\toptions: [{ label: 'Submit', value: 'Submit' }]\n\t\t\t})\n\t\t}\n\n\t\tif (this.settings.pvaluetable == true) {\n\t\t\t// This currently does not work as hierarchial clustering code needs to be changed\n\t\t\tinputs.push({\n\t\t\t\tlabel: 'Hierarchial Clustering',\n\t\t\t\ttype: 'radio',\n\t\t\t\tchartType: 'DEanalysis',\n\t\t\t\tsettingsKey: 'hierCluster',\n\t\t\t\ttitle: 'Toggle between various methods for selecting genes for hierarchial clustering',\n\t\t\t\toptions: [\n\t\t\t\t\t{ label: 'Top 100 genes', value: 'top100' },\n\t\t\t\t\t{ label: 'Top 100 upregulated', value: 'top100up' },\n\t\t\t\t\t{ label: 'Top 100 downregulated', value: 'top100down' }\n\t\t\t\t]\n\t\t\t})\n\t\t\tthis.settings.hierCluster = 'top100'\n\t\t}\n\n\t\tthis.components = {\n\t\t\tcontrols: await controlsInit({\n\t\t\t\tapp: this.app,\n\t\t\t\tid: this.id,\n\t\t\t\tholder: this.dom.controlsDiv,\n\t\t\t\tinputs: inputs\n\t\t\t})\n\t\t}\n\t\tthis.components.controls.on('downloadClick.DEanalysis', () => {\n\t\t\tdownloadTable(this.table_rows, this.table_cols)\n\t\t})\n\t}\n\tgetState(appState) {\n\t\tconst config = appState.plots.find(p => p.id === this.id)\n\t\tif (!config) throw `No plot with id='${this.id}' found`\n\t\treturn {\n\t\t\tconfig\n\t\t}\n\t}\n\n\tasync main() {\n\t\tthis.config = JSON.parse(JSON.stringify(this.state.config))\n\t\tthis.settings = this.config.settings.DEanalysis\n\t\tif (this.dom.detailsDiv) {\n\t\t\tthis.dom.detailsDiv.selectAll('*').remove()\n\t\t}\n\t\tif (this.dom.holder) {\n\t\t\tthis.dom.holder.selectAll('*').remove()\n\t\t}\n\t\tconst wait = this.dom.detailsDiv.append('div').text('Loading...')\n\t\tconst output = await runDEanalysis(this) // \"this.config\" was changed from \"this.state.config\". Hope this does not create any problems.\n\t\twait.remove()\n\t\toutput.mid_sample_size_cutoff = 8 // mid sample size cutoff for method toggle to appear\n\t\toutput.high_sample_size_cutoff = 30 // high sample size cutoff for method toggle to not appear, so that very high sample-size groups are not analyzed by edgeR. The exact cutoff value will need to be determined with more examples.\n\t\tawait this.setControls(output)\n\t\tthis.dom.header.html(\n\t\t\tthis.config.state.groups[0].name +\n\t\t\t\t' vs ' +\n\t\t\t\tthis.config.state.groups[1].name +\n\t\t\t\t' <span style=\"font-size:.8em;opacity:.7\">DIFFERENTIAL GENE EXPRESSION</span>'\n\t\t)\n\t\trender_volcano(this, output)\n\t}\n}\n\nasync function render_volcano(self, output) {\n\t/*\nm {}\n- gene\n- logfoldchange\n- averagevalue\n- pvalue\n\nadd:\n- vo_circle\n\t*/\n\n\t// Delete previous holder, if present\n\tconst sample_size1 = output.sample_size1\n\tconst sample_size2 = output.sample_size2\n\tconst mavb = output.data\n\tconst holder = self.dom.holder\n\tholder.selectAll('*').remove()\n\tself.dom.detailsDiv.selectAll('*').remove()\n\tself.dom.tableDiv.selectAll('*').remove()\n\tlet minlogfc = 0,\n\t\tmaxlogfc = 0,\n\t\tminlogpv = 0,\n\t\tmaxlogpv = 0\n\tfor (const d of mavb) {\n\t\tminlogfc = Math.min(minlogfc, d.fold_change)\n\t\tmaxlogfc = Math.max(maxlogfc, d.fold_change)\n\t\tif (d.adjusted_p_value == 0) {\n\t\t\tcontinue\n\t\t} else {\n\t\t\tminlogpv = Math.min(minlogpv, d.adjusted_p_value)\n\t\t\tmaxlogpv = Math.max(maxlogpv, d.adjusted_p_value)\n\t\t}\n\t}\n\n\tlet yaxisw,\n\t\txaxish,\n\t\twidth,\n\t\theight,\n\t\txpad,\n\t\typad,\n\t\ttoppad = 50,\n\t\trightpad = 50,\n\t\tradius\n\n\tconst svg = holder.append('svg')\n\tconst yaxisg = svg.append('g')\n\tconst xaxisg = svg.append('g')\n\tconst xlab = svg.append('text').text('log2(fold change)').attr('fill', 'black').attr('text-anchor', 'middle')\n\tconst ylab = svg.append('text').text('-log10(adjusted P value)').attr('fill', 'black').attr('text-anchor', 'middle')\n\n\tmavb.vo_dotarea = svg.append('g')\n\n\tconst box = mavb.vo_dotarea\n\t\t.append('rect')\n\t\t.attr('stroke', '#ededed')\n\t\t.attr('fill', 'none')\n\t\t.attr('shape-rendering', 'crispEdges')\n\tconst xscale = scaleLinear().domain([minlogfc, maxlogfc])\n\tconst yscale = scaleLinear().domain([minlogpv, maxlogpv])\n\tlet radiusscale\n\tconst dotg = mavb.vo_dotarea\n\t\t.selectAll()\n\t\t.data(mavb)\n\t\t.enter()\n\t\t.append('g')\n\t\t.each(function (d) {\n\t\t\td.vo_g = this\n\t\t})\n\tconst fold_change_cutoff = self.settings.foldchange\n\t//console.log(\"self.settings:\",self.settings)\n\t//self.config.settings.DEanalysis.min_count = self.settings.min_count\n\t//self.config.settings.DEanalysis.min_total_count = self.settings.min_total_count\n\tif (self.settings.pvalue == 0) throw 'p-value significance cannot be zero'\n\tconst p_value_cutoff = -Math.log10(self.settings.pvalue)\n\tconst p_value_adjusted_original = self.settings.adjusted_original_pvalue\n\tlet num_significant_genes = 0\n\tlet num_non_significant_genes = 0\n\tself.table_rows = []\n\tconst circle = dotg\n\t\t.append('circle')\n\t\t.attr('stroke', d => {\n\t\t\tlet color\n\t\t\tconst value3 = roundValueAuto(d.fold_change)\n\t\t\tconst value4 = roundValueAuto(Math.pow(10, -d.original_p_value))\n\t\t\tconst value5 = roundValueAuto(Math.pow(10, -d.adjusted_p_value))\n\t\t\tif (\n\t\t\t\tp_value_adjusted_original == 'adjusted' &&\n\t\t\t\td.adjusted_p_value > p_value_cutoff &&\n\t\t\t\tMath.abs(d.fold_change) > fold_change_cutoff\n\t\t\t) {\n\t\t\t\tcolor = 'red'\n\t\t\t\tnum_significant_genes += 1\n\n\t\t\t\tself.table_rows.push([\n\t\t\t\t\t{ value: d.gene_name },\n\t\t\t\t\t{ value: d.gene_symbol },\n\t\t\t\t\t{ value: value3 },\n\t\t\t\t\t{ value: value4 },\n\t\t\t\t\t{ value: value5 }\n\t\t\t\t])\n\t\t\t} else if (\n\t\t\t\tp_value_adjusted_original == 'original' &&\n\t\t\t\td.original_p_value > p_value_cutoff &&\n\t\t\t\tMath.abs(d.fold_change) > fold_change_cutoff\n\t\t\t) {\n\t\t\t\tcolor = 'red'\n\t\t\t\tnum_significant_genes += 1\n\t\t\t\tself.table_rows.push([\n\t\t\t\t\t{ value: d.gene_name },\n\t\t\t\t\t{ value: d.gene_symbol },\n\t\t\t\t\t{ value: value3 },\n\t\t\t\t\t{ value: value4 },\n\t\t\t\t\t{ value: value5 }\n\t\t\t\t])\n\t\t\t} else {\n\t\t\t\tcolor = 'black'\n\t\t\t\tnum_non_significant_genes += 1\n\t\t\t}\n\t\t\treturn color\n\t\t})\n\t\t.attr('stroke-opacity', 0.2)\n\t\t.attr('stroke-width', 1)\n\t\t.attr('fill', hlcolor)\n\t\t.attr('fill-opacity', 0)\n\t\t.each(function (d) {\n\t\t\td.vo_circle = this\n\t\t})\n\t\t.on('mouseover', circlemouseover)\n\t\t.on('mouseout', circlemouseout)\n\t//.on('click', (event, d) => {\n\t//\tcircleclick(d, mavb, event.clientX, event.clientY)\n\t//})\n\tself.table_rows.sort((a, b) => a[2].value - b[2].value).reverse() // Sorting genes in descending order of fold change\n\t//console.log(\n\t//\t'Percentage of significant genes:',\n\t//\t(num_significant_genes * 100) / (num_significant_genes + num_non_significant_genes)\n\t//)\n\n\tconst logfc0line = mavb.vo_dotarea.append('line').attr('stroke', '#ccc').attr('shape-rendering', 'crispEdges')\n\n\tfunction resize(w, h) {\n\t\twidth = w\n\t\theight = h\n\t\tyaxisw = Math.max(50, width / 8)\n\t\txaxish = Math.max(50, height / 8)\n\n\t\tradius = Math.max(width, height) / 80\n\t\tconst maxradius = radius * 3\n\t\tif (radiusscale) radiusscale.range([radius, maxradius])\n\t\tcircle.each(d => {\n\t\t\td.vo_radius = radiusscale ? radiusscale(Math.abs(d.tvalue)) : radius\n\t\t})\n\n\t\txpad = Math.max(maxradius, width / 50)\n\t\typad = Math.max(maxradius, height / 50)\n\t\tyaxisg.attr('transform', 'translate(' + yaxisw + ',' + toppad + ')')\n\t\txaxisg.attr('transform', 'translate(' + (yaxisw + xpad) + ',' + (toppad + height + ypad) + ')')\n\t\txlab.attr('x', yaxisw + xpad + width / 2).attr('y', toppad + height + ypad + xaxish - 5)\n\t\tylab.attr('transform', 'translate(15,' + (toppad + height / 2) + ') rotate(-90)')\n\t\tmavb.vo_dotarea.attr('transform', 'translate(' + (yaxisw + xpad) + ',' + toppad + ')')\n\t\tbox.attr('width', width).attr('height', height)\n\t\txscale.range([0, width])\n\t\tyscale.range([height, 0])\n\t\tdotg.attr('transform', d => {\n\t\t\treturn 'translate(' + xscale(d.fold_change) + ',' + yscale(d.adjusted_p_value) + ')'\n\t\t})\n\t\tcircle.attr('r', d => {\n\t\t\treturn d.vo_radius\n\t\t})\n\t\tlogfc0line.attr('x1', xscale(0)).attr('x2', xscale(0)).attr('y2', height)\n\n\t\tsvg.attr('width', yaxisw + xpad + width + rightpad).attr('height', toppad + height + ypad + xaxish)\n\t\taxisstyle({\n\t\t\taxis: yaxisg.call(d3axis.axisLeft().scale(yscale)),\n\t\t\tcolor: 'black',\n\t\t\tshowline: true\n\t\t})\n\t\taxisstyle({\n\t\t\taxis: xaxisg.call(d3axis.axisBottom().scale(xscale)),\n\t\t\tcolor: 'black',\n\t\t\tshowline: true\n\t\t})\n\t}\n\tresize(400, 400)\n\n\tif (mavb[0].adjusted_p_value != undefined) {\n\t\t// enable pvalue switching between adjusted and unadjusted\n\t\tconst row = holder.append('div').style('margin', '20px')\n\t\tminlogpv = 0\n\t\tmaxlogpv = 0\n\t\tlet text_string\n\t\tfor (const d of mavb) {\n\t\t\tlet pv\n\t\t\tif (p_value_adjusted_original == 'adjusted') {\n\t\t\t\tpv = d.adjusted_p_value\n\t\t\t} else {\n\t\t\t\tpv = d.original_p_value\n\t\t\t}\n\t\t\tif (pv == 0) continue\n\t\t\tminlogpv = Math.min(minlogpv, pv)\n\t\t\tmaxlogpv = Math.max(maxlogpv, pv)\n\t\t}\n\t\tyscale.domain([minlogpv, maxlogpv])\n\t\taxisstyle({\n\t\t\taxis: yaxisg.call(d3axis.axisLeft().scale(yscale)),\n\t\t\tcolor: 'black',\n\t\t\tshowline: true\n\t\t})\n\t\tdotg.attr('transform', d => {\n\t\t\tlet pv\n\t\t\tif (p_value_adjusted_original == 'adjusted') {\n\t\t\t\tpv = d.adjusted_p_value\n\t\t\t} else {\n\t\t\t\tpv = d.original_p_value\n\t\t\t}\n\t\t\treturn 'translate(' + xscale(d.fold_change) + ',' + yscale(pv) + ')'\n\t\t})\n\t\tif (p_value_adjusted_original == 'adjusted') {\n\t\t\ttext_string = '-log10(adjusted P value)'\n\t\t} else {\n\t\t\ttext_string = '-log10(original P value)'\n\t\t}\n\t\tylab.text(text_string)\n\t\tconst table_stats = table2col({ holder: self.dom.detailsDiv })\n\t\tconst addStats = [\n\t\t\t{\n\t\t\t\tlabel: 'Percentage of significant genes',\n\t\t\t\tvalue: roundValueAuto((num_significant_genes * 100) / (num_significant_genes + num_non_significant_genes))\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Number of significant genes',\n\t\t\t\tvalue: num_significant_genes\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Number of total genes',\n\t\t\t\tvalue: num_significant_genes + num_non_significant_genes\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: self.config.state.groups[0].name + ' sample size (control group)',\n\t\t\t\tvalue: sample_size1\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: self.config.state.groups[1].name + ' sample size (treatment group)',\n\t\t\t\tvalue: sample_size2\n\t\t\t}\n\t\t]\n\n\t\tfor (const dataRow of addStats) {\n\t\t\tconst [td1, td2] = table_stats.addRow()\n\t\t\ttd1.text(dataRow.label)\n\t\t\ttd2.style('text-align', 'end').text(dataRow.value)\n\t\t}\n\n\t\tself.table_cols = [\n\t\t\t{ label: 'Gene Name' },\n\t\t\t{ label: 'Gene Symbol' },\n\t\t\t{ label: 'log2 Fold change' },\n\t\t\t{ label: 'Original p-value (linear scale)' },\n\t\t\t{ label: 'Adjusted p-value (linear scale)' }\n\t\t]\n\t\tif (self.settings.pvaluetable == true) {\n\t\t\tconst d = self.dom.tableDiv.append('div').html(`<br>DE analysis results`)\n\t\t\trenderTable({\n\t\t\t\tcolumns: self.table_cols,\n\t\t\t\trows: self.table_rows,\n\t\t\t\tdiv: d,\n\t\t\t\tshowLines: true,\n\t\t\t\tmaxHeight: '150vh',\n\t\t\t\tresize: true\n\t\t\t})\n\t\t} else {\n\t\t\tself.dom.tableDiv.selectAll('*').remove()\n\t\t}\n\n\t\tif (self.settings.gene_ora && self.app.opts.genome.termdbs) {\n\t\t\t// Currently backend only uses msigdb, but in future may use other databases in genome.termdbs{}. In ui will need to generate a <select> to choose one key of termdbs{}.\n\t\t\t//console.log('Run gene ora:', self.settings.gene_ora)\n\t\t\t//console.log('output.data:', output.data)\n\t\t\tconst sample_genes = []\n\t\t\tconst background_genes = []\n\t\t\t//console.log('self:', self)\n\t\t\t//console.log('fold_change_cutoff:', fold_change_cutoff)\n\n\t\t\t// Need to handle those genes which do not have a name\n\t\t\tif (self.settings.gene_ora == 'upregulated') {\n\t\t\t\tfor (const gene of output.data) {\n\t\t\t\t\tif (gene.gene_symbol.length > 0) {\n\t\t\t\t\t\t// Do not include blank rows\n\t\t\t\t\t\tif (fold_change_cutoff < Math.abs(gene.fold_change) && gene.fold_change > 0) {\n\t\t\t\t\t\t\tsample_genes.push(gene.gene_symbol)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbackground_genes.push(gene.gene_symbol)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (self.settings.gene_ora == 'downregulated') {\n\t\t\t\tfor (const gene of output.data) {\n\t\t\t\t\tif (gene.gene_symbol.length > 0) {\n\t\t\t\t\t\t// Do not include blank rows\n\t\t\t\t\t\tif (fold_change_cutoff < Math.abs(gene.fold_change) && gene.fold_change < 0) {\n\t\t\t\t\t\t\tsample_genes.push(gene.gene_symbol)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbackground_genes.push(gene.gene_symbol)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (self.settings.gene_ora == 'both') {\n\t\t\t\tfor (const gene of output.data) {\n\t\t\t\t\tif (gene.gene_symbol.length > 0) {\n\t\t\t\t\t\t// Do not include blank rows\n\t\t\t\t\t\tif (fold_change_cutoff < Math.abs(gene.fold_change)) {\n\t\t\t\t\t\t\tsample_genes.push(gene.gene_symbol)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbackground_genes.push(gene.gene_symbol)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconsole.log('Unrecognized option')\n\t\t\t}\n\n\t\t\tconst geneORAparams = {\n\t\t\t\tsample_genes: sample_genes.toString(),\n\t\t\t\tbackground_genes: background_genes.toString(),\n\t\t\t\tgenome: self.app.vocabApi.opts.state.vocab.genome,\n\t\t\t\tora_request_type: self.settings.gene_ora,\n\t\t\t\tnum_samples_genes: sample_genes.length,\n\t\t\t\tnum_background_genes: background_genes.length\n\t\t\t}\n\n\t\t\t// Check if a previous requests has already been made with the same parameters\n\t\t\tconst previous_geneORA = self.app.getState().plots.find(x => x.chartType == 'geneORA')\n\n\t\t\tif (previous_geneORA) {\n\t\t\t\tif (\n\t\t\t\t\tprevious_geneORA.geneORAparams.ora_request_type == self.settings.gene_ora &&\n\t\t\t\t\tprevious_geneORA.geneORAparams.num_samples_genes == sample_genes.length &&\n\t\t\t\t\tprevious_geneORA.geneORAparams.num_background_genes == background_genes.length\n\t\t\t\t) {\n\t\t\t\t\t// The check for number of background genes and sample genes have been added so that the same gene ORA request type (upregulated/downregulated/both) is not triggerred, but if any other DE parameter is changed (min_count etc.) then a new gene ORA request of the same type can be made.\n\t\t\t\t\t//alert(self.settings.gene_ora + \"geneORA already open\")\n\t\t\t\t} else {\n\t\t\t\t\tconst config = {\n\t\t\t\t\t\tchartType: 'geneORA',\n\t\t\t\t\t\tgeneORAparams: geneORAparams\n\t\t\t\t\t}\n\t\t\t\t\tself.app.dispatch({\n\t\t\t\t\t\ttype: 'plot_create',\n\t\t\t\t\t\tconfig\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst config = {\n\t\t\t\t\tchartType: 'geneORA',\n\t\t\t\t\tgeneORAparams: geneORAparams\n\t\t\t\t}\n\t\t\t\tself.app.dispatch({\n\t\t\t\t\ttype: 'plot_create',\n\t\t\t\t\tconfig\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\tif (self.settings.gsea && self.app.opts.genome.termdbs) {\n\t\t\t// Currently backend only uses msigdb, but in future may use other databases in genome.termdbs{}. In ui will need to generate a <select> to choose one key of termdbs{}.\n\t\t\t//self.settings.gsea = false\n\t\t\tconst input_genes = output.data.map(i => i.gene_symbol)\n\t\t\tconst gsea_params = {\n\t\t\t\tgenes: input_genes,\n\t\t\t\tfold_change: output.data.map(i => i.fold_change),\n\t\t\t\tgenome: self.app.vocabApi.opts.state.vocab.genome,\n\t\t\t\tgenes_length: input_genes.length\n\t\t\t}\n\t\t\t//console.log(\"gsea_params:\",gsea_params)\n\t\t\t// Check if a previous requests has already been made with the same parameters\n\t\t\tconst previous_gsea = self.app.getState().plots.find(x => x.chartType == 'gsea')\n\t\t\tif (previous_gsea) {\n\t\t\t\tif (previous_gsea.gsea_params.genes_length == input_genes.length) {\n\t\t\t\t\t// GSEA window already open for these parameters\n\t\t\t\t} else {\n\t\t\t\t\tconst config = {\n\t\t\t\t\t\tchartType: 'gsea',\n\t\t\t\t\t\tgsea_params: gsea_params\n\t\t\t\t\t}\n\t\t\t\t\tself.app.dispatch({\n\t\t\t\t\t\ttype: 'plot_create',\n\t\t\t\t\t\tconfig\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst config = {\n\t\t\t\t\tchartType: 'gsea',\n\t\t\t\t\tgsea_params: gsea_params\n\t\t\t\t}\n\t\t\t\tself.app.dispatch({\n\t\t\t\t\ttype: 'plot_create',\n\t\t\t\t\tconfig\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\t//console.log('this.app.getState:', self.app.getState())\n\t}\n\treturn svg\n}\n\nexport async function getPlotConfig(opts, app) {\n\ttry {\n\t\tif (opts.samplelst.groups.length != 2) throw 'opts.samplelst.groups[].length!=2'\n\t\tif (opts.samplelst.groups[0].values?.length < 1) throw 'group 1 not having >1 samples'\n\t\tif (opts.samplelst.groups[1].values?.length < 1) throw 'group 2 not having >1 samples'\n\t\tconst config = {\n\t\t\t//idea for fixing nav button\n\t\t\t//samplelst: { groups: app.opts.state.groups}\n\t\t\tsettings: {\n\t\t\t\tDEanalysis: {\n\t\t\t\t\tpvalue: 0.05,\n\t\t\t\t\tfoldchange: 0,\n\t\t\t\t\tmin_count: 10,\n\t\t\t\t\tmin_total_count: 15,\n\t\t\t\t\tpvaluetable: false,\n\t\t\t\t\tadjusted_original_pvalue: 'adjusted',\n\t\t\t\t\tmethod: 'wilcoxon',\n\t\t\t\t\tgene_ora: undefined,\n\t\t\t\t\tgsea: undefined\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn copyMerge(config, opts)\n\t} catch (e) {\n\t\tthrow `${e} [DEanalysis getPlotConfig()]`\n\t}\n}\n\nexport const DEanalysisInit = getCompInit(DEanalysis)\n// this alias will allow abstracted dynamic imports\nexport const componentInit = DEanalysisInit\n\nexport function makeChartBtnMenu(holder, chartsInstance) {\n\t/*\n\tholder: the holder in the tooltip\n\tchartsInstance: MassCharts instance\n termdbConfig is accessible at chartsInstance.state.termdbConfig{}\n mass option is accessible at chartsInstance.app.opts{}\n\t*/\n\t// to fill in menu, create options in \"holder\"\n\t// to hide menu, call chartsInstance.dom.tip.hide()\n\t// upon clicking an option, generate plot:\n\tchartsInstance.prepPlot({\n\t\tconfig: {\n\t\t\tchartType: 'DEanalysis'\n\t\t}\n\t})\n}\n\nfunction circlemouseover(event, d) {\n\ttip.clear().show(event.clientX, event.clientY)\n\tconst lst = [\n\t\t{ k: 'gene_name', v: d.gene_name },\n\t\t{ k: 'gene_symbol', v: d.gene_symbol },\n\t\t{ k: 'log fold change', v: roundValueAuto(d.fold_change) },\n\t\t{ k: 'log original p-value', v: roundValueAuto(d.original_p_value) },\n\t\t{ k: 'log adjusted p-value', v: roundValueAuto(d.adjusted_p_value) }\n\t]\n\tconst table = table2col({ holder: tip.d })\n\tfor (const item of lst) {\n\t\tconst [td1, td2] = table.addRow()\n\t\ttd1.text(item.k)\n\t\ttd2.text(item.v)\n\t}\n\n\tif (!d.ma_label) {\n\t\td3select(d.ma_circle).attr('fill-opacity', 0.9)\n\t\td3select(d.vo_circle).attr('fill-opacity', 0.9)\n\t}\n}\n\nfunction circlemouseout(event, d) {\n\ttip.hide()\n\tif (!d.ma_label) {\n\t\td3select(d.ma_circle).attr('fill-opacity', 0)\n\t\td3select(d.vo_circle).attr('fill-opacity', 0)\n\t}\n}\n\nexport async function openHiercluster(term, samplelstTW, app, id, newId) {\n\t// barchart config.term{} name is confusing, as it is actually a termsetting object, not t erm\n\t// thus convert the given term into a termwrapper\n\t// tw.q can be missing and will be filled in with default setting\n\tconst tw = term.term ? term : { term }\n\n\tlet config = {\n\t\tchartType: 'hierCluster',\n\t\tgenes: ['barchart', xxx]\n\t}\n\tif (id) config.insertBefore = id\n\tif (newId) config.id = newId()\n\tawait app.dispatch({\n\t\ttype: 'plot_create',\n\t\tconfig\n\t})\n}\n\nasync function runDEanalysis(self) {\n\tconst output = await dofetch3('DEanalysis', {\n\t\tbody: {\n\t\t\tgenome: self.app.vocabApi.vocab.genome,\n\t\t\tdslabel: self.app.vocabApi.vocab.dslabel,\n\t\t\tsamplelst: self.config.samplelst,\n\t\t\tmin_count: self.settings.min_count,\n\t\t\tmin_total_count: self.settings.min_total_count,\n\t\t\tmethod: self.settings.method\n\t\t}\n\t})\n\tif (output.error) console.log('server side error:', output.error)\n\treturn output\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }