@sjcrh/proteinpaint-client 2.220.0 → 2.221.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 (861) hide show
  1. package/dist/2dmaf-7YU3SNKL.js +1362 -0
  2. package/dist/AggMatrixInput-73CDR5FS.js +402 -0
  3. package/dist/AggregateMatrix-NNULVFBM.js +37 -0
  4. package/dist/AppHeader-EZDDLLXU.js +826 -0
  5. package/dist/BoxPlot-463E7CRY.js +1229 -0
  6. package/dist/CorrelationVolcano-LHIIMBPP.js +613 -0
  7. package/dist/Cuminc-UL2TCIKV.js +1217 -0
  8. package/dist/DE-VRFSKFDW.js +85 -0
  9. package/dist/DEinput-FZTQRWVC.js +479 -0
  10. package/dist/DM-PO7CQZNT.js +86 -0
  11. package/dist/DifferentialAnalysis-WK6HE3YH.js +236 -0
  12. package/dist/Disco-YBNQJQFG.js +3384 -0
  13. package/dist/Disco.UI-HC5XYBFV.js +239 -0
  14. package/dist/DmrPlot-7VJ5C66D.js +361 -0
  15. package/dist/GB-VPFQRDRO.js +1388 -0
  16. package/dist/GSEA-ZEJB3QZQ.js +870 -0
  17. package/dist/GeneExpInput-SBDDIY6G.js +38 -0
  18. package/dist/Geomap-23AHGP2V.js +80 -0
  19. package/dist/HicApp-7AQQE4CM.js +2240 -0
  20. package/dist/IDCViewer-NO5Q6VOB.js +10808 -0
  21. package/dist/NumBinaryEditor-DSRP4OOU.js +274 -0
  22. package/dist/NumBinaryEditor.unit.spec-TT666YL4.js +308 -0
  23. package/dist/NumContEditor-6CURFOCH.js +100 -0
  24. package/dist/NumContEditor.unit.spec-MNVCFCMP.js +160 -0
  25. package/dist/NumCustomBinEditor-SQRR5EFL.js +29 -0
  26. package/dist/NumCustomBinEditor.unit.spec-F7BZWGGT.js +393 -0
  27. package/dist/NumDiscreteEditor-U7Z2QNYP.js +165 -0
  28. package/dist/NumDiscreteEditor.unit.spec-EIEBUZCX.js +229 -0
  29. package/dist/NumRegularBinEditor-CVZSWN6Y.js +29 -0
  30. package/dist/NumRegularBinEditor.unit.spec-ZMAJOIHL.js +274 -0
  31. package/dist/NumSplineEditor-U43D5NBJ.js +205 -0
  32. package/dist/NumSplineEditor.unit.spec-C52AADTS.js +220 -0
  33. package/dist/NumericDensity-PUKDZOVI.js +29 -0
  34. package/dist/NumericDensity.unit.spec-2347S76D.js +414 -0
  35. package/dist/NumericHandler-3RT32PTR.js +30 -0
  36. package/dist/NumericHandler.unit.spec-4PADL4KZ.js +225 -0
  37. package/dist/ProteomeInput-NFV4FW4U.js +610 -0
  38. package/dist/Regression-N7M7N6G4.js +1412 -0
  39. package/dist/RunChart2-UPQ7C6QE.js +744 -0
  40. package/dist/SC-KBW2NHUV.js +1290 -0
  41. package/dist/Violin-GWCOP3ZF.js +1092 -0
  42. package/dist/Volcano-X3HT32GQ.js +2661 -0
  43. package/dist/Wsi-NXAEOYIS.js +636 -0
  44. package/dist/aboutSunburst-5EKXZV2A.js +86 -0
  45. package/dist/adSandbox-RPEWEEW7.js +29 -0
  46. package/dist/animatedBubbleChart-ILDMZRBX.js +542 -0
  47. package/dist/app-LOUC4J47.js +28 -0
  48. package/dist/app-MRKXZ6AZ.js +38 -0
  49. package/dist/app.js +9 -9
  50. package/dist/bam-SQWPHCZZ.js +872 -0
  51. package/dist/bam-SQWPHCZZ.js.map +7 -0
  52. package/dist/barchart-CJR37234.js +38 -0
  53. package/dist/barchart2-QQYLTHWR.js +305 -0
  54. package/dist/block-GLF6QNKY.js +6203 -0
  55. package/dist/block.init-YJQTJIDO.js +29 -0
  56. package/dist/block.mds.expressionrank-GBMEI5KQ.js +350 -0
  57. package/dist/block.mds.geneboxplot-XWE3E5IW.js +819 -0
  58. package/dist/block.mds.junction-QLEHFVPE.js +1534 -0
  59. package/dist/block.mds.svcnv-53DTOPBC.js +6413 -0
  60. package/dist/block.svg-57T37ABS.js +155 -0
  61. package/dist/block.tk.aicheck-6DXJTS3H.js +274 -0
  62. package/dist/block.tk.bam-CJFFQDNX.js +1906 -0
  63. package/dist/block.tk.bam-CJFFQDNX.js.map +7 -0
  64. package/dist/block.tk.bigwig.ui-OYIVXE2L.js +202 -0
  65. package/dist/block.tk.hicstraw-UKTGEBWT.js +814 -0
  66. package/dist/block.tk.junction-ZU5KPFQ3.js +2353 -0
  67. package/dist/block.tk.junction.textmatrixui-P4WXTAZR.js +190 -0
  68. package/dist/block.tk.ld-3PQ4O2AE.js +90 -0
  69. package/dist/block.tk.menu-LLITB6UA.js +1050 -0
  70. package/dist/block.tk.pgv-Y3FBXUO3.js +934 -0
  71. package/dist/brainImaging-4B3WXLNP.js +550 -0
  72. package/dist/brainRegions-7VLONUWN.js +213 -0
  73. package/dist/bubbleHeatmap-DI6GJRR6.js +374 -0
  74. package/dist/cellTypeBubbleHeatmap-HJY53DB2.js +274 -0
  75. package/dist/chunk-226MNBZ2.js +240 -0
  76. package/dist/chunk-2CDFU4MQ.js +536 -0
  77. package/dist/chunk-2CNFGVHU.js +257 -0
  78. package/dist/chunk-2MC3RNKA.js +2685 -0
  79. package/dist/chunk-2SL4QWUS.js +50 -0
  80. package/dist/chunk-3KGBC5MK.js +692 -0
  81. package/dist/chunk-3PCRAPUV.js +56 -0
  82. package/dist/chunk-4DBOMSKP.js +102 -0
  83. package/dist/chunk-57BS6KNI.js +466 -0
  84. package/dist/chunk-5AXS5G4A.js +2334 -0
  85. package/dist/chunk-5HJG6ECV.js +237 -0
  86. package/dist/chunk-5ZYANHGX.js +550 -0
  87. package/dist/chunk-75MRUW2K.js +103 -0
  88. package/dist/chunk-7J3W3KCN.js +255 -0
  89. package/dist/chunk-AIZYAKIE.js +182 -0
  90. package/dist/chunk-AJNFI6GA.js +2008 -0
  91. package/dist/chunk-BJAWDZBL.js +2799 -0
  92. package/dist/chunk-C6PVZVIH.js +379 -0
  93. package/dist/chunk-C77X5ZUV.js +176 -0
  94. package/dist/chunk-CUCP2GMT.js +102 -0
  95. package/dist/chunk-DTGAMBRJ.js +134 -0
  96. package/dist/chunk-DXT7GDHY.js +55 -0
  97. package/dist/chunk-ENPMWVWG.js +5214 -0
  98. package/dist/chunk-FPMJJBLV.js +4389 -0
  99. package/dist/chunk-H7F6DMJA.js +70 -0
  100. package/dist/chunk-HH3NUAR2.js +96 -0
  101. package/dist/chunk-HRTPGNOG.js +159 -0
  102. package/dist/chunk-IFPRYTS7.js +848 -0
  103. package/dist/chunk-IJSFSUI4.js +302 -0
  104. package/dist/chunk-IRQKX6DL.js +263 -0
  105. package/dist/chunk-JNZL7HKB.js +1219 -0
  106. package/dist/chunk-K3G56J5R.js +299 -0
  107. package/dist/chunk-KKUCG2QE.js +516 -0
  108. package/dist/chunk-KPXCXBNU.js +626 -0
  109. package/dist/chunk-LF5WBI27.js +418 -0
  110. package/dist/chunk-LF5WBI27.js.map +7 -0
  111. package/dist/chunk-MSTYU3QO.js +14 -0
  112. package/dist/chunk-MWARRQT4.js +141 -0
  113. package/dist/chunk-MXKYPTZ7.js +203 -0
  114. package/dist/chunk-OZUF7O2S.js +133 -0
  115. package/dist/chunk-PRTLCJYF.js +2941 -0
  116. package/dist/chunk-PWYMHUXY.js +116 -0
  117. package/dist/chunk-PWYMHUXY.js.map +7 -0
  118. package/dist/chunk-QNCE6EOK.js +82 -0
  119. package/dist/chunk-RV335DF2.js +266 -0
  120. package/dist/chunk-SFPZUBPM.js +2102 -0
  121. package/dist/chunk-SFPZUBPM.js.map +7 -0
  122. package/dist/chunk-THAUD62Q.js +1253 -0
  123. package/dist/chunk-VBTBUXXX.js +6375 -0
  124. package/dist/chunk-VHWJK2MP.js +56 -0
  125. package/dist/chunk-VMK4RHV5.js +54 -0
  126. package/dist/chunk-WD7FZ5EE.js +26536 -0
  127. package/dist/chunk-WD7FZ5EE.js.map +7 -0
  128. package/dist/chunk-WKT7RF3C.js +468 -0
  129. package/dist/chunk-WXSMUSU7.js +184 -0
  130. package/dist/chunk-WXSX5OQJ.js +296 -0
  131. package/dist/chunk-WY3IORKG.js +194 -0
  132. package/dist/chunk-WYSOOKFJ.js +480 -0
  133. package/dist/chunk-XBBFFOLS.js +123 -0
  134. package/dist/chunk-XSRQGX5H.js +340 -0
  135. package/dist/chunk-YLL6CTBL.js +54 -0
  136. package/dist/chunk-YPBY37KD.js +1339 -0
  137. package/dist/chunk-YUNJBIK4.js +243 -0
  138. package/dist/chunk-ZAC34BZQ.js +35 -0
  139. package/dist/chunk-ZAC34BZQ.js.map +7 -0
  140. package/dist/cohort-5WL6UJOS.js +66 -0
  141. package/dist/cohortSunburst-R3Z5KJQL.js +402 -0
  142. package/dist/condition-2IILUMVB.js +323 -0
  143. package/dist/controls-G3JITZF5.js +30 -0
  144. package/dist/controls.config-BO7KPPET.js +30 -0
  145. package/dist/correlation-CZILLVEM.js +91 -0
  146. package/dist/customdata.inputui-BXFQAMTR.js +280 -0
  147. package/dist/dataDownload-QTWR4IW7.js +326 -0
  148. package/dist/databrowser.ui-V2NJQF3U.js +421 -0
  149. package/dist/dictionary-OVAQX6R3.js +109 -0
  150. package/dist/dnaMethylation-DHPFRXB2.js +29 -0
  151. package/dist/dnaMethylation.integration.spec-PJLIRGN5.js +194 -0
  152. package/dist/e2pca-O7SNMJGB.js +340 -0
  153. package/dist/ep-NIVLKG4S.js +1247 -0
  154. package/dist/expclust.gdc.spec-LVCD6C43.js +298 -0
  155. package/dist/facet-LB4SCXE4.js +556 -0
  156. package/dist/gb-3IJ4NCPO.js +77 -0
  157. package/dist/geneExpClustering-SIAC7CMA.js +240 -0
  158. package/dist/geneExpression-P2TTZXN2.js +29 -0
  159. package/dist/geneExpression.unit.spec-Q5D6XHUF.js +151 -0
  160. package/dist/geneORA-PKUIJKTL.js +269 -0
  161. package/dist/geneRanking-ZGT5MHBV.js +544 -0
  162. package/dist/geneVariant-24YNANTT.js +289 -0
  163. package/dist/geneVariant-CDGENHWQ.js +32 -0
  164. package/dist/geneVariant.integration.spec-7QW4C2WO.js +672 -0
  165. package/dist/genefusion.ui-NVXGSBXD.js +299 -0
  166. package/dist/geneset-7STL6UDD.js +199 -0
  167. package/dist/genomeBrowser.spec-OE2CIP7I.js +272 -0
  168. package/dist/grin2-2HXUIY5O.js +66 -0
  169. package/dist/grin2-32IIJR5E.js +945 -0
  170. package/dist/hierCluster-MDZEI2KB.js +51 -0
  171. package/dist/hierCluster-T3PZUGBI.js +55 -0
  172. package/dist/hierCluster.config-7UN6AYGB.js +32 -0
  173. package/dist/hierCluster.integration.spec-DWOYVK6T.js +479 -0
  174. package/dist/hierCluster.interactivity-5OM6XNFG.js +45 -0
  175. package/dist/imagePlot-KBRXDV5G.js +152 -0
  176. package/dist/importPlot-DJMIC22L.js +8 -0
  177. package/dist/isoformExpression-SWDWADRC.js +31 -0
  178. package/dist/isoformExpression.unit.spec-2U5KCYBP.js +233 -0
  179. package/dist/junction-NMXVVGRG.js +32 -0
  180. package/dist/junction.unit.spec-JTGBPPN7.js +178 -0
  181. package/dist/launch.adhoc-YB5SKMNY.js +33 -0
  182. package/dist/leftlabel.sample-QKXIODCS.js +253 -0
  183. package/dist/lollipop-TSZ62PBH.js +162 -0
  184. package/dist/maf-4L5YN4CG.js +451 -0
  185. package/dist/maftimeline-VOYB3NY3.js +583 -0
  186. package/dist/matrix-IWJECVTF.js +55 -0
  187. package/dist/matrix-MMJAJZA7.js +50 -0
  188. package/dist/matrix.config-DZGOZWJS.js +33 -0
  189. package/dist/matrix.integration.spec-2N237E7T.js +3156 -0
  190. package/dist/matrix.interactivity-FL33UUKR.js +33 -0
  191. package/dist/matrix.layout-7SYHV3KJ.js +35 -0
  192. package/dist/matrix.renderers-3SIBT2RP.js +30 -0
  193. package/dist/matrix.sort.unit.spec-L3H44T6I.js +464 -0
  194. package/dist/matrix.sorterUi.unit.spec-2NRU5UFH.js +334 -0
  195. package/dist/matrix.unit.spec-HRZIJB6T.js +146 -0
  196. package/dist/mavb-ZVRQSDPS.js +726 -0
  197. package/dist/mds.fimo-ZKETTET7.js +509 -0
  198. package/dist/mds.samplescatterplot-ZV3UNRLP.js +1545 -0
  199. package/dist/mds.survivalplot-OVXZRTU4.js +472 -0
  200. package/dist/multivalue-6BE5IA4F.js +79 -0
  201. package/dist/oncomatrix-XK62NEOO.js +286 -0
  202. package/dist/oncomatrix.spec-YVTCHOPS.js +439 -0
  203. package/dist/plot.2dvaf-NUOBWMNX.js +368 -0
  204. package/dist/plot.app-G6IQWXTV.js +32 -0
  205. package/dist/plot.barplot-6QJ6HEJR.js +93 -0
  206. package/dist/plot.boxplot-XKQJSW2O.js +142 -0
  207. package/dist/plot.brainImaging-UTHFJFXU.js +51 -0
  208. package/dist/plot.disco-3MSCX7TM.js +98 -0
  209. package/dist/plot.ssgq-4KBVHF42.js +130 -0
  210. package/dist/plot.vaf2cov-OGUQSSDS.js +249 -0
  211. package/dist/polar2-V7M56GTZ.js +228 -0
  212. package/dist/profileForms-TS3BJLHH.js +937 -0
  213. package/dist/profilePlot-DP5272HR.js +45 -0
  214. package/dist/proteinView-K4K4SP3L.js +1346 -0
  215. package/dist/proteomeCohortCompare-SFWVGLFK.js +866 -0
  216. package/dist/pseudbulk.unit.spec-NFOA7J2C.js +82 -0
  217. package/dist/pseudobulk-XKZQEZ4I.js +31 -0
  218. package/dist/qualitative-7OSFNVI5.js +241 -0
  219. package/dist/qualitative-OIIN6E4Y.js +34 -0
  220. package/dist/radar2-AHZJKX7S.js +323 -0
  221. package/dist/radarFacility2-OUW6D5E7.js +331 -0
  222. package/dist/render-7UZSGX3Q.js +29 -0
  223. package/dist/report-J7HKTXZ2.js +213 -0
  224. package/dist/sampleView-6547OUIM.js +39 -0
  225. package/dist/samplelst-UHF23UEB.js +114 -0
  226. package/dist/samplematrix-OOKS3TMR.js +2188 -0
  227. package/dist/sc-WF2BLGNG.js +77 -0
  228. package/dist/scatter-ABCVFGRV.js +84 -0
  229. package/dist/scatter-WF7XM3IA.js +919 -0
  230. package/dist/selectGenomeWithTklst-67HU5KRB.js +125 -0
  231. package/dist/singleCellCellType-3FZPJ25V.js +29 -0
  232. package/dist/singleCellCellType.unit.spec-TOMREHWK.js +150 -0
  233. package/dist/singleCellGeneExpression-NQTJ5KJQ.js +29 -0
  234. package/dist/singleCellGeneExpression.unit.spec-ZWUQTU2N.js +144 -0
  235. package/dist/singleCellNumericValue-VI7H722L.js +29 -0
  236. package/dist/singleCellNumericValue.unit.spec-QGLHES7H.js +412 -0
  237. package/dist/singleCellPlot-RU5T6SJK.js +44 -0
  238. package/dist/singlecell-C3CJVNXP.js +1562 -0
  239. package/dist/singlecell-NRQZ7KC6.js +77 -0
  240. package/dist/snp-X6XY65VS.js +29 -0
  241. package/dist/snp.unit.spec-6EENK7GQ.js +167 -0
  242. package/dist/snplocus-R4JA6TFT.js +200 -0
  243. package/dist/snplst-SOWVHSXH.js +36 -0
  244. package/dist/spliceevent.a53ss.diagram-IRLCCVQZ.js +142 -0
  245. package/dist/spliceevent.exonskip.diagram-4KG7LE5D.js +274 -0
  246. package/dist/spliceevent.noeventdiagram-OWXAJJX7.js +451 -0
  247. package/dist/ssGSEA-EMOKPLMP.js +29 -0
  248. package/dist/ssGSEA.unit.spec-KXQ7R5WH.js +79 -0
  249. package/dist/stattable-H2G7MOZG.js +112 -0
  250. package/dist/studyCatalog-3ITQXWFL.js +457 -0
  251. package/dist/summarizeCnvGeneexp-ZIPU6YDY.js +154 -0
  252. package/dist/summarizeGeneexpSurvival-3RYU226R.js +101 -0
  253. package/dist/summarizeMutationCnv-RGDBUB22.js +155 -0
  254. package/dist/summarizeMutationDiagnosis-Z4MZE6Y4.js +31 -0
  255. package/dist/summarizeMutationSurvival-Z5CNRH7E.js +95 -0
  256. package/dist/summary-6QQCNX3B.js +40 -0
  257. package/dist/summary.integration.spec-3ULXTZUP.js +405 -0
  258. package/dist/summaryInput-4QKR34QB.js +238 -0
  259. package/dist/sunburst-KB3BWC72.js +34 -0
  260. package/dist/sunburst-XTFBHZNH.js +274 -0
  261. package/dist/survival-7O6ZK63E.js +49 -0
  262. package/dist/survival-NNCY4K6C.js +1248 -0
  263. package/dist/survival.integration.spec-ZYZHZAXA.js +609 -0
  264. package/dist/svgraph-ZLSFFEAC.js +1377 -0
  265. package/dist/svmr-REBBDEYM.js +3834 -0
  266. package/dist/swimmer-NUBRIWLI.js +993 -0
  267. package/dist/table-CWIQQESJ.js +192 -0
  268. package/dist/termCollection-7TYJSQ45.js +29 -0
  269. package/dist/termCollection-7Z55QNL7.js +247 -0
  270. package/dist/termCollection.unit.spec-LQ5MIBDH.js +295 -0
  271. package/dist/termCollectionFractionSelection-24DZYVDU.js +38 -0
  272. package/dist/termCollectionFractionSelection.unit.spec-DCV2CFS5.js +184 -0
  273. package/dist/tk-2WZFPRCP.js +37 -0
  274. package/dist/tk-QTLEYIP7.js +1193 -0
  275. package/dist/tp.ui-HXQX2UH4.js +1453 -0
  276. package/dist/tvs.categorical-4D3JI2ER.js +28 -0
  277. package/dist/tvs.condition-62FXFHZ5.js +160 -0
  278. package/dist/tvs.density-IGO4I4T2.js +19 -0
  279. package/dist/tvs.dt-FZSVMJOO.js +34 -0
  280. package/dist/tvs.dtcnv.categorical-PPFQIC42.js +31 -0
  281. package/dist/tvs.dtcnv.continuous-TV2IGHY4.js +72 -0
  282. package/dist/tvs.dtfusion-ON4BA4XJ.js +31 -0
  283. package/dist/tvs.dtitd-VFNROOWQ.js +31 -0
  284. package/dist/tvs.dtsnvindel-ZXOP37T5.js +31 -0
  285. package/dist/tvs.dtsv-EUHPTW7J.js +31 -0
  286. package/dist/tvs.multivalue-NHVXZNDI.js +84 -0
  287. package/dist/tvs.numeric-FPWDPO3J.js +32 -0
  288. package/dist/tvs.samplelst-ZZHRNUP4.js +95 -0
  289. package/dist/tvs.survival-F3KSG3U6.js +110 -0
  290. package/dist/tvs.termCollection-B37DZLDY.js +118 -0
  291. package/dist/vocabulary-XNE5FFDK.js +32 -0
  292. package/dist/wsi.direct-3YH3QGQD.js +11514 -0
  293. package/package.json +3 -3
  294. package/dist/2dmaf-KRIX5DBS.js +0 -1362
  295. package/dist/AggMatrixInput-GBQD74NV.js +0 -402
  296. package/dist/AggregateMatrix-U2MOQOSZ.js +0 -37
  297. package/dist/AppHeader-OBZWUCOD.js +0 -826
  298. package/dist/BoxPlot-ZK6Q5JGE.js +0 -1229
  299. package/dist/CorrelationVolcano-WGR4JIGK.js +0 -613
  300. package/dist/Cuminc-I6D6YSIL.js +0 -1217
  301. package/dist/DE-HO7UBKPC.js +0 -85
  302. package/dist/DEinput-6LX4I65N.js +0 -479
  303. package/dist/DM-WYKLX4IC.js +0 -86
  304. package/dist/DifferentialAnalysis-L5VVBCVZ.js +0 -236
  305. package/dist/Disco-HLARIYXU.js +0 -3384
  306. package/dist/Disco.UI-W64WFVC3.js +0 -239
  307. package/dist/DmrPlot-BKQOT4JM.js +0 -361
  308. package/dist/GB-WKFGDJYW.js +0 -1388
  309. package/dist/GSEA-DCCJI5JE.js +0 -870
  310. package/dist/GeneExpInput-APLFNE6N.js +0 -38
  311. package/dist/Geomap-FTKWCV4J.js +0 -80
  312. package/dist/HicApp-ZGZKO4Y4.js +0 -2240
  313. package/dist/IDCViewer-MXB3OZUZ.js +0 -10808
  314. package/dist/NumBinaryEditor-S3MHUVZ5.js +0 -274
  315. package/dist/NumBinaryEditor.unit.spec-264X5ULG.js +0 -308
  316. package/dist/NumContEditor-MKEZCZMR.js +0 -100
  317. package/dist/NumContEditor.unit.spec-KBRAIU7M.js +0 -160
  318. package/dist/NumCustomBinEditor-OSF64BFC.js +0 -29
  319. package/dist/NumCustomBinEditor.unit.spec-T2SRBXTV.js +0 -393
  320. package/dist/NumDiscreteEditor-PVW5HRRQ.js +0 -165
  321. package/dist/NumDiscreteEditor.unit.spec-GUK7VWMR.js +0 -229
  322. package/dist/NumRegularBinEditor-757VRGFQ.js +0 -29
  323. package/dist/NumRegularBinEditor.unit.spec-JUIGEH3Z.js +0 -274
  324. package/dist/NumSplineEditor-U6MVFSCZ.js +0 -205
  325. package/dist/NumSplineEditor.unit.spec-PSH6YENX.js +0 -220
  326. package/dist/NumericDensity-YIP25Z4Y.js +0 -29
  327. package/dist/NumericDensity.unit.spec-3OSIZJHH.js +0 -414
  328. package/dist/NumericHandler-D2CO3FTS.js +0 -30
  329. package/dist/NumericHandler.unit.spec-RNFVGO2I.js +0 -225
  330. package/dist/ProteomeInput-ZOBJ2VU6.js +0 -610
  331. package/dist/Regression-ABKJOOMQ.js +0 -1412
  332. package/dist/RunChart2-D5CEEFEE.js +0 -744
  333. package/dist/SC-RLVEECU5.js +0 -1290
  334. package/dist/Violin-PCNX2CWV.js +0 -1092
  335. package/dist/Volcano-NVFNO7NE.js +0 -2661
  336. package/dist/Wsi-MAMCK5YZ.js +0 -636
  337. package/dist/aboutSunburst-VSQADTFD.js +0 -86
  338. package/dist/adSandbox-5YFAQZO6.js +0 -29
  339. package/dist/animatedBubbleChart-GM2GXDP3.js +0 -542
  340. package/dist/app-FNNCH37H.js +0 -28
  341. package/dist/app-ID5S5FUP.js +0 -38
  342. package/dist/bam-JZLYXHMF.js +0 -872
  343. package/dist/bam-JZLYXHMF.js.map +0 -7
  344. package/dist/barchart-EAXXILCH.js +0 -38
  345. package/dist/barchart2-E6A4UMUB.js +0 -305
  346. package/dist/block-VMVJH77F.js +0 -6203
  347. package/dist/block.init-TUCGKLXG.js +0 -29
  348. package/dist/block.mds.expressionrank-YVROHZVX.js +0 -350
  349. package/dist/block.mds.geneboxplot-TQNEWBJY.js +0 -819
  350. package/dist/block.mds.junction-ZOSTZQF5.js +0 -1534
  351. package/dist/block.mds.svcnv-XSTSJ4ZD.js +0 -6413
  352. package/dist/block.svg-D6HXL4SC.js +0 -155
  353. package/dist/block.tk.aicheck-7RNC4HRR.js +0 -274
  354. package/dist/block.tk.bam-L3U5YH3F.js +0 -1897
  355. package/dist/block.tk.bam-L3U5YH3F.js.map +0 -7
  356. package/dist/block.tk.bigwig.ui-UVSZ7LWQ.js +0 -202
  357. package/dist/block.tk.hicstraw-YFBJR5LO.js +0 -814
  358. package/dist/block.tk.junction-DNRK2JNQ.js +0 -2353
  359. package/dist/block.tk.junction.textmatrixui-EN4ADCAU.js +0 -190
  360. package/dist/block.tk.ld-I5CTAJ4K.js +0 -90
  361. package/dist/block.tk.menu-HUZBY7OM.js +0 -1050
  362. package/dist/block.tk.pgv-KA6BFYPY.js +0 -934
  363. package/dist/brainImaging-OQB2ZHCU.js +0 -550
  364. package/dist/brainRegions-2CRVMS24.js +0 -213
  365. package/dist/bubbleHeatmap-MANNFEG2.js +0 -374
  366. package/dist/cellTypeBubbleHeatmap-LRK4R4EC.js +0 -274
  367. package/dist/chunk-2NB5HVXB.js +0 -159
  368. package/dist/chunk-3E26ITYK.js +0 -55
  369. package/dist/chunk-3H4FCRAN.js +0 -266
  370. package/dist/chunk-4ENIOXIT.js +0 -133
  371. package/dist/chunk-4GKC43U3.js +0 -480
  372. package/dist/chunk-4NQS45KH.js +0 -302
  373. package/dist/chunk-4ZV6SE4B.js +0 -240
  374. package/dist/chunk-5TA5LHPW.js +0 -54
  375. package/dist/chunk-5YQXNW6Y.js +0 -1339
  376. package/dist/chunk-67MD4UES.js +0 -848
  377. package/dist/chunk-6BBUIRHA.js +0 -123
  378. package/dist/chunk-6DESNDD5.js +0 -468
  379. package/dist/chunk-6DRRN5XP.js +0 -243
  380. package/dist/chunk-6XKAOSQE.js +0 -116
  381. package/dist/chunk-6XKAOSQE.js.map +0 -7
  382. package/dist/chunk-7TLUQH7J.js +0 -82
  383. package/dist/chunk-7YMZSVWW.js +0 -1219
  384. package/dist/chunk-AENUJ7UO.js +0 -299
  385. package/dist/chunk-AZSWQWKL.js +0 -263
  386. package/dist/chunk-B5IJAQG4.js +0 -2054
  387. package/dist/chunk-B5IJAQG4.js.map +0 -7
  388. package/dist/chunk-BOCU6PXO.js +0 -257
  389. package/dist/chunk-C7ZPDNOJ.js +0 -70
  390. package/dist/chunk-DEQREL5P.js +0 -692
  391. package/dist/chunk-DXKZBSSD.js +0 -2799
  392. package/dist/chunk-DZBPF5QI.js +0 -550
  393. package/dist/chunk-DZDK64XY.js +0 -516
  394. package/dist/chunk-E6C2EWHU.js +0 -176
  395. package/dist/chunk-GK5QS5BR.js +0 -2685
  396. package/dist/chunk-GLAR6VNF.js +0 -626
  397. package/dist/chunk-H6YM4NKS.js +0 -134
  398. package/dist/chunk-HJKVYTYK.js +0 -379
  399. package/dist/chunk-HN67TOA7.js +0 -2008
  400. package/dist/chunk-IXV7FX5B.js +0 -255
  401. package/dist/chunk-IZ4IPYQY.js +0 -466
  402. package/dist/chunk-JPPNQVKA.js +0 -56
  403. package/dist/chunk-KCVBFXGO.js +0 -2941
  404. package/dist/chunk-LOX5GAVG.js +0 -103
  405. package/dist/chunk-M6OSJMVD.js +0 -536
  406. package/dist/chunk-PEKCVKJK.js +0 -26621
  407. package/dist/chunk-PEKCVKJK.js.map +0 -7
  408. package/dist/chunk-PIGTIWSK.js +0 -34
  409. package/dist/chunk-PIGTIWSK.js.map +0 -7
  410. package/dist/chunk-PIN5YUVJ.js +0 -6375
  411. package/dist/chunk-PV7AYYRZ.js +0 -50
  412. package/dist/chunk-QI7OWVFY.js +0 -54
  413. package/dist/chunk-QWBNQYIF.js +0 -182
  414. package/dist/chunk-S6WRMFWQ.js +0 -418
  415. package/dist/chunk-S6WRMFWQ.js.map +0 -7
  416. package/dist/chunk-SUOEFEJO.js +0 -96
  417. package/dist/chunk-TVSNHVWX.js +0 -194
  418. package/dist/chunk-U3CWWOHL.js +0 -340
  419. package/dist/chunk-VGC4STKW.js +0 -56
  420. package/dist/chunk-VHC4FDEJ.js +0 -141
  421. package/dist/chunk-VSDJEPDN.js +0 -5214
  422. package/dist/chunk-WTWHUZ4O.js +0 -203
  423. package/dist/chunk-XHZ723K4.js +0 -2334
  424. package/dist/chunk-XP4P55IC.js +0 -14
  425. package/dist/chunk-XVPPM25G.js +0 -1253
  426. package/dist/chunk-XYUERIZ6.js +0 -4389
  427. package/dist/chunk-YDIIKD7O.js +0 -102
  428. package/dist/chunk-YLGSRK75.js +0 -102
  429. package/dist/chunk-YR6EXI2K.js +0 -184
  430. package/dist/chunk-Z53VY5JV.js +0 -296
  431. package/dist/chunk-Z7Q2O5Y7.js +0 -237
  432. package/dist/cohort-ERDL7EJU.js +0 -66
  433. package/dist/cohortSunburst-KSTVS3OQ.js +0 -402
  434. package/dist/condition-CTJYHRJG.js +0 -323
  435. package/dist/controls-MMMRBTZL.js +0 -30
  436. package/dist/controls.config-ZKMQI27Q.js +0 -30
  437. package/dist/correlation-NEQNBQTT.js +0 -91
  438. package/dist/customdata.inputui-THUR7DF5.js +0 -280
  439. package/dist/dataDownload-ZMAJUKBX.js +0 -326
  440. package/dist/databrowser.ui-A6ZSIUG4.js +0 -421
  441. package/dist/dictionary-TQUVCHIN.js +0 -109
  442. package/dist/dnaMethylation-ZMJYY3ML.js +0 -29
  443. package/dist/dnaMethylation.integration.spec-5DTBGTYB.js +0 -194
  444. package/dist/e2pca-DNWBF545.js +0 -340
  445. package/dist/ep-JNH3HMY4.js +0 -1247
  446. package/dist/expclust.gdc.spec-2NJ7JVJW.js +0 -298
  447. package/dist/facet-RWQFAVVU.js +0 -556
  448. package/dist/gb-OT2Z3Y7J.js +0 -77
  449. package/dist/geneExpClustering-TPYGSTMO.js +0 -240
  450. package/dist/geneExpression-4K3OTXBZ.js +0 -29
  451. package/dist/geneExpression.unit.spec-26MCGRAP.js +0 -151
  452. package/dist/geneORA-GNXKCN45.js +0 -269
  453. package/dist/geneRanking-LV6W6TT7.js +0 -544
  454. package/dist/geneVariant-B2SYTHG6.js +0 -289
  455. package/dist/geneVariant-O4XG5VEM.js +0 -32
  456. package/dist/geneVariant.integration.spec-YYVPAFXT.js +0 -672
  457. package/dist/genefusion.ui-CVGGYVV3.js +0 -299
  458. package/dist/geneset-MBMCJNXT.js +0 -199
  459. package/dist/genomeBrowser.spec-OVXFKEIU.js +0 -272
  460. package/dist/grin2-OXRU465E.js +0 -945
  461. package/dist/grin2-YCJGBRFG.js +0 -66
  462. package/dist/hierCluster-KNPWL5KD.js +0 -51
  463. package/dist/hierCluster-L3LYQZQL.js +0 -55
  464. package/dist/hierCluster.config-VZBV5QIO.js +0 -32
  465. package/dist/hierCluster.integration.spec-ZM7K7WI4.js +0 -479
  466. package/dist/hierCluster.interactivity-EA7WVIQR.js +0 -45
  467. package/dist/imagePlot-OLVI26S5.js +0 -152
  468. package/dist/importPlot-3SSCNROC.js +0 -8
  469. package/dist/isoformExpression-BTMJNAAO.js +0 -31
  470. package/dist/isoformExpression.unit.spec-S2W5T42Z.js +0 -233
  471. package/dist/junction-GIS5OCRO.js +0 -32
  472. package/dist/junction.unit.spec-MSILW6QZ.js +0 -178
  473. package/dist/launch.adhoc-LLJY4LA5.js +0 -33
  474. package/dist/leftlabel.sample-P6DDVCOW.js +0 -253
  475. package/dist/lollipop-J34YCYIP.js +0 -162
  476. package/dist/maf-MFEEYT5P.js +0 -451
  477. package/dist/maftimeline-TGJ37QYA.js +0 -583
  478. package/dist/matrix-A6BNFCIH.js +0 -55
  479. package/dist/matrix-XTKRVPMQ.js +0 -50
  480. package/dist/matrix.config-RMDDMOZ5.js +0 -33
  481. package/dist/matrix.integration.spec-2DVRXVNH.js +0 -3156
  482. package/dist/matrix.interactivity-MGOYEKDN.js +0 -33
  483. package/dist/matrix.layout-T7EC5ZC2.js +0 -35
  484. package/dist/matrix.renderers-GR77V3RL.js +0 -30
  485. package/dist/matrix.sort.unit.spec-YUCV7G5L.js +0 -464
  486. package/dist/matrix.sorterUi.unit.spec-FESIQ2RC.js +0 -334
  487. package/dist/matrix.unit.spec-6QF3WKM7.js +0 -146
  488. package/dist/mavb-UXJBITZM.js +0 -726
  489. package/dist/mds.fimo-IPNWVBO4.js +0 -509
  490. package/dist/mds.samplescatterplot-KEG7RSN3.js +0 -1545
  491. package/dist/mds.survivalplot-LJF2CD33.js +0 -472
  492. package/dist/multivalue-YRQZ73DI.js +0 -79
  493. package/dist/oncomatrix-TIMH5JKS.js +0 -286
  494. package/dist/oncomatrix.spec-MUOKKCJN.js +0 -439
  495. package/dist/plot.2dvaf-3OL4S6QG.js +0 -368
  496. package/dist/plot.app-CMLHZV5F.js +0 -32
  497. package/dist/plot.barplot-NRYMIPK6.js +0 -93
  498. package/dist/plot.boxplot-ANGW3WUC.js +0 -142
  499. package/dist/plot.brainImaging-YUDBYKX5.js +0 -51
  500. package/dist/plot.disco-LV7RE3YO.js +0 -98
  501. package/dist/plot.ssgq-F2LOQFYD.js +0 -130
  502. package/dist/plot.vaf2cov-5OKC7X6D.js +0 -249
  503. package/dist/polar2-BGJA2GHZ.js +0 -228
  504. package/dist/profileForms-BKP3OBKV.js +0 -937
  505. package/dist/profilePlot-5PRRNUKD.js +0 -45
  506. package/dist/proteinView-VZIWIZZY.js +0 -1346
  507. package/dist/proteomeCohortCompare-XZI5OI4X.js +0 -866
  508. package/dist/pseudbulk.unit.spec-DXJQV7JQ.js +0 -82
  509. package/dist/pseudobulk-FCH3WW6O.js +0 -31
  510. package/dist/qualitative-ATX53V44.js +0 -34
  511. package/dist/qualitative-BRKLVRKW.js +0 -241
  512. package/dist/radar2-6BBT2FBT.js +0 -323
  513. package/dist/radarFacility2-76Q3IYP2.js +0 -331
  514. package/dist/render-KUC3QH36.js +0 -29
  515. package/dist/report-KB4K7ZXC.js +0 -213
  516. package/dist/sampleView-QD2JLZ4T.js +0 -39
  517. package/dist/samplelst-6R5RYHNV.js +0 -114
  518. package/dist/samplematrix-NGORNBTR.js +0 -2188
  519. package/dist/sc-27AHZZDK.js +0 -77
  520. package/dist/scatter-FXLZMWD6.js +0 -84
  521. package/dist/scatter-OWFYLMSJ.js +0 -919
  522. package/dist/selectGenomeWithTklst-ZTGABCXC.js +0 -125
  523. package/dist/singleCellCellType-7XXJ5NWC.js +0 -29
  524. package/dist/singleCellCellType.unit.spec-Y3TEYYCF.js +0 -150
  525. package/dist/singleCellGeneExpression-EUAIEIYJ.js +0 -29
  526. package/dist/singleCellGeneExpression.unit.spec-JVHPFLML.js +0 -144
  527. package/dist/singleCellNumericValue-FHIECJDK.js +0 -29
  528. package/dist/singleCellNumericValue.unit.spec-ZFG56MIO.js +0 -412
  529. package/dist/singleCellPlot-NDGIW32L.js +0 -44
  530. package/dist/singlecell-JPWVPZEF.js +0 -1562
  531. package/dist/singlecell-N7RJMWZ2.js +0 -77
  532. package/dist/snp-APUTOL2F.js +0 -29
  533. package/dist/snp.unit.spec-4AN7AJKO.js +0 -167
  534. package/dist/snplocus-WIMFAMBE.js +0 -200
  535. package/dist/snplst-SUJ5AK4E.js +0 -36
  536. package/dist/spliceevent.a53ss.diagram-4UBI7PFJ.js +0 -142
  537. package/dist/spliceevent.exonskip.diagram-NVEXVRIC.js +0 -274
  538. package/dist/spliceevent.noeventdiagram-CKEWNLVF.js +0 -451
  539. package/dist/ssGSEA-CJOVXTAW.js +0 -29
  540. package/dist/ssGSEA.unit.spec-A7VRVJSF.js +0 -79
  541. package/dist/stattable-JBJVVLQE.js +0 -112
  542. package/dist/studyCatalog-NEL7XSIP.js +0 -457
  543. package/dist/summarizeCnvGeneexp-BZSCTA5W.js +0 -154
  544. package/dist/summarizeGeneexpSurvival-743KXNV7.js +0 -101
  545. package/dist/summarizeMutationCnv-CALMSQGV.js +0 -155
  546. package/dist/summarizeMutationDiagnosis-OTE7O4AS.js +0 -31
  547. package/dist/summarizeMutationSurvival-VOZOFTFM.js +0 -95
  548. package/dist/summary-XJKCD35N.js +0 -40
  549. package/dist/summary.integration.spec-OOEU6WNB.js +0 -405
  550. package/dist/summaryInput-JSOXVSMY.js +0 -238
  551. package/dist/sunburst-J3QHMYKW.js +0 -34
  552. package/dist/sunburst-LZPP6NPV.js +0 -274
  553. package/dist/survival-5GWRVTQ6.js +0 -49
  554. package/dist/survival-FW7N3YXZ.js +0 -1248
  555. package/dist/survival.integration.spec-WN36VUHL.js +0 -609
  556. package/dist/svgraph-N35EMK3G.js +0 -1377
  557. package/dist/svmr-EWL5WDDD.js +0 -3834
  558. package/dist/swimmer-Z6FUH4CD.js +0 -993
  559. package/dist/table-EI2OIRGE.js +0 -192
  560. package/dist/termCollection-K3EX5P3F.js +0 -29
  561. package/dist/termCollection-TBTAHLVH.js +0 -247
  562. package/dist/termCollection.unit.spec-ZVNAIPHZ.js +0 -295
  563. package/dist/termCollectionFractionSelection-ATNIPWVX.js +0 -38
  564. package/dist/termCollectionFractionSelection.unit.spec-VBRWWBML.js +0 -184
  565. package/dist/tk-P3RPLUVH.js +0 -1193
  566. package/dist/tk-U6CYISBH.js +0 -37
  567. package/dist/tp.ui-KBFYUSWS.js +0 -1453
  568. package/dist/tvs.categorical-5USP772O.js +0 -28
  569. package/dist/tvs.condition-652MAA2Z.js +0 -160
  570. package/dist/tvs.density-CB24PXDE.js +0 -19
  571. package/dist/tvs.dt-7BTARQUS.js +0 -34
  572. package/dist/tvs.dtcnv.categorical-GAOO3DGO.js +0 -31
  573. package/dist/tvs.dtcnv.continuous-P2QRD45O.js +0 -72
  574. package/dist/tvs.dtfusion-L3I65W7L.js +0 -31
  575. package/dist/tvs.dtitd-B3JPW6OL.js +0 -31
  576. package/dist/tvs.dtsnvindel-6Y6CJBZV.js +0 -31
  577. package/dist/tvs.dtsv-GL7CPATL.js +0 -31
  578. package/dist/tvs.multivalue-75IM23FZ.js +0 -84
  579. package/dist/tvs.numeric-XB3GBPHE.js +0 -32
  580. package/dist/tvs.samplelst-QUA45UE7.js +0 -95
  581. package/dist/tvs.survival-EKSDZZIO.js +0 -110
  582. package/dist/tvs.termCollection-5ATMDC7O.js +0 -118
  583. package/dist/vocabulary-5QBBQAYC.js +0 -32
  584. package/dist/wsi.direct-BU6BL5UR.js +0 -11514
  585. /package/dist/{2dmaf-KRIX5DBS.js.map → 2dmaf-7YU3SNKL.js.map} +0 -0
  586. /package/dist/{AggMatrixInput-GBQD74NV.js.map → AggMatrixInput-73CDR5FS.js.map} +0 -0
  587. /package/dist/{AggregateMatrix-U2MOQOSZ.js.map → AggregateMatrix-NNULVFBM.js.map} +0 -0
  588. /package/dist/{AppHeader-OBZWUCOD.js.map → AppHeader-EZDDLLXU.js.map} +0 -0
  589. /package/dist/{BoxPlot-ZK6Q5JGE.js.map → BoxPlot-463E7CRY.js.map} +0 -0
  590. /package/dist/{CorrelationVolcano-WGR4JIGK.js.map → CorrelationVolcano-LHIIMBPP.js.map} +0 -0
  591. /package/dist/{Cuminc-I6D6YSIL.js.map → Cuminc-UL2TCIKV.js.map} +0 -0
  592. /package/dist/{DE-HO7UBKPC.js.map → DE-VRFSKFDW.js.map} +0 -0
  593. /package/dist/{DEinput-6LX4I65N.js.map → DEinput-FZTQRWVC.js.map} +0 -0
  594. /package/dist/{DM-WYKLX4IC.js.map → DM-PO7CQZNT.js.map} +0 -0
  595. /package/dist/{DifferentialAnalysis-L5VVBCVZ.js.map → DifferentialAnalysis-WK6HE3YH.js.map} +0 -0
  596. /package/dist/{Disco-HLARIYXU.js.map → Disco-YBNQJQFG.js.map} +0 -0
  597. /package/dist/{Disco.UI-W64WFVC3.js.map → Disco.UI-HC5XYBFV.js.map} +0 -0
  598. /package/dist/{DmrPlot-BKQOT4JM.js.map → DmrPlot-7VJ5C66D.js.map} +0 -0
  599. /package/dist/{GB-WKFGDJYW.js.map → GB-VPFQRDRO.js.map} +0 -0
  600. /package/dist/{GSEA-DCCJI5JE.js.map → GSEA-ZEJB3QZQ.js.map} +0 -0
  601. /package/dist/{GeneExpInput-APLFNE6N.js.map → GeneExpInput-SBDDIY6G.js.map} +0 -0
  602. /package/dist/{Geomap-FTKWCV4J.js.map → Geomap-23AHGP2V.js.map} +0 -0
  603. /package/dist/{HicApp-ZGZKO4Y4.js.map → HicApp-7AQQE4CM.js.map} +0 -0
  604. /package/dist/{IDCViewer-MXB3OZUZ.js.map → IDCViewer-NO5Q6VOB.js.map} +0 -0
  605. /package/dist/{NumBinaryEditor-S3MHUVZ5.js.map → NumBinaryEditor-DSRP4OOU.js.map} +0 -0
  606. /package/dist/{NumBinaryEditor.unit.spec-264X5ULG.js.map → NumBinaryEditor.unit.spec-TT666YL4.js.map} +0 -0
  607. /package/dist/{NumContEditor-MKEZCZMR.js.map → NumContEditor-6CURFOCH.js.map} +0 -0
  608. /package/dist/{NumContEditor.unit.spec-KBRAIU7M.js.map → NumContEditor.unit.spec-MNVCFCMP.js.map} +0 -0
  609. /package/dist/{NumCustomBinEditor-OSF64BFC.js.map → NumCustomBinEditor-SQRR5EFL.js.map} +0 -0
  610. /package/dist/{NumCustomBinEditor.unit.spec-T2SRBXTV.js.map → NumCustomBinEditor.unit.spec-F7BZWGGT.js.map} +0 -0
  611. /package/dist/{NumDiscreteEditor-PVW5HRRQ.js.map → NumDiscreteEditor-U7Z2QNYP.js.map} +0 -0
  612. /package/dist/{NumDiscreteEditor.unit.spec-GUK7VWMR.js.map → NumDiscreteEditor.unit.spec-EIEBUZCX.js.map} +0 -0
  613. /package/dist/{NumRegularBinEditor-757VRGFQ.js.map → NumRegularBinEditor-CVZSWN6Y.js.map} +0 -0
  614. /package/dist/{NumRegularBinEditor.unit.spec-JUIGEH3Z.js.map → NumRegularBinEditor.unit.spec-ZMAJOIHL.js.map} +0 -0
  615. /package/dist/{NumSplineEditor-U6MVFSCZ.js.map → NumSplineEditor-U43D5NBJ.js.map} +0 -0
  616. /package/dist/{NumSplineEditor.unit.spec-PSH6YENX.js.map → NumSplineEditor.unit.spec-C52AADTS.js.map} +0 -0
  617. /package/dist/{NumericDensity-YIP25Z4Y.js.map → NumericDensity-PUKDZOVI.js.map} +0 -0
  618. /package/dist/{NumericDensity.unit.spec-3OSIZJHH.js.map → NumericDensity.unit.spec-2347S76D.js.map} +0 -0
  619. /package/dist/{NumericHandler-D2CO3FTS.js.map → NumericHandler-3RT32PTR.js.map} +0 -0
  620. /package/dist/{NumericHandler.unit.spec-RNFVGO2I.js.map → NumericHandler.unit.spec-4PADL4KZ.js.map} +0 -0
  621. /package/dist/{ProteomeInput-ZOBJ2VU6.js.map → ProteomeInput-NFV4FW4U.js.map} +0 -0
  622. /package/dist/{Regression-ABKJOOMQ.js.map → Regression-N7M7N6G4.js.map} +0 -0
  623. /package/dist/{RunChart2-D5CEEFEE.js.map → RunChart2-UPQ7C6QE.js.map} +0 -0
  624. /package/dist/{SC-RLVEECU5.js.map → SC-KBW2NHUV.js.map} +0 -0
  625. /package/dist/{Violin-PCNX2CWV.js.map → Violin-GWCOP3ZF.js.map} +0 -0
  626. /package/dist/{Volcano-NVFNO7NE.js.map → Volcano-X3HT32GQ.js.map} +0 -0
  627. /package/dist/{Wsi-MAMCK5YZ.js.map → Wsi-NXAEOYIS.js.map} +0 -0
  628. /package/dist/{aboutSunburst-VSQADTFD.js.map → aboutSunburst-5EKXZV2A.js.map} +0 -0
  629. /package/dist/{adSandbox-5YFAQZO6.js.map → adSandbox-RPEWEEW7.js.map} +0 -0
  630. /package/dist/{animatedBubbleChart-GM2GXDP3.js.map → animatedBubbleChart-ILDMZRBX.js.map} +0 -0
  631. /package/dist/{app-FNNCH37H.js.map → app-LOUC4J47.js.map} +0 -0
  632. /package/dist/{app-ID5S5FUP.js.map → app-MRKXZ6AZ.js.map} +0 -0
  633. /package/dist/{barchart-EAXXILCH.js.map → barchart-CJR37234.js.map} +0 -0
  634. /package/dist/{barchart2-E6A4UMUB.js.map → barchart2-QQYLTHWR.js.map} +0 -0
  635. /package/dist/{block-VMVJH77F.js.map → block-GLF6QNKY.js.map} +0 -0
  636. /package/dist/{block.init-TUCGKLXG.js.map → block.init-YJQTJIDO.js.map} +0 -0
  637. /package/dist/{block.mds.expressionrank-YVROHZVX.js.map → block.mds.expressionrank-GBMEI5KQ.js.map} +0 -0
  638. /package/dist/{block.mds.geneboxplot-TQNEWBJY.js.map → block.mds.geneboxplot-XWE3E5IW.js.map} +0 -0
  639. /package/dist/{block.mds.junction-ZOSTZQF5.js.map → block.mds.junction-QLEHFVPE.js.map} +0 -0
  640. /package/dist/{block.mds.svcnv-XSTSJ4ZD.js.map → block.mds.svcnv-53DTOPBC.js.map} +0 -0
  641. /package/dist/{block.svg-D6HXL4SC.js.map → block.svg-57T37ABS.js.map} +0 -0
  642. /package/dist/{block.tk.aicheck-7RNC4HRR.js.map → block.tk.aicheck-6DXJTS3H.js.map} +0 -0
  643. /package/dist/{block.tk.bigwig.ui-UVSZ7LWQ.js.map → block.tk.bigwig.ui-OYIVXE2L.js.map} +0 -0
  644. /package/dist/{block.tk.hicstraw-YFBJR5LO.js.map → block.tk.hicstraw-UKTGEBWT.js.map} +0 -0
  645. /package/dist/{block.tk.junction-DNRK2JNQ.js.map → block.tk.junction-ZU5KPFQ3.js.map} +0 -0
  646. /package/dist/{block.tk.junction.textmatrixui-EN4ADCAU.js.map → block.tk.junction.textmatrixui-P4WXTAZR.js.map} +0 -0
  647. /package/dist/{block.tk.ld-I5CTAJ4K.js.map → block.tk.ld-3PQ4O2AE.js.map} +0 -0
  648. /package/dist/{block.tk.menu-HUZBY7OM.js.map → block.tk.menu-LLITB6UA.js.map} +0 -0
  649. /package/dist/{block.tk.pgv-KA6BFYPY.js.map → block.tk.pgv-Y3FBXUO3.js.map} +0 -0
  650. /package/dist/{brainImaging-OQB2ZHCU.js.map → brainImaging-4B3WXLNP.js.map} +0 -0
  651. /package/dist/{brainRegions-2CRVMS24.js.map → brainRegions-7VLONUWN.js.map} +0 -0
  652. /package/dist/{bubbleHeatmap-MANNFEG2.js.map → bubbleHeatmap-DI6GJRR6.js.map} +0 -0
  653. /package/dist/{cellTypeBubbleHeatmap-LRK4R4EC.js.map → cellTypeBubbleHeatmap-HJY53DB2.js.map} +0 -0
  654. /package/dist/{chunk-4ZV6SE4B.js.map → chunk-226MNBZ2.js.map} +0 -0
  655. /package/dist/{chunk-M6OSJMVD.js.map → chunk-2CDFU4MQ.js.map} +0 -0
  656. /package/dist/{chunk-BOCU6PXO.js.map → chunk-2CNFGVHU.js.map} +0 -0
  657. /package/dist/{chunk-GK5QS5BR.js.map → chunk-2MC3RNKA.js.map} +0 -0
  658. /package/dist/{chunk-PV7AYYRZ.js.map → chunk-2SL4QWUS.js.map} +0 -0
  659. /package/dist/{chunk-DEQREL5P.js.map → chunk-3KGBC5MK.js.map} +0 -0
  660. /package/dist/{chunk-VGC4STKW.js.map → chunk-3PCRAPUV.js.map} +0 -0
  661. /package/dist/{chunk-YLGSRK75.js.map → chunk-4DBOMSKP.js.map} +0 -0
  662. /package/dist/{chunk-IZ4IPYQY.js.map → chunk-57BS6KNI.js.map} +0 -0
  663. /package/dist/{chunk-XHZ723K4.js.map → chunk-5AXS5G4A.js.map} +0 -0
  664. /package/dist/{chunk-Z7Q2O5Y7.js.map → chunk-5HJG6ECV.js.map} +0 -0
  665. /package/dist/{chunk-DZBPF5QI.js.map → chunk-5ZYANHGX.js.map} +0 -0
  666. /package/dist/{chunk-LOX5GAVG.js.map → chunk-75MRUW2K.js.map} +0 -0
  667. /package/dist/{chunk-IXV7FX5B.js.map → chunk-7J3W3KCN.js.map} +0 -0
  668. /package/dist/{chunk-QWBNQYIF.js.map → chunk-AIZYAKIE.js.map} +0 -0
  669. /package/dist/{chunk-HN67TOA7.js.map → chunk-AJNFI6GA.js.map} +0 -0
  670. /package/dist/{chunk-DXKZBSSD.js.map → chunk-BJAWDZBL.js.map} +0 -0
  671. /package/dist/{chunk-HJKVYTYK.js.map → chunk-C6PVZVIH.js.map} +0 -0
  672. /package/dist/{chunk-E6C2EWHU.js.map → chunk-C77X5ZUV.js.map} +0 -0
  673. /package/dist/{chunk-YDIIKD7O.js.map → chunk-CUCP2GMT.js.map} +0 -0
  674. /package/dist/{chunk-H6YM4NKS.js.map → chunk-DTGAMBRJ.js.map} +0 -0
  675. /package/dist/{chunk-3E26ITYK.js.map → chunk-DXT7GDHY.js.map} +0 -0
  676. /package/dist/{chunk-VSDJEPDN.js.map → chunk-ENPMWVWG.js.map} +0 -0
  677. /package/dist/{chunk-XYUERIZ6.js.map → chunk-FPMJJBLV.js.map} +0 -0
  678. /package/dist/{chunk-C7ZPDNOJ.js.map → chunk-H7F6DMJA.js.map} +0 -0
  679. /package/dist/{chunk-SUOEFEJO.js.map → chunk-HH3NUAR2.js.map} +0 -0
  680. /package/dist/{chunk-2NB5HVXB.js.map → chunk-HRTPGNOG.js.map} +0 -0
  681. /package/dist/{chunk-67MD4UES.js.map → chunk-IFPRYTS7.js.map} +0 -0
  682. /package/dist/{chunk-4NQS45KH.js.map → chunk-IJSFSUI4.js.map} +0 -0
  683. /package/dist/{chunk-AZSWQWKL.js.map → chunk-IRQKX6DL.js.map} +0 -0
  684. /package/dist/{chunk-7YMZSVWW.js.map → chunk-JNZL7HKB.js.map} +0 -0
  685. /package/dist/{chunk-AENUJ7UO.js.map → chunk-K3G56J5R.js.map} +0 -0
  686. /package/dist/{chunk-DZDK64XY.js.map → chunk-KKUCG2QE.js.map} +0 -0
  687. /package/dist/{chunk-GLAR6VNF.js.map → chunk-KPXCXBNU.js.map} +0 -0
  688. /package/dist/{chunk-XP4P55IC.js.map → chunk-MSTYU3QO.js.map} +0 -0
  689. /package/dist/{chunk-VHC4FDEJ.js.map → chunk-MWARRQT4.js.map} +0 -0
  690. /package/dist/{chunk-WTWHUZ4O.js.map → chunk-MXKYPTZ7.js.map} +0 -0
  691. /package/dist/{chunk-4ENIOXIT.js.map → chunk-OZUF7O2S.js.map} +0 -0
  692. /package/dist/{chunk-KCVBFXGO.js.map → chunk-PRTLCJYF.js.map} +0 -0
  693. /package/dist/{chunk-7TLUQH7J.js.map → chunk-QNCE6EOK.js.map} +0 -0
  694. /package/dist/{chunk-3H4FCRAN.js.map → chunk-RV335DF2.js.map} +0 -0
  695. /package/dist/{chunk-XVPPM25G.js.map → chunk-THAUD62Q.js.map} +0 -0
  696. /package/dist/{chunk-PIN5YUVJ.js.map → chunk-VBTBUXXX.js.map} +0 -0
  697. /package/dist/{chunk-JPPNQVKA.js.map → chunk-VHWJK2MP.js.map} +0 -0
  698. /package/dist/{chunk-QI7OWVFY.js.map → chunk-VMK4RHV5.js.map} +0 -0
  699. /package/dist/{chunk-6DESNDD5.js.map → chunk-WKT7RF3C.js.map} +0 -0
  700. /package/dist/{chunk-YR6EXI2K.js.map → chunk-WXSMUSU7.js.map} +0 -0
  701. /package/dist/{chunk-Z53VY5JV.js.map → chunk-WXSX5OQJ.js.map} +0 -0
  702. /package/dist/{chunk-TVSNHVWX.js.map → chunk-WY3IORKG.js.map} +0 -0
  703. /package/dist/{chunk-4GKC43U3.js.map → chunk-WYSOOKFJ.js.map} +0 -0
  704. /package/dist/{chunk-6BBUIRHA.js.map → chunk-XBBFFOLS.js.map} +0 -0
  705. /package/dist/{chunk-U3CWWOHL.js.map → chunk-XSRQGX5H.js.map} +0 -0
  706. /package/dist/{chunk-5TA5LHPW.js.map → chunk-YLL6CTBL.js.map} +0 -0
  707. /package/dist/{chunk-5YQXNW6Y.js.map → chunk-YPBY37KD.js.map} +0 -0
  708. /package/dist/{chunk-6DRRN5XP.js.map → chunk-YUNJBIK4.js.map} +0 -0
  709. /package/dist/{cohort-ERDL7EJU.js.map → cohort-5WL6UJOS.js.map} +0 -0
  710. /package/dist/{cohortSunburst-KSTVS3OQ.js.map → cohortSunburst-R3Z5KJQL.js.map} +0 -0
  711. /package/dist/{condition-CTJYHRJG.js.map → condition-2IILUMVB.js.map} +0 -0
  712. /package/dist/{controls-MMMRBTZL.js.map → controls-G3JITZF5.js.map} +0 -0
  713. /package/dist/{controls.config-ZKMQI27Q.js.map → controls.config-BO7KPPET.js.map} +0 -0
  714. /package/dist/{correlation-NEQNBQTT.js.map → correlation-CZILLVEM.js.map} +0 -0
  715. /package/dist/{customdata.inputui-THUR7DF5.js.map → customdata.inputui-BXFQAMTR.js.map} +0 -0
  716. /package/dist/{dataDownload-ZMAJUKBX.js.map → dataDownload-QTWR4IW7.js.map} +0 -0
  717. /package/dist/{databrowser.ui-A6ZSIUG4.js.map → databrowser.ui-V2NJQF3U.js.map} +0 -0
  718. /package/dist/{dictionary-TQUVCHIN.js.map → dictionary-OVAQX6R3.js.map} +0 -0
  719. /package/dist/{dnaMethylation-ZMJYY3ML.js.map → dnaMethylation-DHPFRXB2.js.map} +0 -0
  720. /package/dist/{dnaMethylation.integration.spec-5DTBGTYB.js.map → dnaMethylation.integration.spec-PJLIRGN5.js.map} +0 -0
  721. /package/dist/{e2pca-DNWBF545.js.map → e2pca-O7SNMJGB.js.map} +0 -0
  722. /package/dist/{ep-JNH3HMY4.js.map → ep-NIVLKG4S.js.map} +0 -0
  723. /package/dist/{expclust.gdc.spec-2NJ7JVJW.js.map → expclust.gdc.spec-LVCD6C43.js.map} +0 -0
  724. /package/dist/{facet-RWQFAVVU.js.map → facet-LB4SCXE4.js.map} +0 -0
  725. /package/dist/{gb-OT2Z3Y7J.js.map → gb-3IJ4NCPO.js.map} +0 -0
  726. /package/dist/{geneExpClustering-TPYGSTMO.js.map → geneExpClustering-SIAC7CMA.js.map} +0 -0
  727. /package/dist/{geneExpression-4K3OTXBZ.js.map → geneExpression-P2TTZXN2.js.map} +0 -0
  728. /package/dist/{geneExpression.unit.spec-26MCGRAP.js.map → geneExpression.unit.spec-Q5D6XHUF.js.map} +0 -0
  729. /package/dist/{geneORA-GNXKCN45.js.map → geneORA-PKUIJKTL.js.map} +0 -0
  730. /package/dist/{geneRanking-LV6W6TT7.js.map → geneRanking-ZGT5MHBV.js.map} +0 -0
  731. /package/dist/{geneVariant-B2SYTHG6.js.map → geneVariant-24YNANTT.js.map} +0 -0
  732. /package/dist/{geneVariant-O4XG5VEM.js.map → geneVariant-CDGENHWQ.js.map} +0 -0
  733. /package/dist/{geneVariant.integration.spec-YYVPAFXT.js.map → geneVariant.integration.spec-7QW4C2WO.js.map} +0 -0
  734. /package/dist/{genefusion.ui-CVGGYVV3.js.map → genefusion.ui-NVXGSBXD.js.map} +0 -0
  735. /package/dist/{geneset-MBMCJNXT.js.map → geneset-7STL6UDD.js.map} +0 -0
  736. /package/dist/{genomeBrowser.spec-OVXFKEIU.js.map → genomeBrowser.spec-OE2CIP7I.js.map} +0 -0
  737. /package/dist/{grin2-YCJGBRFG.js.map → grin2-2HXUIY5O.js.map} +0 -0
  738. /package/dist/{grin2-OXRU465E.js.map → grin2-32IIJR5E.js.map} +0 -0
  739. /package/dist/{hierCluster-KNPWL5KD.js.map → hierCluster-MDZEI2KB.js.map} +0 -0
  740. /package/dist/{hierCluster-L3LYQZQL.js.map → hierCluster-T3PZUGBI.js.map} +0 -0
  741. /package/dist/{hierCluster.config-VZBV5QIO.js.map → hierCluster.config-7UN6AYGB.js.map} +0 -0
  742. /package/dist/{hierCluster.integration.spec-ZM7K7WI4.js.map → hierCluster.integration.spec-DWOYVK6T.js.map} +0 -0
  743. /package/dist/{hierCluster.interactivity-EA7WVIQR.js.map → hierCluster.interactivity-5OM6XNFG.js.map} +0 -0
  744. /package/dist/{imagePlot-OLVI26S5.js.map → imagePlot-KBRXDV5G.js.map} +0 -0
  745. /package/dist/{importPlot-3SSCNROC.js.map → importPlot-DJMIC22L.js.map} +0 -0
  746. /package/dist/{isoformExpression-BTMJNAAO.js.map → isoformExpression-SWDWADRC.js.map} +0 -0
  747. /package/dist/{isoformExpression.unit.spec-S2W5T42Z.js.map → isoformExpression.unit.spec-2U5KCYBP.js.map} +0 -0
  748. /package/dist/{junction-GIS5OCRO.js.map → junction-NMXVVGRG.js.map} +0 -0
  749. /package/dist/{junction.unit.spec-MSILW6QZ.js.map → junction.unit.spec-JTGBPPN7.js.map} +0 -0
  750. /package/dist/{launch.adhoc-LLJY4LA5.js.map → launch.adhoc-YB5SKMNY.js.map} +0 -0
  751. /package/dist/{leftlabel.sample-P6DDVCOW.js.map → leftlabel.sample-QKXIODCS.js.map} +0 -0
  752. /package/dist/{lollipop-J34YCYIP.js.map → lollipop-TSZ62PBH.js.map} +0 -0
  753. /package/dist/{maf-MFEEYT5P.js.map → maf-4L5YN4CG.js.map} +0 -0
  754. /package/dist/{maftimeline-TGJ37QYA.js.map → maftimeline-VOYB3NY3.js.map} +0 -0
  755. /package/dist/{matrix-A6BNFCIH.js.map → matrix-IWJECVTF.js.map} +0 -0
  756. /package/dist/{matrix-XTKRVPMQ.js.map → matrix-MMJAJZA7.js.map} +0 -0
  757. /package/dist/{matrix.config-RMDDMOZ5.js.map → matrix.config-DZGOZWJS.js.map} +0 -0
  758. /package/dist/{matrix.integration.spec-2DVRXVNH.js.map → matrix.integration.spec-2N237E7T.js.map} +0 -0
  759. /package/dist/{matrix.interactivity-MGOYEKDN.js.map → matrix.interactivity-FL33UUKR.js.map} +0 -0
  760. /package/dist/{matrix.layout-T7EC5ZC2.js.map → matrix.layout-7SYHV3KJ.js.map} +0 -0
  761. /package/dist/{matrix.renderers-GR77V3RL.js.map → matrix.renderers-3SIBT2RP.js.map} +0 -0
  762. /package/dist/{matrix.sort.unit.spec-YUCV7G5L.js.map → matrix.sort.unit.spec-L3H44T6I.js.map} +0 -0
  763. /package/dist/{matrix.sorterUi.unit.spec-FESIQ2RC.js.map → matrix.sorterUi.unit.spec-2NRU5UFH.js.map} +0 -0
  764. /package/dist/{matrix.unit.spec-6QF3WKM7.js.map → matrix.unit.spec-HRZIJB6T.js.map} +0 -0
  765. /package/dist/{mavb-UXJBITZM.js.map → mavb-ZVRQSDPS.js.map} +0 -0
  766. /package/dist/{mds.fimo-IPNWVBO4.js.map → mds.fimo-ZKETTET7.js.map} +0 -0
  767. /package/dist/{mds.samplescatterplot-KEG7RSN3.js.map → mds.samplescatterplot-ZV3UNRLP.js.map} +0 -0
  768. /package/dist/{mds.survivalplot-LJF2CD33.js.map → mds.survivalplot-OVXZRTU4.js.map} +0 -0
  769. /package/dist/{multivalue-YRQZ73DI.js.map → multivalue-6BE5IA4F.js.map} +0 -0
  770. /package/dist/{oncomatrix-TIMH5JKS.js.map → oncomatrix-XK62NEOO.js.map} +0 -0
  771. /package/dist/{oncomatrix.spec-MUOKKCJN.js.map → oncomatrix.spec-YVTCHOPS.js.map} +0 -0
  772. /package/dist/{plot.2dvaf-3OL4S6QG.js.map → plot.2dvaf-NUOBWMNX.js.map} +0 -0
  773. /package/dist/{plot.app-CMLHZV5F.js.map → plot.app-G6IQWXTV.js.map} +0 -0
  774. /package/dist/{plot.barplot-NRYMIPK6.js.map → plot.barplot-6QJ6HEJR.js.map} +0 -0
  775. /package/dist/{plot.boxplot-ANGW3WUC.js.map → plot.boxplot-XKQJSW2O.js.map} +0 -0
  776. /package/dist/{plot.brainImaging-YUDBYKX5.js.map → plot.brainImaging-UTHFJFXU.js.map} +0 -0
  777. /package/dist/{plot.disco-LV7RE3YO.js.map → plot.disco-3MSCX7TM.js.map} +0 -0
  778. /package/dist/{plot.ssgq-F2LOQFYD.js.map → plot.ssgq-4KBVHF42.js.map} +0 -0
  779. /package/dist/{plot.vaf2cov-5OKC7X6D.js.map → plot.vaf2cov-OGUQSSDS.js.map} +0 -0
  780. /package/dist/{polar2-BGJA2GHZ.js.map → polar2-V7M56GTZ.js.map} +0 -0
  781. /package/dist/{profileForms-BKP3OBKV.js.map → profileForms-TS3BJLHH.js.map} +0 -0
  782. /package/dist/{profilePlot-5PRRNUKD.js.map → profilePlot-DP5272HR.js.map} +0 -0
  783. /package/dist/{proteinView-VZIWIZZY.js.map → proteinView-K4K4SP3L.js.map} +0 -0
  784. /package/dist/{proteomeCohortCompare-XZI5OI4X.js.map → proteomeCohortCompare-SFWVGLFK.js.map} +0 -0
  785. /package/dist/{pseudbulk.unit.spec-DXJQV7JQ.js.map → pseudbulk.unit.spec-NFOA7J2C.js.map} +0 -0
  786. /package/dist/{pseudobulk-FCH3WW6O.js.map → pseudobulk-XKZQEZ4I.js.map} +0 -0
  787. /package/dist/{qualitative-BRKLVRKW.js.map → qualitative-7OSFNVI5.js.map} +0 -0
  788. /package/dist/{qualitative-ATX53V44.js.map → qualitative-OIIN6E4Y.js.map} +0 -0
  789. /package/dist/{radar2-6BBT2FBT.js.map → radar2-AHZJKX7S.js.map} +0 -0
  790. /package/dist/{radarFacility2-76Q3IYP2.js.map → radarFacility2-OUW6D5E7.js.map} +0 -0
  791. /package/dist/{render-KUC3QH36.js.map → render-7UZSGX3Q.js.map} +0 -0
  792. /package/dist/{report-KB4K7ZXC.js.map → report-J7HKTXZ2.js.map} +0 -0
  793. /package/dist/{sampleView-QD2JLZ4T.js.map → sampleView-6547OUIM.js.map} +0 -0
  794. /package/dist/{samplelst-6R5RYHNV.js.map → samplelst-UHF23UEB.js.map} +0 -0
  795. /package/dist/{samplematrix-NGORNBTR.js.map → samplematrix-OOKS3TMR.js.map} +0 -0
  796. /package/dist/{sc-27AHZZDK.js.map → sc-WF2BLGNG.js.map} +0 -0
  797. /package/dist/{scatter-FXLZMWD6.js.map → scatter-ABCVFGRV.js.map} +0 -0
  798. /package/dist/{scatter-OWFYLMSJ.js.map → scatter-WF7XM3IA.js.map} +0 -0
  799. /package/dist/{selectGenomeWithTklst-ZTGABCXC.js.map → selectGenomeWithTklst-67HU5KRB.js.map} +0 -0
  800. /package/dist/{singleCellCellType-7XXJ5NWC.js.map → singleCellCellType-3FZPJ25V.js.map} +0 -0
  801. /package/dist/{singleCellCellType.unit.spec-Y3TEYYCF.js.map → singleCellCellType.unit.spec-TOMREHWK.js.map} +0 -0
  802. /package/dist/{singleCellGeneExpression-EUAIEIYJ.js.map → singleCellGeneExpression-NQTJ5KJQ.js.map} +0 -0
  803. /package/dist/{singleCellGeneExpression.unit.spec-JVHPFLML.js.map → singleCellGeneExpression.unit.spec-ZWUQTU2N.js.map} +0 -0
  804. /package/dist/{singleCellNumericValue-FHIECJDK.js.map → singleCellNumericValue-VI7H722L.js.map} +0 -0
  805. /package/dist/{singleCellNumericValue.unit.spec-ZFG56MIO.js.map → singleCellNumericValue.unit.spec-QGLHES7H.js.map} +0 -0
  806. /package/dist/{singleCellPlot-NDGIW32L.js.map → singleCellPlot-RU5T6SJK.js.map} +0 -0
  807. /package/dist/{singlecell-JPWVPZEF.js.map → singlecell-C3CJVNXP.js.map} +0 -0
  808. /package/dist/{singlecell-N7RJMWZ2.js.map → singlecell-NRQZ7KC6.js.map} +0 -0
  809. /package/dist/{snp-APUTOL2F.js.map → snp-X6XY65VS.js.map} +0 -0
  810. /package/dist/{snp.unit.spec-4AN7AJKO.js.map → snp.unit.spec-6EENK7GQ.js.map} +0 -0
  811. /package/dist/{snplocus-WIMFAMBE.js.map → snplocus-R4JA6TFT.js.map} +0 -0
  812. /package/dist/{snplst-SUJ5AK4E.js.map → snplst-SOWVHSXH.js.map} +0 -0
  813. /package/dist/{spliceevent.a53ss.diagram-4UBI7PFJ.js.map → spliceevent.a53ss.diagram-IRLCCVQZ.js.map} +0 -0
  814. /package/dist/{spliceevent.exonskip.diagram-NVEXVRIC.js.map → spliceevent.exonskip.diagram-4KG7LE5D.js.map} +0 -0
  815. /package/dist/{spliceevent.noeventdiagram-CKEWNLVF.js.map → spliceevent.noeventdiagram-OWXAJJX7.js.map} +0 -0
  816. /package/dist/{ssGSEA-CJOVXTAW.js.map → ssGSEA-EMOKPLMP.js.map} +0 -0
  817. /package/dist/{ssGSEA.unit.spec-A7VRVJSF.js.map → ssGSEA.unit.spec-KXQ7R5WH.js.map} +0 -0
  818. /package/dist/{stattable-JBJVVLQE.js.map → stattable-H2G7MOZG.js.map} +0 -0
  819. /package/dist/{studyCatalog-NEL7XSIP.js.map → studyCatalog-3ITQXWFL.js.map} +0 -0
  820. /package/dist/{summarizeCnvGeneexp-BZSCTA5W.js.map → summarizeCnvGeneexp-ZIPU6YDY.js.map} +0 -0
  821. /package/dist/{summarizeGeneexpSurvival-743KXNV7.js.map → summarizeGeneexpSurvival-3RYU226R.js.map} +0 -0
  822. /package/dist/{summarizeMutationCnv-CALMSQGV.js.map → summarizeMutationCnv-RGDBUB22.js.map} +0 -0
  823. /package/dist/{summarizeMutationDiagnosis-OTE7O4AS.js.map → summarizeMutationDiagnosis-Z4MZE6Y4.js.map} +0 -0
  824. /package/dist/{summarizeMutationSurvival-VOZOFTFM.js.map → summarizeMutationSurvival-Z5CNRH7E.js.map} +0 -0
  825. /package/dist/{summary-XJKCD35N.js.map → summary-6QQCNX3B.js.map} +0 -0
  826. /package/dist/{summary.integration.spec-OOEU6WNB.js.map → summary.integration.spec-3ULXTZUP.js.map} +0 -0
  827. /package/dist/{summaryInput-JSOXVSMY.js.map → summaryInput-4QKR34QB.js.map} +0 -0
  828. /package/dist/{sunburst-J3QHMYKW.js.map → sunburst-KB3BWC72.js.map} +0 -0
  829. /package/dist/{sunburst-LZPP6NPV.js.map → sunburst-XTFBHZNH.js.map} +0 -0
  830. /package/dist/{survival-5GWRVTQ6.js.map → survival-7O6ZK63E.js.map} +0 -0
  831. /package/dist/{survival-FW7N3YXZ.js.map → survival-NNCY4K6C.js.map} +0 -0
  832. /package/dist/{survival.integration.spec-WN36VUHL.js.map → survival.integration.spec-ZYZHZAXA.js.map} +0 -0
  833. /package/dist/{svgraph-N35EMK3G.js.map → svgraph-ZLSFFEAC.js.map} +0 -0
  834. /package/dist/{svmr-EWL5WDDD.js.map → svmr-REBBDEYM.js.map} +0 -0
  835. /package/dist/{swimmer-Z6FUH4CD.js.map → swimmer-NUBRIWLI.js.map} +0 -0
  836. /package/dist/{table-EI2OIRGE.js.map → table-CWIQQESJ.js.map} +0 -0
  837. /package/dist/{termCollection-K3EX5P3F.js.map → termCollection-7TYJSQ45.js.map} +0 -0
  838. /package/dist/{termCollection-TBTAHLVH.js.map → termCollection-7Z55QNL7.js.map} +0 -0
  839. /package/dist/{termCollection.unit.spec-ZVNAIPHZ.js.map → termCollection.unit.spec-LQ5MIBDH.js.map} +0 -0
  840. /package/dist/{termCollectionFractionSelection-ATNIPWVX.js.map → termCollectionFractionSelection-24DZYVDU.js.map} +0 -0
  841. /package/dist/{termCollectionFractionSelection.unit.spec-VBRWWBML.js.map → termCollectionFractionSelection.unit.spec-DCV2CFS5.js.map} +0 -0
  842. /package/dist/{tk-U6CYISBH.js.map → tk-2WZFPRCP.js.map} +0 -0
  843. /package/dist/{tk-P3RPLUVH.js.map → tk-QTLEYIP7.js.map} +0 -0
  844. /package/dist/{tp.ui-KBFYUSWS.js.map → tp.ui-HXQX2UH4.js.map} +0 -0
  845. /package/dist/{tvs.categorical-5USP772O.js.map → tvs.categorical-4D3JI2ER.js.map} +0 -0
  846. /package/dist/{tvs.condition-652MAA2Z.js.map → tvs.condition-62FXFHZ5.js.map} +0 -0
  847. /package/dist/{tvs.density-CB24PXDE.js.map → tvs.density-IGO4I4T2.js.map} +0 -0
  848. /package/dist/{tvs.dt-7BTARQUS.js.map → tvs.dt-FZSVMJOO.js.map} +0 -0
  849. /package/dist/{tvs.dtcnv.categorical-GAOO3DGO.js.map → tvs.dtcnv.categorical-PPFQIC42.js.map} +0 -0
  850. /package/dist/{tvs.dtcnv.continuous-P2QRD45O.js.map → tvs.dtcnv.continuous-TV2IGHY4.js.map} +0 -0
  851. /package/dist/{tvs.dtfusion-L3I65W7L.js.map → tvs.dtfusion-ON4BA4XJ.js.map} +0 -0
  852. /package/dist/{tvs.dtitd-B3JPW6OL.js.map → tvs.dtitd-VFNROOWQ.js.map} +0 -0
  853. /package/dist/{tvs.dtsnvindel-6Y6CJBZV.js.map → tvs.dtsnvindel-ZXOP37T5.js.map} +0 -0
  854. /package/dist/{tvs.dtsv-GL7CPATL.js.map → tvs.dtsv-EUHPTW7J.js.map} +0 -0
  855. /package/dist/{tvs.multivalue-75IM23FZ.js.map → tvs.multivalue-NHVXZNDI.js.map} +0 -0
  856. /package/dist/{tvs.numeric-XB3GBPHE.js.map → tvs.numeric-FPWDPO3J.js.map} +0 -0
  857. /package/dist/{tvs.samplelst-QUA45UE7.js.map → tvs.samplelst-ZZHRNUP4.js.map} +0 -0
  858. /package/dist/{tvs.survival-EKSDZZIO.js.map → tvs.survival-F3KSG3U6.js.map} +0 -0
  859. /package/dist/{tvs.termCollection-5ATMDC7O.js.map → tvs.termCollection-B37DZLDY.js.map} +0 -0
  860. /package/dist/{vocabulary-5QBBQAYC.js.map → vocabulary-XNE5FFDK.js.map} +0 -0
  861. /package/dist/{wsi.direct-BU6BL5UR.js.map → wsi.direct-3YH3QGQD.js.map} +0 -0
@@ -0,0 +1,418 @@
1
+ import {
2
+ addBrushes,
3
+ addNewBrush
4
+ } from "./chunk-OZUF7O2S.js";
5
+ import {
6
+ escapeHtml,
7
+ niceNumLabels,
8
+ violinRenderer
9
+ } from "./chunk-WD7FZ5EE.js";
10
+ import {
11
+ convertUnits,
12
+ getValueConversionFactor
13
+ } from "./chunk-W5J3LTYS.js";
14
+ import {
15
+ NumericRangeInput
16
+ } from "./chunk-PWYMHUXY.js";
17
+ import {
18
+ roundValueAuto
19
+ } from "./chunk-TLT4YIG3.js";
20
+ import {
21
+ select_default
22
+ } from "./chunk-I6Y4O3RR.js";
23
+
24
+ // filter/tvs.numeric.js
25
+ var handler = {
26
+ type: "numeric",
27
+ term_name_gen,
28
+ get_pill_label,
29
+ getSelectRemovePos,
30
+ fillMenu,
31
+ setTvsDefaults
32
+ };
33
+ function term_name_gen(d) {
34
+ const name = d.term.name;
35
+ return name.length < 26 ? escapeHtml(name) : '<label title="' + escapeHtml(name) + '">' + escapeHtml(name.substring(0, 24)) + "...</label>";
36
+ }
37
+ function get_pill_label(tvs) {
38
+ if (tvs.ranges.length == 1) {
39
+ const v = tvs.ranges[0];
40
+ if ("value" in v) {
41
+ if (v.label) return { txt: escapeHtml(v.label) };
42
+ if (tvs.term.values && tvs.term.values[v.value] && tvs.term.values[v.value].label)
43
+ return { txt: escapeHtml(tvs.term.values[v.value].label) };
44
+ console.error(`key "${v.value}" not found in values{} of ${tvs.term.name}`);
45
+ return { txt: escapeHtml(v.value) };
46
+ }
47
+ return { txt: format_val_text(v, tvs.term) + mafDepthText(tvs) };
48
+ }
49
+ return { txt: tvs.ranges.length + " intervals" + mafDepthText(tvs) };
50
+ }
51
+ function mafDepthText(tvs) {
52
+ if (tvs.term.mafFilterMode != "maf") return "";
53
+ if (!Number.isFinite(tvs.minAllelicDepth) || tvs.minAllelicDepth < 1) return "";
54
+ return `, Total depth &ge; ${tvs.minAllelicDepth}`;
55
+ }
56
+ function format_val_text(range, term) {
57
+ const x = '<span style="font-family:Times;font-style:italic;font-size:1em; vertical-align:top">x</span>';
58
+ if (range.startunbounded && range.stopunbounded) {
59
+ const inf = (sign = "") => `<span style='vertical-align: middle; font-size:1.1em; line-height: 0.9em'>${sign}\u221E</span>`;
60
+ const lt = `<span style='vertical-align: top; font-size: 0.9em'>&lt;</span>`;
61
+ return `<span>${inf("\uFE63")} ${lt} ${x} ${lt} ${inf("\uFE62")}</span>`;
62
+ }
63
+ const vc = term.valueConversion;
64
+ if (range.startunbounded)
65
+ return `${x} ${range.stopinclusive ? "&le;" : "&lt;"} ${vc ? convertUnits(range.stop, vc.fromUnit, vc.toUnit, vc.scaleFactor) : range.stop}`;
66
+ if (range.stopunbounded)
67
+ return `${x} ${range.startinclusive ? "&ge;" : "&gt;"} ${vc ? convertUnits(range.start, vc.fromUnit, vc.toUnit, vc.scaleFactor) : range.start}`;
68
+ let startName, stopName;
69
+ if (vc) {
70
+ startName = convertUnits(range.start, vc.fromUnit, vc.toUnit, vc.scaleFactor);
71
+ stopName = convertUnits(range.stop, vc.fromUnit, vc.toUnit, vc.scaleFactor);
72
+ } else {
73
+ ;
74
+ [startName, stopName] = niceNumLabels([range.start, range.stop]);
75
+ }
76
+ return `${startName}
77
+ ${range.startinclusive ? "&le;" : "&lt;"}
78
+ ${x}
79
+ ${range.stopinclusive ? "&le;" : "&lt;"}
80
+ ${stopName}`;
81
+ }
82
+ function getSelectRemovePos(j, tvs) {
83
+ return j - tvs.ranges.slice(0, j).filter((a) => a.start || a.stop).length;
84
+ }
85
+ async function fillMenu(self, div, tvs) {
86
+ const num_parent_div = div.append("div");
87
+ self.num_obj = {};
88
+ self.num_obj.num_div = num_parent_div.append("div").attr("class", "num_div").style("padding", "5px").style("color", "#000");
89
+ self.num_obj.plot_size = {
90
+ width: 450,
91
+ height: 100,
92
+ xpad: 10,
93
+ ypad: 20,
94
+ radius: 8
95
+ };
96
+ if (typeof self.opts.vocabApi.getViolinBox == "function") {
97
+ try {
98
+ const data = await self.opts.vocabApi.getViolinBox(
99
+ {
100
+ plotType: "violin",
101
+ tw: { term: tvs.term, q: { mode: "continuous" } },
102
+ // must supply this filter and override state filter in function, so the density plot will not be limited to range defined by current numeric tvs but will show whole range
103
+ filter: self.filter,
104
+ svgw: self.num_obj.plot_size.width,
105
+ radius: self.num_obj.plot_size.radius
106
+ },
107
+ self.opts.getCategoriesArguments
108
+ );
109
+ if (data.error) throw data.error;
110
+ if (data.max === null && data.min === null) {
111
+ throw `No data available under current filter conditions.`;
112
+ }
113
+ self.num_obj.density_data = data;
114
+ } catch (err) {
115
+ throw err;
116
+ }
117
+ } else {
118
+ self.num_obj.density_data = {};
119
+ }
120
+ if (self.num_obj.density_data.error) throw self.num_obj.density_data.error;
121
+ if (!self.num_obj.density_data.charts?.[""]?.plots?.[0]?.density?.bins) {
122
+ addRangeTableNoDensity(self, tvs);
123
+ return;
124
+ }
125
+ self.vr = new violinRenderer({
126
+ holder: self.num_obj.num_div,
127
+ rd: self.num_obj.density_data,
128
+ width: self.num_obj.plot_size.width,
129
+ radius: self.num_obj.plot_size.radius,
130
+ height: self.num_obj.plot_size.height,
131
+ // axis ticks are labeled in the term's user-facing unit, e.g. years and not days
132
+ scaleFactor: getValueConversionFactor(tvs.term)
133
+ });
134
+ self.vr.render();
135
+ self.num_obj.svg = self.vr.svg;
136
+ self.num_obj.range_table = self.num_obj.num_div.append("table").style("table-layout", "fixed").style("border-collapse", "collapse");
137
+ const ranges = [];
138
+ for (const [index, range] of tvs.ranges.entries()) {
139
+ range.index = index;
140
+ ranges.push(range);
141
+ }
142
+ self.num_obj.brush_g = self.vr.brushG.attr("class", "brush_g");
143
+ self.num_obj.xscale = self.vr.axisScale;
144
+ self.num_obj.ranges = ranges;
145
+ self.num_obj.brushes = [];
146
+ addBrushes(self);
147
+ addRangeTable(self);
148
+ if (!ranges.length) {
149
+ const callback = () => addRangeTable(self);
150
+ addNewBrush(self, "center", callback);
151
+ }
152
+ self.num_obj.brushes.forEach((brush) => brush.init());
153
+ await showCheckList_numeric(self, tvs, div);
154
+ }
155
+ function setTvsDefaults(tvs) {
156
+ if (!tvs.ranges) tvs.ranges = [];
157
+ }
158
+ function addRangeTableNoDensity(self, tvs) {
159
+ const termrange = tvs.term.range || {};
160
+ const range = tvs.ranges && tvs.ranges[0] ? tvs.ranges[0] : termrange;
161
+ const num_div = self.num_obj.num_div;
162
+ num_div.selectAll("*").remove();
163
+ const brush = {};
164
+ const holder = num_div.append("div").style("padding-left", "5px");
165
+ const mafFilterMode = tvs.term.mafFilterMode;
166
+ if (mafFilterMode == "maf" && tvs.term.child_ids?.length > 1) {
167
+ const ids = tvs.term.child_ids;
168
+ const list = ids.slice(0, -1).join(", ") + " and " + ids[ids.length - 1];
169
+ holder.append("div").style("margin-bottom", "8px").style("font-size", ".9em").style("opacity", 0.7).text(`MAF is computed by summing allelic depths from ${list}`);
170
+ }
171
+ const rangeRow = holder.append("div").style("display", "flex").style("align-items", "center").style("column-gap", "5px");
172
+ const rangeLabel = rangeRow.append("span");
173
+ brush.equation_div = rangeRow.append("div");
174
+ brush.rangeInput = new NumericRangeInput(brush.equation_div, range, () => {
175
+ }, {
176
+ width: "125px",
177
+ scaleFactor: getValueConversionFactor(tvs.term),
178
+ // without a density plot, the term's declared bounds are the only check of a typed range
179
+ min: tvs.term.min,
180
+ max: tvs.term.max
181
+ });
182
+ if (mafFilterMode == "maf") {
183
+ rangeLabel.text("MAF Range (0-1)");
184
+ const depthRow = holder.append("div").style("display", "flex").style("align-items", "center").style("column-gap", "5px").style("margin-top", "5px");
185
+ depthRow.append("span").text("Minimum Total Depth");
186
+ brush.depthInput = depthRow.append("input").attr("type", "number").attr("min", 1).attr("step", 1).style("width", "125px").property("value", Number.isFinite(tvs.minAllelicDepth) ? tvs.minAllelicDepth : "");
187
+ brush.apply_btn = addApplyButton(holder.append("div").style("margin-top", "10px"));
188
+ } else if (mafFilterMode == "value") {
189
+ rangeLabel.text("Range");
190
+ brush.apply_btn = addApplyButton(rangeRow);
191
+ } else if (mafFilterMode == "totalDepth" || mafFilterMode == "altDepth") {
192
+ rangeLabel.text(mafFilterMode == "totalDepth" ? "Total Depth" : "Alt Allele Depth");
193
+ brush.apply_btn = addApplyButton(rangeRow);
194
+ } else {
195
+ rangeLabel.text("Range");
196
+ brush.apply_btn = addApplyButton(rangeRow);
197
+ }
198
+ if (mafFilterMode) brush.rangeInput.getInput().node().focus();
199
+ function addApplyButton(holder2) {
200
+ return holder2.append("button").text("Apply").on("click", clickApply);
201
+ }
202
+ function clickApply() {
203
+ const r = brush.rangeInput.getRange();
204
+ if (!Number.isFinite(r.start) && !Number.isFinite(r.stop)) {
205
+ window.alert("Invalid range.");
206
+ return;
207
+ }
208
+ const new_tvs = { term: tvs.term, ranges: [r] };
209
+ if (brush.depthInput) {
210
+ const str = brush.depthInput.property("value").trim();
211
+ if (str) {
212
+ const minAllelicDepth = Number(str);
213
+ if (!Number.isFinite(minAllelicDepth)) {
214
+ window.alert("Minimum allelic depth must be a numeric value.");
215
+ return;
216
+ }
217
+ new_tvs.minAllelicDepth = Math.max(minAllelicDepth, 1);
218
+ }
219
+ }
220
+ self.dom.tip.hide();
221
+ self.opts.callback(new_tvs);
222
+ }
223
+ }
224
+ function addRangeTable(self) {
225
+ const brushes = self.num_obj.brushes;
226
+ const range_divs = self.num_obj.range_table.selectAll(".range_div").data(brushes);
227
+ range_divs.exit().each(function() {
228
+ select_default(this).style("opacity", 1).transition().duration(100).style("opacity", 0).remove();
229
+ });
230
+ range_divs.enter().append("tr").attr("class", "range_div").style("white-space", "nowrap").style("padding", "2px").transition().duration(200).each(function(brush, i) {
231
+ enterRange(self, this, brush, i);
232
+ });
233
+ }
234
+ function enterRange(self, tr, brush, i) {
235
+ if (!brush.range_tr) brush.range_tr = select_default(tr);
236
+ const range_tr = brush.range_tr;
237
+ const xscale = self.num_obj.xscale;
238
+ range_tr.append("td").style("margin-left", "10px").style("padding", "3px 10px").style("font-size", ".9em").text("Range " + (i + 1) + ": ");
239
+ brush.equation_td = range_tr.append("td").style("width", "150px");
240
+ brush.rangeInput = new NumericRangeInput(brush.equation_td, brush.range, apply, {
241
+ scaleFactor: getValueConversionFactor(self.tvs.term)
242
+ });
243
+ makeRangeButtons(self, brush);
244
+ if (i == 0) {
245
+ self.num_obj.range_table.append("tr").attr("class", "note_tr").append("td").attr("colspan", "3").append("div").style("font-size", ".8em").style("margin-left", "20px").style("font-style", "italic").style("color", "#888").html("Option 1: Drag the rectangle to select a range. Overlapping ranges will be merged.");
246
+ }
247
+ if (i == 0) {
248
+ self.num_obj.range_table.append("tr").attr("class", "note_tr").append("td").attr("colspan", "3").append("div").style("font-size", ".8em").style("margin-left", "20px").style("font-style", "italic").style("color", "#888").html(
249
+ `Option 2: Type in values to select a range.${self.tvs.term.valueConversion ? ` Values are in the unit of ${self.tvs.term.valueConversion.toUnit}.` : ""}`
250
+ );
251
+ }
252
+ function apply(new_range) {
253
+ const minvalue = self.num_obj.density_data.min;
254
+ const maxvalue = self.num_obj.density_data.max;
255
+ validateRangeInData(self, new_range);
256
+ brush.range = new_range;
257
+ const start = new_range.value != void 0 ? new_range.value : new_range.start != void 0 ? new_range.start : minvalue;
258
+ const stop = new_range.value != void 0 ? new_range.value : new_range.stop != void 0 ? new_range.stop : maxvalue;
259
+ const clamp = (v) => Math.min(Math.max(v, minvalue), maxvalue);
260
+ brush.elem.call(brush.d3brush).call(brush.d3brush.move, [clamp(start), clamp(stop)].map(xscale));
261
+ }
262
+ function makeRangeButtons(self2, brush2) {
263
+ const buttons_td = brush2.range_tr.append("td");
264
+ const range = brush2.range;
265
+ brush2.apply_btn = buttons_td.append("button").style("margin-left", "10px").text("Apply").attr("data-testid", "sjpp-tvsnumeric-range-apply").on("click", async () => {
266
+ try {
267
+ const new_range = brush2.rangeInput.parseRange();
268
+ const new_tvs = JSON.parse(JSON.stringify(self2.tvs));
269
+ delete new_tvs.groupset_label;
270
+ if (self2.num_obj.ranges.length > 1) new_tvs.ranges = mergeOverlapRanges(self2, new_range);
271
+ else new_tvs.ranges[range.index] = new_range;
272
+ validateNumericTvs(new_tvs);
273
+ self2.dom.tip.hide();
274
+ self2.opts.callback(new_tvs);
275
+ } catch (ex) {
276
+ alert(ex);
277
+ }
278
+ });
279
+ buttons_td.append("button").attr("class", "sja_filter_tag_btn sjpp_delete_btn").style("display", self2.num_obj.ranges.length > 1 ? "inline-block" : "none").style("margin-left", "10px").style("text-transform", "uppercase").text("Delete").on("click", async () => {
280
+ const new_tvs = JSON.parse(JSON.stringify(self2.tvs));
281
+ new_tvs.ranges.splice(range.index, 1);
282
+ self2.num_obj.ranges.pop();
283
+ self2.num_obj.brushes.pop();
284
+ self2.num_obj.num_div.select(".note_tr").remove();
285
+ addBrushes(self2);
286
+ addRangeTable(self2);
287
+ if (new_tvs.ranges.length) self2.opts.callback(new_tvs);
288
+ });
289
+ }
290
+ }
291
+ function mergeOverlapRanges(self, new_range) {
292
+ let ranges = JSON.parse(JSON.stringify(self.tvs.ranges));
293
+ let merged_flag = false;
294
+ for (const [i, range] of ranges.entries()) {
295
+ if (!range.value && new_range.index != i) {
296
+ if (new_range.start <= range.start && new_range.stop >= range.stop) {
297
+ range.start = new_range.start;
298
+ range.stop = new_range.stop;
299
+ merged_flag = true;
300
+ } else if (new_range.start <= range.stop && new_range.stop >= range.stop) {
301
+ range.stop = new_range.stop;
302
+ merged_flag = true;
303
+ } else if (new_range.stop >= range.start && new_range.start <= range.start) {
304
+ range.start = new_range.start;
305
+ merged_flag = true;
306
+ } else if (new_range.start >= range.start && new_range.stop <= range.stop) {
307
+ merged_flag = true;
308
+ } else if (new_range.startunbounded) {
309
+ if (new_range.stop > range.stop) {
310
+ range.stop = new_range.stop;
311
+ }
312
+ delete range.start;
313
+ range.startunbounded = true;
314
+ merged_flag = true;
315
+ } else if (new_range.stopunbounded) {
316
+ if (new_range.start < range.start) {
317
+ range.start = new_range.start;
318
+ }
319
+ delete range.stop;
320
+ range.stopunbounded = true;
321
+ merged_flag = true;
322
+ }
323
+ }
324
+ }
325
+ if (merged_flag) {
326
+ if (new_range.index <= ranges.length - 1) ranges.splice(new_range.index, 1);
327
+ } else {
328
+ ranges = JSON.parse(JSON.stringify(self.tvs.ranges));
329
+ if (new_range.index) ranges[new_range.index] = new_range;
330
+ else ranges.push(new_range);
331
+ }
332
+ return ranges;
333
+ }
334
+ async function showCheckList_numeric(self, tvs, div) {
335
+ if (!tvs.term.values) {
336
+ return;
337
+ }
338
+ const values = await self.opts.vocabApi.getNumericUncomputableCategories(tvs.term, self.filter);
339
+ const unannotated_cats = [];
340
+ const lst = values?.lst || values;
341
+ for (const cat of lst) {
342
+ const key = "key" in cat ? cat.key : cat.value;
343
+ if (!("key" in cat)) cat.key = key;
344
+ if (!("value" in cat)) cat.value = key;
345
+ if (key in tvs.term.values) {
346
+ cat.label = tvs.term.values[key].label;
347
+ unannotated_cats.push(cat);
348
+ }
349
+ }
350
+ const sortedVals = unannotated_cats.sort((a, b) => {
351
+ return b.samplecount - a.samplecount;
352
+ });
353
+ const unanno_div = div.append("div").style("padding", "5px").style("color", "#000");
354
+ const callback = (indexes) => {
355
+ try {
356
+ const new_tvs = JSON.parse(JSON.stringify(tvs));
357
+ delete new_tvs.groupset_label;
358
+ new_tvs.ranges = [
359
+ ...new_tvs.ranges.filter((r) => !("value" in r)),
360
+ ...indexes.map((i) => ({ value: sortedVals[i].value, label: sortedVals[i].label }))
361
+ ];
362
+ self.dom.tip.hide();
363
+ if (new_tvs.ranges.length == 0) throw "select at least one range or category";
364
+ if (JSON.parse(JSON.stringify(tvs) != new_tvs)) {
365
+ try {
366
+ validateNumericTvs(new_tvs);
367
+ } catch (e) {
368
+ window.alert(e);
369
+ return;
370
+ }
371
+ self.opts.callback(new_tvs);
372
+ }
373
+ } catch (e) {
374
+ window.alert(e);
375
+ }
376
+ };
377
+ const values_table = self.makeValueTable(unanno_div, tvs, sortedVals, callback).node();
378
+ }
379
+ function validateRangeInData(self, range) {
380
+ if (range.value != void 0) return;
381
+ const { min, max } = self.num_obj.density_data;
382
+ if (!Number.isFinite(min) || !Number.isFinite(max)) return;
383
+ const aboveMax = !range.startunbounded && (range.start > max || range.start == max && !range.startinclusive);
384
+ const belowMin = !range.stopunbounded && (range.stop < min || range.stop == min && !range.stopinclusive);
385
+ if (!aboveMax && !belowMin) return;
386
+ const sf = getValueConversionFactor(self.tvs.term);
387
+ const [minLabel, maxLabel] = [min, max].map((v) => roundValueAuto(v * sf));
388
+ throw `The range is outside of the data, which ranges from ${minLabel} to ${maxLabel}`;
389
+ }
390
+ function validateNumericTvs(tvs) {
391
+ if (!tvs.term) throw "tvs.term is not defined";
392
+ if (!tvs.ranges) throw `.values[] missing for a term ${tvs.term.name}`;
393
+ if (!Array.isArray(tvs.ranges)) throw `.values[] is not an array for a term ${tvs.term.name}`;
394
+ if (!tvs.ranges.length) throw `no categories selected for ${tvs.term.name}`;
395
+ for (const range of tvs.ranges) {
396
+ if (range.value != void 0) {
397
+ if (!range.label) throw `.label missing for special category for a term ${tvs.term.name}`;
398
+ } else {
399
+ if (range.startunbounded) {
400
+ if (range.stopunbounded) throw `both start & stop are unbounded for a term ${tvs.term.name}`;
401
+ if (!Number.isFinite(range.stop)) throw `.stop undefined when start is unbounded for a term ${tvs.term.name}`;
402
+ } else if (range.stopunbounded) {
403
+ if (!Number.isFinite(range.start)) throw `.start undefined when stop is unbounded for a term ${tvs.term.name}`;
404
+ } else {
405
+ if (!Number.isFinite(range.start))
406
+ throw `.start undefined when start is not unbounded for a term ${tvs.term.name}`;
407
+ if (!Number.isFinite(range.stop)) throw `.stop undefined when stop is not unbounded for a term ${tvs.term.name}`;
408
+ if (range.start >= range.stop) throw `.start is not lower than stop for a term ${tvs.term.name}`;
409
+ }
410
+ }
411
+ }
412
+ }
413
+
414
+ export {
415
+ handler,
416
+ format_val_text
417
+ };
418
+ //# sourceMappingURL=chunk-LF5WBI27.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../filter/tvs.numeric.js"],
4
+ "sourcesContent": ["import { escapeHtml } from '#dom'\nimport { select } from 'd3-selection'\nimport { scaleLinear } from 'd3'\nimport { addBrushes, addNewBrush } from './tvs.density'\nimport { NumericRangeInput } from '#dom/numericRangeInput'\nimport { convertUnits, getValueConversionFactor } from '#shared/helpers.js'\nimport { violinRenderer } from '../dom/violinRenderer'\nimport { niceNumLabels } from '../dom/niceNumLabels.ts'\nimport { roundValueAuto } from '#shared/roundValue.js'\n\n/*\n********************** EXPORTED\nhandler:\n\t// internal functions as part of handler\n\tterm_name_gen()\n\tget_pill_label()\n\t\tformat_val_text()\n\t\tmafDepthText()\n\tgetSelectRemovePos()\n\tfillMenu()\n\tsetTvsDefaults()\n\n********************** INTERNAL\naddRangeTableNoDensity() // for terms without desnity table, show brushes but without density_plot on blank svg\naddRangeTable() // add table for existing ranges or start with empty_range with brush in center \nenterRange() // add row for each range, for existing readonly and for new or edit, show inputs\nmakeRangeButtons() // add buttons for Apply / DELETE \nmergeOverlapRanges() // when Apply is pressed, check if ranges are overlapping, if so, merge them\nshowCheckList_numeric() // so checklist of uncomputable values\nvalidateRangeInData() // reject a typed range that does not overlap the data range of the density plot\nvalidateNumericTvs() // validate tvs before sending it to callback\n\n*/\n\nexport const handler = {\n\ttype: 'numeric',\n\tterm_name_gen,\n\tget_pill_label,\n\tgetSelectRemovePos,\n\tfillMenu,\n\tsetTvsDefaults\n}\n\nfunction term_name_gen(d) {\n\tconst name = d.term.name\n\treturn name.length < 26\n\t\t? escapeHtml(name)\n\t\t: '<label title=\"' + escapeHtml(name) + '\">' + escapeHtml(name.substring(0, 24)) + '...' + '</label>'\n}\n\nfunction get_pill_label(tvs) {\n\tif (tvs.ranges.length == 1) {\n\t\tconst v = tvs.ranges[0]\n\t\tif ('value' in v) {\n\t\t\t// category\n\t\t\tif (v.label) return { txt: escapeHtml(v.label) }\n\t\t\tif (tvs.term.values && tvs.term.values[v.value] && tvs.term.values[v.value].label)\n\t\t\t\treturn { txt: escapeHtml(tvs.term.values[v.value].label) }\n\t\t\tconsole.error(`key \"${v.value}\" not found in values{} of ${tvs.term.name}`)\n\t\t\treturn { txt: escapeHtml(v.value) }\n\t\t}\n\t\t// numeric range\n\t\treturn { txt: format_val_text(v, tvs.term) + mafDepthText(tvs) }\n\t}\n\t// multiple\n\treturn { txt: tvs.ranges.length + ' intervals' + mafDepthText(tvs) }\n}\n\n/* a maf-mode tvs may also gate samples on total read depth; the range text alone does not show it.\nreturns '' when no cutoff is set, and for any other tvs: 'totalDepth'/'altDepth' filter on depth with\ntheir own range, and minAllelicDepth has no effect on a 'value' term */\nfunction mafDepthText(tvs) {\n\tif (tvs.term.mafFilterMode != 'maf') return ''\n\tif (!Number.isFinite(tvs.minAllelicDepth) || tvs.minAllelicDepth < 1) return ''\n\treturn `, Total depth &ge; ${tvs.minAllelicDepth}`\n}\n\nexport function format_val_text(range, term) {\n\tconst x = '<span style=\"font-family:Times;font-style:italic;font-size:1em; vertical-align:top\">x</span>'\n\tif (range.startunbounded && range.stopunbounded) {\n\t\tconst inf = (sign = '') =>\n\t\t\t`<span style='vertical-align: middle; font-size:1.1em; line-height: 0.9em'>${sign}\u221E</span>`\n\t\tconst lt = `<span style='vertical-align: top; font-size: 0.9em'>&lt;</span>`\n\t\treturn `<span>${inf('\uFE63')} ${lt} ${x} ${lt} ${inf('\uFE62')}</span>`\n\t}\n\n\t/* logic about value converting:\n\tif term.valueConversion is present, will convert e.g. from day to years. this takes higher priority\n\telse, if range is one-sided, return as is\n\telse, apply nice method to adjust digits. this requires a start-stop range\n\t*/\n\n\tconst vc = term.valueConversion\n\n\tif (range.startunbounded)\n\t\treturn `${x} ${range.stopinclusive ? '&le;' : '&lt;'} ${\n\t\t\tvc ? convertUnits(range.stop, vc.fromUnit, vc.toUnit, vc.scaleFactor) : range.stop\n\t\t}`\n\n\tif (range.stopunbounded)\n\t\treturn `${x} ${range.startinclusive ? '&ge;' : '&gt;'} ${\n\t\t\tvc ? convertUnits(range.start, vc.fromUnit, vc.toUnit, vc.scaleFactor) : range.start\n\t\t}`\n\n\t// range is not unbounded and can apply nice method if there's no vc\n\n\tlet startName, stopName\n\tif (vc) {\n\t\tstartName = convertUnits(range.start, vc.fromUnit, vc.toUnit, vc.scaleFactor)\n\t\tstopName = convertUnits(range.stop, vc.fromUnit, vc.toUnit, vc.scaleFactor)\n\t} else {\n\t\t//Rms excessive number of decimals\n\t\t;[startName, stopName] = niceNumLabels([range.start, range.stop])\n\t}\n\n\treturn `${startName} \n\t\t\t${range.startinclusive ? '&le;' : '&lt;'}\n\t\t\t${x}\n\t\t\t${range.stopinclusive ? '&le;' : '&lt;'}\n\t\t\t${stopName}`\n}\n\nfunction getSelectRemovePos(j, tvs) {\n\treturn j - tvs.ranges.slice(0, j).filter(a => a.start || a.stop).length\n}\n\nasync function fillMenu(self, div, tvs) {\n\t//numerical range div\n\tconst num_parent_div = div.append('div')\n\tself.num_obj = {}\n\n\tself.num_obj.num_div = num_parent_div\n\t\t.append('div')\n\t\t.attr('class', 'num_div')\n\t\t.style('padding', '5px')\n\t\t.style('color', '#000')\n\n\tself.num_obj.plot_size = {\n\t\twidth: 450,\n\t\theight: 100,\n\t\txpad: 10,\n\t\typad: 20,\n\t\tradius: 8\n\t}\n\n\tif (typeof self.opts.vocabApi.getViolinBox == 'function') {\n\t\ttry {\n\t\t\tconst data = await self.opts.vocabApi.getViolinBox(\n\t\t\t\t{\n\t\t\t\t\tplotType: 'violin',\n\t\t\t\t\ttw: { term: tvs.term, q: { mode: 'continuous' } },\n\t\t\t\t\t// must supply this filter and override state filter in function, so the density plot will not be limited to range defined by current numeric tvs but will show whole range\n\t\t\t\t\tfilter: self.filter,\n\t\t\t\t\tsvgw: self.num_obj.plot_size.width,\n\t\t\t\t\tradius: self.num_obj.plot_size.radius\n\t\t\t\t},\n\t\t\t\tself.opts.getCategoriesArguments\n\t\t\t)\n\t\t\tif (data.error) throw data.error\n\t\t\tif (data.max === null && data.min === null) {\n\t\t\t\tthrow `No data available under current filter conditions.`\n\t\t\t}\n\t\t\tself.num_obj.density_data = data\n\t\t} catch (err) {\n\t\t\tthrow err\n\t\t}\n\t} else {\n\t\t// frontend vocab lacks this method, return no density data so ui will not show the plot\n\t\t// if the method is added to front vocab, the method must check if sample data is available for the front vocab;\n\t\t// if no sample data then return no density.\n\t\t// such is the case for INFO terms used for variant filtering\n\t\tself.num_obj.density_data = {}\n\t}\n\n\tif (self.num_obj.density_data.error) throw self.num_obj.density_data.error\n\n\tif (!self.num_obj.density_data.charts?.['']?.plots?.[0]?.density?.bins) {\n\t\t// no density data for this term (e.g. bcf numeric info field in a custom filter)\n\t\taddRangeTableNoDensity(self, tvs)\n\t\treturn\n\t}\n\n\tself.vr = new violinRenderer({\n\t\tholder: self.num_obj.num_div,\n\t\trd: self.num_obj.density_data,\n\t\twidth: self.num_obj.plot_size.width,\n\t\tradius: self.num_obj.plot_size.radius,\n\t\theight: self.num_obj.plot_size.height,\n\t\t// axis ticks are labeled in the term's user-facing unit, e.g. years and not days\n\t\tscaleFactor: getValueConversionFactor(tvs.term)\n\t})\n\tself.vr.render()\n\tself.num_obj.svg = self.vr.svg\n\n\tself.num_obj.range_table = self.num_obj.num_div\n\t\t.append('table')\n\t\t.style('table-layout', 'fixed')\n\t\t.style('border-collapse', 'collapse')\n\n\tconst ranges = []\n\n\tfor (const [index, range] of tvs.ranges.entries()) {\n\t\trange.index = index\n\t\tranges.push(range)\n\t}\n\t// add brush_g for tvs brushes\n\tself.num_obj.brush_g = self.vr.brushG.attr('class', 'brush_g')\n\n\tself.num_obj.xscale = self.vr.axisScale\n\n\tself.num_obj.ranges = ranges\n\tself.num_obj.brushes = []\n\taddBrushes(self)\n\taddRangeTable(self)\n\t// const add_range_btn = self.num_obj.num_div\n\t// \t.append('div')\n\t// \t.style('width', '100px')\n\t// \t.attr('class', 'add_range_btn sja_menuoption')\n\t// \t.style('border-radius', '13px')\n\t// \t.style('padding', '7px 6px')\n\t// \t.style('margin', '5px')\n\t// \t.style('margin-left', '20px')\n\t// \t.style('text-align', 'center')\n\t// \t.style('font-size', '.8em')\n\t// \t.text('Add a Range')\n\t// \t.on('click', () => {\n\t// \t\tconst callback = () => addRangeTable(self)\n\t// \t\taddNewBrush(self, ranges.length ? 'end' : 'center', callback)\n\t// \t})\n\n\tif (!ranges.length) {\n\t\tconst callback = () => addRangeTable(self)\n\t\taddNewBrush(self, 'center', callback)\n\t}\n\n\tself.num_obj.brushes.forEach(brush => brush.init())\n\tawait showCheckList_numeric(self, tvs, div)\n}\n\nfunction setTvsDefaults(tvs) {\n\tif (!tvs.ranges) tvs.ranges = []\n}\n\nfunction addRangeTableNoDensity(self, tvs) {\n\tconst termrange = tvs.term.range || {}\n\tconst range = tvs.ranges && tvs.ranges[0] ? tvs.ranges[0] : termrange\n\tconst num_div = self.num_obj.num_div\n\tnum_div.selectAll('*').remove()\n\n\tconst brush = {}\n\tconst holder = num_div.append('div').style('padding-left', '5px')\n\n\t// a maf filter term carries its mode, which determines the metric filtered and the inputs shown.\n\t// undefined for any other numeric term\n\tconst mafFilterMode = tvs.term.mafFilterMode\n\tif (mafFilterMode == 'maf' && tvs.term.child_ids?.length > 1) {\n\t\t// the fraction sums allele counts across several FORMAT fields (e.g. WGS and WES assays); the\n\t\t// term name alone does not say so\n\t\tconst ids = tvs.term.child_ids\n\t\tconst list = ids.slice(0, -1).join(', ') + ' and ' + ids[ids.length - 1]\n\t\tholder\n\t\t\t.append('div')\n\t\t\t.style('margin-bottom', '8px')\n\t\t\t.style('font-size', '.9em')\n\t\t\t.style('opacity', 0.7)\n\t\t\t.text(`MAF is computed by summing allelic depths from ${list}`)\n\t}\n\n\tconst rangeRow = holder\n\t\t.append('div')\n\t\t.style('display', 'flex')\n\t\t.style('align-items', 'center')\n\t\t.style('column-gap', '5px')\n\tconst rangeLabel = rangeRow.append('span')\n\tbrush.equation_div = rangeRow.append('div')\n\tbrush.rangeInput = new NumericRangeInput(brush.equation_div, range, () => {}, {\n\t\twidth: '125px',\n\t\tscaleFactor: getValueConversionFactor(tvs.term),\n\t\t// without a density plot, the term's declared bounds are the only check of a typed range\n\t\tmin: tvs.term.min,\n\t\tmax: tvs.term.max\n\t})\n\n\tif (mafFilterMode == 'maf') {\n\t\t// maf filter tvs\n\t\t// render maf range input and min allelic depth input\n\t\trangeLabel.text('MAF Range (0-1)')\n\t\tconst depthRow = holder\n\t\t\t.append('div')\n\t\t\t.style('display', 'flex')\n\t\t\t.style('align-items', 'center')\n\t\t\t.style('column-gap', '5px')\n\t\t\t.style('margin-top', '5px')\n\t\tdepthRow.append('span').text('Minimum Total Depth')\n\t\tbrush.depthInput = depthRow\n\t\t\t.append('input')\n\t\t\t.attr('type', 'number')\n\t\t\t.attr('min', 1)\n\t\t\t.attr('step', 1)\n\t\t\t.style('width', '125px')\n\t\t\t// blank when no cutoff is set, so that it is not applied back as one, see clickApply()\n\t\t\t.property('value', Number.isFinite(tvs.minAllelicDepth) ? tvs.minAllelicDepth : '')\n\t\tbrush.apply_btn = addApplyButton(holder.append('div').style('margin-top', '10px'))\n\t} else if (mafFilterMode == 'value') {\n\t\t// any numerical FORMAT field read as-is; bounds come from the term's min/max, and no depth input\n\t\trangeLabel.text('Range')\n\t\tbrush.apply_btn = addApplyButton(rangeRow)\n\t} else if (mafFilterMode == 'totalDepth' || mafFilterMode == 'altDepth') {\n\t\t// allelic depth filter tvs; render an integer range input\n\t\trangeLabel.text(mafFilterMode == 'totalDepth' ? 'Total Depth' : 'Alt Allele Depth')\n\t\tbrush.apply_btn = addApplyButton(rangeRow)\n\t} else {\n\t\t// tvs is not part of maf filter\n\t\t// render range input\n\t\trangeLabel.text('Range')\n\t\tbrush.apply_btn = addApplyButton(rangeRow)\n\t}\n\n\t// a maf filter term opens with the range input focused, so a cutoff can be typed right away\n\tif (mafFilterMode) brush.rangeInput.getInput().node().focus()\n\n\tfunction addApplyButton(holder) {\n\t\treturn holder.append('button').text('Apply').on('click', clickApply)\n\t}\n\n\tfunction clickApply() {\n\t\tconst r = brush.rangeInput.getRange()\n\t\tif (!Number.isFinite(r.start) && !Number.isFinite(r.stop)) {\n\t\t\twindow.alert('Invalid range.')\n\t\t\treturn\n\t\t}\n\t\tconst new_tvs = { term: tvs.term, ranges: [r] }\n\t\tif (brush.depthInput) {\n\t\t\t/* the depth input is optional: a blank input leaves minAllelicDepth out, rather than storing\n\t\t\tthe depth of 1 that getMetricFromAlleleCnts() defaults to, which would then fill the input\n\t\t\tback in as a cutoff on the next edit of this tvs */\n\t\t\tconst str = brush.depthInput.property('value').trim()\n\t\t\tif (str) {\n\t\t\t\tconst minAllelicDepth = Number(str)\n\t\t\t\tif (!Number.isFinite(minAllelicDepth)) {\n\t\t\t\t\twindow.alert('Minimum allelic depth must be a numeric value.')\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tnew_tvs.minAllelicDepth = Math.max(minAllelicDepth, 1)\n\t\t\t}\n\t\t}\n\t\tself.dom.tip.hide()\n\t\tself.opts.callback(new_tvs)\n\t}\n}\n\nfunction addRangeTable(self) {\n\tconst brushes = self.num_obj.brushes\n\n\tconst range_divs = self.num_obj.range_table.selectAll('.range_div').data(brushes) //, d => brushes.indexOf(d))\n\n\trange_divs.exit().each(function () {\n\t\tselect(this).style('opacity', 1).transition().duration(100).style('opacity', 0).remove()\n\t})\n\n\trange_divs\n\t\t.enter()\n\t\t.append('tr')\n\t\t.attr('class', 'range_div')\n\t\t.style('white-space', 'nowrap')\n\t\t.style('padding', '2px')\n\t\t.transition()\n\t\t.duration(200)\n\t\t.each(function (brush, i) {\n\t\t\tenterRange(self, this, brush, i)\n\t\t})\n}\n\nfunction enterRange(self, tr, brush, i) {\n\tif (!brush.range_tr) brush.range_tr = select(tr)\n\tconst range_tr = brush.range_tr\n\tconst xscale = self.num_obj.xscale\n\n\trange_tr\n\t\t.append('td')\n\t\t.style('margin-left', '10px')\n\t\t.style('padding', '3px 10px')\n\t\t.style('font-size', '.9em')\n\t\t.text('Range ' + (i + 1) + ': ')\n\n\tbrush.equation_td = range_tr.append('td').style('width', '150px')\n\t// brush.range stays in the unit the term's values are stored in; only the <input> text is converted\n\tbrush.rangeInput = new NumericRangeInput(brush.equation_td, brush.range, apply, {\n\t\tscaleFactor: getValueConversionFactor(self.tvs.term)\n\t})\n\n\tmakeRangeButtons(self, brush)\n\t// note for empty range\n\tif (i == 0) {\n\t\tself.num_obj.range_table\n\t\t\t.append('tr')\n\t\t\t.attr('class', 'note_tr')\n\t\t\t.append('td')\n\t\t\t.attr('colspan', '3')\n\t\t\t.append('div')\n\t\t\t.style('font-size', '.8em')\n\t\t\t.style('margin-left', '20px')\n\t\t\t.style('font-style', 'italic')\n\t\t\t.style('color', '#888')\n\t\t\t.html('Option 1: Drag the rectangle to select a range. Overlapping ranges will be merged.')\n\t}\n\n\t// A note showing there is also the option to type values to select range\n\tif (i == 0) {\n\t\tself.num_obj.range_table\n\t\t\t.append('tr')\n\t\t\t.attr('class', 'note_tr')\n\t\t\t.append('td')\n\t\t\t.attr('colspan', '3')\n\t\t\t.append('div')\n\t\t\t.style('font-size', '.8em')\n\t\t\t.style('margin-left', '20px')\n\t\t\t.style('font-style', 'italic')\n\t\t\t.style('color', '#888')\n\t\t\t.html(\n\t\t\t\t`Option 2: Type in values to select a range.${\n\t\t\t\t\tself.tvs.term.valueConversion ? ` Values are in the unit of ${self.tvs.term.valueConversion.toUnit}.` : ''\n\t\t\t\t}`\n\t\t\t)\n\t}\n\n\t/* called by brush.rangeInput.parseRange() on an input change or on clicking Apply, and a thrown\n\terror is alerted by the caller */\n\tfunction apply(new_range) {\n\t\tconst minvalue = self.num_obj.density_data.min\n\t\tconst maxvalue = self.num_obj.density_data.max\n\t\tvalidateRangeInData(self, new_range)\n\t\tbrush.range = new_range\n\n\t\tconst start =\n\t\t\tnew_range.value != undefined ? new_range.value : new_range.start != undefined ? new_range.start : minvalue\n\t\tconst stop =\n\t\t\tnew_range.value != undefined ? new_range.value : new_range.stop != undefined ? new_range.stop : maxvalue\n\t\t// a typed bound beyond the data would place the brush outside of the plot; clamp to the plot.\n\t\t// the brush handler keeps such a bound as typed in the input text, see updateTempRanges()\n\t\tconst clamp = v => Math.min(Math.max(v, minvalue), maxvalue)\n\t\tbrush.elem.call(brush.d3brush).call(brush.d3brush.move, [clamp(start), clamp(stop)].map(xscale))\n\t}\n\n\tfunction makeRangeButtons(self, brush) {\n\t\tconst buttons_td = brush.range_tr.append('td')\n\t\tconst range = brush.range\n\n\t\t//'Apply' button\n\t\tbrush.apply_btn = buttons_td\n\t\t\t.append('button')\n\t\t\t.style('margin-left', '10px')\n\t\t\t.text('Apply')\n\t\t\t.attr('data-testid', 'sjpp-tvsnumeric-range-apply')\n\n\t\t\t.on('click', async () => {\n\t\t\t\ttry {\n\t\t\t\t\t// throws on unparsable text, or on a range that apply() rejects, since the input\n\t\t\t\t\t// keeps a rejected range as typed\n\t\t\t\t\tconst new_range = brush.rangeInput.parseRange()\n\t\t\t\t\tconst new_tvs = JSON.parse(JSON.stringify(self.tvs))\n\t\t\t\t\tdelete new_tvs.groupset_label\n\t\t\t\t\t// merge overlapping ranges\n\t\t\t\t\tif (self.num_obj.ranges.length > 1) new_tvs.ranges = mergeOverlapRanges(self, new_range)\n\t\t\t\t\telse new_tvs.ranges[range.index] = new_range\n\t\t\t\t\tvalidateNumericTvs(new_tvs)\n\t\t\t\t\tself.dom.tip.hide()\n\t\t\t\t\tself.opts.callback(new_tvs)\n\t\t\t\t} catch (ex) {\n\t\t\t\t\talert(ex)\n\t\t\t\t}\n\t\t\t})\n\n\t\t//'Delete' button\n\t\tbuttons_td\n\t\t\t.append('button')\n\t\t\t.attr('class', 'sja_filter_tag_btn sjpp_delete_btn')\n\t\t\t.style('display', self.num_obj.ranges.length > 1 ? 'inline-block' : 'none')\n\t\t\t.style('margin-left', '10px')\n\t\t\t.style('text-transform', 'uppercase')\n\t\t\t.text('Delete')\n\t\t\t.on('click', async () => {\n\t\t\t\tconst new_tvs = JSON.parse(JSON.stringify(self.tvs))\n\t\t\t\tnew_tvs.ranges.splice(range.index, 1)\n\t\t\t\tself.num_obj.ranges.pop()\n\t\t\t\tself.num_obj.brushes.pop()\n\t\t\t\tself.num_obj.num_div.select('.note_tr').remove()\n\t\t\t\taddBrushes(self)\n\t\t\t\taddRangeTable(self)\n\t\t\t\tif (new_tvs.ranges.length) self.opts.callback(new_tvs) //Remove the filter if no ranges\n\t\t\t})\n\t}\n}\n\nfunction mergeOverlapRanges(self, new_range) {\n\tlet ranges = JSON.parse(JSON.stringify(self.tvs.ranges))\n\tlet merged_flag = false\n\tfor (const [i, range] of ranges.entries()) {\n\t\t// skip unannotated categories and same range edits\n\t\tif (!range.value && new_range.index != i) {\n\t\t\tif (new_range.start <= range.start && new_range.stop >= range.stop) {\n\t\t\t\t// if new range is covering any existing range\n\t\t\t\trange.start = new_range.start\n\t\t\t\trange.stop = new_range.stop\n\t\t\t\tmerged_flag = true\n\t\t\t} else if (new_range.start <= range.stop && new_range.stop >= range.stop) {\n\t\t\t\t// if overlapping only at start of new range\n\t\t\t\trange.stop = new_range.stop\n\t\t\t\tmerged_flag = true\n\t\t\t} else if (new_range.stop >= range.start && new_range.start <= range.start) {\n\t\t\t\t// if overlapping only at end of new range\n\t\t\t\trange.start = new_range.start\n\t\t\t\tmerged_flag = true\n\t\t\t} else if (new_range.start >= range.start && new_range.stop <= range.stop) {\n\t\t\t\t//new_range is covered by existing range\n\t\t\t\tmerged_flag = true\n\t\t\t} else if (new_range.startunbounded) {\n\t\t\t\tif (new_range.stop > range.stop) {\n\t\t\t\t\t// if new_range is startunbounded and covering existing range\n\t\t\t\t\trange.stop = new_range.stop\n\t\t\t\t}\n\t\t\t\tdelete range.start\n\t\t\t\trange.startunbounded = true\n\t\t\t\tmerged_flag = true\n\t\t\t} else if (new_range.stopunbounded) {\n\t\t\t\tif (new_range.start < range.start) {\n\t\t\t\t\t// if new_range is stopunbounded and covering existing range\n\t\t\t\t\trange.start = new_range.start\n\t\t\t\t}\n\t\t\t\tdelete range.stop\n\t\t\t\trange.stopunbounded = true\n\t\t\t\tmerged_flag = true\n\t\t\t}\n\t\t}\n\t}\n\n\tif (merged_flag) {\n\t\t// if overlapped and existing range merged then remove existing merged range\n\t\tif (new_range.index <= ranges.length - 1) ranges.splice(new_range.index, 1)\n\t} else {\n\t\t//if not overlapped then add to ranges[]\n\t\tranges = JSON.parse(JSON.stringify(self.tvs.ranges))\n\t\tif (new_range.index) ranges[new_range.index] = new_range\n\t\telse ranges.push(new_range)\n\t}\n\treturn ranges\n}\n\nasync function showCheckList_numeric(self, tvs, div) {\n\tif (!tvs.term.values) {\n\t\t// no special categories available for this term\n\t\treturn\n\t}\n\t// numerical checkbox for unannotated cats\n\tconst values = await self.opts.vocabApi.getNumericUncomputableCategories(tvs.term, self.filter)\n\tconst unannotated_cats = []\n\tconst lst = values?.lst || values\n\tfor (const cat of lst) {\n\t\tconst key = 'key' in cat ? cat.key : cat.value\n\t\tif (!('key' in cat)) cat.key = key\n\t\tif (!('value' in cat)) cat.value = key\n\t\tif (key in tvs.term.values) {\n\t\t\tcat.label = tvs.term.values[key].label\n\t\t\tunannotated_cats.push(cat)\n\t\t}\n\t}\n\n\tconst sortedVals = unannotated_cats.sort((a, b) => {\n\t\treturn b.samplecount - a.samplecount\n\t})\n\n\t// other categories div\t(only appear if unannotated categories present)\n\tconst unanno_div = div.append('div').style('padding', '5px').style('color', '#000')\n\n\t// 'Apply' button\n\tconst callback = indexes => {\n\t\t//update term values by ckeckbox values\n\t\ttry {\n\t\t\tconst new_tvs = JSON.parse(JSON.stringify(tvs))\n\t\t\tdelete new_tvs.groupset_label\n\t\t\tnew_tvs.ranges = [\n\t\t\t\t...new_tvs.ranges.filter(r => !('value' in r)),\n\t\t\t\t...indexes.map(i => ({ value: sortedVals[i].value, label: sortedVals[i].label }))\n\t\t\t]\n\t\t\tself.dom.tip.hide()\n\t\t\tif (new_tvs.ranges.length == 0) throw 'select at least one range or category'\n\t\t\t//callback only if tvs is changed\n\t\t\tif (JSON.parse(JSON.stringify(tvs) != new_tvs)) {\n\t\t\t\ttry {\n\t\t\t\t\tvalidateNumericTvs(new_tvs)\n\t\t\t\t} catch (e) {\n\t\t\t\t\twindow.alert(e)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tself.opts.callback(new_tvs)\n\t\t\t}\n\t\t} catch (e) {\n\t\t\twindow.alert(e)\n\t\t}\n\t}\n\n\tconst values_table = self.makeValueTable(unanno_div, tvs, sortedVals, callback).node()\n}\n\n/* a range typed outside of the density plot would select no sample, e.g. x>100 when the data max is 50,\nand would invert the brush selection. only reject a range that has no overlap with the data, as a\npartial overlap still selects samples, and its brush is clamped to the plot */\nfunction validateRangeInData(self, range) {\n\tif (range.value != undefined) return // a single value or special category\n\tconst { min, max } = self.num_obj.density_data\n\tif (!Number.isFinite(min) || !Number.isFinite(max)) return\n\tconst aboveMax = !range.startunbounded && (range.start > max || (range.start == max && !range.startinclusive))\n\tconst belowMin = !range.stopunbounded && (range.stop < min || (range.stop == min && !range.stopinclusive))\n\tif (!aboveMax && !belowMin) return\n\t// the message is in the unit shown to users, same as the input text\n\tconst sf = getValueConversionFactor(self.tvs.term)\n\tconst [minLabel, maxLabel] = [min, max].map(v => roundValueAuto(v * sf))\n\tthrow `The range is outside of the data, which ranges from ${minLabel} to ${maxLabel}`\n}\n\nfunction validateNumericTvs(tvs) {\n\tif (!tvs.term) throw 'tvs.term is not defined'\n\tif (!tvs.ranges) throw `.values[] missing for a term ${tvs.term.name}`\n\tif (!Array.isArray(tvs.ranges)) throw `.values[] is not an array for a term ${tvs.term.name}`\n\tif (!tvs.ranges.length) throw `no categories selected for ${tvs.term.name}`\n\tfor (const range of tvs.ranges) {\n\t\tif (range.value != undefined) {\n\t\t\t// a special category, not a value from numerical range\n\t\t\tif (!range.label) throw `.label missing for special category for a term ${tvs.term.name}`\n\t\t} else {\n\t\t\t// a regular range\n\t\t\tif (range.startunbounded) {\n\t\t\t\tif (range.stopunbounded) throw `both start & stop are unbounded for a term ${tvs.term.name}`\n\t\t\t\tif (!Number.isFinite(range.stop)) throw `.stop undefined when start is unbounded for a term ${tvs.term.name}`\n\t\t\t} else if (range.stopunbounded) {\n\t\t\t\tif (!Number.isFinite(range.start)) throw `.start undefined when stop is unbounded for a term ${tvs.term.name}`\n\t\t\t} else {\n\t\t\t\tif (!Number.isFinite(range.start))\n\t\t\t\t\tthrow `.start undefined when start is not unbounded for a term ${tvs.term.name}`\n\t\t\t\tif (!Number.isFinite(range.stop)) throw `.stop undefined when stop is not unbounded for a term ${tvs.term.name}`\n\t\t\t\tif (range.start >= range.stop) throw `.start is not lower than stop for a term ${tvs.term.name}`\n\t\t\t}\n\t\t}\n\t}\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["holder", "self", "brush"]
7
+ }
@@ -0,0 +1,14 @@
1
+ // src/block.lazyload.js
2
+ var Block;
3
+ async function blocklazyload(arg) {
4
+ if (!Block) {
5
+ const b = await import("./block-GLF6QNKY.js");
6
+ Block = b.Block;
7
+ }
8
+ return new Block(arg);
9
+ }
10
+
11
+ export {
12
+ blocklazyload
13
+ };
14
+ //# sourceMappingURL=chunk-MSTYU3QO.js.map
@@ -0,0 +1,141 @@
1
+ import {
2
+ skipPrevActionAbort,
3
+ storeInit
4
+ } from "./chunk-5ZYANHGX.js";
5
+ import {
6
+ recoverInit
7
+ } from "./chunk-4E2F26CC.js";
8
+ import {
9
+ AppBase,
10
+ sayerror,
11
+ vocabInit
12
+ } from "./chunk-WD7FZ5EE.js";
13
+ import {
14
+ importPlot
15
+ } from "./chunk-WXSMUSU7.js";
16
+ import {
17
+ Menu
18
+ } from "./chunk-CNFTQSNE.js";
19
+ import {
20
+ AppApi
21
+ } from "./chunk-HBNB5TRH.js";
22
+
23
+ // plots/plot.app.ts
24
+ var PlotApp = class _PlotApp extends AppBase {
25
+ constructor(opts, api) {
26
+ super(opts);
27
+ this.components = {};
28
+ this.wasDestroyed = false;
29
+ this.api = api;
30
+ this.type = _PlotApp.type;
31
+ this.dom = this.getDom(opts);
32
+ }
33
+ static {
34
+ this.type = "app";
35
+ }
36
+ getDom(opts) {
37
+ const dom = {
38
+ holder: opts.holder,
39
+ errdiv: opts.holder.append("div"),
40
+ plotDiv: opts.holder.append("div")
41
+ };
42
+ const controls = opts.violin?.mode == "minimal" ? null : opts.holder.append("div").style("white-space", "nowrap");
43
+ if (controls) {
44
+ dom.plotControls = controls.append("div").style("display", "inline-block");
45
+ dom.recoverControls = controls.append("div").style("display", "inline-block");
46
+ }
47
+ return dom;
48
+ }
49
+ async preApiFreeze(api) {
50
+ try {
51
+ api.tip = new Menu({ padding: "5px" });
52
+ api.printError = (e) => this.printError(e);
53
+ const vocab = this.opts.state.vocab;
54
+ api.vocabApi = this.opts.vocabApi ? this.opts.vocabApi : await vocabInit({
55
+ app: api,
56
+ state: {
57
+ vocab: {
58
+ // either (genome + dslabel) XOR (terms) can be undefined
59
+ genome: vocab?.genome || this.opts.state.genome,
60
+ dslabel: vocab?.dslabel || this.opts.state.dslabel,
61
+ terms: vocab?.terms
62
+ }
63
+ },
64
+ fetchOpts: this.opts.fetchOpts
65
+ });
66
+ this.opts.state.vocab = api.vocabApi.vocab;
67
+ } catch (e) {
68
+ console.log(`preApiFreeze error`, e);
69
+ throw e;
70
+ }
71
+ }
72
+ async init() {
73
+ try {
74
+ this.opts.state.nav = { header_mode: "hidden" };
75
+ this.store = await storeInit({ app: this.api, state: this.opts.state });
76
+ this.state = await this.store.copyState();
77
+ this.components = {
78
+ plots: {}
79
+ };
80
+ if (this.opts.app?.features?.includes("recover"))
81
+ this.components.recover = await recoverInit({
82
+ app: this.api,
83
+ holder: this.dom.recoverControls,
84
+ // TODO: ???? may limit the tracked state to only the filter, activeCohort ???
85
+ getState: (appState) => appState,
86
+ //reactsTo: action => true, //action.type != 'plot_edit' || action.type == 'app_refresh',
87
+ maxHistoryLen: 10
88
+ });
89
+ if (this.opts.app?.doNotAwaitInitRender) {
90
+ this.api.dispatch();
91
+ } else {
92
+ await this.api.dispatch();
93
+ }
94
+ } catch (e) {
95
+ this.printError(e);
96
+ throw e;
97
+ }
98
+ }
99
+ async main() {
100
+ this.api.vocabApi.main();
101
+ for (const id in this.components.plots) {
102
+ const plot = this.components.plots[id];
103
+ if (!this.state.plots.find((p) => p.id === plot.id)) {
104
+ plot.destroy();
105
+ delete this.components.plots[id];
106
+ }
107
+ }
108
+ for (const plot of this.state.plots.values()) {
109
+ if (plot.parentId) continue;
110
+ if (!this.components.plots[plot.id]) {
111
+ const holder = this.opts?.app?.getPlotHolder ? this.opts.app.getPlotHolder(plot, this.dom.holder) : this.dom.holder.append("div");
112
+ if (!this.dom.plotDiv) this.dom.plotDiv = holder;
113
+ const { componentInit } = await importPlot(plot.chartType);
114
+ const plotApi = await componentInit({
115
+ id: plot.id,
116
+ app: this.api,
117
+ holder,
118
+ controls: this.dom.plotControls
119
+ });
120
+ this.components.plots[plot.id] = plotApi;
121
+ }
122
+ }
123
+ }
124
+ printError(e) {
125
+ sayerror(this.dom.errdiv, "Error: " + (e.message || e));
126
+ if (e.stack) console.log(e.stack);
127
+ this.bus.emit("error");
128
+ }
129
+ skipPrevActionAbort(action) {
130
+ return skipPrevActionAbort(action);
131
+ }
132
+ destroy() {
133
+ if (this.dom?.holder) this.dom.holder.selectAll("*").remove();
134
+ }
135
+ };
136
+ var appInit = AppApi.getInitFxn(PlotApp);
137
+
138
+ export {
139
+ appInit
140
+ };
141
+ //# sourceMappingURL=chunk-MWARRQT4.js.map