@sjcrh/proteinpaint-client 2.203.0 → 2.203.1

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 (884) hide show
  1. package/dist/2dmaf-6CEBP4SA.js +1366 -0
  2. package/dist/AIProjectAdmin-2CKKFC3A.js +951 -0
  3. package/dist/AggregateMatrix-5TBUMFE5.js +665 -0
  4. package/dist/AppHeader-5YBPWF44.js +829 -0
  5. package/dist/BoxPlot-UOJS5SJV.js +1210 -0
  6. package/dist/CorrelationVolcano-KX6JPZMT.js +613 -0
  7. package/dist/Cuminc-TLOOLZWR.js +1208 -0
  8. package/dist/DE-HUQLQ2Z3.js +87 -0
  9. package/dist/DEinput-WWUISAF2.js +404 -0
  10. package/dist/DifferentialAnalysis-6DTAGCEY.js +237 -0
  11. package/dist/Disco-P6ZLPYLF.js +3388 -0
  12. package/dist/Disco.UI-WGTMAFK2.js +242 -0
  13. package/dist/DmrPlot-3FRU5KUK.js +636 -0
  14. package/dist/GB-NWOBARL3.js +1390 -0
  15. package/dist/GSEA-DEEUAAMI.js +850 -0
  16. package/dist/GeneExpInput-6QWGEAFV.js +361 -0
  17. package/dist/Geomap-6HT2B7RH.js +83 -0
  18. package/dist/HicApp-PCNOUULF.js +2244 -0
  19. package/dist/IDCViewer-H3QPXVM3.js +10811 -0
  20. package/dist/NumBinaryEditor-IU6OLMKN.js +278 -0
  21. package/dist/NumBinaryEditor.unit.spec-YUPUILIV.js +311 -0
  22. package/dist/NumContEditor-KFDA76QN.js +104 -0
  23. package/dist/NumContEditor.unit.spec-QBOT5QHU.js +163 -0
  24. package/dist/NumCustomBinEditor-EOSTEXLB.js +32 -0
  25. package/dist/NumCustomBinEditor.unit.spec-B46XWFYH.js +396 -0
  26. package/dist/NumDiscreteEditor-Y4EAADXC.js +169 -0
  27. package/dist/NumDiscreteEditor.unit.spec-SJGHLWSM.js +232 -0
  28. package/dist/NumRegularBinEditor-3BNG7DIN.js +32 -0
  29. package/dist/NumRegularBinEditor.unit.spec-KM45QXXG.js +277 -0
  30. package/dist/NumSplineEditor-K4KPDC4S.js +209 -0
  31. package/dist/NumSplineEditor.unit.spec-TKQP5XTS.js +223 -0
  32. package/dist/NumericDensity-Z6JFVN3D.js +32 -0
  33. package/dist/NumericDensity.unit.spec-YEYBVLEP.js +417 -0
  34. package/dist/NumericHandler-ITT6HMPN.js +33 -0
  35. package/dist/NumericHandler.unit.spec-QVONMXY4.js +213 -0
  36. package/dist/ProteomeInput-PRS3DEMZ.js +387 -0
  37. package/dist/Regression-LJJJBBT6.js +1413 -0
  38. package/dist/Regression-LJJJBBT6.js.map +7 -0
  39. package/dist/RunChart2-AMM2JFF5.js +749 -0
  40. package/dist/SC-F7IE66VZ.js +1106 -0
  41. package/dist/Violin-RJ6OJZ4F.js +1073 -0
  42. package/dist/Volcano-BJA5HN5Y.js +1414 -0
  43. package/dist/WSIViewer-RJZGRUIR.js +26194 -0
  44. package/dist/Wsi-DXP6KOQA.js +232 -0
  45. package/dist/WsiSamplesPlot-2IAWV2B6.js +159 -0
  46. package/dist/adSandbox-RGWOIV3W.js +32 -0
  47. package/dist/animatedBubbleChart-J4Q2NAEW.js +546 -0
  48. package/dist/app-3QXNR4VG.js +31 -0
  49. package/dist/app-B4B7YNP3.js +41 -0
  50. package/dist/app.js +12 -12
  51. package/dist/bam-LRUMN45P.js +875 -0
  52. package/dist/barchart-L2G6GEHK.js +41 -0
  53. package/dist/barchart2-DWNVAZAJ.js +308 -0
  54. package/dist/block-TVEVAXNP.js +6248 -0
  55. package/dist/block.init-YOHAKPRI.js +32 -0
  56. package/dist/block.mds.expressionrank-PU6JH4W5.js +353 -0
  57. package/dist/block.mds.geneboxplot-WYYFDNE3.js +822 -0
  58. package/dist/block.mds.junction-4WCTL7Y4.js +1538 -0
  59. package/dist/block.mds.svcnv-MR3VCYUW.js +6795 -0
  60. package/dist/block.svg-LR3Y4ZO7.js +158 -0
  61. package/dist/block.tk.aicheck-A5AWKJZI.js +277 -0
  62. package/dist/block.tk.ase-AQBBAQEH.js +359 -0
  63. package/dist/block.tk.bam-QBTA2O3V.js +1900 -0
  64. package/dist/block.tk.bedgraphdot-4ALZG2MY.js +378 -0
  65. package/dist/block.tk.bigwig.ui-32W6XW37.js +205 -0
  66. package/dist/block.tk.hicstraw-PKBHBAG2.js +817 -0
  67. package/dist/block.tk.junction-AO5CXUCU.js +2357 -0
  68. package/dist/block.tk.junction.textmatrixui-RORVUIPI.js +193 -0
  69. package/dist/block.tk.ld-TNBSR4FT.js +93 -0
  70. package/dist/block.tk.menu-QDJO54J5.js +1023 -0
  71. package/dist/block.tk.pgv-6222WWYR.js +937 -0
  72. package/dist/brainImaging-2TPE7MXB.js +426 -0
  73. package/dist/brainImaging-2TPE7MXB.js.map +7 -0
  74. package/dist/brainRegions-KTFH6DE2.js +215 -0
  75. package/dist/bubbleHeatmap-LNXZLFY6.js +377 -0
  76. package/dist/cellTypeBubbleHeatmap-SRHUNX3S.js +277 -0
  77. package/dist/chunk-3TXVDBGN.js +626 -0
  78. package/dist/chunk-4HLHKBHP.js +274 -0
  79. package/dist/chunk-5GG7Q2ZG.js +397 -0
  80. package/dist/chunk-5HVAVJKW.js +518 -0
  81. package/dist/chunk-5HVAVJKW.js.map +7 -0
  82. package/dist/chunk-5PMFCQKC.js +98 -0
  83. package/dist/chunk-67URJYN7.js +84 -0
  84. package/dist/chunk-67URJYN7.js.map +7 -0
  85. package/dist/chunk-6AKSOLBX.js +5071 -0
  86. package/dist/chunk-6AKSOLBX.js.map +7 -0
  87. package/dist/chunk-6X7PP7A4.js +2126 -0
  88. package/dist/chunk-A3EDLRUN.js +54 -0
  89. package/dist/chunk-ACXFPMJP.js +14 -0
  90. package/dist/chunk-ASRW3UJ5.js +102 -0
  91. package/dist/chunk-BBILSUDX.js +176 -0
  92. package/dist/chunk-BOWI37X2.js +100 -0
  93. package/dist/chunk-BVA26EFK.js +368 -0
  94. package/dist/chunk-D5J57ENI.js +797 -0
  95. package/dist/chunk-D5PX2UDG.js +23878 -0
  96. package/dist/chunk-D5PX2UDG.js.map +7 -0
  97. package/dist/chunk-DAGONMWK.js +261 -0
  98. package/dist/chunk-DAGONMWK.js.map +7 -0
  99. package/dist/chunk-DXLO4OAB.js +357 -0
  100. package/dist/chunk-DXLO4OAB.js.map +7 -0
  101. package/dist/chunk-E5BFGDLA.js +292 -0
  102. package/dist/chunk-ECISCOPF.js +134 -0
  103. package/dist/chunk-ECLUUJVE.js +158 -0
  104. package/dist/chunk-EGDQ5I54.js +272 -0
  105. package/dist/chunk-ELNVTA7O.js +56 -0
  106. package/dist/chunk-EO6M3LY3.js +339 -0
  107. package/dist/chunk-EO6M3LY3.js.map +7 -0
  108. package/dist/chunk-F4PMOAQK.js +494 -0
  109. package/dist/chunk-FISQTHD4.js +2327 -0
  110. package/dist/chunk-FXT2XM4E.js +1337 -0
  111. package/dist/chunk-FXT2XM4E.js.map +7 -0
  112. package/dist/chunk-HIWTGMTE.js +1721 -0
  113. package/dist/chunk-HIWTGMTE.js.map +7 -0
  114. package/dist/chunk-HL6GJIOH.js +1254 -0
  115. package/dist/chunk-IGZAOCTU.js +55 -0
  116. package/dist/chunk-JMDJI7KM.js +6360 -0
  117. package/dist/chunk-JQVA264Z.js +49 -0
  118. package/dist/chunk-JRF7SRLB.js +2784 -0
  119. package/dist/chunk-KLWSW6CC.js +203 -0
  120. package/dist/chunk-KNNSOOTG.js +194 -0
  121. package/dist/chunk-KTPXQH2N.js +170 -0
  122. package/dist/chunk-LGKXSWY4.js +276 -0
  123. package/dist/chunk-LP2GIXVK.js +4274 -0
  124. package/dist/chunk-M2ZZL5EV.js +2669 -0
  125. package/dist/chunk-M2ZZL5EV.js.map +7 -0
  126. package/dist/chunk-MBHERRJR.js +302 -0
  127. package/dist/chunk-MLYQDJUQ.js +480 -0
  128. package/dist/chunk-NBGDLLMX.js +446 -0
  129. package/dist/chunk-OPMMU6DQ.js +183 -0
  130. package/dist/chunk-OPMMU6DQ.js.map +7 -0
  131. package/dist/chunk-P3JEXVBT.js +50 -0
  132. package/dist/chunk-PZPPJY4K.js +34 -0
  133. package/dist/chunk-Q6JF4ZLT.js +141 -0
  134. package/dist/chunk-QF5IH7PC.js +263 -0
  135. package/dist/chunk-QJ6SO7CF.js +465 -0
  136. package/dist/chunk-QQUOVIOM.js +2899 -0
  137. package/dist/chunk-R3OBOAOF.js +240 -0
  138. package/dist/chunk-SNCZRDS5.js +557 -0
  139. package/dist/chunk-SNCZRDS5.js.map +7 -0
  140. package/dist/chunk-SPDNUC76.js +70 -0
  141. package/dist/chunk-T3663ZQL.js +37 -0
  142. package/dist/chunk-TSK4ZTFK.js +340 -0
  143. package/dist/chunk-USW6WRDZ.js +217 -0
  144. package/dist/chunk-WBMYHNKH.js +299 -0
  145. package/dist/chunk-X46LAU4Q.js +187 -0
  146. package/dist/chunk-XE6E526E.js +129 -0
  147. package/dist/chunk-XWCWBHLB.js +123 -0
  148. package/dist/chunk-YCECQV3T.js +160 -0
  149. package/dist/chunk-YROOKO3Q.js +1954 -0
  150. package/dist/chunk-YROOKO3Q.js.map +7 -0
  151. package/dist/chunk-Z4NADGZX.js +243 -0
  152. package/dist/chunk-Z53KOPRJ.js +102 -0
  153. package/dist/cohort-U7M6Q2UX.js +69 -0
  154. package/dist/condition-EGAV2PMJ.js +326 -0
  155. package/dist/controls-PTMYWUZV.js +33 -0
  156. package/dist/controls.config-DOA6PTP2.js +33 -0
  157. package/dist/correlation-Y3EL6GB7.js +94 -0
  158. package/dist/customdata.inputui-4NDDG6FL.js +283 -0
  159. package/dist/dataDownload-EQGUAOK2.js +328 -0
  160. package/dist/databrowser.ui-ABGOJUWQ.js +424 -0
  161. package/dist/dictionary-YOLLEDE5.js +112 -0
  162. package/dist/dnaMethylation-JZT63UHO.js +32 -0
  163. package/dist/dnaMethylation.integration.spec-EATCABJW.js +197 -0
  164. package/dist/dofetch-YNBIUFV5.js +48 -0
  165. package/dist/e2pca-RD6COCRL.js +343 -0
  166. package/dist/ep-BAI7WUET.js +1248 -0
  167. package/dist/expclust.gdc.spec-LKV2CQA5.js +301 -0
  168. package/dist/facet-X3SXQIAC.js +518 -0
  169. package/dist/gb-K324K7XB.js +80 -0
  170. package/dist/geneExpClustering-BJD5U3KG.js +243 -0
  171. package/dist/geneExpression-2TK3XLZ5.js +310 -0
  172. package/dist/geneExpression-F6NRTHZ4.js +32 -0
  173. package/dist/geneExpression.unit.spec-IFZN3J6A.js +96 -0
  174. package/dist/geneORA-DUEP735U.js +272 -0
  175. package/dist/geneRanking-LURDNT7L.js +547 -0
  176. package/dist/geneVariant-EAVCWQAZ.js +35 -0
  177. package/dist/geneVariant-IZTFYAG6.js +284 -0
  178. package/dist/geneVariant-IZTFYAG6.js.map +7 -0
  179. package/dist/geneVariant.integration.spec-LHL4ERFO.js +192 -0
  180. package/dist/genefusion.ui-4T5R7DT7.js +302 -0
  181. package/dist/geneset-3PWXPBG2.js +202 -0
  182. package/dist/genomeBrowser.spec-5SEN7R2P.js +275 -0
  183. package/dist/grin2-EXBG7TMS.js +1136 -0
  184. package/dist/grin2-XIXVFVWO.js +69 -0
  185. package/dist/hierCluster-5XQIWXAY.js +57 -0
  186. package/dist/hierCluster-I4TAQWPF.js +53 -0
  187. package/dist/hierCluster.config-T7HVAWES.js +34 -0
  188. package/dist/hierCluster.integration.spec-XWX43K4D.js +482 -0
  189. package/dist/hierCluster.interactivity-MYIDHFSL.js +48 -0
  190. package/dist/hierCluster.renderers-YRXA5ZUK.js +19 -0
  191. package/dist/imagePlot-4JQB6JUG.js +155 -0
  192. package/dist/importPlot-D3MXCCLN.js +8 -0
  193. package/dist/isoformExpression-WNGGUVIZ.js +34 -0
  194. package/dist/isoformExpression.unit.spec-NVJ5TIKM.js +236 -0
  195. package/dist/junction-O7N57JE3.js +35 -0
  196. package/dist/junction.unit.spec-Z63DRTRR.js +181 -0
  197. package/dist/launch.adhoc-MBDRXD3B.js +36 -0
  198. package/dist/leftlabel.sample-IG6FOQ26.js +257 -0
  199. package/dist/lollipop-ZUYBLPGN.js +165 -0
  200. package/dist/maf-QOS5LURG.js +454 -0
  201. package/dist/maftimeline-FEHP2J55.js +586 -0
  202. package/dist/matrix-BG4J4RXA.js +57 -0
  203. package/dist/matrix-PX4LWTGN.js +52 -0
  204. package/dist/matrix.cells-PTIDQVCI.js +26 -0
  205. package/dist/matrix.config-NHW7BLIE.js +35 -0
  206. package/dist/matrix.data-FMIQRXOA.js +23 -0
  207. package/dist/matrix.dom-4S2UYJOU.js +11 -0
  208. package/dist/matrix.groups-QMID5XAO.js +25 -0
  209. package/dist/matrix.integration.spec-H6T7KP5R.js +3066 -0
  210. package/dist/matrix.interactivity-WQUO25HB.js +36 -0
  211. package/dist/matrix.layout-CTPVZZ34.js +38 -0
  212. package/dist/matrix.legend-K6EYUN6L.js +20 -0
  213. package/dist/matrix.renderers-5DIAUY6R.js +32 -0
  214. package/dist/matrix.serieses-LRMN2J52.js +19 -0
  215. package/dist/matrix.sort-RGAGEA6Z.js +25 -0
  216. package/dist/matrix.sort.unit.spec-RGICZZJL.js +466 -0
  217. package/dist/matrix.sorterUi.unit.spec-45QPEGWE.js +336 -0
  218. package/dist/matrix.unit.spec-TMRZM5DU.js +148 -0
  219. package/dist/matrix.unit.spec-TMRZM5DU.js.map +7 -0
  220. package/dist/mavb-VEIVB62L.js +726 -0
  221. package/dist/mds.fimo-BG4LTWFB.js +512 -0
  222. package/dist/mds.samplescatterplot-PWADJZ2J.js +1544 -0
  223. package/dist/mds.survivalplot-BX4HZ23K.js +476 -0
  224. package/dist/multivalue-OZALSBFW.js +82 -0
  225. package/dist/numericDictTermCluster-7PGJ7KV4.js +63 -0
  226. package/dist/oncomatrix-Q2EQZPLS.js +289 -0
  227. package/dist/oncomatrix.spec-YEQOQRPW.js +442 -0
  228. package/dist/plot.2dvaf-NJSB3HNH.js +371 -0
  229. package/dist/plot.app-AEUR6XGI.js +35 -0
  230. package/dist/plot.barplot-OXN2P5KL.js +96 -0
  231. package/dist/plot.boxplot-2KHEVVFE.js +145 -0
  232. package/dist/plot.brainImaging-JWDX4BZG.js +51 -0
  233. package/dist/plot.disco-LUFC5GGC.js +99 -0
  234. package/dist/plot.ssgq-FMM3IRNA.js +133 -0
  235. package/dist/plot.vaf2cov-K5TAQUC5.js +252 -0
  236. package/dist/plot.wsi-CNQCNZ4Z.js +36 -0
  237. package/dist/polar2-AB6SVYRS.js +231 -0
  238. package/dist/profileForms-AIEHZ4GC.js +933 -0
  239. package/dist/profilePlot-PZDFGXKZ.js +48 -0
  240. package/dist/proteinView-7GWHQYXC.js +1561 -0
  241. package/dist/proteomeCohortCompare-BTN4HHFL.js +779 -0
  242. package/dist/proteomeCohortCompare-BTN4HHFL.js.map +7 -0
  243. package/dist/pseudbulk.unit.spec-NFT4VNTI.js +85 -0
  244. package/dist/pseudobulk-WDGWTXW4.js +34 -0
  245. package/dist/qualitative-PZYJENE7.js +37 -0
  246. package/dist/radar2-QHRGH3YS.js +326 -0
  247. package/dist/radarFacility2-2JD26FL6.js +334 -0
  248. package/dist/render-YA4Z56LT.js +32 -0
  249. package/dist/report-2NUKFJTF.js +216 -0
  250. package/dist/sampleView-2XVPJTVR.js +42 -0
  251. package/dist/samplelst-DMILFDT5.js +105 -0
  252. package/dist/samplematrix-LYA5XTUM.js +2192 -0
  253. package/dist/sc-CM2C34MN.js +80 -0
  254. package/dist/scatter-C3CH3HTF.js +879 -0
  255. package/dist/scatter-GO6LV6NY.js +87 -0
  256. package/dist/selectGenomeWithTklst-5C7UBTGZ.js +128 -0
  257. package/dist/singleCellCellType-EZYESBVZ.js +32 -0
  258. package/dist/singleCellCellType.unit.spec-DB6FM4XR.js +153 -0
  259. package/dist/singleCellGeneExpression-DZLEFPW4.js +32 -0
  260. package/dist/singleCellGeneExpression.unit.spec-ZTBK3V43.js +147 -0
  261. package/dist/singleCellPlot-VF4TZ4FT.js +48 -0
  262. package/dist/singlecell-2MHROPBN.js +1565 -0
  263. package/dist/singlecell-GPAFNOUZ.js +80 -0
  264. package/dist/snp-K4EAEVW4.js +32 -0
  265. package/dist/snp.unit.spec-BUVQLVOY.js +170 -0
  266. package/dist/snplocus-GEVISN6Z.js +202 -0
  267. package/dist/spliceevent.a53ss.diagram-5UPWNAZF.js +145 -0
  268. package/dist/spliceevent.exonskip.diagram-7TKAQURC.js +277 -0
  269. package/dist/spliceevent.noeventdiagram-CDXZLR3Z.js +454 -0
  270. package/dist/ssGSEA-NMCJUQXT.js +32 -0
  271. package/dist/ssGSEA.unit.spec-3FQALTPQ.js +82 -0
  272. package/dist/stattable-2RXQPWKK.js +116 -0
  273. package/dist/studyCatalog-WWFCTTX7.js +377 -0
  274. package/dist/studyCatalog-WWFCTTX7.js.map +7 -0
  275. package/dist/summarizeCnvGeneexp-4BQS5AFM.js +157 -0
  276. package/dist/summarizeGeneexpSurvival-HTBZQFB5.js +104 -0
  277. package/dist/summarizeMutationCnv-XUWZGPCM.js +158 -0
  278. package/dist/summarizeMutationDiagnosis-QUJX42TO.js +34 -0
  279. package/dist/summarizeMutationSurvival-3R47TTR6.js +93 -0
  280. package/dist/summary-6UUB63QR.js +41 -0
  281. package/dist/summary.integration.spec-JJDE6SRV.js +408 -0
  282. package/dist/summaryInput-JG4AW6FW.js +225 -0
  283. package/dist/sunburst-YKB42RZX.js +277 -0
  284. package/dist/survival-3IFFTDQA.js +52 -0
  285. package/dist/survival-HOFNJENX.js +1236 -0
  286. package/dist/survival.integration.spec-7YZYKEUW.js +612 -0
  287. package/dist/survival.integration.spec-7YZYKEUW.js.map +7 -0
  288. package/dist/svgraph-WFEY4ZIZ.js +1381 -0
  289. package/dist/svmr-44EIX7YD.js +3836 -0
  290. package/dist/table-6MKVJUNC.js +196 -0
  291. package/dist/termCollection-6JBVQL6Y.js +251 -0
  292. package/dist/termCollection-TTELZVC5.js +32 -0
  293. package/dist/termCollection.unit.spec-6Z7X646L.js +298 -0
  294. package/dist/termCollectionFractionSelection-5DVIJBM5.js +41 -0
  295. package/dist/termCollectionFractionSelection.unit.spec-3HIM5BIF.js +187 -0
  296. package/dist/tk-HSYWJCGQ.js +40 -0
  297. package/dist/tk-PNOVG2XS.js +1120 -0
  298. package/dist/tp.ui-COBBSUPB.js +1453 -0
  299. package/dist/tvs.dt-35AKURFI.js +33 -0
  300. package/dist/tvs.dtcnv.categorical-3EHXYROL.js +34 -0
  301. package/dist/tvs.dtcnv.continuous-AXQ2GU6S.js +66 -0
  302. package/dist/tvs.dtfusion-PLJIMPNX.js +34 -0
  303. package/dist/tvs.dtitd-JS6RFBV5.js +34 -0
  304. package/dist/tvs.dtsnvindel-MDEM5MPT.js +34 -0
  305. package/dist/tvs.dtsv-OU756YLO.js +34 -0
  306. package/dist/tvs.samplelst-5NDICES4.js +98 -0
  307. package/dist/tvs.termCollection-5URPDPH6.js +123 -0
  308. package/dist/vocabulary-CHCVMPK5.js +35 -0
  309. package/dist/wsi.direct-JSKV4H4X.js +75 -0
  310. package/package.json +4 -4
  311. package/dist/2dmaf-I4HBWRNQ.js +0 -1366
  312. package/dist/AIProjectAdmin-SZYSG7HR.js +0 -951
  313. package/dist/AggregateMatrix-U7HHALFR.js +0 -665
  314. package/dist/AppHeader-O4RBZQZF.js +0 -829
  315. package/dist/BoxPlot-NOXWAGX6.js +0 -1210
  316. package/dist/CorrelationVolcano-IJ5UT6N5.js +0 -613
  317. package/dist/Cuminc-NGUDAOAD.js +0 -1208
  318. package/dist/DE-MIAHOI5J.js +0 -87
  319. package/dist/DEinput-FYBSL2ER.js +0 -404
  320. package/dist/DifferentialAnalysis-I6S5YQXY.js +0 -237
  321. package/dist/Disco-VLUBOZDC.js +0 -3388
  322. package/dist/Disco.UI-QQYWQEW7.js +0 -242
  323. package/dist/DmrPlot-DFOBEN7A.js +0 -636
  324. package/dist/GB-5FSXJMEZ.js +0 -1390
  325. package/dist/GSEA-JISHQOVY.js +0 -850
  326. package/dist/GeneExpInput-5YEX22VD.js +0 -361
  327. package/dist/Geomap-YVF6YBK5.js +0 -83
  328. package/dist/HicApp-ZCMOOKTY.js +0 -2244
  329. package/dist/IDCViewer-5ZNTAEUG.js +0 -10811
  330. package/dist/NumBinaryEditor-BEF5YCKI.js +0 -278
  331. package/dist/NumBinaryEditor.unit.spec-GCYZGHB2.js +0 -311
  332. package/dist/NumContEditor-TUXPB6YJ.js +0 -104
  333. package/dist/NumContEditor.unit.spec-5CMHHWIP.js +0 -163
  334. package/dist/NumCustomBinEditor-HS7RSGFV.js +0 -32
  335. package/dist/NumCustomBinEditor.unit.spec-MM3JJXT4.js +0 -396
  336. package/dist/NumDiscreteEditor-ZL7PP6ZT.js +0 -169
  337. package/dist/NumDiscreteEditor.unit.spec-OEWX2KJC.js +0 -232
  338. package/dist/NumRegularBinEditor-YBXK7YV6.js +0 -32
  339. package/dist/NumRegularBinEditor.unit.spec-FVHN4J5L.js +0 -277
  340. package/dist/NumSplineEditor-VN4XBTTI.js +0 -209
  341. package/dist/NumSplineEditor.unit.spec-AI642DWP.js +0 -223
  342. package/dist/NumericDensity-2KTY7DGH.js +0 -32
  343. package/dist/NumericDensity.unit.spec-6EA72A24.js +0 -417
  344. package/dist/NumericHandler-62EN6AD3.js +0 -33
  345. package/dist/NumericHandler.unit.spec-FXOJ2L2L.js +0 -213
  346. package/dist/ProteomeInput-MBBDXO2Z.js +0 -387
  347. package/dist/Regression-OQETMZPL.js +0 -1408
  348. package/dist/Regression-OQETMZPL.js.map +0 -7
  349. package/dist/RunChart2-RHZFHH4M.js +0 -749
  350. package/dist/SC-FAQXOHO4.js +0 -1106
  351. package/dist/Violin-2A3ICNBP.js +0 -1073
  352. package/dist/Volcano-X5KGHLHZ.js +0 -1414
  353. package/dist/WSIViewer-F2SD6LLP.js +0 -26194
  354. package/dist/Wsi-KAFAC3Q5.js +0 -232
  355. package/dist/WsiSamplesPlot-VKPMLDZI.js +0 -159
  356. package/dist/adSandbox-QKG5EA23.js +0 -32
  357. package/dist/animatedBubbleChart-ES62XWMN.js +0 -546
  358. package/dist/app-2HLLOBTD.js +0 -41
  359. package/dist/app-GJL6K6V4.js +0 -31
  360. package/dist/bam-DCPAAVPX.js +0 -875
  361. package/dist/barchart-DCVGCEZO.js +0 -41
  362. package/dist/barchart2-5X57VSIN.js +0 -308
  363. package/dist/block-XYSUTBXJ.js +0 -6248
  364. package/dist/block.init-5B27QKPU.js +0 -32
  365. package/dist/block.mds.expressionrank-Z7BGGPZ7.js +0 -353
  366. package/dist/block.mds.geneboxplot-4U4UZH2J.js +0 -822
  367. package/dist/block.mds.junction-ZPCUEQZJ.js +0 -1538
  368. package/dist/block.mds.svcnv-OGGPBOL2.js +0 -6795
  369. package/dist/block.svg-BWGAMNDS.js +0 -158
  370. package/dist/block.tk.aicheck-XHHW7WST.js +0 -277
  371. package/dist/block.tk.ase-BZ2IL3CQ.js +0 -359
  372. package/dist/block.tk.bam-WRHOOWXN.js +0 -1900
  373. package/dist/block.tk.bedgraphdot-B536STRA.js +0 -378
  374. package/dist/block.tk.bigwig.ui-K5X3BSQC.js +0 -205
  375. package/dist/block.tk.hicstraw-OYOKZ45W.js +0 -817
  376. package/dist/block.tk.junction-S5JMMMR6.js +0 -2357
  377. package/dist/block.tk.junction.textmatrixui-OLZY5BYR.js +0 -193
  378. package/dist/block.tk.ld-KINDO5UU.js +0 -93
  379. package/dist/block.tk.menu-3FNBVZ7J.js +0 -1023
  380. package/dist/block.tk.pgv-UHDY3T4G.js +0 -937
  381. package/dist/brainImaging-KWFRX3XB.js +0 -422
  382. package/dist/brainImaging-KWFRX3XB.js.map +0 -7
  383. package/dist/brainRegions-YI7K4OVE.js +0 -215
  384. package/dist/bubbleHeatmap-EQ44CSG5.js +0 -377
  385. package/dist/cellTypeBubbleHeatmap-O3KL2YBF.js +0 -277
  386. package/dist/chunk-254KEDDH.js +0 -129
  387. package/dist/chunk-25RPYQRT.js +0 -203
  388. package/dist/chunk-2OEMKKLP.js +0 -272
  389. package/dist/chunk-34AV6DED.js +0 -299
  390. package/dist/chunk-3UOSDVFJ.js +0 -1710
  391. package/dist/chunk-3UOSDVFJ.js.map +0 -7
  392. package/dist/chunk-4GN3CSDT.js +0 -98
  393. package/dist/chunk-4KUGV44F.js +0 -397
  394. package/dist/chunk-4WF3XDQP.js +0 -220
  395. package/dist/chunk-4WF3XDQP.js.map +0 -7
  396. package/dist/chunk-55PGOBTR.js +0 -123
  397. package/dist/chunk-5RHE36DQ.js +0 -37
  398. package/dist/chunk-6456HESK.js +0 -160
  399. package/dist/chunk-6THPWBBU.js +0 -102
  400. package/dist/chunk-6ZLCBVJA.js +0 -54
  401. package/dist/chunk-7AYGTMED.js +0 -182
  402. package/dist/chunk-7AYGTMED.js.map +0 -7
  403. package/dist/chunk-7ROMS7YT.js +0 -626
  404. package/dist/chunk-7UFK4GVI.js +0 -263
  405. package/dist/chunk-7UFK4GVI.js.map +0 -7
  406. package/dist/chunk-ALXSSRGI.js +0 -263
  407. package/dist/chunk-AT7HWXMW.js +0 -302
  408. package/dist/chunk-AVR4LFOO.js +0 -194
  409. package/dist/chunk-BY5B5BM5.js +0 -170
  410. package/dist/chunk-BZ36NJHA.js +0 -797
  411. package/dist/chunk-BZKHE26Z.js +0 -340
  412. package/dist/chunk-CBRZIMNF.js +0 -217
  413. package/dist/chunk-CTO247UZ.js +0 -5069
  414. package/dist/chunk-CTO247UZ.js.map +0 -7
  415. package/dist/chunk-D27C6HZW.js +0 -50
  416. package/dist/chunk-D73PJ4WC.js +0 -512
  417. package/dist/chunk-D73PJ4WC.js.map +0 -7
  418. package/dist/chunk-DLXMO6EK.js +0 -494
  419. package/dist/chunk-EK7CQC3P.js +0 -100
  420. package/dist/chunk-FCMHDCMO.js +0 -56
  421. package/dist/chunk-GJFG2MML.js +0 -1254
  422. package/dist/chunk-GQQ4R6BI.js +0 -24060
  423. package/dist/chunk-GQQ4R6BI.js.map +0 -7
  424. package/dist/chunk-HENLCRVM.js +0 -2126
  425. package/dist/chunk-I56CSICA.js +0 -292
  426. package/dist/chunk-I5KBI5PC.js +0 -274
  427. package/dist/chunk-IHDVUZFC.js +0 -1947
  428. package/dist/chunk-IHDVUZFC.js.map +0 -7
  429. package/dist/chunk-IUA3PSTK.js +0 -6360
  430. package/dist/chunk-J3TIXBCS.js +0 -276
  431. package/dist/chunk-JJHMFHRC.js +0 -257
  432. package/dist/chunk-JJHMFHRC.js.map +0 -7
  433. package/dist/chunk-JPQSDB2H.js +0 -102
  434. package/dist/chunk-LIMDUEVX.js +0 -1336
  435. package/dist/chunk-LIMDUEVX.js.map +0 -7
  436. package/dist/chunk-MECQLU4J.js +0 -243
  437. package/dist/chunk-MEJMWIBD.js +0 -187
  438. package/dist/chunk-MT5MHYL3.js +0 -480
  439. package/dist/chunk-NVH5I6EP.js +0 -176
  440. package/dist/chunk-OGQMELRU.js +0 -14
  441. package/dist/chunk-PBRW6QLS.js +0 -4274
  442. package/dist/chunk-PPJMCBVT.js +0 -82
  443. package/dist/chunk-PPJMCBVT.js.map +0 -7
  444. package/dist/chunk-RRI3RX4A.js +0 -2669
  445. package/dist/chunk-RRI3RX4A.js.map +0 -7
  446. package/dist/chunk-S2D6GH6D.js +0 -465
  447. package/dist/chunk-SACNULB3.js +0 -368
  448. package/dist/chunk-SEJGXC2L.js +0 -141
  449. package/dist/chunk-TMZZ4Z7L.js +0 -34
  450. package/dist/chunk-TRWFL52W.js +0 -446
  451. package/dist/chunk-VP2FPPLA.js +0 -70
  452. package/dist/chunk-VTYMSJGY.js +0 -49
  453. package/dist/chunk-WEF6INPI.js +0 -2784
  454. package/dist/chunk-WO4CL5JL.js +0 -240
  455. package/dist/chunk-WVVH56ZU.js +0 -2327
  456. package/dist/chunk-WZTZJNSG.js +0 -2899
  457. package/dist/chunk-XPSUKXMF.js +0 -556
  458. package/dist/chunk-XPSUKXMF.js.map +0 -7
  459. package/dist/chunk-XXITHNR2.js +0 -134
  460. package/dist/chunk-YCLNEB4L.js +0 -158
  461. package/dist/chunk-ZPFN3CYR.js +0 -55
  462. package/dist/cohort-JCMVMOBQ.js +0 -69
  463. package/dist/condition-SHRWEMG7.js +0 -326
  464. package/dist/controls-EKIHLQS6.js +0 -33
  465. package/dist/controls.config-WSVX6UC6.js +0 -33
  466. package/dist/correlation-ALFFZLKD.js +0 -94
  467. package/dist/customdata.inputui-L2UAIU6I.js +0 -283
  468. package/dist/dataDownload-73N5364T.js +0 -328
  469. package/dist/databrowser.ui-NTOGXDYE.js +0 -424
  470. package/dist/dictionary-CUAU2X6Q.js +0 -112
  471. package/dist/dnaMethylation-AGWAGXVD.js +0 -32
  472. package/dist/dnaMethylation.integration.spec-K22XXOU4.js +0 -197
  473. package/dist/dofetch-BVJ77SP7.js +0 -48
  474. package/dist/e2pca-4HIJWLSC.js +0 -343
  475. package/dist/ep-U4RGH62P.js +0 -1248
  476. package/dist/expclust.gdc.spec-JJGGQDQK.js +0 -301
  477. package/dist/facet-NNUPVXCG.js +0 -518
  478. package/dist/gb-2MYXJEMY.js +0 -80
  479. package/dist/geneExpClustering-6ORRRH43.js +0 -243
  480. package/dist/geneExpression-4JVWKJWP.js +0 -310
  481. package/dist/geneExpression-MARWAIHW.js +0 -32
  482. package/dist/geneExpression.unit.spec-3CQTUSDK.js +0 -96
  483. package/dist/geneORA-M2L2YEX3.js +0 -272
  484. package/dist/geneRanking-S2B3LSTU.js +0 -547
  485. package/dist/geneVariant-D2ANGINP.js +0 -35
  486. package/dist/geneVariant-T4NG72OL.js +0 -33
  487. package/dist/geneVariant.integration.spec-62NJS7GD.js +0 -192
  488. package/dist/genefusion.ui-4ZZNKANU.js +0 -302
  489. package/dist/geneset-QCLFANPD.js +0 -202
  490. package/dist/genomeBrowser.spec-BV5M6JFN.js +0 -275
  491. package/dist/grin2-J4VDS2JT.js +0 -1136
  492. package/dist/grin2-K5G3N5XP.js +0 -69
  493. package/dist/hierCluster-FMK524WF.js +0 -57
  494. package/dist/hierCluster-XF7ZWVKD.js +0 -53
  495. package/dist/hierCluster.config-LYAQCO3L.js +0 -34
  496. package/dist/hierCluster.integration.spec-NSLTJBL4.js +0 -482
  497. package/dist/hierCluster.interactivity-VKAOR2DR.js +0 -48
  498. package/dist/hierCluster.renderers-6C5F7LRL.js +0 -19
  499. package/dist/imagePlot-IPTIFVLT.js +0 -155
  500. package/dist/importPlot-V3P6DCUR.js +0 -8
  501. package/dist/isoformExpression-6IIPJI4M.js +0 -34
  502. package/dist/isoformExpression.unit.spec-IYZWSLO5.js +0 -236
  503. package/dist/junction-E6FB2OP4.js +0 -35
  504. package/dist/junction.unit.spec-M4EN7KPG.js +0 -181
  505. package/dist/launch.adhoc-SU5L2YXN.js +0 -36
  506. package/dist/leftlabel.sample-5WTK5NBD.js +0 -257
  507. package/dist/lollipop-L64ZTEEX.js +0 -165
  508. package/dist/maf-QLNFANWO.js +0 -454
  509. package/dist/maftimeline-U7FMTMTV.js +0 -586
  510. package/dist/matrix-GFVK3PEB.js +0 -57
  511. package/dist/matrix-HFJQGPJJ.js +0 -52
  512. package/dist/matrix.cells-5JKTBI3X.js +0 -26
  513. package/dist/matrix.config-QPTQ22RR.js +0 -35
  514. package/dist/matrix.data-MXIUMSRR.js +0 -23
  515. package/dist/matrix.dom-ENBFB4CW.js +0 -11
  516. package/dist/matrix.groups-6DYTBVGR.js +0 -25
  517. package/dist/matrix.integration.spec-X4HM67TN.js +0 -3066
  518. package/dist/matrix.interactivity-QTB56LXE.js +0 -36
  519. package/dist/matrix.layout-VQAORIIH.js +0 -38
  520. package/dist/matrix.legend-SDJXYNHE.js +0 -20
  521. package/dist/matrix.renderers-6PMYIP2S.js +0 -32
  522. package/dist/matrix.serieses-WWY7474U.js +0 -19
  523. package/dist/matrix.sort-V46C2MAZ.js +0 -25
  524. package/dist/matrix.sort.unit.spec-3RM7V6CS.js +0 -466
  525. package/dist/matrix.sorterUi.unit.spec-YOV6FBRT.js +0 -336
  526. package/dist/mavb-PJA76T7F.js +0 -726
  527. package/dist/mds.fimo-GW7XPJGQ.js +0 -512
  528. package/dist/mds.samplescatterplot-ZAIEWPO4.js +0 -1544
  529. package/dist/mds.survivalplot-ETLLFDWR.js +0 -476
  530. package/dist/multivalue-AZPAQJQD.js +0 -82
  531. package/dist/numericDictTermCluster-KOJODGZT.js +0 -63
  532. package/dist/oncomatrix-2TRXETOJ.js +0 -289
  533. package/dist/oncomatrix.spec-DOVKLS24.js +0 -442
  534. package/dist/plot.2dvaf-RQN6QADW.js +0 -371
  535. package/dist/plot.app-MOIVGIS6.js +0 -35
  536. package/dist/plot.barplot-46QRWJOX.js +0 -96
  537. package/dist/plot.boxplot-54J4UWQX.js +0 -145
  538. package/dist/plot.brainImaging-Y32KQFLS.js +0 -51
  539. package/dist/plot.disco-4R5J7Z5S.js +0 -99
  540. package/dist/plot.ssgq-6LCKYRYD.js +0 -133
  541. package/dist/plot.vaf2cov-UCBH4NSC.js +0 -252
  542. package/dist/plot.wsi-DAC7NUQE.js +0 -36
  543. package/dist/polar2-JKV74QV5.js +0 -231
  544. package/dist/profileForms-VDYCFH4M.js +0 -933
  545. package/dist/profilePlot-PR3LVRYU.js +0 -48
  546. package/dist/proteinView-A3EM6OR5.js +0 -1561
  547. package/dist/proteomeCohortCompare-QGFEJTDQ.js +0 -793
  548. package/dist/proteomeCohortCompare-QGFEJTDQ.js.map +0 -7
  549. package/dist/pseudbulk.unit.spec-CUMTLAH7.js +0 -85
  550. package/dist/pseudobulk-5E5MSMU3.js +0 -34
  551. package/dist/qualitative-WPXUBISK.js +0 -37
  552. package/dist/radar2-A5OYMORS.js +0 -326
  553. package/dist/radarFacility2-4TPJB6M4.js +0 -334
  554. package/dist/render-XQBWWS33.js +0 -32
  555. package/dist/report-NCJOTYIC.js +0 -216
  556. package/dist/sampleView-2PUSMG4W.js +0 -42
  557. package/dist/samplelst-FV7BAUN5.js +0 -105
  558. package/dist/samplematrix-DFD3PNI4.js +0 -2192
  559. package/dist/sc-GIMTDVLG.js +0 -80
  560. package/dist/scatter-4GJ5HKUY.js +0 -879
  561. package/dist/scatter-P3ISZB3R.js +0 -87
  562. package/dist/selectGenomeWithTklst-ZZ4CEHDU.js +0 -128
  563. package/dist/singleCellCellType-CEERCVTR.js +0 -32
  564. package/dist/singleCellCellType.unit.spec-JNEIICK5.js +0 -153
  565. package/dist/singleCellGeneExpression-G5B7DDES.js +0 -32
  566. package/dist/singleCellGeneExpression.unit.spec-CGRZGY66.js +0 -147
  567. package/dist/singleCellPlot-US5KTHS4.js +0 -48
  568. package/dist/singlecell-IPTSIKNA.js +0 -1565
  569. package/dist/singlecell-VB4KLPJF.js +0 -80
  570. package/dist/snp-6V2SCCRN.js +0 -32
  571. package/dist/snp.unit.spec-Q537NGVG.js +0 -170
  572. package/dist/snplocus-BV6WJTVP.js +0 -202
  573. package/dist/spliceevent.a53ss.diagram-3BUQVK4Q.js +0 -145
  574. package/dist/spliceevent.exonskip.diagram-CQZ2DFQ5.js +0 -277
  575. package/dist/spliceevent.noeventdiagram-QAEPR6LD.js +0 -454
  576. package/dist/ssGSEA-XNI5S7AC.js +0 -32
  577. package/dist/ssGSEA.unit.spec-A337IMC7.js +0 -82
  578. package/dist/stattable-J4ZQKJFM.js +0 -116
  579. package/dist/studyCatalog-BJTJJGBC.js +0 -352
  580. package/dist/studyCatalog-BJTJJGBC.js.map +0 -7
  581. package/dist/summarizeCnvGeneexp-76UJXLA4.js +0 -157
  582. package/dist/summarizeGeneexpSurvival-ZUEHXA2R.js +0 -104
  583. package/dist/summarizeMutationCnv-EBCBVMG6.js +0 -158
  584. package/dist/summarizeMutationDiagnosis-VLFI2ZIZ.js +0 -34
  585. package/dist/summarizeMutationSurvival-QRFMJLLO.js +0 -93
  586. package/dist/summary-U3YKEMZC.js +0 -41
  587. package/dist/summary.integration.spec-52WP6SNY.js +0 -408
  588. package/dist/summaryInput-WUJNHCGH.js +0 -225
  589. package/dist/sunburst-IJ3ZG2BC.js +0 -277
  590. package/dist/survival-F2B5JKOO.js +0 -1236
  591. package/dist/survival-SQRYWGWZ.js +0 -52
  592. package/dist/survival.integration.spec-YGRZJ2OL.js +0 -967
  593. package/dist/survival.integration.spec-YGRZJ2OL.js.map +0 -7
  594. package/dist/svgraph-HVCMF6KI.js +0 -1381
  595. package/dist/svmr-PROHTMTP.js +0 -3836
  596. package/dist/table-3E64OJNV.js +0 -196
  597. package/dist/termCollection-MUH7P6B5.js +0 -32
  598. package/dist/termCollection-WKT6ESMI.js +0 -251
  599. package/dist/termCollection.unit.spec-XMOCMVER.js +0 -298
  600. package/dist/termCollectionFractionSelection-P5G6WIJJ.js +0 -41
  601. package/dist/termCollectionFractionSelection.unit.spec-MG7E3EIZ.js +0 -187
  602. package/dist/tk-HWUPUGOS.js +0 -1120
  603. package/dist/tk-SBM2GN3S.js +0 -40
  604. package/dist/tp.ui-RRB5MJRD.js +0 -1453
  605. package/dist/tvs.dt-I2ECKHQ2.js +0 -33
  606. package/dist/tvs.dtcnv.categorical-7RJPQKMX.js +0 -34
  607. package/dist/tvs.dtcnv.continuous-FW4ZXIYY.js +0 -66
  608. package/dist/tvs.dtfusion-3GDWW3ML.js +0 -34
  609. package/dist/tvs.dtitd-FER4H4UO.js +0 -34
  610. package/dist/tvs.dtsnvindel-ISEOJ5UA.js +0 -34
  611. package/dist/tvs.dtsv-JDML7EWE.js +0 -34
  612. package/dist/tvs.samplelst-MJTM6GSV.js +0 -98
  613. package/dist/tvs.termCollection-GMOXBJWF.js +0 -123
  614. package/dist/vocabulary-5EJMLXI2.js +0 -35
  615. package/dist/vocabulary-5EJMLXI2.js.map +0 -7
  616. package/dist/wsi.direct-IVPACPNT.js +0 -75
  617. /package/dist/{2dmaf-I4HBWRNQ.js.map → 2dmaf-6CEBP4SA.js.map} +0 -0
  618. /package/dist/{AIProjectAdmin-SZYSG7HR.js.map → AIProjectAdmin-2CKKFC3A.js.map} +0 -0
  619. /package/dist/{AggregateMatrix-U7HHALFR.js.map → AggregateMatrix-5TBUMFE5.js.map} +0 -0
  620. /package/dist/{AppHeader-O4RBZQZF.js.map → AppHeader-5YBPWF44.js.map} +0 -0
  621. /package/dist/{BoxPlot-NOXWAGX6.js.map → BoxPlot-UOJS5SJV.js.map} +0 -0
  622. /package/dist/{CorrelationVolcano-IJ5UT6N5.js.map → CorrelationVolcano-KX6JPZMT.js.map} +0 -0
  623. /package/dist/{Cuminc-NGUDAOAD.js.map → Cuminc-TLOOLZWR.js.map} +0 -0
  624. /package/dist/{DE-MIAHOI5J.js.map → DE-HUQLQ2Z3.js.map} +0 -0
  625. /package/dist/{DEinput-FYBSL2ER.js.map → DEinput-WWUISAF2.js.map} +0 -0
  626. /package/dist/{DifferentialAnalysis-I6S5YQXY.js.map → DifferentialAnalysis-6DTAGCEY.js.map} +0 -0
  627. /package/dist/{Disco-VLUBOZDC.js.map → Disco-P6ZLPYLF.js.map} +0 -0
  628. /package/dist/{Disco.UI-QQYWQEW7.js.map → Disco.UI-WGTMAFK2.js.map} +0 -0
  629. /package/dist/{DmrPlot-DFOBEN7A.js.map → DmrPlot-3FRU5KUK.js.map} +0 -0
  630. /package/dist/{GB-5FSXJMEZ.js.map → GB-NWOBARL3.js.map} +0 -0
  631. /package/dist/{GSEA-JISHQOVY.js.map → GSEA-DEEUAAMI.js.map} +0 -0
  632. /package/dist/{GeneExpInput-5YEX22VD.js.map → GeneExpInput-6QWGEAFV.js.map} +0 -0
  633. /package/dist/{Geomap-YVF6YBK5.js.map → Geomap-6HT2B7RH.js.map} +0 -0
  634. /package/dist/{HicApp-ZCMOOKTY.js.map → HicApp-PCNOUULF.js.map} +0 -0
  635. /package/dist/{IDCViewer-5ZNTAEUG.js.map → IDCViewer-H3QPXVM3.js.map} +0 -0
  636. /package/dist/{NumBinaryEditor-BEF5YCKI.js.map → NumBinaryEditor-IU6OLMKN.js.map} +0 -0
  637. /package/dist/{NumBinaryEditor.unit.spec-GCYZGHB2.js.map → NumBinaryEditor.unit.spec-YUPUILIV.js.map} +0 -0
  638. /package/dist/{NumContEditor-TUXPB6YJ.js.map → NumContEditor-KFDA76QN.js.map} +0 -0
  639. /package/dist/{NumContEditor.unit.spec-5CMHHWIP.js.map → NumContEditor.unit.spec-QBOT5QHU.js.map} +0 -0
  640. /package/dist/{NumCustomBinEditor-HS7RSGFV.js.map → NumCustomBinEditor-EOSTEXLB.js.map} +0 -0
  641. /package/dist/{NumCustomBinEditor.unit.spec-MM3JJXT4.js.map → NumCustomBinEditor.unit.spec-B46XWFYH.js.map} +0 -0
  642. /package/dist/{NumDiscreteEditor-ZL7PP6ZT.js.map → NumDiscreteEditor-Y4EAADXC.js.map} +0 -0
  643. /package/dist/{NumDiscreteEditor.unit.spec-OEWX2KJC.js.map → NumDiscreteEditor.unit.spec-SJGHLWSM.js.map} +0 -0
  644. /package/dist/{NumRegularBinEditor-YBXK7YV6.js.map → NumRegularBinEditor-3BNG7DIN.js.map} +0 -0
  645. /package/dist/{NumRegularBinEditor.unit.spec-FVHN4J5L.js.map → NumRegularBinEditor.unit.spec-KM45QXXG.js.map} +0 -0
  646. /package/dist/{NumSplineEditor-VN4XBTTI.js.map → NumSplineEditor-K4KPDC4S.js.map} +0 -0
  647. /package/dist/{NumSplineEditor.unit.spec-AI642DWP.js.map → NumSplineEditor.unit.spec-TKQP5XTS.js.map} +0 -0
  648. /package/dist/{NumericDensity-2KTY7DGH.js.map → NumericDensity-Z6JFVN3D.js.map} +0 -0
  649. /package/dist/{NumericDensity.unit.spec-6EA72A24.js.map → NumericDensity.unit.spec-YEYBVLEP.js.map} +0 -0
  650. /package/dist/{NumericHandler-62EN6AD3.js.map → NumericHandler-ITT6HMPN.js.map} +0 -0
  651. /package/dist/{NumericHandler.unit.spec-FXOJ2L2L.js.map → NumericHandler.unit.spec-QVONMXY4.js.map} +0 -0
  652. /package/dist/{ProteomeInput-MBBDXO2Z.js.map → ProteomeInput-PRS3DEMZ.js.map} +0 -0
  653. /package/dist/{RunChart2-RHZFHH4M.js.map → RunChart2-AMM2JFF5.js.map} +0 -0
  654. /package/dist/{SC-FAQXOHO4.js.map → SC-F7IE66VZ.js.map} +0 -0
  655. /package/dist/{Violin-2A3ICNBP.js.map → Violin-RJ6OJZ4F.js.map} +0 -0
  656. /package/dist/{Volcano-X5KGHLHZ.js.map → Volcano-BJA5HN5Y.js.map} +0 -0
  657. /package/dist/{WSIViewer-F2SD6LLP.js.map → WSIViewer-RJZGRUIR.js.map} +0 -0
  658. /package/dist/{Wsi-KAFAC3Q5.js.map → Wsi-DXP6KOQA.js.map} +0 -0
  659. /package/dist/{WsiSamplesPlot-VKPMLDZI.js.map → WsiSamplesPlot-2IAWV2B6.js.map} +0 -0
  660. /package/dist/{adSandbox-QKG5EA23.js.map → adSandbox-RGWOIV3W.js.map} +0 -0
  661. /package/dist/{animatedBubbleChart-ES62XWMN.js.map → animatedBubbleChart-J4Q2NAEW.js.map} +0 -0
  662. /package/dist/{app-2HLLOBTD.js.map → app-3QXNR4VG.js.map} +0 -0
  663. /package/dist/{app-GJL6K6V4.js.map → app-B4B7YNP3.js.map} +0 -0
  664. /package/dist/{bam-DCPAAVPX.js.map → bam-LRUMN45P.js.map} +0 -0
  665. /package/dist/{barchart-DCVGCEZO.js.map → barchart-L2G6GEHK.js.map} +0 -0
  666. /package/dist/{barchart2-5X57VSIN.js.map → barchart2-DWNVAZAJ.js.map} +0 -0
  667. /package/dist/{block-XYSUTBXJ.js.map → block-TVEVAXNP.js.map} +0 -0
  668. /package/dist/{block.init-5B27QKPU.js.map → block.init-YOHAKPRI.js.map} +0 -0
  669. /package/dist/{block.mds.expressionrank-Z7BGGPZ7.js.map → block.mds.expressionrank-PU6JH4W5.js.map} +0 -0
  670. /package/dist/{block.mds.geneboxplot-4U4UZH2J.js.map → block.mds.geneboxplot-WYYFDNE3.js.map} +0 -0
  671. /package/dist/{block.mds.junction-ZPCUEQZJ.js.map → block.mds.junction-4WCTL7Y4.js.map} +0 -0
  672. /package/dist/{block.mds.svcnv-OGGPBOL2.js.map → block.mds.svcnv-MR3VCYUW.js.map} +0 -0
  673. /package/dist/{block.svg-BWGAMNDS.js.map → block.svg-LR3Y4ZO7.js.map} +0 -0
  674. /package/dist/{block.tk.aicheck-XHHW7WST.js.map → block.tk.aicheck-A5AWKJZI.js.map} +0 -0
  675. /package/dist/{block.tk.ase-BZ2IL3CQ.js.map → block.tk.ase-AQBBAQEH.js.map} +0 -0
  676. /package/dist/{block.tk.bam-WRHOOWXN.js.map → block.tk.bam-QBTA2O3V.js.map} +0 -0
  677. /package/dist/{block.tk.bedgraphdot-B536STRA.js.map → block.tk.bedgraphdot-4ALZG2MY.js.map} +0 -0
  678. /package/dist/{block.tk.bigwig.ui-K5X3BSQC.js.map → block.tk.bigwig.ui-32W6XW37.js.map} +0 -0
  679. /package/dist/{block.tk.hicstraw-OYOKZ45W.js.map → block.tk.hicstraw-PKBHBAG2.js.map} +0 -0
  680. /package/dist/{block.tk.junction-S5JMMMR6.js.map → block.tk.junction-AO5CXUCU.js.map} +0 -0
  681. /package/dist/{block.tk.junction.textmatrixui-OLZY5BYR.js.map → block.tk.junction.textmatrixui-RORVUIPI.js.map} +0 -0
  682. /package/dist/{block.tk.ld-KINDO5UU.js.map → block.tk.ld-TNBSR4FT.js.map} +0 -0
  683. /package/dist/{block.tk.menu-3FNBVZ7J.js.map → block.tk.menu-QDJO54J5.js.map} +0 -0
  684. /package/dist/{block.tk.pgv-UHDY3T4G.js.map → block.tk.pgv-6222WWYR.js.map} +0 -0
  685. /package/dist/{brainRegions-YI7K4OVE.js.map → brainRegions-KTFH6DE2.js.map} +0 -0
  686. /package/dist/{bubbleHeatmap-EQ44CSG5.js.map → bubbleHeatmap-LNXZLFY6.js.map} +0 -0
  687. /package/dist/{cellTypeBubbleHeatmap-O3KL2YBF.js.map → cellTypeBubbleHeatmap-SRHUNX3S.js.map} +0 -0
  688. /package/dist/{chunk-7ROMS7YT.js.map → chunk-3TXVDBGN.js.map} +0 -0
  689. /package/dist/{chunk-I5KBI5PC.js.map → chunk-4HLHKBHP.js.map} +0 -0
  690. /package/dist/{chunk-4KUGV44F.js.map → chunk-5GG7Q2ZG.js.map} +0 -0
  691. /package/dist/{chunk-4GN3CSDT.js.map → chunk-5PMFCQKC.js.map} +0 -0
  692. /package/dist/{chunk-HENLCRVM.js.map → chunk-6X7PP7A4.js.map} +0 -0
  693. /package/dist/{chunk-6ZLCBVJA.js.map → chunk-A3EDLRUN.js.map} +0 -0
  694. /package/dist/{chunk-OGQMELRU.js.map → chunk-ACXFPMJP.js.map} +0 -0
  695. /package/dist/{chunk-JPQSDB2H.js.map → chunk-ASRW3UJ5.js.map} +0 -0
  696. /package/dist/{chunk-NVH5I6EP.js.map → chunk-BBILSUDX.js.map} +0 -0
  697. /package/dist/{chunk-EK7CQC3P.js.map → chunk-BOWI37X2.js.map} +0 -0
  698. /package/dist/{chunk-SACNULB3.js.map → chunk-BVA26EFK.js.map} +0 -0
  699. /package/dist/{chunk-BZ36NJHA.js.map → chunk-D5J57ENI.js.map} +0 -0
  700. /package/dist/{chunk-I56CSICA.js.map → chunk-E5BFGDLA.js.map} +0 -0
  701. /package/dist/{chunk-XXITHNR2.js.map → chunk-ECISCOPF.js.map} +0 -0
  702. /package/dist/{chunk-YCLNEB4L.js.map → chunk-ECLUUJVE.js.map} +0 -0
  703. /package/dist/{chunk-2OEMKKLP.js.map → chunk-EGDQ5I54.js.map} +0 -0
  704. /package/dist/{chunk-FCMHDCMO.js.map → chunk-ELNVTA7O.js.map} +0 -0
  705. /package/dist/{chunk-DLXMO6EK.js.map → chunk-F4PMOAQK.js.map} +0 -0
  706. /package/dist/{chunk-WVVH56ZU.js.map → chunk-FISQTHD4.js.map} +0 -0
  707. /package/dist/{chunk-GJFG2MML.js.map → chunk-HL6GJIOH.js.map} +0 -0
  708. /package/dist/{chunk-ZPFN3CYR.js.map → chunk-IGZAOCTU.js.map} +0 -0
  709. /package/dist/{chunk-IUA3PSTK.js.map → chunk-JMDJI7KM.js.map} +0 -0
  710. /package/dist/{chunk-VTYMSJGY.js.map → chunk-JQVA264Z.js.map} +0 -0
  711. /package/dist/{chunk-WEF6INPI.js.map → chunk-JRF7SRLB.js.map} +0 -0
  712. /package/dist/{chunk-25RPYQRT.js.map → chunk-KLWSW6CC.js.map} +0 -0
  713. /package/dist/{chunk-AVR4LFOO.js.map → chunk-KNNSOOTG.js.map} +0 -0
  714. /package/dist/{chunk-BY5B5BM5.js.map → chunk-KTPXQH2N.js.map} +0 -0
  715. /package/dist/{chunk-J3TIXBCS.js.map → chunk-LGKXSWY4.js.map} +0 -0
  716. /package/dist/{chunk-PBRW6QLS.js.map → chunk-LP2GIXVK.js.map} +0 -0
  717. /package/dist/{chunk-AT7HWXMW.js.map → chunk-MBHERRJR.js.map} +0 -0
  718. /package/dist/{chunk-MT5MHYL3.js.map → chunk-MLYQDJUQ.js.map} +0 -0
  719. /package/dist/{chunk-TRWFL52W.js.map → chunk-NBGDLLMX.js.map} +0 -0
  720. /package/dist/{chunk-D27C6HZW.js.map → chunk-P3JEXVBT.js.map} +0 -0
  721. /package/dist/{chunk-TMZZ4Z7L.js.map → chunk-PZPPJY4K.js.map} +0 -0
  722. /package/dist/{chunk-SEJGXC2L.js.map → chunk-Q6JF4ZLT.js.map} +0 -0
  723. /package/dist/{chunk-ALXSSRGI.js.map → chunk-QF5IH7PC.js.map} +0 -0
  724. /package/dist/{chunk-S2D6GH6D.js.map → chunk-QJ6SO7CF.js.map} +0 -0
  725. /package/dist/{chunk-WZTZJNSG.js.map → chunk-QQUOVIOM.js.map} +0 -0
  726. /package/dist/{chunk-WO4CL5JL.js.map → chunk-R3OBOAOF.js.map} +0 -0
  727. /package/dist/{chunk-VP2FPPLA.js.map → chunk-SPDNUC76.js.map} +0 -0
  728. /package/dist/{chunk-5RHE36DQ.js.map → chunk-T3663ZQL.js.map} +0 -0
  729. /package/dist/{chunk-BZKHE26Z.js.map → chunk-TSK4ZTFK.js.map} +0 -0
  730. /package/dist/{chunk-CBRZIMNF.js.map → chunk-USW6WRDZ.js.map} +0 -0
  731. /package/dist/{chunk-34AV6DED.js.map → chunk-WBMYHNKH.js.map} +0 -0
  732. /package/dist/{chunk-MEJMWIBD.js.map → chunk-X46LAU4Q.js.map} +0 -0
  733. /package/dist/{chunk-254KEDDH.js.map → chunk-XE6E526E.js.map} +0 -0
  734. /package/dist/{chunk-55PGOBTR.js.map → chunk-XWCWBHLB.js.map} +0 -0
  735. /package/dist/{chunk-6456HESK.js.map → chunk-YCECQV3T.js.map} +0 -0
  736. /package/dist/{chunk-MECQLU4J.js.map → chunk-Z4NADGZX.js.map} +0 -0
  737. /package/dist/{chunk-6THPWBBU.js.map → chunk-Z53KOPRJ.js.map} +0 -0
  738. /package/dist/{cohort-JCMVMOBQ.js.map → cohort-U7M6Q2UX.js.map} +0 -0
  739. /package/dist/{condition-SHRWEMG7.js.map → condition-EGAV2PMJ.js.map} +0 -0
  740. /package/dist/{controls-EKIHLQS6.js.map → controls-PTMYWUZV.js.map} +0 -0
  741. /package/dist/{controls.config-WSVX6UC6.js.map → controls.config-DOA6PTP2.js.map} +0 -0
  742. /package/dist/{correlation-ALFFZLKD.js.map → correlation-Y3EL6GB7.js.map} +0 -0
  743. /package/dist/{customdata.inputui-L2UAIU6I.js.map → customdata.inputui-4NDDG6FL.js.map} +0 -0
  744. /package/dist/{dataDownload-73N5364T.js.map → dataDownload-EQGUAOK2.js.map} +0 -0
  745. /package/dist/{databrowser.ui-NTOGXDYE.js.map → databrowser.ui-ABGOJUWQ.js.map} +0 -0
  746. /package/dist/{dictionary-CUAU2X6Q.js.map → dictionary-YOLLEDE5.js.map} +0 -0
  747. /package/dist/{dnaMethylation-AGWAGXVD.js.map → dnaMethylation-JZT63UHO.js.map} +0 -0
  748. /package/dist/{dnaMethylation.integration.spec-K22XXOU4.js.map → dnaMethylation.integration.spec-EATCABJW.js.map} +0 -0
  749. /package/dist/{dofetch-BVJ77SP7.js.map → dofetch-YNBIUFV5.js.map} +0 -0
  750. /package/dist/{e2pca-4HIJWLSC.js.map → e2pca-RD6COCRL.js.map} +0 -0
  751. /package/dist/{ep-U4RGH62P.js.map → ep-BAI7WUET.js.map} +0 -0
  752. /package/dist/{expclust.gdc.spec-JJGGQDQK.js.map → expclust.gdc.spec-LKV2CQA5.js.map} +0 -0
  753. /package/dist/{facet-NNUPVXCG.js.map → facet-X3SXQIAC.js.map} +0 -0
  754. /package/dist/{gb-2MYXJEMY.js.map → gb-K324K7XB.js.map} +0 -0
  755. /package/dist/{geneExpClustering-6ORRRH43.js.map → geneExpClustering-BJD5U3KG.js.map} +0 -0
  756. /package/dist/{geneExpression-4JVWKJWP.js.map → geneExpression-2TK3XLZ5.js.map} +0 -0
  757. /package/dist/{geneExpression-MARWAIHW.js.map → geneExpression-F6NRTHZ4.js.map} +0 -0
  758. /package/dist/{geneExpression.unit.spec-3CQTUSDK.js.map → geneExpression.unit.spec-IFZN3J6A.js.map} +0 -0
  759. /package/dist/{geneORA-M2L2YEX3.js.map → geneORA-DUEP735U.js.map} +0 -0
  760. /package/dist/{geneRanking-S2B3LSTU.js.map → geneRanking-LURDNT7L.js.map} +0 -0
  761. /package/dist/{geneVariant-D2ANGINP.js.map → geneVariant-EAVCWQAZ.js.map} +0 -0
  762. /package/dist/{geneVariant.integration.spec-62NJS7GD.js.map → geneVariant.integration.spec-LHL4ERFO.js.map} +0 -0
  763. /package/dist/{genefusion.ui-4ZZNKANU.js.map → genefusion.ui-4T5R7DT7.js.map} +0 -0
  764. /package/dist/{geneset-QCLFANPD.js.map → geneset-3PWXPBG2.js.map} +0 -0
  765. /package/dist/{genomeBrowser.spec-BV5M6JFN.js.map → genomeBrowser.spec-5SEN7R2P.js.map} +0 -0
  766. /package/dist/{grin2-J4VDS2JT.js.map → grin2-EXBG7TMS.js.map} +0 -0
  767. /package/dist/{grin2-K5G3N5XP.js.map → grin2-XIXVFVWO.js.map} +0 -0
  768. /package/dist/{geneVariant-T4NG72OL.js.map → hierCluster-5XQIWXAY.js.map} +0 -0
  769. /package/dist/{hierCluster-FMK524WF.js.map → hierCluster-I4TAQWPF.js.map} +0 -0
  770. /package/dist/{hierCluster-XF7ZWVKD.js.map → hierCluster.config-T7HVAWES.js.map} +0 -0
  771. /package/dist/{hierCluster.integration.spec-NSLTJBL4.js.map → hierCluster.integration.spec-XWX43K4D.js.map} +0 -0
  772. /package/dist/{hierCluster.config-LYAQCO3L.js.map → hierCluster.interactivity-MYIDHFSL.js.map} +0 -0
  773. /package/dist/{hierCluster.interactivity-VKAOR2DR.js.map → hierCluster.renderers-YRXA5ZUK.js.map} +0 -0
  774. /package/dist/{imagePlot-IPTIFVLT.js.map → imagePlot-4JQB6JUG.js.map} +0 -0
  775. /package/dist/{hierCluster.renderers-6C5F7LRL.js.map → importPlot-D3MXCCLN.js.map} +0 -0
  776. /package/dist/{importPlot-V3P6DCUR.js.map → isoformExpression-WNGGUVIZ.js.map} +0 -0
  777. /package/dist/{isoformExpression.unit.spec-IYZWSLO5.js.map → isoformExpression.unit.spec-NVJ5TIKM.js.map} +0 -0
  778. /package/dist/{isoformExpression-6IIPJI4M.js.map → junction-O7N57JE3.js.map} +0 -0
  779. /package/dist/{junction.unit.spec-M4EN7KPG.js.map → junction.unit.spec-Z63DRTRR.js.map} +0 -0
  780. /package/dist/{junction-E6FB2OP4.js.map → launch.adhoc-MBDRXD3B.js.map} +0 -0
  781. /package/dist/{leftlabel.sample-5WTK5NBD.js.map → leftlabel.sample-IG6FOQ26.js.map} +0 -0
  782. /package/dist/{lollipop-L64ZTEEX.js.map → lollipop-ZUYBLPGN.js.map} +0 -0
  783. /package/dist/{maf-QLNFANWO.js.map → maf-QOS5LURG.js.map} +0 -0
  784. /package/dist/{maftimeline-U7FMTMTV.js.map → maftimeline-FEHP2J55.js.map} +0 -0
  785. /package/dist/{launch.adhoc-SU5L2YXN.js.map → matrix-BG4J4RXA.js.map} +0 -0
  786. /package/dist/{matrix-GFVK3PEB.js.map → matrix-PX4LWTGN.js.map} +0 -0
  787. /package/dist/{matrix-HFJQGPJJ.js.map → matrix.cells-PTIDQVCI.js.map} +0 -0
  788. /package/dist/{matrix.cells-5JKTBI3X.js.map → matrix.config-NHW7BLIE.js.map} +0 -0
  789. /package/dist/{matrix.config-QPTQ22RR.js.map → matrix.data-FMIQRXOA.js.map} +0 -0
  790. /package/dist/{matrix.data-MXIUMSRR.js.map → matrix.dom-4S2UYJOU.js.map} +0 -0
  791. /package/dist/{matrix.dom-ENBFB4CW.js.map → matrix.groups-QMID5XAO.js.map} +0 -0
  792. /package/dist/{matrix.integration.spec-X4HM67TN.js.map → matrix.integration.spec-H6T7KP5R.js.map} +0 -0
  793. /package/dist/{matrix.groups-6DYTBVGR.js.map → matrix.interactivity-WQUO25HB.js.map} +0 -0
  794. /package/dist/{matrix.interactivity-QTB56LXE.js.map → matrix.layout-CTPVZZ34.js.map} +0 -0
  795. /package/dist/{matrix.layout-VQAORIIH.js.map → matrix.legend-K6EYUN6L.js.map} +0 -0
  796. /package/dist/{matrix.legend-SDJXYNHE.js.map → matrix.renderers-5DIAUY6R.js.map} +0 -0
  797. /package/dist/{matrix.renderers-6PMYIP2S.js.map → matrix.serieses-LRMN2J52.js.map} +0 -0
  798. /package/dist/{matrix.serieses-WWY7474U.js.map → matrix.sort-RGAGEA6Z.js.map} +0 -0
  799. /package/dist/{matrix.sort.unit.spec-3RM7V6CS.js.map → matrix.sort.unit.spec-RGICZZJL.js.map} +0 -0
  800. /package/dist/{matrix.sorterUi.unit.spec-YOV6FBRT.js.map → matrix.sorterUi.unit.spec-45QPEGWE.js.map} +0 -0
  801. /package/dist/{mavb-PJA76T7F.js.map → mavb-VEIVB62L.js.map} +0 -0
  802. /package/dist/{mds.fimo-GW7XPJGQ.js.map → mds.fimo-BG4LTWFB.js.map} +0 -0
  803. /package/dist/{mds.samplescatterplot-ZAIEWPO4.js.map → mds.samplescatterplot-PWADJZ2J.js.map} +0 -0
  804. /package/dist/{mds.survivalplot-ETLLFDWR.js.map → mds.survivalplot-BX4HZ23K.js.map} +0 -0
  805. /package/dist/{multivalue-AZPAQJQD.js.map → multivalue-OZALSBFW.js.map} +0 -0
  806. /package/dist/{numericDictTermCluster-KOJODGZT.js.map → numericDictTermCluster-7PGJ7KV4.js.map} +0 -0
  807. /package/dist/{oncomatrix-2TRXETOJ.js.map → oncomatrix-Q2EQZPLS.js.map} +0 -0
  808. /package/dist/{oncomatrix.spec-DOVKLS24.js.map → oncomatrix.spec-YEQOQRPW.js.map} +0 -0
  809. /package/dist/{plot.2dvaf-RQN6QADW.js.map → plot.2dvaf-NJSB3HNH.js.map} +0 -0
  810. /package/dist/{matrix.sort-V46C2MAZ.js.map → plot.app-AEUR6XGI.js.map} +0 -0
  811. /package/dist/{plot.barplot-46QRWJOX.js.map → plot.barplot-OXN2P5KL.js.map} +0 -0
  812. /package/dist/{plot.boxplot-54J4UWQX.js.map → plot.boxplot-2KHEVVFE.js.map} +0 -0
  813. /package/dist/{plot.brainImaging-Y32KQFLS.js.map → plot.brainImaging-JWDX4BZG.js.map} +0 -0
  814. /package/dist/{plot.disco-4R5J7Z5S.js.map → plot.disco-LUFC5GGC.js.map} +0 -0
  815. /package/dist/{plot.ssgq-6LCKYRYD.js.map → plot.ssgq-FMM3IRNA.js.map} +0 -0
  816. /package/dist/{plot.vaf2cov-UCBH4NSC.js.map → plot.vaf2cov-K5TAQUC5.js.map} +0 -0
  817. /package/dist/{plot.wsi-DAC7NUQE.js.map → plot.wsi-CNQCNZ4Z.js.map} +0 -0
  818. /package/dist/{polar2-JKV74QV5.js.map → polar2-AB6SVYRS.js.map} +0 -0
  819. /package/dist/{profileForms-VDYCFH4M.js.map → profileForms-AIEHZ4GC.js.map} +0 -0
  820. /package/dist/{plot.app-MOIVGIS6.js.map → profilePlot-PZDFGXKZ.js.map} +0 -0
  821. /package/dist/{proteinView-A3EM6OR5.js.map → proteinView-7GWHQYXC.js.map} +0 -0
  822. /package/dist/{pseudbulk.unit.spec-CUMTLAH7.js.map → pseudbulk.unit.spec-NFT4VNTI.js.map} +0 -0
  823. /package/dist/{profilePlot-PR3LVRYU.js.map → pseudobulk-WDGWTXW4.js.map} +0 -0
  824. /package/dist/{pseudobulk-5E5MSMU3.js.map → qualitative-PZYJENE7.js.map} +0 -0
  825. /package/dist/{radar2-A5OYMORS.js.map → radar2-QHRGH3YS.js.map} +0 -0
  826. /package/dist/{radarFacility2-4TPJB6M4.js.map → radarFacility2-2JD26FL6.js.map} +0 -0
  827. /package/dist/{qualitative-WPXUBISK.js.map → render-YA4Z56LT.js.map} +0 -0
  828. /package/dist/{report-NCJOTYIC.js.map → report-2NUKFJTF.js.map} +0 -0
  829. /package/dist/{render-XQBWWS33.js.map → sampleView-2XVPJTVR.js.map} +0 -0
  830. /package/dist/{samplelst-FV7BAUN5.js.map → samplelst-DMILFDT5.js.map} +0 -0
  831. /package/dist/{samplematrix-DFD3PNI4.js.map → samplematrix-LYA5XTUM.js.map} +0 -0
  832. /package/dist/{sc-GIMTDVLG.js.map → sc-CM2C34MN.js.map} +0 -0
  833. /package/dist/{scatter-4GJ5HKUY.js.map → scatter-C3CH3HTF.js.map} +0 -0
  834. /package/dist/{scatter-P3ISZB3R.js.map → scatter-GO6LV6NY.js.map} +0 -0
  835. /package/dist/{selectGenomeWithTklst-ZZ4CEHDU.js.map → selectGenomeWithTklst-5C7UBTGZ.js.map} +0 -0
  836. /package/dist/{sampleView-2PUSMG4W.js.map → singleCellCellType-EZYESBVZ.js.map} +0 -0
  837. /package/dist/{singleCellCellType.unit.spec-JNEIICK5.js.map → singleCellCellType.unit.spec-DB6FM4XR.js.map} +0 -0
  838. /package/dist/{singleCellCellType-CEERCVTR.js.map → singleCellGeneExpression-DZLEFPW4.js.map} +0 -0
  839. /package/dist/{singleCellGeneExpression.unit.spec-CGRZGY66.js.map → singleCellGeneExpression.unit.spec-ZTBK3V43.js.map} +0 -0
  840. /package/dist/{singleCellGeneExpression-G5B7DDES.js.map → singleCellPlot-VF4TZ4FT.js.map} +0 -0
  841. /package/dist/{singlecell-IPTSIKNA.js.map → singlecell-2MHROPBN.js.map} +0 -0
  842. /package/dist/{singlecell-VB4KLPJF.js.map → singlecell-GPAFNOUZ.js.map} +0 -0
  843. /package/dist/{singleCellPlot-US5KTHS4.js.map → snp-K4EAEVW4.js.map} +0 -0
  844. /package/dist/{snp.unit.spec-Q537NGVG.js.map → snp.unit.spec-BUVQLVOY.js.map} +0 -0
  845. /package/dist/{snplocus-BV6WJTVP.js.map → snplocus-GEVISN6Z.js.map} +0 -0
  846. /package/dist/{spliceevent.a53ss.diagram-3BUQVK4Q.js.map → spliceevent.a53ss.diagram-5UPWNAZF.js.map} +0 -0
  847. /package/dist/{spliceevent.exonskip.diagram-CQZ2DFQ5.js.map → spliceevent.exonskip.diagram-7TKAQURC.js.map} +0 -0
  848. /package/dist/{spliceevent.noeventdiagram-QAEPR6LD.js.map → spliceevent.noeventdiagram-CDXZLR3Z.js.map} +0 -0
  849. /package/dist/{snp-6V2SCCRN.js.map → ssGSEA-NMCJUQXT.js.map} +0 -0
  850. /package/dist/{ssGSEA.unit.spec-A337IMC7.js.map → ssGSEA.unit.spec-3FQALTPQ.js.map} +0 -0
  851. /package/dist/{stattable-J4ZQKJFM.js.map → stattable-2RXQPWKK.js.map} +0 -0
  852. /package/dist/{summarizeCnvGeneexp-76UJXLA4.js.map → summarizeCnvGeneexp-4BQS5AFM.js.map} +0 -0
  853. /package/dist/{summarizeGeneexpSurvival-ZUEHXA2R.js.map → summarizeGeneexpSurvival-HTBZQFB5.js.map} +0 -0
  854. /package/dist/{summarizeMutationCnv-EBCBVMG6.js.map → summarizeMutationCnv-XUWZGPCM.js.map} +0 -0
  855. /package/dist/{ssGSEA-XNI5S7AC.js.map → summarizeMutationDiagnosis-QUJX42TO.js.map} +0 -0
  856. /package/dist/{summarizeMutationSurvival-QRFMJLLO.js.map → summarizeMutationSurvival-3R47TTR6.js.map} +0 -0
  857. /package/dist/{summarizeMutationDiagnosis-VLFI2ZIZ.js.map → summary-6UUB63QR.js.map} +0 -0
  858. /package/dist/{summary.integration.spec-52WP6SNY.js.map → summary.integration.spec-JJDE6SRV.js.map} +0 -0
  859. /package/dist/{summaryInput-WUJNHCGH.js.map → summaryInput-JG4AW6FW.js.map} +0 -0
  860. /package/dist/{sunburst-IJ3ZG2BC.js.map → sunburst-YKB42RZX.js.map} +0 -0
  861. /package/dist/{survival-SQRYWGWZ.js.map → survival-3IFFTDQA.js.map} +0 -0
  862. /package/dist/{survival-F2B5JKOO.js.map → survival-HOFNJENX.js.map} +0 -0
  863. /package/dist/{svgraph-HVCMF6KI.js.map → svgraph-WFEY4ZIZ.js.map} +0 -0
  864. /package/dist/{svmr-PROHTMTP.js.map → svmr-44EIX7YD.js.map} +0 -0
  865. /package/dist/{table-3E64OJNV.js.map → table-6MKVJUNC.js.map} +0 -0
  866. /package/dist/{termCollection-WKT6ESMI.js.map → termCollection-6JBVQL6Y.js.map} +0 -0
  867. /package/dist/{summary-U3YKEMZC.js.map → termCollection-TTELZVC5.js.map} +0 -0
  868. /package/dist/{termCollection.unit.spec-XMOCMVER.js.map → termCollection.unit.spec-6Z7X646L.js.map} +0 -0
  869. /package/dist/{termCollection-MUH7P6B5.js.map → termCollectionFractionSelection-5DVIJBM5.js.map} +0 -0
  870. /package/dist/{termCollectionFractionSelection.unit.spec-MG7E3EIZ.js.map → termCollectionFractionSelection.unit.spec-3HIM5BIF.js.map} +0 -0
  871. /package/dist/{termCollectionFractionSelection-P5G6WIJJ.js.map → tk-HSYWJCGQ.js.map} +0 -0
  872. /package/dist/{tk-HWUPUGOS.js.map → tk-PNOVG2XS.js.map} +0 -0
  873. /package/dist/{tp.ui-RRB5MJRD.js.map → tp.ui-COBBSUPB.js.map} +0 -0
  874. /package/dist/{tk-SBM2GN3S.js.map → tvs.dt-35AKURFI.js.map} +0 -0
  875. /package/dist/{tvs.dtcnv.categorical-7RJPQKMX.js.map → tvs.dtcnv.categorical-3EHXYROL.js.map} +0 -0
  876. /package/dist/{tvs.dtcnv.continuous-FW4ZXIYY.js.map → tvs.dtcnv.continuous-AXQ2GU6S.js.map} +0 -0
  877. /package/dist/{tvs.dtfusion-3GDWW3ML.js.map → tvs.dtfusion-PLJIMPNX.js.map} +0 -0
  878. /package/dist/{tvs.dtitd-FER4H4UO.js.map → tvs.dtitd-JS6RFBV5.js.map} +0 -0
  879. /package/dist/{tvs.dtsnvindel-ISEOJ5UA.js.map → tvs.dtsnvindel-MDEM5MPT.js.map} +0 -0
  880. /package/dist/{tvs.dtsv-JDML7EWE.js.map → tvs.dtsv-OU756YLO.js.map} +0 -0
  881. /package/dist/{tvs.samplelst-MJTM6GSV.js.map → tvs.samplelst-5NDICES4.js.map} +0 -0
  882. /package/dist/{tvs.termCollection-GMOXBJWF.js.map → tvs.termCollection-5URPDPH6.js.map} +0 -0
  883. /package/dist/{tvs.dt-I2ECKHQ2.js.map → vocabulary-CHCVMPK5.js.map} +0 -0
  884. /package/dist/{wsi.direct-IVPACPNT.js.map → wsi.direct-JSKV4H4X.js.map} +0 -0
@@ -0,0 +1,1414 @@
1
+ import {
2
+ VolcanoModel,
3
+ getGroupColors
4
+ } from "./chunk-X46LAU4Q.js";
5
+ import {
6
+ DATermTypes,
7
+ DataPointInteractions,
8
+ GeneSetEditUI,
9
+ MultiTermWrapperEditUI,
10
+ PlotBase,
11
+ axisstyle,
12
+ controlsInit,
13
+ downloadTable,
14
+ enabledTermTypes,
15
+ fileDateStamp,
16
+ fillTermWrapper,
17
+ getCombinedTermFilter,
18
+ getDefaultVolcanoSettings,
19
+ getGEunit,
20
+ getSampleNum,
21
+ renderTable,
22
+ sayerror,
23
+ table2col,
24
+ to_svg,
25
+ validateVolcanoSettings
26
+ } from "./chunk-D5PX2UDG.js";
27
+ import "./chunk-HJ6L54YS.js";
28
+ import "./chunk-XFAL46LZ.js";
29
+ import "./chunk-OPMMU6DQ.js";
30
+ import {
31
+ Menu
32
+ } from "./chunk-ELJX3QIQ.js";
33
+ import "./chunk-7BLXK3GI.js";
34
+ import "./chunk-VSSZJHOR.js";
35
+ import "./chunk-5RUVBYLK.js";
36
+ import "./chunk-6X7PP7A4.js";
37
+ import "./chunk-EO6M3LY3.js";
38
+ import "./chunk-DXLO4OAB.js";
39
+ import {
40
+ DNA_METHYLATION,
41
+ GENE_EXPRESSION,
42
+ PROTEOME_DAP,
43
+ SINGLECELL_CELLTYPE
44
+ } from "./chunk-4QBRVM4V.js";
45
+ import {
46
+ copyMerge,
47
+ getCompInit
48
+ } from "./chunk-H6INPPUC.js";
49
+ import "./chunk-PF4DSFDR.js";
50
+ import "./chunk-IMYSFDE5.js";
51
+ import {
52
+ uiLabel
53
+ } from "./chunk-W5J3LTYS.js";
54
+ import {
55
+ axisBottom,
56
+ axisLeft
57
+ } from "./chunk-4ZL6IBXM.js";
58
+ import {
59
+ linear
60
+ } from "./chunk-OZVWP4ZR.js";
61
+ import "./chunk-FXQXCOII.js";
62
+ import {
63
+ roundValueAuto
64
+ } from "./chunk-TLT4YIG3.js";
65
+ import "./chunk-5R63Q5KH.js";
66
+ import {
67
+ selectAll_default,
68
+ select_default
69
+ } from "./chunk-I6Y4O3RR.js";
70
+ import {
71
+ rgb
72
+ } from "./chunk-Q5RDQNIT.js";
73
+ import "./chunk-DQC5FFGV.js";
74
+ import "./chunk-HFNDKYVF.js";
75
+
76
+ // plots/volcano/viewModel/VolcanoViewModel.ts
77
+ var VolcanoViewModel = class {
78
+ constructor(config, response, settings) {
79
+ this.numSignificant = 0;
80
+ this.numNonSignificant = 0;
81
+ this.minLogFoldChange = 0;
82
+ this.maxLogFoldChange = 0;
83
+ //Used for the y axis domain
84
+ this.minLogPValue = 0;
85
+ this.maxLogPValue = 0;
86
+ //Unpadded extents — used for the visible axis labels/ticks (only span real data)
87
+ this.minLogFoldChangeAxis = 0;
88
+ this.maxLogFoldChangeAxis = 0;
89
+ this.minLogPValueAxis = 0;
90
+ this.maxLogPValueAxis = 0;
91
+ //Dot radius in pixels (from server) — overlay rings size to match the PNG
92
+ this.dotRadiusPx = 2;
93
+ //Used in place of 0 p values that cannot be log transformed
94
+ this.minNonZeroPValue = 1e-9;
95
+ this.offset = 10;
96
+ this.bottomPad = 60;
97
+ this.horizPad = 70;
98
+ this.topPad = 40;
99
+ this.config = config;
100
+ this.response = response;
101
+ this.plotX = this.horizPad + this.offset * 2;
102
+ this.dataRows = response.data.dots;
103
+ const { caseColor, controlColor } = getGroupColors(this.config);
104
+ const barplot = { colorNegative: controlColor, colorPositive: caseColor };
105
+ this.pValueTable = {
106
+ columns: [
107
+ { label: "log\u2082(fold-change)", barplot, sortable: true },
108
+ // DAP files carry a single FDR (adjusted p-value); other term types report
109
+ // both a raw and an adjusted p-value.
110
+ ...config.termType == DATermTypes.PROTEOME_DAP ? [{ label: "FDR", sortable: true }] : [
111
+ { label: "Original p-value", sortable: true },
112
+ { label: "Adjusted p-value", sortable: true }
113
+ ]
114
+ ],
115
+ /** Filled in setPointData(), one row per threshold-passing dot. Populated even when the
116
+ * table is hidden — the download reads it. */
117
+ rows: [],
118
+ height: settings.height + this.topPad
119
+ };
120
+ this.settings = settings;
121
+ this.termType = config.termType;
122
+ this.dataType = this.setDataType();
123
+ this.setMinMaxValues();
124
+ const plotDim = this.setPlotDimensions();
125
+ this.setPTableColumns();
126
+ const pointData = this.setPointData(plotDim, controlColor, caseColor);
127
+ const foldChangeIdx = this.pValueTable.columns.findIndex((c) => c.label.includes("log\u2082(fold-change)"));
128
+ this.pValueTable.rows.sort((a, b) => b[foldChangeIdx].value - a[foldChangeIdx].value);
129
+ this.viewData = {
130
+ images: response.images || [],
131
+ termInfo: this.setTermInfo(plotDim),
132
+ plotDim,
133
+ pointData,
134
+ pValueTableData: this.pValueTable,
135
+ statsData: this.setStatsData(),
136
+ userActions: this.setUserActions(),
137
+ volcanoPng: response.data.volcanoPng,
138
+ plotExtent: response.data.plotExtent
139
+ };
140
+ }
141
+ setDataType() {
142
+ if (this.termType == DATermTypes.GENE_EXPRESSION) return "genes";
143
+ if (this.termType == DATermTypes.DNA_METHYLATION) return "promoters";
144
+ if (this.termType == DATermTypes.SINGLECELL_CELLTYPE) return "genes";
145
+ if (this.termType == DATermTypes.PROTEOME_DAP) return "proteins";
146
+ if (this.termType == DATermTypes.SINGLECELL_GENE_EXPRESSION) return "cells";
147
+ throw new Error(`Unknown termType: ${this.termType}`);
148
+ }
149
+ setMinMaxValues() {
150
+ const ext = this.response.data.plotExtent;
151
+ this.minLogFoldChange = ext.xMin;
152
+ this.maxLogFoldChange = ext.xMax;
153
+ this.minLogPValue = ext.yMin;
154
+ this.maxLogPValue = ext.yMax;
155
+ this.minLogFoldChangeAxis = ext.xMinUnpadded;
156
+ this.maxLogFoldChangeAxis = ext.xMaxUnpadded;
157
+ this.minLogPValueAxis = ext.yMinUnpadded;
158
+ this.maxLogPValueAxis = ext.yMaxUnpadded;
159
+ this.dotRadiusPx = ext.dotRadiusPx;
160
+ if (ext.minNonZeroPValue > 0) this.minNonZeroPValue = ext.minNonZeroPValue;
161
+ }
162
+ setPlotDimensions() {
163
+ const ext = this.response.data.plotExtent;
164
+ const plotW = ext.pixelWidth;
165
+ const plotH = ext.pixelHeight;
166
+ const xPlotScale = linear().domain([this.minLogFoldChange, this.maxLogFoldChange]).range([0, plotW]);
167
+ const yPlotScale = linear().domain([this.minLogPValue, this.maxLogPValue]).range([plotH, 0]);
168
+ const xScale = linear().domain([this.minLogFoldChangeAxis, this.maxLogFoldChangeAxis]).range([xPlotScale(this.minLogFoldChangeAxis), xPlotScale(this.maxLogFoldChangeAxis)]);
169
+ const yScale = linear().domain([this.minLogPValueAxis, this.maxLogPValueAxis]).range([yPlotScale(this.minLogPValueAxis), yPlotScale(this.maxLogPValueAxis)]);
170
+ return {
171
+ svg: {
172
+ //20 is for the term info above the plot
173
+ height: plotH + this.topPad + this.bottomPad * 2 + this.offset * 3,
174
+ width: plotW + this.horizPad * 2
175
+ },
176
+ top: {
177
+ x: this.plotX,
178
+ y: 5
179
+ },
180
+ xAxisLabel: {
181
+ x: this.horizPad + plotW / 2 + this.offset,
182
+ y: this.topPad + plotH + this.bottomPad + this.offset
183
+ },
184
+ xScale: {
185
+ scale: xScale,
186
+ x: this.plotX,
187
+ y: plotH + this.topPad + this.offset * 2
188
+ },
189
+ yAxisLabel: {
190
+ text: this.termType == DATermTypes.PROTEOME_DAP ? "-log10(FDR)" : `-log10(${this.settings.pValueType} P value)`,
191
+ x: this.horizPad / 3,
192
+ y: this.topPad + plotH / 2
193
+ },
194
+ yScale: {
195
+ scale: yScale,
196
+ x: this.horizPad,
197
+ y: this.topPad
198
+ },
199
+ plot: {
200
+ height: plotH,
201
+ width: plotW,
202
+ x: this.plotX,
203
+ y: this.topPad
204
+ },
205
+ logFoldChangeLine: {
206
+ x: xPlotScale(0) + this.plotX,
207
+ y1: this.topPad,
208
+ y2: plotH + this.offset * 4
209
+ },
210
+ xPlotScale,
211
+ yPlotScale
212
+ };
213
+ }
214
+ setTermInfo(plotDim) {
215
+ if (!enabledTermTypes.has(this.termType)) return;
216
+ const getLabel = (name) => {
217
+ if (name.length >= 25) return name.substring(0, 20) + "...";
218
+ return name;
219
+ };
220
+ if (this.termType == DATermTypes.PROTEOME_DAP) {
221
+ return {
222
+ y: plotDim.top.y + 10,
223
+ first: {
224
+ label: getLabel(`Control (${this.response.sample_size1})`),
225
+ x: 0
226
+ },
227
+ second: {
228
+ label: getLabel(`Case (${this.response.sample_size2})`),
229
+ x: this.settings.width
230
+ }
231
+ };
232
+ }
233
+ if (this.termType == DATermTypes.SINGLECELL_CELLTYPE) {
234
+ const groupLabel = `${this.config.termId} ${this.config.categoryName}`;
235
+ return {
236
+ y: plotDim.top.y + 10,
237
+ first: {
238
+ label: getLabel(`Not in ${groupLabel}`),
239
+ x: 0
240
+ },
241
+ second: {
242
+ label: getLabel(groupLabel),
243
+ x: this.settings.width
244
+ }
245
+ };
246
+ }
247
+ return {
248
+ //Set slightly above the plot
249
+ y: plotDim.top.y + 10,
250
+ first: {
251
+ // color: controlColor || this.settings.defaultSignColor,
252
+ label: getLabel(`${this.config.samplelst.groups[0].name} (${this.response.sample_size1})`),
253
+ x: 0
254
+ // rectX: this.settings.width/2 - 10,
255
+ },
256
+ second: {
257
+ // color: caseColor || this.settings.defaultSignColor,
258
+ label: getLabel(`${this.config.samplelst.groups[1].name} (${this.response.sample_size2})`),
259
+ x: this.settings.width
260
+ // rectX: this.settings.width/2 + 10,
261
+ }
262
+ };
263
+ }
264
+ setPointData(_plotDim, controlColor, caseColor) {
265
+ const radius = this.dotRadiusPx;
266
+ this.pValueTable.rows = [];
267
+ const dataCopy = structuredClone(this.dataRows);
268
+ for (const d of dataCopy) {
269
+ const highlightKey = this.termType === DATermTypes.DNA_METHYLATION ? d.promoter_id : d.gene_name;
270
+ d.highlighted = this.config?.highlightedData?.includes(highlightKey);
271
+ d.significant = true;
272
+ this.getGenesColor(d, d.significant, controlColor, caseColor);
273
+ if (d.significant) {
274
+ this.numSignificant++;
275
+ const row = this.termType == DATermTypes.PROTEOME_DAP ? [{ value: roundValueAuto(d.fold_change) }, { value: roundValueAuto(d.original_p_value) }] : [
276
+ { value: roundValueAuto(d.fold_change) },
277
+ { value: roundValueAuto(d.original_p_value) },
278
+ { value: d.adjusted_p_value != void 0 ? roundValueAuto(d.adjusted_p_value) : "" }
279
+ ];
280
+ if (this.termType == DATermTypes.DNA_METHYLATION) {
281
+ row.splice(0, 0, { value: d.promoter_id || "" }, { value: d.gene_name || "" });
282
+ } else if (this.termType == DATermTypes.PROTEOME_DAP) {
283
+ row.splice(0, 0, { value: d.gene_name || "" }, { value: d.gene || "" });
284
+ } else {
285
+ row.splice(0, 0, { value: d.gene_name || "" });
286
+ }
287
+ this.pValueTable.rows.push(row);
288
+ } else {
289
+ this.numNonSignificant++;
290
+ }
291
+ d.x = d.pixel_x + this.plotX;
292
+ d.y = d.pixel_y + this.topPad;
293
+ d.radius = radius;
294
+ }
295
+ this.numSignificant = this.response.data.totalSignificantRows;
296
+ this.numNonSignificant = Math.max(0, this.response.data.totalRows - this.numSignificant);
297
+ dataCopy.sort((a, b) => a.highlighted - b.highlighted);
298
+ return dataCopy;
299
+ }
300
+ getGenesColor(d, significant, controlColor, caseColor) {
301
+ if (!d.gene_name && this.termType != DATermTypes.DNA_METHYLATION)
302
+ throw new Error(`Missing gene_name in data: ${JSON.stringify(d)}`);
303
+ if (significant) {
304
+ if (controlColor && caseColor) d.color = d.fold_change > 0 ? caseColor : controlColor;
305
+ else d.color = this.settings.defaultSignColor;
306
+ } else d.color = this.settings.defaultNonSignColor;
307
+ }
308
+ setStatsData() {
309
+ const tableRows = [
310
+ {
311
+ label: `Percentage of significant ${this.dataType}`,
312
+ value: roundValueAuto(this.numSignificant * 100 / (this.numSignificant + this.numNonSignificant))
313
+ },
314
+ {
315
+ label: `Number of significant ${this.dataType}`,
316
+ value: this.numSignificant
317
+ },
318
+ {
319
+ label: `Number of total ${this.dataType}`,
320
+ value: this.numSignificant + this.numNonSignificant
321
+ }
322
+ ];
323
+ if (this.termType == DATermTypes.GENE_EXPRESSION || this.termType == DATermTypes.DNA_METHYLATION) {
324
+ tableRows.push(
325
+ {
326
+ label: this.config.samplelst.groups[0].name + " sample size (control group)",
327
+ value: this.response.sample_size1
328
+ },
329
+ {
330
+ label: this.config.samplelst.groups[1].name + " sample size (case group)",
331
+ value: this.response.sample_size2
332
+ }
333
+ );
334
+ } else if (this.termType == DATermTypes.PROTEOME_DAP) {
335
+ tableRows.push(
336
+ {
337
+ label: "Control sample size",
338
+ value: this.response.sample_size1
339
+ },
340
+ {
341
+ label: "Case sample size",
342
+ value: this.response.sample_size2
343
+ }
344
+ );
345
+ }
346
+ if (this.response.bcv !== void 0 && this.response.bcv !== null) {
347
+ tableRows.push({
348
+ label: "Biological coefficient of variation",
349
+ value: roundValueAuto(this.response.bcv)
350
+ });
351
+ }
352
+ return tableRows;
353
+ }
354
+ setPTableColumns() {
355
+ if (this.termType == DATermTypes.DNA_METHYLATION) {
356
+ this.pValueTable.columns.splice(0, 0, { label: "Promoter", sortable: true }, { label: "Gene(s)", sortable: true });
357
+ } else if (this.termType == DATermTypes.PROTEOME_DAP) {
358
+ this.pValueTable.columns.splice(0, 0, { label: "Identifier", sortable: true }, { label: "Gene", sortable: true });
359
+ } else {
360
+ this.pValueTable.columns.splice(0, 0, { label: "Gene Name", sortable: true });
361
+ }
362
+ }
363
+ setUserActions() {
364
+ const userActions = {
365
+ noShow: /* @__PURE__ */ new Set()
366
+ };
367
+ if (this.termType == DATermTypes.GENE_EXPRESSION) {
368
+ if (this.settings.method == "edgeR" && getSampleNum(this.config) > 100) {
369
+ userActions.noShow.add("Confounding factors");
370
+ }
371
+ if (this.settings.method == "wilcoxon") userActions.noShow.add("Confounding factors");
372
+ }
373
+ return userActions;
374
+ }
375
+ };
376
+
377
+ // plots/volcano/interactions/VolcanoInteractions.ts
378
+ var VolcanoInteractions = class {
379
+ constructor(app, id, dom) {
380
+ this.app = app;
381
+ this.dom = dom;
382
+ this.id = id;
383
+ this.pValueTableData = [];
384
+ this.data = [];
385
+ this.totalSignificantRows = 0;
386
+ }
387
+ /** Launches a multi-term select tree
388
+ * On submit, dispatches a plot_edit action with the new confounders */
389
+ async confoundersMenu() {
390
+ const state = this.app.getState();
391
+ const config = state.plots.find((p) => p.id === this.id);
392
+ if (config.termType !== GENE_EXPRESSION && config.termType !== DNA_METHYLATION) return;
393
+ const allowedGroupNames = /* @__PURE__ */ new Set([config.samplelst.groups[0].name, config.samplelst.groups[1].name]);
394
+ const grpTerms = new Set(
395
+ (this.app?.vocabApi?.state.groups || []).filter((g) => allowedGroupNames.has(g.name)).flatMap(
396
+ (g) => g.filter.lst.flatMap((f) => {
397
+ if (f.tvs?.term) return f.tvs.term;
398
+ else return f.lst.map((l) => l.tvs.term);
399
+ })
400
+ )
401
+ );
402
+ const disable_terms = grpTerms.size ? Array.from(grpTerms) : [];
403
+ const maxNum = config.settings.volcano.method == "edgeR" ? 1 : 2;
404
+ const ui = new MultiTermWrapperEditUI({
405
+ app: this.app,
406
+ callback: async (tws) => {
407
+ this.dom.actionsTip.hide();
408
+ await this.app.dispatch({
409
+ type: "plot_edit",
410
+ id: this.id,
411
+ config: { confounderTws: tws }
412
+ });
413
+ },
414
+ holder: this.dom.actionsTip.d,
415
+ headerText: "Select confounders",
416
+ maxNum,
417
+ state,
418
+ twList: config.confounderTws,
419
+ disable_terms
420
+ });
421
+ await ui.renderUI();
422
+ }
423
+ download(termType) {
424
+ this.dom.actionsTip.clear().showunder(this.dom.controls.select("div").node());
425
+ const opts = [
426
+ {
427
+ text: "Download plot",
428
+ callback: () => {
429
+ const svg = this.dom.holder.select("svg").node();
430
+ to_svg(svg, `Differential ${termType} analysis volcano`, { apply_dom_styles: true });
431
+ }
432
+ },
433
+ {
434
+ // DAP volcanoes report a single FDR rather than a p-value.
435
+ text: termType === PROTEOME_DAP ? "Download FDR table" : "Download p-value table",
436
+ callback: () => {
437
+ const date = fileDateStamp();
438
+ const label = termType === PROTEOME_DAP ? "fdr" : "p-value";
439
+ const rows = this.pValueTableData.rows;
440
+ const note = this.totalSignificantRows > rows.length ? `Top ${rows.length.toLocaleString()} of ${this.totalSignificantRows.toLocaleString()} significant results, selected by adjusted p-value and sorted by fold-change. This file is not the complete result set.` : void 0;
441
+ downloadTable(rows, this.pValueTableData.columns, `${label}-table-${date}.tsv`, note);
442
+ }
443
+ }
444
+ ];
445
+ for (const opt of opts) {
446
+ this.dom.actionsTip.d.append("div").attr("class", "sja_menuoption").text(opt.text).on("click", opt.callback);
447
+ }
448
+ }
449
+ async highlightDataPoint(value) {
450
+ const config = this.app.getState().plots.find((p) => p.id === this.id);
451
+ const highlightedData = config.highlightedData.includes(value) ? config.highlightedData.filter((d) => d !== value) : [...config.highlightedData, value];
452
+ await this.app.dispatch({
453
+ type: "plot_edit",
454
+ id: this.id,
455
+ config: { highlightedData }
456
+ });
457
+ }
458
+ /** When clicking on a data point, launches the box plot in a separate sandbox
459
+ * For geneExpression, value == gene symbol */
460
+ launchBoxPlot(value) {
461
+ const config = this.app.getState().plots.find((p) => p.id === this.id);
462
+ const values = {};
463
+ for (const group of config.samplelst.groups) {
464
+ values[group.name] = {
465
+ key: group.name,
466
+ label: group.name,
467
+ list: group.values
468
+ };
469
+ }
470
+ const setTerm = () => {
471
+ if (config.termType == GENE_EXPRESSION) {
472
+ return {
473
+ q: { mode: "continuous" },
474
+ term: {
475
+ gene: value,
476
+ name: value,
477
+ type: config.termType
478
+ }
479
+ };
480
+ } else return config.term;
481
+ };
482
+ this.app.dispatch({
483
+ type: "plot_create",
484
+ config: {
485
+ chartType: "summary",
486
+ childType: "boxplot",
487
+ term: setTerm(),
488
+ term2: {
489
+ q: { groups: config.tw.q.groups, type: "custom-samplelst" },
490
+ term: config.tw.term
491
+ }
492
+ }
493
+ });
494
+ }
495
+ /** Launch a violin plot for a gene expression data point. */
496
+ launchViolinGeneExp(value) {
497
+ const config = this.app.getState().plots.find((p) => p.id === this.id);
498
+ this.app.dispatch({
499
+ type: "plot_create",
500
+ config: {
501
+ chartType: "summary",
502
+ childType: "violin",
503
+ term: {
504
+ q: { mode: "continuous" },
505
+ term: {
506
+ gene: value,
507
+ name: value,
508
+ type: config.termType
509
+ }
510
+ },
511
+ term2: {
512
+ q: { groups: config.tw.q.groups, type: "custom-samplelst" },
513
+ term: config.tw.term
514
+ }
515
+ }
516
+ });
517
+ }
518
+ launchGeneSetEdit() {
519
+ const plotConfig = this.app.getState().plots.find((p) => p.id === this.id);
520
+ const holder = this.dom.actionsTip.d.append("div").style("padding", "5px");
521
+ const limitedGenesList = plotConfig.termType === DNA_METHYLATION ? this.data.map((d) => d.promoter_id) : this.data.map((d) => d.gene_name);
522
+ new GeneSetEditUI({
523
+ holder,
524
+ genome: this.app.opts.genome,
525
+ vocabApi: this.app.vocabApi,
526
+ limitedGenesList,
527
+ geneList: plotConfig.highlightedData.map((d) => {
528
+ return { gene: d };
529
+ }),
530
+ customInputs: [
531
+ {
532
+ label: "Cancel highlight",
533
+ getDisplayStyle: () => plotConfig.highlightedData.length > 0 ? "" : "none",
534
+ showInput: async () => {
535
+ await this.app.dispatch({
536
+ type: "plot_edit",
537
+ id: this.id,
538
+ config: { highlightedData: [] }
539
+ });
540
+ this.dom.actionsTip.hide();
541
+ }
542
+ }
543
+ ],
544
+ callback: async (result) => {
545
+ const highlightedData = result.geneList.map((d) => d.gene);
546
+ await this.app.dispatch({
547
+ type: "plot_edit",
548
+ id: this.id,
549
+ config: { highlightedData }
550
+ });
551
+ this.dom.actionsTip.hide();
552
+ }
553
+ });
554
+ }
555
+ /** When clicking on a DM data point, dispatches a DMR plot that runs DMRCate
556
+ * analysis and renders a genome browser Block with DMR regions on their own
557
+ * track. */
558
+ async launchDmr(d) {
559
+ const config = this.app.getState().plots.find((p) => p.id === this.id);
560
+ const controlColor = config?.tw?.term?.values?.[config?.samplelst?.groups[0].name]?.color || "#ff0000";
561
+ const caseColor = config?.tw?.term?.values?.[config?.samplelst?.groups[1].name]?.color || "#0000ff";
562
+ const label = d.promoterId || `${d.chr}:${d.start}-${d.stop}`;
563
+ const dmrConfig = {
564
+ chartType: "dmr",
565
+ headerText: `DMR: ${label}`,
566
+ coordinateOverride: { chr: d.chr, start: d.start, stop: d.stop },
567
+ group1: config.samplelst.groups[0].values || [],
568
+ group2: config.samplelst.groups[1].values || [],
569
+ group1Name: config.samplelst.groups[0].name,
570
+ group2Name: config.samplelst.groups[1].name,
571
+ settings: {
572
+ colors: { group1: controlColor, group2: caseColor }
573
+ }
574
+ };
575
+ this.app.dispatch({
576
+ type: "plot_create",
577
+ config: dmrConfig
578
+ });
579
+ }
580
+ /** Launch a violin/box plot for a DNA methylation promoter.
581
+ * Creates a methylation term using the promoter's chr/start/stop coordinates.
582
+ * The tw handler fills in id and unit from termdbConfig. */
583
+ launchDNAMethViolin(d) {
584
+ const config = this.app.getState().plots.find((p) => p.id === this.id);
585
+ const genomicFeatureType = d.promoter_id ? "promoter" : "gene";
586
+ const featureName = genomicFeatureType === "gene" ? d.gene_name?.split(",")[0]?.trim() || "" : "";
587
+ this.app.dispatch({
588
+ type: "plot_create",
589
+ config: {
590
+ chartType: "summary",
591
+ childType: "violin",
592
+ term: {
593
+ q: { mode: "continuous" },
594
+ term: {
595
+ genomicFeatureType,
596
+ featureName,
597
+ type: DNA_METHYLATION,
598
+ chr: d.chr,
599
+ start: d.start,
600
+ stop: d.stop
601
+ }
602
+ },
603
+ term2: {
604
+ q: { groups: config.tw.q.groups, type: "custom-samplelst" },
605
+ term: config.tw.term
606
+ }
607
+ }
608
+ });
609
+ }
610
+ async launchDEGClustering() {
611
+ const geneIndex = this.pValueTableData.columns.findIndex((col) => col.label === "Gene Name");
612
+ const adjustedPValIndex = this.pValueTableData.columns.findIndex((col) => col.label === "Adjusted p-value");
613
+ const rowsSorted = [...this.pValueTableData.rows].sort((a, b) => {
614
+ const aQVal = Number(a[adjustedPValIndex].value);
615
+ const bQVal = Number(b[adjustedPValIndex].value);
616
+ return aQVal - bQVal;
617
+ });
618
+ const geneList = rowsSorted.slice(0, 100).map((r) => ({ gene: r[geneIndex].value }));
619
+ const tws = geneList.map((d) => {
620
+ const gene = d.gene;
621
+ const unit = getGEunit(this.app.vocabApi);
622
+ const name = `${gene} ${unit}`;
623
+ const term = { gene, name, type: GENE_EXPRESSION };
624
+ return { term, q: {} };
625
+ });
626
+ const group = { lst: tws, type: "hierCluster" };
627
+ const customVariable = this.app.getState().plots.find((p) => p.id === this.id).tw;
628
+ const annotationGroup = { lst: [customVariable] };
629
+ const config = {
630
+ chartType: "hierCluster",
631
+ termgroups: [group, annotationGroup],
632
+ dataType: GENE_EXPRESSION,
633
+ filter: {
634
+ in: true,
635
+ join: "",
636
+ type: "tvslst",
637
+ lst: [{ type: "tvs", tvs: { term: customVariable.term } }]
638
+ }
639
+ };
640
+ await this.app.dispatch({
641
+ type: "plot_create",
642
+ config: structuredClone(config)
643
+ });
644
+ }
645
+ };
646
+
647
+ // plots/volcano/view/VolcanoPlotView.ts
648
+ var VolcanoPlotView = class {
649
+ constructor(dom, interactions, termType) {
650
+ this.dom = dom;
651
+ this.interactions = interactions;
652
+ this.termType = termType;
653
+ const actions = this.dom.holder.append("div").attr("id", "sjpp-volcano-actions").style("display", "block").style("z-index", 1).style("position", "relative");
654
+ const svg = this.dom.holder.append("svg").style("display", "inline-block").attr("id", "sjpp-volcano-svg").style("vertical-align", "top");
655
+ this.volcanoDom = {
656
+ actions,
657
+ svg,
658
+ pValueTable: void 0,
659
+ top: void 0,
660
+ xAxis: void 0,
661
+ xAxisLabel: void 0,
662
+ yAxis: void 0,
663
+ yAxisLabel: void 0,
664
+ plot: void 0
665
+ };
666
+ }
667
+ render(settings, viewData) {
668
+ this.settings = settings;
669
+ this.viewData = viewData;
670
+ const plotDim = this.viewData.plotDim;
671
+ this.initDom();
672
+ this.renderUserActions();
673
+ this.renderPlot(plotDim);
674
+ renderDataPoints(this);
675
+ this.renderFoldChangeLine(plotDim);
676
+ this.attachInteractions(plotDim);
677
+ if (this.settings.showPValueTable) this.renderPValueTable();
678
+ }
679
+ initDom() {
680
+ this.volcanoDom.actions.selectAll("*").remove();
681
+ this.volcanoDom.svg.selectAll("*").remove();
682
+ const svg = this.volcanoDom.svg;
683
+ this.volcanoDom.top = svg.append("g").attr("id", "sjpp-volcano-top");
684
+ this.volcanoDom.xAxis = svg.append("g").attr("id", "sjpp-volcano-xAxis");
685
+ this.volcanoDom.yAxis = svg.append("g").attr("id", "sjpp-volcano-yAxis");
686
+ this.volcanoDom.xAxisLabel = svg.append("text").attr("id", "sjpp-volcano-xAxisLabel").attr("text-anchor", "middle");
687
+ this.volcanoDom.yAxisLabel = svg.append("text").attr("id", "sjpp-volcano-yAxisLabel").attr("text-anchor", "middle");
688
+ this.volcanoDom.plot = svg.append("g").attr("id", "sjpp-volcano-plot");
689
+ this.dom.holder.select("#sjpp-volcano-pValueTable").remove();
690
+ if (!this.settings.showPValueTable) return;
691
+ this.volcanoDom.pValueTable = this.dom.holder.append("div").attr("id", "sjpp-volcano-pValueTable").attr("data-testid", "sjpp-volcano-pValueTable").style("display", "inline-block").style("vertical-align", "top");
692
+ }
693
+ renderUserActions() {
694
+ this.dom.actionsTip.d.style("overflow", "hidden");
695
+ this.volcanoDom.actions.style("margin-left", "20px").style("padding", "5px");
696
+ this.addActionButton(
697
+ "Confounding factors",
698
+ [DATermTypes.GENE_EXPRESSION, DATermTypes.DNA_METHYLATION],
699
+ () => this.interactions.confoundersMenu()
700
+ );
701
+ this.addActionButton(
702
+ "Highlight genes",
703
+ [DATermTypes.GENE_EXPRESSION, DATermTypes.SINGLECELL_CELLTYPE, DATermTypes.DNA_METHYLATION],
704
+ () => this.interactions.launchGeneSetEdit()
705
+ );
706
+ this.addActionButton(
707
+ "Statistics",
708
+ [DATermTypes.GENE_EXPRESSION, DATermTypes.SINGLECELL_CELLTYPE, DATermTypes.DNA_METHYLATION],
709
+ () => {
710
+ this.renderStatsMenu();
711
+ },
712
+ { whenOpen: "Hide statistics" }
713
+ );
714
+ const sigLabel = this.termType == DATermTypes.DNA_METHYLATION ? "Number of significant promoters" : "Number of significant genes";
715
+ const numSigGenes = this.viewData.statsData.find((d) => d.label == sigLabel)?.value;
716
+ if (numSigGenes) {
717
+ const sigText = this.termType == DATermTypes.DNA_METHYLATION ? `${numSigGenes} DM promoters:` : `${numSigGenes} DE genes:`;
718
+ this.volcanoDom.actions.append("span").text(sigText).style("margin-left", "10px").style("font-weight", "bold");
719
+ const pValueTableButtonText = this.settings.showPValueTable ? "Hide p-value table" : "Show p-value table";
720
+ this.addActionButton(
721
+ pValueTableButtonText,
722
+ [DATermTypes.GENE_EXPRESSION, DATermTypes.SINGLECELL_CELLTYPE, DATermTypes.DNA_METHYLATION],
723
+ async () => {
724
+ const showTable = !this.settings.showPValueTable;
725
+ await this.interactions.app.dispatch({
726
+ type: "plot_edit",
727
+ id: this.interactions.id,
728
+ config: { settings: { volcano: { showPValueTable: showTable } } }
729
+ });
730
+ }
731
+ );
732
+ }
733
+ if (numSigGenes && numSigGenes >= 3) {
734
+ this.addActionButton(
735
+ `Hierarchical clustering of ${numSigGenes > 100 ? "top 100" : numSigGenes} DE genes`,
736
+ [DATermTypes.GENE_EXPRESSION],
737
+ async () => {
738
+ await this.interactions.launchDEGClustering();
739
+ }
740
+ );
741
+ }
742
+ }
743
+ /** Use the termTypes arr to render the buttons in a consistent order.
744
+ *
745
+ * Pass `opts.whenOpen` to make the button a toggle: clicking once opens
746
+ * the actionsTip with the callback's content and swaps the button text
747
+ * to `whenOpen` ("Hide statistics", etc.); clicking again hides the tip
748
+ * and restores the original text. The text also restores when the tip
749
+ * closes via Esc or outside-click (Menu.onHide hook), and when another
750
+ * action button hijacks the tip (the loop below resets all toggles
751
+ * before showing the new content). */
752
+ addActionButton(text, termTypes, callback, opts) {
753
+ if (this.viewData.userActions.noShow.has(text)) return;
754
+ if (!termTypes.includes(this.termType)) return;
755
+ const button = this.volcanoDom.actions.append("button").attr("class", "sja_menuoption").style("margin", "3px").style("padding", "3px").text(text).on("click", async () => {
756
+ const whenOpen = opts?.whenOpen;
757
+ if (whenOpen && button.text() === whenOpen) {
758
+ this.dom.actionsTip.hide();
759
+ return;
760
+ }
761
+ this.volcanoDom.actions.selectAll('button[data-volcano-toggle-open="1"]').each(function() {
762
+ const b = select_default(this);
763
+ const closed = b.attr("data-volcano-toggle-closed");
764
+ if (closed) b.text(closed).attr("data-volcano-toggle-open", null);
765
+ this.parent_menu = void 0;
766
+ const eh = this.__volcanoEscHandler;
767
+ if (eh) {
768
+ document.removeEventListener("keydown", eh);
769
+ this.__volcanoEscHandler = void 0;
770
+ }
771
+ });
772
+ this.dom.actionsTip.clear().showunder(button.node());
773
+ if (whenOpen) {
774
+ button.text(whenOpen).attr("data-volcano-toggle-open", "1").attr("data-volcano-toggle-closed", text);
775
+ button.node().parent_menu = this.dom.actionsTip.dnode;
776
+ const escHandler = (e) => {
777
+ if (e.key === "Escape") this.dom.actionsTip.hide();
778
+ };
779
+ document.addEventListener("keydown", escHandler);
780
+ button.node().__volcanoEscHandler = escHandler;
781
+ this.dom.actionsTip.onHide = () => {
782
+ button.text(text).attr("data-volcano-toggle-open", null);
783
+ button.node().parent_menu = void 0;
784
+ document.removeEventListener("keydown", escHandler);
785
+ button.node().__volcanoEscHandler = void 0;
786
+ };
787
+ } else {
788
+ this.dom.actionsTip.onHide = void 0;
789
+ }
790
+ await callback();
791
+ });
792
+ }
793
+ renderPlot(plotDim) {
794
+ this.volcanoDom.svg.attr("width", plotDim.svg.width).attr("height", plotDim.svg.height);
795
+ this.renderTermInfo(plotDim);
796
+ this.volcanoDom.yAxisLabel.attr(
797
+ "transform",
798
+ `translate(${plotDim.yAxisLabel.x}, ${plotDim.yAxisLabel.y}) rotate(-90)`
799
+ );
800
+ this.setSvgSubscriptLabel(
801
+ this.volcanoDom.yAxisLabel,
802
+ "-log",
803
+ "10",
804
+ this.termType === DATermTypes.PROTEOME_DAP ? "(FDR)" : `(${this.settings.pValueType} p-value)`
805
+ );
806
+ this.volcanoDom.xAxisLabel.attr("transform", `translate(${plotDim.xAxisLabel.x}, ${plotDim.xAxisLabel.y})`);
807
+ this.setSvgSubscriptLabel(this.volcanoDom.xAxisLabel, "log", "2", "(fold-change)");
808
+ this.renderScale(plotDim.xScale);
809
+ this.renderScale(plotDim.yScale, true);
810
+ if (this.viewData.volcanoPng) {
811
+ this.volcanoDom.plot.append("image").attr("href", `data:image/png;base64,${this.viewData.volcanoPng}`).attr("x", plotDim.plot.x).attr("y", plotDim.plot.y).attr("width", plotDim.plot.width).attr("height", plotDim.plot.height).attr("preserveAspectRatio", "none");
812
+ }
813
+ }
814
+ renderTermInfo(plotDim) {
815
+ if (this.viewData.termInfo == void 0) return;
816
+ this.volcanoDom.top.attr("transform", `translate(${plotDim.top.x}, ${plotDim.top.y})`);
817
+ const y = this.viewData.termInfo.y;
818
+ const addLabel = (term) => {
819
+ return this.volcanoDom.top.append("text").attr("font-size", "0.9em").attr("transform", `translate(${term.x}, ${y + 10})`).text(term.label);
820
+ };
821
+ const firstTerm = this.viewData.termInfo.first;
822
+ addLabel(firstTerm);
823
+ const secondTerm = this.viewData.termInfo.second;
824
+ const secondLabel = addLabel(secondTerm);
825
+ secondLabel.attr("text-anchor", "end");
826
+ }
827
+ renderScale(scale, isLeft = false) {
828
+ const scaleG = this.volcanoDom[isLeft ? "yAxis" : "xAxis"].append("g").attr("transform", `translate(${scale.x}, ${scale.y})`).call(isLeft ? axisLeft(scale.scale) : axisBottom(scale.scale));
829
+ axisstyle({
830
+ axis: scaleG,
831
+ color: "black",
832
+ showline: true
833
+ });
834
+ }
835
+ renderFoldChangeLine(plotDim) {
836
+ this.volcanoDom.plot.append("line").attr("stroke", "#ccc").attr("shape-rendering", "crispEdges").attr("x1", plotDim.logFoldChangeLine.x).attr("x2", plotDim.logFoldChangeLine.x).attr("y1", plotDim.logFoldChangeLine.y1).attr("y2", plotDim.logFoldChangeLine.y2);
837
+ }
838
+ renderStatsMenu() {
839
+ for (const img of this.viewData.images || []) {
840
+ this.dom.actionsTip.d.append("img").style("display", "inline-block").style("margin-left", "10px").style("margin-top", "-30px").attr("width", 450).attr("height", 450).attr("src", img.src);
841
+ }
842
+ const tableHolder = this.dom.actionsTip.d.append("div").style("display", this.viewData.images.length == 1 ? "inline-block" : "block").style("margin", `${this.viewData.images.length == 1 ? `40px 10px` : `0px 0px`} 0px 5px`).style("vertical-align", "top");
843
+ const table = table2col({ holder: tableHolder });
844
+ for (const d of this.viewData.statsData) {
845
+ const [td1, td2] = table.addRow();
846
+ td1.text(d.label);
847
+ td2.style("text-align", "end").text(d.value);
848
+ }
849
+ }
850
+ renderPValueTable() {
851
+ if (!this.settings.showPValueTable) return;
852
+ const maxTableRows = 5e3;
853
+ const allRows = this.viewData.pValueTableData.rows;
854
+ const rows = allRows.length > maxTableRows ? allRows.slice(0, maxTableRows) : allRows;
855
+ if (allRows.length > maxTableRows) {
856
+ this.volcanoDom.pValueTable.append("div").style("padding", "5px 10px").style("font-size", ".8em").style("color", "#666").text(
857
+ `Showing top ${maxTableRows.toLocaleString()} of ${allRows.length.toLocaleString()} significant results (sorted by fold-change)`
858
+ );
859
+ }
860
+ renderTable({
861
+ columns: this.viewData.pValueTableData.columns,
862
+ rows,
863
+ div: this.volcanoDom.pValueTable,
864
+ showLines: true,
865
+ maxHeight: `${this.viewData.pValueTableData.height}px`,
866
+ resize: true,
867
+ header: { allowSort: true },
868
+ noRadioBtn: true,
869
+ noButtonCallback: (i) => {
870
+ const gene = this.viewData.pValueTableData.rows[i][0].value;
871
+ if (!gene) return;
872
+ this.interactions.highlightDataPoint(gene);
873
+ },
874
+ hoverEffects: (tr, row) => {
875
+ const circles = this.volcanoDom.plot.selectAll("circle").nodes();
876
+ const dataKey = this.termType === DATermTypes.DNA_METHYLATION ? "promoter_id" : "gene_name";
877
+ const circle = circles.find((d) => d.__data__[dataKey] == row[0].value);
878
+ if (!circle || circle.__data__.highlighted) return;
879
+ let clone;
880
+ tr.on("mouseover", () => {
881
+ if (circle.__data__.highlighted || clone) return;
882
+ clone = this.volcanoDom.plot.node()?.appendChild(circle.cloneNode(true));
883
+ clone.setAttribute("fill-opacity", 0.9);
884
+ });
885
+ tr.on("mouseleave", () => {
886
+ if (!clone) return;
887
+ clone.remove();
888
+ clone = null;
889
+ });
890
+ this.volcanoDom.pValueTable.on("mouseover", () => {
891
+ selectAll_default(circles).attr("stroke-opacity", 0.075);
892
+ });
893
+ this.volcanoDom.pValueTable.on("mouseleave", () => {
894
+ selectAll_default(circles).attr("stroke-opacity", (d) => d.significant ? 0.35 : 0.2);
895
+ });
896
+ }
897
+ });
898
+ }
899
+ setSvgSubscriptLabel(textElem, prefix, subscript, suffix) {
900
+ textElem.text(null);
901
+ textElem.append("tspan").text(prefix);
902
+ textElem.append("tspan").attr("baseline-shift", "sub").attr("font-size", "0.7em").text(subscript);
903
+ textElem.append("tspan").text(suffix);
904
+ }
905
+ attachInteractions(plotDim) {
906
+ const points = this.viewData.pointData;
907
+ if (!points || points.length === 0) return;
908
+ const dotRadiusPx = this.viewData.plotExtent.dotRadiusPx;
909
+ const hitRadius = dotRadiusPx + 3;
910
+ const highlightRadius = Math.max(0.5, dotRadiusPx - 0.5);
911
+ const highlightColor = this.settings.defaultHighlightColor;
912
+ const hoverLayer = this.volcanoDom.plot.append("g").attr("id", "sjpp-volcano-hover").style("pointer-events", "none");
913
+ const cover = this.volcanoDom.plot.append("rect").attr("id", "sjpp-volcano-cover").attr("x", plotDim.plot.x).attr("y", plotDim.plot.y).attr("width", plotDim.plot.width).attr("height", plotDim.plot.height).attr("fill", "transparent").style("pointer-events", "all").style("cursor", "default");
914
+ const circlePath = (r) => `M${r},0 A${r},${r} 0 1,1 ${-r},0 A${r},${r} 0 1,1 ${r},0 Z`;
915
+ new DataPointInteractions({
916
+ cover,
917
+ hoverLayer,
918
+ hoverTip: this.dom.tip,
919
+ points,
920
+ // Quadtree in cover-local space — d.x/d.y are SVG-absolute, so subtract
921
+ // the plot rect's origin once when building the tree.
922
+ getX: (d) => d.x - plotDim.plot.x,
923
+ getY: (d) => d.y - plotDim.plot.y,
924
+ hitRadius,
925
+ toHoverSpec: (d) => ({
926
+ path: circlePath(highlightRadius),
927
+ // Hover layer lives in the same coord space as the dots (SVG-absolute),
928
+ // so translate by d.x/d.y — NOT the cover-local pair.
929
+ transform: `translate(${d.x},${d.y})`,
930
+ fill: highlightColor,
931
+ fillOpacity: 0.9,
932
+ stroke: "none"
933
+ }),
934
+ maxTooltipRows: this.settings.maxTooltipGenes,
935
+ itemNoun: "gene",
936
+ renderSingleHoverTooltip: (d, container) => {
937
+ const table = table2col({ holder: container.append("table") });
938
+ this.addTooltipRows(d, table);
939
+ },
940
+ buildMultiHitTableData: (dots) => this.buildMultiHitTable(dots),
941
+ getActions: (d) => this.getActionMenuOpts(d),
942
+ renderSingleHitInfo: (d, container) => {
943
+ const tbl = table2col({ holder: container.append("table") });
944
+ this.addTooltipRows(d, tbl);
945
+ },
946
+ getRowKey: (d) => d.gene_name
947
+ }).attach();
948
+ }
949
+ buildMultiHitTable(dots) {
950
+ const isDM = this.termType === DATermTypes.DNA_METHYLATION;
951
+ const isDAP = this.termType === DATermTypes.PROTEOME_DAP;
952
+ const pValueType = this.settings.pValueType;
953
+ const pLabel = isDAP ? "FDR" : `${pValueType.charAt(0).toUpperCase()}${pValueType.slice(1)} p-value`;
954
+ const pField = isDAP ? "original_p_value" : `${pValueType}_p_value`;
955
+ const columns = isDM ? [
956
+ { label: "Promoter" },
957
+ { label: "Gene(s)" },
958
+ { label: "log\u2082(FC)", sortable: true },
959
+ { label: pLabel, sortable: true }
960
+ ] : isDAP ? [
961
+ { label: "Identifier" },
962
+ { label: "Gene" },
963
+ { label: "log\u2082(FC)", sortable: true },
964
+ { label: pLabel, sortable: true }
965
+ ] : [{ label: "Gene" }, { label: "log\u2082(FC)", sortable: true }, { label: pLabel, sortable: true }];
966
+ const rows = dots.map((d) => {
967
+ const fc = { value: roundValueAuto(d.fold_change) };
968
+ const pval = { value: roundValueAuto(d[pField]) };
969
+ if (isDM) {
970
+ return [{ value: d.promoter_id || "" }, { value: d.gene_name || "" }, fc, pval];
971
+ }
972
+ if (isDAP) {
973
+ return [{ value: d.gene_name || "" }, { value: d.gene || "" }, fc, pval];
974
+ }
975
+ return [{ value: d.gene_name || "" }, fc, pval];
976
+ });
977
+ return { columns, rows };
978
+ }
979
+ /** Per-data-point action menu items (Violin / DMR / Box-plot). Used by
980
+ * both the single-gene click flow and the multi-gene click-menu rows so
981
+ * the launchers stay in lock-step. */
982
+ getActionMenuOpts(d) {
983
+ const termType = this.termType;
984
+ const interactions = this.interactions;
985
+ const all = [
986
+ {
987
+ label: "Violin plot",
988
+ isVisible: () => termType === DATermTypes.DNA_METHYLATION || termType === DATermTypes.GENE_EXPRESSION,
989
+ onClick: async () => {
990
+ if (termType === DATermTypes.DNA_METHYLATION) interactions.launchDNAMethViolin(d);
991
+ if (termType === DATermTypes.GENE_EXPRESSION) interactions.launchViolinGeneExp(d.gene_name);
992
+ }
993
+ },
994
+ {
995
+ label: "DMR analysis",
996
+ isVisible: () => termType === DATermTypes.DNA_METHYLATION,
997
+ onClick: async () => {
998
+ const dm = d;
999
+ await interactions.launchDmr({
1000
+ chr: dm.chr,
1001
+ start: dm.start,
1002
+ stop: dm.stop,
1003
+ promoterId: dm.promoter_id
1004
+ });
1005
+ }
1006
+ },
1007
+ {
1008
+ label: "Box plot",
1009
+ isVisible: () => termType === DATermTypes.GENE_EXPRESSION,
1010
+ onClick: async () => {
1011
+ interactions.launchBoxPlot(d.gene_name);
1012
+ }
1013
+ }
1014
+ ];
1015
+ return all.filter((o) => o.isVisible()).map(({ label, onClick }) => ({ label, onClick }));
1016
+ }
1017
+ /** Populates a `table2col` instance with the standard volcano hover rows
1018
+ * (gene/promoter, fold-change, original + adjusted p-values). */
1019
+ addTooltipRows(d, table) {
1020
+ if (this.termType === DATermTypes.DNA_METHYLATION) {
1021
+ if ("promoter_id" in d) addTooltipRow(table, "Promoter", d.promoter_id);
1022
+ if (d.gene_name) addTooltipRow(table, "Gene(s)", d.gene_name);
1023
+ } else if (this.termType === DATermTypes.PROTEOME_DAP) {
1024
+ addTooltipRow(table, "Identifier", d.gene_name);
1025
+ if ("gene" in d) addTooltipRow(table, "Gene", d.gene);
1026
+ } else {
1027
+ addTooltipRow(table, "Gene name", d.gene_name);
1028
+ }
1029
+ addTooltipRow(table, "log<sub>2</sub>(fold-change)", roundValueAuto(d.fold_change));
1030
+ if (this.termType === DATermTypes.PROTEOME_DAP) {
1031
+ addTooltipRow(table, "FDR", roundValueAuto(d.original_p_value));
1032
+ } else {
1033
+ addTooltipRow(table, "Original p-value", roundValueAuto(d.original_p_value));
1034
+ if (d.adjusted_p_value != void 0) addTooltipRow(table, "Adjusted p-value", roundValueAuto(d.adjusted_p_value));
1035
+ }
1036
+ }
1037
+ };
1038
+ function addTooltipRow(table, text, value) {
1039
+ const [td1, td2] = table.addRow();
1040
+ td1.html(text);
1041
+ td2.text(value);
1042
+ }
1043
+ function renderDataPoints(self) {
1044
+ self.volcanoDom.plot.selectAll("circle").data(self.viewData.pointData).enter().append("circle").attr("stroke", (d) => rgb(d.color).formatHex()).attr("stroke-opacity", (d) => d.significant ? 0.35 : 0.2).attr("stroke-width", 1).attr("fill", self.settings.defaultHighlightColor).attr("fill-opacity", (d) => d.highlighted ? 0.9 : 0).attr("cx", (d) => d.x).attr("cy", (d) => d.y).attr("r", (d) => d.radius).style("pointer-events", "none");
1045
+ }
1046
+
1047
+ // plots/volcano/VolcanoControlInputs.ts
1048
+ var VolcanoControlInputs = class {
1049
+ constructor(config, termType) {
1050
+ this.config = config;
1051
+ if (this.config.termType == GENE_EXPRESSION) this.sampleNum = getSampleNum(config);
1052
+ this.termType = termType;
1053
+ this.inputs = [
1054
+ {
1055
+ // DAP volcanoes threshold a single FDR (adjusted p-value); other term types
1056
+ // threshold a p-value.
1057
+ label: this.config.termType == PROTEOME_DAP ? "FDR significance (-log\u2081\u2080)" : "P value significance (-log\u2081\u2080)",
1058
+ type: "number",
1059
+ chartType: "volcano",
1060
+ settingsKey: "pValue",
1061
+ title: this.config.termType == PROTEOME_DAP ? "The FDR threshold to determine statistical significance" : "The p-value threshold to determine statistical significance",
1062
+ min: 0,
1063
+ // 5e-324 is the smallest positive number greater than 0 representable
1064
+ // in IEEE 64-bit floating point (i.e. javascripts native Number.MIN_VALUE)
1065
+ // -Math.log10(5e-324) = 323.3
1066
+ max: 323.3,
1067
+ step: 1
1068
+ },
1069
+ {
1070
+ label: "P value",
1071
+ type: "radio",
1072
+ chartType: "volcano",
1073
+ settingsKey: "pValueType",
1074
+ title: "Toggle between original and adjusted pvalues for volcano plot",
1075
+ // DAP files carry only a single FDR, so there is nothing to toggle between.
1076
+ getDisplayStyle: () => this.config.termType == PROTEOME_DAP ? "none" : "",
1077
+ options: [
1078
+ { label: "Adjusted", value: "adjusted" },
1079
+ { label: "Original", value: "original" }
1080
+ ]
1081
+ },
1082
+ {
1083
+ label: "Fold change (log\u2082)",
1084
+ type: "number",
1085
+ chartType: "volcano",
1086
+ settingsKey: "foldChangeCutoff",
1087
+ title: "The fold change threshold to determine biological significance",
1088
+ min: -10,
1089
+ max: 10
1090
+ },
1091
+ {
1092
+ label: "Max interactive dots",
1093
+ type: "number",
1094
+ chartType: "volcano",
1095
+ settingsKey: "maxInteractiveDots",
1096
+ title: "Cap on the number of top-significant points the server returns as interactive overlay circles. The PNG still shows every dot.",
1097
+ min: 0,
1098
+ max: 2e4,
1099
+ step: 100
1100
+ },
1101
+ //Preferably, keep all the display (e.g. colors, sizes, etc.) controls
1102
+ //at the bottom of the list or at least together
1103
+ {
1104
+ label: "Plot height",
1105
+ type: "number",
1106
+ chartType: "volcano",
1107
+ settingsKey: "height",
1108
+ title: "Height of the plot in pixels",
1109
+ min: 300,
1110
+ max: 1e3
1111
+ },
1112
+ {
1113
+ label: "Plot width",
1114
+ type: "number",
1115
+ chartType: "volcano",
1116
+ settingsKey: "width",
1117
+ title: "Width of the plot in pixels",
1118
+ min: 300,
1119
+ max: 1e3
1120
+ },
1121
+ {
1122
+ label: "Significant value color",
1123
+ type: "color",
1124
+ chartType: "volcano",
1125
+ title: "Default color for significant data points.",
1126
+ settingsKey: "defaultSignColor",
1127
+ getDisplayStyle: () => {
1128
+ if (this.config.termType == SINGLECELL_CELLTYPE) return "none";
1129
+ const controlColor = this.config.tw?.term?.values?.[this.config.samplelst.groups[0].name]?.color;
1130
+ const caseColor = this.config.tw?.term?.values?.[this.config.samplelst.groups[1].name].color;
1131
+ if (controlColor && caseColor) return "none";
1132
+ else return "";
1133
+ }
1134
+ },
1135
+ {
1136
+ label: "Non-significant value color",
1137
+ type: "color",
1138
+ chartType: "volcano",
1139
+ title: "Default color for non-significant data points.",
1140
+ settingsKey: "defaultNonSignColor"
1141
+ },
1142
+ {
1143
+ label: "Highlight color",
1144
+ type: "color",
1145
+ chartType: "volcano",
1146
+ title: "Default color for highlighted data points.",
1147
+ settingsKey: "defaultHighlightColor"
1148
+ }
1149
+ ];
1150
+ this.setVolcanoControlInputs();
1151
+ }
1152
+ /** Add more term type specific controls here. */
1153
+ setVolcanoControlInputs() {
1154
+ this.addGeneExpControlInputs();
1155
+ this.addDNAMethControlInputs();
1156
+ this.addSingleCellCTControlInputs();
1157
+ }
1158
+ addGeneExpControlInputs() {
1159
+ if (this.termType !== GENE_EXPRESSION) return;
1160
+ const geInputs = [
1161
+ {
1162
+ label: "Minimum read count",
1163
+ type: "number",
1164
+ chartType: "volcano",
1165
+ settingsKey: "minCount",
1166
+ title: "The smallest number of reads required for a gene to be considered in the analysis",
1167
+ min: 0,
1168
+ max: 1e4
1169
+ },
1170
+ {
1171
+ label: "Minimum total read count",
1172
+ type: "number",
1173
+ chartType: "volcano",
1174
+ settingsKey: "minTotalCount",
1175
+ title: "The smallest total number of reads required for a gene to be considered in the analysis",
1176
+ min: 0,
1177
+ max: 1e4
1178
+ },
1179
+ {
1180
+ label: "CPM cutoff",
1181
+ type: "number",
1182
+ chartType: "volcano",
1183
+ settingsKey: "cpmCutoff",
1184
+ title: "The minimum normalized expression threshold to retain only genes with sufficient expression",
1185
+ min: 0
1186
+ },
1187
+ {
1188
+ label: "Method",
1189
+ type: "radio",
1190
+ chartType: "volcano",
1191
+ settingsKey: "method",
1192
+ title: "Toggle between analysis methods",
1193
+ options: this.getMethodOptions()
1194
+ }
1195
+ // {
1196
+ // label: 'Rank Genes by',
1197
+ // type: 'radio',
1198
+ // chartType: 'volcano',
1199
+ // settingsKey: 'rankBy',
1200
+ // title: 'Rank genes by either the absolute value of the fold change or the variance',
1201
+ // options: [
1202
+ // { label: 'abs(Fold Change)', value: 'abs(foldChange)' },
1203
+ // { label: 'Variance', value: 'variance' }
1204
+ // ],
1205
+ // //TODO: will enable this feature when there is backhand support
1206
+ // getDisplayStyle: () => 'none'
1207
+ // }
1208
+ ];
1209
+ this.inputs.splice(0, 0, ...geInputs);
1210
+ }
1211
+ addDNAMethControlInputs() {
1212
+ if (this.termType !== DNA_METHYLATION) return;
1213
+ const dmInputs = [
1214
+ {
1215
+ label: "Min samples per group",
1216
+ type: "number",
1217
+ chartType: "volcano",
1218
+ settingsKey: "minSamplesPerGroup",
1219
+ title: "Minimum non-NA samples required per group for a promoter to be tested",
1220
+ min: 1,
1221
+ max: 100
1222
+ }
1223
+ ];
1224
+ this.inputs.splice(0, 0, ...dmInputs);
1225
+ }
1226
+ addSingleCellCTControlInputs() {
1227
+ if (this.termType !== SINGLECELL_CELLTYPE) return;
1228
+ const scctInputs = [];
1229
+ this.inputs.splice(0, 0, ...scctInputs);
1230
+ }
1231
+ getMethodOptions() {
1232
+ if (this.termType !== GENE_EXPRESSION) return;
1233
+ const settings = this.config.settings.volcano;
1234
+ const features = JSON.parse(sessionStorage.getItem("optionalFeatures"));
1235
+ if (features?.runDE_methods?.length) {
1236
+ const opts = [];
1237
+ for (const m of features.runDE_methods) {
1238
+ opts.push({ label: m, value: m.toLowerCase() });
1239
+ }
1240
+ return opts;
1241
+ }
1242
+ if (this.sampleNum < settings.sampleNumCutoff) {
1243
+ return [
1244
+ { label: "edgeR", value: "edgeR" },
1245
+ { label: "Wilcoxon", value: "wilcoxon" },
1246
+ { label: "Limma", value: "limma" }
1247
+ ];
1248
+ } else return [{ label: "Wilcoxon", value: "wilcoxon" }];
1249
+ }
1250
+ };
1251
+
1252
+ // plots/volcano/Volcano.ts
1253
+ var MIN_WILCOXON_GROUP_SIZE = 20;
1254
+ var Volcano = class _Volcano extends PlotBase {
1255
+ static {
1256
+ this.type = "volcano";
1257
+ }
1258
+ constructor(opts, api) {
1259
+ super(opts, api);
1260
+ if (this.opts.parentId) this.parentId = this.opts.parentId;
1261
+ this.type = _Volcano.type;
1262
+ this.components = {
1263
+ controls: {}
1264
+ };
1265
+ this.termType = opts.termType;
1266
+ const holder = opts.holder.classed("sjpp-volcano-main", true).attr("data-testid", `sjpp-volcano-main-${opts.termType}`);
1267
+ const controls = typeof opts.controls == "object" ? opts.controls : holder || holder.append("div");
1268
+ const error = opts.holder.append("div").attr("id", "sjpp-volcano-error").attr("data-testid", `sjpp-volcano-error-${opts.termType}`).style("opacity", 0.75);
1269
+ this.dom = {
1270
+ holder,
1271
+ controls,
1272
+ error,
1273
+ wait: holder.append("div").attr("id", "sjpp-volcano-wait").attr("data-testid", `sjpp-volcano-wait-${opts.termType}`).style("opacity", 0.75).style("padding", "20px").text("Loading..."),
1274
+ tip: new Menu({ padding: "" }),
1275
+ actionsTip: new Menu({ padding: "" })
1276
+ };
1277
+ }
1278
+ getState(appState) {
1279
+ const config = appState.plots.find((p) => p.id === this.id);
1280
+ if (!config) {
1281
+ throw new Error(
1282
+ `No plot with id='${this.id}' found. Did you set this.id before this.api = getComponentApi(this)?`
1283
+ );
1284
+ }
1285
+ const parentConfig = this.parentId && appState.plots.find((p) => p.id === this.parentId);
1286
+ const termfilter = getCombinedTermFilter(appState, config.filter || parentConfig?.filter);
1287
+ return {
1288
+ config: Object.assign({}, config, {
1289
+ settings: {
1290
+ volcano: config.settings.volcano
1291
+ }
1292
+ }),
1293
+ termfilter
1294
+ };
1295
+ }
1296
+ async setControls() {
1297
+ const plotConfig = this.app.getState().plots.find((p) => p.id === this.id);
1298
+ const controls = new VolcanoControlInputs(plotConfig, this.termType);
1299
+ this.components.controls = await controlsInit({
1300
+ app: this.app,
1301
+ id: this.id,
1302
+ holder: this.dom.controls.style("display", "inline-block"),
1303
+ inputs: controls.inputs
1304
+ });
1305
+ this.components.controls.on("downloadClick.volcano", () => this.interactions.download(this.termType));
1306
+ if (plotConfig.chartType == "differentialAnalysis")
1307
+ this.components.controls.on(
1308
+ "helpClick.differentialAnalysis",
1309
+ () => (
1310
+ //Opens the page for the differential analysis wiki
1311
+ //Can't put in parent as DA does not have a controls component
1312
+ window.open("https://github.com/stjude/proteinpaint/wiki/Differential-analysis")
1313
+ )
1314
+ );
1315
+ }
1316
+ async init() {
1317
+ this.interactions = new VolcanoInteractions(this.app, this.id, this.dom);
1318
+ this.model = new VolcanoModel(this, this.termType);
1319
+ this.view = new VolcanoPlotView(this.dom, this.interactions, this.termType);
1320
+ await this.setControls();
1321
+ }
1322
+ async main() {
1323
+ if (!this.interactions) throw new Error("Volcano Interactions not initialized");
1324
+ if (!this.model) throw new Error("Volcano Model not initialized");
1325
+ if (!this.view) throw new Error("Volcano View not initialized");
1326
+ const config = structuredClone(this.state.config);
1327
+ if (config.chartType != this.type && config.childType != this.type) return;
1328
+ const settings = config.settings.volcano;
1329
+ try {
1330
+ const showWait = setTimeout(() => {
1331
+ this.dom.wait.style("display", "block");
1332
+ }, 500);
1333
+ const response = await this.model.getData(config, settings);
1334
+ this.dom.error.text("");
1335
+ if (!response || response.error || !response.data || !response.data.volcanoPng || !response.data.totalRows) {
1336
+ const msg = response?.error || "No data returned from server";
1337
+ if (response?.code === "CACHE_BUSY") {
1338
+ if (window.confirm(msg)) this.main();
1339
+ } else sayerror(this.dom.error, msg);
1340
+ clearTimeout(showWait);
1341
+ this.dom.wait.style("display", "none");
1342
+ return;
1343
+ }
1344
+ const viewModel = new VolcanoViewModel(config, response, settings);
1345
+ this.interactions.pValueTableData = viewModel.viewData.pValueTableData;
1346
+ this.interactions.data = response.data.dots;
1347
+ this.interactions.totalSignificantRows = response.data.totalSignificantRows;
1348
+ this.view.render(settings, viewModel.viewData);
1349
+ const notes = [];
1350
+ if (!response.data.dots.length) notes.push("No points passed the significance thresholds.");
1351
+ const smallestGroup = Math.min(response.sample_size1, response.sample_size2);
1352
+ if (settings.method == "wilcoxon" && smallestGroup < MIN_WILCOXON_GROUP_SIZE) {
1353
+ const samplesLabel = uiLabel(this.app.vocabApi.termdbConfig?.uiLabels, "samples", "samples");
1354
+ notes.push(
1355
+ `The smaller group has ${smallestGroup.toLocaleString()} ${samplesLabel}. Wilcoxon p-values are approximated here, and a gene that is zero in most ${samplesLabel} can be assigned a p-value far smaller than its group sizes can support. Rank these results by fold change rather than by p-value magnitude, and do not compare the p-values against another analysis.`
1356
+ );
1357
+ }
1358
+ if (notes.length) this.dom.error.text(notes.join(" ")).style("color", "#555");
1359
+ clearTimeout(showWait);
1360
+ this.dom.wait.style("display", "none");
1361
+ } catch (e) {
1362
+ if (e instanceof Error) console.error(e.message || e);
1363
+ else if (e.stack) console.log(e.stack);
1364
+ throw e;
1365
+ }
1366
+ }
1367
+ };
1368
+ var volcanoInit = getCompInit(Volcano);
1369
+ var componentInit = volcanoInit;
1370
+ async function getPlotConfig(opts, app) {
1371
+ if (!opts.termType) throw new Error(".termType is required");
1372
+ const config = {
1373
+ settings: {
1374
+ volcano: getDefaultVolcanoSettings(opts.overrides, opts)
1375
+ },
1376
+ highlightedData: opts.highlightedData || [],
1377
+ termType: opts.termType
1378
+ };
1379
+ if (opts.termType == GENE_EXPRESSION) {
1380
+ if (opts.confounderTws) {
1381
+ try {
1382
+ for (const tw of opts.confounderTws) {
1383
+ await fillTermWrapper(tw, app.vocabApi);
1384
+ }
1385
+ } catch (e) {
1386
+ console.error(e.message || e);
1387
+ throw new Error(`Volcano getPlotConfig() failed to fill confounder term wrappers: ${e}`);
1388
+ }
1389
+ }
1390
+ Object.assign(config, {
1391
+ confounderTws: opts.confounderTws || [],
1392
+ samplelst: opts.samplelst
1393
+ });
1394
+ }
1395
+ if (opts.termType == SINGLECELL_CELLTYPE) {
1396
+ Object.assign(config, {
1397
+ //TODO: Fix this logic
1398
+ sample: opts.experimentID || opts.sample || opts.samples?.[0]?.experiments[0]?.experimentID,
1399
+ termId: app.vocabApi.termdbConfig.queries.singleCell.DEgenes.termId,
1400
+ //TODO: 'Cluster' is a fallback for development
1401
+ //Should require opts.categoryName in the future
1402
+ categoryName: opts.categoryName || "Cluster"
1403
+ });
1404
+ }
1405
+ validateVolcanoSettings(config, opts);
1406
+ return copyMerge(config, opts);
1407
+ }
1408
+ export {
1409
+ Volcano,
1410
+ componentInit,
1411
+ getPlotConfig,
1412
+ volcanoInit
1413
+ };
1414
+ //# sourceMappingURL=Volcano-BJA5HN5Y.js.map