@sjcrh/proteinpaint-client 2.198.0 → 2.200.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/2dmaf-RRV3ORZR.js +1373 -0
- package/dist/AIProjectAdmin-DKLEFCGX.js +958 -0
- package/dist/AppHeader-WQ2F7HZY.js +835 -0
- package/dist/BoxPlot-5JQCYENZ.js +1218 -0
- package/dist/BoxPlot-5JQCYENZ.js.map +7 -0
- package/dist/CorrelationVolcano-HR6IP2SZ.js +619 -0
- package/dist/DE-DAW6ZKM7.js +95 -0
- package/dist/DEinput-XCR4VMR3.js +409 -0
- package/dist/DEinput-XCR4VMR3.js.map +7 -0
- package/dist/DifferentialAnalysis-SETJAZEN.js +243 -0
- package/dist/DifferentialAnalysis-SETJAZEN.js.map +7 -0
- package/dist/Disco-QEBEVQS2.js +3392 -0
- package/dist/Disco.UI-OYVL7UBI.js +248 -0
- package/dist/Disco.UI-OYVL7UBI.js.map +7 -0
- package/dist/DmrPlot-CWBQDZL7.js +642 -0
- package/dist/GB-5PYCR4SV.js +1396 -0
- package/dist/GB-5PYCR4SV.js.map +7 -0
- package/dist/GSEA-6UKMI6GY.js +846 -0
- package/dist/GeneExpInput-2N62XM7Z.js +367 -0
- package/dist/GeneExpInput-2N62XM7Z.js.map +7 -0
- package/dist/Geomap-ANMR32HE.js +89 -0
- package/dist/HicApp-WHPUPHEM.js +2250 -0
- package/dist/IDCViewer-FWXRE4AX.js +10817 -0
- package/dist/IDCViewer-FWXRE4AX.js.map +7 -0
- package/dist/NumBinaryEditor-VG5KOGDA.js +271 -0
- package/dist/NumBinaryEditor.unit.spec-UCGFZS3P.js +286 -0
- package/dist/NumContEditor-J52RON3G.js +109 -0
- package/dist/NumContEditor.unit.spec-5GTWUJEL.js +169 -0
- package/dist/NumCustomBinEditor-GM2OJMOX.js +38 -0
- package/dist/NumCustomBinEditor.unit.spec-3PGJ25J4.js +284 -0
- package/dist/NumDiscreteEditor-2CAKT3Y4.js +179 -0
- package/dist/NumDiscreteEditor.unit.spec-XCWSJTRT.js +202 -0
- package/dist/NumRegularBinEditor-CZYITY5L.js +38 -0
- package/dist/NumRegularBinEditor.unit.spec-OUBZ5XB3.js +227 -0
- package/dist/NumSplineEditor-TWRL5AQQ.js +198 -0
- package/dist/NumSplineEditor.unit.spec-5P6NQZ3N.js +199 -0
- package/dist/NumericDensity-JSOFOEH2.js +38 -0
- package/dist/NumericDensity.unit.spec-REUKHMKK.js +221 -0
- package/dist/NumericHandler-UZOGKPKB.js +39 -0
- package/dist/NumericHandler.unit.spec-X2DAED4O.js +219 -0
- package/dist/ProteomeInput-GBVCLNS7.js +394 -0
- package/dist/ProteomeInput-GBVCLNS7.js.map +7 -0
- package/dist/RunChart2-N4JPWNVV.js +758 -0
- package/dist/RunChart2-N4JPWNVV.js.map +7 -0
- package/dist/SC-RCZT5BRP.js +1112 -0
- package/dist/SC-RCZT5BRP.js.map +7 -0
- package/dist/Volcano-2BQ6SYHO.js +1404 -0
- package/dist/Volcano-2BQ6SYHO.js.map +7 -0
- package/dist/WSIViewer-UDA4WIRT.js +48562 -0
- package/dist/WsiSamplesPlot-DYSFMD22.js +165 -0
- package/dist/adSandbox-5BUDCAER.js +38 -0
- package/dist/animatedBubbleChart-N6MBJ4X3.js +553 -0
- package/dist/animatedBubbleChart-N6MBJ4X3.js.map +7 -0
- package/dist/app-O64TGDFH.js +37 -0
- package/dist/app-Y2STUISK.js +49 -0
- package/dist/app.js +23 -23
- package/dist/bam-2EOABVGT.js +859 -0
- package/dist/bam-2EOABVGT.js.map +7 -0
- package/dist/barchart-UHCTYRMJ.js +47 -0
- package/dist/barchart.data-LSK2P2PR.js +21 -0
- package/dist/barchart.events-Y4H2GADS.js +47 -0
- package/dist/barchart.integration.spec-BFGZFECA.js +2243 -0
- package/dist/barchart.integration.spec-BFGZFECA.js.map +7 -0
- package/dist/barchart2-VIZKZRMP.js +314 -0
- package/dist/bars.renderer-54UCFLJS.js +12 -0
- package/dist/block-BGSSF6XP.js +6255 -0
- package/dist/block.init-H7RKUIHG.js +38 -0
- package/dist/block.mds.expressionrank-MA3HGT7S.js +359 -0
- package/dist/block.mds.geneboxplot-CWT5DM5T.js +828 -0
- package/dist/block.mds.junction-P4I7O73X.js +1545 -0
- package/dist/block.mds.svcnv-NSPEY43S.js +6801 -0
- package/dist/block.svg-DP4G3LNQ.js +164 -0
- package/dist/block.tk.aicheck-EBLTOWKZ.js +283 -0
- package/dist/block.tk.ase-X7WKQOFS.js +365 -0
- package/dist/block.tk.bam-OIP3TS3N.js +1906 -0
- package/dist/block.tk.bedgraphdot-2DDF55J3.js +384 -0
- package/dist/block.tk.bigwig.ui-S2SMAEXM.js +211 -0
- package/dist/block.tk.bigwig.ui-S2SMAEXM.js.map +7 -0
- package/dist/block.tk.hicstraw-4OIG4TBZ.js +823 -0
- package/dist/block.tk.junction-52OWEQUN.js +2364 -0
- package/dist/block.tk.junction.textmatrixui-64YOSZLW.js +199 -0
- package/dist/block.tk.ld-3AMNHBDY.js +99 -0
- package/dist/block.tk.menu-4724DJXL.js +1029 -0
- package/dist/block.tk.pgv-2SIOPWYI.js +944 -0
- package/dist/brainImaging-D43CQQN6.js +423 -0
- package/dist/brainImaging-D43CQQN6.js.map +7 -0
- package/dist/brainRegions-HJ2VGL3L.js +221 -0
- package/dist/bubbleHeatmap-IL44M4QZ.js +383 -0
- package/dist/bubbleHeatmap-IL44M4QZ.js.map +7 -0
- package/dist/cellTypeBubbleHeatmap-NQP7RCZO.js +283 -0
- package/dist/cellTypeBubbleHeatmap-NQP7RCZO.js.map +7 -0
- package/dist/chunk-26APRXD3.js +254 -0
- package/dist/chunk-2GLA2SWU.js +160 -0
- package/dist/chunk-2GLA2SWU.js.map +7 -0
- package/dist/chunk-2KXLYFAO.js +4085 -0
- package/dist/chunk-3BGFM7Q4.js +1275 -0
- package/dist/chunk-3SHZTAGF.js +193 -0
- package/dist/chunk-3SHZTAGF.js.map +7 -0
- package/dist/chunk-46X6AQ7Z.js +123 -0
- package/dist/chunk-46X6AQ7Z.js.map +7 -0
- package/dist/chunk-4FQYRDZS.js +276 -0
- package/dist/chunk-4FQYRDZS.js.map +7 -0
- package/dist/chunk-4HZN6PMU.js +129 -0
- package/dist/chunk-4KRGCOTL.js +479 -0
- package/dist/chunk-4KRGCOTL.js.map +7 -0
- package/dist/chunk-4WF3XDQP.js +220 -0
- package/dist/chunk-4WF3XDQP.js.map +7 -0
- package/dist/chunk-5DMVORBB.js +98 -0
- package/dist/chunk-5QMBB4SK.js +1245 -0
- package/dist/chunk-5R63Q5KH.js +1628 -0
- package/dist/chunk-5RVA43MN.js +274 -0
- package/dist/chunk-5RVA43MN.js.map +7 -0
- package/dist/chunk-5T3MOOEJ.js +379 -0
- package/dist/chunk-5T3MOOEJ.js.map +7 -0
- package/dist/chunk-5T3ZDRTS.js +70 -0
- package/dist/chunk-5T3ZDRTS.js.map +7 -0
- package/dist/chunk-5ZTVJSYI.js +834 -0
- package/dist/chunk-5ZTVJSYI.js.map +7 -0
- package/dist/chunk-6JYQGZ3Y.js +446 -0
- package/dist/chunk-6OUBUUC2.js +626 -0
- package/dist/chunk-6OUBUUC2.js.map +7 -0
- package/dist/chunk-6PNPHACF.js +1652 -0
- package/dist/chunk-6PNPHACF.js.map +7 -0
- package/dist/chunk-6QCYT6G2.js +467 -0
- package/dist/chunk-7JRDJNLR.js +263 -0
- package/dist/chunk-7JRDJNLR.js.map +7 -0
- package/dist/chunk-7PIHRWGG.js +102 -0
- package/dist/chunk-7PIHRWGG.js.map +7 -0
- package/dist/chunk-7PJNKPQB.js +275 -0
- package/dist/chunk-7PJNKPQB.js.map +7 -0
- package/dist/chunk-AGLAYNXP.js +170 -0
- package/dist/chunk-AGLAYNXP.js.map +7 -0
- package/dist/chunk-B4ESQLPB.js +140 -0
- package/dist/chunk-B7VDZ6VF.js +399 -0
- package/dist/chunk-B7VDZ6VF.js.map +7 -0
- package/dist/chunk-BGTBRAJ6.js +50 -0
- package/dist/chunk-BGTBRAJ6.js.map +7 -0
- package/dist/chunk-BNAO6N5X.js +2899 -0
- package/dist/chunk-BNAO6N5X.js.map +7 -0
- package/dist/chunk-BQHPJY2M.js +347 -0
- package/dist/chunk-BQHPJY2M.js.map +7 -0
- package/dist/chunk-BZTWTH4Y.js +87 -0
- package/dist/chunk-BZTWTH4Y.js.map +7 -0
- package/dist/chunk-CY4RQ5L6.js +1710 -0
- package/dist/chunk-CY4RQ5L6.js.map +7 -0
- package/dist/chunk-D565DNJD.js +236 -0
- package/dist/chunk-D565DNJD.js.map +7 -0
- package/dist/chunk-DH3LAQKT.js +384 -0
- package/dist/chunk-DH3LAQKT.js.map +7 -0
- package/dist/chunk-E3VF4RHJ.js +381 -0
- package/dist/chunk-EGPNRSPF.js +292 -0
- package/dist/chunk-FACITNG5.js +142 -0
- package/dist/chunk-GNS6CQMA.js +119 -0
- package/dist/chunk-GNS6CQMA.js.map +7 -0
- package/dist/chunk-H3N4KYKL.js +2327 -0
- package/dist/chunk-H3VWJH4U.js +14 -0
- package/dist/chunk-HEVKBSN6.js +222 -0
- package/dist/chunk-HQUYAZQY.js +514 -0
- package/dist/chunk-IUBBQPO2.js +146 -0
- package/dist/chunk-IUBBQPO2.js.map +7 -0
- package/dist/chunk-J4USU73L.js +26 -0
- package/dist/chunk-JH73IL4C.js +135 -0
- package/dist/chunk-JVPWIVDT.js +1812 -0
- package/dist/chunk-JVPWIVDT.js.map +7 -0
- package/dist/chunk-KU7YH7MV.js +217 -0
- package/dist/chunk-KZILNGAV.js +187 -0
- package/dist/chunk-KZILNGAV.js.map +7 -0
- package/dist/chunk-M66VDGSH.js +272 -0
- package/dist/chunk-MJN6RDXB.js +302 -0
- package/dist/chunk-MPNEZ6EL.js +31 -0
- package/dist/chunk-MPSLUEI4.js +314 -0
- package/dist/chunk-NIXFCC7X.js +368 -0
- package/dist/chunk-NODQZTWK.js +276 -0
- package/dist/chunk-NRYHIWBS.js +1942 -0
- package/dist/chunk-NRYHIWBS.js.map +7 -0
- package/dist/chunk-NUWJ4RN7.js +465 -0
- package/dist/chunk-NUWJ4RN7.js.map +7 -0
- package/dist/chunk-NVTJ5AUT.js +1102 -0
- package/dist/chunk-NZRMHM76.js +158 -0
- package/dist/chunk-NZRMHM76.js.map +7 -0
- package/dist/chunk-OOWXMY7U.js +55 -0
- package/dist/chunk-OTTMHVYH.js +787 -0
- package/dist/chunk-Q5RDQNIT.js +777 -0
- package/dist/chunk-QDX2XUNF.js +58 -0
- package/dist/chunk-QYXCHZ6U.js +4282 -0
- package/dist/chunk-QYXCHZ6U.js.map +7 -0
- package/dist/chunk-R6NM2HSH.js +556 -0
- package/dist/chunk-R6NM2HSH.js.map +7 -0
- package/dist/chunk-RJOY6A74.js +56 -0
- package/dist/chunk-RJOY6A74.js.map +7 -0
- package/dist/chunk-ROMW4AK2.js +102 -0
- package/dist/chunk-RR5U35N7.js +230 -0
- package/dist/chunk-RVKADD4L.js +148 -0
- package/dist/chunk-S5ZCK44Z.js +54 -0
- package/dist/chunk-SNRIVNQ3.js +176 -0
- package/dist/chunk-STI7BO3P.js +2681 -0
- package/dist/chunk-STI7BO3P.js.map +7 -0
- package/dist/chunk-TAM7UCAI.js +263 -0
- package/dist/chunk-TDKMBQSM.js +5070 -0
- package/dist/chunk-TDKMBQSM.js.map +7 -0
- package/dist/chunk-TKW5TW4Z.js +21449 -0
- package/dist/chunk-TKW5TW4Z.js.map +7 -0
- package/dist/chunk-TQTYW66I.js +2784 -0
- package/dist/chunk-TQTYW66I.js.map +7 -0
- package/dist/chunk-U3NTH4CS.js +54 -0
- package/dist/chunk-U3NTH4CS.js.map +7 -0
- package/dist/chunk-UEGQVQD6.js +34 -0
- package/dist/chunk-UEGQVQD6.js.map +7 -0
- package/dist/chunk-UJELJXJG.js +2110 -0
- package/dist/chunk-ULESDMUT.js +480 -0
- package/dist/chunk-UUKSL7QC.js +134 -0
- package/dist/chunk-UUKSL7QC.js.map +7 -0
- package/dist/chunk-VUPWQCDR.js +194 -0
- package/dist/chunk-VUPWQCDR.js.map +7 -0
- package/dist/chunk-W76X6W73.js +100 -0
- package/dist/chunk-W7OS7BNM.js +203 -0
- package/dist/chunk-WPHUM5S5.js +98 -0
- package/dist/chunk-WPHUM5S5.js.map +7 -0
- package/dist/chunk-WTTD6DUL.js +6364 -0
- package/dist/chunk-WXPFMVU6.js +299 -0
- package/dist/chunk-XNWUI5VL.js +37 -0
- package/dist/chunk-XNWUI5VL.js.map +7 -0
- package/dist/chunk-YBLTSYQV.js +216 -0
- package/dist/chunk-Z7VDFWIP.js +126 -0
- package/dist/chunk-Z7VDFWIP.js.map +7 -0
- package/dist/chunk-ZEKIUYN3.js +448 -0
- package/dist/chunk-ZEKIUYN3.js.map +7 -0
- package/dist/cohort-OWLNJZVH.js +75 -0
- package/dist/cohort-OWLNJZVH.js.map +7 -0
- package/dist/condition-L2IXP6WH.js +332 -0
- package/dist/controls-2S5QVWUC.js +39 -0
- package/dist/controls.config-3AJKR4ZZ.js +39 -0
- package/dist/correlation-DXTAWSLU.js +102 -0
- package/dist/cuminc-WQB6FHVS.js +1148 -0
- package/dist/cuminc-WQB6FHVS.js.map +7 -0
- package/dist/cuminc.integration.spec-WAYRLHUH.js +678 -0
- package/dist/customdata.inputui-7WH2NJGB.js +289 -0
- package/dist/dataDownload-HM4UYOBO.js +330 -0
- package/dist/dataDownload.integration.spec-F5CO4BWA.js +193 -0
- package/dist/databrowser.ui-E2YOG3L4.js +432 -0
- package/dist/databrowser.ui-E2YOG3L4.js.map +7 -0
- package/dist/dictionary-EEPTFDYD.js +118 -0
- package/dist/dnaMethylation-N3WNK6XA.js +38 -0
- package/dist/dnaMethylation.integration.spec-AIYRTFMR.js +203 -0
- package/dist/dnaMethylation.integration.spec-AIYRTFMR.js.map +7 -0
- package/dist/dofetch-YKYPEJTQ.js +51 -0
- package/dist/e2pca-JEZIGVB2.js +350 -0
- package/dist/ep-5FMH2MLV.js +1256 -0
- package/dist/expclust.gdc.spec-FR26VSUA.js +307 -0
- package/dist/facet-5YYY3MUN.js +521 -0
- package/dist/facet-5YYY3MUN.js.map +7 -0
- package/dist/gb-WGEVO7L2.js +88 -0
- package/dist/geneExpClustering-DHE6XJHV.js +249 -0
- package/dist/geneExpClustering-DHE6XJHV.js.map +7 -0
- package/dist/geneExpression-5NWQXMJ3.js +313 -0
- package/dist/geneExpression-VWUMM2LU.js +38 -0
- package/dist/geneExpression.unit.spec-HBU3WTZ4.js +102 -0
- package/dist/geneExpression.unit.spec-HBU3WTZ4.js.map +7 -0
- package/dist/geneORA-3VWFWDYI.js +278 -0
- package/dist/geneRanking-PKDVD5OD.js +553 -0
- package/dist/geneVariant-IFIJQXH4.js +39 -0
- package/dist/geneVariant-WZSOG4GI.js +41 -0
- package/dist/geneVariant.integration.spec-6KQMWVHR.js +198 -0
- package/dist/genefusion.ui-C4NTALL3.js +308 -0
- package/dist/genefusion.ui-C4NTALL3.js.map +7 -0
- package/dist/geneset-RJAULSKC.js +208 -0
- package/dist/genomeBrowser.spec-42OTTMGO.js +281 -0
- package/dist/grin2-26O6YDDY.js +75 -0
- package/dist/grin2-FT5BQJMB.js +1143 -0
- package/dist/hierCluster-GJPPMFNR.js +59 -0
- package/dist/hierCluster-HMJF3PBE.js +63 -0
- package/dist/hierCluster.config-TAS7XKTU.js +40 -0
- package/dist/hierCluster.integration.spec-RLHQKX65.js +488 -0
- package/dist/hierCluster.integration.spec-RLHQKX65.js.map +7 -0
- package/dist/hierCluster.interactivity-IKTAJ6CU.js +54 -0
- package/dist/hierCluster.renderers-I6WFZRNW.js +21 -0
- package/dist/imagePlot-N4OXNMVA.js +163 -0
- package/dist/importPlot-VMYXDP66.js +8 -0
- package/dist/isoformExpression-2KV64KMN.js +40 -0
- package/dist/isoformExpression.unit.spec-RG2VWEMG.js +242 -0
- package/dist/isoformExpression.unit.spec-RG2VWEMG.js.map +7 -0
- package/dist/junction-VO4IGMW2.js +41 -0
- package/dist/junction.customTerm-EFMHHVWA.js +18 -0
- package/dist/junction.unit.spec-NB24MR2B.js +187 -0
- package/dist/junction.unit.spec-NB24MR2B.js.map +7 -0
- package/dist/launch.adhoc-R3MO3VXK.js +42 -0
- package/dist/leftlabel.sample-SI6KMULD.js +263 -0
- package/dist/leftlabel.sample-SI6KMULD.js.map +7 -0
- package/dist/legacyDataset-4BXYHQTS.js +119 -0
- package/dist/lollipop-XIVE4ANX.js +171 -0
- package/dist/maf-WRHD4OJF.js +459 -0
- package/dist/maftimeline-IE6YKV7Y.js +593 -0
- package/dist/matrix-ALBCAZP5.js +58 -0
- package/dist/matrix-W72XRUZD.js +63 -0
- package/dist/matrix.cells-DEEUWC74.js +28 -0
- package/dist/matrix.config-JYXQOXDT.js +41 -0
- package/dist/matrix.data-ENXNM6RP.js +25 -0
- package/dist/matrix.groups-EXSNNESB.js +27 -0
- package/dist/matrix.integration.spec-BW6U6PIW.js +3072 -0
- package/dist/matrix.interactivity-G6AL566T.js +42 -0
- package/dist/matrix.layout-UBUPIJ3R.js +44 -0
- package/dist/matrix.legend-S3P4F2DG.js +22 -0
- package/dist/matrix.renderers-IXFGXHJQ.js +38 -0
- package/dist/matrix.serieses-THHXUAPM.js +21 -0
- package/dist/matrix.sort-WJV6LIZI.js +27 -0
- package/dist/matrix.sort.unit.spec-LGMIL2LR.js +472 -0
- package/dist/matrix.sorterUi-VXVCOKEZ.js +18 -0
- package/dist/matrix.sorterUi.unit.spec-CWSEJ62U.js +342 -0
- package/dist/mavb-SXGKASQ5.js +732 -0
- package/dist/mds.fimo-EDOT3TDN.js +518 -0
- package/dist/mds.samplescatterplot-IXHNABKB.js +1550 -0
- package/dist/mds.survivalplot-KTTMHHII.js +483 -0
- package/dist/numericDictTermCluster-H4JSPW22.js +65 -0
- package/dist/oncomatrix-O4EMNUOT.js +295 -0
- package/dist/oncomatrix.spec-BME6CQWF.js +448 -0
- package/dist/plot.2dvaf-FDM4KXGT.js +377 -0
- package/dist/plot.app-UNUXG7ND.js +41 -0
- package/dist/plot.barplot-R333TMG2.js +102 -0
- package/dist/plot.boxplot-KQTYGUN3.js +152 -0
- package/dist/plot.brainImaging-YBYMHCEG.js +51 -0
- package/dist/plot.disco-CMDKRSOM.js +102 -0
- package/dist/plot.dzi-YAZA6RQS.js +33 -0
- package/dist/plot.ssgq-YKCOEXZP.js +139 -0
- package/dist/plot.vaf2cov-3TLMTFZS.js +259 -0
- package/dist/plot.wsi-7ADVYTQS.js +36 -0
- package/dist/polar2-O5SHVLP4.js +237 -0
- package/dist/polar2-O5SHVLP4.js.map +7 -0
- package/dist/profileForms-RLB6SMPQ.js +940 -0
- package/dist/profileForms-RLB6SMPQ.js.map +7 -0
- package/dist/profilePlot-AP52VLLO.js +54 -0
- package/dist/proteinView-S7WDBMQU.js +1568 -0
- package/dist/proteinView-S7WDBMQU.js.map +7 -0
- package/dist/proteomeCohortCompare-ERVUM7RO.js +799 -0
- package/dist/proteomeCohortCompare-ERVUM7RO.js.map +7 -0
- package/dist/pseudbulk.unit.spec-VSH7IM3R.js +91 -0
- package/dist/pseudbulk.unit.spec-VSH7IM3R.js.map +7 -0
- package/dist/pseudobulk-7UKRLKQI.js +40 -0
- package/dist/qualitative-2D7MC4V5.js +43 -0
- package/dist/radar2-ELVGQFZE.js +332 -0
- package/dist/radar2-ELVGQFZE.js.map +7 -0
- package/dist/radarFacility2-SDAZHGNG.js +340 -0
- package/dist/radarFacility2-SDAZHGNG.js.map +7 -0
- package/dist/regression-CE54AQMY.js +56 -0
- package/dist/regression.inputs-SMC5CNPY.js +48 -0
- package/dist/regression.inputs.term-XS54IQC2.js +48 -0
- package/dist/regression.inputs.values.table-LNPM3MX5.js +45 -0
- package/dist/regression.integration.spec-6QSMYPWJ.js +784 -0
- package/dist/regression.results-25ZRRDEE.js +40 -0
- package/dist/regression.spec-EDWHFRPY.js +708 -0
- package/dist/render-SEB6GFXQ.js +38 -0
- package/dist/report-U6L3KBYG.js +222 -0
- package/dist/sampleView-QAAJ26KT.js +48 -0
- package/dist/samplelst-KYRXJSZN.js +111 -0
- package/dist/samplematrix-STLF2QA5.js +2198 -0
- package/dist/sc-HL6YSMDX.js +86 -0
- package/dist/scatter-BSGDMOC2.js +851 -0
- package/dist/selectGenomeWithTklst-4NHQDTE6.js +134 -0
- package/dist/singleCellCellType-3E2IU42J.js +38 -0
- package/dist/singleCellCellType.unit.spec-MC7ZRSMW.js +159 -0
- package/dist/singleCellCellType.unit.spec-MC7ZRSMW.js.map +7 -0
- package/dist/singleCellGeneExpression-53UUGYTK.js +38 -0
- package/dist/singleCellGeneExpression.unit.spec-QSLTXHFE.js +153 -0
- package/dist/singleCellGeneExpression.unit.spec-QSLTXHFE.js.map +7 -0
- package/dist/singleCellPlot-JDSARDRV.js +54 -0
- package/dist/singlecell-IJR7BJYT.js +1572 -0
- package/dist/singlecell-OK6GJFWL.js +86 -0
- package/dist/snp-H4KJEEOE.js +38 -0
- package/dist/snp.unit.spec-2Y4A3XYI.js +176 -0
- package/dist/snplocus-4GG6VTWX.js +208 -0
- package/dist/spliceevent.a53ss.diagram-JZNRC5UC.js +151 -0
- package/dist/spliceevent.exonskip.diagram-H54N7ZKY.js +283 -0
- package/dist/spliceevent.noeventdiagram-II753XAK.js +460 -0
- package/dist/ssGSEA-JPJ3C4JI.js +38 -0
- package/dist/ssGSEA.unit.spec-45F5OCDK.js +88 -0
- package/dist/studyCatalog-O3VGIKDM.js +358 -0
- package/dist/studyCatalog-O3VGIKDM.js.map +7 -0
- package/dist/summarizeCnvGeneexp-55DNXHXA.js +163 -0
- package/dist/summarizeGeneexpSurvival-VLO4DC5M.js +110 -0
- package/dist/summarizeGeneexpSurvival-VLO4DC5M.js.map +7 -0
- package/dist/summarizeMutationCnv-QX7BADYL.js +164 -0
- package/dist/summarizeMutationDiagnosis-MHFM7RX6.js +40 -0
- package/dist/summarizeMutationSurvival-G4KHSUBN.js +99 -0
- package/dist/summary-PJYRCQNY.js +49 -0
- package/dist/summary.integration.spec-KPKROD6L.js +414 -0
- package/dist/summaryInput-TOAL53EP.js +231 -0
- package/dist/summaryInput-TOAL53EP.js.map +7 -0
- package/dist/sunburst-IGIV2RBE.js +284 -0
- package/dist/survival-DINCIWW7.js +58 -0
- package/dist/survival-RKV5BPDK.js +1239 -0
- package/dist/survival-RKV5BPDK.js.map +7 -0
- package/dist/survival.integration.spec-7ZYBBZKT.js +958 -0
- package/dist/survival.integration.spec-7ZYBBZKT.js.map +7 -0
- package/dist/svgraph-EUEZWGVR.js +1387 -0
- package/dist/svmr-B24LODSC.js +3842 -0
- package/dist/table-XSJJ3UZV.js +200 -0
- package/dist/termCollection-IAB3425K.js +38 -0
- package/dist/termCollection-LGEGHZSJ.js +257 -0
- package/dist/termCollection-LGEGHZSJ.js.map +7 -0
- package/dist/termCollection.unit.spec-4TIRHC44.js +304 -0
- package/dist/termCollection.unit.spec-4TIRHC44.js.map +7 -0
- package/dist/termCollectionFractionSelection-35YKAOUY.js +47 -0
- package/dist/termCollectionFractionSelection.unit.spec-SUFEIKJZ.js +193 -0
- package/dist/termCollectionFractionSelection.unit.spec-SUFEIKJZ.js.map +7 -0
- package/dist/tk-25EJJDRK.js +46 -0
- package/dist/tk-4E3XJ7CO.js +1127 -0
- package/dist/tk-4E3XJ7CO.js.map +7 -0
- package/dist/tp.ui-VGA62NFM.js +1459 -0
- package/dist/tvs.cohort-F7OJI2MH.js +26 -0
- package/dist/tvs.cohort-F7OJI2MH.js.map +7 -0
- package/dist/tvs.density-G56327WY.js +19 -0
- package/dist/tvs.dt-DFW36WKO.js +39 -0
- package/dist/tvs.dtcnv.categorical-ZP33EO3A.js +40 -0
- package/dist/tvs.dtcnv.continuous-FJTMQF4J.js +72 -0
- package/dist/tvs.dtfusion-FTDQWNKM.js +40 -0
- package/dist/tvs.dtitd-W5VEECJ2.js +40 -0
- package/dist/tvs.dtsnvindel-UOXSLCDZ.js +40 -0
- package/dist/tvs.dtsv-HWCPRVBO.js +40 -0
- package/dist/tvs.numeric-7TGKWQYU.js +22 -0
- package/dist/tvs.samplelst-OWD22ITS.js +104 -0
- package/dist/tvs.termCollection-27BWABYK.js +129 -0
- package/dist/tvs.termCollection-27BWABYK.js.map +7 -0
- package/dist/violin-2IAVZGFF.js +46 -0
- package/dist/violin.integration.spec-JVODKUCL.js +1425 -0
- package/dist/violin.integration.spec-JVODKUCL.js.map +7 -0
- package/dist/violin.interactivity-STOCZMVN.js +38 -0
- package/dist/violin.renderer-MKDTJ3EX.js +40 -0
- package/dist/violin.renderer-MKDTJ3EX.js.map +7 -0
- package/dist/vocabulary-4IHU6DNN.js +41 -0
- package/dist/vocabulary-4IHU6DNN.js.map +7 -0
- package/package.json +3 -6
- package/dist/2dmaf-R3PFZNRN.js +0 -1373
- package/dist/AIProjectAdmin-DM3KG6SR.js +0 -958
- package/dist/AppHeader-6DZQ6YZX.js +0 -835
- package/dist/BoxPlot-76NINVX4.js +0 -1217
- package/dist/BoxPlot-76NINVX4.js.map +0 -7
- package/dist/CorrelationVolcano-U5UMJNH5.js +0 -619
- package/dist/DE-AXNYWIQK.js +0 -95
- package/dist/DEinput-JH6YY6LS.js +0 -301
- package/dist/DEinput-JH6YY6LS.js.map +0 -7
- package/dist/DifferentialAnalysis-25P4CGIY.js +0 -242
- package/dist/DifferentialAnalysis-25P4CGIY.js.map +0 -7
- package/dist/Disco-NVMLF3BK.js +0 -3392
- package/dist/Disco.UI-C7CZINUQ.js +0 -249
- package/dist/Disco.UI-C7CZINUQ.js.map +0 -7
- package/dist/DmrPlot-WROR4ENM.js +0 -642
- package/dist/GB-JUABODPH.js +0 -1394
- package/dist/GB-JUABODPH.js.map +0 -7
- package/dist/GSEA-Y5R2THIJ.js +0 -846
- package/dist/GeneExpInput-JDU6EI7K.js +0 -367
- package/dist/GeneExpInput-JDU6EI7K.js.map +0 -7
- package/dist/Geomap-J763OK2F.js +0 -89
- package/dist/HicApp-UNIJLH4B.js +0 -2250
- package/dist/IDCViewer-KVPCIUDW.js +0 -10803
- package/dist/IDCViewer-KVPCIUDW.js.map +0 -7
- package/dist/NumBinaryEditor-WMN2GGO4.js +0 -271
- package/dist/NumBinaryEditor.unit.spec-TAMXV6SE.js +0 -286
- package/dist/NumContEditor-XYIOJY4E.js +0 -109
- package/dist/NumContEditor.unit.spec-WDZ75BHO.js +0 -169
- package/dist/NumCustomBinEditor-5SY3C4TY.js +0 -38
- package/dist/NumCustomBinEditor.unit.spec-XHTAIXR3.js +0 -284
- package/dist/NumDiscreteEditor-NRDRX4FD.js +0 -179
- package/dist/NumDiscreteEditor.unit.spec-2CJW7OAT.js +0 -202
- package/dist/NumRegularBinEditor-DUDVTNDC.js +0 -38
- package/dist/NumRegularBinEditor.unit.spec-H3GNQHMN.js +0 -227
- package/dist/NumSplineEditor-7Q4AC7KH.js +0 -198
- package/dist/NumSplineEditor.unit.spec-YRZK5PH5.js +0 -199
- package/dist/NumericDensity-NTNWUESG.js +0 -38
- package/dist/NumericDensity.unit.spec-5I5U6T6P.js +0 -221
- package/dist/NumericHandler-MEW2KMPX.js +0 -39
- package/dist/NumericHandler.unit.spec-JFX4BPRG.js +0 -219
- package/dist/ProteomeInput-K2ZHR2U6.js +0 -395
- package/dist/ProteomeInput-K2ZHR2U6.js.map +0 -7
- package/dist/RunChart2-BEBDU7RC.js +0 -758
- package/dist/RunChart2-BEBDU7RC.js.map +0 -7
- package/dist/SC-XCBFJVUJ.js +0 -1120
- package/dist/SC-XCBFJVUJ.js.map +0 -7
- package/dist/Volcano-4Y4TP3UX.js +0 -1385
- package/dist/Volcano-4Y4TP3UX.js.map +0 -7
- package/dist/WSIViewer-ZLQU62PD.js +0 -48562
- package/dist/WsiSamplesPlot-JMBSITOM.js +0 -165
- package/dist/adSandbox-664IRCRL.js +0 -38
- package/dist/animatedBubbleChart-TX7NW34K.js +0 -555
- package/dist/animatedBubbleChart-TX7NW34K.js.map +0 -7
- package/dist/app-63WJ3BMP.js +0 -37
- package/dist/app-77FIZHCG.js +0 -49
- package/dist/bam-IETNVAYD.js +0 -860
- package/dist/bam-IETNVAYD.js.map +0 -7
- package/dist/barchart-YUVXJNH4.js +0 -47
- package/dist/barchart.data-P4EIQXGE.js +0 -22
- package/dist/barchart.events-JPVCLTIG.js +0 -47
- package/dist/barchart.integration.spec-ZH7DEQI2.js +0 -2196
- package/dist/barchart.integration.spec-ZH7DEQI2.js.map +0 -7
- package/dist/barchart2-XO2FG76J.js +0 -314
- package/dist/bars.renderer-AUIWUJDH.js +0 -12
- package/dist/block-NBTCOT3H.js +0 -6255
- package/dist/block.init-X7Y2EEVR.js +0 -38
- package/dist/block.mds.expressionrank-BIAOZIZ3.js +0 -359
- package/dist/block.mds.geneboxplot-CNICDVLK.js +0 -828
- package/dist/block.mds.junction-PQXCTSUI.js +0 -1545
- package/dist/block.mds.svcnv-32KMVTCT.js +0 -6801
- package/dist/block.svg-LRTOYQK2.js +0 -164
- package/dist/block.tk.aicheck-HDV7ZIUD.js +0 -283
- package/dist/block.tk.ase-JIDWKMYI.js +0 -365
- package/dist/block.tk.bam-5X3OS5HB.js +0 -1906
- package/dist/block.tk.bedgraphdot-T7JX7YQL.js +0 -384
- package/dist/block.tk.bigwig.ui-OSAYEBAE.js +0 -212
- package/dist/block.tk.bigwig.ui-OSAYEBAE.js.map +0 -7
- package/dist/block.tk.hicstraw-DEY3VQFK.js +0 -823
- package/dist/block.tk.junction-7UAFEZSJ.js +0 -2364
- package/dist/block.tk.junction.textmatrixui-27LHS33U.js +0 -199
- package/dist/block.tk.ld-DF2PI7OO.js +0 -99
- package/dist/block.tk.menu-L2D5KBIV.js +0 -1029
- package/dist/block.tk.pgv-QO56SKBV.js +0 -944
- package/dist/brainImaging-NIPQWFWO.js +0 -423
- package/dist/brainImaging-NIPQWFWO.js.map +0 -7
- package/dist/brainRegions-ZNZ2WHSU.js +0 -221
- package/dist/bubbleHeatmap-ERWNEKZB.js +0 -383
- package/dist/bubbleHeatmap-ERWNEKZB.js.map +0 -7
- package/dist/chunk-2GYWFQML.js +0 -299
- package/dist/chunk-2HYJ4GDH.js +0 -50
- package/dist/chunk-2HYJ4GDH.js.map +0 -7
- package/dist/chunk-2MG6XE6R.js +0 -272
- package/dist/chunk-2MG6XE6R.js.map +0 -7
- package/dist/chunk-2X6W4E3W.js +0 -1507
- package/dist/chunk-2X6W4E3W.js.map +0 -7
- package/dist/chunk-33K5PA52.js +0 -54
- package/dist/chunk-37XDBPOP.js +0 -26
- package/dist/chunk-3EWB3246.js +0 -58
- package/dist/chunk-3RSKOPIY.js +0 -100
- package/dist/chunk-3XVVN66M.js +0 -4085
- package/dist/chunk-4DPVT4NE.js +0 -1102
- package/dist/chunk-4IH7DORZ.js +0 -98
- package/dist/chunk-4QNBFIIR.js +0 -399
- package/dist/chunk-4QNBFIIR.js.map +0 -7
- package/dist/chunk-4STKL6SR.js +0 -217
- package/dist/chunk-4TZIVSL5.js +0 -34
- package/dist/chunk-4TZIVSL5.js.map +0 -7
- package/dist/chunk-5ABGFJSP.js +0 -467
- package/dist/chunk-5AZNP47R.js +0 -302
- package/dist/chunk-5RL2OHXX.js +0 -5070
- package/dist/chunk-5RL2OHXX.js.map +0 -7
- package/dist/chunk-5VOPABBA.js +0 -20941
- package/dist/chunk-5VOPABBA.js.map +0 -7
- package/dist/chunk-6BB43SIB.js +0 -102
- package/dist/chunk-6BB43SIB.js.map +0 -7
- package/dist/chunk-7IYJZZQI.js +0 -167
- package/dist/chunk-7IYJZZQI.js.map +0 -7
- package/dist/chunk-7OHRR2IE.js +0 -276
- package/dist/chunk-ARBHWDMY.js +0 -226
- package/dist/chunk-ARBHWDMY.js.map +0 -7
- package/dist/chunk-ASATD4T7.js +0 -14
- package/dist/chunk-AZ47Q7BX.js +0 -1223
- package/dist/chunk-AZ47Q7BX.js.map +0 -7
- package/dist/chunk-B5B3LZB3.js +0 -236
- package/dist/chunk-B5B3LZB3.js.map +0 -7
- package/dist/chunk-BHGISFCA.js +0 -2681
- package/dist/chunk-BHGISFCA.js.map +0 -7
- package/dist/chunk-BMBOZ64T.js +0 -2786
- package/dist/chunk-BMBOZ64T.js.map +0 -7
- package/dist/chunk-BOZJHPJP.js +0 -216
- package/dist/chunk-CDD7LYJM.js +0 -194
- package/dist/chunk-CDD7LYJM.js.map +0 -7
- package/dist/chunk-CTQ3IUCA.js +0 -2327
- package/dist/chunk-D7TID3HR.js +0 -158
- package/dist/chunk-D7TID3HR.js.map +0 -7
- package/dist/chunk-DBKNWR4J.js +0 -1561
- package/dist/chunk-DBKNWR4J.js.map +0 -7
- package/dist/chunk-E55LLYRX.js +0 -55
- package/dist/chunk-ESEQBXTM.js +0 -121
- package/dist/chunk-ESEQBXTM.js.map +0 -7
- package/dist/chunk-ESGXULRH.js +0 -386
- package/dist/chunk-ESGXULRH.js.map +0 -7
- package/dist/chunk-EZ4LZ6ZT.js +0 -117
- package/dist/chunk-EZ4LZ6ZT.js.map +0 -7
- package/dist/chunk-F3SJTVP5.js +0 -4284
- package/dist/chunk-F3SJTVP5.js.map +0 -7
- package/dist/chunk-F5IXNJO7.js +0 -222
- package/dist/chunk-FJYECRHW.js +0 -448
- package/dist/chunk-FJYECRHW.js.map +0 -7
- package/dist/chunk-FPNRUQOU.js +0 -833
- package/dist/chunk-FPNRUQOU.js.map +0 -7
- package/dist/chunk-G5S4R77D.js +0 -1942
- package/dist/chunk-G5S4R77D.js.map +0 -7
- package/dist/chunk-G764NXQN.js +0 -170
- package/dist/chunk-G764NXQN.js.map +0 -7
- package/dist/chunk-GAPI4MML.js +0 -148
- package/dist/chunk-HBW42TDT.js +0 -132
- package/dist/chunk-HBW42TDT.js.map +0 -7
- package/dist/chunk-HLUZOZXJ.js +0 -272
- package/dist/chunk-HOKIK2FR.js +0 -375
- package/dist/chunk-HOKIK2FR.js.map +0 -7
- package/dist/chunk-I6WR4CG7.js +0 -323
- package/dist/chunk-I6WR4CG7.js.map +0 -7
- package/dist/chunk-K5XPMCKP.js +0 -135
- package/dist/chunk-KI5KI3ZJ.js +0 -276
- package/dist/chunk-KI5KI3ZJ.js.map +0 -7
- package/dist/chunk-KLGL6XZD.js +0 -129
- package/dist/chunk-KYBIQBXE.js +0 -1628
- package/dist/chunk-L7IRWUKT.js +0 -480
- package/dist/chunk-LFCYMSVA.js +0 -314
- package/dist/chunk-LX6G7HJJ.js +0 -617
- package/dist/chunk-LX6G7HJJ.js.map +0 -7
- package/dist/chunk-M2G5R4WB.js +0 -142
- package/dist/chunk-M4TTGGT4.js +0 -102
- package/dist/chunk-M4TTGGT4.js.map +0 -7
- package/dist/chunk-M6EF3WVV.js +0 -1825
- package/dist/chunk-M6EF3WVV.js.map +0 -7
- package/dist/chunk-M6KHT3MM.js +0 -146
- package/dist/chunk-M6KHT3MM.js.map +0 -7
- package/dist/chunk-MCZFHWIR.js +0 -230
- package/dist/chunk-MFQACKYU.js +0 -448
- package/dist/chunk-MFQACKYU.js.map +0 -7
- package/dist/chunk-MVGAGTM3.js +0 -343
- package/dist/chunk-MVGAGTM3.js.map +0 -7
- package/dist/chunk-NELOT3NJ.js +0 -119
- package/dist/chunk-NELOT3NJ.js.map +0 -7
- package/dist/chunk-NRKMXULC.js +0 -54
- package/dist/chunk-NRKMXULC.js.map +0 -7
- package/dist/chunk-NSTL4MY2.js +0 -2110
- package/dist/chunk-NYRZNRG5.js +0 -177
- package/dist/chunk-NYRZNRG5.js.map +0 -7
- package/dist/chunk-OMR2DT66.js +0 -776
- package/dist/chunk-ONPKE6DC.js +0 -368
- package/dist/chunk-OXVLWQ6M.js +0 -556
- package/dist/chunk-OXVLWQ6M.js.map +0 -7
- package/dist/chunk-PFRWS4CR.js +0 -203
- package/dist/chunk-PJKQUXEN.js +0 -1275
- package/dist/chunk-Q2L44HK3.js +0 -6364
- package/dist/chunk-QNHT74XC.js +0 -1245
- package/dist/chunk-RKO6BL5N.js +0 -446
- package/dist/chunk-T25QNZHB.js +0 -254
- package/dist/chunk-U7TBYVIQ.js +0 -31
- package/dist/chunk-UGRQXBL4.js +0 -381
- package/dist/chunk-USFSHSCJ.js +0 -477
- package/dist/chunk-USFSHSCJ.js.map +0 -7
- package/dist/chunk-VJ6UFVGC.js +0 -2833
- package/dist/chunk-VJ6UFVGC.js.map +0 -7
- package/dist/chunk-W3WPPOXH.js +0 -292
- package/dist/chunk-WFCSOTBO.js +0 -263
- package/dist/chunk-WHP4AKDM.js +0 -185
- package/dist/chunk-WHP4AKDM.js.map +0 -7
- package/dist/chunk-WZ2L57MB.js +0 -102
- package/dist/chunk-XPY6AWXO.js +0 -787
- package/dist/chunk-Y4UAKFWC.js +0 -37
- package/dist/chunk-Y4UAKFWC.js.map +0 -7
- package/dist/chunk-YQBS2ZCK.js +0 -514
- package/dist/chunk-Z5U6HOE4.js +0 -190
- package/dist/chunk-Z5U6HOE4.js.map +0 -7
- package/dist/chunk-ZNEJUKJW.js +0 -140
- package/dist/chunk-ZTHM2TKP.js +0 -176
- package/dist/condition-2PASYSUC.js +0 -332
- package/dist/controls-5IMJ6K5L.js +0 -41
- package/dist/controls.config-P5PG2DHW.js +0 -39
- package/dist/correlation-U3EDLNHR.js +0 -102
- package/dist/cuminc-2HUFEROK.js +0 -1149
- package/dist/cuminc-2HUFEROK.js.map +0 -7
- package/dist/cuminc.integration.spec-WFWAPTDA.js +0 -678
- package/dist/customdata.inputui-ZHWNEPFH.js +0 -289
- package/dist/dataDownload-VBSJBKMP.js +0 -330
- package/dist/dataDownload.integration.spec-LUFSETOP.js +0 -193
- package/dist/databrowser.ui-6H2KMSTJ.js +0 -433
- package/dist/databrowser.ui-6H2KMSTJ.js.map +0 -7
- package/dist/dictionary-V37LXFIP.js +0 -118
- package/dist/dnaMethylation-OIZMHMLK.js +0 -38
- package/dist/dnaMethylation.integration.spec-CWPTJ74H.js +0 -203
- package/dist/dnaMethylation.integration.spec-CWPTJ74H.js.map +0 -7
- package/dist/dofetch-IWPZQB5N.js +0 -51
- package/dist/e2pca-7SLIAGYW.js +0 -350
- package/dist/ep-7L6KF6K4.js +0 -1256
- package/dist/expclust.gdc.spec-JT452Q3G.js +0 -307
- package/dist/facet-CXOUU5AS.js +0 -521
- package/dist/facet-CXOUU5AS.js.map +0 -7
- package/dist/forms2-VPNCLQOY.js +0 -539
- package/dist/forms2-VPNCLQOY.js.map +0 -7
- package/dist/gb-P4VRXRED.js +0 -88
- package/dist/geneExpClustering-FQTCKRJJ.js +0 -249
- package/dist/geneExpClustering-FQTCKRJJ.js.map +0 -7
- package/dist/geneExpression-BHO5326K.js +0 -313
- package/dist/geneExpression-ZMERB64E.js +0 -38
- package/dist/geneExpression.unit.spec-CNVHZWNG.js +0 -102
- package/dist/geneExpression.unit.spec-CNVHZWNG.js.map +0 -7
- package/dist/geneORA-FXVUCXGX.js +0 -278
- package/dist/geneRanking-SFK4UBKQ.js +0 -553
- package/dist/geneVariant-IYEHB4H7.js +0 -41
- package/dist/geneVariant-LIRRLUFR.js +0 -39
- package/dist/geneVariant.integration.spec-Y2NPNTYX.js +0 -198
- package/dist/genefusion.ui-L3HIJM3N.js +0 -309
- package/dist/genefusion.ui-L3HIJM3N.js.map +0 -7
- package/dist/geneset-A6VUFX63.js +0 -208
- package/dist/genomeBrowser.spec-CB4HHHBN.js +0 -281
- package/dist/grin2-FKBIMH5N.js +0 -75
- package/dist/grin2-V36KLEBU.js +0 -1143
- package/dist/hierCluster-QFPRMHVA.js +0 -63
- package/dist/hierCluster-YWC3XYPV.js +0 -59
- package/dist/hierCluster.config-F7YYZNM3.js +0 -40
- package/dist/hierCluster.integration.spec-AF4L3YT6.js +0 -488
- package/dist/hierCluster.integration.spec-AF4L3YT6.js.map +0 -7
- package/dist/hierCluster.interactivity-RPY74PK6.js +0 -54
- package/dist/hierCluster.renderers-LOKHZ3V2.js +0 -21
- package/dist/imagePlot-BBEXA754.js +0 -163
- package/dist/importPlot-7QGANZGK.js +0 -8
- package/dist/isoformExpression-4SLLCVFD.js +0 -40
- package/dist/isoformExpression.unit.spec-GEL4JJ64.js +0 -208
- package/dist/isoformExpression.unit.spec-GEL4JJ64.js.map +0 -7
- package/dist/launch.adhoc-LWLBQJS5.js +0 -42
- package/dist/leftlabel.sample-RTEZOIH2.js +0 -264
- package/dist/leftlabel.sample-RTEZOIH2.js.map +0 -7
- package/dist/legacyDataset-VLD7ZYWI.js +0 -119
- package/dist/lollipop-XKQK5QZU.js +0 -171
- package/dist/maf-AZQPPWDO.js +0 -459
- package/dist/maftimeline-7MSVYKQU.js +0 -593
- package/dist/matrix-BGLWC25D.js +0 -58
- package/dist/matrix-IQR5SRMK.js +0 -63
- package/dist/matrix.cells-5C57NWOY.js +0 -28
- package/dist/matrix.config-2DQXAN2E.js +0 -41
- package/dist/matrix.data-ADCGF5H6.js +0 -25
- package/dist/matrix.groups-V4ITQ5F7.js +0 -27
- package/dist/matrix.integration.spec-IBNOO2WP.js +0 -3072
- package/dist/matrix.interactivity-JNELJFOV.js +0 -42
- package/dist/matrix.layout-WBVIV6GR.js +0 -44
- package/dist/matrix.legend-YHOWPK77.js +0 -22
- package/dist/matrix.renderers-5BGVRR3M.js +0 -38
- package/dist/matrix.serieses-2GZJOASZ.js +0 -21
- package/dist/matrix.sort-WKIWPJKP.js +0 -27
- package/dist/matrix.sort.unit.spec-L2E4D4AS.js +0 -472
- package/dist/matrix.sorterUi-TEJWWJ64.js +0 -18
- package/dist/matrix.sorterUi.unit.spec-SHP7C4P7.js +0 -342
- package/dist/mavb-4MXNYUEO.js +0 -732
- package/dist/mds.fimo-WHIJIBOI.js +0 -518
- package/dist/mds.samplescatterplot-BRJ6NG2D.js +0 -1550
- package/dist/mds.survivalplot-OPCMB5PB.js +0 -483
- package/dist/numericDictTermCluster-7MIFOP2K.js +0 -65
- package/dist/oncomatrix-BGG6BEUI.js +0 -295
- package/dist/oncomatrix.spec-LYQ4L4F3.js +0 -448
- package/dist/plot.2dvaf-6WVCP2ZI.js +0 -377
- package/dist/plot.app-MLBP6WFP.js +0 -41
- package/dist/plot.barplot-JEPRZSCU.js +0 -102
- package/dist/plot.boxplot-GNFW42VM.js +0 -152
- package/dist/plot.brainImaging-5ACNSD45.js +0 -51
- package/dist/plot.disco-Q2V2KKIH.js +0 -102
- package/dist/plot.dzi-KVT6S7K7.js +0 -33
- package/dist/plot.ssgq-4N3KFJQ2.js +0 -139
- package/dist/plot.vaf2cov-ITRG5U43.js +0 -259
- package/dist/plot.wsi-26YZNU4V.js +0 -36
- package/dist/polar2-J7GVUK4X.js +0 -231
- package/dist/polar2-J7GVUK4X.js.map +0 -7
- package/dist/profileForms-VXV2JLXU.js +0 -446
- package/dist/profileForms-VXV2JLXU.js.map +0 -7
- package/dist/profilePlot-ZZYZK4SY.js +0 -54
- package/dist/proteinView-7KN532D3.js +0 -1568
- package/dist/proteinView-7KN532D3.js.map +0 -7
- package/dist/qualitative-MLRVLIAU.js +0 -43
- package/dist/radar2-WM2ZBOH3.js +0 -326
- package/dist/radar2-WM2ZBOH3.js.map +0 -7
- package/dist/radarFacility2-3SBR2JJ3.js +0 -334
- package/dist/radarFacility2-3SBR2JJ3.js.map +0 -7
- package/dist/regression-WMRPQJW2.js +0 -56
- package/dist/regression.inputs-VWZKSYNY.js +0 -48
- package/dist/regression.inputs.term-OWE6GWHM.js +0 -48
- package/dist/regression.inputs.values.table-4INNZQI2.js +0 -45
- package/dist/regression.integration.spec-XKQ2JOOT.js +0 -784
- package/dist/regression.results-VZBYMBYC.js +0 -40
- package/dist/regression.spec-DU3UTDCJ.js +0 -708
- package/dist/render-N5FOF247.js +0 -38
- package/dist/report-DW3OHB67.js +0 -222
- package/dist/sampleScatter.spec-REFSK2V4.js +0 -202
- package/dist/sampleScatter.spec-REFSK2V4.js.map +0 -7
- package/dist/sampleView-ICOT2R6O.js +0 -48
- package/dist/samplelst-TJEVASYG.js +0 -111
- package/dist/samplematrix-6DAWCXQ3.js +0 -2198
- package/dist/sc-53LNOB7N.js +0 -86
- package/dist/scatter-DKYSS4DL.js +0 -851
- package/dist/selectGenomeWithTklst-WTX66TV3.js +0 -134
- package/dist/singleCellCellType-D2CN2BHQ.js +0 -38
- package/dist/singleCellCellType.unit.spec-LADUCI4R.js +0 -160
- package/dist/singleCellCellType.unit.spec-LADUCI4R.js.map +0 -7
- package/dist/singleCellGeneExpression-YR2ZT34W.js +0 -38
- package/dist/singleCellGeneExpression.unit.spec-BM63M432.js +0 -153
- package/dist/singleCellGeneExpression.unit.spec-BM63M432.js.map +0 -7
- package/dist/singleCellPlot-3ICIOILE.js +0 -54
- package/dist/singlecell-6ZUFA3BQ.js +0 -86
- package/dist/singlecell-KX7W4U57.js +0 -1572
- package/dist/snp-VIURB7L3.js +0 -38
- package/dist/snp.unit.spec-ACZNZUNS.js +0 -176
- package/dist/snplocus-3LW4ZUZR.js +0 -208
- package/dist/spliceevent.a53ss.diagram-AKTZGWNM.js +0 -151
- package/dist/spliceevent.exonskip.diagram-XZHXB77R.js +0 -283
- package/dist/spliceevent.noeventdiagram-YTXWWNTJ.js +0 -460
- package/dist/ssGSEA-THW4WFMI.js +0 -38
- package/dist/ssGSEA.unit.spec-HTRGQI2K.js +0 -88
- package/dist/summarizeCnvGeneexp-RFYC3H2Z.js +0 -163
- package/dist/summarizeGeneexpSurvival-DQBZUTQ6.js +0 -114
- package/dist/summarizeGeneexpSurvival-DQBZUTQ6.js.map +0 -7
- package/dist/summarizeMutationCnv-7AYEMHAI.js +0 -164
- package/dist/summarizeMutationDiagnosis-AKFJDSAF.js +0 -40
- package/dist/summarizeMutationSurvival-QJHZRQBZ.js +0 -99
- package/dist/summary-A5P7AYK4.js +0 -49
- package/dist/summary.integration.spec-HQISXGNL.js +0 -414
- package/dist/summaryInput-HP675QOQ.js +0 -235
- package/dist/summaryInput-HP675QOQ.js.map +0 -7
- package/dist/sunburst-65LSYRXX.js +0 -284
- package/dist/survival-QNEI6YVK.js +0 -46
- package/dist/survival-UI74VXSM.js +0 -58
- package/dist/survival.integration.spec-X5N3JQXS.js +0 -915
- package/dist/survival.integration.spec-X5N3JQXS.js.map +0 -7
- package/dist/svgraph-PSX2NER3.js +0 -1387
- package/dist/svmr-QDQ33EFX.js +0 -3842
- package/dist/table-LWAI27UO.js +0 -200
- package/dist/termCollection-3JHR74FG.js +0 -179
- package/dist/termCollection-3JHR74FG.js.map +0 -7
- package/dist/termCollection-CDF5LYUG.js +0 -38
- package/dist/termCollection.unit.spec-HOJKYWHF.js +0 -208
- package/dist/termCollection.unit.spec-HOJKYWHF.js.map +0 -7
- package/dist/tk-GL4QCL4K.js +0 -1019
- package/dist/tk-GL4QCL4K.js.map +0 -7
- package/dist/tk-OEQFO73V.js +0 -46
- package/dist/toggleButtons-YK7TIFF2.js +0 -9
- package/dist/tp.ui-SHNERDGC.js +0 -1459
- package/dist/tvs.density-3XJ6DBGO.js +0 -18
- package/dist/tvs.dt-CZDC4TSR.js +0 -39
- package/dist/tvs.dtcnv.categorical-OPBDHZGB.js +0 -40
- package/dist/tvs.dtcnv.continuous-AR6P4EP3.js +0 -72
- package/dist/tvs.dtfusion-2YQ7N6FQ.js +0 -40
- package/dist/tvs.dtitd-ATCHW735.js +0 -40
- package/dist/tvs.dtsnvindel-WHHWAATJ.js +0 -40
- package/dist/tvs.dtsv-3UMCW65O.js +0 -40
- package/dist/tvs.numeric-TOEPASWN.js +0 -21
- package/dist/tvs.samplelst-M7XKXRTZ.js +0 -104
- package/dist/tvs.termCollection-WT4WZMYR.js +0 -159
- package/dist/tvs.termCollection-WT4WZMYR.js.map +0 -7
- package/dist/violin-2YGXTBDS.js +0 -46
- package/dist/violin.integration.spec-YWNHVAGS.js +0 -1425
- package/dist/violin.integration.spec-YWNHVAGS.js.map +0 -7
- package/dist/violin.interactivity-J6BE2UQL.js +0 -38
- package/dist/violin.renderer-3GRUWP2U.js +0 -40
- package/dist/vocabulary-2INCVPYJ.js +0 -41
- /package/dist/{2dmaf-R3PFZNRN.js.map → 2dmaf-RRV3ORZR.js.map} +0 -0
- /package/dist/{AIProjectAdmin-DM3KG6SR.js.map → AIProjectAdmin-DKLEFCGX.js.map} +0 -0
- /package/dist/{AppHeader-6DZQ6YZX.js.map → AppHeader-WQ2F7HZY.js.map} +0 -0
- /package/dist/{CorrelationVolcano-U5UMJNH5.js.map → CorrelationVolcano-HR6IP2SZ.js.map} +0 -0
- /package/dist/{DE-AXNYWIQK.js.map → DE-DAW6ZKM7.js.map} +0 -0
- /package/dist/{Disco-NVMLF3BK.js.map → Disco-QEBEVQS2.js.map} +0 -0
- /package/dist/{DmrPlot-WROR4ENM.js.map → DmrPlot-CWBQDZL7.js.map} +0 -0
- /package/dist/{GSEA-Y5R2THIJ.js.map → GSEA-6UKMI6GY.js.map} +0 -0
- /package/dist/{Geomap-J763OK2F.js.map → Geomap-ANMR32HE.js.map} +0 -0
- /package/dist/{HicApp-UNIJLH4B.js.map → HicApp-WHPUPHEM.js.map} +0 -0
- /package/dist/{NumBinaryEditor-WMN2GGO4.js.map → NumBinaryEditor-VG5KOGDA.js.map} +0 -0
- /package/dist/{NumBinaryEditor.unit.spec-TAMXV6SE.js.map → NumBinaryEditor.unit.spec-UCGFZS3P.js.map} +0 -0
- /package/dist/{NumContEditor-XYIOJY4E.js.map → NumContEditor-J52RON3G.js.map} +0 -0
- /package/dist/{NumContEditor.unit.spec-WDZ75BHO.js.map → NumContEditor.unit.spec-5GTWUJEL.js.map} +0 -0
- /package/dist/{NumCustomBinEditor-5SY3C4TY.js.map → NumCustomBinEditor-GM2OJMOX.js.map} +0 -0
- /package/dist/{NumCustomBinEditor.unit.spec-XHTAIXR3.js.map → NumCustomBinEditor.unit.spec-3PGJ25J4.js.map} +0 -0
- /package/dist/{NumDiscreteEditor-NRDRX4FD.js.map → NumDiscreteEditor-2CAKT3Y4.js.map} +0 -0
- /package/dist/{NumDiscreteEditor.unit.spec-2CJW7OAT.js.map → NumDiscreteEditor.unit.spec-XCWSJTRT.js.map} +0 -0
- /package/dist/{NumRegularBinEditor-DUDVTNDC.js.map → NumRegularBinEditor-CZYITY5L.js.map} +0 -0
- /package/dist/{NumRegularBinEditor.unit.spec-H3GNQHMN.js.map → NumRegularBinEditor.unit.spec-OUBZ5XB3.js.map} +0 -0
- /package/dist/{NumSplineEditor-7Q4AC7KH.js.map → NumSplineEditor-TWRL5AQQ.js.map} +0 -0
- /package/dist/{NumSplineEditor.unit.spec-YRZK5PH5.js.map → NumSplineEditor.unit.spec-5P6NQZ3N.js.map} +0 -0
- /package/dist/{NumericDensity-NTNWUESG.js.map → NumericDensity-JSOFOEH2.js.map} +0 -0
- /package/dist/{NumericDensity.unit.spec-5I5U6T6P.js.map → NumericDensity.unit.spec-REUKHMKK.js.map} +0 -0
- /package/dist/{NumericHandler-MEW2KMPX.js.map → NumericHandler-UZOGKPKB.js.map} +0 -0
- /package/dist/{NumericHandler.unit.spec-JFX4BPRG.js.map → NumericHandler.unit.spec-X2DAED4O.js.map} +0 -0
- /package/dist/{WSIViewer-ZLQU62PD.js.map → WSIViewer-UDA4WIRT.js.map} +0 -0
- /package/dist/{WsiSamplesPlot-JMBSITOM.js.map → WsiSamplesPlot-DYSFMD22.js.map} +0 -0
- /package/dist/{adSandbox-664IRCRL.js.map → adSandbox-5BUDCAER.js.map} +0 -0
- /package/dist/{app-63WJ3BMP.js.map → app-O64TGDFH.js.map} +0 -0
- /package/dist/{app-77FIZHCG.js.map → app-Y2STUISK.js.map} +0 -0
- /package/dist/{barchart-YUVXJNH4.js.map → barchart-UHCTYRMJ.js.map} +0 -0
- /package/dist/{barchart.data-P4EIQXGE.js.map → barchart.data-LSK2P2PR.js.map} +0 -0
- /package/dist/{barchart.events-JPVCLTIG.js.map → barchart.events-Y4H2GADS.js.map} +0 -0
- /package/dist/{barchart2-XO2FG76J.js.map → barchart2-VIZKZRMP.js.map} +0 -0
- /package/dist/{bars.renderer-AUIWUJDH.js.map → bars.renderer-54UCFLJS.js.map} +0 -0
- /package/dist/{block-NBTCOT3H.js.map → block-BGSSF6XP.js.map} +0 -0
- /package/dist/{block.init-X7Y2EEVR.js.map → block.init-H7RKUIHG.js.map} +0 -0
- /package/dist/{block.mds.expressionrank-BIAOZIZ3.js.map → block.mds.expressionrank-MA3HGT7S.js.map} +0 -0
- /package/dist/{block.mds.geneboxplot-CNICDVLK.js.map → block.mds.geneboxplot-CWT5DM5T.js.map} +0 -0
- /package/dist/{block.mds.junction-PQXCTSUI.js.map → block.mds.junction-P4I7O73X.js.map} +0 -0
- /package/dist/{block.mds.svcnv-32KMVTCT.js.map → block.mds.svcnv-NSPEY43S.js.map} +0 -0
- /package/dist/{block.svg-LRTOYQK2.js.map → block.svg-DP4G3LNQ.js.map} +0 -0
- /package/dist/{block.tk.aicheck-HDV7ZIUD.js.map → block.tk.aicheck-EBLTOWKZ.js.map} +0 -0
- /package/dist/{block.tk.ase-JIDWKMYI.js.map → block.tk.ase-X7WKQOFS.js.map} +0 -0
- /package/dist/{block.tk.bam-5X3OS5HB.js.map → block.tk.bam-OIP3TS3N.js.map} +0 -0
- /package/dist/{block.tk.bedgraphdot-T7JX7YQL.js.map → block.tk.bedgraphdot-2DDF55J3.js.map} +0 -0
- /package/dist/{block.tk.hicstraw-DEY3VQFK.js.map → block.tk.hicstraw-4OIG4TBZ.js.map} +0 -0
- /package/dist/{block.tk.junction-7UAFEZSJ.js.map → block.tk.junction-52OWEQUN.js.map} +0 -0
- /package/dist/{block.tk.junction.textmatrixui-27LHS33U.js.map → block.tk.junction.textmatrixui-64YOSZLW.js.map} +0 -0
- /package/dist/{block.tk.ld-DF2PI7OO.js.map → block.tk.ld-3AMNHBDY.js.map} +0 -0
- /package/dist/{block.tk.menu-L2D5KBIV.js.map → block.tk.menu-4724DJXL.js.map} +0 -0
- /package/dist/{block.tk.pgv-QO56SKBV.js.map → block.tk.pgv-2SIOPWYI.js.map} +0 -0
- /package/dist/{brainRegions-ZNZ2WHSU.js.map → brainRegions-HJ2VGL3L.js.map} +0 -0
- /package/dist/{chunk-T25QNZHB.js.map → chunk-26APRXD3.js.map} +0 -0
- /package/dist/{chunk-3XVVN66M.js.map → chunk-2KXLYFAO.js.map} +0 -0
- /package/dist/{chunk-PJKQUXEN.js.map → chunk-3BGFM7Q4.js.map} +0 -0
- /package/dist/{chunk-KLGL6XZD.js.map → chunk-4HZN6PMU.js.map} +0 -0
- /package/dist/{chunk-4IH7DORZ.js.map → chunk-5DMVORBB.js.map} +0 -0
- /package/dist/{chunk-QNHT74XC.js.map → chunk-5QMBB4SK.js.map} +0 -0
- /package/dist/{chunk-KYBIQBXE.js.map → chunk-5R63Q5KH.js.map} +0 -0
- /package/dist/{chunk-RKO6BL5N.js.map → chunk-6JYQGZ3Y.js.map} +0 -0
- /package/dist/{chunk-5ABGFJSP.js.map → chunk-6QCYT6G2.js.map} +0 -0
- /package/dist/{chunk-ZNEJUKJW.js.map → chunk-B4ESQLPB.js.map} +0 -0
- /package/dist/{chunk-UGRQXBL4.js.map → chunk-E3VF4RHJ.js.map} +0 -0
- /package/dist/{chunk-W3WPPOXH.js.map → chunk-EGPNRSPF.js.map} +0 -0
- /package/dist/{chunk-M2G5R4WB.js.map → chunk-FACITNG5.js.map} +0 -0
- /package/dist/{chunk-CTQ3IUCA.js.map → chunk-H3N4KYKL.js.map} +0 -0
- /package/dist/{chunk-ASATD4T7.js.map → chunk-H3VWJH4U.js.map} +0 -0
- /package/dist/{chunk-F5IXNJO7.js.map → chunk-HEVKBSN6.js.map} +0 -0
- /package/dist/{chunk-YQBS2ZCK.js.map → chunk-HQUYAZQY.js.map} +0 -0
- /package/dist/{chunk-37XDBPOP.js.map → chunk-J4USU73L.js.map} +0 -0
- /package/dist/{chunk-K5XPMCKP.js.map → chunk-JH73IL4C.js.map} +0 -0
- /package/dist/{chunk-4STKL6SR.js.map → chunk-KU7YH7MV.js.map} +0 -0
- /package/dist/{chunk-HLUZOZXJ.js.map → chunk-M66VDGSH.js.map} +0 -0
- /package/dist/{chunk-5AZNP47R.js.map → chunk-MJN6RDXB.js.map} +0 -0
- /package/dist/{chunk-U7TBYVIQ.js.map → chunk-MPNEZ6EL.js.map} +0 -0
- /package/dist/{chunk-LFCYMSVA.js.map → chunk-MPSLUEI4.js.map} +0 -0
- /package/dist/{chunk-ONPKE6DC.js.map → chunk-NIXFCC7X.js.map} +0 -0
- /package/dist/{chunk-7OHRR2IE.js.map → chunk-NODQZTWK.js.map} +0 -0
- /package/dist/{chunk-4DPVT4NE.js.map → chunk-NVTJ5AUT.js.map} +0 -0
- /package/dist/{chunk-E55LLYRX.js.map → chunk-OOWXMY7U.js.map} +0 -0
- /package/dist/{chunk-XPY6AWXO.js.map → chunk-OTTMHVYH.js.map} +0 -0
- /package/dist/{chunk-OMR2DT66.js.map → chunk-Q5RDQNIT.js.map} +0 -0
- /package/dist/{chunk-3EWB3246.js.map → chunk-QDX2XUNF.js.map} +0 -0
- /package/dist/{chunk-WZ2L57MB.js.map → chunk-ROMW4AK2.js.map} +0 -0
- /package/dist/{chunk-MCZFHWIR.js.map → chunk-RR5U35N7.js.map} +0 -0
- /package/dist/{chunk-GAPI4MML.js.map → chunk-RVKADD4L.js.map} +0 -0
- /package/dist/{chunk-33K5PA52.js.map → chunk-S5ZCK44Z.js.map} +0 -0
- /package/dist/{chunk-ZTHM2TKP.js.map → chunk-SNRIVNQ3.js.map} +0 -0
- /package/dist/{chunk-WFCSOTBO.js.map → chunk-TAM7UCAI.js.map} +0 -0
- /package/dist/{chunk-NSTL4MY2.js.map → chunk-UJELJXJG.js.map} +0 -0
- /package/dist/{chunk-L7IRWUKT.js.map → chunk-ULESDMUT.js.map} +0 -0
- /package/dist/{chunk-3RSKOPIY.js.map → chunk-W76X6W73.js.map} +0 -0
- /package/dist/{chunk-PFRWS4CR.js.map → chunk-W7OS7BNM.js.map} +0 -0
- /package/dist/{chunk-Q2L44HK3.js.map → chunk-WTTD6DUL.js.map} +0 -0
- /package/dist/{chunk-2GYWFQML.js.map → chunk-WXPFMVU6.js.map} +0 -0
- /package/dist/{chunk-BOZJHPJP.js.map → chunk-YBLTSYQV.js.map} +0 -0
- /package/dist/{condition-2PASYSUC.js.map → condition-L2IXP6WH.js.map} +0 -0
- /package/dist/{controls-5IMJ6K5L.js.map → controls-2S5QVWUC.js.map} +0 -0
- /package/dist/{controls.config-P5PG2DHW.js.map → controls.config-3AJKR4ZZ.js.map} +0 -0
- /package/dist/{correlation-U3EDLNHR.js.map → correlation-DXTAWSLU.js.map} +0 -0
- /package/dist/{cuminc.integration.spec-WFWAPTDA.js.map → cuminc.integration.spec-WAYRLHUH.js.map} +0 -0
- /package/dist/{customdata.inputui-ZHWNEPFH.js.map → customdata.inputui-7WH2NJGB.js.map} +0 -0
- /package/dist/{dataDownload-VBSJBKMP.js.map → dataDownload-HM4UYOBO.js.map} +0 -0
- /package/dist/{dataDownload.integration.spec-LUFSETOP.js.map → dataDownload.integration.spec-F5CO4BWA.js.map} +0 -0
- /package/dist/{dictionary-V37LXFIP.js.map → dictionary-EEPTFDYD.js.map} +0 -0
- /package/dist/{dnaMethylation-OIZMHMLK.js.map → dnaMethylation-N3WNK6XA.js.map} +0 -0
- /package/dist/{dofetch-IWPZQB5N.js.map → dofetch-YKYPEJTQ.js.map} +0 -0
- /package/dist/{e2pca-7SLIAGYW.js.map → e2pca-JEZIGVB2.js.map} +0 -0
- /package/dist/{ep-7L6KF6K4.js.map → ep-5FMH2MLV.js.map} +0 -0
- /package/dist/{expclust.gdc.spec-JT452Q3G.js.map → expclust.gdc.spec-FR26VSUA.js.map} +0 -0
- /package/dist/{gb-P4VRXRED.js.map → gb-WGEVO7L2.js.map} +0 -0
- /package/dist/{geneExpression-BHO5326K.js.map → geneExpression-5NWQXMJ3.js.map} +0 -0
- /package/dist/{geneExpression-ZMERB64E.js.map → geneExpression-VWUMM2LU.js.map} +0 -0
- /package/dist/{geneORA-FXVUCXGX.js.map → geneORA-3VWFWDYI.js.map} +0 -0
- /package/dist/{geneRanking-SFK4UBKQ.js.map → geneRanking-PKDVD5OD.js.map} +0 -0
- /package/dist/{geneVariant-IYEHB4H7.js.map → geneVariant-IFIJQXH4.js.map} +0 -0
- /package/dist/{geneVariant-LIRRLUFR.js.map → geneVariant-WZSOG4GI.js.map} +0 -0
- /package/dist/{geneVariant.integration.spec-Y2NPNTYX.js.map → geneVariant.integration.spec-6KQMWVHR.js.map} +0 -0
- /package/dist/{geneset-A6VUFX63.js.map → geneset-RJAULSKC.js.map} +0 -0
- /package/dist/{genomeBrowser.spec-CB4HHHBN.js.map → genomeBrowser.spec-42OTTMGO.js.map} +0 -0
- /package/dist/{grin2-FKBIMH5N.js.map → grin2-26O6YDDY.js.map} +0 -0
- /package/dist/{grin2-V36KLEBU.js.map → grin2-FT5BQJMB.js.map} +0 -0
- /package/dist/{hierCluster-QFPRMHVA.js.map → hierCluster-GJPPMFNR.js.map} +0 -0
- /package/dist/{hierCluster-YWC3XYPV.js.map → hierCluster-HMJF3PBE.js.map} +0 -0
- /package/dist/{hierCluster.config-F7YYZNM3.js.map → hierCluster.config-TAS7XKTU.js.map} +0 -0
- /package/dist/{hierCluster.interactivity-RPY74PK6.js.map → hierCluster.interactivity-IKTAJ6CU.js.map} +0 -0
- /package/dist/{hierCluster.renderers-LOKHZ3V2.js.map → hierCluster.renderers-I6WFZRNW.js.map} +0 -0
- /package/dist/{imagePlot-BBEXA754.js.map → imagePlot-N4OXNMVA.js.map} +0 -0
- /package/dist/{importPlot-7QGANZGK.js.map → importPlot-VMYXDP66.js.map} +0 -0
- /package/dist/{isoformExpression-4SLLCVFD.js.map → isoformExpression-2KV64KMN.js.map} +0 -0
- /package/dist/{launch.adhoc-LWLBQJS5.js.map → junction-VO4IGMW2.js.map} +0 -0
- /package/dist/{matrix-BGLWC25D.js.map → junction.customTerm-EFMHHVWA.js.map} +0 -0
- /package/dist/{matrix-IQR5SRMK.js.map → launch.adhoc-R3MO3VXK.js.map} +0 -0
- /package/dist/{legacyDataset-VLD7ZYWI.js.map → legacyDataset-4BXYHQTS.js.map} +0 -0
- /package/dist/{lollipop-XKQK5QZU.js.map → lollipop-XIVE4ANX.js.map} +0 -0
- /package/dist/{maf-AZQPPWDO.js.map → maf-WRHD4OJF.js.map} +0 -0
- /package/dist/{maftimeline-7MSVYKQU.js.map → maftimeline-IE6YKV7Y.js.map} +0 -0
- /package/dist/{matrix.cells-5C57NWOY.js.map → matrix-ALBCAZP5.js.map} +0 -0
- /package/dist/{matrix.config-2DQXAN2E.js.map → matrix-W72XRUZD.js.map} +0 -0
- /package/dist/{matrix.data-ADCGF5H6.js.map → matrix.cells-DEEUWC74.js.map} +0 -0
- /package/dist/{matrix.groups-V4ITQ5F7.js.map → matrix.config-JYXQOXDT.js.map} +0 -0
- /package/dist/{matrix.interactivity-JNELJFOV.js.map → matrix.data-ENXNM6RP.js.map} +0 -0
- /package/dist/{matrix.layout-WBVIV6GR.js.map → matrix.groups-EXSNNESB.js.map} +0 -0
- /package/dist/{matrix.integration.spec-IBNOO2WP.js.map → matrix.integration.spec-BW6U6PIW.js.map} +0 -0
- /package/dist/{matrix.legend-YHOWPK77.js.map → matrix.interactivity-G6AL566T.js.map} +0 -0
- /package/dist/{matrix.renderers-5BGVRR3M.js.map → matrix.layout-UBUPIJ3R.js.map} +0 -0
- /package/dist/{matrix.serieses-2GZJOASZ.js.map → matrix.legend-S3P4F2DG.js.map} +0 -0
- /package/dist/{matrix.sort-WKIWPJKP.js.map → matrix.renderers-IXFGXHJQ.js.map} +0 -0
- /package/dist/{matrix.sorterUi-TEJWWJ64.js.map → matrix.serieses-THHXUAPM.js.map} +0 -0
- /package/dist/{plot.app-MLBP6WFP.js.map → matrix.sort-WJV6LIZI.js.map} +0 -0
- /package/dist/{matrix.sort.unit.spec-L2E4D4AS.js.map → matrix.sort.unit.spec-LGMIL2LR.js.map} +0 -0
- /package/dist/{profilePlot-ZZYZK4SY.js.map → matrix.sorterUi-VXVCOKEZ.js.map} +0 -0
- /package/dist/{matrix.sorterUi.unit.spec-SHP7C4P7.js.map → matrix.sorterUi.unit.spec-CWSEJ62U.js.map} +0 -0
- /package/dist/{mavb-4MXNYUEO.js.map → mavb-SXGKASQ5.js.map} +0 -0
- /package/dist/{mds.fimo-WHIJIBOI.js.map → mds.fimo-EDOT3TDN.js.map} +0 -0
- /package/dist/{mds.samplescatterplot-BRJ6NG2D.js.map → mds.samplescatterplot-IXHNABKB.js.map} +0 -0
- /package/dist/{mds.survivalplot-OPCMB5PB.js.map → mds.survivalplot-KTTMHHII.js.map} +0 -0
- /package/dist/{numericDictTermCluster-7MIFOP2K.js.map → numericDictTermCluster-H4JSPW22.js.map} +0 -0
- /package/dist/{oncomatrix-BGG6BEUI.js.map → oncomatrix-O4EMNUOT.js.map} +0 -0
- /package/dist/{oncomatrix.spec-LYQ4L4F3.js.map → oncomatrix.spec-BME6CQWF.js.map} +0 -0
- /package/dist/{plot.2dvaf-6WVCP2ZI.js.map → plot.2dvaf-FDM4KXGT.js.map} +0 -0
- /package/dist/{qualitative-MLRVLIAU.js.map → plot.app-UNUXG7ND.js.map} +0 -0
- /package/dist/{plot.barplot-JEPRZSCU.js.map → plot.barplot-R333TMG2.js.map} +0 -0
- /package/dist/{plot.boxplot-GNFW42VM.js.map → plot.boxplot-KQTYGUN3.js.map} +0 -0
- /package/dist/{plot.brainImaging-5ACNSD45.js.map → plot.brainImaging-YBYMHCEG.js.map} +0 -0
- /package/dist/{plot.disco-Q2V2KKIH.js.map → plot.disco-CMDKRSOM.js.map} +0 -0
- /package/dist/{plot.dzi-KVT6S7K7.js.map → plot.dzi-YAZA6RQS.js.map} +0 -0
- /package/dist/{plot.ssgq-4N3KFJQ2.js.map → plot.ssgq-YKCOEXZP.js.map} +0 -0
- /package/dist/{plot.vaf2cov-ITRG5U43.js.map → plot.vaf2cov-3TLMTFZS.js.map} +0 -0
- /package/dist/{plot.wsi-26YZNU4V.js.map → plot.wsi-7ADVYTQS.js.map} +0 -0
- /package/dist/{regression-WMRPQJW2.js.map → profilePlot-AP52VLLO.js.map} +0 -0
- /package/dist/{regression.inputs-VWZKSYNY.js.map → pseudobulk-7UKRLKQI.js.map} +0 -0
- /package/dist/{regression.inputs.term-OWE6GWHM.js.map → qualitative-2D7MC4V5.js.map} +0 -0
- /package/dist/{regression.inputs.values.table-4INNZQI2.js.map → regression-CE54AQMY.js.map} +0 -0
- /package/dist/{regression.results-VZBYMBYC.js.map → regression.inputs-SMC5CNPY.js.map} +0 -0
- /package/dist/{render-N5FOF247.js.map → regression.inputs.term-XS54IQC2.js.map} +0 -0
- /package/dist/{sampleView-ICOT2R6O.js.map → regression.inputs.values.table-LNPM3MX5.js.map} +0 -0
- /package/dist/{regression.integration.spec-XKQ2JOOT.js.map → regression.integration.spec-6QSMYPWJ.js.map} +0 -0
- /package/dist/{singleCellCellType-D2CN2BHQ.js.map → regression.results-25ZRRDEE.js.map} +0 -0
- /package/dist/{regression.spec-DU3UTDCJ.js.map → regression.spec-EDWHFRPY.js.map} +0 -0
- /package/dist/{singleCellGeneExpression-YR2ZT34W.js.map → render-SEB6GFXQ.js.map} +0 -0
- /package/dist/{report-DW3OHB67.js.map → report-U6L3KBYG.js.map} +0 -0
- /package/dist/{singleCellPlot-3ICIOILE.js.map → sampleView-QAAJ26KT.js.map} +0 -0
- /package/dist/{samplelst-TJEVASYG.js.map → samplelst-KYRXJSZN.js.map} +0 -0
- /package/dist/{samplematrix-6DAWCXQ3.js.map → samplematrix-STLF2QA5.js.map} +0 -0
- /package/dist/{sc-53LNOB7N.js.map → sc-HL6YSMDX.js.map} +0 -0
- /package/dist/{scatter-DKYSS4DL.js.map → scatter-BSGDMOC2.js.map} +0 -0
- /package/dist/{selectGenomeWithTklst-WTX66TV3.js.map → selectGenomeWithTklst-4NHQDTE6.js.map} +0 -0
- /package/dist/{snp-VIURB7L3.js.map → singleCellCellType-3E2IU42J.js.map} +0 -0
- /package/dist/{ssGSEA-THW4WFMI.js.map → singleCellGeneExpression-53UUGYTK.js.map} +0 -0
- /package/dist/{summarizeMutationDiagnosis-AKFJDSAF.js.map → singleCellPlot-JDSARDRV.js.map} +0 -0
- /package/dist/{singlecell-KX7W4U57.js.map → singlecell-IJR7BJYT.js.map} +0 -0
- /package/dist/{singlecell-6ZUFA3BQ.js.map → singlecell-OK6GJFWL.js.map} +0 -0
- /package/dist/{summary-A5P7AYK4.js.map → snp-H4KJEEOE.js.map} +0 -0
- /package/dist/{snp.unit.spec-ACZNZUNS.js.map → snp.unit.spec-2Y4A3XYI.js.map} +0 -0
- /package/dist/{snplocus-3LW4ZUZR.js.map → snplocus-4GG6VTWX.js.map} +0 -0
- /package/dist/{spliceevent.a53ss.diagram-AKTZGWNM.js.map → spliceevent.a53ss.diagram-JZNRC5UC.js.map} +0 -0
- /package/dist/{spliceevent.exonskip.diagram-XZHXB77R.js.map → spliceevent.exonskip.diagram-H54N7ZKY.js.map} +0 -0
- /package/dist/{spliceevent.noeventdiagram-YTXWWNTJ.js.map → spliceevent.noeventdiagram-II753XAK.js.map} +0 -0
- /package/dist/{survival-QNEI6YVK.js.map → ssGSEA-JPJ3C4JI.js.map} +0 -0
- /package/dist/{ssGSEA.unit.spec-HTRGQI2K.js.map → ssGSEA.unit.spec-45F5OCDK.js.map} +0 -0
- /package/dist/{summarizeCnvGeneexp-RFYC3H2Z.js.map → summarizeCnvGeneexp-55DNXHXA.js.map} +0 -0
- /package/dist/{summarizeMutationCnv-7AYEMHAI.js.map → summarizeMutationCnv-QX7BADYL.js.map} +0 -0
- /package/dist/{termCollection-CDF5LYUG.js.map → summarizeMutationDiagnosis-MHFM7RX6.js.map} +0 -0
- /package/dist/{summarizeMutationSurvival-QJHZRQBZ.js.map → summarizeMutationSurvival-G4KHSUBN.js.map} +0 -0
- /package/dist/{tk-OEQFO73V.js.map → summary-PJYRCQNY.js.map} +0 -0
- /package/dist/{summary.integration.spec-HQISXGNL.js.map → summary.integration.spec-KPKROD6L.js.map} +0 -0
- /package/dist/{sunburst-65LSYRXX.js.map → sunburst-IGIV2RBE.js.map} +0 -0
- /package/dist/{survival-UI74VXSM.js.map → survival-DINCIWW7.js.map} +0 -0
- /package/dist/{svgraph-PSX2NER3.js.map → svgraph-EUEZWGVR.js.map} +0 -0
- /package/dist/{svmr-QDQ33EFX.js.map → svmr-B24LODSC.js.map} +0 -0
- /package/dist/{table-LWAI27UO.js.map → table-XSJJ3UZV.js.map} +0 -0
- /package/dist/{toggleButtons-YK7TIFF2.js.map → termCollection-IAB3425K.js.map} +0 -0
- /package/dist/{tvs.density-3XJ6DBGO.js.map → termCollectionFractionSelection-35YKAOUY.js.map} +0 -0
- /package/dist/{tvs.dt-CZDC4TSR.js.map → tk-25EJJDRK.js.map} +0 -0
- /package/dist/{tp.ui-SHNERDGC.js.map → tp.ui-VGA62NFM.js.map} +0 -0
- /package/dist/{tvs.numeric-TOEPASWN.js.map → tvs.density-G56327WY.js.map} +0 -0
- /package/dist/{violin-2YGXTBDS.js.map → tvs.dt-DFW36WKO.js.map} +0 -0
- /package/dist/{tvs.dtcnv.categorical-OPBDHZGB.js.map → tvs.dtcnv.categorical-ZP33EO3A.js.map} +0 -0
- /package/dist/{tvs.dtcnv.continuous-AR6P4EP3.js.map → tvs.dtcnv.continuous-FJTMQF4J.js.map} +0 -0
- /package/dist/{tvs.dtfusion-2YQ7N6FQ.js.map → tvs.dtfusion-FTDQWNKM.js.map} +0 -0
- /package/dist/{tvs.dtitd-ATCHW735.js.map → tvs.dtitd-W5VEECJ2.js.map} +0 -0
- /package/dist/{tvs.dtsnvindel-WHHWAATJ.js.map → tvs.dtsnvindel-UOXSLCDZ.js.map} +0 -0
- /package/dist/{tvs.dtsv-3UMCW65O.js.map → tvs.dtsv-HWCPRVBO.js.map} +0 -0
- /package/dist/{violin.interactivity-J6BE2UQL.js.map → tvs.numeric-7TGKWQYU.js.map} +0 -0
- /package/dist/{tvs.samplelst-M7XKXRTZ.js.map → tvs.samplelst-OWD22ITS.js.map} +0 -0
- /package/dist/{violin.renderer-3GRUWP2U.js.map → violin-2IAVZGFF.js.map} +0 -0
- /package/dist/{vocabulary-2INCVPYJ.js.map → violin.interactivity-STOCZMVN.js.map} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../mass/store.ts"],
|
|
4
|
+
"sourcesContent": ["import { StoreApi, StoreBase, type AppApi, type RxStore } from '#rx'\nimport { getFilterItemByTag, findParent } from '#filter/filter'\nimport { getSamplelstTW, getFilter } from './groups.js'\nimport { rehydrateFilter } from '../filter/rehydrateFilter.js'\nimport { importPlot } from '#plots/importPlot.js'\nimport { CustomError } from '#shared/helpers.js'\n\n/*\ntmp comment on plot state. later properly define it in typescript\n\na basic plot:\n{\n\tchartType: string\n\t... other properties\n\tid?: dynamically assigned to identify this plot\n}\n\nSometimes a plot may have sections where each section has a name and an array of plots, like in the report plot. \nAn example of such plot is seeing in carereg. In that case the plot config will look like this:\n{\n\tid?: dynamically assigned to identify this plot\n\tsections: {\n\t\tname: string\n\t\tplots: {\n\t\t\tchartType: string\n\t\t\t... other properties of this child plot\n\t\t\tparentId?: dynamically assigned to point to plot.id\n\t\t}[]\n\t\t... other properties of a section\n\t}[]\n}\nThe state of each plot is added to the appState plots array, so that these plots can be treated as regular plots and be embedded in a parent plot.\n*/\n\n// to distinguish from IDs assigned by other code or users\nconst idPrefix = '_MASS_AUTOID_' + Math.random().toString().slice(-6)\nlet id = 0 // Number((+new Date()).toString().slice(-8))\n\n// will be used to track plotId's that have already been used, so that plot_prep() and\n// plot_create() will avoid conflicts from having a plotId that's used by different plots\nconst usedPlotIds = new Set()\n\nfunction getId() {\n\treturn idPrefix + '_' + id++\n}\n\nconst navHeaderModes = new Set([\n\t'with_tabs', // default, shows tabs cohort/charts/filter etc\n\t'hidden', // no header\n\t'search_only', // ?\n\t'hide_search', // ?\n\t'with_cohortHtmlSelect', // only show cohort toggle as <select>\n\t'only_buttons'\n])\n\nconst defaultState = {\n\tnav: {\n\t\theader_mode: 'with_tabs',\n\t\tactiveTab: 0 // -1 for no active tab and all closed\n\t},\n\t// will be ignored if there is no dataset termdb.selectCohort\n\t// or value will be set to match a filter node that has been tagged\n\t// as 'cohortfilter' in state.termfilter.filter\n\tactiveCohort: 0,\n\tsearch: { isVisible: true },\n\tplots: [],\n\ttermfilter: {\n\t\tfilter: {\n\t\t\ttype: 'tvslst',\n\t\t\tin: true,\n\t\t\tjoin: '',\n\t\t\tlst: []\n\t\t}\n\t},\n\treuse: {\n\t\tcustomTermQ: {\n\t\t\tbyId: {},\n\t\t\t// non-dictionary terms do not have a term.id,\n\t\t\t// save by term.type + name?\n\t\t\tbyName: {}\n\t\t}\n\t},\n\tgroups: [], // element: {name=str, filter={}}, to show in Groups tab\n\tcustomTerms: [], // element: {name=str, term={}}, able to attach more attr to object if needed\n\tautoSave: true\n}\n\n// one store for the whole MASS app\nclass MassStore extends StoreBase implements RxStore {\n\tstatic type = 'store'\n\n\t// expected RxStore, some are already declared/set in AppBase\n\tapp: AppApi\n\tapi: StoreApi\n\ttype: string\n\n\t// expected class-specific props\n\tdefaultState = defaultState\n\tactions!: {\n\t\t[actionType: string]: (action: { type: string; [prop: string]: any }) => void | Promise<void>\n\t}\n\n\tplotAdjusters = new WeakMap()\n\n\tconstructor(opts, api) {\n\t\tsuper(opts)\n\t\tthis.app = opts.app\n\t\tthis.api = api\n\t\tthis.type = 'store'\n\t\tlet savedState = {}\n\t\ttry {\n\t\t\t// only automatically detect and recover saved state when webdriver is detected\n\t\t\tconst key = window.navigator.webdriver && window['SJPP_E2E_STORAGE_STATES_KEY']\n\t\t\tconst savedStateStr = (key && window.localStorage.getItem('SJPP_E2E_STORAGE_STATES')) || '{}'\n\t\t\tsavedState = JSON.parse(savedStateStr)[key]?.state || {}\n\t\t\t// console.log(107, 'mass/store savedState', key, savedState)\n\t\t} catch (_) {\n\t\t\t// okay to ignore error of not being able to recover state\n\t\t\tsavedState = {}\n\t\t}\n\t\tthis.state = this.copyMerge(this.toJson(defaultState), opts.state, savedState)\n\t\tthis.prevGeneratedId = 0\n\t}\n\n\tvalidateOpts(opts) {\n\t\tconst s = opts.state\n\t\t// assume that any vocabulary with a route\n\t\t// will require genome + dslabel\n\t\tif (s.vocab.dslabel) {\n\t\t\tif (!s.vocab.genome) throw '.state[.vocab].genome missing'\n\t\t} else {\n\t\t\tif (!Array.isArray(s.vocab.terms)) throw 'vocab.terms must be an array of objects'\n\t\t}\n\t\treturn opts\n\t}\n\n\tvalidateState() {\n\t\t// nav.header_mode should always be present\n\t\tif (!navHeaderModes.has(this.state.nav.header_mode)) throw 'invalid state.nav.header_mode'\n\t}\n\n\tasync init() {\n\t\ttry {\n\t\t\tthis.state.termdbConfig = await this.app.vocabApi.getTermdbConfig()\n\t\t\tawait this.setTermfilter()\n\t\t\tawait this.rehydrateGroups()\n\n\t\t\t// vocab.state.termfilter may be used in getPlotConfig() when rehydrating terms,\n\t\t\t// so manually set it here\n\t\t\tawait this.app.vocabApi.main({\n\t\t\t\ttermfilter: JSON.parse(JSON.stringify(this.state.termfilter)),\n\t\t\t\ttermdbConfig: this.state.termdbConfig\n\t\t\t})\n\t\t\tconst invalidPlots: any[] = []\n\t\t\tfor (const [i, savedPlot] of this.state.plots.entries()) {\n\t\t\t\tlet plot\n\t\t\t\ttry {\n\t\t\t\t\tconst _ = await importPlot(savedPlot.chartType)\n\t\t\t\t\t// this.state{} is already fully set with initial state, thus okay to pass to getPlotConfig()\n\t\t\t\t\tplot = await _.getPlotConfig(savedPlot, this.app, this.state.activeCohort)\n\t\t\t\t} catch (e) {\n\t\t\t\t\tthis.app.printError(e)\n\t\t\t\t\tconsole.error(`getPlotConfig() failed: ${e}`)\n\t\t\t\t}\n\t\t\t\tif (!plot) {\n\t\t\t\t\tinvalidPlots.push(i)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tthis.state.plots[i] = plot\n\t\t\t\tif (!('id' in plot)) plot.id = `_AUTOID_${id++}_${i}`\n\t\t\t\tif (plot.mayAdjustConfig) {\n\t\t\t\t\tplot.mayAdjustConfig(plot)\n\t\t\t\t\tthis.plotAdjusters.set(plot, plot.mayAdjustConfig)\n\t\t\t\t\tdelete plot.mayAdjustConfig\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (invalidPlots.length) {\n\t\t\t\tfor (const i of invalidPlots) {\n\t\t\t\t\tthis.state.plots.splice(i, 1)\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.log('store.init() error', e)\n\t\t\tthrow e\n\t\t}\n\t}\n\n\tsetId(item) {\n\t\titem.$id = this.prevGeneratedId++\n\t\tif (item.$lst) {\n\t\t\tfor (const subitem of item.$lst) {\n\t\t\t\tthis.setId(subitem)\n\t\t\t}\n\t\t}\n\t}\n\n\tasync setTermfilter() {\n\t\tlet filterUiRoot = getFilterItemByTag(this.state.termfilter.filter, 'filterUiRoot')\n\t\tif (!filterUiRoot) {\n\t\t\tthis.state.termfilter.filter.tag = 'filterUiRoot'\n\t\t\tfilterUiRoot = this.state.termfilter.filter\n\t\t}\n\n\t\tawait Promise.all(rehydrateFilter(this.state.termfilter.filter, this.app.vocabApi))\n\n\t\tif (!this.state.termdbConfig.selectCohort) {\n\t\t\tthis.state.activeCohort = -1\n\t\t\t// since the cohort tab will be hidden, default to making the filter tab active\n\t\t\tif (this.state.activeTab === 0) this.state.activeTab = 1\n\t\t\tif (this.state.nav.header_mode === 'with_cohortHtmlSelect') {\n\t\t\t\tconsole.warn(`no termdbConfig.selectCohort to use for nav.header_mode = 'with_cohortHtmlSelect'`)\n\t\t\t\tthis.state.nav.header_mode = 'search_only'\n\t\t\t}\n\t\t} else {\n\t\t\tlet cohortFilter = getFilterItemByTag(this.state.termfilter.filter, 'cohortFilter')\n\t\t\tif (!cohortFilter) {\n\t\t\t\t// support legacy state.termfilter and test scripts that\n\t\t\t\t// that does not specify a cohort when required;\n\t\t\t\t// will use state.activeCohort if not -1\n\t\t\t\tcohortFilter = {\n\t\t\t\t\ttag: 'cohortFilter',\n\t\t\t\t\ttype: 'tvs',\n\t\t\t\t\ttvs: {\n\t\t\t\t\t\tterm: JSON.parse(JSON.stringify(this.state.termdbConfig.selectCohort.term)),\n\t\t\t\t\t\tvalues:\n\t\t\t\t\t\t\tthis.state.activeCohort == -1\n\t\t\t\t\t\t\t\t? []\n\t\t\t\t\t\t\t\t: this.state.termdbConfig.selectCohort.values[this.state.activeCohort].keys.map(key => {\n\t\t\t\t\t\t\t\t\t\treturn { key, label: key }\n\t\t\t\t\t\t\t\t })\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.state.termfilter.filter = {\n\t\t\t\t\ttype: 'tvslst',\n\t\t\t\t\tin: true,\n\t\t\t\t\tjoin: 'and',\n\t\t\t\t\tlst: [cohortFilter, filterUiRoot]\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst sorter = (a, b) => (a < b ? -1 : 1)\n\t\t\t\tcohortFilter.tvs.values.sort((a, b) => (a.key < b.key ? -1 : 1))\n\t\t\t\tconst keysStr = JSON.stringify(cohortFilter.tvs.values.map(v => v.key).sort(sorter))\n\t\t\t\tconst i = this.state.termdbConfig.selectCohort.values.findIndex(\n\t\t\t\t\tv => keysStr == JSON.stringify(v.keys.sort(sorter))\n\t\t\t\t)\n\t\t\t\tif (this.state.activeCohort !== -1 && this.state.activeCohort !== 0 && i !== this.state.activeCohort) {\n\t\t\t\t\tconsole.log('Warning: cohortFilter will override the state.activeCohort due to mismatch')\n\t\t\t\t}\n\t\t\t\tthis.state.activeCohort = i\n\t\t\t}\n\t\t}\n\t}\n\n\tasync rehydrateGroups() {\n\t\t// rehydrate filter terms of each group\n\t\tconst lst: any[] = []\n\t\tfor (const g of this.state.groups) {\n\t\t\tlst.push(...rehydrateFilter(g.filter, this.app.vocabApi))\n\t\t}\n\t\tawait Promise.all(lst)\n\t}\n}\n\n/*\n\tTo clearly indicate the allowed store actions,\n\tsupply a literal \"actions\" object on the \n\tconstructor prototype\n*/\nMassStore.prototype.actions = {\n\t// Type '{ app_refresh(this: MassStore, action?: {}): Promise<void>; tab_set(action: any): void; cohort_set(action: any): void; plot_prep(action: any): Promise<void>; ... 13 more ...; delete_group({ name }: { ...; }): void; }' is not assignable to type '(action: { [prop: string]: any; type: string; }) => void | Promise<void>'.\n\t// Object literal may only specify known properties, and 'app_refresh' does not exist in type '(action: { [prop: string]: any; type: string; }) => void | Promise<void>'.\n\n\tasync app_refresh(this: MassStore, action) {\n\t\t// optional action.state{} may be full or partial overrides\n\t\t// to the current state\n\t\t//\n\t\t// when constructing an app, app_refresh() is called\n\t\t// without action.state as the current state at the\n\t\t// initial render is not meant to be modified yet\n\t\t//\n\t\tthis.state = this.copyMerge(this.toJson(this.state), action.state || {})\n\n\t\t// Subactions cause existing action methods to be called in parallel,\n\t\t// to update unrelated parts of the state.\n\t\t//\n\t\t// Note that an alternative approach of pre-merging actions payloads into\n\t\t// one \"write\" step or action is not as reliable, since that approach may leave\n\t\t// out custom logic that are required and already coded in existing actions.\n\t\t//\n\t\tconst subactionPlotIds = new Set()\n\t\tconst promises: any[] = []\n\t\tif (action.subactions) {\n\t\t\tfor (const a of action.subactions) {\n\t\t\t\tpromises.push(this.actions[a.type].call(this, a))\n\t\t\t\tif (a.type.startsWith('plot_')) subactionPlotIds.add(a.id)\n\t\t\t}\n\t\t}\n\t\tawait Promise.all(promises)\n\n\t\tfor (const plot of this.state.plots) {\n\t\t\tconst mayAdjustConfig = this.plotAdjusters.get(plot)\n\t\t\tif (mayAdjustConfig && !subactionPlotIds.has(plot.id)) {\n\t\t\t\t// assume that mayAdjustConfig() is not async\n\t\t\t\tmayAdjustConfig(plot, action.config)\n\t\t\t}\n\t\t}\n\t},\n\ttab_set(this: MassStore, action) {\n\t\tthis.state.nav.activeTab = action.activeTab\n\t},\n\tcohort_set(this: MassStore, action) {\n\t\tthis.state.activeCohort = action.activeCohort\n\t\tconst cohort = this.state.termdbConfig.selectCohort.values[action.activeCohort]\n\t\tconst cohortFilter = getFilterItemByTag(this.state.termfilter.filter, 'cohortFilter')\n\t\tif (!cohortFilter) throw `No item tagged with 'cohortFilter'`\n\t\tcohortFilter.tvs.values = cohort.keys.map(key => {\n\t\t\treturn { key, label: key }\n\t\t})\n\t},\n\n\t// dispatch \"plot_prep\" action to produce a 'initiating' UI of this plot, for user to fill in additional details to launch the plot\n\t// example: table, scatterplot which requires user to select two terms\n\tasync plot_prep(this: MassStore, action) {\n\t\tif (usedPlotIds.has(action.id)) delete action.id // prevent potential conflicts\n\n\t\tconst plot = {\n\t\t\t// rx.getComponents() relies on parsing dot-separated key names that breaks if a key has a dot,\n\t\t\t// the plot.id value should be assumed to be auto-generated and to not have any non-rx usage expectations\n\t\t\tid: 'id' in action && !action.id.includes('.') ? action.id : getId()\n\t\t}\n\t\tusedPlotIds.add(plot.id)\n\t\tif (!action.config) throw '.config{} missing for plot_prep'\n\t\tif (action.config.chartType && Object.keys(action.config).length == 1) {\n\t\t\tconst _ = await importPlot(action.config.chartType)\n\t\t\tconst config = await _.getPlotConfig(action.config, this.app, this.state.activeCohort)\n\t\t\taction.config = Object.assign(config, action.config)\n\t\t}\n\t\tObject.assign(plot, action.config)\n\t\tthis.state.plots.push(plot)\n\t},\n\n\tasync plot_create(this: MassStore, action) {\n\t\tif (usedPlotIds.has(action.id)) delete action.id // prevent potential conflicts\n\n\t\tconst _ = await importPlot(action.config.chartType)\n\t\tconst plot = await _.getPlotConfig(action.config, this.app, this.state.activeCohort)\n\t\t// rx.getComponents() relies on parsing dot-separated key names that breaks if a key has a dot,\n\t\t// the plot.id value should be assumed to be auto-generated and to not have any non-rx usage expectations\n\t\tif (!('id' in action) || action.id.includes('.')) action.id = getId()\n\t\tplot.id = action.id\n\t\tusedPlotIds.add(plot.id)\n\n\t\tif (plot.mayAdjustConfig) {\n\t\t\tplot.mayAdjustConfig(plot)\n\t\t\tthis.plotAdjusters.set(plot, plot.mayAdjustConfig)\n\t\t\tdelete plot.mayAdjustConfig\n\t\t}\n\t\tthis.state.plots.push(plot)\n\t\t// Parent plots may have child plots, organized in sections to ease the visualization and analysis. For example the carereg report,\n\t\t//has the sections Demographics, Diagnosis and Stagind with their respective plots. We go over the plots for each section to add them\n\t\t// to the state.plots array, so that they can be treated as regular plots and be embedded in a parent plot\n\t\tif (plot.sections) {\n\t\t\t// this is handled for embedder convenience,\n\t\t\t// ideally app state.plots would already have all the plot entries\n\t\t\t// instead of having nested plot.sections[] with plots per section in a session state to be rehydrated;\n\t\t\t//\n\t\t\t// nested plot entries are harder to manage:\n\t\t\t// - store methods will need to look in different places\n\t\t\t// to process a dispatched plot_* action\n\t\t\t// - a plot's `getState()` method will also need to look in different places for the plot config, such as\n\t\t\t// getState(appState) {\n\t\t\t// const config = appState.plots.find(p => p.id === this.id || (p.id === this.parentId && p.plots?.find(p => p.id === this.id)))\n\t\t\t// ...\n\t\t\t// }\n\t\t\tfor (const section of plot.sections) {\n\t\t\t\tfor (const p of section.plots) {\n\t\t\t\t\t// by tracking a child plot's parentId, it makes it easier to\n\t\t\t\t\t// - find a plot's config in the app state\n\t\t\t\t\t// - prevent the app from rendering each child plot in it's own sandbox\n\t\t\t\t\t// - prevent counting child plots separately in CHARTS tab\n\t\t\t\t\tp.parentId = plot.id\n\t\t\t\t\tif (!p.id) p.id = getId() // fill in missing child plot id\n\t\t\t\t\tconst _ = await importPlot(p.chartType)\n\t\t\t\t\tconst config = await _.getPlotConfig(p, this.app, this.state.activeCohort)\n\t\t\t\t\t// Move nested state.plot[i].plots[] into the root state.plots[] array\n\t\t\t\t\tthis.state.plots.push(config)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tplot_edit(this: MassStore, action) {\n\t\tconst plot = this.state.plots.find(p => p.id === action.id)\n\t\tif (!plot) {\n\t\t\t// plot may have been deleted from closing the plot sandbox or another reason,\n\t\t\t// assume this action is stale and not an error\n\t\t\tthrow new CustomError(`missing plot config for id='${action.id}' in store.plot_edit()`, {\n\t\t\t\tname: 'MISSING_PLOT_CONFIG',\n\t\t\t\tlevel: 'warn'\n\t\t\t})\n\t\t}\n\t\tthis.copyMerge(plot, action.config, action.opts ? action.opts : {})\n\t\tconst mayAdjustConfig = this.plotAdjusters.get(plot)\n\t\tif (mayAdjustConfig) mayAdjustConfig(plot, action.config)\n\n\t\tif (action.config && 'cutoff' in action.config) {\n\t\t\tplot.cutoff = action.config.cutoff\n\t\t} else {\n\t\t\tdelete plot.cutoff\n\t\t}\n\n\t\t// action.parentId may be used in reactsTo() code\n\t\tif (!action.parentId && plot.parentId) action.parentId = plot.parentId\n\t},\n\n\tplot_delete(this: MassStore, action) {\n\t\tconst i = this.state.plots.findIndex(p => p.id === action.id)\n\t\tif (i !== -1) {\n\t\t\tthis.state.plots.splice(i, 1)\n\t\t\t// action.parentId may be used in reactsTo() code\n\t\t\tconst plot = this.state.plots[i]\n\t\t\tif (!action.parentId && plot?.parentId) action.parentId = plot.parentId\n\t\t}\n\t},\n\n\tplot_nestedEdits(this: MassStore, action) {\n\t\tconst plot = this.state.plots.find(p => p.id === action.id)\n\t\tif (!plot) {\n\t\t\t// plot may have been deleted from closing the plot sandbox or another reason,\n\t\t\t// assume this action is stale and not an error\n\t\t\tthrow new CustomError(`missing plot config for id='${action.id}' in store.plot_edit_nested`, {\n\t\t\t\tname: 'MISSING_PLOT_CONFIG',\n\t\t\t\tlevel: 'warn'\n\t\t\t})\n\t\t}\n\t\tfor (const edit of action.edits) {\n\t\t\tconst lastKey = edit.nestedKeys.pop()\n\t\t\tconst obj = edit.nestedKeys.reduce((obj, key) => obj[key], plot)\n\t\t\tobj[lastKey] = edit.value\n\t\t}\n\t\t// action.parentId may be used in reactsTo() code\n\t\tif (!action.parentId && plot.parentId) action.parentId = plot.parentId\n\t},\n\n\t// TODO: delete this action? does not seem to be used\n\tasync plot_splice(this: MassStore, action) {\n\t\tfor (const a of action.subactions) {\n\t\t\t// need to await in case the sequence of subactions is relevant\n\t\t\tawait this.actions[a.type].call(this, a)\n\t\t}\n\t},\n\n\tfilter_replace(this: MassStore, action) {\n\t\tif ('filter0' in action) {\n\t\t\t// quick fix since rx.copyMerge() does not work for filter0,\n\t\t\t// as used in app_refresh() and dispatched from GDC matrixApi.update()\n\t\t\tthis.state.termfilter.filter0 = action.filter0\n\t\t\treturn\n\t\t}\n\n\t\tconst replacementFilter = action.filter ? action.filter : { type: 'tvslst', join: '', in: 1, lst: [] }\n\t\tif (!action.filter.tag) {\n\t\t\tthis.state.termfilter.filter = replacementFilter\n\t\t} else {\n\t\t\tconst filter = getFilterItemByTag(this.state.termfilter.filter, action.filter.tag)\n\t\t\tif (!filter) throw `cannot replace missing filter with tag '${action.filter.tag}'`\n\t\t\tconst parent = findParent(this.state.termfilter.filter, filter.$id)\n\t\t\tif (parent == filter) {\n\t\t\t\tthis.state.termfilter.filter = replacementFilter\n\t\t\t} else {\n\t\t\t\tconst i = parent.lst.indexOf(filter)\n\t\t\t\tparent.lst[i] = replacementFilter\n\t\t\t}\n\t\t}\n\t\t//In the profile runproteinpaint this function is passed to clear the local filters when the global filter changes\n\t\tif (this.app.opts.app?.onFilterChange) this.app.opts.app.onFilterChange(this.state.plots)\n\t},\n\n\tcache_termq(this: MassStore, { termId, q }) {\n\t\t// TODO: support caching by term.name\n\t\tif (!termId) throw `missing termId for caching custom term.q`\n\t\tif (!q?.reuseId) throw `missing or empty tw.q.reuseId as cache identifier for term='${termId}'`\n\t\tconst cache = this.state.reuse.customTermQ.byId\n\t\tif (!cache[termId]) cache[termId] = {}\n\t\tcache[termId][q.reuseId] = q\n\n\t\t// apply this change to all plots that use the same term.q cache\n\t\tfor (const plot of this.state.plots) {\n\t\t\tif (!(plot.chartType in getTwsByChartType)) continue\n\t\t\tconst twlst = getTwsByChartType[plot.chartType](plot)\n\t\t\tfor (const tw of twlst) {\n\t\t\t\tif (tw?.q?.reuseId === q.reuseId) tw.q = q\n\t\t\t}\n\t\t}\n\t},\n\n\tuncache_termq(this: MassStore, { term, q }) {\n\t\t// TODO: support uncaching by term.name\n\t\tif (!term.id) throw `missing term.id for uncaching custom term.q`\n\t\tif (!q.reuseId) throw `missing qname as uncache identifier for term.id='${term.id}'`\n\t\tconst cache = this.state.reuse.customTermQ.byId[term.id]\n\t\tif (!cache) throw `missing term.q cache for term.id='${term.id}`\n\t\tif (!(q.reuseId in cache)) console.warn(`q.reuseId='${q.cacheid}' not cached for term.id='${term.id}'`)\n\t\telse {\n\t\t\tdelete cache[q.reuseId]\n\t\t\t// apply this change to all plots that use the same term.q cache\n\t\t\tfor (const plot of this.state.plots) {\n\t\t\t\tif (!(plot.chartType in getTwsByChartType)) continue\n\t\t\t\tconst twlst = getTwsByChartType[plot.chartType](plot)\n\t\t\t\tfor (const tw of twlst) {\n\t\t\t\t\tif (tw.q.reuseId === q.reuseId) {\n\t\t\t\t\t\tdelete tw.q.reuseId\n\t\t\t\t\t\tdelete tw.q.name\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tadd_customTerm(this: MassStore, action) {\n\t\tconst i = action.obj.id ? this.state.customTerms.findIndex(term => term.id === action.obj.id) : -1\n\t\tif (i === -1) this.state.customTerms.push(action.obj)\n\t\telse this.state.customTerms[i] = action.obj\n\t},\n\n\tdelete_customTerm(this: MassStore, { id, name }) {\n\t\tconst i = this.state.customTerms.findIndex(term => (id ? term.id === id : term.name == name))\n\t\tif (i != -1) this.state.customTerms.splice(i, 1)\n\t},\n\n\tadd_group(this: MassStore, action) {\n\t\tif (this.state.nav.header_mode != 'hidden') {\n\t\t\tconst group = action.obj\n\t\t\tconst name = `Group ${this.state.groups.length + 1}`\n\n\t\t\tconst samplelstTW = getSamplelstTW([group])\n\t\t\tconst appGroup = {\n\t\t\t\tname: name,\n\t\t\t\tfilter: getFilter(samplelstTW),\n\t\t\t\tplotId: group.plotId\n\t\t\t}\n\t\t\tthis.state.groups.push(appGroup)\n\t\t\tthis.state.nav.activeTab = 1\n\t\t} else if ('plotId' in action.obj) {\n\t\t\tconst plot = this.state.plots.find(p => p.id == action.obj.plotId)\n\t\t\tif (plot.groups) {\n\t\t\t\taction.obj.index = plot.groups.length\n\t\t\t\taction.obj.name = `Group ${plot.groups.length + 1}`\n\t\t\t\tplot.groups.push(action.obj)\n\t\t\t}\n\t\t}\n\t},\n\n\trename_group(this: MassStore, action) {\n\t\tconst index = action.index\n\t\tconst newName = action.newName\n\t\tif (this.state.nav.header_mode != 'hidden') {\n\t\t\tthis.state.groups[index].name = newName\n\t\t} else {\n\t\t\tfor (const plot of this.state.plots) {\n\t\t\t\tif (plot?.groups) {\n\t\t\t\t\tplot.groups[index].name = newName\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tchange_color_group(this: MassStore, action) {\n\t\tconst index = action.index\n\t\tconst newColor = action.newColor\n\t\tif (this.state.nav.header_mode != 'hidden') {\n\t\t\tthis.state.groups[index].color = newColor\n\t\t} else {\n\t\t\tfor (const plot of this.state.plots) {\n\t\t\t\tif (plot?.groups) {\n\t\t\t\t\tplot.groups[index].color = newColor\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tdelete_group(this: MassStore, { name }) {\n\t\tif (this.state.nav.header_mode != 'hidden') {\n\t\t\tconst i = this.state.groups.findIndex(i => i.name == name)\n\t\t\tif (i != -1) this.state.groups.splice(i, 1)\n\t\t} else {\n\t\t\tfor (const plot of this.state.plots) {\n\t\t\t\tif (plot?.groups) {\n\t\t\t\t\tconst j = plot.groups.findIndex(j => j.name == name)\n\t\t\t\t\tif (j != -1) plot.groups.splice(j, 1)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n// each chartType should have a getter function\n// to return all the term wrappers in the plot config\nconst getNestedChartSeriesDataTws = plot => [plot.term0, plot.term, plot.term2].filter(d => !!d)\nconst getTwsByChartType = {\n\tsummary: getNestedChartSeriesDataTws,\n\tsurvival: getNestedChartSeriesDataTws,\n\tcuminc: getNestedChartSeriesDataTws,\n\tregression: plot => [plot.outcome, ...plot.independent].filter(d => !!d),\n\tmatrix: plot =>\n\t\tplot.termgroups.reduce((arr, grp) => {\n\t\t\tarr.push(...grp.lst)\n\t\t\treturn arr\n\t\t}, [])\n}\n\n// must use the await keyword when using this storeInit()\nexport const storeInit = StoreApi.getInitFxn(MassStore)\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["_", "obj", "id", "i", "j"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
// ../shared/utils/dist/src/termCollection.js
|
|
2
|
+
function validateTermCollectionTerm(term) {
|
|
3
|
+
if (!Array.isArray(term?.termlst) || !term.termlst.length)
|
|
4
|
+
throw new Error("termCollection requires nonempty term.termlst[]");
|
|
5
|
+
const memberIds = /* @__PURE__ */ new Set();
|
|
6
|
+
const types = /* @__PURE__ */ new Set();
|
|
7
|
+
for (const t of term.termlst) {
|
|
8
|
+
if (typeof t.id != "string" || !t.id) throw new Error("member term id not non-empty string");
|
|
9
|
+
if (typeof t.type != "string" || !t.type) throw new Error("member term type not non-empty string");
|
|
10
|
+
if (memberIds.has(t.id)) throw new Error(`duplicate member term id '${t.id}'`);
|
|
11
|
+
memberIds.add(t.id);
|
|
12
|
+
types.add(t.type == "integer" || t.type == "float" ? "numDict" : t.type);
|
|
13
|
+
}
|
|
14
|
+
if (types.size > 1) throw new Error("termCollection.termlst[] not allowed to mix multiple term types");
|
|
15
|
+
return memberIds;
|
|
16
|
+
}
|
|
17
|
+
function validateFractionMembers(numerators, denominators, memberIds) {
|
|
18
|
+
if (!Array.isArray(denominators) || !denominators.length) throw new Error("fraction requires nonempty denominators[]");
|
|
19
|
+
if (!Array.isArray(numerators) || !numerators.length) throw new Error("fraction requires nonempty numerators[]");
|
|
20
|
+
if (new Set(denominators).size !== denominators.length) throw new Error("fraction denominators[] contains duplicates");
|
|
21
|
+
if (new Set(numerators).size !== numerators.length) throw new Error("fraction numerators[] contains duplicates");
|
|
22
|
+
for (const id of denominators) {
|
|
23
|
+
if (typeof id != "string" || !id) throw new Error("fraction denominator id not non-empty string");
|
|
24
|
+
if (!memberIds.has(id)) throw new Error(`fraction denominator '${id}' is not a collection member`);
|
|
25
|
+
}
|
|
26
|
+
for (const id of numerators) {
|
|
27
|
+
if (typeof id != "string" || !id) throw new Error("fraction numerator id not non-empty string");
|
|
28
|
+
if (!denominators.includes(id)) throw new Error(`fraction numerator '${id}' is not included in denominators[]`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
var FRACTION_TW_TYPE = "TermCollectionTWFraction";
|
|
32
|
+
function isFractionTw(tw) {
|
|
33
|
+
return tw?.type === FRACTION_TW_TYPE && tw?.term?.type === "termCollection";
|
|
34
|
+
}
|
|
35
|
+
function getFractionTvsTerm(tw) {
|
|
36
|
+
if (!isFractionTw(tw)) throw new Error("not a fraction termCollection tw");
|
|
37
|
+
const term = structuredClone(tw.term);
|
|
38
|
+
const memberIds = term.termlst?.length ? validateTermCollectionTerm(term) : new Set(term.termIds || []);
|
|
39
|
+
const denominators = tw.q?.denominators?.length ? [...tw.q.denominators] : [...memberIds];
|
|
40
|
+
const numerators = tw.q?.numerators?.length ? [...tw.q.numerators] : [...denominators];
|
|
41
|
+
validateFractionMembers(numerators, denominators, memberIds);
|
|
42
|
+
term.numerators = numerators;
|
|
43
|
+
term.denominators = denominators;
|
|
44
|
+
return term;
|
|
45
|
+
}
|
|
46
|
+
function validateTermCollectionFraction(q, term) {
|
|
47
|
+
const memberIds = validateTermCollectionTerm(term);
|
|
48
|
+
validateFractionMembers(q?.numerators, q?.denominators, memberIds);
|
|
49
|
+
if (q.mode === "discrete" && q.type !== "regular-bin" && q.type !== "custom-bin")
|
|
50
|
+
throw new Error("discrete fraction termCollection requires regular-bin or custom-bin q.type");
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// ../shared/utils/dist/src/filter.js
|
|
54
|
+
function getFilteredSamples(sampleAnno, filter) {
|
|
55
|
+
setDatasetAnnotations(filter);
|
|
56
|
+
const samples = /* @__PURE__ */ new Set();
|
|
57
|
+
for (const anno of sampleAnno) {
|
|
58
|
+
if (samples.has(anno.sample)) continue;
|
|
59
|
+
const data = anno.s || anno.data;
|
|
60
|
+
if (data && sample_match_termvaluesetting(data, filter)) {
|
|
61
|
+
samples.add(anno.sample);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return samples;
|
|
65
|
+
}
|
|
66
|
+
function sample_match_termvaluesetting(row, filter, _term = null, sample = null) {
|
|
67
|
+
const lst = filter.type == "tvslst" ? filter.lst : [filter];
|
|
68
|
+
let numberofmatchedterms = 0;
|
|
69
|
+
for (const item of lst) {
|
|
70
|
+
if ("type" in item && item.type == "tvslst") {
|
|
71
|
+
if (sample_match_termvaluesetting(row, item, _term, sample)) {
|
|
72
|
+
numberofmatchedterms++;
|
|
73
|
+
}
|
|
74
|
+
} else {
|
|
75
|
+
const itemCopy = JSON.parse(JSON.stringify(item));
|
|
76
|
+
const t = itemCopy.tvs;
|
|
77
|
+
if (_term && t.term) {
|
|
78
|
+
if (!(_term.name == t.term.name && _term.type == t.term.type)) {
|
|
79
|
+
numberofmatchedterms++;
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
let samplevalue;
|
|
84
|
+
if (_term && !t.term) {
|
|
85
|
+
if (t.term$type && t.term$type !== _term.type) {
|
|
86
|
+
numberofmatchedterms++;
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
t.term = _term;
|
|
90
|
+
samplevalue = typeof row === "object" && t.term.id in row ? row[t.term.id] : row;
|
|
91
|
+
} else if (sample && t.term.$id) {
|
|
92
|
+
samplevalue = sample[t.term.$id].value;
|
|
93
|
+
} else {
|
|
94
|
+
samplevalue = t.term.id in row ? row[t.term.id] : row;
|
|
95
|
+
}
|
|
96
|
+
setDatasetAnnotations(itemCopy);
|
|
97
|
+
let thistermmatch;
|
|
98
|
+
if (t.term.type == "categorical") {
|
|
99
|
+
if (samplevalue === void 0) continue;
|
|
100
|
+
thistermmatch = t.valueset.has(samplevalue);
|
|
101
|
+
} else if (t.term.type == "integer" || t.term.type == "float") {
|
|
102
|
+
if (samplevalue === void 0) continue;
|
|
103
|
+
for (const range of t.ranges) {
|
|
104
|
+
if ("value" in range) {
|
|
105
|
+
thistermmatch = samplevalue === range.value;
|
|
106
|
+
if (thistermmatch) break;
|
|
107
|
+
} else if (samplevalue == range.name) {
|
|
108
|
+
thistermmatch = true;
|
|
109
|
+
break;
|
|
110
|
+
} else {
|
|
111
|
+
if (t.term.values) {
|
|
112
|
+
const v = t.term.values[samplevalue.toString()];
|
|
113
|
+
if (v && v.uncomputable) {
|
|
114
|
+
continue;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
let left, right;
|
|
118
|
+
if (range.startunbounded) {
|
|
119
|
+
left = true;
|
|
120
|
+
} else if ("start" in range) {
|
|
121
|
+
if (range.startinclusive) {
|
|
122
|
+
left = samplevalue >= range.start;
|
|
123
|
+
} else {
|
|
124
|
+
left = samplevalue > range.start;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
if (range.stopunbounded) {
|
|
128
|
+
right = true;
|
|
129
|
+
} else if ("stop" in range) {
|
|
130
|
+
if (range.stopinclusive) {
|
|
131
|
+
right = samplevalue <= range.stop;
|
|
132
|
+
} else {
|
|
133
|
+
right = samplevalue < range.stop;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
thistermmatch = left && right;
|
|
137
|
+
}
|
|
138
|
+
if (thistermmatch) break;
|
|
139
|
+
}
|
|
140
|
+
} else if (t.term.type == "condition") {
|
|
141
|
+
const key = getPrecomputedKey(t);
|
|
142
|
+
const anno = samplevalue && samplevalue[key];
|
|
143
|
+
if (anno) {
|
|
144
|
+
thistermmatch = Array.isArray(anno) ? t.values.find((d) => anno.includes(d.key)) : t.values.find((d) => d.key == anno);
|
|
145
|
+
}
|
|
146
|
+
} else if (t.term.type == "geneVariant") {
|
|
147
|
+
const svalues = samplevalue.values || [samplevalue];
|
|
148
|
+
for (const sv of svalues) {
|
|
149
|
+
thistermmatch = t.values.find(
|
|
150
|
+
(v) => v.dt == sv.dt && (!v.origin || sv.origin == v.origin) && (!v.mclasslst || v.mclasslst.includes(sv.class))
|
|
151
|
+
) && true;
|
|
152
|
+
if (thistermmatch) break;
|
|
153
|
+
}
|
|
154
|
+
} else {
|
|
155
|
+
throw "unknown term type [sample_match_termvaluesetting() shared/utils/src/filter.ts]";
|
|
156
|
+
}
|
|
157
|
+
if (t.isnot) {
|
|
158
|
+
thistermmatch = !thistermmatch;
|
|
159
|
+
}
|
|
160
|
+
if (thistermmatch) numberofmatchedterms++;
|
|
161
|
+
}
|
|
162
|
+
if (filter.join == "or") {
|
|
163
|
+
if (numberofmatchedterms && filter.in) return true;
|
|
164
|
+
if (!numberofmatchedterms && !filter.in) return true;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
if (!("in" in filter)) filter.in = true;
|
|
168
|
+
return filter.in == (numberofmatchedterms == lst.length);
|
|
169
|
+
}
|
|
170
|
+
function setDatasetAnnotations(item, ds = null) {
|
|
171
|
+
if (item.type == "tvslst") {
|
|
172
|
+
for (const subitem of item.lst) {
|
|
173
|
+
setDatasetAnnotations(subitem, ds);
|
|
174
|
+
}
|
|
175
|
+
} else {
|
|
176
|
+
if (ds && typeof ds.setAnnoByTermId == "function") {
|
|
177
|
+
ds.setAnnoByTermId(item.tvs.term.id);
|
|
178
|
+
}
|
|
179
|
+
if (item.tvs.term.type == "categorical") {
|
|
180
|
+
const tvsAny = item.tvs;
|
|
181
|
+
tvsAny.valueset = new Set(tvsAny.values.map((i) => i.key));
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
function getPrecomputedKey(q) {
|
|
186
|
+
const precomputedKey = q.bar_by_children && q.value_by_max_grade ? "childrenAtMaxGrade" : q.bar_by_children && q.value_by_most_recent ? "childrenAtMostRecent" : q.bar_by_children && q.value_by_computable_grade ? "children" : q.bar_by_grade && q.value_by_max_grade ? "maxGrade" : q.bar_by_grade && q.value_by_most_recent ? "mostRecentGrades" : q.bar_by_grade && q.value_by_computable_grade ? "computableGrades" : "";
|
|
187
|
+
if (!precomputedKey) throw `unknown condition term bar_by_* and/or value_by_*`;
|
|
188
|
+
return precomputedKey;
|
|
189
|
+
}
|
|
190
|
+
function getWrappedTvslst(lst = [], join = "", $id = null) {
|
|
191
|
+
const filter = {
|
|
192
|
+
type: "tvslst",
|
|
193
|
+
in: true,
|
|
194
|
+
join,
|
|
195
|
+
lst
|
|
196
|
+
};
|
|
197
|
+
if ($id !== null) filter.$id = $id;
|
|
198
|
+
return filter;
|
|
199
|
+
}
|
|
200
|
+
function getTvsDenominators(term) {
|
|
201
|
+
if (Array.isArray(term?.denominators) && term.denominators.length) return term.denominators;
|
|
202
|
+
return (term?.termlst || []).map((t) => t.id);
|
|
203
|
+
}
|
|
204
|
+
function validateTermCollectionTvs(term) {
|
|
205
|
+
const memberIds = validateTermCollectionTerm(term);
|
|
206
|
+
if (!term.numerators) return;
|
|
207
|
+
validateFractionMembers(term.numerators, getTvsDenominators(term), memberIds);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
export {
|
|
211
|
+
isFractionTw,
|
|
212
|
+
getFractionTvsTerm,
|
|
213
|
+
validateTermCollectionFraction,
|
|
214
|
+
getFilteredSamples,
|
|
215
|
+
sample_match_termvaluesetting,
|
|
216
|
+
getWrappedTvslst,
|
|
217
|
+
getTvsDenominators,
|
|
218
|
+
validateTermCollectionTvs
|
|
219
|
+
};
|
|
220
|
+
//# sourceMappingURL=chunk-4WF3XDQP.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../shared/utils/src/termCollection.ts", "../../shared/utils/src/filter.ts"],
|
|
4
|
+
"sourcesContent": ["import type { TermCollectionQFraction } from '#types'\n\ntype CollectionMemberLike = {\n\tid?: string\n\tname?: string\n\ttype?: string\n}\n\nexport type CollectionTermLike = {\n\ttermlst: CollectionMemberLike[]\n\t/** numerator/denominator member ids of a filter tvs, mirroring q.numerators[]/q.denominators[]\n\tof a fraction tw. only used by validateTermCollectionTvs() */\n\tnumerators?: string[]\n\tdenominators?: string[]\n}\n\n/** Validate the term obj of a termCollection, shared by the fraction tw and the filter tvs.\nReturns the set of member term ids, for validating id arrays e.g. numerators. */\nexport function validateTermCollectionTerm(term: CollectionTermLike): Set<string> {\n\tif (!Array.isArray(term?.termlst) || !term.termlst.length)\n\t\tthrow new Error('termCollection requires nonempty term.termlst[]')\n\tconst memberIds: Set<string> = new Set()\n\tconst types: Set<string> = new Set() // term types of member terms\n\tfor (const t of term.termlst) {\n\t\tif (typeof t.id != 'string' || !t.id) throw new Error('member term id not non-empty string') // id required for validating id arrays e.g. numerators\n\t\tif (typeof t.type != 'string' || !t.type) throw new Error('member term type not non-empty string')\n\t\tif (memberIds.has(t.id)) throw new Error(`duplicate member term id '${t.id}'`)\n\t\tmemberIds.add(t.id)\n\n\t\t// allow integer/float to be mixed in one collection\n\t\ttypes.add(t.type == 'integer' || t.type == 'float' ? 'numDict' : t.type)\n\t}\n\tif (types.size > 1) throw new Error('termCollection.termlst[] not allowed to mix multiple term types')\n\treturn memberIds\n}\n\n/** Validate the numerator/denominator member selection of a fraction, shared by the q{} of a\nfraction tw and the term of a filter tvs. Both lists are member term ids of the collection.\nmemberIds is returned by validateTermCollectionTerm() */\nexport function validateFractionMembers(numerators: string[], denominators: string[], memberIds: Set<string>): void {\n\tif (!Array.isArray(denominators) || !denominators.length) throw new Error('fraction requires nonempty denominators[]')\n\tif (!Array.isArray(numerators) || !numerators.length) throw new Error('fraction requires nonempty numerators[]')\n\tif (new Set(denominators).size !== denominators.length) throw new Error('fraction denominators[] contains duplicates')\n\tif (new Set(numerators).size !== numerators.length) throw new Error('fraction numerators[] contains duplicates')\n\tfor (const id of denominators) {\n\t\tif (typeof id != 'string' || !id) throw new Error('fraction denominator id not non-empty string')\n\t\tif (!memberIds.has(id)) throw new Error(`fraction denominator '${id}' is not a collection member`)\n\t}\n\tfor (const id of numerators) {\n\t\tif (typeof id != 'string' || !id) throw new Error('fraction numerator id not non-empty string')\n\t\t// no need to test against memberIds: denominators[] is already a subset of it\n\t\tif (!denominators.includes(id)) throw new Error(`fraction numerator '${id}' is not included in denominators[]`)\n\t}\n}\n\n/** tw.type of a termCollection that resolves to one numeric value per sample, the fraction\nof the numerator members over the denominator ones */\nexport const FRACTION_TW_TYPE = 'TermCollectionTWFraction'\n\n/** True when a tw is a fraction termCollection */\nexport function isFractionTw(tw: any): boolean {\n\treturn tw?.type === FRACTION_TW_TYPE && tw?.term?.type === 'termCollection'\n}\n\n/** Build the tvs.term for filtering on a fraction termCollection, e.g. from a clicked bar\nor a brushed violin. The member selection of a tw lives in q{}, but a tvs is standalone:\nthe server filter and the filter ui both read numerators[]/denominators[] from tvs.term.\nReturns a copy, so that editing the filter later does not mutate the plot term.\n@param tw a filled fraction termCollection tw\n@throws Error if the tw or its member selection is invalid */\nexport function getFractionTvsTerm(tw: any): CollectionTermLike {\n\tif (!isFractionTw(tw)) throw new Error('not a fraction termCollection tw')\n\tconst term = structuredClone(tw.term)\n\t// a min copy tw may carry termIds[] instead of the full termlst[]\n\tconst memberIds = term.termlst?.length ? validateTermCollectionTerm(term) : new Set<string>(term.termIds || [])\n\tconst denominators = tw.q?.denominators?.length ? [...tw.q.denominators] : [...memberIds]\n\tconst numerators = tw.q?.numerators?.length ? [...tw.q.numerators] : [...denominators]\n\tvalidateFractionMembers(numerators, denominators, memberIds)\n\tterm.numerators = numerators\n\tterm.denominators = denominators\n\treturn term\n}\n\n/** Validate the member selection and binning discriminator for a fraction term collection. */\nexport function validateTermCollectionFraction(q: TermCollectionQFraction, term: CollectionTermLike): void {\n\tconst memberIds = validateTermCollectionTerm(term)\n\tvalidateFractionMembers(q?.numerators, q?.denominators, memberIds)\n\tif (q.mode === 'discrete' && q.type !== 'regular-bin' && q.type !== 'custom-bin')\n\t\tthrow new Error('discrete fraction termCollection requires regular-bin or custom-bin q.type')\n}\n", "import type { Filter, Tvs } from '#types'\nimport { validateTermCollectionTerm, validateFractionMembers, type CollectionTermLike } from './termCollection.js'\n\n/**\n * Sample annotation structure\n */\nexport interface SampleAnnotation {\n\tsample: string | number\n\ts?: Record<string, any>\n\tdata?: Record<string, any>\n}\n\n/**\n * Dataset with annotation functionality\n */\nexport interface Dataset {\n\tsetAnnoByTermId?: (termId: string) => void\n}\n\n/**\n * Filters an array of sample annotations and returns a Set of matching sample names\n * @param sampleAnno Array of sample annotations\n * @param filter Nested filter structure as used in the termdbapp\n * @returns Set of sample names that match the filter\n */\nexport function getFilteredSamples(sampleAnno: SampleAnnotation[], filter: Filter): Set<string | number> {\n\tsetDatasetAnnotations(filter)\n\n\tconst samples = new Set<string | number>()\n\tfor (const anno of sampleAnno) {\n\t\tif (samples.has(anno.sample)) continue\n\t\tconst data = anno.s || anno.data\n\t\tif (data && sample_match_termvaluesetting(data, filter)) {\n\t\t\tsamples.add(anno.sample)\n\t\t}\n\t}\n\treturn samples\n}\n\n/**\n * Given a value from a sample's annotation of a term, return true if a value matches the filter\n * @param row Sample annotation data\n * @param filter Filter structure or single tvs item\n * @param _term Optional term to filter by\n * @param sample Optional sample data\n * @returns True if the sample matches the filter\n */\nexport function sample_match_termvaluesetting(\n\trow: any,\n\tfilter: Filter,\n\t_term: any = null,\n\tsample: any = null\n): boolean {\n\tconst lst = filter.type == 'tvslst' ? filter.lst : [filter]\n\tlet numberofmatchedterms = 0\n\n\t/* for AND, require all terms to match */\n\tfor (const item of lst) {\n\t\tif ('type' in item && item.type == 'tvslst') {\n\t\t\tif (sample_match_termvaluesetting(row, item, _term, sample)) {\n\t\t\t\tnumberofmatchedterms++\n\t\t\t}\n\t\t} else {\n\t\t\tconst itemCopy = JSON.parse(JSON.stringify(item))\n\t\t\tconst t = itemCopy.tvs\n\n\t\t\tif (_term && t.term) {\n\t\t\t\tif (!(_term.name == t.term.name && _term.type == t.term.type)) {\n\t\t\t\t\t// for an filter from \"this.config.legendValueFilter\", if the filter is not for the tw\n\t\t\t\t\t// (not the same type and name), ignore the filter.\n\t\t\t\t\tnumberofmatchedterms++\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet samplevalue\n\t\t\tif (_term && !t.term) {\n\t\t\t\tif (t.term$type && t.term$type !== _term.type) {\n\t\t\t\t\t//when the filter is not for the term being tested, ignore the filter\n\t\t\t\t\tnumberofmatchedterms++\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tt.term = _term\n\t\t\t\tsamplevalue = typeof row === 'object' && t.term.id in row ? row[t.term.id] : row\n\t\t\t} else if (sample && t.term.$id) {\n\t\t\t\tsamplevalue = sample[t.term.$id].value\n\t\t\t} else {\n\t\t\t\tsamplevalue = t.term.id in row ? row[t.term.id] : row\n\t\t\t}\n\t\t\tsetDatasetAnnotations(itemCopy)\n\t\t\tlet thistermmatch\n\n\t\t\tif (t.term.type == 'categorical') {\n\t\t\t\tif (samplevalue === undefined) continue // this sample has no anno for this term, do not count\n\t\t\t\tthistermmatch = t.valueset.has(samplevalue)\n\t\t\t} else if (t.term.type == 'integer' || t.term.type == 'float') {\n\t\t\t\tif (samplevalue === undefined) continue // this sample has no anno for this term, do not count\n\t\t\t\tfor (const range of t.ranges) {\n\t\t\t\t\tif ('value' in range) {\n\t\t\t\t\t\tthistermmatch = samplevalue === range.value\n\t\t\t\t\t\tif (thistermmatch) break\n\t\t\t\t\t} else if (samplevalue == range.name) {\n\t\t\t\t\t\tthistermmatch = true\n\t\t\t\t\t\tbreak\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// actual range\n\t\t\t\t\t\tif (t.term.values) {\n\t\t\t\t\t\t\tconst v = t.term.values[samplevalue.toString()]\n\t\t\t\t\t\t\tif (v && v.uncomputable) {\n\t\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet left, right\n\t\t\t\t\t\tif (range.startunbounded) {\n\t\t\t\t\t\t\tleft = true\n\t\t\t\t\t\t} else if ('start' in range) {\n\t\t\t\t\t\t\tif (range.startinclusive) {\n\t\t\t\t\t\t\t\tleft = samplevalue >= range.start\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tleft = samplevalue > range.start\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (range.stopunbounded) {\n\t\t\t\t\t\t\tright = true\n\t\t\t\t\t\t} else if ('stop' in range) {\n\t\t\t\t\t\t\tif (range.stopinclusive) {\n\t\t\t\t\t\t\t\tright = samplevalue <= range.stop\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tright = samplevalue < range.stop\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthistermmatch = left && right\n\t\t\t\t\t}\n\t\t\t\t\tif (thistermmatch) break\n\t\t\t\t}\n\t\t\t} else if (t.term.type == 'condition') {\n\t\t\t\tconst key = getPrecomputedKey(t)\n\t\t\t\tconst anno = samplevalue && samplevalue[key]\n\t\t\t\tif (anno) {\n\t\t\t\t\tthistermmatch = Array.isArray(anno)\n\t\t\t\t\t\t? t.values.find((d: any) => anno.includes(d.key))\n\t\t\t\t\t\t: t.values.find((d: any) => d.key == anno)\n\t\t\t\t}\n\t\t\t} else if (t.term.type == 'geneVariant') {\n\t\t\t\t/*\n\t\t\t\tsamplevalue.values here can be an array or only one of the entries \n\t\t\t\t[\n\t\t\t\t\t{ dt: 1, class: 'WT', _SAMPLEID_: 21, origin: 'germline' },\n\t\t\t\t\t{ dt: 1, class: 'WT', _SAMPLEID_: 21, origin: 'somatic' },\n\t\t\t\t\t{ dt: 2, class: 'Blank', _SAMPLEID_: 21 },\n\t\t\t\t\t{ dt: 4, class: 'WT', _SAMPLEID_: 21 }\n\t\t\t\t]\n\t\t\t\t*/\n\t\t\t\t/* tvs.values is an array that stores classes (for each available dt) that have/haven't been crossed out by the user at this round of edit-and-apply, e.g.\n [\n {dt: 1, mclassLst: ['WT'], mclassExcludeLst: ['Blank'], origin: 'germline'}\n {dt: 1, mclassLst: ['Blank', 'WT', 'M'], mclassExcludeLst:[], origin:'somatic'},\n {dt: 2, mclassLst: ['Blank', 'WT'], mclassExcludeLst:[]}\n {dt: 4, mclassLst: ['WT', 'CNV_loss'], mclassExcludeLst:[]}\n ]\n */\n\t\t\t\tconst svalues = samplevalue.values || [samplevalue]\n\t\t\t\tfor (const sv of svalues) {\n\t\t\t\t\tthistermmatch =\n\t\t\t\t\t\tt.values.find(\n\t\t\t\t\t\t\t(v: any) =>\n\t\t\t\t\t\t\t\tv.dt == sv.dt &&\n\t\t\t\t\t\t\t\t(!v.origin || sv.origin == v.origin) &&\n\t\t\t\t\t\t\t\t(!v.mclasslst || v.mclasslst.includes(sv.class))\n\t\t\t\t\t\t) && true\n\t\t\t\t\tif (thistermmatch) break\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthrow 'unknown term type [sample_match_termvaluesetting() shared/utils/src/filter.ts]'\n\t\t\t}\n\n\t\t\tif (t.isnot) {\n\t\t\t\tthistermmatch = !thistermmatch\n\t\t\t}\n\t\t\tif (thistermmatch) numberofmatchedterms++\n\t\t}\n\n\t\t// if one tvslst is matched with an \"or\" (Set UNION), then sample is okay\n\t\tif (filter.join == 'or') {\n\t\t\tif (numberofmatchedterms && filter.in) return true\n\t\t\tif (!numberofmatchedterms && !filter.in) return true\n\t\t}\n\t}\n\t// for join=\"and\" (Set intersection)\n\tif (!('in' in filter)) (filter as any).in = true // casting to any avoids tsc err despite it's typed!\n\treturn filter.in == (numberofmatchedterms == lst.length)\n}\n\n/**\n * Recursively processes filter items and sets dataset annotations\n * @param item Filter item to process\n * @param ds Optional dataset with annotation functionality\n */\nexport function setDatasetAnnotations(item: Filter | { type: 'tvs'; tvs: Tvs }, ds: Dataset | null = null): void {\n\tif (item.type == 'tvslst') {\n\t\tfor (const subitem of item.lst) {\n\t\t\tsetDatasetAnnotations(subitem, ds)\n\t\t}\n\t} else {\n\t\tif (ds && typeof ds.setAnnoByTermId == 'function') {\n\t\t\tds.setAnnoByTermId(item.tvs.term.id)\n\t\t}\n\t\tif (item.tvs.term.type == 'categorical') {\n\t\t\tconst tvsAny = item.tvs as any\n\t\t\ttvsAny.valueset = new Set(tvsAny.values.map((i: any) => i.key))\n\t\t}\n\t}\n}\n\n/**\n * Gets the precomputed key for a condition term based on bar_by and value_by settings\n */\nfunction getPrecomputedKey(q: any): string {\n\tconst precomputedKey =\n\t\tq.bar_by_children && q.value_by_max_grade\n\t\t\t? 'childrenAtMaxGrade'\n\t\t\t: q.bar_by_children && q.value_by_most_recent\n\t\t\t? 'childrenAtMostRecent'\n\t\t\t: q.bar_by_children && q.value_by_computable_grade\n\t\t\t? 'children'\n\t\t\t: q.bar_by_grade && q.value_by_max_grade\n\t\t\t? 'maxGrade'\n\t\t\t: q.bar_by_grade && q.value_by_most_recent\n\t\t\t? 'mostRecentGrades'\n\t\t\t: q.bar_by_grade && q.value_by_computable_grade\n\t\t\t? 'computableGrades'\n\t\t\t: ''\n\tif (!precomputedKey) throw `unknown condition term bar_by_* and/or value_by_*`\n\treturn precomputedKey\n}\n\n/**\n * Joins a list of filters into the first filter with \"and\", returns joined filter\n * Used by caller app to join hidden filters into a visible filter\n * @param lst List of filters to join\n * @returns The joined filter\n */\nexport function filterJoin(lst: Filter[]): Filter | undefined {\n\tif (!lst || lst.length == 0) return\n\tlet f = JSON.parse(JSON.stringify(lst[0]))\n\tif (lst.length == 1) return f\n\t// more than 1 item, will join\n\tif (f.lst.length < 2) {\n\t\tif (f.join !== '') throw 'filter.join must be an empty string \"\" when filter.lst.length < 2'\n\t\tf.join = 'and'\n\t} else if (f.join == 'or') {\n\t\t// f is \"or\", wrap it with another root layer of \"and\"\n\t\tf = {\n\t\t\ttype: 'tvslst',\n\t\t\tjoin: 'and',\n\t\t\tin: true,\n\t\t\tlst: [f]\n\t\t}\n\t} else if (f.join != 'and') {\n\t\tthrow 'filter.join must be either \"and\" or \"or\" when .lst length > 1'\n\t}\n\t// now, f.join should be \"and\"\n\t// if the argument lst[0].join == \"and\",\n\t// then the f.in boolean value is reused\n\tfor (let i = 1; i < lst.length; i++) {\n\t\tconst f2 = JSON.parse(JSON.stringify(lst[i]))\n\t\tif (f2.join == 'or') f.lst.push(f2)\n\t\telse f.lst.push(...f2.lst)\n\t}\n\t// if f ends up single-tvs item (from joining single tvs to empty filter), need to set join to '' per filter spec\n\tif (f.lst.length == 1 && f.lst[0].type == 'tvs') {\n\t\tf.join = ''\n\t}\n\treturn f\n}\n\n/**\n * Creates a wrapped tvslst (term value settings list) filter object\n * @param lst List of filter items\n * @param join Join operation (and/or)\n * @param $id Optional filter ID\n * @returns Wrapped filter object\n */\nexport function getWrappedTvslst(lst: Filter['lst'] = [], join: string = '', $id: string | null = null): Filter {\n\tconst filter: Filter = {\n\t\ttype: 'tvslst',\n\t\tin: true,\n\t\tjoin,\n\t\tlst\n\t}\n\tif ($id !== null) filter.$id = $id\n\treturn filter\n}\n\nexport function getTvsDenominators(term: any): string[] {\n\t/* Denominator term ids of a termCollection tvs, which reduces the collection to a\n\tpercentage. term.denominators[] is explicit, matching q.denominators[] of a fraction\n\ttermCollection tw. Filters saved before term.denominators[] existed implied the\n\tdenominator from term.termlst[], which was pruned to the selected members. */\n\tif (Array.isArray(term?.denominators) && term.denominators.length) return term.denominators\n\treturn (term?.termlst || []).map(t => t.id)\n}\n\n/**\n * Validates the term obj of a termCollection tvs, and its fraction member selection\n * @param term tvs.term of a termCollection. term.numerators[] is optional: a tvs may brush\n * on a single member instead of the numerator/denominator fraction. When present, it is\n * validated against the denominators from getTvsDenominators()\n * @throws Error if validation fails\n */\nexport function validateTermCollectionTvs(term: CollectionTermLike): void {\n\tconst memberIds = validateTermCollectionTerm(term)\n\tif (!term.numerators) return // not filtering on a fraction, nothing more to validate\n\tvalidateFractionMembers(term.numerators, getTvsDenominators(term), memberIds)\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import {
|
|
2
|
+
keyupEnter
|
|
3
|
+
} from "./chunk-TKW5TW4Z.js";
|
|
4
|
+
import {
|
|
5
|
+
require_debounce
|
|
6
|
+
} from "./chunk-LSEFWW72.js";
|
|
7
|
+
import {
|
|
8
|
+
Menu
|
|
9
|
+
} from "./chunk-HYOEWQ5P.js";
|
|
10
|
+
import {
|
|
11
|
+
dofetch,
|
|
12
|
+
dofetch3
|
|
13
|
+
} from "./chunk-JVPWIVDT.js";
|
|
14
|
+
import {
|
|
15
|
+
__toESM
|
|
16
|
+
} from "./chunk-HFNDKYVF.js";
|
|
17
|
+
|
|
18
|
+
// src/gene.js
|
|
19
|
+
var import_debounce = __toESM(require_debounce(), 1);
|
|
20
|
+
var tip;
|
|
21
|
+
function gene_searchbox(p) {
|
|
22
|
+
if (!tip) {
|
|
23
|
+
tip = new Menu({ padding: "" });
|
|
24
|
+
tip.d.style("z-index", 1e3);
|
|
25
|
+
}
|
|
26
|
+
const input = p.div.append("input").attr("placeholder", "Search gene").style("width", p.width || "100px");
|
|
27
|
+
const printdiv = p.resultdiv || (p.tip ? p.tip.d : tip.d);
|
|
28
|
+
function fold() {
|
|
29
|
+
if (p.resultdiv) {
|
|
30
|
+
p.resultdiv.selectAll("*").remove();
|
|
31
|
+
} else if (p.tip) {
|
|
32
|
+
p.tip.hide();
|
|
33
|
+
} else {
|
|
34
|
+
tip.hide();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
input.on("keyup", (event) => {
|
|
38
|
+
const str = event.target.value;
|
|
39
|
+
if (str.length <= 1) {
|
|
40
|
+
fold();
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (keyupEnter(event)) {
|
|
44
|
+
const hitgene = printdiv.select(".sja_menuoption");
|
|
45
|
+
if (hitgene.size() > 0) {
|
|
46
|
+
p.callback(hitgene.text());
|
|
47
|
+
fold();
|
|
48
|
+
}
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
debouncer();
|
|
52
|
+
});
|
|
53
|
+
input.node().focus();
|
|
54
|
+
function genesearch() {
|
|
55
|
+
dofetch("genelookup", { genome: p.genome, input: input.property("value") }).then((data) => {
|
|
56
|
+
if (data.error) throw data.error;
|
|
57
|
+
if (!data.hits) throw ".hits[] missing";
|
|
58
|
+
if (p.resultdiv) {
|
|
59
|
+
p.resultdiv.selectAll("*").remove();
|
|
60
|
+
} else if (p.tip) {
|
|
61
|
+
p.tip.clear().showunder(input.node());
|
|
62
|
+
} else {
|
|
63
|
+
tip.clear().showunder(input.node());
|
|
64
|
+
}
|
|
65
|
+
for (const name of data.hits) {
|
|
66
|
+
printdiv.append("div").attr("class", "sja_menuoption").text(name).on("click", () => {
|
|
67
|
+
p.callback(name);
|
|
68
|
+
fold();
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}).catch((err) => {
|
|
72
|
+
printdiv.append("div").text(err.message || err);
|
|
73
|
+
if (err.stack) console.log(err.stack);
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
const debouncer = (0, import_debounce.debounce)(genesearch, 300);
|
|
77
|
+
}
|
|
78
|
+
function findgenemodel_bysymbol(genome, str) {
|
|
79
|
+
return dofetch3("genelookup", {
|
|
80
|
+
body: {
|
|
81
|
+
deep: 1,
|
|
82
|
+
input: str,
|
|
83
|
+
genome
|
|
84
|
+
}
|
|
85
|
+
}).then((data) => {
|
|
86
|
+
if (data.error) throw data.error;
|
|
87
|
+
if (!data.gmlst || data.gmlst.length == 0) return null;
|
|
88
|
+
return data.gmlst;
|
|
89
|
+
}).catch((e) => {
|
|
90
|
+
throw e;
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export {
|
|
95
|
+
gene_searchbox,
|
|
96
|
+
findgenemodel_bysymbol
|
|
97
|
+
};
|
|
98
|
+
//# sourceMappingURL=chunk-5DMVORBB.js.map
|