@sjcrh/proteinpaint-client 2.209.0 → 2.210.1-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 (927) hide show
  1. package/dist/2dmaf-7VZ536T5.js +1367 -0
  2. package/dist/AggMatrixInput-UTUOXTGA.js +406 -0
  3. package/dist/AggregateMatrix-X75HUZYO.js +41 -0
  4. package/dist/AppHeader-X2DR6VSM.js +830 -0
  5. package/dist/BoxPlot-NQMPJICU.js +1211 -0
  6. package/dist/CorrelationVolcano-IDBUJH2E.js +617 -0
  7. package/dist/Cuminc-BYFIMOLO.js +1219 -0
  8. package/dist/DE-BI7DHHW4.js +89 -0
  9. package/dist/DEinput-W66CT4U2.js +501 -0
  10. package/dist/DEinput-W66CT4U2.js.map +7 -0
  11. package/dist/DM-62TEJA3C.js +90 -0
  12. package/dist/DifferentialAnalysis-PRTA6CYW.js +239 -0
  13. package/dist/Disco-4JQP3FRW.js +3389 -0
  14. package/dist/Disco.UI-6RHAA5KU.js +243 -0
  15. package/dist/DmrPlot-VYQYMTQ7.js +362 -0
  16. package/dist/GB-LULUM5LH.js +1392 -0
  17. package/dist/GB-LULUM5LH.js.map +7 -0
  18. package/dist/GSEA-DT3SYXOZ.js +875 -0
  19. package/dist/GeneExpInput-UILWAGRH.js +42 -0
  20. package/dist/Geomap-AFKEGMR5.js +84 -0
  21. package/dist/HicApp-APDL5POY.js +2245 -0
  22. package/dist/IDCViewer-DQXAORHT.js +10812 -0
  23. package/dist/NumBinaryEditor-OUVIOEH7.js +279 -0
  24. package/dist/NumBinaryEditor.unit.spec-VBX2X4CT.js +312 -0
  25. package/dist/NumContEditor-JVPRBZPW.js +105 -0
  26. package/dist/NumContEditor.unit.spec-EQNB6RMI.js +164 -0
  27. package/dist/NumCustomBinEditor-E2SXZDF4.js +33 -0
  28. package/dist/NumCustomBinEditor.unit.spec-VLR7MGNL.js +397 -0
  29. package/dist/NumDiscreteEditor-CUA55FU3.js +170 -0
  30. package/dist/NumDiscreteEditor.unit.spec-7IPCMUDQ.js +233 -0
  31. package/dist/NumRegularBinEditor-CWU7YBEP.js +33 -0
  32. package/dist/NumRegularBinEditor.unit.spec-RGV3EUPC.js +278 -0
  33. package/dist/NumSplineEditor-PC5X7AUJ.js +210 -0
  34. package/dist/NumSplineEditor.unit.spec-QCR3RL5W.js +224 -0
  35. package/dist/NumericDensity-CFUEE5ZN.js +33 -0
  36. package/dist/NumericDensity.unit.spec-JOCVEC32.js +418 -0
  37. package/dist/NumericHandler-VL2Z55KF.js +34 -0
  38. package/dist/NumericHandler.unit.spec-ULM5FSSA.js +214 -0
  39. package/dist/ProteomeInput-3WKTVCYT.js +388 -0
  40. package/dist/Regression-M7AQTYXL.js +1416 -0
  41. package/dist/RunChart2-54SVOXJR.js +749 -0
  42. package/dist/SC-QRWDGHB2.js +1183 -0
  43. package/dist/Violin-2AD6QRJB.js +1081 -0
  44. package/dist/Volcano-T57VFSWR.js +2456 -0
  45. package/dist/Volcano-T57VFSWR.js.map +7 -0
  46. package/dist/Wsi-U3U3EILE.js +629 -0
  47. package/dist/adSandbox-S3JP7XF3.js +33 -0
  48. package/dist/animatedBubbleChart-LZKNERIM.js +547 -0
  49. package/dist/app-2MERLGNJ.js +42 -0
  50. package/dist/app-ZNSUUOFJ.js +32 -0
  51. package/dist/app.js +14 -14
  52. package/dist/bam-ESRPS4TQ.js +876 -0
  53. package/dist/barchart-BPUEO4RK.js +42 -0
  54. package/dist/barchart2-Z36PNSM2.js +309 -0
  55. package/dist/block-GEG4UUOU.js +6250 -0
  56. package/dist/block.init-SB6OX35E.js +33 -0
  57. package/dist/block.mds.expressionrank-2JLMS334.js +354 -0
  58. package/dist/block.mds.geneboxplot-BZMGG6G3.js +823 -0
  59. package/dist/block.mds.junction-636PWE2O.js +1539 -0
  60. package/dist/block.mds.svcnv-S4L2HMZW.js +6796 -0
  61. package/dist/block.svg-A7EABUXG.js +159 -0
  62. package/dist/block.tk.aicheck-KNFJVUTW.js +278 -0
  63. package/dist/block.tk.ase-BPU25OLX.js +360 -0
  64. package/dist/block.tk.bam-VC4CZCUS.js +1901 -0
  65. package/dist/block.tk.bedgraphdot-FQS4Z4RC.js +379 -0
  66. package/dist/block.tk.bigwig.ui-7STXSD3X.js +206 -0
  67. package/dist/block.tk.hicstraw-CVDCOMPP.js +818 -0
  68. package/dist/block.tk.junction-PG4RZFH3.js +2358 -0
  69. package/dist/block.tk.junction.textmatrixui-JRW4ZJIK.js +194 -0
  70. package/dist/block.tk.ld-DLDP2NHJ.js +94 -0
  71. package/dist/block.tk.menu-PWGFMKBQ.js +1024 -0
  72. package/dist/block.tk.pgv-HOBOXQIN.js +938 -0
  73. package/dist/brainImaging-GUQTOHQF.js +555 -0
  74. package/dist/brainRegions-JWBIBCTG.js +217 -0
  75. package/dist/bubbleHeatmap-EUO3DUVT.js +378 -0
  76. package/dist/cellTypeBubbleHeatmap-TIBGPZTB.js +278 -0
  77. package/dist/chunk-3CGAABHZ.js +176 -0
  78. package/dist/chunk-3ELYMSGO.js +26 -0
  79. package/dist/chunk-3QL3U6FU.js +2853 -0
  80. package/dist/chunk-3TV5WWUN.js +339 -0
  81. package/dist/chunk-4Y5W26UF.js +424 -0
  82. package/dist/chunk-4Y5W26UF.js.map +7 -0
  83. package/dist/chunk-5XE3WSUX.js +6360 -0
  84. package/dist/chunk-665X7R7S.js +382 -0
  85. package/dist/chunk-6MQPXWOR.js +55 -0
  86. package/dist/chunk-7DSL65G7.js +14 -0
  87. package/dist/chunk-A6F3CSXP.js +626 -0
  88. package/dist/chunk-AB6JQFIQ.js +129 -0
  89. package/dist/chunk-ACOHIDWO.js +240 -0
  90. package/dist/chunk-AIVPAC5Q.js +102 -0
  91. package/dist/chunk-AKKJFMW5.js +4375 -0
  92. package/dist/chunk-AR2UIN77.js +255 -0
  93. package/dist/chunk-AXF6SVNQ.js +56 -0
  94. package/dist/chunk-BLYD6SQO.js +98 -0
  95. package/dist/chunk-BSWPONNA.js +550 -0
  96. package/dist/chunk-BX3P73XH.js +299 -0
  97. package/dist/chunk-CSAS3PVJ.js +24956 -0
  98. package/dist/chunk-CSAS3PVJ.js.map +7 -0
  99. package/dist/chunk-CW35X5ZL.js +5071 -0
  100. package/dist/chunk-D4XHYQNS.js +281 -0
  101. package/dist/chunk-DH74ZT37.js +141 -0
  102. package/dist/chunk-E76UYIT2.js +182 -0
  103. package/dist/chunk-EM6KUVI5.js +194 -0
  104. package/dist/chunk-F4GYWCRF.js +302 -0
  105. package/dist/chunk-FJ3JD7B3.js +59 -0
  106. package/dist/chunk-FW3ME75U.js +54 -0
  107. package/dist/chunk-G2X2PN74.js +783 -0
  108. package/dist/chunk-G3QKTYUT.js +2676 -0
  109. package/dist/chunk-G5USS6FI.js +56 -0
  110. package/dist/chunk-GLPTPX45.js +203 -0
  111. package/dist/chunk-GPY6SBCX.js +339 -0
  112. package/dist/chunk-GWHIKECP.js +1731 -0
  113. package/dist/chunk-GWVVEOYX.js +263 -0
  114. package/dist/chunk-HDV3LHCN.js +379 -0
  115. package/dist/chunk-HDV3LHCN.js.map +7 -0
  116. package/dist/chunk-HGXSYPU6.js +2327 -0
  117. package/dist/chunk-HMKEVTRM.js +446 -0
  118. package/dist/chunk-HPCKKXRK.js +1233 -0
  119. package/dist/chunk-IAB2PRIH.js +396 -0
  120. package/dist/chunk-IAB2PRIH.js.map +7 -0
  121. package/dist/chunk-J5JBHGRN.js +31 -0
  122. package/dist/chunk-JHOGTGIS.js +1988 -0
  123. package/dist/chunk-JHOGTGIS.js.map +7 -0
  124. package/dist/chunk-KCX54MGS.js +480 -0
  125. package/dist/chunk-KVRSO2OZ.js +34 -0
  126. package/dist/chunk-M4PUW3ML.js +243 -0
  127. package/dist/chunk-ME325OQC.js +562 -0
  128. package/dist/chunk-NJWNKBRC.js +468 -0
  129. package/dist/chunk-O5FUHCNU.js +397 -0
  130. package/dist/chunk-ODHQPTHU.js +134 -0
  131. package/dist/chunk-PTQ4GQCS.js +692 -0
  132. package/dist/chunk-PUSSP76H.js +70 -0
  133. package/dist/chunk-Q3PAXUCU.js +54 -0
  134. package/dist/chunk-QWBKN2IC.js +80 -0
  135. package/dist/chunk-R4E7BXC6.js +49 -0
  136. package/dist/chunk-SDYFM3UL.js +274 -0
  137. package/dist/chunk-SP6WCXY6.js +217 -0
  138. package/dist/chunk-SRTZQOK7.js +102 -0
  139. package/dist/chunk-T4RYLTR3.js +178 -0
  140. package/dist/chunk-TANWA6SU.js +54 -0
  141. package/dist/chunk-TBIHBC5V.js +170 -0
  142. package/dist/chunk-TGTCOCPF.js +1278 -0
  143. package/dist/chunk-TOFOT2BN.js +294 -0
  144. package/dist/chunk-UOYIPBTX.js +217 -0
  145. package/dist/chunk-USULBM4V.js +2784 -0
  146. package/dist/chunk-UYKJOBRO.js +1616 -0
  147. package/dist/chunk-UYKJOBRO.js.map +7 -0
  148. package/dist/chunk-V3WSMWBF.js +123 -0
  149. package/dist/chunk-VTHZGUSZ.js +2146 -0
  150. package/dist/chunk-WMQDFVJK.js +103 -0
  151. package/dist/chunk-WTQQWFV4.js +38 -0
  152. package/dist/chunk-XDLKYVYU.js +276 -0
  153. package/dist/chunk-XNJN5J3U.js +37 -0
  154. package/dist/chunk-XQLOEZ7T.js +158 -0
  155. package/dist/chunk-Y3SDMRDX.js +119 -0
  156. package/dist/chunk-Y5FE3G6J.js +518 -0
  157. package/dist/chunk-YMEWZVRG.js +237 -0
  158. package/dist/chunk-YPHFEKWI.js +1339 -0
  159. package/dist/chunk-Z4HW3FEE.js +272 -0
  160. package/dist/cohort-NYFUILFO.js +70 -0
  161. package/dist/condition-6M4AVISY.js +327 -0
  162. package/dist/controls-LMTWS3SY.js +34 -0
  163. package/dist/controls.config-4PK7HLFJ.js +34 -0
  164. package/dist/correlation-X6GB6ITK.js +95 -0
  165. package/dist/customdata.inputui-MDG3BTTG.js +284 -0
  166. package/dist/dataDownload-TFRI3VFM.js +329 -0
  167. package/dist/databrowser.ui-L2K7VVDW.js +425 -0
  168. package/dist/dictionary-MS6R3VNY.js +113 -0
  169. package/dist/dnaMethylation-2KYSQWNE.js +33 -0
  170. package/dist/dnaMethylation.integration.spec-2BHNKOGN.js +198 -0
  171. package/dist/dofetch-BETN7HEX.js +48 -0
  172. package/dist/e2pca-QC2EI5JM.js +344 -0
  173. package/dist/ep-BTRMR4OT.js +1249 -0
  174. package/dist/expclust.gdc.spec-C5ZMBCGO.js +302 -0
  175. package/dist/facet-LPXKLX53.js +519 -0
  176. package/dist/gb-PHJ2SM5D.js +81 -0
  177. package/dist/geneExpClustering-OXZJHEPD.js +244 -0
  178. package/dist/geneExpression-54RGEGML.js +310 -0
  179. package/dist/geneExpression-FLBQXMSX.js +33 -0
  180. package/dist/geneExpression.unit.spec-ZCE7G6HI.js +128 -0
  181. package/dist/geneORA-TELI5AFV.js +273 -0
  182. package/dist/geneRanking-7YZA5GNG.js +548 -0
  183. package/dist/geneVariant-NJYUEY4C.js +36 -0
  184. package/dist/geneVariant-VKWTXUMK.js +289 -0
  185. package/dist/geneVariant.integration.spec-RWYP523U.js +503 -0
  186. package/dist/geneVariant.integration.spec-RWYP523U.js.map +7 -0
  187. package/dist/genefusion.ui-B6J7I3RA.js +303 -0
  188. package/dist/geneset-VG4SFYML.js +203 -0
  189. package/dist/genomeBrowser.spec-5IS5Y2NG.js +276 -0
  190. package/dist/grin2-3T6KRC34.js +70 -0
  191. package/dist/grin2-FOOH736B.js +949 -0
  192. package/dist/hierCluster-WLAFGZAT.js +55 -0
  193. package/dist/hierCluster-XBL2TOOL.js +59 -0
  194. package/dist/hierCluster.config-VCBRBGDZ.js +36 -0
  195. package/dist/hierCluster.integration.spec-TNJD2QT6.js +483 -0
  196. package/dist/hierCluster.interactivity-PEEJ3BRC.js +49 -0
  197. package/dist/hierCluster.renderers-7ESGKIGM.js +19 -0
  198. package/dist/imagePlot-LWL6JMKM.js +156 -0
  199. package/dist/importPlot-CLBY6QZN.js +8 -0
  200. package/dist/isoformExpression-36P3BBN7.js +35 -0
  201. package/dist/isoformExpression.unit.spec-SF2SPTRC.js +237 -0
  202. package/dist/junction-B7DSIG4E.js +36 -0
  203. package/dist/junction.customTerm-7VZS4JDE.js +16 -0
  204. package/dist/junction.unit.spec-4MWU36MR.js +182 -0
  205. package/dist/launch.adhoc-3B34GV4S.js +37 -0
  206. package/dist/leftlabel.sample-6OM5H67E.js +258 -0
  207. package/dist/lollipop-SL2F5G6K.js +166 -0
  208. package/dist/maf-FRYGN5GR.js +455 -0
  209. package/dist/maftimeline-3UFWS73J.js +587 -0
  210. package/dist/matrix-DDKSOJ4C.js +59 -0
  211. package/dist/matrix-H2ZH2QKC.js +54 -0
  212. package/dist/matrix.cells-JTMC35SK.js +26 -0
  213. package/dist/matrix.config-EUBXWEBS.js +37 -0
  214. package/dist/matrix.data-CO5RBWY5.js +23 -0
  215. package/dist/matrix.groups-AKOJ2W6U.js +26 -0
  216. package/dist/matrix.integration.spec-66KNZO3S.js +3160 -0
  217. package/dist/matrix.interactivity-DY5YJIYB.js +37 -0
  218. package/dist/matrix.layout-MQQNHBI2.js +39 -0
  219. package/dist/matrix.legend-CGU7T6GF.js +20 -0
  220. package/dist/matrix.renderers-HC7PJN4B.js +34 -0
  221. package/dist/matrix.serieses-W4L6ZO37.js +19 -0
  222. package/dist/matrix.sort-T74DWFB2.js +26 -0
  223. package/dist/matrix.sort.unit.spec-EQEHQXTO.js +468 -0
  224. package/dist/matrix.sorterUi-GFQG4HFV.js +16 -0
  225. package/dist/matrix.sorterUi.unit.spec-XQHFOEYE.js +338 -0
  226. package/dist/matrix.unit.spec-4ZWUGZUC.js +150 -0
  227. package/dist/mavb-3CL5OHWB.js +727 -0
  228. package/dist/mds.fimo-2RFJQKJM.js +513 -0
  229. package/dist/mds.samplescatterplot-X6CXMY4C.js +1545 -0
  230. package/dist/mds.survivalplot-57NIKSSH.js +477 -0
  231. package/dist/multivalue-3TUGYL4J.js +83 -0
  232. package/dist/numericDictTermCluster-RLX5CLTN.js +63 -0
  233. package/dist/oncomatrix-COK76MJN.js +290 -0
  234. package/dist/oncomatrix.spec-SO3ZN5BF.js +443 -0
  235. package/dist/plot.2dvaf-TETCE4VG.js +372 -0
  236. package/dist/plot.app-5YUAVZA4.js +36 -0
  237. package/dist/plot.barplot-JUGY5Z7A.js +97 -0
  238. package/dist/plot.boxplot-QZXICT7J.js +146 -0
  239. package/dist/plot.brainImaging-2F6E6QS4.js +51 -0
  240. package/dist/plot.disco-H4P4B6QS.js +99 -0
  241. package/dist/plot.ssgq-LEQF3STZ.js +134 -0
  242. package/dist/plot.vaf2cov-UBMD2CN7.js +253 -0
  243. package/dist/polar2-AVEZM2T5.js +232 -0
  244. package/dist/profileForms-CUSUGTPC.js +941 -0
  245. package/dist/profilePlot-67Z7AXQ4.js +49 -0
  246. package/dist/proteinView-7K7VHGX3.js +1357 -0
  247. package/dist/proteomeCohortCompare-MRGH6HHI.js +912 -0
  248. package/dist/pseudbulk.unit.spec-ZHDL6GIM.js +86 -0
  249. package/dist/pseudobulk-ZNXPF7QB.js +35 -0
  250. package/dist/qualitative-QXMZHDWU.js +38 -0
  251. package/dist/radar2-QJDGNLED.js +327 -0
  252. package/dist/radarFacility2-LGGOOWX4.js +335 -0
  253. package/dist/rememberedGvQ.unit.spec-YKUMMYFT.js +211 -0
  254. package/dist/render-LSSRZJY3.js +33 -0
  255. package/dist/report-TTECPO44.js +217 -0
  256. package/dist/sampleView-EFS2UBRS.js +43 -0
  257. package/dist/samplelst-FXULLJBO.js +106 -0
  258. package/dist/samplematrix-MNFCXOWO.js +2193 -0
  259. package/dist/sc-2BUOXML2.js +81 -0
  260. package/dist/scatter-AVRTALYY.js +925 -0
  261. package/dist/scatter-CPEIVL3K.js +88 -0
  262. package/dist/selectGenomeWithTklst-3BG2ZPPN.js +129 -0
  263. package/dist/singleCellCellType-QLAEBVN2.js +33 -0
  264. package/dist/singleCellCellType.unit.spec-P4NAWYKL.js +154 -0
  265. package/dist/singleCellGeneExpression-IZ2PMDDL.js +33 -0
  266. package/dist/singleCellGeneExpression.unit.spec-DKBZICJM.js +148 -0
  267. package/dist/singleCellNumericValue-NB3QFH7H.js +33 -0
  268. package/dist/singleCellNumericValue.unit.spec-ZKK2KWRQ.js +416 -0
  269. package/dist/singleCellPlot-ZU655L4Z.js +48 -0
  270. package/dist/singlecell-NKPTXVHW.js +1566 -0
  271. package/dist/singlecell-PEIEFXVU.js +81 -0
  272. package/dist/snp-G55JGINX.js +33 -0
  273. package/dist/snp.unit.spec-47CCZKJO.js +171 -0
  274. package/dist/snplocus-TRVAEAPF.js +203 -0
  275. package/dist/spliceevent.a53ss.diagram-FL2R6F22.js +146 -0
  276. package/dist/spliceevent.exonskip.diagram-XDZWTJXR.js +278 -0
  277. package/dist/spliceevent.noeventdiagram-L322N534.js +455 -0
  278. package/dist/ssGSEA-DZY4LFQY.js +33 -0
  279. package/dist/ssGSEA.unit.spec-P6C3VTVZ.js +83 -0
  280. package/dist/stattable-R7O6OIMB.js +117 -0
  281. package/dist/studyCatalog-OMDE4JRD.js +414 -0
  282. package/dist/summarizeCnvGeneexp-A7HW6FJI.js +158 -0
  283. package/dist/summarizeGeneexpSurvival-ODI4HGFH.js +105 -0
  284. package/dist/summarizeMutationCnv-C2YB73OL.js +159 -0
  285. package/dist/summarizeMutationDiagnosis-4Y322NYU.js +35 -0
  286. package/dist/summarizeMutationSurvival-7IHNURLC.js +99 -0
  287. package/dist/summary-E4L5MZTF.js +44 -0
  288. package/dist/summary.integration.spec-SDCGE6BQ.js +409 -0
  289. package/dist/summaryInput-DHIMU5DM.js +242 -0
  290. package/dist/sunburst-ULNPFEAM.js +278 -0
  291. package/dist/survival-CU4N5KZO.js +53 -0
  292. package/dist/survival-KWWH6REE.js +1248 -0
  293. package/dist/survival.integration.spec-UW6SYVLP.js +613 -0
  294. package/dist/svgraph-HFI6NNF3.js +1382 -0
  295. package/dist/svmr-VHS7Z4SO.js +3837 -0
  296. package/dist/table-GJUXHKQI.js +197 -0
  297. package/dist/termCollection-CCZ4BFIU.js +33 -0
  298. package/dist/termCollection-O5CQ472U.js +252 -0
  299. package/dist/termCollection.unit.spec-KR5G6JFU.js +299 -0
  300. package/dist/termCollectionFractionSelection-IKU5MFBT.js +42 -0
  301. package/dist/termCollectionFractionSelection.unit.spec-6ZWHNGES.js +188 -0
  302. package/dist/tk-3DLMAFW7.js +41 -0
  303. package/dist/tk-CAYWF7LX.js +1121 -0
  304. package/dist/tp.ui-NF5ZYOHW.js +1454 -0
  305. package/dist/tvs.dt-43A4SSLG.js +34 -0
  306. package/dist/tvs.dtcnv.categorical-DYXHUNP2.js +35 -0
  307. package/dist/tvs.dtcnv.continuous-NOKNP4UG.js +67 -0
  308. package/dist/tvs.dtfusion-4NAOCC2X.js +35 -0
  309. package/dist/tvs.dtitd-SZC6EITI.js +35 -0
  310. package/dist/tvs.dtsnvindel-EYSBCNQK.js +35 -0
  311. package/dist/tvs.dtsv-VSPWIIFO.js +35 -0
  312. package/dist/tvs.numeric-M5LH3PRH.js +20 -0
  313. package/dist/tvs.samplelst-3YQ4GKNG.js +98 -0
  314. package/dist/tvs.termCollection-EVM4ATPW.js +124 -0
  315. package/dist/vocabulary-HCPEIO2P.js +36 -0
  316. package/dist/wsi.direct-K2J6GGWY.js +8343 -0
  317. package/package.json +3 -3
  318. package/dist/2dmaf-VTMPVZGT.js +0 -1367
  319. package/dist/AggMatrixInput-CH3RQ2QC.js +0 -406
  320. package/dist/AggregateMatrix-DPCHUOMF.js +0 -41
  321. package/dist/AppHeader-RA7T467G.js +0 -830
  322. package/dist/BoxPlot-7Q7SMT26.js +0 -1211
  323. package/dist/CorrelationVolcano-YV4UHOAX.js +0 -617
  324. package/dist/Cuminc-ZN53C3MD.js +0 -1219
  325. package/dist/DE-BEWW5AIG.js +0 -89
  326. package/dist/DEinput-SJITUJF2.js +0 -499
  327. package/dist/DEinput-SJITUJF2.js.map +0 -7
  328. package/dist/DM-2LBNE4WE.js +0 -90
  329. package/dist/DifferentialAnalysis-WE4LBHEF.js +0 -239
  330. package/dist/Disco-PTZQF7IM.js +0 -3389
  331. package/dist/Disco.UI-NBR67N5M.js +0 -243
  332. package/dist/DmrPlot-QROLI66S.js +0 -362
  333. package/dist/GB-FEBSFX5U.js +0 -1428
  334. package/dist/GB-FEBSFX5U.js.map +0 -7
  335. package/dist/GSEA-KOXOVC5V.js +0 -875
  336. package/dist/GeneExpInput-DYBK54HC.js +0 -42
  337. package/dist/Geomap-QRD2WZVL.js +0 -84
  338. package/dist/HicApp-VKET4QHD.js +0 -2245
  339. package/dist/IDCViewer-RLLTXGD7.js +0 -10812
  340. package/dist/NumBinaryEditor-GYHOYPQL.js +0 -279
  341. package/dist/NumBinaryEditor.unit.spec-E2HKBWOO.js +0 -312
  342. package/dist/NumContEditor-3V76ZSEY.js +0 -105
  343. package/dist/NumContEditor.unit.spec-RTT5Q5E5.js +0 -164
  344. package/dist/NumCustomBinEditor-O5DMPY7H.js +0 -33
  345. package/dist/NumCustomBinEditor.unit.spec-5LZBP2JL.js +0 -397
  346. package/dist/NumDiscreteEditor-DFOJ7AIH.js +0 -170
  347. package/dist/NumDiscreteEditor.unit.spec-PPJGEBFX.js +0 -233
  348. package/dist/NumRegularBinEditor-O6RDO32C.js +0 -33
  349. package/dist/NumRegularBinEditor.unit.spec-GOB3BF25.js +0 -278
  350. package/dist/NumSplineEditor-PUXJF2RW.js +0 -210
  351. package/dist/NumSplineEditor.unit.spec-4VOAAMOU.js +0 -224
  352. package/dist/NumericDensity-E6MH2THZ.js +0 -33
  353. package/dist/NumericDensity.unit.spec-IRPFBQUS.js +0 -418
  354. package/dist/NumericHandler-42RR54X3.js +0 -34
  355. package/dist/NumericHandler.unit.spec-YYOO7XVT.js +0 -214
  356. package/dist/ProteomeInput-4N2G6IFX.js +0 -388
  357. package/dist/Regression-LIWUWAGQ.js +0 -1416
  358. package/dist/RunChart2-VAX5JGZY.js +0 -749
  359. package/dist/SC-UHBZ3HRO.js +0 -1183
  360. package/dist/Violin-V23VZR6B.js +0 -1081
  361. package/dist/Volcano-64S4AW66.js +0 -2443
  362. package/dist/Volcano-64S4AW66.js.map +0 -7
  363. package/dist/Wsi-FOJCKDCP.js +0 -629
  364. package/dist/adSandbox-CLMUYNC3.js +0 -33
  365. package/dist/animatedBubbleChart-GMLNYTQC.js +0 -547
  366. package/dist/app-2SFDRDN2.js +0 -32
  367. package/dist/app-QOZ36UR4.js +0 -42
  368. package/dist/bam-LLAK7FVG.js +0 -876
  369. package/dist/barchart-SEC6VKQ2.js +0 -42
  370. package/dist/barchart2-D4FXZCTU.js +0 -309
  371. package/dist/block-XGK6TEGH.js +0 -6250
  372. package/dist/block.init-UMRCAKCF.js +0 -33
  373. package/dist/block.mds.expressionrank-LFPJ52SX.js +0 -354
  374. package/dist/block.mds.geneboxplot-2QIEN6AH.js +0 -823
  375. package/dist/block.mds.junction-Z4HUFSG2.js +0 -1539
  376. package/dist/block.mds.svcnv-3GXGY6ET.js +0 -6796
  377. package/dist/block.svg-7RCJLMAP.js +0 -159
  378. package/dist/block.tk.aicheck-5N6EGZ6F.js +0 -278
  379. package/dist/block.tk.ase-V3AJRYT6.js +0 -360
  380. package/dist/block.tk.bam-W6QOVVEU.js +0 -1901
  381. package/dist/block.tk.bedgraphdot-FKTPJZTH.js +0 -379
  382. package/dist/block.tk.bigwig.ui-Y3M2TDM2.js +0 -206
  383. package/dist/block.tk.hicstraw-3SWYTMFQ.js +0 -818
  384. package/dist/block.tk.junction-OXB22PDS.js +0 -2358
  385. package/dist/block.tk.junction.textmatrixui-PWBLRGCO.js +0 -194
  386. package/dist/block.tk.ld-NTRJL5GA.js +0 -94
  387. package/dist/block.tk.menu-JIHSGGIO.js +0 -1024
  388. package/dist/block.tk.pgv-4Q6CY6QN.js +0 -938
  389. package/dist/brainImaging-MBI4XTTU.js +0 -555
  390. package/dist/brainRegions-YVTAESRP.js +0 -217
  391. package/dist/bubbleHeatmap-ZKTA3AIG.js +0 -378
  392. package/dist/cellTypeBubbleHeatmap-GJZNXDG4.js +0 -278
  393. package/dist/chunk-2PDBU42F.js +0 -4375
  394. package/dist/chunk-2RMSV4BS.js +0 -6360
  395. package/dist/chunk-33BE7AYS.js +0 -299
  396. package/dist/chunk-3FEP6B5T.js +0 -119
  397. package/dist/chunk-3XBG5HIV.js +0 -424
  398. package/dist/chunk-3XBG5HIV.js.map +0 -7
  399. package/dist/chunk-4G73CMUL.js +0 -38
  400. package/dist/chunk-5FRETII3.js +0 -281
  401. package/dist/chunk-5LYVIIYR.js +0 -170
  402. package/dist/chunk-6FG6JFZP.js +0 -339
  403. package/dist/chunk-6G45AUSV.js +0 -237
  404. package/dist/chunk-6LDKSKYQ.js +0 -70
  405. package/dist/chunk-7FFTAYT4.js +0 -272
  406. package/dist/chunk-7GDRMBNO.js +0 -339
  407. package/dist/chunk-A2UUXYH6.js +0 -1986
  408. package/dist/chunk-A2UUXYH6.js.map +0 -7
  409. package/dist/chunk-AFQKYV4D.js +0 -2853
  410. package/dist/chunk-ANACCKCQ.js +0 -276
  411. package/dist/chunk-AR3HXZIW.js +0 -562
  412. package/dist/chunk-AVCEHJG7.js +0 -446
  413. package/dist/chunk-AVCIZWH5.js +0 -692
  414. package/dist/chunk-B6UXFX73.js +0 -178
  415. package/dist/chunk-BCCFJYPE.js +0 -54
  416. package/dist/chunk-BG3SGGVB.js +0 -134
  417. package/dist/chunk-C3HEDQPT.js +0 -24921
  418. package/dist/chunk-C3HEDQPT.js.map +0 -7
  419. package/dist/chunk-CFZ2ZW3E.js +0 -382
  420. package/dist/chunk-CKOU3P27.js +0 -26
  421. package/dist/chunk-CN6KJORZ.js +0 -397
  422. package/dist/chunk-CYWEYHJQ.js +0 -203
  423. package/dist/chunk-D5ETVOOE.js +0 -158
  424. package/dist/chunk-DANF4CC5.js +0 -102
  425. package/dist/chunk-DNCFJTPI.js +0 -1339
  426. package/dist/chunk-FNW6BKOA.js +0 -480
  427. package/dist/chunk-FR5USNAT.js +0 -54
  428. package/dist/chunk-FSLOUTTK.js +0 -37
  429. package/dist/chunk-GYE6FU7P.js +0 -626
  430. package/dist/chunk-IEIGHCZS.js +0 -1278
  431. package/dist/chunk-J5GQGWYX.js +0 -1731
  432. package/dist/chunk-JMDUO47F.js +0 -5071
  433. package/dist/chunk-JTANDSTD.js +0 -54
  434. package/dist/chunk-JTQPPUDG.js +0 -379
  435. package/dist/chunk-JTQPPUDG.js.map +0 -7
  436. package/dist/chunk-K32DV4QI.js +0 -302
  437. package/dist/chunk-K77W4SSI.js +0 -98
  438. package/dist/chunk-KEHVNCFK.js +0 -102
  439. package/dist/chunk-MMKSXXU2.js +0 -55
  440. package/dist/chunk-NDOKW2HJ.js +0 -31
  441. package/dist/chunk-NGMM2MNC.js +0 -518
  442. package/dist/chunk-OASGOTRM.js +0 -80
  443. package/dist/chunk-OBDIJ4QS.js +0 -2146
  444. package/dist/chunk-OEBGQKQR.js +0 -2676
  445. package/dist/chunk-OI5KBFBE.js +0 -468
  446. package/dist/chunk-OWEBE64A.js +0 -243
  447. package/dist/chunk-P7X4LDW4.js +0 -783
  448. package/dist/chunk-Q4HTEL2O.js +0 -56
  449. package/dist/chunk-QD75Q5LM.js +0 -59
  450. package/dist/chunk-QGH5BM2D.js +0 -141
  451. package/dist/chunk-QSOFGLWZ.js +0 -240
  452. package/dist/chunk-QXDGIQYA.js +0 -217
  453. package/dist/chunk-R2QE6ROO.js +0 -176
  454. package/dist/chunk-RMHUDMZ7.js +0 -103
  455. package/dist/chunk-SB36AUG7.js +0 -1614
  456. package/dist/chunk-SB36AUG7.js.map +0 -7
  457. package/dist/chunk-SXB4IZQ7.js +0 -123
  458. package/dist/chunk-SYPSS3JQ.js +0 -387
  459. package/dist/chunk-SYPSS3JQ.js.map +0 -7
  460. package/dist/chunk-T6Q76PDN.js +0 -182
  461. package/dist/chunk-TYR355RM.js +0 -263
  462. package/dist/chunk-ULZPHJYD.js +0 -2784
  463. package/dist/chunk-V3SOBDIT.js +0 -255
  464. package/dist/chunk-VFUSBU43.js +0 -14
  465. package/dist/chunk-VOF6NWTS.js +0 -274
  466. package/dist/chunk-WGDJX7WZ.js +0 -2327
  467. package/dist/chunk-WIQVSCD5.js +0 -294
  468. package/dist/chunk-WXXRVJSP.js +0 -56
  469. package/dist/chunk-X4MV2M5F.js +0 -129
  470. package/dist/chunk-XVVVNCXS.js +0 -217
  471. package/dist/chunk-YHP7MYB7.js +0 -49
  472. package/dist/chunk-YHWQWVWX.js +0 -550
  473. package/dist/chunk-YKZOQTT4.js +0 -1233
  474. package/dist/chunk-Z5HU276I.js +0 -34
  475. package/dist/chunk-Z6MCBFDM.js +0 -194
  476. package/dist/cohort-GVAJTICQ.js +0 -70
  477. package/dist/condition-EGPNMM47.js +0 -327
  478. package/dist/controls-HBROSXHF.js +0 -34
  479. package/dist/controls.config-FWKV66TU.js +0 -34
  480. package/dist/correlation-CEHE66EC.js +0 -95
  481. package/dist/customdata.inputui-LFT3N5FD.js +0 -284
  482. package/dist/dataDownload-ZPAIAAE4.js +0 -329
  483. package/dist/databrowser.ui-W5JGFBE6.js +0 -425
  484. package/dist/dictionary-RBE2CIZI.js +0 -113
  485. package/dist/dnaMethylation-CX22TSRO.js +0 -33
  486. package/dist/dnaMethylation.integration.spec-KEE6ZZRT.js +0 -198
  487. package/dist/dofetch-6NAGX5EG.js +0 -48
  488. package/dist/e2pca-XDGPTEXL.js +0 -344
  489. package/dist/ep-IUIDMIGW.js +0 -1249
  490. package/dist/expclust.gdc.spec-BMN2PTJX.js +0 -302
  491. package/dist/facet-DTJKZOBA.js +0 -519
  492. package/dist/gb-MV7MUJWO.js +0 -81
  493. package/dist/geneExpClustering-NFH5FS3S.js +0 -244
  494. package/dist/geneExpression-XVOLNYVN.js +0 -310
  495. package/dist/geneExpression-ZP2VWHED.js +0 -33
  496. package/dist/geneExpression.unit.spec-2NSK4ARK.js +0 -128
  497. package/dist/geneORA-HQ7FLMEJ.js +0 -273
  498. package/dist/geneRanking-MIABUKTN.js +0 -548
  499. package/dist/geneVariant-H52UUK6Z.js +0 -289
  500. package/dist/geneVariant-HDFWLALZ.js +0 -36
  501. package/dist/geneVariant.integration.spec-O36JK4B7.js +0 -503
  502. package/dist/geneVariant.integration.spec-O36JK4B7.js.map +0 -7
  503. package/dist/genefusion.ui-HSDZQHJA.js +0 -303
  504. package/dist/geneset-WKV3X2EJ.js +0 -203
  505. package/dist/genomeBrowser.spec-UTAHAU76.js +0 -276
  506. package/dist/grin2-M2JDZVYU.js +0 -70
  507. package/dist/grin2-N2QM3XTG.js +0 -949
  508. package/dist/hierCluster-LZI6OTRS.js +0 -59
  509. package/dist/hierCluster-VVXPOTQU.js +0 -55
  510. package/dist/hierCluster.config-NCYH3Y7Z.js +0 -36
  511. package/dist/hierCluster.integration.spec-ZDOOCTV3.js +0 -483
  512. package/dist/hierCluster.interactivity-4HP3JCON.js +0 -49
  513. package/dist/hierCluster.renderers-3F5GMEXA.js +0 -19
  514. package/dist/imagePlot-OA4WTMLU.js +0 -156
  515. package/dist/importPlot-OSTC2GPO.js +0 -8
  516. package/dist/isoformExpression-LZ5RTUS5.js +0 -35
  517. package/dist/isoformExpression.unit.spec-L6YDBKYM.js +0 -237
  518. package/dist/junction-UR6COY3A.js +0 -36
  519. package/dist/junction.customTerm-TMV43R7Z.js +0 -16
  520. package/dist/junction.unit.spec-NVBJTGA4.js +0 -182
  521. package/dist/launch.adhoc-AZG6QJG7.js +0 -37
  522. package/dist/leftlabel.sample-LYZG25RT.js +0 -258
  523. package/dist/lollipop-FJXVP5QM.js +0 -166
  524. package/dist/maf-OXJIJD6D.js +0 -455
  525. package/dist/maftimeline-75N6ZXEM.js +0 -587
  526. package/dist/matrix-QFKGEW5A.js +0 -54
  527. package/dist/matrix-XT7LUV5K.js +0 -59
  528. package/dist/matrix.cells-NB7LKKXV.js +0 -26
  529. package/dist/matrix.config-X6HS4UGD.js +0 -37
  530. package/dist/matrix.data-VLFF34SS.js +0 -23
  531. package/dist/matrix.groups-F62TSKIG.js +0 -26
  532. package/dist/matrix.integration.spec-7QBYWHW6.js +0 -3160
  533. package/dist/matrix.interactivity-2FBXB52E.js +0 -37
  534. package/dist/matrix.layout-6TPVKLSX.js +0 -39
  535. package/dist/matrix.legend-L4ULBMGX.js +0 -20
  536. package/dist/matrix.renderers-DK6YRLO2.js +0 -34
  537. package/dist/matrix.serieses-DCRJLJ3H.js +0 -19
  538. package/dist/matrix.sort-XSGPH44J.js +0 -26
  539. package/dist/matrix.sort.unit.spec-JF75F4I4.js +0 -468
  540. package/dist/matrix.sorterUi-WL5I6S3K.js +0 -16
  541. package/dist/matrix.sorterUi.unit.spec-66JMV5BK.js +0 -338
  542. package/dist/matrix.unit.spec-36AR4I43.js +0 -150
  543. package/dist/mavb-ZH4RO77H.js +0 -727
  544. package/dist/mds.fimo-MVP2G5PS.js +0 -513
  545. package/dist/mds.samplescatterplot-GYJ3OI4N.js +0 -1545
  546. package/dist/mds.survivalplot-Q6MYQGTB.js +0 -477
  547. package/dist/multivalue-BGFMPH4X.js +0 -83
  548. package/dist/numericDictTermCluster-FNNVLIWB.js +0 -63
  549. package/dist/oncomatrix-LIIALWWN.js +0 -290
  550. package/dist/oncomatrix.spec-NEMLM2ZN.js +0 -443
  551. package/dist/plot.2dvaf-HJO3SKNK.js +0 -372
  552. package/dist/plot.app-WSLFOFSR.js +0 -36
  553. package/dist/plot.barplot-SPI5JA37.js +0 -97
  554. package/dist/plot.boxplot-4W3XEY5I.js +0 -146
  555. package/dist/plot.brainImaging-KEOUTYIB.js +0 -51
  556. package/dist/plot.disco-7IDMKNAQ.js +0 -99
  557. package/dist/plot.ssgq-IOKUGDC4.js +0 -134
  558. package/dist/plot.vaf2cov-SFSZ6M43.js +0 -253
  559. package/dist/polar2-PLPE5TX5.js +0 -232
  560. package/dist/profileForms-ZDHG67GM.js +0 -941
  561. package/dist/profilePlot-UUZA2YG6.js +0 -49
  562. package/dist/proteinView-GHS3XARL.js +0 -1357
  563. package/dist/proteomeCohortCompare-TQ3BGIPS.js +0 -912
  564. package/dist/pseudbulk.unit.spec-HFESRN7A.js +0 -86
  565. package/dist/pseudobulk-ODXYIUD5.js +0 -35
  566. package/dist/qualitative-WOSYAIGQ.js +0 -38
  567. package/dist/radar2-2KXBS3Y3.js +0 -327
  568. package/dist/radarFacility2-JCOKJQQF.js +0 -335
  569. package/dist/rememberedGvQ.unit.spec-DYRO2LO5.js +0 -211
  570. package/dist/render-IJ6GE3NE.js +0 -33
  571. package/dist/report-WLLFUA7L.js +0 -217
  572. package/dist/sampleView-LPKSYUNF.js +0 -43
  573. package/dist/samplelst-MNI2MGMT.js +0 -106
  574. package/dist/samplematrix-KEKJP2B4.js +0 -2193
  575. package/dist/sc-ZYKFRJU4.js +0 -81
  576. package/dist/scatter-BAEZOFWA.js +0 -88
  577. package/dist/scatter-IGFBIZ3B.js +0 -925
  578. package/dist/selectGenomeWithTklst-HBHRXEDY.js +0 -129
  579. package/dist/singleCellCellType-PMFDV24B.js +0 -33
  580. package/dist/singleCellCellType.unit.spec-ZLYDUDIY.js +0 -154
  581. package/dist/singleCellGeneExpression-SUYO3HR3.js +0 -33
  582. package/dist/singleCellGeneExpression.unit.spec-3N3HRXFN.js +0 -148
  583. package/dist/singleCellNumericValue-BV7C6Y34.js +0 -33
  584. package/dist/singleCellNumericValue.unit.spec-7VJOMYQ6.js +0 -416
  585. package/dist/singleCellPlot-BG7UJOHA.js +0 -48
  586. package/dist/singlecell-BANNFGBS.js +0 -81
  587. package/dist/singlecell-ZUTL5ZWE.js +0 -1566
  588. package/dist/snp-BHG4NVK4.js +0 -33
  589. package/dist/snp.unit.spec-Q3AZHQRC.js +0 -171
  590. package/dist/snplocus-HTJL63M3.js +0 -203
  591. package/dist/spliceevent.a53ss.diagram-UKRIP7EP.js +0 -146
  592. package/dist/spliceevent.exonskip.diagram-CU777CXQ.js +0 -278
  593. package/dist/spliceevent.noeventdiagram-LGLXCF25.js +0 -455
  594. package/dist/ssGSEA-BIEEKAKX.js +0 -33
  595. package/dist/ssGSEA.unit.spec-YD4UDIRH.js +0 -83
  596. package/dist/stattable-LFR3RSD6.js +0 -117
  597. package/dist/studyCatalog-RINIZ277.js +0 -414
  598. package/dist/summarizeCnvGeneexp-ZQFNPR65.js +0 -158
  599. package/dist/summarizeGeneexpSurvival-GIS7XMMH.js +0 -105
  600. package/dist/summarizeMutationCnv-FWF7YIGR.js +0 -159
  601. package/dist/summarizeMutationDiagnosis-V5L2OKTK.js +0 -35
  602. package/dist/summarizeMutationSurvival-LAUUF6XN.js +0 -99
  603. package/dist/summary-OMU3ACNE.js +0 -44
  604. package/dist/summary.integration.spec-6JZAT73L.js +0 -409
  605. package/dist/summaryInput-QIKL3HDD.js +0 -242
  606. package/dist/sunburst-32IW2R57.js +0 -278
  607. package/dist/survival-BMOPVAN2.js +0 -53
  608. package/dist/survival-H5AWMQ36.js +0 -1248
  609. package/dist/survival.integration.spec-66UOWSZG.js +0 -613
  610. package/dist/svgraph-B75FS3BB.js +0 -1382
  611. package/dist/svmr-IUEUOHVO.js +0 -3837
  612. package/dist/table-YAAH7WR6.js +0 -197
  613. package/dist/termCollection-7F5ZG2DB.js +0 -252
  614. package/dist/termCollection-KNFUELYY.js +0 -33
  615. package/dist/termCollection.unit.spec-S6M6QC4C.js +0 -299
  616. package/dist/termCollectionFractionSelection-X22VMJWY.js +0 -42
  617. package/dist/termCollectionFractionSelection.unit.spec-ELU6SD7P.js +0 -188
  618. package/dist/tk-TT666UVE.js +0 -41
  619. package/dist/tk-UOPNJ323.js +0 -1121
  620. package/dist/tp.ui-HGAHRKO5.js +0 -1454
  621. package/dist/tvs.dt-H7YYR4EB.js +0 -34
  622. package/dist/tvs.dtcnv.categorical-IPJTKGMF.js +0 -35
  623. package/dist/tvs.dtcnv.continuous-XY5XZ4GH.js +0 -67
  624. package/dist/tvs.dtfusion-VFCBMXRM.js +0 -35
  625. package/dist/tvs.dtitd-RZVW6FTR.js +0 -35
  626. package/dist/tvs.dtsnvindel-IDPJWSGC.js +0 -35
  627. package/dist/tvs.dtsv-QERP756F.js +0 -35
  628. package/dist/tvs.numeric-22AHXO5K.js +0 -20
  629. package/dist/tvs.samplelst-6KNDHBIU.js +0 -98
  630. package/dist/tvs.termCollection-GWPJK3NE.js +0 -124
  631. package/dist/vocabulary-C5FIZMPQ.js +0 -36
  632. package/dist/wsi.direct-2RBCBXDA.js +0 -8343
  633. /package/dist/{2dmaf-VTMPVZGT.js.map → 2dmaf-7VZ536T5.js.map} +0 -0
  634. /package/dist/{AggMatrixInput-CH3RQ2QC.js.map → AggMatrixInput-UTUOXTGA.js.map} +0 -0
  635. /package/dist/{AggregateMatrix-DPCHUOMF.js.map → AggregateMatrix-X75HUZYO.js.map} +0 -0
  636. /package/dist/{AppHeader-RA7T467G.js.map → AppHeader-X2DR6VSM.js.map} +0 -0
  637. /package/dist/{BoxPlot-7Q7SMT26.js.map → BoxPlot-NQMPJICU.js.map} +0 -0
  638. /package/dist/{CorrelationVolcano-YV4UHOAX.js.map → CorrelationVolcano-IDBUJH2E.js.map} +0 -0
  639. /package/dist/{Cuminc-ZN53C3MD.js.map → Cuminc-BYFIMOLO.js.map} +0 -0
  640. /package/dist/{DE-BEWW5AIG.js.map → DE-BI7DHHW4.js.map} +0 -0
  641. /package/dist/{DM-2LBNE4WE.js.map → DM-62TEJA3C.js.map} +0 -0
  642. /package/dist/{DifferentialAnalysis-WE4LBHEF.js.map → DifferentialAnalysis-PRTA6CYW.js.map} +0 -0
  643. /package/dist/{Disco-PTZQF7IM.js.map → Disco-4JQP3FRW.js.map} +0 -0
  644. /package/dist/{Disco.UI-NBR67N5M.js.map → Disco.UI-6RHAA5KU.js.map} +0 -0
  645. /package/dist/{DmrPlot-QROLI66S.js.map → DmrPlot-VYQYMTQ7.js.map} +0 -0
  646. /package/dist/{GSEA-KOXOVC5V.js.map → GSEA-DT3SYXOZ.js.map} +0 -0
  647. /package/dist/{GeneExpInput-DYBK54HC.js.map → GeneExpInput-UILWAGRH.js.map} +0 -0
  648. /package/dist/{Geomap-QRD2WZVL.js.map → Geomap-AFKEGMR5.js.map} +0 -0
  649. /package/dist/{HicApp-VKET4QHD.js.map → HicApp-APDL5POY.js.map} +0 -0
  650. /package/dist/{IDCViewer-RLLTXGD7.js.map → IDCViewer-DQXAORHT.js.map} +0 -0
  651. /package/dist/{NumBinaryEditor-GYHOYPQL.js.map → NumBinaryEditor-OUVIOEH7.js.map} +0 -0
  652. /package/dist/{NumBinaryEditor.unit.spec-E2HKBWOO.js.map → NumBinaryEditor.unit.spec-VBX2X4CT.js.map} +0 -0
  653. /package/dist/{NumContEditor-3V76ZSEY.js.map → NumContEditor-JVPRBZPW.js.map} +0 -0
  654. /package/dist/{NumContEditor.unit.spec-RTT5Q5E5.js.map → NumContEditor.unit.spec-EQNB6RMI.js.map} +0 -0
  655. /package/dist/{NumCustomBinEditor-O5DMPY7H.js.map → NumCustomBinEditor-E2SXZDF4.js.map} +0 -0
  656. /package/dist/{NumCustomBinEditor.unit.spec-5LZBP2JL.js.map → NumCustomBinEditor.unit.spec-VLR7MGNL.js.map} +0 -0
  657. /package/dist/{NumDiscreteEditor-DFOJ7AIH.js.map → NumDiscreteEditor-CUA55FU3.js.map} +0 -0
  658. /package/dist/{NumDiscreteEditor.unit.spec-PPJGEBFX.js.map → NumDiscreteEditor.unit.spec-7IPCMUDQ.js.map} +0 -0
  659. /package/dist/{NumRegularBinEditor-O6RDO32C.js.map → NumRegularBinEditor-CWU7YBEP.js.map} +0 -0
  660. /package/dist/{NumRegularBinEditor.unit.spec-GOB3BF25.js.map → NumRegularBinEditor.unit.spec-RGV3EUPC.js.map} +0 -0
  661. /package/dist/{NumSplineEditor-PUXJF2RW.js.map → NumSplineEditor-PC5X7AUJ.js.map} +0 -0
  662. /package/dist/{NumSplineEditor.unit.spec-4VOAAMOU.js.map → NumSplineEditor.unit.spec-QCR3RL5W.js.map} +0 -0
  663. /package/dist/{NumericDensity-E6MH2THZ.js.map → NumericDensity-CFUEE5ZN.js.map} +0 -0
  664. /package/dist/{NumericDensity.unit.spec-IRPFBQUS.js.map → NumericDensity.unit.spec-JOCVEC32.js.map} +0 -0
  665. /package/dist/{NumericHandler-42RR54X3.js.map → NumericHandler-VL2Z55KF.js.map} +0 -0
  666. /package/dist/{NumericHandler.unit.spec-YYOO7XVT.js.map → NumericHandler.unit.spec-ULM5FSSA.js.map} +0 -0
  667. /package/dist/{ProteomeInput-4N2G6IFX.js.map → ProteomeInput-3WKTVCYT.js.map} +0 -0
  668. /package/dist/{Regression-LIWUWAGQ.js.map → Regression-M7AQTYXL.js.map} +0 -0
  669. /package/dist/{RunChart2-VAX5JGZY.js.map → RunChart2-54SVOXJR.js.map} +0 -0
  670. /package/dist/{SC-UHBZ3HRO.js.map → SC-QRWDGHB2.js.map} +0 -0
  671. /package/dist/{Violin-V23VZR6B.js.map → Violin-2AD6QRJB.js.map} +0 -0
  672. /package/dist/{Wsi-FOJCKDCP.js.map → Wsi-U3U3EILE.js.map} +0 -0
  673. /package/dist/{adSandbox-CLMUYNC3.js.map → adSandbox-S3JP7XF3.js.map} +0 -0
  674. /package/dist/{animatedBubbleChart-GMLNYTQC.js.map → animatedBubbleChart-LZKNERIM.js.map} +0 -0
  675. /package/dist/{app-2SFDRDN2.js.map → app-2MERLGNJ.js.map} +0 -0
  676. /package/dist/{app-QOZ36UR4.js.map → app-ZNSUUOFJ.js.map} +0 -0
  677. /package/dist/{bam-LLAK7FVG.js.map → bam-ESRPS4TQ.js.map} +0 -0
  678. /package/dist/{barchart-SEC6VKQ2.js.map → barchart-BPUEO4RK.js.map} +0 -0
  679. /package/dist/{barchart2-D4FXZCTU.js.map → barchart2-Z36PNSM2.js.map} +0 -0
  680. /package/dist/{block-XGK6TEGH.js.map → block-GEG4UUOU.js.map} +0 -0
  681. /package/dist/{block.init-UMRCAKCF.js.map → block.init-SB6OX35E.js.map} +0 -0
  682. /package/dist/{block.mds.expressionrank-LFPJ52SX.js.map → block.mds.expressionrank-2JLMS334.js.map} +0 -0
  683. /package/dist/{block.mds.geneboxplot-2QIEN6AH.js.map → block.mds.geneboxplot-BZMGG6G3.js.map} +0 -0
  684. /package/dist/{block.mds.junction-Z4HUFSG2.js.map → block.mds.junction-636PWE2O.js.map} +0 -0
  685. /package/dist/{block.mds.svcnv-3GXGY6ET.js.map → block.mds.svcnv-S4L2HMZW.js.map} +0 -0
  686. /package/dist/{block.svg-7RCJLMAP.js.map → block.svg-A7EABUXG.js.map} +0 -0
  687. /package/dist/{block.tk.aicheck-5N6EGZ6F.js.map → block.tk.aicheck-KNFJVUTW.js.map} +0 -0
  688. /package/dist/{block.tk.ase-V3AJRYT6.js.map → block.tk.ase-BPU25OLX.js.map} +0 -0
  689. /package/dist/{block.tk.bam-W6QOVVEU.js.map → block.tk.bam-VC4CZCUS.js.map} +0 -0
  690. /package/dist/{block.tk.bedgraphdot-FKTPJZTH.js.map → block.tk.bedgraphdot-FQS4Z4RC.js.map} +0 -0
  691. /package/dist/{block.tk.bigwig.ui-Y3M2TDM2.js.map → block.tk.bigwig.ui-7STXSD3X.js.map} +0 -0
  692. /package/dist/{block.tk.hicstraw-3SWYTMFQ.js.map → block.tk.hicstraw-CVDCOMPP.js.map} +0 -0
  693. /package/dist/{block.tk.junction-OXB22PDS.js.map → block.tk.junction-PG4RZFH3.js.map} +0 -0
  694. /package/dist/{block.tk.junction.textmatrixui-PWBLRGCO.js.map → block.tk.junction.textmatrixui-JRW4ZJIK.js.map} +0 -0
  695. /package/dist/{block.tk.ld-NTRJL5GA.js.map → block.tk.ld-DLDP2NHJ.js.map} +0 -0
  696. /package/dist/{block.tk.menu-JIHSGGIO.js.map → block.tk.menu-PWGFMKBQ.js.map} +0 -0
  697. /package/dist/{block.tk.pgv-4Q6CY6QN.js.map → block.tk.pgv-HOBOXQIN.js.map} +0 -0
  698. /package/dist/{brainImaging-MBI4XTTU.js.map → brainImaging-GUQTOHQF.js.map} +0 -0
  699. /package/dist/{brainRegions-YVTAESRP.js.map → brainRegions-JWBIBCTG.js.map} +0 -0
  700. /package/dist/{bubbleHeatmap-ZKTA3AIG.js.map → bubbleHeatmap-EUO3DUVT.js.map} +0 -0
  701. /package/dist/{cellTypeBubbleHeatmap-GJZNXDG4.js.map → cellTypeBubbleHeatmap-TIBGPZTB.js.map} +0 -0
  702. /package/dist/{chunk-R2QE6ROO.js.map → chunk-3CGAABHZ.js.map} +0 -0
  703. /package/dist/{chunk-CKOU3P27.js.map → chunk-3ELYMSGO.js.map} +0 -0
  704. /package/dist/{chunk-AFQKYV4D.js.map → chunk-3QL3U6FU.js.map} +0 -0
  705. /package/dist/{chunk-6FG6JFZP.js.map → chunk-3TV5WWUN.js.map} +0 -0
  706. /package/dist/{chunk-2RMSV4BS.js.map → chunk-5XE3WSUX.js.map} +0 -0
  707. /package/dist/{chunk-CFZ2ZW3E.js.map → chunk-665X7R7S.js.map} +0 -0
  708. /package/dist/{chunk-MMKSXXU2.js.map → chunk-6MQPXWOR.js.map} +0 -0
  709. /package/dist/{chunk-VFUSBU43.js.map → chunk-7DSL65G7.js.map} +0 -0
  710. /package/dist/{chunk-GYE6FU7P.js.map → chunk-A6F3CSXP.js.map} +0 -0
  711. /package/dist/{chunk-X4MV2M5F.js.map → chunk-AB6JQFIQ.js.map} +0 -0
  712. /package/dist/{chunk-QSOFGLWZ.js.map → chunk-ACOHIDWO.js.map} +0 -0
  713. /package/dist/{chunk-DANF4CC5.js.map → chunk-AIVPAC5Q.js.map} +0 -0
  714. /package/dist/{chunk-2PDBU42F.js.map → chunk-AKKJFMW5.js.map} +0 -0
  715. /package/dist/{chunk-V3SOBDIT.js.map → chunk-AR2UIN77.js.map} +0 -0
  716. /package/dist/{chunk-WXXRVJSP.js.map → chunk-AXF6SVNQ.js.map} +0 -0
  717. /package/dist/{chunk-K77W4SSI.js.map → chunk-BLYD6SQO.js.map} +0 -0
  718. /package/dist/{chunk-YHWQWVWX.js.map → chunk-BSWPONNA.js.map} +0 -0
  719. /package/dist/{chunk-33BE7AYS.js.map → chunk-BX3P73XH.js.map} +0 -0
  720. /package/dist/{chunk-JMDUO47F.js.map → chunk-CW35X5ZL.js.map} +0 -0
  721. /package/dist/{chunk-5FRETII3.js.map → chunk-D4XHYQNS.js.map} +0 -0
  722. /package/dist/{chunk-QGH5BM2D.js.map → chunk-DH74ZT37.js.map} +0 -0
  723. /package/dist/{chunk-T6Q76PDN.js.map → chunk-E76UYIT2.js.map} +0 -0
  724. /package/dist/{chunk-Z6MCBFDM.js.map → chunk-EM6KUVI5.js.map} +0 -0
  725. /package/dist/{chunk-K32DV4QI.js.map → chunk-F4GYWCRF.js.map} +0 -0
  726. /package/dist/{chunk-QD75Q5LM.js.map → chunk-FJ3JD7B3.js.map} +0 -0
  727. /package/dist/{chunk-FR5USNAT.js.map → chunk-FW3ME75U.js.map} +0 -0
  728. /package/dist/{chunk-P7X4LDW4.js.map → chunk-G2X2PN74.js.map} +0 -0
  729. /package/dist/{chunk-OEBGQKQR.js.map → chunk-G3QKTYUT.js.map} +0 -0
  730. /package/dist/{chunk-Q4HTEL2O.js.map → chunk-G5USS6FI.js.map} +0 -0
  731. /package/dist/{chunk-CYWEYHJQ.js.map → chunk-GLPTPX45.js.map} +0 -0
  732. /package/dist/{chunk-7GDRMBNO.js.map → chunk-GPY6SBCX.js.map} +0 -0
  733. /package/dist/{chunk-J5GQGWYX.js.map → chunk-GWHIKECP.js.map} +0 -0
  734. /package/dist/{chunk-TYR355RM.js.map → chunk-GWVVEOYX.js.map} +0 -0
  735. /package/dist/{chunk-WGDJX7WZ.js.map → chunk-HGXSYPU6.js.map} +0 -0
  736. /package/dist/{chunk-AVCEHJG7.js.map → chunk-HMKEVTRM.js.map} +0 -0
  737. /package/dist/{chunk-YKZOQTT4.js.map → chunk-HPCKKXRK.js.map} +0 -0
  738. /package/dist/{chunk-NDOKW2HJ.js.map → chunk-J5JBHGRN.js.map} +0 -0
  739. /package/dist/{chunk-FNW6BKOA.js.map → chunk-KCX54MGS.js.map} +0 -0
  740. /package/dist/{chunk-Z5HU276I.js.map → chunk-KVRSO2OZ.js.map} +0 -0
  741. /package/dist/{chunk-OWEBE64A.js.map → chunk-M4PUW3ML.js.map} +0 -0
  742. /package/dist/{chunk-AR3HXZIW.js.map → chunk-ME325OQC.js.map} +0 -0
  743. /package/dist/{chunk-OI5KBFBE.js.map → chunk-NJWNKBRC.js.map} +0 -0
  744. /package/dist/{chunk-CN6KJORZ.js.map → chunk-O5FUHCNU.js.map} +0 -0
  745. /package/dist/{chunk-BG3SGGVB.js.map → chunk-ODHQPTHU.js.map} +0 -0
  746. /package/dist/{chunk-AVCIZWH5.js.map → chunk-PTQ4GQCS.js.map} +0 -0
  747. /package/dist/{chunk-6LDKSKYQ.js.map → chunk-PUSSP76H.js.map} +0 -0
  748. /package/dist/{chunk-JTANDSTD.js.map → chunk-Q3PAXUCU.js.map} +0 -0
  749. /package/dist/{chunk-OASGOTRM.js.map → chunk-QWBKN2IC.js.map} +0 -0
  750. /package/dist/{chunk-YHP7MYB7.js.map → chunk-R4E7BXC6.js.map} +0 -0
  751. /package/dist/{chunk-VOF6NWTS.js.map → chunk-SDYFM3UL.js.map} +0 -0
  752. /package/dist/{chunk-QXDGIQYA.js.map → chunk-SP6WCXY6.js.map} +0 -0
  753. /package/dist/{chunk-KEHVNCFK.js.map → chunk-SRTZQOK7.js.map} +0 -0
  754. /package/dist/{chunk-B6UXFX73.js.map → chunk-T4RYLTR3.js.map} +0 -0
  755. /package/dist/{chunk-BCCFJYPE.js.map → chunk-TANWA6SU.js.map} +0 -0
  756. /package/dist/{chunk-5LYVIIYR.js.map → chunk-TBIHBC5V.js.map} +0 -0
  757. /package/dist/{chunk-IEIGHCZS.js.map → chunk-TGTCOCPF.js.map} +0 -0
  758. /package/dist/{chunk-WIQVSCD5.js.map → chunk-TOFOT2BN.js.map} +0 -0
  759. /package/dist/{chunk-XVVVNCXS.js.map → chunk-UOYIPBTX.js.map} +0 -0
  760. /package/dist/{chunk-ULZPHJYD.js.map → chunk-USULBM4V.js.map} +0 -0
  761. /package/dist/{chunk-SXB4IZQ7.js.map → chunk-V3WSMWBF.js.map} +0 -0
  762. /package/dist/{chunk-OBDIJ4QS.js.map → chunk-VTHZGUSZ.js.map} +0 -0
  763. /package/dist/{chunk-RMHUDMZ7.js.map → chunk-WMQDFVJK.js.map} +0 -0
  764. /package/dist/{chunk-4G73CMUL.js.map → chunk-WTQQWFV4.js.map} +0 -0
  765. /package/dist/{chunk-ANACCKCQ.js.map → chunk-XDLKYVYU.js.map} +0 -0
  766. /package/dist/{chunk-FSLOUTTK.js.map → chunk-XNJN5J3U.js.map} +0 -0
  767. /package/dist/{chunk-D5ETVOOE.js.map → chunk-XQLOEZ7T.js.map} +0 -0
  768. /package/dist/{chunk-3FEP6B5T.js.map → chunk-Y3SDMRDX.js.map} +0 -0
  769. /package/dist/{chunk-NGMM2MNC.js.map → chunk-Y5FE3G6J.js.map} +0 -0
  770. /package/dist/{chunk-6G45AUSV.js.map → chunk-YMEWZVRG.js.map} +0 -0
  771. /package/dist/{chunk-DNCFJTPI.js.map → chunk-YPHFEKWI.js.map} +0 -0
  772. /package/dist/{chunk-7FFTAYT4.js.map → chunk-Z4HW3FEE.js.map} +0 -0
  773. /package/dist/{cohort-GVAJTICQ.js.map → cohort-NYFUILFO.js.map} +0 -0
  774. /package/dist/{condition-EGPNMM47.js.map → condition-6M4AVISY.js.map} +0 -0
  775. /package/dist/{controls-HBROSXHF.js.map → controls-LMTWS3SY.js.map} +0 -0
  776. /package/dist/{controls.config-FWKV66TU.js.map → controls.config-4PK7HLFJ.js.map} +0 -0
  777. /package/dist/{correlation-CEHE66EC.js.map → correlation-X6GB6ITK.js.map} +0 -0
  778. /package/dist/{customdata.inputui-LFT3N5FD.js.map → customdata.inputui-MDG3BTTG.js.map} +0 -0
  779. /package/dist/{dataDownload-ZPAIAAE4.js.map → dataDownload-TFRI3VFM.js.map} +0 -0
  780. /package/dist/{databrowser.ui-W5JGFBE6.js.map → databrowser.ui-L2K7VVDW.js.map} +0 -0
  781. /package/dist/{dictionary-RBE2CIZI.js.map → dictionary-MS6R3VNY.js.map} +0 -0
  782. /package/dist/{dnaMethylation-CX22TSRO.js.map → dnaMethylation-2KYSQWNE.js.map} +0 -0
  783. /package/dist/{dnaMethylation.integration.spec-KEE6ZZRT.js.map → dnaMethylation.integration.spec-2BHNKOGN.js.map} +0 -0
  784. /package/dist/{dofetch-6NAGX5EG.js.map → dofetch-BETN7HEX.js.map} +0 -0
  785. /package/dist/{e2pca-XDGPTEXL.js.map → e2pca-QC2EI5JM.js.map} +0 -0
  786. /package/dist/{ep-IUIDMIGW.js.map → ep-BTRMR4OT.js.map} +0 -0
  787. /package/dist/{expclust.gdc.spec-BMN2PTJX.js.map → expclust.gdc.spec-C5ZMBCGO.js.map} +0 -0
  788. /package/dist/{facet-DTJKZOBA.js.map → facet-LPXKLX53.js.map} +0 -0
  789. /package/dist/{gb-MV7MUJWO.js.map → gb-PHJ2SM5D.js.map} +0 -0
  790. /package/dist/{geneExpClustering-NFH5FS3S.js.map → geneExpClustering-OXZJHEPD.js.map} +0 -0
  791. /package/dist/{geneExpression-XVOLNYVN.js.map → geneExpression-54RGEGML.js.map} +0 -0
  792. /package/dist/{geneExpression-ZP2VWHED.js.map → geneExpression-FLBQXMSX.js.map} +0 -0
  793. /package/dist/{geneExpression.unit.spec-2NSK4ARK.js.map → geneExpression.unit.spec-ZCE7G6HI.js.map} +0 -0
  794. /package/dist/{geneORA-HQ7FLMEJ.js.map → geneORA-TELI5AFV.js.map} +0 -0
  795. /package/dist/{geneRanking-MIABUKTN.js.map → geneRanking-7YZA5GNG.js.map} +0 -0
  796. /package/dist/{geneVariant-HDFWLALZ.js.map → geneVariant-NJYUEY4C.js.map} +0 -0
  797. /package/dist/{geneVariant-H52UUK6Z.js.map → geneVariant-VKWTXUMK.js.map} +0 -0
  798. /package/dist/{genefusion.ui-HSDZQHJA.js.map → genefusion.ui-B6J7I3RA.js.map} +0 -0
  799. /package/dist/{geneset-WKV3X2EJ.js.map → geneset-VG4SFYML.js.map} +0 -0
  800. /package/dist/{genomeBrowser.spec-UTAHAU76.js.map → genomeBrowser.spec-5IS5Y2NG.js.map} +0 -0
  801. /package/dist/{grin2-M2JDZVYU.js.map → grin2-3T6KRC34.js.map} +0 -0
  802. /package/dist/{grin2-N2QM3XTG.js.map → grin2-FOOH736B.js.map} +0 -0
  803. /package/dist/{hierCluster-LZI6OTRS.js.map → hierCluster-WLAFGZAT.js.map} +0 -0
  804. /package/dist/{hierCluster-VVXPOTQU.js.map → hierCluster-XBL2TOOL.js.map} +0 -0
  805. /package/dist/{hierCluster.config-NCYH3Y7Z.js.map → hierCluster.config-VCBRBGDZ.js.map} +0 -0
  806. /package/dist/{hierCluster.integration.spec-ZDOOCTV3.js.map → hierCluster.integration.spec-TNJD2QT6.js.map} +0 -0
  807. /package/dist/{hierCluster.interactivity-4HP3JCON.js.map → hierCluster.interactivity-PEEJ3BRC.js.map} +0 -0
  808. /package/dist/{hierCluster.renderers-3F5GMEXA.js.map → hierCluster.renderers-7ESGKIGM.js.map} +0 -0
  809. /package/dist/{imagePlot-OA4WTMLU.js.map → imagePlot-LWL6JMKM.js.map} +0 -0
  810. /package/dist/{importPlot-OSTC2GPO.js.map → importPlot-CLBY6QZN.js.map} +0 -0
  811. /package/dist/{isoformExpression-LZ5RTUS5.js.map → isoformExpression-36P3BBN7.js.map} +0 -0
  812. /package/dist/{isoformExpression.unit.spec-L6YDBKYM.js.map → isoformExpression.unit.spec-SF2SPTRC.js.map} +0 -0
  813. /package/dist/{junction-UR6COY3A.js.map → junction-B7DSIG4E.js.map} +0 -0
  814. /package/dist/{junction.customTerm-TMV43R7Z.js.map → junction.customTerm-7VZS4JDE.js.map} +0 -0
  815. /package/dist/{junction.unit.spec-NVBJTGA4.js.map → junction.unit.spec-4MWU36MR.js.map} +0 -0
  816. /package/dist/{launch.adhoc-AZG6QJG7.js.map → launch.adhoc-3B34GV4S.js.map} +0 -0
  817. /package/dist/{leftlabel.sample-LYZG25RT.js.map → leftlabel.sample-6OM5H67E.js.map} +0 -0
  818. /package/dist/{lollipop-FJXVP5QM.js.map → lollipop-SL2F5G6K.js.map} +0 -0
  819. /package/dist/{maf-OXJIJD6D.js.map → maf-FRYGN5GR.js.map} +0 -0
  820. /package/dist/{maftimeline-75N6ZXEM.js.map → maftimeline-3UFWS73J.js.map} +0 -0
  821. /package/dist/{matrix-QFKGEW5A.js.map → matrix-DDKSOJ4C.js.map} +0 -0
  822. /package/dist/{matrix-XT7LUV5K.js.map → matrix-H2ZH2QKC.js.map} +0 -0
  823. /package/dist/{matrix.cells-NB7LKKXV.js.map → matrix.cells-JTMC35SK.js.map} +0 -0
  824. /package/dist/{matrix.config-X6HS4UGD.js.map → matrix.config-EUBXWEBS.js.map} +0 -0
  825. /package/dist/{matrix.data-VLFF34SS.js.map → matrix.data-CO5RBWY5.js.map} +0 -0
  826. /package/dist/{matrix.groups-F62TSKIG.js.map → matrix.groups-AKOJ2W6U.js.map} +0 -0
  827. /package/dist/{matrix.integration.spec-7QBYWHW6.js.map → matrix.integration.spec-66KNZO3S.js.map} +0 -0
  828. /package/dist/{matrix.interactivity-2FBXB52E.js.map → matrix.interactivity-DY5YJIYB.js.map} +0 -0
  829. /package/dist/{matrix.layout-6TPVKLSX.js.map → matrix.layout-MQQNHBI2.js.map} +0 -0
  830. /package/dist/{matrix.legend-L4ULBMGX.js.map → matrix.legend-CGU7T6GF.js.map} +0 -0
  831. /package/dist/{matrix.renderers-DK6YRLO2.js.map → matrix.renderers-HC7PJN4B.js.map} +0 -0
  832. /package/dist/{matrix.serieses-DCRJLJ3H.js.map → matrix.serieses-W4L6ZO37.js.map} +0 -0
  833. /package/dist/{matrix.sort-XSGPH44J.js.map → matrix.sort-T74DWFB2.js.map} +0 -0
  834. /package/dist/{matrix.sort.unit.spec-JF75F4I4.js.map → matrix.sort.unit.spec-EQEHQXTO.js.map} +0 -0
  835. /package/dist/{matrix.sorterUi-WL5I6S3K.js.map → matrix.sorterUi-GFQG4HFV.js.map} +0 -0
  836. /package/dist/{matrix.sorterUi.unit.spec-66JMV5BK.js.map → matrix.sorterUi.unit.spec-XQHFOEYE.js.map} +0 -0
  837. /package/dist/{matrix.unit.spec-36AR4I43.js.map → matrix.unit.spec-4ZWUGZUC.js.map} +0 -0
  838. /package/dist/{mavb-ZH4RO77H.js.map → mavb-3CL5OHWB.js.map} +0 -0
  839. /package/dist/{mds.fimo-MVP2G5PS.js.map → mds.fimo-2RFJQKJM.js.map} +0 -0
  840. /package/dist/{mds.samplescatterplot-GYJ3OI4N.js.map → mds.samplescatterplot-X6CXMY4C.js.map} +0 -0
  841. /package/dist/{mds.survivalplot-Q6MYQGTB.js.map → mds.survivalplot-57NIKSSH.js.map} +0 -0
  842. /package/dist/{multivalue-BGFMPH4X.js.map → multivalue-3TUGYL4J.js.map} +0 -0
  843. /package/dist/{numericDictTermCluster-FNNVLIWB.js.map → numericDictTermCluster-RLX5CLTN.js.map} +0 -0
  844. /package/dist/{oncomatrix-LIIALWWN.js.map → oncomatrix-COK76MJN.js.map} +0 -0
  845. /package/dist/{oncomatrix.spec-NEMLM2ZN.js.map → oncomatrix.spec-SO3ZN5BF.js.map} +0 -0
  846. /package/dist/{plot.2dvaf-HJO3SKNK.js.map → plot.2dvaf-TETCE4VG.js.map} +0 -0
  847. /package/dist/{plot.app-WSLFOFSR.js.map → plot.app-5YUAVZA4.js.map} +0 -0
  848. /package/dist/{plot.barplot-SPI5JA37.js.map → plot.barplot-JUGY5Z7A.js.map} +0 -0
  849. /package/dist/{plot.boxplot-4W3XEY5I.js.map → plot.boxplot-QZXICT7J.js.map} +0 -0
  850. /package/dist/{plot.brainImaging-KEOUTYIB.js.map → plot.brainImaging-2F6E6QS4.js.map} +0 -0
  851. /package/dist/{plot.disco-7IDMKNAQ.js.map → plot.disco-H4P4B6QS.js.map} +0 -0
  852. /package/dist/{plot.ssgq-IOKUGDC4.js.map → plot.ssgq-LEQF3STZ.js.map} +0 -0
  853. /package/dist/{plot.vaf2cov-SFSZ6M43.js.map → plot.vaf2cov-UBMD2CN7.js.map} +0 -0
  854. /package/dist/{polar2-PLPE5TX5.js.map → polar2-AVEZM2T5.js.map} +0 -0
  855. /package/dist/{profileForms-ZDHG67GM.js.map → profileForms-CUSUGTPC.js.map} +0 -0
  856. /package/dist/{profilePlot-UUZA2YG6.js.map → profilePlot-67Z7AXQ4.js.map} +0 -0
  857. /package/dist/{proteinView-GHS3XARL.js.map → proteinView-7K7VHGX3.js.map} +0 -0
  858. /package/dist/{proteomeCohortCompare-TQ3BGIPS.js.map → proteomeCohortCompare-MRGH6HHI.js.map} +0 -0
  859. /package/dist/{pseudbulk.unit.spec-HFESRN7A.js.map → pseudbulk.unit.spec-ZHDL6GIM.js.map} +0 -0
  860. /package/dist/{pseudobulk-ODXYIUD5.js.map → pseudobulk-ZNXPF7QB.js.map} +0 -0
  861. /package/dist/{qualitative-WOSYAIGQ.js.map → qualitative-QXMZHDWU.js.map} +0 -0
  862. /package/dist/{radar2-2KXBS3Y3.js.map → radar2-QJDGNLED.js.map} +0 -0
  863. /package/dist/{radarFacility2-JCOKJQQF.js.map → radarFacility2-LGGOOWX4.js.map} +0 -0
  864. /package/dist/{rememberedGvQ.unit.spec-DYRO2LO5.js.map → rememberedGvQ.unit.spec-YKUMMYFT.js.map} +0 -0
  865. /package/dist/{render-IJ6GE3NE.js.map → render-LSSRZJY3.js.map} +0 -0
  866. /package/dist/{report-WLLFUA7L.js.map → report-TTECPO44.js.map} +0 -0
  867. /package/dist/{sampleView-LPKSYUNF.js.map → sampleView-EFS2UBRS.js.map} +0 -0
  868. /package/dist/{samplelst-MNI2MGMT.js.map → samplelst-FXULLJBO.js.map} +0 -0
  869. /package/dist/{samplematrix-KEKJP2B4.js.map → samplematrix-MNFCXOWO.js.map} +0 -0
  870. /package/dist/{sc-ZYKFRJU4.js.map → sc-2BUOXML2.js.map} +0 -0
  871. /package/dist/{scatter-IGFBIZ3B.js.map → scatter-AVRTALYY.js.map} +0 -0
  872. /package/dist/{scatter-BAEZOFWA.js.map → scatter-CPEIVL3K.js.map} +0 -0
  873. /package/dist/{selectGenomeWithTklst-HBHRXEDY.js.map → selectGenomeWithTklst-3BG2ZPPN.js.map} +0 -0
  874. /package/dist/{singleCellCellType-PMFDV24B.js.map → singleCellCellType-QLAEBVN2.js.map} +0 -0
  875. /package/dist/{singleCellCellType.unit.spec-ZLYDUDIY.js.map → singleCellCellType.unit.spec-P4NAWYKL.js.map} +0 -0
  876. /package/dist/{singleCellGeneExpression-SUYO3HR3.js.map → singleCellGeneExpression-IZ2PMDDL.js.map} +0 -0
  877. /package/dist/{singleCellGeneExpression.unit.spec-3N3HRXFN.js.map → singleCellGeneExpression.unit.spec-DKBZICJM.js.map} +0 -0
  878. /package/dist/{singleCellNumericValue-BV7C6Y34.js.map → singleCellNumericValue-NB3QFH7H.js.map} +0 -0
  879. /package/dist/{singleCellNumericValue.unit.spec-7VJOMYQ6.js.map → singleCellNumericValue.unit.spec-ZKK2KWRQ.js.map} +0 -0
  880. /package/dist/{singleCellPlot-BG7UJOHA.js.map → singleCellPlot-ZU655L4Z.js.map} +0 -0
  881. /package/dist/{singlecell-ZUTL5ZWE.js.map → singlecell-NKPTXVHW.js.map} +0 -0
  882. /package/dist/{singlecell-BANNFGBS.js.map → singlecell-PEIEFXVU.js.map} +0 -0
  883. /package/dist/{snp-BHG4NVK4.js.map → snp-G55JGINX.js.map} +0 -0
  884. /package/dist/{snp.unit.spec-Q3AZHQRC.js.map → snp.unit.spec-47CCZKJO.js.map} +0 -0
  885. /package/dist/{snplocus-HTJL63M3.js.map → snplocus-TRVAEAPF.js.map} +0 -0
  886. /package/dist/{spliceevent.a53ss.diagram-UKRIP7EP.js.map → spliceevent.a53ss.diagram-FL2R6F22.js.map} +0 -0
  887. /package/dist/{spliceevent.exonskip.diagram-CU777CXQ.js.map → spliceevent.exonskip.diagram-XDZWTJXR.js.map} +0 -0
  888. /package/dist/{spliceevent.noeventdiagram-LGLXCF25.js.map → spliceevent.noeventdiagram-L322N534.js.map} +0 -0
  889. /package/dist/{ssGSEA-BIEEKAKX.js.map → ssGSEA-DZY4LFQY.js.map} +0 -0
  890. /package/dist/{ssGSEA.unit.spec-YD4UDIRH.js.map → ssGSEA.unit.spec-P6C3VTVZ.js.map} +0 -0
  891. /package/dist/{stattable-LFR3RSD6.js.map → stattable-R7O6OIMB.js.map} +0 -0
  892. /package/dist/{studyCatalog-RINIZ277.js.map → studyCatalog-OMDE4JRD.js.map} +0 -0
  893. /package/dist/{summarizeCnvGeneexp-ZQFNPR65.js.map → summarizeCnvGeneexp-A7HW6FJI.js.map} +0 -0
  894. /package/dist/{summarizeGeneexpSurvival-GIS7XMMH.js.map → summarizeGeneexpSurvival-ODI4HGFH.js.map} +0 -0
  895. /package/dist/{summarizeMutationCnv-FWF7YIGR.js.map → summarizeMutationCnv-C2YB73OL.js.map} +0 -0
  896. /package/dist/{summarizeMutationDiagnosis-V5L2OKTK.js.map → summarizeMutationDiagnosis-4Y322NYU.js.map} +0 -0
  897. /package/dist/{summarizeMutationSurvival-LAUUF6XN.js.map → summarizeMutationSurvival-7IHNURLC.js.map} +0 -0
  898. /package/dist/{summary-OMU3ACNE.js.map → summary-E4L5MZTF.js.map} +0 -0
  899. /package/dist/{summary.integration.spec-6JZAT73L.js.map → summary.integration.spec-SDCGE6BQ.js.map} +0 -0
  900. /package/dist/{summaryInput-QIKL3HDD.js.map → summaryInput-DHIMU5DM.js.map} +0 -0
  901. /package/dist/{sunburst-32IW2R57.js.map → sunburst-ULNPFEAM.js.map} +0 -0
  902. /package/dist/{survival-BMOPVAN2.js.map → survival-CU4N5KZO.js.map} +0 -0
  903. /package/dist/{survival-H5AWMQ36.js.map → survival-KWWH6REE.js.map} +0 -0
  904. /package/dist/{survival.integration.spec-66UOWSZG.js.map → survival.integration.spec-UW6SYVLP.js.map} +0 -0
  905. /package/dist/{svgraph-B75FS3BB.js.map → svgraph-HFI6NNF3.js.map} +0 -0
  906. /package/dist/{svmr-IUEUOHVO.js.map → svmr-VHS7Z4SO.js.map} +0 -0
  907. /package/dist/{table-YAAH7WR6.js.map → table-GJUXHKQI.js.map} +0 -0
  908. /package/dist/{termCollection-KNFUELYY.js.map → termCollection-CCZ4BFIU.js.map} +0 -0
  909. /package/dist/{termCollection-7F5ZG2DB.js.map → termCollection-O5CQ472U.js.map} +0 -0
  910. /package/dist/{termCollection.unit.spec-S6M6QC4C.js.map → termCollection.unit.spec-KR5G6JFU.js.map} +0 -0
  911. /package/dist/{termCollectionFractionSelection-X22VMJWY.js.map → termCollectionFractionSelection-IKU5MFBT.js.map} +0 -0
  912. /package/dist/{termCollectionFractionSelection.unit.spec-ELU6SD7P.js.map → termCollectionFractionSelection.unit.spec-6ZWHNGES.js.map} +0 -0
  913. /package/dist/{tk-TT666UVE.js.map → tk-3DLMAFW7.js.map} +0 -0
  914. /package/dist/{tk-UOPNJ323.js.map → tk-CAYWF7LX.js.map} +0 -0
  915. /package/dist/{tp.ui-HGAHRKO5.js.map → tp.ui-NF5ZYOHW.js.map} +0 -0
  916. /package/dist/{tvs.dt-H7YYR4EB.js.map → tvs.dt-43A4SSLG.js.map} +0 -0
  917. /package/dist/{tvs.dtcnv.categorical-IPJTKGMF.js.map → tvs.dtcnv.categorical-DYXHUNP2.js.map} +0 -0
  918. /package/dist/{tvs.dtcnv.continuous-XY5XZ4GH.js.map → tvs.dtcnv.continuous-NOKNP4UG.js.map} +0 -0
  919. /package/dist/{tvs.dtfusion-VFCBMXRM.js.map → tvs.dtfusion-4NAOCC2X.js.map} +0 -0
  920. /package/dist/{tvs.dtitd-RZVW6FTR.js.map → tvs.dtitd-SZC6EITI.js.map} +0 -0
  921. /package/dist/{tvs.dtsnvindel-IDPJWSGC.js.map → tvs.dtsnvindel-EYSBCNQK.js.map} +0 -0
  922. /package/dist/{tvs.dtsv-QERP756F.js.map → tvs.dtsv-VSPWIIFO.js.map} +0 -0
  923. /package/dist/{tvs.numeric-22AHXO5K.js.map → tvs.numeric-M5LH3PRH.js.map} +0 -0
  924. /package/dist/{tvs.samplelst-6KNDHBIU.js.map → tvs.samplelst-3YQ4GKNG.js.map} +0 -0
  925. /package/dist/{tvs.termCollection-GWPJK3NE.js.map → tvs.termCollection-EVM4ATPW.js.map} +0 -0
  926. /package/dist/{vocabulary-C5FIZMPQ.js.map → vocabulary-HCPEIO2P.js.map} +0 -0
  927. /package/dist/{wsi.direct-2RBCBXDA.js.map → wsi.direct-K2J6GGWY.js.map} +0 -0
@@ -0,0 +1,89 @@
1
+ import {
2
+ appInit
3
+ } from "./chunk-GPY6SBCX.js";
4
+ import "./chunk-NJWNKBRC.js";
5
+ import "./chunk-FJ3JD7B3.js";
6
+ import "./chunk-GWHIKECP.js";
7
+ import "./chunk-BSWPONNA.js";
8
+ import "./chunk-WTQQWFV4.js";
9
+ import "./chunk-X46YA4CB.js";
10
+ import "./chunk-SKMFMGCD.js";
11
+ import "./chunk-3ELYMSGO.js";
12
+ import "./chunk-PRZWSBMA.js";
13
+ import "./chunk-CSAS3PVJ.js";
14
+ import "./chunk-HJ6L54YS.js";
15
+ import "./chunk-KV4W2ACA.js";
16
+ import "./chunk-T4RYLTR3.js";
17
+ import "./chunk-ELJX3QIQ.js";
18
+ import "./chunk-Y3SDMRDX.js";
19
+ import "./chunk-EEB5VE2A.js";
20
+ import "./chunk-6RRZRISL.js";
21
+ import "./chunk-2KM4PRQM.js";
22
+ import "./chunk-VTHZGUSZ.js";
23
+ import "./chunk-3TV5WWUN.js";
24
+ import "./chunk-4Y5W26UF.js";
25
+ import "./chunk-UYKJOBRO.js";
26
+ import "./chunk-WINIL2KN.js";
27
+ import "./chunk-PF4DSFDR.js";
28
+ import "./chunk-7X6NF7NI.js";
29
+ import "./chunk-W5J3LTYS.js";
30
+ import "./chunk-Z2ZITHT4.js";
31
+ import "./chunk-4OLM3KSB.js";
32
+ import "./chunk-FXQXCOII.js";
33
+ import "./chunk-TLT4YIG3.js";
34
+ import "./chunk-5R63Q5KH.js";
35
+ import "./chunk-I6Y4O3RR.js";
36
+ import "./chunk-Q5RDQNIT.js";
37
+ import "./chunk-DQC5FFGV.js";
38
+ import "./chunk-HS5PO5ZQ.js";
39
+
40
+ // gdc/DE.ts
41
+ async function init(arg, holder, genomes) {
42
+ const useGenome = arg.genome || "hg38";
43
+ const useDslabel = arg.dslabel || "GDC";
44
+ const genome = genomes[useGenome];
45
+ const massApi = await appInit({
46
+ //debug: arg.debugmode, // is debug accepted?
47
+ genome,
48
+ holder,
49
+ state: {
50
+ genome: useGenome,
51
+ dslabel: useDslabel,
52
+ termfilter: { filter0: arg.filter0 },
53
+ nav: { activeTab: 1, header_mode: "hidden" },
54
+ // an embedder may supply prebuilt groups, see config.groups[] in plots/DEinput.ts
55
+ plots: arg.state?.plots || [{ chartType: "DEinput" }]
56
+ },
57
+ opts: Object.assign(
58
+ {
59
+ // todo additional customizations
60
+ // dictionary:{header:'Select a variable to build Correlation Plot'}
61
+ // some way to make gene exp violin/boxplot to use log scale by default, but numeric dict term should not
62
+ },
63
+ arg.opts || {}
64
+ ),
65
+ app: arg.opts?.app || {}
66
+ });
67
+ const api = {
68
+ update: async (updateArg) => {
69
+ if (!massApi) return;
70
+ if ("filter0" in updateArg) {
71
+ massApi.dispatch({
72
+ type: "app_refresh",
73
+ subactions: [
74
+ {
75
+ type: "filter_replace",
76
+ filter0: updateArg.filter0
77
+ }
78
+ ]
79
+ });
80
+ }
81
+ },
82
+ triggerAbort: (reason = "") => massApi.triggerAbort(reason)
83
+ };
84
+ return api;
85
+ }
86
+ export {
87
+ init
88
+ };
89
+ //# sourceMappingURL=DE-BI7DHHW4.js.map
@@ -0,0 +1,501 @@
1
+ import {
2
+ rehydrateFilter
3
+ } from "./chunk-SKMFMGCD.js";
4
+ import {
5
+ PlotBase,
6
+ Tabs,
7
+ excludeFilterByTag,
8
+ filterInit,
9
+ filterJoin,
10
+ filterPromptInit,
11
+ getNormalRoot,
12
+ make_radios,
13
+ negateFilter,
14
+ renderPreAnalysisData,
15
+ renderTable
16
+ } from "./chunk-CSAS3PVJ.js";
17
+ import "./chunk-HJ6L54YS.js";
18
+ import "./chunk-KV4W2ACA.js";
19
+ import "./chunk-T4RYLTR3.js";
20
+ import "./chunk-ELJX3QIQ.js";
21
+ import "./chunk-Y3SDMRDX.js";
22
+ import "./chunk-EEB5VE2A.js";
23
+ import "./chunk-6RRZRISL.js";
24
+ import "./chunk-2KM4PRQM.js";
25
+ import {
26
+ dofetch3
27
+ } from "./chunk-VTHZGUSZ.js";
28
+ import "./chunk-3TV5WWUN.js";
29
+ import {
30
+ termType2label
31
+ } from "./chunk-4Y5W26UF.js";
32
+ import {
33
+ TermTypeGroups,
34
+ TermTypes,
35
+ getColors
36
+ } from "./chunk-UYKJOBRO.js";
37
+ import {
38
+ copyMerge,
39
+ getCompInit
40
+ } from "./chunk-WINIL2KN.js";
41
+ import "./chunk-PF4DSFDR.js";
42
+ import "./chunk-7X6NF7NI.js";
43
+ import {
44
+ uiLabel
45
+ } from "./chunk-W5J3LTYS.js";
46
+ import "./chunk-Z2ZITHT4.js";
47
+ import "./chunk-4OLM3KSB.js";
48
+ import "./chunk-FXQXCOII.js";
49
+ import "./chunk-TLT4YIG3.js";
50
+ import "./chunk-5R63Q5KH.js";
51
+ import "./chunk-I6Y4O3RR.js";
52
+ import {
53
+ color,
54
+ rgb
55
+ } from "./chunk-Q5RDQNIT.js";
56
+ import "./chunk-DQC5FFGV.js";
57
+ import "./chunk-HS5PO5ZQ.js";
58
+
59
+ // plots/DEinput.ts
60
+ var colorScale = getColors(5);
61
+ var DEinputPlot = class _DEinputPlot extends PlotBase {
62
+ constructor(opts, api) {
63
+ super(opts, api);
64
+ this.components = {};
65
+ this.type = _DEinputPlot.type;
66
+ this.dom = this.getDom();
67
+ this.groups = [];
68
+ }
69
+ static {
70
+ this.type = "DEinput";
71
+ }
72
+ get isGE() {
73
+ return this.termType == TermTypes.GENE_EXPRESSION;
74
+ }
75
+ getDom() {
76
+ const header = this.opts?.header || void 0;
77
+ const holder = this.opts.holder.append("div").style("margin", "10px");
78
+ const expressionSource = holder.append("div").style("margin-bottom", "15px");
79
+ const table = holder.append("div");
80
+ const btns = holder.append("div").style("margin-top", "5px");
81
+ const addGroup = btns.append("div").style("display", "inline-block");
82
+ const submit = btns.append("div").style("display", "none").style("margin-left", "15px").attr("class", "sja_new_filter_btn sja_menuoption");
83
+ const loading = holder.append("div").style("display", "none").style("margin", "20px 10px").text("Loading...");
84
+ const preAnalysis = holder.append("div").style("display", "none").style("margin-top", "20px").style("margin-left", "5px");
85
+ const dom = { header, expressionSource, table, addGroup, submit, loading, preAnalysis };
86
+ return dom;
87
+ }
88
+ getState(appState) {
89
+ const config = appState.plots.find((p) => p.id === this.id);
90
+ if (!config) {
91
+ throw `No plot with id='${this.id}' found. Did you set this.id before this.api = getComponentApi(this)?`;
92
+ }
93
+ return {
94
+ termfilter: appState.termfilter,
95
+ config,
96
+ // quick fix to skip history tracking as needed
97
+ _scope_: appState._scope_
98
+ };
99
+ }
100
+ async init(appState) {
101
+ const state = this.getState(appState);
102
+ this.termType = state.config.termType || TermTypes.GENE_EXPRESSION;
103
+ this.dom.header?.html(`Differential ${termType2label(this.termType)}`);
104
+ await this.renderExpressionSourceUI();
105
+ }
106
+ // TODO: handle errors
107
+ async main() {
108
+ if (!this.state) return;
109
+ this.dom.preAnalysis.selectAll("*").remove();
110
+ if (!this.expressionSource || this.expressionSource === "pseudobulk" && !this.pseudobulk) {
111
+ this.dom.table.style("display", "none");
112
+ this.dom.addGroup.style("display", "none");
113
+ this.dom.submit.style("display", "none");
114
+ return;
115
+ }
116
+ this.dom.addGroup.style("display", "inline-block");
117
+ this.maySeedGroups();
118
+ this.hasCohort0 = this.groups.some((g) => g.filter.lst.some((item) => item.tvs?.term.type == "cohort"));
119
+ await this.makeGroupsUI();
120
+ this.mayRenderSubmit();
121
+ await this.mayAutoSubmit();
122
+ }
123
+ /* config.groups[] lets a caller launch this ui with prebuilt groups, each defined by a mass
124
+ filter, instead of requiring the user to build both groups by hand. seeded only once: main() reruns
125
+ on every state change, and a seeded group is editable like any other, so a rerun must not undo a
126
+ rename, edit, or deletion */
127
+ maySeedGroups() {
128
+ if (this.groupsSeeded) return;
129
+ this.groupsSeeded = true;
130
+ if (!this.state.config.groups?.length) return;
131
+ const massFilter = getNormalRoot(excludeFilterByTag(structuredClone(this.state.termfilter.filter), "cohortFilter"));
132
+ for (const g of this.state.config.groups) {
133
+ this.addNewGroup(filterJoin([massFilter, getNormalRoot(g.filter)]), this.groups, g.name, g.color);
134
+ }
135
+ }
136
+ /* config.autoSubmit runs the analysis on the seeded groups without waiting for a click, for a caller
137
+ that already knows the groups to compare. runs only once: main() reruns on every state change, and
138
+ each run is a round trip to termdb/DE */
139
+ async mayAutoSubmit() {
140
+ if (!this.state.config.autoSubmit || this.autoSubmitted) return;
141
+ if (this.dom.submit.style("display") == "none") return;
142
+ this.autoSubmitted = true;
143
+ await this.clickSubmit(this.getSubmitGroups());
144
+ }
145
+ /** the groups as compared by the analysis: a lone group is compared against all other samples */
146
+ getSubmitGroups() {
147
+ if (this.groups.length != 1) return this.groups;
148
+ const group = this.groups[0];
149
+ return [
150
+ group,
151
+ {
152
+ name: "Not in " + group.name,
153
+ color: "#ccc",
154
+ filter: negateFilter(group.filter)
155
+ }
156
+ ];
157
+ }
158
+ async renderExpressionSourceUI() {
159
+ const config = this.app.vocabApi.termdbConfig;
160
+ if (!this.isGE) {
161
+ const dm = config.queries?.dnaMethylation;
162
+ if (!dm?.promoter && !dm?.elementTypes?.length)
163
+ throw new Error("No DNA methylation data configured for differential analysis");
164
+ this.expressionSource = "bulk";
165
+ return;
166
+ }
167
+ const hasBulk = !!config.queries?.rnaseqGeneCount;
168
+ const terms = config.termType2terms?.[TermTypeGroups.PSEUDOBULK] || [];
169
+ const hasPseudobulk = terms.length > 0;
170
+ if (!hasBulk && !hasPseudobulk)
171
+ throw new Error("No gene expression count data configured for differential analysis");
172
+ if (hasBulk && !hasPseudobulk) {
173
+ this.expressionSource = "bulk";
174
+ return;
175
+ }
176
+ if (!hasBulk) {
177
+ this.expressionSource = "pseudobulk";
178
+ this.renderPseudobulkSelection(this.dom.expressionSource, terms);
179
+ return;
180
+ }
181
+ const tabs = [
182
+ {
183
+ label: "Bulk RNA-seq",
184
+ active: true,
185
+ callback: async () => {
186
+ this.expressionSource = "bulk";
187
+ await this.main();
188
+ }
189
+ },
190
+ {
191
+ label: "Single-cell pseudobulk",
192
+ callback: async (_event, tab) => {
193
+ this.expressionSource = "pseudobulk";
194
+ tab.contentHolder.selectAll("*").remove();
195
+ this.renderPseudobulkSelection(tab.contentHolder, terms);
196
+ await this.main();
197
+ }
198
+ }
199
+ ];
200
+ await new Tabs({ holder: this.dom.expressionSource, tabs }).main();
201
+ }
202
+ renderPseudobulkSelection(holder, terms) {
203
+ const assayMap = /* @__PURE__ */ new Map();
204
+ for (const term of terms) {
205
+ if (!assayMap.has(term.assay)) assayMap.set(term.assay, /* @__PURE__ */ new Map());
206
+ const memberMap = assayMap.get(term.assay);
207
+ if (!memberMap.has(term.memberId)) memberMap.set(term.memberId, []);
208
+ memberMap.get(term.memberId).push(term);
209
+ }
210
+ const renderAssay = (assayHolder, assay, memberMap) => {
211
+ assayHolder.selectAll("*").remove();
212
+ const renderMember = (memberHolder, memberId, memberTerms) => {
213
+ memberHolder.selectAll("*").remove();
214
+ memberHolder.append("div").style("opacity", 0.7).text(`Select from ${memberId}:`);
215
+ make_radios({
216
+ holder: memberHolder,
217
+ inputName: `sjpp-de-pseudobulk-${this.id}-${assay}-${memberId}`,
218
+ options: memberTerms.map((term) => ({
219
+ label: term.name,
220
+ value: term.id,
221
+ checked: this.pseudobulk?.assay === assay && this.pseudobulk?.memberId === memberId && this.pseudobulk?.category === (term.category || term.id),
222
+ testid: `sjpp-de-pseudobulk-category-${term.id}`
223
+ })),
224
+ styles: { display: "block", padding: "3px 5px" },
225
+ callback: async (value) => {
226
+ const term = memberTerms.find((term2) => term2.id == value);
227
+ this.pseudobulk = { assay, memberId, category: term.category || term.id };
228
+ await this.main();
229
+ }
230
+ });
231
+ };
232
+ if (memberMap.size === 1) {
233
+ const [memberId, memberTerms] = memberMap.entries().next().value;
234
+ renderMember(assayHolder, memberId, memberTerms);
235
+ } else {
236
+ const memberTabs = Array.from(memberMap, ([memberId, memberTerms]) => ({
237
+ label: memberId,
238
+ callback: (_event, tab) => renderMember(tab.contentHolder, memberId, memberTerms)
239
+ }));
240
+ new Tabs({ holder: assayHolder, tabs: memberTabs }).main();
241
+ }
242
+ };
243
+ if (assayMap.size === 1) {
244
+ const [assay, memberMap] = Array.from(assayMap)[0];
245
+ holder.append("div").text("Single-cell pseudobulk " + termType2label(assay));
246
+ renderAssay(holder.append("div"), assay, memberMap);
247
+ } else {
248
+ const assayTabs = Array.from(assayMap, ([assay, memberMap]) => ({
249
+ label: termType2label(assay),
250
+ callback: (_event, tab) => renderAssay(tab.contentHolder, assay, memberMap)
251
+ }));
252
+ new Tabs({ holder, tabs: assayTabs, linePosition: "right", tabsPosition: "vertical" }).main();
253
+ }
254
+ }
255
+ async makeGroupsUI() {
256
+ if (!this.filterPrompt) {
257
+ this.filterPrompt = await filterPromptInit({
258
+ holder: this.dom.addGroup,
259
+ vocabApi: this.app.vocabApi,
260
+ emptyLabel: "Add group",
261
+ header_mode: this.opts?.header_mode,
262
+ callback: async (f) => {
263
+ const filter2 = getNormalRoot(f);
264
+ this.addNewGroup(filter2, this.groups);
265
+ await this.main();
266
+ },
267
+ debug: this.opts.debug
268
+ });
269
+ }
270
+ const filter = structuredClone(this.state?.termfilter?.filter);
271
+ this.filterPrompt.main(excludeFilterByTag(filter, "cohortFilter"));
272
+ if (!this.groups.length) {
273
+ this.dom.table.style("display", "none");
274
+ return;
275
+ }
276
+ this.dom.table.style("display", "block").selectAll("*").remove();
277
+ const tableArg = {
278
+ div: this.dom.table,
279
+ columns: [
280
+ {},
281
+ // blank column to add delete buttons
282
+ {
283
+ label: "NAME",
284
+ editCallback: async (i, cell) => {
285
+ const newName = cell.value;
286
+ const index = this.groups.findIndex((group) => group.name == newName);
287
+ if (index != -1) {
288
+ alert(`Group named ${newName} already exists`);
289
+ await this.main();
290
+ } else {
291
+ this.groups[i].name = newName;
292
+ await this.main();
293
+ }
294
+ }
295
+ },
296
+ {
297
+ label: "COLOR",
298
+ editCallback: async (i, cell) => {
299
+ this.groups[i].color = cell.color;
300
+ this.main();
301
+ }
302
+ },
303
+ // dataset may rename what a row counts (GDC: cases, not samples)
304
+ { label: `#${uiLabel(this.app.vocabApi.termdbConfig?.uiLabels, "Sample", "Sample").toUpperCase()}` },
305
+ { label: "FILTER" }
306
+ ],
307
+ rows: [],
308
+ striped: false,
309
+ // no alternating row bg color so delete button appears more visible
310
+ showLines: false
311
+ };
312
+ for (const g of this.groups) {
313
+ tableArg.rows.push([
314
+ {},
315
+ // blank cell to add delete button
316
+ { value: g.name },
317
+ // to allow click to show <input>
318
+ { color: g.color },
319
+ { value: "" },
320
+ // filled in asynchronously below, so one slow count does not hold up the table
321
+ {}
322
+ // blank cell to show filter ui
323
+ ]);
324
+ }
325
+ renderTable(tableArg);
326
+ for (const [i, row] of tableArg.rows.entries()) {
327
+ row[0].__td.append("div").attr("class", "sja_menuoption").style("padding", "1px 6px").html("&times;").on("click", () => {
328
+ this.groups.splice(i, 1);
329
+ this.main();
330
+ });
331
+ this.app.vocabApi.getFilteredSampleCount(this.groups[i].filter, this.hasCohort0 ? null : this.state.termfilter.filter0).then((n) => row[3].__td.text(n)).catch((e) => row[3].__td.text("n/a").attr("title", e?.message || e));
332
+ const group = this.groups[i];
333
+ filterInit({
334
+ holder: row[4].__td,
335
+ vocabApi: this.app.vocabApi,
336
+ header_mode: "hide_search",
337
+ callback: (f) => {
338
+ if (!f || f.lst.length == 0) {
339
+ const i2 = this.groups.findIndex((g) => g.name == group.name);
340
+ this.groups.splice(i2, 1);
341
+ } else {
342
+ group.filter = f;
343
+ }
344
+ this.main();
345
+ }
346
+ }).main(group.filter);
347
+ }
348
+ this.dom.addGroup.select(".sja_new_filter_btn").style("pointer-events", "auto").style("opacity", 1);
349
+ }
350
+ addNewGroup(filter, groups, name, color2) {
351
+ if (!groups) throw "groups is missing";
352
+ if (!name) {
353
+ const base = "New group";
354
+ name = base;
355
+ for (let i = 0; ; i++) {
356
+ name = base + (i === 0 ? "" : " " + i);
357
+ if (!groups.find((g) => g.name === name)) break;
358
+ }
359
+ }
360
+ const newGroup = {
361
+ name,
362
+ filter,
363
+ color: color2 || rgb(colorScale(groups.length)).formatHex()
364
+ };
365
+ groups.push(newGroup);
366
+ }
367
+ mayRenderSubmit() {
368
+ if (!this.groups.length || this.groups.length == 1 && this.hasCohort0) {
369
+ this.dom.submit.style("display", "none");
370
+ return;
371
+ }
372
+ this.dom.submit.style("display", "inline-block");
373
+ if (this.groups.length == 1) {
374
+ this.dom.submit.text(`Submit (${this.groups[0].name} vs others)`);
375
+ this.dom.submit.on("click", async () => {
376
+ await this.clickSubmit(this.getSubmitGroups());
377
+ });
378
+ } else if (this.groups.length == 2) {
379
+ this.dom.addGroup.select(".sja_new_filter_btn").style("pointer-events", "none").style("opacity", 0.5);
380
+ this.dom.submit.text(`Submit (${this.groups[0].name} vs ${this.groups[1].name})`);
381
+ this.dom.submit.on("click", async () => {
382
+ await this.clickSubmit(this.groups);
383
+ });
384
+ } else {
385
+ throw new Error("cannot exceed 2 groups");
386
+ }
387
+ }
388
+ async clickSubmit(groups) {
389
+ this.dom.loading.style("display", "block");
390
+ const samplelstTW = {
391
+ q: { groups: [] },
392
+ term: {
393
+ name: groups.map((g) => g.name).join(" vs "),
394
+ type: "samplelst",
395
+ values: {}
396
+ }
397
+ };
398
+ if (this.expressionSource === "pseudobulk") samplelstTW.pseudobulk = this.pseudobulk;
399
+ const filter0 = this.hasCohort0 ? null : this.state.termfilter.filter0;
400
+ const mapParent2Children = true;
401
+ for (const g of groups) {
402
+ const samples = await this.vocabApi.getFilteredSampleList(
403
+ filterJoin([g.filter, this.state.termfilter.filter]),
404
+ filter0,
405
+ mapParent2Children
406
+ );
407
+ const sampleIds = samples.map((s) => {
408
+ return { sampleId: s.id };
409
+ });
410
+ samplelstTW.q.groups.push({
411
+ name: g.name,
412
+ in: true,
413
+ values: sampleIds
414
+ });
415
+ samplelstTW.term.values[g.name] = {
416
+ color: g.color,
417
+ key: g.name,
418
+ label: g.name,
419
+ list: sampleIds
420
+ //samples need to be passed for the samplelst filter to work
421
+ };
422
+ }
423
+ const body = {
424
+ genome: this.app.vocabApi.vocab.genome,
425
+ dslabel: this.app.vocabApi.vocab.dslabel,
426
+ samplelst: { groups: samplelstTW.q.groups },
427
+ filter: this.state.termfilter.filter,
428
+ filter0,
429
+ preAnalysis: true
430
+ };
431
+ if (this.expressionSource === "pseudobulk") body.pseudobulk = this.pseudobulk;
432
+ const preAnalysisData = await dofetch3(this.isGE ? "termdb/DE" : "termdb/diffMeth", { body });
433
+ this.dom.loading.style("display", "none");
434
+ this.dom.preAnalysis.style("display", "block").selectAll("*").remove();
435
+ renderPreAnalysisData({
436
+ preAnalysisData,
437
+ samplelstTW,
438
+ groups: samplelstTW.q.groups,
439
+ holder: this.dom.preAnalysis,
440
+ termType: this.termType,
441
+ self: this
442
+ });
443
+ }
444
+ };
445
+ var DEinputInit = getCompInit(DEinputPlot);
446
+ var componentInit = DEinputInit;
447
+ var supportedTermTypes = /* @__PURE__ */ new Set([TermTypes.GENE_EXPRESSION, TermTypes.DNA_METHYLATION]);
448
+ async function getPlotConfig(opts, app) {
449
+ if (opts.termType && !supportedTermTypes.has(opts.termType))
450
+ throw new Error(`termType='${opts.termType}' is not supported by DEinput`);
451
+ const config = {
452
+ chartType: "DEinput",
453
+ // default keeps every existing caller on gene expression without passing anything
454
+ termType: opts.termType || TermTypes.GENE_EXPRESSION,
455
+ settings: {}
456
+ };
457
+ const c = copyMerge(config, opts);
458
+ if (c.groups) c.groups = await getValidGroups(c.groups, app);
459
+ return c;
460
+ }
461
+ async function getValidGroups(groups, app) {
462
+ if (!Array.isArray(groups)) throw "config.groups must be an array";
463
+ if (groups.length > 2) throw "config.groups[] cannot exceed 2 groups";
464
+ const names = /* @__PURE__ */ new Set();
465
+ for (const g of groups) {
466
+ if (!g?.filter) throw "config.groups[] entry is missing .filter{}";
467
+ if ("name" in g && typeof g.name != "string") throw "config.groups[].name must be a string";
468
+ if (!g.name) continue;
469
+ if (names.has(g.name)) throw `duplicate config.groups[].name='${g.name}'`;
470
+ names.add(g.name);
471
+ }
472
+ const validated = [];
473
+ for (const g of groups) {
474
+ const filter = getNormalRoot(g.filter);
475
+ if (!filter.lst.length) throw "config.groups[] entry has a blank .filter{}";
476
+ if (app?.vocabApi) await Promise.all(rehydrateFilter(filter, app.vocabApi));
477
+ const name = g.name || getUnusedGroupName(names);
478
+ names.add(name);
479
+ const valid = Object.assign({}, g, { filter, name });
480
+ if ("color" in g) {
481
+ const c = color(g.color);
482
+ if (!c) throw `invalid config.groups[].color='${g.color}'`;
483
+ valid.color = c.formatHex();
484
+ }
485
+ validated.push(valid);
486
+ }
487
+ return validated;
488
+ }
489
+ function getUnusedGroupName(names) {
490
+ const base = "New group";
491
+ for (let i = 0; ; i++) {
492
+ const name = base + (i === 0 ? "" : " " + i);
493
+ if (!names.has(name)) return name;
494
+ }
495
+ }
496
+ export {
497
+ DEinputInit,
498
+ componentInit,
499
+ getPlotConfig
500
+ };
501
+ //# sourceMappingURL=DEinput-W66CT4U2.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../plots/DEinput.ts"],
4
+ "sourcesContent": ["import { PlotBase } from './PlotBase.ts'\nimport { getCompInit, copyMerge, type ComponentApi, type RxComponent } from '#rx'\nimport {\n\tfilterInit,\n\tfilterPromptInit,\n\tgetNormalRoot,\n\texcludeFilterByTag,\n\tfilterJoin,\n\tnegateFilter\n} from '#filter/filter'\nimport { rehydrateFilter } from '#filter/rehydrateFilter'\nimport { getColors } from '#shared/common.js'\nimport { color as d3color, rgb } from 'd3-color'\nimport { make_radios, renderTable, Tabs } from '#dom'\nimport { dofetch3 } from '#common/dofetch'\nimport { renderPreAnalysisData } from '#mass/groups'\nimport { TermTypeGroups, termType2label } from '#shared/terms.js'\nimport { TermTypes } from '#types'\nimport { uiLabel } from '#shared'\n\nconst colorScale = getColors(5)\n\n/* Group-building submission UI for a two-group differential analysis.\n\nServes both differential gene expression and differential DNA methylation, selected by\nconfig.termType (default gene expression, so existing callers are unchanged). The two differ\nin only three places, all branched on `isGE` below: which ds query proves the assay exists,\nwhich server route the pre-analysis hits, and the expression-source tabs (methylation has no\npseudobulk counterpart). The group table, filter prompt and submit flow are shared.\n\nThe results view is a separate chart, 'differentialAnalysis'; this plot only builds groups\nand hands them over via renderPreAnalysisData(). */\nclass DEinputPlot extends PlotBase implements RxComponent {\n\tstatic type = 'DEinput'\n\n\t// expected RxComponent props, some are already declared/set in PlotBase\n\ttype: string\n\tparentId?: string\n\tdom!: {\n\t\t[index: string]: any\n\t}\n\tcomponents: {\n\t\t[name: string]: ComponentApi | { [name: string]: ComponentApi }\n\t} = {}\n\t// expected class-specific props\n\tconfig: any\n\tgroups: any[]\n\tfilterPrompt: any\n\texpressionSource?: 'bulk' | 'pseudobulk'\n\tpseudobulk?: { assay: string; memberId: string; category: string }\n\thasCohort0?: boolean\n\t/** set once config.groups[] has been copied into this.groups[] */\n\tgroupsSeeded?: boolean\n\t/** set once config.autoSubmit has triggered clickSubmit() */\n\tautoSubmitted?: boolean\n\t/** geneExpression (default) or dnaMethylation. Resolved in init() from state.config, NOT from\n\t * opts: mass/plot.js hands the component only {app, holder, header, id, ...}, so config fields\n\t * are not on opts and reading it in the constructor would silently always be undefined. */\n\ttermType!: string\n\n\tconstructor(opts: any, api: ComponentApi) {\n\t\tsuper(opts, api)\n\t\tthis.type = DEinputPlot.type\n\t\tthis.dom = this.getDom()\n\t\tthis.groups = []\n\t}\n\n\tget isGE() {\n\t\treturn this.termType == TermTypes.GENE_EXPRESSION\n\t}\n\n\tgetDom() {\n\t\t// header text is set in init(), once state.config.termType is known\n\t\tconst header = this.opts?.header || undefined\n\t\tconst holder = this.opts.holder.append('div').style('margin', '10px')\n\t\tconst expressionSource = holder.append('div').style('margin-bottom', '15px')\n\t\tconst table = holder.append('div')\n\t\tconst btns = holder.append('div').style('margin-top', '5px')\n\t\tconst addGroup = btns.append('div').style('display', 'inline-block')\n\t\tconst submit = btns\n\t\t\t.append('div')\n\t\t\t.style('display', 'none')\n\t\t\t.style('margin-left', '15px')\n\t\t\t.attr('class', 'sja_new_filter_btn sja_menuoption')\n\t\tconst loading = holder.append('div').style('display', 'none').style('margin', '20px 10px').text('Loading...')\n\t\tconst preAnalysis = holder\n\t\t\t.append('div')\n\t\t\t.style('display', 'none')\n\t\t\t.style('margin-top', '20px')\n\t\t\t.style('margin-left', '5px')\n\t\tconst dom = { header, expressionSource, table, addGroup, submit, loading, preAnalysis }\n\t\treturn dom\n\t}\n\n\tgetState(appState) {\n\t\tconst config = appState.plots.find(p => p.id === this.id)\n\t\tif (!config) {\n\t\t\tthrow `No plot with id='${this.id}' found. Did you set this.id before this.api = getComponentApi(this)?`\n\t\t}\n\t\treturn {\n\t\t\ttermfilter: appState.termfilter,\n\t\t\tconfig,\n\t\t\t// quick fix to skip history tracking as needed\n\t\t\t_scope_: appState._scope_\n\t\t}\n\t}\n\n\tasync init(appState) {\n\t\tconst state = this.getState(appState)\n\t\tthis.termType = state.config.termType || TermTypes.GENE_EXPRESSION\n\t\tthis.dom.header?.html(`Differential ${termType2label(this.termType)}`)\n\t\tawait this.renderExpressionSourceUI()\n\t}\n\n\t// TODO: handle errors\n\tasync main() {\n\t\t/* The expression-source tabs are built during init(), and Tabs.main() fires the active tab's\n\t\tcallback immediately -- which calls main() before rx has assigned this.state. Bail out here\n\t\trather than let maySeedGroups() throw on this.state.config: it sets groupsSeeded=true first,\n\t\tso the throw permanently skips seeding and config.groups[] silently never appears. The\n\t\tframework calls main() again right after init(), so nothing is lost by returning. */\n\t\tif (!this.state) return\n\t\tthis.dom.preAnalysis.selectAll('*').remove()\n\t\tif (!this.expressionSource || (this.expressionSource === 'pseudobulk' && !this.pseudobulk)) {\n\t\t\tthis.dom.table.style('display', 'none')\n\t\t\tthis.dom.addGroup.style('display', 'none')\n\t\t\tthis.dom.submit.style('display', 'none')\n\t\t\treturn\n\t\t}\n\t\tthis.dom.addGroup.style('display', 'inline-block')\n\t\tthis.maySeedGroups()\n\t\t// set before makeGroupsUI(), which uses it when requesting each group's sample count\n\t\tthis.hasCohort0 = this.groups.some(g => g.filter.lst.some(item => item.tvs?.term.type == 'cohort'))\n\t\t// awaited: on the first run makeGroupsUI() awaits the filter prompt, and it re-enables the add\n\t\t// group button at its end, which would otherwise undo the button state set by mayRenderSubmit()\n\t\tawait this.makeGroupsUI()\n\t\tthis.mayRenderSubmit()\n\t\tawait this.mayAutoSubmit()\n\t}\n\n\t/* config.groups[] lets a caller launch this ui with prebuilt groups, each defined by a mass\n\tfilter, instead of requiring the user to build both groups by hand. seeded only once: main() reruns\n\ton every state change, and a seeded group is editable like any other, so a rerun must not undo a\n\trename, edit, or deletion */\n\tmaySeedGroups() {\n\t\tif (this.groupsSeeded) return\n\t\tthis.groupsSeeded = true\n\t\tif (!this.state.config.groups?.length) return\n\t\t/* a group built by the filter prompt embeds the mass filter, since the prompt is seeded with it\n\t\tin makeGroupsUI(); rebase the prebuilt groups the same way. without this, the sample count in the\n\t\tgroup table, which uses the group filter alone, would not match the sample set that clickSubmit()\n\t\tanalyzes, which joins in the mass filter. the cohort filter is excluded to match the prompt, and\n\t\tto not flip hasCohort0, and thus drop filter0, for a group that did not ask for a cohort */\n\t\tconst massFilter = getNormalRoot(excludeFilterByTag(structuredClone(this.state.termfilter.filter), 'cohortFilter'))\n\t\tfor (const g of this.state.config.groups) {\n\t\t\tthis.addNewGroup(filterJoin([massFilter, getNormalRoot(g.filter)]), this.groups, g.name, g.color)\n\t\t}\n\t}\n\n\t/* config.autoSubmit runs the analysis on the seeded groups without waiting for a click, for a caller\n\tthat already knows the groups to compare. runs only once: main() reruns on every state change, and\n\teach run is a round trip to termdb/DE */\n\tasync mayAutoSubmit() {\n\t\tif (!this.state.config.autoSubmit || this.autoSubmitted) return\n\t\t// mayRenderSubmit() hides the button when the groups cannot be compared, such as a lone group\n\t\t// under a cohort filter that cannot be negated\n\t\tif (this.dom.submit.style('display') == 'none') return\n\t\tthis.autoSubmitted = true\n\t\tawait this.clickSubmit(this.getSubmitGroups())\n\t}\n\n\t/** the groups as compared by the analysis: a lone group is compared against all other samples */\n\tgetSubmitGroups() {\n\t\tif (this.groups.length != 1) return this.groups\n\t\tconst group = this.groups[0]\n\t\treturn [\n\t\t\tgroup,\n\t\t\t{\n\t\t\t\tname: 'Not in ' + group.name,\n\t\t\t\tcolor: '#ccc',\n\t\t\t\tfilter: negateFilter(group.filter)\n\t\t\t}\n\t\t]\n\t}\n\n\tasync renderExpressionSourceUI() {\n\t\tconst config = this.app.vocabApi.termdbConfig\n\n\t\t/* methylation has one source, the element matrices, and no pseudobulk counterpart, so there\n\t\tis nothing to choose -- skip the tabs entirely. the ds gate mirrors the one the Groups menu\n\t\tapplies (mass/groups.js): a promoter matrix OR any element type is enough, so a ds offering\n\t\tonly non-promoter classes is still reachable. */\n\t\tif (!this.isGE) {\n\t\t\tconst dm = config.queries?.dnaMethylation\n\t\t\tif (!dm?.promoter && !dm?.elementTypes?.length)\n\t\t\t\tthrow new Error('No DNA methylation data configured for differential analysis')\n\t\t\tthis.expressionSource = 'bulk'\n\t\t\treturn\n\t\t}\n\n\t\tconst hasBulk = !!config.queries?.rnaseqGeneCount\n\t\tconst terms = config.termType2terms?.[TermTypeGroups.PSEUDOBULK] || []\n\t\tconst hasPseudobulk = terms.length > 0\n\t\tif (!hasBulk && !hasPseudobulk)\n\t\t\tthrow new Error('No gene expression count data configured for differential analysis')\n\n\t\tif (hasBulk && !hasPseudobulk) {\n\t\t\tthis.expressionSource = 'bulk'\n\t\t\treturn\n\t\t}\n\n\t\tif (!hasBulk) {\n\t\t\tthis.expressionSource = 'pseudobulk'\n\t\t\tthis.renderPseudobulkSelection(this.dom.expressionSource, terms)\n\t\t\treturn\n\t\t}\n\n\t\tconst tabs = [\n\t\t\t{\n\t\t\t\tlabel: 'Bulk RNA-seq',\n\t\t\t\tactive: true,\n\t\t\t\tcallback: async () => {\n\t\t\t\t\tthis.expressionSource = 'bulk'\n\t\t\t\t\tawait this.main()\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Single-cell pseudobulk',\n\t\t\t\tcallback: async (_event, tab) => {\n\t\t\t\t\tthis.expressionSource = 'pseudobulk'\n\t\t\t\t\ttab.contentHolder.selectAll('*').remove()\n\t\t\t\t\tthis.renderPseudobulkSelection(tab.contentHolder, terms)\n\t\t\t\t\tawait this.main()\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t\tawait new Tabs({ holder: this.dom.expressionSource, tabs }).main()\n\t}\n\n\trenderPseudobulkSelection(holder, terms) {\n\t\tconst assayMap = new Map<string, Map<string, any[]>>()\n\t\tfor (const term of terms) {\n\t\t\tif (!assayMap.has(term.assay)) assayMap.set(term.assay, new Map())\n\t\t\tconst memberMap = assayMap.get(term.assay)!\n\t\t\tif (!memberMap.has(term.memberId)) memberMap.set(term.memberId, [])\n\t\t\tmemberMap.get(term.memberId)!.push(term)\n\t\t}\n\n\t\tconst renderAssay = (assayHolder, assay, memberMap) => {\n\t\t\tassayHolder.selectAll('*').remove()\n\t\t\tconst renderMember = (memberHolder, memberId, memberTerms) => {\n\t\t\t\tmemberHolder.selectAll('*').remove()\n\t\t\t\tmemberHolder.append('div').style('opacity', 0.7).text(`Select from ${memberId}:`)\n\t\t\t\tmake_radios({\n\t\t\t\t\tholder: memberHolder,\n\t\t\t\t\tinputName: `sjpp-de-pseudobulk-${this.id}-${assay}-${memberId}`,\n\t\t\t\t\toptions: memberTerms.map(term => ({\n\t\t\t\t\t\tlabel: term.name,\n\t\t\t\t\t\tvalue: term.id,\n\t\t\t\t\t\tchecked:\n\t\t\t\t\t\t\tthis.pseudobulk?.assay === assay &&\n\t\t\t\t\t\t\tthis.pseudobulk?.memberId === memberId &&\n\t\t\t\t\t\t\tthis.pseudobulk?.category === (term.category || term.id),\n\t\t\t\t\t\ttestid: `sjpp-de-pseudobulk-category-${term.id}`\n\t\t\t\t\t})),\n\t\t\t\t\tstyles: { display: 'block', padding: '3px 5px' },\n\t\t\t\t\tcallback: async value => {\n\t\t\t\t\t\tconst term = memberTerms.find(term => term.id == value)\n\t\t\t\t\t\tthis.pseudobulk = { assay, memberId, category: term.category || term.id }\n\t\t\t\t\t\tawait this.main()\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (memberMap.size === 1) {\n\t\t\t\tconst [memberId, memberTerms] = memberMap.entries().next().value\n\t\t\t\trenderMember(assayHolder, memberId, memberTerms)\n\t\t\t} else {\n\t\t\t\tconst memberTabs = Array.from(memberMap, ([memberId, memberTerms]) => ({\n\t\t\t\t\tlabel: memberId,\n\t\t\t\t\tcallback: (_event, tab) => renderMember(tab.contentHolder, memberId, memberTerms)\n\t\t\t\t}))\n\t\t\t\tnew Tabs({ holder: assayHolder, tabs: memberTabs }).main()\n\t\t\t}\n\t\t}\n\n\t\tif (assayMap.size === 1) {\n\t\t\tconst [assay, memberMap] = Array.from(assayMap)[0]\n\t\t\tholder.append('div').text('Single-cell pseudobulk ' + termType2label(assay))\n\t\t\trenderAssay(holder.append('div'), assay, memberMap)\n\t\t} else {\n\t\t\tconst assayTabs = Array.from(assayMap, ([assay, memberMap]) => ({\n\t\t\t\tlabel: termType2label(assay),\n\t\t\t\tcallback: (_event, tab) => renderAssay(tab.contentHolder, assay, memberMap)\n\t\t\t}))\n\t\t\tnew Tabs({ holder, tabs: assayTabs, linePosition: 'right', tabsPosition: 'vertical' }).main()\n\t\t}\n\t}\n\n\tasync makeGroupsUI() {\n\t\t// filter prompt\n\t\tif (!this.filterPrompt) {\n\t\t\tthis.filterPrompt = await filterPromptInit({\n\t\t\t\tholder: this.dom.addGroup,\n\t\t\t\tvocabApi: this.app.vocabApi,\n\t\t\t\temptyLabel: 'Add group',\n\t\t\t\theader_mode: this.opts?.header_mode,\n\t\t\t\tcallback: async f => {\n\t\t\t\t\tconst filter = getNormalRoot(f)\n\t\t\t\t\tthis.addNewGroup(filter, this.groups)\n\t\t\t\t\tawait this.main()\n\t\t\t\t},\n\t\t\t\tdebug: this.opts.debug\n\t\t\t})\n\t\t}\n\n\t\t// filterPrompt.main() always empties the filterUiRoot data\n\t\tconst filter = structuredClone(this.state?.termfilter?.filter)\n\t\tthis.filterPrompt.main(excludeFilterByTag(filter, 'cohortFilter')) // provide mass filter to limit the term tree\n\n\t\tif (!this.groups.length) {\n\t\t\t// no groups, hide table\n\t\t\tthis.dom.table.style('display', 'none')\n\t\t\treturn\n\t\t}\n\n\t\t// clear table and populate rows\n\t\tthis.dom.table.style('display', 'block').selectAll('*').remove()\n\t\tconst tableArg: any = {\n\t\t\tdiv: this.dom.table,\n\t\t\tcolumns: [\n\t\t\t\t{}, // blank column to add delete buttons\n\t\t\t\t{\n\t\t\t\t\tlabel: 'NAME',\n\t\t\t\t\teditCallback: async (i, cell) => {\n\t\t\t\t\t\tconst newName = cell.value\n\t\t\t\t\t\tconst index = this.groups.findIndex(group => group.name == newName)\n\t\t\t\t\t\tif (index != -1) {\n\t\t\t\t\t\t\talert(`Group named ${newName} already exists`)\n\t\t\t\t\t\t\tawait this.main()\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.groups[i].name = newName\n\t\t\t\t\t\t\tawait this.main()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'COLOR',\n\t\t\t\t\teditCallback: async (i, cell) => {\n\t\t\t\t\t\tthis.groups[i].color = cell.color\n\t\t\t\t\t\tthis.main()\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t// dataset may rename what a row counts (GDC: cases, not samples)\n\t\t\t\t{ label: `#${uiLabel(this.app.vocabApi.termdbConfig?.uiLabels, 'Sample', 'Sample').toUpperCase()}` },\n\t\t\t\t{ label: 'FILTER' }\n\t\t\t],\n\t\t\trows: [],\n\t\t\tstriped: false, // no alternating row bg color so delete button appears more visible\n\t\t\tshowLines: false\n\t\t}\n\n\t\tfor (const g of this.groups) {\n\t\t\ttableArg.rows.push([\n\t\t\t\t{}, // blank cell to add delete button\n\t\t\t\t{ value: g.name }, // to allow click to show <input>\n\t\t\t\t{ color: g.color },\n\t\t\t\t{ value: '' }, // filled in asynchronously below, so one slow count does not hold up the table\n\t\t\t\t{} // blank cell to show filter ui\n\t\t\t])\n\t\t}\n\n\t\trenderTable(tableArg)\n\n\t\t// after rendering table, iterate over rows again to fill cells with control elements\n\t\tfor (const [i, row] of tableArg.rows.entries()) {\n\t\t\t// add delete button in 1st cell\n\t\t\trow[0].__td\n\t\t\t\t.append('div')\n\t\t\t\t.attr('class', 'sja_menuoption')\n\t\t\t\t.style('padding', '1px 6px')\n\t\t\t\t.html('&times;')\n\t\t\t\t.on('click', () => {\n\t\t\t\t\tthis.groups.splice(i, 1)\n\t\t\t\t\tthis.main()\n\t\t\t\t})\n\n\t\t\t// fill the #SAMPLE cell. not awaited: the table is already rendered, and on gdc each count\n\t\t\t// is a /cases round trip\n\t\t\tthis.app.vocabApi\n\t\t\t\t.getFilteredSampleCount(this.groups[i].filter, this.hasCohort0 ? null : this.state.termfilter.filter0)\n\t\t\t\t.then(n => row[3].__td.text(n))\n\t\t\t\t.catch(e => row[3].__td.text('n/a').attr('title', e?.message || e))\n\n\t\t\t// create filter ui in its cell\n\t\t\tconst group = this.groups[i]\n\t\t\tfilterInit({\n\t\t\t\tholder: row[4].__td,\n\t\t\t\tvocabApi: this.app.vocabApi,\n\t\t\t\theader_mode: 'hide_search',\n\t\t\t\tcallback: f => {\n\t\t\t\t\tif (!f || f.lst.length == 0) {\n\t\t\t\t\t\t// blank filter (user removed last tvs from this filter), delete this element from groups[]\n\t\t\t\t\t\tconst i = this.groups.findIndex(g => g.name == group.name)\n\t\t\t\t\t\tthis.groups.splice(i, 1)\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// update filter\n\t\t\t\t\t\tgroup.filter = f\n\t\t\t\t\t}\n\t\t\t\t\tthis.main()\n\t\t\t\t}\n\t\t\t}).main(group.filter)\n\t\t}\n\n\t\tthis.dom.addGroup.select('.sja_new_filter_btn').style('pointer-events', 'auto').style('opacity', 1)\n\t}\n\n\taddNewGroup(filter, groups, name?: string, color?: string) {\n\t\tif (!groups) throw 'groups is missing'\n\t\tif (!name) {\n\t\t\tconst base = 'New group'\n\t\t\tname = base\n\t\t\tfor (let i = 0; ; i++) {\n\t\t\t\tname = base + (i === 0 ? '' : ' ' + i)\n\t\t\t\tif (!groups.find(g => g.name === name)) break\n\t\t\t}\n\t\t}\n\t\tconst newGroup = {\n\t\t\tname,\n\t\t\tfilter,\n\t\t\tcolor: color || rgb(colorScale(groups.length)).formatHex()\n\t\t}\n\t\tgroups.push(newGroup)\n\t}\n\n\tmayRenderSubmit() {\n\t\tif (!this.groups.length || (this.groups.length == 1 && this.hasCohort0)) {\n\t\t\t// currently unable to negate filter0, so enforcing two-group\n\t\t\t// comparison when cohort0 is used\n\t\t\tthis.dom.submit.style('display', 'none')\n\t\t\treturn\n\t\t}\n\t\tthis.dom.submit.style('display', 'inline-block')\n\t\tif (this.groups.length == 1) {\n\t\t\t// single group of samples, compare with all other samples\n\t\t\tthis.dom.submit.text(`Submit (${this.groups[0].name} vs others)`)\n\t\t\tthis.dom.submit.on('click', async () => {\n\t\t\t\tawait this.clickSubmit(this.getSubmitGroups())\n\t\t\t})\n\t\t} else if (this.groups.length == 2) {\n\t\t\t// two groups of samples, compare these groups\n\t\t\tthis.dom.addGroup.select('.sja_new_filter_btn').style('pointer-events', 'none').style('opacity', 0.5)\n\t\t\tthis.dom.submit.text(`Submit (${this.groups[0].name} vs ${this.groups[1].name})`)\n\t\t\tthis.dom.submit.on('click', async () => {\n\t\t\t\tawait this.clickSubmit(this.groups)\n\t\t\t})\n\t\t} else {\n\t\t\tthrow new Error('cannot exceed 2 groups')\n\t\t}\n\t}\n\n\tasync clickSubmit(groups) {\n\t\tthis.dom.loading.style('display', 'block')\n\t\tconst samplelstTW: any = {\n\t\t\tq: { groups: [] },\n\t\t\tterm: {\n\t\t\t\tname: groups.map(g => g.name).join(' vs '),\n\t\t\t\ttype: 'samplelst',\n\t\t\t\tvalues: {}\n\t\t\t}\n\t\t}\n\t\tif (this.expressionSource === 'pseudobulk') samplelstTW.pseudobulk = this.pseudobulk\n\t\t// ignore filter0 when cohort0 is used\n\t\tconst filter0 = this.hasCohort0 ? null : this.state.termfilter.filter0\n\t\tconst mapParent2Children = true // DE/DM data assumed to be at sample-level so map parent samples to child samples\n\t\tfor (const g of groups) {\n\t\t\tconst samples = await this.vocabApi!.getFilteredSampleList(\n\t\t\t\tfilterJoin([g.filter, this.state.termfilter.filter]),\n\t\t\t\tfilter0,\n\t\t\t\tmapParent2Children\n\t\t\t)\n\t\t\tconst sampleIds = samples.map(s => {\n\t\t\t\treturn { sampleId: s.id }\n\t\t\t})\n\t\t\tsamplelstTW.q.groups.push({\n\t\t\t\tname: g.name,\n\t\t\t\tin: true,\n\t\t\t\tvalues: sampleIds\n\t\t\t})\n\t\t\tsamplelstTW.term.values[g.name] = {\n\t\t\t\tcolor: g.color,\n\t\t\t\tkey: g.name,\n\t\t\t\tlabel: g.name,\n\t\t\t\tlist: sampleIds //samples need to be passed for the samplelst filter to work\n\t\t\t}\n\t\t}\n\n\t\t// get actual numbers of samples with data for this assay\n\t\tconst body: any = {\n\t\t\tgenome: this.app.vocabApi.vocab.genome,\n\t\t\tdslabel: this.app.vocabApi.vocab.dslabel,\n\t\t\tsamplelst: { groups: samplelstTW.q.groups },\n\t\t\tfilter: this.state.termfilter.filter,\n\t\t\tfilter0,\n\t\t\tpreAnalysis: true\n\t\t}\n\t\tif (this.expressionSource === 'pseudobulk') body.pseudobulk = this.pseudobulk\n\t\t// both routes accept the same preAnalysis body and answer with the same {data:{groupName:n}}\n\t\tconst preAnalysisData = await dofetch3(this.isGE ? 'termdb/DE' : 'termdb/diffMeth', { body })\n\n\t\tthis.dom.loading.style('display', 'none')\n\n\t\t// render sample counts. renderPreAnalysisData writes its own header, using the ds vocabulary\n\t\tthis.dom.preAnalysis.style('display', 'block').selectAll('*').remove()\n\n\t\trenderPreAnalysisData({\n\t\t\tpreAnalysisData,\n\t\t\tsamplelstTW,\n\t\t\tgroups: samplelstTW.q.groups,\n\t\t\tholder: this.dom.preAnalysis,\n\t\t\ttermType: this.termType,\n\t\t\tself: this\n\t\t})\n\t}\n}\n\nexport const DEinputInit = getCompInit(DEinputPlot)\nexport const componentInit = DEinputInit\n\nconst supportedTermTypes = new Set([TermTypes.GENE_EXPRESSION, TermTypes.DNA_METHYLATION])\n\nexport async function getPlotConfig(opts, app?) {\n\tif (opts.termType && !supportedTermTypes.has(opts.termType))\n\t\tthrow new Error(`termType='${opts.termType}' is not supported by DEinput`)\n\tconst config = {\n\t\tchartType: 'DEinput',\n\t\t// default keeps every existing caller on gene expression without passing anything\n\t\ttermType: opts.termType || TermTypes.GENE_EXPRESSION,\n\t\tsettings: {}\n\t}\n\n\t// may apply term-specific changes to the default object\n\tconst c = copyMerge(config, opts)\n\tif (c.groups) c.groups = await getValidGroups(c.groups, app)\n\treturn c\n}\n\n/* validate and normalize config.groups[], the prebuilt groups that DEinputPlot.maySeedGroups() copies\ninto the group table. done here so a malformed filter fails at plot creation with a clear message,\ninstead of deep in the filter ui: FilterClass.validateFilter() rejects a tvslst with a non-empty join\nand fewer than 2 entries, and DEinputPlot.main() assumes a tvslst root when detecting a cohort term */\nasync function getValidGroups(groups, app) {\n\tif (!Array.isArray(groups)) throw 'config.groups must be an array'\n\t// mayRenderSubmit() has no ui for more than 2 groups\n\tif (groups.length > 2) throw 'config.groups[] cannot exceed 2 groups'\n\t/* every supplied name is reserved before any default name is filled in below. a group table row is\n\tfound by name on edit and delete, and the samplelst tw of the analysis is keyed by name, so two\n\tgroups must never end up with the same name -- including a default name that happens to match the\n\tname supplied by a later entry */\n\tconst names = new Set()\n\tfor (const g of groups) {\n\t\tif (!g?.filter) throw 'config.groups[] entry is missing .filter{}'\n\t\tif ('name' in g && typeof g.name != 'string') throw 'config.groups[].name must be a string'\n\t\tif (!g.name) continue\n\t\tif (names.has(g.name)) throw `duplicate config.groups[].name='${g.name}'`\n\t\tnames.add(g.name)\n\t}\n\n\tconst validated: any[] = []\n\tfor (const g of groups) {\n\t\t// also detaches the filter from a frozen state or from the caller's object\n\t\tconst filter = getNormalRoot(g.filter)\n\t\tif (!filter.lst.length) throw 'config.groups[] entry has a blank .filter{}'\n\t\t// allows a hand-coded filter to supply only term.id, like the mass filter and groups allow\n\t\tif (app?.vocabApi) await Promise.all(rehydrateFilter(filter, app.vocabApi))\n\t\t// name a group here, not in addNewGroup(), which only avoids the names of the groups added\n\t\t// before it and so could reuse a name that a later entry supplies\n\t\tconst name = g.name || getUnusedGroupName(names)\n\t\tnames.add(name)\n\t\tconst valid = Object.assign({}, g, { filter, name })\n\t\tif ('color' in g) {\n\t\t\t/* store the parsed hex, not what was supplied: the color is rendered by code that may set\n\t\t\tit as a css value, so only a value that d3 recognizes as a color may be kept */\n\t\t\tconst c = d3color(g.color)\n\t\t\tif (!c) throw `invalid config.groups[].color='${g.color}'`\n\t\t\tvalid.color = c.formatHex()\n\t\t}\n\t\tvalidated.push(valid)\n\t}\n\treturn validated\n}\n\n/** the first unused name of the 'New group', 'New group 1', ... series, matching addNewGroup() */\nfunction getUnusedGroupName(names) {\n\tconst base = 'New group'\n\tfor (let i = 0; ; i++) {\n\t\tconst name = base + (i === 0 ? '' : ' ' + i)\n\t\tif (!names.has(name)) return name\n\t}\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["term", "filter", "i", "color"]
7
+ }