@sjcrh/proteinpaint-client 2.195.0 → 2.196.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 (888) hide show
  1. package/dist/2dmaf-SKNV7IHT.js +1373 -0
  2. package/dist/AIProjectAdmin-AOTVRBNH.js +958 -0
  3. package/dist/AppHeader-M2ZSS3M3.js +835 -0
  4. package/dist/BoxPlot-P3EECSQA.js +1217 -0
  5. package/dist/BoxPlot-P3EECSQA.js.map +7 -0
  6. package/dist/CorrelationVolcano-YCQ5S6MT.js +619 -0
  7. package/dist/DE-RBMOQZCR.js +95 -0
  8. package/dist/DEinput-PTW6RS6U.js +301 -0
  9. package/dist/DifferentialAnalysis-M6IDWPYX.js +245 -0
  10. package/dist/Disco-GUKDAHUY.js +3297 -0
  11. package/dist/Disco.UI-YBIMV7RH.js +249 -0
  12. package/dist/DmrPlot-JQPLLU6P.js +642 -0
  13. package/dist/GB-UOTFNVJE.js +1353 -0
  14. package/dist/GeneExpInput-3OPDDCXR.js +367 -0
  15. package/dist/HicApp-VFOWRP6G.js +2250 -0
  16. package/dist/IDCViewer-Y7EOIIBG.js +10455 -0
  17. package/dist/NumBinaryEditor-RL44SO3T.js +271 -0
  18. package/dist/NumBinaryEditor.unit.spec-P73PGAX5.js +286 -0
  19. package/dist/NumContEditor-MIC7M73G.js +109 -0
  20. package/dist/NumContEditor.unit.spec-5XZH7OCG.js +169 -0
  21. package/dist/NumCustomBinEditor-W357XTIR.js +38 -0
  22. package/dist/NumCustomBinEditor.unit.spec-CJMK4CYW.js +284 -0
  23. package/dist/NumDiscreteEditor-PRSUMS3I.js +179 -0
  24. package/dist/NumDiscreteEditor.unit.spec-A6R56P3Z.js +202 -0
  25. package/dist/NumRegularBinEditor-7OHUEUCC.js +38 -0
  26. package/dist/NumRegularBinEditor.unit.spec-NOAX42UZ.js +227 -0
  27. package/dist/NumSplineEditor-XI7AT5LM.js +198 -0
  28. package/dist/NumSplineEditor.unit.spec-ZH4M2N2C.js +199 -0
  29. package/dist/NumericDensity-X6IHQAW3.js +38 -0
  30. package/dist/NumericDensity.unit.spec-EKVD4AUG.js +221 -0
  31. package/dist/NumericHandler-5ONBWFJ5.js +39 -0
  32. package/dist/NumericHandler.unit.spec-SHI6E4VA.js +219 -0
  33. package/dist/ProteomeInput-HN46MIBP.js +396 -0
  34. package/dist/RunChart2-Y6IY6MW2.js +758 -0
  35. package/dist/SC-JYF564FK.js +1130 -0
  36. package/dist/SC-JYF564FK.js.map +7 -0
  37. package/dist/Volcano-WZGAUYGY.js +1380 -0
  38. package/dist/Volcano-WZGAUYGY.js.map +7 -0
  39. package/dist/WSIViewer-RLLL7MAL.js +48562 -0
  40. package/dist/WsiSamplesPlot-FU3TCOTY.js +165 -0
  41. package/dist/adSandbox-ZINST5DE.js +38 -0
  42. package/dist/animatedBubbleChart-PIQWCVBJ.js +555 -0
  43. package/dist/app-N42SVGI2.js +37 -0
  44. package/dist/app-RWN4XLCP.js +49 -0
  45. package/dist/app.js +13 -13
  46. package/dist/bam-QTSTXJ4N.js +860 -0
  47. package/dist/barchart-27BYTRVI.js +47 -0
  48. package/dist/barchart.data-OUNVH4JU.js +22 -0
  49. package/dist/barchart.events-PY4CEDSO.js +47 -0
  50. package/dist/barchart.integration.spec-H4WGHQ7R.js +2196 -0
  51. package/dist/barchart2-TIOTRAC2.js +314 -0
  52. package/dist/block-YPM767A4.js +6226 -0
  53. package/dist/block.init-LRZ3QAGC.js +38 -0
  54. package/dist/block.mds.expressionrank-IV7JLC52.js +359 -0
  55. package/dist/block.mds.geneboxplot-IBCE5XZU.js +828 -0
  56. package/dist/block.mds.junction-ISSCJHNF.js +1545 -0
  57. package/dist/block.mds.svcnv-ZEBVBTL7.js +6801 -0
  58. package/dist/block.svg-FYWA5VYH.js +164 -0
  59. package/dist/block.tk.aicheck-AD6DTKXR.js +283 -0
  60. package/dist/block.tk.ase-LO2J4KRE.js +365 -0
  61. package/dist/block.tk.bam-XGX22FCN.js +1906 -0
  62. package/dist/block.tk.bedgraphdot-SUIRFNFL.js +384 -0
  63. package/dist/block.tk.bigwig.ui-2Q7FAK3V.js +212 -0
  64. package/dist/block.tk.hicstraw-4MVP2PCL.js +823 -0
  65. package/dist/block.tk.junction-F54FTEPB.js +2364 -0
  66. package/dist/block.tk.junction.textmatrixui-ETROZJVK.js +199 -0
  67. package/dist/block.tk.ld-NJEDKSTU.js +99 -0
  68. package/dist/block.tk.menu-LZOY4FKT.js +1029 -0
  69. package/dist/block.tk.pgv-I3XHJ7VU.js +944 -0
  70. package/dist/brainImaging-BGP6VRFV.js +423 -0
  71. package/dist/brainRegions-AAN7LM2Y.js +221 -0
  72. package/dist/bubbleHeatmap-HNEU4CYA.js +383 -0
  73. package/dist/chunk-25XCVML7.js +236 -0
  74. package/dist/chunk-25XCVML7.js.map +7 -0
  75. package/dist/chunk-2XV6U42J.js +100 -0
  76. package/dist/chunk-36NAWXQ7.js +5067 -0
  77. package/dist/chunk-427UL37G.js +222 -0
  78. package/dist/chunk-4C3XRI6J.js +54 -0
  79. package/dist/chunk-4O6H4ZHL.js +514 -0
  80. package/dist/chunk-53JJ7SXN.js +276 -0
  81. package/dist/chunk-5HMX4NUJ.js +217 -0
  82. package/dist/chunk-5V2BMEAS.js +55 -0
  83. package/dist/chunk-6MBTPVIM.js +1275 -0
  84. package/dist/chunk-6MQWYMPB.js +183 -0
  85. package/dist/chunk-6MQWYMPB.js.map +7 -0
  86. package/dist/chunk-7D3WX34I.js +1230 -0
  87. package/dist/chunk-7FSIZZOX.js +176 -0
  88. package/dist/chunk-A3URBFXN.js +119 -0
  89. package/dist/chunk-A45KH7LP.js +254 -0
  90. package/dist/chunk-B4GS7OLB.js +4284 -0
  91. package/dist/chunk-B4GS7OLB.js.map +7 -0
  92. package/dist/chunk-BWQV2OBL.js +102 -0
  93. package/dist/chunk-BXGQXLHP.js +2786 -0
  94. package/dist/chunk-CDJAHMAN.js +299 -0
  95. package/dist/chunk-CXHLROWX.js +37 -0
  96. package/dist/chunk-ECIBJXFT.js +352 -0
  97. package/dist/chunk-ECIBJXFT.js.map +7 -0
  98. package/dist/chunk-EKKQMKQI.js +102 -0
  99. package/dist/chunk-EPWIJEMK.js +158 -0
  100. package/dist/chunk-F7Y67LK7.js +230 -0
  101. package/dist/chunk-FDBVAL6K.js +14 -0
  102. package/dist/chunk-FISP5YN2.js +292 -0
  103. package/dist/chunk-G3FSS7GR.js +477 -0
  104. package/dist/chunk-GE4NJDV4.js +98 -0
  105. package/dist/chunk-GYGU4UT5.js +34 -0
  106. package/dist/chunk-I5IPJG2R.js +148 -0
  107. package/dist/chunk-IFK24IXL.js +194 -0
  108. package/dist/chunk-ILE6ML2D.js +50 -0
  109. package/dist/chunk-IRKP6IZ4.js +216 -0
  110. package/dist/chunk-J6ZOUCWN.js +170 -0
  111. package/dist/chunk-JFRSVFWO.js +736 -0
  112. package/dist/chunk-JFRSVFWO.js.map +7 -0
  113. package/dist/chunk-JNBJG57F.js +448 -0
  114. package/dist/chunk-K5UVG3FQ.js +117 -0
  115. package/dist/chunk-KE5B34CS.js +102 -0
  116. package/dist/chunk-L6A2BEXB.js +2681 -0
  117. package/dist/chunk-LWEGSYDD.js +226 -0
  118. package/dist/chunk-LYVLF6HO.js +1825 -0
  119. package/dist/chunk-MBUQ34CF.js +189 -0
  120. package/dist/chunk-MBUQ34CF.js.map +7 -0
  121. package/dist/chunk-MN3KDNHC.js +617 -0
  122. package/dist/chunk-MTHEEXT2.js +1450 -0
  123. package/dist/chunk-MTHEEXT2.js.map +7 -0
  124. package/dist/chunk-MTZSN3H4.js +302 -0
  125. package/dist/chunk-N7O7NPUO.js +534 -0
  126. package/dist/chunk-NNFAUP2I.js +315 -0
  127. package/dist/chunk-NNFAUP2I.js.map +7 -0
  128. package/dist/chunk-OF5FE6GT.js +142 -0
  129. package/dist/chunk-OVSKJROY.js +815 -0
  130. package/dist/chunk-PJ3FCJBZ.js +480 -0
  131. package/dist/chunk-PU2Q4SZR.js +2327 -0
  132. package/dist/chunk-PZPS56Z6.js +343 -0
  133. package/dist/chunk-QKR3ZD3S.js +833 -0
  134. package/dist/chunk-QMXCK4Y5.js +203 -0
  135. package/dist/chunk-ROJ3LJLE.js +448 -0
  136. package/dist/chunk-SLHWUFAW.js +1943 -0
  137. package/dist/chunk-U3G4JGKJ.js +54 -0
  138. package/dist/chunk-VDZ5QOF6.js +446 -0
  139. package/dist/chunk-VO5XZ2EG.js +129 -0
  140. package/dist/chunk-VRH7NP6R.js +263 -0
  141. package/dist/chunk-VTMJGRT5.js +272 -0
  142. package/dist/chunk-W5X6C7LY.js +399 -0
  143. package/dist/chunk-WJGUNGFK.js +272 -0
  144. package/dist/chunk-WKT46ZJ6.js +368 -0
  145. package/dist/chunk-WQCQWUUP.js +2833 -0
  146. package/dist/chunk-WY2PGUVX.js +20898 -0
  147. package/dist/chunk-WY2PGUVX.js.map +7 -0
  148. package/dist/chunk-WZ2U5QXJ.js +6364 -0
  149. package/dist/chunk-WZUWK5Q6.js +1102 -0
  150. package/dist/chunk-XPMTUVSS.js +1220 -0
  151. package/dist/chunk-YYFQPGIE.js +386 -0
  152. package/dist/condition-GVIEMQG7.js +332 -0
  153. package/dist/controls-73K3XBDR.js +41 -0
  154. package/dist/controls.config-FQKY2LRE.js +39 -0
  155. package/dist/correlation-AOAXIUFJ.js +102 -0
  156. package/dist/cuminc-OD2PPCEK.js +1149 -0
  157. package/dist/cuminc.integration.spec-TMIFW7EO.js +678 -0
  158. package/dist/customdata.inputui-SWLGLATL.js +289 -0
  159. package/dist/dataDownload-456HL2OE.js +330 -0
  160. package/dist/dataDownload.integration.spec-5YS4MWK5.js +193 -0
  161. package/dist/databrowser.ui-7APC5MNM.js +433 -0
  162. package/dist/dictionary-A3HA5MVK.js +118 -0
  163. package/dist/dnaMethylation-6ONBKARD.js +38 -0
  164. package/dist/dnaMethylation.integration.spec-T3WEGVX3.js +203 -0
  165. package/dist/dofetch-RVPQUMVX.js +51 -0
  166. package/dist/e2pca-75WZ46XG.js +350 -0
  167. package/dist/ep-QG5CWPTW.js +1256 -0
  168. package/dist/expclust.gdc.spec-KBBQJR4M.js +307 -0
  169. package/dist/facet-QGB2Q7YV.js +521 -0
  170. package/dist/forms2-CJGDCWYH.js +539 -0
  171. package/dist/gb-NEFAHKQI.js +88 -0
  172. package/dist/geneExpClustering-ZVR44UZC.js +249 -0
  173. package/dist/geneExpression-25EX4DFK.js +313 -0
  174. package/dist/geneExpression-FALOA4GC.js +38 -0
  175. package/dist/geneExpression.unit.spec-BQLELQUS.js +102 -0
  176. package/dist/geneORA-K2B7JYWD.js +278 -0
  177. package/dist/geneRanking-6AXL5ZJS.js +553 -0
  178. package/dist/geneVariant-RZFDP5J5.js +41 -0
  179. package/dist/geneVariant-UIBZ5UIQ.js +39 -0
  180. package/dist/geneVariant.integration.spec-4EZQMPQB.js +198 -0
  181. package/dist/genefusion.ui-YK4TNS2P.js +309 -0
  182. package/dist/geneset-47J4D5ID.js +208 -0
  183. package/dist/genomeBrowser.spec-LFFWRIWG.js +281 -0
  184. package/dist/grin2-DQB2WW3C.js +75 -0
  185. package/dist/grin2-TZFU4JM3.js +1078 -0
  186. package/dist/grin2-TZFU4JM3.js.map +7 -0
  187. package/dist/gsea-KKLAMLMG.js +47 -0
  188. package/dist/hierCluster-3MZEJG6B.js +59 -0
  189. package/dist/hierCluster-YGBC4XCZ.js +63 -0
  190. package/dist/hierCluster.config-A4N54K3A.js +40 -0
  191. package/dist/hierCluster.integration.spec-GLKXFZDM.js +488 -0
  192. package/dist/hierCluster.interactivity-4TPWGIVC.js +54 -0
  193. package/dist/hierCluster.renderers-WUWSXXHU.js +21 -0
  194. package/dist/imagePlot-JRPYOV3Q.js +163 -0
  195. package/dist/importPlot-A3PFUP6K.js +8 -0
  196. package/dist/isoformExpression-5L4O3WKL.js +40 -0
  197. package/dist/isoformExpression.unit.spec-SLB6XIX4.js +208 -0
  198. package/dist/launch.adhoc-QI7TPYSC.js +42 -0
  199. package/dist/leftlabel.sample-OSIRTJFW.js +264 -0
  200. package/dist/lollipop-LAELXNQY.js +171 -0
  201. package/dist/maf-HZAYVZFO.js +459 -0
  202. package/dist/maftimeline-BLBNUGAL.js +593 -0
  203. package/dist/matrix-LVJSHXDM.js +58 -0
  204. package/dist/matrix-S5QQV4JU.js +63 -0
  205. package/dist/matrix.cells-JUTRYPG4.js +28 -0
  206. package/dist/matrix.config-ZTWWYNIZ.js +41 -0
  207. package/dist/matrix.data-BREYB54F.js +25 -0
  208. package/dist/matrix.groups-WMHTLOXC.js +27 -0
  209. package/dist/matrix.integration.spec-S6FIEE2X.js +3072 -0
  210. package/dist/matrix.interactivity-TMBVAM5M.js +42 -0
  211. package/dist/matrix.layout-POK5NOUV.js +44 -0
  212. package/dist/matrix.legend-6XVQ67AC.js +22 -0
  213. package/dist/matrix.renderers-G5FQZZ73.js +38 -0
  214. package/dist/matrix.serieses-XNLQSQS6.js +21 -0
  215. package/dist/matrix.sort-XNES23OQ.js +27 -0
  216. package/dist/matrix.sort.unit.spec-65BDBQUV.js +472 -0
  217. package/dist/matrix.sorterUi.unit.spec-GZQBW7F7.js +342 -0
  218. package/dist/mavb-T2UCRWWM.js +732 -0
  219. package/dist/mds.fimo-65UUK7ER.js +518 -0
  220. package/dist/mds.samplescatterplot-4NHGQBJF.js +1550 -0
  221. package/dist/mds.survivalplot-WVAHDM3Z.js +483 -0
  222. package/dist/numericDictTermCluster-CXASCSQ6.js +65 -0
  223. package/dist/oncomatrix-5WMOICWR.js +295 -0
  224. package/dist/oncomatrix.spec-POVBNFJR.js +448 -0
  225. package/dist/plot.2dvaf-63K5RSIU.js +377 -0
  226. package/dist/plot.app-V5IY25QS.js +41 -0
  227. package/dist/plot.barplot-IQTYHNFE.js +102 -0
  228. package/dist/plot.boxplot-2RMTO7AS.js +152 -0
  229. package/dist/plot.brainImaging-DLUHAHHG.js +51 -0
  230. package/dist/plot.disco-WK6GDLNF.js +102 -0
  231. package/dist/plot.dzi-3V3FWE7U.js +33 -0
  232. package/dist/plot.ssgq-TENK2RP4.js +139 -0
  233. package/dist/plot.vaf2cov-P2QOOZGZ.js +259 -0
  234. package/dist/plot.wsi-BVRGJF4E.js +36 -0
  235. package/dist/polar2-NNOZOQQJ.js +231 -0
  236. package/dist/profileForms-RS4GEZZV.js +446 -0
  237. package/dist/profilePlot-3DLME3NH.js +54 -0
  238. package/dist/proteinView-NPKJAQAI.js +1568 -0
  239. package/dist/qualitative-S45RXXRJ.js +43 -0
  240. package/dist/radar2-EX7YBNMT.js +326 -0
  241. package/dist/radarFacility2-WU5O6O77.js +334 -0
  242. package/dist/regression-7MCOYJVD.js +56 -0
  243. package/dist/regression.inputs-QHSWJ23R.js +48 -0
  244. package/dist/regression.inputs.term-EJ4Z5Q5O.js +48 -0
  245. package/dist/regression.inputs.values.table-YKMAWNXN.js +45 -0
  246. package/dist/regression.integration.spec-XOX7OXXA.js +784 -0
  247. package/dist/regression.results-YKPOTPCC.js +40 -0
  248. package/dist/regression.spec-YIIY2AZA.js +708 -0
  249. package/dist/report-JEJFCWUU.js +222 -0
  250. package/dist/sampleScatter.spec-LBAZBDYA.js +202 -0
  251. package/dist/sampleView-WKZT5ZFE.js +48 -0
  252. package/dist/samplelst-HXM3H6M4.js +111 -0
  253. package/dist/samplematrix-LCGHK2EK.js +2198 -0
  254. package/dist/sc-3OE2G4BU.js +86 -0
  255. package/dist/scatter-AGVUDTTU.js +851 -0
  256. package/dist/scatter-AGVUDTTU.js.map +7 -0
  257. package/dist/selectGenomeWithTklst-WF2XZ6GH.js +134 -0
  258. package/dist/singleCellCellType-2SRGROMS.js +38 -0
  259. package/dist/singleCellCellType.unit.spec-DCGHNRJI.js +160 -0
  260. package/dist/singleCellGeneExpression-RASZA4NO.js +38 -0
  261. package/dist/singleCellGeneExpression.unit.spec-5MRGH2OO.js +153 -0
  262. package/dist/singleCellPlot-TIYA3GNM.js +54 -0
  263. package/dist/singlecell-CFA43TTU.js +1572 -0
  264. package/dist/singlecell-JS5SIZHY.js +86 -0
  265. package/dist/snp-VXZXPMKS.js +38 -0
  266. package/dist/snp.unit.spec-TR5TCO7X.js +176 -0
  267. package/dist/snplocus-VLPH5Y65.js +208 -0
  268. package/dist/spliceevent.a53ss.diagram-PATK67SH.js +151 -0
  269. package/dist/spliceevent.exonskip.diagram-7B3SEOAJ.js +277 -0
  270. package/dist/spliceevent.noeventdiagram-4NPNZUEN.js +460 -0
  271. package/dist/ssGSEA-XMW5BLAU.js +38 -0
  272. package/dist/ssGSEA.unit.spec-ASUWKVUT.js +88 -0
  273. package/dist/summarizeCnvGeneexp-KWRFGX32.js +163 -0
  274. package/dist/summarizeGeneexpSurvival-FIPIMEJR.js +114 -0
  275. package/dist/summarizeMutationCnv-IUYRVLZG.js +164 -0
  276. package/dist/summarizeMutationDiagnosis-ZFJPCABL.js +40 -0
  277. package/dist/summarizeMutationSurvival-HFHYB7DT.js +99 -0
  278. package/dist/summary-AZUNEZ5I.js +49 -0
  279. package/dist/summary.integration.spec-WLBAJL44.js +414 -0
  280. package/dist/summaryInput-NJWVXDXW.js +235 -0
  281. package/dist/sunburst-PXGF4WM6.js +284 -0
  282. package/dist/survival-RAU4XCKG.js +58 -0
  283. package/dist/survival-ZZ4QLZHK.js +46 -0
  284. package/dist/survival.integration.spec-GBQ5X362.js +915 -0
  285. package/dist/svgraph-7UCFRL6A.js +1387 -0
  286. package/dist/svmr-DB3RY2ID.js +3842 -0
  287. package/dist/table-HJRWWXGM.js +200 -0
  288. package/dist/termCollection-AW7M6DTP.js +38 -0
  289. package/dist/termCollection-WPON7RG3.js +179 -0
  290. package/dist/termCollection.unit.spec-254ESHOE.js +208 -0
  291. package/dist/tk-SUAFM5YA.js +46 -0
  292. package/dist/tp.ui-ELEQGSK2.js +1459 -0
  293. package/dist/tvs.dt-DCXY66YY.js +39 -0
  294. package/dist/tvs.dtcnv.categorical-SFQZMYX7.js +40 -0
  295. package/dist/tvs.dtcnv.continuous-AUZNJMC3.js +72 -0
  296. package/dist/tvs.dtfusion-5F7MYFHZ.js +40 -0
  297. package/dist/tvs.dtsnvindel-JJSPL4PH.js +40 -0
  298. package/dist/tvs.dtsv-DARTSV5H.js +40 -0
  299. package/dist/tvs.samplelst-HHBIO26C.js +104 -0
  300. package/dist/tvs.termCollection-KCMALH6B.js +159 -0
  301. package/dist/violin-C26FW5WK.js +46 -0
  302. package/dist/violin.integration.spec-QQ43XWHQ.js +1425 -0
  303. package/dist/violin.interactivity-H2BHC6M4.js +38 -0
  304. package/dist/violin.renderer-GSG2I7AV.js +40 -0
  305. package/dist/vocabulary-3G525O5V.js +41 -0
  306. package/package.json +2 -2
  307. package/dist/2dmaf-GTD3AXGT.js +0 -1373
  308. package/dist/AIProjectAdmin-ALMSVHFX.js +0 -958
  309. package/dist/AppHeader-RK2YRITI.js +0 -835
  310. package/dist/BoxPlot-6ZXLPA5Q.js +0 -1217
  311. package/dist/BoxPlot-6ZXLPA5Q.js.map +0 -7
  312. package/dist/CorrelationVolcano-PJB3QCXB.js +0 -619
  313. package/dist/DE-MEWV5RTV.js +0 -95
  314. package/dist/DEinput-I62VHD2U.js +0 -301
  315. package/dist/DifferentialAnalysis-7L3CDPVB.js +0 -245
  316. package/dist/Disco-FCS7B5DO.js +0 -3297
  317. package/dist/Disco.UI-BFJ5XFAT.js +0 -249
  318. package/dist/DmrPlot-362PCE7L.js +0 -642
  319. package/dist/GB-SX4JENAW.js +0 -1353
  320. package/dist/GeneExpInput-EHWHQTRV.js +0 -367
  321. package/dist/HicApp-UE4DCUKX.js +0 -2250
  322. package/dist/IDCViewer-EDF5XJ63.js +0 -10455
  323. package/dist/NumBinaryEditor-3TAAJNYY.js +0 -271
  324. package/dist/NumBinaryEditor.unit.spec-6776472M.js +0 -286
  325. package/dist/NumContEditor-WLFXTY4M.js +0 -109
  326. package/dist/NumContEditor.unit.spec-KG5SCOIQ.js +0 -169
  327. package/dist/NumCustomBinEditor-EKKNCLKI.js +0 -38
  328. package/dist/NumCustomBinEditor.unit.spec-LSLSKQDW.js +0 -284
  329. package/dist/NumDiscreteEditor-X2MLECNT.js +0 -179
  330. package/dist/NumDiscreteEditor.unit.spec-BZG7P4C7.js +0 -202
  331. package/dist/NumRegularBinEditor-CAGJ4ZWD.js +0 -38
  332. package/dist/NumRegularBinEditor.unit.spec-GJSJC4DK.js +0 -227
  333. package/dist/NumSplineEditor-ND3RC7R6.js +0 -198
  334. package/dist/NumSplineEditor.unit.spec-F67JQKPY.js +0 -199
  335. package/dist/NumericDensity-VW7NIZU7.js +0 -38
  336. package/dist/NumericDensity.unit.spec-YHIMU23C.js +0 -221
  337. package/dist/NumericHandler-HCU6B2XV.js +0 -39
  338. package/dist/NumericHandler.unit.spec-6GVWAUED.js +0 -219
  339. package/dist/ProteomeInput-SONQSTVD.js +0 -396
  340. package/dist/RunChart2-ZLBNG4JF.js +0 -758
  341. package/dist/SC-YDRE37LP.js +0 -1127
  342. package/dist/SC-YDRE37LP.js.map +0 -7
  343. package/dist/Volcano-27ZERHXI.js +0 -1379
  344. package/dist/Volcano-27ZERHXI.js.map +0 -7
  345. package/dist/WSIViewer-2P7ANPBV.js +0 -48562
  346. package/dist/WsiSamplesPlot-FM4B657P.js +0 -165
  347. package/dist/adSandbox-M6TBRE5W.js +0 -38
  348. package/dist/animatedBubbleChart-VYSSX52K.js +0 -555
  349. package/dist/app-BLJT7ZDG.js +0 -49
  350. package/dist/app-LSFSUJHF.js +0 -37
  351. package/dist/bam-ZMHBTBB4.js +0 -860
  352. package/dist/barchart-EF75MNTN.js +0 -47
  353. package/dist/barchart.data-VWZB3R2Z.js +0 -22
  354. package/dist/barchart.events-AMYQOMBQ.js +0 -47
  355. package/dist/barchart.integration.spec-TCTQ5PKN.js +0 -2196
  356. package/dist/barchart2-LOHN6NSE.js +0 -314
  357. package/dist/block-23BH5TZ3.js +0 -6226
  358. package/dist/block.init-3BF6L23D.js +0 -38
  359. package/dist/block.mds.expressionrank-DSHATA2M.js +0 -359
  360. package/dist/block.mds.geneboxplot-RXQUOE3Y.js +0 -828
  361. package/dist/block.mds.junction-PN776TCD.js +0 -1545
  362. package/dist/block.mds.svcnv-SOWUBH4K.js +0 -6801
  363. package/dist/block.svg-ZPYMFAGC.js +0 -164
  364. package/dist/block.tk.aicheck-E22ZJJFP.js +0 -283
  365. package/dist/block.tk.ase-S54Z5A4G.js +0 -365
  366. package/dist/block.tk.bam-YOELFYXU.js +0 -1906
  367. package/dist/block.tk.bedgraphdot-VFUWXPSL.js +0 -384
  368. package/dist/block.tk.bigwig.ui-2SJYUPR3.js +0 -212
  369. package/dist/block.tk.hicstraw-GZVE4HQG.js +0 -823
  370. package/dist/block.tk.junction-RRFX4CAT.js +0 -2364
  371. package/dist/block.tk.junction.textmatrixui-A726SAAL.js +0 -199
  372. package/dist/block.tk.ld-THUOBW72.js +0 -99
  373. package/dist/block.tk.menu-V3VGODVI.js +0 -1029
  374. package/dist/block.tk.pgv-CNUGIK5J.js +0 -944
  375. package/dist/brainImaging-4PF74IEK.js +0 -423
  376. package/dist/brainRegions-U5K3KEQF.js +0 -221
  377. package/dist/bubbleHeatmap-6NL4PUFY.js +0 -383
  378. package/dist/chunk-2FTXOPE2.js +0 -368
  379. package/dist/chunk-2MCUT32T.js +0 -254
  380. package/dist/chunk-2SZ2VLOG.js +0 -1102
  381. package/dist/chunk-2XBWB6P2.js +0 -37
  382. package/dist/chunk-34VSTY2U.js +0 -234
  383. package/dist/chunk-34VSTY2U.js.map +0 -7
  384. package/dist/chunk-3DS4HIEH.js +0 -1230
  385. package/dist/chunk-42FSM477.js +0 -272
  386. package/dist/chunk-44VQIATQ.js +0 -6364
  387. package/dist/chunk-5B5FZPZI.js +0 -148
  388. package/dist/chunk-5DSLFEAN.js +0 -276
  389. package/dist/chunk-5DSQOV7M.js +0 -50
  390. package/dist/chunk-7CZI6SE7.js +0 -222
  391. package/dist/chunk-7NABQ2JU.js +0 -54
  392. package/dist/chunk-7VMFUE64.js +0 -117
  393. package/dist/chunk-7WBS7ZUI.js +0 -54
  394. package/dist/chunk-7XSDY2FN.js +0 -1220
  395. package/dist/chunk-AK5Z4PLV.js +0 -230
  396. package/dist/chunk-B3XMNPZY.js +0 -448
  397. package/dist/chunk-B4VBTVVQ.js +0 -815
  398. package/dist/chunk-CHUE5Y7Y.js +0 -194
  399. package/dist/chunk-CNBLRB4P.js +0 -170
  400. package/dist/chunk-CPMOBFFR.js +0 -190
  401. package/dist/chunk-CPMOBFFR.js.map +0 -7
  402. package/dist/chunk-D3TU3RDU.js +0 -299
  403. package/dist/chunk-DJQTUDJM.js +0 -414
  404. package/dist/chunk-DJQTUDJM.js.map +0 -7
  405. package/dist/chunk-E2KY2IZS.js +0 -446
  406. package/dist/chunk-FBMDK2UA.js +0 -514
  407. package/dist/chunk-FSWSZZTG.js +0 -102
  408. package/dist/chunk-GPGCGFFS.js +0 -399
  409. package/dist/chunk-H5DR6OYM.js +0 -217
  410. package/dist/chunk-HVZQYGQN.js +0 -98
  411. package/dist/chunk-HYIDLSEL.js +0 -833
  412. package/dist/chunk-IDX6WU4U.js +0 -14
  413. package/dist/chunk-IPGYIEPM.js +0 -263
  414. package/dist/chunk-IQTEW3SK.js +0 -119
  415. package/dist/chunk-J7W2DGAL.js +0 -226
  416. package/dist/chunk-JVVOJREJ.js +0 -55
  417. package/dist/chunk-KIGAMN3Z.js +0 -216
  418. package/dist/chunk-LRPQBMQE.js +0 -2786
  419. package/dist/chunk-LYULXXGR.js +0 -20896
  420. package/dist/chunk-LYULXXGR.js.map +0 -7
  421. package/dist/chunk-M7JGRSFA.js +0 -5067
  422. package/dist/chunk-MAACMLMN.js +0 -142
  423. package/dist/chunk-MNPTPENH.js +0 -1825
  424. package/dist/chunk-MU3ZC4RW.js +0 -102
  425. package/dist/chunk-N6ALTSJ2.js +0 -176
  426. package/dist/chunk-N7326KA3.js +0 -1943
  427. package/dist/chunk-O64WQLAV.js +0 -2327
  428. package/dist/chunk-OEOYTMMY.js +0 -203
  429. package/dist/chunk-P3QPMVML.js +0 -736
  430. package/dist/chunk-P3QPMVML.js.map +0 -7
  431. package/dist/chunk-PJM6MUTT.js +0 -1289
  432. package/dist/chunk-PJM6MUTT.js.map +0 -7
  433. package/dist/chunk-QPAZPA3N.js +0 -4269
  434. package/dist/chunk-QPAZPA3N.js.map +0 -7
  435. package/dist/chunk-RG222M4S.js +0 -272
  436. package/dist/chunk-S46UPZFM.js +0 -158
  437. package/dist/chunk-S4L4JCMA.js +0 -102
  438. package/dist/chunk-UAALI7MC.js +0 -315
  439. package/dist/chunk-UAALI7MC.js.map +0 -7
  440. package/dist/chunk-UDTNSJY2.js +0 -34
  441. package/dist/chunk-UFLSI6EW.js +0 -2681
  442. package/dist/chunk-UKABZJQ7.js +0 -480
  443. package/dist/chunk-UPNKFGTN.js +0 -100
  444. package/dist/chunk-UZKHBBWY.js +0 -617
  445. package/dist/chunk-VG6GVF6D.js +0 -302
  446. package/dist/chunk-VO4FCZOR.js +0 -448
  447. package/dist/chunk-VZBMCJBR.js +0 -534
  448. package/dist/chunk-WR4UATTO.js +0 -182
  449. package/dist/chunk-WR4UATTO.js.map +0 -7
  450. package/dist/chunk-XNYATA6C.js +0 -2833
  451. package/dist/chunk-Y5FH3TEH.js +0 -129
  452. package/dist/chunk-YIFCXFWE.js +0 -343
  453. package/dist/chunk-YRXB3MKU.js +0 -477
  454. package/dist/chunk-Z7UVDJKK.js +0 -1275
  455. package/dist/chunk-ZDEMAKRA.js +0 -386
  456. package/dist/chunk-ZTJLENGZ.js +0 -292
  457. package/dist/condition-6UUQ3AAI.js +0 -332
  458. package/dist/controls-N2NIGPHY.js +0 -41
  459. package/dist/controls.config-YYIMJHWN.js +0 -39
  460. package/dist/correlation-DYUMFMTU.js +0 -102
  461. package/dist/cuminc-EUXCL53V.js +0 -1149
  462. package/dist/cuminc.integration.spec-ZQFMIBF6.js +0 -678
  463. package/dist/customdata.inputui-U2VXVWJ3.js +0 -289
  464. package/dist/dataDownload-QK2VYWYW.js +0 -330
  465. package/dist/dataDownload.integration.spec-NG4ZASWC.js +0 -193
  466. package/dist/databrowser.ui-ALW4LSLA.js +0 -433
  467. package/dist/dictionary-F7BPXOBO.js +0 -118
  468. package/dist/dnaMethylation-XNRJIBAH.js +0 -38
  469. package/dist/dnaMethylation.integration.spec-F5ODQTVL.js +0 -203
  470. package/dist/dofetch-IYEI7WSH.js +0 -51
  471. package/dist/e2pca-BHB7UMS5.js +0 -350
  472. package/dist/ep-QRFUVFSK.js +0 -1256
  473. package/dist/expclust.gdc.spec-LMH7QAU4.js +0 -307
  474. package/dist/facet-34HXG7MO.js +0 -521
  475. package/dist/forms2-ZQUPKXE5.js +0 -539
  476. package/dist/gb-HWZ5KZXX.js +0 -88
  477. package/dist/geneExpClustering-KFMP553E.js +0 -249
  478. package/dist/geneExpression-E2GIRM6Z.js +0 -313
  479. package/dist/geneExpression-QODFRNS4.js +0 -38
  480. package/dist/geneExpression.unit.spec-HV44ABGV.js +0 -102
  481. package/dist/geneORA-MJ6MFW2K.js +0 -278
  482. package/dist/geneRanking-ODKGLJX2.js +0 -553
  483. package/dist/geneVariant-QT6E7YZN.js +0 -39
  484. package/dist/geneVariant-UYQ4XIOQ.js +0 -41
  485. package/dist/geneVariant.integration.spec-HQ5GJ7UM.js +0 -198
  486. package/dist/genefusion.ui-5KYGD7JL.js +0 -309
  487. package/dist/geneset-M6T24ZYZ.js +0 -208
  488. package/dist/genomeBrowser.spec-CVH4S5KZ.js +0 -281
  489. package/dist/grin2-GI2WNWJO.js +0 -968
  490. package/dist/grin2-GI2WNWJO.js.map +0 -7
  491. package/dist/grin2-QU2UCKKE.js +0 -75
  492. package/dist/gsea-EGWJAATJ.js +0 -47
  493. package/dist/hierCluster-4OJ7BHAB.js +0 -59
  494. package/dist/hierCluster-P4HGGVK7.js +0 -63
  495. package/dist/hierCluster.config-5DGS5EH4.js +0 -40
  496. package/dist/hierCluster.integration.spec-OL4FLSBS.js +0 -488
  497. package/dist/hierCluster.interactivity-VEHJHBKY.js +0 -54
  498. package/dist/hierCluster.renderers-OEVSBUBK.js +0 -21
  499. package/dist/imagePlot-MMJYC4DX.js +0 -163
  500. package/dist/importPlot-4HJ6VR4P.js +0 -8
  501. package/dist/isoformExpression-EISYQF2S.js +0 -40
  502. package/dist/isoformExpression.unit.spec-YKBWVL7C.js +0 -208
  503. package/dist/launch.adhoc-U3KOGDIC.js +0 -42
  504. package/dist/leftlabel.sample-LVF5WLMZ.js +0 -264
  505. package/dist/lollipop-HX2WLD5J.js +0 -171
  506. package/dist/maf-MBX3S3LS.js +0 -459
  507. package/dist/maftimeline-VN6SYUPQ.js +0 -593
  508. package/dist/matrix-6UASVMIW.js +0 -58
  509. package/dist/matrix-FYYLVW7O.js +0 -63
  510. package/dist/matrix.cells-3RUGV7XG.js +0 -28
  511. package/dist/matrix.config-ELBFN3JN.js +0 -41
  512. package/dist/matrix.data-MHFF47ZY.js +0 -25
  513. package/dist/matrix.groups-UJRFFG5J.js +0 -27
  514. package/dist/matrix.integration.spec-5DUNUOQ3.js +0 -3072
  515. package/dist/matrix.interactivity-2TZ3ON4H.js +0 -42
  516. package/dist/matrix.layout-IGUBUCB2.js +0 -44
  517. package/dist/matrix.legend-UBQF6LMD.js +0 -22
  518. package/dist/matrix.renderers-ON2EXXIS.js +0 -38
  519. package/dist/matrix.serieses-5XH7NO23.js +0 -21
  520. package/dist/matrix.sort-QSWTVRJT.js +0 -27
  521. package/dist/matrix.sort.unit.spec-7Y6D456I.js +0 -472
  522. package/dist/matrix.sorterUi.unit.spec-3XNGEZZ2.js +0 -342
  523. package/dist/mavb-J4AUXBHZ.js +0 -732
  524. package/dist/mds.fimo-I6OALZRX.js +0 -518
  525. package/dist/mds.samplescatterplot-XSWR37S5.js +0 -1550
  526. package/dist/mds.survivalplot-Q3TE4A5P.js +0 -483
  527. package/dist/numericDictTermCluster-N3GM6YVP.js +0 -65
  528. package/dist/oncomatrix-C4RDUA2C.js +0 -295
  529. package/dist/oncomatrix.spec-QVD3XUTH.js +0 -448
  530. package/dist/plot.2dvaf-MNONDWFA.js +0 -377
  531. package/dist/plot.app-3T275PW5.js +0 -41
  532. package/dist/plot.barplot-LOLIPHXG.js +0 -102
  533. package/dist/plot.boxplot-I6CAYXPV.js +0 -152
  534. package/dist/plot.brainImaging-Y76KB6IC.js +0 -51
  535. package/dist/plot.disco-N5ISUUNQ.js +0 -102
  536. package/dist/plot.dzi-Q6K542P6.js +0 -33
  537. package/dist/plot.ssgq-OGLNOY4Q.js +0 -139
  538. package/dist/plot.vaf2cov-NXQ5D3KA.js +0 -259
  539. package/dist/plot.wsi-YMDUOZ57.js +0 -36
  540. package/dist/polar2-AQ2W3SNH.js +0 -231
  541. package/dist/profileForms-TCPZPI22.js +0 -446
  542. package/dist/profilePlot-4RKKICKC.js +0 -54
  543. package/dist/proteinView-5VJ6E2XT.js +0 -1568
  544. package/dist/qualitative-NCFIVW6S.js +0 -43
  545. package/dist/radar2-UJFFZE7T.js +0 -326
  546. package/dist/radarFacility2-ATQBCF3N.js +0 -334
  547. package/dist/regression-4RSS7447.js +0 -56
  548. package/dist/regression.inputs-5XGUGNWV.js +0 -48
  549. package/dist/regression.inputs.term-LSJAZWE4.js +0 -48
  550. package/dist/regression.inputs.values.table-GNIJZETG.js +0 -45
  551. package/dist/regression.integration.spec-MV652K47.js +0 -784
  552. package/dist/regression.results-M3YH6ZD3.js +0 -40
  553. package/dist/regression.spec-455WPZHP.js +0 -708
  554. package/dist/report-MH3V7SHZ.js +0 -222
  555. package/dist/sampleScatter.spec-OTIL3JDG.js +0 -202
  556. package/dist/sampleView-DHACOCEG.js +0 -48
  557. package/dist/samplelst-F3AXOE2D.js +0 -111
  558. package/dist/samplematrix-M6CKKVNE.js +0 -2198
  559. package/dist/sc-S5XA37JJ.js +0 -86
  560. package/dist/scatter-IRPFNDHW.js +0 -851
  561. package/dist/scatter-IRPFNDHW.js.map +0 -7
  562. package/dist/scatter.integration.spec-5FWVHMVJ.js +0 -1206
  563. package/dist/scatter.integration.spec-5FWVHMVJ.js.map +0 -7
  564. package/dist/selectGenomeWithTklst-NIOUX6MV.js +0 -134
  565. package/dist/singleCellCellType-FTGLNH2J.js +0 -38
  566. package/dist/singleCellCellType.unit.spec-BJ5YZAXF.js +0 -160
  567. package/dist/singleCellGeneExpression-56EDDG5H.js +0 -38
  568. package/dist/singleCellGeneExpression.unit.spec-XSQRWAI3.js +0 -153
  569. package/dist/singleCellPlot-TH77EJZ4.js +0 -54
  570. package/dist/singlecell-3QZQZM32.js +0 -86
  571. package/dist/singlecell-7KJMBASC.js +0 -1572
  572. package/dist/snp-YXG5O4U4.js +0 -38
  573. package/dist/snp.unit.spec-O27J7OOK.js +0 -176
  574. package/dist/snplocus-CQZSC7P6.js +0 -208
  575. package/dist/spliceevent.a53ss.diagram-K5ZDPZE6.js +0 -151
  576. package/dist/spliceevent.exonskip.diagram-A2VZ3TTF.js +0 -277
  577. package/dist/spliceevent.noeventdiagram-DJDA6ENK.js +0 -460
  578. package/dist/ssGSEA-3FTGRUTC.js +0 -38
  579. package/dist/ssGSEA.unit.spec-GF35KBTX.js +0 -88
  580. package/dist/summarizeCnvGeneexp-6IDTNOYE.js +0 -163
  581. package/dist/summarizeGeneexpSurvival-OWLUX2HO.js +0 -114
  582. package/dist/summarizeMutationCnv-BMEN3XNV.js +0 -164
  583. package/dist/summarizeMutationDiagnosis-LW6K6373.js +0 -40
  584. package/dist/summarizeMutationSurvival-E7REF2VY.js +0 -99
  585. package/dist/summary-MKA7OJKE.js +0 -49
  586. package/dist/summary.integration.spec-IV6I6SNJ.js +0 -414
  587. package/dist/summaryInput-NET6SPM4.js +0 -235
  588. package/dist/sunburst-CO3MXFTJ.js +0 -284
  589. package/dist/survival-MIPCEBS3.js +0 -46
  590. package/dist/survival-QQXTCNDU.js +0 -58
  591. package/dist/survival.integration.spec-6FH4S3EH.js +0 -915
  592. package/dist/svgraph-YF7BS7TN.js +0 -1387
  593. package/dist/svmr-J2JLQGEE.js +0 -3842
  594. package/dist/table-7YL7I4GH.js +0 -200
  595. package/dist/termCollection-LNEN72IV.js +0 -38
  596. package/dist/termCollection-SOLNYAZ4.js +0 -179
  597. package/dist/termCollection.unit.spec-LTX7UVYP.js +0 -208
  598. package/dist/tk-RZDP2YT5.js +0 -46
  599. package/dist/tp.ui-T6XXBHHD.js +0 -1459
  600. package/dist/tvs.dt-7APM37Y3.js +0 -39
  601. package/dist/tvs.dtcnv.categorical-YIPXQSIL.js +0 -40
  602. package/dist/tvs.dtcnv.continuous-ITNZE3SH.js +0 -72
  603. package/dist/tvs.dtfusion-2JIIPDTN.js +0 -40
  604. package/dist/tvs.dtsnvindel-HO2PUFN2.js +0 -40
  605. package/dist/tvs.dtsv-7KCWSUYO.js +0 -40
  606. package/dist/tvs.samplelst-KKWJQNLW.js +0 -104
  607. package/dist/tvs.termCollection-R2IGRG2U.js +0 -159
  608. package/dist/violin-OTPZQTGA.js +0 -46
  609. package/dist/violin.integration.spec-KESWDSBM.js +0 -1425
  610. package/dist/violin.interactivity-Q2WALZO3.js +0 -38
  611. package/dist/violin.renderer-WIRIV7QY.js +0 -40
  612. package/dist/vocabulary-XXDHHHPJ.js +0 -41
  613. /package/dist/{2dmaf-GTD3AXGT.js.map → 2dmaf-SKNV7IHT.js.map} +0 -0
  614. /package/dist/{AIProjectAdmin-ALMSVHFX.js.map → AIProjectAdmin-AOTVRBNH.js.map} +0 -0
  615. /package/dist/{AppHeader-RK2YRITI.js.map → AppHeader-M2ZSS3M3.js.map} +0 -0
  616. /package/dist/{CorrelationVolcano-PJB3QCXB.js.map → CorrelationVolcano-YCQ5S6MT.js.map} +0 -0
  617. /package/dist/{DE-MEWV5RTV.js.map → DE-RBMOQZCR.js.map} +0 -0
  618. /package/dist/{DEinput-I62VHD2U.js.map → DEinput-PTW6RS6U.js.map} +0 -0
  619. /package/dist/{DifferentialAnalysis-7L3CDPVB.js.map → DifferentialAnalysis-M6IDWPYX.js.map} +0 -0
  620. /package/dist/{Disco-FCS7B5DO.js.map → Disco-GUKDAHUY.js.map} +0 -0
  621. /package/dist/{Disco.UI-BFJ5XFAT.js.map → Disco.UI-YBIMV7RH.js.map} +0 -0
  622. /package/dist/{DmrPlot-362PCE7L.js.map → DmrPlot-JQPLLU6P.js.map} +0 -0
  623. /package/dist/{GB-SX4JENAW.js.map → GB-UOTFNVJE.js.map} +0 -0
  624. /package/dist/{GeneExpInput-EHWHQTRV.js.map → GeneExpInput-3OPDDCXR.js.map} +0 -0
  625. /package/dist/{HicApp-UE4DCUKX.js.map → HicApp-VFOWRP6G.js.map} +0 -0
  626. /package/dist/{IDCViewer-EDF5XJ63.js.map → IDCViewer-Y7EOIIBG.js.map} +0 -0
  627. /package/dist/{NumBinaryEditor-3TAAJNYY.js.map → NumBinaryEditor-RL44SO3T.js.map} +0 -0
  628. /package/dist/{NumBinaryEditor.unit.spec-6776472M.js.map → NumBinaryEditor.unit.spec-P73PGAX5.js.map} +0 -0
  629. /package/dist/{NumContEditor-WLFXTY4M.js.map → NumContEditor-MIC7M73G.js.map} +0 -0
  630. /package/dist/{NumContEditor.unit.spec-KG5SCOIQ.js.map → NumContEditor.unit.spec-5XZH7OCG.js.map} +0 -0
  631. /package/dist/{NumCustomBinEditor-EKKNCLKI.js.map → NumCustomBinEditor-W357XTIR.js.map} +0 -0
  632. /package/dist/{NumCustomBinEditor.unit.spec-LSLSKQDW.js.map → NumCustomBinEditor.unit.spec-CJMK4CYW.js.map} +0 -0
  633. /package/dist/{NumDiscreteEditor-X2MLECNT.js.map → NumDiscreteEditor-PRSUMS3I.js.map} +0 -0
  634. /package/dist/{NumDiscreteEditor.unit.spec-BZG7P4C7.js.map → NumDiscreteEditor.unit.spec-A6R56P3Z.js.map} +0 -0
  635. /package/dist/{NumRegularBinEditor-CAGJ4ZWD.js.map → NumRegularBinEditor-7OHUEUCC.js.map} +0 -0
  636. /package/dist/{NumRegularBinEditor.unit.spec-GJSJC4DK.js.map → NumRegularBinEditor.unit.spec-NOAX42UZ.js.map} +0 -0
  637. /package/dist/{NumSplineEditor-ND3RC7R6.js.map → NumSplineEditor-XI7AT5LM.js.map} +0 -0
  638. /package/dist/{NumSplineEditor.unit.spec-F67JQKPY.js.map → NumSplineEditor.unit.spec-ZH4M2N2C.js.map} +0 -0
  639. /package/dist/{NumericDensity-VW7NIZU7.js.map → NumericDensity-X6IHQAW3.js.map} +0 -0
  640. /package/dist/{NumericDensity.unit.spec-YHIMU23C.js.map → NumericDensity.unit.spec-EKVD4AUG.js.map} +0 -0
  641. /package/dist/{NumericHandler-HCU6B2XV.js.map → NumericHandler-5ONBWFJ5.js.map} +0 -0
  642. /package/dist/{NumericHandler.unit.spec-6GVWAUED.js.map → NumericHandler.unit.spec-SHI6E4VA.js.map} +0 -0
  643. /package/dist/{ProteomeInput-SONQSTVD.js.map → ProteomeInput-HN46MIBP.js.map} +0 -0
  644. /package/dist/{RunChart2-ZLBNG4JF.js.map → RunChart2-Y6IY6MW2.js.map} +0 -0
  645. /package/dist/{WSIViewer-2P7ANPBV.js.map → WSIViewer-RLLL7MAL.js.map} +0 -0
  646. /package/dist/{WsiSamplesPlot-FM4B657P.js.map → WsiSamplesPlot-FU3TCOTY.js.map} +0 -0
  647. /package/dist/{adSandbox-M6TBRE5W.js.map → adSandbox-ZINST5DE.js.map} +0 -0
  648. /package/dist/{animatedBubbleChart-VYSSX52K.js.map → animatedBubbleChart-PIQWCVBJ.js.map} +0 -0
  649. /package/dist/{app-BLJT7ZDG.js.map → app-N42SVGI2.js.map} +0 -0
  650. /package/dist/{app-LSFSUJHF.js.map → app-RWN4XLCP.js.map} +0 -0
  651. /package/dist/{bam-ZMHBTBB4.js.map → bam-QTSTXJ4N.js.map} +0 -0
  652. /package/dist/{barchart-EF75MNTN.js.map → barchart-27BYTRVI.js.map} +0 -0
  653. /package/dist/{barchart.data-VWZB3R2Z.js.map → barchart.data-OUNVH4JU.js.map} +0 -0
  654. /package/dist/{barchart.events-AMYQOMBQ.js.map → barchart.events-PY4CEDSO.js.map} +0 -0
  655. /package/dist/{barchart.integration.spec-TCTQ5PKN.js.map → barchart.integration.spec-H4WGHQ7R.js.map} +0 -0
  656. /package/dist/{barchart2-LOHN6NSE.js.map → barchart2-TIOTRAC2.js.map} +0 -0
  657. /package/dist/{block-23BH5TZ3.js.map → block-YPM767A4.js.map} +0 -0
  658. /package/dist/{block.init-3BF6L23D.js.map → block.init-LRZ3QAGC.js.map} +0 -0
  659. /package/dist/{block.mds.expressionrank-DSHATA2M.js.map → block.mds.expressionrank-IV7JLC52.js.map} +0 -0
  660. /package/dist/{block.mds.geneboxplot-RXQUOE3Y.js.map → block.mds.geneboxplot-IBCE5XZU.js.map} +0 -0
  661. /package/dist/{block.mds.junction-PN776TCD.js.map → block.mds.junction-ISSCJHNF.js.map} +0 -0
  662. /package/dist/{block.mds.svcnv-SOWUBH4K.js.map → block.mds.svcnv-ZEBVBTL7.js.map} +0 -0
  663. /package/dist/{block.svg-ZPYMFAGC.js.map → block.svg-FYWA5VYH.js.map} +0 -0
  664. /package/dist/{block.tk.aicheck-E22ZJJFP.js.map → block.tk.aicheck-AD6DTKXR.js.map} +0 -0
  665. /package/dist/{block.tk.ase-S54Z5A4G.js.map → block.tk.ase-LO2J4KRE.js.map} +0 -0
  666. /package/dist/{block.tk.bam-YOELFYXU.js.map → block.tk.bam-XGX22FCN.js.map} +0 -0
  667. /package/dist/{block.tk.bedgraphdot-VFUWXPSL.js.map → block.tk.bedgraphdot-SUIRFNFL.js.map} +0 -0
  668. /package/dist/{block.tk.bigwig.ui-2SJYUPR3.js.map → block.tk.bigwig.ui-2Q7FAK3V.js.map} +0 -0
  669. /package/dist/{block.tk.hicstraw-GZVE4HQG.js.map → block.tk.hicstraw-4MVP2PCL.js.map} +0 -0
  670. /package/dist/{block.tk.junction-RRFX4CAT.js.map → block.tk.junction-F54FTEPB.js.map} +0 -0
  671. /package/dist/{block.tk.junction.textmatrixui-A726SAAL.js.map → block.tk.junction.textmatrixui-ETROZJVK.js.map} +0 -0
  672. /package/dist/{block.tk.ld-THUOBW72.js.map → block.tk.ld-NJEDKSTU.js.map} +0 -0
  673. /package/dist/{block.tk.menu-V3VGODVI.js.map → block.tk.menu-LZOY4FKT.js.map} +0 -0
  674. /package/dist/{block.tk.pgv-CNUGIK5J.js.map → block.tk.pgv-I3XHJ7VU.js.map} +0 -0
  675. /package/dist/{brainImaging-4PF74IEK.js.map → brainImaging-BGP6VRFV.js.map} +0 -0
  676. /package/dist/{brainRegions-U5K3KEQF.js.map → brainRegions-AAN7LM2Y.js.map} +0 -0
  677. /package/dist/{bubbleHeatmap-6NL4PUFY.js.map → bubbleHeatmap-HNEU4CYA.js.map} +0 -0
  678. /package/dist/{chunk-UPNKFGTN.js.map → chunk-2XV6U42J.js.map} +0 -0
  679. /package/dist/{chunk-M7JGRSFA.js.map → chunk-36NAWXQ7.js.map} +0 -0
  680. /package/dist/{chunk-7CZI6SE7.js.map → chunk-427UL37G.js.map} +0 -0
  681. /package/dist/{chunk-7NABQ2JU.js.map → chunk-4C3XRI6J.js.map} +0 -0
  682. /package/dist/{chunk-FBMDK2UA.js.map → chunk-4O6H4ZHL.js.map} +0 -0
  683. /package/dist/{chunk-5DSLFEAN.js.map → chunk-53JJ7SXN.js.map} +0 -0
  684. /package/dist/{chunk-H5DR6OYM.js.map → chunk-5HMX4NUJ.js.map} +0 -0
  685. /package/dist/{chunk-JVVOJREJ.js.map → chunk-5V2BMEAS.js.map} +0 -0
  686. /package/dist/{chunk-Z7UVDJKK.js.map → chunk-6MBTPVIM.js.map} +0 -0
  687. /package/dist/{chunk-3DS4HIEH.js.map → chunk-7D3WX34I.js.map} +0 -0
  688. /package/dist/{chunk-N6ALTSJ2.js.map → chunk-7FSIZZOX.js.map} +0 -0
  689. /package/dist/{chunk-IQTEW3SK.js.map → chunk-A3URBFXN.js.map} +0 -0
  690. /package/dist/{chunk-2MCUT32T.js.map → chunk-A45KH7LP.js.map} +0 -0
  691. /package/dist/{chunk-S4L4JCMA.js.map → chunk-BWQV2OBL.js.map} +0 -0
  692. /package/dist/{chunk-LRPQBMQE.js.map → chunk-BXGQXLHP.js.map} +0 -0
  693. /package/dist/{chunk-D3TU3RDU.js.map → chunk-CDJAHMAN.js.map} +0 -0
  694. /package/dist/{chunk-2XBWB6P2.js.map → chunk-CXHLROWX.js.map} +0 -0
  695. /package/dist/{chunk-FSWSZZTG.js.map → chunk-EKKQMKQI.js.map} +0 -0
  696. /package/dist/{chunk-S46UPZFM.js.map → chunk-EPWIJEMK.js.map} +0 -0
  697. /package/dist/{chunk-AK5Z4PLV.js.map → chunk-F7Y67LK7.js.map} +0 -0
  698. /package/dist/{chunk-IDX6WU4U.js.map → chunk-FDBVAL6K.js.map} +0 -0
  699. /package/dist/{chunk-ZTJLENGZ.js.map → chunk-FISP5YN2.js.map} +0 -0
  700. /package/dist/{chunk-YRXB3MKU.js.map → chunk-G3FSS7GR.js.map} +0 -0
  701. /package/dist/{chunk-HVZQYGQN.js.map → chunk-GE4NJDV4.js.map} +0 -0
  702. /package/dist/{chunk-UDTNSJY2.js.map → chunk-GYGU4UT5.js.map} +0 -0
  703. /package/dist/{chunk-5B5FZPZI.js.map → chunk-I5IPJG2R.js.map} +0 -0
  704. /package/dist/{chunk-CHUE5Y7Y.js.map → chunk-IFK24IXL.js.map} +0 -0
  705. /package/dist/{chunk-5DSQOV7M.js.map → chunk-ILE6ML2D.js.map} +0 -0
  706. /package/dist/{chunk-KIGAMN3Z.js.map → chunk-IRKP6IZ4.js.map} +0 -0
  707. /package/dist/{chunk-CNBLRB4P.js.map → chunk-J6ZOUCWN.js.map} +0 -0
  708. /package/dist/{chunk-B3XMNPZY.js.map → chunk-JNBJG57F.js.map} +0 -0
  709. /package/dist/{chunk-7VMFUE64.js.map → chunk-K5UVG3FQ.js.map} +0 -0
  710. /package/dist/{chunk-MU3ZC4RW.js.map → chunk-KE5B34CS.js.map} +0 -0
  711. /package/dist/{chunk-UFLSI6EW.js.map → chunk-L6A2BEXB.js.map} +0 -0
  712. /package/dist/{chunk-J7W2DGAL.js.map → chunk-LWEGSYDD.js.map} +0 -0
  713. /package/dist/{chunk-MNPTPENH.js.map → chunk-LYVLF6HO.js.map} +0 -0
  714. /package/dist/{chunk-UZKHBBWY.js.map → chunk-MN3KDNHC.js.map} +0 -0
  715. /package/dist/{chunk-VG6GVF6D.js.map → chunk-MTZSN3H4.js.map} +0 -0
  716. /package/dist/{chunk-VZBMCJBR.js.map → chunk-N7O7NPUO.js.map} +0 -0
  717. /package/dist/{chunk-MAACMLMN.js.map → chunk-OF5FE6GT.js.map} +0 -0
  718. /package/dist/{chunk-B4VBTVVQ.js.map → chunk-OVSKJROY.js.map} +0 -0
  719. /package/dist/{chunk-UKABZJQ7.js.map → chunk-PJ3FCJBZ.js.map} +0 -0
  720. /package/dist/{chunk-O64WQLAV.js.map → chunk-PU2Q4SZR.js.map} +0 -0
  721. /package/dist/{chunk-YIFCXFWE.js.map → chunk-PZPS56Z6.js.map} +0 -0
  722. /package/dist/{chunk-HYIDLSEL.js.map → chunk-QKR3ZD3S.js.map} +0 -0
  723. /package/dist/{chunk-OEOYTMMY.js.map → chunk-QMXCK4Y5.js.map} +0 -0
  724. /package/dist/{chunk-VO4FCZOR.js.map → chunk-ROJ3LJLE.js.map} +0 -0
  725. /package/dist/{chunk-N7326KA3.js.map → chunk-SLHWUFAW.js.map} +0 -0
  726. /package/dist/{chunk-7WBS7ZUI.js.map → chunk-U3G4JGKJ.js.map} +0 -0
  727. /package/dist/{chunk-E2KY2IZS.js.map → chunk-VDZ5QOF6.js.map} +0 -0
  728. /package/dist/{chunk-Y5FH3TEH.js.map → chunk-VO5XZ2EG.js.map} +0 -0
  729. /package/dist/{chunk-IPGYIEPM.js.map → chunk-VRH7NP6R.js.map} +0 -0
  730. /package/dist/{chunk-42FSM477.js.map → chunk-VTMJGRT5.js.map} +0 -0
  731. /package/dist/{chunk-GPGCGFFS.js.map → chunk-W5X6C7LY.js.map} +0 -0
  732. /package/dist/{chunk-RG222M4S.js.map → chunk-WJGUNGFK.js.map} +0 -0
  733. /package/dist/{chunk-2FTXOPE2.js.map → chunk-WKT46ZJ6.js.map} +0 -0
  734. /package/dist/{chunk-XNYATA6C.js.map → chunk-WQCQWUUP.js.map} +0 -0
  735. /package/dist/{chunk-44VQIATQ.js.map → chunk-WZ2U5QXJ.js.map} +0 -0
  736. /package/dist/{chunk-2SZ2VLOG.js.map → chunk-WZUWK5Q6.js.map} +0 -0
  737. /package/dist/{chunk-7XSDY2FN.js.map → chunk-XPMTUVSS.js.map} +0 -0
  738. /package/dist/{chunk-ZDEMAKRA.js.map → chunk-YYFQPGIE.js.map} +0 -0
  739. /package/dist/{condition-6UUQ3AAI.js.map → condition-GVIEMQG7.js.map} +0 -0
  740. /package/dist/{controls-N2NIGPHY.js.map → controls-73K3XBDR.js.map} +0 -0
  741. /package/dist/{controls.config-YYIMJHWN.js.map → controls.config-FQKY2LRE.js.map} +0 -0
  742. /package/dist/{correlation-DYUMFMTU.js.map → correlation-AOAXIUFJ.js.map} +0 -0
  743. /package/dist/{cuminc-EUXCL53V.js.map → cuminc-OD2PPCEK.js.map} +0 -0
  744. /package/dist/{cuminc.integration.spec-ZQFMIBF6.js.map → cuminc.integration.spec-TMIFW7EO.js.map} +0 -0
  745. /package/dist/{customdata.inputui-U2VXVWJ3.js.map → customdata.inputui-SWLGLATL.js.map} +0 -0
  746. /package/dist/{dataDownload-QK2VYWYW.js.map → dataDownload-456HL2OE.js.map} +0 -0
  747. /package/dist/{dataDownload.integration.spec-NG4ZASWC.js.map → dataDownload.integration.spec-5YS4MWK5.js.map} +0 -0
  748. /package/dist/{databrowser.ui-ALW4LSLA.js.map → databrowser.ui-7APC5MNM.js.map} +0 -0
  749. /package/dist/{dictionary-F7BPXOBO.js.map → dictionary-A3HA5MVK.js.map} +0 -0
  750. /package/dist/{dnaMethylation-XNRJIBAH.js.map → dnaMethylation-6ONBKARD.js.map} +0 -0
  751. /package/dist/{dnaMethylation.integration.spec-F5ODQTVL.js.map → dnaMethylation.integration.spec-T3WEGVX3.js.map} +0 -0
  752. /package/dist/{dofetch-IYEI7WSH.js.map → dofetch-RVPQUMVX.js.map} +0 -0
  753. /package/dist/{e2pca-BHB7UMS5.js.map → e2pca-75WZ46XG.js.map} +0 -0
  754. /package/dist/{ep-QRFUVFSK.js.map → ep-QG5CWPTW.js.map} +0 -0
  755. /package/dist/{expclust.gdc.spec-LMH7QAU4.js.map → expclust.gdc.spec-KBBQJR4M.js.map} +0 -0
  756. /package/dist/{facet-34HXG7MO.js.map → facet-QGB2Q7YV.js.map} +0 -0
  757. /package/dist/{forms2-ZQUPKXE5.js.map → forms2-CJGDCWYH.js.map} +0 -0
  758. /package/dist/{gb-HWZ5KZXX.js.map → gb-NEFAHKQI.js.map} +0 -0
  759. /package/dist/{geneExpClustering-KFMP553E.js.map → geneExpClustering-ZVR44UZC.js.map} +0 -0
  760. /package/dist/{geneExpression-E2GIRM6Z.js.map → geneExpression-25EX4DFK.js.map} +0 -0
  761. /package/dist/{geneExpression-QODFRNS4.js.map → geneExpression-FALOA4GC.js.map} +0 -0
  762. /package/dist/{geneExpression.unit.spec-HV44ABGV.js.map → geneExpression.unit.spec-BQLELQUS.js.map} +0 -0
  763. /package/dist/{geneORA-MJ6MFW2K.js.map → geneORA-K2B7JYWD.js.map} +0 -0
  764. /package/dist/{geneRanking-ODKGLJX2.js.map → geneRanking-6AXL5ZJS.js.map} +0 -0
  765. /package/dist/{geneVariant-QT6E7YZN.js.map → geneVariant-RZFDP5J5.js.map} +0 -0
  766. /package/dist/{geneVariant-UYQ4XIOQ.js.map → geneVariant-UIBZ5UIQ.js.map} +0 -0
  767. /package/dist/{geneVariant.integration.spec-HQ5GJ7UM.js.map → geneVariant.integration.spec-4EZQMPQB.js.map} +0 -0
  768. /package/dist/{genefusion.ui-5KYGD7JL.js.map → genefusion.ui-YK4TNS2P.js.map} +0 -0
  769. /package/dist/{geneset-M6T24ZYZ.js.map → geneset-47J4D5ID.js.map} +0 -0
  770. /package/dist/{genomeBrowser.spec-CVH4S5KZ.js.map → genomeBrowser.spec-LFFWRIWG.js.map} +0 -0
  771. /package/dist/{grin2-QU2UCKKE.js.map → grin2-DQB2WW3C.js.map} +0 -0
  772. /package/dist/{gsea-EGWJAATJ.js.map → gsea-KKLAMLMG.js.map} +0 -0
  773. /package/dist/{hierCluster-4OJ7BHAB.js.map → hierCluster-3MZEJG6B.js.map} +0 -0
  774. /package/dist/{hierCluster-P4HGGVK7.js.map → hierCluster-YGBC4XCZ.js.map} +0 -0
  775. /package/dist/{hierCluster.config-5DGS5EH4.js.map → hierCluster.config-A4N54K3A.js.map} +0 -0
  776. /package/dist/{hierCluster.integration.spec-OL4FLSBS.js.map → hierCluster.integration.spec-GLKXFZDM.js.map} +0 -0
  777. /package/dist/{hierCluster.interactivity-VEHJHBKY.js.map → hierCluster.interactivity-4TPWGIVC.js.map} +0 -0
  778. /package/dist/{hierCluster.renderers-OEVSBUBK.js.map → hierCluster.renderers-WUWSXXHU.js.map} +0 -0
  779. /package/dist/{imagePlot-MMJYC4DX.js.map → imagePlot-JRPYOV3Q.js.map} +0 -0
  780. /package/dist/{importPlot-4HJ6VR4P.js.map → importPlot-A3PFUP6K.js.map} +0 -0
  781. /package/dist/{isoformExpression-EISYQF2S.js.map → isoformExpression-5L4O3WKL.js.map} +0 -0
  782. /package/dist/{isoformExpression.unit.spec-YKBWVL7C.js.map → isoformExpression.unit.spec-SLB6XIX4.js.map} +0 -0
  783. /package/dist/{launch.adhoc-U3KOGDIC.js.map → launch.adhoc-QI7TPYSC.js.map} +0 -0
  784. /package/dist/{leftlabel.sample-LVF5WLMZ.js.map → leftlabel.sample-OSIRTJFW.js.map} +0 -0
  785. /package/dist/{lollipop-HX2WLD5J.js.map → lollipop-LAELXNQY.js.map} +0 -0
  786. /package/dist/{maf-MBX3S3LS.js.map → maf-HZAYVZFO.js.map} +0 -0
  787. /package/dist/{maftimeline-VN6SYUPQ.js.map → maftimeline-BLBNUGAL.js.map} +0 -0
  788. /package/dist/{matrix-6UASVMIW.js.map → matrix-LVJSHXDM.js.map} +0 -0
  789. /package/dist/{matrix-FYYLVW7O.js.map → matrix-S5QQV4JU.js.map} +0 -0
  790. /package/dist/{matrix.cells-3RUGV7XG.js.map → matrix.cells-JUTRYPG4.js.map} +0 -0
  791. /package/dist/{matrix.config-ELBFN3JN.js.map → matrix.config-ZTWWYNIZ.js.map} +0 -0
  792. /package/dist/{matrix.data-MHFF47ZY.js.map → matrix.data-BREYB54F.js.map} +0 -0
  793. /package/dist/{matrix.groups-UJRFFG5J.js.map → matrix.groups-WMHTLOXC.js.map} +0 -0
  794. /package/dist/{matrix.integration.spec-5DUNUOQ3.js.map → matrix.integration.spec-S6FIEE2X.js.map} +0 -0
  795. /package/dist/{matrix.interactivity-2TZ3ON4H.js.map → matrix.interactivity-TMBVAM5M.js.map} +0 -0
  796. /package/dist/{matrix.layout-IGUBUCB2.js.map → matrix.layout-POK5NOUV.js.map} +0 -0
  797. /package/dist/{matrix.legend-UBQF6LMD.js.map → matrix.legend-6XVQ67AC.js.map} +0 -0
  798. /package/dist/{matrix.renderers-ON2EXXIS.js.map → matrix.renderers-G5FQZZ73.js.map} +0 -0
  799. /package/dist/{matrix.serieses-5XH7NO23.js.map → matrix.serieses-XNLQSQS6.js.map} +0 -0
  800. /package/dist/{matrix.sort-QSWTVRJT.js.map → matrix.sort-XNES23OQ.js.map} +0 -0
  801. /package/dist/{matrix.sort.unit.spec-7Y6D456I.js.map → matrix.sort.unit.spec-65BDBQUV.js.map} +0 -0
  802. /package/dist/{matrix.sorterUi.unit.spec-3XNGEZZ2.js.map → matrix.sorterUi.unit.spec-GZQBW7F7.js.map} +0 -0
  803. /package/dist/{mavb-J4AUXBHZ.js.map → mavb-T2UCRWWM.js.map} +0 -0
  804. /package/dist/{mds.fimo-I6OALZRX.js.map → mds.fimo-65UUK7ER.js.map} +0 -0
  805. /package/dist/{mds.samplescatterplot-XSWR37S5.js.map → mds.samplescatterplot-4NHGQBJF.js.map} +0 -0
  806. /package/dist/{mds.survivalplot-Q3TE4A5P.js.map → mds.survivalplot-WVAHDM3Z.js.map} +0 -0
  807. /package/dist/{numericDictTermCluster-N3GM6YVP.js.map → numericDictTermCluster-CXASCSQ6.js.map} +0 -0
  808. /package/dist/{oncomatrix-C4RDUA2C.js.map → oncomatrix-5WMOICWR.js.map} +0 -0
  809. /package/dist/{oncomatrix.spec-QVD3XUTH.js.map → oncomatrix.spec-POVBNFJR.js.map} +0 -0
  810. /package/dist/{plot.2dvaf-MNONDWFA.js.map → plot.2dvaf-63K5RSIU.js.map} +0 -0
  811. /package/dist/{plot.app-3T275PW5.js.map → plot.app-V5IY25QS.js.map} +0 -0
  812. /package/dist/{plot.barplot-LOLIPHXG.js.map → plot.barplot-IQTYHNFE.js.map} +0 -0
  813. /package/dist/{plot.boxplot-I6CAYXPV.js.map → plot.boxplot-2RMTO7AS.js.map} +0 -0
  814. /package/dist/{plot.brainImaging-Y76KB6IC.js.map → plot.brainImaging-DLUHAHHG.js.map} +0 -0
  815. /package/dist/{plot.disco-N5ISUUNQ.js.map → plot.disco-WK6GDLNF.js.map} +0 -0
  816. /package/dist/{plot.dzi-Q6K542P6.js.map → plot.dzi-3V3FWE7U.js.map} +0 -0
  817. /package/dist/{plot.ssgq-OGLNOY4Q.js.map → plot.ssgq-TENK2RP4.js.map} +0 -0
  818. /package/dist/{plot.vaf2cov-NXQ5D3KA.js.map → plot.vaf2cov-P2QOOZGZ.js.map} +0 -0
  819. /package/dist/{plot.wsi-YMDUOZ57.js.map → plot.wsi-BVRGJF4E.js.map} +0 -0
  820. /package/dist/{polar2-AQ2W3SNH.js.map → polar2-NNOZOQQJ.js.map} +0 -0
  821. /package/dist/{profileForms-TCPZPI22.js.map → profileForms-RS4GEZZV.js.map} +0 -0
  822. /package/dist/{profilePlot-4RKKICKC.js.map → profilePlot-3DLME3NH.js.map} +0 -0
  823. /package/dist/{proteinView-5VJ6E2XT.js.map → proteinView-NPKJAQAI.js.map} +0 -0
  824. /package/dist/{qualitative-NCFIVW6S.js.map → qualitative-S45RXXRJ.js.map} +0 -0
  825. /package/dist/{radar2-UJFFZE7T.js.map → radar2-EX7YBNMT.js.map} +0 -0
  826. /package/dist/{radarFacility2-ATQBCF3N.js.map → radarFacility2-WU5O6O77.js.map} +0 -0
  827. /package/dist/{regression-4RSS7447.js.map → regression-7MCOYJVD.js.map} +0 -0
  828. /package/dist/{regression.inputs-5XGUGNWV.js.map → regression.inputs-QHSWJ23R.js.map} +0 -0
  829. /package/dist/{regression.inputs.term-LSJAZWE4.js.map → regression.inputs.term-EJ4Z5Q5O.js.map} +0 -0
  830. /package/dist/{regression.inputs.values.table-GNIJZETG.js.map → regression.inputs.values.table-YKMAWNXN.js.map} +0 -0
  831. /package/dist/{regression.integration.spec-MV652K47.js.map → regression.integration.spec-XOX7OXXA.js.map} +0 -0
  832. /package/dist/{regression.results-M3YH6ZD3.js.map → regression.results-YKPOTPCC.js.map} +0 -0
  833. /package/dist/{regression.spec-455WPZHP.js.map → regression.spec-YIIY2AZA.js.map} +0 -0
  834. /package/dist/{report-MH3V7SHZ.js.map → report-JEJFCWUU.js.map} +0 -0
  835. /package/dist/{sampleScatter.spec-OTIL3JDG.js.map → sampleScatter.spec-LBAZBDYA.js.map} +0 -0
  836. /package/dist/{sampleView-DHACOCEG.js.map → sampleView-WKZT5ZFE.js.map} +0 -0
  837. /package/dist/{samplelst-F3AXOE2D.js.map → samplelst-HXM3H6M4.js.map} +0 -0
  838. /package/dist/{samplematrix-M6CKKVNE.js.map → samplematrix-LCGHK2EK.js.map} +0 -0
  839. /package/dist/{sc-S5XA37JJ.js.map → sc-3OE2G4BU.js.map} +0 -0
  840. /package/dist/{selectGenomeWithTklst-NIOUX6MV.js.map → selectGenomeWithTklst-WF2XZ6GH.js.map} +0 -0
  841. /package/dist/{singleCellCellType-FTGLNH2J.js.map → singleCellCellType-2SRGROMS.js.map} +0 -0
  842. /package/dist/{singleCellCellType.unit.spec-BJ5YZAXF.js.map → singleCellCellType.unit.spec-DCGHNRJI.js.map} +0 -0
  843. /package/dist/{singleCellGeneExpression-56EDDG5H.js.map → singleCellGeneExpression-RASZA4NO.js.map} +0 -0
  844. /package/dist/{singleCellGeneExpression.unit.spec-XSQRWAI3.js.map → singleCellGeneExpression.unit.spec-5MRGH2OO.js.map} +0 -0
  845. /package/dist/{singleCellPlot-TH77EJZ4.js.map → singleCellPlot-TIYA3GNM.js.map} +0 -0
  846. /package/dist/{singlecell-7KJMBASC.js.map → singlecell-CFA43TTU.js.map} +0 -0
  847. /package/dist/{singlecell-3QZQZM32.js.map → singlecell-JS5SIZHY.js.map} +0 -0
  848. /package/dist/{snp-YXG5O4U4.js.map → snp-VXZXPMKS.js.map} +0 -0
  849. /package/dist/{snp.unit.spec-O27J7OOK.js.map → snp.unit.spec-TR5TCO7X.js.map} +0 -0
  850. /package/dist/{snplocus-CQZSC7P6.js.map → snplocus-VLPH5Y65.js.map} +0 -0
  851. /package/dist/{spliceevent.a53ss.diagram-K5ZDPZE6.js.map → spliceevent.a53ss.diagram-PATK67SH.js.map} +0 -0
  852. /package/dist/{spliceevent.exonskip.diagram-A2VZ3TTF.js.map → spliceevent.exonskip.diagram-7B3SEOAJ.js.map} +0 -0
  853. /package/dist/{spliceevent.noeventdiagram-DJDA6ENK.js.map → spliceevent.noeventdiagram-4NPNZUEN.js.map} +0 -0
  854. /package/dist/{ssGSEA-3FTGRUTC.js.map → ssGSEA-XMW5BLAU.js.map} +0 -0
  855. /package/dist/{ssGSEA.unit.spec-GF35KBTX.js.map → ssGSEA.unit.spec-ASUWKVUT.js.map} +0 -0
  856. /package/dist/{summarizeCnvGeneexp-6IDTNOYE.js.map → summarizeCnvGeneexp-KWRFGX32.js.map} +0 -0
  857. /package/dist/{summarizeGeneexpSurvival-OWLUX2HO.js.map → summarizeGeneexpSurvival-FIPIMEJR.js.map} +0 -0
  858. /package/dist/{summarizeMutationCnv-BMEN3XNV.js.map → summarizeMutationCnv-IUYRVLZG.js.map} +0 -0
  859. /package/dist/{summarizeMutationDiagnosis-LW6K6373.js.map → summarizeMutationDiagnosis-ZFJPCABL.js.map} +0 -0
  860. /package/dist/{summarizeMutationSurvival-E7REF2VY.js.map → summarizeMutationSurvival-HFHYB7DT.js.map} +0 -0
  861. /package/dist/{summary-MKA7OJKE.js.map → summary-AZUNEZ5I.js.map} +0 -0
  862. /package/dist/{summary.integration.spec-IV6I6SNJ.js.map → summary.integration.spec-WLBAJL44.js.map} +0 -0
  863. /package/dist/{summaryInput-NET6SPM4.js.map → summaryInput-NJWVXDXW.js.map} +0 -0
  864. /package/dist/{sunburst-CO3MXFTJ.js.map → sunburst-PXGF4WM6.js.map} +0 -0
  865. /package/dist/{survival-QQXTCNDU.js.map → survival-RAU4XCKG.js.map} +0 -0
  866. /package/dist/{survival-MIPCEBS3.js.map → survival-ZZ4QLZHK.js.map} +0 -0
  867. /package/dist/{survival.integration.spec-6FH4S3EH.js.map → survival.integration.spec-GBQ5X362.js.map} +0 -0
  868. /package/dist/{svgraph-YF7BS7TN.js.map → svgraph-7UCFRL6A.js.map} +0 -0
  869. /package/dist/{svmr-J2JLQGEE.js.map → svmr-DB3RY2ID.js.map} +0 -0
  870. /package/dist/{table-7YL7I4GH.js.map → table-HJRWWXGM.js.map} +0 -0
  871. /package/dist/{termCollection-LNEN72IV.js.map → termCollection-AW7M6DTP.js.map} +0 -0
  872. /package/dist/{termCollection-SOLNYAZ4.js.map → termCollection-WPON7RG3.js.map} +0 -0
  873. /package/dist/{termCollection.unit.spec-LTX7UVYP.js.map → termCollection.unit.spec-254ESHOE.js.map} +0 -0
  874. /package/dist/{tk-RZDP2YT5.js.map → tk-SUAFM5YA.js.map} +0 -0
  875. /package/dist/{tp.ui-T6XXBHHD.js.map → tp.ui-ELEQGSK2.js.map} +0 -0
  876. /package/dist/{tvs.dt-7APM37Y3.js.map → tvs.dt-DCXY66YY.js.map} +0 -0
  877. /package/dist/{tvs.dtcnv.categorical-YIPXQSIL.js.map → tvs.dtcnv.categorical-SFQZMYX7.js.map} +0 -0
  878. /package/dist/{tvs.dtcnv.continuous-ITNZE3SH.js.map → tvs.dtcnv.continuous-AUZNJMC3.js.map} +0 -0
  879. /package/dist/{tvs.dtfusion-2JIIPDTN.js.map → tvs.dtfusion-5F7MYFHZ.js.map} +0 -0
  880. /package/dist/{tvs.dtsnvindel-HO2PUFN2.js.map → tvs.dtsnvindel-JJSPL4PH.js.map} +0 -0
  881. /package/dist/{tvs.dtsv-7KCWSUYO.js.map → tvs.dtsv-DARTSV5H.js.map} +0 -0
  882. /package/dist/{tvs.samplelst-KKWJQNLW.js.map → tvs.samplelst-HHBIO26C.js.map} +0 -0
  883. /package/dist/{tvs.termCollection-R2IGRG2U.js.map → tvs.termCollection-KCMALH6B.js.map} +0 -0
  884. /package/dist/{violin-OTPZQTGA.js.map → violin-C26FW5WK.js.map} +0 -0
  885. /package/dist/{violin.integration.spec-KESWDSBM.js.map → violin.integration.spec-QQ43XWHQ.js.map} +0 -0
  886. /package/dist/{violin.interactivity-Q2WALZO3.js.map → violin.interactivity-H2BHC6M4.js.map} +0 -0
  887. /package/dist/{violin.renderer-WIRIV7QY.js.map → violin.renderer-GSG2I7AV.js.map} +0 -0
  888. /package/dist/{vocabulary-XXDHHHPJ.js.map → vocabulary-3G525O5V.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../plots/gsea.js"],
4
+ "sourcesContent": ["import * as d3axis from 'd3-axis'\nimport { Menu, renderTable, table2col, axisstyle, sayerror } from '#dom'\nimport { dofetch3 } from '#common/dofetch'\nimport { controlsInit } from './controls'\nimport { getCompInit, copyMerge } from '#rx'\nimport { scaleLinear } from 'd3-scale'\nimport { roundValueAuto } from '#shared/roundValue.js'\nimport { VolcanoModel } from '#plots/volcano/model/VolcanoModel.ts'\nimport { getDefaultVolcanoSettings } from '#plots/volcano/settings/defaults.ts'\nimport { PlotBase } from '#plots/PlotBase.js'\nimport { getCombinedTermFilter } from '#filter'\nimport { PROTEOME_DAP, SINGLECELL_CELLTYPE } from '#types'\n\nconst tip = new Menu()\n\nclass gsea extends PlotBase {\n\tstatic type = 'gsea'\n\n\tconstructor(opts) {\n\t\tsuper(opts)\n\t\tthis.type = gsea.type\n\t\tthis.opts = opts\n\t\tthis.components = {\n\t\t\tcontrols: {}\n\t\t}\n\t\t//Either allow a node to be passed or create a new div\n\t\tconst controlsDiv =\n\t\t\ttypeof opts.controls == 'object' ? opts.controls : opts.holder.append('div').style('display', 'inline-block')\n\t\tconst main = opts.holder.append('div').style('display', 'inline-block')\n\t\tconst actionsDiv = main\n\t\t\t.append('div')\n\t\t\t.attr('data-testid', 'sjpp-gsea-actions')\n\t\t\t.style('margin', '10px')\n\t\t\t.style('text-align', 'left')\n\t\tconst loadingDiv = main\n\t\t\t.append('div')\n\t\t\t.attr('data-testid', 'sjpp-gsea-loading')\n\t\t\t.style('text-align', 'center')\n\t\t\t.style('display', 'none')\n\t\t\t.style('margin', '10px')\n\t\t\t.style('text-align', 'left')\n\t\t\t.text('Loading...')\n\t\tconst holder = main\n\t\t\t.append('div')\n\t\t\t.style('margin-left', '50px')\n\t\t\t.style('display', 'inline-block')\n\t\t\t.attr('data-testid', 'sjpp-gsea-holder')\n\t\tconst detailsDiv = main\n\t\t\t.append('div')\n\t\t\t.attr('data-testid', 'sjpp-gsea-details')\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 = main.append('div').style('margin', '10px').attr('data-testid', 'sjpp-gsea-results-table')\n\n\t\tthis.dom = {\n\t\t\tholder,\n\t\t\theader: opts.header,\n\t\t\tactionsDiv,\n\t\t\tloadingDiv,\n\t\t\tcontrolsDiv,\n\t\t\tdetailsDiv,\n\t\t\ttableDiv\n\t\t}\n\t}\n\n\tasync setControls() {\n\t\tthis.dom.controlsDiv.selectAll('*').remove()\n\t\tconst inputs = [\n\t\t\t{\n\t\t\t\tlabel: 'Minimum Gene Set Size Filter Cutoff',\n\t\t\t\ttype: 'number',\n\t\t\t\tchartType: 'gsea',\n\t\t\t\tsettingsKey: 'min_gene_set_size_cutoff',\n\t\t\t\ttitle: 'Minimum Gene set size cutoff. Helps in filtering out small gene sets',\n\t\t\t\tmin: 0\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Maximum Gene Set Size Filter Cutoff',\n\t\t\t\ttype: 'number',\n\t\t\t\tchartType: 'gsea',\n\t\t\t\tsettingsKey: 'max_gene_set_size_cutoff',\n\t\t\t\ttitle: 'Maximum Gene set size cutoff. Helps in filtering out large gene sets',\n\t\t\t\tmax: 25000\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Filter Non-coding Genes',\n\t\t\t\ttype: 'checkbox',\n\t\t\t\tchartType: 'gsea',\n\t\t\t\tsettingsKey: 'filter_non_coding_genes',\n\t\t\t\ttitle: 'Filter non-coding genes',\n\t\t\t\tboxLabel: ''\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'FDR or Top Gene Sets',\n\t\t\t\ttype: 'radio',\n\t\t\t\tchartType: 'gsea',\n\t\t\t\tsettingsKey: 'fdr_or_top',\n\t\t\t\ttitle: 'Toggle between FDR cutoff and top gene sets in ascending order of FDR',\n\t\t\t\toptions: [\n\t\t\t\t\t{ label: 'FDR', value: 'fdr' },\n\t\t\t\t\t{ label: 'Top Gene Sets', value: 'top' }\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\n\t\tif (JSON.parse(sessionStorage.getItem('optionalFeatures')).gsea_test) {\n\t\t\tinputs.push({\n\t\t\t\tlabel: 'GSEA method',\n\t\t\t\ttype: 'radio',\n\t\t\t\tchartType: 'gsea',\n\t\t\t\tsettingsKey: 'gsea_method',\n\t\t\t\ttitle: 'Toggle between blitzgsea and CERNO method',\n\t\t\t\toptions: [\n\t\t\t\t\t{ label: 'blitzgsea', value: 'blitzgsea' },\n\t\t\t\t\t{ label: 'CERNO', value: 'cerno' }\n\t\t\t\t]\n\t\t\t})\n\t\t}\n\t\tif (this.settings.gsea_method == 'blitzgsea') {\n\t\t\tinputs.push({\n\t\t\t\tlabel: 'Number of Permutations',\n\t\t\t\ttype: 'number',\n\t\t\t\tchartType: 'gsea',\n\t\t\t\tsettingsKey: 'num_permutations',\n\t\t\t\ttitle: 'Number of permutations to be used for GSEA. Higher number increases accuracy but also compute time.',\n\t\t\t\tmin: 0,\n\t\t\t\tmax: 40000 // Setting it to pretty lenient limit for testing\n\t\t\t})\n\t\t}\n\t\tif (this.settings.fdr_or_top == 'fdr') {\n\t\t\tinputs.push({\n\t\t\t\tlabel: 'FDR Filter Cutoff (Linear Scale)',\n\t\t\t\ttype: 'number',\n\t\t\t\tchartType: 'gsea',\n\t\t\t\tsettingsKey: 'fdr_cutoff',\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} else if (this.settings.fdr_or_top == 'top') {\n\t\t\tinputs.push({\n\t\t\t\tlabel: 'Number of top Gene Sets by FDR',\n\t\t\t\ttype: 'number',\n\t\t\t\tchartType: 'gsea',\n\t\t\t\tsettingsKey: 'top_genesets',\n\t\t\t\ttitle: 'Number of top gene sets to be displayed in ascending order of FDR',\n\t\t\t\tmin: 0,\n\t\t\t\tmax: 5000\n\t\t\t})\n\t\t} else {\n\t\t\tthrow 'unknown FDR/top option'\n\t\t}\n\n\t\tthis.components.controls = await controlsInit({\n\t\t\tapp: this.app,\n\t\t\tid: this.id,\n\t\t\tholder: this.dom.controlsDiv,\n\t\t\tinputs: inputs\n\t\t})\n\n\t\tthis.components.controls.on('downloadClick.gsea', () => {\n\t\t\tif (!this.imageUrl) return alert('No image to download')\n\t\t\tconst dataUrl = this.imageUrl\n\t\t\tconst downloadImgName = `${this.state.config.gsea_params.geneset_name || ''}_GSEA_IMG`\n\t\t\tconst a = document.createElement('a')\n\t\t\tdocument.body.appendChild(a)\n\n\t\t\ta.addEventListener(\n\t\t\t\t'click',\n\t\t\t\t() => {\n\t\t\t\t\t// Download the image\n\t\t\t\t\ta.download = downloadImgName + '.png'\n\t\t\t\t\ta.href = dataUrl\n\t\t\t\t\tdocument.body.removeChild(a)\n\t\t\t\t},\n\t\t\t\tfalse\n\t\t\t)\n\t\t\ta.click()\n\t\t})\n\t}\n\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\tconst parentConfig = appState.plots.find(p => p.id === this.parentId)\n\t\tconst termfilter = getCombinedTermFilter(appState, config.filter || parentConfig?.filter)\n\n\t\treturn {\n\t\t\tconfig,\n\t\t\ttermfilter\n\t\t}\n\t}\n\n\t/** This allows the gsea to run independently. If the DE data\n\t * was already requested (e.g. in the DA from the volcano plot),\n\t * the cached response returns rather than running the DE\n\t * route again.\n\t *\n\t * Also allows loading the gsea from a mass session file without\n\t * error. */\n\tasync init(appState) {\n\t\tconst config = appState.plots.find(p => p.id === this.id)\n\t\tif (!config.gsea_params) {\n\t\t\ttry {\n\t\t\t\tif (config.termType === PROTEOME_DAP) {\n\t\t\t\t\tawait this.app.save({\n\t\t\t\t\t\ttype: 'plot_edit',\n\t\t\t\t\t\tid: this.id,\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\tgsea_params: {\n\t\t\t\t\t\t\t\tdapParams: config.proteomeDetails,\n\t\t\t\t\t\t\t\tgenome: this.app.vocabApi.opts.state.vocab.genome,\n\t\t\t\t\t\t\t\tdslabel: this.app.vocabApi.vocab.dslabel\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t} else if (config.termType === SINGLECELL_CELLTYPE) {\n\t\t\t\t\t// SCCT has no DA cache \u2014 fetch the full DE gene list for the\n\t\t\t\t\t// chosen cluster (omit volcanoRender so the route returns the\n\t\t\t\t\t// raw gene array, not the threshold-passing `dots` subset)\n\t\t\t\t\t// and pass genes + fold_change inline. `render_gsea` takes\n\t\t\t\t\t// this path when neither cacheId nor dapParams is set.\n\t\t\t\t\tconst body = {\n\t\t\t\t\t\tgenome: this.app.vocabApi.vocab.genome,\n\t\t\t\t\t\tdslabel: this.app.vocabApi.vocab.dslabel,\n\t\t\t\t\t\tsample: config.sample,\n\t\t\t\t\t\ttermId: config.termId,\n\t\t\t\t\t\tcategoryName: config.categoryName\n\t\t\t\t\t}\n\t\t\t\t\tconst response = await dofetch3('termdb/singlecellDEgenes', { body, signal: this.api?.getAbortSignal() })\n\t\t\t\t\tif (response.error) throw response.error\n\t\t\t\t\tif (!Array.isArray(response.data) || response.data.length === 0) throw 'No DE genes returned for this cluster'\n\t\t\t\t\tconst genes = []\n\t\t\t\t\tconst fold_change = []\n\t\t\t\t\tfor (const g of response.data) {\n\t\t\t\t\t\tgenes.push(g.gene_name)\n\t\t\t\t\t\tfold_change.push(g.fold_change)\n\t\t\t\t\t}\n\t\t\t\t\tawait this.app.save({\n\t\t\t\t\t\ttype: 'plot_edit',\n\t\t\t\t\t\tid: this.id,\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\tgsea_params: {\n\t\t\t\t\t\t\t\tgenes,\n\t\t\t\t\t\t\t\tfold_change,\n\t\t\t\t\t\t\t\tgenes_length: genes.length,\n\t\t\t\t\t\t\t\tgenome: this.app.vocabApi.opts.state.vocab.genome\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\tconst volcanoSettings =\n\t\t\t\t\t\tconfig.settings?.volcano || getDefaultVolcanoSettings({}, { termType: 'geneExpression' })\n\t\t\t\t\tconst model = new VolcanoModel(this, config.termType)\n\t\t\t\t\tconst response = await model.getData(config, volcanoSettings)\n\t\t\t\t\tif (!response?.data?.cacheId || response.error) {\n\t\t\t\t\t\tthrow response.error || 'No DE cacheId returned from volcano model'\n\t\t\t\t\t}\n\t\t\t\t\tawait this.app.save({\n\t\t\t\t\t\ttype: 'plot_edit',\n\t\t\t\t\t\tid: this.id,\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\tgsea_params: {\n\t\t\t\t\t\t\t\tcacheId: response.data.cacheId,\n\t\t\t\t\t\t\t\t// Snapshot of the DE request so the server can regenerate\n\t\t\t\t\t\t\t\t// the cache if this GSEA request lands on a peer node or\n\t\t\t\t\t\t\t\t// arrives after the cache TTL has expired.\n\t\t\t\t\t\t\t\tdaRequest: response.daRequest,\n\t\t\t\t\t\t\t\tgenes_length: response.data.totalRows,\n\t\t\t\t\t\t\t\tgenome: this.app.vocabApi.opts.state.vocab.genome,\n\t\t\t\t\t\t\t\t// Sending dslabel at the top level makes the global\n\t\t\t\t\t\t\t\t// auth middleware populate clientAuthResult on this\n\t\t\t\t\t\t\t\t// request the same way it did for the volcano\n\t\t\t\t\t\t\t\t// request, so the server can re-apply the same\n\t\t\t\t\t\t\t\t// auth-filter injection to daRequest before hashing.\n\t\t\t\t\t\t\t\tdslabel: this.app.vocabApi.vocab.dslabel\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\tif (e instanceof Error) console.error(e.message || e)\n\t\t\t\telse if (e.stack) console.log(e.stack)\n\t\t\t\tthrow e\n\t\t\t}\n\t\t}\n\t}\n\n\treactsTo(action) {\n\t\tif (action.type.startsWith('plot_')) {\n\t\t\treturn (\n\t\t\t\t(action.id === this.id || action.id == this.parentId) &&\n\t\t\t\t(!action.config?.childType || action.config?.childType == this.type)\n\t\t\t)\n\t\t}\n\t}\n\n\tasync main() {\n\t\t//Not not use structuredClone(this.state.config)\n\t\t//Does not include the plot config changes in init()\n\t\tconst config = this.app.getState().plots.find(p => p.id === this.id)\n\t\tthis.config = structuredClone(config)\n\t\tif (this.config.chartType != this.type && this.config.childType != this.type) return\n\t\tthis.settings = this.config.settings.gsea\n\n\t\tthis.imageUrl = null // Reset the image URL\n\t\tawait this.setControls()\n\t\tif (this.dom.header) {\n\t\t\tconst geneCount = this.config.gsea_params.genes_length ?? this.config.gsea_params.genes?.length ?? 0\n\t\t\tthis.dom.header.html(\n\t\t\t\tgeneCount + ' genes <span style=\"font-size:.8em;opacity:.7\">GENE SET ENRICHMENT ANALYSIS</span>'\n\t\t\t)\n\t\t}\n\t\trender_gsea(this)\n\t}\n}\n\nasync function renderPathwayDropdown(self) {\n\tconst settings = structuredClone(self.settings)\n\tconst pathwayOpts = structuredClone(self.app.opts.genome.termdbs.msigdb.analysisGenesetGroups) // duplicate to avoid repeated insertion on each app launch\n\n\tif (JSON.parse(sessionStorage.getItem('optionalFeatures')).gsea_test && self.settings.gsea_method == 'blitzgsea') {\n\t\t// This contains geneset groups that are specific to blitzgsea itself\n\t\t// TEMPORARY FIX to test this library that will trigger auto download support files in python\n\t\t// NEVER ENABLE ON PROD especially gdc prod, where container has firewall and it crashes..\n\t\t// delete this if library is replaced\n\t\tpathwayOpts.push(\n\t\t\t{ label: 'REACTOME (blitzgsea)', value: 'REACTOME--blitzgsea' },\n\t\t\t{ label: 'KEGG (blitzgsea)', value: 'KEGG--blitzgsea' },\n\t\t\t{ label: 'WikiPathways (blitzgsea)', value: 'WikiPathways--blitzgsea' }\n\t\t)\n\t}\n\n\tif (settings.pathway) {\n\t\tpathwayOpts.shift()\n\t\tpathwayOpts.find(opt => opt.value == settings.pathway).selected = true\n\t}\n\n\tself.dom.actionsDiv\n\t\t.append('span')\n\t\t.attr('data-testid', 'sjpp-gsea-pathway')\n\t\t.style('margin-right', '10px')\n\t\t.text('Select a gene set group:')\n\n\tconst dropdown = self.dom.actionsDiv.append('select').on('change', event => {\n\t\tif (!settings.pathway) {\n\t\t\t//Remove placeholder from dropdown on first change\n\t\t\tconst placeholder = dropdown.select('option[value=\"-\"]')\n\t\t\tplaceholder.remove()\n\t\t\tpathwayOpts.shift()\n\t\t}\n\n\t\tconst idx = event.target.selectedIndex\n\t\tsettings.pathway = pathwayOpts[idx].value\n\t\tself.app.dispatch({\n\t\t\ttype: 'plot_edit',\n\t\t\tid: self.id,\n\t\t\tconfig: {\n\t\t\t\t//Need to clear the gsea_params completely\n\t\t\t\tgsea_params: {\n\t\t\t\t\tgeneset_name: null,\n\t\t\t\t\tpathway: pathwayOpts[idx].value\n\t\t\t\t},\n\t\t\t\thighlightGenes: [],\n\t\t\t\tsettings: {\n\t\t\t\t\tgsea: settings\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t})\n\tfor (const opt of pathwayOpts) {\n\t\tdropdown\n\t\t\t.append('option')\n\t\t\t.text(opt.label)\n\t\t\t.attr('value', opt.value)\n\t\t\t.attr('selected', opt.selected ? true : null)\n\t}\n}\n\nasync function render_gsea(self) {\n\t/*\nm {}\n- gene\n- logfoldchange\n- averagevalue\n- pvalue\n\nadd:\n- vo_circle\n\t*/\n\n\t//Render the dropdown if launched from state\n\t//Otherwise will persist on load\n\tself.dom.actionsDiv.selectAll('*').remove()\n\trenderPathwayDropdown(self)\n\tif (self.settings.pathway == '-' || self.settings.pathway == undefined) return\n\tself.dom.detailsDiv.selectAll('*').remove()\n\tself.dom.holder.selectAll('*').remove()\n\tself.dom.tableDiv.selectAll('*').remove()\n\tself.config.gsea_params.geneSetGroup = self.settings.pathway\n\tself.config.gsea_params.filter_non_coding_genes = self.settings.filter_non_coding_genes\n\tself.config.gsea_params.num_permutations = self.settings.num_permutations\n\n\tlet output\n\ttry {\n\t\tconst p = self.config.gsea_params\n\t\tconst body = {\n\t\t\tgenome: p.genome,\n\t\t\tgeneSetGroup: self.settings.pathway,\n\t\t\tfilter_non_coding_genes: self.settings.filter_non_coding_genes,\n\t\t\tmethod: self.settings.gsea_method\n\t\t}\n\t\tif (p.cacheId) {\n\t\t\tbody.cacheId = p.cacheId\n\t\t\t// Sending the DE request snapshot lets the server regenerate the\n\t\t\t// cache on miss (farm node without the file, TTL-expired).\n\t\t\tif (p.daRequest) body.daRequest = p.daRequest\n\t\t\t// Top-level dslabel makes the global auth middleware populate\n\t\t\t// clientAuthResult so the server can re-apply the same\n\t\t\t// auth-filter injection to daRequest before hashing.\n\t\t\tif (p.dslabel) body.dslabel = p.dslabel\n\t\t} else if (p.dapParams) {\n\t\t\tbody.dapParams = p.dapParams\n\t\t\tbody.dslabel = p.dslabel\n\t\t} else {\n\t\t\tbody.genes = p.genes\n\t\t\tbody.fold_change = p.fold_change\n\t\t}\n\n\t\tif (self.settings.gsea_method == 'blitzgsea') {\n\t\t\tbody.num_permutations = self.settings.num_permutations\n\t\t}\n\t\toutput = await rungsea(body, self.dom)\n\t\tif (output.error) {\n\t\t\tthrow Object.assign(new Error(output.error), { code: output.code })\n\t\t}\n\t} catch (e) {\n\t\t// Inline error block instead of alert(). Mirror the detail-plot\n\t\t// branch below so the GSEA pane shows the failure in-context (e.g.\n\t\t// blitzgsea calibration failures on small/degenerate signatures\n\t\t// from gsea.py's _safe_blitz_gsea, or daCacheMissing on a\n\t\t// stale-session cache regen).\n\t\tself.dom.holder.selectAll('*').remove()\n\t\tconst msg = String(e?.message || e)\n\t\tif (e?.code === 'CACHE_BUSY') {\n\t\t\tif (window.confirm(msg)) render_gsea(self)\n\t\t\treturn\n\t\t}\n\t\tconst userMsg = /daCacheMissing|ENOENT|no such file/i.test(msg)\n\t\t\t? 'The differential-analysis cache for this GSEA is no longer available. Reopen the volcano plot to regenerate it.'\n\t\t\t: msg\n\t\tsayerror(self.dom.holder, userMsg)\n\t\treturn\n\t}\n\n\t//Ensure the image renders when toggling between tabs\n\tif (self.config.gsea_params.geneset_name != null) {\n\t\ttry {\n\t\t\tif (self.settings.gsea_method == 'blitzgsea') {\n\t\t\t\tself.config.gsea_params.method = self.settings.gsea_method\n\t\t\t\tconst image = await rungsea(self.config.gsea_params, self.dom)\n\t\t\t\t// //render_gsea_plot(self, plot_data)\n\t\t\t\tif (image.error) throw image.error\n\t\t\t\tself.imageUrl = URL.createObjectURL(image)\n\t\t\t\tconst png_width = 600\n\t\t\t\tconst png_height = 400\n\t\t\t\tself.dom.holder.append('img').attr('width', png_width).attr('height', png_height).attr('src', self.imageUrl)\n\t\t\t} else if (self.settings.gsea_method == 'cerno') {\n\t\t\t\tif (!self.rankedDE && (self.config.gsea_params.cacheId || self.config.gsea_params.dapParams)) {\n\t\t\t\t\tconst fetchBody = {\n\t\t\t\t\t\tgenome: self.config.gsea_params.genome,\n\t\t\t\t\t\tdslabel: self.config.gsea_params.dslabel,\n\t\t\t\t\t\tfetchDE: true,\n\t\t\t\t\t\tgeneSetGroup: '-',\n\t\t\t\t\t\tfilter_non_coding_genes: false,\n\t\t\t\t\t\tmethod: 'cerno'\n\t\t\t\t\t}\n\t\t\t\t\tif (self.config.gsea_params.cacheId) {\n\t\t\t\t\t\tfetchBody.cacheId = self.config.gsea_params.cacheId\n\t\t\t\t\t\tfetchBody.daRequest = self.config.gsea_params.daRequest\n\t\t\t\t\t} else if (self.config.gsea_params.dapParams) {\n\t\t\t\t\t\tfetchBody.dapParams = self.config.gsea_params.dapParams\n\t\t\t\t\t}\n\t\t\t\t\tconst deResp = await dofetch3('genesetEnrichment', {\n\t\t\t\t\t\tbody: fetchBody\n\t\t\t\t\t})\n\t\t\t\t\tif (deResp.error) throw Object.assign(new Error(deResp.error), { code: deResp.code })\n\t\t\t\t\tself.rankedDE = deResp.data\n\t\t\t\t}\n\t\t\t\trender_cerno_plot(self, output)\n\t\t\t} else {\n\t\t\t\tthrow 'Unknown method:' + self.settings.gsea_method\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tself.dom.holder.selectAll('*').remove()\n\t\t\tconst msg = String(e?.message || e)\n\t\t\tif (e?.code === 'CACHE_BUSY') {\n\t\t\t\tif (window.confirm(msg)) render_gsea(self)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst userMsg = /daCacheMissing|ENOENT|no such file/i.test(msg)\n\t\t\t\t? 'The differential-analysis cache for this GSEA is no longer available. Reopen the volcano plot to regenerate it.'\n\t\t\t\t: msg\n\t\t\tsayerror(self.dom.holder, userMsg)\n\t\t\treturn\n\t\t}\n\t}\n\n\tconst table_stats = table2col({ holder: self.dom.detailsDiv.attr('data-testid', 'sjpp-gsea-stats') })\n\tconst [t1, t2] = table_stats.addRow()\n\tt2.style('text-align', 'center').style('font-size', '0.8em').style('opacity', '0.8').text('COUNT')\n\tlet addStats\n\tif (self.settings.gsea_method == 'blitzgsea') {\n\t\taddStats = [\n\t\t\t{\n\t\t\t\tlabel: 'Gene sets analyzed',\n\t\t\t\tvalues: Object.keys(output.data).length\n\t\t\t}\n\t\t]\n\t} else if (self.settings.gsea_method == 'cerno') {\n\t\taddStats = [\n\t\t\t{\n\t\t\t\tlabel: 'Gene sets analyzed',\n\t\t\t\tvalues: Object.keys(output).length\n\t\t\t}\n\t\t]\n\t} else {\n\t\tthrow 'Unknown method:' + self.settings.gsea_method\n\t}\n\n\tfor (const dataRow of addStats) {\n\t\tconst [td1, td2] = table_stats.addRow()\n\t\ttd1.text(dataRow.label)\n\t\ttd2.style('text-align', 'end').text(dataRow.values)\n\t}\n\n\t// Generating the table\n\tself.gsea_table_rows = []\n\tlet output_keys\n\tif (self.settings.gsea_method == 'blitzgsea') {\n\t\toutput_keys = Object.entries(output.data).map(([key, value]) => {\n\t\t\treturn { key, value } // Convert to an array of objects\n\t\t})\n\t} else if (self.settings.gsea_method == 'cerno') {\n\t\toutput_keys = Object.entries(output).map(([key, value]) => {\n\t\t\treturn { key, value } // Convert to an array of objects\n\t\t})\n\t} else {\n\t\tthrow 'Unknown method:' + self.settings.gsea_method\n\t}\n\n\tif (self.settings.fdr_or_top == 'top') {\n\t\t// Sorting the top (top_genesets) genesets in decreasing order\n\t\toutput_keys.sort((i, j) => Number(i.value.fdr) - Number(j.value.fdr))\n\t\tconst top_genesets = Math.min(self.settings.top_genesets, output_keys.length) // If the length of the table is less than the top cutoff, only iterate till the end of the table\n\t\tfor (let iter = 0; iter < top_genesets; iter++) {\n\t\t\tif (\n\t\t\t\tself.settings.max_gene_set_size_cutoff >= output_keys[iter].value.geneset_size &&\n\t\t\t\tself.settings.min_gene_set_size_cutoff <= output_keys[iter].value.geneset_size\n\t\t\t) {\n\t\t\t\tsetResultsRows(output_keys, iter, self)\n\t\t\t}\n\t\t}\n\t} else if (self.settings.fdr_or_top == 'fdr') {\n\t\tfor (let iter = 0; iter < output_keys.length; iter++) {\n\t\t\tif (\n\t\t\t\tself.settings.fdr_cutoff >= output_keys[iter].value.fdr &&\n\t\t\t\tself.settings.max_gene_set_size_cutoff >= output_keys[iter].value.geneset_size &&\n\t\t\t\tself.settings.min_gene_set_size_cutoff <= output_keys[iter].value.geneset_size\n\t\t\t) {\n\t\t\t\tsetResultsRows(output_keys, iter, self)\n\t\t\t}\n\t\t}\n\t}\n\n\tself.dom.tableDiv.selectAll('*').remove()\n\tconst d_gsea = self.dom.tableDiv.append('div')\n\t// table columns showing analysis results for each gene set\n\tself.gsea_table_cols = []\n\tif (self.settings.gsea_method == 'blitzgsea') {\n\t\tself.gsea_table_cols = [\n\t\t\t{ label: 'Gene Set', sortable: true },\n\t\t\t//{ label: 'Enrichment Score' },\n\t\t\t{ label: 'Normalized Enrichment Score', barplot: { axisWidth: 200 }, sortable: true },\n\t\t\t{ label: 'Gene Set Size', sortable: true },\n\t\t\t{ label: 'P value', sortable: true },\n\t\t\t//{ label: 'Sidak' },\n\t\t\t{ label: 'FDR', sortable: true },\n\t\t\t{ label: 'Leading Edge' }\n\t\t]\n\t} else if (self.settings.gsea_method == 'cerno') {\n\t\tself.gsea_table_cols = [\n\t\t\t{ label: 'Gene Set', sortable: true },\n\t\t\t{ label: 'Area Under Curve', barplot: { axisWidth: 200 }, sortable: true },\n\t\t\t{ label: 'Enrichment Score', barplot: { axisWidth: 200 }, sortable: true },\n\t\t\t{ label: 'Total Gene Set Size', sortable: true },\n\t\t\t{ label: 'P value', sortable: true },\n\t\t\t{ label: 'FDR', sortable: true },\n\t\t\t{ label: 'Gene Set Hits' }\n\t\t]\n\t} else {\n\t\tthrow 'Unknown method:' + self.settings.gsea_method\n\t}\n\tlet download = {}\n\n\tif (self.config.chartType == 'differentialAnalysis') {\n\t\t//Highlight genes button\n\t\tself.dom.detailsDiv\n\t\t\t.append('button')\n\t\t\t.style('margin-left', '10px')\n\t\t\t.style(\n\t\t\t\t'display',\n\t\t\t\tself.config.chartType == 'differentialAnalysis' && self.config.gsea_params.geneset_name == null\n\t\t\t\t\t? 'none'\n\t\t\t\t\t: 'block'\n\t\t\t)\n\t\t\t.attr('aria-label', 'Highlight genes in the volcano plot')\n\t\t\t.text('Highlight genes')\n\t\t\t.on('click', () => {\n\t\t\t\tself.app.dispatch({\n\t\t\t\t\ttype: 'plot_edit',\n\t\t\t\t\tid: self.id,\n\t\t\t\t\tconfig: {\n\t\t\t\t\t\tchildType: 'volcano',\n\t\t\t\t\t\thighlightedData: self.config.highlightGenes\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n\n\tif (self.state.config.downloadFilename) download.fileName = self.state.config.downloadFilename\n\n\t//Table rerenders when main is called\n\t//Fix to show which gene set is selected after rerender\n\tconst geneSetIdx = self.gsea_table_rows.findIndex(row => row[0].value == self.config.gsea_params.geneset_name)\n\tconst selectedRows = geneSetIdx > -1 ? [geneSetIdx] : []\n\n\trenderTable({\n\t\tdownload,\n\t\tcolumns: self.gsea_table_cols,\n\t\trows: self.gsea_table_rows,\n\t\tdiv: d_gsea,\n\t\tshowLines: true,\n\t\tmaxHeight: '30vh',\n\t\tsingleMode: true,\n\t\tresize: true,\n\t\theader: { allowSort: true },\n\t\tselectedRows: selectedRows,\n\t\tnoButtonCallback: async index => {\n\t\t\tconst config = {\n\t\t\t\tgsea_params: {\n\t\t\t\t\tgeneset_name: self.gsea_table_rows[index][0].value\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (self.config.chartType == 'differentialAnalysis') {\n\t\t\t\t//Saves the data to highlight in the volcano plot\n\t\t\t\tlet genes\n\t\t\t\tif (self.settings.gsea_method == 'blitzgsea') {\n\t\t\t\t\tgenes = [...self.gsea_table_rows[index][5].value.split(',')]\n\t\t\t\t} else if (self.settings.gsea_method == 'cerno') {\n\t\t\t\t\tgenes = [...self.gsea_table_rows[index][6].value.split(',')]\n\t\t\t\t} else {\n\t\t\t\t\tthrow 'Unknown method:' + self.settings.gsea_method\n\t\t\t\t}\n\t\t\t\tif (genes) config.highlightGenes = genes\n\t\t\t}\n\t\t\tawait self.app.dispatch({\n\t\t\t\ttype: 'plot_edit',\n\t\t\t\tid: self.id,\n\t\t\t\tconfig\n\t\t\t})\n\t\t}\n\t})\n}\n\nfunction setResultsRows(output_keys, iter, self) {\n\tconst pathway_name = output_keys[iter].key\n\tconst pval = output_keys[iter].value.pval\n\t\t? roundValueAuto(output_keys[iter].value.pval)\n\t\t: output_keys[iter].value.pval\n\tconst fdr = output_keys[iter].value.fdr ? roundValueAuto(output_keys[iter].value.fdr) : output_keys[iter].value.fdr\n\tif (self.settings.gsea_method == 'blitzgsea') {\n\t\tconst nes = output_keys[iter].value.nes ? roundValueAuto(output_keys[iter].value.nes) : output_keys[iter].value.nes\n\t\t// const sidak = output_keys[iter].value.sidak\n\t\t// \t? roundValueAuto(output_keys[iter].value.sidak)\n\t\t// \t: output_keys[iter].value.sidak\n\t\tself.gsea_table_rows.push([\n\t\t\t{ value: pathway_name },\n\t\t\t{ value: nes },\n\t\t\t{ value: output_keys[iter].value.geneset_size },\n\t\t\t{ value: pval },\n\t\t\t//{ value: sidak },\n\t\t\t{ value: fdr },\n\t\t\t{ value: output_keys[iter].value.leading_edge }\n\t\t])\n\t} else if (self.settings.gsea_method == 'cerno') {\n\t\tconst auc = output_keys[iter].value.auc ? roundValueAuto(output_keys[iter].value.auc) : output_keys[iter].value.auc\n\t\tconst es = output_keys[iter].value.es ? roundValueAuto(output_keys[iter].value.es) : output_keys[iter].value.es\n\t\tself.gsea_table_rows.push([\n\t\t\t{ value: pathway_name },\n\t\t\t{ value: auc },\n\t\t\t{ value: es },\n\t\t\t{ value: output_keys[iter].value.geneset_size },\n\t\t\t{ value: pval },\n\t\t\t{ value: fdr },\n\t\t\t{ value: output_keys[iter].value.leading_edge }\n\t\t])\n\t} else {\n\t\tthrow 'Unknown method:' + self.settings.gsea_method\n\t}\n}\n\nfunction render_cerno_plot(self, cerno_output) {\n\tconst holder = self.dom.holder\n\tholder.selectAll('*').remove()\n\tconst svg_width = 400\n\tconst svg_height = 400\n\tconst svg = holder.append('svg').attr('width', svg_width).attr('height', svg_height)\n\tconst toppad = 20\n\tconst rightpad = 5\n\tconst yaxisw = 50 //Math.max(50, svg_width / 8)\n\tconst xaxish = 50 //Math.max(50, svg_height / 8)\n\tconst yaxisg = svg.append('g')\n\tconst xaxisg = svg.append('g')\n\tconst xpad = 50\n\tconst ypad = 100\n\n\tconst rankedDE = self.rankedDE || self.config.gsea_params\n\tconst DE_output = []\n\tfor (let i = 0; i < rankedDE.genes.length; i++) {\n\t\tconst item = { gene: rankedDE.genes[i], fold_change: rankedDE.fold_change[i] }\n\t\tDE_output.push(item)\n\t}\n\tDE_output.sort((i, j) => j.fold_change - i.fold_change) // Sorting genes in descending order of fold change\n\n\tconst xscale = scaleLinear()\n\t\t.domain([0, DE_output.length])\n\t\t.range([xpad, svg_width - rightpad])\n\tconst yscale = scaleLinear()\n\t\t.domain([100, 0])\n\t\t.range([toppad, svg_height - ypad])\n\n\tyaxisg.attr('transform', 'translate(' + xpad + ',' + 0 + ')')\n\txaxisg.attr('transform', 'translate(' + 0 + ',' + (svg_height - ypad) + ')')\n\tconst xlab = svg\n\t\t.append('text')\n\t\t.text('Gene list')\n\t\t.attr('fill', 'black')\n\t\t.attr('text-anchor', 'start')\n\t\t.attr('transform', 'translate(' + xscale(DE_output.length / 3) + ',' + (svg_height - ypad + 2 * toppad) + ')')\n\tconst ylab = svg\n\t\t.append('text')\n\t\t.text('Percentage of gene set')\n\t\t.attr('fill', 'black')\n\t\t.attr('text-anchor', 'middle')\n\t\t.attr('y', xpad / 2)\n\t\t.attr('x', -svg_width / 2.5)\n\t\t.attr('transform', 'rotate(-90)')\n\tlet fontSize = 30\n\tconst title = svg\n\t\t.append('text')\n\t\t.text(self.config.gsea_params.geneset_name)\n\t\t.attr('fill', 'black')\n\t\t.attr('text-anchor', 'start')\n\t\t.attr('font-size', fontSize + 'px')\n\t\t.attr('transform', 'translate(' + xpad + ',' + toppad / 2 + ')')\n\n\t// Check to see if the text fits into the svg width and toppad dimensions. If not, decrease the font size until the text fits into these dimensions\n\tlet title_bbox = title.node().getBBox()\n\twhile (title_bbox.width > svg_width - xpad || title_bbox.height > (toppad * 3.5) / 5) {\n\t\tfontSize -= 1 // Decrease font size\n\t\ttitle.node().setAttribute('font-size', fontSize + 'px')\n\t\ttitle_bbox = title.node().getBBox() // Measure again\n\t}\n\n\tconst auc = cerno_output[self.config.gsea_params.geneset_name].auc\n\tif (typeof auc === 'number') {\n\t\tlet auc_pos\n\t\tif (auc >= 0.5) {\n\t\t\t// The position of the text changes depending upon the value of auc so as to avoid the auc curve overlapping with the text\n\t\t\tauc_pos = xscale((DE_output.length * 3) / 3.5) + ',' + (svg_height - ypad * 1.5)\n\t\t} else {\n\t\t\tauc_pos = xscale((DE_output.length * 0.8) / 4.5) + ',' + (svg_height - ypad * 3)\n\t\t}\n\t\tconst auc_text = svg\n\t\t\t.append('text')\n\t\t\t.text('AUC=' + roundValueAuto(auc))\n\t\t\t.attr('fill', 'black')\n\t\t\t.attr('text-anchor', 'middle')\n\t\t\t.attr('transform', 'translate(' + auc_pos + ')')\n\t} else {\n\t\t// Should not happen\n\t\tthrow 'AUC not a number:' + auc\n\t}\n\n\taxisstyle({\n\t\taxis: yaxisg.call(d3axis.axisLeft().scale(yscale)),\n\t\tcolor: 'black',\n\t\tshowline: true,\n\t\tfontsize: '10'\n\t})\n\taxisstyle({\n\t\taxis: xaxisg.call(d3axis.axisBottom().scale(xscale)),\n\t\tcolor: 'black',\n\t\tshowline: true,\n\t\tfontsize: '10'\n\t})\n\n\t// Find genes that were found from cerno output\n\tif (Object.keys(cerno_output).includes(self.config.gsea_params.geneset_name)) {\n\t\tconst hit_genes = cerno_output[self.config.gsea_params.geneset_name].leading_edge.split(',')\n\t\tconst y_increment = 100 / hit_genes.length\n\t\tconst lines = svg.append('g')\n\n\t\tlet y_iter = 100\n\t\tfor (let i = 0; i < DE_output.length; i++) {\n\t\t\tconst y_old = y_iter\n\t\t\t// Increment y only when gene is found in geneset\n\t\t\tif (hit_genes.includes(DE_output[i].gene)) {\n\t\t\t\ty_iter = y_iter - y_increment\n\t\t\t\tlines\n\t\t\t\t\t.append('line') // attach a line\n\t\t\t\t\t.style('stroke', 'red') // colour the line\n\t\t\t\t\t.attr('x1', xscale(i)) // x position of the first end of the line\n\t\t\t\t\t.attr('y1', svg_height) // y position of the first end of the line\n\t\t\t\t\t.attr('x2', xscale(i)) // x position of the second end of the line\n\t\t\t\t\t.attr('y2', svg_height - ypad + 2.5 * toppad) // y position of the second end of the line\n\t\t\t}\n\t\t\tlines\n\t\t\t\t.append('line') // attach a line\n\t\t\t\t.style('stroke', 'red') // colour the line\n\t\t\t\t.attr('x1', xscale(i)) // x position of the first end of the line\n\t\t\t\t.attr('y1', yscale(100 - y_old)) // y position of the first end of the line\n\t\t\t\t.attr('x2', xscale(i + 1)) // x position of the second end of the line\n\t\t\t\t.attr('y2', yscale(100 - y_iter)) // y position of the second end of the line\n\t\t}\n\t} else {\n\t\t// Should not happen\n\t\tthrow '${self.config.gsea_params.geneset_name} not found'\n\t}\n\n\t//console.log('cerno_output:', cerno_output)\n\n\t// Find the genes that were found in the clicked geneset\n\t//const genes_found\n}\n\n// function render_gsea_plot(self, plot_data) {\n// \t// This function is for client side rendering of the gsea plot. This is not currently used. May be used later if client side rendering is later desired.\n// \tconsole.log('self.dom.holder:', self.dom.holder)\n// \tconst holder = self.dom.holder\n// \tconsole.log('plot_data:', plot_data)\n// \tholder.selectAll('*').remove()\n// \tconst running_sum = plot_data.running_sum.split(',').map(x => parseFloat(x))\n// \tconst es = parseFloat(plot_data.es)\n// \tconsole.log('running_sum:', running_sum)\n// \tconst svg_width = 400\n// \tconst svg_height = 400\n// \tconst svg = holder.append('svg').attr('width', svg_width).attr('height', svg_height)\n// \tconst toppad = 50\n// \tconst rightpad = 50\n// \tconst yaxisw = Math.max(50, svg_width / 8)\n// \tconst xaxish = Math.max(50, svg_height / 8)\n// \tconst yaxisg = svg.append('g')\n// \tconst xaxisg = svg.append('g')\n// \tconst xpad = svg_width / 50\n// \tconst ypad = svg_height / 50\n// \tyaxisg.attr('transform', 'translate(' + (yaxisw + xpad) + ',' + (toppad - ypad) + ')')\n// \txaxisg.attr('transform', 'translate(' + (yaxisw + xpad) + ',' + (svg_height - ypad) + ')')\n// \tconst xlab = xaxisg.append('text').text('Rank').attr('fill', 'black').attr('text-anchor', 'middle') //.attr('transform', 'translate(' + 200 + ',' + 200 + ')')\n// \tconst ylab = yaxisg\n// \t\t.append('text')\n// \t\t.text('ES')\n// \t\t.attr('fill', 'black')\n// \t\t.attr('text-anchor', 'middle')\n// \t\t.attr('transform', 'rotate(-90)')\n// \tconst xscale = scaleLinear().domain(running_sum).range([0, svg_width])\n// \tconst yscale = scaleLinear().domain([0, 100]).range([0, svg_height])\n// \t//const xscale = scaleLinear().domain([Math.min(running_sum), Math.max(running_sum)]).range([0, 100])\n// \taxisstyle({\n// \t\taxis: yaxisg.call(d3axis.axisLeft().scale(yscale)),\n// \t\tcolor: 'black',\n// \t\tshowline: true,\n// \t\tfontsize: '10'\n// \t})\n// \taxisstyle({\n// \t\taxis: xaxisg.call(d3axis.axisBottom().scale(xscale)),\n// \t\tcolor: 'black',\n// \t\tshowline: true,\n// \t\tfontsize: '10'\n// \t})\n// \t//xscale.range([0, svg_width])\n// \t//yscale.range([svg_height, 0])\n// \tconst lines = svg.append('g')\n// \t//svg.selectAll(\".axis text\").style(\"font-size\", \"100px\")\n// \tlet gene_number = 0\n// \tlet y1 = 0\n// \tfor (const rs of running_sum) {\n// \t\tlines\n// \t\t\t.append('line') // attach a line\n// \t\t\t.style('stroke', 'green') // colour the line\n// \t\t\t.attr('x1', xscale(gene_number)) // x position of the first end of the line\n// \t\t\t.attr('y1', yscale(y1)) // y position of the first end of the line\n// \t\t\t.attr('x2', xscale(gene_number)) // x position of the second end of the line\n// \t\t\t.attr('y2', yscale(Math.abs(rs))) // y position of the second end of the line\n// \t\tgene_number += 1\n// \t\ty1 = Math.abs(rs)\n// \t}\n// }\n\nexport function getDefaultGseaSettings(overrides = {}) {\n\tconst defaults = {\n\t\tfdr_cutoff: 0.05,\n\t\tnum_permutations: 1000,\n\t\ttop_genesets: 40,\n\t\tpathway: undefined,\n\t\tgeneset_name: null,\n\t\tmin_gene_set_size_cutoff: 0,\n\t\tmax_gene_set_size_cutoff: 20000,\n\t\tfilter_non_coding_genes: true,\n\t\tfdr_or_top: 'top',\n\t\tgsea_method: 'blitzgsea'\n\t}\n\tif (JSON.parse(sessionStorage.getItem('optionalFeatures')).gsea_test) {\n\t\t// set default method to CERNO when serverconfig flag gsea_test is defined\n\t\tdefaults.gsea_method = 'cerno'\n\t}\n\treturn Object.assign(defaults, overrides)\n}\n\nexport async function getPlotConfig(opts, app) {\n\t// if (!opts.gsea_params) throw 'No gsea_params provided [gsea getPlotConfig()]'\n\ttry {\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\tgsea: getDefaultGseaSettings(opts.overrides)\n\t\t\t}\n\t\t}\n\t\treturn copyMerge(config, opts)\n\t} catch (e) {\n\t\tthrow `${e} [gsea getPlotConfig()]`\n\t}\n}\n\nexport const gseaInit = getCompInit(gsea)\n// this alias will allow abstracted dynamic imports\nexport const componentInit = gseaInit\n\nexport function makeChartBtnMenu(holder, chartsInstance) {\n\t/*\n\tholder: the holder in the tooltip\n\tchartsInstance: MassCharts instance\n\t\ttermdbConfig is accessible at chartsInstance.state.termdbConfig{}\n\t\tmass 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: 'gsea'\n\t\t}\n\t})\n}\n\nasync function rungsea(body, dom) {\n\t//Only show the loading div as the gsea is running\n\tdom.actionsDiv.style('display', 'none')\n\tdom.loadingDiv.style('display', 'block')\n\tconst data = await dofetch3('genesetEnrichment', { body })\n\tdom.loadingDiv.style('display', 'none')\n\tdom.actionsDiv.style('display', 'block')\n\treturn data\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,448 @@
1
+ import {
2
+ getDefaultViolinSettings
3
+ } from "./chunk-ROJ3LJLE.js";
4
+ import {
5
+ getDefaultScatterSettings
6
+ } from "./chunk-3LYZMOLO.js";
7
+ import {
8
+ getDefaultBoxplotSettings
9
+ } from "./chunk-5QTJUPFS.js";
10
+ import {
11
+ PlotBase,
12
+ defaultUiLabels,
13
+ fillTermWrapper,
14
+ filterRxCompInit,
15
+ getDefaultBarSettings,
16
+ term0_term2_defaultQ
17
+ } from "./chunk-WY2PGUVX.js";
18
+ import {
19
+ importPlot
20
+ } from "./chunk-MBUQ34CF.js";
21
+ import {
22
+ Menu
23
+ } from "./chunk-HYOEWQ5P.js";
24
+ import {
25
+ Tabs
26
+ } from "./chunk-HBW42TDT.js";
27
+ import {
28
+ copyMerge,
29
+ getCompInit
30
+ } from "./chunk-M3J4MINX.js";
31
+ import {
32
+ isNumericTerm
33
+ } from "./chunk-NNFAUP2I.js";
34
+
35
+ // plots/summary.ts
36
+ var SummaryPlot = class _SummaryPlot extends PlotBase {
37
+ constructor(opts, api) {
38
+ super(opts, api);
39
+ this.components = {};
40
+ // expected class-specific props
41
+ this.chartsByType = {};
42
+ this.configTermKeys = ["term", "term0", "term2"];
43
+ this.type = _SummaryPlot.type;
44
+ this.dom = this.getDom(opts);
45
+ this.tabsData = this.getTabsData();
46
+ this.chartToggles = new Tabs({ holder: this.dom.chartToggles, tabs: this.tabsData, noContent: true });
47
+ this.components = {
48
+ plots: {}
49
+ };
50
+ }
51
+ static {
52
+ this.type = "summary";
53
+ }
54
+ preApiFreeze(api) {
55
+ api.getError = () => {
56
+ return this.error;
57
+ };
58
+ }
59
+ getDom(opts) {
60
+ const holder = opts.holder;
61
+ holder.header.style("padding", 0);
62
+ const paneTitleDiv = holder.header.append("div").style("display", "inline-block").style("color", "#555").style("padding-left", "7px");
63
+ return {
64
+ tip: new Menu({ padding: "0px" }),
65
+ holder,
66
+ body: holder.body.style("white-space", "nowrap").style("overflow-x", "auto"),
67
+ // will hold no data notice or the page title in multichart views
68
+ errdiv: holder.body.append("div").attr("class", "sja_errorbar").style("display", "none").style("padding", "5px"),
69
+ loading: holder.body.append("div").style("display", "none").style("padding", "5px").html("Loading ..."),
70
+ // dom.viz will hold the rendered view
71
+ viz: holder.body.append("div"),
72
+ plotDivs: {},
73
+ paneTitleDiv,
74
+ paneTitleText: paneTitleDiv.append("div").classed("sjpp-term-header", true).style("display", "inline-block").style("vertical-align", "sub"),
75
+ chartToggles: paneTitleDiv.append("div").style("display", "inline-block").style("margin-left", "10px"),
76
+ localRecoverDiv: paneTitleDiv.append("div").style("display", "inline-block"),
77
+ filterDiv: holder.header.append("div").style("display", "inline-block").style("zoom", 0.9)
78
+ };
79
+ }
80
+ getTabsData() {
81
+ const callback = (event, tab) => this.tabClickCallback(event, tab);
82
+ return [
83
+ {
84
+ childType: "barchart",
85
+ label: "Barchart",
86
+ isVisible: () => true,
87
+ disabled: () => false,
88
+ getConfig: async () => {
89
+ if (!this.config) return;
90
+ const config = { id: this.id, childType: "barchart" };
91
+ const { term, term2 } = this.config || {};
92
+ if (term) {
93
+ const mode = isNumericTerm(term?.term) ? "discrete" : term?.q.mode || "discrete";
94
+ config.term = await this.getWrappedTermCopy(term, mode);
95
+ }
96
+ if (term2) {
97
+ const mode = isNumericTerm(term2.term) ? "discrete" : term2.q.mode || "discrete";
98
+ config.term2 = await this.getWrappedTermCopy(term2, mode);
99
+ }
100
+ return config;
101
+ },
102
+ active: true,
103
+ callback
104
+ },
105
+ {
106
+ childType: "violin",
107
+ label: "Violin",
108
+ disabled: () => false,
109
+ isVisible: () => isNumericTerm(this.config?.term?.term) || isNumericTerm(this.config?.term2?.term),
110
+ getConfig: async () => {
111
+ const term = this.config?.term;
112
+ const term2 = this.config.term2;
113
+ let _term, _term2;
114
+ this.violinContTerm = isNumericTerm(term?.term) ? "term" : "term2";
115
+ if (this.violinContTerm && this.violinContTerm === "term" || term.q?.mode == "continuous") {
116
+ _term = await this.getWrappedTermCopy(term, "continuous");
117
+ _term2 = await this.getWrappedTermCopy(term2, "discrete");
118
+ this.violinContTerm = "term";
119
+ } else if (this.violinContTerm && this.violinContTerm === "term2" || term2?.q?.mode == "continuous") {
120
+ _term = await this.getWrappedTermCopy(term, "discrete");
121
+ _term2 = await this.getWrappedTermCopy(term2, "continuous");
122
+ this.violinContTerm = "term2";
123
+ } else if (term2?.q?.mode == "discrete") {
124
+ _term = await this.getWrappedTermCopy(term, "discrete");
125
+ _term2 = await this.getWrappedTermCopy(term2, "continuous");
126
+ this.violinContTerm = "term2";
127
+ } else {
128
+ _term = await this.getWrappedTermCopy(term, "continuous");
129
+ _term2 = await this.getWrappedTermCopy(term2, "discrete");
130
+ this.violinContTerm = "term";
131
+ }
132
+ const config = { childType: "violin", term: _term, term2: _term2 };
133
+ return config;
134
+ },
135
+ active: false,
136
+ callback
137
+ },
138
+ {
139
+ childType: "boxplot",
140
+ label: "Boxplot",
141
+ disabled: () => false,
142
+ isVisible: () => isNumericTerm(this.config?.term?.term) || isNumericTerm(this.config?.term2?.term),
143
+ getConfig: async () => {
144
+ const _term = this.config?.term;
145
+ const _term2 = this.config.term2;
146
+ let termMode = "continuous", term2Mode = "discrete";
147
+ this.boxContTerm = isNumericTerm(_term?.term) ? "term" : "term2";
148
+ if (this.boxContTerm && this.boxContTerm === "term" || _term.q?.mode == "continuous") {
149
+ termMode = "continuous";
150
+ term2Mode = "discrete";
151
+ this.boxContTerm = "term";
152
+ } else if (this.boxContTerm && this.boxContTerm === "term2" || _term2?.q?.mode == "continuous") {
153
+ termMode = "discrete";
154
+ term2Mode = "continuous";
155
+ this.boxContTerm = "term2";
156
+ } else if (_term2?.q?.mode == "discrete") {
157
+ termMode = "discrete";
158
+ term2Mode = "continuous";
159
+ this.boxContTerm = "term2";
160
+ }
161
+ const term = await this.getWrappedTermCopy(_term, termMode);
162
+ const term2 = await this.getWrappedTermCopy(_term2, term2Mode);
163
+ const config = {
164
+ childType: "boxplot",
165
+ term,
166
+ term2
167
+ };
168
+ return config;
169
+ },
170
+ active: false,
171
+ callback
172
+ },
173
+ {
174
+ childType: "sampleScatter",
175
+ label: "Scatter",
176
+ disabled: () => false,
177
+ isVisible: () => {
178
+ return isNumericTerm(this.config?.term.term) && isNumericTerm(this.config?.term2?.term);
179
+ },
180
+ getConfig: async () => {
181
+ const _term = await this.getWrappedTermCopy(this.config?.term, "continuous");
182
+ const _term2 = await this.getWrappedTermCopy(this.config?.term2, "continuous");
183
+ const config = {
184
+ childType: "sampleScatter",
185
+ term: _term,
186
+ term2: _term2,
187
+ groups: [],
188
+ term0: this.config.term0
189
+ };
190
+ return config;
191
+ },
192
+ active: false,
193
+ callback
194
+ }
195
+ ];
196
+ }
197
+ async init(appState) {
198
+ const state = this.getState(appState);
199
+ const config = structuredClone(state.config);
200
+ this.initUi(this.opts, config);
201
+ if (config?.hidePlotFilter) return;
202
+ this.components.filter = await filterRxCompInit({
203
+ app: this.app,
204
+ vocabApi: this.app.vocabApi,
205
+ parentId: this.id,
206
+ holder: this.dom.filterDiv,
207
+ hideLabel: true,
208
+ emptyLabel: "+Add new filter",
209
+ callback: (filter) => {
210
+ this.app.dispatch({
211
+ id: this.id,
212
+ type: "plot_edit",
213
+ config: { filter }
214
+ });
215
+ }
216
+ });
217
+ }
218
+ reactsTo(action) {
219
+ if (action.type.includes("cache_termq")) return true;
220
+ if (action.type.startsWith("plot_")) {
221
+ if (action.type.startsWith("plot_")) {
222
+ return action.id === this.id || action.id == this.parentId;
223
+ }
224
+ }
225
+ if (action.type.startsWith("filter")) return true;
226
+ if (action.type.startsWith("cohort")) return true;
227
+ if (action.type == "app_refresh") return true;
228
+ return false;
229
+ }
230
+ getState(appState) {
231
+ const config = appState.plots.find((p) => p.id === this.id);
232
+ if (!config) {
233
+ throw `No plot with id='${this.id}' found. Did you set this.id before this.api = getComponentApi(this)?`;
234
+ }
235
+ return {
236
+ termfilter: appState.termfilter,
237
+ config,
238
+ // quick fix to skip history tracking as needed
239
+ _scope_: appState._scope_
240
+ };
241
+ }
242
+ async main() {
243
+ delete this.error;
244
+ this.dom.errdiv.style("display", "none").html("");
245
+ this.dom.loading.style("display", "");
246
+ this.config = await this.getMutableConfig();
247
+ this.maySetSandboxHeader();
248
+ if (!this.components.plots[this.config.childType]) {
249
+ await this.setComponent(this.config);
250
+ }
251
+ this.dom.loading.style("display", "none");
252
+ this.render();
253
+ const activeTabIndex = this.tabsData.findIndex((tab) => tab.childType == this.config.childType);
254
+ this.chartToggles.update(activeTabIndex);
255
+ const numVisTabs = this.tabsData.filter((d) => d.isVisible()).length;
256
+ if (numVisTabs > 1) this.dom.chartToggles.style("display", "inline-block");
257
+ else this.dom.chartToggles.style("display", "none");
258
+ }
259
+ maySetSandboxHeader() {
260
+ const { term, term2, headerText, assayCohortTitle } = this.config;
261
+ const mainTerm = term.getTitleText?.() || term.term.name;
262
+ const _headerPretext = headerText ? `${headerText} ` : "";
263
+ const _headerSuffix = assayCohortTitle ? ` (${assayCohortTitle})` : "";
264
+ const titleBase = mainTerm + _headerSuffix;
265
+ if (term2?.type) {
266
+ this.dom.paneTitleText.html(`${_headerPretext}${term2.getTitleText?.() || term2.term.name} vs ${titleBase}`);
267
+ } else {
268
+ this.dom.paneTitleText.html(`${_headerPretext}${titleBase}`);
269
+ }
270
+ }
271
+ async setComponent(config) {
272
+ const _ = await importPlot(config.childType, `unsupported childType='${config.childType}'`);
273
+ this.dom.plotDivs[config.childType] = this.dom.viz.append("div");
274
+ const componentOpts = {
275
+ app: this.app,
276
+ holder: this.dom.plotDivs[config.childType],
277
+ id: this.id,
278
+ parent: this.api
279
+ };
280
+ if (config.parentId) componentOpts.parentId = config.parentId;
281
+ this.components.plots[config.childType] = await _.componentInit(componentOpts);
282
+ }
283
+ destroy() {
284
+ this.dom.holder.app_div.selectAll("*").remove();
285
+ this.dom.holder.app_div.remove();
286
+ for (const key in this.dom) {
287
+ delete this.dom[key];
288
+ }
289
+ }
290
+ initUi(opts, config) {
291
+ this.dom.paneTitleText.html(config.term.term.name);
292
+ this.chartToggles.main();
293
+ }
294
+ async tabClickCallback(event, tab) {
295
+ if (!tab || !tab.getConfig) return;
296
+ let config;
297
+ try {
298
+ this.dom.viz.style("display", "none");
299
+ this.dom.loading.style("display", "");
300
+ config = await tab.getConfig();
301
+ this.dom.loading.style("display", "none");
302
+ this.dom.viz.style("display", "");
303
+ if (config)
304
+ this.app.dispatch({
305
+ type: "plot_edit",
306
+ id: this.id,
307
+ config
308
+ });
309
+ } catch (e) {
310
+ this.dom.loading.style("display", "none");
311
+ this.error = e;
312
+ this.dom.errdiv.style("display", "").html(`Error: ${e.message || e.error || e}`);
313
+ }
314
+ }
315
+ async getWrappedTermCopy(term, mode) {
316
+ if (!term) return;
317
+ const tw = structuredClone(term);
318
+ tw.q.mode = mode;
319
+ await fillTermWrapper(tw, this.app.vocabApi);
320
+ return tw;
321
+ }
322
+ render() {
323
+ for (const childType of Object.keys(this.components.plots)) {
324
+ const chart = this.components.plots[childType];
325
+ if (chart.type != this.config.childType) {
326
+ this.dom.plotDivs[chart.type].style("display", "none");
327
+ }
328
+ }
329
+ this.dom.plotDivs[this.config.childType].style("display", "");
330
+ }
331
+ getChartImages() {
332
+ const chart = this.components.plots[this.config.childType];
333
+ if (chart?.getChartImages) {
334
+ return chart.getChartImages();
335
+ }
336
+ return null;
337
+ }
338
+ };
339
+ var summaryInit = getCompInit(SummaryPlot);
340
+ var componentInit = summaryInit;
341
+ async function getPlotConfig(opts, app) {
342
+ if (!opts.term) throw "summary getPlotConfig: opts.term{} missing";
343
+ try {
344
+ opts.term = await fillTermWrapper(
345
+ opts.term,
346
+ app.vocabApi,
347
+ opts.term.q || { geneVariant: { type: "predefined-groupset" } }
348
+ );
349
+ if (opts.term2)
350
+ opts.term2 = await fillTermWrapper(
351
+ opts.term2,
352
+ app.vocabApi,
353
+ opts.term2.bins || opts.term2.q ? void 0 : term0_term2_defaultQ
354
+ );
355
+ if (opts.term0)
356
+ opts.term0 = await fillTermWrapper(
357
+ opts.term0,
358
+ app.vocabApi,
359
+ opts.term0.bins || opts.term0.q ? void 0 : term0_term2_defaultQ
360
+ );
361
+ if (opts.colorTW) opts.colorTW = await fillTermWrapper(opts.colorTW, app.vocabApi);
362
+ if (opts.shapeTW) opts.shapeTW = await fillTermWrapper(opts.shapeTW, app.vocabApi);
363
+ if (opts.scaleDotTW) opts.scaleDotTW = await fillTermWrapper(opts.scaleDotTW, app.vocabApi);
364
+ } catch (e) {
365
+ if (e.stack) console.log(e.stack);
366
+ throw `${e} [summary getPlotConfig()]`;
367
+ }
368
+ const config = {
369
+ chartType: "summary",
370
+ childType: "barchart",
371
+ term: opts.term,
372
+ groups: [],
373
+ controlLabels: Object.assign({}, defaultUiLabels, app.vocabApi.termdbConfig.uiLabels || {}),
374
+ //Allow hiding the plot filter when appropriate (e.g. single cell summary plots)
375
+ hidePlotFilter: opts.hidePlotFilter || false,
376
+ settings: {
377
+ controls: {
378
+ isOpen: false
379
+ },
380
+ common: {
381
+ use_logscale: false,
382
+ // flag for y-axis scale type, 0=linear, 1=log
383
+ use_percentage: false
384
+ // Move to barchart settings
385
+ // barheight: 300, // maximum bar length
386
+ // barwidth: 20, // bar thickness
387
+ // barspace: 2 // space between two bars
388
+ },
389
+ barchart: getDefaultBarSettings(app),
390
+ violin: getDefaultViolinSettings(app),
391
+ boxplot: getDefaultBoxplotSettings(app),
392
+ sampleScatter: getDefaultScatterSettings(opts)
393
+ },
394
+ mayAdjustConfig(config2, edits = {}) {
395
+ return mayAdjustConfig(config2, opts, edits);
396
+ }
397
+ };
398
+ if (config.term.term.type == "geneVariant") config.settings.barchart.colorBars = true;
399
+ copyMerge(config, opts);
400
+ Object.assign(config.controlLabels, app.vocabApi.termdbConfig.uiLabels || {});
401
+ return config;
402
+ }
403
+ var discreteByContinuousPlots = /* @__PURE__ */ new Set(["violin", "boxplot"]);
404
+ function mayAdjustConfig(config, opts, edits = {}) {
405
+ if (edits.childType) {
406
+ if (config.childType != edits.childType) throw `action.config.childType was not applied in mass store.plot_edit()`;
407
+ return;
408
+ }
409
+ if (config.term?.q?.mode == "continuous" && config.term2?.q?.mode == "continuous") {
410
+ config.childType = "sampleScatter";
411
+ } else if (config.term?.term?.type == "termCollection") {
412
+ if (config.term.term.memberType == "categorical") {
413
+ config.childType = "barchart";
414
+ } else if (config.term.term.memberType == "numeric") {
415
+ if (config.childType) {
416
+ if (config.childType == "barchart") {
417
+ config.childType = "violin";
418
+ } else {
419
+ }
420
+ } else {
421
+ config.childType = "violin";
422
+ }
423
+ } else {
424
+ throw new Error("config.term.term.memberType not categorical or numeric");
425
+ }
426
+ } else if (config.term?.q?.mode == "continuous" || config.term2?.q?.mode == "continuous") {
427
+ if (!discreteByContinuousPlots.has(config.childType)) {
428
+ if (opts.childType && !discreteByContinuousPlots.has(opts.childType)) {
429
+ console.warn(
430
+ `ignoring summary opts.childType='${opts.childType}' since it does not support plotting discrete by continuous tw's`
431
+ );
432
+ config.childType = "violin";
433
+ } else {
434
+ config.childType = opts.childType || "violin";
435
+ }
436
+ }
437
+ } else {
438
+ config.childType = "barchart";
439
+ }
440
+ }
441
+
442
+ export {
443
+ summaryInit,
444
+ componentInit,
445
+ getPlotConfig,
446
+ mayAdjustConfig
447
+ };
448
+ //# sourceMappingURL=chunk-JNBJG57F.js.map