@sjcrh/proteinpaint-client 2.198.0 → 2.200.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 (1066) hide show
  1. package/dist/2dmaf-RRV3ORZR.js +1373 -0
  2. package/dist/AIProjectAdmin-DKLEFCGX.js +958 -0
  3. package/dist/AppHeader-WQ2F7HZY.js +835 -0
  4. package/dist/BoxPlot-5JQCYENZ.js +1218 -0
  5. package/dist/BoxPlot-5JQCYENZ.js.map +7 -0
  6. package/dist/CorrelationVolcano-HR6IP2SZ.js +619 -0
  7. package/dist/DE-DAW6ZKM7.js +95 -0
  8. package/dist/DEinput-XCR4VMR3.js +409 -0
  9. package/dist/DEinput-XCR4VMR3.js.map +7 -0
  10. package/dist/DifferentialAnalysis-SETJAZEN.js +243 -0
  11. package/dist/DifferentialAnalysis-SETJAZEN.js.map +7 -0
  12. package/dist/Disco-QEBEVQS2.js +3392 -0
  13. package/dist/Disco.UI-OYVL7UBI.js +248 -0
  14. package/dist/Disco.UI-OYVL7UBI.js.map +7 -0
  15. package/dist/DmrPlot-CWBQDZL7.js +642 -0
  16. package/dist/GB-5PYCR4SV.js +1396 -0
  17. package/dist/GB-5PYCR4SV.js.map +7 -0
  18. package/dist/GSEA-6UKMI6GY.js +846 -0
  19. package/dist/GeneExpInput-2N62XM7Z.js +367 -0
  20. package/dist/GeneExpInput-2N62XM7Z.js.map +7 -0
  21. package/dist/Geomap-ANMR32HE.js +89 -0
  22. package/dist/HicApp-WHPUPHEM.js +2250 -0
  23. package/dist/IDCViewer-FWXRE4AX.js +10817 -0
  24. package/dist/IDCViewer-FWXRE4AX.js.map +7 -0
  25. package/dist/NumBinaryEditor-VG5KOGDA.js +271 -0
  26. package/dist/NumBinaryEditor.unit.spec-UCGFZS3P.js +286 -0
  27. package/dist/NumContEditor-J52RON3G.js +109 -0
  28. package/dist/NumContEditor.unit.spec-5GTWUJEL.js +169 -0
  29. package/dist/NumCustomBinEditor-GM2OJMOX.js +38 -0
  30. package/dist/NumCustomBinEditor.unit.spec-3PGJ25J4.js +284 -0
  31. package/dist/NumDiscreteEditor-2CAKT3Y4.js +179 -0
  32. package/dist/NumDiscreteEditor.unit.spec-XCWSJTRT.js +202 -0
  33. package/dist/NumRegularBinEditor-CZYITY5L.js +38 -0
  34. package/dist/NumRegularBinEditor.unit.spec-OUBZ5XB3.js +227 -0
  35. package/dist/NumSplineEditor-TWRL5AQQ.js +198 -0
  36. package/dist/NumSplineEditor.unit.spec-5P6NQZ3N.js +199 -0
  37. package/dist/NumericDensity-JSOFOEH2.js +38 -0
  38. package/dist/NumericDensity.unit.spec-REUKHMKK.js +221 -0
  39. package/dist/NumericHandler-UZOGKPKB.js +39 -0
  40. package/dist/NumericHandler.unit.spec-X2DAED4O.js +219 -0
  41. package/dist/ProteomeInput-GBVCLNS7.js +394 -0
  42. package/dist/ProteomeInput-GBVCLNS7.js.map +7 -0
  43. package/dist/RunChart2-N4JPWNVV.js +758 -0
  44. package/dist/RunChart2-N4JPWNVV.js.map +7 -0
  45. package/dist/SC-RCZT5BRP.js +1112 -0
  46. package/dist/SC-RCZT5BRP.js.map +7 -0
  47. package/dist/Volcano-2BQ6SYHO.js +1404 -0
  48. package/dist/Volcano-2BQ6SYHO.js.map +7 -0
  49. package/dist/WSIViewer-UDA4WIRT.js +48562 -0
  50. package/dist/WsiSamplesPlot-DYSFMD22.js +165 -0
  51. package/dist/adSandbox-5BUDCAER.js +38 -0
  52. package/dist/animatedBubbleChart-N6MBJ4X3.js +553 -0
  53. package/dist/animatedBubbleChart-N6MBJ4X3.js.map +7 -0
  54. package/dist/app-O64TGDFH.js +37 -0
  55. package/dist/app-Y2STUISK.js +49 -0
  56. package/dist/app.js +23 -23
  57. package/dist/bam-2EOABVGT.js +859 -0
  58. package/dist/bam-2EOABVGT.js.map +7 -0
  59. package/dist/barchart-UHCTYRMJ.js +47 -0
  60. package/dist/barchart.data-LSK2P2PR.js +21 -0
  61. package/dist/barchart.events-Y4H2GADS.js +47 -0
  62. package/dist/barchart.integration.spec-BFGZFECA.js +2243 -0
  63. package/dist/barchart.integration.spec-BFGZFECA.js.map +7 -0
  64. package/dist/barchart2-VIZKZRMP.js +314 -0
  65. package/dist/bars.renderer-54UCFLJS.js +12 -0
  66. package/dist/block-BGSSF6XP.js +6255 -0
  67. package/dist/block.init-H7RKUIHG.js +38 -0
  68. package/dist/block.mds.expressionrank-MA3HGT7S.js +359 -0
  69. package/dist/block.mds.geneboxplot-CWT5DM5T.js +828 -0
  70. package/dist/block.mds.junction-P4I7O73X.js +1545 -0
  71. package/dist/block.mds.svcnv-NSPEY43S.js +6801 -0
  72. package/dist/block.svg-DP4G3LNQ.js +164 -0
  73. package/dist/block.tk.aicheck-EBLTOWKZ.js +283 -0
  74. package/dist/block.tk.ase-X7WKQOFS.js +365 -0
  75. package/dist/block.tk.bam-OIP3TS3N.js +1906 -0
  76. package/dist/block.tk.bedgraphdot-2DDF55J3.js +384 -0
  77. package/dist/block.tk.bigwig.ui-S2SMAEXM.js +211 -0
  78. package/dist/block.tk.bigwig.ui-S2SMAEXM.js.map +7 -0
  79. package/dist/block.tk.hicstraw-4OIG4TBZ.js +823 -0
  80. package/dist/block.tk.junction-52OWEQUN.js +2364 -0
  81. package/dist/block.tk.junction.textmatrixui-64YOSZLW.js +199 -0
  82. package/dist/block.tk.ld-3AMNHBDY.js +99 -0
  83. package/dist/block.tk.menu-4724DJXL.js +1029 -0
  84. package/dist/block.tk.pgv-2SIOPWYI.js +944 -0
  85. package/dist/brainImaging-D43CQQN6.js +423 -0
  86. package/dist/brainImaging-D43CQQN6.js.map +7 -0
  87. package/dist/brainRegions-HJ2VGL3L.js +221 -0
  88. package/dist/bubbleHeatmap-IL44M4QZ.js +383 -0
  89. package/dist/bubbleHeatmap-IL44M4QZ.js.map +7 -0
  90. package/dist/cellTypeBubbleHeatmap-NQP7RCZO.js +283 -0
  91. package/dist/cellTypeBubbleHeatmap-NQP7RCZO.js.map +7 -0
  92. package/dist/chunk-26APRXD3.js +254 -0
  93. package/dist/chunk-2GLA2SWU.js +160 -0
  94. package/dist/chunk-2GLA2SWU.js.map +7 -0
  95. package/dist/chunk-2KXLYFAO.js +4085 -0
  96. package/dist/chunk-3BGFM7Q4.js +1275 -0
  97. package/dist/chunk-3SHZTAGF.js +193 -0
  98. package/dist/chunk-3SHZTAGF.js.map +7 -0
  99. package/dist/chunk-46X6AQ7Z.js +123 -0
  100. package/dist/chunk-46X6AQ7Z.js.map +7 -0
  101. package/dist/chunk-4FQYRDZS.js +276 -0
  102. package/dist/chunk-4FQYRDZS.js.map +7 -0
  103. package/dist/chunk-4HZN6PMU.js +129 -0
  104. package/dist/chunk-4KRGCOTL.js +479 -0
  105. package/dist/chunk-4KRGCOTL.js.map +7 -0
  106. package/dist/chunk-4WF3XDQP.js +220 -0
  107. package/dist/chunk-4WF3XDQP.js.map +7 -0
  108. package/dist/chunk-5DMVORBB.js +98 -0
  109. package/dist/chunk-5QMBB4SK.js +1245 -0
  110. package/dist/chunk-5R63Q5KH.js +1628 -0
  111. package/dist/chunk-5RVA43MN.js +274 -0
  112. package/dist/chunk-5RVA43MN.js.map +7 -0
  113. package/dist/chunk-5T3MOOEJ.js +379 -0
  114. package/dist/chunk-5T3MOOEJ.js.map +7 -0
  115. package/dist/chunk-5T3ZDRTS.js +70 -0
  116. package/dist/chunk-5T3ZDRTS.js.map +7 -0
  117. package/dist/chunk-5ZTVJSYI.js +834 -0
  118. package/dist/chunk-5ZTVJSYI.js.map +7 -0
  119. package/dist/chunk-6JYQGZ3Y.js +446 -0
  120. package/dist/chunk-6OUBUUC2.js +626 -0
  121. package/dist/chunk-6OUBUUC2.js.map +7 -0
  122. package/dist/chunk-6PNPHACF.js +1652 -0
  123. package/dist/chunk-6PNPHACF.js.map +7 -0
  124. package/dist/chunk-6QCYT6G2.js +467 -0
  125. package/dist/chunk-7JRDJNLR.js +263 -0
  126. package/dist/chunk-7JRDJNLR.js.map +7 -0
  127. package/dist/chunk-7PIHRWGG.js +102 -0
  128. package/dist/chunk-7PIHRWGG.js.map +7 -0
  129. package/dist/chunk-7PJNKPQB.js +275 -0
  130. package/dist/chunk-7PJNKPQB.js.map +7 -0
  131. package/dist/chunk-AGLAYNXP.js +170 -0
  132. package/dist/chunk-AGLAYNXP.js.map +7 -0
  133. package/dist/chunk-B4ESQLPB.js +140 -0
  134. package/dist/chunk-B7VDZ6VF.js +399 -0
  135. package/dist/chunk-B7VDZ6VF.js.map +7 -0
  136. package/dist/chunk-BGTBRAJ6.js +50 -0
  137. package/dist/chunk-BGTBRAJ6.js.map +7 -0
  138. package/dist/chunk-BNAO6N5X.js +2899 -0
  139. package/dist/chunk-BNAO6N5X.js.map +7 -0
  140. package/dist/chunk-BQHPJY2M.js +347 -0
  141. package/dist/chunk-BQHPJY2M.js.map +7 -0
  142. package/dist/chunk-BZTWTH4Y.js +87 -0
  143. package/dist/chunk-BZTWTH4Y.js.map +7 -0
  144. package/dist/chunk-CY4RQ5L6.js +1710 -0
  145. package/dist/chunk-CY4RQ5L6.js.map +7 -0
  146. package/dist/chunk-D565DNJD.js +236 -0
  147. package/dist/chunk-D565DNJD.js.map +7 -0
  148. package/dist/chunk-DH3LAQKT.js +384 -0
  149. package/dist/chunk-DH3LAQKT.js.map +7 -0
  150. package/dist/chunk-E3VF4RHJ.js +381 -0
  151. package/dist/chunk-EGPNRSPF.js +292 -0
  152. package/dist/chunk-FACITNG5.js +142 -0
  153. package/dist/chunk-GNS6CQMA.js +119 -0
  154. package/dist/chunk-GNS6CQMA.js.map +7 -0
  155. package/dist/chunk-H3N4KYKL.js +2327 -0
  156. package/dist/chunk-H3VWJH4U.js +14 -0
  157. package/dist/chunk-HEVKBSN6.js +222 -0
  158. package/dist/chunk-HQUYAZQY.js +514 -0
  159. package/dist/chunk-IUBBQPO2.js +146 -0
  160. package/dist/chunk-IUBBQPO2.js.map +7 -0
  161. package/dist/chunk-J4USU73L.js +26 -0
  162. package/dist/chunk-JH73IL4C.js +135 -0
  163. package/dist/chunk-JVPWIVDT.js +1812 -0
  164. package/dist/chunk-JVPWIVDT.js.map +7 -0
  165. package/dist/chunk-KU7YH7MV.js +217 -0
  166. package/dist/chunk-KZILNGAV.js +187 -0
  167. package/dist/chunk-KZILNGAV.js.map +7 -0
  168. package/dist/chunk-M66VDGSH.js +272 -0
  169. package/dist/chunk-MJN6RDXB.js +302 -0
  170. package/dist/chunk-MPNEZ6EL.js +31 -0
  171. package/dist/chunk-MPSLUEI4.js +314 -0
  172. package/dist/chunk-NIXFCC7X.js +368 -0
  173. package/dist/chunk-NODQZTWK.js +276 -0
  174. package/dist/chunk-NRYHIWBS.js +1942 -0
  175. package/dist/chunk-NRYHIWBS.js.map +7 -0
  176. package/dist/chunk-NUWJ4RN7.js +465 -0
  177. package/dist/chunk-NUWJ4RN7.js.map +7 -0
  178. package/dist/chunk-NVTJ5AUT.js +1102 -0
  179. package/dist/chunk-NZRMHM76.js +158 -0
  180. package/dist/chunk-NZRMHM76.js.map +7 -0
  181. package/dist/chunk-OOWXMY7U.js +55 -0
  182. package/dist/chunk-OTTMHVYH.js +787 -0
  183. package/dist/chunk-Q5RDQNIT.js +777 -0
  184. package/dist/chunk-QDX2XUNF.js +58 -0
  185. package/dist/chunk-QYXCHZ6U.js +4282 -0
  186. package/dist/chunk-QYXCHZ6U.js.map +7 -0
  187. package/dist/chunk-R6NM2HSH.js +556 -0
  188. package/dist/chunk-R6NM2HSH.js.map +7 -0
  189. package/dist/chunk-RJOY6A74.js +56 -0
  190. package/dist/chunk-RJOY6A74.js.map +7 -0
  191. package/dist/chunk-ROMW4AK2.js +102 -0
  192. package/dist/chunk-RR5U35N7.js +230 -0
  193. package/dist/chunk-RVKADD4L.js +148 -0
  194. package/dist/chunk-S5ZCK44Z.js +54 -0
  195. package/dist/chunk-SNRIVNQ3.js +176 -0
  196. package/dist/chunk-STI7BO3P.js +2681 -0
  197. package/dist/chunk-STI7BO3P.js.map +7 -0
  198. package/dist/chunk-TAM7UCAI.js +263 -0
  199. package/dist/chunk-TDKMBQSM.js +5070 -0
  200. package/dist/chunk-TDKMBQSM.js.map +7 -0
  201. package/dist/chunk-TKW5TW4Z.js +21449 -0
  202. package/dist/chunk-TKW5TW4Z.js.map +7 -0
  203. package/dist/chunk-TQTYW66I.js +2784 -0
  204. package/dist/chunk-TQTYW66I.js.map +7 -0
  205. package/dist/chunk-U3NTH4CS.js +54 -0
  206. package/dist/chunk-U3NTH4CS.js.map +7 -0
  207. package/dist/chunk-UEGQVQD6.js +34 -0
  208. package/dist/chunk-UEGQVQD6.js.map +7 -0
  209. package/dist/chunk-UJELJXJG.js +2110 -0
  210. package/dist/chunk-ULESDMUT.js +480 -0
  211. package/dist/chunk-UUKSL7QC.js +134 -0
  212. package/dist/chunk-UUKSL7QC.js.map +7 -0
  213. package/dist/chunk-VUPWQCDR.js +194 -0
  214. package/dist/chunk-VUPWQCDR.js.map +7 -0
  215. package/dist/chunk-W76X6W73.js +100 -0
  216. package/dist/chunk-W7OS7BNM.js +203 -0
  217. package/dist/chunk-WPHUM5S5.js +98 -0
  218. package/dist/chunk-WPHUM5S5.js.map +7 -0
  219. package/dist/chunk-WTTD6DUL.js +6364 -0
  220. package/dist/chunk-WXPFMVU6.js +299 -0
  221. package/dist/chunk-XNWUI5VL.js +37 -0
  222. package/dist/chunk-XNWUI5VL.js.map +7 -0
  223. package/dist/chunk-YBLTSYQV.js +216 -0
  224. package/dist/chunk-Z7VDFWIP.js +126 -0
  225. package/dist/chunk-Z7VDFWIP.js.map +7 -0
  226. package/dist/chunk-ZEKIUYN3.js +448 -0
  227. package/dist/chunk-ZEKIUYN3.js.map +7 -0
  228. package/dist/cohort-OWLNJZVH.js +75 -0
  229. package/dist/cohort-OWLNJZVH.js.map +7 -0
  230. package/dist/condition-L2IXP6WH.js +332 -0
  231. package/dist/controls-2S5QVWUC.js +39 -0
  232. package/dist/controls.config-3AJKR4ZZ.js +39 -0
  233. package/dist/correlation-DXTAWSLU.js +102 -0
  234. package/dist/cuminc-WQB6FHVS.js +1148 -0
  235. package/dist/cuminc-WQB6FHVS.js.map +7 -0
  236. package/dist/cuminc.integration.spec-WAYRLHUH.js +678 -0
  237. package/dist/customdata.inputui-7WH2NJGB.js +289 -0
  238. package/dist/dataDownload-HM4UYOBO.js +330 -0
  239. package/dist/dataDownload.integration.spec-F5CO4BWA.js +193 -0
  240. package/dist/databrowser.ui-E2YOG3L4.js +432 -0
  241. package/dist/databrowser.ui-E2YOG3L4.js.map +7 -0
  242. package/dist/dictionary-EEPTFDYD.js +118 -0
  243. package/dist/dnaMethylation-N3WNK6XA.js +38 -0
  244. package/dist/dnaMethylation.integration.spec-AIYRTFMR.js +203 -0
  245. package/dist/dnaMethylation.integration.spec-AIYRTFMR.js.map +7 -0
  246. package/dist/dofetch-YKYPEJTQ.js +51 -0
  247. package/dist/e2pca-JEZIGVB2.js +350 -0
  248. package/dist/ep-5FMH2MLV.js +1256 -0
  249. package/dist/expclust.gdc.spec-FR26VSUA.js +307 -0
  250. package/dist/facet-5YYY3MUN.js +521 -0
  251. package/dist/facet-5YYY3MUN.js.map +7 -0
  252. package/dist/gb-WGEVO7L2.js +88 -0
  253. package/dist/geneExpClustering-DHE6XJHV.js +249 -0
  254. package/dist/geneExpClustering-DHE6XJHV.js.map +7 -0
  255. package/dist/geneExpression-5NWQXMJ3.js +313 -0
  256. package/dist/geneExpression-VWUMM2LU.js +38 -0
  257. package/dist/geneExpression.unit.spec-HBU3WTZ4.js +102 -0
  258. package/dist/geneExpression.unit.spec-HBU3WTZ4.js.map +7 -0
  259. package/dist/geneORA-3VWFWDYI.js +278 -0
  260. package/dist/geneRanking-PKDVD5OD.js +553 -0
  261. package/dist/geneVariant-IFIJQXH4.js +39 -0
  262. package/dist/geneVariant-WZSOG4GI.js +41 -0
  263. package/dist/geneVariant.integration.spec-6KQMWVHR.js +198 -0
  264. package/dist/genefusion.ui-C4NTALL3.js +308 -0
  265. package/dist/genefusion.ui-C4NTALL3.js.map +7 -0
  266. package/dist/geneset-RJAULSKC.js +208 -0
  267. package/dist/genomeBrowser.spec-42OTTMGO.js +281 -0
  268. package/dist/grin2-26O6YDDY.js +75 -0
  269. package/dist/grin2-FT5BQJMB.js +1143 -0
  270. package/dist/hierCluster-GJPPMFNR.js +59 -0
  271. package/dist/hierCluster-HMJF3PBE.js +63 -0
  272. package/dist/hierCluster.config-TAS7XKTU.js +40 -0
  273. package/dist/hierCluster.integration.spec-RLHQKX65.js +488 -0
  274. package/dist/hierCluster.integration.spec-RLHQKX65.js.map +7 -0
  275. package/dist/hierCluster.interactivity-IKTAJ6CU.js +54 -0
  276. package/dist/hierCluster.renderers-I6WFZRNW.js +21 -0
  277. package/dist/imagePlot-N4OXNMVA.js +163 -0
  278. package/dist/importPlot-VMYXDP66.js +8 -0
  279. package/dist/isoformExpression-2KV64KMN.js +40 -0
  280. package/dist/isoformExpression.unit.spec-RG2VWEMG.js +242 -0
  281. package/dist/isoformExpression.unit.spec-RG2VWEMG.js.map +7 -0
  282. package/dist/junction-VO4IGMW2.js +41 -0
  283. package/dist/junction.customTerm-EFMHHVWA.js +18 -0
  284. package/dist/junction.unit.spec-NB24MR2B.js +187 -0
  285. package/dist/junction.unit.spec-NB24MR2B.js.map +7 -0
  286. package/dist/launch.adhoc-R3MO3VXK.js +42 -0
  287. package/dist/leftlabel.sample-SI6KMULD.js +263 -0
  288. package/dist/leftlabel.sample-SI6KMULD.js.map +7 -0
  289. package/dist/legacyDataset-4BXYHQTS.js +119 -0
  290. package/dist/lollipop-XIVE4ANX.js +171 -0
  291. package/dist/maf-WRHD4OJF.js +459 -0
  292. package/dist/maftimeline-IE6YKV7Y.js +593 -0
  293. package/dist/matrix-ALBCAZP5.js +58 -0
  294. package/dist/matrix-W72XRUZD.js +63 -0
  295. package/dist/matrix.cells-DEEUWC74.js +28 -0
  296. package/dist/matrix.config-JYXQOXDT.js +41 -0
  297. package/dist/matrix.data-ENXNM6RP.js +25 -0
  298. package/dist/matrix.groups-EXSNNESB.js +27 -0
  299. package/dist/matrix.integration.spec-BW6U6PIW.js +3072 -0
  300. package/dist/matrix.interactivity-G6AL566T.js +42 -0
  301. package/dist/matrix.layout-UBUPIJ3R.js +44 -0
  302. package/dist/matrix.legend-S3P4F2DG.js +22 -0
  303. package/dist/matrix.renderers-IXFGXHJQ.js +38 -0
  304. package/dist/matrix.serieses-THHXUAPM.js +21 -0
  305. package/dist/matrix.sort-WJV6LIZI.js +27 -0
  306. package/dist/matrix.sort.unit.spec-LGMIL2LR.js +472 -0
  307. package/dist/matrix.sorterUi-VXVCOKEZ.js +18 -0
  308. package/dist/matrix.sorterUi.unit.spec-CWSEJ62U.js +342 -0
  309. package/dist/mavb-SXGKASQ5.js +732 -0
  310. package/dist/mds.fimo-EDOT3TDN.js +518 -0
  311. package/dist/mds.samplescatterplot-IXHNABKB.js +1550 -0
  312. package/dist/mds.survivalplot-KTTMHHII.js +483 -0
  313. package/dist/numericDictTermCluster-H4JSPW22.js +65 -0
  314. package/dist/oncomatrix-O4EMNUOT.js +295 -0
  315. package/dist/oncomatrix.spec-BME6CQWF.js +448 -0
  316. package/dist/plot.2dvaf-FDM4KXGT.js +377 -0
  317. package/dist/plot.app-UNUXG7ND.js +41 -0
  318. package/dist/plot.barplot-R333TMG2.js +102 -0
  319. package/dist/plot.boxplot-KQTYGUN3.js +152 -0
  320. package/dist/plot.brainImaging-YBYMHCEG.js +51 -0
  321. package/dist/plot.disco-CMDKRSOM.js +102 -0
  322. package/dist/plot.dzi-YAZA6RQS.js +33 -0
  323. package/dist/plot.ssgq-YKCOEXZP.js +139 -0
  324. package/dist/plot.vaf2cov-3TLMTFZS.js +259 -0
  325. package/dist/plot.wsi-7ADVYTQS.js +36 -0
  326. package/dist/polar2-O5SHVLP4.js +237 -0
  327. package/dist/polar2-O5SHVLP4.js.map +7 -0
  328. package/dist/profileForms-RLB6SMPQ.js +940 -0
  329. package/dist/profileForms-RLB6SMPQ.js.map +7 -0
  330. package/dist/profilePlot-AP52VLLO.js +54 -0
  331. package/dist/proteinView-S7WDBMQU.js +1568 -0
  332. package/dist/proteinView-S7WDBMQU.js.map +7 -0
  333. package/dist/proteomeCohortCompare-ERVUM7RO.js +799 -0
  334. package/dist/proteomeCohortCompare-ERVUM7RO.js.map +7 -0
  335. package/dist/pseudbulk.unit.spec-VSH7IM3R.js +91 -0
  336. package/dist/pseudbulk.unit.spec-VSH7IM3R.js.map +7 -0
  337. package/dist/pseudobulk-7UKRLKQI.js +40 -0
  338. package/dist/qualitative-2D7MC4V5.js +43 -0
  339. package/dist/radar2-ELVGQFZE.js +332 -0
  340. package/dist/radar2-ELVGQFZE.js.map +7 -0
  341. package/dist/radarFacility2-SDAZHGNG.js +340 -0
  342. package/dist/radarFacility2-SDAZHGNG.js.map +7 -0
  343. package/dist/regression-CE54AQMY.js +56 -0
  344. package/dist/regression.inputs-SMC5CNPY.js +48 -0
  345. package/dist/regression.inputs.term-XS54IQC2.js +48 -0
  346. package/dist/regression.inputs.values.table-LNPM3MX5.js +45 -0
  347. package/dist/regression.integration.spec-6QSMYPWJ.js +784 -0
  348. package/dist/regression.results-25ZRRDEE.js +40 -0
  349. package/dist/regression.spec-EDWHFRPY.js +708 -0
  350. package/dist/render-SEB6GFXQ.js +38 -0
  351. package/dist/report-U6L3KBYG.js +222 -0
  352. package/dist/sampleView-QAAJ26KT.js +48 -0
  353. package/dist/samplelst-KYRXJSZN.js +111 -0
  354. package/dist/samplematrix-STLF2QA5.js +2198 -0
  355. package/dist/sc-HL6YSMDX.js +86 -0
  356. package/dist/scatter-BSGDMOC2.js +851 -0
  357. package/dist/selectGenomeWithTklst-4NHQDTE6.js +134 -0
  358. package/dist/singleCellCellType-3E2IU42J.js +38 -0
  359. package/dist/singleCellCellType.unit.spec-MC7ZRSMW.js +159 -0
  360. package/dist/singleCellCellType.unit.spec-MC7ZRSMW.js.map +7 -0
  361. package/dist/singleCellGeneExpression-53UUGYTK.js +38 -0
  362. package/dist/singleCellGeneExpression.unit.spec-QSLTXHFE.js +153 -0
  363. package/dist/singleCellGeneExpression.unit.spec-QSLTXHFE.js.map +7 -0
  364. package/dist/singleCellPlot-JDSARDRV.js +54 -0
  365. package/dist/singlecell-IJR7BJYT.js +1572 -0
  366. package/dist/singlecell-OK6GJFWL.js +86 -0
  367. package/dist/snp-H4KJEEOE.js +38 -0
  368. package/dist/snp.unit.spec-2Y4A3XYI.js +176 -0
  369. package/dist/snplocus-4GG6VTWX.js +208 -0
  370. package/dist/spliceevent.a53ss.diagram-JZNRC5UC.js +151 -0
  371. package/dist/spliceevent.exonskip.diagram-H54N7ZKY.js +283 -0
  372. package/dist/spliceevent.noeventdiagram-II753XAK.js +460 -0
  373. package/dist/ssGSEA-JPJ3C4JI.js +38 -0
  374. package/dist/ssGSEA.unit.spec-45F5OCDK.js +88 -0
  375. package/dist/studyCatalog-O3VGIKDM.js +358 -0
  376. package/dist/studyCatalog-O3VGIKDM.js.map +7 -0
  377. package/dist/summarizeCnvGeneexp-55DNXHXA.js +163 -0
  378. package/dist/summarizeGeneexpSurvival-VLO4DC5M.js +110 -0
  379. package/dist/summarizeGeneexpSurvival-VLO4DC5M.js.map +7 -0
  380. package/dist/summarizeMutationCnv-QX7BADYL.js +164 -0
  381. package/dist/summarizeMutationDiagnosis-MHFM7RX6.js +40 -0
  382. package/dist/summarizeMutationSurvival-G4KHSUBN.js +99 -0
  383. package/dist/summary-PJYRCQNY.js +49 -0
  384. package/dist/summary.integration.spec-KPKROD6L.js +414 -0
  385. package/dist/summaryInput-TOAL53EP.js +231 -0
  386. package/dist/summaryInput-TOAL53EP.js.map +7 -0
  387. package/dist/sunburst-IGIV2RBE.js +284 -0
  388. package/dist/survival-DINCIWW7.js +58 -0
  389. package/dist/survival-RKV5BPDK.js +1239 -0
  390. package/dist/survival-RKV5BPDK.js.map +7 -0
  391. package/dist/survival.integration.spec-7ZYBBZKT.js +958 -0
  392. package/dist/survival.integration.spec-7ZYBBZKT.js.map +7 -0
  393. package/dist/svgraph-EUEZWGVR.js +1387 -0
  394. package/dist/svmr-B24LODSC.js +3842 -0
  395. package/dist/table-XSJJ3UZV.js +200 -0
  396. package/dist/termCollection-IAB3425K.js +38 -0
  397. package/dist/termCollection-LGEGHZSJ.js +257 -0
  398. package/dist/termCollection-LGEGHZSJ.js.map +7 -0
  399. package/dist/termCollection.unit.spec-4TIRHC44.js +304 -0
  400. package/dist/termCollection.unit.spec-4TIRHC44.js.map +7 -0
  401. package/dist/termCollectionFractionSelection-35YKAOUY.js +47 -0
  402. package/dist/termCollectionFractionSelection.unit.spec-SUFEIKJZ.js +193 -0
  403. package/dist/termCollectionFractionSelection.unit.spec-SUFEIKJZ.js.map +7 -0
  404. package/dist/tk-25EJJDRK.js +46 -0
  405. package/dist/tk-4E3XJ7CO.js +1127 -0
  406. package/dist/tk-4E3XJ7CO.js.map +7 -0
  407. package/dist/tp.ui-VGA62NFM.js +1459 -0
  408. package/dist/tvs.cohort-F7OJI2MH.js +26 -0
  409. package/dist/tvs.cohort-F7OJI2MH.js.map +7 -0
  410. package/dist/tvs.density-G56327WY.js +19 -0
  411. package/dist/tvs.dt-DFW36WKO.js +39 -0
  412. package/dist/tvs.dtcnv.categorical-ZP33EO3A.js +40 -0
  413. package/dist/tvs.dtcnv.continuous-FJTMQF4J.js +72 -0
  414. package/dist/tvs.dtfusion-FTDQWNKM.js +40 -0
  415. package/dist/tvs.dtitd-W5VEECJ2.js +40 -0
  416. package/dist/tvs.dtsnvindel-UOXSLCDZ.js +40 -0
  417. package/dist/tvs.dtsv-HWCPRVBO.js +40 -0
  418. package/dist/tvs.numeric-7TGKWQYU.js +22 -0
  419. package/dist/tvs.samplelst-OWD22ITS.js +104 -0
  420. package/dist/tvs.termCollection-27BWABYK.js +129 -0
  421. package/dist/tvs.termCollection-27BWABYK.js.map +7 -0
  422. package/dist/violin-2IAVZGFF.js +46 -0
  423. package/dist/violin.integration.spec-JVODKUCL.js +1425 -0
  424. package/dist/violin.integration.spec-JVODKUCL.js.map +7 -0
  425. package/dist/violin.interactivity-STOCZMVN.js +38 -0
  426. package/dist/violin.renderer-MKDTJ3EX.js +40 -0
  427. package/dist/violin.renderer-MKDTJ3EX.js.map +7 -0
  428. package/dist/vocabulary-4IHU6DNN.js +41 -0
  429. package/dist/vocabulary-4IHU6DNN.js.map +7 -0
  430. package/package.json +3 -6
  431. package/dist/2dmaf-R3PFZNRN.js +0 -1373
  432. package/dist/AIProjectAdmin-DM3KG6SR.js +0 -958
  433. package/dist/AppHeader-6DZQ6YZX.js +0 -835
  434. package/dist/BoxPlot-76NINVX4.js +0 -1217
  435. package/dist/BoxPlot-76NINVX4.js.map +0 -7
  436. package/dist/CorrelationVolcano-U5UMJNH5.js +0 -619
  437. package/dist/DE-AXNYWIQK.js +0 -95
  438. package/dist/DEinput-JH6YY6LS.js +0 -301
  439. package/dist/DEinput-JH6YY6LS.js.map +0 -7
  440. package/dist/DifferentialAnalysis-25P4CGIY.js +0 -242
  441. package/dist/DifferentialAnalysis-25P4CGIY.js.map +0 -7
  442. package/dist/Disco-NVMLF3BK.js +0 -3392
  443. package/dist/Disco.UI-C7CZINUQ.js +0 -249
  444. package/dist/Disco.UI-C7CZINUQ.js.map +0 -7
  445. package/dist/DmrPlot-WROR4ENM.js +0 -642
  446. package/dist/GB-JUABODPH.js +0 -1394
  447. package/dist/GB-JUABODPH.js.map +0 -7
  448. package/dist/GSEA-Y5R2THIJ.js +0 -846
  449. package/dist/GeneExpInput-JDU6EI7K.js +0 -367
  450. package/dist/GeneExpInput-JDU6EI7K.js.map +0 -7
  451. package/dist/Geomap-J763OK2F.js +0 -89
  452. package/dist/HicApp-UNIJLH4B.js +0 -2250
  453. package/dist/IDCViewer-KVPCIUDW.js +0 -10803
  454. package/dist/IDCViewer-KVPCIUDW.js.map +0 -7
  455. package/dist/NumBinaryEditor-WMN2GGO4.js +0 -271
  456. package/dist/NumBinaryEditor.unit.spec-TAMXV6SE.js +0 -286
  457. package/dist/NumContEditor-XYIOJY4E.js +0 -109
  458. package/dist/NumContEditor.unit.spec-WDZ75BHO.js +0 -169
  459. package/dist/NumCustomBinEditor-5SY3C4TY.js +0 -38
  460. package/dist/NumCustomBinEditor.unit.spec-XHTAIXR3.js +0 -284
  461. package/dist/NumDiscreteEditor-NRDRX4FD.js +0 -179
  462. package/dist/NumDiscreteEditor.unit.spec-2CJW7OAT.js +0 -202
  463. package/dist/NumRegularBinEditor-DUDVTNDC.js +0 -38
  464. package/dist/NumRegularBinEditor.unit.spec-H3GNQHMN.js +0 -227
  465. package/dist/NumSplineEditor-7Q4AC7KH.js +0 -198
  466. package/dist/NumSplineEditor.unit.spec-YRZK5PH5.js +0 -199
  467. package/dist/NumericDensity-NTNWUESG.js +0 -38
  468. package/dist/NumericDensity.unit.spec-5I5U6T6P.js +0 -221
  469. package/dist/NumericHandler-MEW2KMPX.js +0 -39
  470. package/dist/NumericHandler.unit.spec-JFX4BPRG.js +0 -219
  471. package/dist/ProteomeInput-K2ZHR2U6.js +0 -395
  472. package/dist/ProteomeInput-K2ZHR2U6.js.map +0 -7
  473. package/dist/RunChart2-BEBDU7RC.js +0 -758
  474. package/dist/RunChart2-BEBDU7RC.js.map +0 -7
  475. package/dist/SC-XCBFJVUJ.js +0 -1120
  476. package/dist/SC-XCBFJVUJ.js.map +0 -7
  477. package/dist/Volcano-4Y4TP3UX.js +0 -1385
  478. package/dist/Volcano-4Y4TP3UX.js.map +0 -7
  479. package/dist/WSIViewer-ZLQU62PD.js +0 -48562
  480. package/dist/WsiSamplesPlot-JMBSITOM.js +0 -165
  481. package/dist/adSandbox-664IRCRL.js +0 -38
  482. package/dist/animatedBubbleChart-TX7NW34K.js +0 -555
  483. package/dist/animatedBubbleChart-TX7NW34K.js.map +0 -7
  484. package/dist/app-63WJ3BMP.js +0 -37
  485. package/dist/app-77FIZHCG.js +0 -49
  486. package/dist/bam-IETNVAYD.js +0 -860
  487. package/dist/bam-IETNVAYD.js.map +0 -7
  488. package/dist/barchart-YUVXJNH4.js +0 -47
  489. package/dist/barchart.data-P4EIQXGE.js +0 -22
  490. package/dist/barchart.events-JPVCLTIG.js +0 -47
  491. package/dist/barchart.integration.spec-ZH7DEQI2.js +0 -2196
  492. package/dist/barchart.integration.spec-ZH7DEQI2.js.map +0 -7
  493. package/dist/barchart2-XO2FG76J.js +0 -314
  494. package/dist/bars.renderer-AUIWUJDH.js +0 -12
  495. package/dist/block-NBTCOT3H.js +0 -6255
  496. package/dist/block.init-X7Y2EEVR.js +0 -38
  497. package/dist/block.mds.expressionrank-BIAOZIZ3.js +0 -359
  498. package/dist/block.mds.geneboxplot-CNICDVLK.js +0 -828
  499. package/dist/block.mds.junction-PQXCTSUI.js +0 -1545
  500. package/dist/block.mds.svcnv-32KMVTCT.js +0 -6801
  501. package/dist/block.svg-LRTOYQK2.js +0 -164
  502. package/dist/block.tk.aicheck-HDV7ZIUD.js +0 -283
  503. package/dist/block.tk.ase-JIDWKMYI.js +0 -365
  504. package/dist/block.tk.bam-5X3OS5HB.js +0 -1906
  505. package/dist/block.tk.bedgraphdot-T7JX7YQL.js +0 -384
  506. package/dist/block.tk.bigwig.ui-OSAYEBAE.js +0 -212
  507. package/dist/block.tk.bigwig.ui-OSAYEBAE.js.map +0 -7
  508. package/dist/block.tk.hicstraw-DEY3VQFK.js +0 -823
  509. package/dist/block.tk.junction-7UAFEZSJ.js +0 -2364
  510. package/dist/block.tk.junction.textmatrixui-27LHS33U.js +0 -199
  511. package/dist/block.tk.ld-DF2PI7OO.js +0 -99
  512. package/dist/block.tk.menu-L2D5KBIV.js +0 -1029
  513. package/dist/block.tk.pgv-QO56SKBV.js +0 -944
  514. package/dist/brainImaging-NIPQWFWO.js +0 -423
  515. package/dist/brainImaging-NIPQWFWO.js.map +0 -7
  516. package/dist/brainRegions-ZNZ2WHSU.js +0 -221
  517. package/dist/bubbleHeatmap-ERWNEKZB.js +0 -383
  518. package/dist/bubbleHeatmap-ERWNEKZB.js.map +0 -7
  519. package/dist/chunk-2GYWFQML.js +0 -299
  520. package/dist/chunk-2HYJ4GDH.js +0 -50
  521. package/dist/chunk-2HYJ4GDH.js.map +0 -7
  522. package/dist/chunk-2MG6XE6R.js +0 -272
  523. package/dist/chunk-2MG6XE6R.js.map +0 -7
  524. package/dist/chunk-2X6W4E3W.js +0 -1507
  525. package/dist/chunk-2X6W4E3W.js.map +0 -7
  526. package/dist/chunk-33K5PA52.js +0 -54
  527. package/dist/chunk-37XDBPOP.js +0 -26
  528. package/dist/chunk-3EWB3246.js +0 -58
  529. package/dist/chunk-3RSKOPIY.js +0 -100
  530. package/dist/chunk-3XVVN66M.js +0 -4085
  531. package/dist/chunk-4DPVT4NE.js +0 -1102
  532. package/dist/chunk-4IH7DORZ.js +0 -98
  533. package/dist/chunk-4QNBFIIR.js +0 -399
  534. package/dist/chunk-4QNBFIIR.js.map +0 -7
  535. package/dist/chunk-4STKL6SR.js +0 -217
  536. package/dist/chunk-4TZIVSL5.js +0 -34
  537. package/dist/chunk-4TZIVSL5.js.map +0 -7
  538. package/dist/chunk-5ABGFJSP.js +0 -467
  539. package/dist/chunk-5AZNP47R.js +0 -302
  540. package/dist/chunk-5RL2OHXX.js +0 -5070
  541. package/dist/chunk-5RL2OHXX.js.map +0 -7
  542. package/dist/chunk-5VOPABBA.js +0 -20941
  543. package/dist/chunk-5VOPABBA.js.map +0 -7
  544. package/dist/chunk-6BB43SIB.js +0 -102
  545. package/dist/chunk-6BB43SIB.js.map +0 -7
  546. package/dist/chunk-7IYJZZQI.js +0 -167
  547. package/dist/chunk-7IYJZZQI.js.map +0 -7
  548. package/dist/chunk-7OHRR2IE.js +0 -276
  549. package/dist/chunk-ARBHWDMY.js +0 -226
  550. package/dist/chunk-ARBHWDMY.js.map +0 -7
  551. package/dist/chunk-ASATD4T7.js +0 -14
  552. package/dist/chunk-AZ47Q7BX.js +0 -1223
  553. package/dist/chunk-AZ47Q7BX.js.map +0 -7
  554. package/dist/chunk-B5B3LZB3.js +0 -236
  555. package/dist/chunk-B5B3LZB3.js.map +0 -7
  556. package/dist/chunk-BHGISFCA.js +0 -2681
  557. package/dist/chunk-BHGISFCA.js.map +0 -7
  558. package/dist/chunk-BMBOZ64T.js +0 -2786
  559. package/dist/chunk-BMBOZ64T.js.map +0 -7
  560. package/dist/chunk-BOZJHPJP.js +0 -216
  561. package/dist/chunk-CDD7LYJM.js +0 -194
  562. package/dist/chunk-CDD7LYJM.js.map +0 -7
  563. package/dist/chunk-CTQ3IUCA.js +0 -2327
  564. package/dist/chunk-D7TID3HR.js +0 -158
  565. package/dist/chunk-D7TID3HR.js.map +0 -7
  566. package/dist/chunk-DBKNWR4J.js +0 -1561
  567. package/dist/chunk-DBKNWR4J.js.map +0 -7
  568. package/dist/chunk-E55LLYRX.js +0 -55
  569. package/dist/chunk-ESEQBXTM.js +0 -121
  570. package/dist/chunk-ESEQBXTM.js.map +0 -7
  571. package/dist/chunk-ESGXULRH.js +0 -386
  572. package/dist/chunk-ESGXULRH.js.map +0 -7
  573. package/dist/chunk-EZ4LZ6ZT.js +0 -117
  574. package/dist/chunk-EZ4LZ6ZT.js.map +0 -7
  575. package/dist/chunk-F3SJTVP5.js +0 -4284
  576. package/dist/chunk-F3SJTVP5.js.map +0 -7
  577. package/dist/chunk-F5IXNJO7.js +0 -222
  578. package/dist/chunk-FJYECRHW.js +0 -448
  579. package/dist/chunk-FJYECRHW.js.map +0 -7
  580. package/dist/chunk-FPNRUQOU.js +0 -833
  581. package/dist/chunk-FPNRUQOU.js.map +0 -7
  582. package/dist/chunk-G5S4R77D.js +0 -1942
  583. package/dist/chunk-G5S4R77D.js.map +0 -7
  584. package/dist/chunk-G764NXQN.js +0 -170
  585. package/dist/chunk-G764NXQN.js.map +0 -7
  586. package/dist/chunk-GAPI4MML.js +0 -148
  587. package/dist/chunk-HBW42TDT.js +0 -132
  588. package/dist/chunk-HBW42TDT.js.map +0 -7
  589. package/dist/chunk-HLUZOZXJ.js +0 -272
  590. package/dist/chunk-HOKIK2FR.js +0 -375
  591. package/dist/chunk-HOKIK2FR.js.map +0 -7
  592. package/dist/chunk-I6WR4CG7.js +0 -323
  593. package/dist/chunk-I6WR4CG7.js.map +0 -7
  594. package/dist/chunk-K5XPMCKP.js +0 -135
  595. package/dist/chunk-KI5KI3ZJ.js +0 -276
  596. package/dist/chunk-KI5KI3ZJ.js.map +0 -7
  597. package/dist/chunk-KLGL6XZD.js +0 -129
  598. package/dist/chunk-KYBIQBXE.js +0 -1628
  599. package/dist/chunk-L7IRWUKT.js +0 -480
  600. package/dist/chunk-LFCYMSVA.js +0 -314
  601. package/dist/chunk-LX6G7HJJ.js +0 -617
  602. package/dist/chunk-LX6G7HJJ.js.map +0 -7
  603. package/dist/chunk-M2G5R4WB.js +0 -142
  604. package/dist/chunk-M4TTGGT4.js +0 -102
  605. package/dist/chunk-M4TTGGT4.js.map +0 -7
  606. package/dist/chunk-M6EF3WVV.js +0 -1825
  607. package/dist/chunk-M6EF3WVV.js.map +0 -7
  608. package/dist/chunk-M6KHT3MM.js +0 -146
  609. package/dist/chunk-M6KHT3MM.js.map +0 -7
  610. package/dist/chunk-MCZFHWIR.js +0 -230
  611. package/dist/chunk-MFQACKYU.js +0 -448
  612. package/dist/chunk-MFQACKYU.js.map +0 -7
  613. package/dist/chunk-MVGAGTM3.js +0 -343
  614. package/dist/chunk-MVGAGTM3.js.map +0 -7
  615. package/dist/chunk-NELOT3NJ.js +0 -119
  616. package/dist/chunk-NELOT3NJ.js.map +0 -7
  617. package/dist/chunk-NRKMXULC.js +0 -54
  618. package/dist/chunk-NRKMXULC.js.map +0 -7
  619. package/dist/chunk-NSTL4MY2.js +0 -2110
  620. package/dist/chunk-NYRZNRG5.js +0 -177
  621. package/dist/chunk-NYRZNRG5.js.map +0 -7
  622. package/dist/chunk-OMR2DT66.js +0 -776
  623. package/dist/chunk-ONPKE6DC.js +0 -368
  624. package/dist/chunk-OXVLWQ6M.js +0 -556
  625. package/dist/chunk-OXVLWQ6M.js.map +0 -7
  626. package/dist/chunk-PFRWS4CR.js +0 -203
  627. package/dist/chunk-PJKQUXEN.js +0 -1275
  628. package/dist/chunk-Q2L44HK3.js +0 -6364
  629. package/dist/chunk-QNHT74XC.js +0 -1245
  630. package/dist/chunk-RKO6BL5N.js +0 -446
  631. package/dist/chunk-T25QNZHB.js +0 -254
  632. package/dist/chunk-U7TBYVIQ.js +0 -31
  633. package/dist/chunk-UGRQXBL4.js +0 -381
  634. package/dist/chunk-USFSHSCJ.js +0 -477
  635. package/dist/chunk-USFSHSCJ.js.map +0 -7
  636. package/dist/chunk-VJ6UFVGC.js +0 -2833
  637. package/dist/chunk-VJ6UFVGC.js.map +0 -7
  638. package/dist/chunk-W3WPPOXH.js +0 -292
  639. package/dist/chunk-WFCSOTBO.js +0 -263
  640. package/dist/chunk-WHP4AKDM.js +0 -185
  641. package/dist/chunk-WHP4AKDM.js.map +0 -7
  642. package/dist/chunk-WZ2L57MB.js +0 -102
  643. package/dist/chunk-XPY6AWXO.js +0 -787
  644. package/dist/chunk-Y4UAKFWC.js +0 -37
  645. package/dist/chunk-Y4UAKFWC.js.map +0 -7
  646. package/dist/chunk-YQBS2ZCK.js +0 -514
  647. package/dist/chunk-Z5U6HOE4.js +0 -190
  648. package/dist/chunk-Z5U6HOE4.js.map +0 -7
  649. package/dist/chunk-ZNEJUKJW.js +0 -140
  650. package/dist/chunk-ZTHM2TKP.js +0 -176
  651. package/dist/condition-2PASYSUC.js +0 -332
  652. package/dist/controls-5IMJ6K5L.js +0 -41
  653. package/dist/controls.config-P5PG2DHW.js +0 -39
  654. package/dist/correlation-U3EDLNHR.js +0 -102
  655. package/dist/cuminc-2HUFEROK.js +0 -1149
  656. package/dist/cuminc-2HUFEROK.js.map +0 -7
  657. package/dist/cuminc.integration.spec-WFWAPTDA.js +0 -678
  658. package/dist/customdata.inputui-ZHWNEPFH.js +0 -289
  659. package/dist/dataDownload-VBSJBKMP.js +0 -330
  660. package/dist/dataDownload.integration.spec-LUFSETOP.js +0 -193
  661. package/dist/databrowser.ui-6H2KMSTJ.js +0 -433
  662. package/dist/databrowser.ui-6H2KMSTJ.js.map +0 -7
  663. package/dist/dictionary-V37LXFIP.js +0 -118
  664. package/dist/dnaMethylation-OIZMHMLK.js +0 -38
  665. package/dist/dnaMethylation.integration.spec-CWPTJ74H.js +0 -203
  666. package/dist/dnaMethylation.integration.spec-CWPTJ74H.js.map +0 -7
  667. package/dist/dofetch-IWPZQB5N.js +0 -51
  668. package/dist/e2pca-7SLIAGYW.js +0 -350
  669. package/dist/ep-7L6KF6K4.js +0 -1256
  670. package/dist/expclust.gdc.spec-JT452Q3G.js +0 -307
  671. package/dist/facet-CXOUU5AS.js +0 -521
  672. package/dist/facet-CXOUU5AS.js.map +0 -7
  673. package/dist/forms2-VPNCLQOY.js +0 -539
  674. package/dist/forms2-VPNCLQOY.js.map +0 -7
  675. package/dist/gb-P4VRXRED.js +0 -88
  676. package/dist/geneExpClustering-FQTCKRJJ.js +0 -249
  677. package/dist/geneExpClustering-FQTCKRJJ.js.map +0 -7
  678. package/dist/geneExpression-BHO5326K.js +0 -313
  679. package/dist/geneExpression-ZMERB64E.js +0 -38
  680. package/dist/geneExpression.unit.spec-CNVHZWNG.js +0 -102
  681. package/dist/geneExpression.unit.spec-CNVHZWNG.js.map +0 -7
  682. package/dist/geneORA-FXVUCXGX.js +0 -278
  683. package/dist/geneRanking-SFK4UBKQ.js +0 -553
  684. package/dist/geneVariant-IYEHB4H7.js +0 -41
  685. package/dist/geneVariant-LIRRLUFR.js +0 -39
  686. package/dist/geneVariant.integration.spec-Y2NPNTYX.js +0 -198
  687. package/dist/genefusion.ui-L3HIJM3N.js +0 -309
  688. package/dist/genefusion.ui-L3HIJM3N.js.map +0 -7
  689. package/dist/geneset-A6VUFX63.js +0 -208
  690. package/dist/genomeBrowser.spec-CB4HHHBN.js +0 -281
  691. package/dist/grin2-FKBIMH5N.js +0 -75
  692. package/dist/grin2-V36KLEBU.js +0 -1143
  693. package/dist/hierCluster-QFPRMHVA.js +0 -63
  694. package/dist/hierCluster-YWC3XYPV.js +0 -59
  695. package/dist/hierCluster.config-F7YYZNM3.js +0 -40
  696. package/dist/hierCluster.integration.spec-AF4L3YT6.js +0 -488
  697. package/dist/hierCluster.integration.spec-AF4L3YT6.js.map +0 -7
  698. package/dist/hierCluster.interactivity-RPY74PK6.js +0 -54
  699. package/dist/hierCluster.renderers-LOKHZ3V2.js +0 -21
  700. package/dist/imagePlot-BBEXA754.js +0 -163
  701. package/dist/importPlot-7QGANZGK.js +0 -8
  702. package/dist/isoformExpression-4SLLCVFD.js +0 -40
  703. package/dist/isoformExpression.unit.spec-GEL4JJ64.js +0 -208
  704. package/dist/isoformExpression.unit.spec-GEL4JJ64.js.map +0 -7
  705. package/dist/launch.adhoc-LWLBQJS5.js +0 -42
  706. package/dist/leftlabel.sample-RTEZOIH2.js +0 -264
  707. package/dist/leftlabel.sample-RTEZOIH2.js.map +0 -7
  708. package/dist/legacyDataset-VLD7ZYWI.js +0 -119
  709. package/dist/lollipop-XKQK5QZU.js +0 -171
  710. package/dist/maf-AZQPPWDO.js +0 -459
  711. package/dist/maftimeline-7MSVYKQU.js +0 -593
  712. package/dist/matrix-BGLWC25D.js +0 -58
  713. package/dist/matrix-IQR5SRMK.js +0 -63
  714. package/dist/matrix.cells-5C57NWOY.js +0 -28
  715. package/dist/matrix.config-2DQXAN2E.js +0 -41
  716. package/dist/matrix.data-ADCGF5H6.js +0 -25
  717. package/dist/matrix.groups-V4ITQ5F7.js +0 -27
  718. package/dist/matrix.integration.spec-IBNOO2WP.js +0 -3072
  719. package/dist/matrix.interactivity-JNELJFOV.js +0 -42
  720. package/dist/matrix.layout-WBVIV6GR.js +0 -44
  721. package/dist/matrix.legend-YHOWPK77.js +0 -22
  722. package/dist/matrix.renderers-5BGVRR3M.js +0 -38
  723. package/dist/matrix.serieses-2GZJOASZ.js +0 -21
  724. package/dist/matrix.sort-WKIWPJKP.js +0 -27
  725. package/dist/matrix.sort.unit.spec-L2E4D4AS.js +0 -472
  726. package/dist/matrix.sorterUi-TEJWWJ64.js +0 -18
  727. package/dist/matrix.sorterUi.unit.spec-SHP7C4P7.js +0 -342
  728. package/dist/mavb-4MXNYUEO.js +0 -732
  729. package/dist/mds.fimo-WHIJIBOI.js +0 -518
  730. package/dist/mds.samplescatterplot-BRJ6NG2D.js +0 -1550
  731. package/dist/mds.survivalplot-OPCMB5PB.js +0 -483
  732. package/dist/numericDictTermCluster-7MIFOP2K.js +0 -65
  733. package/dist/oncomatrix-BGG6BEUI.js +0 -295
  734. package/dist/oncomatrix.spec-LYQ4L4F3.js +0 -448
  735. package/dist/plot.2dvaf-6WVCP2ZI.js +0 -377
  736. package/dist/plot.app-MLBP6WFP.js +0 -41
  737. package/dist/plot.barplot-JEPRZSCU.js +0 -102
  738. package/dist/plot.boxplot-GNFW42VM.js +0 -152
  739. package/dist/plot.brainImaging-5ACNSD45.js +0 -51
  740. package/dist/plot.disco-Q2V2KKIH.js +0 -102
  741. package/dist/plot.dzi-KVT6S7K7.js +0 -33
  742. package/dist/plot.ssgq-4N3KFJQ2.js +0 -139
  743. package/dist/plot.vaf2cov-ITRG5U43.js +0 -259
  744. package/dist/plot.wsi-26YZNU4V.js +0 -36
  745. package/dist/polar2-J7GVUK4X.js +0 -231
  746. package/dist/polar2-J7GVUK4X.js.map +0 -7
  747. package/dist/profileForms-VXV2JLXU.js +0 -446
  748. package/dist/profileForms-VXV2JLXU.js.map +0 -7
  749. package/dist/profilePlot-ZZYZK4SY.js +0 -54
  750. package/dist/proteinView-7KN532D3.js +0 -1568
  751. package/dist/proteinView-7KN532D3.js.map +0 -7
  752. package/dist/qualitative-MLRVLIAU.js +0 -43
  753. package/dist/radar2-WM2ZBOH3.js +0 -326
  754. package/dist/radar2-WM2ZBOH3.js.map +0 -7
  755. package/dist/radarFacility2-3SBR2JJ3.js +0 -334
  756. package/dist/radarFacility2-3SBR2JJ3.js.map +0 -7
  757. package/dist/regression-WMRPQJW2.js +0 -56
  758. package/dist/regression.inputs-VWZKSYNY.js +0 -48
  759. package/dist/regression.inputs.term-OWE6GWHM.js +0 -48
  760. package/dist/regression.inputs.values.table-4INNZQI2.js +0 -45
  761. package/dist/regression.integration.spec-XKQ2JOOT.js +0 -784
  762. package/dist/regression.results-VZBYMBYC.js +0 -40
  763. package/dist/regression.spec-DU3UTDCJ.js +0 -708
  764. package/dist/render-N5FOF247.js +0 -38
  765. package/dist/report-DW3OHB67.js +0 -222
  766. package/dist/sampleScatter.spec-REFSK2V4.js +0 -202
  767. package/dist/sampleScatter.spec-REFSK2V4.js.map +0 -7
  768. package/dist/sampleView-ICOT2R6O.js +0 -48
  769. package/dist/samplelst-TJEVASYG.js +0 -111
  770. package/dist/samplematrix-6DAWCXQ3.js +0 -2198
  771. package/dist/sc-53LNOB7N.js +0 -86
  772. package/dist/scatter-DKYSS4DL.js +0 -851
  773. package/dist/selectGenomeWithTklst-WTX66TV3.js +0 -134
  774. package/dist/singleCellCellType-D2CN2BHQ.js +0 -38
  775. package/dist/singleCellCellType.unit.spec-LADUCI4R.js +0 -160
  776. package/dist/singleCellCellType.unit.spec-LADUCI4R.js.map +0 -7
  777. package/dist/singleCellGeneExpression-YR2ZT34W.js +0 -38
  778. package/dist/singleCellGeneExpression.unit.spec-BM63M432.js +0 -153
  779. package/dist/singleCellGeneExpression.unit.spec-BM63M432.js.map +0 -7
  780. package/dist/singleCellPlot-3ICIOILE.js +0 -54
  781. package/dist/singlecell-6ZUFA3BQ.js +0 -86
  782. package/dist/singlecell-KX7W4U57.js +0 -1572
  783. package/dist/snp-VIURB7L3.js +0 -38
  784. package/dist/snp.unit.spec-ACZNZUNS.js +0 -176
  785. package/dist/snplocus-3LW4ZUZR.js +0 -208
  786. package/dist/spliceevent.a53ss.diagram-AKTZGWNM.js +0 -151
  787. package/dist/spliceevent.exonskip.diagram-XZHXB77R.js +0 -283
  788. package/dist/spliceevent.noeventdiagram-YTXWWNTJ.js +0 -460
  789. package/dist/ssGSEA-THW4WFMI.js +0 -38
  790. package/dist/ssGSEA.unit.spec-HTRGQI2K.js +0 -88
  791. package/dist/summarizeCnvGeneexp-RFYC3H2Z.js +0 -163
  792. package/dist/summarizeGeneexpSurvival-DQBZUTQ6.js +0 -114
  793. package/dist/summarizeGeneexpSurvival-DQBZUTQ6.js.map +0 -7
  794. package/dist/summarizeMutationCnv-7AYEMHAI.js +0 -164
  795. package/dist/summarizeMutationDiagnosis-AKFJDSAF.js +0 -40
  796. package/dist/summarizeMutationSurvival-QJHZRQBZ.js +0 -99
  797. package/dist/summary-A5P7AYK4.js +0 -49
  798. package/dist/summary.integration.spec-HQISXGNL.js +0 -414
  799. package/dist/summaryInput-HP675QOQ.js +0 -235
  800. package/dist/summaryInput-HP675QOQ.js.map +0 -7
  801. package/dist/sunburst-65LSYRXX.js +0 -284
  802. package/dist/survival-QNEI6YVK.js +0 -46
  803. package/dist/survival-UI74VXSM.js +0 -58
  804. package/dist/survival.integration.spec-X5N3JQXS.js +0 -915
  805. package/dist/survival.integration.spec-X5N3JQXS.js.map +0 -7
  806. package/dist/svgraph-PSX2NER3.js +0 -1387
  807. package/dist/svmr-QDQ33EFX.js +0 -3842
  808. package/dist/table-LWAI27UO.js +0 -200
  809. package/dist/termCollection-3JHR74FG.js +0 -179
  810. package/dist/termCollection-3JHR74FG.js.map +0 -7
  811. package/dist/termCollection-CDF5LYUG.js +0 -38
  812. package/dist/termCollection.unit.spec-HOJKYWHF.js +0 -208
  813. package/dist/termCollection.unit.spec-HOJKYWHF.js.map +0 -7
  814. package/dist/tk-GL4QCL4K.js +0 -1019
  815. package/dist/tk-GL4QCL4K.js.map +0 -7
  816. package/dist/tk-OEQFO73V.js +0 -46
  817. package/dist/toggleButtons-YK7TIFF2.js +0 -9
  818. package/dist/tp.ui-SHNERDGC.js +0 -1459
  819. package/dist/tvs.density-3XJ6DBGO.js +0 -18
  820. package/dist/tvs.dt-CZDC4TSR.js +0 -39
  821. package/dist/tvs.dtcnv.categorical-OPBDHZGB.js +0 -40
  822. package/dist/tvs.dtcnv.continuous-AR6P4EP3.js +0 -72
  823. package/dist/tvs.dtfusion-2YQ7N6FQ.js +0 -40
  824. package/dist/tvs.dtitd-ATCHW735.js +0 -40
  825. package/dist/tvs.dtsnvindel-WHHWAATJ.js +0 -40
  826. package/dist/tvs.dtsv-3UMCW65O.js +0 -40
  827. package/dist/tvs.numeric-TOEPASWN.js +0 -21
  828. package/dist/tvs.samplelst-M7XKXRTZ.js +0 -104
  829. package/dist/tvs.termCollection-WT4WZMYR.js +0 -159
  830. package/dist/tvs.termCollection-WT4WZMYR.js.map +0 -7
  831. package/dist/violin-2YGXTBDS.js +0 -46
  832. package/dist/violin.integration.spec-YWNHVAGS.js +0 -1425
  833. package/dist/violin.integration.spec-YWNHVAGS.js.map +0 -7
  834. package/dist/violin.interactivity-J6BE2UQL.js +0 -38
  835. package/dist/violin.renderer-3GRUWP2U.js +0 -40
  836. package/dist/vocabulary-2INCVPYJ.js +0 -41
  837. /package/dist/{2dmaf-R3PFZNRN.js.map → 2dmaf-RRV3ORZR.js.map} +0 -0
  838. /package/dist/{AIProjectAdmin-DM3KG6SR.js.map → AIProjectAdmin-DKLEFCGX.js.map} +0 -0
  839. /package/dist/{AppHeader-6DZQ6YZX.js.map → AppHeader-WQ2F7HZY.js.map} +0 -0
  840. /package/dist/{CorrelationVolcano-U5UMJNH5.js.map → CorrelationVolcano-HR6IP2SZ.js.map} +0 -0
  841. /package/dist/{DE-AXNYWIQK.js.map → DE-DAW6ZKM7.js.map} +0 -0
  842. /package/dist/{Disco-NVMLF3BK.js.map → Disco-QEBEVQS2.js.map} +0 -0
  843. /package/dist/{DmrPlot-WROR4ENM.js.map → DmrPlot-CWBQDZL7.js.map} +0 -0
  844. /package/dist/{GSEA-Y5R2THIJ.js.map → GSEA-6UKMI6GY.js.map} +0 -0
  845. /package/dist/{Geomap-J763OK2F.js.map → Geomap-ANMR32HE.js.map} +0 -0
  846. /package/dist/{HicApp-UNIJLH4B.js.map → HicApp-WHPUPHEM.js.map} +0 -0
  847. /package/dist/{NumBinaryEditor-WMN2GGO4.js.map → NumBinaryEditor-VG5KOGDA.js.map} +0 -0
  848. /package/dist/{NumBinaryEditor.unit.spec-TAMXV6SE.js.map → NumBinaryEditor.unit.spec-UCGFZS3P.js.map} +0 -0
  849. /package/dist/{NumContEditor-XYIOJY4E.js.map → NumContEditor-J52RON3G.js.map} +0 -0
  850. /package/dist/{NumContEditor.unit.spec-WDZ75BHO.js.map → NumContEditor.unit.spec-5GTWUJEL.js.map} +0 -0
  851. /package/dist/{NumCustomBinEditor-5SY3C4TY.js.map → NumCustomBinEditor-GM2OJMOX.js.map} +0 -0
  852. /package/dist/{NumCustomBinEditor.unit.spec-XHTAIXR3.js.map → NumCustomBinEditor.unit.spec-3PGJ25J4.js.map} +0 -0
  853. /package/dist/{NumDiscreteEditor-NRDRX4FD.js.map → NumDiscreteEditor-2CAKT3Y4.js.map} +0 -0
  854. /package/dist/{NumDiscreteEditor.unit.spec-2CJW7OAT.js.map → NumDiscreteEditor.unit.spec-XCWSJTRT.js.map} +0 -0
  855. /package/dist/{NumRegularBinEditor-DUDVTNDC.js.map → NumRegularBinEditor-CZYITY5L.js.map} +0 -0
  856. /package/dist/{NumRegularBinEditor.unit.spec-H3GNQHMN.js.map → NumRegularBinEditor.unit.spec-OUBZ5XB3.js.map} +0 -0
  857. /package/dist/{NumSplineEditor-7Q4AC7KH.js.map → NumSplineEditor-TWRL5AQQ.js.map} +0 -0
  858. /package/dist/{NumSplineEditor.unit.spec-YRZK5PH5.js.map → NumSplineEditor.unit.spec-5P6NQZ3N.js.map} +0 -0
  859. /package/dist/{NumericDensity-NTNWUESG.js.map → NumericDensity-JSOFOEH2.js.map} +0 -0
  860. /package/dist/{NumericDensity.unit.spec-5I5U6T6P.js.map → NumericDensity.unit.spec-REUKHMKK.js.map} +0 -0
  861. /package/dist/{NumericHandler-MEW2KMPX.js.map → NumericHandler-UZOGKPKB.js.map} +0 -0
  862. /package/dist/{NumericHandler.unit.spec-JFX4BPRG.js.map → NumericHandler.unit.spec-X2DAED4O.js.map} +0 -0
  863. /package/dist/{WSIViewer-ZLQU62PD.js.map → WSIViewer-UDA4WIRT.js.map} +0 -0
  864. /package/dist/{WsiSamplesPlot-JMBSITOM.js.map → WsiSamplesPlot-DYSFMD22.js.map} +0 -0
  865. /package/dist/{adSandbox-664IRCRL.js.map → adSandbox-5BUDCAER.js.map} +0 -0
  866. /package/dist/{app-63WJ3BMP.js.map → app-O64TGDFH.js.map} +0 -0
  867. /package/dist/{app-77FIZHCG.js.map → app-Y2STUISK.js.map} +0 -0
  868. /package/dist/{barchart-YUVXJNH4.js.map → barchart-UHCTYRMJ.js.map} +0 -0
  869. /package/dist/{barchart.data-P4EIQXGE.js.map → barchart.data-LSK2P2PR.js.map} +0 -0
  870. /package/dist/{barchart.events-JPVCLTIG.js.map → barchart.events-Y4H2GADS.js.map} +0 -0
  871. /package/dist/{barchart2-XO2FG76J.js.map → barchart2-VIZKZRMP.js.map} +0 -0
  872. /package/dist/{bars.renderer-AUIWUJDH.js.map → bars.renderer-54UCFLJS.js.map} +0 -0
  873. /package/dist/{block-NBTCOT3H.js.map → block-BGSSF6XP.js.map} +0 -0
  874. /package/dist/{block.init-X7Y2EEVR.js.map → block.init-H7RKUIHG.js.map} +0 -0
  875. /package/dist/{block.mds.expressionrank-BIAOZIZ3.js.map → block.mds.expressionrank-MA3HGT7S.js.map} +0 -0
  876. /package/dist/{block.mds.geneboxplot-CNICDVLK.js.map → block.mds.geneboxplot-CWT5DM5T.js.map} +0 -0
  877. /package/dist/{block.mds.junction-PQXCTSUI.js.map → block.mds.junction-P4I7O73X.js.map} +0 -0
  878. /package/dist/{block.mds.svcnv-32KMVTCT.js.map → block.mds.svcnv-NSPEY43S.js.map} +0 -0
  879. /package/dist/{block.svg-LRTOYQK2.js.map → block.svg-DP4G3LNQ.js.map} +0 -0
  880. /package/dist/{block.tk.aicheck-HDV7ZIUD.js.map → block.tk.aicheck-EBLTOWKZ.js.map} +0 -0
  881. /package/dist/{block.tk.ase-JIDWKMYI.js.map → block.tk.ase-X7WKQOFS.js.map} +0 -0
  882. /package/dist/{block.tk.bam-5X3OS5HB.js.map → block.tk.bam-OIP3TS3N.js.map} +0 -0
  883. /package/dist/{block.tk.bedgraphdot-T7JX7YQL.js.map → block.tk.bedgraphdot-2DDF55J3.js.map} +0 -0
  884. /package/dist/{block.tk.hicstraw-DEY3VQFK.js.map → block.tk.hicstraw-4OIG4TBZ.js.map} +0 -0
  885. /package/dist/{block.tk.junction-7UAFEZSJ.js.map → block.tk.junction-52OWEQUN.js.map} +0 -0
  886. /package/dist/{block.tk.junction.textmatrixui-27LHS33U.js.map → block.tk.junction.textmatrixui-64YOSZLW.js.map} +0 -0
  887. /package/dist/{block.tk.ld-DF2PI7OO.js.map → block.tk.ld-3AMNHBDY.js.map} +0 -0
  888. /package/dist/{block.tk.menu-L2D5KBIV.js.map → block.tk.menu-4724DJXL.js.map} +0 -0
  889. /package/dist/{block.tk.pgv-QO56SKBV.js.map → block.tk.pgv-2SIOPWYI.js.map} +0 -0
  890. /package/dist/{brainRegions-ZNZ2WHSU.js.map → brainRegions-HJ2VGL3L.js.map} +0 -0
  891. /package/dist/{chunk-T25QNZHB.js.map → chunk-26APRXD3.js.map} +0 -0
  892. /package/dist/{chunk-3XVVN66M.js.map → chunk-2KXLYFAO.js.map} +0 -0
  893. /package/dist/{chunk-PJKQUXEN.js.map → chunk-3BGFM7Q4.js.map} +0 -0
  894. /package/dist/{chunk-KLGL6XZD.js.map → chunk-4HZN6PMU.js.map} +0 -0
  895. /package/dist/{chunk-4IH7DORZ.js.map → chunk-5DMVORBB.js.map} +0 -0
  896. /package/dist/{chunk-QNHT74XC.js.map → chunk-5QMBB4SK.js.map} +0 -0
  897. /package/dist/{chunk-KYBIQBXE.js.map → chunk-5R63Q5KH.js.map} +0 -0
  898. /package/dist/{chunk-RKO6BL5N.js.map → chunk-6JYQGZ3Y.js.map} +0 -0
  899. /package/dist/{chunk-5ABGFJSP.js.map → chunk-6QCYT6G2.js.map} +0 -0
  900. /package/dist/{chunk-ZNEJUKJW.js.map → chunk-B4ESQLPB.js.map} +0 -0
  901. /package/dist/{chunk-UGRQXBL4.js.map → chunk-E3VF4RHJ.js.map} +0 -0
  902. /package/dist/{chunk-W3WPPOXH.js.map → chunk-EGPNRSPF.js.map} +0 -0
  903. /package/dist/{chunk-M2G5R4WB.js.map → chunk-FACITNG5.js.map} +0 -0
  904. /package/dist/{chunk-CTQ3IUCA.js.map → chunk-H3N4KYKL.js.map} +0 -0
  905. /package/dist/{chunk-ASATD4T7.js.map → chunk-H3VWJH4U.js.map} +0 -0
  906. /package/dist/{chunk-F5IXNJO7.js.map → chunk-HEVKBSN6.js.map} +0 -0
  907. /package/dist/{chunk-YQBS2ZCK.js.map → chunk-HQUYAZQY.js.map} +0 -0
  908. /package/dist/{chunk-37XDBPOP.js.map → chunk-J4USU73L.js.map} +0 -0
  909. /package/dist/{chunk-K5XPMCKP.js.map → chunk-JH73IL4C.js.map} +0 -0
  910. /package/dist/{chunk-4STKL6SR.js.map → chunk-KU7YH7MV.js.map} +0 -0
  911. /package/dist/{chunk-HLUZOZXJ.js.map → chunk-M66VDGSH.js.map} +0 -0
  912. /package/dist/{chunk-5AZNP47R.js.map → chunk-MJN6RDXB.js.map} +0 -0
  913. /package/dist/{chunk-U7TBYVIQ.js.map → chunk-MPNEZ6EL.js.map} +0 -0
  914. /package/dist/{chunk-LFCYMSVA.js.map → chunk-MPSLUEI4.js.map} +0 -0
  915. /package/dist/{chunk-ONPKE6DC.js.map → chunk-NIXFCC7X.js.map} +0 -0
  916. /package/dist/{chunk-7OHRR2IE.js.map → chunk-NODQZTWK.js.map} +0 -0
  917. /package/dist/{chunk-4DPVT4NE.js.map → chunk-NVTJ5AUT.js.map} +0 -0
  918. /package/dist/{chunk-E55LLYRX.js.map → chunk-OOWXMY7U.js.map} +0 -0
  919. /package/dist/{chunk-XPY6AWXO.js.map → chunk-OTTMHVYH.js.map} +0 -0
  920. /package/dist/{chunk-OMR2DT66.js.map → chunk-Q5RDQNIT.js.map} +0 -0
  921. /package/dist/{chunk-3EWB3246.js.map → chunk-QDX2XUNF.js.map} +0 -0
  922. /package/dist/{chunk-WZ2L57MB.js.map → chunk-ROMW4AK2.js.map} +0 -0
  923. /package/dist/{chunk-MCZFHWIR.js.map → chunk-RR5U35N7.js.map} +0 -0
  924. /package/dist/{chunk-GAPI4MML.js.map → chunk-RVKADD4L.js.map} +0 -0
  925. /package/dist/{chunk-33K5PA52.js.map → chunk-S5ZCK44Z.js.map} +0 -0
  926. /package/dist/{chunk-ZTHM2TKP.js.map → chunk-SNRIVNQ3.js.map} +0 -0
  927. /package/dist/{chunk-WFCSOTBO.js.map → chunk-TAM7UCAI.js.map} +0 -0
  928. /package/dist/{chunk-NSTL4MY2.js.map → chunk-UJELJXJG.js.map} +0 -0
  929. /package/dist/{chunk-L7IRWUKT.js.map → chunk-ULESDMUT.js.map} +0 -0
  930. /package/dist/{chunk-3RSKOPIY.js.map → chunk-W76X6W73.js.map} +0 -0
  931. /package/dist/{chunk-PFRWS4CR.js.map → chunk-W7OS7BNM.js.map} +0 -0
  932. /package/dist/{chunk-Q2L44HK3.js.map → chunk-WTTD6DUL.js.map} +0 -0
  933. /package/dist/{chunk-2GYWFQML.js.map → chunk-WXPFMVU6.js.map} +0 -0
  934. /package/dist/{chunk-BOZJHPJP.js.map → chunk-YBLTSYQV.js.map} +0 -0
  935. /package/dist/{condition-2PASYSUC.js.map → condition-L2IXP6WH.js.map} +0 -0
  936. /package/dist/{controls-5IMJ6K5L.js.map → controls-2S5QVWUC.js.map} +0 -0
  937. /package/dist/{controls.config-P5PG2DHW.js.map → controls.config-3AJKR4ZZ.js.map} +0 -0
  938. /package/dist/{correlation-U3EDLNHR.js.map → correlation-DXTAWSLU.js.map} +0 -0
  939. /package/dist/{cuminc.integration.spec-WFWAPTDA.js.map → cuminc.integration.spec-WAYRLHUH.js.map} +0 -0
  940. /package/dist/{customdata.inputui-ZHWNEPFH.js.map → customdata.inputui-7WH2NJGB.js.map} +0 -0
  941. /package/dist/{dataDownload-VBSJBKMP.js.map → dataDownload-HM4UYOBO.js.map} +0 -0
  942. /package/dist/{dataDownload.integration.spec-LUFSETOP.js.map → dataDownload.integration.spec-F5CO4BWA.js.map} +0 -0
  943. /package/dist/{dictionary-V37LXFIP.js.map → dictionary-EEPTFDYD.js.map} +0 -0
  944. /package/dist/{dnaMethylation-OIZMHMLK.js.map → dnaMethylation-N3WNK6XA.js.map} +0 -0
  945. /package/dist/{dofetch-IWPZQB5N.js.map → dofetch-YKYPEJTQ.js.map} +0 -0
  946. /package/dist/{e2pca-7SLIAGYW.js.map → e2pca-JEZIGVB2.js.map} +0 -0
  947. /package/dist/{ep-7L6KF6K4.js.map → ep-5FMH2MLV.js.map} +0 -0
  948. /package/dist/{expclust.gdc.spec-JT452Q3G.js.map → expclust.gdc.spec-FR26VSUA.js.map} +0 -0
  949. /package/dist/{gb-P4VRXRED.js.map → gb-WGEVO7L2.js.map} +0 -0
  950. /package/dist/{geneExpression-BHO5326K.js.map → geneExpression-5NWQXMJ3.js.map} +0 -0
  951. /package/dist/{geneExpression-ZMERB64E.js.map → geneExpression-VWUMM2LU.js.map} +0 -0
  952. /package/dist/{geneORA-FXVUCXGX.js.map → geneORA-3VWFWDYI.js.map} +0 -0
  953. /package/dist/{geneRanking-SFK4UBKQ.js.map → geneRanking-PKDVD5OD.js.map} +0 -0
  954. /package/dist/{geneVariant-IYEHB4H7.js.map → geneVariant-IFIJQXH4.js.map} +0 -0
  955. /package/dist/{geneVariant-LIRRLUFR.js.map → geneVariant-WZSOG4GI.js.map} +0 -0
  956. /package/dist/{geneVariant.integration.spec-Y2NPNTYX.js.map → geneVariant.integration.spec-6KQMWVHR.js.map} +0 -0
  957. /package/dist/{geneset-A6VUFX63.js.map → geneset-RJAULSKC.js.map} +0 -0
  958. /package/dist/{genomeBrowser.spec-CB4HHHBN.js.map → genomeBrowser.spec-42OTTMGO.js.map} +0 -0
  959. /package/dist/{grin2-FKBIMH5N.js.map → grin2-26O6YDDY.js.map} +0 -0
  960. /package/dist/{grin2-V36KLEBU.js.map → grin2-FT5BQJMB.js.map} +0 -0
  961. /package/dist/{hierCluster-QFPRMHVA.js.map → hierCluster-GJPPMFNR.js.map} +0 -0
  962. /package/dist/{hierCluster-YWC3XYPV.js.map → hierCluster-HMJF3PBE.js.map} +0 -0
  963. /package/dist/{hierCluster.config-F7YYZNM3.js.map → hierCluster.config-TAS7XKTU.js.map} +0 -0
  964. /package/dist/{hierCluster.interactivity-RPY74PK6.js.map → hierCluster.interactivity-IKTAJ6CU.js.map} +0 -0
  965. /package/dist/{hierCluster.renderers-LOKHZ3V2.js.map → hierCluster.renderers-I6WFZRNW.js.map} +0 -0
  966. /package/dist/{imagePlot-BBEXA754.js.map → imagePlot-N4OXNMVA.js.map} +0 -0
  967. /package/dist/{importPlot-7QGANZGK.js.map → importPlot-VMYXDP66.js.map} +0 -0
  968. /package/dist/{isoformExpression-4SLLCVFD.js.map → isoformExpression-2KV64KMN.js.map} +0 -0
  969. /package/dist/{launch.adhoc-LWLBQJS5.js.map → junction-VO4IGMW2.js.map} +0 -0
  970. /package/dist/{matrix-BGLWC25D.js.map → junction.customTerm-EFMHHVWA.js.map} +0 -0
  971. /package/dist/{matrix-IQR5SRMK.js.map → launch.adhoc-R3MO3VXK.js.map} +0 -0
  972. /package/dist/{legacyDataset-VLD7ZYWI.js.map → legacyDataset-4BXYHQTS.js.map} +0 -0
  973. /package/dist/{lollipop-XKQK5QZU.js.map → lollipop-XIVE4ANX.js.map} +0 -0
  974. /package/dist/{maf-AZQPPWDO.js.map → maf-WRHD4OJF.js.map} +0 -0
  975. /package/dist/{maftimeline-7MSVYKQU.js.map → maftimeline-IE6YKV7Y.js.map} +0 -0
  976. /package/dist/{matrix.cells-5C57NWOY.js.map → matrix-ALBCAZP5.js.map} +0 -0
  977. /package/dist/{matrix.config-2DQXAN2E.js.map → matrix-W72XRUZD.js.map} +0 -0
  978. /package/dist/{matrix.data-ADCGF5H6.js.map → matrix.cells-DEEUWC74.js.map} +0 -0
  979. /package/dist/{matrix.groups-V4ITQ5F7.js.map → matrix.config-JYXQOXDT.js.map} +0 -0
  980. /package/dist/{matrix.interactivity-JNELJFOV.js.map → matrix.data-ENXNM6RP.js.map} +0 -0
  981. /package/dist/{matrix.layout-WBVIV6GR.js.map → matrix.groups-EXSNNESB.js.map} +0 -0
  982. /package/dist/{matrix.integration.spec-IBNOO2WP.js.map → matrix.integration.spec-BW6U6PIW.js.map} +0 -0
  983. /package/dist/{matrix.legend-YHOWPK77.js.map → matrix.interactivity-G6AL566T.js.map} +0 -0
  984. /package/dist/{matrix.renderers-5BGVRR3M.js.map → matrix.layout-UBUPIJ3R.js.map} +0 -0
  985. /package/dist/{matrix.serieses-2GZJOASZ.js.map → matrix.legend-S3P4F2DG.js.map} +0 -0
  986. /package/dist/{matrix.sort-WKIWPJKP.js.map → matrix.renderers-IXFGXHJQ.js.map} +0 -0
  987. /package/dist/{matrix.sorterUi-TEJWWJ64.js.map → matrix.serieses-THHXUAPM.js.map} +0 -0
  988. /package/dist/{plot.app-MLBP6WFP.js.map → matrix.sort-WJV6LIZI.js.map} +0 -0
  989. /package/dist/{matrix.sort.unit.spec-L2E4D4AS.js.map → matrix.sort.unit.spec-LGMIL2LR.js.map} +0 -0
  990. /package/dist/{profilePlot-ZZYZK4SY.js.map → matrix.sorterUi-VXVCOKEZ.js.map} +0 -0
  991. /package/dist/{matrix.sorterUi.unit.spec-SHP7C4P7.js.map → matrix.sorterUi.unit.spec-CWSEJ62U.js.map} +0 -0
  992. /package/dist/{mavb-4MXNYUEO.js.map → mavb-SXGKASQ5.js.map} +0 -0
  993. /package/dist/{mds.fimo-WHIJIBOI.js.map → mds.fimo-EDOT3TDN.js.map} +0 -0
  994. /package/dist/{mds.samplescatterplot-BRJ6NG2D.js.map → mds.samplescatterplot-IXHNABKB.js.map} +0 -0
  995. /package/dist/{mds.survivalplot-OPCMB5PB.js.map → mds.survivalplot-KTTMHHII.js.map} +0 -0
  996. /package/dist/{numericDictTermCluster-7MIFOP2K.js.map → numericDictTermCluster-H4JSPW22.js.map} +0 -0
  997. /package/dist/{oncomatrix-BGG6BEUI.js.map → oncomatrix-O4EMNUOT.js.map} +0 -0
  998. /package/dist/{oncomatrix.spec-LYQ4L4F3.js.map → oncomatrix.spec-BME6CQWF.js.map} +0 -0
  999. /package/dist/{plot.2dvaf-6WVCP2ZI.js.map → plot.2dvaf-FDM4KXGT.js.map} +0 -0
  1000. /package/dist/{qualitative-MLRVLIAU.js.map → plot.app-UNUXG7ND.js.map} +0 -0
  1001. /package/dist/{plot.barplot-JEPRZSCU.js.map → plot.barplot-R333TMG2.js.map} +0 -0
  1002. /package/dist/{plot.boxplot-GNFW42VM.js.map → plot.boxplot-KQTYGUN3.js.map} +0 -0
  1003. /package/dist/{plot.brainImaging-5ACNSD45.js.map → plot.brainImaging-YBYMHCEG.js.map} +0 -0
  1004. /package/dist/{plot.disco-Q2V2KKIH.js.map → plot.disco-CMDKRSOM.js.map} +0 -0
  1005. /package/dist/{plot.dzi-KVT6S7K7.js.map → plot.dzi-YAZA6RQS.js.map} +0 -0
  1006. /package/dist/{plot.ssgq-4N3KFJQ2.js.map → plot.ssgq-YKCOEXZP.js.map} +0 -0
  1007. /package/dist/{plot.vaf2cov-ITRG5U43.js.map → plot.vaf2cov-3TLMTFZS.js.map} +0 -0
  1008. /package/dist/{plot.wsi-26YZNU4V.js.map → plot.wsi-7ADVYTQS.js.map} +0 -0
  1009. /package/dist/{regression-WMRPQJW2.js.map → profilePlot-AP52VLLO.js.map} +0 -0
  1010. /package/dist/{regression.inputs-VWZKSYNY.js.map → pseudobulk-7UKRLKQI.js.map} +0 -0
  1011. /package/dist/{regression.inputs.term-OWE6GWHM.js.map → qualitative-2D7MC4V5.js.map} +0 -0
  1012. /package/dist/{regression.inputs.values.table-4INNZQI2.js.map → regression-CE54AQMY.js.map} +0 -0
  1013. /package/dist/{regression.results-VZBYMBYC.js.map → regression.inputs-SMC5CNPY.js.map} +0 -0
  1014. /package/dist/{render-N5FOF247.js.map → regression.inputs.term-XS54IQC2.js.map} +0 -0
  1015. /package/dist/{sampleView-ICOT2R6O.js.map → regression.inputs.values.table-LNPM3MX5.js.map} +0 -0
  1016. /package/dist/{regression.integration.spec-XKQ2JOOT.js.map → regression.integration.spec-6QSMYPWJ.js.map} +0 -0
  1017. /package/dist/{singleCellCellType-D2CN2BHQ.js.map → regression.results-25ZRRDEE.js.map} +0 -0
  1018. /package/dist/{regression.spec-DU3UTDCJ.js.map → regression.spec-EDWHFRPY.js.map} +0 -0
  1019. /package/dist/{singleCellGeneExpression-YR2ZT34W.js.map → render-SEB6GFXQ.js.map} +0 -0
  1020. /package/dist/{report-DW3OHB67.js.map → report-U6L3KBYG.js.map} +0 -0
  1021. /package/dist/{singleCellPlot-3ICIOILE.js.map → sampleView-QAAJ26KT.js.map} +0 -0
  1022. /package/dist/{samplelst-TJEVASYG.js.map → samplelst-KYRXJSZN.js.map} +0 -0
  1023. /package/dist/{samplematrix-6DAWCXQ3.js.map → samplematrix-STLF2QA5.js.map} +0 -0
  1024. /package/dist/{sc-53LNOB7N.js.map → sc-HL6YSMDX.js.map} +0 -0
  1025. /package/dist/{scatter-DKYSS4DL.js.map → scatter-BSGDMOC2.js.map} +0 -0
  1026. /package/dist/{selectGenomeWithTklst-WTX66TV3.js.map → selectGenomeWithTklst-4NHQDTE6.js.map} +0 -0
  1027. /package/dist/{snp-VIURB7L3.js.map → singleCellCellType-3E2IU42J.js.map} +0 -0
  1028. /package/dist/{ssGSEA-THW4WFMI.js.map → singleCellGeneExpression-53UUGYTK.js.map} +0 -0
  1029. /package/dist/{summarizeMutationDiagnosis-AKFJDSAF.js.map → singleCellPlot-JDSARDRV.js.map} +0 -0
  1030. /package/dist/{singlecell-KX7W4U57.js.map → singlecell-IJR7BJYT.js.map} +0 -0
  1031. /package/dist/{singlecell-6ZUFA3BQ.js.map → singlecell-OK6GJFWL.js.map} +0 -0
  1032. /package/dist/{summary-A5P7AYK4.js.map → snp-H4KJEEOE.js.map} +0 -0
  1033. /package/dist/{snp.unit.spec-ACZNZUNS.js.map → snp.unit.spec-2Y4A3XYI.js.map} +0 -0
  1034. /package/dist/{snplocus-3LW4ZUZR.js.map → snplocus-4GG6VTWX.js.map} +0 -0
  1035. /package/dist/{spliceevent.a53ss.diagram-AKTZGWNM.js.map → spliceevent.a53ss.diagram-JZNRC5UC.js.map} +0 -0
  1036. /package/dist/{spliceevent.exonskip.diagram-XZHXB77R.js.map → spliceevent.exonskip.diagram-H54N7ZKY.js.map} +0 -0
  1037. /package/dist/{spliceevent.noeventdiagram-YTXWWNTJ.js.map → spliceevent.noeventdiagram-II753XAK.js.map} +0 -0
  1038. /package/dist/{survival-QNEI6YVK.js.map → ssGSEA-JPJ3C4JI.js.map} +0 -0
  1039. /package/dist/{ssGSEA.unit.spec-HTRGQI2K.js.map → ssGSEA.unit.spec-45F5OCDK.js.map} +0 -0
  1040. /package/dist/{summarizeCnvGeneexp-RFYC3H2Z.js.map → summarizeCnvGeneexp-55DNXHXA.js.map} +0 -0
  1041. /package/dist/{summarizeMutationCnv-7AYEMHAI.js.map → summarizeMutationCnv-QX7BADYL.js.map} +0 -0
  1042. /package/dist/{termCollection-CDF5LYUG.js.map → summarizeMutationDiagnosis-MHFM7RX6.js.map} +0 -0
  1043. /package/dist/{summarizeMutationSurvival-QJHZRQBZ.js.map → summarizeMutationSurvival-G4KHSUBN.js.map} +0 -0
  1044. /package/dist/{tk-OEQFO73V.js.map → summary-PJYRCQNY.js.map} +0 -0
  1045. /package/dist/{summary.integration.spec-HQISXGNL.js.map → summary.integration.spec-KPKROD6L.js.map} +0 -0
  1046. /package/dist/{sunburst-65LSYRXX.js.map → sunburst-IGIV2RBE.js.map} +0 -0
  1047. /package/dist/{survival-UI74VXSM.js.map → survival-DINCIWW7.js.map} +0 -0
  1048. /package/dist/{svgraph-PSX2NER3.js.map → svgraph-EUEZWGVR.js.map} +0 -0
  1049. /package/dist/{svmr-QDQ33EFX.js.map → svmr-B24LODSC.js.map} +0 -0
  1050. /package/dist/{table-LWAI27UO.js.map → table-XSJJ3UZV.js.map} +0 -0
  1051. /package/dist/{toggleButtons-YK7TIFF2.js.map → termCollection-IAB3425K.js.map} +0 -0
  1052. /package/dist/{tvs.density-3XJ6DBGO.js.map → termCollectionFractionSelection-35YKAOUY.js.map} +0 -0
  1053. /package/dist/{tvs.dt-CZDC4TSR.js.map → tk-25EJJDRK.js.map} +0 -0
  1054. /package/dist/{tp.ui-SHNERDGC.js.map → tp.ui-VGA62NFM.js.map} +0 -0
  1055. /package/dist/{tvs.numeric-TOEPASWN.js.map → tvs.density-G56327WY.js.map} +0 -0
  1056. /package/dist/{violin-2YGXTBDS.js.map → tvs.dt-DFW36WKO.js.map} +0 -0
  1057. /package/dist/{tvs.dtcnv.categorical-OPBDHZGB.js.map → tvs.dtcnv.categorical-ZP33EO3A.js.map} +0 -0
  1058. /package/dist/{tvs.dtcnv.continuous-AR6P4EP3.js.map → tvs.dtcnv.continuous-FJTMQF4J.js.map} +0 -0
  1059. /package/dist/{tvs.dtfusion-2YQ7N6FQ.js.map → tvs.dtfusion-FTDQWNKM.js.map} +0 -0
  1060. /package/dist/{tvs.dtitd-ATCHW735.js.map → tvs.dtitd-W5VEECJ2.js.map} +0 -0
  1061. /package/dist/{tvs.dtsnvindel-WHHWAATJ.js.map → tvs.dtsnvindel-UOXSLCDZ.js.map} +0 -0
  1062. /package/dist/{tvs.dtsv-3UMCW65O.js.map → tvs.dtsv-HWCPRVBO.js.map} +0 -0
  1063. /package/dist/{violin.interactivity-J6BE2UQL.js.map → tvs.numeric-7TGKWQYU.js.map} +0 -0
  1064. /package/dist/{tvs.samplelst-M7XKXRTZ.js.map → tvs.samplelst-OWD22ITS.js.map} +0 -0
  1065. /package/dist/{violin.renderer-3GRUWP2U.js.map → violin-2IAVZGFF.js.map} +0 -0
  1066. /package/dist/{vocabulary-2INCVPYJ.js.map → violin.interactivity-STOCZMVN.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../mass/store.ts"],
4
+ "sourcesContent": ["import { StoreApi, StoreBase, type AppApi, type RxStore } from '#rx'\nimport { getFilterItemByTag, findParent } from '#filter/filter'\nimport { getSamplelstTW, getFilter } from './groups.js'\nimport { rehydrateFilter } from '../filter/rehydrateFilter.js'\nimport { importPlot } from '#plots/importPlot.js'\nimport { CustomError } from '#shared/helpers.js'\n\n/*\ntmp comment on plot state. later properly define it in typescript\n\na basic plot:\n{\n\tchartType: string\n\t... other properties\n\tid?: dynamically assigned to identify this plot\n}\n\nSometimes a plot may have sections where each section has a name and an array of plots, like in the report plot. \nAn example of such plot is seeing in carereg. In that case the plot config will look like this:\n{\n\tid?: dynamically assigned to identify this plot\n\tsections: {\n\t\tname: string\n\t\tplots: {\n\t\t\tchartType: string\n\t\t\t... other properties of this child plot\n\t\t\tparentId?: dynamically assigned to point to plot.id\n\t\t}[]\n\t\t... other properties of a section\n\t}[]\n}\nThe state of each plot is added to the appState plots array, so that these plots can be treated as regular plots and be embedded in a parent plot.\n*/\n\n// to distinguish from IDs assigned by other code or users\nconst idPrefix = '_MASS_AUTOID_' + Math.random().toString().slice(-6)\nlet id = 0 // Number((+new Date()).toString().slice(-8))\n\n// will be used to track plotId's that have already been used, so that plot_prep() and\n// plot_create() will avoid conflicts from having a plotId that's used by different plots\nconst usedPlotIds = new Set()\n\nfunction getId() {\n\treturn idPrefix + '_' + id++\n}\n\nconst navHeaderModes = new Set([\n\t'with_tabs', // default, shows tabs cohort/charts/filter etc\n\t'hidden', // no header\n\t'search_only', // ?\n\t'hide_search', // ?\n\t'with_cohortHtmlSelect', // only show cohort toggle as <select>\n\t'only_buttons'\n])\n\nconst defaultState = {\n\tnav: {\n\t\theader_mode: 'with_tabs',\n\t\tactiveTab: 0 // -1 for no active tab and all closed\n\t},\n\t// will be ignored if there is no dataset termdb.selectCohort\n\t// or value will be set to match a filter node that has been tagged\n\t// as 'cohortfilter' in state.termfilter.filter\n\tactiveCohort: 0,\n\tsearch: { isVisible: true },\n\tplots: [],\n\ttermfilter: {\n\t\tfilter: {\n\t\t\ttype: 'tvslst',\n\t\t\tin: true,\n\t\t\tjoin: '',\n\t\t\tlst: []\n\t\t}\n\t},\n\treuse: {\n\t\tcustomTermQ: {\n\t\t\tbyId: {},\n\t\t\t// non-dictionary terms do not have a term.id,\n\t\t\t// save by term.type + name?\n\t\t\tbyName: {}\n\t\t}\n\t},\n\tgroups: [], // element: {name=str, filter={}}, to show in Groups tab\n\tcustomTerms: [], // element: {name=str, term={}}, able to attach more attr to object if needed\n\tautoSave: true\n}\n\n// one store for the whole MASS app\nclass MassStore extends StoreBase implements RxStore {\n\tstatic type = 'store'\n\n\t// expected RxStore, some are already declared/set in AppBase\n\tapp: AppApi\n\tapi: StoreApi\n\ttype: string\n\n\t// expected class-specific props\n\tdefaultState = defaultState\n\tactions!: {\n\t\t[actionType: string]: (action: { type: string; [prop: string]: any }) => void | Promise<void>\n\t}\n\n\tplotAdjusters = new WeakMap()\n\n\tconstructor(opts, api) {\n\t\tsuper(opts)\n\t\tthis.app = opts.app\n\t\tthis.api = api\n\t\tthis.type = 'store'\n\t\tlet savedState = {}\n\t\ttry {\n\t\t\t// only automatically detect and recover saved state when webdriver is detected\n\t\t\tconst key = window.navigator.webdriver && window['SJPP_E2E_STORAGE_STATES_KEY']\n\t\t\tconst savedStateStr = (key && window.localStorage.getItem('SJPP_E2E_STORAGE_STATES')) || '{}'\n\t\t\tsavedState = JSON.parse(savedStateStr)[key]?.state || {}\n\t\t\t// console.log(107, 'mass/store savedState', key, savedState)\n\t\t} catch (_) {\n\t\t\t// okay to ignore error of not being able to recover state\n\t\t\tsavedState = {}\n\t\t}\n\t\tthis.state = this.copyMerge(this.toJson(defaultState), opts.state, savedState)\n\t\tthis.prevGeneratedId = 0\n\t}\n\n\tvalidateOpts(opts) {\n\t\tconst s = opts.state\n\t\t// assume that any vocabulary with a route\n\t\t// will require genome + dslabel\n\t\tif (s.vocab.dslabel) {\n\t\t\tif (!s.vocab.genome) throw '.state[.vocab].genome missing'\n\t\t} else {\n\t\t\tif (!Array.isArray(s.vocab.terms)) throw 'vocab.terms must be an array of objects'\n\t\t}\n\t\treturn opts\n\t}\n\n\tvalidateState() {\n\t\t// nav.header_mode should always be present\n\t\tif (!navHeaderModes.has(this.state.nav.header_mode)) throw 'invalid state.nav.header_mode'\n\t}\n\n\tasync init() {\n\t\ttry {\n\t\t\tthis.state.termdbConfig = await this.app.vocabApi.getTermdbConfig()\n\t\t\tawait this.setTermfilter()\n\t\t\tawait this.rehydrateGroups()\n\n\t\t\t// vocab.state.termfilter may be used in getPlotConfig() when rehydrating terms,\n\t\t\t// so manually set it here\n\t\t\tawait this.app.vocabApi.main({\n\t\t\t\ttermfilter: JSON.parse(JSON.stringify(this.state.termfilter)),\n\t\t\t\ttermdbConfig: this.state.termdbConfig\n\t\t\t})\n\t\t\tconst invalidPlots: any[] = []\n\t\t\tfor (const [i, savedPlot] of this.state.plots.entries()) {\n\t\t\t\tlet plot\n\t\t\t\ttry {\n\t\t\t\t\tconst _ = await importPlot(savedPlot.chartType)\n\t\t\t\t\t// this.state{} is already fully set with initial state, thus okay to pass to getPlotConfig()\n\t\t\t\t\tplot = await _.getPlotConfig(savedPlot, this.app, this.state.activeCohort)\n\t\t\t\t} catch (e) {\n\t\t\t\t\tthis.app.printError(e)\n\t\t\t\t\tconsole.error(`getPlotConfig() failed: ${e}`)\n\t\t\t\t}\n\t\t\t\tif (!plot) {\n\t\t\t\t\tinvalidPlots.push(i)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tthis.state.plots[i] = plot\n\t\t\t\tif (!('id' in plot)) plot.id = `_AUTOID_${id++}_${i}`\n\t\t\t\tif (plot.mayAdjustConfig) {\n\t\t\t\t\tplot.mayAdjustConfig(plot)\n\t\t\t\t\tthis.plotAdjusters.set(plot, plot.mayAdjustConfig)\n\t\t\t\t\tdelete plot.mayAdjustConfig\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (invalidPlots.length) {\n\t\t\t\tfor (const i of invalidPlots) {\n\t\t\t\t\tthis.state.plots.splice(i, 1)\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.log('store.init() error', e)\n\t\t\tthrow e\n\t\t}\n\t}\n\n\tsetId(item) {\n\t\titem.$id = this.prevGeneratedId++\n\t\tif (item.$lst) {\n\t\t\tfor (const subitem of item.$lst) {\n\t\t\t\tthis.setId(subitem)\n\t\t\t}\n\t\t}\n\t}\n\n\tasync setTermfilter() {\n\t\tlet filterUiRoot = getFilterItemByTag(this.state.termfilter.filter, 'filterUiRoot')\n\t\tif (!filterUiRoot) {\n\t\t\tthis.state.termfilter.filter.tag = 'filterUiRoot'\n\t\t\tfilterUiRoot = this.state.termfilter.filter\n\t\t}\n\n\t\tawait Promise.all(rehydrateFilter(this.state.termfilter.filter, this.app.vocabApi))\n\n\t\tif (!this.state.termdbConfig.selectCohort) {\n\t\t\tthis.state.activeCohort = -1\n\t\t\t// since the cohort tab will be hidden, default to making the filter tab active\n\t\t\tif (this.state.activeTab === 0) this.state.activeTab = 1\n\t\t\tif (this.state.nav.header_mode === 'with_cohortHtmlSelect') {\n\t\t\t\tconsole.warn(`no termdbConfig.selectCohort to use for nav.header_mode = 'with_cohortHtmlSelect'`)\n\t\t\t\tthis.state.nav.header_mode = 'search_only'\n\t\t\t}\n\t\t} else {\n\t\t\tlet cohortFilter = getFilterItemByTag(this.state.termfilter.filter, 'cohortFilter')\n\t\t\tif (!cohortFilter) {\n\t\t\t\t// support legacy state.termfilter and test scripts that\n\t\t\t\t// that does not specify a cohort when required;\n\t\t\t\t// will use state.activeCohort if not -1\n\t\t\t\tcohortFilter = {\n\t\t\t\t\ttag: 'cohortFilter',\n\t\t\t\t\ttype: 'tvs',\n\t\t\t\t\ttvs: {\n\t\t\t\t\t\tterm: JSON.parse(JSON.stringify(this.state.termdbConfig.selectCohort.term)),\n\t\t\t\t\t\tvalues:\n\t\t\t\t\t\t\tthis.state.activeCohort == -1\n\t\t\t\t\t\t\t\t? []\n\t\t\t\t\t\t\t\t: this.state.termdbConfig.selectCohort.values[this.state.activeCohort].keys.map(key => {\n\t\t\t\t\t\t\t\t\t\treturn { key, label: key }\n\t\t\t\t\t\t\t\t })\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.state.termfilter.filter = {\n\t\t\t\t\ttype: 'tvslst',\n\t\t\t\t\tin: true,\n\t\t\t\t\tjoin: 'and',\n\t\t\t\t\tlst: [cohortFilter, filterUiRoot]\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst sorter = (a, b) => (a < b ? -1 : 1)\n\t\t\t\tcohortFilter.tvs.values.sort((a, b) => (a.key < b.key ? -1 : 1))\n\t\t\t\tconst keysStr = JSON.stringify(cohortFilter.tvs.values.map(v => v.key).sort(sorter))\n\t\t\t\tconst i = this.state.termdbConfig.selectCohort.values.findIndex(\n\t\t\t\t\tv => keysStr == JSON.stringify(v.keys.sort(sorter))\n\t\t\t\t)\n\t\t\t\tif (this.state.activeCohort !== -1 && this.state.activeCohort !== 0 && i !== this.state.activeCohort) {\n\t\t\t\t\tconsole.log('Warning: cohortFilter will override the state.activeCohort due to mismatch')\n\t\t\t\t}\n\t\t\t\tthis.state.activeCohort = i\n\t\t\t}\n\t\t}\n\t}\n\n\tasync rehydrateGroups() {\n\t\t// rehydrate filter terms of each group\n\t\tconst lst: any[] = []\n\t\tfor (const g of this.state.groups) {\n\t\t\tlst.push(...rehydrateFilter(g.filter, this.app.vocabApi))\n\t\t}\n\t\tawait Promise.all(lst)\n\t}\n}\n\n/*\n\tTo clearly indicate the allowed store actions,\n\tsupply a literal \"actions\" object on the \n\tconstructor prototype\n*/\nMassStore.prototype.actions = {\n\t// Type '{ app_refresh(this: MassStore, action?: {}): Promise<void>; tab_set(action: any): void; cohort_set(action: any): void; plot_prep(action: any): Promise<void>; ... 13 more ...; delete_group({ name }: { ...; }): void; }' is not assignable to type '(action: { [prop: string]: any; type: string; }) => void | Promise<void>'.\n\t// Object literal may only specify known properties, and 'app_refresh' does not exist in type '(action: { [prop: string]: any; type: string; }) => void | Promise<void>'.\n\n\tasync app_refresh(this: MassStore, action) {\n\t\t// optional action.state{} may be full or partial overrides\n\t\t// to the current state\n\t\t//\n\t\t// when constructing an app, app_refresh() is called\n\t\t// without action.state as the current state at the\n\t\t// initial render is not meant to be modified yet\n\t\t//\n\t\tthis.state = this.copyMerge(this.toJson(this.state), action.state || {})\n\n\t\t// Subactions cause existing action methods to be called in parallel,\n\t\t// to update unrelated parts of the state.\n\t\t//\n\t\t// Note that an alternative approach of pre-merging actions payloads into\n\t\t// one \"write\" step or action is not as reliable, since that approach may leave\n\t\t// out custom logic that are required and already coded in existing actions.\n\t\t//\n\t\tconst subactionPlotIds = new Set()\n\t\tconst promises: any[] = []\n\t\tif (action.subactions) {\n\t\t\tfor (const a of action.subactions) {\n\t\t\t\tpromises.push(this.actions[a.type].call(this, a))\n\t\t\t\tif (a.type.startsWith('plot_')) subactionPlotIds.add(a.id)\n\t\t\t}\n\t\t}\n\t\tawait Promise.all(promises)\n\n\t\tfor (const plot of this.state.plots) {\n\t\t\tconst mayAdjustConfig = this.plotAdjusters.get(plot)\n\t\t\tif (mayAdjustConfig && !subactionPlotIds.has(plot.id)) {\n\t\t\t\t// assume that mayAdjustConfig() is not async\n\t\t\t\tmayAdjustConfig(plot, action.config)\n\t\t\t}\n\t\t}\n\t},\n\ttab_set(this: MassStore, action) {\n\t\tthis.state.nav.activeTab = action.activeTab\n\t},\n\tcohort_set(this: MassStore, action) {\n\t\tthis.state.activeCohort = action.activeCohort\n\t\tconst cohort = this.state.termdbConfig.selectCohort.values[action.activeCohort]\n\t\tconst cohortFilter = getFilterItemByTag(this.state.termfilter.filter, 'cohortFilter')\n\t\tif (!cohortFilter) throw `No item tagged with 'cohortFilter'`\n\t\tcohortFilter.tvs.values = cohort.keys.map(key => {\n\t\t\treturn { key, label: key }\n\t\t})\n\t},\n\n\t// dispatch \"plot_prep\" action to produce a 'initiating' UI of this plot, for user to fill in additional details to launch the plot\n\t// example: table, scatterplot which requires user to select two terms\n\tasync plot_prep(this: MassStore, action) {\n\t\tif (usedPlotIds.has(action.id)) delete action.id // prevent potential conflicts\n\n\t\tconst plot = {\n\t\t\t// rx.getComponents() relies on parsing dot-separated key names that breaks if a key has a dot,\n\t\t\t// the plot.id value should be assumed to be auto-generated and to not have any non-rx usage expectations\n\t\t\tid: 'id' in action && !action.id.includes('.') ? action.id : getId()\n\t\t}\n\t\tusedPlotIds.add(plot.id)\n\t\tif (!action.config) throw '.config{} missing for plot_prep'\n\t\tif (action.config.chartType && Object.keys(action.config).length == 1) {\n\t\t\tconst _ = await importPlot(action.config.chartType)\n\t\t\tconst config = await _.getPlotConfig(action.config, this.app, this.state.activeCohort)\n\t\t\taction.config = Object.assign(config, action.config)\n\t\t}\n\t\tObject.assign(plot, action.config)\n\t\tthis.state.plots.push(plot)\n\t},\n\n\tasync plot_create(this: MassStore, action) {\n\t\tif (usedPlotIds.has(action.id)) delete action.id // prevent potential conflicts\n\n\t\tconst _ = await importPlot(action.config.chartType)\n\t\tconst plot = await _.getPlotConfig(action.config, this.app, this.state.activeCohort)\n\t\t// rx.getComponents() relies on parsing dot-separated key names that breaks if a key has a dot,\n\t\t// the plot.id value should be assumed to be auto-generated and to not have any non-rx usage expectations\n\t\tif (!('id' in action) || action.id.includes('.')) action.id = getId()\n\t\tplot.id = action.id\n\t\tusedPlotIds.add(plot.id)\n\n\t\tif (plot.mayAdjustConfig) {\n\t\t\tplot.mayAdjustConfig(plot)\n\t\t\tthis.plotAdjusters.set(plot, plot.mayAdjustConfig)\n\t\t\tdelete plot.mayAdjustConfig\n\t\t}\n\t\tthis.state.plots.push(plot)\n\t\t// Parent plots may have child plots, organized in sections to ease the visualization and analysis. For example the carereg report,\n\t\t//has the sections Demographics, Diagnosis and Stagind with their respective plots. We go over the plots for each section to add them\n\t\t// to the state.plots array, so that they can be treated as regular plots and be embedded in a parent plot\n\t\tif (plot.sections) {\n\t\t\t// this is handled for embedder convenience,\n\t\t\t// ideally app state.plots would already have all the plot entries\n\t\t\t// instead of having nested plot.sections[] with plots per section in a session state to be rehydrated;\n\t\t\t//\n\t\t\t// nested plot entries are harder to manage:\n\t\t\t// - store methods will need to look in different places\n\t\t\t// to process a dispatched plot_* action\n\t\t\t// - a plot's `getState()` method will also need to look in different places for the plot config, such as\n\t\t\t// getState(appState) {\n\t\t\t// const config = appState.plots.find(p => p.id === this.id || (p.id === this.parentId && p.plots?.find(p => p.id === this.id)))\n\t\t\t// ...\n\t\t\t// }\n\t\t\tfor (const section of plot.sections) {\n\t\t\t\tfor (const p of section.plots) {\n\t\t\t\t\t// by tracking a child plot's parentId, it makes it easier to\n\t\t\t\t\t// - find a plot's config in the app state\n\t\t\t\t\t// - prevent the app from rendering each child plot in it's own sandbox\n\t\t\t\t\t// - prevent counting child plots separately in CHARTS tab\n\t\t\t\t\tp.parentId = plot.id\n\t\t\t\t\tif (!p.id) p.id = getId() // fill in missing child plot id\n\t\t\t\t\tconst _ = await importPlot(p.chartType)\n\t\t\t\t\tconst config = await _.getPlotConfig(p, this.app, this.state.activeCohort)\n\t\t\t\t\t// Move nested state.plot[i].plots[] into the root state.plots[] array\n\t\t\t\t\tthis.state.plots.push(config)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tplot_edit(this: MassStore, action) {\n\t\tconst plot = this.state.plots.find(p => p.id === action.id)\n\t\tif (!plot) {\n\t\t\t// plot may have been deleted from closing the plot sandbox or another reason,\n\t\t\t// assume this action is stale and not an error\n\t\t\tthrow new CustomError(`missing plot config for id='${action.id}' in store.plot_edit()`, {\n\t\t\t\tname: 'MISSING_PLOT_CONFIG',\n\t\t\t\tlevel: 'warn'\n\t\t\t})\n\t\t}\n\t\tthis.copyMerge(plot, action.config, action.opts ? action.opts : {})\n\t\tconst mayAdjustConfig = this.plotAdjusters.get(plot)\n\t\tif (mayAdjustConfig) mayAdjustConfig(plot, action.config)\n\n\t\tif (action.config && 'cutoff' in action.config) {\n\t\t\tplot.cutoff = action.config.cutoff\n\t\t} else {\n\t\t\tdelete plot.cutoff\n\t\t}\n\n\t\t// action.parentId may be used in reactsTo() code\n\t\tif (!action.parentId && plot.parentId) action.parentId = plot.parentId\n\t},\n\n\tplot_delete(this: MassStore, action) {\n\t\tconst i = this.state.plots.findIndex(p => p.id === action.id)\n\t\tif (i !== -1) {\n\t\t\tthis.state.plots.splice(i, 1)\n\t\t\t// action.parentId may be used in reactsTo() code\n\t\t\tconst plot = this.state.plots[i]\n\t\t\tif (!action.parentId && plot?.parentId) action.parentId = plot.parentId\n\t\t}\n\t},\n\n\tplot_nestedEdits(this: MassStore, action) {\n\t\tconst plot = this.state.plots.find(p => p.id === action.id)\n\t\tif (!plot) {\n\t\t\t// plot may have been deleted from closing the plot sandbox or another reason,\n\t\t\t// assume this action is stale and not an error\n\t\t\tthrow new CustomError(`missing plot config for id='${action.id}' in store.plot_edit_nested`, {\n\t\t\t\tname: 'MISSING_PLOT_CONFIG',\n\t\t\t\tlevel: 'warn'\n\t\t\t})\n\t\t}\n\t\tfor (const edit of action.edits) {\n\t\t\tconst lastKey = edit.nestedKeys.pop()\n\t\t\tconst obj = edit.nestedKeys.reduce((obj, key) => obj[key], plot)\n\t\t\tobj[lastKey] = edit.value\n\t\t}\n\t\t// action.parentId may be used in reactsTo() code\n\t\tif (!action.parentId && plot.parentId) action.parentId = plot.parentId\n\t},\n\n\t// TODO: delete this action? does not seem to be used\n\tasync plot_splice(this: MassStore, action) {\n\t\tfor (const a of action.subactions) {\n\t\t\t// need to await in case the sequence of subactions is relevant\n\t\t\tawait this.actions[a.type].call(this, a)\n\t\t}\n\t},\n\n\tfilter_replace(this: MassStore, action) {\n\t\tif ('filter0' in action) {\n\t\t\t// quick fix since rx.copyMerge() does not work for filter0,\n\t\t\t// as used in app_refresh() and dispatched from GDC matrixApi.update()\n\t\t\tthis.state.termfilter.filter0 = action.filter0\n\t\t\treturn\n\t\t}\n\n\t\tconst replacementFilter = action.filter ? action.filter : { type: 'tvslst', join: '', in: 1, lst: [] }\n\t\tif (!action.filter.tag) {\n\t\t\tthis.state.termfilter.filter = replacementFilter\n\t\t} else {\n\t\t\tconst filter = getFilterItemByTag(this.state.termfilter.filter, action.filter.tag)\n\t\t\tif (!filter) throw `cannot replace missing filter with tag '${action.filter.tag}'`\n\t\t\tconst parent = findParent(this.state.termfilter.filter, filter.$id)\n\t\t\tif (parent == filter) {\n\t\t\t\tthis.state.termfilter.filter = replacementFilter\n\t\t\t} else {\n\t\t\t\tconst i = parent.lst.indexOf(filter)\n\t\t\t\tparent.lst[i] = replacementFilter\n\t\t\t}\n\t\t}\n\t\t//In the profile runproteinpaint this function is passed to clear the local filters when the global filter changes\n\t\tif (this.app.opts.app?.onFilterChange) this.app.opts.app.onFilterChange(this.state.plots)\n\t},\n\n\tcache_termq(this: MassStore, { termId, q }) {\n\t\t// TODO: support caching by term.name\n\t\tif (!termId) throw `missing termId for caching custom term.q`\n\t\tif (!q?.reuseId) throw `missing or empty tw.q.reuseId as cache identifier for term='${termId}'`\n\t\tconst cache = this.state.reuse.customTermQ.byId\n\t\tif (!cache[termId]) cache[termId] = {}\n\t\tcache[termId][q.reuseId] = q\n\n\t\t// apply this change to all plots that use the same term.q cache\n\t\tfor (const plot of this.state.plots) {\n\t\t\tif (!(plot.chartType in getTwsByChartType)) continue\n\t\t\tconst twlst = getTwsByChartType[plot.chartType](plot)\n\t\t\tfor (const tw of twlst) {\n\t\t\t\tif (tw?.q?.reuseId === q.reuseId) tw.q = q\n\t\t\t}\n\t\t}\n\t},\n\n\tuncache_termq(this: MassStore, { term, q }) {\n\t\t// TODO: support uncaching by term.name\n\t\tif (!term.id) throw `missing term.id for uncaching custom term.q`\n\t\tif (!q.reuseId) throw `missing qname as uncache identifier for term.id='${term.id}'`\n\t\tconst cache = this.state.reuse.customTermQ.byId[term.id]\n\t\tif (!cache) throw `missing term.q cache for term.id='${term.id}`\n\t\tif (!(q.reuseId in cache)) console.warn(`q.reuseId='${q.cacheid}' not cached for term.id='${term.id}'`)\n\t\telse {\n\t\t\tdelete cache[q.reuseId]\n\t\t\t// apply this change to all plots that use the same term.q cache\n\t\t\tfor (const plot of this.state.plots) {\n\t\t\t\tif (!(plot.chartType in getTwsByChartType)) continue\n\t\t\t\tconst twlst = getTwsByChartType[plot.chartType](plot)\n\t\t\t\tfor (const tw of twlst) {\n\t\t\t\t\tif (tw.q.reuseId === q.reuseId) {\n\t\t\t\t\t\tdelete tw.q.reuseId\n\t\t\t\t\t\tdelete tw.q.name\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tadd_customTerm(this: MassStore, action) {\n\t\tconst i = action.obj.id ? this.state.customTerms.findIndex(term => term.id === action.obj.id) : -1\n\t\tif (i === -1) this.state.customTerms.push(action.obj)\n\t\telse this.state.customTerms[i] = action.obj\n\t},\n\n\tdelete_customTerm(this: MassStore, { id, name }) {\n\t\tconst i = this.state.customTerms.findIndex(term => (id ? term.id === id : term.name == name))\n\t\tif (i != -1) this.state.customTerms.splice(i, 1)\n\t},\n\n\tadd_group(this: MassStore, action) {\n\t\tif (this.state.nav.header_mode != 'hidden') {\n\t\t\tconst group = action.obj\n\t\t\tconst name = `Group ${this.state.groups.length + 1}`\n\n\t\t\tconst samplelstTW = getSamplelstTW([group])\n\t\t\tconst appGroup = {\n\t\t\t\tname: name,\n\t\t\t\tfilter: getFilter(samplelstTW),\n\t\t\t\tplotId: group.plotId\n\t\t\t}\n\t\t\tthis.state.groups.push(appGroup)\n\t\t\tthis.state.nav.activeTab = 1\n\t\t} else if ('plotId' in action.obj) {\n\t\t\tconst plot = this.state.plots.find(p => p.id == action.obj.plotId)\n\t\t\tif (plot.groups) {\n\t\t\t\taction.obj.index = plot.groups.length\n\t\t\t\taction.obj.name = `Group ${plot.groups.length + 1}`\n\t\t\t\tplot.groups.push(action.obj)\n\t\t\t}\n\t\t}\n\t},\n\n\trename_group(this: MassStore, action) {\n\t\tconst index = action.index\n\t\tconst newName = action.newName\n\t\tif (this.state.nav.header_mode != 'hidden') {\n\t\t\tthis.state.groups[index].name = newName\n\t\t} else {\n\t\t\tfor (const plot of this.state.plots) {\n\t\t\t\tif (plot?.groups) {\n\t\t\t\t\tplot.groups[index].name = newName\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tchange_color_group(this: MassStore, action) {\n\t\tconst index = action.index\n\t\tconst newColor = action.newColor\n\t\tif (this.state.nav.header_mode != 'hidden') {\n\t\t\tthis.state.groups[index].color = newColor\n\t\t} else {\n\t\t\tfor (const plot of this.state.plots) {\n\t\t\t\tif (plot?.groups) {\n\t\t\t\t\tplot.groups[index].color = newColor\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tdelete_group(this: MassStore, { name }) {\n\t\tif (this.state.nav.header_mode != 'hidden') {\n\t\t\tconst i = this.state.groups.findIndex(i => i.name == name)\n\t\t\tif (i != -1) this.state.groups.splice(i, 1)\n\t\t} else {\n\t\t\tfor (const plot of this.state.plots) {\n\t\t\t\tif (plot?.groups) {\n\t\t\t\t\tconst j = plot.groups.findIndex(j => j.name == name)\n\t\t\t\t\tif (j != -1) plot.groups.splice(j, 1)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n// each chartType should have a getter function\n// to return all the term wrappers in the plot config\nconst getNestedChartSeriesDataTws = plot => [plot.term0, plot.term, plot.term2].filter(d => !!d)\nconst getTwsByChartType = {\n\tsummary: getNestedChartSeriesDataTws,\n\tsurvival: getNestedChartSeriesDataTws,\n\tcuminc: getNestedChartSeriesDataTws,\n\tregression: plot => [plot.outcome, ...plot.independent].filter(d => !!d),\n\tmatrix: plot =>\n\t\tplot.termgroups.reduce((arr, grp) => {\n\t\t\tarr.push(...grp.lst)\n\t\t\treturn arr\n\t\t}, [])\n}\n\n// must use the await keyword when using this storeInit()\nexport const storeInit = StoreApi.getInitFxn(MassStore)\n"],
5
+ "mappings": "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",
6
+ "names": ["_", "obj", "id", "i", "j"]
7
+ }
@@ -0,0 +1,220 @@
1
+ // ../shared/utils/dist/src/termCollection.js
2
+ function validateTermCollectionTerm(term) {
3
+ if (!Array.isArray(term?.termlst) || !term.termlst.length)
4
+ throw new Error("termCollection requires nonempty term.termlst[]");
5
+ const memberIds = /* @__PURE__ */ new Set();
6
+ const types = /* @__PURE__ */ new Set();
7
+ for (const t of term.termlst) {
8
+ if (typeof t.id != "string" || !t.id) throw new Error("member term id not non-empty string");
9
+ if (typeof t.type != "string" || !t.type) throw new Error("member term type not non-empty string");
10
+ if (memberIds.has(t.id)) throw new Error(`duplicate member term id '${t.id}'`);
11
+ memberIds.add(t.id);
12
+ types.add(t.type == "integer" || t.type == "float" ? "numDict" : t.type);
13
+ }
14
+ if (types.size > 1) throw new Error("termCollection.termlst[] not allowed to mix multiple term types");
15
+ return memberIds;
16
+ }
17
+ function validateFractionMembers(numerators, denominators, memberIds) {
18
+ if (!Array.isArray(denominators) || !denominators.length) throw new Error("fraction requires nonempty denominators[]");
19
+ if (!Array.isArray(numerators) || !numerators.length) throw new Error("fraction requires nonempty numerators[]");
20
+ if (new Set(denominators).size !== denominators.length) throw new Error("fraction denominators[] contains duplicates");
21
+ if (new Set(numerators).size !== numerators.length) throw new Error("fraction numerators[] contains duplicates");
22
+ for (const id of denominators) {
23
+ if (typeof id != "string" || !id) throw new Error("fraction denominator id not non-empty string");
24
+ if (!memberIds.has(id)) throw new Error(`fraction denominator '${id}' is not a collection member`);
25
+ }
26
+ for (const id of numerators) {
27
+ if (typeof id != "string" || !id) throw new Error("fraction numerator id not non-empty string");
28
+ if (!denominators.includes(id)) throw new Error(`fraction numerator '${id}' is not included in denominators[]`);
29
+ }
30
+ }
31
+ var FRACTION_TW_TYPE = "TermCollectionTWFraction";
32
+ function isFractionTw(tw) {
33
+ return tw?.type === FRACTION_TW_TYPE && tw?.term?.type === "termCollection";
34
+ }
35
+ function getFractionTvsTerm(tw) {
36
+ if (!isFractionTw(tw)) throw new Error("not a fraction termCollection tw");
37
+ const term = structuredClone(tw.term);
38
+ const memberIds = term.termlst?.length ? validateTermCollectionTerm(term) : new Set(term.termIds || []);
39
+ const denominators = tw.q?.denominators?.length ? [...tw.q.denominators] : [...memberIds];
40
+ const numerators = tw.q?.numerators?.length ? [...tw.q.numerators] : [...denominators];
41
+ validateFractionMembers(numerators, denominators, memberIds);
42
+ term.numerators = numerators;
43
+ term.denominators = denominators;
44
+ return term;
45
+ }
46
+ function validateTermCollectionFraction(q, term) {
47
+ const memberIds = validateTermCollectionTerm(term);
48
+ validateFractionMembers(q?.numerators, q?.denominators, memberIds);
49
+ if (q.mode === "discrete" && q.type !== "regular-bin" && q.type !== "custom-bin")
50
+ throw new Error("discrete fraction termCollection requires regular-bin or custom-bin q.type");
51
+ }
52
+
53
+ // ../shared/utils/dist/src/filter.js
54
+ function getFilteredSamples(sampleAnno, filter) {
55
+ setDatasetAnnotations(filter);
56
+ const samples = /* @__PURE__ */ new Set();
57
+ for (const anno of sampleAnno) {
58
+ if (samples.has(anno.sample)) continue;
59
+ const data = anno.s || anno.data;
60
+ if (data && sample_match_termvaluesetting(data, filter)) {
61
+ samples.add(anno.sample);
62
+ }
63
+ }
64
+ return samples;
65
+ }
66
+ function sample_match_termvaluesetting(row, filter, _term = null, sample = null) {
67
+ const lst = filter.type == "tvslst" ? filter.lst : [filter];
68
+ let numberofmatchedterms = 0;
69
+ for (const item of lst) {
70
+ if ("type" in item && item.type == "tvslst") {
71
+ if (sample_match_termvaluesetting(row, item, _term, sample)) {
72
+ numberofmatchedterms++;
73
+ }
74
+ } else {
75
+ const itemCopy = JSON.parse(JSON.stringify(item));
76
+ const t = itemCopy.tvs;
77
+ if (_term && t.term) {
78
+ if (!(_term.name == t.term.name && _term.type == t.term.type)) {
79
+ numberofmatchedterms++;
80
+ continue;
81
+ }
82
+ }
83
+ let samplevalue;
84
+ if (_term && !t.term) {
85
+ if (t.term$type && t.term$type !== _term.type) {
86
+ numberofmatchedterms++;
87
+ continue;
88
+ }
89
+ t.term = _term;
90
+ samplevalue = typeof row === "object" && t.term.id in row ? row[t.term.id] : row;
91
+ } else if (sample && t.term.$id) {
92
+ samplevalue = sample[t.term.$id].value;
93
+ } else {
94
+ samplevalue = t.term.id in row ? row[t.term.id] : row;
95
+ }
96
+ setDatasetAnnotations(itemCopy);
97
+ let thistermmatch;
98
+ if (t.term.type == "categorical") {
99
+ if (samplevalue === void 0) continue;
100
+ thistermmatch = t.valueset.has(samplevalue);
101
+ } else if (t.term.type == "integer" || t.term.type == "float") {
102
+ if (samplevalue === void 0) continue;
103
+ for (const range of t.ranges) {
104
+ if ("value" in range) {
105
+ thistermmatch = samplevalue === range.value;
106
+ if (thistermmatch) break;
107
+ } else if (samplevalue == range.name) {
108
+ thistermmatch = true;
109
+ break;
110
+ } else {
111
+ if (t.term.values) {
112
+ const v = t.term.values[samplevalue.toString()];
113
+ if (v && v.uncomputable) {
114
+ continue;
115
+ }
116
+ }
117
+ let left, right;
118
+ if (range.startunbounded) {
119
+ left = true;
120
+ } else if ("start" in range) {
121
+ if (range.startinclusive) {
122
+ left = samplevalue >= range.start;
123
+ } else {
124
+ left = samplevalue > range.start;
125
+ }
126
+ }
127
+ if (range.stopunbounded) {
128
+ right = true;
129
+ } else if ("stop" in range) {
130
+ if (range.stopinclusive) {
131
+ right = samplevalue <= range.stop;
132
+ } else {
133
+ right = samplevalue < range.stop;
134
+ }
135
+ }
136
+ thistermmatch = left && right;
137
+ }
138
+ if (thistermmatch) break;
139
+ }
140
+ } else if (t.term.type == "condition") {
141
+ const key = getPrecomputedKey(t);
142
+ const anno = samplevalue && samplevalue[key];
143
+ if (anno) {
144
+ thistermmatch = Array.isArray(anno) ? t.values.find((d) => anno.includes(d.key)) : t.values.find((d) => d.key == anno);
145
+ }
146
+ } else if (t.term.type == "geneVariant") {
147
+ const svalues = samplevalue.values || [samplevalue];
148
+ for (const sv of svalues) {
149
+ thistermmatch = t.values.find(
150
+ (v) => v.dt == sv.dt && (!v.origin || sv.origin == v.origin) && (!v.mclasslst || v.mclasslst.includes(sv.class))
151
+ ) && true;
152
+ if (thistermmatch) break;
153
+ }
154
+ } else {
155
+ throw "unknown term type [sample_match_termvaluesetting() shared/utils/src/filter.ts]";
156
+ }
157
+ if (t.isnot) {
158
+ thistermmatch = !thistermmatch;
159
+ }
160
+ if (thistermmatch) numberofmatchedterms++;
161
+ }
162
+ if (filter.join == "or") {
163
+ if (numberofmatchedterms && filter.in) return true;
164
+ if (!numberofmatchedterms && !filter.in) return true;
165
+ }
166
+ }
167
+ if (!("in" in filter)) filter.in = true;
168
+ return filter.in == (numberofmatchedterms == lst.length);
169
+ }
170
+ function setDatasetAnnotations(item, ds = null) {
171
+ if (item.type == "tvslst") {
172
+ for (const subitem of item.lst) {
173
+ setDatasetAnnotations(subitem, ds);
174
+ }
175
+ } else {
176
+ if (ds && typeof ds.setAnnoByTermId == "function") {
177
+ ds.setAnnoByTermId(item.tvs.term.id);
178
+ }
179
+ if (item.tvs.term.type == "categorical") {
180
+ const tvsAny = item.tvs;
181
+ tvsAny.valueset = new Set(tvsAny.values.map((i) => i.key));
182
+ }
183
+ }
184
+ }
185
+ function getPrecomputedKey(q) {
186
+ const precomputedKey = q.bar_by_children && q.value_by_max_grade ? "childrenAtMaxGrade" : q.bar_by_children && q.value_by_most_recent ? "childrenAtMostRecent" : q.bar_by_children && q.value_by_computable_grade ? "children" : q.bar_by_grade && q.value_by_max_grade ? "maxGrade" : q.bar_by_grade && q.value_by_most_recent ? "mostRecentGrades" : q.bar_by_grade && q.value_by_computable_grade ? "computableGrades" : "";
187
+ if (!precomputedKey) throw `unknown condition term bar_by_* and/or value_by_*`;
188
+ return precomputedKey;
189
+ }
190
+ function getWrappedTvslst(lst = [], join = "", $id = null) {
191
+ const filter = {
192
+ type: "tvslst",
193
+ in: true,
194
+ join,
195
+ lst
196
+ };
197
+ if ($id !== null) filter.$id = $id;
198
+ return filter;
199
+ }
200
+ function getTvsDenominators(term) {
201
+ if (Array.isArray(term?.denominators) && term.denominators.length) return term.denominators;
202
+ return (term?.termlst || []).map((t) => t.id);
203
+ }
204
+ function validateTermCollectionTvs(term) {
205
+ const memberIds = validateTermCollectionTerm(term);
206
+ if (!term.numerators) return;
207
+ validateFractionMembers(term.numerators, getTvsDenominators(term), memberIds);
208
+ }
209
+
210
+ export {
211
+ isFractionTw,
212
+ getFractionTvsTerm,
213
+ validateTermCollectionFraction,
214
+ getFilteredSamples,
215
+ sample_match_termvaluesetting,
216
+ getWrappedTvslst,
217
+ getTvsDenominators,
218
+ validateTermCollectionTvs
219
+ };
220
+ //# sourceMappingURL=chunk-4WF3XDQP.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../shared/utils/src/termCollection.ts", "../../shared/utils/src/filter.ts"],
4
+ "sourcesContent": ["import type { TermCollectionQFraction } from '#types'\n\ntype CollectionMemberLike = {\n\tid?: string\n\tname?: string\n\ttype?: string\n}\n\nexport type CollectionTermLike = {\n\ttermlst: CollectionMemberLike[]\n\t/** numerator/denominator member ids of a filter tvs, mirroring q.numerators[]/q.denominators[]\n\tof a fraction tw. only used by validateTermCollectionTvs() */\n\tnumerators?: string[]\n\tdenominators?: string[]\n}\n\n/** Validate the term obj of a termCollection, shared by the fraction tw and the filter tvs.\nReturns the set of member term ids, for validating id arrays e.g. numerators. */\nexport function validateTermCollectionTerm(term: CollectionTermLike): Set<string> {\n\tif (!Array.isArray(term?.termlst) || !term.termlst.length)\n\t\tthrow new Error('termCollection requires nonempty term.termlst[]')\n\tconst memberIds: Set<string> = new Set()\n\tconst types: Set<string> = new Set() // term types of member terms\n\tfor (const t of term.termlst) {\n\t\tif (typeof t.id != 'string' || !t.id) throw new Error('member term id not non-empty string') // id required for validating id arrays e.g. numerators\n\t\tif (typeof t.type != 'string' || !t.type) throw new Error('member term type not non-empty string')\n\t\tif (memberIds.has(t.id)) throw new Error(`duplicate member term id '${t.id}'`)\n\t\tmemberIds.add(t.id)\n\n\t\t// allow integer/float to be mixed in one collection\n\t\ttypes.add(t.type == 'integer' || t.type == 'float' ? 'numDict' : t.type)\n\t}\n\tif (types.size > 1) throw new Error('termCollection.termlst[] not allowed to mix multiple term types')\n\treturn memberIds\n}\n\n/** Validate the numerator/denominator member selection of a fraction, shared by the q{} of a\nfraction tw and the term of a filter tvs. Both lists are member term ids of the collection.\nmemberIds is returned by validateTermCollectionTerm() */\nexport function validateFractionMembers(numerators: string[], denominators: string[], memberIds: Set<string>): void {\n\tif (!Array.isArray(denominators) || !denominators.length) throw new Error('fraction requires nonempty denominators[]')\n\tif (!Array.isArray(numerators) || !numerators.length) throw new Error('fraction requires nonempty numerators[]')\n\tif (new Set(denominators).size !== denominators.length) throw new Error('fraction denominators[] contains duplicates')\n\tif (new Set(numerators).size !== numerators.length) throw new Error('fraction numerators[] contains duplicates')\n\tfor (const id of denominators) {\n\t\tif (typeof id != 'string' || !id) throw new Error('fraction denominator id not non-empty string')\n\t\tif (!memberIds.has(id)) throw new Error(`fraction denominator '${id}' is not a collection member`)\n\t}\n\tfor (const id of numerators) {\n\t\tif (typeof id != 'string' || !id) throw new Error('fraction numerator id not non-empty string')\n\t\t// no need to test against memberIds: denominators[] is already a subset of it\n\t\tif (!denominators.includes(id)) throw new Error(`fraction numerator '${id}' is not included in denominators[]`)\n\t}\n}\n\n/** tw.type of a termCollection that resolves to one numeric value per sample, the fraction\nof the numerator members over the denominator ones */\nexport const FRACTION_TW_TYPE = 'TermCollectionTWFraction'\n\n/** True when a tw is a fraction termCollection */\nexport function isFractionTw(tw: any): boolean {\n\treturn tw?.type === FRACTION_TW_TYPE && tw?.term?.type === 'termCollection'\n}\n\n/** Build the tvs.term for filtering on a fraction termCollection, e.g. from a clicked bar\nor a brushed violin. The member selection of a tw lives in q{}, but a tvs is standalone:\nthe server filter and the filter ui both read numerators[]/denominators[] from tvs.term.\nReturns a copy, so that editing the filter later does not mutate the plot term.\n@param tw a filled fraction termCollection tw\n@throws Error if the tw or its member selection is invalid */\nexport function getFractionTvsTerm(tw: any): CollectionTermLike {\n\tif (!isFractionTw(tw)) throw new Error('not a fraction termCollection tw')\n\tconst term = structuredClone(tw.term)\n\t// a min copy tw may carry termIds[] instead of the full termlst[]\n\tconst memberIds = term.termlst?.length ? validateTermCollectionTerm(term) : new Set<string>(term.termIds || [])\n\tconst denominators = tw.q?.denominators?.length ? [...tw.q.denominators] : [...memberIds]\n\tconst numerators = tw.q?.numerators?.length ? [...tw.q.numerators] : [...denominators]\n\tvalidateFractionMembers(numerators, denominators, memberIds)\n\tterm.numerators = numerators\n\tterm.denominators = denominators\n\treturn term\n}\n\n/** Validate the member selection and binning discriminator for a fraction term collection. */\nexport function validateTermCollectionFraction(q: TermCollectionQFraction, term: CollectionTermLike): void {\n\tconst memberIds = validateTermCollectionTerm(term)\n\tvalidateFractionMembers(q?.numerators, q?.denominators, memberIds)\n\tif (q.mode === 'discrete' && q.type !== 'regular-bin' && q.type !== 'custom-bin')\n\t\tthrow new Error('discrete fraction termCollection requires regular-bin or custom-bin q.type')\n}\n", "import type { Filter, Tvs } from '#types'\nimport { validateTermCollectionTerm, validateFractionMembers, type CollectionTermLike } from './termCollection.js'\n\n/**\n * Sample annotation structure\n */\nexport interface SampleAnnotation {\n\tsample: string | number\n\ts?: Record<string, any>\n\tdata?: Record<string, any>\n}\n\n/**\n * Dataset with annotation functionality\n */\nexport interface Dataset {\n\tsetAnnoByTermId?: (termId: string) => void\n}\n\n/**\n * Filters an array of sample annotations and returns a Set of matching sample names\n * @param sampleAnno Array of sample annotations\n * @param filter Nested filter structure as used in the termdbapp\n * @returns Set of sample names that match the filter\n */\nexport function getFilteredSamples(sampleAnno: SampleAnnotation[], filter: Filter): Set<string | number> {\n\tsetDatasetAnnotations(filter)\n\n\tconst samples = new Set<string | number>()\n\tfor (const anno of sampleAnno) {\n\t\tif (samples.has(anno.sample)) continue\n\t\tconst data = anno.s || anno.data\n\t\tif (data && sample_match_termvaluesetting(data, filter)) {\n\t\t\tsamples.add(anno.sample)\n\t\t}\n\t}\n\treturn samples\n}\n\n/**\n * Given a value from a sample's annotation of a term, return true if a value matches the filter\n * @param row Sample annotation data\n * @param filter Filter structure or single tvs item\n * @param _term Optional term to filter by\n * @param sample Optional sample data\n * @returns True if the sample matches the filter\n */\nexport function sample_match_termvaluesetting(\n\trow: any,\n\tfilter: Filter,\n\t_term: any = null,\n\tsample: any = null\n): boolean {\n\tconst lst = filter.type == 'tvslst' ? filter.lst : [filter]\n\tlet numberofmatchedterms = 0\n\n\t/* for AND, require all terms to match */\n\tfor (const item of lst) {\n\t\tif ('type' in item && item.type == 'tvslst') {\n\t\t\tif (sample_match_termvaluesetting(row, item, _term, sample)) {\n\t\t\t\tnumberofmatchedterms++\n\t\t\t}\n\t\t} else {\n\t\t\tconst itemCopy = JSON.parse(JSON.stringify(item))\n\t\t\tconst t = itemCopy.tvs\n\n\t\t\tif (_term && t.term) {\n\t\t\t\tif (!(_term.name == t.term.name && _term.type == t.term.type)) {\n\t\t\t\t\t// for an filter from \"this.config.legendValueFilter\", if the filter is not for the tw\n\t\t\t\t\t// (not the same type and name), ignore the filter.\n\t\t\t\t\tnumberofmatchedterms++\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet samplevalue\n\t\t\tif (_term && !t.term) {\n\t\t\t\tif (t.term$type && t.term$type !== _term.type) {\n\t\t\t\t\t//when the filter is not for the term being tested, ignore the filter\n\t\t\t\t\tnumberofmatchedterms++\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tt.term = _term\n\t\t\t\tsamplevalue = typeof row === 'object' && t.term.id in row ? row[t.term.id] : row\n\t\t\t} else if (sample && t.term.$id) {\n\t\t\t\tsamplevalue = sample[t.term.$id].value\n\t\t\t} else {\n\t\t\t\tsamplevalue = t.term.id in row ? row[t.term.id] : row\n\t\t\t}\n\t\t\tsetDatasetAnnotations(itemCopy)\n\t\t\tlet thistermmatch\n\n\t\t\tif (t.term.type == 'categorical') {\n\t\t\t\tif (samplevalue === undefined) continue // this sample has no anno for this term, do not count\n\t\t\t\tthistermmatch = t.valueset.has(samplevalue)\n\t\t\t} else if (t.term.type == 'integer' || t.term.type == 'float') {\n\t\t\t\tif (samplevalue === undefined) continue // this sample has no anno for this term, do not count\n\t\t\t\tfor (const range of t.ranges) {\n\t\t\t\t\tif ('value' in range) {\n\t\t\t\t\t\tthistermmatch = samplevalue === range.value\n\t\t\t\t\t\tif (thistermmatch) break\n\t\t\t\t\t} else if (samplevalue == range.name) {\n\t\t\t\t\t\tthistermmatch = true\n\t\t\t\t\t\tbreak\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// actual range\n\t\t\t\t\t\tif (t.term.values) {\n\t\t\t\t\t\t\tconst v = t.term.values[samplevalue.toString()]\n\t\t\t\t\t\t\tif (v && v.uncomputable) {\n\t\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet left, right\n\t\t\t\t\t\tif (range.startunbounded) {\n\t\t\t\t\t\t\tleft = true\n\t\t\t\t\t\t} else if ('start' in range) {\n\t\t\t\t\t\t\tif (range.startinclusive) {\n\t\t\t\t\t\t\t\tleft = samplevalue >= range.start\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tleft = samplevalue > range.start\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (range.stopunbounded) {\n\t\t\t\t\t\t\tright = true\n\t\t\t\t\t\t} else if ('stop' in range) {\n\t\t\t\t\t\t\tif (range.stopinclusive) {\n\t\t\t\t\t\t\t\tright = samplevalue <= range.stop\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tright = samplevalue < range.stop\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthistermmatch = left && right\n\t\t\t\t\t}\n\t\t\t\t\tif (thistermmatch) break\n\t\t\t\t}\n\t\t\t} else if (t.term.type == 'condition') {\n\t\t\t\tconst key = getPrecomputedKey(t)\n\t\t\t\tconst anno = samplevalue && samplevalue[key]\n\t\t\t\tif (anno) {\n\t\t\t\t\tthistermmatch = Array.isArray(anno)\n\t\t\t\t\t\t? t.values.find((d: any) => anno.includes(d.key))\n\t\t\t\t\t\t: t.values.find((d: any) => d.key == anno)\n\t\t\t\t}\n\t\t\t} else if (t.term.type == 'geneVariant') {\n\t\t\t\t/*\n\t\t\t\tsamplevalue.values here can be an array or only one of the entries \n\t\t\t\t[\n\t\t\t\t\t{ dt: 1, class: 'WT', _SAMPLEID_: 21, origin: 'germline' },\n\t\t\t\t\t{ dt: 1, class: 'WT', _SAMPLEID_: 21, origin: 'somatic' },\n\t\t\t\t\t{ dt: 2, class: 'Blank', _SAMPLEID_: 21 },\n\t\t\t\t\t{ dt: 4, class: 'WT', _SAMPLEID_: 21 }\n\t\t\t\t]\n\t\t\t\t*/\n\t\t\t\t/* tvs.values is an array that stores classes (for each available dt) that have/haven't been crossed out by the user at this round of edit-and-apply, e.g.\n [\n {dt: 1, mclassLst: ['WT'], mclassExcludeLst: ['Blank'], origin: 'germline'}\n {dt: 1, mclassLst: ['Blank', 'WT', 'M'], mclassExcludeLst:[], origin:'somatic'},\n {dt: 2, mclassLst: ['Blank', 'WT'], mclassExcludeLst:[]}\n {dt: 4, mclassLst: ['WT', 'CNV_loss'], mclassExcludeLst:[]}\n ]\n */\n\t\t\t\tconst svalues = samplevalue.values || [samplevalue]\n\t\t\t\tfor (const sv of svalues) {\n\t\t\t\t\tthistermmatch =\n\t\t\t\t\t\tt.values.find(\n\t\t\t\t\t\t\t(v: any) =>\n\t\t\t\t\t\t\t\tv.dt == sv.dt &&\n\t\t\t\t\t\t\t\t(!v.origin || sv.origin == v.origin) &&\n\t\t\t\t\t\t\t\t(!v.mclasslst || v.mclasslst.includes(sv.class))\n\t\t\t\t\t\t) && true\n\t\t\t\t\tif (thistermmatch) break\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthrow 'unknown term type [sample_match_termvaluesetting() shared/utils/src/filter.ts]'\n\t\t\t}\n\n\t\t\tif (t.isnot) {\n\t\t\t\tthistermmatch = !thistermmatch\n\t\t\t}\n\t\t\tif (thistermmatch) numberofmatchedterms++\n\t\t}\n\n\t\t// if one tvslst is matched with an \"or\" (Set UNION), then sample is okay\n\t\tif (filter.join == 'or') {\n\t\t\tif (numberofmatchedterms && filter.in) return true\n\t\t\tif (!numberofmatchedterms && !filter.in) return true\n\t\t}\n\t}\n\t// for join=\"and\" (Set intersection)\n\tif (!('in' in filter)) (filter as any).in = true // casting to any avoids tsc err despite it's typed!\n\treturn filter.in == (numberofmatchedterms == lst.length)\n}\n\n/**\n * Recursively processes filter items and sets dataset annotations\n * @param item Filter item to process\n * @param ds Optional dataset with annotation functionality\n */\nexport function setDatasetAnnotations(item: Filter | { type: 'tvs'; tvs: Tvs }, ds: Dataset | null = null): void {\n\tif (item.type == 'tvslst') {\n\t\tfor (const subitem of item.lst) {\n\t\t\tsetDatasetAnnotations(subitem, ds)\n\t\t}\n\t} else {\n\t\tif (ds && typeof ds.setAnnoByTermId == 'function') {\n\t\t\tds.setAnnoByTermId(item.tvs.term.id)\n\t\t}\n\t\tif (item.tvs.term.type == 'categorical') {\n\t\t\tconst tvsAny = item.tvs as any\n\t\t\ttvsAny.valueset = new Set(tvsAny.values.map((i: any) => i.key))\n\t\t}\n\t}\n}\n\n/**\n * Gets the precomputed key for a condition term based on bar_by and value_by settings\n */\nfunction getPrecomputedKey(q: any): string {\n\tconst precomputedKey =\n\t\tq.bar_by_children && q.value_by_max_grade\n\t\t\t? 'childrenAtMaxGrade'\n\t\t\t: q.bar_by_children && q.value_by_most_recent\n\t\t\t? 'childrenAtMostRecent'\n\t\t\t: q.bar_by_children && q.value_by_computable_grade\n\t\t\t? 'children'\n\t\t\t: q.bar_by_grade && q.value_by_max_grade\n\t\t\t? 'maxGrade'\n\t\t\t: q.bar_by_grade && q.value_by_most_recent\n\t\t\t? 'mostRecentGrades'\n\t\t\t: q.bar_by_grade && q.value_by_computable_grade\n\t\t\t? 'computableGrades'\n\t\t\t: ''\n\tif (!precomputedKey) throw `unknown condition term bar_by_* and/or value_by_*`\n\treturn precomputedKey\n}\n\n/**\n * Joins a list of filters into the first filter with \"and\", returns joined filter\n * Used by caller app to join hidden filters into a visible filter\n * @param lst List of filters to join\n * @returns The joined filter\n */\nexport function filterJoin(lst: Filter[]): Filter | undefined {\n\tif (!lst || lst.length == 0) return\n\tlet f = JSON.parse(JSON.stringify(lst[0]))\n\tif (lst.length == 1) return f\n\t// more than 1 item, will join\n\tif (f.lst.length < 2) {\n\t\tif (f.join !== '') throw 'filter.join must be an empty string \"\" when filter.lst.length < 2'\n\t\tf.join = 'and'\n\t} else if (f.join == 'or') {\n\t\t// f is \"or\", wrap it with another root layer of \"and\"\n\t\tf = {\n\t\t\ttype: 'tvslst',\n\t\t\tjoin: 'and',\n\t\t\tin: true,\n\t\t\tlst: [f]\n\t\t}\n\t} else if (f.join != 'and') {\n\t\tthrow 'filter.join must be either \"and\" or \"or\" when .lst length > 1'\n\t}\n\t// now, f.join should be \"and\"\n\t// if the argument lst[0].join == \"and\",\n\t// then the f.in boolean value is reused\n\tfor (let i = 1; i < lst.length; i++) {\n\t\tconst f2 = JSON.parse(JSON.stringify(lst[i]))\n\t\tif (f2.join == 'or') f.lst.push(f2)\n\t\telse f.lst.push(...f2.lst)\n\t}\n\t// if f ends up single-tvs item (from joining single tvs to empty filter), need to set join to '' per filter spec\n\tif (f.lst.length == 1 && f.lst[0].type == 'tvs') {\n\t\tf.join = ''\n\t}\n\treturn f\n}\n\n/**\n * Creates a wrapped tvslst (term value settings list) filter object\n * @param lst List of filter items\n * @param join Join operation (and/or)\n * @param $id Optional filter ID\n * @returns Wrapped filter object\n */\nexport function getWrappedTvslst(lst: Filter['lst'] = [], join: string = '', $id: string | null = null): Filter {\n\tconst filter: Filter = {\n\t\ttype: 'tvslst',\n\t\tin: true,\n\t\tjoin,\n\t\tlst\n\t}\n\tif ($id !== null) filter.$id = $id\n\treturn filter\n}\n\nexport function getTvsDenominators(term: any): string[] {\n\t/* Denominator term ids of a termCollection tvs, which reduces the collection to a\n\tpercentage. term.denominators[] is explicit, matching q.denominators[] of a fraction\n\ttermCollection tw. Filters saved before term.denominators[] existed implied the\n\tdenominator from term.termlst[], which was pruned to the selected members. */\n\tif (Array.isArray(term?.denominators) && term.denominators.length) return term.denominators\n\treturn (term?.termlst || []).map(t => t.id)\n}\n\n/**\n * Validates the term obj of a termCollection tvs, and its fraction member selection\n * @param term tvs.term of a termCollection. term.numerators[] is optional: a tvs may brush\n * on a single member instead of the numerator/denominator fraction. When present, it is\n * validated against the denominators from getTvsDenominators()\n * @throws Error if validation fails\n */\nexport function validateTermCollectionTvs(term: CollectionTermLike): void {\n\tconst memberIds = validateTermCollectionTerm(term)\n\tif (!term.numerators) return // not filtering on a fraction, nothing more to validate\n\tvalidateFractionMembers(term.numerators, getTvsDenominators(term), memberIds)\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,98 @@
1
+ import {
2
+ keyupEnter
3
+ } from "./chunk-TKW5TW4Z.js";
4
+ import {
5
+ require_debounce
6
+ } from "./chunk-LSEFWW72.js";
7
+ import {
8
+ Menu
9
+ } from "./chunk-HYOEWQ5P.js";
10
+ import {
11
+ dofetch,
12
+ dofetch3
13
+ } from "./chunk-JVPWIVDT.js";
14
+ import {
15
+ __toESM
16
+ } from "./chunk-HFNDKYVF.js";
17
+
18
+ // src/gene.js
19
+ var import_debounce = __toESM(require_debounce(), 1);
20
+ var tip;
21
+ function gene_searchbox(p) {
22
+ if (!tip) {
23
+ tip = new Menu({ padding: "" });
24
+ tip.d.style("z-index", 1e3);
25
+ }
26
+ const input = p.div.append("input").attr("placeholder", "Search gene").style("width", p.width || "100px");
27
+ const printdiv = p.resultdiv || (p.tip ? p.tip.d : tip.d);
28
+ function fold() {
29
+ if (p.resultdiv) {
30
+ p.resultdiv.selectAll("*").remove();
31
+ } else if (p.tip) {
32
+ p.tip.hide();
33
+ } else {
34
+ tip.hide();
35
+ }
36
+ }
37
+ input.on("keyup", (event) => {
38
+ const str = event.target.value;
39
+ if (str.length <= 1) {
40
+ fold();
41
+ return;
42
+ }
43
+ if (keyupEnter(event)) {
44
+ const hitgene = printdiv.select(".sja_menuoption");
45
+ if (hitgene.size() > 0) {
46
+ p.callback(hitgene.text());
47
+ fold();
48
+ }
49
+ return;
50
+ }
51
+ debouncer();
52
+ });
53
+ input.node().focus();
54
+ function genesearch() {
55
+ dofetch("genelookup", { genome: p.genome, input: input.property("value") }).then((data) => {
56
+ if (data.error) throw data.error;
57
+ if (!data.hits) throw ".hits[] missing";
58
+ if (p.resultdiv) {
59
+ p.resultdiv.selectAll("*").remove();
60
+ } else if (p.tip) {
61
+ p.tip.clear().showunder(input.node());
62
+ } else {
63
+ tip.clear().showunder(input.node());
64
+ }
65
+ for (const name of data.hits) {
66
+ printdiv.append("div").attr("class", "sja_menuoption").text(name).on("click", () => {
67
+ p.callback(name);
68
+ fold();
69
+ });
70
+ }
71
+ }).catch((err) => {
72
+ printdiv.append("div").text(err.message || err);
73
+ if (err.stack) console.log(err.stack);
74
+ });
75
+ }
76
+ const debouncer = (0, import_debounce.debounce)(genesearch, 300);
77
+ }
78
+ function findgenemodel_bysymbol(genome, str) {
79
+ return dofetch3("genelookup", {
80
+ body: {
81
+ deep: 1,
82
+ input: str,
83
+ genome
84
+ }
85
+ }).then((data) => {
86
+ if (data.error) throw data.error;
87
+ if (!data.gmlst || data.gmlst.length == 0) return null;
88
+ return data.gmlst;
89
+ }).catch((e) => {
90
+ throw e;
91
+ });
92
+ }
93
+
94
+ export {
95
+ gene_searchbox,
96
+ findgenemodel_bysymbol
97
+ };
98
+ //# sourceMappingURL=chunk-5DMVORBB.js.map