@sjcrh/proteinpaint-client 2.224.2 → 2.225.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 (970) hide show
  1. package/dist/2dmaf-4W2R2HXG.js +1362 -0
  2. package/dist/AggMatrixInput-3SQ7UW5L.js +402 -0
  3. package/dist/AggregateMatrix-QI55DXDU.js +37 -0
  4. package/dist/AppHeader-C26OHIUQ.js +826 -0
  5. package/dist/BoxPlot-27OYBGJ3.js +1247 -0
  6. package/dist/CorrelationVolcano-XIMXCSHG.js +613 -0
  7. package/dist/Cuminc-737O733E.js +1217 -0
  8. package/dist/DE-EDTGDY6L.js +85 -0
  9. package/dist/DEinput-ZN76I5M5.js +479 -0
  10. package/dist/DM-25IRANGL.js +86 -0
  11. package/dist/DifferentialAnalysis-7HQYEA5T.js +236 -0
  12. package/dist/Disco-4YNXWGRX.js +3445 -0
  13. package/dist/Disco-4YNXWGRX.js.map +7 -0
  14. package/dist/Disco.UI-67HBGS4Y.js +239 -0
  15. package/dist/DmrPlot-KZVDVPUT.js +366 -0
  16. package/dist/DmrPlot-KZVDVPUT.js.map +7 -0
  17. package/dist/GB-HT3B7Y7R.js +1388 -0
  18. package/dist/GSEA-CMFMNK5Y.js +870 -0
  19. package/dist/GeneExpInput-HMGV23E7.js +38 -0
  20. package/dist/Geomap-RB4SGVPC.js +80 -0
  21. package/dist/HicApp-YRP6YQFA.js +2240 -0
  22. package/dist/IDCViewer-OUSOZNSR.js +10810 -0
  23. package/dist/NumBinaryEditor-YFQDPBB6.js +274 -0
  24. package/dist/NumBinaryEditor.unit.spec-6YC5PCPK.js +308 -0
  25. package/dist/NumContEditor-EH6MA2RW.js +100 -0
  26. package/dist/NumContEditor.unit.spec-Q2JBVIRT.js +160 -0
  27. package/dist/NumCustomBinEditor-USQA3BC6.js +29 -0
  28. package/dist/NumCustomBinEditor.unit.spec-PE2HFRCK.js +393 -0
  29. package/dist/NumDiscreteEditor-VKE4WT24.js +165 -0
  30. package/dist/NumDiscreteEditor.unit.spec-JNG673LE.js +229 -0
  31. package/dist/NumRegularBinEditor-KCCPGJSX.js +29 -0
  32. package/dist/NumRegularBinEditor.unit.spec-4BLKQRZU.js +274 -0
  33. package/dist/NumSplineEditor-4YELHGUO.js +205 -0
  34. package/dist/NumSplineEditor.unit.spec-CKHHK6GH.js +220 -0
  35. package/dist/NumericDensity-LCFM7VSY.js +29 -0
  36. package/dist/NumericDensity.unit.spec-R4ARTJ5I.js +414 -0
  37. package/dist/NumericHandler-2OHRSY6Z.js +30 -0
  38. package/dist/NumericHandler.unit.spec-M3TRIFZW.js +225 -0
  39. package/dist/ProteomeInput-G2EP6QH2.js +610 -0
  40. package/dist/Regression-2HKE6C7F.js +1412 -0
  41. package/dist/RunChart2-WRVW63PB.js +744 -0
  42. package/dist/SC-37RDNFGH.js +1290 -0
  43. package/dist/Violin-KD6FPWC7.js +1105 -0
  44. package/dist/Violin-KD6FPWC7.js.map +7 -0
  45. package/dist/Volcano-U62TCDEL.js +2748 -0
  46. package/dist/Volcano-U62TCDEL.js.map +7 -0
  47. package/dist/Wsi-PB77PVAA.js +637 -0
  48. package/dist/aboutSunburst-5Z24ODIN.js +93 -0
  49. package/dist/adSandbox-AFORHU3V.js +29 -0
  50. package/dist/animatedBubbleChart-F75OBRZW.js +542 -0
  51. package/dist/app-4RZ76DZZ.js +28 -0
  52. package/dist/app-IHE3RNI5.js +38 -0
  53. package/dist/app.js +14 -14
  54. package/dist/bam-IIRZX3IK.js +872 -0
  55. package/dist/barchart-UIHRIMOE.js +38 -0
  56. package/dist/barchart2-DG3S6FDJ.js +305 -0
  57. package/dist/block-COZKGPXY.js +6203 -0
  58. package/dist/block.init-UBXYVTPQ.js +29 -0
  59. package/dist/block.mds.expressionrank-KSXPPPGR.js +350 -0
  60. package/dist/block.mds.geneboxplot-5RDFDVDE.js +819 -0
  61. package/dist/block.mds.junction-LMM24KXJ.js +1534 -0
  62. package/dist/block.mds.svcnv-4XRXZMPS.js +6325 -0
  63. package/dist/block.svg-VAKLMPMS.js +155 -0
  64. package/dist/block.tk.aicheck-6GHZK2YY.js +274 -0
  65. package/dist/block.tk.bam-7H3BSHR2.js +1906 -0
  66. package/dist/block.tk.bigwig.ui-KX2GACY5.js +202 -0
  67. package/dist/block.tk.hicstraw-OOWEWGMF.js +814 -0
  68. package/dist/block.tk.junction-U7W36OZA.js +2353 -0
  69. package/dist/block.tk.junction.textmatrixui-PAMSBYZT.js +190 -0
  70. package/dist/block.tk.ld-RFQPDG7Q.js +90 -0
  71. package/dist/block.tk.menu-JDJU2OGK.js +1050 -0
  72. package/dist/block.tk.pgv-G2UFCQUT.js +934 -0
  73. package/dist/brainImaging-ASAHWZJH.js +550 -0
  74. package/dist/brainRegions-XTJDLUU4.js +213 -0
  75. package/dist/bubbleHeatmap-UPUITTU6.js +374 -0
  76. package/dist/cellTypeBubbleHeatmap-25SOXC2Q.js +274 -0
  77. package/dist/chunk-2N345NXD.js +5790 -0
  78. package/dist/chunk-2N345NXD.js.map +7 -0
  79. package/dist/chunk-2ZYAC3DC.js +299 -0
  80. package/dist/chunk-325X3T7G.js +692 -0
  81. package/dist/chunk-3UXHTSZJ.js +159 -0
  82. package/dist/chunk-4DFKK46J.js +96 -0
  83. package/dist/chunk-54W2RWRB.js +123 -0
  84. package/dist/chunk-5QGC2624.js +54 -0
  85. package/dist/chunk-5YKXYWP3.js +480 -0
  86. package/dist/chunk-6B4AME6E.js +4389 -0
  87. package/dist/chunk-6H4FFHFQ.js +82 -0
  88. package/dist/chunk-6PVVV3UW.js +37 -0
  89. package/dist/chunk-72QBXULB.js +102 -0
  90. package/dist/chunk-7APH7QLC.js +141 -0
  91. package/dist/chunk-7HBAALWJ.js +2685 -0
  92. package/dist/chunk-7UK7CU4F.js +398 -0
  93. package/dist/chunk-7ZTUUKLX.js +203 -0
  94. package/dist/chunk-A7GCFL3R.js +30 -0
  95. package/dist/chunk-AGWIWLOP.js +14 -0
  96. package/dist/chunk-CHQ43UJQ.js +397 -0
  97. package/dist/chunk-CQWR4QZO.js +70 -0
  98. package/dist/chunk-D6TLBMIX.js +1339 -0
  99. package/dist/chunk-DDABG5BR.js +328 -0
  100. package/dist/chunk-DDABG5BR.js.map +7 -0
  101. package/dist/chunk-DOC3HBOV.js +119 -0
  102. package/dist/chunk-DR5JLHTB.js +35 -0
  103. package/dist/chunk-E2Z4X6C2.js +55 -0
  104. package/dist/chunk-E4WAVMI5.js +194 -0
  105. package/dist/chunk-EM76Y3HQ.js +1253 -0
  106. package/dist/chunk-ES7XNERS.js +468 -0
  107. package/dist/chunk-F2RTD23W.js +848 -0
  108. package/dist/chunk-FEE2HAON.js +418 -0
  109. package/dist/chunk-FIWVGOSE.js +54 -0
  110. package/dist/chunk-FT5HOBHJ.js +31 -0
  111. package/dist/chunk-G5BQJGRA.js +2799 -0
  112. package/dist/chunk-GAYYXHOG.js +257 -0
  113. package/dist/chunk-GDIKNIEA.js +263 -0
  114. package/dist/chunk-GIZTZCE5.js +195 -0
  115. package/dist/chunk-GONC3LVY.js +626 -0
  116. package/dist/chunk-HGC4EON3.js +348 -0
  117. package/dist/chunk-HM23KADV.js +281 -0
  118. package/dist/chunk-I7R6YROK.js +267 -0
  119. package/dist/chunk-I7R6YROK.js.map +7 -0
  120. package/dist/chunk-JWX6GEWQ.js +276 -0
  121. package/dist/chunk-K4LZR3HU.js +56 -0
  122. package/dist/chunk-K55KOEI6.js +6375 -0
  123. package/dist/chunk-K7YJILBY.js +5254 -0
  124. package/dist/chunk-K7YJILBY.js.map +7 -0
  125. package/dist/chunk-KLJM7HE5.js +2349 -0
  126. package/dist/chunk-LFH5VSSF.js +176 -0
  127. package/dist/chunk-LVFWXUUX.js +34 -0
  128. package/dist/chunk-LVFWXUUX.js.map +7 -0
  129. package/dist/chunk-MBWG3QHI.js +1219 -0
  130. package/dist/chunk-MZTVOOR6.js +56 -0
  131. package/dist/chunk-N2JOZ3QD.js +444 -0
  132. package/dist/chunk-NG2U3VHX.js +170 -0
  133. package/dist/chunk-NUGYNLTL.js +2334 -0
  134. package/dist/chunk-OCOB7XJW.js +2008 -0
  135. package/dist/chunk-OGDBTL5C.js +54 -0
  136. package/dist/chunk-OOVVKQSD.js +26747 -0
  137. package/dist/chunk-OOVVKQSD.js.map +7 -0
  138. package/dist/chunk-OVXHMJJJ.js +59 -0
  139. package/dist/chunk-PAF5KZCR.js +2932 -0
  140. package/dist/chunk-PI2MCZXG.js +140 -0
  141. package/dist/chunk-PPICALUF.js +2102 -0
  142. package/dist/chunk-QFOT5WAZ.js +134 -0
  143. package/dist/chunk-QFQJO7LD.js +472 -0
  144. package/dist/chunk-QFQJO7LD.js.map +7 -0
  145. package/dist/chunk-QGCB5AKN.js +243 -0
  146. package/dist/chunk-QRZRAMHA.js +184 -0
  147. package/dist/chunk-RGOZHZCN.js +103 -0
  148. package/dist/chunk-RJKY22D4.js +240 -0
  149. package/dist/chunk-RZ2HG7G3.js +102 -0
  150. package/dist/chunk-SI2KSG6E.js +379 -0
  151. package/dist/chunk-U4PLKSSS.js +50 -0
  152. package/dist/chunk-U7G65D2G.js +466 -0
  153. package/dist/chunk-UU3FWU6D.js +305 -0
  154. package/dist/chunk-UXLT7W2N.js +562 -0
  155. package/dist/chunk-VHQDN3OA.js +182 -0
  156. package/dist/chunk-VTMNHAFC.js +30 -0
  157. package/dist/chunk-W3K7KLIR.js +217 -0
  158. package/dist/chunk-WSLS55SH.js +296 -0
  159. package/dist/chunk-WUCIHN7D.js +382 -0
  160. package/dist/chunk-XQIB27PB.js +516 -0
  161. package/dist/chunk-XSBGICK5.js +652 -0
  162. package/dist/chunk-YHW2RAAG.js +274 -0
  163. package/dist/chunk-Z7CCL464.js +550 -0
  164. package/dist/chunk-ZBNPXXMK.js +42 -0
  165. package/dist/chunk-ZNHC46CT.js +340 -0
  166. package/dist/chunk-ZSTD6Y3K.js +255 -0
  167. package/dist/chunk-ZSTD6Y3K.js.map +7 -0
  168. package/dist/cohort-ZFGFEEBD.js +66 -0
  169. package/dist/cohortSunburst-EEPGV2RB.js +402 -0
  170. package/dist/condition-7EWFLQSO.js +323 -0
  171. package/dist/controls-QHDSDWKI.js +30 -0
  172. package/dist/controls.config-LBSCZ6GP.js +30 -0
  173. package/dist/correlation-IJQJPNNP.js +91 -0
  174. package/dist/customdata.inputui-TZGX2CUD.js +280 -0
  175. package/dist/dataDownload-33EWD3AD.js +326 -0
  176. package/dist/databrowser.ui-YNKDTAAN.js +424 -0
  177. package/dist/dictionary-OTR6Z5EZ.js +109 -0
  178. package/dist/dnaMethylation-LQTCTOOE.js +29 -0
  179. package/dist/dnaMethylation.integration.spec-U5VQYAK3.js +194 -0
  180. package/dist/dofetch-HLG7G7RX.js +49 -0
  181. package/dist/e2pca-AXDPYR7U.js +340 -0
  182. package/dist/ep-4WK46CH7.js +1247 -0
  183. package/dist/expclust.gdc.spec-CYGWGREQ.js +298 -0
  184. package/dist/facet-IZSSZDHK.js +556 -0
  185. package/dist/gb-AUZBUZFM.js +77 -0
  186. package/dist/geneExpClustering-AQBFLXLP.js +240 -0
  187. package/dist/geneExpression-HDJVPVPK.js +309 -0
  188. package/dist/geneExpression-V4JMTMLI.js +29 -0
  189. package/dist/geneExpression.unit.spec-KFMSDVMX.js +151 -0
  190. package/dist/geneORA-LDFFSEMQ.js +269 -0
  191. package/dist/geneRanking-IVKDSNDV.js +544 -0
  192. package/dist/geneVariant-7X7EEUDW.js +289 -0
  193. package/dist/geneVariant-TK3FJ22L.js +32 -0
  194. package/dist/geneVariant.integration.spec-ZHAFWQ2O.js +672 -0
  195. package/dist/genefusion.ui-U5YPVXAF.js +299 -0
  196. package/dist/geneset-NSHQ2NDR.js +199 -0
  197. package/dist/genomeBrowser.spec-HP4OQPCV.js +272 -0
  198. package/dist/grin2-5WKONQPG.js +66 -0
  199. package/dist/grin2-V2ZBOJBO.js +945 -0
  200. package/dist/hierCluster-7IOPNYFN.js +55 -0
  201. package/dist/hierCluster-IDBCUKHJ.js +51 -0
  202. package/dist/hierCluster.config-Z4NRL5P5.js +32 -0
  203. package/dist/hierCluster.integration.spec-PHEXOGPI.js +479 -0
  204. package/dist/hierCluster.interactivity-NHZ5EPBV.js +45 -0
  205. package/dist/hierCluster.renderers-WXJUMDFN.js +18 -0
  206. package/dist/imagePlot-NMNCAYS7.js +152 -0
  207. package/dist/importPlot-HZML5XMJ.js +8 -0
  208. package/dist/isoformExpression-4IU4AUQ2.js +31 -0
  209. package/dist/isoformExpression.unit.spec-KKMKU5Z2.js +233 -0
  210. package/dist/junction-EXA2WANI.js +32 -0
  211. package/dist/junction.customTerm-LQYKCZX4.js +15 -0
  212. package/dist/junction.unit.spec-H3FGTLEP.js +178 -0
  213. package/dist/launch.adhoc-YA6FRHSC.js +33 -0
  214. package/dist/leftlabel.sample-N6M4OL2X.js +254 -0
  215. package/dist/leftlabel.sample-N6M4OL2X.js.map +7 -0
  216. package/dist/lollipop-EWLGYDIR.js +162 -0
  217. package/dist/maf-PXMHR3PY.js +451 -0
  218. package/dist/maftimeline-QFKT7PW2.js +583 -0
  219. package/dist/matrix-KASG3KIY.js +55 -0
  220. package/dist/matrix-VSX63V3L.js +50 -0
  221. package/dist/matrix.cells-7TTOQRWU.js +25 -0
  222. package/dist/matrix.config-U3I726EC.js +33 -0
  223. package/dist/matrix.data-Y4DXSR2P.js +22 -0
  224. package/dist/matrix.groups-C5CHYWQZ.js +25 -0
  225. package/dist/matrix.integration.spec-4KWLFXMY.js +3156 -0
  226. package/dist/matrix.interactivity-JK6URU6Z.js +33 -0
  227. package/dist/matrix.layout-KKOA7GGL.js +35 -0
  228. package/dist/matrix.legend-3FFHXTLX.js +19 -0
  229. package/dist/matrix.renderers-F7EWYQWL.js +30 -0
  230. package/dist/matrix.serieses-I4JWWONC.js +18 -0
  231. package/dist/matrix.sort-5JTCLBPB.js +25 -0
  232. package/dist/matrix.sort.unit.spec-EW53F5DT.js +464 -0
  233. package/dist/matrix.sorterUi-Z4JDY7VW.js +15 -0
  234. package/dist/matrix.sorterUi.unit.spec-OGTYY6GC.js +334 -0
  235. package/dist/matrix.unit.spec-RXKKHRUN.js +146 -0
  236. package/dist/mavb-YI2WEGFI.js +726 -0
  237. package/dist/mds.samplescatterplot-GGJE67MF.js +1545 -0
  238. package/dist/mds.survivalplot-A6DS6FHO.js +472 -0
  239. package/dist/multivalue-3WCYDVL3.js +79 -0
  240. package/dist/numericDictTermCluster-AOTEPNEI.js +62 -0
  241. package/dist/oncomatrix-BB4SB5AJ.js +286 -0
  242. package/dist/oncomatrix.spec-M4ZC3KFC.js +439 -0
  243. package/dist/plot.2dvaf-QUD743E6.js +368 -0
  244. package/dist/plot.app-35I4DJXK.js +32 -0
  245. package/dist/plot.barplot-7OL4HWZB.js +93 -0
  246. package/dist/plot.boxplot-N2VSPDYA.js +142 -0
  247. package/dist/plot.brainImaging-4PIAFROV.js +51 -0
  248. package/dist/plot.disco-6CFYMWU3.js +100 -0
  249. package/dist/plot.disco-6CFYMWU3.js.map +7 -0
  250. package/dist/plot.ssgq-MGUBQNWE.js +130 -0
  251. package/dist/plot.vaf2cov-KVI2GMG4.js +249 -0
  252. package/dist/polar2-IGAOHGPE.js +228 -0
  253. package/dist/profileForms-MW7JQURG.js +937 -0
  254. package/dist/profilePlot-OVOSFR47.js +45 -0
  255. package/dist/proteinView-LFP5YYMK.js +1346 -0
  256. package/dist/proteomeCohortCompare-ONYL2UN4.js +866 -0
  257. package/dist/proteomeCohortCompare-ONYL2UN4.js.map +7 -0
  258. package/dist/pseudbulk.unit.spec-CGV4JTEK.js +82 -0
  259. package/dist/pseudobulk-WFCQX5KR.js +31 -0
  260. package/dist/qualitative-4SLUE6BW.js +241 -0
  261. package/dist/qualitative-6H674T7D.js +34 -0
  262. package/dist/radar2-QXHO2MQA.js +323 -0
  263. package/dist/radarFacility2-JCVOYMH4.js +331 -0
  264. package/dist/rememberedGvQ.unit.spec-Q3UZJPE2.js +210 -0
  265. package/dist/render-IIFS3Y2N.js +29 -0
  266. package/dist/report-NFBB3PUI.js +213 -0
  267. package/dist/sampleView-XQXKIPC7.js +39 -0
  268. package/dist/samplelst-RIC5E2W4.js +114 -0
  269. package/dist/samplematrix-WLCFCPBR.js +2188 -0
  270. package/dist/sc-TXRF7D6F.js +77 -0
  271. package/dist/scatter-JUGGPR4B.js +919 -0
  272. package/dist/scatter-YQ47446T.js +84 -0
  273. package/dist/selectGenomeWithTklst-2ELB6HQK.js +125 -0
  274. package/dist/singleCellCellType-DUTH4SZF.js +29 -0
  275. package/dist/singleCellCellType.unit.spec-PWP6I5PZ.js +150 -0
  276. package/dist/singleCellGeneExpression-3563T7GE.js +29 -0
  277. package/dist/singleCellGeneExpression.unit.spec-66IDCFJC.js +144 -0
  278. package/dist/singleCellNumericValue-XVQTKLTS.js +29 -0
  279. package/dist/singleCellNumericValue.unit.spec-LJSTGKNS.js +412 -0
  280. package/dist/singleCellPlot-MKYJJXSG.js +44 -0
  281. package/dist/singlecell-ANCWPAAO.js +1562 -0
  282. package/dist/singlecell-KMRVFOC5.js +77 -0
  283. package/dist/snp-B5UHGWVD.js +29 -0
  284. package/dist/snp.unit.spec-YAHITASM.js +167 -0
  285. package/dist/snplocus-MLGICRGT.js +200 -0
  286. package/dist/snplst-DZPIQEKI.js +36 -0
  287. package/dist/spliceevent.a53ss.diagram-4NYPSFC2.js +142 -0
  288. package/dist/spliceevent.exonskip.diagram-WLLTP7NP.js +274 -0
  289. package/dist/spliceevent.noeventdiagram-NOSO752Y.js +451 -0
  290. package/dist/ssGSEA-4DVY6Z5U.js +29 -0
  291. package/dist/ssGSEA.unit.spec-UDXV4Q7S.js +79 -0
  292. package/dist/stattable-T5X76Q32.js +112 -0
  293. package/dist/studyCatalog-O3EPBJPW.js +457 -0
  294. package/dist/summarizeCnvGeneexp-ST36TPEJ.js +154 -0
  295. package/dist/summarizeGeneexpSurvival-AZOFCBMT.js +101 -0
  296. package/dist/summarizeMutationCnv-HRCW6BYV.js +155 -0
  297. package/dist/summarizeMutationDiagnosis-RQQO2MOR.js +31 -0
  298. package/dist/summarizeMutationSurvival-UHSUJ7FU.js +95 -0
  299. package/dist/summary-ZMM5ET67.js +40 -0
  300. package/dist/summary.integration.spec-GW5UGDDU.js +405 -0
  301. package/dist/summaryInput-ZO5TPARQ.js +238 -0
  302. package/dist/sunburst-6VJS2SUY.js +34 -0
  303. package/dist/sunburst-LXRG2SFE.js +274 -0
  304. package/dist/survival-QXHY7JRR.js +49 -0
  305. package/dist/survival-U6J6KFN2.js +1248 -0
  306. package/dist/survival.integration.spec-HN3LL6IY.js +609 -0
  307. package/dist/svgraph-CVI27CTM.js +1377 -0
  308. package/dist/svmr-GZHAP5IV.js +3834 -0
  309. package/dist/swimmer-M4JGBO72.js +993 -0
  310. package/dist/table-QO22C2ER.js +192 -0
  311. package/dist/termCollection-EN73BZV5.js +247 -0
  312. package/dist/termCollection-KWNFLRWJ.js +29 -0
  313. package/dist/termCollection.unit.spec-Z27AZUE6.js +295 -0
  314. package/dist/termCollectionFractionSelection-Q7QFEPKA.js +38 -0
  315. package/dist/termCollectionFractionSelection.unit.spec-PYLIFZN5.js +184 -0
  316. package/dist/tk-BISILMKL.js +1198 -0
  317. package/dist/tk-BISILMKL.js.map +7 -0
  318. package/dist/tk-WVEDS5OU.js +38 -0
  319. package/dist/tp.ui-CG36YXBY.js +1453 -0
  320. package/dist/tvs.categorical-GCJISWBS.js +28 -0
  321. package/dist/tvs.condition-YTCVMB3I.js +160 -0
  322. package/dist/tvs.dt-UCSZ5S44.js +34 -0
  323. package/dist/tvs.dtcnv.categorical-KYB6XPL3.js +31 -0
  324. package/dist/tvs.dtcnv.continuous-MJWJNMKJ.js +72 -0
  325. package/dist/tvs.dtfusion-IZCEMTH5.js +31 -0
  326. package/dist/tvs.dtitd-DZ4WWGNO.js +31 -0
  327. package/dist/tvs.dtsnvindel-PMJCV4E7.js +31 -0
  328. package/dist/tvs.dtsv-5K2RNWDH.js +31 -0
  329. package/dist/tvs.multivalue-6NSC6JPR.js +84 -0
  330. package/dist/tvs.numeric-7U2NDY4A.js +32 -0
  331. package/dist/tvs.samplelst-3SIYTFWZ.js +95 -0
  332. package/dist/tvs.survival-Q3F5SLBW.js +110 -0
  333. package/dist/tvs.termCollection-OR73LBNX.js +118 -0
  334. package/dist/vocabulary-RWRAQ4VJ.js +32 -0
  335. package/dist/wsi.direct-HABLR3IF.js +11515 -0
  336. package/package.json +3 -3
  337. package/dist/2dmaf-OWA6REJ5.js +0 -1362
  338. package/dist/AggMatrixInput-5GC33U5A.js +0 -402
  339. package/dist/AggregateMatrix-CMJFO53B.js +0 -37
  340. package/dist/AppHeader-KJCXF35P.js +0 -826
  341. package/dist/BoxPlot-NZTO6CLZ.js +0 -1247
  342. package/dist/CorrelationVolcano-GHTPFM2V.js +0 -613
  343. package/dist/Cuminc-HHBYFFFM.js +0 -1217
  344. package/dist/DE-VVKIMVXD.js +0 -85
  345. package/dist/DEinput-F7HSM2SO.js +0 -479
  346. package/dist/DM-UBCIWZEY.js +0 -86
  347. package/dist/DifferentialAnalysis-UUXXMOQS.js +0 -236
  348. package/dist/Disco-NHXU7LG7.js +0 -3384
  349. package/dist/Disco-NHXU7LG7.js.map +0 -7
  350. package/dist/Disco.UI-GSSSK4YJ.js +0 -239
  351. package/dist/DmrPlot-QFSU62PY.js +0 -344
  352. package/dist/DmrPlot-QFSU62PY.js.map +0 -7
  353. package/dist/GB-CIQGJBJP.js +0 -1388
  354. package/dist/GSEA-3GVFEJTX.js +0 -870
  355. package/dist/GeneExpInput-CFU3Q7FM.js +0 -38
  356. package/dist/Geomap-NMVFA77Q.js +0 -80
  357. package/dist/HicApp-4FCGUUJD.js +0 -2240
  358. package/dist/IDCViewer-WFB6AXHD.js +0 -10810
  359. package/dist/NumBinaryEditor-4WUDJRSU.js +0 -274
  360. package/dist/NumBinaryEditor.unit.spec-MV53GTGQ.js +0 -308
  361. package/dist/NumContEditor-U4R6HPDM.js +0 -100
  362. package/dist/NumContEditor.unit.spec-J4ANPBSF.js +0 -160
  363. package/dist/NumCustomBinEditor-QRGDNFP4.js +0 -29
  364. package/dist/NumCustomBinEditor.unit.spec-PPF233FW.js +0 -393
  365. package/dist/NumDiscreteEditor-LNK4KHSL.js +0 -165
  366. package/dist/NumDiscreteEditor.unit.spec-QY6O62JU.js +0 -229
  367. package/dist/NumRegularBinEditor-XTINNM5L.js +0 -29
  368. package/dist/NumRegularBinEditor.unit.spec-FSLARHOC.js +0 -274
  369. package/dist/NumSplineEditor-YSQTKBFA.js +0 -205
  370. package/dist/NumSplineEditor.unit.spec-QNITPY7R.js +0 -220
  371. package/dist/NumericDensity-J5WS74JZ.js +0 -29
  372. package/dist/NumericDensity.unit.spec-4WQWLSSJ.js +0 -414
  373. package/dist/NumericHandler-ZEWC25U2.js +0 -30
  374. package/dist/NumericHandler.unit.spec-A3G5FWGV.js +0 -225
  375. package/dist/ProteomeInput-7DXGQIOO.js +0 -610
  376. package/dist/Regression-VQ5MC6KW.js +0 -1412
  377. package/dist/RunChart2-B33CQUXH.js +0 -744
  378. package/dist/SC-LEVWXS4P.js +0 -1290
  379. package/dist/Violin-L43OHY63.js +0 -1105
  380. package/dist/Violin-L43OHY63.js.map +0 -7
  381. package/dist/Volcano-NTXVM3UR.js +0 -2657
  382. package/dist/Volcano-NTXVM3UR.js.map +0 -7
  383. package/dist/Wsi-VPF6RX3B.js +0 -637
  384. package/dist/aboutSunburst-NGH3V74S.js +0 -93
  385. package/dist/adSandbox-VOAL4P5A.js +0 -29
  386. package/dist/animatedBubbleChart-HKOGYPSS.js +0 -542
  387. package/dist/app-AZLUP2BA.js +0 -28
  388. package/dist/app-JJPKGBEV.js +0 -38
  389. package/dist/bam-GIZSH2MF.js +0 -872
  390. package/dist/barchart-CVTXLIIQ.js +0 -38
  391. package/dist/barchart2-XYC6WITL.js +0 -305
  392. package/dist/block-DXRSU62C.js +0 -6203
  393. package/dist/block.init-U4Y6ROG4.js +0 -29
  394. package/dist/block.mds.expressionrank-BB26LVTM.js +0 -350
  395. package/dist/block.mds.geneboxplot-VVKEU3SL.js +0 -819
  396. package/dist/block.mds.junction-XUZX6EAQ.js +0 -1534
  397. package/dist/block.mds.svcnv-WDSACPWG.js +0 -6325
  398. package/dist/block.svg-T5BA7VLS.js +0 -155
  399. package/dist/block.tk.aicheck-3VN2RDPD.js +0 -274
  400. package/dist/block.tk.bam-5XZ3N4Y7.js +0 -1906
  401. package/dist/block.tk.bigwig.ui-JODVOS4R.js +0 -202
  402. package/dist/block.tk.hicstraw-AFNWJ2YP.js +0 -814
  403. package/dist/block.tk.junction-T2G6XEVS.js +0 -2353
  404. package/dist/block.tk.junction.textmatrixui-FL5MZH7K.js +0 -190
  405. package/dist/block.tk.ld-JKBXDOB5.js +0 -90
  406. package/dist/block.tk.menu-2X4BN7BN.js +0 -1050
  407. package/dist/block.tk.pgv-ASUVEGQF.js +0 -934
  408. package/dist/brainImaging-27442GMQ.js +0 -550
  409. package/dist/brainRegions-3367RQCU.js +0 -213
  410. package/dist/bubbleHeatmap-IOVS6SHX.js +0 -374
  411. package/dist/cellTypeBubbleHeatmap-7XJP6B5W.js +0 -274
  412. package/dist/chunk-2CTAWHGB.js +0 -56
  413. package/dist/chunk-2ESAB2PP.js +0 -848
  414. package/dist/chunk-2GP3LH7J.js +0 -194
  415. package/dist/chunk-2UGYE6EJ.js +0 -54
  416. package/dist/chunk-3TJBSAIO.js +0 -170
  417. package/dist/chunk-46KQE4DV.js +0 -418
  418. package/dist/chunk-4ICGMPPE.js +0 -56
  419. package/dist/chunk-4RQTQDHF.js +0 -5214
  420. package/dist/chunk-4RQTQDHF.js.map +0 -7
  421. package/dist/chunk-5FD6NRGE.js +0 -472
  422. package/dist/chunk-5FD6NRGE.js.map +0 -7
  423. package/dist/chunk-5JBOGNSG.js +0 -159
  424. package/dist/chunk-5OWPH4IH.js +0 -626
  425. package/dist/chunk-63TCOVAK.js +0 -30
  426. package/dist/chunk-7ONTCJWB.js +0 -1219
  427. package/dist/chunk-7Q4KAFCS.js +0 -281
  428. package/dist/chunk-7UXV4IX5.js +0 -102
  429. package/dist/chunk-7ZCYC2DQ.js +0 -70
  430. package/dist/chunk-AQSZLUDV.js +0 -184
  431. package/dist/chunk-BBA5MAFS.js +0 -240
  432. package/dist/chunk-BNJC6OX5.js +0 -2102
  433. package/dist/chunk-BOQYGAYA.js +0 -119
  434. package/dist/chunk-C4YACFGH.js +0 -692
  435. package/dist/chunk-CKO54XWB.js +0 -54
  436. package/dist/chunk-COWLQ74R.js +0 -82
  437. package/dist/chunk-CU434U4N.js +0 -35
  438. package/dist/chunk-CZOJUH3C.js +0 -30
  439. package/dist/chunk-D22DJFFZ.js +0 -254
  440. package/dist/chunk-D22DJFFZ.js.map +0 -7
  441. package/dist/chunk-D2YPS46O.js +0 -266
  442. package/dist/chunk-D2YPS46O.js.map +0 -7
  443. package/dist/chunk-DVSTBGZT.js +0 -182
  444. package/dist/chunk-EIO6DMIQ.js +0 -31
  445. package/dist/chunk-EM56Y4X6.js +0 -2685
  446. package/dist/chunk-F6CYUMSM.js +0 -37
  447. package/dist/chunk-FUTHP5J4.js +0 -274
  448. package/dist/chunk-G5GFCBJT.js +0 -217
  449. package/dist/chunk-GOL6A746.js +0 -96
  450. package/dist/chunk-GVLXSPTN.js +0 -141
  451. package/dist/chunk-HNU4RYI5.js +0 -203
  452. package/dist/chunk-HTIZFNBC.js +0 -4389
  453. package/dist/chunk-HUF5BTO6.js +0 -562
  454. package/dist/chunk-HWP3U2VY.js +0 -382
  455. package/dist/chunk-JEXS72M5.js +0 -550
  456. package/dist/chunk-JNIYPQWY.js +0 -176
  457. package/dist/chunk-K5RCZIZN.js +0 -2799
  458. package/dist/chunk-KA3KYNOP.js +0 -195
  459. package/dist/chunk-KGFH5VTH.js +0 -444
  460. package/dist/chunk-KTRDLHCP.js +0 -397
  461. package/dist/chunk-L6TGKNRA.js +0 -516
  462. package/dist/chunk-LN4KNFOQ.js +0 -55
  463. package/dist/chunk-M4ML4ACA.js +0 -134
  464. package/dist/chunk-MIDVLNN3.js +0 -123
  465. package/dist/chunk-MUVXIOXM.js +0 -276
  466. package/dist/chunk-N2RAPA7D.js +0 -42
  467. package/dist/chunk-N6AHRJAM.js +0 -1339
  468. package/dist/chunk-NB4UU4DH.js +0 -54
  469. package/dist/chunk-NGG4737W.js +0 -296
  470. package/dist/chunk-O4BDFBVK.js +0 -1253
  471. package/dist/chunk-OGU7IDV7.js +0 -102
  472. package/dist/chunk-OT2DMA2D.js +0 -652
  473. package/dist/chunk-OVO6NYUR.js +0 -480
  474. package/dist/chunk-OXRZSZKA.js +0 -2008
  475. package/dist/chunk-QMR3QMJG.js +0 -50
  476. package/dist/chunk-QUVGLTCF.js +0 -103
  477. package/dist/chunk-R2H22S4J.js +0 -5786
  478. package/dist/chunk-R2H22S4J.js.map +0 -7
  479. package/dist/chunk-RCLCEA55.js +0 -305
  480. package/dist/chunk-RCVA2RWU.js +0 -466
  481. package/dist/chunk-RSCSTOUN.js +0 -6375
  482. package/dist/chunk-SCXWXLMR.js +0 -237
  483. package/dist/chunk-SCXWXLMR.js.map +0 -7
  484. package/dist/chunk-SQUMXZXI.js +0 -257
  485. package/dist/chunk-T2DORAV4.js +0 -398
  486. package/dist/chunk-TBXJ2CUA.js +0 -14
  487. package/dist/chunk-TQLHKDNS.js +0 -140
  488. package/dist/chunk-TTSKLWP7.js +0 -2932
  489. package/dist/chunk-VQD6GZMU.js +0 -59
  490. package/dist/chunk-VZBRG6HQ.js +0 -263
  491. package/dist/chunk-WQHL6SR3.js +0 -468
  492. package/dist/chunk-X7JGAQ5N.js +0 -340
  493. package/dist/chunk-Z6ZFRHXK.js +0 -2334
  494. package/dist/chunk-ZCY72DDM.js +0 -379
  495. package/dist/chunk-ZHY7ZHWC.js +0 -243
  496. package/dist/chunk-ZIMAIUZD.js +0 -26744
  497. package/dist/chunk-ZIMAIUZD.js.map +0 -7
  498. package/dist/chunk-ZLQ6PAI6.js +0 -299
  499. package/dist/chunk-ZUG4EY4T.js +0 -348
  500. package/dist/chunk-ZUXXBQ7D.js +0 -2349
  501. package/dist/cohort-2DQOQ5AO.js +0 -66
  502. package/dist/cohortSunburst-W6XC7VD6.js +0 -402
  503. package/dist/condition-3A7I5UQA.js +0 -323
  504. package/dist/controls-G5WYBX4P.js +0 -30
  505. package/dist/controls.config-TAFGM2S2.js +0 -30
  506. package/dist/correlation-K4EOOQJU.js +0 -91
  507. package/dist/customdata.inputui-E7RRN3KY.js +0 -280
  508. package/dist/dataDownload-OXZGAE5R.js +0 -326
  509. package/dist/databrowser.ui-IPUF6LUC.js +0 -424
  510. package/dist/dictionary-MUNAUI43.js +0 -109
  511. package/dist/dnaMethylation-SOV4HBAX.js +0 -29
  512. package/dist/dnaMethylation.integration.spec-T4KKTMRL.js +0 -194
  513. package/dist/dofetch-2CR2TVWC.js +0 -49
  514. package/dist/e2pca-EIOJCV4O.js +0 -340
  515. package/dist/ep-5QX3CW6D.js +0 -1247
  516. package/dist/expclust.gdc.spec-TNHPZLYQ.js +0 -298
  517. package/dist/facet-I3OC4DK2.js +0 -556
  518. package/dist/gb-WPIUHR3O.js +0 -77
  519. package/dist/geneExpClustering-EYGZENSP.js +0 -240
  520. package/dist/geneExpression-54L3DH32.js +0 -309
  521. package/dist/geneExpression-6S6H2EVY.js +0 -29
  522. package/dist/geneExpression.unit.spec-VVI2MXIH.js +0 -151
  523. package/dist/geneORA-7M64LXZC.js +0 -269
  524. package/dist/geneRanking-676CAA3B.js +0 -544
  525. package/dist/geneVariant-4UPJE6MJ.js +0 -289
  526. package/dist/geneVariant-PFVPL22U.js +0 -32
  527. package/dist/geneVariant.integration.spec-EAJ4OSFQ.js +0 -672
  528. package/dist/genefusion.ui-LP4EJUTO.js +0 -299
  529. package/dist/geneset-ANDOMTPO.js +0 -199
  530. package/dist/genomeBrowser.spec-NUXOOL5N.js +0 -272
  531. package/dist/grin2-K4LRVCES.js +0 -66
  532. package/dist/grin2-YFCWJZFR.js +0 -945
  533. package/dist/hierCluster-POD3DRO4.js +0 -55
  534. package/dist/hierCluster-QA7HXKRD.js +0 -51
  535. package/dist/hierCluster.config-HQ3SVKCE.js +0 -32
  536. package/dist/hierCluster.integration.spec-MOYDWJL3.js +0 -479
  537. package/dist/hierCluster.interactivity-OZTNHXZQ.js +0 -45
  538. package/dist/hierCluster.renderers-46E37NL4.js +0 -18
  539. package/dist/imagePlot-HNAYBWY3.js +0 -152
  540. package/dist/importPlot-XTW46VF4.js +0 -8
  541. package/dist/isoformExpression-2TMTILKG.js +0 -31
  542. package/dist/isoformExpression.unit.spec-SIJWP7TH.js +0 -233
  543. package/dist/junction-AICKHNXX.js +0 -32
  544. package/dist/junction.customTerm-5STKYZ4B.js +0 -15
  545. package/dist/junction.unit.spec-EXFN4MLW.js +0 -178
  546. package/dist/launch.adhoc-PB6PGR7Q.js +0 -33
  547. package/dist/leftlabel.sample-ISUD4A7F.js +0 -253
  548. package/dist/leftlabel.sample-ISUD4A7F.js.map +0 -7
  549. package/dist/lollipop-5UXUAFYY.js +0 -162
  550. package/dist/maf-L6YD25JK.js +0 -451
  551. package/dist/maftimeline-63YZDGJ3.js +0 -583
  552. package/dist/matrix-OPEBHZCW.js +0 -55
  553. package/dist/matrix-TLMWPG7C.js +0 -50
  554. package/dist/matrix.cells-IELMNYC6.js +0 -25
  555. package/dist/matrix.config-J7SVFXLM.js +0 -33
  556. package/dist/matrix.data-DJTJCPO4.js +0 -22
  557. package/dist/matrix.groups-2REICNZK.js +0 -25
  558. package/dist/matrix.integration.spec-ZXU2OEFU.js +0 -3156
  559. package/dist/matrix.interactivity-SX3OR6OI.js +0 -33
  560. package/dist/matrix.layout-ZJ6X5RON.js +0 -35
  561. package/dist/matrix.legend-ZOP72TIO.js +0 -19
  562. package/dist/matrix.renderers-YUSROXKN.js +0 -30
  563. package/dist/matrix.serieses-UMAZNCMR.js +0 -18
  564. package/dist/matrix.sort-2JNIZHNL.js +0 -25
  565. package/dist/matrix.sort.unit.spec-SNB643Y6.js +0 -464
  566. package/dist/matrix.sorterUi-JXEIY6UL.js +0 -15
  567. package/dist/matrix.sorterUi.unit.spec-LDAT4R3H.js +0 -334
  568. package/dist/matrix.unit.spec-QBQIMDLD.js +0 -146
  569. package/dist/mavb-EQUF3VGG.js +0 -726
  570. package/dist/mds.samplescatterplot-73E45ZT7.js +0 -1545
  571. package/dist/mds.survivalplot-DL53IRVD.js +0 -472
  572. package/dist/multivalue-PQN75ENP.js +0 -79
  573. package/dist/numericDictTermCluster-FGMIOTBO.js +0 -62
  574. package/dist/oncomatrix-CCHWOA3N.js +0 -286
  575. package/dist/oncomatrix.spec-GQT3UTCR.js +0 -439
  576. package/dist/plot.2dvaf-L6ZI5ROR.js +0 -368
  577. package/dist/plot.app-A73VXJCP.js +0 -32
  578. package/dist/plot.barplot-HSCHPOO7.js +0 -93
  579. package/dist/plot.boxplot-AXBVNTNH.js +0 -142
  580. package/dist/plot.brainImaging-PEMURKM3.js +0 -51
  581. package/dist/plot.disco-YKMYYVMV.js +0 -98
  582. package/dist/plot.disco-YKMYYVMV.js.map +0 -7
  583. package/dist/plot.ssgq-FGMQXKZU.js +0 -130
  584. package/dist/plot.vaf2cov-IBM7NQEB.js +0 -249
  585. package/dist/polar2-N7KWY36S.js +0 -228
  586. package/dist/profileForms-Q4NN7653.js +0 -937
  587. package/dist/profilePlot-SQ77M6LI.js +0 -45
  588. package/dist/proteinView-KSIZRDNP.js +0 -1346
  589. package/dist/proteomeCohortCompare-GYSBJSDY.js +0 -866
  590. package/dist/proteomeCohortCompare-GYSBJSDY.js.map +0 -7
  591. package/dist/pseudbulk.unit.spec-XELPZVXM.js +0 -82
  592. package/dist/pseudobulk-H3USXM5U.js +0 -31
  593. package/dist/qualitative-ABXENRAF.js +0 -34
  594. package/dist/qualitative-OSEJTJ4D.js +0 -241
  595. package/dist/radar2-VTDQGHWN.js +0 -323
  596. package/dist/radarFacility2-BWGEC5A2.js +0 -331
  597. package/dist/rememberedGvQ.unit.spec-TWUDSEDP.js +0 -210
  598. package/dist/render-C3XJQ2QY.js +0 -29
  599. package/dist/report-7ZZ44X4R.js +0 -213
  600. package/dist/sampleView-CUCNI65Q.js +0 -39
  601. package/dist/samplelst-S7AJQ36J.js +0 -114
  602. package/dist/samplematrix-U7WM6GNB.js +0 -2188
  603. package/dist/sc-FMJHN2SW.js +0 -77
  604. package/dist/scatter-4UMCJNEH.js +0 -919
  605. package/dist/scatter-KMAZ3ZNR.js +0 -84
  606. package/dist/selectGenomeWithTklst-5SRM45BI.js +0 -125
  607. package/dist/singleCellCellType-GIIICJK5.js +0 -29
  608. package/dist/singleCellCellType.unit.spec-MVA7BMGL.js +0 -150
  609. package/dist/singleCellGeneExpression-2QFQHJJH.js +0 -29
  610. package/dist/singleCellGeneExpression.unit.spec-SAIETYHV.js +0 -144
  611. package/dist/singleCellNumericValue-45H5EPIB.js +0 -29
  612. package/dist/singleCellNumericValue.unit.spec-FNKEJ2WC.js +0 -412
  613. package/dist/singleCellPlot-SP7OEGYQ.js +0 -44
  614. package/dist/singlecell-AVZQX4AH.js +0 -1562
  615. package/dist/singlecell-JQKUHGIH.js +0 -77
  616. package/dist/snp-4SA7VABN.js +0 -29
  617. package/dist/snp.unit.spec-YIYGR6GW.js +0 -167
  618. package/dist/snplocus-TDGQ57ZJ.js +0 -200
  619. package/dist/snplst-SWBGRYPA.js +0 -36
  620. package/dist/spliceevent.a53ss.diagram-YODOBS6U.js +0 -142
  621. package/dist/spliceevent.exonskip.diagram-PMZIQ5UG.js +0 -274
  622. package/dist/spliceevent.noeventdiagram-A4T2PNUX.js +0 -451
  623. package/dist/ssGSEA-U7D6HOIV.js +0 -29
  624. package/dist/ssGSEA.unit.spec-SMNAM5DJ.js +0 -79
  625. package/dist/stattable-DBYMPJU6.js +0 -112
  626. package/dist/studyCatalog-7RABX4W5.js +0 -457
  627. package/dist/summarizeCnvGeneexp-YVRW7LWY.js +0 -154
  628. package/dist/summarizeGeneexpSurvival-ZB7IWGPS.js +0 -101
  629. package/dist/summarizeMutationCnv-CUSYURDK.js +0 -155
  630. package/dist/summarizeMutationDiagnosis-NSPCT5WI.js +0 -31
  631. package/dist/summarizeMutationSurvival-2PZZCC4G.js +0 -95
  632. package/dist/summary-CYDZSICI.js +0 -40
  633. package/dist/summary.integration.spec-2TLKJS3X.js +0 -405
  634. package/dist/summaryInput-BRQ5JRGV.js +0 -238
  635. package/dist/sunburst-435LKL2S.js +0 -34
  636. package/dist/sunburst-D5WAGHX6.js +0 -274
  637. package/dist/survival-M63B6DY5.js +0 -1248
  638. package/dist/survival-MHESSYWF.js +0 -49
  639. package/dist/survival.integration.spec-WMS3FTNR.js +0 -609
  640. package/dist/svgraph-LYFGVTHI.js +0 -1377
  641. package/dist/svmr-UR67QZIP.js +0 -3834
  642. package/dist/swimmer-RP4SUEZS.js +0 -993
  643. package/dist/table-V4OOMF3B.js +0 -192
  644. package/dist/termCollection-VHGVBSWW.js +0 -29
  645. package/dist/termCollection-WSNM3YFK.js +0 -247
  646. package/dist/termCollection.unit.spec-NCZUZL6P.js +0 -295
  647. package/dist/termCollectionFractionSelection-XM3FJWBQ.js +0 -38
  648. package/dist/termCollectionFractionSelection.unit.spec-VO4SAV72.js +0 -184
  649. package/dist/tk-G5PKWSXJ.js +0 -1193
  650. package/dist/tk-G5PKWSXJ.js.map +0 -7
  651. package/dist/tk-KIELQHVI.js +0 -37
  652. package/dist/tp.ui-HAKSWLFB.js +0 -1453
  653. package/dist/tvs.categorical-G4DM4JY5.js +0 -28
  654. package/dist/tvs.condition-E5NUQONB.js +0 -160
  655. package/dist/tvs.dt-T4BK24VZ.js +0 -34
  656. package/dist/tvs.dtcnv.categorical-V57TZFRA.js +0 -31
  657. package/dist/tvs.dtcnv.continuous-D4YIB4PN.js +0 -72
  658. package/dist/tvs.dtfusion-6DUFLUNH.js +0 -31
  659. package/dist/tvs.dtitd-GOEPAQGR.js +0 -31
  660. package/dist/tvs.dtsnvindel-ASTXGC4O.js +0 -31
  661. package/dist/tvs.dtsv-7TGDEWXK.js +0 -31
  662. package/dist/tvs.multivalue-SEIGL2W6.js +0 -84
  663. package/dist/tvs.numeric-MLLX5L7Z.js +0 -32
  664. package/dist/tvs.samplelst-HAV7C2EA.js +0 -95
  665. package/dist/tvs.survival-3B522MT2.js +0 -110
  666. package/dist/tvs.termCollection-R5NG4VXP.js +0 -118
  667. package/dist/vocabulary-LBNHNSEN.js +0 -32
  668. package/dist/wsi.direct-ZEZO4NLR.js +0 -11515
  669. /package/dist/{2dmaf-OWA6REJ5.js.map → 2dmaf-4W2R2HXG.js.map} +0 -0
  670. /package/dist/{AggMatrixInput-5GC33U5A.js.map → AggMatrixInput-3SQ7UW5L.js.map} +0 -0
  671. /package/dist/{AggregateMatrix-CMJFO53B.js.map → AggregateMatrix-QI55DXDU.js.map} +0 -0
  672. /package/dist/{AppHeader-KJCXF35P.js.map → AppHeader-C26OHIUQ.js.map} +0 -0
  673. /package/dist/{BoxPlot-NZTO6CLZ.js.map → BoxPlot-27OYBGJ3.js.map} +0 -0
  674. /package/dist/{CorrelationVolcano-GHTPFM2V.js.map → CorrelationVolcano-XIMXCSHG.js.map} +0 -0
  675. /package/dist/{Cuminc-HHBYFFFM.js.map → Cuminc-737O733E.js.map} +0 -0
  676. /package/dist/{DE-VVKIMVXD.js.map → DE-EDTGDY6L.js.map} +0 -0
  677. /package/dist/{DEinput-F7HSM2SO.js.map → DEinput-ZN76I5M5.js.map} +0 -0
  678. /package/dist/{DM-UBCIWZEY.js.map → DM-25IRANGL.js.map} +0 -0
  679. /package/dist/{DifferentialAnalysis-UUXXMOQS.js.map → DifferentialAnalysis-7HQYEA5T.js.map} +0 -0
  680. /package/dist/{Disco.UI-GSSSK4YJ.js.map → Disco.UI-67HBGS4Y.js.map} +0 -0
  681. /package/dist/{GB-CIQGJBJP.js.map → GB-HT3B7Y7R.js.map} +0 -0
  682. /package/dist/{GSEA-3GVFEJTX.js.map → GSEA-CMFMNK5Y.js.map} +0 -0
  683. /package/dist/{GeneExpInput-CFU3Q7FM.js.map → GeneExpInput-HMGV23E7.js.map} +0 -0
  684. /package/dist/{Geomap-NMVFA77Q.js.map → Geomap-RB4SGVPC.js.map} +0 -0
  685. /package/dist/{HicApp-4FCGUUJD.js.map → HicApp-YRP6YQFA.js.map} +0 -0
  686. /package/dist/{IDCViewer-WFB6AXHD.js.map → IDCViewer-OUSOZNSR.js.map} +0 -0
  687. /package/dist/{NumBinaryEditor-4WUDJRSU.js.map → NumBinaryEditor-YFQDPBB6.js.map} +0 -0
  688. /package/dist/{NumBinaryEditor.unit.spec-MV53GTGQ.js.map → NumBinaryEditor.unit.spec-6YC5PCPK.js.map} +0 -0
  689. /package/dist/{NumContEditor-U4R6HPDM.js.map → NumContEditor-EH6MA2RW.js.map} +0 -0
  690. /package/dist/{NumContEditor.unit.spec-J4ANPBSF.js.map → NumContEditor.unit.spec-Q2JBVIRT.js.map} +0 -0
  691. /package/dist/{NumCustomBinEditor-QRGDNFP4.js.map → NumCustomBinEditor-USQA3BC6.js.map} +0 -0
  692. /package/dist/{NumCustomBinEditor.unit.spec-PPF233FW.js.map → NumCustomBinEditor.unit.spec-PE2HFRCK.js.map} +0 -0
  693. /package/dist/{NumDiscreteEditor-LNK4KHSL.js.map → NumDiscreteEditor-VKE4WT24.js.map} +0 -0
  694. /package/dist/{NumDiscreteEditor.unit.spec-QY6O62JU.js.map → NumDiscreteEditor.unit.spec-JNG673LE.js.map} +0 -0
  695. /package/dist/{NumRegularBinEditor-XTINNM5L.js.map → NumRegularBinEditor-KCCPGJSX.js.map} +0 -0
  696. /package/dist/{NumRegularBinEditor.unit.spec-FSLARHOC.js.map → NumRegularBinEditor.unit.spec-4BLKQRZU.js.map} +0 -0
  697. /package/dist/{NumSplineEditor-YSQTKBFA.js.map → NumSplineEditor-4YELHGUO.js.map} +0 -0
  698. /package/dist/{NumSplineEditor.unit.spec-QNITPY7R.js.map → NumSplineEditor.unit.spec-CKHHK6GH.js.map} +0 -0
  699. /package/dist/{NumericDensity-J5WS74JZ.js.map → NumericDensity-LCFM7VSY.js.map} +0 -0
  700. /package/dist/{NumericDensity.unit.spec-4WQWLSSJ.js.map → NumericDensity.unit.spec-R4ARTJ5I.js.map} +0 -0
  701. /package/dist/{NumericHandler-ZEWC25U2.js.map → NumericHandler-2OHRSY6Z.js.map} +0 -0
  702. /package/dist/{NumericHandler.unit.spec-A3G5FWGV.js.map → NumericHandler.unit.spec-M3TRIFZW.js.map} +0 -0
  703. /package/dist/{ProteomeInput-7DXGQIOO.js.map → ProteomeInput-G2EP6QH2.js.map} +0 -0
  704. /package/dist/{Regression-VQ5MC6KW.js.map → Regression-2HKE6C7F.js.map} +0 -0
  705. /package/dist/{RunChart2-B33CQUXH.js.map → RunChart2-WRVW63PB.js.map} +0 -0
  706. /package/dist/{SC-LEVWXS4P.js.map → SC-37RDNFGH.js.map} +0 -0
  707. /package/dist/{Wsi-VPF6RX3B.js.map → Wsi-PB77PVAA.js.map} +0 -0
  708. /package/dist/{aboutSunburst-NGH3V74S.js.map → aboutSunburst-5Z24ODIN.js.map} +0 -0
  709. /package/dist/{adSandbox-VOAL4P5A.js.map → adSandbox-AFORHU3V.js.map} +0 -0
  710. /package/dist/{animatedBubbleChart-HKOGYPSS.js.map → animatedBubbleChart-F75OBRZW.js.map} +0 -0
  711. /package/dist/{app-AZLUP2BA.js.map → app-4RZ76DZZ.js.map} +0 -0
  712. /package/dist/{app-JJPKGBEV.js.map → app-IHE3RNI5.js.map} +0 -0
  713. /package/dist/{bam-GIZSH2MF.js.map → bam-IIRZX3IK.js.map} +0 -0
  714. /package/dist/{barchart-CVTXLIIQ.js.map → barchart-UIHRIMOE.js.map} +0 -0
  715. /package/dist/{barchart2-XYC6WITL.js.map → barchart2-DG3S6FDJ.js.map} +0 -0
  716. /package/dist/{block-DXRSU62C.js.map → block-COZKGPXY.js.map} +0 -0
  717. /package/dist/{block.init-U4Y6ROG4.js.map → block.init-UBXYVTPQ.js.map} +0 -0
  718. /package/dist/{block.mds.expressionrank-BB26LVTM.js.map → block.mds.expressionrank-KSXPPPGR.js.map} +0 -0
  719. /package/dist/{block.mds.geneboxplot-VVKEU3SL.js.map → block.mds.geneboxplot-5RDFDVDE.js.map} +0 -0
  720. /package/dist/{block.mds.junction-XUZX6EAQ.js.map → block.mds.junction-LMM24KXJ.js.map} +0 -0
  721. /package/dist/{block.mds.svcnv-WDSACPWG.js.map → block.mds.svcnv-4XRXZMPS.js.map} +0 -0
  722. /package/dist/{block.svg-T5BA7VLS.js.map → block.svg-VAKLMPMS.js.map} +0 -0
  723. /package/dist/{block.tk.aicheck-3VN2RDPD.js.map → block.tk.aicheck-6GHZK2YY.js.map} +0 -0
  724. /package/dist/{block.tk.bam-5XZ3N4Y7.js.map → block.tk.bam-7H3BSHR2.js.map} +0 -0
  725. /package/dist/{block.tk.bigwig.ui-JODVOS4R.js.map → block.tk.bigwig.ui-KX2GACY5.js.map} +0 -0
  726. /package/dist/{block.tk.hicstraw-AFNWJ2YP.js.map → block.tk.hicstraw-OOWEWGMF.js.map} +0 -0
  727. /package/dist/{block.tk.junction-T2G6XEVS.js.map → block.tk.junction-U7W36OZA.js.map} +0 -0
  728. /package/dist/{block.tk.junction.textmatrixui-FL5MZH7K.js.map → block.tk.junction.textmatrixui-PAMSBYZT.js.map} +0 -0
  729. /package/dist/{block.tk.ld-JKBXDOB5.js.map → block.tk.ld-RFQPDG7Q.js.map} +0 -0
  730. /package/dist/{block.tk.menu-2X4BN7BN.js.map → block.tk.menu-JDJU2OGK.js.map} +0 -0
  731. /package/dist/{block.tk.pgv-ASUVEGQF.js.map → block.tk.pgv-G2UFCQUT.js.map} +0 -0
  732. /package/dist/{brainImaging-27442GMQ.js.map → brainImaging-ASAHWZJH.js.map} +0 -0
  733. /package/dist/{brainRegions-3367RQCU.js.map → brainRegions-XTJDLUU4.js.map} +0 -0
  734. /package/dist/{bubbleHeatmap-IOVS6SHX.js.map → bubbleHeatmap-UPUITTU6.js.map} +0 -0
  735. /package/dist/{cellTypeBubbleHeatmap-7XJP6B5W.js.map → cellTypeBubbleHeatmap-25SOXC2Q.js.map} +0 -0
  736. /package/dist/{chunk-ZLQ6PAI6.js.map → chunk-2ZYAC3DC.js.map} +0 -0
  737. /package/dist/{chunk-C4YACFGH.js.map → chunk-325X3T7G.js.map} +0 -0
  738. /package/dist/{chunk-5JBOGNSG.js.map → chunk-3UXHTSZJ.js.map} +0 -0
  739. /package/dist/{chunk-GOL6A746.js.map → chunk-4DFKK46J.js.map} +0 -0
  740. /package/dist/{chunk-MIDVLNN3.js.map → chunk-54W2RWRB.js.map} +0 -0
  741. /package/dist/{chunk-CKO54XWB.js.map → chunk-5QGC2624.js.map} +0 -0
  742. /package/dist/{chunk-OVO6NYUR.js.map → chunk-5YKXYWP3.js.map} +0 -0
  743. /package/dist/{chunk-HTIZFNBC.js.map → chunk-6B4AME6E.js.map} +0 -0
  744. /package/dist/{chunk-COWLQ74R.js.map → chunk-6H4FFHFQ.js.map} +0 -0
  745. /package/dist/{chunk-F6CYUMSM.js.map → chunk-6PVVV3UW.js.map} +0 -0
  746. /package/dist/{chunk-7UXV4IX5.js.map → chunk-72QBXULB.js.map} +0 -0
  747. /package/dist/{chunk-GVLXSPTN.js.map → chunk-7APH7QLC.js.map} +0 -0
  748. /package/dist/{chunk-EM56Y4X6.js.map → chunk-7HBAALWJ.js.map} +0 -0
  749. /package/dist/{chunk-T2DORAV4.js.map → chunk-7UK7CU4F.js.map} +0 -0
  750. /package/dist/{chunk-HNU4RYI5.js.map → chunk-7ZTUUKLX.js.map} +0 -0
  751. /package/dist/{chunk-CZOJUH3C.js.map → chunk-A7GCFL3R.js.map} +0 -0
  752. /package/dist/{chunk-TBXJ2CUA.js.map → chunk-AGWIWLOP.js.map} +0 -0
  753. /package/dist/{chunk-KTRDLHCP.js.map → chunk-CHQ43UJQ.js.map} +0 -0
  754. /package/dist/{chunk-7ZCYC2DQ.js.map → chunk-CQWR4QZO.js.map} +0 -0
  755. /package/dist/{chunk-N6AHRJAM.js.map → chunk-D6TLBMIX.js.map} +0 -0
  756. /package/dist/{chunk-BOQYGAYA.js.map → chunk-DOC3HBOV.js.map} +0 -0
  757. /package/dist/{chunk-CU434U4N.js.map → chunk-DR5JLHTB.js.map} +0 -0
  758. /package/dist/{chunk-LN4KNFOQ.js.map → chunk-E2Z4X6C2.js.map} +0 -0
  759. /package/dist/{chunk-2GP3LH7J.js.map → chunk-E4WAVMI5.js.map} +0 -0
  760. /package/dist/{chunk-O4BDFBVK.js.map → chunk-EM76Y3HQ.js.map} +0 -0
  761. /package/dist/{chunk-WQHL6SR3.js.map → chunk-ES7XNERS.js.map} +0 -0
  762. /package/dist/{chunk-2ESAB2PP.js.map → chunk-F2RTD23W.js.map} +0 -0
  763. /package/dist/{chunk-46KQE4DV.js.map → chunk-FEE2HAON.js.map} +0 -0
  764. /package/dist/{chunk-2UGYE6EJ.js.map → chunk-FIWVGOSE.js.map} +0 -0
  765. /package/dist/{chunk-EIO6DMIQ.js.map → chunk-FT5HOBHJ.js.map} +0 -0
  766. /package/dist/{chunk-K5RCZIZN.js.map → chunk-G5BQJGRA.js.map} +0 -0
  767. /package/dist/{chunk-SQUMXZXI.js.map → chunk-GAYYXHOG.js.map} +0 -0
  768. /package/dist/{chunk-VZBRG6HQ.js.map → chunk-GDIKNIEA.js.map} +0 -0
  769. /package/dist/{chunk-KA3KYNOP.js.map → chunk-GIZTZCE5.js.map} +0 -0
  770. /package/dist/{chunk-5OWPH4IH.js.map → chunk-GONC3LVY.js.map} +0 -0
  771. /package/dist/{chunk-ZUG4EY4T.js.map → chunk-HGC4EON3.js.map} +0 -0
  772. /package/dist/{chunk-7Q4KAFCS.js.map → chunk-HM23KADV.js.map} +0 -0
  773. /package/dist/{chunk-MUVXIOXM.js.map → chunk-JWX6GEWQ.js.map} +0 -0
  774. /package/dist/{chunk-4ICGMPPE.js.map → chunk-K4LZR3HU.js.map} +0 -0
  775. /package/dist/{chunk-RSCSTOUN.js.map → chunk-K55KOEI6.js.map} +0 -0
  776. /package/dist/{chunk-ZUXXBQ7D.js.map → chunk-KLJM7HE5.js.map} +0 -0
  777. /package/dist/{chunk-JNIYPQWY.js.map → chunk-LFH5VSSF.js.map} +0 -0
  778. /package/dist/{chunk-7ONTCJWB.js.map → chunk-MBWG3QHI.js.map} +0 -0
  779. /package/dist/{chunk-2CTAWHGB.js.map → chunk-MZTVOOR6.js.map} +0 -0
  780. /package/dist/{chunk-KGFH5VTH.js.map → chunk-N2JOZ3QD.js.map} +0 -0
  781. /package/dist/{chunk-3TJBSAIO.js.map → chunk-NG2U3VHX.js.map} +0 -0
  782. /package/dist/{chunk-Z6ZFRHXK.js.map → chunk-NUGYNLTL.js.map} +0 -0
  783. /package/dist/{chunk-OXRZSZKA.js.map → chunk-OCOB7XJW.js.map} +0 -0
  784. /package/dist/{chunk-NB4UU4DH.js.map → chunk-OGDBTL5C.js.map} +0 -0
  785. /package/dist/{chunk-VQD6GZMU.js.map → chunk-OVXHMJJJ.js.map} +0 -0
  786. /package/dist/{chunk-TTSKLWP7.js.map → chunk-PAF5KZCR.js.map} +0 -0
  787. /package/dist/{chunk-TQLHKDNS.js.map → chunk-PI2MCZXG.js.map} +0 -0
  788. /package/dist/{chunk-BNJC6OX5.js.map → chunk-PPICALUF.js.map} +0 -0
  789. /package/dist/{chunk-M4ML4ACA.js.map → chunk-QFOT5WAZ.js.map} +0 -0
  790. /package/dist/{chunk-ZHY7ZHWC.js.map → chunk-QGCB5AKN.js.map} +0 -0
  791. /package/dist/{chunk-AQSZLUDV.js.map → chunk-QRZRAMHA.js.map} +0 -0
  792. /package/dist/{chunk-QUVGLTCF.js.map → chunk-RGOZHZCN.js.map} +0 -0
  793. /package/dist/{chunk-BBA5MAFS.js.map → chunk-RJKY22D4.js.map} +0 -0
  794. /package/dist/{chunk-OGU7IDV7.js.map → chunk-RZ2HG7G3.js.map} +0 -0
  795. /package/dist/{chunk-ZCY72DDM.js.map → chunk-SI2KSG6E.js.map} +0 -0
  796. /package/dist/{chunk-QMR3QMJG.js.map → chunk-U4PLKSSS.js.map} +0 -0
  797. /package/dist/{chunk-RCVA2RWU.js.map → chunk-U7G65D2G.js.map} +0 -0
  798. /package/dist/{chunk-RCLCEA55.js.map → chunk-UU3FWU6D.js.map} +0 -0
  799. /package/dist/{chunk-HUF5BTO6.js.map → chunk-UXLT7W2N.js.map} +0 -0
  800. /package/dist/{chunk-DVSTBGZT.js.map → chunk-VHQDN3OA.js.map} +0 -0
  801. /package/dist/{chunk-63TCOVAK.js.map → chunk-VTMNHAFC.js.map} +0 -0
  802. /package/dist/{chunk-G5GFCBJT.js.map → chunk-W3K7KLIR.js.map} +0 -0
  803. /package/dist/{chunk-NGG4737W.js.map → chunk-WSLS55SH.js.map} +0 -0
  804. /package/dist/{chunk-HWP3U2VY.js.map → chunk-WUCIHN7D.js.map} +0 -0
  805. /package/dist/{chunk-L6TGKNRA.js.map → chunk-XQIB27PB.js.map} +0 -0
  806. /package/dist/{chunk-OT2DMA2D.js.map → chunk-XSBGICK5.js.map} +0 -0
  807. /package/dist/{chunk-FUTHP5J4.js.map → chunk-YHW2RAAG.js.map} +0 -0
  808. /package/dist/{chunk-JEXS72M5.js.map → chunk-Z7CCL464.js.map} +0 -0
  809. /package/dist/{chunk-N2RAPA7D.js.map → chunk-ZBNPXXMK.js.map} +0 -0
  810. /package/dist/{chunk-X7JGAQ5N.js.map → chunk-ZNHC46CT.js.map} +0 -0
  811. /package/dist/{cohort-2DQOQ5AO.js.map → cohort-ZFGFEEBD.js.map} +0 -0
  812. /package/dist/{cohortSunburst-W6XC7VD6.js.map → cohortSunburst-EEPGV2RB.js.map} +0 -0
  813. /package/dist/{condition-3A7I5UQA.js.map → condition-7EWFLQSO.js.map} +0 -0
  814. /package/dist/{controls-G5WYBX4P.js.map → controls-QHDSDWKI.js.map} +0 -0
  815. /package/dist/{controls.config-TAFGM2S2.js.map → controls.config-LBSCZ6GP.js.map} +0 -0
  816. /package/dist/{correlation-K4EOOQJU.js.map → correlation-IJQJPNNP.js.map} +0 -0
  817. /package/dist/{customdata.inputui-E7RRN3KY.js.map → customdata.inputui-TZGX2CUD.js.map} +0 -0
  818. /package/dist/{dataDownload-OXZGAE5R.js.map → dataDownload-33EWD3AD.js.map} +0 -0
  819. /package/dist/{databrowser.ui-IPUF6LUC.js.map → databrowser.ui-YNKDTAAN.js.map} +0 -0
  820. /package/dist/{dictionary-MUNAUI43.js.map → dictionary-OTR6Z5EZ.js.map} +0 -0
  821. /package/dist/{dnaMethylation-SOV4HBAX.js.map → dnaMethylation-LQTCTOOE.js.map} +0 -0
  822. /package/dist/{dnaMethylation.integration.spec-T4KKTMRL.js.map → dnaMethylation.integration.spec-U5VQYAK3.js.map} +0 -0
  823. /package/dist/{dofetch-2CR2TVWC.js.map → dofetch-HLG7G7RX.js.map} +0 -0
  824. /package/dist/{e2pca-EIOJCV4O.js.map → e2pca-AXDPYR7U.js.map} +0 -0
  825. /package/dist/{ep-5QX3CW6D.js.map → ep-4WK46CH7.js.map} +0 -0
  826. /package/dist/{expclust.gdc.spec-TNHPZLYQ.js.map → expclust.gdc.spec-CYGWGREQ.js.map} +0 -0
  827. /package/dist/{facet-I3OC4DK2.js.map → facet-IZSSZDHK.js.map} +0 -0
  828. /package/dist/{gb-WPIUHR3O.js.map → gb-AUZBUZFM.js.map} +0 -0
  829. /package/dist/{geneExpClustering-EYGZENSP.js.map → geneExpClustering-AQBFLXLP.js.map} +0 -0
  830. /package/dist/{geneExpression-54L3DH32.js.map → geneExpression-HDJVPVPK.js.map} +0 -0
  831. /package/dist/{geneExpression-6S6H2EVY.js.map → geneExpression-V4JMTMLI.js.map} +0 -0
  832. /package/dist/{geneExpression.unit.spec-VVI2MXIH.js.map → geneExpression.unit.spec-KFMSDVMX.js.map} +0 -0
  833. /package/dist/{geneORA-7M64LXZC.js.map → geneORA-LDFFSEMQ.js.map} +0 -0
  834. /package/dist/{geneRanking-676CAA3B.js.map → geneRanking-IVKDSNDV.js.map} +0 -0
  835. /package/dist/{geneVariant-4UPJE6MJ.js.map → geneVariant-7X7EEUDW.js.map} +0 -0
  836. /package/dist/{geneVariant-PFVPL22U.js.map → geneVariant-TK3FJ22L.js.map} +0 -0
  837. /package/dist/{geneVariant.integration.spec-EAJ4OSFQ.js.map → geneVariant.integration.spec-ZHAFWQ2O.js.map} +0 -0
  838. /package/dist/{genefusion.ui-LP4EJUTO.js.map → genefusion.ui-U5YPVXAF.js.map} +0 -0
  839. /package/dist/{geneset-ANDOMTPO.js.map → geneset-NSHQ2NDR.js.map} +0 -0
  840. /package/dist/{genomeBrowser.spec-NUXOOL5N.js.map → genomeBrowser.spec-HP4OQPCV.js.map} +0 -0
  841. /package/dist/{grin2-K4LRVCES.js.map → grin2-5WKONQPG.js.map} +0 -0
  842. /package/dist/{grin2-YFCWJZFR.js.map → grin2-V2ZBOJBO.js.map} +0 -0
  843. /package/dist/{hierCluster-POD3DRO4.js.map → hierCluster-7IOPNYFN.js.map} +0 -0
  844. /package/dist/{hierCluster-QA7HXKRD.js.map → hierCluster-IDBCUKHJ.js.map} +0 -0
  845. /package/dist/{hierCluster.config-HQ3SVKCE.js.map → hierCluster.config-Z4NRL5P5.js.map} +0 -0
  846. /package/dist/{hierCluster.integration.spec-MOYDWJL3.js.map → hierCluster.integration.spec-PHEXOGPI.js.map} +0 -0
  847. /package/dist/{hierCluster.interactivity-OZTNHXZQ.js.map → hierCluster.interactivity-NHZ5EPBV.js.map} +0 -0
  848. /package/dist/{hierCluster.renderers-46E37NL4.js.map → hierCluster.renderers-WXJUMDFN.js.map} +0 -0
  849. /package/dist/{imagePlot-HNAYBWY3.js.map → imagePlot-NMNCAYS7.js.map} +0 -0
  850. /package/dist/{importPlot-XTW46VF4.js.map → importPlot-HZML5XMJ.js.map} +0 -0
  851. /package/dist/{isoformExpression-2TMTILKG.js.map → isoformExpression-4IU4AUQ2.js.map} +0 -0
  852. /package/dist/{isoformExpression.unit.spec-SIJWP7TH.js.map → isoformExpression.unit.spec-KKMKU5Z2.js.map} +0 -0
  853. /package/dist/{junction-AICKHNXX.js.map → junction-EXA2WANI.js.map} +0 -0
  854. /package/dist/{junction.customTerm-5STKYZ4B.js.map → junction.customTerm-LQYKCZX4.js.map} +0 -0
  855. /package/dist/{junction.unit.spec-EXFN4MLW.js.map → junction.unit.spec-H3FGTLEP.js.map} +0 -0
  856. /package/dist/{launch.adhoc-PB6PGR7Q.js.map → launch.adhoc-YA6FRHSC.js.map} +0 -0
  857. /package/dist/{lollipop-5UXUAFYY.js.map → lollipop-EWLGYDIR.js.map} +0 -0
  858. /package/dist/{maf-L6YD25JK.js.map → maf-PXMHR3PY.js.map} +0 -0
  859. /package/dist/{maftimeline-63YZDGJ3.js.map → maftimeline-QFKT7PW2.js.map} +0 -0
  860. /package/dist/{matrix-OPEBHZCW.js.map → matrix-KASG3KIY.js.map} +0 -0
  861. /package/dist/{matrix-TLMWPG7C.js.map → matrix-VSX63V3L.js.map} +0 -0
  862. /package/dist/{matrix.cells-IELMNYC6.js.map → matrix.cells-7TTOQRWU.js.map} +0 -0
  863. /package/dist/{matrix.config-J7SVFXLM.js.map → matrix.config-U3I726EC.js.map} +0 -0
  864. /package/dist/{matrix.data-DJTJCPO4.js.map → matrix.data-Y4DXSR2P.js.map} +0 -0
  865. /package/dist/{matrix.groups-2REICNZK.js.map → matrix.groups-C5CHYWQZ.js.map} +0 -0
  866. /package/dist/{matrix.integration.spec-ZXU2OEFU.js.map → matrix.integration.spec-4KWLFXMY.js.map} +0 -0
  867. /package/dist/{matrix.interactivity-SX3OR6OI.js.map → matrix.interactivity-JK6URU6Z.js.map} +0 -0
  868. /package/dist/{matrix.layout-ZJ6X5RON.js.map → matrix.layout-KKOA7GGL.js.map} +0 -0
  869. /package/dist/{matrix.legend-ZOP72TIO.js.map → matrix.legend-3FFHXTLX.js.map} +0 -0
  870. /package/dist/{matrix.renderers-YUSROXKN.js.map → matrix.renderers-F7EWYQWL.js.map} +0 -0
  871. /package/dist/{matrix.serieses-UMAZNCMR.js.map → matrix.serieses-I4JWWONC.js.map} +0 -0
  872. /package/dist/{matrix.sort-2JNIZHNL.js.map → matrix.sort-5JTCLBPB.js.map} +0 -0
  873. /package/dist/{matrix.sort.unit.spec-SNB643Y6.js.map → matrix.sort.unit.spec-EW53F5DT.js.map} +0 -0
  874. /package/dist/{matrix.sorterUi-JXEIY6UL.js.map → matrix.sorterUi-Z4JDY7VW.js.map} +0 -0
  875. /package/dist/{matrix.sorterUi.unit.spec-LDAT4R3H.js.map → matrix.sorterUi.unit.spec-OGTYY6GC.js.map} +0 -0
  876. /package/dist/{matrix.unit.spec-QBQIMDLD.js.map → matrix.unit.spec-RXKKHRUN.js.map} +0 -0
  877. /package/dist/{mavb-EQUF3VGG.js.map → mavb-YI2WEGFI.js.map} +0 -0
  878. /package/dist/{mds.samplescatterplot-73E45ZT7.js.map → mds.samplescatterplot-GGJE67MF.js.map} +0 -0
  879. /package/dist/{mds.survivalplot-DL53IRVD.js.map → mds.survivalplot-A6DS6FHO.js.map} +0 -0
  880. /package/dist/{multivalue-PQN75ENP.js.map → multivalue-3WCYDVL3.js.map} +0 -0
  881. /package/dist/{numericDictTermCluster-FGMIOTBO.js.map → numericDictTermCluster-AOTEPNEI.js.map} +0 -0
  882. /package/dist/{oncomatrix-CCHWOA3N.js.map → oncomatrix-BB4SB5AJ.js.map} +0 -0
  883. /package/dist/{oncomatrix.spec-GQT3UTCR.js.map → oncomatrix.spec-M4ZC3KFC.js.map} +0 -0
  884. /package/dist/{plot.2dvaf-L6ZI5ROR.js.map → plot.2dvaf-QUD743E6.js.map} +0 -0
  885. /package/dist/{plot.app-A73VXJCP.js.map → plot.app-35I4DJXK.js.map} +0 -0
  886. /package/dist/{plot.barplot-HSCHPOO7.js.map → plot.barplot-7OL4HWZB.js.map} +0 -0
  887. /package/dist/{plot.boxplot-AXBVNTNH.js.map → plot.boxplot-N2VSPDYA.js.map} +0 -0
  888. /package/dist/{plot.brainImaging-PEMURKM3.js.map → plot.brainImaging-4PIAFROV.js.map} +0 -0
  889. /package/dist/{plot.ssgq-FGMQXKZU.js.map → plot.ssgq-MGUBQNWE.js.map} +0 -0
  890. /package/dist/{plot.vaf2cov-IBM7NQEB.js.map → plot.vaf2cov-KVI2GMG4.js.map} +0 -0
  891. /package/dist/{polar2-N7KWY36S.js.map → polar2-IGAOHGPE.js.map} +0 -0
  892. /package/dist/{profileForms-Q4NN7653.js.map → profileForms-MW7JQURG.js.map} +0 -0
  893. /package/dist/{profilePlot-SQ77M6LI.js.map → profilePlot-OVOSFR47.js.map} +0 -0
  894. /package/dist/{proteinView-KSIZRDNP.js.map → proteinView-LFP5YYMK.js.map} +0 -0
  895. /package/dist/{pseudbulk.unit.spec-XELPZVXM.js.map → pseudbulk.unit.spec-CGV4JTEK.js.map} +0 -0
  896. /package/dist/{pseudobulk-H3USXM5U.js.map → pseudobulk-WFCQX5KR.js.map} +0 -0
  897. /package/dist/{qualitative-OSEJTJ4D.js.map → qualitative-4SLUE6BW.js.map} +0 -0
  898. /package/dist/{qualitative-ABXENRAF.js.map → qualitative-6H674T7D.js.map} +0 -0
  899. /package/dist/{radar2-VTDQGHWN.js.map → radar2-QXHO2MQA.js.map} +0 -0
  900. /package/dist/{radarFacility2-BWGEC5A2.js.map → radarFacility2-JCVOYMH4.js.map} +0 -0
  901. /package/dist/{rememberedGvQ.unit.spec-TWUDSEDP.js.map → rememberedGvQ.unit.spec-Q3UZJPE2.js.map} +0 -0
  902. /package/dist/{render-C3XJQ2QY.js.map → render-IIFS3Y2N.js.map} +0 -0
  903. /package/dist/{report-7ZZ44X4R.js.map → report-NFBB3PUI.js.map} +0 -0
  904. /package/dist/{sampleView-CUCNI65Q.js.map → sampleView-XQXKIPC7.js.map} +0 -0
  905. /package/dist/{samplelst-S7AJQ36J.js.map → samplelst-RIC5E2W4.js.map} +0 -0
  906. /package/dist/{samplematrix-U7WM6GNB.js.map → samplematrix-WLCFCPBR.js.map} +0 -0
  907. /package/dist/{sc-FMJHN2SW.js.map → sc-TXRF7D6F.js.map} +0 -0
  908. /package/dist/{scatter-4UMCJNEH.js.map → scatter-JUGGPR4B.js.map} +0 -0
  909. /package/dist/{scatter-KMAZ3ZNR.js.map → scatter-YQ47446T.js.map} +0 -0
  910. /package/dist/{selectGenomeWithTklst-5SRM45BI.js.map → selectGenomeWithTklst-2ELB6HQK.js.map} +0 -0
  911. /package/dist/{singleCellCellType-GIIICJK5.js.map → singleCellCellType-DUTH4SZF.js.map} +0 -0
  912. /package/dist/{singleCellCellType.unit.spec-MVA7BMGL.js.map → singleCellCellType.unit.spec-PWP6I5PZ.js.map} +0 -0
  913. /package/dist/{singleCellGeneExpression-2QFQHJJH.js.map → singleCellGeneExpression-3563T7GE.js.map} +0 -0
  914. /package/dist/{singleCellGeneExpression.unit.spec-SAIETYHV.js.map → singleCellGeneExpression.unit.spec-66IDCFJC.js.map} +0 -0
  915. /package/dist/{singleCellNumericValue-45H5EPIB.js.map → singleCellNumericValue-XVQTKLTS.js.map} +0 -0
  916. /package/dist/{singleCellNumericValue.unit.spec-FNKEJ2WC.js.map → singleCellNumericValue.unit.spec-LJSTGKNS.js.map} +0 -0
  917. /package/dist/{singleCellPlot-SP7OEGYQ.js.map → singleCellPlot-MKYJJXSG.js.map} +0 -0
  918. /package/dist/{singlecell-AVZQX4AH.js.map → singlecell-ANCWPAAO.js.map} +0 -0
  919. /package/dist/{singlecell-JQKUHGIH.js.map → singlecell-KMRVFOC5.js.map} +0 -0
  920. /package/dist/{snp-4SA7VABN.js.map → snp-B5UHGWVD.js.map} +0 -0
  921. /package/dist/{snp.unit.spec-YIYGR6GW.js.map → snp.unit.spec-YAHITASM.js.map} +0 -0
  922. /package/dist/{snplocus-TDGQ57ZJ.js.map → snplocus-MLGICRGT.js.map} +0 -0
  923. /package/dist/{snplst-SWBGRYPA.js.map → snplst-DZPIQEKI.js.map} +0 -0
  924. /package/dist/{spliceevent.a53ss.diagram-YODOBS6U.js.map → spliceevent.a53ss.diagram-4NYPSFC2.js.map} +0 -0
  925. /package/dist/{spliceevent.exonskip.diagram-PMZIQ5UG.js.map → spliceevent.exonskip.diagram-WLLTP7NP.js.map} +0 -0
  926. /package/dist/{spliceevent.noeventdiagram-A4T2PNUX.js.map → spliceevent.noeventdiagram-NOSO752Y.js.map} +0 -0
  927. /package/dist/{ssGSEA-U7D6HOIV.js.map → ssGSEA-4DVY6Z5U.js.map} +0 -0
  928. /package/dist/{ssGSEA.unit.spec-SMNAM5DJ.js.map → ssGSEA.unit.spec-UDXV4Q7S.js.map} +0 -0
  929. /package/dist/{stattable-DBYMPJU6.js.map → stattable-T5X76Q32.js.map} +0 -0
  930. /package/dist/{studyCatalog-7RABX4W5.js.map → studyCatalog-O3EPBJPW.js.map} +0 -0
  931. /package/dist/{summarizeCnvGeneexp-YVRW7LWY.js.map → summarizeCnvGeneexp-ST36TPEJ.js.map} +0 -0
  932. /package/dist/{summarizeGeneexpSurvival-ZB7IWGPS.js.map → summarizeGeneexpSurvival-AZOFCBMT.js.map} +0 -0
  933. /package/dist/{summarizeMutationCnv-CUSYURDK.js.map → summarizeMutationCnv-HRCW6BYV.js.map} +0 -0
  934. /package/dist/{summarizeMutationDiagnosis-NSPCT5WI.js.map → summarizeMutationDiagnosis-RQQO2MOR.js.map} +0 -0
  935. /package/dist/{summarizeMutationSurvival-2PZZCC4G.js.map → summarizeMutationSurvival-UHSUJ7FU.js.map} +0 -0
  936. /package/dist/{summary-CYDZSICI.js.map → summary-ZMM5ET67.js.map} +0 -0
  937. /package/dist/{summary.integration.spec-2TLKJS3X.js.map → summary.integration.spec-GW5UGDDU.js.map} +0 -0
  938. /package/dist/{summaryInput-BRQ5JRGV.js.map → summaryInput-ZO5TPARQ.js.map} +0 -0
  939. /package/dist/{sunburst-435LKL2S.js.map → sunburst-6VJS2SUY.js.map} +0 -0
  940. /package/dist/{sunburst-D5WAGHX6.js.map → sunburst-LXRG2SFE.js.map} +0 -0
  941. /package/dist/{survival-MHESSYWF.js.map → survival-QXHY7JRR.js.map} +0 -0
  942. /package/dist/{survival-M63B6DY5.js.map → survival-U6J6KFN2.js.map} +0 -0
  943. /package/dist/{survival.integration.spec-WMS3FTNR.js.map → survival.integration.spec-HN3LL6IY.js.map} +0 -0
  944. /package/dist/{svgraph-LYFGVTHI.js.map → svgraph-CVI27CTM.js.map} +0 -0
  945. /package/dist/{svmr-UR67QZIP.js.map → svmr-GZHAP5IV.js.map} +0 -0
  946. /package/dist/{swimmer-RP4SUEZS.js.map → swimmer-M4JGBO72.js.map} +0 -0
  947. /package/dist/{table-V4OOMF3B.js.map → table-QO22C2ER.js.map} +0 -0
  948. /package/dist/{termCollection-WSNM3YFK.js.map → termCollection-EN73BZV5.js.map} +0 -0
  949. /package/dist/{termCollection-VHGVBSWW.js.map → termCollection-KWNFLRWJ.js.map} +0 -0
  950. /package/dist/{termCollection.unit.spec-NCZUZL6P.js.map → termCollection.unit.spec-Z27AZUE6.js.map} +0 -0
  951. /package/dist/{termCollectionFractionSelection-XM3FJWBQ.js.map → termCollectionFractionSelection-Q7QFEPKA.js.map} +0 -0
  952. /package/dist/{termCollectionFractionSelection.unit.spec-VO4SAV72.js.map → termCollectionFractionSelection.unit.spec-PYLIFZN5.js.map} +0 -0
  953. /package/dist/{tk-KIELQHVI.js.map → tk-WVEDS5OU.js.map} +0 -0
  954. /package/dist/{tp.ui-HAKSWLFB.js.map → tp.ui-CG36YXBY.js.map} +0 -0
  955. /package/dist/{tvs.categorical-G4DM4JY5.js.map → tvs.categorical-GCJISWBS.js.map} +0 -0
  956. /package/dist/{tvs.condition-E5NUQONB.js.map → tvs.condition-YTCVMB3I.js.map} +0 -0
  957. /package/dist/{tvs.dt-T4BK24VZ.js.map → tvs.dt-UCSZ5S44.js.map} +0 -0
  958. /package/dist/{tvs.dtcnv.categorical-V57TZFRA.js.map → tvs.dtcnv.categorical-KYB6XPL3.js.map} +0 -0
  959. /package/dist/{tvs.dtcnv.continuous-D4YIB4PN.js.map → tvs.dtcnv.continuous-MJWJNMKJ.js.map} +0 -0
  960. /package/dist/{tvs.dtfusion-6DUFLUNH.js.map → tvs.dtfusion-IZCEMTH5.js.map} +0 -0
  961. /package/dist/{tvs.dtitd-GOEPAQGR.js.map → tvs.dtitd-DZ4WWGNO.js.map} +0 -0
  962. /package/dist/{tvs.dtsnvindel-ASTXGC4O.js.map → tvs.dtsnvindel-PMJCV4E7.js.map} +0 -0
  963. /package/dist/{tvs.dtsv-7TGDEWXK.js.map → tvs.dtsv-5K2RNWDH.js.map} +0 -0
  964. /package/dist/{tvs.multivalue-SEIGL2W6.js.map → tvs.multivalue-6NSC6JPR.js.map} +0 -0
  965. /package/dist/{tvs.numeric-MLLX5L7Z.js.map → tvs.numeric-7U2NDY4A.js.map} +0 -0
  966. /package/dist/{tvs.samplelst-HAV7C2EA.js.map → tvs.samplelst-3SIYTFWZ.js.map} +0 -0
  967. /package/dist/{tvs.survival-3B522MT2.js.map → tvs.survival-Q3F5SLBW.js.map} +0 -0
  968. /package/dist/{tvs.termCollection-R5NG4VXP.js.map → tvs.termCollection-OR73LBNX.js.map} +0 -0
  969. /package/dist/{vocabulary-LBNHNSEN.js.map → vocabulary-RWRAQ4VJ.js.map} +0 -0
  970. /package/dist/{wsi.direct-ZEZO4NLR.js.map → wsi.direct-HABLR3IF.js.map} +0 -0
@@ -1,472 +0,0 @@
1
- import {
2
- CATEGORICAL,
3
- COHORT,
4
- CONDITION,
5
- DATE,
6
- DNA_METHYLATION,
7
- FLOAT,
8
- GENE_EXPRESSION,
9
- GENE_VARIANT,
10
- INTEGER,
11
- ISOFORM_EXPRESSION,
12
- JUNCTION,
13
- METABOLITE_INTENSITY,
14
- MULTIVALUE,
15
- PROTEOME_ABUNDANCE,
16
- PSEUDOBULK,
17
- SAMPLELST,
18
- SINGLECELL_CELLTYPE,
19
- SINGLECELL_GENE_EXPRESSION,
20
- SINGLECELL_NUMERIC_VALUE,
21
- SNP,
22
- SNP_LIST,
23
- SNP_LOCUS,
24
- SSGSEA,
25
- SURVIVAL,
26
- TERM_COLLECTION,
27
- TermTypeGroups,
28
- dtTerms,
29
- dtdnamethylation,
30
- dtgeneexpression,
31
- dtmetaboliteintensity,
32
- dtproteomeabundance,
33
- dtssgsea
34
- } from "./chunk-R2H22S4J.js";
35
-
36
- // ../shared/utils/dist/src/terms.js
37
- var ROOT_SAMPLE_TYPE = 1;
38
- var DEFAULT_SAMPLE_TYPE = 2;
39
- var NumericModes = {
40
- continuous: "continuous",
41
- discrete: "discrete"
42
- };
43
- var dtTermTypes = new Set(dtTerms.map((t) => t.type));
44
- var TermTypes2Dt = {
45
- [GENE_EXPRESSION]: dtgeneexpression,
46
- [SSGSEA]: dtssgsea,
47
- [DNA_METHYLATION]: dtdnamethylation,
48
- [METABOLITE_INTENSITY]: dtmetaboliteintensity,
49
- [PROTEOME_ABUNDANCE]: dtproteomeabundance
50
- };
51
- var typeGroup = {
52
- [CATEGORICAL]: TermTypeGroups.DICTIONARY_VARIABLES,
53
- [CONDITION]: TermTypeGroups.DICTIONARY_VARIABLES,
54
- [FLOAT]: TermTypeGroups.DICTIONARY_VARIABLES,
55
- [INTEGER]: TermTypeGroups.DICTIONARY_VARIABLES,
56
- [SAMPLELST]: TermTypeGroups.DICTIONARY_VARIABLES,
57
- [SURVIVAL]: TermTypeGroups.DICTIONARY_VARIABLES,
58
- [DATE]: TermTypeGroups.DICTIONARY_VARIABLES,
59
- [MULTIVALUE]: TermTypeGroups.DICTIONARY_VARIABLES,
60
- [GENE_VARIANT]: TermTypeGroups.MUTATION_CNV_FUSION,
61
- [SNP]: TermTypeGroups.SNP,
62
- [SNP_LIST]: TermTypeGroups.SNP_LIST,
63
- [SNP_LOCUS]: TermTypeGroups.SNP_LOCUS,
64
- [GENE_EXPRESSION]: TermTypeGroups.GENE_EXPRESSION,
65
- [ISOFORM_EXPRESSION]: TermTypeGroups.ISOFORM_EXPRESSION,
66
- [JUNCTION]: TermTypeGroups.SPLICE_JUNCTION,
67
- [SSGSEA]: TermTypeGroups.SSGSEA,
68
- [DNA_METHYLATION]: TermTypeGroups.DNA_METHYLATION,
69
- [METABOLITE_INTENSITY]: TermTypeGroups.METABOLITE_INTENSITY,
70
- [PROTEOME_ABUNDANCE]: TermTypeGroups.PROTEOME_ABUNDANCE,
71
- [PSEUDOBULK]: TermTypeGroups.PSEUDOBULK,
72
- [TERM_COLLECTION]: TermTypeGroups.TERM_COLLECTION,
73
- [SINGLECELL_CELLTYPE]: TermTypeGroups.SINGLECELL_CELLTYPE,
74
- [SINGLECELL_GENE_EXPRESSION]: TermTypeGroups.SINGLECELL_GENE_EXPRESSION,
75
- [SINGLECELL_NUMERIC_VALUE]: TermTypeGroups.SINGLECELL_NUMERIC_VALUE,
76
- [COHORT]: TermTypeGroups.COHORT
77
- };
78
- var nonDictTypes = /* @__PURE__ */ new Set([
79
- SNP,
80
- SNP_LIST,
81
- SNP_LOCUS,
82
- GENE_EXPRESSION,
83
- ISOFORM_EXPRESSION,
84
- JUNCTION,
85
- SSGSEA,
86
- DNA_METHYLATION,
87
- GENE_VARIANT,
88
- METABOLITE_INTENSITY,
89
- PROTEOME_ABUNDANCE,
90
- PSEUDOBULK,
91
- SINGLECELL_CELLTYPE,
92
- SINGLECELL_GENE_EXPRESSION,
93
- SINGLECELL_NUMERIC_VALUE,
94
- COHORT
95
- ]);
96
- for (const dtTermType of dtTermTypes) {
97
- nonDictTypes.add(dtTermType);
98
- }
99
- var numericTypes = /* @__PURE__ */ new Set([
100
- INTEGER,
101
- FLOAT,
102
- GENE_EXPRESSION,
103
- ISOFORM_EXPRESSION,
104
- JUNCTION,
105
- SSGSEA,
106
- DNA_METHYLATION,
107
- METABOLITE_INTENSITY,
108
- PROTEOME_ABUNDANCE,
109
- SINGLECELL_GENE_EXPRESSION,
110
- SINGLECELL_NUMERIC_VALUE,
111
- DATE,
112
- PSEUDOBULK
113
- ]);
114
- var dictionaryNumericTypes = /* @__PURE__ */ new Set([INTEGER, FLOAT, DATE]);
115
- var categoricalTypes = /* @__PURE__ */ new Set([CATEGORICAL, SNP]);
116
- var singleCellTerms = /* @__PURE__ */ new Set([
117
- SINGLECELL_CELLTYPE,
118
- SINGLECELL_GENE_EXPRESSION,
119
- SINGLECELL_NUMERIC_VALUE
120
- /*PSEUDOBULK*/
121
- ]);
122
- function isSingleCellTerm(term) {
123
- if (!term) return false;
124
- if (typeof term !== "object") throw new Error("Term is not an object. Did you provide the type instead?");
125
- return singleCellTerms.has(term.type);
126
- }
127
- function isNumericTerm(term) {
128
- if (!term) return false;
129
- return numericTypes.has(term.type);
130
- }
131
- function isNumericTw(tw) {
132
- if (!tw?.term) return false;
133
- return isNumericTerm(tw.term) || tw.term.type === TERM_COLLECTION && tw.term.memberType === "numeric" && tw.type === "TermCollectionTWFraction";
134
- }
135
- function isCategoricalTerm(term) {
136
- if (!term) return false;
137
- return categoricalTypes.has(term.type);
138
- }
139
- function isDictionaryType(type) {
140
- return !isNonDictionaryType(type);
141
- }
142
- function isNonDictionaryType(type) {
143
- if (!type) throw new Error("Type is not defined");
144
- return nonDictTypes.has(type);
145
- }
146
- function isNumTermCollection(term) {
147
- if (!term || !term.type) throw new Error("Term or term type is not defined");
148
- return term.type === TERM_COLLECTION;
149
- }
150
- function equals(t1, t2) {
151
- if (!t1) throw new Error("First term is not defined ");
152
- if (!t2) throw new Error("Second term is not defined ");
153
- if (t1.type !== t2.type) return false;
154
- if (isDictionaryType(t1.type) && isDictionaryType(t2.type) && t1.type != SAMPLELST) return t1.id === t2.id;
155
- switch (t1.type) {
156
- case GENE_EXPRESSION:
157
- return t1.gene == t2.gene;
158
- case ISOFORM_EXPRESSION:
159
- return t1.isoform == t2.isoform;
160
- case JUNCTION:
161
- return t1.chr == t2.chr && t1.start == t2.start && t1.stop == t2.stop && t1.strand == t2.strand;
162
- case SSGSEA:
163
- return t1.id == t2.id;
164
- case DNA_METHYLATION:
165
- return t1.chr == t2.chr && t1.start == t2.start && t1.stop == t2.stop;
166
- case METABOLITE_INTENSITY:
167
- case PROTEOME_ABUNDANCE:
168
- return t1.name == t2.name;
169
- case GENE_VARIANT:
170
- return t1.gene == t2.gene || t1.chr == t2.chr && t1.start == t2.start && t1.stop == t2.stop;
171
- // TO DO: Add more cases
172
- // case SNP_LIST:
173
- // case SNP_LOCUS:
174
- // case SAMPLELST:
175
- default:
176
- return false;
177
- }
178
- }
179
- function trimGvTermCopy(term, q) {
180
- if (term?.type != GENE_VARIANT) return term;
181
- delete term.childTerms;
182
- if (q?.customset) clearGroupsetParentTerms(q.customset);
183
- const lst = term.groupsetting?.lst;
184
- if (!lst?.length) return term;
185
- if (q?.type == "predefined-groupset") {
186
- const idx = q.predefined_groupset_idx;
187
- term.groupsetting.lst = lst.map((groupset, i) => i === idx ? groupset : null);
188
- clearDtTermMnames(term.groupsetting.lst[idx]);
189
- clearGroupsetParentTerms(term.groupsetting.lst[idx]);
190
- } else {
191
- delete term.groupsetting.lst;
192
- }
193
- return term;
194
- }
195
- function forEachGvTw(obj, callback) {
196
- if (!obj || typeof obj != "object") return;
197
- if (obj.q && obj.term?.type == GENE_VARIANT) callback(obj);
198
- for (const value of Object.values(obj)) forEachGvTw(value, callback);
199
- }
200
- function trimGvTermsForSave(obj) {
201
- forEachGvTw(obj, (tw) => {
202
- delete tw.term.childTerms;
203
- delete tw.term.groupsetting;
204
- if (tw.q.customset) clearGroupsetParentTerms(tw.q.customset);
205
- });
206
- return obj;
207
- }
208
- function getGvGeneKey(term) {
209
- const genes = term?.genes?.length ? term.genes : term ? [term] : [];
210
- const keys = genes.map((gene) => {
211
- if (getGvGeneKind(gene) == "coord") {
212
- const region = getGvQueryRegion(gene);
213
- return region ? `${region.chr}:${region.start + 1}-${region.stop}` : void 0;
214
- }
215
- return gene.gene || gene.name;
216
- }).filter((key) => typeof key == "string" && key);
217
- if (!keys.length || keys.length != genes.length) return "";
218
- return keys.sort().join(",");
219
- }
220
- var gvQCacheKeyPrefix = "gv:";
221
- function getGvQCacheKey(term) {
222
- const key = getGvGeneKey(term);
223
- return key ? gvQCacheKeyPrefix + key : "";
224
- }
225
- function getGvGeneKind(gene) {
226
- if (gene?.kind) return gene.kind;
227
- if (gene?.gene || gene?.name && !gene.chr) return "gene";
228
- if (gene?.chr) return "coord";
229
- return void 0;
230
- }
231
- function trimGvQForCache(q) {
232
- const copy = structuredClone(q);
233
- delete copy.isAtomic;
234
- delete copy.hiddenValues;
235
- delete copy.dtLst;
236
- if (copy.customset) {
237
- clearDtTermMnames(copy.customset);
238
- clearGroupsetParentTerms(copy.customset);
239
- }
240
- return copy;
241
- }
242
- function getGvQueryRegion(gene) {
243
- if (!gene?.chr || !Number.isInteger(gene.start) || !Number.isInteger(gene.stop)) return;
244
- return { chr: gene.chr, start: gene.start, stop: gene.stop };
245
- }
246
- function restoreGvQueryEntry(v, queries) {
247
- if (!queries || v?.$q === void 0) return false;
248
- Object.assign(v, queries[v.$q]);
249
- delete v.$q;
250
- return true;
251
- }
252
- function matchesGvQueryEntry(entry, v) {
253
- if (entry.gene) return entry.gene == v.gene;
254
- const r = entry.region;
255
- if (r) return !!v.region && r.chr == v.region.chr && r.start == v.region.start && r.stop == v.region.stop;
256
- return true;
257
- }
258
- function setGroupsetParentTerms(groupset, term) {
259
- if (term?.type != GENE_VARIANT) throw "parent of a groupset tvs must be a geneVariant term";
260
- const parentTerm = structuredClone(term);
261
- delete parentTerm.childTerms;
262
- delete parentTerm.groupsetting;
263
- walkTvs(groupset, (tvs) => {
264
- if (!dtTermTypes.has(tvs.term?.type)) throw `groupset tvs term is not a dt term`;
265
- tvs.term.parentTerm = parentTerm;
266
- });
267
- return groupset;
268
- }
269
- function clearGroupsetParentTerms(groupset) {
270
- walkTvs(groupset, (tvs) => {
271
- if (tvs.term) delete tvs.term.parentTerm;
272
- });
273
- return groupset;
274
- }
275
- function hasLegacyGroupsetOrigins(groupset) {
276
- let found = false;
277
- walkTvs(groupset, (tvs) => {
278
- if (tvs.term?.origin) found = true;
279
- });
280
- return found;
281
- }
282
- function migrateLegacyTvsOrigins(tvs) {
283
- if (!tvs?.term) return tvs;
284
- if (tvs.term.origin && !tvs.origins?.length) tvs.origins = [tvs.term.origin];
285
- delete tvs.term.origin;
286
- delete tvs.term.name_noOrigin;
287
- return tvs;
288
- }
289
- function migrateLegacyGroupsetOrigins(groupset) {
290
- walkTvs(groupset, migrateLegacyTvsOrigins);
291
- return groupset;
292
- }
293
- function getOriginLabel(origins, byOrigin) {
294
- if (!origins?.length || !byOrigin) return "";
295
- if (origins.length == Object.keys(byOrigin).length) return "";
296
- return origins.map((origin) => byOrigin[origin]?.label || origin).join(", ");
297
- }
298
- function getGvLabelSuffix(q, term) {
299
- const labels = [q?.originLabel, term?.sampleTypeLabel].filter(Boolean);
300
- return labels.length ? ` (${labels.join(", ")})` : "";
301
- }
302
- function setGroupsetOrigins(groupset, byDt, seed) {
303
- walkTvs(groupset, (tvs) => {
304
- const origins = resolveDtOrigins(byDt, tvs.term?.dt, seed);
305
- if (origins) tvs.origins = origins;
306
- else delete tvs.origins;
307
- });
308
- return groupset;
309
- }
310
- function resolveDtOrigins(byDt, dt, seed) {
311
- const byOrigin = byDt?.[dt]?.byOrigin;
312
- if (!byOrigin) return;
313
- const seeded = seed?.filter((origin) => origin in byOrigin);
314
- return seeded?.length ? seeded : Object.keys(byOrigin);
315
- }
316
- function walkTvs(obj, fn) {
317
- if (!obj || typeof obj != "object") return;
318
- if (obj.type == "tvs" && obj.tvs) {
319
- fn(obj.tvs);
320
- return;
321
- }
322
- for (const k in obj) walkTvs(obj[k], fn);
323
- }
324
- function getDtsFromGroups(groups) {
325
- const dts = /* @__PURE__ */ new Set();
326
- for (const group of groups) {
327
- for (const dt of getDtsFromFilter(group.filter)) dts.add(dt);
328
- }
329
- return [...dts];
330
- }
331
- function getDtsFromFilter(filter) {
332
- const dts = /* @__PURE__ */ new Set();
333
- for (const item of filter.lst) {
334
- if (item.type == "tvslst") {
335
- for (const dt of getDtsFromFilter(item)) dts.add(dt);
336
- } else {
337
- dts.add(item.tvs.term.dt);
338
- }
339
- }
340
- return dts;
341
- }
342
- function clearDtTermMnames(obj) {
343
- walkTvs(obj, (tvs) => {
344
- if (tvs.term) delete tvs.term.mnames;
345
- });
346
- return obj;
347
- }
348
- function getQuerySampleTypesByTerms(sampleTypesByTerms, querySampleTypes) {
349
- if (!sampleTypesByTerms) return;
350
- const querySampleTypesByTerms = {};
351
- for (const [term, values] of Object.entries(sampleTypesByTerms)) {
352
- const queryValues = {};
353
- for (const [value, sampleTypes] of Object.entries(values)) {
354
- const filteredSampleTypes = sampleTypes.filter((sampleType) => querySampleTypes.includes(sampleType));
355
- if (filteredSampleTypes.length) queryValues[value] = filteredSampleTypes;
356
- }
357
- if (Object.keys(queryValues).length) querySampleTypesByTerms[term] = queryValues;
358
- }
359
- if (!Object.keys(querySampleTypesByTerms).length) return;
360
- return querySampleTypesByTerms;
361
- }
362
- var typeMap = {
363
- categorical: "Categorical",
364
- condition: "Condition",
365
- float: "Numerical",
366
- integer: "Numerical",
367
- date: "Date",
368
- geneExpression: "Gene Expression",
369
- isoformExpression: "Isoform Expression",
370
- [JUNCTION]: "Splice junction",
371
- ssGSEA: "Geneset Expression",
372
- dnaMethylation: "DNA Methylation",
373
- geneVariant: "Gene Variant",
374
- metaboliteIntensity: "Metabolite Intensity",
375
- proteomeAbundance: "Proteome Abundance",
376
- proteomeDAP: "Proteome DAP",
377
- multivalue: "Multi Value",
378
- singleCellGeneExpression: "Single Cell, Gene Expression",
379
- singleCellCellType: "Single Cell, Cell Type",
380
- singleCellNumericValue: "Single Cell, Numeric Value",
381
- snplocus: "SNP Locus",
382
- snp: "SNP",
383
- snplst: "SNP List",
384
- termCollection: "Term Collection"
385
- };
386
- function termItemType(t) {
387
- switch (t.type) {
388
- case JUNCTION:
389
- return "Splice junction";
390
- case GENE_EXPRESSION:
391
- case SINGLECELL_GENE_EXPRESSION:
392
- return "Gene";
393
- case ISOFORM_EXPRESSION:
394
- return "Isoform";
395
- case SSGSEA:
396
- return "Gene set";
397
- case METABOLITE_INTENSITY:
398
- return "Metabolite";
399
- // keep adding here
400
- default:
401
- return "Variable";
402
- }
403
- }
404
- function termType2label(type) {
405
- const s = typeMap[type];
406
- if (s) return s;
407
- throw new Error("termType2label(): unknown value");
408
- }
409
- function getDateFromNumber(value) {
410
- const year = Math.floor(value);
411
- const january1st = new Date(year, 0, 1);
412
- const totalDays = getDaysInYear(year);
413
- const time = Math.round((value - year) * totalDays) * oneDayTime;
414
- const date = new Date(january1st.getTime() + time);
415
- return date;
416
- }
417
- var oneDayTime = 24 * 60 * 60 * 1e3;
418
- function getDateStrFromNumber(value) {
419
- const date = getDateFromNumber(value);
420
- return date.toLocaleDateString("en-US", {
421
- year: "numeric",
422
- month: "long"
423
- });
424
- }
425
- function getDaysInYear(year) {
426
- const isLeap = new Date(year, 1, 29).getMonth() === 1;
427
- const days = isLeap ? 366 : 365;
428
- return days;
429
- }
430
-
431
- export {
432
- ROOT_SAMPLE_TYPE,
433
- DEFAULT_SAMPLE_TYPE,
434
- NumericModes,
435
- dtTermTypes,
436
- TermTypes2Dt,
437
- typeGroup,
438
- numericTypes,
439
- dictionaryNumericTypes,
440
- isSingleCellTerm,
441
- isNumericTerm,
442
- isNumericTw,
443
- isCategoricalTerm,
444
- isDictionaryType,
445
- isNonDictionaryType,
446
- isNumTermCollection,
447
- equals,
448
- trimGvTermCopy,
449
- forEachGvTw,
450
- trimGvTermsForSave,
451
- gvQCacheKeyPrefix,
452
- getGvQCacheKey,
453
- trimGvQForCache,
454
- restoreGvQueryEntry,
455
- matchesGvQueryEntry,
456
- setGroupsetParentTerms,
457
- hasLegacyGroupsetOrigins,
458
- migrateLegacyTvsOrigins,
459
- migrateLegacyGroupsetOrigins,
460
- getOriginLabel,
461
- getGvLabelSuffix,
462
- setGroupsetOrigins,
463
- walkTvs,
464
- getDtsFromGroups,
465
- clearDtTermMnames,
466
- getQuerySampleTypesByTerms,
467
- termItemType,
468
- termType2label,
469
- getDateFromNumber,
470
- getDateStrFromNumber
471
- };
472
- //# sourceMappingURL=chunk-5FD6NRGE.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../shared/utils/src/terms.ts"],
4
- "sourcesContent": ["import type { Term, SampleTypesByTerms } from '#types'\nimport {\n\tdtgeneexpression,\n\tdtssgsea,\n\tdtdnamethylation,\n\tdtmetaboliteintensity,\n\tdtproteomeabundance,\n\tTermTypeGroups,\n\tdtTerms\n} from './common.js'\nimport {\n\tGENE_VARIANT,\n\tGENE_EXPRESSION,\n\tISOFORM_EXPRESSION,\n\tSSGSEA,\n\tDNA_METHYLATION,\n\tCATEGORICAL,\n\tINTEGER,\n\tJUNCTION,\n\tFLOAT,\n\tSNP,\n\tSNP_LIST,\n\tSNP_LOCUS,\n\tCONDITION,\n\tSURVIVAL,\n\tSAMPLELST,\n\tMETABOLITE_INTENSITY,\n\tPROTEOME_ABUNDANCE,\n\tPSEUDOBULK,\n\tSINGLECELL_CELLTYPE,\n\tSINGLECELL_GENE_EXPRESSION,\n\tSINGLECELL_NUMERIC_VALUE,\n\tMULTIVALUE,\n\tDATE,\n\tTERM_COLLECTION,\n\tCOHORT\n} from '#types'\n\n// moved TermTypeGroups to `server/src/common.js`, so now has to re-export\nexport { TermTypeGroups } from './common.js'\n\n/*\nFor datasets with multiple types of samples the ROOT_SAMPLE_TYPE is used to represent the root sample type, for example, \nthe type patient, that has one or more samples associated to it. This should be the id used as sample_type, when generating the db to identify the root samples\nin sampleidmap or the terms annotating root samples in the terms table.\nThe samples associated to a patient have annotations that are specific to a timepoint, for example, the age of the patient,\nthe doses of the drugs the patient was taking at the time of the data collection, etc. These annotations are associated to a sample.\n*/\nexport const ROOT_SAMPLE_TYPE = 1\n\n//For datasets with one sample type the DEFAULT_SAMPLE_TYPE is used to represent the sample type\nexport const DEFAULT_SAMPLE_TYPE = 2\n\nexport const NumericModes = {\n\tcontinuous: 'continuous',\n\tdiscrete: 'discrete'\n}\n\n// the dt term types are also declared in TermTypes, see the assertion in terms.unit.spec.ts\nexport const dtTermTypes: Set<string> = new Set(dtTerms.map((t: any) => t.type))\n\nexport const TermTypes2Dt = {\n\t[GENE_EXPRESSION]: dtgeneexpression,\n\t[SSGSEA]: dtssgsea,\n\t[DNA_METHYLATION]: dtdnamethylation,\n\t[METABOLITE_INTENSITY]: dtmetaboliteintensity,\n\t[PROTEOME_ABUNDANCE]: dtproteomeabundance\n}\n\n// maps term type to group (as is shown as toggles in search ui)\nexport const typeGroup = {\n\t[CATEGORICAL]: TermTypeGroups.DICTIONARY_VARIABLES,\n\t[CONDITION]: TermTypeGroups.DICTIONARY_VARIABLES,\n\t[FLOAT]: TermTypeGroups.DICTIONARY_VARIABLES,\n\t[INTEGER]: TermTypeGroups.DICTIONARY_VARIABLES,\n\t[SAMPLELST]: TermTypeGroups.DICTIONARY_VARIABLES,\n\t[SURVIVAL]: TermTypeGroups.DICTIONARY_VARIABLES,\n\t[DATE]: TermTypeGroups.DICTIONARY_VARIABLES,\n\t[MULTIVALUE]: TermTypeGroups.DICTIONARY_VARIABLES,\n\t[GENE_VARIANT]: TermTypeGroups.MUTATION_CNV_FUSION,\n\t[SNP]: TermTypeGroups.SNP,\n\t[SNP_LIST]: TermTypeGroups.SNP_LIST,\n\t[SNP_LOCUS]: TermTypeGroups.SNP_LOCUS,\n\t[GENE_EXPRESSION]: TermTypeGroups.GENE_EXPRESSION,\n\t[ISOFORM_EXPRESSION]: TermTypeGroups.ISOFORM_EXPRESSION,\n\t[JUNCTION]: TermTypeGroups.SPLICE_JUNCTION,\n\t[SSGSEA]: TermTypeGroups.SSGSEA,\n\t[DNA_METHYLATION]: TermTypeGroups.DNA_METHYLATION,\n\t[METABOLITE_INTENSITY]: TermTypeGroups.METABOLITE_INTENSITY,\n\t[PROTEOME_ABUNDANCE]: TermTypeGroups.PROTEOME_ABUNDANCE,\n\t[PSEUDOBULK]: TermTypeGroups.PSEUDOBULK,\n\t[TERM_COLLECTION]: TermTypeGroups.TERM_COLLECTION,\n\t[SINGLECELL_CELLTYPE]: TermTypeGroups.SINGLECELL_CELLTYPE,\n\t[SINGLECELL_GENE_EXPRESSION]: TermTypeGroups.SINGLECELL_GENE_EXPRESSION,\n\t[SINGLECELL_NUMERIC_VALUE]: TermTypeGroups.SINGLECELL_NUMERIC_VALUE,\n\t[COHORT]: TermTypeGroups.COHORT\n}\n\nconst nonDictTypes = new Set([\n\tSNP,\n\tSNP_LIST,\n\tSNP_LOCUS,\n\tGENE_EXPRESSION,\n\tISOFORM_EXPRESSION,\n\tJUNCTION,\n\tSSGSEA,\n\tDNA_METHYLATION,\n\tGENE_VARIANT,\n\tMETABOLITE_INTENSITY,\n\tPROTEOME_ABUNDANCE,\n\tPSEUDOBULK,\n\tSINGLECELL_CELLTYPE,\n\tSINGLECELL_GENE_EXPRESSION,\n\tSINGLECELL_NUMERIC_VALUE,\n\tCOHORT\n])\n\nfor (const dtTermType of dtTermTypes) {\n\tnonDictTypes.add(dtTermType)\n}\n\nexport const numericTypes = new Set([\n\tINTEGER,\n\tFLOAT,\n\tGENE_EXPRESSION,\n\tISOFORM_EXPRESSION,\n\tJUNCTION,\n\tSSGSEA,\n\tDNA_METHYLATION,\n\tMETABOLITE_INTENSITY,\n\tPROTEOME_ABUNDANCE,\n\tSINGLECELL_GENE_EXPRESSION,\n\tSINGLECELL_NUMERIC_VALUE,\n\tDATE,\n\tPSEUDOBULK\n])\n\n// dictionary numeric term types, exists in db tables, exclude non-dictionary term types\nexport const dictionaryNumericTypes = new Set([INTEGER, FLOAT, DATE])\n\nconst categoricalTypes = new Set([CATEGORICAL, SNP])\n\n/** Note: Do not add pseudobulk here. These capture cell level terms.\n * Pseudobulk terms are sample level terms. May in the future update\n * to isSCCellLevelTerms() and isSingleCellTerm() if the need arises */\nconst singleCellTerms = new Set([\n\tSINGLECELL_CELLTYPE,\n\tSINGLECELL_GENE_EXPRESSION,\n\tSINGLECELL_NUMERIC_VALUE /*PSEUDOBULK*/\n])\n\nexport type TwSampleTypes = {\n\tsampleTypes?: number[] // sample types of termwrapper\n\tchildSampleTypes?: number[] // child sample types to map to\n}\n\nexport function isSingleCellTerm(term: any) {\n\tif (!term) return false\n\tif (typeof term !== 'object') throw new Error('Term is not an object. Did you provide the type instead?')\n\treturn singleCellTerms.has(term.type)\n}\nexport function isNumericTerm(term: Term) {\n\tif (!term) return false\n\treturn numericTypes.has(term.type)\n}\n\n/** True when a term wrapper resolves to one numeric value per sample.\n * A termCollection in values mode is intentionally excluded because it retains\n * one value per member term rather than resolving to a scalar. */\nexport function isNumericTw(tw: any) {\n\tif (!tw?.term) return false\n\treturn (\n\t\tisNumericTerm(tw.term) ||\n\t\t(tw.term.type === TERM_COLLECTION && tw.term.memberType === 'numeric' && tw.type === 'TermCollectionTWFraction')\n\t)\n}\nexport function isCategoricalTerm(term: Term) {\n\tif (!term) return false\n\treturn categoricalTypes.has(term.type)\n}\n\nexport function isDictionaryType(type: string) {\n\treturn !isNonDictionaryType(type)\n}\n\nexport function isNonDictionaryType(type: string) {\n\tif (!type) throw new Error('Type is not defined')\n\treturn nonDictTypes.has(type)\n}\n\nexport function isNumTermCollection(term: Term) {\n\tif (!term || !term.type) throw new Error('Term or term type is not defined')\n\t//Enable this check when memberType is added to term collection\n\t// return term.type === TERM_COLLECTION && term.memberType == 'numeric'\n\treturn term.type === TERM_COLLECTION\n}\n\nexport function equals(t1: any, t2: any) {\n\tif (!t1) throw new Error('First term is not defined ')\n\tif (!t2) throw new Error('Second term is not defined ')\n\tif (t1.type !== t2.type) return false //term types are different\n\tif (isDictionaryType(t1.type) && isDictionaryType(t2.type) && t1.type != SAMPLELST) return t1.id === t2.id\n\tswitch (t1.type) {\n\t\tcase GENE_EXPRESSION:\n\t\t\treturn t1.gene == t2.gene\n\t\tcase ISOFORM_EXPRESSION:\n\t\t\treturn t1.isoform == t2.isoform\n\t\tcase JUNCTION:\n\t\t\treturn t1.chr == t2.chr && t1.start == t2.start && t1.stop == t2.stop && t1.strand == t2.strand\n\t\tcase SSGSEA:\n\t\t\treturn t1.id == t2.id\n\t\tcase DNA_METHYLATION:\n\t\t\treturn t1.chr == t2.chr && t1.start == t2.start && t1.stop == t2.stop\n\t\tcase METABOLITE_INTENSITY:\n\t\tcase PROTEOME_ABUNDANCE:\n\t\t\treturn t1.name == t2.name\n\t\tcase GENE_VARIANT:\n\t\t\treturn t1.gene == t2.gene || (t1.chr == t2.chr && t1.start == t2.start && t1.stop == t2.stop)\n\n\t\t// TO DO: Add more cases\n\t\t// case SNP_LIST:\n\t\t// case SNP_LOCUS:\n\t\t// case SAMPLELST:\n\n\t\tdefault:\n\t\t\treturn false\n\t}\n}\n\n/*\nA filled-in geneVariant term carries derived properties that dominate its serialized\nsize: term.childTerms[], and for a predefined groupset, term.groupsetting.lst[] with\nan embedded copy of a dt term (values, mnames, parentTerm) per tvs of every groupset.\nNone of it is needed to answer a data request:\n- no server code reads term.childTerms[]; it is a client-side convenience that\n GvBase.fill() rebuilds from termdbConfig\n- only the groupset at q.predefined_groupset_idx is read server-side, by\n get_active_groupset() in server/src/termdb.sql.js\n- dtTerm.mnames[] (the amino acid change tally) is only read by the tvs edit UI,\n which re-queries it in fillMenu() before rendering\n\nTrimming these shrinks a single-gene request payload by ~80%.\n\nterm{} and q{} are mutated in place, so only call this on a copy that is about to\nbe serialized into a request payload, never on a tw held in state.\n*/\nexport function trimGvTermCopy(term: any, q: any) {\n\tif (term?.type != GENE_VARIANT) return term\n\tdelete term.childTerms\n\t/* the parent of a groupset tvs is this very term, and the server reads it off the\n\ttw rather than off the tvs, see setGroupsetParentTerms() */\n\tif (q?.customset) clearGroupsetParentTerms(q.customset)\n\tconst lst = term.groupsetting?.lst\n\tif (!lst?.length) return term\n\tif (q?.type == 'predefined-groupset') {\n\t\t// keep only the active groupset, but preserve the array indexes,\n\t\t// since the server reads groupsetting.lst[q.predefined_groupset_idx]\n\t\tconst idx = q.predefined_groupset_idx\n\t\tterm.groupsetting.lst = lst.map((groupset: any, i: number) => (i === idx ? groupset : null))\n\t\tclearDtTermMnames(term.groupsetting.lst[idx])\n\t\tclearGroupsetParentTerms(term.groupsetting.lst[idx])\n\t} else {\n\t\t// no predefined groupset is in use, so no entry of lst[] is read server-side\n\t\tdelete term.groupsetting.lst\n\t}\n\treturn term\n}\n\n/*\nCall back on every geneVariant tw of an object, at any depth, so that a caller can accept a\nwhole state, a state.plots[], or one plot config without knowing where a plot keeps its tws\n(term/term0/term2 of a chart, termgroups[].lst[] of a matrix, and so on).\n\nA tw is identified by a term{} paired with a q{}, so that the dt term of a tvs of a mass\nfilter, which is a bare term, is never mistaken for one.\n\nDescends into a matched tw as well, since a tw can nest one: the tvs of a custom groupset\ncarry a parentTerm, which is a copy and not a reference back to the term walked here, so no\ncycle reaches this walk (see setGroupsetParentTerms()).\n*/\nexport function forEachGvTw(obj: any, callback: (tw: any) => void) {\n\tif (!obj || typeof obj != 'object') return\n\tif (obj.q && obj.term?.type == GENE_VARIANT) callback(obj)\n\t// own values only, to not descend into inherited props/methods, as in StoreBase.deepFreeze()\n\tfor (const value of Object.values(obj)) forEachGvTw(value, callback)\n}\n\n/*\nStrip every derived property of a geneVariant term from a state that is about to be\nserialized into a saved session, in place. Walks any object and trims the term of each\ngeneVariant tw it finds, so it accepts a whole state, a state.plots[], or one plot config.\n\nThis goes further than trimGvTermCopy() above, which shapes a request payload and so has\nto keep whatever the server reads. Nothing here has to survive, because a saved session is\nalways re-filled before it is rendered:\n- a session opened by url is filled by getPlotConfig() in init(), see client/mass/store.ts\n- a session opened in a running app is filled by preprocessState(), see client/mass/sessionBtn.js\nand GvBase.fill() rebuilds term.childTerms[] from termdbConfig, term.groupsetting from the\nchild terms, and each childTerm.parentTerm from the term itself.\n\nBetween them these are ~91% of a serialized single-gene tw, and the ratio climbs with the\ngene count: term.genes[] is serialized once per childTerm.parentTerm and once per tvs of the\nselected groupset, so a 200-gene tw carries ~9 copies of it.\n\nOnly the parentTerm of a customset tvs is trimmed out of q{}, which GvCustomGS.fill()\nre-attaches; the rest of q.customset is user-authored and no fill() rebuilds it. The dt term\nof a tvs of a mass filter does need its own parentTerm, and keeps it, since forEachGvTw()\nonly reaches a term paired with a q.\n*/\nexport function trimGvTermsForSave(obj: any) {\n\tforEachGvTw(obj, tw => {\n\t\tdelete tw.term.childTerms\n\t\t// deleting rather than emptying, since GvBase.fill() recreates it from scratch\n\t\tdelete tw.term.groupsetting\n\t\tif (tw.q.customset) clearGroupsetParentTerms(tw.q.customset)\n\t})\n\treturn obj\n}\n\n/*\nThe identity of the gene(s) a geneVariant term queries, which keys the settings remembered\nfor that term, see remember_gvq() in client/mass/store.ts.\n\nBuilt from the gene entries rather than from term.id or term.name, which for a gene set are\na name the user typed: two gene sets over the same genes would key apart, while a gene set\nsomeone named \"BCR\" would collide with the gene. Sorted, so that the same genes picked in a\ndifferent order are one key.\n\nEach entry is keyed by what identifies it and not by its label:\n- a gene entry by its symbol, never by its coordinates, which are annotated onto it only by\n a query that needs them (see mayMapGeneName2coord()), so keying by them would give one\n gene two keys depending on what had been queried\n- a coord entry by its region, never by its name: GvBase.fill() only auto-names one that\n has no name, so a supplied label would key the same region twice, and two regions sharing\n a label would collide into one key -- which is worse, since a setting built for one region\n would be offered for the other\n\nReturns '' for a term whose entries cannot all be identified, rather than a partial key that\ntwo different terms could share.\n*/\nexport function getGvGeneKey(term: any): string {\n\t// a term saved before term.genes[] existed describes its single gene at the top level,\n\t// and may reach here before GvBase.fill() normalizes it\n\tconst genes = term?.genes?.length ? term.genes : term ? [term] : []\n\tconst keys = genes\n\t\t.map((gene: any) => {\n\t\t\tif (getGvGeneKind(gene) == 'coord') {\n\t\t\t\tconst region = getGvQueryRegion(gene)\n\t\t\t\t// the same string fill() would auto-name the entry, so an auto-named coord\n\t\t\t\t// entry keys identically whether or not it has been filled\n\t\t\t\treturn region ? `${region.chr}:${region.start + 1}-${region.stop}` : undefined\n\t\t\t}\n\t\t\treturn gene.gene || gene.name\n\t\t})\n\t\t.filter((key: any) => typeof key == 'string' && key)\n\tif (!keys.length || keys.length != genes.length) return ''\n\treturn keys.sort().join(',')\n}\n\n/*\nThe key a remembered geneVariant setting is cached under, see remember_gvq() in\nclient/mass/store.ts. Returns '' for a term that getGvGeneKey() cannot key.\n\nPrefixed because the cache is a plain object keyed by gene names a url or an embedder can\nsupply, and is serialized into every session saved from the state:\n\n- an unprefixed gene named '__proto__' or 'constructor' would name an inherited property of\n the cache, so a read would resolve to Object.prototype or to a function instead of missing\n- worse, such a key survives JSON.parse() as an own key that copyMerge() then walks when a\n session is reopened, resolving target['__proto__'] to Object.prototype through the getter\n and writing the cached list onto it, see copyMerge() in client/rx/src/StoreBase.ts\n\n- an unprefixed integer-like gene name would also sort ahead of the rest in Object.keys(),\n which the least-recently-used eviction in remember_gvq() reads as insertion order\n\nThe prefix cannot itself be produced by getGvGeneKey(), since a gene symbol or a coord\nregion never starts with it, so prefixed keys stay one-to-one with the terms they key.\n*/\nexport const gvQCacheKeyPrefix = 'gv:'\nexport function getGvQCacheKey(term: any): string {\n\tconst key = getGvGeneKey(term)\n\treturn key ? gvQCacheKeyPrefix + key : ''\n}\n\n/** the kind of a geneVariant gene entry, inferred exactly as GvBase.fill() infers it for an\n * entry that predates term.kind, so that a term keys the same before and after it is filled */\nfunction getGvGeneKind(gene: any): string | undefined {\n\tif (gene?.kind) return gene.kind\n\tif (gene?.gene || (gene?.name && !gene.chr)) return 'gene'\n\tif (gene?.chr) return 'coord'\n\treturn undefined\n}\n\n/*\nA copy of a geneVariant q, reduced to what is worth remembering as a reusable setting, see\nremember_gvq() in client/mass/store.ts.\n\nEverything dropped is re-derived when a tw is filled with this q, so keeping it would only\nbloat the app state and every session saved from it, and would make two equivalent settings\ncompare as different when de-duplicating:\n- hiddenValues is refilled by set_hiddenvalues()\n- dtLst is always re-derived from the groups rather than trusted, see GvCustomGS.fill()\n- the mname tally and parent term of every customset tvs are re-attached on fill\n*/\nexport function trimGvQForCache(q: any) {\n\tconst copy = structuredClone(q)\n\tdelete copy.isAtomic\n\tdelete copy.hiddenValues\n\tdelete copy.dtLst\n\tif (copy.customset) {\n\t\tclearDtTermMnames(copy.customset)\n\t\tclearGroupsetParentTerms(copy.customset)\n\t}\n\treturn copy\n}\n\n/*\nA geneVariant term is queried per entry of term.genes[], and every value it yields records\nwhich entry it came from. That record used to be a single .gene holding the entry's NAME,\nwhich for a kind='coord' entry is a coordinate string -- so consumers reading .gene as a\ngene symbol got a region, e.g. a matrix export labelling a variant \"chr1:47213991-47318918\".\n\nThe two things are now separate: .gene is a gene symbol and is simply absent for a region,\nwhile .region below is what was queried and is present either way. The helpers here are the\none place that knows the shape.\n*/\n\n/* the region a query entry covers, which every value found through it carries. Distinct\nfrom the value's own .start/.stop, which are the event's -- a cnv segment is not the region\nthat found it.\n\nCoordinates are annotated onto a gene entry by mayMapGeneName2coord() when a query needing\nthem runs, so this is undefined for a gene only queried by dts that never map coords. A\ncoord entry always carries them, since fill() requires them. */\nexport function getGvQueryRegion(gene: any) {\n\tif (!gene?.chr || !Number.isInteger(gene.start) || !Number.isInteger(gene.stop)) return\n\treturn { chr: gene.chr, start: gene.start, stop: gene.stop }\n}\n\n/* identity of the query entry a value came from, for grouping and de-duplicating the values\nof a term over several genes or regions. The gene symbol when there is one, else the region. */\nexport function getGvQueryKey(v: any) {\n\tif (v?.gene) return v.gene\n\tconst r = v?.region\n\treturn r ? `${r.chr}:${r.start}-${r.stop}` : ''\n}\n\n/*\nThe wire format for the query entry of a value, as the two halves that must stay inverse of\neach other: get_matrix.js interns on the way out, TermdbVocab.js restores on the way in.\n\nA term's values repeat their query entry endlessly -- one .region object per value, tens of\nthousands of them in a matrix request -- so the distinct entries are collected once into\nrefs.byTermId[$id].queries[] and each value keeps only its index in .$q.\n\nBoth live here so the format has one definition and can be round-tripped in a test.\n*/\n\n/** replace a value's query entry with its index into queries[], interning it if new.\n * returns false for a value that records no query entry, which is left untouched */\nexport function internGvQueryEntry(v: any, queries: any[], idxByKey: Map<string, number>) {\n\tconst key = getGvQueryKey(v)\n\tif (!key) return false\n\tlet i = idxByKey.get(key)\n\tif (i === undefined) {\n\t\ti = queries.length\n\t\tconst entry: any = {}\n\t\tif (v.gene) entry.gene = v.gene\n\t\tif (v.region) entry.region = v.region\n\t\tqueries.push(entry)\n\t\tidxByKey.set(key, i)\n\t}\n\tv.$q = i\n\tdelete v.gene\n\tdelete v.region\n\treturn true\n}\n\n/** the inverse: put the query entry back on a value. returns false when there is nothing\n * to restore, e.g. a term whose values carry no query entry */\nexport function restoreGvQueryEntry(v: any, queries: any[] | undefined) {\n\tif (!queries || v?.$q === undefined) return false\n\tObject.assign(v, queries[v.$q])\n\tdelete v.$q\n\treturn true\n}\n\n/*\nWhether a values[] entry of a tvs, naming an amino acid change, is scoped to the query entry\na variant came from.\n\nAn entry may name a .gene, so that KRAS G12D of a gene-set term does not match NRAS G12D, or\na .region for the same reason over a term of several queried regions. Naming neither leaves\nit unscoped, matching that change wherever it was found -- which is what a single-entry term\nwants, and what the variant config emits for one.\n\nBoth matchers call this so a tvs means the same thing on either side: filterByItem() in\nserver/src/mds3.init.js and matchTvs() in geneVariantFilter.ts.\n*/\nexport function matchesGvQueryEntry(entry: any, v: any) {\n\tif (entry.gene) return entry.gene == v.gene\n\tconst r = entry.region\n\tif (r) return !!v.region && r.chr == v.region.chr && r.start == v.region.start && r.stop == v.region.stop\n\treturn true\n}\n\n/*\nThe dt term of a tvs carries a parentTerm, but for two unrelated reasons:\n\n- a tvs of a mass filter stands alone, so its parentTerm is the only record of which gene\n it is about. get_dtTerm() in server/src/termdb.filter.js reads it to run the query, and\n the tvs edit UI reads it to label the pill. it must be kept.\n- a tvs of a groupset (q.customset, or term.groupsetting.lst[]) has no such need: its\n parent is by definition the term of the tw that holds the groupset. storing one there is\n a copy of term.genes[] per tvs that nothing keeps in sync with the term it was copied\n from, and a termsetting instance is reused across terms, so it does go stale (see\n makeGroupUI() in client/termsetting/handlers/geneVariant.ts).\n\nSo a groupset gets its parentTerms rebuilt on every fill() instead of storing them, which\nlets both trims above drop them: a groupset tvs is evaluated against the tw that holds it,\nand get_dtTerm() in server/src/termdb.filter.js is the only server-side reader of a\nparentTerm, so nothing there misses the one a groupset does not store.\n\nOne snapshot is shared by reference across the tvs, as the child dt terms of a predefined\ngroupset already are. That is only safe because the trims drop it before it is ever\nserialized, which would turn the one shared copy back into one copy per tvs.\n\nThrows on a tvs whose term is not a dt term: the groups of a geneVariant groupset can only\nfilter by dt, and the server would otherwise fail deep in filterByItem().\n*/\nexport function setGroupsetParentTerms(groupset: any, term: any) {\n\tif (term?.type != GENE_VARIANT) throw 'parent of a groupset tvs must be a geneVariant term'\n\tconst parentTerm = structuredClone(term)\n\t// the parent of a dt term is the gene(s), not the derived properties of the term\n\tdelete parentTerm.childTerms\n\tdelete parentTerm.groupsetting\n\twalkTvs(groupset, (tvs: any) => {\n\t\tif (!dtTermTypes.has(tvs.term?.type)) throw `groupset tvs term is not a dt term`\n\t\ttvs.term.parentTerm = parentTerm\n\t})\n\treturn groupset\n}\n\n/* drop what setGroupsetParentTerms() re-attaches. tolerates a malformed tvs, since a trim\nmust never be the thing that throws on the way into a request or a saved session */\nfunction clearGroupsetParentTerms(groupset: any) {\n\twalkTvs(groupset, (tvs: any) => {\n\t\tif (tvs.term) delete tvs.term.parentTerm\n\t})\n\treturn groupset\n}\n\n/* before origins became a tvs selection (tvs.origins[]), the dt term of a groupset tvs\ncarried a single origin of its own. whether any tvs of a groupset still does */\nexport function hasLegacyGroupsetOrigins(groupset: any): boolean {\n\tlet found = false\n\twalkTvs(groupset, (tvs: any) => {\n\t\tif (tvs.term?.origin) found = true\n\t})\n\treturn found\n}\n\n/*\nBring one tvs from the legacy origin shape to the current one, in place: the single origin\nits dt term carried becomes the tvs's own origins[].\n\nThe one place that knows the legacy shape, so that no reader has to check for it. A tvs is\nmigrated once on the way in and every reader then works off tvs.origins[] alone -- see\nsetHandler() in client/filter/tvs.js, which every tvs the filter UI shows or edits passes\nthrough before any handler method runs.\n\nIdempotent, and tolerates a tvs without a term, since it runs on every render of a pill.\n*/\nexport function migrateLegacyTvsOrigins(tvs: any) {\n\tif (!tvs?.term) return tvs\n\tif (tvs.term.origin && !tvs.origins?.length) tvs.origins = [tvs.term.origin]\n\tdelete tvs.term.origin\n\tdelete tvs.term.name_noOrigin\n\treturn tvs\n}\n\n/* migrate every tvs of a groupset, a group, or a filter, see migrateLegacyTvsOrigins().\n\nThe legacy shape was already per-tvs, so each tvs keeps exactly the origin it filtered by,\nrather than every tvs widening to the union across the groupset. That matters for a\ngroupset whose groups mix origins, e.g. a germline snvindel group beside a somatic cnv one:\ncollecting them into one list would make each group match both. */\nexport function migrateLegacyGroupsetOrigins(groupset: any) {\n\twalkTvs(groupset, migrateLegacyTvsOrigins)\n\treturn groupset\n}\n\n/*\nThe origins a selection is restricted to, as a display label.\n\nEmpty when there is nothing to tell apart: no origins to name, a data type that is not split\nby origin, or a selection covering every origin that data type has. Otherwise the dataset's\nown label for each origin, e.g. 'Inherited' for germline, falling back to the origin key.\n\nbyOrigin is assayAvailability.byDt[dt].byOrigin. The one definition of this label, so that a\nfilter pill and a plot title name the same selection the same way -- see getTvsOriginLabel()\nin client/filter/tvs.dt.js and getTitleText() in client/tw/geneVariant.ts.\n*/\nexport function getOriginLabel(origins: string[] | undefined, byOrigin: any): string {\n\tif (!origins?.length || !byOrigin) return ''\n\tif (origins.length == Object.keys(byOrigin).length) return ''\n\treturn origins.map(origin => byOrigin[origin]?.label || origin).join(', ')\n}\n\n/*\nThe qualifiers of a geneVariant selection as a parenthesized suffix, or '' when there is\nnothing to qualify: the origins of its groupset and the sample types of its term. Empty\nlabels are skipped, which is what both of them use for \"every option selected, so there is\nnothing to tell apart\" (see getOriginLabel()).\n\nOrigin first, then sample type, so the two read in the order the gene search UI selects them.\nOne definition, so that a pill and a plot title describe the same selection the same way --\nsee getPillStatus() in client/termsetting/handlers/geneVariant.ts and getTitleText() in\nclient/tw/geneVariant.ts.\n\nq.originLabel is only set for a predefined groupset; the tvs of a custom groupset carry their\nown origins and name them in their own filter pills instead.\n*/\nexport function getGvLabelSuffix(q: any, term: any): string {\n\tconst labels = [q?.originLabel, term?.sampleTypeLabel].filter(Boolean)\n\treturn labels.length ? ` (${labels.join(', ')})` : ''\n}\n\n/*\nSet origins[] on every tvs of a groupset whose dt is split by origin, in place.\n\nbyDt is ds/termdbConfig assayAvailability.byDt{}, which says which dts are origin-split.\n\nA predefined groupset is rebuilt from scratch on every fill, so its tvs cannot persist an\norigin selection of their own; seed is q.origins, the selection the gene search UI made,\nand is what they are stamped from (see OriginSeedQ in shared/types/src/terms/geneVariant.ts).\nA seed that does not cover a dt falls back to every origin of that dt, so that the invariant\nholds either way: an origin-split tvs always lists its origins, and a tvs without origins[]\nis one whose dt is not split -- never one that means \"match everything\".\n\nOnly the origins a dt actually declares are kept. A seed naming an origin of another dt\nwould otherwise match no value at all and silently empty the group.\n*/\nexport function setGroupsetOrigins(groupset: any, byDt: any, seed?: string[]) {\n\twalkTvs(groupset, (tvs: any) => {\n\t\tconst origins = resolveDtOrigins(byDt, tvs.term?.dt, seed)\n\t\t// a dt that is not origin-split must carry none; a leftover origins[] here would\n\t\t// filter out every value\n\t\tif (origins) tvs.origins = origins\n\t\telse delete tvs.origins\n\t})\n\treturn groupset\n}\n\n/*\nThe origins a tvs of one dt matches: the seed narrowed to the origins that dt declares, or\nevery origin of it when the seed names none. Undefined for a dt that is not split by origin.\n\nThe fallback is what upholds the invariant that an origin-split tvs always lists its origins,\nsee GeneVariantTvs in shared/types/src/filter.ts. The narrowing is belt-and-braces: a seed\nreaching a fill has already been checked against the dt by validateSeedOrigins() in\nclient/tw/geneVariant.ts.\n*/\nfunction resolveDtOrigins(byDt: any, dt: number | undefined, seed?: string[]): string[] | undefined {\n\tconst byOrigin = byDt?.[dt as number]?.byOrigin\n\tif (!byOrigin) return\n\tconst seeded = seed?.filter(origin => origin in byOrigin)\n\treturn seeded?.length ? seeded : Object.keys(byOrigin)\n}\n\n/* run fn on every tvs of a groupset, a group, or a filter.\n\nA tvs is a leaf: a nested tvslst is a sibling of it in filter.lst[], never inside it. Not\ndescending matters, because a tvs can hold a filter of its own that is not part of the\ngroupset structure -- tvs.mafFilter wraps a maf term, which is a dictionary term rather\nthan a dt term (see getMafFilter() in client/tw/geneVariant.ts). getDtsFromFilter() above\nreads a filter the same way. */\nexport function walkTvs(obj: any, fn: (tvs: any) => void) {\n\tif (!obj || typeof obj != 'object') return\n\tif (obj.type == 'tvs' && obj.tvs) {\n\t\tfn(obj.tvs)\n\t\treturn\n\t}\n\tfor (const k in obj) walkTvs(obj[k], fn)\n}\n\n/* the dts queried by a set of groups, read off the dt term of each tvs of their filters */\nexport function getDtsFromGroups(groups: any[]): any[] {\n\tconst dts = new Set<any>()\n\tfor (const group of groups) {\n\t\tfor (const dt of getDtsFromFilter(group.filter)) dts.add(dt)\n\t}\n\treturn [...dts]\n}\n\nfunction getDtsFromFilter(filter: any): Set<any> {\n\tconst dts = new Set<any>()\n\tfor (const item of filter.lst) {\n\t\tif (item.type == 'tvslst') {\n\t\t\tfor (const dt of getDtsFromFilter(item)) dts.add(dt)\n\t\t} else {\n\t\t\tdts.add(item.tvs.term.dt)\n\t\t}\n\t}\n\treturn dts\n}\n\n/*\ndelete the amino acid change tally from every dt term nested in a groupset or filter.\n\nOnly the variant config UI reads mnames, and it re-queries them before rendering (see\ngetDtTermValues() in client/filter/tvs.dt.js), so a tally stored on a tvs is dead weight\nthat is re-serialized once per tvs. Walks any object, so it accepts a groupset, a group,\nor a filter.\n*/\nexport function clearDtTermMnames(obj: any) {\n\twalkTvs(obj, (tvs: any) => {\n\t\tif (tvs.term) delete tvs.term.mnames\n\t})\n\treturn obj\n}\n\nexport function getBin(lst: any[], value: number) {\n\tlet bin = lst.findIndex(\n\t\tb => (b.startunbounded && value < b.stop) || (b.startunbounded && b.stopinclusive && value == b.stop)\n\t)\n\tif (bin == -1)\n\t\tbin = lst.findIndex(\n\t\t\tb => (b.stopunbounded && value > b.start) || (b.stopunbounded && b.startinclusive && value == b.start)\n\t\t)\n\tif (bin == -1)\n\t\tbin = lst.findIndex(\n\t\t\tb =>\n\t\t\t\t(value > b.start && value < b.stop) ||\n\t\t\t\t(b.startinclusive && value == b.start) ||\n\t\t\t\t(b.stopinclusive && value == b.stop)\n\t\t)\n\treturn bin\n}\n\n// get sample types of termwrapper\nexport function getTwSampleTypes(tw: any, ds: any): TwSampleTypes {\n\tconst term = tw?.term\n\tif (!term) return {}\n\t// prioritize user-defined sample types\n\tif (term.sampleTypes) {\n\t\treturn { sampleTypes: term.sampleTypes }\n\t}\n\tif (dtTermTypes.has(term.type)) {\n\t\tif (term.parentTerm.sampleTypes) {\n\t\t\treturn { sampleTypes: term.parentTerm.sampleTypes }\n\t\t}\n\t}\n\tconst defaultSampleTypes = getDefaultSampleTypes(ds)\n\tif (ds.cohort.termdb.term2SampleType.has(term.id)) {\n\t\tconst sampleType = ds.cohort.termdb.term2SampleType.get(term.id)\n\t\tif (Number.isInteger(sampleType)) {\n\t\t\treturn { sampleTypes: [sampleType] }\n\t\t} else if (sampleType && typeof sampleType == 'object') {\n\t\t\tif (!Number.isInteger(sampleType.sampleType)) throw new Error('sampleType.sampleType is non-numeric')\n\t\t\tif (!Array.isArray(sampleType.childSampleTypes)) throw new Error('sampleType.childSampleTypes is not array')\n\t\t\treturn { sampleTypes: [sampleType.sampleType], childSampleTypes: sampleType.childSampleTypes }\n\t\t} else {\n\t\t\treturn {}\n\t\t}\n\t}\n\tif (term.type == 'samplelst') {\n\t\tconst key = Object.keys(term.values)[0]\n\t\tconst sampleId = term.values[key].list[0]?.sampleId\n\t\tif (sampleId) {\n\t\t\tconst sampleType = ds.sampleId2Type.get(Number(sampleId) || sampleId)\n\t\t\treturn Number.isInteger(sampleType) ? { sampleTypes: [sampleType] } : {}\n\t\t}\n\t}\n\treturn { sampleTypes: defaultSampleTypes }\n}\n\n// default sample types will be all non-root sample types\nexport function getDefaultSampleTypes(ds: any) {\n\tconst sampleTypes = Object.keys(ds.cohort.termdb.sampleTypes)\n\t\t.filter(key => Number.isInteger(ds.cohort.termdb.sampleTypes[key].parent_id))\n\t\t.map(Number)\n\treturn sampleTypes\n}\n\n// filter sampleTypesByTerms for those entries with query sample types\nexport function getQuerySampleTypesByTerms(sampleTypesByTerms: SampleTypesByTerms, querySampleTypes: number[]) {\n\tif (!sampleTypesByTerms) return\n\tconst querySampleTypesByTerms: any = {}\n\tfor (const [term, values] of Object.entries(sampleTypesByTerms)) {\n\t\tconst queryValues: any = {}\n\t\tfor (const [value, sampleTypes] of Object.entries(values)) {\n\t\t\tconst filteredSampleTypes = sampleTypes.filter(sampleType => querySampleTypes.includes(sampleType))\n\t\t\tif (filteredSampleTypes.length) queryValues[value] = filteredSampleTypes\n\t\t}\n\t\tif (Object.keys(queryValues).length) querySampleTypesByTerms[term] = queryValues\n\t}\n\tif (!Object.keys(querySampleTypesByTerms).length) return\n\treturn querySampleTypesByTerms\n}\n\n//Returns human readable label for each term type; label is just for printing and not computing\nconst typeMap: { [key: string]: string } = {\n\tcategorical: 'Categorical',\n\tcondition: 'Condition',\n\tfloat: 'Numerical',\n\tinteger: 'Numerical',\n\tdate: 'Date',\n\tgeneExpression: 'Gene Expression',\n\tisoformExpression: 'Isoform Expression',\n\t[JUNCTION]: 'Splice junction',\n\tssGSEA: 'Geneset Expression',\n\tdnaMethylation: 'DNA Methylation',\n\tgeneVariant: 'Gene Variant',\n\tmetaboliteIntensity: 'Metabolite Intensity',\n\tproteomeAbundance: 'Proteome Abundance',\n\tproteomeDAP: 'Proteome DAP',\n\tmultivalue: 'Multi Value',\n\tsingleCellGeneExpression: 'Single Cell, Gene Expression',\n\tsingleCellCellType: 'Single Cell, Cell Type',\n\tsingleCellNumericValue: 'Single Cell, Numeric Value',\n\tsnplocus: 'SNP Locus',\n\tsnp: 'SNP',\n\tsnplst: 'SNP List',\n\ttermCollection: 'Term Collection'\n}\n\n// with a term obj, returns human readable item type name for a term.\n// using a term obj rather than just term type gives more control (e.g. gene vs coord for genevariant term)\nexport function termItemType(t: Term): string {\n\tswitch (t.type) {\n\t\tcase JUNCTION:\n\t\t\treturn 'Splice junction'\n\t\tcase GENE_EXPRESSION:\n\t\tcase SINGLECELL_GENE_EXPRESSION:\n\t\t\treturn 'Gene'\n\t\tcase ISOFORM_EXPRESSION:\n\t\t\treturn 'Isoform'\n\t\tcase SSGSEA:\n\t\t\treturn 'Gene set'\n\t\tcase METABOLITE_INTENSITY:\n\t\t\treturn 'Metabolite'\n\t\t// keep adding here\n\t\tdefault:\n\t\t\treturn 'Variable'\n\t}\n}\n\nexport function termType2label(type: string) {\n\tconst s = typeMap[type]\n\tif (s) return s\n\tthrow new Error('termType2label(): unknown value')\n}\n\nexport function getDateFromNumber(value: number) {\n\tconst year = Math.floor(value)\n\tconst january1st = new Date(year, 0, 1)\n\tconst totalDays = getDaysInYear(year)\n\tconst time = Math.round((value - year) * totalDays) * oneDayTime\n\tconst date = new Date(january1st.getTime() + time)\n\treturn date\n}\n/*\nValue is a decimal year.\nA decimal year is a way of expressing a date or time period as a year with a decimal part, where the decimal portion \nrepresents the fraction of the year that has elapsed. \nExample:\n2025.0 represents the beginning of the year 2025. \n2025.5 represents the middle of the year 2025. \n */\nconst oneDayTime = 24 * 60 * 60 * 1000\n\nexport function getDateStrFromNumber(value: number) {\n\tconst date = getDateFromNumber(value)\n\n\t//Omit day to deidentify the patients\n\treturn date.toLocaleDateString('en-US', {\n\t\tyear: 'numeric',\n\t\tmonth: 'long'\n\t})\n}\n\n//The value returned is a decimal year\n//A decimal year is a way of expressing a date or time period as a year with a decimal part, where the decimal portion\n//represents the fraction of the year that has elapsed.\nexport function getNumberFromDateStr(str: string) {\n\tconst date = new Date(str)\n\treturn getNumberFromDate(date)\n}\n\nexport function getNumberFromDate(date: Date) {\n\tconst year = date.getFullYear()\n\tconst january1st: Date = new Date(year, 0, 1)\n\tconst diffDays = (date.getTime() - january1st.getTime()) / oneDayTime\n\tconst daysTotal = getDaysInYear(year)\n\tconst decimal = diffDays / daysTotal\n\treturn year + decimal\n}\n\nexport function getDaysInYear(year: number) {\n\tconst isLeap = new Date(year, 1, 29).getMonth() === 1\n\tconst days = isLeap ? 366 : 365\n\treturn days\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }