@sjcrh/proteinpaint-client 2.210.1 → 2.211.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 (954) hide show
  1. package/dist/2dmaf-FEZRNHDF.js +1367 -0
  2. package/dist/AggMatrixInput-6FJIELYO.js +406 -0
  3. package/dist/AggregateMatrix-MUPBUGIZ.js +41 -0
  4. package/dist/AppHeader-ZTNZ62UL.js +830 -0
  5. package/dist/BoxPlot-P5SVFYSB.js +1208 -0
  6. package/dist/BoxPlot-P5SVFYSB.js.map +7 -0
  7. package/dist/CorrelationVolcano-42NYXAXG.js +617 -0
  8. package/dist/Cuminc-6AKLT6HF.js +1219 -0
  9. package/dist/DE-KJHFZWND.js +89 -0
  10. package/dist/DEinput-HXB3LYZW.js +501 -0
  11. package/dist/DM-AAHX4PLH.js +90 -0
  12. package/dist/DifferentialAnalysis-JX4EDEOY.js +239 -0
  13. package/dist/Disco-GXKO4QQH.js +3389 -0
  14. package/dist/Disco.UI-DGD4RXJP.js +243 -0
  15. package/dist/DmrPlot-DQ3XTMTN.js +362 -0
  16. package/dist/GB-OUWNNBBK.js +1392 -0
  17. package/dist/GSEA-DSKGFAPG.js +875 -0
  18. package/dist/GeneExpInput-FZLOBE2Q.js +42 -0
  19. package/dist/Geomap-GP5KD3OX.js +84 -0
  20. package/dist/HicApp-2N6WYWZX.js +2245 -0
  21. package/dist/IDCViewer-MSUC7IXX.js +10812 -0
  22. package/dist/NumBinaryEditor-C4G2IH36.js +279 -0
  23. package/dist/NumBinaryEditor.unit.spec-ZAVAUGXA.js +312 -0
  24. package/dist/NumContEditor-VEEMMWHX.js +105 -0
  25. package/dist/NumContEditor.unit.spec-65ORC42O.js +164 -0
  26. package/dist/NumCustomBinEditor-YIUHJAXP.js +33 -0
  27. package/dist/NumCustomBinEditor.unit.spec-NT5VK2LO.js +397 -0
  28. package/dist/NumDiscreteEditor-A4WELAJH.js +170 -0
  29. package/dist/NumDiscreteEditor.unit.spec-7QABM6KK.js +233 -0
  30. package/dist/NumRegularBinEditor-IPVPLSQY.js +33 -0
  31. package/dist/NumRegularBinEditor.unit.spec-Q4DMWATB.js +278 -0
  32. package/dist/NumSplineEditor-5E6CIWLP.js +210 -0
  33. package/dist/NumSplineEditor.unit.spec-DHJF5F6H.js +224 -0
  34. package/dist/NumericDensity-GXMWWK2A.js +33 -0
  35. package/dist/NumericDensity.unit.spec-OAPOMSEW.js +418 -0
  36. package/dist/NumericHandler-H5WHGFXD.js +34 -0
  37. package/dist/NumericHandler.unit.spec-PBNOJEMS.js +214 -0
  38. package/dist/ProteomeInput-ZA7R5S43.js +388 -0
  39. package/dist/Regression-WSWTSXFX.js +1416 -0
  40. package/dist/RunChart2-J5CTJI5C.js +749 -0
  41. package/dist/SC-POCQDMWZ.js +1181 -0
  42. package/dist/SC-POCQDMWZ.js.map +7 -0
  43. package/dist/Violin-VA6FBRUQ.js +1064 -0
  44. package/dist/Violin-VA6FBRUQ.js.map +7 -0
  45. package/dist/Volcano-4IEQIEDS.js +2456 -0
  46. package/dist/Wsi-LJ6AY5RI.js +629 -0
  47. package/dist/adSandbox-EIN4KEML.js +33 -0
  48. package/dist/animatedBubbleChart-LINYUKMD.js +547 -0
  49. package/dist/app-SE7UQ5DB.js +42 -0
  50. package/dist/app-VGMZNGWP.js +32 -0
  51. package/dist/app.js +16 -16
  52. package/dist/bam-ZXEZWRSZ.js +876 -0
  53. package/dist/barchart-N4B4C2FO.js +42 -0
  54. package/dist/barchart2-EDVEWTVX.js +309 -0
  55. package/dist/block-E7YUGCHL.js +6250 -0
  56. package/dist/block.init-FSOCF2IM.js +33 -0
  57. package/dist/block.mds.expressionrank-EDBTITXU.js +354 -0
  58. package/dist/block.mds.geneboxplot-GG5672SY.js +823 -0
  59. package/dist/block.mds.junction-HUC4S24K.js +1539 -0
  60. package/dist/block.mds.svcnv-EQHYCIBU.js +6796 -0
  61. package/dist/block.svg-HBVPUQJ2.js +159 -0
  62. package/dist/block.tk.aicheck-TRJ5IIWZ.js +278 -0
  63. package/dist/block.tk.ase-COV7YYYO.js +360 -0
  64. package/dist/block.tk.bam-MDSLY6NH.js +1901 -0
  65. package/dist/block.tk.bedgraphdot-MKWEL53X.js +379 -0
  66. package/dist/block.tk.bigwig.ui-UKKJX7TA.js +206 -0
  67. package/dist/block.tk.hicstraw-6LNXEIOF.js +818 -0
  68. package/dist/block.tk.junction-F3SERFFD.js +2358 -0
  69. package/dist/block.tk.junction.textmatrixui-2XUMSKLS.js +194 -0
  70. package/dist/block.tk.ld-COP5RUJJ.js +94 -0
  71. package/dist/block.tk.menu-SRDPD44N.js +1024 -0
  72. package/dist/block.tk.pgv-3SVINTXN.js +938 -0
  73. package/dist/brainImaging-UNBA4KA3.js +555 -0
  74. package/dist/brainRegions-DC6TQB53.js +217 -0
  75. package/dist/bubbleHeatmap-X3W3AZJY.js +378 -0
  76. package/dist/cellTypeBubbleHeatmap-LFI6TGOO.js +278 -0
  77. package/dist/chunk-2ANFUNS3.js +102 -0
  78. package/dist/chunk-2G4SFRWC.js +1278 -0
  79. package/dist/chunk-2WKGE7BO.js +54 -0
  80. package/dist/chunk-3CGMCYZB.js +237 -0
  81. package/dist/chunk-3I4DBVLM.js +55 -0
  82. package/dist/chunk-42VFF74T.js +397 -0
  83. package/dist/chunk-4ENIOXIT.js +133 -0
  84. package/dist/chunk-4ENIOXIT.js.map +7 -0
  85. package/dist/chunk-4HTRCXLS.js +98 -0
  86. package/dist/chunk-55T2AMJ3.js +281 -0
  87. package/dist/chunk-57Z4VYLM.js +1616 -0
  88. package/dist/chunk-57Z4VYLM.js.map +7 -0
  89. package/dist/chunk-5JDG5NNA.js +203 -0
  90. package/dist/chunk-6AFMWQXZ.js +339 -0
  91. package/dist/chunk-6ECKCC4X.js +294 -0
  92. package/dist/chunk-6QMC7LFA.js +299 -0
  93. package/dist/chunk-6XKAOSQE.js +116 -0
  94. package/dist/chunk-6XKAOSQE.js.map +7 -0
  95. package/dist/chunk-72L6NTNT.js +14 -0
  96. package/dist/chunk-7ISAV37C.js +194 -0
  97. package/dist/chunk-7MFY22IZ.js +2902 -0
  98. package/dist/chunk-7MFY22IZ.js.map +7 -0
  99. package/dist/chunk-7XZA2XR2.js +424 -0
  100. package/dist/chunk-7XZA2XR2.js.map +7 -0
  101. package/dist/chunk-A32XQLMP.js +49 -0
  102. package/dist/chunk-A3MYBXG3.js +274 -0
  103. package/dist/chunk-AU3Y6IQF.js +1339 -0
  104. package/dist/chunk-AXL3CC4U.js +468 -0
  105. package/dist/chunk-BSWVDH75.js +26 -0
  106. package/dist/chunk-CME6DYDH.js +424 -0
  107. package/dist/chunk-D637XDOT.js +417 -0
  108. package/dist/chunk-D637XDOT.js.map +7 -0
  109. package/dist/chunk-DD3DWHUY.js +119 -0
  110. package/dist/chunk-DKED35KW.js +2327 -0
  111. package/dist/chunk-DPGALT5N.js +255 -0
  112. package/dist/chunk-DPTGY4BW.js +129 -0
  113. package/dist/chunk-DQD4MTK4.js +379 -0
  114. package/dist/chunk-EFLRT7JY.js +243 -0
  115. package/dist/chunk-EMSO3BNW.js +34 -0
  116. package/dist/chunk-F2LWFF7V.js +158 -0
  117. package/dist/chunk-F2LWFF7V.js.map +7 -0
  118. package/dist/chunk-F5QB5YEE.js +276 -0
  119. package/dist/chunk-FKSR53VK.js +182 -0
  120. package/dist/chunk-FSWBNSQD.js +178 -0
  121. package/dist/chunk-G6ZIO5T3.js +37 -0
  122. package/dist/chunk-GP4VLNMZ.js +2149 -0
  123. package/dist/chunk-GP4VLNMZ.js.map +7 -0
  124. package/dist/chunk-HTZJQNHP.js +562 -0
  125. package/dist/chunk-ITYNHDDD.js +56 -0
  126. package/dist/chunk-IWVCFZHQ.js +170 -0
  127. package/dist/chunk-J4WRX5G6.js +263 -0
  128. package/dist/chunk-JZLIHI6A.js +339 -0
  129. package/dist/chunk-K7HFOAR7.js +25008 -0
  130. package/dist/chunk-K7HFOAR7.js.map +7 -0
  131. package/dist/chunk-KJGYGPJZ.js +103 -0
  132. package/dist/chunk-L3UFI52T.js +217 -0
  133. package/dist/chunk-L4ZPMF7E.js +692 -0
  134. package/dist/chunk-L62JI5UL.js +302 -0
  135. package/dist/chunk-MRPYHLFW.js +518 -0
  136. package/dist/chunk-MVWJHZ5G.js +783 -0
  137. package/dist/chunk-NGWU4QLU.js +134 -0
  138. package/dist/chunk-OC2FSBFB.js +176 -0
  139. package/dist/chunk-OGRDLK57.js +140 -0
  140. package/dist/chunk-OYBYKZUR.js +6360 -0
  141. package/dist/chunk-PFRPC2SY.js +382 -0
  142. package/dist/chunk-PLHOCPJD.js +272 -0
  143. package/dist/chunk-PQDZLOY7.js +102 -0
  144. package/dist/chunk-QDNUIS2Y.js +70 -0
  145. package/dist/chunk-RHOMR2GY.js +2676 -0
  146. package/dist/chunk-SKF6HQ74.js +31 -0
  147. package/dist/chunk-SLPZ6SBN.js +626 -0
  148. package/dist/chunk-SLPZ6SBN.js.map +7 -0
  149. package/dist/chunk-SPFK5XZH.js +446 -0
  150. package/dist/chunk-SQGAWR2L.js +141 -0
  151. package/dist/chunk-TGKWEAUE.js +84 -0
  152. package/dist/chunk-UKOOGNUF.js +1233 -0
  153. package/dist/chunk-UL5PEVZW.js +123 -0
  154. package/dist/chunk-UTMIX2H2.js +2784 -0
  155. package/dist/chunk-UZNFOCE7.js +56 -0
  156. package/dist/chunk-V7UVHM57.js +550 -0
  157. package/dist/chunk-VP2JWT5W.js +1988 -0
  158. package/dist/chunk-VSTHBKQW.js +480 -0
  159. package/dist/chunk-W7A4QXZ7.js +38 -0
  160. package/dist/chunk-WKCVZIN7.js +59 -0
  161. package/dist/chunk-X7TJBXJJ.js +54 -0
  162. package/dist/chunk-XEEMCYP6.js +4375 -0
  163. package/dist/chunk-XTQWAVWJ.js +54 -0
  164. package/dist/chunk-YAN2MOON.js +5071 -0
  165. package/dist/chunk-YCBENC6R.js +1769 -0
  166. package/dist/chunk-YCBENC6R.js.map +7 -0
  167. package/dist/chunk-YCORHJ64.js +240 -0
  168. package/dist/chunk-YOBTHZVU.js +80 -0
  169. package/dist/chunk-ZTT6ZHU5.js +217 -0
  170. package/dist/cohort-RF4FT2NT.js +70 -0
  171. package/dist/condition-WXE2CFYT.js +327 -0
  172. package/dist/controls-AYF4H7UG.js +34 -0
  173. package/dist/controls.config-TXZKQNYC.js +34 -0
  174. package/dist/correlation-UAYMVVUS.js +95 -0
  175. package/dist/customdata.inputui-I7RFOGYM.js +284 -0
  176. package/dist/dataDownload-4AGSDSEO.js +329 -0
  177. package/dist/databrowser.ui-RGJEA2BI.js +425 -0
  178. package/dist/dictionary-AWWQXIRP.js +113 -0
  179. package/dist/dnaMethylation-PICKZS2M.js +33 -0
  180. package/dist/dnaMethylation.integration.spec-JUSB3CFZ.js +198 -0
  181. package/dist/dofetch-ZJMKEYN2.js +48 -0
  182. package/dist/e2pca-K4W7ZJZG.js +344 -0
  183. package/dist/ep-OY5YQMEF.js +1249 -0
  184. package/dist/expclust.gdc.spec-LYDBM3TZ.js +302 -0
  185. package/dist/facet-7NJHLLCZ.js +519 -0
  186. package/dist/gb-COV44BMA.js +81 -0
  187. package/dist/geneExpClustering-EQR5XX4J.js +244 -0
  188. package/dist/geneExpression-2BNDQ6S6.js +310 -0
  189. package/dist/geneExpression-PGB6WF5H.js +33 -0
  190. package/dist/geneExpression.unit.spec-OUNGGOJP.js +128 -0
  191. package/dist/geneORA-EKNEVQOS.js +273 -0
  192. package/dist/geneRanking-XUXLRERA.js +548 -0
  193. package/dist/geneVariant-JZDYV6LS.js +36 -0
  194. package/dist/geneVariant-KPZ2FYLK.js +289 -0
  195. package/dist/geneVariant.integration.spec-ISMLGTKC.js +503 -0
  196. package/dist/genefusion.ui-GRUXFC4U.js +303 -0
  197. package/dist/geneset-RM4XIX23.js +203 -0
  198. package/dist/genomeBrowser.spec-X7EOK2LS.js +276 -0
  199. package/dist/grin2-5XRUMYQO.js +949 -0
  200. package/dist/grin2-SWZLKD52.js +70 -0
  201. package/dist/hierCluster-I6T4XD3P.js +55 -0
  202. package/dist/hierCluster-XVDGUOW7.js +59 -0
  203. package/dist/hierCluster.config-66CKAAPG.js +36 -0
  204. package/dist/hierCluster.integration.spec-OEHHO2RT.js +483 -0
  205. package/dist/hierCluster.integration.spec-OEHHO2RT.js.map +7 -0
  206. package/dist/hierCluster.interactivity-B5ZNFF4R.js +49 -0
  207. package/dist/hierCluster.renderers-R2DTKTLI.js +19 -0
  208. package/dist/imagePlot-ZM4IVDJT.js +156 -0
  209. package/dist/importPlot-FQ65CZRI.js +8 -0
  210. package/dist/isoformExpression-BFCLGD2U.js +35 -0
  211. package/dist/isoformExpression.unit.spec-KYI4HI7U.js +237 -0
  212. package/dist/junction-BKH6RWOP.js +36 -0
  213. package/dist/junction.customTerm-VNQKP5I4.js +16 -0
  214. package/dist/junction.unit.spec-MQIHKSNE.js +182 -0
  215. package/dist/launch.adhoc-AHTCA2BP.js +37 -0
  216. package/dist/leftlabel.sample-LIBMKP22.js +258 -0
  217. package/dist/lollipop-26ZQH3EL.js +166 -0
  218. package/dist/maf-W3W2XJ5B.js +455 -0
  219. package/dist/maftimeline-LCJD5O2M.js +587 -0
  220. package/dist/matrix-H634EZWK.js +59 -0
  221. package/dist/matrix-O2AINT5M.js +54 -0
  222. package/dist/matrix.cells-3U3CUU5I.js +26 -0
  223. package/dist/matrix.config-F6IPB5B5.js +37 -0
  224. package/dist/matrix.data-KQNBNYC6.js +23 -0
  225. package/dist/matrix.dom-YQNX4IQO.js +11 -0
  226. package/dist/matrix.groups-QFL2ZDHD.js +26 -0
  227. package/dist/matrix.integration.spec-OVGSXJWO.js +3160 -0
  228. package/dist/matrix.interactivity-Q5ODZPDL.js +37 -0
  229. package/dist/matrix.layout-YPYM7FRY.js +39 -0
  230. package/dist/matrix.legend-ZO57ENXP.js +20 -0
  231. package/dist/matrix.renderers-NIGONKWO.js +34 -0
  232. package/dist/matrix.serieses-ZQD2U6RF.js +19 -0
  233. package/dist/matrix.sort-RZU65LR2.js +26 -0
  234. package/dist/matrix.sort.unit.spec-NDFK2A5C.js +468 -0
  235. package/dist/matrix.sorterUi-MVUI25W7.js +16 -0
  236. package/dist/matrix.sorterUi.unit.spec-4ZKNOV2L.js +338 -0
  237. package/dist/matrix.unit.spec-V5XNLECG.js +150 -0
  238. package/dist/mavb-LF7A7BDK.js +727 -0
  239. package/dist/mds.fimo-KJ4HPMZP.js +513 -0
  240. package/dist/mds.samplescatterplot-ZHNWWWYI.js +1545 -0
  241. package/dist/mds.survivalplot-DNG7I22N.js +477 -0
  242. package/dist/multivalue-SJQF7PHU.js +83 -0
  243. package/dist/numericDictTermCluster-O6PKT2FJ.js +63 -0
  244. package/dist/oncomatrix-YJCPKS72.js +290 -0
  245. package/dist/oncomatrix.spec-MWGBQCIQ.js +443 -0
  246. package/dist/plot.2dvaf-KIPQYNEH.js +372 -0
  247. package/dist/plot.app-WHG3SEOG.js +36 -0
  248. package/dist/plot.barplot-DTSYFUPC.js +97 -0
  249. package/dist/plot.boxplot-MQDULP3P.js +146 -0
  250. package/dist/plot.brainImaging-DGVJQSCH.js +51 -0
  251. package/dist/plot.disco-HYPRBLMQ.js +99 -0
  252. package/dist/plot.ssgq-J5MMN7OD.js +134 -0
  253. package/dist/plot.vaf2cov-CID7GQB5.js +253 -0
  254. package/dist/polar2-QTSO2HCB.js +232 -0
  255. package/dist/profileForms-SRR2M5OS.js +941 -0
  256. package/dist/profilePlot-NDC4S2SC.js +49 -0
  257. package/dist/proteinView-EFNQL3LD.js +1357 -0
  258. package/dist/proteomeCohortCompare-WMR53HEL.js +912 -0
  259. package/dist/pseudbulk.unit.spec-6MRZNXFI.js +86 -0
  260. package/dist/pseudobulk-O5EC44RY.js +35 -0
  261. package/dist/qualitative-W6MFYG7Z.js +38 -0
  262. package/dist/radar2-GIQILMWK.js +327 -0
  263. package/dist/radarFacility2-5YJZ5JCK.js +335 -0
  264. package/dist/rememberedGvQ.unit.spec-B6RQM5LQ.js +211 -0
  265. package/dist/render-2J4LR3UI.js +33 -0
  266. package/dist/report-MUMQK6XY.js +217 -0
  267. package/dist/sampleView-NKZMNBMH.js +43 -0
  268. package/dist/samplelst-X74JZMTR.js +106 -0
  269. package/dist/samplematrix-QDQXB5ZG.js +2193 -0
  270. package/dist/sc-FGHV5CBJ.js +81 -0
  271. package/dist/scatter-QFVRBA7F.js +925 -0
  272. package/dist/scatter-YXF5VQGZ.js +88 -0
  273. package/dist/selectGenomeWithTklst-DP4RPV7U.js +129 -0
  274. package/dist/singleCellCellType-XCHCMRR6.js +33 -0
  275. package/dist/singleCellCellType.unit.spec-S3JTP235.js +154 -0
  276. package/dist/singleCellGeneExpression-FD6REV7Y.js +33 -0
  277. package/dist/singleCellGeneExpression.unit.spec-PVMZYD4G.js +148 -0
  278. package/dist/singleCellNumericValue-SIITQPMD.js +33 -0
  279. package/dist/singleCellNumericValue.unit.spec-7PJEHLF7.js +416 -0
  280. package/dist/singleCellPlot-YJCFAYJW.js +48 -0
  281. package/dist/singlecell-6R7YK5P3.js +1566 -0
  282. package/dist/singlecell-KHMH732Y.js +81 -0
  283. package/dist/snp-HXCVSW2F.js +33 -0
  284. package/dist/snp.unit.spec-HXMFR4QS.js +171 -0
  285. package/dist/snplocus-YQVHAKBC.js +203 -0
  286. package/dist/spliceevent.a53ss.diagram-4IBTR3JD.js +146 -0
  287. package/dist/spliceevent.exonskip.diagram-5ZTG65CE.js +278 -0
  288. package/dist/spliceevent.noeventdiagram-WO5KSC45.js +455 -0
  289. package/dist/ssGSEA-VJ3LVYJV.js +33 -0
  290. package/dist/ssGSEA.unit.spec-JQIJ4NZP.js +83 -0
  291. package/dist/stattable-COVQSHRZ.js +117 -0
  292. package/dist/studyCatalog-EXVRH4FI.js +414 -0
  293. package/dist/summarizeCnvGeneexp-UJBTMXXH.js +158 -0
  294. package/dist/summarizeGeneexpSurvival-XLQJGDRY.js +105 -0
  295. package/dist/summarizeMutationCnv-7RWSXB6F.js +159 -0
  296. package/dist/summarizeMutationDiagnosis-42MG737O.js +35 -0
  297. package/dist/summarizeMutationSurvival-FWVKVEHK.js +99 -0
  298. package/dist/summary-NR26ZPQB.js +44 -0
  299. package/dist/summary.integration.spec-Z7JSUTGK.js +409 -0
  300. package/dist/summaryInput-DGKUOJVC.js +242 -0
  301. package/dist/sunburst-C5JNGFT7.js +278 -0
  302. package/dist/survival-GCEX3EAZ.js +53 -0
  303. package/dist/survival-OAQA5JQN.js +1248 -0
  304. package/dist/survival.integration.spec-ZX5RD6VQ.js +613 -0
  305. package/dist/svgraph-XCFZ2WAG.js +1382 -0
  306. package/dist/svmr-4XTTURHA.js +3837 -0
  307. package/dist/table-FQZ4UAH6.js +197 -0
  308. package/dist/termCollection-5QCR6LED.js +33 -0
  309. package/dist/termCollection-DN6A6HJU.js +252 -0
  310. package/dist/termCollection.unit.spec-RSSSXDHU.js +299 -0
  311. package/dist/termCollectionFractionSelection-OSN7FITY.js +42 -0
  312. package/dist/termCollectionFractionSelection.unit.spec-UW6D3DVK.js +188 -0
  313. package/dist/tk-4CZCVYBP.js +41 -0
  314. package/dist/tk-BIPJNXBZ.js +1121 -0
  315. package/dist/tp.ui-NI4U7567.js +1454 -0
  316. package/dist/tvs.density-CB24PXDE.js +19 -0
  317. package/dist/tvs.dt-YRDNDXUU.js +34 -0
  318. package/dist/tvs.dtcnv.categorical-REP4T33P.js +35 -0
  319. package/dist/tvs.dtcnv.continuous-K7OREEP5.js +67 -0
  320. package/dist/tvs.dtfusion-AB5MPH3Q.js +35 -0
  321. package/dist/tvs.dtitd-AFWU7ACY.js +35 -0
  322. package/dist/tvs.dtsnvindel-G7XQEKEO.js +35 -0
  323. package/dist/tvs.dtsv-Y6BEY4J2.js +35 -0
  324. package/dist/tvs.numeric-GF4XF5OF.js +20 -0
  325. package/dist/tvs.samplelst-XRRWPC2E.js +98 -0
  326. package/dist/tvs.termCollection-PL4AN3GA.js +122 -0
  327. package/dist/tvs.termCollection-PL4AN3GA.js.map +7 -0
  328. package/dist/vocabulary-DJZWOO6Q.js +36 -0
  329. package/dist/wsi.direct-XUWANMKV.js +8343 -0
  330. package/package.json +2 -2
  331. package/dist/2dmaf-7VZ536T5.js +0 -1367
  332. package/dist/AggMatrixInput-UTUOXTGA.js +0 -406
  333. package/dist/AggregateMatrix-X75HUZYO.js +0 -41
  334. package/dist/AppHeader-X2DR6VSM.js +0 -830
  335. package/dist/BoxPlot-NQMPJICU.js +0 -1211
  336. package/dist/BoxPlot-NQMPJICU.js.map +0 -7
  337. package/dist/CorrelationVolcano-IDBUJH2E.js +0 -617
  338. package/dist/Cuminc-BYFIMOLO.js +0 -1219
  339. package/dist/DE-BI7DHHW4.js +0 -89
  340. package/dist/DEinput-W66CT4U2.js +0 -501
  341. package/dist/DM-62TEJA3C.js +0 -90
  342. package/dist/DifferentialAnalysis-PRTA6CYW.js +0 -239
  343. package/dist/Disco-4JQP3FRW.js +0 -3389
  344. package/dist/Disco.UI-6RHAA5KU.js +0 -243
  345. package/dist/DmrPlot-VYQYMTQ7.js +0 -362
  346. package/dist/GB-LULUM5LH.js +0 -1392
  347. package/dist/GSEA-DT3SYXOZ.js +0 -875
  348. package/dist/GeneExpInput-UILWAGRH.js +0 -42
  349. package/dist/Geomap-AFKEGMR5.js +0 -84
  350. package/dist/HicApp-APDL5POY.js +0 -2245
  351. package/dist/IDCViewer-DQXAORHT.js +0 -10812
  352. package/dist/NumBinaryEditor-OUVIOEH7.js +0 -279
  353. package/dist/NumBinaryEditor.unit.spec-VBX2X4CT.js +0 -312
  354. package/dist/NumContEditor-JVPRBZPW.js +0 -105
  355. package/dist/NumContEditor.unit.spec-EQNB6RMI.js +0 -164
  356. package/dist/NumCustomBinEditor-E2SXZDF4.js +0 -33
  357. package/dist/NumCustomBinEditor.unit.spec-VLR7MGNL.js +0 -397
  358. package/dist/NumDiscreteEditor-CUA55FU3.js +0 -170
  359. package/dist/NumDiscreteEditor.unit.spec-7IPCMUDQ.js +0 -233
  360. package/dist/NumRegularBinEditor-CWU7YBEP.js +0 -33
  361. package/dist/NumRegularBinEditor.unit.spec-RGV3EUPC.js +0 -278
  362. package/dist/NumSplineEditor-PC5X7AUJ.js +0 -210
  363. package/dist/NumSplineEditor.unit.spec-QCR3RL5W.js +0 -224
  364. package/dist/NumericDensity-CFUEE5ZN.js +0 -33
  365. package/dist/NumericDensity.unit.spec-JOCVEC32.js +0 -418
  366. package/dist/NumericHandler-VL2Z55KF.js +0 -34
  367. package/dist/NumericHandler.unit.spec-ULM5FSSA.js +0 -214
  368. package/dist/ProteomeInput-3WKTVCYT.js +0 -388
  369. package/dist/Regression-M7AQTYXL.js +0 -1416
  370. package/dist/RunChart2-54SVOXJR.js +0 -749
  371. package/dist/SC-QRWDGHB2.js +0 -1183
  372. package/dist/SC-QRWDGHB2.js.map +0 -7
  373. package/dist/Violin-2AD6QRJB.js +0 -1081
  374. package/dist/Violin-2AD6QRJB.js.map +0 -7
  375. package/dist/Volcano-T57VFSWR.js +0 -2456
  376. package/dist/Wsi-U3U3EILE.js +0 -629
  377. package/dist/adSandbox-S3JP7XF3.js +0 -33
  378. package/dist/animatedBubbleChart-LZKNERIM.js +0 -547
  379. package/dist/app-2MERLGNJ.js +0 -42
  380. package/dist/app-ZNSUUOFJ.js +0 -32
  381. package/dist/bam-ESRPS4TQ.js +0 -876
  382. package/dist/barchart-BPUEO4RK.js +0 -42
  383. package/dist/barchart2-Z36PNSM2.js +0 -309
  384. package/dist/block-GEG4UUOU.js +0 -6250
  385. package/dist/block.init-SB6OX35E.js +0 -33
  386. package/dist/block.mds.expressionrank-2JLMS334.js +0 -354
  387. package/dist/block.mds.geneboxplot-BZMGG6G3.js +0 -823
  388. package/dist/block.mds.junction-636PWE2O.js +0 -1539
  389. package/dist/block.mds.svcnv-S4L2HMZW.js +0 -6796
  390. package/dist/block.svg-A7EABUXG.js +0 -159
  391. package/dist/block.tk.aicheck-KNFJVUTW.js +0 -278
  392. package/dist/block.tk.ase-BPU25OLX.js +0 -360
  393. package/dist/block.tk.bam-VC4CZCUS.js +0 -1901
  394. package/dist/block.tk.bedgraphdot-FQS4Z4RC.js +0 -379
  395. package/dist/block.tk.bigwig.ui-7STXSD3X.js +0 -206
  396. package/dist/block.tk.hicstraw-CVDCOMPP.js +0 -818
  397. package/dist/block.tk.junction-PG4RZFH3.js +0 -2358
  398. package/dist/block.tk.junction.textmatrixui-JRW4ZJIK.js +0 -194
  399. package/dist/block.tk.ld-DLDP2NHJ.js +0 -94
  400. package/dist/block.tk.menu-PWGFMKBQ.js +0 -1024
  401. package/dist/block.tk.pgv-HOBOXQIN.js +0 -938
  402. package/dist/brainImaging-GUQTOHQF.js +0 -555
  403. package/dist/brainRegions-JWBIBCTG.js +0 -217
  404. package/dist/bubbleHeatmap-EUO3DUVT.js +0 -378
  405. package/dist/cellTypeBubbleHeatmap-TIBGPZTB.js +0 -278
  406. package/dist/chunk-3CGAABHZ.js +0 -176
  407. package/dist/chunk-3ELYMSGO.js +0 -26
  408. package/dist/chunk-3QL3U6FU.js +0 -2853
  409. package/dist/chunk-3QL3U6FU.js.map +0 -7
  410. package/dist/chunk-3TV5WWUN.js +0 -339
  411. package/dist/chunk-4Y5W26UF.js +0 -424
  412. package/dist/chunk-5XE3WSUX.js +0 -6360
  413. package/dist/chunk-665X7R7S.js +0 -382
  414. package/dist/chunk-67URJYN7.js +0 -84
  415. package/dist/chunk-6MQPXWOR.js +0 -55
  416. package/dist/chunk-7DSL65G7.js +0 -14
  417. package/dist/chunk-A6F3CSXP.js +0 -626
  418. package/dist/chunk-A6F3CSXP.js.map +0 -7
  419. package/dist/chunk-A7OWXDYA.js +0 -129
  420. package/dist/chunk-A7OWXDYA.js.map +0 -7
  421. package/dist/chunk-AB6JQFIQ.js +0 -129
  422. package/dist/chunk-ACOHIDWO.js +0 -240
  423. package/dist/chunk-AIVPAC5Q.js +0 -102
  424. package/dist/chunk-AKKJFMW5.js +0 -4375
  425. package/dist/chunk-AR2UIN77.js +0 -255
  426. package/dist/chunk-AXF6SVNQ.js +0 -56
  427. package/dist/chunk-BLYD6SQO.js +0 -98
  428. package/dist/chunk-BSWPONNA.js +0 -550
  429. package/dist/chunk-BX3P73XH.js +0 -299
  430. package/dist/chunk-CSAS3PVJ.js +0 -24956
  431. package/dist/chunk-CSAS3PVJ.js.map +0 -7
  432. package/dist/chunk-CW35X5ZL.js +0 -5071
  433. package/dist/chunk-D4XHYQNS.js +0 -281
  434. package/dist/chunk-DH74ZT37.js +0 -141
  435. package/dist/chunk-E76UYIT2.js +0 -182
  436. package/dist/chunk-ELJX3QIQ.js +0 -424
  437. package/dist/chunk-ELJX3QIQ.js.map +0 -7
  438. package/dist/chunk-EM6KUVI5.js +0 -194
  439. package/dist/chunk-F4GYWCRF.js +0 -302
  440. package/dist/chunk-FJ3JD7B3.js +0 -59
  441. package/dist/chunk-FW3ME75U.js +0 -54
  442. package/dist/chunk-FXQXCOII.js +0 -101
  443. package/dist/chunk-FXQXCOII.js.map +0 -7
  444. package/dist/chunk-G2X2PN74.js +0 -783
  445. package/dist/chunk-G3QKTYUT.js +0 -2676
  446. package/dist/chunk-G5USS6FI.js +0 -56
  447. package/dist/chunk-GLPTPX45.js +0 -203
  448. package/dist/chunk-GPY6SBCX.js +0 -339
  449. package/dist/chunk-GWHIKECP.js +0 -1731
  450. package/dist/chunk-GWHIKECP.js.map +0 -7
  451. package/dist/chunk-GWVVEOYX.js +0 -263
  452. package/dist/chunk-HDV3LHCN.js +0 -379
  453. package/dist/chunk-HGXSYPU6.js +0 -2327
  454. package/dist/chunk-HMKEVTRM.js +0 -446
  455. package/dist/chunk-HPCKKXRK.js +0 -1233
  456. package/dist/chunk-IAB2PRIH.js +0 -396
  457. package/dist/chunk-IAB2PRIH.js.map +0 -7
  458. package/dist/chunk-J5JBHGRN.js +0 -31
  459. package/dist/chunk-JHOGTGIS.js +0 -1988
  460. package/dist/chunk-KCX54MGS.js +0 -480
  461. package/dist/chunk-KVRSO2OZ.js +0 -34
  462. package/dist/chunk-M367Y7ML.js +0 -140
  463. package/dist/chunk-M4PUW3ML.js +0 -243
  464. package/dist/chunk-ME325OQC.js +0 -562
  465. package/dist/chunk-NJWNKBRC.js +0 -468
  466. package/dist/chunk-O5FUHCNU.js +0 -397
  467. package/dist/chunk-ODHQPTHU.js +0 -134
  468. package/dist/chunk-PTQ4GQCS.js +0 -692
  469. package/dist/chunk-PUSSP76H.js +0 -70
  470. package/dist/chunk-Q3PAXUCU.js +0 -54
  471. package/dist/chunk-QWBKN2IC.js +0 -80
  472. package/dist/chunk-R4E7BXC6.js +0 -49
  473. package/dist/chunk-SDYFM3UL.js +0 -274
  474. package/dist/chunk-SP6WCXY6.js +0 -217
  475. package/dist/chunk-SRTZQOK7.js +0 -102
  476. package/dist/chunk-T4RYLTR3.js +0 -178
  477. package/dist/chunk-TANWA6SU.js +0 -54
  478. package/dist/chunk-TBIHBC5V.js +0 -170
  479. package/dist/chunk-TGTCOCPF.js +0 -1278
  480. package/dist/chunk-TOFOT2BN.js +0 -294
  481. package/dist/chunk-UOYIPBTX.js +0 -217
  482. package/dist/chunk-USULBM4V.js +0 -2784
  483. package/dist/chunk-UYKJOBRO.js +0 -1616
  484. package/dist/chunk-UYKJOBRO.js.map +0 -7
  485. package/dist/chunk-V3WSMWBF.js +0 -123
  486. package/dist/chunk-VTHZGUSZ.js +0 -2146
  487. package/dist/chunk-VTHZGUSZ.js.map +0 -7
  488. package/dist/chunk-WMQDFVJK.js +0 -103
  489. package/dist/chunk-WTQQWFV4.js +0 -38
  490. package/dist/chunk-XDLKYVYU.js +0 -276
  491. package/dist/chunk-XNJN5J3U.js +0 -37
  492. package/dist/chunk-XQLOEZ7T.js +0 -158
  493. package/dist/chunk-XQLOEZ7T.js.map +0 -7
  494. package/dist/chunk-Y3SDMRDX.js +0 -119
  495. package/dist/chunk-Y5FE3G6J.js +0 -518
  496. package/dist/chunk-YMEWZVRG.js +0 -237
  497. package/dist/chunk-YPHFEKWI.js +0 -1339
  498. package/dist/chunk-Z4HW3FEE.js +0 -272
  499. package/dist/cohort-NYFUILFO.js +0 -70
  500. package/dist/condition-6M4AVISY.js +0 -327
  501. package/dist/controls-LMTWS3SY.js +0 -34
  502. package/dist/controls.config-4PK7HLFJ.js +0 -34
  503. package/dist/correlation-X6GB6ITK.js +0 -95
  504. package/dist/customdata.inputui-MDG3BTTG.js +0 -284
  505. package/dist/dataDownload-TFRI3VFM.js +0 -329
  506. package/dist/databrowser.ui-L2K7VVDW.js +0 -425
  507. package/dist/dictionary-MS6R3VNY.js +0 -113
  508. package/dist/dnaMethylation-2KYSQWNE.js +0 -33
  509. package/dist/dnaMethylation.integration.spec-2BHNKOGN.js +0 -198
  510. package/dist/dofetch-BETN7HEX.js +0 -48
  511. package/dist/e2pca-QC2EI5JM.js +0 -344
  512. package/dist/ep-BTRMR4OT.js +0 -1249
  513. package/dist/expclust.gdc.spec-C5ZMBCGO.js +0 -302
  514. package/dist/facet-LPXKLX53.js +0 -519
  515. package/dist/gb-PHJ2SM5D.js +0 -81
  516. package/dist/geneExpClustering-OXZJHEPD.js +0 -244
  517. package/dist/geneExpression-54RGEGML.js +0 -310
  518. package/dist/geneExpression-FLBQXMSX.js +0 -33
  519. package/dist/geneExpression.unit.spec-ZCE7G6HI.js +0 -128
  520. package/dist/geneORA-TELI5AFV.js +0 -273
  521. package/dist/geneRanking-7YZA5GNG.js +0 -548
  522. package/dist/geneVariant-NJYUEY4C.js +0 -36
  523. package/dist/geneVariant-VKWTXUMK.js +0 -289
  524. package/dist/geneVariant.integration.spec-RWYP523U.js +0 -503
  525. package/dist/genefusion.ui-B6J7I3RA.js +0 -303
  526. package/dist/geneset-VG4SFYML.js +0 -203
  527. package/dist/genomeBrowser.spec-5IS5Y2NG.js +0 -276
  528. package/dist/grin2-3T6KRC34.js +0 -70
  529. package/dist/grin2-FOOH736B.js +0 -949
  530. package/dist/hierCluster-WLAFGZAT.js +0 -55
  531. package/dist/hierCluster-XBL2TOOL.js +0 -59
  532. package/dist/hierCluster.config-VCBRBGDZ.js +0 -36
  533. package/dist/hierCluster.integration.spec-TNJD2QT6.js +0 -483
  534. package/dist/hierCluster.integration.spec-TNJD2QT6.js.map +0 -7
  535. package/dist/hierCluster.interactivity-PEEJ3BRC.js +0 -49
  536. package/dist/hierCluster.renderers-7ESGKIGM.js +0 -19
  537. package/dist/imagePlot-LWL6JMKM.js +0 -156
  538. package/dist/importPlot-CLBY6QZN.js +0 -8
  539. package/dist/isoformExpression-36P3BBN7.js +0 -35
  540. package/dist/isoformExpression.unit.spec-SF2SPTRC.js +0 -237
  541. package/dist/junction-B7DSIG4E.js +0 -36
  542. package/dist/junction.customTerm-7VZS4JDE.js +0 -16
  543. package/dist/junction.unit.spec-4MWU36MR.js +0 -182
  544. package/dist/launch.adhoc-3B34GV4S.js +0 -37
  545. package/dist/leftlabel.sample-6OM5H67E.js +0 -258
  546. package/dist/lollipop-SL2F5G6K.js +0 -166
  547. package/dist/maf-FRYGN5GR.js +0 -455
  548. package/dist/maftimeline-3UFWS73J.js +0 -587
  549. package/dist/matrix-DDKSOJ4C.js +0 -59
  550. package/dist/matrix-H2ZH2QKC.js +0 -54
  551. package/dist/matrix.cells-JTMC35SK.js +0 -26
  552. package/dist/matrix.config-EUBXWEBS.js +0 -37
  553. package/dist/matrix.data-CO5RBWY5.js +0 -23
  554. package/dist/matrix.dom-2SA43BPT.js +0 -11
  555. package/dist/matrix.groups-AKOJ2W6U.js +0 -26
  556. package/dist/matrix.integration.spec-66KNZO3S.js +0 -3160
  557. package/dist/matrix.interactivity-DY5YJIYB.js +0 -37
  558. package/dist/matrix.layout-MQQNHBI2.js +0 -39
  559. package/dist/matrix.legend-CGU7T6GF.js +0 -20
  560. package/dist/matrix.renderers-HC7PJN4B.js +0 -34
  561. package/dist/matrix.serieses-W4L6ZO37.js +0 -19
  562. package/dist/matrix.sort-T74DWFB2.js +0 -26
  563. package/dist/matrix.sort.unit.spec-EQEHQXTO.js +0 -468
  564. package/dist/matrix.sorterUi-GFQG4HFV.js +0 -16
  565. package/dist/matrix.sorterUi.unit.spec-XQHFOEYE.js +0 -338
  566. package/dist/matrix.unit.spec-4ZWUGZUC.js +0 -150
  567. package/dist/mavb-3CL5OHWB.js +0 -727
  568. package/dist/mds.fimo-2RFJQKJM.js +0 -513
  569. package/dist/mds.samplescatterplot-X6CXMY4C.js +0 -1545
  570. package/dist/mds.survivalplot-57NIKSSH.js +0 -477
  571. package/dist/multivalue-3TUGYL4J.js +0 -83
  572. package/dist/numericDictTermCluster-RLX5CLTN.js +0 -63
  573. package/dist/oncomatrix-COK76MJN.js +0 -290
  574. package/dist/oncomatrix.spec-SO3ZN5BF.js +0 -443
  575. package/dist/plot.2dvaf-TETCE4VG.js +0 -372
  576. package/dist/plot.app-5YUAVZA4.js +0 -36
  577. package/dist/plot.barplot-JUGY5Z7A.js +0 -97
  578. package/dist/plot.boxplot-QZXICT7J.js +0 -146
  579. package/dist/plot.brainImaging-2F6E6QS4.js +0 -51
  580. package/dist/plot.disco-H4P4B6QS.js +0 -99
  581. package/dist/plot.ssgq-LEQF3STZ.js +0 -134
  582. package/dist/plot.vaf2cov-UBMD2CN7.js +0 -253
  583. package/dist/polar2-AVEZM2T5.js +0 -232
  584. package/dist/profileForms-CUSUGTPC.js +0 -941
  585. package/dist/profilePlot-67Z7AXQ4.js +0 -49
  586. package/dist/proteinView-7K7VHGX3.js +0 -1357
  587. package/dist/proteomeCohortCompare-MRGH6HHI.js +0 -912
  588. package/dist/pseudbulk.unit.spec-ZHDL6GIM.js +0 -86
  589. package/dist/pseudobulk-ZNXPF7QB.js +0 -35
  590. package/dist/qualitative-QXMZHDWU.js +0 -38
  591. package/dist/radar2-QJDGNLED.js +0 -327
  592. package/dist/radarFacility2-LGGOOWX4.js +0 -335
  593. package/dist/rememberedGvQ.unit.spec-YKUMMYFT.js +0 -211
  594. package/dist/render-LSSRZJY3.js +0 -33
  595. package/dist/report-TTECPO44.js +0 -217
  596. package/dist/sampleView-EFS2UBRS.js +0 -43
  597. package/dist/samplelst-FXULLJBO.js +0 -106
  598. package/dist/samplematrix-MNFCXOWO.js +0 -2193
  599. package/dist/sc-2BUOXML2.js +0 -81
  600. package/dist/scatter-AVRTALYY.js +0 -925
  601. package/dist/scatter-CPEIVL3K.js +0 -88
  602. package/dist/selectGenomeWithTklst-3BG2ZPPN.js +0 -129
  603. package/dist/singleCellCellType-QLAEBVN2.js +0 -33
  604. package/dist/singleCellCellType.unit.spec-P4NAWYKL.js +0 -154
  605. package/dist/singleCellGeneExpression-IZ2PMDDL.js +0 -33
  606. package/dist/singleCellGeneExpression.unit.spec-DKBZICJM.js +0 -148
  607. package/dist/singleCellNumericValue-NB3QFH7H.js +0 -33
  608. package/dist/singleCellNumericValue.unit.spec-ZKK2KWRQ.js +0 -416
  609. package/dist/singleCellPlot-ZU655L4Z.js +0 -48
  610. package/dist/singlecell-NKPTXVHW.js +0 -1566
  611. package/dist/singlecell-PEIEFXVU.js +0 -81
  612. package/dist/snp-G55JGINX.js +0 -33
  613. package/dist/snp.unit.spec-47CCZKJO.js +0 -171
  614. package/dist/snplocus-TRVAEAPF.js +0 -203
  615. package/dist/spliceevent.a53ss.diagram-FL2R6F22.js +0 -146
  616. package/dist/spliceevent.exonskip.diagram-XDZWTJXR.js +0 -278
  617. package/dist/spliceevent.noeventdiagram-L322N534.js +0 -455
  618. package/dist/ssGSEA-DZY4LFQY.js +0 -33
  619. package/dist/ssGSEA.unit.spec-P6C3VTVZ.js +0 -83
  620. package/dist/stattable-R7O6OIMB.js +0 -117
  621. package/dist/studyCatalog-OMDE4JRD.js +0 -414
  622. package/dist/summarizeCnvGeneexp-A7HW6FJI.js +0 -158
  623. package/dist/summarizeGeneexpSurvival-ODI4HGFH.js +0 -105
  624. package/dist/summarizeMutationCnv-C2YB73OL.js +0 -159
  625. package/dist/summarizeMutationDiagnosis-4Y322NYU.js +0 -35
  626. package/dist/summarizeMutationSurvival-7IHNURLC.js +0 -99
  627. package/dist/summary-E4L5MZTF.js +0 -44
  628. package/dist/summary.integration.spec-SDCGE6BQ.js +0 -409
  629. package/dist/summaryInput-DHIMU5DM.js +0 -242
  630. package/dist/sunburst-ULNPFEAM.js +0 -278
  631. package/dist/survival-CU4N5KZO.js +0 -53
  632. package/dist/survival-KWWH6REE.js +0 -1248
  633. package/dist/survival.integration.spec-UW6SYVLP.js +0 -613
  634. package/dist/svgraph-HFI6NNF3.js +0 -1382
  635. package/dist/svmr-VHS7Z4SO.js +0 -3837
  636. package/dist/table-GJUXHKQI.js +0 -197
  637. package/dist/termCollection-CCZ4BFIU.js +0 -33
  638. package/dist/termCollection-O5CQ472U.js +0 -252
  639. package/dist/termCollection.unit.spec-KR5G6JFU.js +0 -299
  640. package/dist/termCollectionFractionSelection-IKU5MFBT.js +0 -42
  641. package/dist/termCollectionFractionSelection.unit.spec-6ZWHNGES.js +0 -188
  642. package/dist/tk-3DLMAFW7.js +0 -41
  643. package/dist/tk-CAYWF7LX.js +0 -1121
  644. package/dist/tp.ui-NF5ZYOHW.js +0 -1454
  645. package/dist/tvs.density-V6ZXSFGF.js +0 -19
  646. package/dist/tvs.dt-43A4SSLG.js +0 -34
  647. package/dist/tvs.dtcnv.categorical-DYXHUNP2.js +0 -35
  648. package/dist/tvs.dtcnv.continuous-NOKNP4UG.js +0 -67
  649. package/dist/tvs.dtfusion-4NAOCC2X.js +0 -35
  650. package/dist/tvs.dtitd-SZC6EITI.js +0 -35
  651. package/dist/tvs.dtsnvindel-EYSBCNQK.js +0 -35
  652. package/dist/tvs.dtsv-VSPWIIFO.js +0 -35
  653. package/dist/tvs.numeric-M5LH3PRH.js +0 -20
  654. package/dist/tvs.samplelst-3YQ4GKNG.js +0 -98
  655. package/dist/tvs.termCollection-EVM4ATPW.js +0 -124
  656. package/dist/tvs.termCollection-EVM4ATPW.js.map +0 -7
  657. package/dist/vocabulary-HCPEIO2P.js +0 -36
  658. package/dist/wsi.direct-K2J6GGWY.js +0 -8343
  659. /package/dist/{2dmaf-7VZ536T5.js.map → 2dmaf-FEZRNHDF.js.map} +0 -0
  660. /package/dist/{AggMatrixInput-UTUOXTGA.js.map → AggMatrixInput-6FJIELYO.js.map} +0 -0
  661. /package/dist/{AggregateMatrix-X75HUZYO.js.map → AggregateMatrix-MUPBUGIZ.js.map} +0 -0
  662. /package/dist/{AppHeader-X2DR6VSM.js.map → AppHeader-ZTNZ62UL.js.map} +0 -0
  663. /package/dist/{CorrelationVolcano-IDBUJH2E.js.map → CorrelationVolcano-42NYXAXG.js.map} +0 -0
  664. /package/dist/{Cuminc-BYFIMOLO.js.map → Cuminc-6AKLT6HF.js.map} +0 -0
  665. /package/dist/{DE-BI7DHHW4.js.map → DE-KJHFZWND.js.map} +0 -0
  666. /package/dist/{DEinput-W66CT4U2.js.map → DEinput-HXB3LYZW.js.map} +0 -0
  667. /package/dist/{DM-62TEJA3C.js.map → DM-AAHX4PLH.js.map} +0 -0
  668. /package/dist/{DifferentialAnalysis-PRTA6CYW.js.map → DifferentialAnalysis-JX4EDEOY.js.map} +0 -0
  669. /package/dist/{Disco-4JQP3FRW.js.map → Disco-GXKO4QQH.js.map} +0 -0
  670. /package/dist/{Disco.UI-6RHAA5KU.js.map → Disco.UI-DGD4RXJP.js.map} +0 -0
  671. /package/dist/{DmrPlot-VYQYMTQ7.js.map → DmrPlot-DQ3XTMTN.js.map} +0 -0
  672. /package/dist/{GB-LULUM5LH.js.map → GB-OUWNNBBK.js.map} +0 -0
  673. /package/dist/{GSEA-DT3SYXOZ.js.map → GSEA-DSKGFAPG.js.map} +0 -0
  674. /package/dist/{GeneExpInput-UILWAGRH.js.map → GeneExpInput-FZLOBE2Q.js.map} +0 -0
  675. /package/dist/{Geomap-AFKEGMR5.js.map → Geomap-GP5KD3OX.js.map} +0 -0
  676. /package/dist/{HicApp-APDL5POY.js.map → HicApp-2N6WYWZX.js.map} +0 -0
  677. /package/dist/{IDCViewer-DQXAORHT.js.map → IDCViewer-MSUC7IXX.js.map} +0 -0
  678. /package/dist/{NumBinaryEditor-OUVIOEH7.js.map → NumBinaryEditor-C4G2IH36.js.map} +0 -0
  679. /package/dist/{NumBinaryEditor.unit.spec-VBX2X4CT.js.map → NumBinaryEditor.unit.spec-ZAVAUGXA.js.map} +0 -0
  680. /package/dist/{NumContEditor-JVPRBZPW.js.map → NumContEditor-VEEMMWHX.js.map} +0 -0
  681. /package/dist/{NumContEditor.unit.spec-EQNB6RMI.js.map → NumContEditor.unit.spec-65ORC42O.js.map} +0 -0
  682. /package/dist/{NumCustomBinEditor-E2SXZDF4.js.map → NumCustomBinEditor-YIUHJAXP.js.map} +0 -0
  683. /package/dist/{NumCustomBinEditor.unit.spec-VLR7MGNL.js.map → NumCustomBinEditor.unit.spec-NT5VK2LO.js.map} +0 -0
  684. /package/dist/{NumDiscreteEditor-CUA55FU3.js.map → NumDiscreteEditor-A4WELAJH.js.map} +0 -0
  685. /package/dist/{NumDiscreteEditor.unit.spec-7IPCMUDQ.js.map → NumDiscreteEditor.unit.spec-7QABM6KK.js.map} +0 -0
  686. /package/dist/{NumRegularBinEditor-CWU7YBEP.js.map → NumRegularBinEditor-IPVPLSQY.js.map} +0 -0
  687. /package/dist/{NumRegularBinEditor.unit.spec-RGV3EUPC.js.map → NumRegularBinEditor.unit.spec-Q4DMWATB.js.map} +0 -0
  688. /package/dist/{NumSplineEditor-PC5X7AUJ.js.map → NumSplineEditor-5E6CIWLP.js.map} +0 -0
  689. /package/dist/{NumSplineEditor.unit.spec-QCR3RL5W.js.map → NumSplineEditor.unit.spec-DHJF5F6H.js.map} +0 -0
  690. /package/dist/{NumericDensity-CFUEE5ZN.js.map → NumericDensity-GXMWWK2A.js.map} +0 -0
  691. /package/dist/{NumericDensity.unit.spec-JOCVEC32.js.map → NumericDensity.unit.spec-OAPOMSEW.js.map} +0 -0
  692. /package/dist/{NumericHandler-VL2Z55KF.js.map → NumericHandler-H5WHGFXD.js.map} +0 -0
  693. /package/dist/{NumericHandler.unit.spec-ULM5FSSA.js.map → NumericHandler.unit.spec-PBNOJEMS.js.map} +0 -0
  694. /package/dist/{ProteomeInput-3WKTVCYT.js.map → ProteomeInput-ZA7R5S43.js.map} +0 -0
  695. /package/dist/{Regression-M7AQTYXL.js.map → Regression-WSWTSXFX.js.map} +0 -0
  696. /package/dist/{RunChart2-54SVOXJR.js.map → RunChart2-J5CTJI5C.js.map} +0 -0
  697. /package/dist/{Volcano-T57VFSWR.js.map → Volcano-4IEQIEDS.js.map} +0 -0
  698. /package/dist/{Wsi-U3U3EILE.js.map → Wsi-LJ6AY5RI.js.map} +0 -0
  699. /package/dist/{adSandbox-S3JP7XF3.js.map → adSandbox-EIN4KEML.js.map} +0 -0
  700. /package/dist/{animatedBubbleChart-LZKNERIM.js.map → animatedBubbleChart-LINYUKMD.js.map} +0 -0
  701. /package/dist/{app-2MERLGNJ.js.map → app-SE7UQ5DB.js.map} +0 -0
  702. /package/dist/{app-ZNSUUOFJ.js.map → app-VGMZNGWP.js.map} +0 -0
  703. /package/dist/{bam-ESRPS4TQ.js.map → bam-ZXEZWRSZ.js.map} +0 -0
  704. /package/dist/{barchart-BPUEO4RK.js.map → barchart-N4B4C2FO.js.map} +0 -0
  705. /package/dist/{barchart2-Z36PNSM2.js.map → barchart2-EDVEWTVX.js.map} +0 -0
  706. /package/dist/{block-GEG4UUOU.js.map → block-E7YUGCHL.js.map} +0 -0
  707. /package/dist/{block.init-SB6OX35E.js.map → block.init-FSOCF2IM.js.map} +0 -0
  708. /package/dist/{block.mds.expressionrank-2JLMS334.js.map → block.mds.expressionrank-EDBTITXU.js.map} +0 -0
  709. /package/dist/{block.mds.geneboxplot-BZMGG6G3.js.map → block.mds.geneboxplot-GG5672SY.js.map} +0 -0
  710. /package/dist/{block.mds.junction-636PWE2O.js.map → block.mds.junction-HUC4S24K.js.map} +0 -0
  711. /package/dist/{block.mds.svcnv-S4L2HMZW.js.map → block.mds.svcnv-EQHYCIBU.js.map} +0 -0
  712. /package/dist/{block.svg-A7EABUXG.js.map → block.svg-HBVPUQJ2.js.map} +0 -0
  713. /package/dist/{block.tk.aicheck-KNFJVUTW.js.map → block.tk.aicheck-TRJ5IIWZ.js.map} +0 -0
  714. /package/dist/{block.tk.ase-BPU25OLX.js.map → block.tk.ase-COV7YYYO.js.map} +0 -0
  715. /package/dist/{block.tk.bam-VC4CZCUS.js.map → block.tk.bam-MDSLY6NH.js.map} +0 -0
  716. /package/dist/{block.tk.bedgraphdot-FQS4Z4RC.js.map → block.tk.bedgraphdot-MKWEL53X.js.map} +0 -0
  717. /package/dist/{block.tk.bigwig.ui-7STXSD3X.js.map → block.tk.bigwig.ui-UKKJX7TA.js.map} +0 -0
  718. /package/dist/{block.tk.hicstraw-CVDCOMPP.js.map → block.tk.hicstraw-6LNXEIOF.js.map} +0 -0
  719. /package/dist/{block.tk.junction-PG4RZFH3.js.map → block.tk.junction-F3SERFFD.js.map} +0 -0
  720. /package/dist/{block.tk.junction.textmatrixui-JRW4ZJIK.js.map → block.tk.junction.textmatrixui-2XUMSKLS.js.map} +0 -0
  721. /package/dist/{block.tk.ld-DLDP2NHJ.js.map → block.tk.ld-COP5RUJJ.js.map} +0 -0
  722. /package/dist/{block.tk.menu-PWGFMKBQ.js.map → block.tk.menu-SRDPD44N.js.map} +0 -0
  723. /package/dist/{block.tk.pgv-HOBOXQIN.js.map → block.tk.pgv-3SVINTXN.js.map} +0 -0
  724. /package/dist/{brainImaging-GUQTOHQF.js.map → brainImaging-UNBA4KA3.js.map} +0 -0
  725. /package/dist/{brainRegions-JWBIBCTG.js.map → brainRegions-DC6TQB53.js.map} +0 -0
  726. /package/dist/{bubbleHeatmap-EUO3DUVT.js.map → bubbleHeatmap-X3W3AZJY.js.map} +0 -0
  727. /package/dist/{cellTypeBubbleHeatmap-TIBGPZTB.js.map → cellTypeBubbleHeatmap-LFI6TGOO.js.map} +0 -0
  728. /package/dist/{chunk-SRTZQOK7.js.map → chunk-2ANFUNS3.js.map} +0 -0
  729. /package/dist/{chunk-TGTCOCPF.js.map → chunk-2G4SFRWC.js.map} +0 -0
  730. /package/dist/{chunk-Q3PAXUCU.js.map → chunk-2WKGE7BO.js.map} +0 -0
  731. /package/dist/{chunk-YMEWZVRG.js.map → chunk-3CGMCYZB.js.map} +0 -0
  732. /package/dist/{chunk-6MQPXWOR.js.map → chunk-3I4DBVLM.js.map} +0 -0
  733. /package/dist/{chunk-O5FUHCNU.js.map → chunk-42VFF74T.js.map} +0 -0
  734. /package/dist/{chunk-BLYD6SQO.js.map → chunk-4HTRCXLS.js.map} +0 -0
  735. /package/dist/{chunk-D4XHYQNS.js.map → chunk-55T2AMJ3.js.map} +0 -0
  736. /package/dist/{chunk-GLPTPX45.js.map → chunk-5JDG5NNA.js.map} +0 -0
  737. /package/dist/{chunk-3TV5WWUN.js.map → chunk-6AFMWQXZ.js.map} +0 -0
  738. /package/dist/{chunk-TOFOT2BN.js.map → chunk-6ECKCC4X.js.map} +0 -0
  739. /package/dist/{chunk-BX3P73XH.js.map → chunk-6QMC7LFA.js.map} +0 -0
  740. /package/dist/{chunk-7DSL65G7.js.map → chunk-72L6NTNT.js.map} +0 -0
  741. /package/dist/{chunk-EM6KUVI5.js.map → chunk-7ISAV37C.js.map} +0 -0
  742. /package/dist/{chunk-R4E7BXC6.js.map → chunk-A32XQLMP.js.map} +0 -0
  743. /package/dist/{chunk-SDYFM3UL.js.map → chunk-A3MYBXG3.js.map} +0 -0
  744. /package/dist/{chunk-YPHFEKWI.js.map → chunk-AU3Y6IQF.js.map} +0 -0
  745. /package/dist/{chunk-NJWNKBRC.js.map → chunk-AXL3CC4U.js.map} +0 -0
  746. /package/dist/{chunk-3ELYMSGO.js.map → chunk-BSWVDH75.js.map} +0 -0
  747. /package/dist/{chunk-4Y5W26UF.js.map → chunk-CME6DYDH.js.map} +0 -0
  748. /package/dist/{chunk-Y3SDMRDX.js.map → chunk-DD3DWHUY.js.map} +0 -0
  749. /package/dist/{chunk-HGXSYPU6.js.map → chunk-DKED35KW.js.map} +0 -0
  750. /package/dist/{chunk-AR2UIN77.js.map → chunk-DPGALT5N.js.map} +0 -0
  751. /package/dist/{chunk-AB6JQFIQ.js.map → chunk-DPTGY4BW.js.map} +0 -0
  752. /package/dist/{chunk-HDV3LHCN.js.map → chunk-DQD4MTK4.js.map} +0 -0
  753. /package/dist/{chunk-M4PUW3ML.js.map → chunk-EFLRT7JY.js.map} +0 -0
  754. /package/dist/{chunk-KVRSO2OZ.js.map → chunk-EMSO3BNW.js.map} +0 -0
  755. /package/dist/{chunk-XDLKYVYU.js.map → chunk-F5QB5YEE.js.map} +0 -0
  756. /package/dist/{chunk-E76UYIT2.js.map → chunk-FKSR53VK.js.map} +0 -0
  757. /package/dist/{chunk-T4RYLTR3.js.map → chunk-FSWBNSQD.js.map} +0 -0
  758. /package/dist/{chunk-XNJN5J3U.js.map → chunk-G6ZIO5T3.js.map} +0 -0
  759. /package/dist/{chunk-ME325OQC.js.map → chunk-HTZJQNHP.js.map} +0 -0
  760. /package/dist/{chunk-G5USS6FI.js.map → chunk-ITYNHDDD.js.map} +0 -0
  761. /package/dist/{chunk-TBIHBC5V.js.map → chunk-IWVCFZHQ.js.map} +0 -0
  762. /package/dist/{chunk-GWVVEOYX.js.map → chunk-J4WRX5G6.js.map} +0 -0
  763. /package/dist/{chunk-GPY6SBCX.js.map → chunk-JZLIHI6A.js.map} +0 -0
  764. /package/dist/{chunk-WMQDFVJK.js.map → chunk-KJGYGPJZ.js.map} +0 -0
  765. /package/dist/{chunk-UOYIPBTX.js.map → chunk-L3UFI52T.js.map} +0 -0
  766. /package/dist/{chunk-PTQ4GQCS.js.map → chunk-L4ZPMF7E.js.map} +0 -0
  767. /package/dist/{chunk-F4GYWCRF.js.map → chunk-L62JI5UL.js.map} +0 -0
  768. /package/dist/{chunk-Y5FE3G6J.js.map → chunk-MRPYHLFW.js.map} +0 -0
  769. /package/dist/{chunk-G2X2PN74.js.map → chunk-MVWJHZ5G.js.map} +0 -0
  770. /package/dist/{chunk-ODHQPTHU.js.map → chunk-NGWU4QLU.js.map} +0 -0
  771. /package/dist/{chunk-3CGAABHZ.js.map → chunk-OC2FSBFB.js.map} +0 -0
  772. /package/dist/{chunk-M367Y7ML.js.map → chunk-OGRDLK57.js.map} +0 -0
  773. /package/dist/{chunk-5XE3WSUX.js.map → chunk-OYBYKZUR.js.map} +0 -0
  774. /package/dist/{chunk-665X7R7S.js.map → chunk-PFRPC2SY.js.map} +0 -0
  775. /package/dist/{chunk-Z4HW3FEE.js.map → chunk-PLHOCPJD.js.map} +0 -0
  776. /package/dist/{chunk-AIVPAC5Q.js.map → chunk-PQDZLOY7.js.map} +0 -0
  777. /package/dist/{chunk-PUSSP76H.js.map → chunk-QDNUIS2Y.js.map} +0 -0
  778. /package/dist/{chunk-G3QKTYUT.js.map → chunk-RHOMR2GY.js.map} +0 -0
  779. /package/dist/{chunk-J5JBHGRN.js.map → chunk-SKF6HQ74.js.map} +0 -0
  780. /package/dist/{chunk-HMKEVTRM.js.map → chunk-SPFK5XZH.js.map} +0 -0
  781. /package/dist/{chunk-DH74ZT37.js.map → chunk-SQGAWR2L.js.map} +0 -0
  782. /package/dist/{chunk-67URJYN7.js.map → chunk-TGKWEAUE.js.map} +0 -0
  783. /package/dist/{chunk-HPCKKXRK.js.map → chunk-UKOOGNUF.js.map} +0 -0
  784. /package/dist/{chunk-V3WSMWBF.js.map → chunk-UL5PEVZW.js.map} +0 -0
  785. /package/dist/{chunk-USULBM4V.js.map → chunk-UTMIX2H2.js.map} +0 -0
  786. /package/dist/{chunk-AXF6SVNQ.js.map → chunk-UZNFOCE7.js.map} +0 -0
  787. /package/dist/{chunk-BSWPONNA.js.map → chunk-V7UVHM57.js.map} +0 -0
  788. /package/dist/{chunk-JHOGTGIS.js.map → chunk-VP2JWT5W.js.map} +0 -0
  789. /package/dist/{chunk-KCX54MGS.js.map → chunk-VSTHBKQW.js.map} +0 -0
  790. /package/dist/{chunk-WTQQWFV4.js.map → chunk-W7A4QXZ7.js.map} +0 -0
  791. /package/dist/{chunk-FJ3JD7B3.js.map → chunk-WKCVZIN7.js.map} +0 -0
  792. /package/dist/{chunk-TANWA6SU.js.map → chunk-X7TJBXJJ.js.map} +0 -0
  793. /package/dist/{chunk-AKKJFMW5.js.map → chunk-XEEMCYP6.js.map} +0 -0
  794. /package/dist/{chunk-FW3ME75U.js.map → chunk-XTQWAVWJ.js.map} +0 -0
  795. /package/dist/{chunk-CW35X5ZL.js.map → chunk-YAN2MOON.js.map} +0 -0
  796. /package/dist/{chunk-ACOHIDWO.js.map → chunk-YCORHJ64.js.map} +0 -0
  797. /package/dist/{chunk-QWBKN2IC.js.map → chunk-YOBTHZVU.js.map} +0 -0
  798. /package/dist/{chunk-SP6WCXY6.js.map → chunk-ZTT6ZHU5.js.map} +0 -0
  799. /package/dist/{cohort-NYFUILFO.js.map → cohort-RF4FT2NT.js.map} +0 -0
  800. /package/dist/{condition-6M4AVISY.js.map → condition-WXE2CFYT.js.map} +0 -0
  801. /package/dist/{controls-LMTWS3SY.js.map → controls-AYF4H7UG.js.map} +0 -0
  802. /package/dist/{controls.config-4PK7HLFJ.js.map → controls.config-TXZKQNYC.js.map} +0 -0
  803. /package/dist/{correlation-X6GB6ITK.js.map → correlation-UAYMVVUS.js.map} +0 -0
  804. /package/dist/{customdata.inputui-MDG3BTTG.js.map → customdata.inputui-I7RFOGYM.js.map} +0 -0
  805. /package/dist/{dataDownload-TFRI3VFM.js.map → dataDownload-4AGSDSEO.js.map} +0 -0
  806. /package/dist/{databrowser.ui-L2K7VVDW.js.map → databrowser.ui-RGJEA2BI.js.map} +0 -0
  807. /package/dist/{dictionary-MS6R3VNY.js.map → dictionary-AWWQXIRP.js.map} +0 -0
  808. /package/dist/{dnaMethylation-2KYSQWNE.js.map → dnaMethylation-PICKZS2M.js.map} +0 -0
  809. /package/dist/{dnaMethylation.integration.spec-2BHNKOGN.js.map → dnaMethylation.integration.spec-JUSB3CFZ.js.map} +0 -0
  810. /package/dist/{dofetch-BETN7HEX.js.map → dofetch-ZJMKEYN2.js.map} +0 -0
  811. /package/dist/{e2pca-QC2EI5JM.js.map → e2pca-K4W7ZJZG.js.map} +0 -0
  812. /package/dist/{ep-BTRMR4OT.js.map → ep-OY5YQMEF.js.map} +0 -0
  813. /package/dist/{expclust.gdc.spec-C5ZMBCGO.js.map → expclust.gdc.spec-LYDBM3TZ.js.map} +0 -0
  814. /package/dist/{facet-LPXKLX53.js.map → facet-7NJHLLCZ.js.map} +0 -0
  815. /package/dist/{gb-PHJ2SM5D.js.map → gb-COV44BMA.js.map} +0 -0
  816. /package/dist/{geneExpClustering-OXZJHEPD.js.map → geneExpClustering-EQR5XX4J.js.map} +0 -0
  817. /package/dist/{geneExpression-54RGEGML.js.map → geneExpression-2BNDQ6S6.js.map} +0 -0
  818. /package/dist/{geneExpression-FLBQXMSX.js.map → geneExpression-PGB6WF5H.js.map} +0 -0
  819. /package/dist/{geneExpression.unit.spec-ZCE7G6HI.js.map → geneExpression.unit.spec-OUNGGOJP.js.map} +0 -0
  820. /package/dist/{geneORA-TELI5AFV.js.map → geneORA-EKNEVQOS.js.map} +0 -0
  821. /package/dist/{geneRanking-7YZA5GNG.js.map → geneRanking-XUXLRERA.js.map} +0 -0
  822. /package/dist/{geneVariant-NJYUEY4C.js.map → geneVariant-JZDYV6LS.js.map} +0 -0
  823. /package/dist/{geneVariant-VKWTXUMK.js.map → geneVariant-KPZ2FYLK.js.map} +0 -0
  824. /package/dist/{geneVariant.integration.spec-RWYP523U.js.map → geneVariant.integration.spec-ISMLGTKC.js.map} +0 -0
  825. /package/dist/{genefusion.ui-B6J7I3RA.js.map → genefusion.ui-GRUXFC4U.js.map} +0 -0
  826. /package/dist/{geneset-VG4SFYML.js.map → geneset-RM4XIX23.js.map} +0 -0
  827. /package/dist/{genomeBrowser.spec-5IS5Y2NG.js.map → genomeBrowser.spec-X7EOK2LS.js.map} +0 -0
  828. /package/dist/{grin2-FOOH736B.js.map → grin2-5XRUMYQO.js.map} +0 -0
  829. /package/dist/{grin2-3T6KRC34.js.map → grin2-SWZLKD52.js.map} +0 -0
  830. /package/dist/{hierCluster-WLAFGZAT.js.map → hierCluster-I6T4XD3P.js.map} +0 -0
  831. /package/dist/{hierCluster-XBL2TOOL.js.map → hierCluster-XVDGUOW7.js.map} +0 -0
  832. /package/dist/{hierCluster.config-VCBRBGDZ.js.map → hierCluster.config-66CKAAPG.js.map} +0 -0
  833. /package/dist/{hierCluster.interactivity-PEEJ3BRC.js.map → hierCluster.interactivity-B5ZNFF4R.js.map} +0 -0
  834. /package/dist/{hierCluster.renderers-7ESGKIGM.js.map → hierCluster.renderers-R2DTKTLI.js.map} +0 -0
  835. /package/dist/{imagePlot-LWL6JMKM.js.map → imagePlot-ZM4IVDJT.js.map} +0 -0
  836. /package/dist/{importPlot-CLBY6QZN.js.map → importPlot-FQ65CZRI.js.map} +0 -0
  837. /package/dist/{isoformExpression-36P3BBN7.js.map → isoformExpression-BFCLGD2U.js.map} +0 -0
  838. /package/dist/{isoformExpression.unit.spec-SF2SPTRC.js.map → isoformExpression.unit.spec-KYI4HI7U.js.map} +0 -0
  839. /package/dist/{junction-B7DSIG4E.js.map → junction-BKH6RWOP.js.map} +0 -0
  840. /package/dist/{junction.customTerm-7VZS4JDE.js.map → junction.customTerm-VNQKP5I4.js.map} +0 -0
  841. /package/dist/{junction.unit.spec-4MWU36MR.js.map → junction.unit.spec-MQIHKSNE.js.map} +0 -0
  842. /package/dist/{launch.adhoc-3B34GV4S.js.map → launch.adhoc-AHTCA2BP.js.map} +0 -0
  843. /package/dist/{leftlabel.sample-6OM5H67E.js.map → leftlabel.sample-LIBMKP22.js.map} +0 -0
  844. /package/dist/{lollipop-SL2F5G6K.js.map → lollipop-26ZQH3EL.js.map} +0 -0
  845. /package/dist/{maf-FRYGN5GR.js.map → maf-W3W2XJ5B.js.map} +0 -0
  846. /package/dist/{maftimeline-3UFWS73J.js.map → maftimeline-LCJD5O2M.js.map} +0 -0
  847. /package/dist/{matrix-DDKSOJ4C.js.map → matrix-H634EZWK.js.map} +0 -0
  848. /package/dist/{matrix-H2ZH2QKC.js.map → matrix-O2AINT5M.js.map} +0 -0
  849. /package/dist/{matrix.cells-JTMC35SK.js.map → matrix.cells-3U3CUU5I.js.map} +0 -0
  850. /package/dist/{matrix.config-EUBXWEBS.js.map → matrix.config-F6IPB5B5.js.map} +0 -0
  851. /package/dist/{matrix.data-CO5RBWY5.js.map → matrix.data-KQNBNYC6.js.map} +0 -0
  852. /package/dist/{matrix.dom-2SA43BPT.js.map → matrix.dom-YQNX4IQO.js.map} +0 -0
  853. /package/dist/{matrix.groups-AKOJ2W6U.js.map → matrix.groups-QFL2ZDHD.js.map} +0 -0
  854. /package/dist/{matrix.integration.spec-66KNZO3S.js.map → matrix.integration.spec-OVGSXJWO.js.map} +0 -0
  855. /package/dist/{matrix.interactivity-DY5YJIYB.js.map → matrix.interactivity-Q5ODZPDL.js.map} +0 -0
  856. /package/dist/{matrix.layout-MQQNHBI2.js.map → matrix.layout-YPYM7FRY.js.map} +0 -0
  857. /package/dist/{matrix.legend-CGU7T6GF.js.map → matrix.legend-ZO57ENXP.js.map} +0 -0
  858. /package/dist/{matrix.renderers-HC7PJN4B.js.map → matrix.renderers-NIGONKWO.js.map} +0 -0
  859. /package/dist/{matrix.serieses-W4L6ZO37.js.map → matrix.serieses-ZQD2U6RF.js.map} +0 -0
  860. /package/dist/{matrix.sort-T74DWFB2.js.map → matrix.sort-RZU65LR2.js.map} +0 -0
  861. /package/dist/{matrix.sort.unit.spec-EQEHQXTO.js.map → matrix.sort.unit.spec-NDFK2A5C.js.map} +0 -0
  862. /package/dist/{matrix.sorterUi-GFQG4HFV.js.map → matrix.sorterUi-MVUI25W7.js.map} +0 -0
  863. /package/dist/{matrix.sorterUi.unit.spec-XQHFOEYE.js.map → matrix.sorterUi.unit.spec-4ZKNOV2L.js.map} +0 -0
  864. /package/dist/{matrix.unit.spec-4ZWUGZUC.js.map → matrix.unit.spec-V5XNLECG.js.map} +0 -0
  865. /package/dist/{mavb-3CL5OHWB.js.map → mavb-LF7A7BDK.js.map} +0 -0
  866. /package/dist/{mds.fimo-2RFJQKJM.js.map → mds.fimo-KJ4HPMZP.js.map} +0 -0
  867. /package/dist/{mds.samplescatterplot-X6CXMY4C.js.map → mds.samplescatterplot-ZHNWWWYI.js.map} +0 -0
  868. /package/dist/{mds.survivalplot-57NIKSSH.js.map → mds.survivalplot-DNG7I22N.js.map} +0 -0
  869. /package/dist/{multivalue-3TUGYL4J.js.map → multivalue-SJQF7PHU.js.map} +0 -0
  870. /package/dist/{numericDictTermCluster-RLX5CLTN.js.map → numericDictTermCluster-O6PKT2FJ.js.map} +0 -0
  871. /package/dist/{oncomatrix-COK76MJN.js.map → oncomatrix-YJCPKS72.js.map} +0 -0
  872. /package/dist/{oncomatrix.spec-SO3ZN5BF.js.map → oncomatrix.spec-MWGBQCIQ.js.map} +0 -0
  873. /package/dist/{plot.2dvaf-TETCE4VG.js.map → plot.2dvaf-KIPQYNEH.js.map} +0 -0
  874. /package/dist/{plot.app-5YUAVZA4.js.map → plot.app-WHG3SEOG.js.map} +0 -0
  875. /package/dist/{plot.barplot-JUGY5Z7A.js.map → plot.barplot-DTSYFUPC.js.map} +0 -0
  876. /package/dist/{plot.boxplot-QZXICT7J.js.map → plot.boxplot-MQDULP3P.js.map} +0 -0
  877. /package/dist/{plot.brainImaging-2F6E6QS4.js.map → plot.brainImaging-DGVJQSCH.js.map} +0 -0
  878. /package/dist/{plot.disco-H4P4B6QS.js.map → plot.disco-HYPRBLMQ.js.map} +0 -0
  879. /package/dist/{plot.ssgq-LEQF3STZ.js.map → plot.ssgq-J5MMN7OD.js.map} +0 -0
  880. /package/dist/{plot.vaf2cov-UBMD2CN7.js.map → plot.vaf2cov-CID7GQB5.js.map} +0 -0
  881. /package/dist/{polar2-AVEZM2T5.js.map → polar2-QTSO2HCB.js.map} +0 -0
  882. /package/dist/{profileForms-CUSUGTPC.js.map → profileForms-SRR2M5OS.js.map} +0 -0
  883. /package/dist/{profilePlot-67Z7AXQ4.js.map → profilePlot-NDC4S2SC.js.map} +0 -0
  884. /package/dist/{proteinView-7K7VHGX3.js.map → proteinView-EFNQL3LD.js.map} +0 -0
  885. /package/dist/{proteomeCohortCompare-MRGH6HHI.js.map → proteomeCohortCompare-WMR53HEL.js.map} +0 -0
  886. /package/dist/{pseudbulk.unit.spec-ZHDL6GIM.js.map → pseudbulk.unit.spec-6MRZNXFI.js.map} +0 -0
  887. /package/dist/{pseudobulk-ZNXPF7QB.js.map → pseudobulk-O5EC44RY.js.map} +0 -0
  888. /package/dist/{qualitative-QXMZHDWU.js.map → qualitative-W6MFYG7Z.js.map} +0 -0
  889. /package/dist/{radar2-QJDGNLED.js.map → radar2-GIQILMWK.js.map} +0 -0
  890. /package/dist/{radarFacility2-LGGOOWX4.js.map → radarFacility2-5YJZ5JCK.js.map} +0 -0
  891. /package/dist/{rememberedGvQ.unit.spec-YKUMMYFT.js.map → rememberedGvQ.unit.spec-B6RQM5LQ.js.map} +0 -0
  892. /package/dist/{render-LSSRZJY3.js.map → render-2J4LR3UI.js.map} +0 -0
  893. /package/dist/{report-TTECPO44.js.map → report-MUMQK6XY.js.map} +0 -0
  894. /package/dist/{sampleView-EFS2UBRS.js.map → sampleView-NKZMNBMH.js.map} +0 -0
  895. /package/dist/{samplelst-FXULLJBO.js.map → samplelst-X74JZMTR.js.map} +0 -0
  896. /package/dist/{samplematrix-MNFCXOWO.js.map → samplematrix-QDQXB5ZG.js.map} +0 -0
  897. /package/dist/{sc-2BUOXML2.js.map → sc-FGHV5CBJ.js.map} +0 -0
  898. /package/dist/{scatter-AVRTALYY.js.map → scatter-QFVRBA7F.js.map} +0 -0
  899. /package/dist/{scatter-CPEIVL3K.js.map → scatter-YXF5VQGZ.js.map} +0 -0
  900. /package/dist/{selectGenomeWithTklst-3BG2ZPPN.js.map → selectGenomeWithTklst-DP4RPV7U.js.map} +0 -0
  901. /package/dist/{singleCellCellType-QLAEBVN2.js.map → singleCellCellType-XCHCMRR6.js.map} +0 -0
  902. /package/dist/{singleCellCellType.unit.spec-P4NAWYKL.js.map → singleCellCellType.unit.spec-S3JTP235.js.map} +0 -0
  903. /package/dist/{singleCellGeneExpression-IZ2PMDDL.js.map → singleCellGeneExpression-FD6REV7Y.js.map} +0 -0
  904. /package/dist/{singleCellGeneExpression.unit.spec-DKBZICJM.js.map → singleCellGeneExpression.unit.spec-PVMZYD4G.js.map} +0 -0
  905. /package/dist/{singleCellNumericValue-NB3QFH7H.js.map → singleCellNumericValue-SIITQPMD.js.map} +0 -0
  906. /package/dist/{singleCellNumericValue.unit.spec-ZKK2KWRQ.js.map → singleCellNumericValue.unit.spec-7PJEHLF7.js.map} +0 -0
  907. /package/dist/{singleCellPlot-ZU655L4Z.js.map → singleCellPlot-YJCFAYJW.js.map} +0 -0
  908. /package/dist/{singlecell-NKPTXVHW.js.map → singlecell-6R7YK5P3.js.map} +0 -0
  909. /package/dist/{singlecell-PEIEFXVU.js.map → singlecell-KHMH732Y.js.map} +0 -0
  910. /package/dist/{snp-G55JGINX.js.map → snp-HXCVSW2F.js.map} +0 -0
  911. /package/dist/{snp.unit.spec-47CCZKJO.js.map → snp.unit.spec-HXMFR4QS.js.map} +0 -0
  912. /package/dist/{snplocus-TRVAEAPF.js.map → snplocus-YQVHAKBC.js.map} +0 -0
  913. /package/dist/{spliceevent.a53ss.diagram-FL2R6F22.js.map → spliceevent.a53ss.diagram-4IBTR3JD.js.map} +0 -0
  914. /package/dist/{spliceevent.exonskip.diagram-XDZWTJXR.js.map → spliceevent.exonskip.diagram-5ZTG65CE.js.map} +0 -0
  915. /package/dist/{spliceevent.noeventdiagram-L322N534.js.map → spliceevent.noeventdiagram-WO5KSC45.js.map} +0 -0
  916. /package/dist/{ssGSEA-DZY4LFQY.js.map → ssGSEA-VJ3LVYJV.js.map} +0 -0
  917. /package/dist/{ssGSEA.unit.spec-P6C3VTVZ.js.map → ssGSEA.unit.spec-JQIJ4NZP.js.map} +0 -0
  918. /package/dist/{stattable-R7O6OIMB.js.map → stattable-COVQSHRZ.js.map} +0 -0
  919. /package/dist/{studyCatalog-OMDE4JRD.js.map → studyCatalog-EXVRH4FI.js.map} +0 -0
  920. /package/dist/{summarizeCnvGeneexp-A7HW6FJI.js.map → summarizeCnvGeneexp-UJBTMXXH.js.map} +0 -0
  921. /package/dist/{summarizeGeneexpSurvival-ODI4HGFH.js.map → summarizeGeneexpSurvival-XLQJGDRY.js.map} +0 -0
  922. /package/dist/{summarizeMutationCnv-C2YB73OL.js.map → summarizeMutationCnv-7RWSXB6F.js.map} +0 -0
  923. /package/dist/{summarizeMutationDiagnosis-4Y322NYU.js.map → summarizeMutationDiagnosis-42MG737O.js.map} +0 -0
  924. /package/dist/{summarizeMutationSurvival-7IHNURLC.js.map → summarizeMutationSurvival-FWVKVEHK.js.map} +0 -0
  925. /package/dist/{summary-E4L5MZTF.js.map → summary-NR26ZPQB.js.map} +0 -0
  926. /package/dist/{summary.integration.spec-SDCGE6BQ.js.map → summary.integration.spec-Z7JSUTGK.js.map} +0 -0
  927. /package/dist/{summaryInput-DHIMU5DM.js.map → summaryInput-DGKUOJVC.js.map} +0 -0
  928. /package/dist/{sunburst-ULNPFEAM.js.map → sunburst-C5JNGFT7.js.map} +0 -0
  929. /package/dist/{survival-CU4N5KZO.js.map → survival-GCEX3EAZ.js.map} +0 -0
  930. /package/dist/{survival-KWWH6REE.js.map → survival-OAQA5JQN.js.map} +0 -0
  931. /package/dist/{survival.integration.spec-UW6SYVLP.js.map → survival.integration.spec-ZX5RD6VQ.js.map} +0 -0
  932. /package/dist/{svgraph-HFI6NNF3.js.map → svgraph-XCFZ2WAG.js.map} +0 -0
  933. /package/dist/{svmr-VHS7Z4SO.js.map → svmr-4XTTURHA.js.map} +0 -0
  934. /package/dist/{table-GJUXHKQI.js.map → table-FQZ4UAH6.js.map} +0 -0
  935. /package/dist/{termCollection-CCZ4BFIU.js.map → termCollection-5QCR6LED.js.map} +0 -0
  936. /package/dist/{termCollection-O5CQ472U.js.map → termCollection-DN6A6HJU.js.map} +0 -0
  937. /package/dist/{termCollection.unit.spec-KR5G6JFU.js.map → termCollection.unit.spec-RSSSXDHU.js.map} +0 -0
  938. /package/dist/{termCollectionFractionSelection-IKU5MFBT.js.map → termCollectionFractionSelection-OSN7FITY.js.map} +0 -0
  939. /package/dist/{termCollectionFractionSelection.unit.spec-6ZWHNGES.js.map → termCollectionFractionSelection.unit.spec-UW6D3DVK.js.map} +0 -0
  940. /package/dist/{tk-3DLMAFW7.js.map → tk-4CZCVYBP.js.map} +0 -0
  941. /package/dist/{tk-CAYWF7LX.js.map → tk-BIPJNXBZ.js.map} +0 -0
  942. /package/dist/{tp.ui-NF5ZYOHW.js.map → tp.ui-NI4U7567.js.map} +0 -0
  943. /package/dist/{tvs.density-V6ZXSFGF.js.map → tvs.density-CB24PXDE.js.map} +0 -0
  944. /package/dist/{tvs.dt-43A4SSLG.js.map → tvs.dt-YRDNDXUU.js.map} +0 -0
  945. /package/dist/{tvs.dtcnv.categorical-DYXHUNP2.js.map → tvs.dtcnv.categorical-REP4T33P.js.map} +0 -0
  946. /package/dist/{tvs.dtcnv.continuous-NOKNP4UG.js.map → tvs.dtcnv.continuous-K7OREEP5.js.map} +0 -0
  947. /package/dist/{tvs.dtfusion-4NAOCC2X.js.map → tvs.dtfusion-AB5MPH3Q.js.map} +0 -0
  948. /package/dist/{tvs.dtitd-SZC6EITI.js.map → tvs.dtitd-AFWU7ACY.js.map} +0 -0
  949. /package/dist/{tvs.dtsnvindel-EYSBCNQK.js.map → tvs.dtsnvindel-G7XQEKEO.js.map} +0 -0
  950. /package/dist/{tvs.dtsv-VSPWIIFO.js.map → tvs.dtsv-Y6BEY4J2.js.map} +0 -0
  951. /package/dist/{tvs.numeric-M5LH3PRH.js.map → tvs.numeric-GF4XF5OF.js.map} +0 -0
  952. /package/dist/{tvs.samplelst-3YQ4GKNG.js.map → tvs.samplelst-XRRWPC2E.js.map} +0 -0
  953. /package/dist/{vocabulary-HCPEIO2P.js.map → vocabulary-DJZWOO6Q.js.map} +0 -0
  954. /package/dist/{wsi.direct-K2J6GGWY.js.map → wsi.direct-XUWANMKV.js.map} +0 -0
@@ -0,0 +1,1181 @@
1
+ import {
2
+ PlotBase,
3
+ digestMessage,
4
+ filterRxCompInit,
5
+ formatHeaderText,
6
+ getCombinedTermFilter,
7
+ getGEunit,
8
+ getNormalRoot,
9
+ make_radios,
10
+ newSandboxDiv,
11
+ renderTable
12
+ } from "./chunk-K7HFOAR7.js";
13
+ import "./chunk-HJ6L54YS.js";
14
+ import "./chunk-KV4W2ACA.js";
15
+ import {
16
+ importPlot
17
+ } from "./chunk-FSWBNSQD.js";
18
+ import {
19
+ Menu
20
+ } from "./chunk-7XZA2XR2.js";
21
+ import "./chunk-DD3DWHUY.js";
22
+ import "./chunk-EEB5VE2A.js";
23
+ import "./chunk-6RRZRISL.js";
24
+ import "./chunk-2KM4PRQM.js";
25
+ import {
26
+ dofetch3
27
+ } from "./chunk-GP4VLNMZ.js";
28
+ import "./chunk-6AFMWQXZ.js";
29
+ import "./chunk-CME6DYDH.js";
30
+ import {
31
+ SINGLECELL_CELLTYPE,
32
+ SINGLECELL_GENE_EXPRESSION,
33
+ TermTypeGroups
34
+ } from "./chunk-57Z4VYLM.js";
35
+ import {
36
+ copyMerge,
37
+ getCompInit,
38
+ multiInit
39
+ } from "./chunk-WINIL2KN.js";
40
+ import "./chunk-PF4DSFDR.js";
41
+ import "./chunk-7X6NF7NI.js";
42
+ import "./chunk-W5J3LTYS.js";
43
+ import "./chunk-Z2ZITHT4.js";
44
+ import "./chunk-4OLM3KSB.js";
45
+ import "./chunk-6XKAOSQE.js";
46
+ import "./chunk-TLT4YIG3.js";
47
+ import "./chunk-5R63Q5KH.js";
48
+ import "./chunk-I6Y4O3RR.js";
49
+ import "./chunk-Q5RDQNIT.js";
50
+ import "./chunk-DQC5FFGV.js";
51
+ import "./chunk-HS5PO5ZQ.js";
52
+
53
+ // plots/sc/model/SCModel.ts
54
+ var SCModel = class {
55
+ constructor(sc) {
56
+ /** whether a sample has a spatial image (with the consolidated h5ad the
57
+ spatial subplot needs), keyed by sID. Successful probes are cached;
58
+ failures return false for the current render and may be retried. */
59
+ this.sampleHasSpatial = {};
60
+ this.sc = sc;
61
+ this.app = sc.app;
62
+ this.id = sc.id;
63
+ this.state = sc.app.getState();
64
+ }
65
+ /********** All Single Cell SAMPLES for rendering the sample table ******** */
66
+ async getAllSampleData(state) {
67
+ const body = {
68
+ genome: state.vocab.genome,
69
+ dslabel: state.vocab.dslabel,
70
+ filter: getNormalRoot(state.termfilter.filter),
71
+ filter0: state.termfilter.filter0
72
+ };
73
+ return await dofetch3("termdb/singlecellSamples", { body, signal: this.sc.api?.getAbortSignal() });
74
+ }
75
+ //Fetches optional name for ds defined columns
76
+ async getColumnLabels(dsScSamples) {
77
+ if (!dsScSamples || !dsScSamples.sampleColumns) return;
78
+ const colsCopy = structuredClone(dsScSamples.sampleColumns);
79
+ for (const col of colsCopy) {
80
+ let label = col.termid;
81
+ try {
82
+ label = (await this.app.vocabApi.getterm(col.termid)).name;
83
+ } catch (e) {
84
+ if (e.message) {
85
+ }
86
+ }
87
+ col.label = label;
88
+ }
89
+ return colsCopy;
90
+ }
91
+ /********** Single Cell DATA for rendering plots ********
92
+ * This is for the plot buttons. Returns an array plots with found files or
93
+ * available data. */
94
+ async getSampleData() {
95
+ const body = this.getDataRequestOpts();
96
+ if (!body) return;
97
+ return await dofetch3("termdb/singlecellData", { body, signal: this.sc.api?.getAbortSignal() });
98
+ }
99
+ /** May provide active plots to the request and return plot data when
100
+ * checkPlotAvailability is false. When checkPlotAvailability is true,
101
+ * only returns which plots are available but not the actual data. */
102
+ getDataRequestOpts(_plots = [], checkPlotAvailability = true) {
103
+ const state = this.app.getState();
104
+ const singleCellTermdbConfig = state.termdbConfig?.queries?.singleCell;
105
+ if (!singleCellTermdbConfig?.data) throw new Error("No singleCell.data defined in termdbConfig.queries");
106
+ const config = state.plots.find((p) => p.id === this.id);
107
+ if (!config.settings.sc.item) return;
108
+ const plots = _plots?.length ? _plots : singleCellTermdbConfig.data.plots.map((p) => p.name);
109
+ return {
110
+ genome: this.state.vocab.genome,
111
+ dslabel: this.state.vocab.dslabel,
112
+ // if true, only return available plot names, but not actual plot data
113
+ checkPlotAvailability,
114
+ plots,
115
+ sample: {
116
+ eID: config.settings.sc.item.eID,
117
+ sID: config.settings.sc.item.sID
118
+ }
119
+ };
120
+ }
121
+ async hasSpatialImage(sID) {
122
+ if (!(sID in this.sampleHasSpatial)) {
123
+ if (!this.state.termdbConfig?.queries?.w2) return false;
124
+ let r;
125
+ try {
126
+ r = await dofetch3("termdb/wsiBySample", {
127
+ // imageType: only the spatial root is enumerated for the probe
128
+ body: {
129
+ genome: this.state.vocab.genome,
130
+ dslabel: this.state.vocab.dslabel,
131
+ sample_id: sID,
132
+ imageType: "spatial"
133
+ },
134
+ signal: this.sc.api?.getAbortSignal()
135
+ });
136
+ } catch (e) {
137
+ if (this.app.vocabApi?.isAbortError?.(e)) throw e;
138
+ return false;
139
+ }
140
+ if (r?.error) return false;
141
+ this.sampleHasSpatial[sID] = !!(r?.images || []).some((i) => i.type == "spatial" && i.spatialData);
142
+ }
143
+ return this.sampleHasSpatial[sID];
144
+ }
145
+ /** Essentially for the GDC. Maybe applied to other ds in the future. */
146
+ async getCategories(_plots) {
147
+ const body = this.getDataRequestOpts(_plots, false);
148
+ if (!body) return;
149
+ let res;
150
+ try {
151
+ res = await dofetch3("termdb/singlecellData", { body, signal: this.sc.api?.getAbortSignal() });
152
+ } catch (e) {
153
+ if (e instanceof Error) console.error(`${e.message || e}`);
154
+ }
155
+ return this.formatCategories(res);
156
+ }
157
+ formatCategories(res) {
158
+ const plot = structuredClone(res.plots[0]);
159
+ plot.cells = [...plot.noExpCells, ...plot.expCells];
160
+ const clusters = new Set(plot.cells.map((c) => c.category));
161
+ const sortedClusters = Array.from(clusters).sort((a, b) => {
162
+ const num1 = parseInt(a.split(" ")[1]);
163
+ const num2 = parseInt(b.split(" ")[1]);
164
+ return num1 - num2;
165
+ });
166
+ return sortedClusters;
167
+ }
168
+ };
169
+
170
+ // plots/sc/viewModel/SCViewModel.ts
171
+ var SCViewModel = class {
172
+ constructor(app, sampleColumns) {
173
+ this.app = app;
174
+ this.state = this.app.getState();
175
+ this.sampleColumns = sampleColumns || [];
176
+ this.metaResultIds = /* @__PURE__ */ new Set();
177
+ }
178
+ processData(config, _items) {
179
+ const items = _items.sort((a, b) => b.isMetaResult === a.isMetaResult ? 0 : b.isMetaResult ? 1 : -1);
180
+ const [rows, columns, sampleColIdx] = this.getTabelData(config, items, this.sampleColumns);
181
+ const selectedRows = [];
182
+ const sID = config.settings.sc.item?.sID;
183
+ const i = sID ? items.findIndex((item) => item.sample === sID || item.experiments?.some((e) => e.sampleName === sID)) : -1;
184
+ if (i != -1) selectedRows.push(i);
185
+ this.tableData = {
186
+ rows,
187
+ columns,
188
+ selectedRows,
189
+ sampleColIdx
190
+ };
191
+ }
192
+ /** Shape the selected sample's plot data for the plot buttons view:
193
+ * the server's plots plus flags the view only reads (hasSpatial shows
194
+ * the Spatial button). */
195
+ formatPlotsData(sampleData, hasSpatial) {
196
+ return { ...sampleData, hasSpatial };
197
+ }
198
+ getTabelData(plotConfig, items, sampleColumns) {
199
+ const rows = [];
200
+ const hasExperiments = items.some((i) => i.experiments);
201
+ let sampleColIdx = -1;
202
+ let firstColLabel = plotConfig.settings.sc.columns.sample;
203
+ if (items[0]?.isMetaResult) firstColLabel = "";
204
+ const columns = [{ label: firstColLabel, sortable: true }];
205
+ if (hasExperiments) {
206
+ columns.push({ label: "Sample", sortable: true });
207
+ sampleColIdx = 1;
208
+ } else sampleColIdx = 0;
209
+ columns.push({ label: "Shown plots" });
210
+ for (const col of sampleColumns || []) {
211
+ columns.push({
212
+ label: col.label,
213
+ width: "14vw",
214
+ sortable: true
215
+ });
216
+ }
217
+ if (hasExperiments) columns.push({ label: "Experiment", sortable: true });
218
+ for (const item of items) {
219
+ if (item.isMetaResult) this.metaResultIds.add(item.sample);
220
+ if (hasExperiments)
221
+ for (const exp of item.experiments) {
222
+ const row = [{ value: item.sample, __experimentID: exp.experimentID }];
223
+ row.push({ value: exp.sampleName });
224
+ row.push({ value: "" });
225
+ for (const col of sampleColumns || []) {
226
+ row.push({ value: item[col.termid] });
227
+ }
228
+ const urlTemp = this.state.termdbConfig?.urlTemplates?.scrnaExperimentId;
229
+ if (urlTemp) row.push({ value: exp.experimentID, url: `${urlTemp.base}${exp.experimentID}` });
230
+ else row.push({ value: exp.experimentID });
231
+ rows.push(row);
232
+ }
233
+ else {
234
+ const row = item.isMetaResult ? [{ html: item.sample.replace(/_/g, " "), value: item.sample, elemId: "isMetaResult" }] : [{ value: item.sample }];
235
+ row.push({ value: "" });
236
+ for (const col of sampleColumns || []) {
237
+ const value = item[col.termid];
238
+ if (value == null && item.isMetaResult) row.push({ value: "All" });
239
+ else row.push({ value: item[col.termid] });
240
+ }
241
+ rows.push(row);
242
+ }
243
+ }
244
+ return [rows, columns, sampleColIdx];
245
+ }
246
+ };
247
+
248
+ // plots/sc/interactions/SCInteractions.ts
249
+ var SCInteractions = class {
250
+ constructor(sc) {
251
+ this.app = sc.app;
252
+ this.id = sc.id;
253
+ this.model = sc.model;
254
+ this.viewModel = sc.viewModel;
255
+ }
256
+ /** Add the plot to the state.plots array with .parentId. Adding
257
+ * .parentId prevents the plot from launching in a new sandbox outside SC.
258
+ * Pass the .parentId to both the plotConfig and the action.
259
+ * this.getState() in SC.ts will find all the subplots with the parentId==this.id
260
+ * SC.main() initializes the subplots as components in chartsDiv */
261
+ async createSubplot(config) {
262
+ const c = Object.assign({}, config, { parentId: this.id });
263
+ await this.app.dispatch({
264
+ type: "plot_create",
265
+ parentId: this.id,
266
+ config: c
267
+ });
268
+ }
269
+ /** Updates the selected item in the plot settings */
270
+ async updateItem(item) {
271
+ item.isMetaResult = this.viewModel.metaResultIds.has(item.sID);
272
+ await this.app.dispatch({
273
+ type: "plot_edit",
274
+ id: this.id,
275
+ config: { settings: { sc: { item } } }
276
+ });
277
+ }
278
+ async getDropDownOptions(plot) {
279
+ return this.model.getCategories(plot);
280
+ }
281
+ };
282
+
283
+ // plots/sc/view/SampleTableRenderer.ts
284
+ var SampleTableRenderer = class {
285
+ constructor(dom, interactions, tableData) {
286
+ this.activeSandboxes = /* @__PURE__ */ new Map();
287
+ /** Tracks rendered btns per sample to avoid unnecessary destroy/recreate pattern. */
288
+ this.rendered = /* @__PURE__ */ new Map();
289
+ this.dom = dom;
290
+ this.interactions = interactions;
291
+ this.tableData = tableData;
292
+ this.renderSamplesTable(tableData);
293
+ }
294
+ /** Users select one item at a time to render the plot buttons
295
+ * to init() plots in the dashboard.*/
296
+ renderSamplesTable(tableData) {
297
+ this.dom.tableDiv.selectAll("*").remove();
298
+ renderTable({
299
+ rows: tableData.rows,
300
+ columns: tableData.columns,
301
+ div: this.dom.tableDiv,
302
+ singleMode: true,
303
+ // maxWidth: tableData.columns.length > 3 ? '95vw' : 'auto',
304
+ maxHeight: "30vh",
305
+ header: {
306
+ allowSort: true,
307
+ style: { "text-transform": "capitalize" }
308
+ },
309
+ striped: true,
310
+ selectedRows: tableData.selectedRows,
311
+ afterRender: () => {
312
+ this.reapplyAllPlotButtons();
313
+ },
314
+ noButtonCallback: (index) => {
315
+ const item = this.buildItemFromRow(tableData, index);
316
+ this.interactions.updateItem(item);
317
+ this.dom.plotsBtnsDiv.style("display", "block");
318
+ }
319
+ });
320
+ }
321
+ /** Builds an item object from a table row, mapping column labels to keys.
322
+ * Converts 'sample' -> 'sID' and 'experiment' -> 'eID'.
323
+ * Extracted out from noButtonCallback for testing. */
324
+ buildItemFromRow(tableData, index) {
325
+ const item = {};
326
+ tableData.rows[index].forEach((r, idx) => {
327
+ if (!r.value) return;
328
+ let key = tableData.columns[idx].label.toLowerCase();
329
+ key = key === "sample" || key === "" ? "sID" : key === "experiment" ? "eID" : key;
330
+ item[key] = r.value;
331
+ });
332
+ if (!item.sID) throw new Error("Selected item must have sID property");
333
+ return item;
334
+ }
335
+ updateTable(tableData) {
336
+ this.tableData = tableData;
337
+ this.dom.tableDiv.selectAll("*").remove();
338
+ this.renderSamplesTable(tableData);
339
+ }
340
+ updatePlotBtns(activeSandboxes) {
341
+ this.activeSandboxes = activeSandboxes;
342
+ this.reapplyAllPlotButtons();
343
+ }
344
+ /** Called by afterRender to re-apply buttons for all samples with subplots.
345
+ * Also called in updateTable when the active sandboxes (i.e. subplots) change.*/
346
+ reapplyAllPlotButtons() {
347
+ for (const sampleId of this.rendered.keys()) {
348
+ if (!this.activeSandboxes.has(sampleId)) {
349
+ this.deleteBtns(sampleId);
350
+ }
351
+ }
352
+ for (const sampleId of this.activeSandboxes.keys()) {
353
+ this.applyButtonsForSample(sampleId);
354
+ }
355
+ }
356
+ deleteBtns(sampleId) {
357
+ const cached = this.rendered.get(sampleId);
358
+ if (cached) {
359
+ cached.cell.selectAll(".sjpp-sc-table-plot-btn").remove();
360
+ this.rendered.delete(sampleId);
361
+ }
362
+ }
363
+ /** Applies buttons for a single sample. Skips DOM work if cell and plots are unchanged. */
364
+ applyButtonsForSample(sampleId) {
365
+ const sampleIdx = this.tableData.sampleColIdx;
366
+ const row = this.tableData.rows.find((r) => r[sampleIdx].value === sampleId);
367
+ if (!row) return;
368
+ const cell = row[sampleIdx + 1].__td;
369
+ const sampleSandboxes = this.activeSandboxes.get(sampleId);
370
+ if (!sampleSandboxes || sampleSandboxes.length === 0) return;
371
+ const plotIds = sampleSandboxes.map((s) => s.plotId).join(",");
372
+ const cached = this.rendered.get(sampleId);
373
+ if (cached && cached.cell === cell && cached.plotIds === plotIds) return;
374
+ cell.selectAll(".sjpp-sc-table-plot-btn").remove();
375
+ this.rendered.set(sampleId, { cell, plotIds });
376
+ for (const { div, plotName } of sampleSandboxes) {
377
+ this.appendPlotBtn(cell, div, plotName, sampleId);
378
+ }
379
+ }
380
+ appendPlotBtn(cell, sandboxDiv, plotName, sampleId) {
381
+ const text = plotName.length > 25 ? plotName.slice(0, 12) + "..." : plotName;
382
+ const label = `Scroll to ${plotName}`;
383
+ cell.append("button").attr("class", "sjpp-sc-table-plot-btn").attr("data-testid", `sjpp-sc-table-${sampleId}-${plotName}-btn`).style("padding", "2px 5px").style("margin-left", "4px").style("font-size", "0.8em").style("border-radius", "20px").style("border", "0.5px solid black").style("cursor", "pointer").text(text).attr("aria-label", label).attr("title", label).attr("tabindex", 0).on("click", () => {
384
+ sandboxDiv.node().scrollIntoView({ behavior: "smooth", block: "start" });
385
+ });
386
+ }
387
+ };
388
+
389
+ // plots/sc/view/PlotButtons.ts
390
+ var PlotButtons = class {
391
+ /** scctTerms and the scTermdbConfig are created on server init and will not change. */
392
+ constructor(interactions, holder, termdbConfig) {
393
+ holder.style("padding", "10px");
394
+ const promptDiv = holder.append("div").style("padding", "10px 0").text("Select data from");
395
+ this.plotBtnsDom = {
396
+ holder,
397
+ promptDiv,
398
+ selectPrompt: promptDiv.append("span"),
399
+ btnsDiv: holder.append("div"),
400
+ tip: new Menu({ padding: "" })
401
+ };
402
+ this.interactions = interactions;
403
+ this.scctTerms = termdbConfig?.termType2terms?.[TermTypeGroups.SINGLECELL_CELLTYPE];
404
+ this.scnvTerms = termdbConfig?.termType2terms?.[TermTypeGroups.SINGLECELL_NUMERIC_VALUE];
405
+ this.scTermdbConfig = termdbConfig.queries.singleCell;
406
+ }
407
+ update(settings, data) {
408
+ const item = settings.sc.item;
409
+ this.plotBtnsDom.holder.style("display", !item ? "none" : "block");
410
+ if (!item) return;
411
+ if (data != null && data.plots) this.data = data;
412
+ this.availablePlots = new Set(this.data?.plots?.map((p) => p.name));
413
+ this.settings = settings;
414
+ this.item = item;
415
+ const name = item.sID;
416
+ this.plotBtnsDom.selectPrompt.text(` ${name}:`);
417
+ this.renderChartBtns();
418
+ }
419
+ renderChartBtns() {
420
+ this.plotBtnsDom.btnsDiv.selectAll("*").remove();
421
+ const disabledPlots = this.scTermdbConfig?.scApp?.disabledPlots || [];
422
+ const btns = this.getChartBtnOpts().filter((b) => !disabledPlots.includes(b.chartType)).filter((b) => b.isVisible());
423
+ this.plotBtnsDom.btnsDiv.selectAll("button").data(btns).enter().append("button").attr("type", "button").attr("data-testid", (b) => `sjpp-sc-plot-btn-${b.label.toLowerCase().replace(/\s/g, "-")}`).style("padding", "10px 15px").style("border-radius", "20px").style("border-color", "transparent").style("background-color", "#CFE2F3").style("margin", "0 10px").style("cursor", "pointer").text((b) => b.label).on("click", async (e, plot) => {
424
+ if (plot.open) {
425
+ this.plotBtnsDom.tip.clear().showunder(e.target);
426
+ plot.open(plot, this);
427
+ } else {
428
+ if (!plot.getPlotConfig)
429
+ throw new Error(`No getPlotConfig function defined for this plot button = ${plot.label}`);
430
+ const config = await plot.getPlotConfig();
431
+ await this.interactions.createSubplot(config);
432
+ }
433
+ });
434
+ }
435
+ getChartBtnOpts() {
436
+ const btns = [];
437
+ for (const plot of this.scTermdbConfig?.data?.plots || []) {
438
+ if (!this.availablePlots.has(plot.name)) continue;
439
+ btns.push({
440
+ label: plot.name,
441
+ chartType: "sampleScatter",
442
+ isVisible: () => true,
443
+ getPlotConfig: async () => {
444
+ return await this.getSingleCellConfig(plot.name);
445
+ }
446
+ });
447
+ }
448
+ btns.push(
449
+ {
450
+ label: "Summary",
451
+ chartType: "dictionary",
452
+ /** Note: if only spatial image available, this plot should not show. */
453
+ isVisible: () => this.availablePlots.has("dictionary"),
454
+ getPlotConfig: () => {
455
+ const sample = { ...this.item, plots: Array.from(this.availablePlots) };
456
+ const isMeta = sample?.isMetaResult || false;
457
+ return {
458
+ chartType: "dictionary",
459
+ sample,
460
+ spawnConfig: {
461
+ parentId: this.interactions.id,
462
+ headerText: this.makeHeaderText(sample, isMeta),
463
+ hidePlotFilter: !isMeta,
464
+ sample
465
+ },
466
+ tree: {
467
+ usecase: {
468
+ target: "dictionary",
469
+ specialCase: {
470
+ type: "singleCell",
471
+ config: { sample }
472
+ }
473
+ }
474
+ }
475
+ };
476
+ }
477
+ },
478
+ {
479
+ label: "Gene expression",
480
+ chartType: "GeneExpInput",
481
+ isVisible: () => this.scTermdbConfig?.geneExpression && this.availablePlots.has(this.scTermdbConfig.geneExpression?.label || "Gene expression"),
482
+ getPlotConfig: () => {
483
+ const sample = this.item;
484
+ const isMeta = sample?.isMetaResult || false;
485
+ const headerText = this.makeHeaderText(sample, isMeta);
486
+ return {
487
+ chartType: "GeneExpInput",
488
+ termType: SINGLECELL_GENE_EXPRESSION,
489
+ headerText,
490
+ termProperties: { sample },
491
+ parentId: this.interactions.id,
492
+ sample,
493
+ spawnConfig: {
494
+ parentId: this.interactions.id,
495
+ headerText,
496
+ hidePlotFilter: !isMeta,
497
+ /** Must pass this to summary config in the event a continuous
498
+ * overlay is applied, launching the scatter plot. Without it,
499
+ * the single cell model is not used. */
500
+ singleCellPlot: {
501
+ name: [...this.availablePlots][0],
502
+ sample
503
+ }
504
+ }
505
+ };
506
+ }
507
+ },
508
+ {
509
+ label: "Differential expression",
510
+ chartType: "DA",
511
+ isVisible: () => this.scTermdbConfig?.DEgenes,
512
+ open: this.termDropdownMenu,
513
+ getPlotConfig: (value) => {
514
+ const isMeta = this.item?.isMetaResult || false;
515
+ return {
516
+ chartType: "differentialAnalysis",
517
+ termType: SINGLECELL_CELLTYPE,
518
+ categoryName: `${value}`,
519
+ headerText: `${isMeta ? "" : "Sample: "}${this.item.sID}, ${this.scTermdbConfig.DEgenes.termId} ${value}`,
520
+ termId: this.scTermdbConfig.DEgenes.termId,
521
+ sample: this.item,
522
+ plotName: "Differential expression"
523
+ };
524
+ }
525
+ },
526
+ {
527
+ label: this.scTermdbConfig?.images?.label || "Image",
528
+ chartType: "imagePlot",
529
+ isVisible: () => this.scTermdbConfig?.images && this.availablePlots.has(this.scTermdbConfig.images.label || "Image"),
530
+ getPlotConfig: () => {
531
+ const isMeta = this.item?.isMetaResult || false;
532
+ return {
533
+ chartType: "imagePlot",
534
+ sample: this.item,
535
+ imgDir: this.scTermdbConfig?.images,
536
+ headerText: this.makeHeaderText(this.item, isMeta),
537
+ settings: { imagePlot: { width: "", height: 400 } }
538
+ };
539
+ }
540
+ },
541
+ {
542
+ // spatial tissue viewer for samples with a spatial image (the model's
543
+ // wsiBySample probe sets data.hasSpatial); spawns the w2 wsi plot in
544
+ // fixed-sample mode, which has its own burger menu for the overlays
545
+ label: "Spatial",
546
+ chartType: "wsi",
547
+ isVisible: () => !!this.data?.hasSpatial,
548
+ getPlotConfig: () => {
549
+ const sample = this.item;
550
+ return {
551
+ chartType: "wsi",
552
+ name: `Sample: ${sample.sID} Spatial`,
553
+ sample,
554
+ plotName: "Spatial"
555
+ };
556
+ }
557
+ }
558
+ );
559
+ return btns;
560
+ }
561
+ makeHeaderText(sample, isMeta, plot) {
562
+ const caseText = sample.case ? ` Case: ${sample.case}` : "";
563
+ const projectText = sample?.["project id"] ? ` Project: ${sample["project id"]}` : "";
564
+ return `${isMeta ? "" : "Sample: "}${sample.sID}${caseText}${projectText}${plot ? ` (${plot})` : ""}`;
565
+ }
566
+ //********** Btn Menus **********/
567
+ async termDropdownMenu(plot, self) {
568
+ const _plot = Array.from(self.availablePlots)[0];
569
+ const options = await self.interactions.getDropDownOptions([_plot]);
570
+ if (!options?.length) throw new Error("No options found for this plot. Cannot open dropdown menu.");
571
+ self.plotBtnsDom.tip.clear();
572
+ const wrapper = self.plotBtnsDom.tip.d.append("div").style("padding", "10px");
573
+ wrapper.append("div").style("display", "block").style("width", "300px").text(`View differentially expressed genes of a ${self.scTermdbConfig.DEgenes.termId} versus rest of the cells:`);
574
+ const select = wrapper.append("select").style("margin", "10px 0").style("width", "auto").style("padding", "5px").on("change", async function() {
575
+ self.plotBtnsDom.tip.hide();
576
+ const value = select.node().value;
577
+ if (value.indexOf("Select") == 0) return;
578
+ const config = plot.getPlotConfig(value);
579
+ await self.interactions.createSubplot(config);
580
+ });
581
+ const regex = new RegExp(self.scTermdbConfig.DEgenes.termId, "gi");
582
+ options.unshift(`Select a ${self.scTermdbConfig.DEgenes.termId}...`);
583
+ for (const cluster of options) {
584
+ select.append("option").attr("value", cluster.replace(regex, "").trim()).text(cluster);
585
+ }
586
+ }
587
+ //********** Plot Config Helpers **********/
588
+ async getSingleCellConfig(plotName) {
589
+ if (!this.item) throw new Error("No item selected");
590
+ const plot = this.scTermdbConfig.data.plots.find((p) => p.name == plotName);
591
+ if (!plot) throw new Error(`No plot by name ${plotName} in data.plots.`);
592
+ const sample = this.item;
593
+ const isMeta = sample?.isMetaResult || false;
594
+ const config = {
595
+ chartType: "sampleScatter",
596
+ name: this.makeHeaderText(sample, isMeta, plotName),
597
+ sample,
598
+ singleCellPlot: {
599
+ name: plotName,
600
+ sample
601
+ }
602
+ };
603
+ if (plot.colorColumns?.[0]) {
604
+ const key = plot.colorColumns[0]?.type == "numeric" ? "scnv" : "scct";
605
+ config.colorTW = await this.makeScTW(key, sample, plot);
606
+ }
607
+ return config;
608
+ }
609
+ // Quick fix. Eventually use the handler to get the proper term from the termdbConfig
610
+ async makeScTW(key, item, plot) {
611
+ if (!key) throw new Error("Key is required for makeScTW");
612
+ const colorColName = plot.colorColumns[0].name;
613
+ const savedTerm = this[`${key}Terms`]?.find((t) => t.name == colorColName && t.plot == plot.name);
614
+ if (!savedTerm) {
615
+ const ttg = key === "scct" ? TermTypeGroups.SINGLECELL_CELLTYPE : TermTypeGroups.SINGLECELL_NUMERIC_VALUE;
616
+ throw new Error(`No term found for colorColumn=${colorColName} in .termType2terms.${ttg} for plot ${plot.name}`);
617
+ }
618
+ const term = Object.assign(structuredClone(savedTerm), {
619
+ sample: item
620
+ });
621
+ const id = await digestMessage(`${plot.name}-${item.sID}-${item.eID}`);
622
+ return Object.assign({ $id: id }, { term });
623
+ }
624
+ };
625
+
626
+ // plots/sc/view/SectionRenderer.ts
627
+ var SectionRenderer = class {
628
+ constructor(sectionsDiv, groupBy) {
629
+ this.sections = {};
630
+ this.holder = sectionsDiv;
631
+ this.plotId2Key = /* @__PURE__ */ new Map();
632
+ this.groupBy = groupBy;
633
+ }
634
+ /** Send the sc with the updated state. May not be necessary long term. If not,
635
+ * remove and put in the constructor. */
636
+ async update(sc, subplots, groupBy) {
637
+ if (groupBy !== this.groupBy) {
638
+ this.groupBy = groupBy;
639
+ this.regroupSections(sc, subplots);
640
+ return;
641
+ }
642
+ const activeSubplots = new Set(subplots.map((s) => s.id));
643
+ for (const plotId of Array.from(this.plotId2Key.keys())) {
644
+ if (!activeSubplots.has(plotId)) this.removeSandbox(plotId);
645
+ }
646
+ for (const subplot of subplots) {
647
+ const key = this.getKey(subplot, sc);
648
+ if (!key) continue;
649
+ if (!this.sections[key]) this.initSection(key, sc);
650
+ if (!this.sections[key].sandboxes[subplot.id]) {
651
+ this.plotId2Key.set(subplot.id, key);
652
+ sc.subplotManager.setSectionKey(subplot.id, key);
653
+ await this.initSandbox(sc, subplot, key);
654
+ }
655
+ }
656
+ for (const key of Object.keys(this.sections)) {
657
+ if (Object.keys(this.sections[key].sandboxes).length === 0) {
658
+ this.removeSection(key, sc);
659
+ }
660
+ }
661
+ }
662
+ /** Reparent existing sandboxes into new section containers
663
+ * without destroying/recreating plot components. */
664
+ regroupSections(sc, subplots) {
665
+ const detached = /* @__PURE__ */ new Map();
666
+ for (const [plotId, key] of this.plotId2Key) {
667
+ const sandboxNode = this.sections[key]?.sandboxes[plotId];
668
+ if (sandboxNode) {
669
+ sandboxNode.remove();
670
+ detached.set(plotId, sandboxNode);
671
+ }
672
+ }
673
+ this.holder.selectAll("*").remove();
674
+ this.sections = {};
675
+ this.plotId2Key = /* @__PURE__ */ new Map();
676
+ for (const subplot of subplots) {
677
+ const key = this.getKey(subplot, sc);
678
+ if (!key) continue;
679
+ if (!this.sections[key]) this.initSection(key, sc);
680
+ this.plotId2Key.set(subplot.id, key);
681
+ sc.subplotManager.setSectionKey(subplot.id, key);
682
+ const existing = detached.get(subplot.id);
683
+ if (existing) {
684
+ this.sections[key].subplots.node().prepend(existing.node());
685
+ this.sections[key].sandboxes[subplot.id] = existing;
686
+ }
687
+ }
688
+ }
689
+ getKey(subplot, sc) {
690
+ if (this.groupBy === "none") return "none";
691
+ if (this.groupBy === "sample") return this.getSampleId(subplot);
692
+ return sc.subplotManager.getPlotName(subplot);
693
+ }
694
+ /** Extract sID from a subplot's config.
695
+ * Actual subplots store sample as {sID, eID} at top level or on term.term.sample. */
696
+ getSampleId(subplot) {
697
+ return subplot.sample?.sID || subplot.singleCellPlot?.sample?.sID || subplot.term?.term?.sample?.sID;
698
+ }
699
+ initSection(key, sc) {
700
+ const item = this.findSampleMetadata(key, sc);
701
+ const titleAttrText = this.groupBy == "sample" ? "this sample section" : this.groupBy == "plot" ? "this plot section" : "all plots";
702
+ const sectionWrapper = this.holder.insert("div", ":first-child").style("padding", "10px").attr("data-testid", `sjpp-sc-section-wrapper-${key}`);
703
+ sectionWrapper.append("span").attr("data-testid", `sjpp-sc-section-remove-btn-${key}`).style("margin", "0px 5px").style("cursor", "pointer").attr("title", `Remove ${titleAttrText}`).html(
704
+ `<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="#000" class="bi bi-x-lg" viewBox="0 0 12 12">
705
+ <path
706
+ stroke="#000"
707
+ transform="scale(0.75)"
708
+ d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8 2.146 2.854Z"/>
709
+ </svg>`
710
+ ).on("click", () => {
711
+ this.removeSection(key, sc);
712
+ });
713
+ const titleText = this.makeSectionTitleText(key, item);
714
+ const titleWrapper = sectionWrapper.append("span").style("font-weight", 600).style("opacity", 0.7).text(titleText);
715
+ if (titleText.length) {
716
+ const arrow = titleWrapper.append("span").style("font-size", "0.8em").style("padding-left", "3px").attr("title", `Show/hide plots in ${titleAttrText}`).text("\u25BC");
717
+ titleWrapper.on("click", () => {
718
+ const isHidden = this.sections[key].subplots.style("display") === "none";
719
+ this.sections[key].subplots.style("display", isHidden ? "block" : "none");
720
+ arrow.text(isHidden ? "\u25BC" : "\u25B2");
721
+ });
722
+ }
723
+ this.sections[key] = {
724
+ sectionWrapper,
725
+ title: titleWrapper,
726
+ subplots: sectionWrapper.append("div").attr("data-testid", `sjpp-sc-subplots-${key}`),
727
+ sandboxes: {}
728
+ };
729
+ }
730
+ /** Look up sample metadata from the fetched items list.
731
+ * For experiment datasets, matches sID against experiments[].sampleName.
732
+ * For non-experiment datasets, matches sID against item.sample. */
733
+ findSampleMetadata(sampleId, sc) {
734
+ if (!sc.items) return void 0;
735
+ return sc.items.find((item) => item.sample === sampleId || item.experiments?.some((e) => e.sampleName === sampleId));
736
+ }
737
+ makeSectionTitleText(key, item) {
738
+ if (this.groupBy === "none") return "All plots";
739
+ if (this.groupBy === "plot") return key;
740
+ const caseText = item?.sample && item.sample !== key ? `Case: ${item.sample}` : "";
741
+ const isMeta = item?.isMetaResult || false;
742
+ const itemText = `${isMeta ? "" : "Sample: "}${key}`;
743
+ const projectProp = item?.case?.project?.project_id || item?.["project id"];
744
+ const projectText = projectProp ? `Project: ${projectProp}` : "";
745
+ return [itemText, caseText, projectText].filter(Boolean).join(" ");
746
+ }
747
+ async initSandbox(sc, subplot, key) {
748
+ const sandboxHolder = this.sections[key].subplots.insert("div", ":first-child").attr("data-testid", `sjpp-sc-sandbox-${subplot.id}`);
749
+ const sandboxDiv = await sc.subplotManager.initSubplotSandbox(sandboxHolder, subplot, {
750
+ sectionKey: key
751
+ });
752
+ this.sections[key].sandboxes[subplot.id] = sandboxDiv;
753
+ }
754
+ removeSection(key, sc) {
755
+ const subactions = [];
756
+ for (const plotId of Object.keys(this.sections[key].sandboxes || {})) {
757
+ this.removeSandbox(plotId, key);
758
+ subactions.push({
759
+ type: "plot_delete",
760
+ id: plotId,
761
+ parentId: sc.id
762
+ });
763
+ }
764
+ if (subactions.length > 0) {
765
+ sc.app.dispatch({
766
+ type: "app_refresh",
767
+ subactions
768
+ });
769
+ }
770
+ this.sections[key].sectionWrapper.remove();
771
+ delete this.sections[key];
772
+ }
773
+ removeSandbox(plotId, _key) {
774
+ const key = _key || this.plotId2Key.get(plotId);
775
+ if (!key) return;
776
+ const section = this.sections[key];
777
+ const sandbox = section?.sandboxes?.[plotId];
778
+ if (sandbox) sandbox.remove();
779
+ if (section?.sandboxes?.[plotId]) delete section.sandboxes[plotId];
780
+ this.plotId2Key.delete(plotId);
781
+ }
782
+ };
783
+
784
+ // plots/sc/settings/Settings.ts
785
+ var GroupByOptions = ["sample", "plot", "none"];
786
+
787
+ // plots/sc/view/SCViewRenderer.ts
788
+ var SCViewRenderer = class _SCViewRenderer {
789
+ static {
790
+ //On load, show table
791
+ //Eventually maybe an app dispatch and not a flag
792
+ this.inUse = true;
793
+ }
794
+ constructor(sc) {
795
+ this.sc = sc;
796
+ this.dom = sc.dom;
797
+ this.interactions = sc.interactions;
798
+ this.dom.controlsDiv.style("padding", "10px");
799
+ }
800
+ render(settings, state) {
801
+ this.renderSelectBtn();
802
+ this.renderGroupByOptions(settings);
803
+ this.plotBtns = new PlotButtons(this.interactions, this.dom.plotsBtnsDiv, state.termdbConfig);
804
+ this.sectionRenderer = new SectionRenderer(this.dom.sectionsDiv, settings.groupBy);
805
+ }
806
+ /** Renders the select btn at the top of the page that
807
+ * show/hides the item table and plot buttons */
808
+ renderSelectBtn() {
809
+ const btn = this.dom.controlsDiv.append("button").attr("data-testid", "sjpp-sc-item-table-select-btn").attr("title", "Show/hide sample table and plot buttons").style("border-radius", "20px").style("padding", "5px 10px").style("background-color", "transparent").text("Select sample and plots");
810
+ const arrowSpan = btn.append("span").style("font-size", "0.8em").style("padding-left", "3px").text("\u25BC");
811
+ btn.on("click", () => {
812
+ _SCViewRenderer.inUse = !_SCViewRenderer.inUse;
813
+ arrowSpan.text(_SCViewRenderer.inUse ? "\u25BC" : "\u25B2");
814
+ this.dom.tableDiv.style("display", _SCViewRenderer.inUse ? "block" : "none");
815
+ this.dom.plotsBtnsDiv.style("display", _SCViewRenderer.inUse ? "block" : "none");
816
+ });
817
+ }
818
+ renderGroupByOptions(settings) {
819
+ this.groupsWrapper = this.dom.controlsDiv.append("div").style("display", "none");
820
+ this.groupsWrapper.append("span").style("padding", "3px 0px 3px 20px").style("opacity", 0.7).text("Group by:");
821
+ const optionsDiv = this.groupsWrapper.append("span").style("display", "inline-block");
822
+ const options = GroupByOptions.map((option) => {
823
+ return {
824
+ label: `${option.charAt(0).toUpperCase() + option.slice(1)}`,
825
+ value: option,
826
+ checked: settings.groupBy === option
827
+ };
828
+ });
829
+ make_radios({
830
+ holder: optionsDiv,
831
+ styles: { display: "inline-block" },
832
+ options,
833
+ callback: async (value) => {
834
+ await this.sc.app.dispatch({
835
+ type: "plot_edit",
836
+ id: this.sc.id,
837
+ config: { settings: { sc: { ...settings, groupBy: value } } }
838
+ });
839
+ }
840
+ });
841
+ }
842
+ async update(settings, data, activeSubplots, tableData, subplotManager) {
843
+ this.sampleTableRenderer = new SampleTableRenderer(this.dom, this.interactions, tableData);
844
+ this.plotBtns.update(settings, data);
845
+ await this.sectionRenderer.update(
846
+ this.sc,
847
+ activeSubplots.map((s) => s.subplot),
848
+ settings.sc.groupBy
849
+ );
850
+ const activeSandboxes = subplotManager.getSampleSandboxes();
851
+ this.groupsWrapper.style("display", activeSandboxes.size > 1 ? "inline-block" : "none");
852
+ this.sampleTableRenderer.updatePlotBtns(activeSandboxes);
853
+ }
854
+ };
855
+
856
+ // plots/sc/settings/defaults.ts
857
+ function getDefaultSCAppSettings(overrides = {}, app) {
858
+ const defaults = {
859
+ sc: {
860
+ columns: {
861
+ sample: "Sample"
862
+ },
863
+ item: void 0,
864
+ groupBy: "sample"
865
+ },
866
+ hierCluster: {
867
+ unit: getGEunit(app.vocabApi),
868
+ yDendrogramHeight: 0,
869
+ clusterSamples: false
870
+ }
871
+ };
872
+ return Object.assign(defaults, overrides);
873
+ }
874
+
875
+ // plots/sc/subplots/DynamicSubplot.ts
876
+ var DynamicSubplot = class _DynamicSubplot {
877
+ constructor(opts) {
878
+ this.dom = {};
879
+ this.type = _DynamicSubplot.type;
880
+ this.opts = opts;
881
+ this.app = opts.app;
882
+ this.parentId = opts?.parentId;
883
+ }
884
+ static {
885
+ this.type = "dynamicSubplot";
886
+ }
887
+ async init() {
888
+ this.opts.holder.app_div.attr("data-testid", "sjpp-sc-subplot-sandbox-" + this.opts.chartType);
889
+ if (this.opts.chartType == "summary") return;
890
+ this.dom = {
891
+ holder: this.opts.holder,
892
+ viz: this.opts.holder.body.append("div").style("position", "relative"),
893
+ paneTitleDiv: this.opts.holder.header.append("div").style("position", "relative"),
894
+ filterDiv: this.opts.holder.header.append("div").style("position", "relative"),
895
+ errorDiv: this.opts.holder.body.append("div").style("position", "relative")
896
+ };
897
+ }
898
+ getState(appState) {
899
+ const config = appState.plots.find((p) => p.id === this.id);
900
+ if (!config) {
901
+ throw `No plot with id='${this.id}' found. Did you set this.id before this.api = getComponentApi(this)?`;
902
+ }
903
+ return {
904
+ config
905
+ };
906
+ }
907
+ async main() {
908
+ if (!this.components) await this.setComponents();
909
+ }
910
+ async setComponents() {
911
+ const _ = await importPlot(this.opts.chartType);
912
+ const chartOpts = {
913
+ app: this.app,
914
+ id: this.id,
915
+ parentId: this.parentId
916
+ };
917
+ if (this.opts.chartType == "summary") {
918
+ chartOpts.holder = this.opts.holder;
919
+ chartOpts.hidePlotFilter = this.opts.isMetaResult;
920
+ } else {
921
+ chartOpts.holder = this.dom.viz;
922
+ chartOpts.header = this.dom.paneTitleDiv;
923
+ }
924
+ const promises = {
925
+ chart: _.componentInit(chartOpts)
926
+ };
927
+ if (!this.state.config?.hidePlotFilter && this.opts.isMetaResult && this.opts.chartType != "summary") {
928
+ promises.filter = filterRxCompInit({
929
+ app: this.app,
930
+ vocabApi: this.app.vocabApi,
931
+ parentId: this.id,
932
+ holder: this.dom.filterDiv,
933
+ hideLabel: true,
934
+ emptyLabel: "+Add new filter",
935
+ callback: (filter) => {
936
+ this.app.dispatch({
937
+ id: this.id,
938
+ type: "plot_edit",
939
+ config: { filter }
940
+ });
941
+ }
942
+ });
943
+ }
944
+ this.components = await multiInit(promises);
945
+ }
946
+ destroy() {
947
+ const appDiv = this.dom?.holder?.app_div;
948
+ if (appDiv) {
949
+ appDiv.selectAll("*").remove();
950
+ appDiv.remove();
951
+ }
952
+ for (const key in this.dom) {
953
+ delete this.dom[key];
954
+ }
955
+ }
956
+ };
957
+ var dynamicSubplotInit = getCompInit(DynamicSubplot);
958
+
959
+ // plots/sc/subplots/SubplotManager.ts
960
+ var SubplotManager = class {
961
+ constructor(sc) {
962
+ this.sc = sc;
963
+ this.scCompPlots = this.sc.components.plots;
964
+ this.records = /* @__PURE__ */ new Map();
965
+ }
966
+ map(subplots) {
967
+ const subplotIds = new Set(subplots.map((s) => s.id));
968
+ for (const compPlotId of Object.keys(this.scCompPlots)) {
969
+ if (!subplotIds.has(compPlotId)) {
970
+ this.removeSubplot(compPlotId);
971
+ }
972
+ }
973
+ for (const recordId of Array.from(this.records.keys())) {
974
+ if (!subplotIds.has(recordId)) this.records.delete(recordId);
975
+ }
976
+ for (const subplot of subplots) {
977
+ this.updateSubplotRecord(subplot);
978
+ }
979
+ return this.getActiveSubplotsFlat();
980
+ }
981
+ updateSubplotRecord(subplot) {
982
+ const existing = this.records.get(subplot.id);
983
+ const sampleId = this.getSampleId(subplot);
984
+ const isMeta = sampleId && this.sc.viewModel.metaResultIds.has(sampleId) || false;
985
+ this.records.set(subplot.id, {
986
+ plotId: subplot.id,
987
+ sampleId,
988
+ plotName: this.getPlotName(subplot),
989
+ sectionKey: existing?.sectionKey,
990
+ subplot,
991
+ sandboxDiv: existing?.sandboxDiv,
992
+ isMetaResult: isMeta
993
+ });
994
+ }
995
+ removeSubplot(subplotId) {
996
+ if (this.scCompPlots[subplotId]) this.scCompPlots[subplotId].destroy();
997
+ delete this.scCompPlots[subplotId];
998
+ this.records.delete(subplotId);
999
+ }
1000
+ async initSubplotSandbox(sandboxHolder, subplot, initOpts = {}) {
1001
+ const sandbox = newSandboxDiv(sandboxHolder, {
1002
+ close: () => {
1003
+ this.removeSubplot(subplot.id);
1004
+ this.sc.app.dispatch({
1005
+ type: "plot_delete",
1006
+ id: subplot.id,
1007
+ parentId: this.sc.id
1008
+ });
1009
+ if (initOpts.onClose) initOpts.onClose();
1010
+ },
1011
+ plotId: subplot.id
1012
+ });
1013
+ const subplotOpts = Object.assign({}, subplot, {
1014
+ app: this.sc.app,
1015
+ parentId: this.sc.id,
1016
+ id: subplot.id,
1017
+ holder: sandbox,
1018
+ isMetaResult: this.records.get(subplot.id)?.isMetaResult || false
1019
+ });
1020
+ this.scCompPlots[subplot.id] = await dynamicSubplotInit(subplotOpts);
1021
+ this.setSandbox(subplot.id, sandbox.app_div);
1022
+ if (initOpts.sectionKey) this.setSectionKey(subplot.id, initOpts.sectionKey);
1023
+ return sandbox.app_div;
1024
+ }
1025
+ setSandbox(plotId, sandboxDiv) {
1026
+ const record = this.records.get(plotId);
1027
+ if (!record) return;
1028
+ record.sandboxDiv = sandboxDiv;
1029
+ this.records.set(plotId, record);
1030
+ }
1031
+ setSectionKey(plotId, sectionKey) {
1032
+ const record = this.records.get(plotId);
1033
+ if (!record) return;
1034
+ record.sectionKey = sectionKey;
1035
+ this.records.set(plotId, record);
1036
+ }
1037
+ getActiveSubplotsFlat() {
1038
+ return Array.from(this.records.values());
1039
+ }
1040
+ getSampleId(subplot) {
1041
+ return subplot.sample?.sID || subplot.singleCellPlot?.sample?.sID || subplot.term?.term?.sample?.sID;
1042
+ }
1043
+ getPlotName(subplot) {
1044
+ const nameOverrides = /* @__PURE__ */ new Map([
1045
+ ["GeneExpInput", "Gene expression"],
1046
+ ["imagePlot", subplot?.imgDir?.label || "Image"],
1047
+ ["dictionary", "Summary"],
1048
+ ["summary", "Summary"]
1049
+ ]);
1050
+ let plotName = subplot?.plotName || nameOverrides.get(subplot?.chartType) || subplot?.singleCellPlot?.name;
1051
+ if (!plotName) {
1052
+ if (subplot?.term?.term?.plot) plotName = subplot.term.term.plot;
1053
+ else plotName = subplot.chartType || "Plot";
1054
+ }
1055
+ return plotName;
1056
+ }
1057
+ getSampleSandboxes(activeSubplots = this.getActiveSubplotsFlat()) {
1058
+ const sandboxes = /* @__PURE__ */ new Map();
1059
+ for (const active of activeSubplots) {
1060
+ if (!active.sampleId || !active.sandboxDiv) continue;
1061
+ if (!sandboxes.has(active.sampleId)) sandboxes.set(active.sampleId, []);
1062
+ sandboxes.get(active.sampleId).push({ plotId: active.plotId, div: active.sandboxDiv, plotName: active.plotName });
1063
+ }
1064
+ return sandboxes;
1065
+ }
1066
+ };
1067
+
1068
+ // plots/sc/SC.ts
1069
+ var SCViewer = class _SCViewer extends PlotBase {
1070
+ static {
1071
+ this.type = "sc";
1072
+ }
1073
+ constructor(opts, api) {
1074
+ super(opts, api);
1075
+ this.type = _SCViewer.type;
1076
+ this.components = {
1077
+ plots: {}
1078
+ };
1079
+ const div = opts.holder.classed("sjpp-sc-main", true).append("div").style("padding", "5px").style("display", "inline-block").style("vertical-align", "top");
1080
+ this.dom = {
1081
+ div,
1082
+ loading: opts.holder.append("div").attr("class", "sjpp-sc-main-loading").attr("data-testid", "sjpp-sc-main-loading").style("position", "absolute").style("top", "0").style("left", "0").style("width", "100%").style("height", "100%").style("background-color", "rgba(255, 255, 255, 0.95)").style("text-align", "center"),
1083
+ controlsDiv: div.append("div").attr("id", "sjpp-sc-controls-btn"),
1084
+ tableDiv: div.append("div").attr("id", "sjpp-sc-item-table"),
1085
+ plotsBtnsDiv: div.append("div").attr("id", "sjpp-sc-plot-buttons").style("display", "none"),
1086
+ sectionsDiv: div.append("div").attr("id", "sjpp-sc-sections")
1087
+ };
1088
+ if (opts.header) formatHeaderText({
1089
+ header: opts.header,
1090
+ chartType: "SINGLE CELL"
1091
+ });
1092
+ }
1093
+ getState(appState) {
1094
+ const config = appState.plots.find((p) => p.id === this.id);
1095
+ if (!config) {
1096
+ throw new Error(
1097
+ `No plot with id='${this.id}' found. Did you set this.id before this.api = getComponentApi(this)?`
1098
+ );
1099
+ }
1100
+ const termfilter = getCombinedTermFilter(appState, config.filter);
1101
+ return {
1102
+ config,
1103
+ subplots: appState.plots.filter((p) => p.parentId === this.id),
1104
+ termfilter,
1105
+ termdbConfig: appState.termdbConfig,
1106
+ vocab: appState.vocab
1107
+ };
1108
+ }
1109
+ async init(appState) {
1110
+ const state = this.getState(appState);
1111
+ const dsScSamples = state.termdbConfig.queries?.singleCell?.samples;
1112
+ this.model = new SCModel(this);
1113
+ try {
1114
+ this.itemColumns = await this.model.getColumnLabels(dsScSamples);
1115
+ } catch (e) {
1116
+ if (e instanceof Error) console.error(`${e.message || e} [SC init()]`);
1117
+ else if (e.stack) console.log(e.stack);
1118
+ throw new Error(e.message || e);
1119
+ }
1120
+ this.viewModel = new SCViewModel(this.app, this.itemColumns);
1121
+ this.interactions = new SCInteractions(this);
1122
+ this.subplotManager = new SubplotManager(this);
1123
+ this.view = new SCViewRenderer(this);
1124
+ this.view.render(state.config.settings.sc, state);
1125
+ }
1126
+ async main() {
1127
+ if (!this.model) throw new Error(`Model not initialized`);
1128
+ if (!this.viewModel) throw new Error(`ViewModel not initialized`);
1129
+ if (!this.view) throw new Error(`View not initialized`);
1130
+ if (!this.interactions) throw new Error(`Interactions not initialized`);
1131
+ const state = structuredClone(this.state);
1132
+ const config = state.config;
1133
+ super.toggleLoadingDiv();
1134
+ let data;
1135
+ try {
1136
+ const allSampleData = await this.model.getAllSampleData(state);
1137
+ if (!allSampleData || allSampleData.error) {
1138
+ super.toggleLoadingDiv("none");
1139
+ super.printError(allSampleData?.error || "No samples found for this dataset");
1140
+ return;
1141
+ }
1142
+ this.items = allSampleData.samples;
1143
+ this.viewModel.processData(config, allSampleData.samples);
1144
+ if (config.settings?.sc?.item) {
1145
+ const sampleData = await this.model.getSampleData();
1146
+ if (!sampleData || sampleData.error) {
1147
+ super.toggleLoadingDiv("none");
1148
+ super.printError(sampleData?.error || "No data found for this sample");
1149
+ return;
1150
+ }
1151
+ const hasSpatial = await this.model.hasSpatialImage(config.settings.sc.item.sID);
1152
+ data = this.viewModel.formatPlotsData(sampleData, hasSpatial);
1153
+ }
1154
+ } catch (e) {
1155
+ if (e instanceof Error) console.error(`${e.message || e} [SC main()]`);
1156
+ else if (e.stack) console.log(e.stack);
1157
+ super.toggleLoadingDiv("none");
1158
+ super.printError(e.message || e);
1159
+ return;
1160
+ }
1161
+ const activeSubplots = this.subplotManager.map(state.subplots);
1162
+ await this.view.update(config.settings, data, activeSubplots, this.viewModel.tableData, this.subplotManager);
1163
+ super.toggleLoadingDiv("none");
1164
+ }
1165
+ };
1166
+ var SCInit = getCompInit(SCViewer);
1167
+ var componentInit = SCInit;
1168
+ function getPlotConfig(opts, app) {
1169
+ const config = {
1170
+ chartType: "sc",
1171
+ settings: getDefaultSCAppSettings(opts.overrides, app)
1172
+ };
1173
+ return copyMerge(config, opts);
1174
+ }
1175
+ export {
1176
+ SCInit,
1177
+ SCViewer,
1178
+ componentInit,
1179
+ getPlotConfig
1180
+ };
1181
+ //# sourceMappingURL=SC-POCQDMWZ.js.map