@sjcrh/proteinpaint-client 2.226.0 → 2.227.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-B34EJADN.js +1362 -0
- package/dist/AggMatrixInput-USCXGZT2.js +402 -0
- package/dist/AggregateMatrix-VLCSBD65.js +37 -0
- package/dist/AppHeader-KE7QVEW5.js +826 -0
- package/dist/BoxPlot-3H5QKYRD.js +1247 -0
- package/dist/CorrelationVolcano-ACEJOJS6.js +613 -0
- package/dist/CorrelationVolcano-ACEJOJS6.js.map +7 -0
- package/dist/Cuminc-6LPS4LR7.js +1217 -0
- package/dist/DE-TTKEQYC7.js +85 -0
- package/dist/DEinput-W7WEO2NO.js +483 -0
- package/dist/DEinput-W7WEO2NO.js.map +7 -0
- package/dist/DM-2TUF6Q3C.js +86 -0
- package/dist/DifferentialAnalysis-3LP4RAWF.js +236 -0
- package/dist/Disco-UP5C7UWX.js +3445 -0
- package/dist/Disco.UI-V4I4LOMF.js +239 -0
- package/dist/DmrPlot-TZR2NGIH.js +366 -0
- package/dist/GB-4NRY4YMF.js +1388 -0
- package/dist/GB-4NRY4YMF.js.map +7 -0
- package/dist/GSEA-YGKBRJJO.js +870 -0
- package/dist/GeneExpInput-L3J2ECVQ.js +38 -0
- package/dist/Geomap-4MHU6F57.js +80 -0
- package/dist/HicApp-27VGP5F6.js +2240 -0
- package/dist/IDCViewer-37GJPPUY.js +10810 -0
- package/dist/NumBinaryEditor-SEC2NDGG.js +274 -0
- package/dist/NumBinaryEditor.unit.spec-UDYSUC4S.js +308 -0
- package/dist/NumContEditor-YPSYWU2A.js +100 -0
- package/dist/NumContEditor.unit.spec-NHFBMHQ5.js +160 -0
- package/dist/NumCustomBinEditor-N7US5Q64.js +29 -0
- package/dist/NumCustomBinEditor.unit.spec-2BMMUBYU.js +393 -0
- package/dist/NumDiscreteEditor-BLQ5DEB7.js +165 -0
- package/dist/NumDiscreteEditor.unit.spec-JOFPUFU5.js +229 -0
- package/dist/NumRegularBinEditor-7BFPBUW2.js +29 -0
- package/dist/NumRegularBinEditor.unit.spec-6GZMNRHA.js +274 -0
- package/dist/NumSplineEditor-LO3ZR3T3.js +205 -0
- package/dist/NumSplineEditor.unit.spec-MRA3DQSB.js +220 -0
- package/dist/NumericDensity-NUCVJZ74.js +29 -0
- package/dist/NumericDensity.unit.spec-TZLKWH4U.js +414 -0
- package/dist/NumericHandler-NH533VBN.js +30 -0
- package/dist/NumericHandler.unit.spec-V7MNEHML.js +225 -0
- package/dist/ProteomeInput-FEXWZOA2.js +610 -0
- package/dist/Regression-NJAPUGT7.js +1412 -0
- package/dist/RunChart2-QIJ6NUWY.js +744 -0
- package/dist/SC-5NWBVOEE.js +1290 -0
- package/dist/Violin-TMACI43Q.js +1105 -0
- package/dist/Volcano-BMLHQEXU.js +2745 -0
- package/dist/Volcano-BMLHQEXU.js.map +7 -0
- package/dist/Wsi-5TWAOBFG.js +650 -0
- package/dist/Wsi-5TWAOBFG.js.map +7 -0
- package/dist/aboutSunburst-53YAWTV5.js +93 -0
- package/dist/adSandbox-7VHXEI7W.js +29 -0
- package/dist/animatedBubbleChart-CTFGJIRR.js +542 -0
- package/dist/app-AQAQAPUN.js +38 -0
- package/dist/app-SZDIV5U4.js +28 -0
- package/dist/app.js +12 -12
- package/dist/bam-3U5R2KNC.js +872 -0
- package/dist/barchart-ZL5VSR7P.js +38 -0
- package/dist/barchart2-YELP2HI7.js +305 -0
- package/dist/block-AGX6Z4BR.js +6208 -0
- package/dist/block-AGX6Z4BR.js.map +7 -0
- package/dist/block.init-IBITFICI.js +29 -0
- package/dist/block.mds.expressionrank-4L76ILD4.js +350 -0
- package/dist/block.mds.geneboxplot-XA7DFHPV.js +819 -0
- package/dist/block.mds.junction-GTZD3HEN.js +1534 -0
- package/dist/block.mds.svcnv-HTXQ3LGR.js +6325 -0
- package/dist/block.svg-BM6OMVRF.js +155 -0
- package/dist/block.tk.aicheck-CV53ULEP.js +274 -0
- package/dist/block.tk.bam-KJYFNJCX.js +1906 -0
- package/dist/block.tk.bigwig.ui-A352D6PT.js +202 -0
- package/dist/block.tk.hicstraw-QAFTQESL.js +814 -0
- package/dist/block.tk.junction-XURB4RWZ.js +2353 -0
- package/dist/block.tk.junction.textmatrixui-RNRWWNGY.js +190 -0
- package/dist/block.tk.ld-GWJMVPX3.js +90 -0
- package/dist/block.tk.menu-BJZYFMQX.js +1050 -0
- package/dist/block.tk.pgv-7XNJTHEW.js +934 -0
- package/dist/brainImaging-37EDZLGN.js +550 -0
- package/dist/brainRegions-FEW52QUB.js +213 -0
- package/dist/bubbleHeatmap-YN34AA4H.js +374 -0
- package/dist/bubbleHeatmap-YN34AA4H.js.map +7 -0
- package/dist/cellTypeBubbleHeatmap-X4K63FOK.js +274 -0
- package/dist/cellTypeBubbleHeatmap-X4K63FOK.js.map +7 -0
- package/dist/chunk-24CVFDVW.js +1219 -0
- package/dist/chunk-24CVFDVW.js.map +7 -0
- package/dist/chunk-2B3CYHUF.js +30 -0
- package/dist/chunk-2IAELUCN.js +348 -0
- package/dist/chunk-2W6U53AG.js +195 -0
- package/dist/chunk-46GCGTHJ.js +1339 -0
- package/dist/chunk-4ZX5KHD7.js +96 -0
- package/dist/chunk-544DSOC3.js +466 -0
- package/dist/chunk-6CV3YVJD.js +194 -0
- package/dist/chunk-6UHSGC6G.js +276 -0
- package/dist/chunk-6ZZGFZV2.js +35 -0
- package/dist/chunk-72FUMSAN.js +6375 -0
- package/dist/chunk-7DC4PD5R.js +182 -0
- package/dist/chunk-7ISYXUJ7.js +243 -0
- package/dist/chunk-7NVFEGCE.js +30 -0
- package/dist/chunk-7PQ6MLKG.js +1253 -0
- package/dist/chunk-BGPRKPKH.js +56 -0
- package/dist/chunk-BILGOVOR.js +480 -0
- package/dist/chunk-BKJLRLQQ.js +2008 -0
- package/dist/chunk-BQYMKS7S.js +4521 -0
- package/dist/chunk-BQYMKS7S.js.map +7 -0
- package/dist/chunk-C4BKP67I.js +123 -0
- package/dist/chunk-CFYWQJ7F.js +472 -0
- package/dist/chunk-CFYWQJ7F.js.map +7 -0
- package/dist/chunk-CQNTAIM3.js +328 -0
- package/dist/chunk-CW3IVTRX.js +2685 -0
- package/dist/chunk-D7KZWYP5.js +516 -0
- package/dist/chunk-DFHERVYA.js +961 -0
- package/dist/chunk-DFHERVYA.js.map +7 -0
- package/dist/chunk-DNXOZATD.js +848 -0
- package/dist/chunk-DXF3YDRG.js +2334 -0
- package/dist/chunk-ECBVUPDE.js +626 -0
- package/dist/chunk-ES22B563.js +257 -0
- package/dist/chunk-FA2B6PKK.js +42 -0
- package/dist/chunk-FMHSDIVG.js +2932 -0
- package/dist/chunk-G5UFOMON.js +255 -0
- package/dist/chunk-GKA6USKV.js +550 -0
- package/dist/chunk-HGIPR72Y.js +299 -0
- package/dist/chunk-IBUDYN5E.js +468 -0
- package/dist/chunk-J37WYVIZ.js +418 -0
- package/dist/chunk-JG5CF5Q3.js +397 -0
- package/dist/chunk-JI632MAR.js +400 -0
- package/dist/chunk-JI632MAR.js.map +7 -0
- package/dist/chunk-JKPMBNRM.js +100 -0
- package/dist/chunk-JKPMBNRM.js.map +7 -0
- package/dist/chunk-JSQH233D.js +263 -0
- package/dist/chunk-JWWLSDVM.js +296 -0
- package/dist/chunk-KGK4JJ4L.js +830 -0
- package/dist/chunk-KGK4JJ4L.js.map +7 -0
- package/dist/chunk-KTJUDDVQ.js +340 -0
- package/dist/chunk-MY5MF4RI.js +55 -0
- package/dist/chunk-P4ZGUPGA.js +56 -0
- package/dist/chunk-PQDYA3ZQ.js +274 -0
- package/dist/chunk-PVJ6IIFA.js +176 -0
- package/dist/chunk-QGG5MTIL.js +161 -0
- package/dist/chunk-QGG5MTIL.js.map +7 -0
- package/dist/chunk-QKVKQD6S.js +184 -0
- package/dist/chunk-QNACCFOA.js +48 -0
- package/dist/chunk-R6O3FLKW.js +141 -0
- package/dist/chunk-RFQQRF6Q.js +54 -0
- package/dist/chunk-RG27DDKN.js +267 -0
- package/dist/chunk-SB5DR4NL.js +562 -0
- package/dist/chunk-SF42FFDZ.js +2799 -0
- package/dist/chunk-SORR4JHU.js +14 -0
- package/dist/chunk-SZEBQMZW.js +50 -0
- package/dist/chunk-THDOHHDN.js +102 -0
- package/dist/chunk-TXDCZOPG.js +305 -0
- package/dist/chunk-U6GSEOBY.js +54 -0
- package/dist/chunk-UBTNM5RO.js +203 -0
- package/dist/chunk-UHZDDPUU.js +444 -0
- package/dist/chunk-UVES3USV.js +134 -0
- package/dist/chunk-UYA5LCAR.js +281 -0
- package/dist/chunk-VHEXNBCO.js +379 -0
- package/dist/chunk-VJJJFEOU.js +96 -0
- package/dist/chunk-VPRP24DY.js +2095 -0
- package/dist/chunk-VVWZ4BOI.js +2349 -0
- package/dist/chunk-WENNRY5E.js +170 -0
- package/dist/chunk-WTLUZOBK.js +103 -0
- package/dist/chunk-YBXQBSFY.js +26888 -0
- package/dist/chunk-YBXQBSFY.js.map +7 -0
- package/dist/chunk-ZLEGHQOO.js +217 -0
- package/dist/chunk-ZO7KUAIF.js +5258 -0
- package/dist/chunk-ZO7KUAIF.js.map +7 -0
- package/dist/chunk-ZX7527EE.js +240 -0
- package/dist/cohort-NKRTCX5Z.js +66 -0
- package/dist/cohortSunburst-DFJW6WXU.js +402 -0
- package/dist/condition-PYFOEVX5.js +323 -0
- package/dist/controls-RVNIN66W.js +30 -0
- package/dist/controls.config-XVEYYBI4.js +30 -0
- package/dist/correlation-MNL4DGSW.js +91 -0
- package/dist/customdata.inputui-WFIIJATQ.js +280 -0
- package/dist/dataDownload-CMSP5FA4.js +326 -0
- package/dist/databrowser.ui-FYZPXXEJ.js +424 -0
- package/dist/dictionary-76BXY6WU.js +109 -0
- package/dist/dnaMethylation-WTIJVNIU.js +29 -0
- package/dist/dnaMethylation.integration.spec-YXQEFLC5.js +194 -0
- package/dist/dnaMethylation.unit.spec-22FLJWVB.js +95 -0
- package/dist/dofetch-XID2XEJT.js +49 -0
- package/dist/e2pca-DD6DA7X3.js +340 -0
- package/dist/ep-S4PI4AUJ.js +1247 -0
- package/dist/expclust.gdc.spec-BDV4RJO6.js +298 -0
- package/dist/facet-EOXEW2LN.js +556 -0
- package/dist/gb-AKE7RDPB.js +77 -0
- package/dist/geneExpClustering-73ED7HIN.js +240 -0
- package/dist/geneExpression-AEJILDKJ.js +29 -0
- package/dist/geneExpression-NXDXXKEA.js +309 -0
- package/dist/geneExpression.unit.spec-VUJWR4TA.js +150 -0
- package/dist/geneORA-7KFQ4PW2.js +269 -0
- package/dist/geneRanking-RKJU4PM2.js +544 -0
- package/dist/geneVariant-2AGC3ECG.js +32 -0
- package/dist/geneVariant-PWMXP6H4.js +289 -0
- package/dist/geneVariant-PWMXP6H4.js.map +7 -0
- package/dist/geneVariant.integration.spec-UJXGQEZG.js +672 -0
- package/dist/genefusion.ui-KEBOA3TK.js +299 -0
- package/dist/geneset-BU6V3CB5.js +199 -0
- package/dist/genomeBrowser.spec-BGQHJZKH.js +272 -0
- package/dist/grin2-OUZN5LOU.js +66 -0
- package/dist/grin2-WRGQ7BDG.js +945 -0
- package/dist/hierCluster-3ERW47JJ.js +51 -0
- package/dist/hierCluster-JAFKBC6C.js +55 -0
- package/dist/hierCluster.config-QIJNY5OD.js +32 -0
- package/dist/hierCluster.integration.spec-XA4K3UU6.js +479 -0
- package/dist/hierCluster.interactivity-RDFPQOOP.js +45 -0
- package/dist/hierCluster.renderers-SU5IYI33.js +18 -0
- package/dist/imagePlot-J4PHG7V2.js +152 -0
- package/dist/importPlot-U67MZZXY.js +8 -0
- package/dist/isoformExpression-K5BCDJLL.js +31 -0
- package/dist/isoformExpression.unit.spec-35FHEO27.js +233 -0
- package/dist/junction-6GGWFF2J.js +32 -0
- package/dist/junction.unit.spec-7EJK4HML.js +224 -0
- package/dist/junction.unit.spec-7EJK4HML.js.map +7 -0
- package/dist/launch.adhoc-ONCSL65L.js +33 -0
- package/dist/leftlabel.sample-H5G3U7AA.js +260 -0
- package/dist/leftlabel.sample-H5G3U7AA.js.map +7 -0
- package/dist/lollipop-BWP4BG7Q.js +162 -0
- package/dist/maf-GV6JHWYK.js +451 -0
- package/dist/maftimeline-HE7XLJWG.js +583 -0
- package/dist/matrix-IAM6SA7K.js +50 -0
- package/dist/matrix-QF5MBV5Y.js +55 -0
- package/dist/matrix.cells-A5E63KDN.js +25 -0
- package/dist/matrix.config-VLRMO7J2.js +33 -0
- package/dist/matrix.data-R4FW2PQH.js +22 -0
- package/dist/matrix.groups-3UH2KOIY.js +25 -0
- package/dist/matrix.integration.spec-57YYARQU.js +3156 -0
- package/dist/matrix.interactivity-KNRJSSTQ.js +33 -0
- package/dist/matrix.layout-OMNDDITA.js +35 -0
- package/dist/matrix.legend-SE7SQTNN.js +19 -0
- package/dist/matrix.renderers-6MMW7XMU.js +30 -0
- package/dist/matrix.serieses-BEZCQDLJ.js +18 -0
- package/dist/matrix.sort-KRNS4VPF.js +25 -0
- package/dist/matrix.sort.unit.spec-UXTQPKVV.js +464 -0
- package/dist/matrix.sorterUi.unit.spec-LJJ7GCEB.js +334 -0
- package/dist/matrix.unit.spec-2OSFPN5T.js +146 -0
- package/dist/mavb-CZAZO6AO.js +726 -0
- package/dist/mds.samplescatterplot-ENSEO2VX.js +1545 -0
- package/dist/mds.survivalplot-QSKD6FSX.js +472 -0
- package/dist/multivalue-FZTFADA2.js +79 -0
- package/dist/numericDictTermCluster-IFIEM3E4.js +62 -0
- package/dist/oncomatrix-GZKCAMSR.js +286 -0
- package/dist/oncomatrix.spec-FTLMVGTH.js +439 -0
- package/dist/plot.2dvaf-PWO4XOFU.js +368 -0
- package/dist/plot.app-JYBZEBHK.js +32 -0
- package/dist/plot.barplot-PA2PDVOB.js +93 -0
- package/dist/plot.boxplot-IHIEWQWG.js +142 -0
- package/dist/plot.brainImaging-WQ2WWEW3.js +51 -0
- package/dist/plot.disco-QIURLAHA.js +100 -0
- package/dist/plot.ssgq-T27XDC4K.js +130 -0
- package/dist/plot.vaf2cov-Y2DJRQED.js +249 -0
- package/dist/polar2-3MFBRZ4G.js +228 -0
- package/dist/profileForms-J3O7XDHY.js +937 -0
- package/dist/profilePlot-C45ERAOZ.js +45 -0
- package/dist/proteinView-F2EVY7V5.js +1346 -0
- package/dist/proteinView-F2EVY7V5.js.map +7 -0
- package/dist/proteomeCohortCompare-2IS7GNJZ.js +866 -0
- package/dist/pseudbulk.unit.spec-SY3ATAPK.js +82 -0
- package/dist/pseudobulk-N6WNHKAC.js +31 -0
- package/dist/qualitative-SKUTWJLA.js +34 -0
- package/dist/qualitative-XWN5V3EE.js +241 -0
- package/dist/radar2-AHZME5CF.js +323 -0
- package/dist/radarFacility2-CVEVC4U5.js +331 -0
- package/dist/render-S47OJIIP.js +29 -0
- package/dist/report-IPX3PKSW.js +213 -0
- package/dist/sampleView-OZQUKPVV.js +39 -0
- package/dist/samplelst-7XXJTJ4J.js +114 -0
- package/dist/samplematrix-JN35HJBG.js +2188 -0
- package/dist/sc-6ZHDNPYP.js +77 -0
- package/dist/scatter-4MP6TG67.js +84 -0
- package/dist/scatter-TRMY47CC.js +919 -0
- package/dist/selectGenomeWithTklst-UDNTL544.js +125 -0
- package/dist/singleCellCellType-UXABRPQQ.js +29 -0
- package/dist/singleCellCellType.unit.spec-N22EQMZW.js +150 -0
- package/dist/singleCellGeneExpression-OBPVP6IU.js +29 -0
- package/dist/singleCellGeneExpression.unit.spec-NVCFU5B4.js +144 -0
- package/dist/singleCellNumericValue-Z2X3LLRB.js +29 -0
- package/dist/singleCellNumericValue.unit.spec-Q7DCQHEE.js +412 -0
- package/dist/singleCellPlot-S5N6ZEEA.js +44 -0
- package/dist/singlecell-OK2P4AS2.js +1562 -0
- package/dist/singlecell-RI6HA3NI.js +77 -0
- package/dist/snp-XRM2UAEJ.js +29 -0
- package/dist/snp.unit.spec-CDTYGH4K.js +167 -0
- package/dist/snplocus-CAUGDRZE.js +200 -0
- package/dist/snplst-DP533FL2.js +36 -0
- package/dist/spliceevent.a53ss.diagram-XWEN4UMO.js +142 -0
- package/dist/spliceevent.exonskip.diagram-HBXQOUT4.js +274 -0
- package/dist/spliceevent.noeventdiagram-ORQJ62ON.js +451 -0
- package/dist/ssGSEA-PLDZ2556.js +29 -0
- package/dist/ssGSEA.unit.spec-ORFJFZJY.js +79 -0
- package/dist/stattable-GVRVRO2Y.js +112 -0
- package/dist/studyCatalog-K46WJHC6.js +457 -0
- package/dist/summarizeCnvGeneexp-7WSJTWKH.js +154 -0
- package/dist/summarizeGeneexpSurvival-H3TW7I4I.js +101 -0
- package/dist/summarizeMutationCnv-JOYXEMFP.js +155 -0
- package/dist/summarizeMutationDiagnosis-GBIGXFY5.js +31 -0
- package/dist/summarizeMutationSurvival-3RULG3KW.js +95 -0
- package/dist/summary-VKLFTPC2.js +40 -0
- package/dist/summary.integration.spec-EK3MPFVD.js +405 -0
- package/dist/summaryInput-POI5KQSP.js +238 -0
- package/dist/sunburst-BIVYHF5R.js +274 -0
- package/dist/sunburst-SYHQOCGQ.js +34 -0
- package/dist/survival-CG2GQ4YY.js +1248 -0
- package/dist/survival-NEO3E2HS.js +49 -0
- package/dist/survival.integration.spec-PPK5KO4V.js +609 -0
- package/dist/svgraph-Q2U2HEMF.js +1377 -0
- package/dist/svmr-HKFHKGLI.js +3574 -0
- package/dist/svmr-HKFHKGLI.js.map +7 -0
- package/dist/swimmer-GA4C6YH7.js +993 -0
- package/dist/table-DJJIES6L.js +192 -0
- package/dist/termCollection-CHVUM5C6.js +247 -0
- package/dist/termCollection-R3LTBPJ4.js +29 -0
- package/dist/termCollection.unit.spec-B7KAAOFT.js +295 -0
- package/dist/termCollectionFractionSelection-A72QM36J.js +38 -0
- package/dist/termCollectionFractionSelection.unit.spec-JR77QEIG.js +184 -0
- package/dist/tk-GRGKFATN.js +38 -0
- package/dist/tk-WV2G2UPY.js +1224 -0
- package/dist/tk-WV2G2UPY.js.map +7 -0
- package/dist/tp.ui-NATRJ5EN.js +1453 -0
- package/dist/tvs.categorical-U2ZYLPSW.js +28 -0
- package/dist/tvs.condition-6EBZALR4.js +160 -0
- package/dist/tvs.dt-H626ESMQ.js +34 -0
- package/dist/tvs.dtcnv.categorical-6S7INDYC.js +31 -0
- package/dist/tvs.dtcnv.continuous-MLYNEMHI.js +72 -0
- package/dist/tvs.dtfusion-2OLY6X7G.js +31 -0
- package/dist/tvs.dtitd-Z6MEL5SH.js +31 -0
- package/dist/tvs.dtsnvindel-HPBQSCYV.js +31 -0
- package/dist/tvs.dtsv-BRRNX64J.js +31 -0
- package/dist/tvs.multivalue-H2G7WKAL.js +84 -0
- package/dist/tvs.numeric-OKYGMQSK.js +32 -0
- package/dist/tvs.samplelst-46FGACU7.js +95 -0
- package/dist/tvs.survival-QL4KC3SQ.js +110 -0
- package/dist/tvs.termCollection-22DFW3PF.js +118 -0
- package/dist/vocabulary-LJEERZJ6.js +32 -0
- package/dist/wsi.direct-3GGVEVQ4.js +11600 -0
- package/dist/wsi.direct-3GGVEVQ4.js.map +7 -0
- package/package.json +3 -3
- package/dist/2dmaf-CSBPMYHO.js +0 -1362
- package/dist/AggMatrixInput-2HST4LLJ.js +0 -402
- package/dist/AggregateMatrix-UPOAX44L.js +0 -37
- package/dist/AppHeader-H5QBVKUS.js +0 -826
- package/dist/BoxPlot-JTBQA6PL.js +0 -1247
- package/dist/CorrelationVolcano-AWBPVDMT.js +0 -613
- package/dist/CorrelationVolcano-AWBPVDMT.js.map +0 -7
- package/dist/Cuminc-3BXJVWIH.js +0 -1217
- package/dist/DE-237VV46D.js +0 -85
- package/dist/DEinput-W443UW5T.js +0 -479
- package/dist/DEinput-W443UW5T.js.map +0 -7
- package/dist/DM-TIW623IR.js +0 -86
- package/dist/DifferentialAnalysis-PHUA2GPK.js +0 -236
- package/dist/Disco-WHV52SCI.js +0 -3445
- package/dist/Disco.UI-UDUXNCZX.js +0 -239
- package/dist/DmrPlot-FZCD6FTX.js +0 -366
- package/dist/GB-6UW5LOUV.js +0 -1388
- package/dist/GB-6UW5LOUV.js.map +0 -7
- package/dist/GSEA-3CNHMK6M.js +0 -870
- package/dist/GeneExpInput-ZOVP7BFY.js +0 -38
- package/dist/Geomap-JREOIESM.js +0 -80
- package/dist/HicApp-RKAMIUXQ.js +0 -2240
- package/dist/IDCViewer-KXV4FU3V.js +0 -10810
- package/dist/NumBinaryEditor-FNVYUK2J.js +0 -274
- package/dist/NumBinaryEditor.unit.spec-PWR23U3J.js +0 -308
- package/dist/NumContEditor-YLBJW64K.js +0 -100
- package/dist/NumContEditor.unit.spec-6JWBCPFY.js +0 -160
- package/dist/NumCustomBinEditor-42AFCXRN.js +0 -29
- package/dist/NumCustomBinEditor.unit.spec-AFBTF2CL.js +0 -393
- package/dist/NumDiscreteEditor-FJIBZTBP.js +0 -165
- package/dist/NumDiscreteEditor.unit.spec-MC4INDCB.js +0 -229
- package/dist/NumRegularBinEditor-2WRE72TL.js +0 -29
- package/dist/NumRegularBinEditor.unit.spec-L3S6NRCM.js +0 -274
- package/dist/NumSplineEditor-TVMVAN7I.js +0 -205
- package/dist/NumSplineEditor.unit.spec-GEL36GZZ.js +0 -220
- package/dist/NumericDensity-BNFAVOFO.js +0 -29
- package/dist/NumericDensity.unit.spec-XBYUFBTQ.js +0 -414
- package/dist/NumericHandler-4VFFJNX6.js +0 -30
- package/dist/NumericHandler.unit.spec-76T2IVRS.js +0 -225
- package/dist/ProteomeInput-M5UIO73Q.js +0 -610
- package/dist/Regression-5LB5TLA6.js +0 -1412
- package/dist/RunChart2-HIFXOEKZ.js +0 -744
- package/dist/SC-SMMW5MJG.js +0 -1290
- package/dist/Violin-COAFYZOV.js +0 -1105
- package/dist/Volcano-62II76B4.js +0 -2748
- package/dist/Volcano-62II76B4.js.map +0 -7
- package/dist/Wsi-OYW2L7FR.js +0 -637
- package/dist/Wsi-OYW2L7FR.js.map +0 -7
- package/dist/aboutSunburst-3FYJGR6B.js +0 -93
- package/dist/adSandbox-4VHYWBQC.js +0 -29
- package/dist/animatedBubbleChart-QCCIC5IT.js +0 -542
- package/dist/app-IF7YPCGZ.js +0 -28
- package/dist/app-JZ43TSJP.js +0 -38
- package/dist/bam-2VPZGSW3.js +0 -872
- package/dist/barchart-VYTWYYGG.js +0 -38
- package/dist/barchart2-XC7J4VEO.js +0 -305
- package/dist/block-YGQFUK5L.js +0 -6203
- package/dist/block-YGQFUK5L.js.map +0 -7
- package/dist/block.init-BVP3YZHQ.js +0 -29
- package/dist/block.mds.expressionrank-RKDDKY4J.js +0 -350
- package/dist/block.mds.geneboxplot-3FZ3EZZ6.js +0 -819
- package/dist/block.mds.junction-MCOG37RA.js +0 -1534
- package/dist/block.mds.svcnv-IEOR5IQZ.js +0 -6325
- package/dist/block.svg-3XHRHYCV.js +0 -155
- package/dist/block.tk.aicheck-TMDUGNZX.js +0 -274
- package/dist/block.tk.bam-73KW4QEJ.js +0 -1906
- package/dist/block.tk.bigwig.ui-E5W6R7DQ.js +0 -202
- package/dist/block.tk.hicstraw-BNNE6ZMW.js +0 -814
- package/dist/block.tk.junction-DMPRZRNY.js +0 -2353
- package/dist/block.tk.junction.textmatrixui-XS2E7MQL.js +0 -190
- package/dist/block.tk.ld-QD3XDLO4.js +0 -90
- package/dist/block.tk.menu-S6XI732E.js +0 -1050
- package/dist/block.tk.pgv-KH4TMR3A.js +0 -934
- package/dist/brainImaging-NK4JENN3.js +0 -550
- package/dist/brainRegions-YUEMTKYH.js +0 -213
- package/dist/bubbleHeatmap-LQCVS4WK.js +0 -374
- package/dist/bubbleHeatmap-LQCVS4WK.js.map +0 -7
- package/dist/cellTypeBubbleHeatmap-DFRSPWAY.js +0 -274
- package/dist/cellTypeBubbleHeatmap-DFRSPWAY.js.map +0 -7
- package/dist/chunk-37ZEGLVY.js +0 -267
- package/dist/chunk-3RPX4ZVV.js +0 -2334
- package/dist/chunk-4LK5YFHF.js +0 -102
- package/dist/chunk-4WFG5Y3A.js +0 -2095
- package/dist/chunk-4WFXCUT4.js +0 -141
- package/dist/chunk-5LY2ASQX.js +0 -305
- package/dist/chunk-6V7ITU5F.js +0 -2349
- package/dist/chunk-7UK7CU4F.js +0 -398
- package/dist/chunk-7UK7CU4F.js.map +0 -7
- package/dist/chunk-AAQDXVQT.js +0 -134
- package/dist/chunk-ADJBQCFM.js +0 -243
- package/dist/chunk-ATIITEOR.js +0 -692
- package/dist/chunk-ATIITEOR.js.map +0 -7
- package/dist/chunk-BWVJAFEQ.js +0 -35
- package/dist/chunk-CDCNBN6G.js +0 -50
- package/dist/chunk-CGSBIFFO.js +0 -1339
- package/dist/chunk-DPWSIN62.js +0 -26787
- package/dist/chunk-DPWSIN62.js.map +0 -7
- package/dist/chunk-EARMOT6Q.js +0 -176
- package/dist/chunk-ECCXTB5S.js +0 -562
- package/dist/chunk-ECTOEM7X.js +0 -96
- package/dist/chunk-EKIWZUEO.js +0 -54
- package/dist/chunk-FALP6GXG.js +0 -96
- package/dist/chunk-FRD6LQF7.js +0 -103
- package/dist/chunk-FRPYXYYQ.js +0 -263
- package/dist/chunk-FV2GLMSI.js +0 -397
- package/dist/chunk-G6SP5IQT.js +0 -626
- package/dist/chunk-GZL6YFZJ.js +0 -30
- package/dist/chunk-H353EVLK.js +0 -240
- package/dist/chunk-HKR5R5YR.js +0 -466
- package/dist/chunk-HULTLO4D.js +0 -217
- package/dist/chunk-IIN4CG67.js +0 -56
- package/dist/chunk-ISWFHYEZ.js +0 -123
- package/dist/chunk-JBUTLI3V.js +0 -1253
- package/dist/chunk-JCNZJKLK.js +0 -55
- package/dist/chunk-JEVDRC64.js +0 -56
- package/dist/chunk-KBZAB2H2.js +0 -340
- package/dist/chunk-KDKJLITX.js +0 -54
- package/dist/chunk-KNFJN6CM.js +0 -299
- package/dist/chunk-KSYGLBZ4.js +0 -4389
- package/dist/chunk-KSYGLBZ4.js.map +0 -7
- package/dist/chunk-KUOXZIH4.js +0 -348
- package/dist/chunk-KZ54E2FU.js +0 -184
- package/dist/chunk-L7FMBWWK.js +0 -6375
- package/dist/chunk-LMONIWPI.js +0 -30
- package/dist/chunk-LTY7WOAT.js +0 -281
- package/dist/chunk-LYDN734A.js +0 -194
- package/dist/chunk-LYMYO6TY.js +0 -652
- package/dist/chunk-LYMYO6TY.js.map +0 -7
- package/dist/chunk-MRZUZDRA.js +0 -444
- package/dist/chunk-NGBI4FST.js +0 -195
- package/dist/chunk-OKM4ACTA.js +0 -170
- package/dist/chunk-OUDHHMZU.js +0 -159
- package/dist/chunk-OUDHHMZU.js.map +0 -7
- package/dist/chunk-OYXRYWGU.js +0 -2932
- package/dist/chunk-P2HMCEMM.js +0 -5254
- package/dist/chunk-P2HMCEMM.js.map +0 -7
- package/dist/chunk-P5FHYGJK.js +0 -848
- package/dist/chunk-P7QDNXSH.js +0 -276
- package/dist/chunk-Q7GK35TB.js +0 -257
- package/dist/chunk-QXRM5NMW.js +0 -274
- package/dist/chunk-RI3GAHQE.js +0 -255
- package/dist/chunk-SH7SL4I5.js +0 -1219
- package/dist/chunk-SH7SL4I5.js.map +0 -7
- package/dist/chunk-SJHWZZ4M.js +0 -70
- package/dist/chunk-SJHWZZ4M.js.map +0 -7
- package/dist/chunk-T2W4JHWJ.js +0 -472
- package/dist/chunk-T2W4JHWJ.js.map +0 -7
- package/dist/chunk-TDBS3UFZ.js +0 -379
- package/dist/chunk-THHYPA5K.js +0 -48
- package/dist/chunk-U2OB3S3M.js +0 -14
- package/dist/chunk-UA2ADBTO.js +0 -42
- package/dist/chunk-USGUVW5Q.js +0 -182
- package/dist/chunk-UWVDD4C2.js +0 -480
- package/dist/chunk-W2SBSEKT.js +0 -550
- package/dist/chunk-XAHZYGKW.js +0 -468
- package/dist/chunk-XKWLP433.js +0 -328
- package/dist/chunk-YWB2QHV2.js +0 -2799
- package/dist/chunk-Z6M77JDG.js +0 -2008
- package/dist/chunk-Z7RFFJXU.js +0 -516
- package/dist/chunk-ZG7EBTHK.js +0 -203
- package/dist/chunk-ZJLJHQWM.js +0 -418
- package/dist/chunk-ZKU6RST3.js +0 -2685
- package/dist/chunk-ZLWEUYPT.js +0 -296
- package/dist/cohort-X327AG3O.js +0 -66
- package/dist/cohortSunburst-GNWIVDNA.js +0 -402
- package/dist/condition-3M4L2HIM.js +0 -323
- package/dist/controls-OKNHZJOU.js +0 -30
- package/dist/controls.config-FUKM5LEP.js +0 -30
- package/dist/correlation-PC4MXCFM.js +0 -91
- package/dist/customdata.inputui-HCRTX56R.js +0 -280
- package/dist/dataDownload-HJO7UW7S.js +0 -326
- package/dist/databrowser.ui-EY3H6B4S.js +0 -424
- package/dist/dictionary-L6CTMFY7.js +0 -109
- package/dist/dnaMethylation-FEB5GGXK.js +0 -29
- package/dist/dnaMethylation.integration.spec-4DC6TJNZ.js +0 -194
- package/dist/dnaMethylation.unit.spec-REOHQOBC.js +0 -95
- package/dist/dofetch-YFGOKCKV.js +0 -49
- package/dist/e2pca-QSAVTCPL.js +0 -340
- package/dist/ep-LAFLKVSW.js +0 -1247
- package/dist/expclust.gdc.spec-OM4J6WBL.js +0 -298
- package/dist/facet-WHTV2VIX.js +0 -556
- package/dist/gb-DLXWWBB6.js +0 -77
- package/dist/geneExpClustering-KB2MB2VM.js +0 -240
- package/dist/geneExpression-3D7PDZ2I.js +0 -309
- package/dist/geneExpression-3RSRGYGQ.js +0 -29
- package/dist/geneExpression.unit.spec-EINAWLPR.js +0 -150
- package/dist/geneORA-J4KVSZT3.js +0 -269
- package/dist/geneRanking-HKLJ7CN6.js +0 -544
- package/dist/geneVariant-3BRGRFPT.js +0 -32
- package/dist/geneVariant-VI5DGDAB.js +0 -289
- package/dist/geneVariant-VI5DGDAB.js.map +0 -7
- package/dist/geneVariant.integration.spec-3IBX4NNE.js +0 -672
- package/dist/genefusion.ui-OESQL7TW.js +0 -299
- package/dist/geneset-3BMV3KP4.js +0 -199
- package/dist/genomeBrowser.spec-I3WKAITC.js +0 -272
- package/dist/grin2-4BBCH3H5.js +0 -66
- package/dist/grin2-5L2U32LY.js +0 -945
- package/dist/hierCluster-KM56NTN6.js +0 -51
- package/dist/hierCluster-XCJF5IQ6.js +0 -55
- package/dist/hierCluster.config-E2EYOXX6.js +0 -32
- package/dist/hierCluster.integration.spec-IIEJ2YEI.js +0 -479
- package/dist/hierCluster.interactivity-AJFEJTGX.js +0 -45
- package/dist/hierCluster.renderers-XKI344FM.js +0 -18
- package/dist/imagePlot-3B3BXI6I.js +0 -152
- package/dist/importPlot-JDVH7Q2Z.js +0 -8
- package/dist/isoformExpression-UFHY5LB2.js +0 -31
- package/dist/isoformExpression.unit.spec-U6GDCNQR.js +0 -233
- package/dist/junction-W2STW5WW.js +0 -32
- package/dist/junction.unit.spec-R4DIBFLB.js +0 -178
- package/dist/junction.unit.spec-R4DIBFLB.js.map +0 -7
- package/dist/launch.adhoc-KN7HFHJH.js +0 -33
- package/dist/leftlabel.sample-CK2EK7J6.js +0 -254
- package/dist/leftlabel.sample-CK2EK7J6.js.map +0 -7
- package/dist/lollipop-EKIGAAK6.js +0 -162
- package/dist/maf-MK2MM7J4.js +0 -451
- package/dist/maftimeline-7RTMXWFA.js +0 -583
- package/dist/matrix-UM2EZODJ.js +0 -50
- package/dist/matrix-YBL4FZYJ.js +0 -55
- package/dist/matrix.cells-45ZFADK5.js +0 -25
- package/dist/matrix.config-QTBIRXKU.js +0 -33
- package/dist/matrix.data-WAMOLSKW.js +0 -22
- package/dist/matrix.groups-RXFXZABD.js +0 -25
- package/dist/matrix.integration.spec-JZDZRVOK.js +0 -3156
- package/dist/matrix.interactivity-P4VYGTB2.js +0 -33
- package/dist/matrix.layout-WWPRXXHX.js +0 -35
- package/dist/matrix.legend-4MCMVVKO.js +0 -19
- package/dist/matrix.renderers-JQTUODDS.js +0 -30
- package/dist/matrix.serieses-3IDRKSGO.js +0 -18
- package/dist/matrix.sort-EAWOB56R.js +0 -25
- package/dist/matrix.sort.unit.spec-FOWLULHA.js +0 -464
- package/dist/matrix.sorterUi.unit.spec-U5CQDTMX.js +0 -334
- package/dist/matrix.unit.spec-VTLD4EOZ.js +0 -146
- package/dist/mavb-JIIXJHBK.js +0 -726
- package/dist/mds.samplescatterplot-PTWA2V6E.js +0 -1545
- package/dist/mds.survivalplot-XVZ66GP5.js +0 -472
- package/dist/multivalue-2H7QX7MG.js +0 -79
- package/dist/numericDictTermCluster-EHCDRT6J.js +0 -62
- package/dist/oncomatrix-RZLZUC32.js +0 -286
- package/dist/oncomatrix.spec-Z5UQGTW2.js +0 -439
- package/dist/plot.2dvaf-IRBZBJ6B.js +0 -368
- package/dist/plot.app-I23IAZ3Z.js +0 -32
- package/dist/plot.barplot-PYLRAZB7.js +0 -93
- package/dist/plot.boxplot-VBWU7DUG.js +0 -142
- package/dist/plot.brainImaging-HDJMEMTK.js +0 -51
- package/dist/plot.disco-5BVG3WMT.js +0 -100
- package/dist/plot.ssgq-S3BKXJMW.js +0 -130
- package/dist/plot.vaf2cov-VD7DU2XR.js +0 -249
- package/dist/polar2-PYLEVG7E.js +0 -228
- package/dist/profileForms-CI2YYD3Y.js +0 -937
- package/dist/profilePlot-UCC4ZVHQ.js +0 -45
- package/dist/proteinView-FBY6TK3S.js +0 -1346
- package/dist/proteinView-FBY6TK3S.js.map +0 -7
- package/dist/proteomeCohortCompare-2VUSLC6I.js +0 -866
- package/dist/pseudbulk.unit.spec-VPZWNTIA.js +0 -82
- package/dist/pseudobulk-RUXGZ7OY.js +0 -31
- package/dist/qualitative-3AVR4GRX.js +0 -34
- package/dist/qualitative-5QNBKDOZ.js +0 -241
- package/dist/radar2-AOYMS54Y.js +0 -323
- package/dist/radarFacility2-PP2MAXIP.js +0 -331
- package/dist/render-ASLVKYEX.js +0 -29
- package/dist/report-UVYKDMQC.js +0 -213
- package/dist/sampleView-6UHR7FSR.js +0 -39
- package/dist/samplelst-ABC2CCNN.js +0 -114
- package/dist/samplematrix-36UCHZLC.js +0 -2188
- package/dist/sc-XLSAM725.js +0 -77
- package/dist/scatter-ADOBAOW2.js +0 -84
- package/dist/scatter-ZNVLI627.js +0 -919
- package/dist/selectGenomeWithTklst-DPDBDYTR.js +0 -125
- package/dist/singleCellCellType-STVPYZD4.js +0 -29
- package/dist/singleCellCellType.unit.spec-ZLY37AXL.js +0 -150
- package/dist/singleCellGeneExpression-PCGLU35S.js +0 -29
- package/dist/singleCellGeneExpression.unit.spec-PSLKK362.js +0 -144
- package/dist/singleCellNumericValue-SR3SJEOB.js +0 -29
- package/dist/singleCellNumericValue.unit.spec-PXVXJ4HJ.js +0 -412
- package/dist/singleCellPlot-JXB7M6OH.js +0 -44
- package/dist/singlecell-EDSX56QO.js +0 -1562
- package/dist/singlecell-PH55NFRX.js +0 -77
- package/dist/snp-3VEYBTAQ.js +0 -29
- package/dist/snp.unit.spec-V7OB44US.js +0 -167
- package/dist/snplocus-HX67RBT5.js +0 -200
- package/dist/snplst-H5YXCY33.js +0 -36
- package/dist/spliceevent.a53ss.diagram-DBDEEHSK.js +0 -142
- package/dist/spliceevent.exonskip.diagram-EYEL6BY6.js +0 -274
- package/dist/spliceevent.noeventdiagram-64OEXK7U.js +0 -451
- package/dist/ssGSEA-3YWQH6KM.js +0 -29
- package/dist/ssGSEA.unit.spec-23V2IXP5.js +0 -79
- package/dist/stattable-GPSBCNYC.js +0 -112
- package/dist/studyCatalog-W5PATRNY.js +0 -457
- package/dist/summarizeCnvGeneexp-YGI23QH5.js +0 -154
- package/dist/summarizeGeneexpSurvival-KQ6OLWYR.js +0 -101
- package/dist/summarizeMutationCnv-XDHBNEPU.js +0 -155
- package/dist/summarizeMutationDiagnosis-VKIJRJ2Q.js +0 -31
- package/dist/summarizeMutationSurvival-57YKJGLE.js +0 -95
- package/dist/summary-4WQOVIUF.js +0 -40
- package/dist/summary.integration.spec-FRNWBU7F.js +0 -405
- package/dist/summaryInput-X7DS2YA7.js +0 -238
- package/dist/sunburst-3OEAQA3O.js +0 -34
- package/dist/sunburst-MSGTXYMM.js +0 -274
- package/dist/survival-5KC5CNZU.js +0 -1248
- package/dist/survival-QXDS6N46.js +0 -49
- package/dist/survival.integration.spec-PKENHLTZ.js +0 -609
- package/dist/svgraph-VJLB7BBN.js +0 -1377
- package/dist/svmr-6BDEZAS6.js +0 -3834
- package/dist/svmr-6BDEZAS6.js.map +0 -7
- package/dist/swimmer-R3DN7N36.js +0 -993
- package/dist/table-YF5VORU6.js +0 -192
- package/dist/termCollection-3KGLZFDW.js +0 -29
- package/dist/termCollection-KSHVOPS5.js +0 -247
- package/dist/termCollection.unit.spec-HTBDG5PL.js +0 -295
- package/dist/termCollectionFractionSelection-MK4NKWUX.js +0 -38
- package/dist/termCollectionFractionSelection.unit.spec-AMF32FDN.js +0 -184
- package/dist/tk-FDHBAKXQ.js +0 -1198
- package/dist/tk-FDHBAKXQ.js.map +0 -7
- package/dist/tk-Z54DOECH.js +0 -38
- package/dist/tp.ui-M4TZVT53.js +0 -1453
- package/dist/tvs.categorical-HY3BWCZR.js +0 -28
- package/dist/tvs.condition-Y36TRIX4.js +0 -160
- package/dist/tvs.dt-XKVJZP7Y.js +0 -34
- package/dist/tvs.dtcnv.categorical-OMRZR4Y7.js +0 -31
- package/dist/tvs.dtcnv.continuous-AGYOBI5K.js +0 -72
- package/dist/tvs.dtfusion-2JX5Y2IH.js +0 -31
- package/dist/tvs.dtitd-SDSLBBWC.js +0 -31
- package/dist/tvs.dtsnvindel-LI7K464K.js +0 -31
- package/dist/tvs.dtsv-VRCLX7QY.js +0 -31
- package/dist/tvs.multivalue-4OTY6J2S.js +0 -84
- package/dist/tvs.numeric-CDATYOR2.js +0 -32
- package/dist/tvs.samplelst-76JOJG2M.js +0 -95
- package/dist/tvs.survival-WTFJOKIZ.js +0 -110
- package/dist/tvs.termCollection-QQXAS7PE.js +0 -118
- package/dist/vocabulary-6ACAEFTL.js +0 -32
- package/dist/wsi.direct-OS32TQRM.js +0 -11515
- package/dist/wsi.direct-OS32TQRM.js.map +0 -7
- /package/dist/{2dmaf-CSBPMYHO.js.map → 2dmaf-B34EJADN.js.map} +0 -0
- /package/dist/{AggMatrixInput-2HST4LLJ.js.map → AggMatrixInput-USCXGZT2.js.map} +0 -0
- /package/dist/{AggregateMatrix-UPOAX44L.js.map → AggregateMatrix-VLCSBD65.js.map} +0 -0
- /package/dist/{AppHeader-H5QBVKUS.js.map → AppHeader-KE7QVEW5.js.map} +0 -0
- /package/dist/{BoxPlot-JTBQA6PL.js.map → BoxPlot-3H5QKYRD.js.map} +0 -0
- /package/dist/{Cuminc-3BXJVWIH.js.map → Cuminc-6LPS4LR7.js.map} +0 -0
- /package/dist/{DE-237VV46D.js.map → DE-TTKEQYC7.js.map} +0 -0
- /package/dist/{DM-TIW623IR.js.map → DM-2TUF6Q3C.js.map} +0 -0
- /package/dist/{DifferentialAnalysis-PHUA2GPK.js.map → DifferentialAnalysis-3LP4RAWF.js.map} +0 -0
- /package/dist/{Disco-WHV52SCI.js.map → Disco-UP5C7UWX.js.map} +0 -0
- /package/dist/{Disco.UI-UDUXNCZX.js.map → Disco.UI-V4I4LOMF.js.map} +0 -0
- /package/dist/{DmrPlot-FZCD6FTX.js.map → DmrPlot-TZR2NGIH.js.map} +0 -0
- /package/dist/{GSEA-3CNHMK6M.js.map → GSEA-YGKBRJJO.js.map} +0 -0
- /package/dist/{GeneExpInput-ZOVP7BFY.js.map → GeneExpInput-L3J2ECVQ.js.map} +0 -0
- /package/dist/{Geomap-JREOIESM.js.map → Geomap-4MHU6F57.js.map} +0 -0
- /package/dist/{HicApp-RKAMIUXQ.js.map → HicApp-27VGP5F6.js.map} +0 -0
- /package/dist/{IDCViewer-KXV4FU3V.js.map → IDCViewer-37GJPPUY.js.map} +0 -0
- /package/dist/{NumBinaryEditor-FNVYUK2J.js.map → NumBinaryEditor-SEC2NDGG.js.map} +0 -0
- /package/dist/{NumBinaryEditor.unit.spec-PWR23U3J.js.map → NumBinaryEditor.unit.spec-UDYSUC4S.js.map} +0 -0
- /package/dist/{NumContEditor-YLBJW64K.js.map → NumContEditor-YPSYWU2A.js.map} +0 -0
- /package/dist/{NumContEditor.unit.spec-6JWBCPFY.js.map → NumContEditor.unit.spec-NHFBMHQ5.js.map} +0 -0
- /package/dist/{NumCustomBinEditor-42AFCXRN.js.map → NumCustomBinEditor-N7US5Q64.js.map} +0 -0
- /package/dist/{NumCustomBinEditor.unit.spec-AFBTF2CL.js.map → NumCustomBinEditor.unit.spec-2BMMUBYU.js.map} +0 -0
- /package/dist/{NumDiscreteEditor-FJIBZTBP.js.map → NumDiscreteEditor-BLQ5DEB7.js.map} +0 -0
- /package/dist/{NumDiscreteEditor.unit.spec-MC4INDCB.js.map → NumDiscreteEditor.unit.spec-JOFPUFU5.js.map} +0 -0
- /package/dist/{NumRegularBinEditor-2WRE72TL.js.map → NumRegularBinEditor-7BFPBUW2.js.map} +0 -0
- /package/dist/{NumRegularBinEditor.unit.spec-L3S6NRCM.js.map → NumRegularBinEditor.unit.spec-6GZMNRHA.js.map} +0 -0
- /package/dist/{NumSplineEditor-TVMVAN7I.js.map → NumSplineEditor-LO3ZR3T3.js.map} +0 -0
- /package/dist/{NumSplineEditor.unit.spec-GEL36GZZ.js.map → NumSplineEditor.unit.spec-MRA3DQSB.js.map} +0 -0
- /package/dist/{NumericDensity-BNFAVOFO.js.map → NumericDensity-NUCVJZ74.js.map} +0 -0
- /package/dist/{NumericDensity.unit.spec-XBYUFBTQ.js.map → NumericDensity.unit.spec-TZLKWH4U.js.map} +0 -0
- /package/dist/{NumericHandler-4VFFJNX6.js.map → NumericHandler-NH533VBN.js.map} +0 -0
- /package/dist/{NumericHandler.unit.spec-76T2IVRS.js.map → NumericHandler.unit.spec-V7MNEHML.js.map} +0 -0
- /package/dist/{ProteomeInput-M5UIO73Q.js.map → ProteomeInput-FEXWZOA2.js.map} +0 -0
- /package/dist/{Regression-5LB5TLA6.js.map → Regression-NJAPUGT7.js.map} +0 -0
- /package/dist/{RunChart2-HIFXOEKZ.js.map → RunChart2-QIJ6NUWY.js.map} +0 -0
- /package/dist/{SC-SMMW5MJG.js.map → SC-5NWBVOEE.js.map} +0 -0
- /package/dist/{Violin-COAFYZOV.js.map → Violin-TMACI43Q.js.map} +0 -0
- /package/dist/{aboutSunburst-3FYJGR6B.js.map → aboutSunburst-53YAWTV5.js.map} +0 -0
- /package/dist/{adSandbox-4VHYWBQC.js.map → adSandbox-7VHXEI7W.js.map} +0 -0
- /package/dist/{animatedBubbleChart-QCCIC5IT.js.map → animatedBubbleChart-CTFGJIRR.js.map} +0 -0
- /package/dist/{app-IF7YPCGZ.js.map → app-AQAQAPUN.js.map} +0 -0
- /package/dist/{app-JZ43TSJP.js.map → app-SZDIV5U4.js.map} +0 -0
- /package/dist/{bam-2VPZGSW3.js.map → bam-3U5R2KNC.js.map} +0 -0
- /package/dist/{barchart-VYTWYYGG.js.map → barchart-ZL5VSR7P.js.map} +0 -0
- /package/dist/{barchart2-XC7J4VEO.js.map → barchart2-YELP2HI7.js.map} +0 -0
- /package/dist/{block.init-BVP3YZHQ.js.map → block.init-IBITFICI.js.map} +0 -0
- /package/dist/{block.mds.expressionrank-RKDDKY4J.js.map → block.mds.expressionrank-4L76ILD4.js.map} +0 -0
- /package/dist/{block.mds.geneboxplot-3FZ3EZZ6.js.map → block.mds.geneboxplot-XA7DFHPV.js.map} +0 -0
- /package/dist/{block.mds.junction-MCOG37RA.js.map → block.mds.junction-GTZD3HEN.js.map} +0 -0
- /package/dist/{block.mds.svcnv-IEOR5IQZ.js.map → block.mds.svcnv-HTXQ3LGR.js.map} +0 -0
- /package/dist/{block.svg-3XHRHYCV.js.map → block.svg-BM6OMVRF.js.map} +0 -0
- /package/dist/{block.tk.aicheck-TMDUGNZX.js.map → block.tk.aicheck-CV53ULEP.js.map} +0 -0
- /package/dist/{block.tk.bam-73KW4QEJ.js.map → block.tk.bam-KJYFNJCX.js.map} +0 -0
- /package/dist/{block.tk.bigwig.ui-E5W6R7DQ.js.map → block.tk.bigwig.ui-A352D6PT.js.map} +0 -0
- /package/dist/{block.tk.hicstraw-BNNE6ZMW.js.map → block.tk.hicstraw-QAFTQESL.js.map} +0 -0
- /package/dist/{block.tk.junction-DMPRZRNY.js.map → block.tk.junction-XURB4RWZ.js.map} +0 -0
- /package/dist/{block.tk.junction.textmatrixui-XS2E7MQL.js.map → block.tk.junction.textmatrixui-RNRWWNGY.js.map} +0 -0
- /package/dist/{block.tk.ld-QD3XDLO4.js.map → block.tk.ld-GWJMVPX3.js.map} +0 -0
- /package/dist/{block.tk.menu-S6XI732E.js.map → block.tk.menu-BJZYFMQX.js.map} +0 -0
- /package/dist/{block.tk.pgv-KH4TMR3A.js.map → block.tk.pgv-7XNJTHEW.js.map} +0 -0
- /package/dist/{brainImaging-NK4JENN3.js.map → brainImaging-37EDZLGN.js.map} +0 -0
- /package/dist/{brainRegions-YUEMTKYH.js.map → brainRegions-FEW52QUB.js.map} +0 -0
- /package/dist/{chunk-GZL6YFZJ.js.map → chunk-2B3CYHUF.js.map} +0 -0
- /package/dist/{chunk-KUOXZIH4.js.map → chunk-2IAELUCN.js.map} +0 -0
- /package/dist/{chunk-NGBI4FST.js.map → chunk-2W6U53AG.js.map} +0 -0
- /package/dist/{chunk-CGSBIFFO.js.map → chunk-46GCGTHJ.js.map} +0 -0
- /package/dist/{chunk-FALP6GXG.js.map → chunk-4ZX5KHD7.js.map} +0 -0
- /package/dist/{chunk-HKR5R5YR.js.map → chunk-544DSOC3.js.map} +0 -0
- /package/dist/{chunk-LYDN734A.js.map → chunk-6CV3YVJD.js.map} +0 -0
- /package/dist/{chunk-P7QDNXSH.js.map → chunk-6UHSGC6G.js.map} +0 -0
- /package/dist/{chunk-BWVJAFEQ.js.map → chunk-6ZZGFZV2.js.map} +0 -0
- /package/dist/{chunk-L7FMBWWK.js.map → chunk-72FUMSAN.js.map} +0 -0
- /package/dist/{chunk-USGUVW5Q.js.map → chunk-7DC4PD5R.js.map} +0 -0
- /package/dist/{chunk-ADJBQCFM.js.map → chunk-7ISYXUJ7.js.map} +0 -0
- /package/dist/{chunk-LMONIWPI.js.map → chunk-7NVFEGCE.js.map} +0 -0
- /package/dist/{chunk-JBUTLI3V.js.map → chunk-7PQ6MLKG.js.map} +0 -0
- /package/dist/{chunk-IIN4CG67.js.map → chunk-BGPRKPKH.js.map} +0 -0
- /package/dist/{chunk-UWVDD4C2.js.map → chunk-BILGOVOR.js.map} +0 -0
- /package/dist/{chunk-Z6M77JDG.js.map → chunk-BKJLRLQQ.js.map} +0 -0
- /package/dist/{chunk-ISWFHYEZ.js.map → chunk-C4BKP67I.js.map} +0 -0
- /package/dist/{chunk-XKWLP433.js.map → chunk-CQNTAIM3.js.map} +0 -0
- /package/dist/{chunk-ZKU6RST3.js.map → chunk-CW3IVTRX.js.map} +0 -0
- /package/dist/{chunk-Z7RFFJXU.js.map → chunk-D7KZWYP5.js.map} +0 -0
- /package/dist/{chunk-P5FHYGJK.js.map → chunk-DNXOZATD.js.map} +0 -0
- /package/dist/{chunk-3RPX4ZVV.js.map → chunk-DXF3YDRG.js.map} +0 -0
- /package/dist/{chunk-G6SP5IQT.js.map → chunk-ECBVUPDE.js.map} +0 -0
- /package/dist/{chunk-Q7GK35TB.js.map → chunk-ES22B563.js.map} +0 -0
- /package/dist/{chunk-UA2ADBTO.js.map → chunk-FA2B6PKK.js.map} +0 -0
- /package/dist/{chunk-OYXRYWGU.js.map → chunk-FMHSDIVG.js.map} +0 -0
- /package/dist/{chunk-RI3GAHQE.js.map → chunk-G5UFOMON.js.map} +0 -0
- /package/dist/{chunk-W2SBSEKT.js.map → chunk-GKA6USKV.js.map} +0 -0
- /package/dist/{chunk-KNFJN6CM.js.map → chunk-HGIPR72Y.js.map} +0 -0
- /package/dist/{chunk-XAHZYGKW.js.map → chunk-IBUDYN5E.js.map} +0 -0
- /package/dist/{chunk-ZJLJHQWM.js.map → chunk-J37WYVIZ.js.map} +0 -0
- /package/dist/{chunk-FV2GLMSI.js.map → chunk-JG5CF5Q3.js.map} +0 -0
- /package/dist/{chunk-FRPYXYYQ.js.map → chunk-JSQH233D.js.map} +0 -0
- /package/dist/{chunk-ZLWEUYPT.js.map → chunk-JWWLSDVM.js.map} +0 -0
- /package/dist/{chunk-KBZAB2H2.js.map → chunk-KTJUDDVQ.js.map} +0 -0
- /package/dist/{chunk-JCNZJKLK.js.map → chunk-MY5MF4RI.js.map} +0 -0
- /package/dist/{chunk-JEVDRC64.js.map → chunk-P4ZGUPGA.js.map} +0 -0
- /package/dist/{chunk-QXRM5NMW.js.map → chunk-PQDYA3ZQ.js.map} +0 -0
- /package/dist/{chunk-EARMOT6Q.js.map → chunk-PVJ6IIFA.js.map} +0 -0
- /package/dist/{chunk-KZ54E2FU.js.map → chunk-QKVKQD6S.js.map} +0 -0
- /package/dist/{chunk-THHYPA5K.js.map → chunk-QNACCFOA.js.map} +0 -0
- /package/dist/{chunk-4WFXCUT4.js.map → chunk-R6O3FLKW.js.map} +0 -0
- /package/dist/{chunk-KDKJLITX.js.map → chunk-RFQQRF6Q.js.map} +0 -0
- /package/dist/{chunk-37ZEGLVY.js.map → chunk-RG27DDKN.js.map} +0 -0
- /package/dist/{chunk-ECCXTB5S.js.map → chunk-SB5DR4NL.js.map} +0 -0
- /package/dist/{chunk-YWB2QHV2.js.map → chunk-SF42FFDZ.js.map} +0 -0
- /package/dist/{chunk-U2OB3S3M.js.map → chunk-SORR4JHU.js.map} +0 -0
- /package/dist/{chunk-CDCNBN6G.js.map → chunk-SZEBQMZW.js.map} +0 -0
- /package/dist/{chunk-4LK5YFHF.js.map → chunk-THDOHHDN.js.map} +0 -0
- /package/dist/{chunk-5LY2ASQX.js.map → chunk-TXDCZOPG.js.map} +0 -0
- /package/dist/{chunk-EKIWZUEO.js.map → chunk-U6GSEOBY.js.map} +0 -0
- /package/dist/{chunk-ZG7EBTHK.js.map → chunk-UBTNM5RO.js.map} +0 -0
- /package/dist/{chunk-MRZUZDRA.js.map → chunk-UHZDDPUU.js.map} +0 -0
- /package/dist/{chunk-AAQDXVQT.js.map → chunk-UVES3USV.js.map} +0 -0
- /package/dist/{chunk-LTY7WOAT.js.map → chunk-UYA5LCAR.js.map} +0 -0
- /package/dist/{chunk-TDBS3UFZ.js.map → chunk-VHEXNBCO.js.map} +0 -0
- /package/dist/{chunk-ECTOEM7X.js.map → chunk-VJJJFEOU.js.map} +0 -0
- /package/dist/{chunk-4WFG5Y3A.js.map → chunk-VPRP24DY.js.map} +0 -0
- /package/dist/{chunk-6V7ITU5F.js.map → chunk-VVWZ4BOI.js.map} +0 -0
- /package/dist/{chunk-OKM4ACTA.js.map → chunk-WENNRY5E.js.map} +0 -0
- /package/dist/{chunk-FRD6LQF7.js.map → chunk-WTLUZOBK.js.map} +0 -0
- /package/dist/{chunk-HULTLO4D.js.map → chunk-ZLEGHQOO.js.map} +0 -0
- /package/dist/{chunk-H353EVLK.js.map → chunk-ZX7527EE.js.map} +0 -0
- /package/dist/{cohort-X327AG3O.js.map → cohort-NKRTCX5Z.js.map} +0 -0
- /package/dist/{cohortSunburst-GNWIVDNA.js.map → cohortSunburst-DFJW6WXU.js.map} +0 -0
- /package/dist/{condition-3M4L2HIM.js.map → condition-PYFOEVX5.js.map} +0 -0
- /package/dist/{controls-OKNHZJOU.js.map → controls-RVNIN66W.js.map} +0 -0
- /package/dist/{controls.config-FUKM5LEP.js.map → controls.config-XVEYYBI4.js.map} +0 -0
- /package/dist/{correlation-PC4MXCFM.js.map → correlation-MNL4DGSW.js.map} +0 -0
- /package/dist/{customdata.inputui-HCRTX56R.js.map → customdata.inputui-WFIIJATQ.js.map} +0 -0
- /package/dist/{dataDownload-HJO7UW7S.js.map → dataDownload-CMSP5FA4.js.map} +0 -0
- /package/dist/{databrowser.ui-EY3H6B4S.js.map → databrowser.ui-FYZPXXEJ.js.map} +0 -0
- /package/dist/{dictionary-L6CTMFY7.js.map → dictionary-76BXY6WU.js.map} +0 -0
- /package/dist/{dnaMethylation-FEB5GGXK.js.map → dnaMethylation-WTIJVNIU.js.map} +0 -0
- /package/dist/{dnaMethylation.integration.spec-4DC6TJNZ.js.map → dnaMethylation.integration.spec-YXQEFLC5.js.map} +0 -0
- /package/dist/{dnaMethylation.unit.spec-REOHQOBC.js.map → dnaMethylation.unit.spec-22FLJWVB.js.map} +0 -0
- /package/dist/{dofetch-YFGOKCKV.js.map → dofetch-XID2XEJT.js.map} +0 -0
- /package/dist/{e2pca-QSAVTCPL.js.map → e2pca-DD6DA7X3.js.map} +0 -0
- /package/dist/{ep-LAFLKVSW.js.map → ep-S4PI4AUJ.js.map} +0 -0
- /package/dist/{expclust.gdc.spec-OM4J6WBL.js.map → expclust.gdc.spec-BDV4RJO6.js.map} +0 -0
- /package/dist/{facet-WHTV2VIX.js.map → facet-EOXEW2LN.js.map} +0 -0
- /package/dist/{gb-DLXWWBB6.js.map → gb-AKE7RDPB.js.map} +0 -0
- /package/dist/{geneExpClustering-KB2MB2VM.js.map → geneExpClustering-73ED7HIN.js.map} +0 -0
- /package/dist/{geneExpression-3RSRGYGQ.js.map → geneExpression-AEJILDKJ.js.map} +0 -0
- /package/dist/{geneExpression-3D7PDZ2I.js.map → geneExpression-NXDXXKEA.js.map} +0 -0
- /package/dist/{geneExpression.unit.spec-EINAWLPR.js.map → geneExpression.unit.spec-VUJWR4TA.js.map} +0 -0
- /package/dist/{geneORA-J4KVSZT3.js.map → geneORA-7KFQ4PW2.js.map} +0 -0
- /package/dist/{geneRanking-HKLJ7CN6.js.map → geneRanking-RKJU4PM2.js.map} +0 -0
- /package/dist/{geneVariant-3BRGRFPT.js.map → geneVariant-2AGC3ECG.js.map} +0 -0
- /package/dist/{geneVariant.integration.spec-3IBX4NNE.js.map → geneVariant.integration.spec-UJXGQEZG.js.map} +0 -0
- /package/dist/{genefusion.ui-OESQL7TW.js.map → genefusion.ui-KEBOA3TK.js.map} +0 -0
- /package/dist/{geneset-3BMV3KP4.js.map → geneset-BU6V3CB5.js.map} +0 -0
- /package/dist/{genomeBrowser.spec-I3WKAITC.js.map → genomeBrowser.spec-BGQHJZKH.js.map} +0 -0
- /package/dist/{grin2-4BBCH3H5.js.map → grin2-OUZN5LOU.js.map} +0 -0
- /package/dist/{grin2-5L2U32LY.js.map → grin2-WRGQ7BDG.js.map} +0 -0
- /package/dist/{hierCluster-KM56NTN6.js.map → hierCluster-3ERW47JJ.js.map} +0 -0
- /package/dist/{hierCluster-XCJF5IQ6.js.map → hierCluster-JAFKBC6C.js.map} +0 -0
- /package/dist/{hierCluster.config-E2EYOXX6.js.map → hierCluster.config-QIJNY5OD.js.map} +0 -0
- /package/dist/{hierCluster.integration.spec-IIEJ2YEI.js.map → hierCluster.integration.spec-XA4K3UU6.js.map} +0 -0
- /package/dist/{hierCluster.interactivity-AJFEJTGX.js.map → hierCluster.interactivity-RDFPQOOP.js.map} +0 -0
- /package/dist/{hierCluster.renderers-XKI344FM.js.map → hierCluster.renderers-SU5IYI33.js.map} +0 -0
- /package/dist/{imagePlot-3B3BXI6I.js.map → imagePlot-J4PHG7V2.js.map} +0 -0
- /package/dist/{importPlot-JDVH7Q2Z.js.map → importPlot-U67MZZXY.js.map} +0 -0
- /package/dist/{isoformExpression-UFHY5LB2.js.map → isoformExpression-K5BCDJLL.js.map} +0 -0
- /package/dist/{isoformExpression.unit.spec-U6GDCNQR.js.map → isoformExpression.unit.spec-35FHEO27.js.map} +0 -0
- /package/dist/{junction-W2STW5WW.js.map → junction-6GGWFF2J.js.map} +0 -0
- /package/dist/{launch.adhoc-KN7HFHJH.js.map → launch.adhoc-ONCSL65L.js.map} +0 -0
- /package/dist/{lollipop-EKIGAAK6.js.map → lollipop-BWP4BG7Q.js.map} +0 -0
- /package/dist/{maf-MK2MM7J4.js.map → maf-GV6JHWYK.js.map} +0 -0
- /package/dist/{maftimeline-7RTMXWFA.js.map → maftimeline-HE7XLJWG.js.map} +0 -0
- /package/dist/{matrix-UM2EZODJ.js.map → matrix-IAM6SA7K.js.map} +0 -0
- /package/dist/{matrix-YBL4FZYJ.js.map → matrix-QF5MBV5Y.js.map} +0 -0
- /package/dist/{matrix.cells-45ZFADK5.js.map → matrix.cells-A5E63KDN.js.map} +0 -0
- /package/dist/{matrix.config-QTBIRXKU.js.map → matrix.config-VLRMO7J2.js.map} +0 -0
- /package/dist/{matrix.data-WAMOLSKW.js.map → matrix.data-R4FW2PQH.js.map} +0 -0
- /package/dist/{matrix.groups-RXFXZABD.js.map → matrix.groups-3UH2KOIY.js.map} +0 -0
- /package/dist/{matrix.integration.spec-JZDZRVOK.js.map → matrix.integration.spec-57YYARQU.js.map} +0 -0
- /package/dist/{matrix.interactivity-P4VYGTB2.js.map → matrix.interactivity-KNRJSSTQ.js.map} +0 -0
- /package/dist/{matrix.layout-WWPRXXHX.js.map → matrix.layout-OMNDDITA.js.map} +0 -0
- /package/dist/{matrix.legend-4MCMVVKO.js.map → matrix.legend-SE7SQTNN.js.map} +0 -0
- /package/dist/{matrix.renderers-JQTUODDS.js.map → matrix.renderers-6MMW7XMU.js.map} +0 -0
- /package/dist/{matrix.serieses-3IDRKSGO.js.map → matrix.serieses-BEZCQDLJ.js.map} +0 -0
- /package/dist/{matrix.sort-EAWOB56R.js.map → matrix.sort-KRNS4VPF.js.map} +0 -0
- /package/dist/{matrix.sort.unit.spec-FOWLULHA.js.map → matrix.sort.unit.spec-UXTQPKVV.js.map} +0 -0
- /package/dist/{matrix.sorterUi.unit.spec-U5CQDTMX.js.map → matrix.sorterUi.unit.spec-LJJ7GCEB.js.map} +0 -0
- /package/dist/{matrix.unit.spec-VTLD4EOZ.js.map → matrix.unit.spec-2OSFPN5T.js.map} +0 -0
- /package/dist/{mavb-JIIXJHBK.js.map → mavb-CZAZO6AO.js.map} +0 -0
- /package/dist/{mds.samplescatterplot-PTWA2V6E.js.map → mds.samplescatterplot-ENSEO2VX.js.map} +0 -0
- /package/dist/{mds.survivalplot-XVZ66GP5.js.map → mds.survivalplot-QSKD6FSX.js.map} +0 -0
- /package/dist/{multivalue-2H7QX7MG.js.map → multivalue-FZTFADA2.js.map} +0 -0
- /package/dist/{numericDictTermCluster-EHCDRT6J.js.map → numericDictTermCluster-IFIEM3E4.js.map} +0 -0
- /package/dist/{oncomatrix-RZLZUC32.js.map → oncomatrix-GZKCAMSR.js.map} +0 -0
- /package/dist/{oncomatrix.spec-Z5UQGTW2.js.map → oncomatrix.spec-FTLMVGTH.js.map} +0 -0
- /package/dist/{plot.2dvaf-IRBZBJ6B.js.map → plot.2dvaf-PWO4XOFU.js.map} +0 -0
- /package/dist/{plot.app-I23IAZ3Z.js.map → plot.app-JYBZEBHK.js.map} +0 -0
- /package/dist/{plot.barplot-PYLRAZB7.js.map → plot.barplot-PA2PDVOB.js.map} +0 -0
- /package/dist/{plot.boxplot-VBWU7DUG.js.map → plot.boxplot-IHIEWQWG.js.map} +0 -0
- /package/dist/{plot.brainImaging-HDJMEMTK.js.map → plot.brainImaging-WQ2WWEW3.js.map} +0 -0
- /package/dist/{plot.disco-5BVG3WMT.js.map → plot.disco-QIURLAHA.js.map} +0 -0
- /package/dist/{plot.ssgq-S3BKXJMW.js.map → plot.ssgq-T27XDC4K.js.map} +0 -0
- /package/dist/{plot.vaf2cov-VD7DU2XR.js.map → plot.vaf2cov-Y2DJRQED.js.map} +0 -0
- /package/dist/{polar2-PYLEVG7E.js.map → polar2-3MFBRZ4G.js.map} +0 -0
- /package/dist/{profileForms-CI2YYD3Y.js.map → profileForms-J3O7XDHY.js.map} +0 -0
- /package/dist/{profilePlot-UCC4ZVHQ.js.map → profilePlot-C45ERAOZ.js.map} +0 -0
- /package/dist/{proteomeCohortCompare-2VUSLC6I.js.map → proteomeCohortCompare-2IS7GNJZ.js.map} +0 -0
- /package/dist/{pseudbulk.unit.spec-VPZWNTIA.js.map → pseudbulk.unit.spec-SY3ATAPK.js.map} +0 -0
- /package/dist/{pseudobulk-RUXGZ7OY.js.map → pseudobulk-N6WNHKAC.js.map} +0 -0
- /package/dist/{qualitative-3AVR4GRX.js.map → qualitative-SKUTWJLA.js.map} +0 -0
- /package/dist/{qualitative-5QNBKDOZ.js.map → qualitative-XWN5V3EE.js.map} +0 -0
- /package/dist/{radar2-AOYMS54Y.js.map → radar2-AHZME5CF.js.map} +0 -0
- /package/dist/{radarFacility2-PP2MAXIP.js.map → radarFacility2-CVEVC4U5.js.map} +0 -0
- /package/dist/{render-ASLVKYEX.js.map → render-S47OJIIP.js.map} +0 -0
- /package/dist/{report-UVYKDMQC.js.map → report-IPX3PKSW.js.map} +0 -0
- /package/dist/{sampleView-6UHR7FSR.js.map → sampleView-OZQUKPVV.js.map} +0 -0
- /package/dist/{samplelst-ABC2CCNN.js.map → samplelst-7XXJTJ4J.js.map} +0 -0
- /package/dist/{samplematrix-36UCHZLC.js.map → samplematrix-JN35HJBG.js.map} +0 -0
- /package/dist/{sc-XLSAM725.js.map → sc-6ZHDNPYP.js.map} +0 -0
- /package/dist/{scatter-ADOBAOW2.js.map → scatter-4MP6TG67.js.map} +0 -0
- /package/dist/{scatter-ZNVLI627.js.map → scatter-TRMY47CC.js.map} +0 -0
- /package/dist/{selectGenomeWithTklst-DPDBDYTR.js.map → selectGenomeWithTklst-UDNTL544.js.map} +0 -0
- /package/dist/{singleCellCellType-STVPYZD4.js.map → singleCellCellType-UXABRPQQ.js.map} +0 -0
- /package/dist/{singleCellCellType.unit.spec-ZLY37AXL.js.map → singleCellCellType.unit.spec-N22EQMZW.js.map} +0 -0
- /package/dist/{singleCellGeneExpression-PCGLU35S.js.map → singleCellGeneExpression-OBPVP6IU.js.map} +0 -0
- /package/dist/{singleCellGeneExpression.unit.spec-PSLKK362.js.map → singleCellGeneExpression.unit.spec-NVCFU5B4.js.map} +0 -0
- /package/dist/{singleCellNumericValue-SR3SJEOB.js.map → singleCellNumericValue-Z2X3LLRB.js.map} +0 -0
- /package/dist/{singleCellNumericValue.unit.spec-PXVXJ4HJ.js.map → singleCellNumericValue.unit.spec-Q7DCQHEE.js.map} +0 -0
- /package/dist/{singleCellPlot-JXB7M6OH.js.map → singleCellPlot-S5N6ZEEA.js.map} +0 -0
- /package/dist/{singlecell-EDSX56QO.js.map → singlecell-OK2P4AS2.js.map} +0 -0
- /package/dist/{singlecell-PH55NFRX.js.map → singlecell-RI6HA3NI.js.map} +0 -0
- /package/dist/{snp-3VEYBTAQ.js.map → snp-XRM2UAEJ.js.map} +0 -0
- /package/dist/{snp.unit.spec-V7OB44US.js.map → snp.unit.spec-CDTYGH4K.js.map} +0 -0
- /package/dist/{snplocus-HX67RBT5.js.map → snplocus-CAUGDRZE.js.map} +0 -0
- /package/dist/{snplst-H5YXCY33.js.map → snplst-DP533FL2.js.map} +0 -0
- /package/dist/{spliceevent.a53ss.diagram-DBDEEHSK.js.map → spliceevent.a53ss.diagram-XWEN4UMO.js.map} +0 -0
- /package/dist/{spliceevent.exonskip.diagram-EYEL6BY6.js.map → spliceevent.exonskip.diagram-HBXQOUT4.js.map} +0 -0
- /package/dist/{spliceevent.noeventdiagram-64OEXK7U.js.map → spliceevent.noeventdiagram-ORQJ62ON.js.map} +0 -0
- /package/dist/{ssGSEA-3YWQH6KM.js.map → ssGSEA-PLDZ2556.js.map} +0 -0
- /package/dist/{ssGSEA.unit.spec-23V2IXP5.js.map → ssGSEA.unit.spec-ORFJFZJY.js.map} +0 -0
- /package/dist/{stattable-GPSBCNYC.js.map → stattable-GVRVRO2Y.js.map} +0 -0
- /package/dist/{studyCatalog-W5PATRNY.js.map → studyCatalog-K46WJHC6.js.map} +0 -0
- /package/dist/{summarizeCnvGeneexp-YGI23QH5.js.map → summarizeCnvGeneexp-7WSJTWKH.js.map} +0 -0
- /package/dist/{summarizeGeneexpSurvival-KQ6OLWYR.js.map → summarizeGeneexpSurvival-H3TW7I4I.js.map} +0 -0
- /package/dist/{summarizeMutationCnv-XDHBNEPU.js.map → summarizeMutationCnv-JOYXEMFP.js.map} +0 -0
- /package/dist/{summarizeMutationDiagnosis-VKIJRJ2Q.js.map → summarizeMutationDiagnosis-GBIGXFY5.js.map} +0 -0
- /package/dist/{summarizeMutationSurvival-57YKJGLE.js.map → summarizeMutationSurvival-3RULG3KW.js.map} +0 -0
- /package/dist/{summary-4WQOVIUF.js.map → summary-VKLFTPC2.js.map} +0 -0
- /package/dist/{summary.integration.spec-FRNWBU7F.js.map → summary.integration.spec-EK3MPFVD.js.map} +0 -0
- /package/dist/{summaryInput-X7DS2YA7.js.map → summaryInput-POI5KQSP.js.map} +0 -0
- /package/dist/{sunburst-MSGTXYMM.js.map → sunburst-BIVYHF5R.js.map} +0 -0
- /package/dist/{sunburst-3OEAQA3O.js.map → sunburst-SYHQOCGQ.js.map} +0 -0
- /package/dist/{survival-5KC5CNZU.js.map → survival-CG2GQ4YY.js.map} +0 -0
- /package/dist/{survival-QXDS6N46.js.map → survival-NEO3E2HS.js.map} +0 -0
- /package/dist/{survival.integration.spec-PKENHLTZ.js.map → survival.integration.spec-PPK5KO4V.js.map} +0 -0
- /package/dist/{svgraph-VJLB7BBN.js.map → svgraph-Q2U2HEMF.js.map} +0 -0
- /package/dist/{swimmer-R3DN7N36.js.map → swimmer-GA4C6YH7.js.map} +0 -0
- /package/dist/{table-YF5VORU6.js.map → table-DJJIES6L.js.map} +0 -0
- /package/dist/{termCollection-KSHVOPS5.js.map → termCollection-CHVUM5C6.js.map} +0 -0
- /package/dist/{termCollection-3KGLZFDW.js.map → termCollection-R3LTBPJ4.js.map} +0 -0
- /package/dist/{termCollection.unit.spec-HTBDG5PL.js.map → termCollection.unit.spec-B7KAAOFT.js.map} +0 -0
- /package/dist/{termCollectionFractionSelection-MK4NKWUX.js.map → termCollectionFractionSelection-A72QM36J.js.map} +0 -0
- /package/dist/{termCollectionFractionSelection.unit.spec-AMF32FDN.js.map → termCollectionFractionSelection.unit.spec-JR77QEIG.js.map} +0 -0
- /package/dist/{tk-Z54DOECH.js.map → tk-GRGKFATN.js.map} +0 -0
- /package/dist/{tp.ui-M4TZVT53.js.map → tp.ui-NATRJ5EN.js.map} +0 -0
- /package/dist/{tvs.categorical-HY3BWCZR.js.map → tvs.categorical-U2ZYLPSW.js.map} +0 -0
- /package/dist/{tvs.condition-Y36TRIX4.js.map → tvs.condition-6EBZALR4.js.map} +0 -0
- /package/dist/{tvs.dt-XKVJZP7Y.js.map → tvs.dt-H626ESMQ.js.map} +0 -0
- /package/dist/{tvs.dtcnv.categorical-OMRZR4Y7.js.map → tvs.dtcnv.categorical-6S7INDYC.js.map} +0 -0
- /package/dist/{tvs.dtcnv.continuous-AGYOBI5K.js.map → tvs.dtcnv.continuous-MLYNEMHI.js.map} +0 -0
- /package/dist/{tvs.dtfusion-2JX5Y2IH.js.map → tvs.dtfusion-2OLY6X7G.js.map} +0 -0
- /package/dist/{tvs.dtitd-SDSLBBWC.js.map → tvs.dtitd-Z6MEL5SH.js.map} +0 -0
- /package/dist/{tvs.dtsnvindel-LI7K464K.js.map → tvs.dtsnvindel-HPBQSCYV.js.map} +0 -0
- /package/dist/{tvs.dtsv-VRCLX7QY.js.map → tvs.dtsv-BRRNX64J.js.map} +0 -0
- /package/dist/{tvs.multivalue-4OTY6J2S.js.map → tvs.multivalue-H2G7WKAL.js.map} +0 -0
- /package/dist/{tvs.numeric-CDATYOR2.js.map → tvs.numeric-OKYGMQSK.js.map} +0 -0
- /package/dist/{tvs.samplelst-76JOJG2M.js.map → tvs.samplelst-46FGACU7.js.map} +0 -0
- /package/dist/{tvs.survival-WTFJOKIZ.js.map → tvs.survival-QL4KC3SQ.js.map} +0 -0
- /package/dist/{tvs.termCollection-QQXAS7PE.js.map → tvs.termCollection-22DFW3PF.js.map} +0 -0
- /package/dist/{vocabulary-6ACAEFTL.js.map → vocabulary-LJEERZJ6.js.map} +0 -0
package/dist/chunk-T2W4JHWJ.js
DELETED
|
@@ -1,472 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
CATEGORICAL,
|
|
3
|
-
COHORT,
|
|
4
|
-
CONDITION,
|
|
5
|
-
DATE,
|
|
6
|
-
DNA_METHYLATION,
|
|
7
|
-
FLOAT,
|
|
8
|
-
GENE_EXPRESSION,
|
|
9
|
-
GENE_VARIANT,
|
|
10
|
-
INTEGER,
|
|
11
|
-
ISOFORM_EXPRESSION,
|
|
12
|
-
JUNCTION,
|
|
13
|
-
METABOLITE_INTENSITY,
|
|
14
|
-
MULTIVALUE,
|
|
15
|
-
PROTEOME_ABUNDANCE,
|
|
16
|
-
PSEUDOBULK,
|
|
17
|
-
SAMPLELST,
|
|
18
|
-
SINGLECELL_CELLTYPE,
|
|
19
|
-
SINGLECELL_GENE_EXPRESSION,
|
|
20
|
-
SINGLECELL_NUMERIC_VALUE,
|
|
21
|
-
SNP,
|
|
22
|
-
SNP_LIST,
|
|
23
|
-
SNP_LOCUS,
|
|
24
|
-
SSGSEA,
|
|
25
|
-
SURVIVAL,
|
|
26
|
-
TERM_COLLECTION,
|
|
27
|
-
TermTypeGroups,
|
|
28
|
-
dtTerms,
|
|
29
|
-
dtdnamethylation,
|
|
30
|
-
dtgeneexpression,
|
|
31
|
-
dtmetaboliteintensity,
|
|
32
|
-
dtproteomeabundance,
|
|
33
|
-
dtssgsea
|
|
34
|
-
} from "./chunk-2N345NXD.js";
|
|
35
|
-
|
|
36
|
-
// ../shared/utils/dist/src/terms.js
|
|
37
|
-
var ROOT_SAMPLE_TYPE = 1;
|
|
38
|
-
var DEFAULT_SAMPLE_TYPE = 2;
|
|
39
|
-
var NumericModes = {
|
|
40
|
-
continuous: "continuous",
|
|
41
|
-
discrete: "discrete"
|
|
42
|
-
};
|
|
43
|
-
var dtTermTypes = new Set(dtTerms.map((t) => t.type));
|
|
44
|
-
var TermTypes2Dt = {
|
|
45
|
-
[GENE_EXPRESSION]: dtgeneexpression,
|
|
46
|
-
[SSGSEA]: dtssgsea,
|
|
47
|
-
[DNA_METHYLATION]: dtdnamethylation,
|
|
48
|
-
[METABOLITE_INTENSITY]: dtmetaboliteintensity,
|
|
49
|
-
[PROTEOME_ABUNDANCE]: dtproteomeabundance
|
|
50
|
-
};
|
|
51
|
-
var typeGroup = {
|
|
52
|
-
[CATEGORICAL]: TermTypeGroups.DICTIONARY_VARIABLES,
|
|
53
|
-
[CONDITION]: TermTypeGroups.DICTIONARY_VARIABLES,
|
|
54
|
-
[FLOAT]: TermTypeGroups.DICTIONARY_VARIABLES,
|
|
55
|
-
[INTEGER]: TermTypeGroups.DICTIONARY_VARIABLES,
|
|
56
|
-
[SAMPLELST]: TermTypeGroups.DICTIONARY_VARIABLES,
|
|
57
|
-
[SURVIVAL]: TermTypeGroups.DICTIONARY_VARIABLES,
|
|
58
|
-
[DATE]: TermTypeGroups.DICTIONARY_VARIABLES,
|
|
59
|
-
[MULTIVALUE]: TermTypeGroups.DICTIONARY_VARIABLES,
|
|
60
|
-
[GENE_VARIANT]: TermTypeGroups.MUTATION_CNV_FUSION,
|
|
61
|
-
[SNP]: TermTypeGroups.SNP,
|
|
62
|
-
[SNP_LIST]: TermTypeGroups.SNP_LIST,
|
|
63
|
-
[SNP_LOCUS]: TermTypeGroups.SNP_LOCUS,
|
|
64
|
-
[GENE_EXPRESSION]: TermTypeGroups.GENE_EXPRESSION,
|
|
65
|
-
[ISOFORM_EXPRESSION]: TermTypeGroups.ISOFORM_EXPRESSION,
|
|
66
|
-
[JUNCTION]: TermTypeGroups.SPLICE_JUNCTION,
|
|
67
|
-
[SSGSEA]: TermTypeGroups.SSGSEA,
|
|
68
|
-
[DNA_METHYLATION]: TermTypeGroups.DNA_METHYLATION,
|
|
69
|
-
[METABOLITE_INTENSITY]: TermTypeGroups.METABOLITE_INTENSITY,
|
|
70
|
-
[PROTEOME_ABUNDANCE]: TermTypeGroups.PROTEOME_ABUNDANCE,
|
|
71
|
-
[PSEUDOBULK]: TermTypeGroups.PSEUDOBULK,
|
|
72
|
-
[TERM_COLLECTION]: TermTypeGroups.TERM_COLLECTION,
|
|
73
|
-
[SINGLECELL_CELLTYPE]: TermTypeGroups.SINGLECELL_CELLTYPE,
|
|
74
|
-
[SINGLECELL_GENE_EXPRESSION]: TermTypeGroups.SINGLECELL_GENE_EXPRESSION,
|
|
75
|
-
[SINGLECELL_NUMERIC_VALUE]: TermTypeGroups.SINGLECELL_NUMERIC_VALUE,
|
|
76
|
-
[COHORT]: TermTypeGroups.COHORT
|
|
77
|
-
};
|
|
78
|
-
var nonDictTypes = /* @__PURE__ */ new Set([
|
|
79
|
-
SNP,
|
|
80
|
-
SNP_LIST,
|
|
81
|
-
SNP_LOCUS,
|
|
82
|
-
GENE_EXPRESSION,
|
|
83
|
-
ISOFORM_EXPRESSION,
|
|
84
|
-
JUNCTION,
|
|
85
|
-
SSGSEA,
|
|
86
|
-
DNA_METHYLATION,
|
|
87
|
-
GENE_VARIANT,
|
|
88
|
-
METABOLITE_INTENSITY,
|
|
89
|
-
PROTEOME_ABUNDANCE,
|
|
90
|
-
PSEUDOBULK,
|
|
91
|
-
SINGLECELL_CELLTYPE,
|
|
92
|
-
SINGLECELL_GENE_EXPRESSION,
|
|
93
|
-
SINGLECELL_NUMERIC_VALUE,
|
|
94
|
-
COHORT
|
|
95
|
-
]);
|
|
96
|
-
for (const dtTermType of dtTermTypes) {
|
|
97
|
-
nonDictTypes.add(dtTermType);
|
|
98
|
-
}
|
|
99
|
-
var numericTypes = /* @__PURE__ */ new Set([
|
|
100
|
-
INTEGER,
|
|
101
|
-
FLOAT,
|
|
102
|
-
GENE_EXPRESSION,
|
|
103
|
-
ISOFORM_EXPRESSION,
|
|
104
|
-
JUNCTION,
|
|
105
|
-
SSGSEA,
|
|
106
|
-
DNA_METHYLATION,
|
|
107
|
-
METABOLITE_INTENSITY,
|
|
108
|
-
PROTEOME_ABUNDANCE,
|
|
109
|
-
SINGLECELL_GENE_EXPRESSION,
|
|
110
|
-
SINGLECELL_NUMERIC_VALUE,
|
|
111
|
-
DATE,
|
|
112
|
-
PSEUDOBULK
|
|
113
|
-
]);
|
|
114
|
-
var dictionaryNumericTypes = /* @__PURE__ */ new Set([INTEGER, FLOAT, DATE]);
|
|
115
|
-
var categoricalTypes = /* @__PURE__ */ new Set([CATEGORICAL, SNP]);
|
|
116
|
-
var singleCellTerms = /* @__PURE__ */ new Set([
|
|
117
|
-
SINGLECELL_CELLTYPE,
|
|
118
|
-
SINGLECELL_GENE_EXPRESSION,
|
|
119
|
-
SINGLECELL_NUMERIC_VALUE
|
|
120
|
-
/*PSEUDOBULK*/
|
|
121
|
-
]);
|
|
122
|
-
function isSingleCellTerm(term) {
|
|
123
|
-
if (!term) return false;
|
|
124
|
-
if (typeof term !== "object") throw new Error("Term is not an object. Did you provide the type instead?");
|
|
125
|
-
return singleCellTerms.has(term.type);
|
|
126
|
-
}
|
|
127
|
-
function isNumericTerm(term) {
|
|
128
|
-
if (!term) return false;
|
|
129
|
-
return numericTypes.has(term.type);
|
|
130
|
-
}
|
|
131
|
-
function isNumericTw(tw) {
|
|
132
|
-
if (!tw?.term) return false;
|
|
133
|
-
return isNumericTerm(tw.term) || tw.term.type === TERM_COLLECTION && tw.term.memberType === "numeric" && tw.type === "TermCollectionTWFraction";
|
|
134
|
-
}
|
|
135
|
-
function isCategoricalTerm(term) {
|
|
136
|
-
if (!term) return false;
|
|
137
|
-
return categoricalTypes.has(term.type);
|
|
138
|
-
}
|
|
139
|
-
function isDictionaryType(type) {
|
|
140
|
-
return !isNonDictionaryType(type);
|
|
141
|
-
}
|
|
142
|
-
function isNonDictionaryType(type) {
|
|
143
|
-
if (!type) throw new Error("Type is not defined");
|
|
144
|
-
return nonDictTypes.has(type);
|
|
145
|
-
}
|
|
146
|
-
function isNumTermCollection(term) {
|
|
147
|
-
if (!term || !term.type) throw new Error("Term or term type is not defined");
|
|
148
|
-
return term.type === TERM_COLLECTION;
|
|
149
|
-
}
|
|
150
|
-
function equals(t1, t2) {
|
|
151
|
-
if (!t1) throw new Error("First term is not defined ");
|
|
152
|
-
if (!t2) throw new Error("Second term is not defined ");
|
|
153
|
-
if (t1.type !== t2.type) return false;
|
|
154
|
-
if (isDictionaryType(t1.type) && isDictionaryType(t2.type) && t1.type != SAMPLELST) return t1.id === t2.id;
|
|
155
|
-
switch (t1.type) {
|
|
156
|
-
case GENE_EXPRESSION:
|
|
157
|
-
return t1.gene == t2.gene;
|
|
158
|
-
case ISOFORM_EXPRESSION:
|
|
159
|
-
return t1.isoform == t2.isoform;
|
|
160
|
-
case JUNCTION:
|
|
161
|
-
return t1.chr == t2.chr && t1.start == t2.start && t1.stop == t2.stop && t1.strand == t2.strand;
|
|
162
|
-
case SSGSEA:
|
|
163
|
-
return t1.id == t2.id;
|
|
164
|
-
case DNA_METHYLATION:
|
|
165
|
-
return t1.chr == t2.chr && t1.start == t2.start && t1.stop == t2.stop;
|
|
166
|
-
case METABOLITE_INTENSITY:
|
|
167
|
-
case PROTEOME_ABUNDANCE:
|
|
168
|
-
return t1.name == t2.name;
|
|
169
|
-
case GENE_VARIANT:
|
|
170
|
-
return t1.gene == t2.gene || t1.chr == t2.chr && t1.start == t2.start && t1.stop == t2.stop;
|
|
171
|
-
// TO DO: Add more cases
|
|
172
|
-
// case SNP_LIST:
|
|
173
|
-
// case SNP_LOCUS:
|
|
174
|
-
// case SAMPLELST:
|
|
175
|
-
default:
|
|
176
|
-
return false;
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
function trimGvTermCopy(term, q) {
|
|
180
|
-
if (term?.type != GENE_VARIANT) return term;
|
|
181
|
-
delete term.childTerms;
|
|
182
|
-
if (q?.customset) clearGroupsetParentTerms(q.customset);
|
|
183
|
-
const lst = term.groupsetting?.lst;
|
|
184
|
-
if (!lst?.length) return term;
|
|
185
|
-
if (q?.type == "predefined-groupset") {
|
|
186
|
-
const idx = q.predefined_groupset_idx;
|
|
187
|
-
term.groupsetting.lst = lst.map((groupset, i) => i === idx ? groupset : null);
|
|
188
|
-
clearDtTermMnames(term.groupsetting.lst[idx]);
|
|
189
|
-
clearGroupsetParentTerms(term.groupsetting.lst[idx]);
|
|
190
|
-
} else {
|
|
191
|
-
delete term.groupsetting.lst;
|
|
192
|
-
}
|
|
193
|
-
return term;
|
|
194
|
-
}
|
|
195
|
-
function forEachGvTw(obj, callback) {
|
|
196
|
-
if (!obj || typeof obj != "object") return;
|
|
197
|
-
if (obj.q && obj.term?.type == GENE_VARIANT) callback(obj);
|
|
198
|
-
for (const value of Object.values(obj)) forEachGvTw(value, callback);
|
|
199
|
-
}
|
|
200
|
-
function trimGvTermsForSave(obj) {
|
|
201
|
-
forEachGvTw(obj, (tw) => {
|
|
202
|
-
delete tw.term.childTerms;
|
|
203
|
-
delete tw.term.groupsetting;
|
|
204
|
-
if (tw.q.customset) clearGroupsetParentTerms(tw.q.customset);
|
|
205
|
-
});
|
|
206
|
-
return obj;
|
|
207
|
-
}
|
|
208
|
-
function getGvGeneKey(term) {
|
|
209
|
-
const genes = term?.genes?.length ? term.genes : term ? [term] : [];
|
|
210
|
-
const keys = genes.map((gene) => {
|
|
211
|
-
if (getGvGeneKind(gene) == "coord") {
|
|
212
|
-
const region = getGvQueryRegion(gene);
|
|
213
|
-
return region ? `${region.chr}:${region.start + 1}-${region.stop}` : void 0;
|
|
214
|
-
}
|
|
215
|
-
return gene.gene || gene.name;
|
|
216
|
-
}).filter((key) => typeof key == "string" && key);
|
|
217
|
-
if (!keys.length || keys.length != genes.length) return "";
|
|
218
|
-
return keys.sort().join(",");
|
|
219
|
-
}
|
|
220
|
-
var gvQCacheKeyPrefix = "gv:";
|
|
221
|
-
function getGvQCacheKey(term) {
|
|
222
|
-
const key = getGvGeneKey(term);
|
|
223
|
-
return key ? gvQCacheKeyPrefix + key : "";
|
|
224
|
-
}
|
|
225
|
-
function getGvGeneKind(gene) {
|
|
226
|
-
if (gene?.kind) return gene.kind;
|
|
227
|
-
if (gene?.gene || gene?.name && !gene.chr) return "gene";
|
|
228
|
-
if (gene?.chr) return "coord";
|
|
229
|
-
return void 0;
|
|
230
|
-
}
|
|
231
|
-
function trimGvQForCache(q) {
|
|
232
|
-
const copy = structuredClone(q);
|
|
233
|
-
delete copy.isAtomic;
|
|
234
|
-
delete copy.hiddenValues;
|
|
235
|
-
delete copy.dtLst;
|
|
236
|
-
if (copy.customset) {
|
|
237
|
-
clearDtTermMnames(copy.customset);
|
|
238
|
-
clearGroupsetParentTerms(copy.customset);
|
|
239
|
-
}
|
|
240
|
-
return copy;
|
|
241
|
-
}
|
|
242
|
-
function getGvQueryRegion(gene) {
|
|
243
|
-
if (!gene?.chr || !Number.isInteger(gene.start) || !Number.isInteger(gene.stop)) return;
|
|
244
|
-
return { chr: gene.chr, start: gene.start, stop: gene.stop };
|
|
245
|
-
}
|
|
246
|
-
function restoreGvQueryEntry(v, queries) {
|
|
247
|
-
if (!queries || v?.$q === void 0) return false;
|
|
248
|
-
Object.assign(v, queries[v.$q]);
|
|
249
|
-
delete v.$q;
|
|
250
|
-
return true;
|
|
251
|
-
}
|
|
252
|
-
function matchesGvQueryEntry(entry, v) {
|
|
253
|
-
if (entry.gene) return entry.gene == v.gene;
|
|
254
|
-
const r = entry.region;
|
|
255
|
-
if (r) return !!v.region && r.chr == v.region.chr && r.start == v.region.start && r.stop == v.region.stop;
|
|
256
|
-
return true;
|
|
257
|
-
}
|
|
258
|
-
function setGroupsetParentTerms(groupset, term) {
|
|
259
|
-
if (term?.type != GENE_VARIANT) throw "parent of a groupset tvs must be a geneVariant term";
|
|
260
|
-
const parentTerm = structuredClone(term);
|
|
261
|
-
delete parentTerm.childTerms;
|
|
262
|
-
delete parentTerm.groupsetting;
|
|
263
|
-
walkTvs(groupset, (tvs) => {
|
|
264
|
-
if (!dtTermTypes.has(tvs.term?.type)) throw `groupset tvs term is not a dt term`;
|
|
265
|
-
tvs.term.parentTerm = parentTerm;
|
|
266
|
-
});
|
|
267
|
-
return groupset;
|
|
268
|
-
}
|
|
269
|
-
function clearGroupsetParentTerms(groupset) {
|
|
270
|
-
walkTvs(groupset, (tvs) => {
|
|
271
|
-
if (tvs.term) delete tvs.term.parentTerm;
|
|
272
|
-
});
|
|
273
|
-
return groupset;
|
|
274
|
-
}
|
|
275
|
-
function hasLegacyGroupsetOrigins(groupset) {
|
|
276
|
-
let found = false;
|
|
277
|
-
walkTvs(groupset, (tvs) => {
|
|
278
|
-
if (tvs.term?.origin) found = true;
|
|
279
|
-
});
|
|
280
|
-
return found;
|
|
281
|
-
}
|
|
282
|
-
function migrateLegacyTvsOrigins(tvs) {
|
|
283
|
-
if (!tvs?.term) return tvs;
|
|
284
|
-
if (tvs.term.origin && !tvs.origins?.length) tvs.origins = [tvs.term.origin];
|
|
285
|
-
delete tvs.term.origin;
|
|
286
|
-
delete tvs.term.name_noOrigin;
|
|
287
|
-
return tvs;
|
|
288
|
-
}
|
|
289
|
-
function migrateLegacyGroupsetOrigins(groupset) {
|
|
290
|
-
walkTvs(groupset, migrateLegacyTvsOrigins);
|
|
291
|
-
return groupset;
|
|
292
|
-
}
|
|
293
|
-
function getOriginLabel(origins, byOrigin) {
|
|
294
|
-
if (!origins?.length || !byOrigin) return "";
|
|
295
|
-
if (origins.length == Object.keys(byOrigin).length) return "";
|
|
296
|
-
return origins.map((origin) => byOrigin[origin]?.label || origin).join(", ");
|
|
297
|
-
}
|
|
298
|
-
function getGvLabelSuffix(q, term) {
|
|
299
|
-
const labels = [q?.originLabel, term?.sampleTypeLabel].filter(Boolean);
|
|
300
|
-
return labels.length ? ` (${labels.join(", ")})` : "";
|
|
301
|
-
}
|
|
302
|
-
function setGroupsetOrigins(groupset, byDt, seed) {
|
|
303
|
-
walkTvs(groupset, (tvs) => {
|
|
304
|
-
const origins = resolveDtOrigins(byDt, tvs.term?.dt, seed);
|
|
305
|
-
if (origins) tvs.origins = origins;
|
|
306
|
-
else delete tvs.origins;
|
|
307
|
-
});
|
|
308
|
-
return groupset;
|
|
309
|
-
}
|
|
310
|
-
function resolveDtOrigins(byDt, dt, seed) {
|
|
311
|
-
const byOrigin = byDt?.[dt]?.byOrigin;
|
|
312
|
-
if (!byOrigin) return;
|
|
313
|
-
const seeded = seed?.filter((origin) => origin in byOrigin);
|
|
314
|
-
return seeded?.length ? seeded : Object.keys(byOrigin);
|
|
315
|
-
}
|
|
316
|
-
function walkTvs(obj, fn) {
|
|
317
|
-
if (!obj || typeof obj != "object") return;
|
|
318
|
-
if (obj.type == "tvs" && obj.tvs) {
|
|
319
|
-
fn(obj.tvs);
|
|
320
|
-
return;
|
|
321
|
-
}
|
|
322
|
-
for (const k in obj) walkTvs(obj[k], fn);
|
|
323
|
-
}
|
|
324
|
-
function getDtsFromGroups(groups) {
|
|
325
|
-
const dts = /* @__PURE__ */ new Set();
|
|
326
|
-
for (const group of groups) {
|
|
327
|
-
for (const dt of getDtsFromFilter(group.filter)) dts.add(dt);
|
|
328
|
-
}
|
|
329
|
-
return [...dts];
|
|
330
|
-
}
|
|
331
|
-
function getDtsFromFilter(filter) {
|
|
332
|
-
const dts = /* @__PURE__ */ new Set();
|
|
333
|
-
for (const item of filter.lst) {
|
|
334
|
-
if (item.type == "tvslst") {
|
|
335
|
-
for (const dt of getDtsFromFilter(item)) dts.add(dt);
|
|
336
|
-
} else {
|
|
337
|
-
dts.add(item.tvs.term.dt);
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
|
-
return dts;
|
|
341
|
-
}
|
|
342
|
-
function clearDtTermMnames(obj) {
|
|
343
|
-
walkTvs(obj, (tvs) => {
|
|
344
|
-
if (tvs.term) delete tvs.term.mnames;
|
|
345
|
-
});
|
|
346
|
-
return obj;
|
|
347
|
-
}
|
|
348
|
-
function getQuerySampleTypesByTerms(sampleTypesByTerms, querySampleTypes) {
|
|
349
|
-
if (!sampleTypesByTerms) return;
|
|
350
|
-
const querySampleTypesByTerms = {};
|
|
351
|
-
for (const [term, values] of Object.entries(sampleTypesByTerms)) {
|
|
352
|
-
const queryValues = {};
|
|
353
|
-
for (const [value, sampleTypes] of Object.entries(values)) {
|
|
354
|
-
const filteredSampleTypes = sampleTypes.filter((sampleType) => querySampleTypes.includes(sampleType));
|
|
355
|
-
if (filteredSampleTypes.length) queryValues[value] = filteredSampleTypes;
|
|
356
|
-
}
|
|
357
|
-
if (Object.keys(queryValues).length) querySampleTypesByTerms[term] = queryValues;
|
|
358
|
-
}
|
|
359
|
-
if (!Object.keys(querySampleTypesByTerms).length) return;
|
|
360
|
-
return querySampleTypesByTerms;
|
|
361
|
-
}
|
|
362
|
-
var typeMap = {
|
|
363
|
-
categorical: "Categorical",
|
|
364
|
-
condition: "Condition",
|
|
365
|
-
float: "Numerical",
|
|
366
|
-
integer: "Numerical",
|
|
367
|
-
date: "Date",
|
|
368
|
-
geneExpression: "Gene Expression",
|
|
369
|
-
isoformExpression: "Isoform Expression",
|
|
370
|
-
[JUNCTION]: "Splice junction",
|
|
371
|
-
ssGSEA: "Geneset Expression",
|
|
372
|
-
dnaMethylation: "DNA Methylation",
|
|
373
|
-
geneVariant: "Gene Variant",
|
|
374
|
-
metaboliteIntensity: "Metabolite Intensity",
|
|
375
|
-
proteomeAbundance: "Proteome Abundance",
|
|
376
|
-
proteomeDAP: "Proteome DAP",
|
|
377
|
-
multivalue: "Multi Value",
|
|
378
|
-
singleCellGeneExpression: "Single Cell, Gene Expression",
|
|
379
|
-
singleCellCellType: "Single Cell, Cell Type",
|
|
380
|
-
singleCellNumericValue: "Single Cell, Numeric Value",
|
|
381
|
-
snplocus: "SNP Locus",
|
|
382
|
-
snp: "SNP",
|
|
383
|
-
snplst: "SNP List",
|
|
384
|
-
termCollection: "Term Collection"
|
|
385
|
-
};
|
|
386
|
-
function termItemType(t) {
|
|
387
|
-
switch (t.type) {
|
|
388
|
-
case JUNCTION:
|
|
389
|
-
return "Splice junction";
|
|
390
|
-
case GENE_EXPRESSION:
|
|
391
|
-
case SINGLECELL_GENE_EXPRESSION:
|
|
392
|
-
return "Gene";
|
|
393
|
-
case ISOFORM_EXPRESSION:
|
|
394
|
-
return "Isoform";
|
|
395
|
-
case SSGSEA:
|
|
396
|
-
return "Gene set";
|
|
397
|
-
case METABOLITE_INTENSITY:
|
|
398
|
-
return "Metabolite";
|
|
399
|
-
// keep adding here
|
|
400
|
-
default:
|
|
401
|
-
return "Variable";
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
function termType2label(type) {
|
|
405
|
-
const s = typeMap[type];
|
|
406
|
-
if (s) return s;
|
|
407
|
-
throw new Error("termType2label(): unknown value");
|
|
408
|
-
}
|
|
409
|
-
function getDateFromNumber(value) {
|
|
410
|
-
const year = Math.floor(value);
|
|
411
|
-
const january1st = new Date(year, 0, 1);
|
|
412
|
-
const totalDays = getDaysInYear(year);
|
|
413
|
-
const time = Math.round((value - year) * totalDays) * oneDayTime;
|
|
414
|
-
const date = new Date(january1st.getTime() + time);
|
|
415
|
-
return date;
|
|
416
|
-
}
|
|
417
|
-
var oneDayTime = 24 * 60 * 60 * 1e3;
|
|
418
|
-
function getDateStrFromNumber(value) {
|
|
419
|
-
const date = getDateFromNumber(value);
|
|
420
|
-
return date.toLocaleDateString("en-US", {
|
|
421
|
-
year: "numeric",
|
|
422
|
-
month: "long"
|
|
423
|
-
});
|
|
424
|
-
}
|
|
425
|
-
function getDaysInYear(year) {
|
|
426
|
-
const isLeap = new Date(year, 1, 29).getMonth() === 1;
|
|
427
|
-
const days = isLeap ? 366 : 365;
|
|
428
|
-
return days;
|
|
429
|
-
}
|
|
430
|
-
|
|
431
|
-
export {
|
|
432
|
-
ROOT_SAMPLE_TYPE,
|
|
433
|
-
DEFAULT_SAMPLE_TYPE,
|
|
434
|
-
NumericModes,
|
|
435
|
-
dtTermTypes,
|
|
436
|
-
TermTypes2Dt,
|
|
437
|
-
typeGroup,
|
|
438
|
-
numericTypes,
|
|
439
|
-
dictionaryNumericTypes,
|
|
440
|
-
isSingleCellTerm,
|
|
441
|
-
isNumericTerm,
|
|
442
|
-
isNumericTw,
|
|
443
|
-
isCategoricalTerm,
|
|
444
|
-
isDictionaryType,
|
|
445
|
-
isNonDictionaryType,
|
|
446
|
-
isNumTermCollection,
|
|
447
|
-
equals,
|
|
448
|
-
trimGvTermCopy,
|
|
449
|
-
forEachGvTw,
|
|
450
|
-
trimGvTermsForSave,
|
|
451
|
-
gvQCacheKeyPrefix,
|
|
452
|
-
getGvQCacheKey,
|
|
453
|
-
trimGvQForCache,
|
|
454
|
-
restoreGvQueryEntry,
|
|
455
|
-
matchesGvQueryEntry,
|
|
456
|
-
setGroupsetParentTerms,
|
|
457
|
-
hasLegacyGroupsetOrigins,
|
|
458
|
-
migrateLegacyTvsOrigins,
|
|
459
|
-
migrateLegacyGroupsetOrigins,
|
|
460
|
-
getOriginLabel,
|
|
461
|
-
getGvLabelSuffix,
|
|
462
|
-
setGroupsetOrigins,
|
|
463
|
-
walkTvs,
|
|
464
|
-
getDtsFromGroups,
|
|
465
|
-
clearDtTermMnames,
|
|
466
|
-
getQuerySampleTypesByTerms,
|
|
467
|
-
termItemType,
|
|
468
|
-
termType2label,
|
|
469
|
-
getDateFromNumber,
|
|
470
|
-
getDateStrFromNumber
|
|
471
|
-
};
|
|
472
|
-
//# sourceMappingURL=chunk-T2W4JHWJ.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../shared/utils/src/terms.ts"],
|
|
4
|
-
"sourcesContent": ["import type { Term, SampleTypesByTerms } from '#types'\nimport {\n\tdtgeneexpression,\n\tdtssgsea,\n\tdtdnamethylation,\n\tdtmetaboliteintensity,\n\tdtproteomeabundance,\n\tTermTypeGroups,\n\tdtTerms\n} from './common.js'\nimport {\n\tGENE_VARIANT,\n\tGENE_EXPRESSION,\n\tISOFORM_EXPRESSION,\n\tSSGSEA,\n\tDNA_METHYLATION,\n\tCATEGORICAL,\n\tINTEGER,\n\tJUNCTION,\n\tFLOAT,\n\tSNP,\n\tSNP_LIST,\n\tSNP_LOCUS,\n\tCONDITION,\n\tSURVIVAL,\n\tSAMPLELST,\n\tMETABOLITE_INTENSITY,\n\tPROTEOME_ABUNDANCE,\n\tPSEUDOBULK,\n\tSINGLECELL_CELLTYPE,\n\tSINGLECELL_GENE_EXPRESSION,\n\tSINGLECELL_NUMERIC_VALUE,\n\tMULTIVALUE,\n\tDATE,\n\tTERM_COLLECTION,\n\tCOHORT\n} from '#types'\n\n// moved TermTypeGroups to `server/src/common.js`, so now has to re-export\nexport { TermTypeGroups } from './common.js'\n\n/*\nFor datasets with multiple types of samples the ROOT_SAMPLE_TYPE is used to represent the root sample type, for example, \nthe type patient, that has one or more samples associated to it. This should be the id used as sample_type, when generating the db to identify the root samples\nin sampleidmap or the terms annotating root samples in the terms table.\nThe samples associated to a patient have annotations that are specific to a timepoint, for example, the age of the patient,\nthe doses of the drugs the patient was taking at the time of the data collection, etc. These annotations are associated to a sample.\n*/\nexport const ROOT_SAMPLE_TYPE = 1\n\n//For datasets with one sample type the DEFAULT_SAMPLE_TYPE is used to represent the sample type\nexport const DEFAULT_SAMPLE_TYPE = 2\n\nexport const NumericModes = {\n\tcontinuous: 'continuous',\n\tdiscrete: 'discrete'\n}\n\n// the dt term types are also declared in TermTypes, see the assertion in terms.unit.spec.ts\nexport const dtTermTypes: Set<string> = new Set(dtTerms.map((t: any) => t.type))\n\nexport const TermTypes2Dt = {\n\t[GENE_EXPRESSION]: dtgeneexpression,\n\t[SSGSEA]: dtssgsea,\n\t[DNA_METHYLATION]: dtdnamethylation,\n\t[METABOLITE_INTENSITY]: dtmetaboliteintensity,\n\t[PROTEOME_ABUNDANCE]: dtproteomeabundance\n}\n\n// maps term type to group (as is shown as toggles in search ui)\nexport const typeGroup = {\n\t[CATEGORICAL]: TermTypeGroups.DICTIONARY_VARIABLES,\n\t[CONDITION]: TermTypeGroups.DICTIONARY_VARIABLES,\n\t[FLOAT]: TermTypeGroups.DICTIONARY_VARIABLES,\n\t[INTEGER]: TermTypeGroups.DICTIONARY_VARIABLES,\n\t[SAMPLELST]: TermTypeGroups.DICTIONARY_VARIABLES,\n\t[SURVIVAL]: TermTypeGroups.DICTIONARY_VARIABLES,\n\t[DATE]: TermTypeGroups.DICTIONARY_VARIABLES,\n\t[MULTIVALUE]: TermTypeGroups.DICTIONARY_VARIABLES,\n\t[GENE_VARIANT]: TermTypeGroups.MUTATION_CNV_FUSION,\n\t[SNP]: TermTypeGroups.SNP,\n\t[SNP_LIST]: TermTypeGroups.SNP_LIST,\n\t[SNP_LOCUS]: TermTypeGroups.SNP_LOCUS,\n\t[GENE_EXPRESSION]: TermTypeGroups.GENE_EXPRESSION,\n\t[ISOFORM_EXPRESSION]: TermTypeGroups.ISOFORM_EXPRESSION,\n\t[JUNCTION]: TermTypeGroups.SPLICE_JUNCTION,\n\t[SSGSEA]: TermTypeGroups.SSGSEA,\n\t[DNA_METHYLATION]: TermTypeGroups.DNA_METHYLATION,\n\t[METABOLITE_INTENSITY]: TermTypeGroups.METABOLITE_INTENSITY,\n\t[PROTEOME_ABUNDANCE]: TermTypeGroups.PROTEOME_ABUNDANCE,\n\t[PSEUDOBULK]: TermTypeGroups.PSEUDOBULK,\n\t[TERM_COLLECTION]: TermTypeGroups.TERM_COLLECTION,\n\t[SINGLECELL_CELLTYPE]: TermTypeGroups.SINGLECELL_CELLTYPE,\n\t[SINGLECELL_GENE_EXPRESSION]: TermTypeGroups.SINGLECELL_GENE_EXPRESSION,\n\t[SINGLECELL_NUMERIC_VALUE]: TermTypeGroups.SINGLECELL_NUMERIC_VALUE,\n\t[COHORT]: TermTypeGroups.COHORT\n}\n\nconst nonDictTypes = new Set([\n\tSNP,\n\tSNP_LIST,\n\tSNP_LOCUS,\n\tGENE_EXPRESSION,\n\tISOFORM_EXPRESSION,\n\tJUNCTION,\n\tSSGSEA,\n\tDNA_METHYLATION,\n\tGENE_VARIANT,\n\tMETABOLITE_INTENSITY,\n\tPROTEOME_ABUNDANCE,\n\tPSEUDOBULK,\n\tSINGLECELL_CELLTYPE,\n\tSINGLECELL_GENE_EXPRESSION,\n\tSINGLECELL_NUMERIC_VALUE,\n\tCOHORT\n])\n\nfor (const dtTermType of dtTermTypes) {\n\tnonDictTypes.add(dtTermType)\n}\n\nexport const numericTypes = new Set([\n\tINTEGER,\n\tFLOAT,\n\tGENE_EXPRESSION,\n\tISOFORM_EXPRESSION,\n\tJUNCTION,\n\tSSGSEA,\n\tDNA_METHYLATION,\n\tMETABOLITE_INTENSITY,\n\tPROTEOME_ABUNDANCE,\n\tSINGLECELL_GENE_EXPRESSION,\n\tSINGLECELL_NUMERIC_VALUE,\n\tDATE,\n\tPSEUDOBULK\n])\n\n// dictionary numeric term types, exists in db tables, exclude non-dictionary term types\nexport const dictionaryNumericTypes = new Set([INTEGER, FLOAT, DATE])\n\nconst categoricalTypes = new Set([CATEGORICAL, SNP])\n\n/** Note: Do not add pseudobulk here. These capture cell level terms.\n * Pseudobulk terms are sample level terms. May in the future update\n * to isSCCellLevelTerms() and isSingleCellTerm() if the need arises */\nconst singleCellTerms = new Set([\n\tSINGLECELL_CELLTYPE,\n\tSINGLECELL_GENE_EXPRESSION,\n\tSINGLECELL_NUMERIC_VALUE /*PSEUDOBULK*/\n])\n\nexport type TwSampleTypes = {\n\tsampleTypes?: number[] // sample types of termwrapper\n\tchildSampleTypes?: number[] // child sample types to map to\n}\n\nexport function isSingleCellTerm(term: any) {\n\tif (!term) return false\n\tif (typeof term !== 'object') throw new Error('Term is not an object. Did you provide the type instead?')\n\treturn singleCellTerms.has(term.type)\n}\nexport function isNumericTerm(term: Term) {\n\tif (!term) return false\n\treturn numericTypes.has(term.type)\n}\n\n/** True when a term wrapper resolves to one numeric value per sample.\n * A termCollection in values mode is intentionally excluded because it retains\n * one value per member term rather than resolving to a scalar. */\nexport function isNumericTw(tw: any) {\n\tif (!tw?.term) return false\n\treturn (\n\t\tisNumericTerm(tw.term) ||\n\t\t(tw.term.type === TERM_COLLECTION && tw.term.memberType === 'numeric' && tw.type === 'TermCollectionTWFraction')\n\t)\n}\nexport function isCategoricalTerm(term: Term) {\n\tif (!term) return false\n\treturn categoricalTypes.has(term.type)\n}\n\nexport function isDictionaryType(type: string) {\n\treturn !isNonDictionaryType(type)\n}\n\nexport function isNonDictionaryType(type: string) {\n\tif (!type) throw new Error('Type is not defined')\n\treturn nonDictTypes.has(type)\n}\n\nexport function isNumTermCollection(term: Term) {\n\tif (!term || !term.type) throw new Error('Term or term type is not defined')\n\t//Enable this check when memberType is added to term collection\n\t// return term.type === TERM_COLLECTION && term.memberType == 'numeric'\n\treturn term.type === TERM_COLLECTION\n}\n\nexport function equals(t1: any, t2: any) {\n\tif (!t1) throw new Error('First term is not defined ')\n\tif (!t2) throw new Error('Second term is not defined ')\n\tif (t1.type !== t2.type) return false //term types are different\n\tif (isDictionaryType(t1.type) && isDictionaryType(t2.type) && t1.type != SAMPLELST) return t1.id === t2.id\n\tswitch (t1.type) {\n\t\tcase GENE_EXPRESSION:\n\t\t\treturn t1.gene == t2.gene\n\t\tcase ISOFORM_EXPRESSION:\n\t\t\treturn t1.isoform == t2.isoform\n\t\tcase JUNCTION:\n\t\t\treturn t1.chr == t2.chr && t1.start == t2.start && t1.stop == t2.stop && t1.strand == t2.strand\n\t\tcase SSGSEA:\n\t\t\treturn t1.id == t2.id\n\t\tcase DNA_METHYLATION:\n\t\t\treturn t1.chr == t2.chr && t1.start == t2.start && t1.stop == t2.stop\n\t\tcase METABOLITE_INTENSITY:\n\t\tcase PROTEOME_ABUNDANCE:\n\t\t\treturn t1.name == t2.name\n\t\tcase GENE_VARIANT:\n\t\t\treturn t1.gene == t2.gene || (t1.chr == t2.chr && t1.start == t2.start && t1.stop == t2.stop)\n\n\t\t// TO DO: Add more cases\n\t\t// case SNP_LIST:\n\t\t// case SNP_LOCUS:\n\t\t// case SAMPLELST:\n\n\t\tdefault:\n\t\t\treturn false\n\t}\n}\n\n/*\nA filled-in geneVariant term carries derived properties that dominate its serialized\nsize: term.childTerms[], and for a predefined groupset, term.groupsetting.lst[] with\nan embedded copy of a dt term (values, mnames, parentTerm) per tvs of every groupset.\nNone of it is needed to answer a data request:\n- no server code reads term.childTerms[]; it is a client-side convenience that\n GvBase.fill() rebuilds from termdbConfig\n- only the groupset at q.predefined_groupset_idx is read server-side, by\n get_active_groupset() in server/src/termdb.sql.js\n- dtTerm.mnames[] (the amino acid change tally) is only read by the tvs edit UI,\n which re-queries it in fillMenu() before rendering\n\nTrimming these shrinks a single-gene request payload by ~80%.\n\nterm{} and q{} are mutated in place, so only call this on a copy that is about to\nbe serialized into a request payload, never on a tw held in state.\n*/\nexport function trimGvTermCopy(term: any, q: any) {\n\tif (term?.type != GENE_VARIANT) return term\n\tdelete term.childTerms\n\t/* the parent of a groupset tvs is this very term, and the server reads it off the\n\ttw rather than off the tvs, see setGroupsetParentTerms() */\n\tif (q?.customset) clearGroupsetParentTerms(q.customset)\n\tconst lst = term.groupsetting?.lst\n\tif (!lst?.length) return term\n\tif (q?.type == 'predefined-groupset') {\n\t\t// keep only the active groupset, but preserve the array indexes,\n\t\t// since the server reads groupsetting.lst[q.predefined_groupset_idx]\n\t\tconst idx = q.predefined_groupset_idx\n\t\tterm.groupsetting.lst = lst.map((groupset: any, i: number) => (i === idx ? groupset : null))\n\t\tclearDtTermMnames(term.groupsetting.lst[idx])\n\t\tclearGroupsetParentTerms(term.groupsetting.lst[idx])\n\t} else {\n\t\t// no predefined groupset is in use, so no entry of lst[] is read server-side\n\t\tdelete term.groupsetting.lst\n\t}\n\treturn term\n}\n\n/*\nCall back on every geneVariant tw of an object, at any depth, so that a caller can accept a\nwhole state, a state.plots[], or one plot config without knowing where a plot keeps its tws\n(term/term0/term2 of a chart, termgroups[].lst[] of a matrix, and so on).\n\nA tw is identified by a term{} paired with a q{}, so that the dt term of a tvs of a mass\nfilter, which is a bare term, is never mistaken for one.\n\nDescends into a matched tw as well, since a tw can nest one: the tvs of a custom groupset\ncarry a parentTerm, which is a copy and not a reference back to the term walked here, so no\ncycle reaches this walk (see setGroupsetParentTerms()).\n*/\nexport function forEachGvTw(obj: any, callback: (tw: any) => void) {\n\tif (!obj || typeof obj != 'object') return\n\tif (obj.q && obj.term?.type == GENE_VARIANT) callback(obj)\n\t// own values only, to not descend into inherited props/methods, as in StoreBase.deepFreeze()\n\tfor (const value of Object.values(obj)) forEachGvTw(value, callback)\n}\n\n/*\nStrip every derived property of a geneVariant term from a state that is about to be\nserialized into a saved session, in place. Walks any object and trims the term of each\ngeneVariant tw it finds, so it accepts a whole state, a state.plots[], or one plot config.\n\nThis goes further than trimGvTermCopy() above, which shapes a request payload and so has\nto keep whatever the server reads. Nothing here has to survive, because a saved session is\nalways re-filled before it is rendered:\n- a session opened by url is filled by getPlotConfig() in init(), see client/mass/store.ts\n- a session opened in a running app is filled by preprocessState(), see client/mass/sessionBtn.js\nand GvBase.fill() rebuilds term.childTerms[] from termdbConfig, term.groupsetting from the\nchild terms, and each childTerm.parentTerm from the term itself.\n\nBetween them these are ~91% of a serialized single-gene tw, and the ratio climbs with the\ngene count: term.genes[] is serialized once per childTerm.parentTerm and once per tvs of the\nselected groupset, so a 200-gene tw carries ~9 copies of it.\n\nOnly the parentTerm of a customset tvs is trimmed out of q{}, which GvCustomGS.fill()\nre-attaches; the rest of q.customset is user-authored and no fill() rebuilds it. The dt term\nof a tvs of a mass filter does need its own parentTerm, and keeps it, since forEachGvTw()\nonly reaches a term paired with a q.\n*/\nexport function trimGvTermsForSave(obj: any) {\n\tforEachGvTw(obj, tw => {\n\t\tdelete tw.term.childTerms\n\t\t// deleting rather than emptying, since GvBase.fill() recreates it from scratch\n\t\tdelete tw.term.groupsetting\n\t\tif (tw.q.customset) clearGroupsetParentTerms(tw.q.customset)\n\t})\n\treturn obj\n}\n\n/*\nThe identity of the gene(s) a geneVariant term queries, which keys the settings remembered\nfor that term, see remember_gvq() in client/mass/store.ts.\n\nBuilt from the gene entries rather than from term.id or term.name, which for a gene set are\na name the user typed: two gene sets over the same genes would key apart, while a gene set\nsomeone named \"BCR\" would collide with the gene. Sorted, so that the same genes picked in a\ndifferent order are one key.\n\nEach entry is keyed by what identifies it and not by its label:\n- a gene entry by its symbol, never by its coordinates, which are annotated onto it only by\n a query that needs them (see mayMapGeneName2coord()), so keying by them would give one\n gene two keys depending on what had been queried\n- a coord entry by its region, never by its name: GvBase.fill() only auto-names one that\n has no name, so a supplied label would key the same region twice, and two regions sharing\n a label would collide into one key -- which is worse, since a setting built for one region\n would be offered for the other\n\nReturns '' for a term whose entries cannot all be identified, rather than a partial key that\ntwo different terms could share.\n*/\nexport function getGvGeneKey(term: any): string {\n\t// a term saved before term.genes[] existed describes its single gene at the top level,\n\t// and may reach here before GvBase.fill() normalizes it\n\tconst genes = term?.genes?.length ? term.genes : term ? [term] : []\n\tconst keys = genes\n\t\t.map((gene: any) => {\n\t\t\tif (getGvGeneKind(gene) == 'coord') {\n\t\t\t\tconst region = getGvQueryRegion(gene)\n\t\t\t\t// the same string fill() would auto-name the entry, so an auto-named coord\n\t\t\t\t// entry keys identically whether or not it has been filled\n\t\t\t\treturn region ? `${region.chr}:${region.start + 1}-${region.stop}` : undefined\n\t\t\t}\n\t\t\treturn gene.gene || gene.name\n\t\t})\n\t\t.filter((key: any) => typeof key == 'string' && key)\n\tif (!keys.length || keys.length != genes.length) return ''\n\treturn keys.sort().join(',')\n}\n\n/*\nThe key a remembered geneVariant setting is cached under, see remember_gvq() in\nclient/mass/store.ts. Returns '' for a term that getGvGeneKey() cannot key.\n\nPrefixed because the cache is a plain object keyed by gene names a url or an embedder can\nsupply, and is serialized into every session saved from the state:\n\n- an unprefixed gene named '__proto__' or 'constructor' would name an inherited property of\n the cache, so a read would resolve to Object.prototype or to a function instead of missing\n- worse, such a key survives JSON.parse() as an own key that copyMerge() then walks when a\n session is reopened, resolving target['__proto__'] to Object.prototype through the getter\n and writing the cached list onto it, see copyMerge() in client/rx/src/StoreBase.ts\n\n- an unprefixed integer-like gene name would also sort ahead of the rest in Object.keys(),\n which the least-recently-used eviction in remember_gvq() reads as insertion order\n\nThe prefix cannot itself be produced by getGvGeneKey(), since a gene symbol or a coord\nregion never starts with it, so prefixed keys stay one-to-one with the terms they key.\n*/\nexport const gvQCacheKeyPrefix = 'gv:'\nexport function getGvQCacheKey(term: any): string {\n\tconst key = getGvGeneKey(term)\n\treturn key ? gvQCacheKeyPrefix + key : ''\n}\n\n/** the kind of a geneVariant gene entry, inferred exactly as GvBase.fill() infers it for an\n * entry that predates term.kind, so that a term keys the same before and after it is filled */\nfunction getGvGeneKind(gene: any): string | undefined {\n\tif (gene?.kind) return gene.kind\n\tif (gene?.gene || (gene?.name && !gene.chr)) return 'gene'\n\tif (gene?.chr) return 'coord'\n\treturn undefined\n}\n\n/*\nA copy of a geneVariant q, reduced to what is worth remembering as a reusable setting, see\nremember_gvq() in client/mass/store.ts.\n\nEverything dropped is re-derived when a tw is filled with this q, so keeping it would only\nbloat the app state and every session saved from it, and would make two equivalent settings\ncompare as different when de-duplicating:\n- hiddenValues is refilled by set_hiddenvalues()\n- dtLst is always re-derived from the groups rather than trusted, see GvCustomGS.fill()\n- the mname tally and parent term of every customset tvs are re-attached on fill\n*/\nexport function trimGvQForCache(q: any) {\n\tconst copy = structuredClone(q)\n\tdelete copy.isAtomic\n\tdelete copy.hiddenValues\n\tdelete copy.dtLst\n\tif (copy.customset) {\n\t\tclearDtTermMnames(copy.customset)\n\t\tclearGroupsetParentTerms(copy.customset)\n\t}\n\treturn copy\n}\n\n/*\nA geneVariant term is queried per entry of term.genes[], and every value it yields records\nwhich entry it came from. That record used to be a single .gene holding the entry's NAME,\nwhich for a kind='coord' entry is a coordinate string -- so consumers reading .gene as a\ngene symbol got a region, e.g. a matrix export labelling a variant \"chr1:47213991-47318918\".\n\nThe two things are now separate: .gene is a gene symbol and is simply absent for a region,\nwhile .region below is what was queried and is present either way. The helpers here are the\none place that knows the shape.\n*/\n\n/* the region a query entry covers, which every value found through it carries. Distinct\nfrom the value's own .start/.stop, which are the event's -- a cnv segment is not the region\nthat found it.\n\nCoordinates are annotated onto a gene entry by mayMapGeneName2coord() when a query needing\nthem runs, so this is undefined for a gene only queried by dts that never map coords. A\ncoord entry always carries them, since fill() requires them. */\nexport function getGvQueryRegion(gene: any) {\n\tif (!gene?.chr || !Number.isInteger(gene.start) || !Number.isInteger(gene.stop)) return\n\treturn { chr: gene.chr, start: gene.start, stop: gene.stop }\n}\n\n/* identity of the query entry a value came from, for grouping and de-duplicating the values\nof a term over several genes or regions. The gene symbol when there is one, else the region. */\nexport function getGvQueryKey(v: any) {\n\tif (v?.gene) return v.gene\n\tconst r = v?.region\n\treturn r ? `${r.chr}:${r.start}-${r.stop}` : ''\n}\n\n/*\nThe wire format for the query entry of a value, as the two halves that must stay inverse of\neach other: get_matrix.js interns on the way out, TermdbVocab.js restores on the way in.\n\nA term's values repeat their query entry endlessly -- one .region object per value, tens of\nthousands of them in a matrix request -- so the distinct entries are collected once into\nrefs.byTermId[$id].queries[] and each value keeps only its index in .$q.\n\nBoth live here so the format has one definition and can be round-tripped in a test.\n*/\n\n/** replace a value's query entry with its index into queries[], interning it if new.\n * returns false for a value that records no query entry, which is left untouched */\nexport function internGvQueryEntry(v: any, queries: any[], idxByKey: Map<string, number>) {\n\tconst key = getGvQueryKey(v)\n\tif (!key) return false\n\tlet i = idxByKey.get(key)\n\tif (i === undefined) {\n\t\ti = queries.length\n\t\tconst entry: any = {}\n\t\tif (v.gene) entry.gene = v.gene\n\t\tif (v.region) entry.region = v.region\n\t\tqueries.push(entry)\n\t\tidxByKey.set(key, i)\n\t}\n\tv.$q = i\n\tdelete v.gene\n\tdelete v.region\n\treturn true\n}\n\n/** the inverse: put the query entry back on a value. returns false when there is nothing\n * to restore, e.g. a term whose values carry no query entry */\nexport function restoreGvQueryEntry(v: any, queries: any[] | undefined) {\n\tif (!queries || v?.$q === undefined) return false\n\tObject.assign(v, queries[v.$q])\n\tdelete v.$q\n\treturn true\n}\n\n/*\nWhether a values[] entry of a tvs, naming an amino acid change, is scoped to the query entry\na variant came from.\n\nAn entry may name a .gene, so that KRAS G12D of a gene-set term does not match NRAS G12D, or\na .region for the same reason over a term of several queried regions. Naming neither leaves\nit unscoped, matching that change wherever it was found -- which is what a single-entry term\nwants, and what the variant config emits for one.\n\nBoth matchers call this so a tvs means the same thing on either side: filterByItem() in\nserver/src/mds3.init.js and matchTvs() in geneVariantFilter.ts.\n*/\nexport function matchesGvQueryEntry(entry: any, v: any) {\n\tif (entry.gene) return entry.gene == v.gene\n\tconst r = entry.region\n\tif (r) return !!v.region && r.chr == v.region.chr && r.start == v.region.start && r.stop == v.region.stop\n\treturn true\n}\n\n/*\nThe dt term of a tvs carries a parentTerm, but for two unrelated reasons:\n\n- a tvs of a mass filter stands alone, so its parentTerm is the only record of which gene\n it is about. get_dtTerm() in server/src/termdb.filter.js reads it to run the query, and\n the tvs edit UI reads it to label the pill. it must be kept.\n- a tvs of a groupset (q.customset, or term.groupsetting.lst[]) has no such need: its\n parent is by definition the term of the tw that holds the groupset. storing one there is\n a copy of term.genes[] per tvs that nothing keeps in sync with the term it was copied\n from, and a termsetting instance is reused across terms, so it does go stale (see\n makeGroupUI() in client/termsetting/handlers/geneVariant.ts).\n\nSo a groupset gets its parentTerms rebuilt on every fill() instead of storing them, which\nlets both trims above drop them: a groupset tvs is evaluated against the tw that holds it,\nand get_dtTerm() in server/src/termdb.filter.js is the only server-side reader of a\nparentTerm, so nothing there misses the one a groupset does not store.\n\nOne snapshot is shared by reference across the tvs, as the child dt terms of a predefined\ngroupset already are. That is only safe because the trims drop it before it is ever\nserialized, which would turn the one shared copy back into one copy per tvs.\n\nThrows on a tvs whose term is not a dt term: the groups of a geneVariant groupset can only\nfilter by dt, and the server would otherwise fail deep in filterByItem().\n*/\nexport function setGroupsetParentTerms(groupset: any, term: any) {\n\tif (term?.type != GENE_VARIANT) throw 'parent of a groupset tvs must be a geneVariant term'\n\tconst parentTerm = structuredClone(term)\n\t// the parent of a dt term is the gene(s), not the derived properties of the term\n\tdelete parentTerm.childTerms\n\tdelete parentTerm.groupsetting\n\twalkTvs(groupset, (tvs: any) => {\n\t\tif (!dtTermTypes.has(tvs.term?.type)) throw `groupset tvs term is not a dt term`\n\t\ttvs.term.parentTerm = parentTerm\n\t})\n\treturn groupset\n}\n\n/* drop what setGroupsetParentTerms() re-attaches. tolerates a malformed tvs, since a trim\nmust never be the thing that throws on the way into a request or a saved session */\nfunction clearGroupsetParentTerms(groupset: any) {\n\twalkTvs(groupset, (tvs: any) => {\n\t\tif (tvs.term) delete tvs.term.parentTerm\n\t})\n\treturn groupset\n}\n\n/* before origins became a tvs selection (tvs.origins[]), the dt term of a groupset tvs\ncarried a single origin of its own. whether any tvs of a groupset still does */\nexport function hasLegacyGroupsetOrigins(groupset: any): boolean {\n\tlet found = false\n\twalkTvs(groupset, (tvs: any) => {\n\t\tif (tvs.term?.origin) found = true\n\t})\n\treturn found\n}\n\n/*\nBring one tvs from the legacy origin shape to the current one, in place: the single origin\nits dt term carried becomes the tvs's own origins[].\n\nThe one place that knows the legacy shape, so that no reader has to check for it. A tvs is\nmigrated once on the way in and every reader then works off tvs.origins[] alone -- see\nsetHandler() in client/filter/tvs.js, which every tvs the filter UI shows or edits passes\nthrough before any handler method runs.\n\nIdempotent, and tolerates a tvs without a term, since it runs on every render of a pill.\n*/\nexport function migrateLegacyTvsOrigins(tvs: any) {\n\tif (!tvs?.term) return tvs\n\tif (tvs.term.origin && !tvs.origins?.length) tvs.origins = [tvs.term.origin]\n\tdelete tvs.term.origin\n\tdelete tvs.term.name_noOrigin\n\treturn tvs\n}\n\n/* migrate every tvs of a groupset, a group, or a filter, see migrateLegacyTvsOrigins().\n\nThe legacy shape was already per-tvs, so each tvs keeps exactly the origin it filtered by,\nrather than every tvs widening to the union across the groupset. That matters for a\ngroupset whose groups mix origins, e.g. a germline snvindel group beside a somatic cnv one:\ncollecting them into one list would make each group match both. */\nexport function migrateLegacyGroupsetOrigins(groupset: any) {\n\twalkTvs(groupset, migrateLegacyTvsOrigins)\n\treturn groupset\n}\n\n/*\nThe origins a selection is restricted to, as a display label.\n\nEmpty when there is nothing to tell apart: no origins to name, a data type that is not split\nby origin, or a selection covering every origin that data type has. Otherwise the dataset's\nown label for each origin, e.g. 'Inherited' for germline, falling back to the origin key.\n\nbyOrigin is assayAvailability.byDt[dt].byOrigin. The one definition of this label, so that a\nfilter pill and a plot title name the same selection the same way -- see getTvsOriginLabel()\nin client/filter/tvs.dt.js and getTitleText() in client/tw/geneVariant.ts.\n*/\nexport function getOriginLabel(origins: string[] | undefined, byOrigin: any): string {\n\tif (!origins?.length || !byOrigin) return ''\n\tif (origins.length == Object.keys(byOrigin).length) return ''\n\treturn origins.map(origin => byOrigin[origin]?.label || origin).join(', ')\n}\n\n/*\nThe qualifiers of a geneVariant selection as a parenthesized suffix, or '' when there is\nnothing to qualify: the origins of its groupset and the sample types of its term. Empty\nlabels are skipped, which is what both of them use for \"every option selected, so there is\nnothing to tell apart\" (see getOriginLabel()).\n\nOrigin first, then sample type, so the two read in the order the gene search UI selects them.\nOne definition, so that a pill and a plot title describe the same selection the same way --\nsee getPillStatus() in client/termsetting/handlers/geneVariant.ts and getTitleText() in\nclient/tw/geneVariant.ts.\n\nq.originLabel is only set for a predefined groupset; the tvs of a custom groupset carry their\nown origins and name them in their own filter pills instead.\n*/\nexport function getGvLabelSuffix(q: any, term: any): string {\n\tconst labels = [q?.originLabel, term?.sampleTypeLabel].filter(Boolean)\n\treturn labels.length ? ` (${labels.join(', ')})` : ''\n}\n\n/*\nSet origins[] on every tvs of a groupset whose dt is split by origin, in place.\n\nbyDt is ds/termdbConfig assayAvailability.byDt{}, which says which dts are origin-split.\n\nA predefined groupset is rebuilt from scratch on every fill, so its tvs cannot persist an\norigin selection of their own; seed is q.origins, the selection the gene search UI made,\nand is what they are stamped from (see OriginSeedQ in shared/types/src/terms/geneVariant.ts).\nA seed that does not cover a dt falls back to every origin of that dt, so that the invariant\nholds either way: an origin-split tvs always lists its origins, and a tvs without origins[]\nis one whose dt is not split -- never one that means \"match everything\".\n\nOnly the origins a dt actually declares are kept. A seed naming an origin of another dt\nwould otherwise match no value at all and silently empty the group.\n*/\nexport function setGroupsetOrigins(groupset: any, byDt: any, seed?: string[]) {\n\twalkTvs(groupset, (tvs: any) => {\n\t\tconst origins = resolveDtOrigins(byDt, tvs.term?.dt, seed)\n\t\t// a dt that is not origin-split must carry none; a leftover origins[] here would\n\t\t// filter out every value\n\t\tif (origins) tvs.origins = origins\n\t\telse delete tvs.origins\n\t})\n\treturn groupset\n}\n\n/*\nThe origins a tvs of one dt matches: the seed narrowed to the origins that dt declares, or\nevery origin of it when the seed names none. Undefined for a dt that is not split by origin.\n\nThe fallback is what upholds the invariant that an origin-split tvs always lists its origins,\nsee GeneVariantTvs in shared/types/src/filter.ts. The narrowing is belt-and-braces: a seed\nreaching a fill has already been checked against the dt by validateSeedOrigins() in\nclient/tw/geneVariant.ts.\n*/\nfunction resolveDtOrigins(byDt: any, dt: number | undefined, seed?: string[]): string[] | undefined {\n\tconst byOrigin = byDt?.[dt as number]?.byOrigin\n\tif (!byOrigin) return\n\tconst seeded = seed?.filter(origin => origin in byOrigin)\n\treturn seeded?.length ? seeded : Object.keys(byOrigin)\n}\n\n/* run fn on every tvs of a groupset, a group, or a filter.\n\nA tvs is a leaf: a nested tvslst is a sibling of it in filter.lst[], never inside it. Not\ndescending matters, because a tvs can hold a filter of its own that is not part of the\ngroupset structure -- tvs.mafFilter wraps a maf term, which is a dictionary term rather\nthan a dt term (see getMafFilter() in client/tw/geneVariant.ts). getDtsFromFilter() above\nreads a filter the same way. */\nexport function walkTvs(obj: any, fn: (tvs: any) => void) {\n\tif (!obj || typeof obj != 'object') return\n\tif (obj.type == 'tvs' && obj.tvs) {\n\t\tfn(obj.tvs)\n\t\treturn\n\t}\n\tfor (const k in obj) walkTvs(obj[k], fn)\n}\n\n/* the dts queried by a set of groups, read off the dt term of each tvs of their filters */\nexport function getDtsFromGroups(groups: any[]): any[] {\n\tconst dts = new Set<any>()\n\tfor (const group of groups) {\n\t\tfor (const dt of getDtsFromFilter(group.filter)) dts.add(dt)\n\t}\n\treturn [...dts]\n}\n\nfunction getDtsFromFilter(filter: any): Set<any> {\n\tconst dts = new Set<any>()\n\tfor (const item of filter.lst) {\n\t\tif (item.type == 'tvslst') {\n\t\t\tfor (const dt of getDtsFromFilter(item)) dts.add(dt)\n\t\t} else {\n\t\t\tdts.add(item.tvs.term.dt)\n\t\t}\n\t}\n\treturn dts\n}\n\n/*\ndelete the amino acid change tally from every dt term nested in a groupset or filter.\n\nOnly the variant config UI reads mnames, and it re-queries them before rendering (see\ngetDtTermValues() in client/filter/tvs.dt.js), so a tally stored on a tvs is dead weight\nthat is re-serialized once per tvs. Walks any object, so it accepts a groupset, a group,\nor a filter.\n*/\nexport function clearDtTermMnames(obj: any) {\n\twalkTvs(obj, (tvs: any) => {\n\t\tif (tvs.term) delete tvs.term.mnames\n\t})\n\treturn obj\n}\n\nexport function getBin(lst: any[], value: number) {\n\tlet bin = lst.findIndex(\n\t\tb => (b.startunbounded && value < b.stop) || (b.startunbounded && b.stopinclusive && value == b.stop)\n\t)\n\tif (bin == -1)\n\t\tbin = lst.findIndex(\n\t\t\tb => (b.stopunbounded && value > b.start) || (b.stopunbounded && b.startinclusive && value == b.start)\n\t\t)\n\tif (bin == -1)\n\t\tbin = lst.findIndex(\n\t\t\tb =>\n\t\t\t\t(value > b.start && value < b.stop) ||\n\t\t\t\t(b.startinclusive && value == b.start) ||\n\t\t\t\t(b.stopinclusive && value == b.stop)\n\t\t)\n\treturn bin\n}\n\n// get sample types of termwrapper\nexport function getTwSampleTypes(tw: any, ds: any): TwSampleTypes {\n\tconst term = tw?.term\n\tif (!term) return {}\n\t// prioritize user-defined sample types\n\tif (term.sampleTypes) {\n\t\treturn { sampleTypes: term.sampleTypes }\n\t}\n\tif (dtTermTypes.has(term.type)) {\n\t\tif (term.parentTerm.sampleTypes) {\n\t\t\treturn { sampleTypes: term.parentTerm.sampleTypes }\n\t\t}\n\t}\n\tif (ds.cohort.termdb.term2SampleType.has(term.id)) {\n\t\tconst sampleType = ds.cohort.termdb.term2SampleType.get(term.id)\n\t\tif (Number.isInteger(sampleType)) {\n\t\t\treturn { sampleTypes: [sampleType] }\n\t\t} else if (sampleType && typeof sampleType == 'object') {\n\t\t\tif (!Number.isInteger(sampleType.sampleType)) throw new Error('sampleType.sampleType is non-numeric')\n\t\t\tif (!Array.isArray(sampleType.childSampleTypes)) throw new Error('sampleType.childSampleTypes is not array')\n\t\t\treturn { sampleTypes: [sampleType.sampleType], childSampleTypes: sampleType.childSampleTypes }\n\t\t} else {\n\t\t\treturn {}\n\t\t}\n\t}\n\tif (term.type == 'samplelst') {\n\t\tconst key = Object.keys(term.values)[0]\n\t\tconst sampleId = term.values[key].list[0]?.sampleId\n\t\tif (sampleId) {\n\t\t\tconst sampleType = ds.sampleId2Type.get(Number(sampleId) || sampleId)\n\t\t\treturn Number.isInteger(sampleType) ? { sampleTypes: [sampleType] } : {}\n\t\t}\n\t}\n\t// use default sample types\n\t// define term.sampleTypeLabel here to prevent building label based\n\t// on the default sample types, which may be many sample types (see\n\t// getSampleData() in server/src/termdb.matrix.ts)\n\tterm.sampleTypeLabel = ''\n\treturn { sampleTypes: getDefaultSampleTypes(ds) }\n}\n\n// default sample types will be all non-root sample types\nexport function getDefaultSampleTypes(ds: any) {\n\tconst sampleTypes = Object.keys(ds.cohort.termdb.sampleTypes)\n\t\t.filter(key => Number.isInteger(ds.cohort.termdb.sampleTypes[key].parent_id))\n\t\t.map(Number)\n\treturn sampleTypes\n}\n\n/* set q.sampleTypes[] and q.sampleTypesByTerms{} of a query (e.g. queries.geneExpression) from\nthe termdb sample ids its data holds, for the client's sample type selector. A sample with no\nsample type is skipped, since the selector has nothing to offer for it. */\nexport function setQuerySampleTypes(q: any, sampleIds: Iterable<number>, ds: any) {\n\tconst sampleTypes = new Set<number>()\n\tfor (const id of sampleIds) {\n\t\tconst sampleType = ds.sampleId2Type.get(id)\n\t\tif (sampleType != undefined) sampleTypes.add(sampleType)\n\t}\n\tq.sampleTypes = [...sampleTypes]\n\tq.sampleTypesByTerms = getQuerySampleTypesByTerms(ds.cohort.termdb.sampleTypesByTerms, q.sampleTypes)\n}\n\n// filter sampleTypesByTerms for those entries with query sample types\nexport function getQuerySampleTypesByTerms(sampleTypesByTerms: SampleTypesByTerms, querySampleTypes: number[]) {\n\tif (!sampleTypesByTerms) return\n\tconst querySampleTypesByTerms: any = {}\n\tfor (const [term, values] of Object.entries(sampleTypesByTerms)) {\n\t\tconst queryValues: any = {}\n\t\tfor (const [value, sampleTypes] of Object.entries(values)) {\n\t\t\tconst filteredSampleTypes = sampleTypes.filter(sampleType => querySampleTypes.includes(sampleType))\n\t\t\tif (filteredSampleTypes.length) queryValues[value] = filteredSampleTypes\n\t\t}\n\t\tif (Object.keys(queryValues).length) querySampleTypesByTerms[term] = queryValues\n\t}\n\tif (!Object.keys(querySampleTypesByTerms).length) return\n\treturn querySampleTypesByTerms\n}\n\n//Returns human readable label for each term type; label is just for printing and not computing\nconst typeMap: { [key: string]: string } = {\n\tcategorical: 'Categorical',\n\tcondition: 'Condition',\n\tfloat: 'Numerical',\n\tinteger: 'Numerical',\n\tdate: 'Date',\n\tgeneExpression: 'Gene Expression',\n\tisoformExpression: 'Isoform Expression',\n\t[JUNCTION]: 'Splice junction',\n\tssGSEA: 'Geneset Expression',\n\tdnaMethylation: 'DNA Methylation',\n\tgeneVariant: 'Gene Variant',\n\tmetaboliteIntensity: 'Metabolite Intensity',\n\tproteomeAbundance: 'Proteome Abundance',\n\tproteomeDAP: 'Proteome DAP',\n\tmultivalue: 'Multi Value',\n\tsingleCellGeneExpression: 'Single Cell, Gene Expression',\n\tsingleCellCellType: 'Single Cell, Cell Type',\n\tsingleCellNumericValue: 'Single Cell, Numeric Value',\n\tsnplocus: 'SNP Locus',\n\tsnp: 'SNP',\n\tsnplst: 'SNP List',\n\ttermCollection: 'Term Collection'\n}\n\n// with a term obj, returns human readable item type name for a term.\n// using a term obj rather than just term type gives more control (e.g. gene vs coord for genevariant term)\nexport function termItemType(t: Term): string {\n\tswitch (t.type) {\n\t\tcase JUNCTION:\n\t\t\treturn 'Splice junction'\n\t\tcase GENE_EXPRESSION:\n\t\tcase SINGLECELL_GENE_EXPRESSION:\n\t\t\treturn 'Gene'\n\t\tcase ISOFORM_EXPRESSION:\n\t\t\treturn 'Isoform'\n\t\tcase SSGSEA:\n\t\t\treturn 'Gene set'\n\t\tcase METABOLITE_INTENSITY:\n\t\t\treturn 'Metabolite'\n\t\t// keep adding here\n\t\tdefault:\n\t\t\treturn 'Variable'\n\t}\n}\n\nexport function termType2label(type: string) {\n\tconst s = typeMap[type]\n\tif (s) return s\n\tthrow new Error('termType2label(): unknown value')\n}\n\nexport function getDateFromNumber(value: number) {\n\tconst year = Math.floor(value)\n\tconst january1st = new Date(year, 0, 1)\n\tconst totalDays = getDaysInYear(year)\n\tconst time = Math.round((value - year) * totalDays) * oneDayTime\n\tconst date = new Date(january1st.getTime() + time)\n\treturn date\n}\n/*\nValue is a decimal year.\nA decimal year is a way of expressing a date or time period as a year with a decimal part, where the decimal portion \nrepresents the fraction of the year that has elapsed. \nExample:\n2025.0 represents the beginning of the year 2025. \n2025.5 represents the middle of the year 2025. \n */\nconst oneDayTime = 24 * 60 * 60 * 1000\n\nexport function getDateStrFromNumber(value: number) {\n\tconst date = getDateFromNumber(value)\n\n\t//Omit day to deidentify the patients\n\treturn date.toLocaleDateString('en-US', {\n\t\tyear: 'numeric',\n\t\tmonth: 'long'\n\t})\n}\n\n//The value returned is a decimal year\n//A decimal year is a way of expressing a date or time period as a year with a decimal part, where the decimal portion\n//represents the fraction of the year that has elapsed.\nexport function getNumberFromDateStr(str: string) {\n\tconst date = new Date(str)\n\treturn getNumberFromDate(date)\n}\n\nexport function getNumberFromDate(date: Date) {\n\tconst year = date.getFullYear()\n\tconst january1st: Date = new Date(year, 0, 1)\n\tconst diffDays = (date.getTime() - january1st.getTime()) / oneDayTime\n\tconst daysTotal = getDaysInYear(year)\n\tconst decimal = diffDays / daysTotal\n\treturn year + decimal\n}\n\nexport function getDaysInYear(year: number) {\n\tconst isLeap = new Date(year, 1, 29).getMonth() === 1\n\tconst days = isLeap ? 366 : 365\n\treturn days\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|