@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
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../plots/gsea/model/GseaParams.ts", "../plots/gsea/model/GSEAModel.ts", "../plots/gsea/view/GSEAControls.ts", "../plots/gsea/viewModel/GSEAViewModel.ts", "../plots/gsea/view/GSEAView.ts", "../plots/gsea/GSEA.ts"],
4
+ "sourcesContent": ["type DefaultGseaParams = {\n\tgenome: string\n}\n\ntype DapParams = {\n\torganism: string\n\tassay: string\n\tcohort: string\n}\n\nexport type ProteomeDAPGseaParams = DefaultGseaParams & {\n\tdapParams: DapParams\n\tdslabel: string\n}\n\nexport type ScctGseaParams = DefaultGseaParams & {\n\tgenes: string[]\n\tfold_change: number[]\n\tgenes_length: number\n}\n\nexport type OtherTermTypesGseaParams = DefaultGseaParams & {\n\tcacheId: string\n\tdaRequest: any\n\tgenes_length: number\n\tdslabel: string\n}\n\nexport type GseaParams = ProteomeDAPGseaParams | ScctGseaParams | OtherTermTypesGseaParams\n\nexport function isValidGseaParams(value: any): value is GseaParams {\n\treturn isProteomeDAPGseaParams(value) || isScctGseaParams(value) || isOtherTermTypesGseaParams(value)\n}\n\nexport function isProteomeDAPGseaParams(value: unknown): value is ProteomeDAPGseaParams {\n\tif (!value || typeof value !== 'object') return false\n\tconst p = value as Record<string, unknown>\n \tconst d: any = p.dapParams as DapParams\n \treturn (\n \t\ttypeof p.genome === 'string' &&\n \t\ttypeof p.dslabel === 'string' &&\n \t\td &&\n \t\ttypeof d.organism === 'string' &&\n \t\ttypeof d.assay === 'string' &&\n \t\ttypeof d.cohort === 'string'\n \t)\n}\n\nexport function isScctGseaParams(value: unknown): value is ScctGseaParams {\n\tif (!value || typeof value !== 'object') return false\n\tconst p = value as Record<string, unknown>\n\treturn (\n\t\ttypeof p.genome === 'string' &&\n\t\tArray.isArray(p.genes) &&\n\t\tp.genes.every(g => typeof g === 'string') &&\n\t\tArray.isArray(p.fold_change) &&\n\t\tp.fold_change.every(fc => typeof fc === 'number') &&\n\t\ttypeof p.genes_length === 'number'\n\t)\n}\n\nexport function isOtherTermTypesGseaParams(value: unknown): value is OtherTermTypesGseaParams {\n\tif (!value || typeof value !== 'object') return false\n\tconst p = value as Record<string, unknown>\n\treturn (\n\t\ttypeof p.genome === 'string' &&\n\t\ttypeof p.cacheId === 'string' &&\n\t\t'daRequest' in p &&\n\t\ttypeof p.genes_length === 'number' &&\n\t\ttypeof p.dslabel === 'string'\n\t)\n}\n", "import type { GSEA } from '../GSEA'\nimport { type GseaParams, isProteomeDAPGseaParams, isScctGseaParams, isOtherTermTypesGseaParams } from './GseaParams'\nimport { PROTEOME_DAP, SINGLECELL_CELLTYPE } from '#types'\nimport type { AppApi } from '#rx'\nimport { dofetch3 } from '#common/dofetch'\nimport { VolcanoModel } from '#plots/volcano/model/VolcanoModel.ts'\nimport { getDefaultVolcanoSettings } from '#plots/volcano/settings/defaults.ts'\nimport type { GenesetEnrichmentRequest } from '#types'\n\nexport class GSEAModel {\n\tgsea: GSEA\n\tapp: AppApi\n\ttermType!: string\n\n\tconstructor(gsea: GSEA) {\n\t\tthis.gsea = gsea\n\t\tthis.app = gsea.app\n\t}\n\n\tasync getGseaParams(_params: any, state: any, config: any): Promise<GseaParams> {\n\t\tif (!this.termType) this.termType = config.termType\n\t\tconst params = structuredClone(_params)\n\t\tif (!params.genome) params.genome = state.genome\n\t\tif (!params.dslabel) params.dslabel = state.dslabel\n\n\t\tif (this.termType === PROTEOME_DAP) this.getProteomeDAPParams(params)\n\t\telse if (this.termType === SINGLECELL_CELLTYPE) await this.getScctParams(params, state, config)\n\t\telse await this.getOtherTermTypesParams(params, config)\n\t\treturn params\n\t}\n\n\tgetProteomeDAPParams(params: any): void {\n\t\tif (isProteomeDAPGseaParams(params)) return\n\t\tif (!params.dapParams) params.dapParams = this.gsea.state.config.proteomeDetails\n\t}\n\n\tasync getScctParams(params: any, state, config): Promise<void> {\n\t\tif (isScctGseaParams(params)) return\n\n\t\t// SCCT has no DA cache \u2014 fetch the full DE gene list for the\n\t\t// chosen cluster (omit volcanoRender so the route returns the\n\t\t// raw gene array, not the threshold-passing `dots` subset)\n\t\t// and pass genes + fold_change inline. `render_gsea` takes\n\t\t// this path when neither cacheId nor dapParams is set.\n\n\t\tlet response\n\t\ttry {\n\t\t\tresponse = await this.getDEGenes(state, config)\n\t\t\tif (response.error) throw new Error(response.error)\n\t\t\tif (!Array.isArray(response.data) || response.data.length === 0) {\n\t\t\t\tthrow new Error('No DE genes returned for this cluster')\n\t\t\t}\n\t\t} catch (e: any) {\n\t\t\tif (e instanceof Error) console.error(e.message || e)\n\t\t\telse if (e.stack) console.log(e.stack)\n\t\t\tthrow new Error(e.message || e)\n\t\t}\n\n\t\t//Process returned response into params\n\t\tconst genes: string[] = []\n\t\tconst fold_change: number[] = []\n\t\tfor (const g of response.data) {\n\t\t\tgenes.push(g.gene_name)\n\t\t\tfold_change.push(g.fold_change)\n\t\t}\n\t\tparams.genes = genes\n\t\tparams.fold_change = fold_change\n\t\tparams.genes_length = genes.length\n\t}\n\n\tasync getDEGenes(state, config): Promise<any> {\n\t\tconst body = {\n\t\t\tgenome: state.genome,\n\t\t\tdslabel: state.dslabel,\n\t\t\tsample: config.sample,\n\t\t\ttermId: config.termId,\n\t\t\tcategoryName: config.categoryName\n\t\t}\n\t\treturn await dofetch3('termdb/singlecellDEgenes', { body })\n\t}\n\n\tasync getOtherTermTypesParams(params: any, config): Promise<void> {\n\t\tif (isOtherTermTypesGseaParams(params)) return\n\t\tlet response\n\t\ttry {\n\t\t\tresponse = await this.getCachedResponse(config)\n\t\t\tif (!response?.data?.cacheId || response.error) {\n\t\t\t\tthrow new Error(response.error || 'No DE cacheId returned from volcano model')\n\t\t\t}\n\t\t} catch (e: any) {\n\t\t\tif (e instanceof Error) console.error(e.message || e)\n\t\t\telse if (e.stack) console.log(e.stack)\n\t\t\tthrow new Error(e.message || e)\n\t\t}\n\n\t\tparams.cacheId = response.data.cacheId\n\t\tparams.daRequest = response.daRequest\n\t\tparams.genes_length = response.data.totalRows\n\t}\n\n\tasync getCachedResponse(config): Promise<any> {\n\t\tconst volcanoSettings = config.settings?.volcano || getDefaultVolcanoSettings({}, { termType: config.termType })\n\t\tconst model = new VolcanoModel(this.gsea, config.termType)\n\t\treturn await model.getData(config, volcanoSettings)\n\t}\n\n\tasync runEnrichment(body: GenesetEnrichmentRequest): Promise<any> {\n\t\tthis.toggleLoading(true)\n\t\ttry {\n\t\t\treturn await dofetch3('genesetEnrichment', { body })\n\t\t} finally {\n\t\t\tthis.toggleLoading(false)\n\t\t}\n\t}\n\n\ttoggleLoading(isLoading: boolean): void {\n\t\tthis.gsea.dom.actionsDiv.style('display', isLoading ? 'none' : 'block')\n\t\tthis.gsea.dom.loadingDiv.style('display', isLoading ? 'block' : 'none')\n\t}\n}\n", "import type { GSEA } from '../GSEA'\nimport { controlsInit } from '#plots/controls.js'\n\nexport async function setControls(controlsDiv, gsea: GSEA) {\n\tconst inputs: any = [\n\t\t{\n\t\t\tlabel: 'Minimum Gene Set Size Filter Cutoff',\n\t\t\ttype: 'number',\n\t\t\tchartType: 'gsea',\n\t\t\tsettingsKey: 'min_gene_set_size_cutoff',\n\t\t\ttitle: 'Minimum Gene set size cutoff. Helps in filtering out small gene sets',\n\t\t\tmin: 0\n\t\t},\n\t\t{\n\t\t\tlabel: 'Maximum Gene Set Size Filter Cutoff',\n\t\t\ttype: 'number',\n\t\t\tchartType: 'gsea',\n\t\t\tsettingsKey: 'max_gene_set_size_cutoff',\n\t\t\ttitle: 'Maximum Gene set size cutoff. Helps in filtering out large gene sets',\n\t\t\tmax: 25000\n\t\t},\n\t\t{\n\t\t\tlabel: 'Filter Non-coding Genes',\n\t\t\ttype: 'checkbox',\n\t\t\tchartType: 'gsea',\n\t\t\tsettingsKey: 'filter_non_coding_genes',\n\t\t\ttitle: 'Filter non-coding genes',\n\t\t\tboxLabel: ''\n\t\t},\n\t\t{\n\t\t\tlabel: 'FDR or Top Gene Sets',\n\t\t\ttype: 'radio',\n\t\t\tchartType: 'gsea',\n\t\t\tsettingsKey: 'fdr_or_top',\n\t\t\ttitle: 'Toggle between FDR cutoff and top gene sets in ascending order of FDR',\n\t\t\toptions: [\n\t\t\t\t{ label: 'FDR', value: 'fdr' },\n\t\t\t\t{ label: 'Top Gene Sets', value: 'top' }\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\tlabel: 'GSEA method',\n\t\t\ttype: 'radio',\n\t\t\tchartType: 'gsea',\n\t\t\tsettingsKey: 'gsea_method',\n\t\t\ttitle: 'Toggle between blitzgsea and CERNO method',\n\t\t\toptions: [\n\t\t\t\t{ label: 'blitzgsea', value: 'blitzgsea' },\n\t\t\t\t{ label: 'CERNO', value: 'cerno' }\n\t\t\t],\n\t\t\tgetDisplayStyle: () => {\n\t\t\t\treturn gsea.testEnabled ? '' : 'none'\n\t\t\t}\n\t\t},\n\n\t\t{\n\t\t\tlabel: 'Number of Permutations',\n\t\t\ttype: 'number',\n\t\t\tchartType: 'gsea',\n\t\t\tsettingsKey: 'num_permutations',\n\t\t\ttitle: 'Number of permutations to be used for GSEA. Higher number increases accuracy but also compute time.',\n\t\t\tmin: 0,\n\t\t\tmax: 40000, // Setting it to pretty lenient limit for testing\n\t\t\tgetDisplayStyle: plot => {\n\t\t\t\tconst settings = plot.settings.gsea\n\t\t\t\treturn settings.gsea_method === 'blitzgsea' ? '' : 'none'\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tlabel: 'FDR Filter Cutoff (Linear Scale)',\n\t\t\ttype: 'number',\n\t\t\tchartType: 'gsea',\n\t\t\tsettingsKey: 'fdr_cutoff',\n\t\t\ttitle: 'P-value significance',\n\t\t\tmin: 0,\n\t\t\tmax: 1,\n\t\t\tgetDisplayStyle: plot => {\n\t\t\t\tconst settings = plot.settings.gsea\n\t\t\t\treturn settings.fdr_or_top == 'fdr' ? '' : 'none'\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tlabel: 'Number of top Gene Sets by FDR',\n\t\t\ttype: 'number',\n\t\t\tchartType: 'gsea',\n\t\t\tsettingsKey: 'top_genesets',\n\t\t\ttitle: 'Number of top gene sets to be displayed in ascending order of FDR',\n\t\t\tmin: 0,\n\t\t\tmax: 5000,\n\t\t\tgetDisplayStyle: plot => {\n\t\t\t\tconst settings = plot.settings.gsea\n\t\t\t\treturn settings.fdr_or_top == 'top' ? '' : 'none'\n\t\t\t}\n\t\t}\n\t]\n\n\tgsea.components.controls = await controlsInit({\n\t\tapp: gsea.app,\n\t\tid: gsea.id,\n\t\tholder: controlsDiv,\n\t\tinputs: inputs\n\t})\n\n\tgsea.components.controls.on('downloadClick.gsea', () => {\n\t\tif (!gsea.imageUrl) return alert('No image to download')\n\t\tconst dataUrl = gsea.imageUrl\n\t\tconst downloadImgName = `${gsea.state.config.gsea_params.geneset_name || ''}_GSEA_IMG`\n\t\tconst a = document.createElement('a')\n\t\tdocument.body.appendChild(a)\n\n\t\ta.addEventListener(\n\t\t\t'click',\n\t\t\t() => {\n\t\t\t\t// Download the image\n\t\t\t\ta.download = downloadImgName + '.png'\n\t\t\t\ta.href = dataUrl\n\t\t\t\tdocument.body.removeChild(a)\n\t\t\t},\n\t\t\tfalse\n\t\t)\n\t\ta.click()\n\t})\n}\n", "import type { GSEA } from '../GSEA'\nimport { roundValueAuto } from '#shared/roundValue.js'\n\ntype PathwayOpt = { label: string; value: string; selected?: boolean }\n\ntype GseaResultEntry = {\n\tgeneset_size: number\n\tleading_edge: string\n\tfdr?: number\n\tpvalue?: number\n\tnes?: number\n\tauc?: number\n\tes?: number\n}\n\ntype RankedDE = {\n\tgenes: string[]\n\tfold_change: number[]\n}\n\nexport class GSEAViewModel {\n\tgsea: GSEA\n\t//Initial pathway opts from ds. Do not mutate this directly\n\tinitPathwayOpts: PathwayOpt[]\n\trankedDE: RankedDE | null = null\n\trankedDEKey = ''\n\tviewData!: any\n\n\tconstructor(gsea: GSEA) {\n\t\tthis.gsea = gsea\n\t\tthis.initPathwayOpts = structuredClone(gsea.app.opts.genome.termdbs.msigdb.analysisGenesetGroups)\n\t}\n\n\tasync processData() {\n\t\tconst settings = this.gsea.state.config.settings.gsea\n\t\tconst viewData: any = {\n\t\t\tpathwayOpts: this.getPathwayOpts(settings)\n\t\t}\n\n\t\tif (!settings.pathway || settings.pathway == '-') {\n\t\t\tthis.viewData = viewData\n\t\t\treturn\n\t\t}\n\n\t\tlet outputMap: Record<string, GseaResultEntry>\n\t\ttry {\n\t\t\tconst output = await this.gsea.model.runEnrichment(this.getRequestBody(settings))\n\t\t\tif (output?.error) throw Object.assign(new Error(output.error), { code: output.code })\n\t\t\toutputMap = this.getOutputMap(output, settings.gsea_method)\n\t\t} catch (e: any) {\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)) {\n\t\t\t\t\tawait this.processData()\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tthis.viewData = viewData\n\t\t\t\treturn\n\t\t\t}\n\t\t\tviewData.error = /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\tthis.viewData = viewData\n\t\t\treturn\n\t\t}\n\n\t\tviewData.statsData = this.getStatsData(outputMap)\n\t\tviewData.tableData = this.getTableData(outputMap, settings)\n\t\tviewData.selectedRows = this.getSelectedRows(viewData.tableData.rowItems)\n\t\tviewData.showHighlightButton =\n\t\t\tthis.gsea.state.config.chartType == 'differentialAnalysis' &&\n\t\t\tthis.gsea.state.config.gsea_params?.geneset_name != null\n\n\t\tconst selectedGeneset = this.gsea.state.config.gsea_params?.geneset_name\n\t\tif (selectedGeneset) {\n\t\t\tif (settings.gsea_method == 'blitzgsea') {\n\t\t\t\ttry {\n\t\t\t\t\tviewData.detailImage = await this.getDetailImage(settings, selectedGeneset)\n\t\t\t\t} catch (e: any) {\n\t\t\t\t\tconst msg = String(e?.message || e)\n\t\t\t\t\tif (e?.code === 'CACHE_BUSY') {\n\t\t\t\t\t\tif (window.confirm(msg)) {\n\t\t\t\t\t\t\tawait this.processData()\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tviewData.detailError = /daCacheMissing|ENOENT|no such file/i.test(msg)\n\t\t\t\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\t\t\t: msg\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tviewData.cernoPlotData = await this.getCernoPlotData(outputMap, selectedGeneset)\n\t\t\t}\n\t\t}\n\n\t\tthis.viewData = viewData\n\t}\n\n\tgetPathwayOpts(settings) {\n\t\t//Do not mutate the initial array\n\t\tconst pathwayOpts = structuredClone(this.initPathwayOpts)\n\t\tif (this.gsea.testEnabled && settings.gsea_method == 'blitzgsea') {\n\t\t\tpathwayOpts.push(\n\t\t\t\t{ label: 'REACTOME (blitzgsea)', value: 'REACTOME--blitzgsea' },\n\t\t\t\t{ label: 'KEGG (blitzgsea)', value: 'KEGG--blitzgsea' },\n\t\t\t\t{ label: 'WikiPathways (blitzgsea)', value: 'WikiPathways--blitzgsea' }\n\t\t\t)\n\t\t}\n\t\tif (settings.pathway) {\n\t\t\t//Note: in the ds file, `{ label: '-', value: '-' }` is analysisGenesetGroups[0]\n\t\t\tpathwayOpts.shift()\n\t\t\tconst opt = pathwayOpts.find(opt => opt.value == settings.pathway)\n\t\t\tif (!opt) console.warn(`Selected pathway ${settings.pathway} not found in pathway options.`)\n\t\t\telse opt.selected = true\n\t\t}\n\t\treturn pathwayOpts\n\t}\n\n\tgetRequestBody(settings, geneset_name?: string) {\n\t\tconst p = this.gsea.gsea_params\n\t\tconst body: any = {\n\t\t\tgenome: p.genome,\n\t\t\tgeneSetGroup: settings.pathway,\n\t\t\tfilter_non_coding_genes: settings.filter_non_coding_genes,\n\t\t\tmethod: settings.gsea_method\n\t\t}\n\t\tif (p.cacheId) {\n\t\t\tbody.cacheId = p.cacheId\n\t\t\tif (p.daRequest) body.daRequest = p.daRequest\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 (settings.gsea_method == 'blitzgsea') {\n\t\t\tbody.num_permutations = settings.num_permutations\n\t\t}\n\t\tif (geneset_name) body.geneset_name = geneset_name\n\t\treturn body\n\t}\n\n\tgetOutputMap(output: any, method: string): Record<string, GseaResultEntry> {\n\t\tif (method == 'blitzgsea') {\n\t\t\tif (!output?.data || typeof output.data != 'object') throw new Error('Invalid blitzgsea response')\n\t\t\treturn output.data\n\t\t}\n\n\t\tif (output?.data && !Array.isArray(output.data) && !output.data.genes && !output.data.fold_change) {\n\t\t\treturn output.data\n\t\t}\n\t\tif (output && typeof output == 'object' && !Array.isArray(output)) return output\n\t\tthrow new Error('Invalid cerno response')\n\t}\n\n\tgetStatsData(outputMap: Record<string, GseaResultEntry>) {\n\t\treturn [{ label: 'Gene sets analyzed', value: Object.keys(outputMap).length }]\n\t}\n\n\tgetTableData(outputMap: Record<string, GseaResultEntry>, settings) {\n\t\tconst entries = Object.entries(outputMap).map(([genesetName, result]) => ({ genesetName, result }))\n\t\tconst rowItems: any[] = []\n\n\t\tif (settings.fdr_or_top == 'top') {\n\t\t\tentries.sort((a, b) => Number(a.result.fdr ?? Infinity) - Number(b.result.fdr ?? Infinity))\n\t\t\tfor (let index = 0; index < Math.min(settings.top_genesets, entries.length); index++) {\n\t\t\t\tconst item = entries[index]\n\t\t\t\tif (this.withinSizeCutoff(item.result, settings)) rowItems.push(this.makeRowItem(item, settings.gsea_method))\n\t\t\t}\n\t\t} else {\n\t\t\tfor (const item of entries) {\n\t\t\t\tif (!this.withinSizeCutoff(item.result, settings)) continue\n\t\t\t\tif (Number(item.result.fdr ?? Infinity) > settings.fdr_cutoff) continue\n\t\t\t\trowItems.push(this.makeRowItem(item, settings.gsea_method))\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tcolumns: this.getTableColumns(settings.gsea_method),\n\t\t\trows: rowItems.map(item => item.row),\n\t\t\trowItems\n\t\t}\n\t}\n\n\twithinSizeCutoff(result: GseaResultEntry, settings) {\n\t\treturn (\n\t\t\tsettings.max_gene_set_size_cutoff >= result.geneset_size &&\n\t\t\tsettings.min_gene_set_size_cutoff <= result.geneset_size\n\t\t)\n\t}\n\n\tmakeRowItem(item: { genesetName: string; result: GseaResultEntry }, method: string) {\n\t\tconst pvalue = item.result.pvalue != null ? roundValueAuto(item.result.pvalue) : item.result.pvalue\n\t\tconst fdr = item.result.fdr != null ? roundValueAuto(item.result.fdr) : item.result.fdr\n\t\tconst leadingEdge = item.result.leading_edge\n\t\tconst genes = leadingEdge ? leadingEdge.split(',').map(gene => gene.trim()).filter(Boolean) : []\n\n\t\tif (method == 'blitzgsea') {\n\t\t\tconst nes = item.result.nes != null ? roundValueAuto(item.result.nes) : item.result.nes\n\t\t\treturn {\n\t\t\t\tgenesetName: item.genesetName,\n\t\t\t\tgenes,\n\t\t\t\trow: [\n\t\t\t\t\t{ value: item.genesetName },\n\t\t\t\t\t{ value: nes },\n\t\t\t\t\t{ value: item.result.geneset_size },\n\t\t\t\t\t{ value: pvalue },\n\t\t\t\t\t{ value: fdr },\n\t\t\t\t\t{ value: leadingEdge }\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\n\t\tconst auc = item.result.auc != null ? roundValueAuto(item.result.auc) : item.result.auc\n\t\tconst es = item.result.es != null ? roundValueAuto(item.result.es) : item.result.es\n\t\treturn {\n\t\t\tgenesetName: item.genesetName,\n\t\t\tgenes,\n\t\t\trow: [\n\t\t\t\t{ value: item.genesetName },\n\t\t\t\t{ value: auc },\n\t\t\t\t{ value: es },\n\t\t\t\t{ value: item.result.geneset_size },\n\t\t\t\t{ value: pvalue },\n\t\t\t\t{ value: fdr },\n\t\t\t\t{ value: leadingEdge }\n\t\t\t]\n\t\t}\n\t}\n\n\tgetTableColumns(method: string) {\n\t\tif (method == 'blitzgsea') {\n\t\t\treturn [\n\t\t\t\t{ label: 'Gene Set', sortable: true },\n\t\t\t\t{ label: 'Normalized Enrichment Score', barplot: { axisWidth: 200 }, sortable: true },\n\t\t\t\t{ label: 'Gene Set Size', sortable: true },\n\t\t\t\t{ label: 'P value', sortable: true },\n\t\t\t\t{ label: 'FDR', sortable: true },\n\t\t\t\t{ label: 'Leading Edge' }\n\t\t\t]\n\t\t}\n\n\t\treturn [\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}\n\n\tgetSelectedRows(rowItems: any[]) {\n\t\tconst selectedGeneset = this.gsea.state.config.gsea_params?.geneset_name\n\t\tconst selectedIndex = rowItems.findIndex(item => item.genesetName == selectedGeneset)\n\t\treturn selectedIndex > -1 ? [selectedIndex] : []\n\t}\n\n\tasync getDetailImage(settings, genesetName: string) {\n\t\tconst image = await this.gsea.model.runEnrichment(this.getRequestBody(settings, genesetName))\n\t\tif (image?.error) throw Object.assign(new Error(image.error), { code: image.code })\n\n\t\tif (this.gsea.imageUrl) URL.revokeObjectURL(this.gsea.imageUrl)\n\t\tthis.gsea.imageUrl = URL.createObjectURL(image)\n\t\treturn {\n\t\t\tsrc: this.gsea.imageUrl,\n\t\t\twidth: 600,\n\t\t\theight: 400\n\t\t}\n\t}\n\n\tasync getCernoPlotData(outputMap: Record<string, GseaResultEntry>, genesetName: string) {\n\t\tconst selected = outputMap[genesetName]\n\t\tif (!selected) throw new Error(`${genesetName} not found`)\n\n\t\tconst rankedDE = await this.getRankedDE()\n\t\tconst rankedGenes = rankedDE.genes.map((gene, index) => ({ gene, fold_change: rankedDE.fold_change[index] }))\n\t\trankedGenes.sort((a, b) => b.fold_change - a.fold_change)\n\n\t\treturn {\n\t\t\tauc: selected.auc,\n\t\t\tgenesetName,\n\t\t\tleadingEdgeGenes: selected.leading_edge.split(',').map(gene => gene.trim()).filter(Boolean),\n\t\t\trankedGenes\n\t\t}\n\t}\n\n\tasync getRankedDE(): Promise<RankedDE> {\n\t\tconst cacheKey = this.getRankedDECacheKey()\n\t\tif (this.rankedDE && this.rankedDEKey == cacheKey) return this.rankedDE\n\n\t\tif (!this.gsea.gsea_params.cacheId && !this.gsea.gsea_params.dapParams) {\n\t\t\tconst rankedDE = {\n\t\t\t\tgenes: this.gsea.gsea_params.genes,\n\t\t\t\tfold_change: this.gsea.gsea_params.fold_change\n\t\t\t}\n\t\t\tthis.rankedDE = rankedDE\n\t\t\tthis.rankedDEKey = cacheKey\n\t\t\treturn rankedDE\n\t\t}\n\n\t\tconst response = await this.gsea.model.runEnrichment({\n\t\t\tgenome: this.gsea.gsea_params.genome,\n\t\t\tdslabel: this.gsea.gsea_params.dslabel,\n\t\t\tfetchDE: true,\n\t\t\tgeneSetGroup: '-',\n\t\t\tfilter_non_coding_genes: false,\n\t\t\tmethod: 'cerno',\n\t\t\t...(this.gsea.gsea_params.cacheId\n\t\t\t\t? {\n\t\t\t\t\tcacheId: this.gsea.gsea_params.cacheId,\n\t\t\t\t\tdaRequest: this.gsea.gsea_params.daRequest\n\t\t\t\t}\n\t\t\t\t: { dapParams: this.gsea.gsea_params.dapParams })\n\t\t})\n\t\tif (response?.error) throw Object.assign(new Error(response.error), { code: response.code })\n\n\t\tconst rankedDE = response.data as RankedDE\n\t\tthis.rankedDE = rankedDE\n\t\tthis.rankedDEKey = cacheKey\n\t\treturn rankedDE\n\t}\n\n\tgetRankedDECacheKey() {\n\t\tif (this.gsea.gsea_params.cacheId) return `cache:${this.gsea.gsea_params.cacheId}`\n\t\tif (this.gsea.gsea_params.dapParams) return `dap:${JSON.stringify(this.gsea.gsea_params.dapParams)}`\n\t\tconst genes = this.gsea.gsea_params.genes || []\n\t\treturn `inline:${genes.length}:${genes[0] || ''}:${genes[genes.length - 1] || ''}`\n\t}\n}\n", "import type { GSEA } from '../GSEA'\nimport * as d3axis from 'd3-axis'\nimport { scaleLinear } from 'd3-scale'\nimport { renderTable, table2col, axisstyle, sayerror } from '#dom'\nimport { roundValueAuto } from '#shared/roundValue.js'\n\nexport class GSEAView {\n\tgsea: GSEA\n\tdom: any\n\tpathwayDropDown: any\n\n\tconstructor(gsea: GSEA) {\n\t\tthis.gsea = gsea\n\t\tthis.dom = gsea.dom\n\t}\n\n\tinitRender() {\n\t\tthis.renderActions()\n\t}\n\n\trenderActions() {\n\t\tthis.dom.actionsDiv\n\t\t\t.append('span')\n\t\t\t.attr('data-testid', 'sjpp-gsea-pathway')\n\t\t\t.style('margin-right', '10px')\n\t\t\t.style('display', 'inline-block')\n\t\t\t.text('Select a gene set group:')\n\n\t\tthis.pathwayDropDown = this.dom.actionsDiv\n\t\t\t.append('select')\n\t\t\t.style('display', 'inline-block')\n\t\t\t.on('change', async () => {\n\t\t\t\tconst value = this.pathwayDropDown.node().value\n\t\t\t\tconst settings = structuredClone(this.gsea.state.config.settings.gsea)\n\t\t\t\tsettings.pathway = value\n\t\t\t\tawait this.gsea.app.dispatch({\n\t\t\t\t\ttype: 'plot_edit',\n\t\t\t\t\tid: this.gsea.id,\n\t\t\t\t\tconfig: {\n\t\t\t\t\t\t//Need to clear the gsea_params completely\n\t\t\t\t\t\tgsea_params: {\n\t\t\t\t\t\t\tgeneset_name: null,\n\t\t\t\t\t\t\tpathway: value\n\t\t\t\t\t\t},\n\t\t\t\t\t\thighlightGenes: [],\n\t\t\t\t\t\tsettings: {\n\t\t\t\t\t\t\tgsea: settings\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n\n\tupdate() {\n\t\tconst viewData = this.gsea.viewModel.viewData\n\t\tthis.renderPathwayOptions(viewData.pathwayOpts)\n\n\t\tthis.dom.detailsDiv.selectAll('*').remove()\n\t\tthis.dom.holder.selectAll('*').remove()\n\t\tthis.dom.tableDiv.selectAll('*').remove()\n\n\t\tif (viewData.error) {\n\t\t\tsayerror(this.dom.holder, viewData.error)\n\t\t\treturn\n\t\t}\n\n\t\tif (!viewData.tableData) return\n\n\t\tthis.renderStats(viewData.statsData)\n\t\tif (viewData.detailImage) this.renderImage(viewData.detailImage)\n\t\tif (viewData.cernoPlotData) this.renderCernoPlot(viewData.cernoPlotData)\n\t\tif (viewData.detailError) sayerror(this.dom.holder, viewData.detailError)\n\t\tif (viewData.showHighlightButton) this.renderHighlightButton()\n\t\tthis.renderResultsTable(viewData)\n\t}\n\n\trenderPathwayOptions(pathwayOpts) {\n\t\tthis.pathwayDropDown.selectAll('option').remove()\n\t\tthis.pathwayDropDown\n\t\t\t.selectAll('option')\n\t\t\t.data(pathwayOpts)\n\t\t\t.enter()\n\t\t\t.append('option')\n\t\t\t.text(d => d.label)\n\t\t\t.property('value', d => d.value)\n\t\t\t.property('selected', d => d.selected)\n\t}\n\n\trenderStats(statsData) {\n\t\tconst tableStats = table2col({ holder: this.dom.detailsDiv.attr('data-testid', 'sjpp-gsea-stats') })\n\t\tconst [, countHeader] = tableStats.addRow()\n\t\tcountHeader.style('text-align', 'center').style('font-size', '0.8em').style('opacity', '0.8').text('COUNT')\n\n\t\tfor (const row of statsData) {\n\t\t\tconst [labelCell, valueCell] = tableStats.addRow()\n\t\t\tlabelCell.text(row.label)\n\t\t\tvalueCell.style('text-align', 'end').text(row.value)\n\t\t}\n\t}\n\n\trenderImage(detailImage) {\n\t\tthis.dom.holder.append('img').attr('width', detailImage.width).attr('height', detailImage.height).attr('src', detailImage.src)\n\t}\n\n\trenderHighlightButton() {\n\t\tthis.dom.detailsDiv\n\t\t\t.append('button')\n\t\t\t.style('margin-left', '10px')\n\t\t\t.style('display', 'block')\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\tthis.gsea.app.dispatch({\n\t\t\t\t\ttype: 'plot_edit',\n\t\t\t\t\tid: this.gsea.id,\n\t\t\t\t\tconfig: {\n\t\t\t\t\t\tchildType: 'volcano',\n\t\t\t\t\t\thighlightedData: this.gsea.state.config.highlightGenes\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n\n\trenderResultsTable(viewData) {\n\t\tconst tableDiv = this.dom.tableDiv.append('div')\n\t\trenderTable({\n\t\t\tdownload: {\n\t\t\t\tfileName: this.gsea.state.config.downloadFilename || ''\n\t\t\t},\n\t\t\tcolumns: viewData.tableData.columns,\n\t\t\trows: viewData.tableData.rows,\n\t\t\tdiv: tableDiv,\n\t\t\tshowLines: true,\n\t\t\tmaxHeight: '30vh',\n\t\t\tsingleMode: true,\n\t\t\tresize: true,\n\t\t\theader: { allowSort: true },\n\t\t\tselectedRows: viewData.selectedRows,\n\t\t\tnoButtonCallback: async index => {\n\t\t\t\tconst rowItem = viewData.tableData.rowItems[index]\n\t\t\t\tconst config: any = {\n\t\t\t\t\tgsea_params: {\n\t\t\t\t\t\tgeneset_name: rowItem.genesetName\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (this.gsea.state.config.chartType == 'differentialAnalysis' && rowItem.genes.length) {\n\t\t\t\t\tconfig.highlightGenes = rowItem.genes\n\t\t\t\t}\n\t\t\t\tawait this.gsea.app.dispatch({\n\t\t\t\t\ttype: 'plot_edit',\n\t\t\t\t\tid: this.gsea.id,\n\t\t\t\t\tconfig\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\n\trenderCernoPlot(cernoPlotData) {\n\t\tconst holder = this.dom.holder\n\t\tconst svgWidth = 400\n\t\tconst svgHeight = 400\n\t\tconst svg = holder.append('svg').attr('width', svgWidth).attr('height', svgHeight)\n\t\tconst topPad = 20\n\t\tconst rightPad = 5\n\t\tconst xPad = 50\n\t\tconst yPad = 100\n\t\tconst yAxis = svg.append('g')\n\t\tconst xAxis = svg.append('g')\n\n\t\tconst xScale = scaleLinear().domain([0, cernoPlotData.rankedGenes.length]).range([xPad, svgWidth - rightPad])\n\t\tconst yScale = scaleLinear().domain([100, 0]).range([topPad, svgHeight - yPad])\n\n\t\tyAxis.attr('transform', `translate(${xPad},0)`)\n\t\txAxis.attr('transform', `translate(0,${svgHeight - yPad})`)\n\n\t\tsvg\n\t\t\t.append('text')\n\t\t\t.text('Gene list')\n\t\t\t.attr('fill', 'black')\n\t\t\t.attr('text-anchor', 'start')\n\t\t\t.attr('transform', `translate(${xScale(cernoPlotData.rankedGenes.length / 3)},${svgHeight - yPad + 2 * topPad})`)\n\n\t\tsvg\n\t\t\t.append('text')\n\t\t\t.text('Percentage of gene set')\n\t\t\t.attr('fill', 'black')\n\t\t\t.attr('text-anchor', 'middle')\n\t\t\t.attr('y', xPad / 2)\n\t\t\t.attr('x', -svgWidth / 2.5)\n\t\t\t.attr('transform', 'rotate(-90)')\n\n\t\tlet fontSize = 30\n\t\tconst title = svg\n\t\t\t.append('text')\n\t\t\t.text(cernoPlotData.genesetName)\n\t\t\t.attr('fill', 'black')\n\t\t\t.attr('text-anchor', 'start')\n\t\t\t.attr('font-size', `${fontSize}px`)\n\t\t\t.attr('transform', `translate(${xPad},${topPad / 2})`)\n\n\t\tlet titleBox = title.node().getBBox()\n\t\twhile (titleBox.width > svgWidth - xPad || titleBox.height > (topPad * 3.5) / 5) {\n\t\t\tfontSize -= 1\n\t\t\ttitle.node().setAttribute('font-size', `${fontSize}px`)\n\t\t\ttitleBox = title.node().getBBox()\n\t\t}\n\n\t\tif (typeof cernoPlotData.auc === 'number') {\n\t\t\tconst aucPos =\n\t\t\t\tcernoPlotData.auc >= 0.5\n\t\t\t\t\t? `${xScale((cernoPlotData.rankedGenes.length * 3) / 3.5)},${svgHeight - yPad * 1.5}`\n\t\t\t\t\t: `${xScale((cernoPlotData.rankedGenes.length * 0.8) / 4.5)},${svgHeight - yPad * 3}`\n\t\t\tsvg\n\t\t\t\t.append('text')\n\t\t\t\t.text(`AUC=${roundValueAuto(cernoPlotData.auc)}`)\n\t\t\t\t.attr('fill', 'black')\n\t\t\t\t.attr('text-anchor', 'middle')\n\t\t\t\t.attr('transform', `translate(${aucPos})`)\n\t\t}\n\n\t\taxisstyle({\n\t\t\taxis: yAxis.call(d3axis.axisLeft(yScale)),\n\t\t\tcolor: 'black',\n\t\t\tshowline: true,\n\t\t\tfontsize: '10'\n\t\t})\n\t\taxisstyle({\n\t\t\taxis: xAxis.call(d3axis.axisBottom(xScale)),\n\t\t\tcolor: 'black',\n\t\t\tshowline: true,\n\t\t\tfontsize: '10'\n\t\t})\n\n\t\tconst hitGenes = new Set(cernoPlotData.leadingEdgeGenes)\n\t\tconst yIncrement = 100 / Math.max(hitGenes.size, 1)\n\t\tconst lines = svg.append('g')\n\t\tlet yIter = 100\n\t\tfor (let index = 0; index < cernoPlotData.rankedGenes.length; index++) {\n\t\t\tconst rankedGene = cernoPlotData.rankedGenes[index]\n\t\t\tconst yOld = yIter\n\t\t\tif (hitGenes.has(rankedGene.gene)) {\n\t\t\t\tyIter -= yIncrement\n\t\t\t\tlines\n\t\t\t\t\t.append('line')\n\t\t\t\t\t.style('stroke', 'red')\n\t\t\t\t\t.attr('x1', xScale(index))\n\t\t\t\t\t.attr('y1', svgHeight)\n\t\t\t\t\t.attr('x2', xScale(index))\n\t\t\t\t\t.attr('y2', svgHeight - yPad + 2.5 * topPad)\n\t\t\t}\n\t\t\tlines\n\t\t\t\t.append('line')\n\t\t\t\t.style('stroke', 'red')\n\t\t\t\t.attr('x1', xScale(index))\n\t\t\t\t.attr('y1', yScale(100 - yOld))\n\t\t\t\t.attr('x2', xScale(index + 1))\n\t\t\t\t.attr('y2', yScale(100 - yIter))\n\t\t}\n\t}\n}\n", "import { getCompInit, copyMerge, type RxComponent } from '#rx'\nimport { PlotBase } from '#plots/PlotBase.js'\nimport { getCombinedTermFilter } from '#filter'\nimport { PROTEOME_DAP, SINGLECELL_CELLTYPE } from '#types'\nimport { getDefaultGseaSettings } from './settings/defaults'\nimport { GSEAModel } from './model/GSEAModel'\nimport { isValidGseaParams } from './model/GseaParams'\nimport { setControls } from './view/GSEAControls'\nimport { GSEAViewModel } from './viewModel/GSEAViewModel'\nimport { GSEAView } from './view/GSEAView'\n\nexport class GSEA extends PlotBase implements RxComponent {\n\tstatic type = 'gsea'\n\n\ttype: string\n\tsettings!: any\n\tcomponents!: { controls: any }\n\timageUrl: any\n\tconfig!: any\n\ttestEnabled: boolean\n\tgsea_params!: any\n\tmodel!: GSEAModel\n\tviewModel!: GSEAViewModel\n\tview!: GSEAView\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\n\t\t//TODO: implement toggleLoadingDiv from parent\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\n\t\tthis.testEnabled = JSON.parse(sessionStorage.getItem('optionalFeatures') || '{}')?.gsea_test\n\t}\n\n\tgetState(appState) {\n\t\tconst config = appState.plots.find(p => p.id === this.id)\n\t\tif (!config) throw new Error(`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\tgenome: appState.vocab.genome,\n\t\t\tdslabel: appState.vocab.dslabel\n\t\t}\n\t}\n\n\tasync init(appState) {\n\t\tconst state = this.getState(appState)\n\t\tconst config = structuredClone(state.config)\n\n\t\tthis.model = new GSEAModel(this)\n\t\t/** Ensures plots init'ed from session are properly vetted and\n\t\t * mutated as necessary. */\n\t\tvalidateConfigByTermType(config)\n\n\t\tif (!isValidGseaParams(config.gsea_params)) {\n\t\t\tthis.gsea_params = await this.model.getGseaParams(config.gsea_params, state, config)\n\t\t} else {\n\t\t\tthis.gsea_params = config.gsea_params\n\t\t}\n\n\t\tawait setControls(this.dom.controlsDiv, this)\n\t\tthis.viewModel = new GSEAViewModel(this)\n\t\tthis.view = new GSEAView(this)\n\n\t\tthis.view.initRender()\n\t}\n\n\tasync main() {\n\t\tconst state = structuredClone(this.state)\n\t\t//TODO: Fix this to use parentId instead\n\t\tif (state.config.chartType != this.type && state.config.childType != this.type) return\n\n\t\tif (this.dom.header) {\n\t\t\tconst geneCount = this.gsea_params.genes_length ?? this.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\tif (this.imageUrl) URL.revokeObjectURL(this.imageUrl)\n\t\tthis.imageUrl = null\n\n\t\tawait this.viewModel.processData()\n\t\tthis.view.update()\n\t\t// render_gsea(this)\n\t}\n}\n\nexport const gseaInit = getCompInit(GSEA)\n// this alias will allow abstracted dynamic imports\nexport const componentInit = gseaInit\n\n/************* \n * TODO: \n * The config object contains the same data over and over. \n * ex. samplelst:{groups} is the same thing as tw.q.groups. \n * ex. gsea_params contain duplicate information in settings.gsea \n * and in the state. \n * ex. the plot state is added to the config unnecessarily.\n * \n * This poorly constructed object increases the complexity of the code \n * and makes it harder to maintain.\n * Need to reduce the overall redundancy and simplify the structure.\n ************/\nexport async function getPlotConfig(opts, app) {\n\t// if (!opts.gsea_params) throw 'No gsea_params provided [gsea getPlotConfig()]'\n\tif (!opts.termType) throw new Error('No termType provided [gsea getPlotConfig()]')\n\ttry {\n\t\tconst config = {\n\t\t\tgsea_params: {\n\t\t\t\tgenome: app.opts.state.vocab.genome\n\t\t\t},\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, opts)\n\t\t\t}\n\t\t}\n\n\t\tcopyMerge(config, opts)\n\t\tvalidateConfigByTermType(config)\n\t\treturn config\n\t} catch (e) {\n\t\tthrow `${e} [gsea getPlotConfig()]`\n\t}\n}\n\nfunction validateConfigByTermType(config) {\n\tif (!config.gsea_params) config.gsea_params = {}\n\tif (config.termType === PROTEOME_DAP) {\n\t\tif (!config.proteomeDetails) throw new Error('No proteomeDetails provided for DAP GSEA')\n\t\tconfig.gsea_params.dapParams = config.proteomeDetails\n\t} else if (config.termType === SINGLECELL_CELLTYPE) {\n\t\tif (!config.sample || !config.termId || !config.categoryName)\n\t\t\tthrow new Error('Missing sample, termId, or categoryName for single cell cluster GSEA')\n\t}\n}\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"],
5
+ "mappings": "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",
6
+ "names": ["opt", "rankedDE"]
7
+ }
@@ -0,0 +1,367 @@
1
+ import {
2
+ GeneSetEditUI,
3
+ PlotBase,
4
+ addGeneSearchbox,
5
+ getCurrentCohortChartTypes,
6
+ getGEunit,
7
+ getSCGEunit,
8
+ sayerror
9
+ } from "./chunk-5VOPABBA.js";
10
+ import "./chunk-HJ6L54YS.js";
11
+ import "./chunk-LSEFWW72.js";
12
+ import {
13
+ importPlot
14
+ } from "./chunk-Z5U6HOE4.js";
15
+ import {
16
+ Menu
17
+ } from "./chunk-HYOEWQ5P.js";
18
+ import {
19
+ Tabs
20
+ } from "./chunk-HBW42TDT.js";
21
+ import "./chunk-FN5XPUPH.js";
22
+ import "./chunk-5ABGFJSP.js";
23
+ import "./chunk-IIT367QZ.js";
24
+ import "./chunk-RZGEKL77.js";
25
+ import "./chunk-XPY6AWXO.js";
26
+ import "./chunk-NELOT3NJ.js";
27
+ import "./chunk-M6EF3WVV.js";
28
+ import "./chunk-7IYJZZQI.js";
29
+ import {
30
+ copyMerge,
31
+ getCompInit
32
+ } from "./chunk-M3J4MINX.js";
33
+ import "./chunk-PF4DSFDR.js";
34
+ import "./chunk-LFCYMSVA.js";
35
+ import {
36
+ GENE_EXPRESSION,
37
+ SINGLECELL_GENE_EXPRESSION,
38
+ SSGSEA,
39
+ typeGroup
40
+ } from "./chunk-I6WR4CG7.js";
41
+ import "./chunk-2X6W4E3W.js";
42
+ import "./chunk-NYRZNRG5.js";
43
+ import "./chunk-JNITUVXP.js";
44
+ import "./chunk-3XVVN66M.js";
45
+ import "./chunk-LOZEKOES.js";
46
+ import "./chunk-VQZ2Z5YU.js";
47
+ import "./chunk-NSTL4MY2.js";
48
+ import "./chunk-TLT4YIG3.js";
49
+ import "./chunk-KYBIQBXE.js";
50
+ import "./chunk-I6Y4O3RR.js";
51
+ import "./chunk-OMR2DT66.js";
52
+ import "./chunk-DQC5FFGV.js";
53
+ import "./chunk-HFNDKYVF.js";
54
+
55
+ // plots/GeneExpInput.ts
56
+ var GeneExpInput = class _GeneExpInput extends PlotBase {
57
+ static {
58
+ this.type = "GeneExpInput";
59
+ }
60
+ constructor(opts, api) {
61
+ super(opts, api);
62
+ this.type = _GeneExpInput.type;
63
+ this.opts = opts;
64
+ this.components = {
65
+ plots: {}
66
+ };
67
+ }
68
+ makeTerm(_term) {
69
+ const termProperties = this.state.config?.termProperties || {};
70
+ const term = { ..._term, ...termProperties, type: this.termType, unit: this.unit };
71
+ return term;
72
+ }
73
+ makeConfig(_config) {
74
+ const spawnConfig = this.state.config?.spawnConfig || {};
75
+ const tmp = { ..._config, ...spawnConfig };
76
+ return tmp;
77
+ }
78
+ getState(appState) {
79
+ const config = appState.plots.find((p) => p.id === this.id);
80
+ if (!config) {
81
+ throw `No plot with id='${this.id}' found. Did you set this.id before this.api = getComponentApi(this)?`;
82
+ }
83
+ const subplots = appState.plots.filter((p) => p.parentId === this.id);
84
+ return {
85
+ config,
86
+ termdbConfig: appState.termdbConfig,
87
+ subplots
88
+ };
89
+ }
90
+ async init(appState) {
91
+ const state = this.getState(appState);
92
+ this.genome = this.app.opts.genome;
93
+ this.termType = state.config.termType;
94
+ this.unit = this.getUnit();
95
+ this.dom = this.initDom();
96
+ const chartTypes = new Set(getCurrentCohortChartTypes(appState));
97
+ this.tabs = [
98
+ {
99
+ label: "One gene",
100
+ isVisible: () => true,
101
+ callback: (event, tab) => {
102
+ this.renderGeneSelect(tab);
103
+ delete tab.callback;
104
+ }
105
+ },
106
+ {
107
+ label: "Two genes",
108
+ isVisible: () => true,
109
+ callback: (event, tab) => {
110
+ this.renderTwoGeneSelect(tab);
111
+ delete tab.callback;
112
+ }
113
+ },
114
+ {
115
+ label: "Hierarchical clustering",
116
+ isVisible: () => chartTypes.has("matrix"),
117
+ callback: (event, tab) => {
118
+ this.renderGeneMultiSelect(tab);
119
+ delete tab.callback;
120
+ }
121
+ },
122
+ {
123
+ label: `Differential ${typeGroup[this.termType].toLowerCase()} analysis`,
124
+ //Only enabling for gene expression for now
125
+ chartType: "DEinput",
126
+ isVisible: () => chartTypes.has("DA") && this.termType === GENE_EXPRESSION,
127
+ callback: async (event, tab) => {
128
+ await this.app.dispatch({
129
+ type: "plot_create",
130
+ parentId: this.id,
131
+ config: {
132
+ chartType: "DEinput",
133
+ parentId: this.id,
134
+ /** ' ' overrides the default 'hide_search' mode in DEInput.
135
+ * 'hide_search' by default expands all terms. */
136
+ header_mode: " "
137
+ }
138
+ });
139
+ delete tab.callback;
140
+ }
141
+ },
142
+ {
143
+ label: typeGroup[SSGSEA],
144
+ isVisible: () => {
145
+ return this.termType === GENE_EXPRESSION && state.termdbConfig?.allowedTermTypes?.includes(SSGSEA);
146
+ },
147
+ callback: async (event, tab) => {
148
+ await this.renderSSGSEA(tab);
149
+ delete tab.callback;
150
+ }
151
+ }
152
+ ];
153
+ const chartTabs = new Tabs({
154
+ holder: this.dom.tabs,
155
+ tabs: this.tabs,
156
+ tabsPosition: "vertical"
157
+ });
158
+ await chartTabs.main();
159
+ }
160
+ getUnit() {
161
+ return this.termType === GENE_EXPRESSION ? getGEunit(this.app.vocabApi) : getSCGEunit(this.app.vocabApi);
162
+ }
163
+ initDom() {
164
+ const headerText = this.opts.headerText ? `${this.opts.headerText} ` : "";
165
+ const dom = {
166
+ header: {
167
+ title: this.opts.header.append("span").style("padding-right", "5px").text(headerText).attr("data-testid", "sjpp-gene-exp-input-headerText"),
168
+ plot: this.opts.header.append("span").text(typeGroup[this.termType].toUpperCase()).style("font-size", "0.7em").style("opacity", "0.6").attr("data-testid", "sjpp-gene-exp-input-termType")
169
+ },
170
+ tabs: this.opts.holder.append("div").style("margin", "10px").attr("data-testid", "sjpp-gene-exp-input-tabs-wrapper")
171
+ };
172
+ return dom;
173
+ }
174
+ async main() {
175
+ const state = this.getState(this.app.getState());
176
+ for (const subplot of state.subplots || []) {
177
+ if (!this.components.plots[subplot.id]) await this.initSubplotInTab(subplot);
178
+ }
179
+ }
180
+ renderGeneSelect(tab) {
181
+ const row = tab.contentHolder.style("padding", "15px");
182
+ row.append("span").style("padding", "5px").text("Select a gene:");
183
+ const geneSearch = addGeneSearchbox({
184
+ row,
185
+ genome: this.genome,
186
+ tip: new Menu({ padding: "0px" }),
187
+ searchOnly: "gene",
188
+ callback: async () => {
189
+ const tw = {
190
+ term: this.makeTerm({
191
+ gene: geneSearch.geneSymbol,
192
+ name: `${geneSearch.geneSymbol} ${this.unit}`
193
+ })
194
+ };
195
+ const config = this.makeConfig({
196
+ chartType: "summary",
197
+ term: tw
198
+ });
199
+ await this.dispatchEdits(config);
200
+ }
201
+ });
202
+ }
203
+ /** Guide the user to select the first gene then
204
+ * a second to launch the summary plot on submit.*/
205
+ renderTwoGeneSelect(tab) {
206
+ const term = {};
207
+ const term2 = {};
208
+ const holder = tab.contentHolder.style("padding", "10px");
209
+ const gene1row = holder.append("div").style("padding", "5px");
210
+ const gene2row = holder.append("div").style("padding", "5px").style("display", "none");
211
+ const submitButton = holder.append("button").attr("type", "button").attr("disabled", true);
212
+ gene1row.append("span").text("Select the first gene:");
213
+ const geneSearch1 = addGeneSearchbox({
214
+ row: gene1row,
215
+ genome: this.genome,
216
+ tip: new Menu({ padding: "0px" }),
217
+ searchOnly: "gene",
218
+ callback: async () => {
219
+ gene2row.style("display", "block");
220
+ if (!geneSearch1.geneSymbol) throw new Error("First gene result is required");
221
+ term.gene = geneSearch1.geneSymbol;
222
+ term.name = `${geneSearch1.geneSymbol} ${this.unit}`;
223
+ }
224
+ });
225
+ gene2row.append("span").text("Select the second gene:");
226
+ const geneSearch2 = addGeneSearchbox({
227
+ row: gene2row,
228
+ genome: this.genome,
229
+ tip: new Menu({ padding: "0px" }),
230
+ searchOnly: "gene",
231
+ callback: async () => {
232
+ if (!geneSearch2.geneSymbol) throw new Error("Second gene result is required");
233
+ term2.gene = geneSearch2.geneSymbol;
234
+ term2.name = `${geneSearch2.geneSymbol} ${this.unit}`;
235
+ submitButton.attr("disabled", null);
236
+ }
237
+ });
238
+ submitButton.text("Submit").style("border", "none").style("border-radius", "20px").style("padding", "10px 15px").on("click", async () => {
239
+ if (!term.name || !term.gene) {
240
+ sayerror(holder, "Missing first gene. Please provide a valid gene.");
241
+ return;
242
+ }
243
+ if (!term2.name || !term2.gene) {
244
+ sayerror(holder, "Missing second gene. Please provide a valid gene.");
245
+ return;
246
+ }
247
+ const config = this.makeConfig({
248
+ chartType: "summary",
249
+ term: { term: this.makeTerm(term) },
250
+ term2: { term: this.makeTerm(term2) }
251
+ });
252
+ await this.dispatchEdits(config);
253
+ });
254
+ }
255
+ // /** Render the GeneSetEdit UI for selection and then
256
+ // * launch the hierarchical clustering on submit.*/
257
+ renderGeneMultiSelect(tab) {
258
+ const holder = tab.contentHolder.style("padding", "10px");
259
+ const grpWrapper = holder.append("div").style("padding", "10px");
260
+ grpWrapper.append("span").style("font-weight", "bold").text("Group name:");
261
+ let customName = "New custom group";
262
+ const input = grpWrapper.append("input").style("margin", "2px 5px").style("width", "210px").attr("placeholder", "Group Name").on("input", () => {
263
+ customName = input.property("value");
264
+ });
265
+ new GeneSetEditUI({
266
+ holder: holder.append("div"),
267
+ /** running hier clustering and the editing group
268
+ * is the group used for clustering pass this mode
269
+ * value to inform ui to support the optional button
270
+ * "top variably exp gene" this is hardcoded for
271
+ * the purpose of gene expression and should be improved. */
272
+ genome: this.genome,
273
+ mode: "geneExpression",
274
+ vocabApi: this.app.vocabApi,
275
+ callback: async ({ geneList, name }) => {
276
+ if (geneList.length <= 2) {
277
+ return alert("At least three genes are required for hierarchical clustering. Please select more genes.");
278
+ }
279
+ const group = {
280
+ name: name || customName,
281
+ lst: [],
282
+ type: "hierCluster"
283
+ };
284
+ const tws = await Promise.all(
285
+ geneList.map((d) => {
286
+ const gene = d.symbol || d.gene;
287
+ const name2 = `${gene} ${this.unit}`;
288
+ const term = this.makeTerm({ gene, name: name2 });
289
+ return { term, q: {} };
290
+ })
291
+ );
292
+ group.lst = [...tws];
293
+ const config = this.makeConfig({
294
+ chartType: "hierCluster",
295
+ termgroups: [group],
296
+ //TODO: Need to allow singleCellGeneExpression as well
297
+ dataType: GENE_EXPRESSION
298
+ });
299
+ await this.dispatchEdits(config);
300
+ }
301
+ });
302
+ }
303
+ async renderSSGSEA(tab) {
304
+ const holder = tab.contentHolder.style("padding", "10px");
305
+ const _ = await import("./ssGSEA-THW4WFMI.js");
306
+ const searchHandler = new _.SearchHandler();
307
+ await searchHandler.init({
308
+ holder,
309
+ app: this.app,
310
+ genomeObj: this.genome,
311
+ callback: async (term) => {
312
+ const config = this.makeConfig({
313
+ chartType: "summary",
314
+ term: { term }
315
+ });
316
+ await this.dispatchEdits(config);
317
+ }
318
+ });
319
+ }
320
+ async initSubplotInTab(subplot) {
321
+ const holder = this.tabs.find((tab) => tab.chartType === subplot.chartType)?.contentHolder;
322
+ if (!holder) throw new Error(`No tab found for chart type ${subplot.chartType}`);
323
+ const opts = Object.assign({}, subplot, {
324
+ holder,
325
+ app: this.app,
326
+ parentId: this.id,
327
+ id: subplot.id
328
+ });
329
+ const { componentInit: componentInit2 } = await importPlot(opts.chartType);
330
+ this.components.plots[subplot.id] = await componentInit2(opts);
331
+ }
332
+ async dispatchEdits(config) {
333
+ await this.app.dispatch({
334
+ type: "app_refresh",
335
+ subactions: [
336
+ {
337
+ type: "plot_create",
338
+ config
339
+ },
340
+ {
341
+ type: "plot_delete",
342
+ id: this.id
343
+ }
344
+ ]
345
+ });
346
+ }
347
+ };
348
+ var geneExpInputInit = getCompInit(GeneExpInput);
349
+ var componentInit = geneExpInputInit;
350
+ var enabledTermTypes = /* @__PURE__ */ new Set([GENE_EXPRESSION, SINGLECELL_GENE_EXPRESSION]);
351
+ function getPlotConfig(opts) {
352
+ if (!opts?.termType) throw new Error("termType is required in opts");
353
+ if (!enabledTermTypes.has(opts.termType)) throw new Error(`Invalid termType: ${opts.termType}`);
354
+ const config = {
355
+ chartType: "GeneExpInput",
356
+ termType: opts.termType,
357
+ hidePlotFilter: true
358
+ };
359
+ return copyMerge(config, opts);
360
+ }
361
+ export {
362
+ GeneExpInput,
363
+ componentInit,
364
+ geneExpInputInit,
365
+ getPlotConfig
366
+ };
367
+ //# sourceMappingURL=GeneExpInput-JDU6EI7K.js.map
@@ -0,0 +1,89 @@
1
+ import {
2
+ renderGeomap
3
+ } from "./chunk-ZNEJUKJW.js";
4
+ import {
5
+ PlotBase
6
+ } from "./chunk-5VOPABBA.js";
7
+ import "./chunk-HJ6L54YS.js";
8
+ import "./chunk-LSEFWW72.js";
9
+ import "./chunk-Z5U6HOE4.js";
10
+ import {
11
+ Menu
12
+ } from "./chunk-HYOEWQ5P.js";
13
+ import "./chunk-HBW42TDT.js";
14
+ import "./chunk-FN5XPUPH.js";
15
+ import "./chunk-5ABGFJSP.js";
16
+ import "./chunk-IIT367QZ.js";
17
+ import "./chunk-RZGEKL77.js";
18
+ import "./chunk-XPY6AWXO.js";
19
+ import "./chunk-NELOT3NJ.js";
20
+ import "./chunk-M6EF3WVV.js";
21
+ import "./chunk-7IYJZZQI.js";
22
+ import {
23
+ copyMerge,
24
+ getCompInit
25
+ } from "./chunk-M3J4MINX.js";
26
+ import "./chunk-PF4DSFDR.js";
27
+ import "./chunk-LFCYMSVA.js";
28
+ import "./chunk-I6WR4CG7.js";
29
+ import "./chunk-2X6W4E3W.js";
30
+ import "./chunk-NYRZNRG5.js";
31
+ import "./chunk-JNITUVXP.js";
32
+ import "./chunk-3XVVN66M.js";
33
+ import "./chunk-LOZEKOES.js";
34
+ import "./chunk-VQZ2Z5YU.js";
35
+ import "./chunk-NSTL4MY2.js";
36
+ import "./chunk-TLT4YIG3.js";
37
+ import "./chunk-KYBIQBXE.js";
38
+ import "./chunk-I6Y4O3RR.js";
39
+ import "./chunk-OMR2DT66.js";
40
+ import "./chunk-DQC5FFGV.js";
41
+ import "./chunk-HFNDKYVF.js";
42
+
43
+ // plots/geomap/Geomap.ts
44
+ var Geomap = class _Geomap extends PlotBase {
45
+ static {
46
+ this.type = "geomap";
47
+ }
48
+ constructor(opts, api) {
49
+ super(opts, api);
50
+ this.type = _Geomap.type;
51
+ const holder = opts.holder.append("div").style("padding", "10px");
52
+ this.dom = {
53
+ holder,
54
+ header: opts.header,
55
+ controls: opts.controls,
56
+ tip: new Menu({ padding: "9px 11px" })
57
+ };
58
+ if (this.dom.header) this.dom.header.html("Site Map");
59
+ }
60
+ getState(appState) {
61
+ const config = appState.plots.find((p) => p.id === this.id);
62
+ if (!config) throw `No plot with id='${this.id}' found`;
63
+ return { config };
64
+ }
65
+ reactsTo(action) {
66
+ if (action.type.startsWith("plot_")) return action.id === this.id;
67
+ return true;
68
+ }
69
+ async main() {
70
+ const geomap = this.state.config.geomap;
71
+ renderGeomap(this.dom.holder, geomap, this.dom.tip);
72
+ }
73
+ };
74
+ var componentInit = getCompInit(Geomap);
75
+ async function getPlotConfig(opts, app) {
76
+ const fromDs = app?.vocabApi?.termdbConfig?.geomap;
77
+ const config = {
78
+ chartType: "geomap",
79
+ // the map is not filtered by dictionary terms, so hide the per-plot filter UI
80
+ hidePlotFilter: true,
81
+ geomap: fromDs ? structuredClone(fromDs) : { sites: [] }
82
+ };
83
+ return copyMerge(config, opts);
84
+ }
85
+ export {
86
+ componentInit,
87
+ getPlotConfig
88
+ };
89
+ //# sourceMappingURL=Geomap-J763OK2F.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../plots/geomap/Geomap.ts"],
4
+ "sourcesContent": ["import type { MassState, BasePlotConfig, MassAppApi } from '#mass/types/mass'\nimport type { GeomapConfig } from '#types'\nimport type { Elem, Div } from '../../types/d3.d'\nimport { getCompInit, copyMerge, type RxComponent, type ComponentApi } from '#rx'\nimport { PlotBase } from '../PlotBase'\nimport { Menu } from '#dom'\nimport { renderGeomap } from './render'\n\ntype GeomapDom = {\n\tholder: Div\n\theader?: Elem\n\tcontrols?: Elem\n\ttip: Menu\n}\n\nclass Geomap extends PlotBase implements RxComponent {\n\tstatic type = 'geomap'\n\ttype: string\n\tdom: GeomapDom\n\n\tconstructor(opts: { holder: Div; header?: Elem; controls?: Elem }, api: ComponentApi) {\n\t\tsuper(opts, api)\n\t\tthis.type = Geomap.type\n\t\tconst holder = opts.holder.append('div').style('padding', '10px')\n\t\tthis.dom = {\n\t\t\tholder,\n\t\t\theader: opts.header,\n\t\t\tcontrols: opts.controls,\n\t\t\ttip: new Menu({ padding: '9px 11px' })\n\t\t}\n\t\tif (this.dom.header) this.dom.header.html('Site Map')\n\t}\n\n\tgetState(appState: MassState) {\n\t\tconst config = appState.plots.find((p: BasePlotConfig) => p.id === this.id)\n\t\tif (!config) throw `No plot with id='${this.id}' found`\n\t\treturn { config }\n\t}\n\n\treactsTo(action: { type: string; id?: string }) {\n\t\tif (action.type.startsWith('plot_')) return action.id === this.id\n\t\treturn true\n\t}\n\n\tasync main() {\n\t\tconst geomap: GeomapConfig | undefined = this.state.config.geomap\n\t\trenderGeomap(this.dom.holder, geomap, this.dom.tip)\n\t}\n}\n\nexport const componentInit = getCompInit(Geomap)\n\nexport async function getPlotConfig(opts: { geomap?: GeomapConfig }, app: MassAppApi) {\n\t// seed locations from the dataset-provided termdbConfig.geomap when the launcher\n\t// (chart catalog) passes only { chartType:'geomap' }\n\tconst fromDs: GeomapConfig | undefined = app?.vocabApi?.termdbConfig?.geomap\n\tconst config = {\n\t\tchartType: 'geomap',\n\t\t// the map is not filtered by dictionary terms, so hide the per-plot filter UI\n\t\thidePlotFilter: true,\n\t\tgeomap: fromDs ? structuredClone(fromDs) : { sites: [] }\n\t}\n\treturn copyMerge(config, opts)\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,IAAM,SAAN,MAAM,gBAAe,SAAgC;AAAA,EACpD;AAAA,SAAO,OAAO;AAAA;AAAA,EAId,YAAY,MAAuD,KAAmB;AACrF,UAAM,MAAM,GAAG;AACf,SAAK,OAAO,QAAO;AACnB,UAAM,SAAS,KAAK,OAAO,OAAO,KAAK,EAAE,MAAM,WAAW,MAAM;AAChE,SAAK,MAAM;AAAA,MACV;AAAA,MACA,QAAQ,KAAK;AAAA,MACb,UAAU,KAAK;AAAA,MACf,KAAK,IAAI,KAAK,EAAE,SAAS,WAAW,CAAC;AAAA,IACtC;AACA,QAAI,KAAK,IAAI,OAAQ,MAAK,IAAI,OAAO,KAAK,UAAU;AAAA,EACrD;AAAA,EAEA,SAAS,UAAqB;AAC7B,UAAM,SAAS,SAAS,MAAM,KAAK,CAAC,MAAsB,EAAE,OAAO,KAAK,EAAE;AAC1E,QAAI,CAAC,OAAQ,OAAM,oBAAoB,KAAK,EAAE;AAC9C,WAAO,EAAE,OAAO;AAAA,EACjB;AAAA,EAEA,SAAS,QAAuC;AAC/C,QAAI,OAAO,KAAK,WAAW,OAAO,EAAG,QAAO,OAAO,OAAO,KAAK;AAC/D,WAAO;AAAA,EACR;AAAA,EAEA,MAAM,OAAO;AACZ,UAAM,SAAmC,KAAK,MAAM,OAAO;AAC3D,iBAAa,KAAK,IAAI,QAAQ,QAAQ,KAAK,IAAI,GAAG;AAAA,EACnD;AACD;AAEO,IAAM,gBAAgB,YAAY,MAAM;AAE/C,eAAsB,cAAc,MAAiC,KAAiB;AAGrF,QAAM,SAAmC,KAAK,UAAU,cAAc;AACtE,QAAM,SAAS;AAAA,IACd,WAAW;AAAA;AAAA,IAEX,gBAAgB;AAAA,IAChB,QAAQ,SAAS,gBAAgB,MAAM,IAAI,EAAE,OAAO,CAAC,EAAE;AAAA,EACxD;AACA,SAAO,UAAU,QAAQ,IAAI;AAC9B;",
6
+ "names": []
7
+ }