@sjcrh/proteinpaint-client 2.196.0 → 2.198.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (957) hide show
  1. package/dist/2dmaf-R3PFZNRN.js +1373 -0
  2. package/dist/AIProjectAdmin-DM3KG6SR.js +958 -0
  3. package/dist/AppHeader-6DZQ6YZX.js +835 -0
  4. package/dist/BoxPlot-76NINVX4.js +1217 -0
  5. package/dist/CorrelationVolcano-U5UMJNH5.js +619 -0
  6. package/dist/DE-AXNYWIQK.js +95 -0
  7. package/dist/DEinput-JH6YY6LS.js +301 -0
  8. package/dist/DifferentialAnalysis-25P4CGIY.js +242 -0
  9. package/dist/DifferentialAnalysis-25P4CGIY.js.map +7 -0
  10. package/dist/Disco-NVMLF3BK.js +3392 -0
  11. package/dist/Disco-NVMLF3BK.js.map +7 -0
  12. package/dist/Disco.UI-C7CZINUQ.js +249 -0
  13. package/dist/DmrPlot-WROR4ENM.js +642 -0
  14. package/dist/GB-JUABODPH.js +1394 -0
  15. package/dist/GB-JUABODPH.js.map +7 -0
  16. package/dist/GSEA-Y5R2THIJ.js +846 -0
  17. package/dist/GSEA-Y5R2THIJ.js.map +7 -0
  18. package/dist/GeneExpInput-JDU6EI7K.js +367 -0
  19. package/dist/Geomap-J763OK2F.js +89 -0
  20. package/dist/Geomap-J763OK2F.js.map +7 -0
  21. package/dist/HicApp-UNIJLH4B.js +2250 -0
  22. package/dist/IDCViewer-KVPCIUDW.js +10803 -0
  23. package/dist/IDCViewer-KVPCIUDW.js.map +7 -0
  24. package/dist/NumBinaryEditor-WMN2GGO4.js +271 -0
  25. package/dist/NumBinaryEditor.unit.spec-TAMXV6SE.js +286 -0
  26. package/dist/NumContEditor-XYIOJY4E.js +109 -0
  27. package/dist/NumContEditor.unit.spec-WDZ75BHO.js +169 -0
  28. package/dist/NumCustomBinEditor-5SY3C4TY.js +38 -0
  29. package/dist/NumCustomBinEditor.unit.spec-XHTAIXR3.js +284 -0
  30. package/dist/NumDiscreteEditor-NRDRX4FD.js +179 -0
  31. package/dist/NumDiscreteEditor.unit.spec-2CJW7OAT.js +202 -0
  32. package/dist/NumRegularBinEditor-DUDVTNDC.js +38 -0
  33. package/dist/NumRegularBinEditor.unit.spec-H3GNQHMN.js +227 -0
  34. package/dist/NumSplineEditor-7Q4AC7KH.js +198 -0
  35. package/dist/NumSplineEditor.unit.spec-YRZK5PH5.js +199 -0
  36. package/dist/NumericDensity-NTNWUESG.js +38 -0
  37. package/dist/NumericDensity.unit.spec-5I5U6T6P.js +221 -0
  38. package/dist/NumericHandler-MEW2KMPX.js +39 -0
  39. package/dist/NumericHandler.unit.spec-JFX4BPRG.js +219 -0
  40. package/dist/ProteomeInput-K2ZHR2U6.js +395 -0
  41. package/dist/ProteomeInput-K2ZHR2U6.js.map +7 -0
  42. package/dist/RunChart2-BEBDU7RC.js +758 -0
  43. package/dist/SC-XCBFJVUJ.js +1120 -0
  44. package/dist/SC-XCBFJVUJ.js.map +7 -0
  45. package/dist/Volcano-4Y4TP3UX.js +1385 -0
  46. package/dist/Volcano-4Y4TP3UX.js.map +7 -0
  47. package/dist/WSIViewer-ZLQU62PD.js +48562 -0
  48. package/dist/WsiSamplesPlot-JMBSITOM.js +165 -0
  49. package/dist/adSandbox-664IRCRL.js +38 -0
  50. package/dist/animatedBubbleChart-TX7NW34K.js +555 -0
  51. package/dist/app-63WJ3BMP.js +37 -0
  52. package/dist/app-77FIZHCG.js +49 -0
  53. package/dist/app.js +19 -19
  54. package/dist/bam-IETNVAYD.js +860 -0
  55. package/dist/barchart-YUVXJNH4.js +47 -0
  56. package/dist/barchart.data-P4EIQXGE.js +22 -0
  57. package/dist/barchart.events-JPVCLTIG.js +47 -0
  58. package/dist/barchart.integration.spec-ZH7DEQI2.js +2196 -0
  59. package/dist/barchart2-XO2FG76J.js +314 -0
  60. package/dist/bars.renderer-AUIWUJDH.js +12 -0
  61. package/dist/block-NBTCOT3H.js +6255 -0
  62. package/dist/block-NBTCOT3H.js.map +7 -0
  63. package/dist/block.init-X7Y2EEVR.js +38 -0
  64. package/dist/block.mds.expressionrank-BIAOZIZ3.js +359 -0
  65. package/dist/block.mds.geneboxplot-CNICDVLK.js +828 -0
  66. package/dist/block.mds.junction-PQXCTSUI.js +1545 -0
  67. package/dist/block.mds.svcnv-32KMVTCT.js +6801 -0
  68. package/dist/block.svg-LRTOYQK2.js +164 -0
  69. package/dist/block.tk.aicheck-HDV7ZIUD.js +283 -0
  70. package/dist/block.tk.ase-JIDWKMYI.js +365 -0
  71. package/dist/block.tk.bam-5X3OS5HB.js +1906 -0
  72. package/dist/block.tk.bedgraphdot-T7JX7YQL.js +384 -0
  73. package/dist/block.tk.bigwig.ui-OSAYEBAE.js +212 -0
  74. package/dist/block.tk.hicstraw-DEY3VQFK.js +823 -0
  75. package/dist/block.tk.junction-7UAFEZSJ.js +2364 -0
  76. package/dist/block.tk.junction.textmatrixui-27LHS33U.js +199 -0
  77. package/dist/block.tk.ld-DF2PI7OO.js +99 -0
  78. package/dist/block.tk.menu-L2D5KBIV.js +1029 -0
  79. package/dist/block.tk.pgv-QO56SKBV.js +944 -0
  80. package/dist/brainImaging-NIPQWFWO.js +423 -0
  81. package/dist/brainRegions-ZNZ2WHSU.js +221 -0
  82. package/dist/bubbleHeatmap-ERWNEKZB.js +383 -0
  83. package/dist/chunk-2GYWFQML.js +299 -0
  84. package/dist/chunk-2HYJ4GDH.js +50 -0
  85. package/dist/chunk-2MG6XE6R.js +272 -0
  86. package/dist/chunk-2X6W4E3W.js +1507 -0
  87. package/dist/chunk-2X6W4E3W.js.map +7 -0
  88. package/dist/chunk-33K5PA52.js +54 -0
  89. package/dist/chunk-37XDBPOP.js +26 -0
  90. package/dist/chunk-3EWB3246.js +58 -0
  91. package/dist/chunk-3RSKOPIY.js +100 -0
  92. package/dist/chunk-3XVVN66M.js +4085 -0
  93. package/dist/chunk-3XVVN66M.js.map +7 -0
  94. package/dist/chunk-4DPVT4NE.js +1102 -0
  95. package/dist/chunk-4IH7DORZ.js +98 -0
  96. package/dist/chunk-4QNBFIIR.js +399 -0
  97. package/dist/chunk-4STKL6SR.js +217 -0
  98. package/dist/chunk-4TZIVSL5.js +34 -0
  99. package/dist/chunk-5ABGFJSP.js +467 -0
  100. package/dist/chunk-5AZNP47R.js +302 -0
  101. package/dist/chunk-5RL2OHXX.js +5070 -0
  102. package/dist/chunk-5RL2OHXX.js.map +7 -0
  103. package/dist/chunk-5VOPABBA.js +20941 -0
  104. package/dist/chunk-5VOPABBA.js.map +7 -0
  105. package/dist/chunk-6BB43SIB.js +102 -0
  106. package/dist/chunk-7OHRR2IE.js +276 -0
  107. package/dist/chunk-ARBHWDMY.js +226 -0
  108. package/dist/chunk-ARBHWDMY.js.map +7 -0
  109. package/dist/chunk-ASATD4T7.js +14 -0
  110. package/dist/chunk-AZ47Q7BX.js +1223 -0
  111. package/dist/chunk-AZ47Q7BX.js.map +7 -0
  112. package/dist/chunk-B5B3LZB3.js +236 -0
  113. package/dist/chunk-BHGISFCA.js +2681 -0
  114. package/dist/chunk-BMBOZ64T.js +2786 -0
  115. package/dist/chunk-BOZJHPJP.js +216 -0
  116. package/dist/chunk-CDD7LYJM.js +194 -0
  117. package/dist/chunk-CTQ3IUCA.js +2327 -0
  118. package/dist/chunk-D7TID3HR.js +158 -0
  119. package/dist/chunk-DBKNWR4J.js +1561 -0
  120. package/dist/chunk-DBKNWR4J.js.map +7 -0
  121. package/dist/chunk-E55LLYRX.js +55 -0
  122. package/dist/chunk-ESGXULRH.js +386 -0
  123. package/dist/chunk-EZ4LZ6ZT.js +117 -0
  124. package/dist/chunk-F3SJTVP5.js +4284 -0
  125. package/dist/chunk-F5IXNJO7.js +222 -0
  126. package/dist/chunk-FJYECRHW.js +448 -0
  127. package/dist/chunk-FPNRUQOU.js +833 -0
  128. package/dist/chunk-G5S4R77D.js +1942 -0
  129. package/dist/chunk-G5S4R77D.js.map +7 -0
  130. package/dist/chunk-G764NXQN.js +170 -0
  131. package/dist/chunk-GAPI4MML.js +148 -0
  132. package/dist/chunk-HLUZOZXJ.js +272 -0
  133. package/dist/chunk-HOKIK2FR.js +375 -0
  134. package/dist/chunk-I6WR4CG7.js +323 -0
  135. package/dist/chunk-I6WR4CG7.js.map +7 -0
  136. package/dist/chunk-KLGL6XZD.js +129 -0
  137. package/dist/chunk-KTKZSYIH.js +24 -0
  138. package/dist/chunk-KTKZSYIH.js.map +7 -0
  139. package/dist/chunk-L7IRWUKT.js +480 -0
  140. package/dist/chunk-LFCYMSVA.js +314 -0
  141. package/dist/chunk-LFCYMSVA.js.map +7 -0
  142. package/dist/chunk-LX6G7HJJ.js +617 -0
  143. package/dist/chunk-M2G5R4WB.js +142 -0
  144. package/dist/chunk-M4TTGGT4.js +102 -0
  145. package/dist/chunk-M6EF3WVV.js +1825 -0
  146. package/dist/chunk-M6KHT3MM.js +146 -0
  147. package/dist/chunk-MCZFHWIR.js +230 -0
  148. package/dist/chunk-MFQACKYU.js +448 -0
  149. package/dist/chunk-MVGAGTM3.js +343 -0
  150. package/dist/chunk-NELOT3NJ.js +119 -0
  151. package/dist/chunk-NRKMXULC.js +54 -0
  152. package/dist/chunk-NSTL4MY2.js +2110 -0
  153. package/dist/chunk-NSTL4MY2.js.map +7 -0
  154. package/dist/chunk-NYRZNRG5.js +177 -0
  155. package/dist/chunk-ONPKE6DC.js +368 -0
  156. package/dist/chunk-OXVLWQ6M.js +556 -0
  157. package/dist/chunk-OXVLWQ6M.js.map +7 -0
  158. package/dist/chunk-PFRWS4CR.js +203 -0
  159. package/dist/chunk-PJKQUXEN.js +1275 -0
  160. package/dist/chunk-Q2L44HK3.js +6364 -0
  161. package/dist/chunk-QNHT74XC.js +1245 -0
  162. package/dist/chunk-QNHT74XC.js.map +7 -0
  163. package/dist/chunk-RKO6BL5N.js +446 -0
  164. package/dist/chunk-T25QNZHB.js +254 -0
  165. package/dist/chunk-U7TBYVIQ.js +31 -0
  166. package/dist/chunk-UGRQXBL4.js +381 -0
  167. package/dist/chunk-USFSHSCJ.js +477 -0
  168. package/dist/chunk-VJ6UFVGC.js +2833 -0
  169. package/dist/chunk-W3WPPOXH.js +292 -0
  170. package/dist/chunk-WFCSOTBO.js +263 -0
  171. package/dist/chunk-WHP4AKDM.js +185 -0
  172. package/dist/chunk-WHP4AKDM.js.map +7 -0
  173. package/dist/chunk-WZ2L57MB.js +102 -0
  174. package/dist/chunk-XPY6AWXO.js +787 -0
  175. package/dist/chunk-XPY6AWXO.js.map +7 -0
  176. package/dist/chunk-Y4UAKFWC.js +37 -0
  177. package/dist/chunk-YQBS2ZCK.js +514 -0
  178. package/dist/chunk-Z5U6HOE4.js +190 -0
  179. package/dist/chunk-Z5U6HOE4.js.map +7 -0
  180. package/dist/chunk-ZNEJUKJW.js +140 -0
  181. package/dist/chunk-ZNEJUKJW.js.map +7 -0
  182. package/dist/chunk-ZTHM2TKP.js +176 -0
  183. package/dist/condition-2PASYSUC.js +332 -0
  184. package/dist/controls-5IMJ6K5L.js +41 -0
  185. package/dist/controls.config-P5PG2DHW.js +39 -0
  186. package/dist/correlation-U3EDLNHR.js +102 -0
  187. package/dist/cuminc-2HUFEROK.js +1149 -0
  188. package/dist/cuminc.integration.spec-WFWAPTDA.js +678 -0
  189. package/dist/cuminc.integration.spec-WFWAPTDA.js.map +7 -0
  190. package/dist/customdata.inputui-ZHWNEPFH.js +289 -0
  191. package/dist/dataDownload-VBSJBKMP.js +330 -0
  192. package/dist/dataDownload.integration.spec-LUFSETOP.js +193 -0
  193. package/dist/databrowser.ui-6H2KMSTJ.js +433 -0
  194. package/dist/dictionary-V37LXFIP.js +118 -0
  195. package/dist/dnaMethylation-OIZMHMLK.js +38 -0
  196. package/dist/dnaMethylation.integration.spec-CWPTJ74H.js +203 -0
  197. package/dist/dofetch-IWPZQB5N.js +51 -0
  198. package/dist/e2pca-7SLIAGYW.js +350 -0
  199. package/dist/ep-7L6KF6K4.js +1256 -0
  200. package/dist/expclust.gdc.spec-JT452Q3G.js +307 -0
  201. package/dist/facet-CXOUU5AS.js +521 -0
  202. package/dist/forms2-VPNCLQOY.js +539 -0
  203. package/dist/gb-P4VRXRED.js +88 -0
  204. package/dist/geneExpClustering-FQTCKRJJ.js +249 -0
  205. package/dist/geneExpression-BHO5326K.js +313 -0
  206. package/dist/geneExpression-ZMERB64E.js +38 -0
  207. package/dist/geneExpression.unit.spec-CNVHZWNG.js +102 -0
  208. package/dist/geneORA-FXVUCXGX.js +278 -0
  209. package/dist/geneRanking-SFK4UBKQ.js +553 -0
  210. package/dist/geneVariant-IYEHB4H7.js +41 -0
  211. package/dist/geneVariant-LIRRLUFR.js +39 -0
  212. package/dist/geneVariant.integration.spec-Y2NPNTYX.js +198 -0
  213. package/dist/genefusion.ui-L3HIJM3N.js +309 -0
  214. package/dist/geneset-A6VUFX63.js +208 -0
  215. package/dist/genomeBrowser.spec-CB4HHHBN.js +281 -0
  216. package/dist/grin2-FKBIMH5N.js +75 -0
  217. package/dist/grin2-V36KLEBU.js +1143 -0
  218. package/dist/grin2-V36KLEBU.js.map +7 -0
  219. package/dist/hierCluster-QFPRMHVA.js +63 -0
  220. package/dist/hierCluster-YWC3XYPV.js +59 -0
  221. package/dist/hierCluster.config-F7YYZNM3.js +40 -0
  222. package/dist/hierCluster.integration.spec-AF4L3YT6.js +488 -0
  223. package/dist/hierCluster.interactivity-RPY74PK6.js +54 -0
  224. package/dist/hierCluster.renderers-LOKHZ3V2.js +21 -0
  225. package/dist/imagePlot-BBEXA754.js +163 -0
  226. package/dist/importPlot-7QGANZGK.js +8 -0
  227. package/dist/isoformExpression-4SLLCVFD.js +40 -0
  228. package/dist/isoformExpression.unit.spec-GEL4JJ64.js +208 -0
  229. package/dist/launch.adhoc-LWLBQJS5.js +42 -0
  230. package/dist/leftlabel.sample-RTEZOIH2.js +264 -0
  231. package/dist/legacyDataset-VLD7ZYWI.js +119 -0
  232. package/dist/lollipop-XKQK5QZU.js +171 -0
  233. package/dist/maf-AZQPPWDO.js +459 -0
  234. package/dist/maftimeline-7MSVYKQU.js +593 -0
  235. package/dist/matrix-BGLWC25D.js +58 -0
  236. package/dist/matrix-IQR5SRMK.js +63 -0
  237. package/dist/matrix.cells-5C57NWOY.js +28 -0
  238. package/dist/matrix.config-2DQXAN2E.js +41 -0
  239. package/dist/matrix.data-ADCGF5H6.js +25 -0
  240. package/dist/matrix.groups-V4ITQ5F7.js +27 -0
  241. package/dist/matrix.integration.spec-IBNOO2WP.js +3072 -0
  242. package/dist/matrix.integration.spec-IBNOO2WP.js.map +7 -0
  243. package/dist/matrix.interactivity-JNELJFOV.js +42 -0
  244. package/dist/matrix.layout-WBVIV6GR.js +44 -0
  245. package/dist/matrix.legend-YHOWPK77.js +22 -0
  246. package/dist/matrix.renderers-5BGVRR3M.js +38 -0
  247. package/dist/matrix.serieses-2GZJOASZ.js +21 -0
  248. package/dist/matrix.sort-WKIWPJKP.js +27 -0
  249. package/dist/matrix.sort.unit.spec-L2E4D4AS.js +472 -0
  250. package/dist/matrix.sorterUi-TEJWWJ64.js +18 -0
  251. package/dist/matrix.sorterUi.unit.spec-SHP7C4P7.js +342 -0
  252. package/dist/mavb-4MXNYUEO.js +732 -0
  253. package/dist/mds.fimo-WHIJIBOI.js +518 -0
  254. package/dist/mds.samplescatterplot-BRJ6NG2D.js +1550 -0
  255. package/dist/mds.survivalplot-OPCMB5PB.js +483 -0
  256. package/dist/numericDictTermCluster-7MIFOP2K.js +65 -0
  257. package/dist/oncomatrix-BGG6BEUI.js +295 -0
  258. package/dist/oncomatrix.spec-LYQ4L4F3.js +448 -0
  259. package/dist/plot.2dvaf-6WVCP2ZI.js +377 -0
  260. package/dist/plot.app-MLBP6WFP.js +41 -0
  261. package/dist/plot.barplot-JEPRZSCU.js +102 -0
  262. package/dist/plot.boxplot-GNFW42VM.js +152 -0
  263. package/dist/plot.brainImaging-5ACNSD45.js +51 -0
  264. package/dist/plot.disco-Q2V2KKIH.js +102 -0
  265. package/dist/plot.dzi-KVT6S7K7.js +33 -0
  266. package/dist/plot.ssgq-4N3KFJQ2.js +139 -0
  267. package/dist/plot.vaf2cov-ITRG5U43.js +259 -0
  268. package/dist/plot.wsi-26YZNU4V.js +36 -0
  269. package/dist/polar2-J7GVUK4X.js +231 -0
  270. package/dist/profileForms-VXV2JLXU.js +446 -0
  271. package/dist/profilePlot-ZZYZK4SY.js +54 -0
  272. package/dist/proteinView-7KN532D3.js +1568 -0
  273. package/dist/qualitative-MLRVLIAU.js +43 -0
  274. package/dist/radar2-WM2ZBOH3.js +326 -0
  275. package/dist/radarFacility2-3SBR2JJ3.js +334 -0
  276. package/dist/regression-WMRPQJW2.js +56 -0
  277. package/dist/regression.inputs-VWZKSYNY.js +48 -0
  278. package/dist/regression.inputs.term-OWE6GWHM.js +48 -0
  279. package/dist/regression.inputs.values.table-4INNZQI2.js +45 -0
  280. package/dist/regression.integration.spec-XKQ2JOOT.js +784 -0
  281. package/dist/regression.results-VZBYMBYC.js +40 -0
  282. package/dist/regression.spec-DU3UTDCJ.js +708 -0
  283. package/dist/render-N5FOF247.js +38 -0
  284. package/dist/report-DW3OHB67.js +222 -0
  285. package/dist/sampleScatter.spec-REFSK2V4.js +202 -0
  286. package/dist/sampleView-ICOT2R6O.js +48 -0
  287. package/dist/samplelst-TJEVASYG.js +111 -0
  288. package/dist/samplematrix-6DAWCXQ3.js +2198 -0
  289. package/dist/sc-53LNOB7N.js +86 -0
  290. package/dist/scatter-DKYSS4DL.js +851 -0
  291. package/dist/selectGenomeWithTklst-WTX66TV3.js +134 -0
  292. package/dist/singleCellCellType-D2CN2BHQ.js +38 -0
  293. package/dist/singleCellCellType.unit.spec-LADUCI4R.js +160 -0
  294. package/dist/singleCellGeneExpression-YR2ZT34W.js +38 -0
  295. package/dist/singleCellGeneExpression.unit.spec-BM63M432.js +153 -0
  296. package/dist/singleCellPlot-3ICIOILE.js +54 -0
  297. package/dist/singlecell-6ZUFA3BQ.js +86 -0
  298. package/dist/singlecell-KX7W4U57.js +1572 -0
  299. package/dist/snp-VIURB7L3.js +38 -0
  300. package/dist/snp.unit.spec-ACZNZUNS.js +176 -0
  301. package/dist/snplocus-3LW4ZUZR.js +208 -0
  302. package/dist/spliceevent.a53ss.diagram-AKTZGWNM.js +151 -0
  303. package/dist/spliceevent.exonskip.diagram-XZHXB77R.js +283 -0
  304. package/dist/spliceevent.exonskip.diagram-XZHXB77R.js.map +7 -0
  305. package/dist/spliceevent.noeventdiagram-YTXWWNTJ.js +460 -0
  306. package/dist/ssGSEA-THW4WFMI.js +38 -0
  307. package/dist/ssGSEA.unit.spec-HTRGQI2K.js +88 -0
  308. package/dist/summarizeCnvGeneexp-RFYC3H2Z.js +163 -0
  309. package/dist/summarizeGeneexpSurvival-DQBZUTQ6.js +114 -0
  310. package/dist/summarizeMutationCnv-7AYEMHAI.js +164 -0
  311. package/dist/summarizeMutationDiagnosis-AKFJDSAF.js +40 -0
  312. package/dist/summarizeMutationSurvival-QJHZRQBZ.js +99 -0
  313. package/dist/summary-A5P7AYK4.js +49 -0
  314. package/dist/summary.integration.spec-HQISXGNL.js +414 -0
  315. package/dist/summaryInput-HP675QOQ.js +235 -0
  316. package/dist/sunburst-65LSYRXX.js +284 -0
  317. package/dist/survival-QNEI6YVK.js +46 -0
  318. package/dist/survival-UI74VXSM.js +58 -0
  319. package/dist/survival.integration.spec-X5N3JQXS.js +915 -0
  320. package/dist/survival.integration.spec-X5N3JQXS.js.map +7 -0
  321. package/dist/svgraph-PSX2NER3.js +1387 -0
  322. package/dist/svmr-QDQ33EFX.js +3842 -0
  323. package/dist/table-LWAI27UO.js +200 -0
  324. package/dist/termCollection-3JHR74FG.js +179 -0
  325. package/dist/termCollection-CDF5LYUG.js +38 -0
  326. package/dist/termCollection.unit.spec-HOJKYWHF.js +208 -0
  327. package/dist/tk-GL4QCL4K.js +1019 -0
  328. package/dist/tk-GL4QCL4K.js.map +7 -0
  329. package/dist/tk-OEQFO73V.js +46 -0
  330. package/dist/tp.ui-SHNERDGC.js +1459 -0
  331. package/dist/tvs.dt-CZDC4TSR.js +39 -0
  332. package/dist/tvs.dtcnv.categorical-OPBDHZGB.js +40 -0
  333. package/dist/tvs.dtcnv.continuous-AR6P4EP3.js +72 -0
  334. package/dist/tvs.dtfusion-2YQ7N6FQ.js +40 -0
  335. package/dist/tvs.dtitd-ATCHW735.js +40 -0
  336. package/dist/tvs.dtitd-ATCHW735.js.map +7 -0
  337. package/dist/tvs.dtsnvindel-WHHWAATJ.js +40 -0
  338. package/dist/tvs.dtsv-3UMCW65O.js +40 -0
  339. package/dist/tvs.numeric-TOEPASWN.js +21 -0
  340. package/dist/tvs.samplelst-M7XKXRTZ.js +104 -0
  341. package/dist/tvs.termCollection-WT4WZMYR.js +159 -0
  342. package/dist/violin-2YGXTBDS.js +46 -0
  343. package/dist/violin.integration.spec-YWNHVAGS.js +1425 -0
  344. package/dist/violin.interactivity-J6BE2UQL.js +38 -0
  345. package/dist/violin.renderer-3GRUWP2U.js +40 -0
  346. package/dist/vocabulary-2INCVPYJ.js +41 -0
  347. package/package.json +3 -3
  348. package/dist/2dmaf-SKNV7IHT.js +0 -1373
  349. package/dist/AIProjectAdmin-AOTVRBNH.js +0 -958
  350. package/dist/AppHeader-M2ZSS3M3.js +0 -835
  351. package/dist/BoxPlot-P3EECSQA.js +0 -1217
  352. package/dist/CorrelationVolcano-YCQ5S6MT.js +0 -619
  353. package/dist/DE-RBMOQZCR.js +0 -95
  354. package/dist/DEinput-PTW6RS6U.js +0 -301
  355. package/dist/DifferentialAnalysis-M6IDWPYX.js +0 -245
  356. package/dist/DifferentialAnalysis-M6IDWPYX.js.map +0 -7
  357. package/dist/Disco-GUKDAHUY.js +0 -3297
  358. package/dist/Disco-GUKDAHUY.js.map +0 -7
  359. package/dist/Disco.UI-YBIMV7RH.js +0 -249
  360. package/dist/DmrPlot-JQPLLU6P.js +0 -642
  361. package/dist/GB-UOTFNVJE.js +0 -1353
  362. package/dist/GB-UOTFNVJE.js.map +0 -7
  363. package/dist/GeneExpInput-3OPDDCXR.js +0 -367
  364. package/dist/HicApp-VFOWRP6G.js +0 -2250
  365. package/dist/IDCViewer-Y7EOIIBG.js +0 -10455
  366. package/dist/IDCViewer-Y7EOIIBG.js.map +0 -7
  367. package/dist/NumBinaryEditor-RL44SO3T.js +0 -271
  368. package/dist/NumBinaryEditor.unit.spec-P73PGAX5.js +0 -286
  369. package/dist/NumContEditor-MIC7M73G.js +0 -109
  370. package/dist/NumContEditor.unit.spec-5XZH7OCG.js +0 -169
  371. package/dist/NumCustomBinEditor-W357XTIR.js +0 -38
  372. package/dist/NumCustomBinEditor.unit.spec-CJMK4CYW.js +0 -284
  373. package/dist/NumDiscreteEditor-PRSUMS3I.js +0 -179
  374. package/dist/NumDiscreteEditor.unit.spec-A6R56P3Z.js +0 -202
  375. package/dist/NumRegularBinEditor-7OHUEUCC.js +0 -38
  376. package/dist/NumRegularBinEditor.unit.spec-NOAX42UZ.js +0 -227
  377. package/dist/NumSplineEditor-XI7AT5LM.js +0 -198
  378. package/dist/NumSplineEditor.unit.spec-ZH4M2N2C.js +0 -199
  379. package/dist/NumericDensity-X6IHQAW3.js +0 -38
  380. package/dist/NumericDensity.unit.spec-EKVD4AUG.js +0 -221
  381. package/dist/NumericHandler-5ONBWFJ5.js +0 -39
  382. package/dist/NumericHandler.unit.spec-SHI6E4VA.js +0 -219
  383. package/dist/ProteomeInput-HN46MIBP.js +0 -396
  384. package/dist/ProteomeInput-HN46MIBP.js.map +0 -7
  385. package/dist/RunChart2-Y6IY6MW2.js +0 -758
  386. package/dist/SC-JYF564FK.js +0 -1130
  387. package/dist/SC-JYF564FK.js.map +0 -7
  388. package/dist/Volcano-WZGAUYGY.js +0 -1380
  389. package/dist/Volcano-WZGAUYGY.js.map +0 -7
  390. package/dist/WSIViewer-RLLL7MAL.js +0 -48562
  391. package/dist/WsiSamplesPlot-FU3TCOTY.js +0 -165
  392. package/dist/adSandbox-ZINST5DE.js +0 -38
  393. package/dist/animatedBubbleChart-PIQWCVBJ.js +0 -555
  394. package/dist/app-N42SVGI2.js +0 -37
  395. package/dist/app-RWN4XLCP.js +0 -49
  396. package/dist/bam-QTSTXJ4N.js +0 -860
  397. package/dist/barchart-27BYTRVI.js +0 -47
  398. package/dist/barchart.data-OUNVH4JU.js +0 -22
  399. package/dist/barchart.events-PY4CEDSO.js +0 -47
  400. package/dist/barchart.integration.spec-H4WGHQ7R.js +0 -2196
  401. package/dist/barchart2-TIOTRAC2.js +0 -314
  402. package/dist/bars.renderer-57KSYAAT.js +0 -12
  403. package/dist/block-YPM767A4.js +0 -6226
  404. package/dist/block-YPM767A4.js.map +0 -7
  405. package/dist/block.init-LRZ3QAGC.js +0 -38
  406. package/dist/block.mds.expressionrank-IV7JLC52.js +0 -359
  407. package/dist/block.mds.geneboxplot-IBCE5XZU.js +0 -828
  408. package/dist/block.mds.junction-ISSCJHNF.js +0 -1545
  409. package/dist/block.mds.svcnv-ZEBVBTL7.js +0 -6801
  410. package/dist/block.svg-FYWA5VYH.js +0 -164
  411. package/dist/block.tk.aicheck-AD6DTKXR.js +0 -283
  412. package/dist/block.tk.ase-LO2J4KRE.js +0 -365
  413. package/dist/block.tk.bam-XGX22FCN.js +0 -1906
  414. package/dist/block.tk.bedgraphdot-SUIRFNFL.js +0 -384
  415. package/dist/block.tk.bigwig.ui-2Q7FAK3V.js +0 -212
  416. package/dist/block.tk.hicstraw-4MVP2PCL.js +0 -823
  417. package/dist/block.tk.junction-F54FTEPB.js +0 -2364
  418. package/dist/block.tk.junction.textmatrixui-ETROZJVK.js +0 -199
  419. package/dist/block.tk.ld-NJEDKSTU.js +0 -99
  420. package/dist/block.tk.menu-LZOY4FKT.js +0 -1029
  421. package/dist/block.tk.pgv-I3XHJ7VU.js +0 -944
  422. package/dist/brainImaging-BGP6VRFV.js +0 -423
  423. package/dist/brainRegions-AAN7LM2Y.js +0 -221
  424. package/dist/bubbleHeatmap-HNEU4CYA.js +0 -383
  425. package/dist/chunk-25XCVML7.js +0 -236
  426. package/dist/chunk-2XV6U42J.js +0 -100
  427. package/dist/chunk-36NAWXQ7.js +0 -5067
  428. package/dist/chunk-36NAWXQ7.js.map +0 -7
  429. package/dist/chunk-3LYZMOLO.js +0 -58
  430. package/dist/chunk-427UL37G.js +0 -222
  431. package/dist/chunk-4C3XRI6J.js +0 -54
  432. package/dist/chunk-4O6H4ZHL.js +0 -514
  433. package/dist/chunk-53JJ7SXN.js +0 -276
  434. package/dist/chunk-5CR24RTX.js +0 -381
  435. package/dist/chunk-5HMX4NUJ.js +0 -217
  436. package/dist/chunk-5QTJUPFS.js +0 -26
  437. package/dist/chunk-5V2BMEAS.js +0 -55
  438. package/dist/chunk-6MBTPVIM.js +0 -1275
  439. package/dist/chunk-6MQWYMPB.js +0 -183
  440. package/dist/chunk-6MQWYMPB.js.map +0 -7
  441. package/dist/chunk-7D3WX34I.js +0 -1230
  442. package/dist/chunk-7D3WX34I.js.map +0 -7
  443. package/dist/chunk-7FSIZZOX.js +0 -176
  444. package/dist/chunk-7KRS7L4U.js +0 -1443
  445. package/dist/chunk-7KRS7L4U.js.map +0 -7
  446. package/dist/chunk-A3URBFXN.js +0 -119
  447. package/dist/chunk-A45KH7LP.js +0 -254
  448. package/dist/chunk-B4GS7OLB.js +0 -4284
  449. package/dist/chunk-BKPDYW5T.js +0 -177
  450. package/dist/chunk-BWQV2OBL.js +0 -102
  451. package/dist/chunk-BXGQXLHP.js +0 -2786
  452. package/dist/chunk-CDJAHMAN.js +0 -299
  453. package/dist/chunk-CXHLROWX.js +0 -37
  454. package/dist/chunk-EKKQMKQI.js +0 -102
  455. package/dist/chunk-EPWIJEMK.js +0 -158
  456. package/dist/chunk-F7Y67LK7.js +0 -230
  457. package/dist/chunk-FDBVAL6K.js +0 -14
  458. package/dist/chunk-FISP5YN2.js +0 -292
  459. package/dist/chunk-G3FSS7GR.js +0 -477
  460. package/dist/chunk-GE4NJDV4.js +0 -98
  461. package/dist/chunk-GYGU4UT5.js +0 -34
  462. package/dist/chunk-I5IPJG2R.js +0 -148
  463. package/dist/chunk-I73KUUYG.js +0 -287
  464. package/dist/chunk-I73KUUYG.js.map +0 -7
  465. package/dist/chunk-IFK24IXL.js +0 -194
  466. package/dist/chunk-ILE6ML2D.js +0 -50
  467. package/dist/chunk-IRKP6IZ4.js +0 -216
  468. package/dist/chunk-J6ZOUCWN.js +0 -170
  469. package/dist/chunk-JFRSVFWO.js +0 -736
  470. package/dist/chunk-JFRSVFWO.js.map +0 -7
  471. package/dist/chunk-JNBJG57F.js +0 -448
  472. package/dist/chunk-K5UVG3FQ.js +0 -117
  473. package/dist/chunk-KE5B34CS.js +0 -102
  474. package/dist/chunk-L6A2BEXB.js +0 -2681
  475. package/dist/chunk-LQJMCE7G.js +0 -467
  476. package/dist/chunk-LSWU6EAQ.js +0 -31
  477. package/dist/chunk-LWEGSYDD.js +0 -226
  478. package/dist/chunk-LWEGSYDD.js.map +0 -7
  479. package/dist/chunk-LYVLF6HO.js +0 -1825
  480. package/dist/chunk-MBUQ34CF.js +0 -189
  481. package/dist/chunk-MBUQ34CF.js.map +0 -7
  482. package/dist/chunk-MN3KDNHC.js +0 -617
  483. package/dist/chunk-MNIBZTQE.js +0 -146
  484. package/dist/chunk-MTHEEXT2.js +0 -1450
  485. package/dist/chunk-MTHEEXT2.js.map +0 -7
  486. package/dist/chunk-MTZSN3H4.js +0 -302
  487. package/dist/chunk-N7O7NPUO.js +0 -534
  488. package/dist/chunk-N7O7NPUO.js.map +0 -7
  489. package/dist/chunk-NNFAUP2I.js +0 -315
  490. package/dist/chunk-NNFAUP2I.js.map +0 -7
  491. package/dist/chunk-OF5FE6GT.js +0 -142
  492. package/dist/chunk-OVSKJROY.js +0 -815
  493. package/dist/chunk-OVSKJROY.js.map +0 -7
  494. package/dist/chunk-PJ3FCJBZ.js +0 -480
  495. package/dist/chunk-PU2Q4SZR.js +0 -2327
  496. package/dist/chunk-PZPS56Z6.js +0 -343
  497. package/dist/chunk-QKR3ZD3S.js +0 -833
  498. package/dist/chunk-QMXCK4Y5.js +0 -203
  499. package/dist/chunk-ROJ3LJLE.js +0 -448
  500. package/dist/chunk-SLHWUFAW.js +0 -1943
  501. package/dist/chunk-SLHWUFAW.js.map +0 -7
  502. package/dist/chunk-SOTB4FRE.js +0 -2098
  503. package/dist/chunk-SOTB4FRE.js.map +0 -7
  504. package/dist/chunk-TJYRBEBK.js +0 -2878
  505. package/dist/chunk-TJYRBEBK.js.map +0 -7
  506. package/dist/chunk-U3G4JGKJ.js +0 -54
  507. package/dist/chunk-UN3O2MNB.js +0 -375
  508. package/dist/chunk-VDZ5QOF6.js +0 -446
  509. package/dist/chunk-VO5XZ2EG.js +0 -129
  510. package/dist/chunk-VRH7NP6R.js +0 -263
  511. package/dist/chunk-VTMJGRT5.js +0 -272
  512. package/dist/chunk-W5X6C7LY.js +0 -399
  513. package/dist/chunk-WJGUNGFK.js +0 -272
  514. package/dist/chunk-WKT46ZJ6.js +0 -368
  515. package/dist/chunk-WQCQWUUP.js +0 -2833
  516. package/dist/chunk-WY2PGUVX.js +0 -20898
  517. package/dist/chunk-WY2PGUVX.js.map +0 -7
  518. package/dist/chunk-WZ2U5QXJ.js +0 -6364
  519. package/dist/chunk-WZUWK5Q6.js +0 -1102
  520. package/dist/chunk-XPMTUVSS.js +0 -1220
  521. package/dist/chunk-XPMTUVSS.js.map +0 -7
  522. package/dist/chunk-YYFQPGIE.js +0 -386
  523. package/dist/condition-GVIEMQG7.js +0 -332
  524. package/dist/controls-73K3XBDR.js +0 -41
  525. package/dist/controls.config-FQKY2LRE.js +0 -39
  526. package/dist/correlation-AOAXIUFJ.js +0 -102
  527. package/dist/cuminc-OD2PPCEK.js +0 -1149
  528. package/dist/cuminc.integration.spec-TMIFW7EO.js +0 -678
  529. package/dist/cuminc.integration.spec-TMIFW7EO.js.map +0 -7
  530. package/dist/customdata.inputui-SWLGLATL.js +0 -289
  531. package/dist/dataDownload-456HL2OE.js +0 -330
  532. package/dist/dataDownload.integration.spec-5YS4MWK5.js +0 -193
  533. package/dist/databrowser.ui-7APC5MNM.js +0 -433
  534. package/dist/dictionary-A3HA5MVK.js +0 -118
  535. package/dist/dnaMethylation-6ONBKARD.js +0 -38
  536. package/dist/dnaMethylation.integration.spec-T3WEGVX3.js +0 -203
  537. package/dist/dofetch-RVPQUMVX.js +0 -51
  538. package/dist/e2pca-75WZ46XG.js +0 -350
  539. package/dist/ep-QG5CWPTW.js +0 -1256
  540. package/dist/expclust.gdc.spec-KBBQJR4M.js +0 -307
  541. package/dist/facet-QGB2Q7YV.js +0 -521
  542. package/dist/forms2-CJGDCWYH.js +0 -539
  543. package/dist/gb-NEFAHKQI.js +0 -88
  544. package/dist/geneExpClustering-ZVR44UZC.js +0 -249
  545. package/dist/geneExpression-25EX4DFK.js +0 -313
  546. package/dist/geneExpression-FALOA4GC.js +0 -38
  547. package/dist/geneExpression.unit.spec-BQLELQUS.js +0 -102
  548. package/dist/geneORA-K2B7JYWD.js +0 -278
  549. package/dist/geneRanking-6AXL5ZJS.js +0 -553
  550. package/dist/geneVariant-RZFDP5J5.js +0 -41
  551. package/dist/geneVariant-UIBZ5UIQ.js +0 -39
  552. package/dist/geneVariant.integration.spec-4EZQMPQB.js +0 -198
  553. package/dist/genefusion.ui-YK4TNS2P.js +0 -309
  554. package/dist/geneset-47J4D5ID.js +0 -208
  555. package/dist/genomeBrowser.spec-LFFWRIWG.js +0 -281
  556. package/dist/grin2-DQB2WW3C.js +0 -75
  557. package/dist/grin2-TZFU4JM3.js +0 -1078
  558. package/dist/grin2-TZFU4JM3.js.map +0 -7
  559. package/dist/gsea-KKLAMLMG.js +0 -47
  560. package/dist/hierCluster-3MZEJG6B.js +0 -59
  561. package/dist/hierCluster-YGBC4XCZ.js +0 -63
  562. package/dist/hierCluster.config-A4N54K3A.js +0 -40
  563. package/dist/hierCluster.integration.spec-GLKXFZDM.js +0 -488
  564. package/dist/hierCluster.interactivity-4TPWGIVC.js +0 -54
  565. package/dist/hierCluster.renderers-WUWSXXHU.js +0 -21
  566. package/dist/imagePlot-JRPYOV3Q.js +0 -163
  567. package/dist/importPlot-A3PFUP6K.js +0 -8
  568. package/dist/isoformExpression-5L4O3WKL.js +0 -40
  569. package/dist/isoformExpression.unit.spec-SLB6XIX4.js +0 -208
  570. package/dist/launch.adhoc-QI7TPYSC.js +0 -42
  571. package/dist/leftlabel.sample-OSIRTJFW.js +0 -264
  572. package/dist/legacyDataset-TNIIJABK.js +0 -119
  573. package/dist/lollipop-LAELXNQY.js +0 -171
  574. package/dist/maf-HZAYVZFO.js +0 -459
  575. package/dist/maftimeline-BLBNUGAL.js +0 -593
  576. package/dist/matrix-LVJSHXDM.js +0 -58
  577. package/dist/matrix-S5QQV4JU.js +0 -63
  578. package/dist/matrix.cells-JUTRYPG4.js +0 -28
  579. package/dist/matrix.config-ZTWWYNIZ.js +0 -41
  580. package/dist/matrix.data-BREYB54F.js +0 -25
  581. package/dist/matrix.groups-WMHTLOXC.js +0 -27
  582. package/dist/matrix.integration.spec-S6FIEE2X.js +0 -3072
  583. package/dist/matrix.integration.spec-S6FIEE2X.js.map +0 -7
  584. package/dist/matrix.interactivity-TMBVAM5M.js +0 -42
  585. package/dist/matrix.layout-POK5NOUV.js +0 -44
  586. package/dist/matrix.legend-6XVQ67AC.js +0 -22
  587. package/dist/matrix.renderers-G5FQZZ73.js +0 -38
  588. package/dist/matrix.serieses-XNLQSQS6.js +0 -21
  589. package/dist/matrix.sort-XNES23OQ.js +0 -27
  590. package/dist/matrix.sort.unit.spec-65BDBQUV.js +0 -472
  591. package/dist/matrix.sorterUi-WC2YX7S7.js +0 -18
  592. package/dist/matrix.sorterUi.unit.spec-GZQBW7F7.js +0 -342
  593. package/dist/mavb-T2UCRWWM.js +0 -732
  594. package/dist/mds.fimo-65UUK7ER.js +0 -518
  595. package/dist/mds.samplescatterplot-4NHGQBJF.js +0 -1550
  596. package/dist/mds.survivalplot-WVAHDM3Z.js +0 -483
  597. package/dist/numericDictTermCluster-CXASCSQ6.js +0 -65
  598. package/dist/oncomatrix-5WMOICWR.js +0 -295
  599. package/dist/oncomatrix.spec-POVBNFJR.js +0 -448
  600. package/dist/plot.2dvaf-63K5RSIU.js +0 -377
  601. package/dist/plot.app-V5IY25QS.js +0 -41
  602. package/dist/plot.barplot-IQTYHNFE.js +0 -102
  603. package/dist/plot.boxplot-2RMTO7AS.js +0 -152
  604. package/dist/plot.brainImaging-DLUHAHHG.js +0 -51
  605. package/dist/plot.disco-WK6GDLNF.js +0 -102
  606. package/dist/plot.dzi-3V3FWE7U.js +0 -33
  607. package/dist/plot.ssgq-TENK2RP4.js +0 -139
  608. package/dist/plot.vaf2cov-P2QOOZGZ.js +0 -259
  609. package/dist/plot.wsi-BVRGJF4E.js +0 -36
  610. package/dist/polar2-NNOZOQQJ.js +0 -231
  611. package/dist/profileForms-RS4GEZZV.js +0 -446
  612. package/dist/profilePlot-3DLME3NH.js +0 -54
  613. package/dist/proteinView-NPKJAQAI.js +0 -1568
  614. package/dist/qualitative-S45RXXRJ.js +0 -43
  615. package/dist/radar2-EX7YBNMT.js +0 -326
  616. package/dist/radarFacility2-WU5O6O77.js +0 -334
  617. package/dist/regression-7MCOYJVD.js +0 -56
  618. package/dist/regression.inputs-QHSWJ23R.js +0 -48
  619. package/dist/regression.inputs.term-EJ4Z5Q5O.js +0 -48
  620. package/dist/regression.inputs.values.table-YKMAWNXN.js +0 -45
  621. package/dist/regression.integration.spec-XOX7OXXA.js +0 -784
  622. package/dist/regression.results-YKPOTPCC.js +0 -40
  623. package/dist/regression.spec-YIIY2AZA.js +0 -708
  624. package/dist/report-JEJFCWUU.js +0 -222
  625. package/dist/sampleScatter.spec-LBAZBDYA.js +0 -202
  626. package/dist/sampleView-WKZT5ZFE.js +0 -48
  627. package/dist/samplelst-HXM3H6M4.js +0 -111
  628. package/dist/samplematrix-LCGHK2EK.js +0 -2198
  629. package/dist/sc-3OE2G4BU.js +0 -86
  630. package/dist/scatter-AGVUDTTU.js +0 -851
  631. package/dist/selectGenomeWithTklst-WF2XZ6GH.js +0 -134
  632. package/dist/singleCellCellType-2SRGROMS.js +0 -38
  633. package/dist/singleCellCellType.unit.spec-DCGHNRJI.js +0 -160
  634. package/dist/singleCellGeneExpression-RASZA4NO.js +0 -38
  635. package/dist/singleCellGeneExpression.unit.spec-5MRGH2OO.js +0 -153
  636. package/dist/singleCellPlot-TIYA3GNM.js +0 -54
  637. package/dist/singlecell-CFA43TTU.js +0 -1572
  638. package/dist/singlecell-JS5SIZHY.js +0 -86
  639. package/dist/snp-VXZXPMKS.js +0 -38
  640. package/dist/snp.unit.spec-TR5TCO7X.js +0 -176
  641. package/dist/snplocus-VLPH5Y65.js +0 -208
  642. package/dist/spliceevent.a53ss.diagram-PATK67SH.js +0 -151
  643. package/dist/spliceevent.exonskip.diagram-7B3SEOAJ.js +0 -277
  644. package/dist/spliceevent.exonskip.diagram-7B3SEOAJ.js.map +0 -7
  645. package/dist/spliceevent.noeventdiagram-4NPNZUEN.js +0 -460
  646. package/dist/ssGSEA-XMW5BLAU.js +0 -38
  647. package/dist/ssGSEA.unit.spec-ASUWKVUT.js +0 -88
  648. package/dist/summarizeCnvGeneexp-KWRFGX32.js +0 -163
  649. package/dist/summarizeGeneexpSurvival-FIPIMEJR.js +0 -114
  650. package/dist/summarizeMutationCnv-IUYRVLZG.js +0 -164
  651. package/dist/summarizeMutationDiagnosis-ZFJPCABL.js +0 -40
  652. package/dist/summarizeMutationSurvival-HFHYB7DT.js +0 -99
  653. package/dist/summary-AZUNEZ5I.js +0 -49
  654. package/dist/summary.integration.spec-WLBAJL44.js +0 -414
  655. package/dist/summaryInput-NJWVXDXW.js +0 -235
  656. package/dist/sunburst-PXGF4WM6.js +0 -284
  657. package/dist/survival-RAU4XCKG.js +0 -58
  658. package/dist/survival-ZZ4QLZHK.js +0 -46
  659. package/dist/survival.integration.spec-GBQ5X362.js +0 -915
  660. package/dist/survival.integration.spec-GBQ5X362.js.map +0 -7
  661. package/dist/svgraph-7UCFRL6A.js +0 -1387
  662. package/dist/svmr-DB3RY2ID.js +0 -3842
  663. package/dist/table-HJRWWXGM.js +0 -200
  664. package/dist/termCollection-AW7M6DTP.js +0 -38
  665. package/dist/termCollection-WPON7RG3.js +0 -179
  666. package/dist/termCollection.unit.spec-254ESHOE.js +0 -208
  667. package/dist/tk-SUAFM5YA.js +0 -46
  668. package/dist/tp.ui-ELEQGSK2.js +0 -1459
  669. package/dist/tvs.dt-DCXY66YY.js +0 -39
  670. package/dist/tvs.dtcnv.categorical-SFQZMYX7.js +0 -40
  671. package/dist/tvs.dtcnv.continuous-AUZNJMC3.js +0 -72
  672. package/dist/tvs.dtfusion-5F7MYFHZ.js +0 -40
  673. package/dist/tvs.dtsnvindel-JJSPL4PH.js +0 -40
  674. package/dist/tvs.dtsv-DARTSV5H.js +0 -40
  675. package/dist/tvs.numeric-KYAU5OV3.js +0 -21
  676. package/dist/tvs.samplelst-HHBIO26C.js +0 -104
  677. package/dist/tvs.termCollection-KCMALH6B.js +0 -159
  678. package/dist/violin-C26FW5WK.js +0 -46
  679. package/dist/violin.integration.spec-QQ43XWHQ.js +0 -1425
  680. package/dist/violin.interactivity-H2BHC6M4.js +0 -38
  681. package/dist/violin.renderer-GSG2I7AV.js +0 -40
  682. package/dist/vocabulary-3G525O5V.js +0 -41
  683. /package/dist/{2dmaf-SKNV7IHT.js.map → 2dmaf-R3PFZNRN.js.map} +0 -0
  684. /package/dist/{AIProjectAdmin-AOTVRBNH.js.map → AIProjectAdmin-DM3KG6SR.js.map} +0 -0
  685. /package/dist/{AppHeader-M2ZSS3M3.js.map → AppHeader-6DZQ6YZX.js.map} +0 -0
  686. /package/dist/{BoxPlot-P3EECSQA.js.map → BoxPlot-76NINVX4.js.map} +0 -0
  687. /package/dist/{CorrelationVolcano-YCQ5S6MT.js.map → CorrelationVolcano-U5UMJNH5.js.map} +0 -0
  688. /package/dist/{DE-RBMOQZCR.js.map → DE-AXNYWIQK.js.map} +0 -0
  689. /package/dist/{DEinput-PTW6RS6U.js.map → DEinput-JH6YY6LS.js.map} +0 -0
  690. /package/dist/{Disco.UI-YBIMV7RH.js.map → Disco.UI-C7CZINUQ.js.map} +0 -0
  691. /package/dist/{DmrPlot-JQPLLU6P.js.map → DmrPlot-WROR4ENM.js.map} +0 -0
  692. /package/dist/{GeneExpInput-3OPDDCXR.js.map → GeneExpInput-JDU6EI7K.js.map} +0 -0
  693. /package/dist/{HicApp-VFOWRP6G.js.map → HicApp-UNIJLH4B.js.map} +0 -0
  694. /package/dist/{NumBinaryEditor-RL44SO3T.js.map → NumBinaryEditor-WMN2GGO4.js.map} +0 -0
  695. /package/dist/{NumBinaryEditor.unit.spec-P73PGAX5.js.map → NumBinaryEditor.unit.spec-TAMXV6SE.js.map} +0 -0
  696. /package/dist/{NumContEditor-MIC7M73G.js.map → NumContEditor-XYIOJY4E.js.map} +0 -0
  697. /package/dist/{NumContEditor.unit.spec-5XZH7OCG.js.map → NumContEditor.unit.spec-WDZ75BHO.js.map} +0 -0
  698. /package/dist/{NumCustomBinEditor-W357XTIR.js.map → NumCustomBinEditor-5SY3C4TY.js.map} +0 -0
  699. /package/dist/{NumCustomBinEditor.unit.spec-CJMK4CYW.js.map → NumCustomBinEditor.unit.spec-XHTAIXR3.js.map} +0 -0
  700. /package/dist/{NumDiscreteEditor-PRSUMS3I.js.map → NumDiscreteEditor-NRDRX4FD.js.map} +0 -0
  701. /package/dist/{NumDiscreteEditor.unit.spec-A6R56P3Z.js.map → NumDiscreteEditor.unit.spec-2CJW7OAT.js.map} +0 -0
  702. /package/dist/{NumRegularBinEditor-7OHUEUCC.js.map → NumRegularBinEditor-DUDVTNDC.js.map} +0 -0
  703. /package/dist/{NumRegularBinEditor.unit.spec-NOAX42UZ.js.map → NumRegularBinEditor.unit.spec-H3GNQHMN.js.map} +0 -0
  704. /package/dist/{NumSplineEditor-XI7AT5LM.js.map → NumSplineEditor-7Q4AC7KH.js.map} +0 -0
  705. /package/dist/{NumSplineEditor.unit.spec-ZH4M2N2C.js.map → NumSplineEditor.unit.spec-YRZK5PH5.js.map} +0 -0
  706. /package/dist/{NumericDensity-X6IHQAW3.js.map → NumericDensity-NTNWUESG.js.map} +0 -0
  707. /package/dist/{NumericDensity.unit.spec-EKVD4AUG.js.map → NumericDensity.unit.spec-5I5U6T6P.js.map} +0 -0
  708. /package/dist/{NumericHandler-5ONBWFJ5.js.map → NumericHandler-MEW2KMPX.js.map} +0 -0
  709. /package/dist/{NumericHandler.unit.spec-SHI6E4VA.js.map → NumericHandler.unit.spec-JFX4BPRG.js.map} +0 -0
  710. /package/dist/{RunChart2-Y6IY6MW2.js.map → RunChart2-BEBDU7RC.js.map} +0 -0
  711. /package/dist/{WSIViewer-RLLL7MAL.js.map → WSIViewer-ZLQU62PD.js.map} +0 -0
  712. /package/dist/{WsiSamplesPlot-FU3TCOTY.js.map → WsiSamplesPlot-JMBSITOM.js.map} +0 -0
  713. /package/dist/{adSandbox-ZINST5DE.js.map → adSandbox-664IRCRL.js.map} +0 -0
  714. /package/dist/{animatedBubbleChart-PIQWCVBJ.js.map → animatedBubbleChart-TX7NW34K.js.map} +0 -0
  715. /package/dist/{app-N42SVGI2.js.map → app-63WJ3BMP.js.map} +0 -0
  716. /package/dist/{app-RWN4XLCP.js.map → app-77FIZHCG.js.map} +0 -0
  717. /package/dist/{bam-QTSTXJ4N.js.map → bam-IETNVAYD.js.map} +0 -0
  718. /package/dist/{barchart-27BYTRVI.js.map → barchart-YUVXJNH4.js.map} +0 -0
  719. /package/dist/{barchart.data-OUNVH4JU.js.map → barchart.data-P4EIQXGE.js.map} +0 -0
  720. /package/dist/{barchart.events-PY4CEDSO.js.map → barchart.events-JPVCLTIG.js.map} +0 -0
  721. /package/dist/{barchart.integration.spec-H4WGHQ7R.js.map → barchart.integration.spec-ZH7DEQI2.js.map} +0 -0
  722. /package/dist/{barchart2-TIOTRAC2.js.map → barchart2-XO2FG76J.js.map} +0 -0
  723. /package/dist/{bars.renderer-57KSYAAT.js.map → bars.renderer-AUIWUJDH.js.map} +0 -0
  724. /package/dist/{block.init-LRZ3QAGC.js.map → block.init-X7Y2EEVR.js.map} +0 -0
  725. /package/dist/{block.mds.expressionrank-IV7JLC52.js.map → block.mds.expressionrank-BIAOZIZ3.js.map} +0 -0
  726. /package/dist/{block.mds.geneboxplot-IBCE5XZU.js.map → block.mds.geneboxplot-CNICDVLK.js.map} +0 -0
  727. /package/dist/{block.mds.junction-ISSCJHNF.js.map → block.mds.junction-PQXCTSUI.js.map} +0 -0
  728. /package/dist/{block.mds.svcnv-ZEBVBTL7.js.map → block.mds.svcnv-32KMVTCT.js.map} +0 -0
  729. /package/dist/{block.svg-FYWA5VYH.js.map → block.svg-LRTOYQK2.js.map} +0 -0
  730. /package/dist/{block.tk.aicheck-AD6DTKXR.js.map → block.tk.aicheck-HDV7ZIUD.js.map} +0 -0
  731. /package/dist/{block.tk.ase-LO2J4KRE.js.map → block.tk.ase-JIDWKMYI.js.map} +0 -0
  732. /package/dist/{block.tk.bam-XGX22FCN.js.map → block.tk.bam-5X3OS5HB.js.map} +0 -0
  733. /package/dist/{block.tk.bedgraphdot-SUIRFNFL.js.map → block.tk.bedgraphdot-T7JX7YQL.js.map} +0 -0
  734. /package/dist/{block.tk.bigwig.ui-2Q7FAK3V.js.map → block.tk.bigwig.ui-OSAYEBAE.js.map} +0 -0
  735. /package/dist/{block.tk.hicstraw-4MVP2PCL.js.map → block.tk.hicstraw-DEY3VQFK.js.map} +0 -0
  736. /package/dist/{block.tk.junction-F54FTEPB.js.map → block.tk.junction-7UAFEZSJ.js.map} +0 -0
  737. /package/dist/{block.tk.junction.textmatrixui-ETROZJVK.js.map → block.tk.junction.textmatrixui-27LHS33U.js.map} +0 -0
  738. /package/dist/{block.tk.ld-NJEDKSTU.js.map → block.tk.ld-DF2PI7OO.js.map} +0 -0
  739. /package/dist/{block.tk.menu-LZOY4FKT.js.map → block.tk.menu-L2D5KBIV.js.map} +0 -0
  740. /package/dist/{block.tk.pgv-I3XHJ7VU.js.map → block.tk.pgv-QO56SKBV.js.map} +0 -0
  741. /package/dist/{brainImaging-BGP6VRFV.js.map → brainImaging-NIPQWFWO.js.map} +0 -0
  742. /package/dist/{brainRegions-AAN7LM2Y.js.map → brainRegions-ZNZ2WHSU.js.map} +0 -0
  743. /package/dist/{bubbleHeatmap-HNEU4CYA.js.map → bubbleHeatmap-ERWNEKZB.js.map} +0 -0
  744. /package/dist/{chunk-CDJAHMAN.js.map → chunk-2GYWFQML.js.map} +0 -0
  745. /package/dist/{chunk-ILE6ML2D.js.map → chunk-2HYJ4GDH.js.map} +0 -0
  746. /package/dist/{chunk-VTMJGRT5.js.map → chunk-2MG6XE6R.js.map} +0 -0
  747. /package/dist/{chunk-4C3XRI6J.js.map → chunk-33K5PA52.js.map} +0 -0
  748. /package/dist/{chunk-5QTJUPFS.js.map → chunk-37XDBPOP.js.map} +0 -0
  749. /package/dist/{chunk-3LYZMOLO.js.map → chunk-3EWB3246.js.map} +0 -0
  750. /package/dist/{chunk-2XV6U42J.js.map → chunk-3RSKOPIY.js.map} +0 -0
  751. /package/dist/{chunk-WZUWK5Q6.js.map → chunk-4DPVT4NE.js.map} +0 -0
  752. /package/dist/{chunk-GE4NJDV4.js.map → chunk-4IH7DORZ.js.map} +0 -0
  753. /package/dist/{chunk-W5X6C7LY.js.map → chunk-4QNBFIIR.js.map} +0 -0
  754. /package/dist/{chunk-5HMX4NUJ.js.map → chunk-4STKL6SR.js.map} +0 -0
  755. /package/dist/{chunk-GYGU4UT5.js.map → chunk-4TZIVSL5.js.map} +0 -0
  756. /package/dist/{chunk-LQJMCE7G.js.map → chunk-5ABGFJSP.js.map} +0 -0
  757. /package/dist/{chunk-MTZSN3H4.js.map → chunk-5AZNP47R.js.map} +0 -0
  758. /package/dist/{chunk-KE5B34CS.js.map → chunk-6BB43SIB.js.map} +0 -0
  759. /package/dist/{chunk-53JJ7SXN.js.map → chunk-7OHRR2IE.js.map} +0 -0
  760. /package/dist/{chunk-FDBVAL6K.js.map → chunk-ASATD4T7.js.map} +0 -0
  761. /package/dist/{chunk-25XCVML7.js.map → chunk-B5B3LZB3.js.map} +0 -0
  762. /package/dist/{chunk-L6A2BEXB.js.map → chunk-BHGISFCA.js.map} +0 -0
  763. /package/dist/{chunk-BXGQXLHP.js.map → chunk-BMBOZ64T.js.map} +0 -0
  764. /package/dist/{chunk-IRKP6IZ4.js.map → chunk-BOZJHPJP.js.map} +0 -0
  765. /package/dist/{chunk-IFK24IXL.js.map → chunk-CDD7LYJM.js.map} +0 -0
  766. /package/dist/{chunk-PU2Q4SZR.js.map → chunk-CTQ3IUCA.js.map} +0 -0
  767. /package/dist/{chunk-EPWIJEMK.js.map → chunk-D7TID3HR.js.map} +0 -0
  768. /package/dist/{chunk-5V2BMEAS.js.map → chunk-E55LLYRX.js.map} +0 -0
  769. /package/dist/{chunk-YYFQPGIE.js.map → chunk-ESGXULRH.js.map} +0 -0
  770. /package/dist/{chunk-K5UVG3FQ.js.map → chunk-EZ4LZ6ZT.js.map} +0 -0
  771. /package/dist/{chunk-B4GS7OLB.js.map → chunk-F3SJTVP5.js.map} +0 -0
  772. /package/dist/{chunk-427UL37G.js.map → chunk-F5IXNJO7.js.map} +0 -0
  773. /package/dist/{chunk-ROJ3LJLE.js.map → chunk-FJYECRHW.js.map} +0 -0
  774. /package/dist/{chunk-QKR3ZD3S.js.map → chunk-FPNRUQOU.js.map} +0 -0
  775. /package/dist/{chunk-J6ZOUCWN.js.map → chunk-G764NXQN.js.map} +0 -0
  776. /package/dist/{chunk-I5IPJG2R.js.map → chunk-GAPI4MML.js.map} +0 -0
  777. /package/dist/{chunk-WJGUNGFK.js.map → chunk-HLUZOZXJ.js.map} +0 -0
  778. /package/dist/{chunk-UN3O2MNB.js.map → chunk-HOKIK2FR.js.map} +0 -0
  779. /package/dist/{chunk-VO5XZ2EG.js.map → chunk-KLGL6XZD.js.map} +0 -0
  780. /package/dist/{chunk-PJ3FCJBZ.js.map → chunk-L7IRWUKT.js.map} +0 -0
  781. /package/dist/{chunk-MN3KDNHC.js.map → chunk-LX6G7HJJ.js.map} +0 -0
  782. /package/dist/{chunk-OF5FE6GT.js.map → chunk-M2G5R4WB.js.map} +0 -0
  783. /package/dist/{chunk-EKKQMKQI.js.map → chunk-M4TTGGT4.js.map} +0 -0
  784. /package/dist/{chunk-LYVLF6HO.js.map → chunk-M6EF3WVV.js.map} +0 -0
  785. /package/dist/{chunk-MNIBZTQE.js.map → chunk-M6KHT3MM.js.map} +0 -0
  786. /package/dist/{chunk-F7Y67LK7.js.map → chunk-MCZFHWIR.js.map} +0 -0
  787. /package/dist/{chunk-JNBJG57F.js.map → chunk-MFQACKYU.js.map} +0 -0
  788. /package/dist/{chunk-PZPS56Z6.js.map → chunk-MVGAGTM3.js.map} +0 -0
  789. /package/dist/{chunk-A3URBFXN.js.map → chunk-NELOT3NJ.js.map} +0 -0
  790. /package/dist/{chunk-U3G4JGKJ.js.map → chunk-NRKMXULC.js.map} +0 -0
  791. /package/dist/{chunk-BKPDYW5T.js.map → chunk-NYRZNRG5.js.map} +0 -0
  792. /package/dist/{chunk-WKT46ZJ6.js.map → chunk-ONPKE6DC.js.map} +0 -0
  793. /package/dist/{chunk-QMXCK4Y5.js.map → chunk-PFRWS4CR.js.map} +0 -0
  794. /package/dist/{chunk-6MBTPVIM.js.map → chunk-PJKQUXEN.js.map} +0 -0
  795. /package/dist/{chunk-WZ2U5QXJ.js.map → chunk-Q2L44HK3.js.map} +0 -0
  796. /package/dist/{chunk-VDZ5QOF6.js.map → chunk-RKO6BL5N.js.map} +0 -0
  797. /package/dist/{chunk-A45KH7LP.js.map → chunk-T25QNZHB.js.map} +0 -0
  798. /package/dist/{chunk-LSWU6EAQ.js.map → chunk-U7TBYVIQ.js.map} +0 -0
  799. /package/dist/{chunk-5CR24RTX.js.map → chunk-UGRQXBL4.js.map} +0 -0
  800. /package/dist/{chunk-G3FSS7GR.js.map → chunk-USFSHSCJ.js.map} +0 -0
  801. /package/dist/{chunk-WQCQWUUP.js.map → chunk-VJ6UFVGC.js.map} +0 -0
  802. /package/dist/{chunk-FISP5YN2.js.map → chunk-W3WPPOXH.js.map} +0 -0
  803. /package/dist/{chunk-VRH7NP6R.js.map → chunk-WFCSOTBO.js.map} +0 -0
  804. /package/dist/{chunk-BWQV2OBL.js.map → chunk-WZ2L57MB.js.map} +0 -0
  805. /package/dist/{chunk-CXHLROWX.js.map → chunk-Y4UAKFWC.js.map} +0 -0
  806. /package/dist/{chunk-4O6H4ZHL.js.map → chunk-YQBS2ZCK.js.map} +0 -0
  807. /package/dist/{chunk-7FSIZZOX.js.map → chunk-ZTHM2TKP.js.map} +0 -0
  808. /package/dist/{condition-GVIEMQG7.js.map → condition-2PASYSUC.js.map} +0 -0
  809. /package/dist/{controls-73K3XBDR.js.map → controls-5IMJ6K5L.js.map} +0 -0
  810. /package/dist/{controls.config-FQKY2LRE.js.map → controls.config-P5PG2DHW.js.map} +0 -0
  811. /package/dist/{correlation-AOAXIUFJ.js.map → correlation-U3EDLNHR.js.map} +0 -0
  812. /package/dist/{cuminc-OD2PPCEK.js.map → cuminc-2HUFEROK.js.map} +0 -0
  813. /package/dist/{customdata.inputui-SWLGLATL.js.map → customdata.inputui-ZHWNEPFH.js.map} +0 -0
  814. /package/dist/{dataDownload-456HL2OE.js.map → dataDownload-VBSJBKMP.js.map} +0 -0
  815. /package/dist/{dataDownload.integration.spec-5YS4MWK5.js.map → dataDownload.integration.spec-LUFSETOP.js.map} +0 -0
  816. /package/dist/{databrowser.ui-7APC5MNM.js.map → databrowser.ui-6H2KMSTJ.js.map} +0 -0
  817. /package/dist/{dictionary-A3HA5MVK.js.map → dictionary-V37LXFIP.js.map} +0 -0
  818. /package/dist/{dnaMethylation-6ONBKARD.js.map → dnaMethylation-OIZMHMLK.js.map} +0 -0
  819. /package/dist/{dnaMethylation.integration.spec-T3WEGVX3.js.map → dnaMethylation.integration.spec-CWPTJ74H.js.map} +0 -0
  820. /package/dist/{dofetch-RVPQUMVX.js.map → dofetch-IWPZQB5N.js.map} +0 -0
  821. /package/dist/{e2pca-75WZ46XG.js.map → e2pca-7SLIAGYW.js.map} +0 -0
  822. /package/dist/{ep-QG5CWPTW.js.map → ep-7L6KF6K4.js.map} +0 -0
  823. /package/dist/{expclust.gdc.spec-KBBQJR4M.js.map → expclust.gdc.spec-JT452Q3G.js.map} +0 -0
  824. /package/dist/{facet-QGB2Q7YV.js.map → facet-CXOUU5AS.js.map} +0 -0
  825. /package/dist/{forms2-CJGDCWYH.js.map → forms2-VPNCLQOY.js.map} +0 -0
  826. /package/dist/{gb-NEFAHKQI.js.map → gb-P4VRXRED.js.map} +0 -0
  827. /package/dist/{geneExpClustering-ZVR44UZC.js.map → geneExpClustering-FQTCKRJJ.js.map} +0 -0
  828. /package/dist/{geneExpression-25EX4DFK.js.map → geneExpression-BHO5326K.js.map} +0 -0
  829. /package/dist/{geneExpression-FALOA4GC.js.map → geneExpression-ZMERB64E.js.map} +0 -0
  830. /package/dist/{geneExpression.unit.spec-BQLELQUS.js.map → geneExpression.unit.spec-CNVHZWNG.js.map} +0 -0
  831. /package/dist/{geneORA-K2B7JYWD.js.map → geneORA-FXVUCXGX.js.map} +0 -0
  832. /package/dist/{geneRanking-6AXL5ZJS.js.map → geneRanking-SFK4UBKQ.js.map} +0 -0
  833. /package/dist/{geneVariant-RZFDP5J5.js.map → geneVariant-IYEHB4H7.js.map} +0 -0
  834. /package/dist/{geneVariant-UIBZ5UIQ.js.map → geneVariant-LIRRLUFR.js.map} +0 -0
  835. /package/dist/{geneVariant.integration.spec-4EZQMPQB.js.map → geneVariant.integration.spec-Y2NPNTYX.js.map} +0 -0
  836. /package/dist/{genefusion.ui-YK4TNS2P.js.map → genefusion.ui-L3HIJM3N.js.map} +0 -0
  837. /package/dist/{geneset-47J4D5ID.js.map → geneset-A6VUFX63.js.map} +0 -0
  838. /package/dist/{genomeBrowser.spec-LFFWRIWG.js.map → genomeBrowser.spec-CB4HHHBN.js.map} +0 -0
  839. /package/dist/{grin2-DQB2WW3C.js.map → grin2-FKBIMH5N.js.map} +0 -0
  840. /package/dist/{gsea-KKLAMLMG.js.map → hierCluster-QFPRMHVA.js.map} +0 -0
  841. /package/dist/{hierCluster-3MZEJG6B.js.map → hierCluster-YWC3XYPV.js.map} +0 -0
  842. /package/dist/{hierCluster-YGBC4XCZ.js.map → hierCluster.config-F7YYZNM3.js.map} +0 -0
  843. /package/dist/{hierCluster.integration.spec-GLKXFZDM.js.map → hierCluster.integration.spec-AF4L3YT6.js.map} +0 -0
  844. /package/dist/{hierCluster.config-A4N54K3A.js.map → hierCluster.interactivity-RPY74PK6.js.map} +0 -0
  845. /package/dist/{hierCluster.interactivity-4TPWGIVC.js.map → hierCluster.renderers-LOKHZ3V2.js.map} +0 -0
  846. /package/dist/{imagePlot-JRPYOV3Q.js.map → imagePlot-BBEXA754.js.map} +0 -0
  847. /package/dist/{hierCluster.renderers-WUWSXXHU.js.map → importPlot-7QGANZGK.js.map} +0 -0
  848. /package/dist/{importPlot-A3PFUP6K.js.map → isoformExpression-4SLLCVFD.js.map} +0 -0
  849. /package/dist/{isoformExpression.unit.spec-SLB6XIX4.js.map → isoformExpression.unit.spec-GEL4JJ64.js.map} +0 -0
  850. /package/dist/{isoformExpression-5L4O3WKL.js.map → launch.adhoc-LWLBQJS5.js.map} +0 -0
  851. /package/dist/{leftlabel.sample-OSIRTJFW.js.map → leftlabel.sample-RTEZOIH2.js.map} +0 -0
  852. /package/dist/{legacyDataset-TNIIJABK.js.map → legacyDataset-VLD7ZYWI.js.map} +0 -0
  853. /package/dist/{lollipop-LAELXNQY.js.map → lollipop-XKQK5QZU.js.map} +0 -0
  854. /package/dist/{maf-HZAYVZFO.js.map → maf-AZQPPWDO.js.map} +0 -0
  855. /package/dist/{maftimeline-BLBNUGAL.js.map → maftimeline-7MSVYKQU.js.map} +0 -0
  856. /package/dist/{launch.adhoc-QI7TPYSC.js.map → matrix-BGLWC25D.js.map} +0 -0
  857. /package/dist/{matrix-LVJSHXDM.js.map → matrix-IQR5SRMK.js.map} +0 -0
  858. /package/dist/{matrix-S5QQV4JU.js.map → matrix.cells-5C57NWOY.js.map} +0 -0
  859. /package/dist/{matrix.cells-JUTRYPG4.js.map → matrix.config-2DQXAN2E.js.map} +0 -0
  860. /package/dist/{matrix.config-ZTWWYNIZ.js.map → matrix.data-ADCGF5H6.js.map} +0 -0
  861. /package/dist/{matrix.data-BREYB54F.js.map → matrix.groups-V4ITQ5F7.js.map} +0 -0
  862. /package/dist/{matrix.groups-WMHTLOXC.js.map → matrix.interactivity-JNELJFOV.js.map} +0 -0
  863. /package/dist/{matrix.interactivity-TMBVAM5M.js.map → matrix.layout-WBVIV6GR.js.map} +0 -0
  864. /package/dist/{matrix.layout-POK5NOUV.js.map → matrix.legend-YHOWPK77.js.map} +0 -0
  865. /package/dist/{matrix.legend-6XVQ67AC.js.map → matrix.renderers-5BGVRR3M.js.map} +0 -0
  866. /package/dist/{matrix.renderers-G5FQZZ73.js.map → matrix.serieses-2GZJOASZ.js.map} +0 -0
  867. /package/dist/{matrix.serieses-XNLQSQS6.js.map → matrix.sort-WKIWPJKP.js.map} +0 -0
  868. /package/dist/{matrix.sort.unit.spec-65BDBQUV.js.map → matrix.sort.unit.spec-L2E4D4AS.js.map} +0 -0
  869. /package/dist/{matrix.sort-XNES23OQ.js.map → matrix.sorterUi-TEJWWJ64.js.map} +0 -0
  870. /package/dist/{matrix.sorterUi.unit.spec-GZQBW7F7.js.map → matrix.sorterUi.unit.spec-SHP7C4P7.js.map} +0 -0
  871. /package/dist/{mavb-T2UCRWWM.js.map → mavb-4MXNYUEO.js.map} +0 -0
  872. /package/dist/{mds.fimo-65UUK7ER.js.map → mds.fimo-WHIJIBOI.js.map} +0 -0
  873. /package/dist/{mds.samplescatterplot-4NHGQBJF.js.map → mds.samplescatterplot-BRJ6NG2D.js.map} +0 -0
  874. /package/dist/{mds.survivalplot-WVAHDM3Z.js.map → mds.survivalplot-OPCMB5PB.js.map} +0 -0
  875. /package/dist/{numericDictTermCluster-CXASCSQ6.js.map → numericDictTermCluster-7MIFOP2K.js.map} +0 -0
  876. /package/dist/{oncomatrix-5WMOICWR.js.map → oncomatrix-BGG6BEUI.js.map} +0 -0
  877. /package/dist/{oncomatrix.spec-POVBNFJR.js.map → oncomatrix.spec-LYQ4L4F3.js.map} +0 -0
  878. /package/dist/{plot.2dvaf-63K5RSIU.js.map → plot.2dvaf-6WVCP2ZI.js.map} +0 -0
  879. /package/dist/{matrix.sorterUi-WC2YX7S7.js.map → plot.app-MLBP6WFP.js.map} +0 -0
  880. /package/dist/{plot.barplot-IQTYHNFE.js.map → plot.barplot-JEPRZSCU.js.map} +0 -0
  881. /package/dist/{plot.boxplot-2RMTO7AS.js.map → plot.boxplot-GNFW42VM.js.map} +0 -0
  882. /package/dist/{plot.brainImaging-DLUHAHHG.js.map → plot.brainImaging-5ACNSD45.js.map} +0 -0
  883. /package/dist/{plot.disco-WK6GDLNF.js.map → plot.disco-Q2V2KKIH.js.map} +0 -0
  884. /package/dist/{plot.dzi-3V3FWE7U.js.map → plot.dzi-KVT6S7K7.js.map} +0 -0
  885. /package/dist/{plot.ssgq-TENK2RP4.js.map → plot.ssgq-4N3KFJQ2.js.map} +0 -0
  886. /package/dist/{plot.vaf2cov-P2QOOZGZ.js.map → plot.vaf2cov-ITRG5U43.js.map} +0 -0
  887. /package/dist/{plot.wsi-BVRGJF4E.js.map → plot.wsi-26YZNU4V.js.map} +0 -0
  888. /package/dist/{polar2-NNOZOQQJ.js.map → polar2-J7GVUK4X.js.map} +0 -0
  889. /package/dist/{profileForms-RS4GEZZV.js.map → profileForms-VXV2JLXU.js.map} +0 -0
  890. /package/dist/{plot.app-V5IY25QS.js.map → profilePlot-ZZYZK4SY.js.map} +0 -0
  891. /package/dist/{proteinView-NPKJAQAI.js.map → proteinView-7KN532D3.js.map} +0 -0
  892. /package/dist/{profilePlot-3DLME3NH.js.map → qualitative-MLRVLIAU.js.map} +0 -0
  893. /package/dist/{radar2-EX7YBNMT.js.map → radar2-WM2ZBOH3.js.map} +0 -0
  894. /package/dist/{radarFacility2-WU5O6O77.js.map → radarFacility2-3SBR2JJ3.js.map} +0 -0
  895. /package/dist/{qualitative-S45RXXRJ.js.map → regression-WMRPQJW2.js.map} +0 -0
  896. /package/dist/{regression-7MCOYJVD.js.map → regression.inputs-VWZKSYNY.js.map} +0 -0
  897. /package/dist/{regression.inputs-QHSWJ23R.js.map → regression.inputs.term-OWE6GWHM.js.map} +0 -0
  898. /package/dist/{regression.inputs.term-EJ4Z5Q5O.js.map → regression.inputs.values.table-4INNZQI2.js.map} +0 -0
  899. /package/dist/{regression.integration.spec-XOX7OXXA.js.map → regression.integration.spec-XKQ2JOOT.js.map} +0 -0
  900. /package/dist/{regression.inputs.values.table-YKMAWNXN.js.map → regression.results-VZBYMBYC.js.map} +0 -0
  901. /package/dist/{regression.spec-YIIY2AZA.js.map → regression.spec-DU3UTDCJ.js.map} +0 -0
  902. /package/dist/{regression.results-YKPOTPCC.js.map → render-N5FOF247.js.map} +0 -0
  903. /package/dist/{report-JEJFCWUU.js.map → report-DW3OHB67.js.map} +0 -0
  904. /package/dist/{sampleScatter.spec-LBAZBDYA.js.map → sampleScatter.spec-REFSK2V4.js.map} +0 -0
  905. /package/dist/{sampleView-WKZT5ZFE.js.map → sampleView-ICOT2R6O.js.map} +0 -0
  906. /package/dist/{samplelst-HXM3H6M4.js.map → samplelst-TJEVASYG.js.map} +0 -0
  907. /package/dist/{samplematrix-LCGHK2EK.js.map → samplematrix-6DAWCXQ3.js.map} +0 -0
  908. /package/dist/{sc-3OE2G4BU.js.map → sc-53LNOB7N.js.map} +0 -0
  909. /package/dist/{scatter-AGVUDTTU.js.map → scatter-DKYSS4DL.js.map} +0 -0
  910. /package/dist/{selectGenomeWithTklst-WF2XZ6GH.js.map → selectGenomeWithTklst-WTX66TV3.js.map} +0 -0
  911. /package/dist/{singleCellCellType-2SRGROMS.js.map → singleCellCellType-D2CN2BHQ.js.map} +0 -0
  912. /package/dist/{singleCellCellType.unit.spec-DCGHNRJI.js.map → singleCellCellType.unit.spec-LADUCI4R.js.map} +0 -0
  913. /package/dist/{singleCellGeneExpression-RASZA4NO.js.map → singleCellGeneExpression-YR2ZT34W.js.map} +0 -0
  914. /package/dist/{singleCellGeneExpression.unit.spec-5MRGH2OO.js.map → singleCellGeneExpression.unit.spec-BM63M432.js.map} +0 -0
  915. /package/dist/{singleCellPlot-TIYA3GNM.js.map → singleCellPlot-3ICIOILE.js.map} +0 -0
  916. /package/dist/{singlecell-JS5SIZHY.js.map → singlecell-6ZUFA3BQ.js.map} +0 -0
  917. /package/dist/{singlecell-CFA43TTU.js.map → singlecell-KX7W4U57.js.map} +0 -0
  918. /package/dist/{snp-VXZXPMKS.js.map → snp-VIURB7L3.js.map} +0 -0
  919. /package/dist/{snp.unit.spec-TR5TCO7X.js.map → snp.unit.spec-ACZNZUNS.js.map} +0 -0
  920. /package/dist/{snplocus-VLPH5Y65.js.map → snplocus-3LW4ZUZR.js.map} +0 -0
  921. /package/dist/{spliceevent.a53ss.diagram-PATK67SH.js.map → spliceevent.a53ss.diagram-AKTZGWNM.js.map} +0 -0
  922. /package/dist/{spliceevent.noeventdiagram-4NPNZUEN.js.map → spliceevent.noeventdiagram-YTXWWNTJ.js.map} +0 -0
  923. /package/dist/{ssGSEA-XMW5BLAU.js.map → ssGSEA-THW4WFMI.js.map} +0 -0
  924. /package/dist/{ssGSEA.unit.spec-ASUWKVUT.js.map → ssGSEA.unit.spec-HTRGQI2K.js.map} +0 -0
  925. /package/dist/{summarizeCnvGeneexp-KWRFGX32.js.map → summarizeCnvGeneexp-RFYC3H2Z.js.map} +0 -0
  926. /package/dist/{summarizeGeneexpSurvival-FIPIMEJR.js.map → summarizeGeneexpSurvival-DQBZUTQ6.js.map} +0 -0
  927. /package/dist/{summarizeMutationCnv-IUYRVLZG.js.map → summarizeMutationCnv-7AYEMHAI.js.map} +0 -0
  928. /package/dist/{summarizeMutationDiagnosis-ZFJPCABL.js.map → summarizeMutationDiagnosis-AKFJDSAF.js.map} +0 -0
  929. /package/dist/{summarizeMutationSurvival-HFHYB7DT.js.map → summarizeMutationSurvival-QJHZRQBZ.js.map} +0 -0
  930. /package/dist/{summary-AZUNEZ5I.js.map → summary-A5P7AYK4.js.map} +0 -0
  931. /package/dist/{summary.integration.spec-WLBAJL44.js.map → summary.integration.spec-HQISXGNL.js.map} +0 -0
  932. /package/dist/{summaryInput-NJWVXDXW.js.map → summaryInput-HP675QOQ.js.map} +0 -0
  933. /package/dist/{sunburst-PXGF4WM6.js.map → sunburst-65LSYRXX.js.map} +0 -0
  934. /package/dist/{survival-ZZ4QLZHK.js.map → survival-QNEI6YVK.js.map} +0 -0
  935. /package/dist/{survival-RAU4XCKG.js.map → survival-UI74VXSM.js.map} +0 -0
  936. /package/dist/{svgraph-7UCFRL6A.js.map → svgraph-PSX2NER3.js.map} +0 -0
  937. /package/dist/{svmr-DB3RY2ID.js.map → svmr-QDQ33EFX.js.map} +0 -0
  938. /package/dist/{table-HJRWWXGM.js.map → table-LWAI27UO.js.map} +0 -0
  939. /package/dist/{termCollection-WPON7RG3.js.map → termCollection-3JHR74FG.js.map} +0 -0
  940. /package/dist/{termCollection-AW7M6DTP.js.map → termCollection-CDF5LYUG.js.map} +0 -0
  941. /package/dist/{termCollection.unit.spec-254ESHOE.js.map → termCollection.unit.spec-HOJKYWHF.js.map} +0 -0
  942. /package/dist/{tk-SUAFM5YA.js.map → tk-OEQFO73V.js.map} +0 -0
  943. /package/dist/{tp.ui-ELEQGSK2.js.map → tp.ui-SHNERDGC.js.map} +0 -0
  944. /package/dist/{tvs.dt-DCXY66YY.js.map → tvs.dt-CZDC4TSR.js.map} +0 -0
  945. /package/dist/{tvs.dtcnv.categorical-SFQZMYX7.js.map → tvs.dtcnv.categorical-OPBDHZGB.js.map} +0 -0
  946. /package/dist/{tvs.dtcnv.continuous-AUZNJMC3.js.map → tvs.dtcnv.continuous-AR6P4EP3.js.map} +0 -0
  947. /package/dist/{tvs.dtfusion-5F7MYFHZ.js.map → tvs.dtfusion-2YQ7N6FQ.js.map} +0 -0
  948. /package/dist/{tvs.dtsnvindel-JJSPL4PH.js.map → tvs.dtsnvindel-WHHWAATJ.js.map} +0 -0
  949. /package/dist/{tvs.dtsv-DARTSV5H.js.map → tvs.dtsv-3UMCW65O.js.map} +0 -0
  950. /package/dist/{tvs.numeric-KYAU5OV3.js.map → tvs.numeric-TOEPASWN.js.map} +0 -0
  951. /package/dist/{tvs.samplelst-HHBIO26C.js.map → tvs.samplelst-M7XKXRTZ.js.map} +0 -0
  952. /package/dist/{tvs.termCollection-KCMALH6B.js.map → tvs.termCollection-WT4WZMYR.js.map} +0 -0
  953. /package/dist/{violin-C26FW5WK.js.map → violin-2YGXTBDS.js.map} +0 -0
  954. /package/dist/{violin.integration.spec-QQ43XWHQ.js.map → violin.integration.spec-YWNHVAGS.js.map} +0 -0
  955. /package/dist/{violin.interactivity-H2BHC6M4.js.map → violin.interactivity-J6BE2UQL.js.map} +0 -0
  956. /package/dist/{violin.renderer-GSG2I7AV.js.map → violin.renderer-3GRUWP2U.js.map} +0 -0
  957. /package/dist/{vocabulary-3G525O5V.js.map → vocabulary-2INCVPYJ.js.map} +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../plots/gsea.js"],
4
- "sourcesContent": ["import * as d3axis from 'd3-axis'\nimport { Menu, renderTable, table2col, axisstyle, sayerror } from '#dom'\nimport { dofetch3 } from '#common/dofetch'\nimport { controlsInit } from './controls'\nimport { getCompInit, copyMerge } from '#rx'\nimport { scaleLinear } from 'd3-scale'\nimport { roundValueAuto } from '#shared/roundValue.js'\nimport { VolcanoModel } from '#plots/volcano/model/VolcanoModel.ts'\nimport { getDefaultVolcanoSettings } from '#plots/volcano/settings/defaults.ts'\nimport { PlotBase } from '#plots/PlotBase.js'\nimport { getCombinedTermFilter } from '#filter'\nimport { PROTEOME_DAP, SINGLECELL_CELLTYPE } from '#types'\n\nconst tip = new Menu()\n\nclass gsea extends PlotBase {\n\tstatic type = 'gsea'\n\n\tconstructor(opts) {\n\t\tsuper(opts)\n\t\tthis.type = gsea.type\n\t\tthis.opts = opts\n\t\tthis.components = {\n\t\t\tcontrols: {}\n\t\t}\n\t\t//Either allow a node to be passed or create a new div\n\t\tconst controlsDiv =\n\t\t\ttypeof opts.controls == 'object' ? opts.controls : opts.holder.append('div').style('display', 'inline-block')\n\t\tconst main = opts.holder.append('div').style('display', 'inline-block')\n\t\tconst actionsDiv = main\n\t\t\t.append('div')\n\t\t\t.attr('data-testid', 'sjpp-gsea-actions')\n\t\t\t.style('margin', '10px')\n\t\t\t.style('text-align', 'left')\n\t\tconst loadingDiv = main\n\t\t\t.append('div')\n\t\t\t.attr('data-testid', 'sjpp-gsea-loading')\n\t\t\t.style('text-align', 'center')\n\t\t\t.style('display', 'none')\n\t\t\t.style('margin', '10px')\n\t\t\t.style('text-align', 'left')\n\t\t\t.text('Loading...')\n\t\tconst holder = main\n\t\t\t.append('div')\n\t\t\t.style('margin-left', '50px')\n\t\t\t.style('display', 'inline-block')\n\t\t\t.attr('data-testid', 'sjpp-gsea-holder')\n\t\tconst detailsDiv = main\n\t\t\t.append('div')\n\t\t\t.attr('data-testid', 'sjpp-gsea-details')\n\t\t\t.style('display', 'inline-block')\n\t\t\t.style('vertical-align', 'top')\n\t\t\t.style('margin-top', '50px')\n\n\t\tconst tableDiv = main.append('div').style('margin', '10px').attr('data-testid', 'sjpp-gsea-results-table')\n\n\t\tthis.dom = {\n\t\t\tholder,\n\t\t\theader: opts.header,\n\t\t\tactionsDiv,\n\t\t\tloadingDiv,\n\t\t\tcontrolsDiv,\n\t\t\tdetailsDiv,\n\t\t\ttableDiv\n\t\t}\n\t}\n\n\tasync setControls() {\n\t\tthis.dom.controlsDiv.selectAll('*').remove()\n\t\tconst inputs = [\n\t\t\t{\n\t\t\t\tlabel: 'Minimum Gene Set Size Filter Cutoff',\n\t\t\t\ttype: 'number',\n\t\t\t\tchartType: 'gsea',\n\t\t\t\tsettingsKey: 'min_gene_set_size_cutoff',\n\t\t\t\ttitle: 'Minimum Gene set size cutoff. Helps in filtering out small gene sets',\n\t\t\t\tmin: 0\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Maximum Gene Set Size Filter Cutoff',\n\t\t\t\ttype: 'number',\n\t\t\t\tchartType: 'gsea',\n\t\t\t\tsettingsKey: 'max_gene_set_size_cutoff',\n\t\t\t\ttitle: 'Maximum Gene set size cutoff. Helps in filtering out large gene sets',\n\t\t\t\tmax: 25000\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Filter Non-coding Genes',\n\t\t\t\ttype: 'checkbox',\n\t\t\t\tchartType: 'gsea',\n\t\t\t\tsettingsKey: 'filter_non_coding_genes',\n\t\t\t\ttitle: 'Filter non-coding genes',\n\t\t\t\tboxLabel: ''\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'FDR or Top Gene Sets',\n\t\t\t\ttype: 'radio',\n\t\t\t\tchartType: 'gsea',\n\t\t\t\tsettingsKey: 'fdr_or_top',\n\t\t\t\ttitle: 'Toggle between FDR cutoff and top gene sets in ascending order of FDR',\n\t\t\t\toptions: [\n\t\t\t\t\t{ label: 'FDR', value: 'fdr' },\n\t\t\t\t\t{ label: 'Top Gene Sets', value: 'top' }\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\n\t\tif (JSON.parse(sessionStorage.getItem('optionalFeatures')).gsea_test) {\n\t\t\tinputs.push({\n\t\t\t\tlabel: 'GSEA method',\n\t\t\t\ttype: 'radio',\n\t\t\t\tchartType: 'gsea',\n\t\t\t\tsettingsKey: 'gsea_method',\n\t\t\t\ttitle: 'Toggle between blitzgsea and CERNO method',\n\t\t\t\toptions: [\n\t\t\t\t\t{ label: 'blitzgsea', value: 'blitzgsea' },\n\t\t\t\t\t{ label: 'CERNO', value: 'cerno' }\n\t\t\t\t]\n\t\t\t})\n\t\t}\n\t\tif (this.settings.gsea_method == 'blitzgsea') {\n\t\t\tinputs.push({\n\t\t\t\tlabel: 'Number of Permutations',\n\t\t\t\ttype: 'number',\n\t\t\t\tchartType: 'gsea',\n\t\t\t\tsettingsKey: 'num_permutations',\n\t\t\t\ttitle: 'Number of permutations to be used for GSEA. Higher number increases accuracy but also compute time.',\n\t\t\t\tmin: 0,\n\t\t\t\tmax: 40000 // Setting it to pretty lenient limit for testing\n\t\t\t})\n\t\t}\n\t\tif (this.settings.fdr_or_top == 'fdr') {\n\t\t\tinputs.push({\n\t\t\t\tlabel: 'FDR Filter Cutoff (Linear Scale)',\n\t\t\t\ttype: 'number',\n\t\t\t\tchartType: 'gsea',\n\t\t\t\tsettingsKey: 'fdr_cutoff',\n\t\t\t\ttitle: 'P-value significance',\n\t\t\t\tmin: 0,\n\t\t\t\tmax: 1\n\t\t\t})\n\t\t} else if (this.settings.fdr_or_top == 'top') {\n\t\t\tinputs.push({\n\t\t\t\tlabel: 'Number of top Gene Sets by FDR',\n\t\t\t\ttype: 'number',\n\t\t\t\tchartType: 'gsea',\n\t\t\t\tsettingsKey: 'top_genesets',\n\t\t\t\ttitle: 'Number of top gene sets to be displayed in ascending order of FDR',\n\t\t\t\tmin: 0,\n\t\t\t\tmax: 5000\n\t\t\t})\n\t\t} else {\n\t\t\tthrow 'unknown FDR/top option'\n\t\t}\n\n\t\tthis.components.controls = await controlsInit({\n\t\t\tapp: this.app,\n\t\t\tid: this.id,\n\t\t\tholder: this.dom.controlsDiv,\n\t\t\tinputs: inputs\n\t\t})\n\n\t\tthis.components.controls.on('downloadClick.gsea', () => {\n\t\t\tif (!this.imageUrl) return alert('No image to download')\n\t\t\tconst dataUrl = this.imageUrl\n\t\t\tconst downloadImgName = `${this.state.config.gsea_params.geneset_name || ''}_GSEA_IMG`\n\t\t\tconst a = document.createElement('a')\n\t\t\tdocument.body.appendChild(a)\n\n\t\t\ta.addEventListener(\n\t\t\t\t'click',\n\t\t\t\t() => {\n\t\t\t\t\t// Download the image\n\t\t\t\t\ta.download = downloadImgName + '.png'\n\t\t\t\t\ta.href = dataUrl\n\t\t\t\t\tdocument.body.removeChild(a)\n\t\t\t\t},\n\t\t\t\tfalse\n\t\t\t)\n\t\t\ta.click()\n\t\t})\n\t}\n\n\tgetState(appState) {\n\t\tconst config = appState.plots.find(p => p.id === this.id)\n\t\tif (!config) throw `No plot with id='${this.id}' found`\n\t\tconst parentConfig = appState.plots.find(p => p.id === this.parentId)\n\t\tconst termfilter = getCombinedTermFilter(appState, config.filter || parentConfig?.filter)\n\n\t\treturn {\n\t\t\tconfig,\n\t\t\ttermfilter\n\t\t}\n\t}\n\n\t/** This allows the gsea to run independently. If the DE data\n\t * was already requested (e.g. in the DA from the volcano plot),\n\t * the cached response returns rather than running the DE\n\t * route again.\n\t *\n\t * Also allows loading the gsea from a mass session file without\n\t * error. */\n\tasync init(appState) {\n\t\tconst config = appState.plots.find(p => p.id === this.id)\n\t\tif (!config.gsea_params) {\n\t\t\ttry {\n\t\t\t\tif (config.termType === PROTEOME_DAP) {\n\t\t\t\t\tawait this.app.save({\n\t\t\t\t\t\ttype: 'plot_edit',\n\t\t\t\t\t\tid: this.id,\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\tgsea_params: {\n\t\t\t\t\t\t\t\tdapParams: config.proteomeDetails,\n\t\t\t\t\t\t\t\tgenome: this.app.vocabApi.opts.state.vocab.genome,\n\t\t\t\t\t\t\t\tdslabel: this.app.vocabApi.vocab.dslabel\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t} else if (config.termType === SINGLECELL_CELLTYPE) {\n\t\t\t\t\t// SCCT has no DA cache \u2014 fetch the full DE gene list for the\n\t\t\t\t\t// chosen cluster (omit volcanoRender so the route returns the\n\t\t\t\t\t// raw gene array, not the threshold-passing `dots` subset)\n\t\t\t\t\t// and pass genes + fold_change inline. `render_gsea` takes\n\t\t\t\t\t// this path when neither cacheId nor dapParams is set.\n\t\t\t\t\tconst body = {\n\t\t\t\t\t\tgenome: this.app.vocabApi.vocab.genome,\n\t\t\t\t\t\tdslabel: this.app.vocabApi.vocab.dslabel,\n\t\t\t\t\t\tsample: config.sample,\n\t\t\t\t\t\ttermId: config.termId,\n\t\t\t\t\t\tcategoryName: config.categoryName\n\t\t\t\t\t}\n\t\t\t\t\tconst response = await dofetch3('termdb/singlecellDEgenes', { body, signal: this.api?.getAbortSignal() })\n\t\t\t\t\tif (response.error) throw response.error\n\t\t\t\t\tif (!Array.isArray(response.data) || response.data.length === 0) throw 'No DE genes returned for this cluster'\n\t\t\t\t\tconst genes = []\n\t\t\t\t\tconst fold_change = []\n\t\t\t\t\tfor (const g of response.data) {\n\t\t\t\t\t\tgenes.push(g.gene_name)\n\t\t\t\t\t\tfold_change.push(g.fold_change)\n\t\t\t\t\t}\n\t\t\t\t\tawait this.app.save({\n\t\t\t\t\t\ttype: 'plot_edit',\n\t\t\t\t\t\tid: this.id,\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\tgsea_params: {\n\t\t\t\t\t\t\t\tgenes,\n\t\t\t\t\t\t\t\tfold_change,\n\t\t\t\t\t\t\t\tgenes_length: genes.length,\n\t\t\t\t\t\t\t\tgenome: this.app.vocabApi.opts.state.vocab.genome\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\tconst volcanoSettings =\n\t\t\t\t\t\tconfig.settings?.volcano || getDefaultVolcanoSettings({}, { termType: 'geneExpression' })\n\t\t\t\t\tconst model = new VolcanoModel(this, config.termType)\n\t\t\t\t\tconst response = await model.getData(config, volcanoSettings)\n\t\t\t\t\tif (!response?.data?.cacheId || response.error) {\n\t\t\t\t\t\tthrow response.error || 'No DE cacheId returned from volcano model'\n\t\t\t\t\t}\n\t\t\t\t\tawait this.app.save({\n\t\t\t\t\t\ttype: 'plot_edit',\n\t\t\t\t\t\tid: this.id,\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\tgsea_params: {\n\t\t\t\t\t\t\t\tcacheId: response.data.cacheId,\n\t\t\t\t\t\t\t\t// Snapshot of the DE request so the server can regenerate\n\t\t\t\t\t\t\t\t// the cache if this GSEA request lands on a peer node or\n\t\t\t\t\t\t\t\t// arrives after the cache TTL has expired.\n\t\t\t\t\t\t\t\tdaRequest: response.daRequest,\n\t\t\t\t\t\t\t\tgenes_length: response.data.totalRows,\n\t\t\t\t\t\t\t\tgenome: this.app.vocabApi.opts.state.vocab.genome,\n\t\t\t\t\t\t\t\t// Sending dslabel at the top level makes the global\n\t\t\t\t\t\t\t\t// auth middleware populate clientAuthResult on this\n\t\t\t\t\t\t\t\t// request the same way it did for the volcano\n\t\t\t\t\t\t\t\t// request, so the server can re-apply the same\n\t\t\t\t\t\t\t\t// auth-filter injection to daRequest before hashing.\n\t\t\t\t\t\t\t\tdslabel: this.app.vocabApi.vocab.dslabel\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\tif (e instanceof Error) console.error(e.message || e)\n\t\t\t\telse if (e.stack) console.log(e.stack)\n\t\t\t\tthrow e\n\t\t\t}\n\t\t}\n\t}\n\n\treactsTo(action) {\n\t\tif (action.type.startsWith('plot_')) {\n\t\t\treturn (\n\t\t\t\t(action.id === this.id || action.id == this.parentId) &&\n\t\t\t\t(!action.config?.childType || action.config?.childType == this.type)\n\t\t\t)\n\t\t}\n\t}\n\n\tasync main() {\n\t\t//Not not use structuredClone(this.state.config)\n\t\t//Does not include the plot config changes in init()\n\t\tconst config = this.app.getState().plots.find(p => p.id === this.id)\n\t\tthis.config = structuredClone(config)\n\t\tif (this.config.chartType != this.type && this.config.childType != this.type) return\n\t\tthis.settings = this.config.settings.gsea\n\n\t\tthis.imageUrl = null // Reset the image URL\n\t\tawait this.setControls()\n\t\tif (this.dom.header) {\n\t\t\tconst geneCount = this.config.gsea_params.genes_length ?? this.config.gsea_params.genes?.length ?? 0\n\t\t\tthis.dom.header.html(\n\t\t\t\tgeneCount + ' genes <span style=\"font-size:.8em;opacity:.7\">GENE SET ENRICHMENT ANALYSIS</span>'\n\t\t\t)\n\t\t}\n\t\trender_gsea(this)\n\t}\n}\n\nasync function renderPathwayDropdown(self) {\n\tconst settings = structuredClone(self.settings)\n\tconst pathwayOpts = structuredClone(self.app.opts.genome.termdbs.msigdb.analysisGenesetGroups) // duplicate to avoid repeated insertion on each app launch\n\n\tif (JSON.parse(sessionStorage.getItem('optionalFeatures')).gsea_test && self.settings.gsea_method == 'blitzgsea') {\n\t\t// This contains geneset groups that are specific to blitzgsea itself\n\t\t// TEMPORARY FIX to test this library that will trigger auto download support files in python\n\t\t// NEVER ENABLE ON PROD especially gdc prod, where container has firewall and it crashes..\n\t\t// delete this if library is replaced\n\t\tpathwayOpts.push(\n\t\t\t{ label: 'REACTOME (blitzgsea)', value: 'REACTOME--blitzgsea' },\n\t\t\t{ label: 'KEGG (blitzgsea)', value: 'KEGG--blitzgsea' },\n\t\t\t{ label: 'WikiPathways (blitzgsea)', value: 'WikiPathways--blitzgsea' }\n\t\t)\n\t}\n\n\tif (settings.pathway) {\n\t\tpathwayOpts.shift()\n\t\tpathwayOpts.find(opt => opt.value == settings.pathway).selected = true\n\t}\n\n\tself.dom.actionsDiv\n\t\t.append('span')\n\t\t.attr('data-testid', 'sjpp-gsea-pathway')\n\t\t.style('margin-right', '10px')\n\t\t.text('Select a gene set group:')\n\n\tconst dropdown = self.dom.actionsDiv.append('select').on('change', event => {\n\t\tif (!settings.pathway) {\n\t\t\t//Remove placeholder from dropdown on first change\n\t\t\tconst placeholder = dropdown.select('option[value=\"-\"]')\n\t\t\tplaceholder.remove()\n\t\t\tpathwayOpts.shift()\n\t\t}\n\n\t\tconst idx = event.target.selectedIndex\n\t\tsettings.pathway = pathwayOpts[idx].value\n\t\tself.app.dispatch({\n\t\t\ttype: 'plot_edit',\n\t\t\tid: self.id,\n\t\t\tconfig: {\n\t\t\t\t//Need to clear the gsea_params completely\n\t\t\t\tgsea_params: {\n\t\t\t\t\tgeneset_name: null,\n\t\t\t\t\tpathway: pathwayOpts[idx].value\n\t\t\t\t},\n\t\t\t\thighlightGenes: [],\n\t\t\t\tsettings: {\n\t\t\t\t\tgsea: settings\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t})\n\tfor (const opt of pathwayOpts) {\n\t\tdropdown\n\t\t\t.append('option')\n\t\t\t.text(opt.label)\n\t\t\t.attr('value', opt.value)\n\t\t\t.attr('selected', opt.selected ? true : null)\n\t}\n}\n\nasync function render_gsea(self) {\n\t/*\nm {}\n- gene\n- logfoldchange\n- averagevalue\n- pvalue\n\nadd:\n- vo_circle\n\t*/\n\n\t//Render the dropdown if launched from state\n\t//Otherwise will persist on load\n\tself.dom.actionsDiv.selectAll('*').remove()\n\trenderPathwayDropdown(self)\n\tif (self.settings.pathway == '-' || self.settings.pathway == undefined) return\n\tself.dom.detailsDiv.selectAll('*').remove()\n\tself.dom.holder.selectAll('*').remove()\n\tself.dom.tableDiv.selectAll('*').remove()\n\tself.config.gsea_params.geneSetGroup = self.settings.pathway\n\tself.config.gsea_params.filter_non_coding_genes = self.settings.filter_non_coding_genes\n\tself.config.gsea_params.num_permutations = self.settings.num_permutations\n\n\tlet output\n\ttry {\n\t\tconst p = self.config.gsea_params\n\t\tconst body = {\n\t\t\tgenome: p.genome,\n\t\t\tgeneSetGroup: self.settings.pathway,\n\t\t\tfilter_non_coding_genes: self.settings.filter_non_coding_genes,\n\t\t\tmethod: self.settings.gsea_method\n\t\t}\n\t\tif (p.cacheId) {\n\t\t\tbody.cacheId = p.cacheId\n\t\t\t// Sending the DE request snapshot lets the server regenerate the\n\t\t\t// cache on miss (farm node without the file, TTL-expired).\n\t\t\tif (p.daRequest) body.daRequest = p.daRequest\n\t\t\t// Top-level dslabel makes the global auth middleware populate\n\t\t\t// clientAuthResult so the server can re-apply the same\n\t\t\t// auth-filter injection to daRequest before hashing.\n\t\t\tif (p.dslabel) body.dslabel = p.dslabel\n\t\t} else if (p.dapParams) {\n\t\t\tbody.dapParams = p.dapParams\n\t\t\tbody.dslabel = p.dslabel\n\t\t} else {\n\t\t\tbody.genes = p.genes\n\t\t\tbody.fold_change = p.fold_change\n\t\t}\n\n\t\tif (self.settings.gsea_method == 'blitzgsea') {\n\t\t\tbody.num_permutations = self.settings.num_permutations\n\t\t}\n\t\toutput = await rungsea(body, self.dom)\n\t\tif (output.error) {\n\t\t\tthrow Object.assign(new Error(output.error), { code: output.code })\n\t\t}\n\t} catch (e) {\n\t\t// Inline error block instead of alert(). Mirror the detail-plot\n\t\t// branch below so the GSEA pane shows the failure in-context (e.g.\n\t\t// blitzgsea calibration failures on small/degenerate signatures\n\t\t// from gsea.py's _safe_blitz_gsea, or daCacheMissing on a\n\t\t// stale-session cache regen).\n\t\tself.dom.holder.selectAll('*').remove()\n\t\tconst msg = String(e?.message || e)\n\t\tif (e?.code === 'CACHE_BUSY') {\n\t\t\tif (window.confirm(msg)) render_gsea(self)\n\t\t\treturn\n\t\t}\n\t\tconst userMsg = /daCacheMissing|ENOENT|no such file/i.test(msg)\n\t\t\t? 'The differential-analysis cache for this GSEA is no longer available. Reopen the volcano plot to regenerate it.'\n\t\t\t: msg\n\t\tsayerror(self.dom.holder, userMsg)\n\t\treturn\n\t}\n\n\t//Ensure the image renders when toggling between tabs\n\tif (self.config.gsea_params.geneset_name != null) {\n\t\ttry {\n\t\t\tif (self.settings.gsea_method == 'blitzgsea') {\n\t\t\t\tself.config.gsea_params.method = self.settings.gsea_method\n\t\t\t\tconst image = await rungsea(self.config.gsea_params, self.dom)\n\t\t\t\t// //render_gsea_plot(self, plot_data)\n\t\t\t\tif (image.error) throw image.error\n\t\t\t\tself.imageUrl = URL.createObjectURL(image)\n\t\t\t\tconst png_width = 600\n\t\t\t\tconst png_height = 400\n\t\t\t\tself.dom.holder.append('img').attr('width', png_width).attr('height', png_height).attr('src', self.imageUrl)\n\t\t\t} else if (self.settings.gsea_method == 'cerno') {\n\t\t\t\tif (!self.rankedDE && (self.config.gsea_params.cacheId || self.config.gsea_params.dapParams)) {\n\t\t\t\t\tconst fetchBody = {\n\t\t\t\t\t\tgenome: self.config.gsea_params.genome,\n\t\t\t\t\t\tdslabel: self.config.gsea_params.dslabel,\n\t\t\t\t\t\tfetchDE: true,\n\t\t\t\t\t\tgeneSetGroup: '-',\n\t\t\t\t\t\tfilter_non_coding_genes: false,\n\t\t\t\t\t\tmethod: 'cerno'\n\t\t\t\t\t}\n\t\t\t\t\tif (self.config.gsea_params.cacheId) {\n\t\t\t\t\t\tfetchBody.cacheId = self.config.gsea_params.cacheId\n\t\t\t\t\t\tfetchBody.daRequest = self.config.gsea_params.daRequest\n\t\t\t\t\t} else if (self.config.gsea_params.dapParams) {\n\t\t\t\t\t\tfetchBody.dapParams = self.config.gsea_params.dapParams\n\t\t\t\t\t}\n\t\t\t\t\tconst deResp = await dofetch3('genesetEnrichment', {\n\t\t\t\t\t\tbody: fetchBody\n\t\t\t\t\t})\n\t\t\t\t\tif (deResp.error) throw Object.assign(new Error(deResp.error), { code: deResp.code })\n\t\t\t\t\tself.rankedDE = deResp.data\n\t\t\t\t}\n\t\t\t\trender_cerno_plot(self, output)\n\t\t\t} else {\n\t\t\t\tthrow 'Unknown method:' + self.settings.gsea_method\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tself.dom.holder.selectAll('*').remove()\n\t\t\tconst msg = String(e?.message || e)\n\t\t\tif (e?.code === 'CACHE_BUSY') {\n\t\t\t\tif (window.confirm(msg)) render_gsea(self)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst userMsg = /daCacheMissing|ENOENT|no such file/i.test(msg)\n\t\t\t\t? 'The differential-analysis cache for this GSEA is no longer available. Reopen the volcano plot to regenerate it.'\n\t\t\t\t: msg\n\t\t\tsayerror(self.dom.holder, userMsg)\n\t\t\treturn\n\t\t}\n\t}\n\n\tconst table_stats = table2col({ holder: self.dom.detailsDiv.attr('data-testid', 'sjpp-gsea-stats') })\n\tconst [t1, t2] = table_stats.addRow()\n\tt2.style('text-align', 'center').style('font-size', '0.8em').style('opacity', '0.8').text('COUNT')\n\tlet addStats\n\tif (self.settings.gsea_method == 'blitzgsea') {\n\t\taddStats = [\n\t\t\t{\n\t\t\t\tlabel: 'Gene sets analyzed',\n\t\t\t\tvalues: Object.keys(output.data).length\n\t\t\t}\n\t\t]\n\t} else if (self.settings.gsea_method == 'cerno') {\n\t\taddStats = [\n\t\t\t{\n\t\t\t\tlabel: 'Gene sets analyzed',\n\t\t\t\tvalues: Object.keys(output).length\n\t\t\t}\n\t\t]\n\t} else {\n\t\tthrow 'Unknown method:' + self.settings.gsea_method\n\t}\n\n\tfor (const dataRow of addStats) {\n\t\tconst [td1, td2] = table_stats.addRow()\n\t\ttd1.text(dataRow.label)\n\t\ttd2.style('text-align', 'end').text(dataRow.values)\n\t}\n\n\t// Generating the table\n\tself.gsea_table_rows = []\n\tlet output_keys\n\tif (self.settings.gsea_method == 'blitzgsea') {\n\t\toutput_keys = Object.entries(output.data).map(([key, value]) => {\n\t\t\treturn { key, value } // Convert to an array of objects\n\t\t})\n\t} else if (self.settings.gsea_method == 'cerno') {\n\t\toutput_keys = Object.entries(output).map(([key, value]) => {\n\t\t\treturn { key, value } // Convert to an array of objects\n\t\t})\n\t} else {\n\t\tthrow 'Unknown method:' + self.settings.gsea_method\n\t}\n\n\tif (self.settings.fdr_or_top == 'top') {\n\t\t// Sorting the top (top_genesets) genesets in decreasing order\n\t\toutput_keys.sort((i, j) => Number(i.value.fdr) - Number(j.value.fdr))\n\t\tconst top_genesets = Math.min(self.settings.top_genesets, output_keys.length) // If the length of the table is less than the top cutoff, only iterate till the end of the table\n\t\tfor (let iter = 0; iter < top_genesets; iter++) {\n\t\t\tif (\n\t\t\t\tself.settings.max_gene_set_size_cutoff >= output_keys[iter].value.geneset_size &&\n\t\t\t\tself.settings.min_gene_set_size_cutoff <= output_keys[iter].value.geneset_size\n\t\t\t) {\n\t\t\t\tsetResultsRows(output_keys, iter, self)\n\t\t\t}\n\t\t}\n\t} else if (self.settings.fdr_or_top == 'fdr') {\n\t\tfor (let iter = 0; iter < output_keys.length; iter++) {\n\t\t\tif (\n\t\t\t\tself.settings.fdr_cutoff >= output_keys[iter].value.fdr &&\n\t\t\t\tself.settings.max_gene_set_size_cutoff >= output_keys[iter].value.geneset_size &&\n\t\t\t\tself.settings.min_gene_set_size_cutoff <= output_keys[iter].value.geneset_size\n\t\t\t) {\n\t\t\t\tsetResultsRows(output_keys, iter, self)\n\t\t\t}\n\t\t}\n\t}\n\n\tself.dom.tableDiv.selectAll('*').remove()\n\tconst d_gsea = self.dom.tableDiv.append('div')\n\t// table columns showing analysis results for each gene set\n\tself.gsea_table_cols = []\n\tif (self.settings.gsea_method == 'blitzgsea') {\n\t\tself.gsea_table_cols = [\n\t\t\t{ label: 'Gene Set', sortable: true },\n\t\t\t//{ label: 'Enrichment Score' },\n\t\t\t{ label: 'Normalized Enrichment Score', barplot: { axisWidth: 200 }, sortable: true },\n\t\t\t{ label: 'Gene Set Size', sortable: true },\n\t\t\t{ label: 'P value', sortable: true },\n\t\t\t//{ label: 'Sidak' },\n\t\t\t{ label: 'FDR', sortable: true },\n\t\t\t{ label: 'Leading Edge' }\n\t\t]\n\t} else if (self.settings.gsea_method == 'cerno') {\n\t\tself.gsea_table_cols = [\n\t\t\t{ label: 'Gene Set', sortable: true },\n\t\t\t{ label: 'Area Under Curve', barplot: { axisWidth: 200 }, sortable: true },\n\t\t\t{ label: 'Enrichment Score', barplot: { axisWidth: 200 }, sortable: true },\n\t\t\t{ label: 'Total Gene Set Size', sortable: true },\n\t\t\t{ label: 'P value', sortable: true },\n\t\t\t{ label: 'FDR', sortable: true },\n\t\t\t{ label: 'Gene Set Hits' }\n\t\t]\n\t} else {\n\t\tthrow 'Unknown method:' + self.settings.gsea_method\n\t}\n\tlet download = {}\n\n\tif (self.config.chartType == 'differentialAnalysis') {\n\t\t//Highlight genes button\n\t\tself.dom.detailsDiv\n\t\t\t.append('button')\n\t\t\t.style('margin-left', '10px')\n\t\t\t.style(\n\t\t\t\t'display',\n\t\t\t\tself.config.chartType == 'differentialAnalysis' && self.config.gsea_params.geneset_name == null\n\t\t\t\t\t? 'none'\n\t\t\t\t\t: 'block'\n\t\t\t)\n\t\t\t.attr('aria-label', 'Highlight genes in the volcano plot')\n\t\t\t.text('Highlight genes')\n\t\t\t.on('click', () => {\n\t\t\t\tself.app.dispatch({\n\t\t\t\t\ttype: 'plot_edit',\n\t\t\t\t\tid: self.id,\n\t\t\t\t\tconfig: {\n\t\t\t\t\t\tchildType: 'volcano',\n\t\t\t\t\t\thighlightedData: self.config.highlightGenes\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n\n\tif (self.state.config.downloadFilename) download.fileName = self.state.config.downloadFilename\n\n\t//Table rerenders when main is called\n\t//Fix to show which gene set is selected after rerender\n\tconst geneSetIdx = self.gsea_table_rows.findIndex(row => row[0].value == self.config.gsea_params.geneset_name)\n\tconst selectedRows = geneSetIdx > -1 ? [geneSetIdx] : []\n\n\trenderTable({\n\t\tdownload,\n\t\tcolumns: self.gsea_table_cols,\n\t\trows: self.gsea_table_rows,\n\t\tdiv: d_gsea,\n\t\tshowLines: true,\n\t\tmaxHeight: '30vh',\n\t\tsingleMode: true,\n\t\tresize: true,\n\t\theader: { allowSort: true },\n\t\tselectedRows: selectedRows,\n\t\tnoButtonCallback: async index => {\n\t\t\tconst config = {\n\t\t\t\tgsea_params: {\n\t\t\t\t\tgeneset_name: self.gsea_table_rows[index][0].value\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (self.config.chartType == 'differentialAnalysis') {\n\t\t\t\t//Saves the data to highlight in the volcano plot\n\t\t\t\tlet genes\n\t\t\t\tif (self.settings.gsea_method == 'blitzgsea') {\n\t\t\t\t\tgenes = [...self.gsea_table_rows[index][5].value.split(',')]\n\t\t\t\t} else if (self.settings.gsea_method == 'cerno') {\n\t\t\t\t\tgenes = [...self.gsea_table_rows[index][6].value.split(',')]\n\t\t\t\t} else {\n\t\t\t\t\tthrow 'Unknown method:' + self.settings.gsea_method\n\t\t\t\t}\n\t\t\t\tif (genes) config.highlightGenes = genes\n\t\t\t}\n\t\t\tawait self.app.dispatch({\n\t\t\t\ttype: 'plot_edit',\n\t\t\t\tid: self.id,\n\t\t\t\tconfig\n\t\t\t})\n\t\t}\n\t})\n}\n\nfunction setResultsRows(output_keys, iter, self) {\n\tconst pathway_name = output_keys[iter].key\n\tconst pval = output_keys[iter].value.pval\n\t\t? roundValueAuto(output_keys[iter].value.pval)\n\t\t: output_keys[iter].value.pval\n\tconst fdr = output_keys[iter].value.fdr ? roundValueAuto(output_keys[iter].value.fdr) : output_keys[iter].value.fdr\n\tif (self.settings.gsea_method == 'blitzgsea') {\n\t\tconst nes = output_keys[iter].value.nes ? roundValueAuto(output_keys[iter].value.nes) : output_keys[iter].value.nes\n\t\t// const sidak = output_keys[iter].value.sidak\n\t\t// \t? roundValueAuto(output_keys[iter].value.sidak)\n\t\t// \t: output_keys[iter].value.sidak\n\t\tself.gsea_table_rows.push([\n\t\t\t{ value: pathway_name },\n\t\t\t{ value: nes },\n\t\t\t{ value: output_keys[iter].value.geneset_size },\n\t\t\t{ value: pval },\n\t\t\t//{ value: sidak },\n\t\t\t{ value: fdr },\n\t\t\t{ value: output_keys[iter].value.leading_edge }\n\t\t])\n\t} else if (self.settings.gsea_method == 'cerno') {\n\t\tconst auc = output_keys[iter].value.auc ? roundValueAuto(output_keys[iter].value.auc) : output_keys[iter].value.auc\n\t\tconst es = output_keys[iter].value.es ? roundValueAuto(output_keys[iter].value.es) : output_keys[iter].value.es\n\t\tself.gsea_table_rows.push([\n\t\t\t{ value: pathway_name },\n\t\t\t{ value: auc },\n\t\t\t{ value: es },\n\t\t\t{ value: output_keys[iter].value.geneset_size },\n\t\t\t{ value: pval },\n\t\t\t{ value: fdr },\n\t\t\t{ value: output_keys[iter].value.leading_edge }\n\t\t])\n\t} else {\n\t\tthrow 'Unknown method:' + self.settings.gsea_method\n\t}\n}\n\nfunction render_cerno_plot(self, cerno_output) {\n\tconst holder = self.dom.holder\n\tholder.selectAll('*').remove()\n\tconst svg_width = 400\n\tconst svg_height = 400\n\tconst svg = holder.append('svg').attr('width', svg_width).attr('height', svg_height)\n\tconst toppad = 20\n\tconst rightpad = 5\n\tconst yaxisw = 50 //Math.max(50, svg_width / 8)\n\tconst xaxish = 50 //Math.max(50, svg_height / 8)\n\tconst yaxisg = svg.append('g')\n\tconst xaxisg = svg.append('g')\n\tconst xpad = 50\n\tconst ypad = 100\n\n\tconst rankedDE = self.rankedDE || self.config.gsea_params\n\tconst DE_output = []\n\tfor (let i = 0; i < rankedDE.genes.length; i++) {\n\t\tconst item = { gene: rankedDE.genes[i], fold_change: rankedDE.fold_change[i] }\n\t\tDE_output.push(item)\n\t}\n\tDE_output.sort((i, j) => j.fold_change - i.fold_change) // Sorting genes in descending order of fold change\n\n\tconst xscale = scaleLinear()\n\t\t.domain([0, DE_output.length])\n\t\t.range([xpad, svg_width - rightpad])\n\tconst yscale = scaleLinear()\n\t\t.domain([100, 0])\n\t\t.range([toppad, svg_height - ypad])\n\n\tyaxisg.attr('transform', 'translate(' + xpad + ',' + 0 + ')')\n\txaxisg.attr('transform', 'translate(' + 0 + ',' + (svg_height - ypad) + ')')\n\tconst xlab = svg\n\t\t.append('text')\n\t\t.text('Gene list')\n\t\t.attr('fill', 'black')\n\t\t.attr('text-anchor', 'start')\n\t\t.attr('transform', 'translate(' + xscale(DE_output.length / 3) + ',' + (svg_height - ypad + 2 * toppad) + ')')\n\tconst ylab = svg\n\t\t.append('text')\n\t\t.text('Percentage of gene set')\n\t\t.attr('fill', 'black')\n\t\t.attr('text-anchor', 'middle')\n\t\t.attr('y', xpad / 2)\n\t\t.attr('x', -svg_width / 2.5)\n\t\t.attr('transform', 'rotate(-90)')\n\tlet fontSize = 30\n\tconst title = svg\n\t\t.append('text')\n\t\t.text(self.config.gsea_params.geneset_name)\n\t\t.attr('fill', 'black')\n\t\t.attr('text-anchor', 'start')\n\t\t.attr('font-size', fontSize + 'px')\n\t\t.attr('transform', 'translate(' + xpad + ',' + toppad / 2 + ')')\n\n\t// Check to see if the text fits into the svg width and toppad dimensions. If not, decrease the font size until the text fits into these dimensions\n\tlet title_bbox = title.node().getBBox()\n\twhile (title_bbox.width > svg_width - xpad || title_bbox.height > (toppad * 3.5) / 5) {\n\t\tfontSize -= 1 // Decrease font size\n\t\ttitle.node().setAttribute('font-size', fontSize + 'px')\n\t\ttitle_bbox = title.node().getBBox() // Measure again\n\t}\n\n\tconst auc = cerno_output[self.config.gsea_params.geneset_name].auc\n\tif (typeof auc === 'number') {\n\t\tlet auc_pos\n\t\tif (auc >= 0.5) {\n\t\t\t// The position of the text changes depending upon the value of auc so as to avoid the auc curve overlapping with the text\n\t\t\tauc_pos = xscale((DE_output.length * 3) / 3.5) + ',' + (svg_height - ypad * 1.5)\n\t\t} else {\n\t\t\tauc_pos = xscale((DE_output.length * 0.8) / 4.5) + ',' + (svg_height - ypad * 3)\n\t\t}\n\t\tconst auc_text = svg\n\t\t\t.append('text')\n\t\t\t.text('AUC=' + roundValueAuto(auc))\n\t\t\t.attr('fill', 'black')\n\t\t\t.attr('text-anchor', 'middle')\n\t\t\t.attr('transform', 'translate(' + auc_pos + ')')\n\t} else {\n\t\t// Should not happen\n\t\tthrow 'AUC not a number:' + auc\n\t}\n\n\taxisstyle({\n\t\taxis: yaxisg.call(d3axis.axisLeft().scale(yscale)),\n\t\tcolor: 'black',\n\t\tshowline: true,\n\t\tfontsize: '10'\n\t})\n\taxisstyle({\n\t\taxis: xaxisg.call(d3axis.axisBottom().scale(xscale)),\n\t\tcolor: 'black',\n\t\tshowline: true,\n\t\tfontsize: '10'\n\t})\n\n\t// Find genes that were found from cerno output\n\tif (Object.keys(cerno_output).includes(self.config.gsea_params.geneset_name)) {\n\t\tconst hit_genes = cerno_output[self.config.gsea_params.geneset_name].leading_edge.split(',')\n\t\tconst y_increment = 100 / hit_genes.length\n\t\tconst lines = svg.append('g')\n\n\t\tlet y_iter = 100\n\t\tfor (let i = 0; i < DE_output.length; i++) {\n\t\t\tconst y_old = y_iter\n\t\t\t// Increment y only when gene is found in geneset\n\t\t\tif (hit_genes.includes(DE_output[i].gene)) {\n\t\t\t\ty_iter = y_iter - y_increment\n\t\t\t\tlines\n\t\t\t\t\t.append('line') // attach a line\n\t\t\t\t\t.style('stroke', 'red') // colour the line\n\t\t\t\t\t.attr('x1', xscale(i)) // x position of the first end of the line\n\t\t\t\t\t.attr('y1', svg_height) // y position of the first end of the line\n\t\t\t\t\t.attr('x2', xscale(i)) // x position of the second end of the line\n\t\t\t\t\t.attr('y2', svg_height - ypad + 2.5 * toppad) // y position of the second end of the line\n\t\t\t}\n\t\t\tlines\n\t\t\t\t.append('line') // attach a line\n\t\t\t\t.style('stroke', 'red') // colour the line\n\t\t\t\t.attr('x1', xscale(i)) // x position of the first end of the line\n\t\t\t\t.attr('y1', yscale(100 - y_old)) // y position of the first end of the line\n\t\t\t\t.attr('x2', xscale(i + 1)) // x position of the second end of the line\n\t\t\t\t.attr('y2', yscale(100 - y_iter)) // y position of the second end of the line\n\t\t}\n\t} else {\n\t\t// Should not happen\n\t\tthrow '${self.config.gsea_params.geneset_name} not found'\n\t}\n\n\t//console.log('cerno_output:', cerno_output)\n\n\t// Find the genes that were found in the clicked geneset\n\t//const genes_found\n}\n\n// function render_gsea_plot(self, plot_data) {\n// \t// This function is for client side rendering of the gsea plot. This is not currently used. May be used later if client side rendering is later desired.\n// \tconsole.log('self.dom.holder:', self.dom.holder)\n// \tconst holder = self.dom.holder\n// \tconsole.log('plot_data:', plot_data)\n// \tholder.selectAll('*').remove()\n// \tconst running_sum = plot_data.running_sum.split(',').map(x => parseFloat(x))\n// \tconst es = parseFloat(plot_data.es)\n// \tconsole.log('running_sum:', running_sum)\n// \tconst svg_width = 400\n// \tconst svg_height = 400\n// \tconst svg = holder.append('svg').attr('width', svg_width).attr('height', svg_height)\n// \tconst toppad = 50\n// \tconst rightpad = 50\n// \tconst yaxisw = Math.max(50, svg_width / 8)\n// \tconst xaxish = Math.max(50, svg_height / 8)\n// \tconst yaxisg = svg.append('g')\n// \tconst xaxisg = svg.append('g')\n// \tconst xpad = svg_width / 50\n// \tconst ypad = svg_height / 50\n// \tyaxisg.attr('transform', 'translate(' + (yaxisw + xpad) + ',' + (toppad - ypad) + ')')\n// \txaxisg.attr('transform', 'translate(' + (yaxisw + xpad) + ',' + (svg_height - ypad) + ')')\n// \tconst xlab = xaxisg.append('text').text('Rank').attr('fill', 'black').attr('text-anchor', 'middle') //.attr('transform', 'translate(' + 200 + ',' + 200 + ')')\n// \tconst ylab = yaxisg\n// \t\t.append('text')\n// \t\t.text('ES')\n// \t\t.attr('fill', 'black')\n// \t\t.attr('text-anchor', 'middle')\n// \t\t.attr('transform', 'rotate(-90)')\n// \tconst xscale = scaleLinear().domain(running_sum).range([0, svg_width])\n// \tconst yscale = scaleLinear().domain([0, 100]).range([0, svg_height])\n// \t//const xscale = scaleLinear().domain([Math.min(running_sum), Math.max(running_sum)]).range([0, 100])\n// \taxisstyle({\n// \t\taxis: yaxisg.call(d3axis.axisLeft().scale(yscale)),\n// \t\tcolor: 'black',\n// \t\tshowline: true,\n// \t\tfontsize: '10'\n// \t})\n// \taxisstyle({\n// \t\taxis: xaxisg.call(d3axis.axisBottom().scale(xscale)),\n// \t\tcolor: 'black',\n// \t\tshowline: true,\n// \t\tfontsize: '10'\n// \t})\n// \t//xscale.range([0, svg_width])\n// \t//yscale.range([svg_height, 0])\n// \tconst lines = svg.append('g')\n// \t//svg.selectAll(\".axis text\").style(\"font-size\", \"100px\")\n// \tlet gene_number = 0\n// \tlet y1 = 0\n// \tfor (const rs of running_sum) {\n// \t\tlines\n// \t\t\t.append('line') // attach a line\n// \t\t\t.style('stroke', 'green') // colour the line\n// \t\t\t.attr('x1', xscale(gene_number)) // x position of the first end of the line\n// \t\t\t.attr('y1', yscale(y1)) // y position of the first end of the line\n// \t\t\t.attr('x2', xscale(gene_number)) // x position of the second end of the line\n// \t\t\t.attr('y2', yscale(Math.abs(rs))) // y position of the second end of the line\n// \t\tgene_number += 1\n// \t\ty1 = Math.abs(rs)\n// \t}\n// }\n\nexport function getDefaultGseaSettings(overrides = {}) {\n\tconst defaults = {\n\t\tfdr_cutoff: 0.05,\n\t\tnum_permutations: 1000,\n\t\ttop_genesets: 40,\n\t\tpathway: undefined,\n\t\tgeneset_name: null,\n\t\tmin_gene_set_size_cutoff: 0,\n\t\tmax_gene_set_size_cutoff: 20000,\n\t\tfilter_non_coding_genes: true,\n\t\tfdr_or_top: 'top',\n\t\tgsea_method: 'blitzgsea'\n\t}\n\tif (JSON.parse(sessionStorage.getItem('optionalFeatures')).gsea_test) {\n\t\t// set default method to CERNO when serverconfig flag gsea_test is defined\n\t\tdefaults.gsea_method = 'cerno'\n\t}\n\treturn Object.assign(defaults, overrides)\n}\n\nexport async function getPlotConfig(opts, app) {\n\t// if (!opts.gsea_params) throw 'No gsea_params provided [gsea getPlotConfig()]'\n\ttry {\n\t\tconst config = {\n\t\t\t//idea for fixing nav button\n\t\t\t//samplelst: { groups: app.opts.state.groups}\n\t\t\tsettings: {\n\t\t\t\tgsea: getDefaultGseaSettings(opts.overrides)\n\t\t\t}\n\t\t}\n\t\treturn copyMerge(config, opts)\n\t} catch (e) {\n\t\tthrow `${e} [gsea getPlotConfig()]`\n\t}\n}\n\nexport const gseaInit = getCompInit(gsea)\n// this alias will allow abstracted dynamic imports\nexport const componentInit = gseaInit\n\nexport function makeChartBtnMenu(holder, chartsInstance) {\n\t/*\n\tholder: the holder in the tooltip\n\tchartsInstance: MassCharts instance\n\t\ttermdbConfig is accessible at chartsInstance.state.termdbConfig{}\n\t\tmass option is accessible at chartsInstance.app.opts{}\n\t*/\n\t// to fill in menu, create options in \"holder\"\n\t// to hide menu, call chartsInstance.dom.tip.hide()\n\t// upon clicking an option, generate plot:\n\tchartsInstance.prepPlot({\n\t\tconfig: {\n\t\t\tchartType: 'gsea'\n\t\t}\n\t})\n}\n\nasync function rungsea(body, dom) {\n\t//Only show the loading div as the gsea is running\n\tdom.actionsDiv.style('display', 'none')\n\tdom.loadingDiv.style('display', 'block')\n\tconst data = await dofetch3('genesetEnrichment', { body })\n\tdom.loadingDiv.style('display', 'none')\n\tdom.actionsDiv.style('display', 'block')\n\treturn data\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,448 +0,0 @@
1
- import {
2
- getDefaultViolinSettings
3
- } from "./chunk-ROJ3LJLE.js";
4
- import {
5
- getDefaultScatterSettings
6
- } from "./chunk-3LYZMOLO.js";
7
- import {
8
- getDefaultBoxplotSettings
9
- } from "./chunk-5QTJUPFS.js";
10
- import {
11
- PlotBase,
12
- defaultUiLabels,
13
- fillTermWrapper,
14
- filterRxCompInit,
15
- getDefaultBarSettings,
16
- term0_term2_defaultQ
17
- } from "./chunk-WY2PGUVX.js";
18
- import {
19
- importPlot
20
- } from "./chunk-MBUQ34CF.js";
21
- import {
22
- Menu
23
- } from "./chunk-HYOEWQ5P.js";
24
- import {
25
- Tabs
26
- } from "./chunk-HBW42TDT.js";
27
- import {
28
- copyMerge,
29
- getCompInit
30
- } from "./chunk-M3J4MINX.js";
31
- import {
32
- isNumericTerm
33
- } from "./chunk-NNFAUP2I.js";
34
-
35
- // plots/summary.ts
36
- var SummaryPlot = class _SummaryPlot extends PlotBase {
37
- constructor(opts, api) {
38
- super(opts, api);
39
- this.components = {};
40
- // expected class-specific props
41
- this.chartsByType = {};
42
- this.configTermKeys = ["term", "term0", "term2"];
43
- this.type = _SummaryPlot.type;
44
- this.dom = this.getDom(opts);
45
- this.tabsData = this.getTabsData();
46
- this.chartToggles = new Tabs({ holder: this.dom.chartToggles, tabs: this.tabsData, noContent: true });
47
- this.components = {
48
- plots: {}
49
- };
50
- }
51
- static {
52
- this.type = "summary";
53
- }
54
- preApiFreeze(api) {
55
- api.getError = () => {
56
- return this.error;
57
- };
58
- }
59
- getDom(opts) {
60
- const holder = opts.holder;
61
- holder.header.style("padding", 0);
62
- const paneTitleDiv = holder.header.append("div").style("display", "inline-block").style("color", "#555").style("padding-left", "7px");
63
- return {
64
- tip: new Menu({ padding: "0px" }),
65
- holder,
66
- body: holder.body.style("white-space", "nowrap").style("overflow-x", "auto"),
67
- // will hold no data notice or the page title in multichart views
68
- errdiv: holder.body.append("div").attr("class", "sja_errorbar").style("display", "none").style("padding", "5px"),
69
- loading: holder.body.append("div").style("display", "none").style("padding", "5px").html("Loading ..."),
70
- // dom.viz will hold the rendered view
71
- viz: holder.body.append("div"),
72
- plotDivs: {},
73
- paneTitleDiv,
74
- paneTitleText: paneTitleDiv.append("div").classed("sjpp-term-header", true).style("display", "inline-block").style("vertical-align", "sub"),
75
- chartToggles: paneTitleDiv.append("div").style("display", "inline-block").style("margin-left", "10px"),
76
- localRecoverDiv: paneTitleDiv.append("div").style("display", "inline-block"),
77
- filterDiv: holder.header.append("div").style("display", "inline-block").style("zoom", 0.9)
78
- };
79
- }
80
- getTabsData() {
81
- const callback = (event, tab) => this.tabClickCallback(event, tab);
82
- return [
83
- {
84
- childType: "barchart",
85
- label: "Barchart",
86
- isVisible: () => true,
87
- disabled: () => false,
88
- getConfig: async () => {
89
- if (!this.config) return;
90
- const config = { id: this.id, childType: "barchart" };
91
- const { term, term2 } = this.config || {};
92
- if (term) {
93
- const mode = isNumericTerm(term?.term) ? "discrete" : term?.q.mode || "discrete";
94
- config.term = await this.getWrappedTermCopy(term, mode);
95
- }
96
- if (term2) {
97
- const mode = isNumericTerm(term2.term) ? "discrete" : term2.q.mode || "discrete";
98
- config.term2 = await this.getWrappedTermCopy(term2, mode);
99
- }
100
- return config;
101
- },
102
- active: true,
103
- callback
104
- },
105
- {
106
- childType: "violin",
107
- label: "Violin",
108
- disabled: () => false,
109
- isVisible: () => isNumericTerm(this.config?.term?.term) || isNumericTerm(this.config?.term2?.term),
110
- getConfig: async () => {
111
- const term = this.config?.term;
112
- const term2 = this.config.term2;
113
- let _term, _term2;
114
- this.violinContTerm = isNumericTerm(term?.term) ? "term" : "term2";
115
- if (this.violinContTerm && this.violinContTerm === "term" || term.q?.mode == "continuous") {
116
- _term = await this.getWrappedTermCopy(term, "continuous");
117
- _term2 = await this.getWrappedTermCopy(term2, "discrete");
118
- this.violinContTerm = "term";
119
- } else if (this.violinContTerm && this.violinContTerm === "term2" || term2?.q?.mode == "continuous") {
120
- _term = await this.getWrappedTermCopy(term, "discrete");
121
- _term2 = await this.getWrappedTermCopy(term2, "continuous");
122
- this.violinContTerm = "term2";
123
- } else if (term2?.q?.mode == "discrete") {
124
- _term = await this.getWrappedTermCopy(term, "discrete");
125
- _term2 = await this.getWrappedTermCopy(term2, "continuous");
126
- this.violinContTerm = "term2";
127
- } else {
128
- _term = await this.getWrappedTermCopy(term, "continuous");
129
- _term2 = await this.getWrappedTermCopy(term2, "discrete");
130
- this.violinContTerm = "term";
131
- }
132
- const config = { childType: "violin", term: _term, term2: _term2 };
133
- return config;
134
- },
135
- active: false,
136
- callback
137
- },
138
- {
139
- childType: "boxplot",
140
- label: "Boxplot",
141
- disabled: () => false,
142
- isVisible: () => isNumericTerm(this.config?.term?.term) || isNumericTerm(this.config?.term2?.term),
143
- getConfig: async () => {
144
- const _term = this.config?.term;
145
- const _term2 = this.config.term2;
146
- let termMode = "continuous", term2Mode = "discrete";
147
- this.boxContTerm = isNumericTerm(_term?.term) ? "term" : "term2";
148
- if (this.boxContTerm && this.boxContTerm === "term" || _term.q?.mode == "continuous") {
149
- termMode = "continuous";
150
- term2Mode = "discrete";
151
- this.boxContTerm = "term";
152
- } else if (this.boxContTerm && this.boxContTerm === "term2" || _term2?.q?.mode == "continuous") {
153
- termMode = "discrete";
154
- term2Mode = "continuous";
155
- this.boxContTerm = "term2";
156
- } else if (_term2?.q?.mode == "discrete") {
157
- termMode = "discrete";
158
- term2Mode = "continuous";
159
- this.boxContTerm = "term2";
160
- }
161
- const term = await this.getWrappedTermCopy(_term, termMode);
162
- const term2 = await this.getWrappedTermCopy(_term2, term2Mode);
163
- const config = {
164
- childType: "boxplot",
165
- term,
166
- term2
167
- };
168
- return config;
169
- },
170
- active: false,
171
- callback
172
- },
173
- {
174
- childType: "sampleScatter",
175
- label: "Scatter",
176
- disabled: () => false,
177
- isVisible: () => {
178
- return isNumericTerm(this.config?.term.term) && isNumericTerm(this.config?.term2?.term);
179
- },
180
- getConfig: async () => {
181
- const _term = await this.getWrappedTermCopy(this.config?.term, "continuous");
182
- const _term2 = await this.getWrappedTermCopy(this.config?.term2, "continuous");
183
- const config = {
184
- childType: "sampleScatter",
185
- term: _term,
186
- term2: _term2,
187
- groups: [],
188
- term0: this.config.term0
189
- };
190
- return config;
191
- },
192
- active: false,
193
- callback
194
- }
195
- ];
196
- }
197
- async init(appState) {
198
- const state = this.getState(appState);
199
- const config = structuredClone(state.config);
200
- this.initUi(this.opts, config);
201
- if (config?.hidePlotFilter) return;
202
- this.components.filter = await filterRxCompInit({
203
- app: this.app,
204
- vocabApi: this.app.vocabApi,
205
- parentId: this.id,
206
- holder: this.dom.filterDiv,
207
- hideLabel: true,
208
- emptyLabel: "+Add new filter",
209
- callback: (filter) => {
210
- this.app.dispatch({
211
- id: this.id,
212
- type: "plot_edit",
213
- config: { filter }
214
- });
215
- }
216
- });
217
- }
218
- reactsTo(action) {
219
- if (action.type.includes("cache_termq")) return true;
220
- if (action.type.startsWith("plot_")) {
221
- if (action.type.startsWith("plot_")) {
222
- return action.id === this.id || action.id == this.parentId;
223
- }
224
- }
225
- if (action.type.startsWith("filter")) return true;
226
- if (action.type.startsWith("cohort")) return true;
227
- if (action.type == "app_refresh") return true;
228
- return false;
229
- }
230
- getState(appState) {
231
- const config = appState.plots.find((p) => p.id === this.id);
232
- if (!config) {
233
- throw `No plot with id='${this.id}' found. Did you set this.id before this.api = getComponentApi(this)?`;
234
- }
235
- return {
236
- termfilter: appState.termfilter,
237
- config,
238
- // quick fix to skip history tracking as needed
239
- _scope_: appState._scope_
240
- };
241
- }
242
- async main() {
243
- delete this.error;
244
- this.dom.errdiv.style("display", "none").html("");
245
- this.dom.loading.style("display", "");
246
- this.config = await this.getMutableConfig();
247
- this.maySetSandboxHeader();
248
- if (!this.components.plots[this.config.childType]) {
249
- await this.setComponent(this.config);
250
- }
251
- this.dom.loading.style("display", "none");
252
- this.render();
253
- const activeTabIndex = this.tabsData.findIndex((tab) => tab.childType == this.config.childType);
254
- this.chartToggles.update(activeTabIndex);
255
- const numVisTabs = this.tabsData.filter((d) => d.isVisible()).length;
256
- if (numVisTabs > 1) this.dom.chartToggles.style("display", "inline-block");
257
- else this.dom.chartToggles.style("display", "none");
258
- }
259
- maySetSandboxHeader() {
260
- const { term, term2, headerText, assayCohortTitle } = this.config;
261
- const mainTerm = term.getTitleText?.() || term.term.name;
262
- const _headerPretext = headerText ? `${headerText} ` : "";
263
- const _headerSuffix = assayCohortTitle ? ` (${assayCohortTitle})` : "";
264
- const titleBase = mainTerm + _headerSuffix;
265
- if (term2?.type) {
266
- this.dom.paneTitleText.html(`${_headerPretext}${term2.getTitleText?.() || term2.term.name} vs ${titleBase}`);
267
- } else {
268
- this.dom.paneTitleText.html(`${_headerPretext}${titleBase}`);
269
- }
270
- }
271
- async setComponent(config) {
272
- const _ = await importPlot(config.childType, `unsupported childType='${config.childType}'`);
273
- this.dom.plotDivs[config.childType] = this.dom.viz.append("div");
274
- const componentOpts = {
275
- app: this.app,
276
- holder: this.dom.plotDivs[config.childType],
277
- id: this.id,
278
- parent: this.api
279
- };
280
- if (config.parentId) componentOpts.parentId = config.parentId;
281
- this.components.plots[config.childType] = await _.componentInit(componentOpts);
282
- }
283
- destroy() {
284
- this.dom.holder.app_div.selectAll("*").remove();
285
- this.dom.holder.app_div.remove();
286
- for (const key in this.dom) {
287
- delete this.dom[key];
288
- }
289
- }
290
- initUi(opts, config) {
291
- this.dom.paneTitleText.html(config.term.term.name);
292
- this.chartToggles.main();
293
- }
294
- async tabClickCallback(event, tab) {
295
- if (!tab || !tab.getConfig) return;
296
- let config;
297
- try {
298
- this.dom.viz.style("display", "none");
299
- this.dom.loading.style("display", "");
300
- config = await tab.getConfig();
301
- this.dom.loading.style("display", "none");
302
- this.dom.viz.style("display", "");
303
- if (config)
304
- this.app.dispatch({
305
- type: "plot_edit",
306
- id: this.id,
307
- config
308
- });
309
- } catch (e) {
310
- this.dom.loading.style("display", "none");
311
- this.error = e;
312
- this.dom.errdiv.style("display", "").html(`Error: ${e.message || e.error || e}`);
313
- }
314
- }
315
- async getWrappedTermCopy(term, mode) {
316
- if (!term) return;
317
- const tw = structuredClone(term);
318
- tw.q.mode = mode;
319
- await fillTermWrapper(tw, this.app.vocabApi);
320
- return tw;
321
- }
322
- render() {
323
- for (const childType of Object.keys(this.components.plots)) {
324
- const chart = this.components.plots[childType];
325
- if (chart.type != this.config.childType) {
326
- this.dom.plotDivs[chart.type].style("display", "none");
327
- }
328
- }
329
- this.dom.plotDivs[this.config.childType].style("display", "");
330
- }
331
- getChartImages() {
332
- const chart = this.components.plots[this.config.childType];
333
- if (chart?.getChartImages) {
334
- return chart.getChartImages();
335
- }
336
- return null;
337
- }
338
- };
339
- var summaryInit = getCompInit(SummaryPlot);
340
- var componentInit = summaryInit;
341
- async function getPlotConfig(opts, app) {
342
- if (!opts.term) throw "summary getPlotConfig: opts.term{} missing";
343
- try {
344
- opts.term = await fillTermWrapper(
345
- opts.term,
346
- app.vocabApi,
347
- opts.term.q || { geneVariant: { type: "predefined-groupset" } }
348
- );
349
- if (opts.term2)
350
- opts.term2 = await fillTermWrapper(
351
- opts.term2,
352
- app.vocabApi,
353
- opts.term2.bins || opts.term2.q ? void 0 : term0_term2_defaultQ
354
- );
355
- if (opts.term0)
356
- opts.term0 = await fillTermWrapper(
357
- opts.term0,
358
- app.vocabApi,
359
- opts.term0.bins || opts.term0.q ? void 0 : term0_term2_defaultQ
360
- );
361
- if (opts.colorTW) opts.colorTW = await fillTermWrapper(opts.colorTW, app.vocabApi);
362
- if (opts.shapeTW) opts.shapeTW = await fillTermWrapper(opts.shapeTW, app.vocabApi);
363
- if (opts.scaleDotTW) opts.scaleDotTW = await fillTermWrapper(opts.scaleDotTW, app.vocabApi);
364
- } catch (e) {
365
- if (e.stack) console.log(e.stack);
366
- throw `${e} [summary getPlotConfig()]`;
367
- }
368
- const config = {
369
- chartType: "summary",
370
- childType: "barchart",
371
- term: opts.term,
372
- groups: [],
373
- controlLabels: Object.assign({}, defaultUiLabels, app.vocabApi.termdbConfig.uiLabels || {}),
374
- //Allow hiding the plot filter when appropriate (e.g. single cell summary plots)
375
- hidePlotFilter: opts.hidePlotFilter || false,
376
- settings: {
377
- controls: {
378
- isOpen: false
379
- },
380
- common: {
381
- use_logscale: false,
382
- // flag for y-axis scale type, 0=linear, 1=log
383
- use_percentage: false
384
- // Move to barchart settings
385
- // barheight: 300, // maximum bar length
386
- // barwidth: 20, // bar thickness
387
- // barspace: 2 // space between two bars
388
- },
389
- barchart: getDefaultBarSettings(app),
390
- violin: getDefaultViolinSettings(app),
391
- boxplot: getDefaultBoxplotSettings(app),
392
- sampleScatter: getDefaultScatterSettings(opts)
393
- },
394
- mayAdjustConfig(config2, edits = {}) {
395
- return mayAdjustConfig(config2, opts, edits);
396
- }
397
- };
398
- if (config.term.term.type == "geneVariant") config.settings.barchart.colorBars = true;
399
- copyMerge(config, opts);
400
- Object.assign(config.controlLabels, app.vocabApi.termdbConfig.uiLabels || {});
401
- return config;
402
- }
403
- var discreteByContinuousPlots = /* @__PURE__ */ new Set(["violin", "boxplot"]);
404
- function mayAdjustConfig(config, opts, edits = {}) {
405
- if (edits.childType) {
406
- if (config.childType != edits.childType) throw `action.config.childType was not applied in mass store.plot_edit()`;
407
- return;
408
- }
409
- if (config.term?.q?.mode == "continuous" && config.term2?.q?.mode == "continuous") {
410
- config.childType = "sampleScatter";
411
- } else if (config.term?.term?.type == "termCollection") {
412
- if (config.term.term.memberType == "categorical") {
413
- config.childType = "barchart";
414
- } else if (config.term.term.memberType == "numeric") {
415
- if (config.childType) {
416
- if (config.childType == "barchart") {
417
- config.childType = "violin";
418
- } else {
419
- }
420
- } else {
421
- config.childType = "violin";
422
- }
423
- } else {
424
- throw new Error("config.term.term.memberType not categorical or numeric");
425
- }
426
- } else if (config.term?.q?.mode == "continuous" || config.term2?.q?.mode == "continuous") {
427
- if (!discreteByContinuousPlots.has(config.childType)) {
428
- if (opts.childType && !discreteByContinuousPlots.has(opts.childType)) {
429
- console.warn(
430
- `ignoring summary opts.childType='${opts.childType}' since it does not support plotting discrete by continuous tw's`
431
- );
432
- config.childType = "violin";
433
- } else {
434
- config.childType = opts.childType || "violin";
435
- }
436
- }
437
- } else {
438
- config.childType = "barchart";
439
- }
440
- }
441
-
442
- export {
443
- summaryInit,
444
- componentInit,
445
- getPlotConfig,
446
- mayAdjustConfig
447
- };
448
- //# sourceMappingURL=chunk-JNBJG57F.js.map