@sjcrh/proteinpaint-client 2.220.0 → 2.222.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-QFXSYOYN.js +1362 -0
- package/dist/AggMatrixInput-7D4ZUYJK.js +402 -0
- package/dist/AggregateMatrix-NVSFZEW3.js +37 -0
- package/dist/AppHeader-5YJWBQP6.js +826 -0
- package/dist/BoxPlot-52WWBGKN.js +1229 -0
- package/dist/CorrelationVolcano-WS23O2JT.js +613 -0
- package/dist/Cuminc-5LJQYFEE.js +1217 -0
- package/dist/DE-Z5GBDXDU.js +85 -0
- package/dist/DEinput-3EAIVG5U.js +479 -0
- package/dist/DM-24NZPPS6.js +86 -0
- package/dist/DifferentialAnalysis-LRAPDIXB.js +236 -0
- package/dist/Disco-IDOTCKSD.js +3384 -0
- package/dist/Disco.UI-SLJKAA6N.js +239 -0
- package/dist/DmrPlot-5CRGQNM3.js +361 -0
- package/dist/GB-YCDIORF3.js +1388 -0
- package/dist/GSEA-IGWX3AG7.js +870 -0
- package/dist/GeneExpInput-PPOTCILZ.js +38 -0
- package/dist/Geomap-D5JPCJ5L.js +80 -0
- package/dist/HicApp-BNMMISAR.js +2240 -0
- package/dist/IDCViewer-IUPPLC5B.js +10808 -0
- package/dist/NumBinaryEditor-45I5YNHI.js +274 -0
- package/dist/NumBinaryEditor.unit.spec-5CJPIDH4.js +308 -0
- package/dist/NumContEditor-VMCE5LUM.js +100 -0
- package/dist/NumContEditor.unit.spec-DKNXTVXT.js +160 -0
- package/dist/NumCustomBinEditor-3EESV7PW.js +29 -0
- package/dist/NumCustomBinEditor.unit.spec-JPOK7BWZ.js +393 -0
- package/dist/NumDiscreteEditor-YZ3Q4J4M.js +165 -0
- package/dist/NumDiscreteEditor.unit.spec-V6NSX72E.js +229 -0
- package/dist/NumRegularBinEditor-6GI63X5V.js +29 -0
- package/dist/NumRegularBinEditor.unit.spec-KCGZLQ6T.js +274 -0
- package/dist/NumSplineEditor-OMJUFDSC.js +205 -0
- package/dist/NumSplineEditor.unit.spec-KUB2OITH.js +220 -0
- package/dist/NumericDensity-M4BIVIB3.js +29 -0
- package/dist/NumericDensity.unit.spec-G3GJMO4S.js +414 -0
- package/dist/NumericHandler-AMV4BETD.js +30 -0
- package/dist/NumericHandler.unit.spec-OJDMQQHX.js +225 -0
- package/dist/ProteomeInput-KB7YRARQ.js +610 -0
- package/dist/Regression-5KSKHUEJ.js +1412 -0
- package/dist/RunChart2-JJ4GQF44.js +744 -0
- package/dist/SC-LKCBWZQX.js +1290 -0
- package/dist/Violin-JRP7R53K.js +1092 -0
- package/dist/Volcano-BDD3PZ4T.js +2661 -0
- package/dist/Wsi-3C3ERYSG.js +636 -0
- package/dist/aboutSunburst-2T5SLCCB.js +93 -0
- package/dist/aboutSunburst-2T5SLCCB.js.map +7 -0
- package/dist/adSandbox-GFF6ZCRM.js +29 -0
- package/dist/animatedBubbleChart-PUPXCFJW.js +542 -0
- package/dist/app-EICBB32X.js +28 -0
- package/dist/app-Z7M3CFWA.js +38 -0
- package/dist/app.js +9 -9
- package/dist/bam-KQ5F34X5.js +872 -0
- package/dist/bam-KQ5F34X5.js.map +7 -0
- package/dist/barchart-WRAEMD7B.js +38 -0
- package/dist/barchart2-5CX3CO4K.js +305 -0
- package/dist/block-53QIZEH3.js +6203 -0
- package/dist/block.init-4V3SIUNX.js +29 -0
- package/dist/block.mds.expressionrank-5YNTX35V.js +350 -0
- package/dist/block.mds.geneboxplot-X5OHLSWT.js +819 -0
- package/dist/block.mds.junction-QBJF6MFG.js +1534 -0
- package/dist/block.mds.svcnv-BNCMHJJB.js +6413 -0
- package/dist/block.svg-KQELYSEO.js +155 -0
- package/dist/block.tk.aicheck-5EDNNXGL.js +274 -0
- package/dist/block.tk.bam-FRPCGSAE.js +1906 -0
- package/dist/block.tk.bam-FRPCGSAE.js.map +7 -0
- package/dist/block.tk.bigwig.ui-XUJPSA6D.js +202 -0
- package/dist/block.tk.hicstraw-MVLZALFC.js +814 -0
- package/dist/block.tk.junction-DLZNHWSA.js +2353 -0
- package/dist/block.tk.junction.textmatrixui-J3EODITY.js +190 -0
- package/dist/block.tk.ld-4GEJ2Y2K.js +90 -0
- package/dist/block.tk.menu-NM7KA5GZ.js +1050 -0
- package/dist/block.tk.pgv-XFOJACVC.js +934 -0
- package/dist/brainImaging-WFRZQANN.js +550 -0
- package/dist/brainRegions-66KWCUF2.js +213 -0
- package/dist/bubbleHeatmap-VKLIJOMM.js +374 -0
- package/dist/cellTypeBubbleHeatmap-ZPCXC52I.js +274 -0
- package/dist/chunk-2NDFMFNM.js +134 -0
- package/dist/chunk-34AGCF72.js +203 -0
- package/dist/chunk-3KKI63GB.js +96 -0
- package/dist/chunk-3LUHZYIN.js +14 -0
- package/dist/chunk-4ASBDE27.js +26731 -0
- package/dist/chunk-4ASBDE27.js.map +7 -0
- package/dist/chunk-5XXYEKE2.js +237 -0
- package/dist/chunk-6C3USAU5.js +848 -0
- package/dist/chunk-7F2FBQRP.js +35 -0
- package/dist/chunk-7F2FBQRP.js.map +7 -0
- package/dist/chunk-7TRD7A2U.js +141 -0
- package/dist/chunk-AG2PISH4.js +257 -0
- package/dist/chunk-BGYZJXYZ.js +2799 -0
- package/dist/chunk-BVSVFCKB.js +2102 -0
- package/dist/chunk-BVSVFCKB.js.map +7 -0
- package/dist/chunk-BY5CLUY5.js +5214 -0
- package/dist/chunk-C6PMNLN4.js +54 -0
- package/dist/chunk-CSYXTB7F.js +418 -0
- package/dist/chunk-CSYXTB7F.js.map +7 -0
- package/dist/chunk-DFKTWNCC.js +55 -0
- package/dist/chunk-FQHE7CLH.js +692 -0
- package/dist/chunk-FRLAPBYW.js +299 -0
- package/dist/chunk-HKYUCYOQ.js +266 -0
- package/dist/chunk-HMTQ4M66.js +305 -0
- package/dist/chunk-HMTQ4M66.js.map +7 -0
- package/dist/chunk-IQO3VZCP.js +255 -0
- package/dist/chunk-J5XV35LN.js +468 -0
- package/dist/chunk-JMWCL3QQ.js +56 -0
- package/dist/chunk-K3Q3KTBT.js +102 -0
- package/dist/chunk-LHM4UVYZ.js +550 -0
- package/dist/chunk-LMVYPBT4.js +626 -0
- package/dist/chunk-LUGZE4FR.js +56 -0
- package/dist/chunk-LXSBSJUL.js +2334 -0
- package/dist/chunk-MOAHKBYO.js +379 -0
- package/dist/chunk-MU7GTJYA.js +1219 -0
- package/dist/chunk-MXZYJ7WN.js +182 -0
- package/dist/chunk-NZB6RZK2.js +176 -0
- package/dist/chunk-OF6FDDKV.js +184 -0
- package/dist/chunk-OPMEDR4F.js +50 -0
- package/dist/chunk-ORYAOIVF.js +4389 -0
- package/dist/chunk-OZUF7O2S.js +133 -0
- package/dist/chunk-PHKA5BP7.js +263 -0
- package/dist/chunk-PWYMHUXY.js +116 -0
- package/dist/chunk-PWYMHUXY.js.map +7 -0
- package/dist/chunk-QI4EZK7S.js +2941 -0
- package/dist/chunk-QNSB6O4W.js +70 -0
- package/dist/chunk-QPRSVLI7.js +240 -0
- package/dist/chunk-R55JRVX7.js +652 -0
- package/dist/chunk-R55JRVX7.js.map +7 -0
- package/dist/chunk-RSMASA5S.js +340 -0
- package/dist/chunk-S2BMWHFY.js +54 -0
- package/dist/chunk-SKL52OWF.js +466 -0
- package/dist/chunk-TRWUXFVB.js +102 -0
- package/dist/chunk-URCFNXAK.js +2008 -0
- package/dist/chunk-V2D7DA2M.js +194 -0
- package/dist/chunk-V2ZVMDBY.js +480 -0
- package/dist/chunk-VIFY62YA.js +243 -0
- package/dist/chunk-VZ2JWFSX.js +296 -0
- package/dist/chunk-W5GR42L2.js +159 -0
- package/dist/chunk-WDOX6A6T.js +1339 -0
- package/dist/chunk-XPL54FXR.js +6375 -0
- package/dist/chunk-XV3KWMG3.js +103 -0
- package/dist/chunk-YFFQ7JTJ.js +123 -0
- package/dist/chunk-ZD6AIFTS.js +1253 -0
- package/dist/chunk-ZDVYAOWC.js +516 -0
- package/dist/chunk-ZKIC65KR.js +2685 -0
- package/dist/chunk-ZPRI5XCE.js +82 -0
- package/dist/cohort-CI22KICX.js +66 -0
- package/dist/cohortSunburst-Z5DANXVS.js +402 -0
- package/dist/condition-GZOA7BZJ.js +323 -0
- package/dist/controls-OWC25VQN.js +30 -0
- package/dist/controls.config-UVC4Q7BS.js +30 -0
- package/dist/correlation-EBA5YVXA.js +91 -0
- package/dist/customdata.inputui-FZRZCPS3.js +280 -0
- package/dist/dataDownload-WIPQU33P.js +326 -0
- package/dist/databrowser.ui-6L6Q72W4.js +421 -0
- package/dist/dictionary-4VZEPGW5.js +109 -0
- package/dist/dnaMethylation-LN6THRNZ.js +29 -0
- package/dist/dnaMethylation.integration.spec-BXC6EPUV.js +194 -0
- package/dist/e2pca-EXFI4Q2Y.js +340 -0
- package/dist/ep-T7EZ34XV.js +1247 -0
- package/dist/expclust.gdc.spec-NAN4M75R.js +298 -0
- package/dist/facet-BJFUIWHK.js +556 -0
- package/dist/gb-CBC3PDKZ.js +77 -0
- package/dist/geneExpClustering-7JFY7TQT.js +240 -0
- package/dist/geneExpression-FOQOKD34.js +29 -0
- package/dist/geneExpression.unit.spec-XSFC5ZJP.js +151 -0
- package/dist/geneORA-KYPN66QU.js +269 -0
- package/dist/geneRanking-VEHFMRFL.js +544 -0
- package/dist/geneVariant-77V6FNJX.js +289 -0
- package/dist/geneVariant-BS3XZFYM.js +32 -0
- package/dist/geneVariant.integration.spec-US4OY3S5.js +672 -0
- package/dist/genefusion.ui-YNVTTLDE.js +299 -0
- package/dist/geneset-BH5MWNJQ.js +199 -0
- package/dist/genomeBrowser.spec-BFTGLRHG.js +272 -0
- package/dist/grin2-4AXUYJIL.js +66 -0
- package/dist/grin2-5T557HKM.js +945 -0
- package/dist/hierCluster-IJHBVO2N.js +55 -0
- package/dist/hierCluster-POJBHBN6.js +51 -0
- package/dist/hierCluster.config-UUQEFTIG.js +32 -0
- package/dist/hierCluster.integration.spec-PZFUAOHX.js +479 -0
- package/dist/hierCluster.interactivity-6CN5PNFR.js +45 -0
- package/dist/imagePlot-HKPPACFV.js +152 -0
- package/dist/importPlot-EMI6BVPR.js +8 -0
- package/dist/isoformExpression-SFBA3SY7.js +31 -0
- package/dist/isoformExpression.unit.spec-JKYWHGRN.js +233 -0
- package/dist/junction-PJPOCKK7.js +32 -0
- package/dist/junction.unit.spec-CVYLAHZF.js +178 -0
- package/dist/launch.adhoc-R7SYX6GF.js +33 -0
- package/dist/leftlabel.sample-XJUDFAKS.js +253 -0
- package/dist/lollipop-V43BWGBT.js +162 -0
- package/dist/maf-KU44HXN3.js +451 -0
- package/dist/maftimeline-JPHVYTTU.js +583 -0
- package/dist/matrix-EABQEAMC.js +50 -0
- package/dist/matrix-HMLF5MDD.js +55 -0
- package/dist/matrix.config-RX5GWHTM.js +33 -0
- package/dist/matrix.integration.spec-MZPSYXTF.js +3156 -0
- package/dist/matrix.interactivity-6AJ5BGEP.js +33 -0
- package/dist/matrix.layout-CTHRQE7U.js +35 -0
- package/dist/matrix.renderers-UGQXONTG.js +30 -0
- package/dist/matrix.sort.unit.spec-FJKIBDTU.js +464 -0
- package/dist/matrix.sorterUi.unit.spec-6DQ6KGXT.js +334 -0
- package/dist/matrix.unit.spec-7Y3BKFNQ.js +146 -0
- package/dist/mavb-ADD57P2Q.js +726 -0
- package/dist/mds.fimo-7WH5GVFZ.js +509 -0
- package/dist/mds.samplescatterplot-JYFOORUG.js +1545 -0
- package/dist/mds.survivalplot-2V4H3YZY.js +472 -0
- package/dist/multivalue-GLS3RPQ5.js +79 -0
- package/dist/oncomatrix-QA267TP2.js +286 -0
- package/dist/oncomatrix.spec-H6AAIP7H.js +439 -0
- package/dist/plot.2dvaf-JW3Z25M3.js +368 -0
- package/dist/plot.app-CUCDOVC5.js +32 -0
- package/dist/plot.barplot-KBVYKICH.js +93 -0
- package/dist/plot.boxplot-BTS6ZWCQ.js +142 -0
- package/dist/plot.brainImaging-GGUARYRT.js +51 -0
- package/dist/plot.disco-EP274JEW.js +98 -0
- package/dist/plot.ssgq-4VUH3ZWV.js +130 -0
- package/dist/plot.vaf2cov-2FPWA2FS.js +249 -0
- package/dist/polar2-7W5JRMB5.js +228 -0
- package/dist/profileForms-2IKL3SZU.js +937 -0
- package/dist/profilePlot-IURW2HQN.js +45 -0
- package/dist/proteinView-4ZRODQN3.js +1346 -0
- package/dist/proteomeCohortCompare-BK3FLW4Z.js +866 -0
- package/dist/pseudbulk.unit.spec-QGQCCHNF.js +82 -0
- package/dist/pseudobulk-7HEOBIFO.js +31 -0
- package/dist/qualitative-6HWIG5NU.js +34 -0
- package/dist/qualitative-WGEEUNH6.js +241 -0
- package/dist/radar2-VXP322F7.js +323 -0
- package/dist/radarFacility2-IJGJ3AJB.js +331 -0
- package/dist/render-MMCUV7QI.js +29 -0
- package/dist/report-F22EFD7C.js +213 -0
- package/dist/sampleView-3DVB2PQT.js +39 -0
- package/dist/samplelst-LNAI33IW.js +114 -0
- package/dist/samplematrix-RGXPBRW5.js +2188 -0
- package/dist/sc-UR66YB27.js +77 -0
- package/dist/scatter-3K6XBJIM.js +84 -0
- package/dist/scatter-IFP5NTZU.js +919 -0
- package/dist/selectGenomeWithTklst-LGBKEN3T.js +125 -0
- package/dist/singleCellCellType-ACQACM6W.js +29 -0
- package/dist/singleCellCellType.unit.spec-WLGTJKOM.js +150 -0
- package/dist/singleCellGeneExpression-M4RPITJW.js +29 -0
- package/dist/singleCellGeneExpression.unit.spec-N3VD6PUW.js +144 -0
- package/dist/singleCellNumericValue-W6F44FJN.js +29 -0
- package/dist/singleCellNumericValue.unit.spec-JZNMY77I.js +412 -0
- package/dist/singleCellPlot-CCG2KSCO.js +44 -0
- package/dist/singlecell-32P47E4I.js +1562 -0
- package/dist/singlecell-I6H3Z7FT.js +77 -0
- package/dist/snp-7X2BXRQP.js +29 -0
- package/dist/snp.unit.spec-BJGWNSVR.js +167 -0
- package/dist/snplocus-UOVS2GD6.js +200 -0
- package/dist/snplst-JFVP4NG2.js +36 -0
- package/dist/spliceevent.a53ss.diagram-ETXJX57W.js +142 -0
- package/dist/spliceevent.exonskip.diagram-C4JCEOXQ.js +274 -0
- package/dist/spliceevent.noeventdiagram-4DD3Z4OM.js +451 -0
- package/dist/ssGSEA-GOZOYROM.js +29 -0
- package/dist/ssGSEA.unit.spec-J4DPFU4D.js +79 -0
- package/dist/stattable-ICUZQHUF.js +112 -0
- package/dist/studyCatalog-PCFXVOI3.js +457 -0
- package/dist/summarizeCnvGeneexp-DK6HNUFE.js +154 -0
- package/dist/summarizeGeneexpSurvival-JLCR2VIX.js +101 -0
- package/dist/summarizeMutationCnv-CFAKT6IP.js +155 -0
- package/dist/summarizeMutationDiagnosis-5HMVSYMI.js +31 -0
- package/dist/summarizeMutationSurvival-GP2OQMUS.js +95 -0
- package/dist/summary-6K553VNS.js +40 -0
- package/dist/summary.integration.spec-MXERZOVY.js +405 -0
- package/dist/summaryInput-V2G6HFJS.js +238 -0
- package/dist/sunburst-6GKVNIRF.js +34 -0
- package/dist/sunburst-YOVKC5G2.js +274 -0
- package/dist/survival-GHTV2ZPX.js +1248 -0
- package/dist/survival-KF2QUWSM.js +49 -0
- package/dist/survival.integration.spec-GVSQL4VB.js +609 -0
- package/dist/svgraph-WN3JLEOC.js +1377 -0
- package/dist/svmr-ZZKBQFQK.js +3834 -0
- package/dist/swimmer-XHORJEVI.js +993 -0
- package/dist/table-XQCTNHSZ.js +192 -0
- package/dist/termCollection-DXZQT7YT.js +29 -0
- package/dist/termCollection-HRM2NHLA.js +247 -0
- package/dist/termCollection.unit.spec-BGULSLH6.js +295 -0
- package/dist/termCollectionFractionSelection-TPNNP2ER.js +38 -0
- package/dist/termCollectionFractionSelection.unit.spec-VONXAGZH.js +184 -0
- package/dist/tk-KPD6HTHR.js +1193 -0
- package/dist/tk-RCTQPQH7.js +37 -0
- package/dist/tp.ui-MVNQLMAD.js +1453 -0
- package/dist/tvs.categorical-4TKKU6HO.js +28 -0
- package/dist/tvs.condition-SARY3O5Y.js +160 -0
- package/dist/tvs.density-IGO4I4T2.js +19 -0
- package/dist/tvs.dt-XJ2MW2AP.js +34 -0
- package/dist/tvs.dtcnv.categorical-H7FKTXH4.js +31 -0
- package/dist/tvs.dtcnv.continuous-JQ62ZHER.js +72 -0
- package/dist/tvs.dtfusion-GC3DZ2BO.js +31 -0
- package/dist/tvs.dtitd-3SHGIDIB.js +31 -0
- package/dist/tvs.dtsnvindel-BEDWZ4A2.js +31 -0
- package/dist/tvs.dtsv-HRIMULVD.js +31 -0
- package/dist/tvs.multivalue-5VC7BLSZ.js +84 -0
- package/dist/tvs.numeric-TGEC7G6A.js +32 -0
- package/dist/tvs.samplelst-Q6EYAUQZ.js +95 -0
- package/dist/tvs.survival-NJ3DTZIG.js +110 -0
- package/dist/tvs.termCollection-TVVLPSTG.js +118 -0
- package/dist/vocabulary-A7ZBBU65.js +32 -0
- package/dist/wsi.direct-JJGIAH6A.js +11514 -0
- package/package.json +3 -3
- package/dist/2dmaf-KRIX5DBS.js +0 -1362
- package/dist/AggMatrixInput-GBQD74NV.js +0 -402
- package/dist/AggregateMatrix-U2MOQOSZ.js +0 -37
- package/dist/AppHeader-OBZWUCOD.js +0 -826
- package/dist/BoxPlot-ZK6Q5JGE.js +0 -1229
- package/dist/CorrelationVolcano-WGR4JIGK.js +0 -613
- package/dist/Cuminc-I6D6YSIL.js +0 -1217
- package/dist/DE-HO7UBKPC.js +0 -85
- package/dist/DEinput-6LX4I65N.js +0 -479
- package/dist/DM-WYKLX4IC.js +0 -86
- package/dist/DifferentialAnalysis-L5VVBCVZ.js +0 -236
- package/dist/Disco-HLARIYXU.js +0 -3384
- package/dist/Disco.UI-W64WFVC3.js +0 -239
- package/dist/DmrPlot-BKQOT4JM.js +0 -361
- package/dist/GB-WKFGDJYW.js +0 -1388
- package/dist/GSEA-DCCJI5JE.js +0 -870
- package/dist/GeneExpInput-APLFNE6N.js +0 -38
- package/dist/Geomap-FTKWCV4J.js +0 -80
- package/dist/HicApp-ZGZKO4Y4.js +0 -2240
- package/dist/IDCViewer-MXB3OZUZ.js +0 -10808
- package/dist/NumBinaryEditor-S3MHUVZ5.js +0 -274
- package/dist/NumBinaryEditor.unit.spec-264X5ULG.js +0 -308
- package/dist/NumContEditor-MKEZCZMR.js +0 -100
- package/dist/NumContEditor.unit.spec-KBRAIU7M.js +0 -160
- package/dist/NumCustomBinEditor-OSF64BFC.js +0 -29
- package/dist/NumCustomBinEditor.unit.spec-T2SRBXTV.js +0 -393
- package/dist/NumDiscreteEditor-PVW5HRRQ.js +0 -165
- package/dist/NumDiscreteEditor.unit.spec-GUK7VWMR.js +0 -229
- package/dist/NumRegularBinEditor-757VRGFQ.js +0 -29
- package/dist/NumRegularBinEditor.unit.spec-JUIGEH3Z.js +0 -274
- package/dist/NumSplineEditor-U6MVFSCZ.js +0 -205
- package/dist/NumSplineEditor.unit.spec-PSH6YENX.js +0 -220
- package/dist/NumericDensity-YIP25Z4Y.js +0 -29
- package/dist/NumericDensity.unit.spec-3OSIZJHH.js +0 -414
- package/dist/NumericHandler-D2CO3FTS.js +0 -30
- package/dist/NumericHandler.unit.spec-RNFVGO2I.js +0 -225
- package/dist/ProteomeInput-ZOBJ2VU6.js +0 -610
- package/dist/Regression-ABKJOOMQ.js +0 -1412
- package/dist/RunChart2-D5CEEFEE.js +0 -744
- package/dist/SC-RLVEECU5.js +0 -1290
- package/dist/Violin-PCNX2CWV.js +0 -1092
- package/dist/Volcano-NVFNO7NE.js +0 -2661
- package/dist/Wsi-MAMCK5YZ.js +0 -636
- package/dist/aboutSunburst-VSQADTFD.js +0 -86
- package/dist/aboutSunburst-VSQADTFD.js.map +0 -7
- package/dist/adSandbox-5YFAQZO6.js +0 -29
- package/dist/animatedBubbleChart-GM2GXDP3.js +0 -542
- package/dist/app-FNNCH37H.js +0 -28
- package/dist/app-ID5S5FUP.js +0 -38
- package/dist/bam-JZLYXHMF.js +0 -872
- package/dist/bam-JZLYXHMF.js.map +0 -7
- package/dist/barchart-EAXXILCH.js +0 -38
- package/dist/barchart2-E6A4UMUB.js +0 -305
- package/dist/block-VMVJH77F.js +0 -6203
- package/dist/block.init-TUCGKLXG.js +0 -29
- package/dist/block.mds.expressionrank-YVROHZVX.js +0 -350
- package/dist/block.mds.geneboxplot-TQNEWBJY.js +0 -819
- package/dist/block.mds.junction-ZOSTZQF5.js +0 -1534
- package/dist/block.mds.svcnv-XSTSJ4ZD.js +0 -6413
- package/dist/block.svg-D6HXL4SC.js +0 -155
- package/dist/block.tk.aicheck-7RNC4HRR.js +0 -274
- package/dist/block.tk.bam-L3U5YH3F.js +0 -1897
- package/dist/block.tk.bam-L3U5YH3F.js.map +0 -7
- package/dist/block.tk.bigwig.ui-UVSZ7LWQ.js +0 -202
- package/dist/block.tk.hicstraw-YFBJR5LO.js +0 -814
- package/dist/block.tk.junction-DNRK2JNQ.js +0 -2353
- package/dist/block.tk.junction.textmatrixui-EN4ADCAU.js +0 -190
- package/dist/block.tk.ld-I5CTAJ4K.js +0 -90
- package/dist/block.tk.menu-HUZBY7OM.js +0 -1050
- package/dist/block.tk.pgv-KA6BFYPY.js +0 -934
- package/dist/brainImaging-OQB2ZHCU.js +0 -550
- package/dist/brainRegions-2CRVMS24.js +0 -213
- package/dist/bubbleHeatmap-MANNFEG2.js +0 -374
- package/dist/cellTypeBubbleHeatmap-LRK4R4EC.js +0 -274
- package/dist/chunk-2NB5HVXB.js +0 -159
- package/dist/chunk-3E26ITYK.js +0 -55
- package/dist/chunk-3H4FCRAN.js +0 -266
- package/dist/chunk-4ENIOXIT.js +0 -133
- package/dist/chunk-4GKC43U3.js +0 -480
- package/dist/chunk-4NQS45KH.js +0 -302
- package/dist/chunk-4NQS45KH.js.map +0 -7
- package/dist/chunk-4ZV6SE4B.js +0 -240
- package/dist/chunk-5TA5LHPW.js +0 -54
- package/dist/chunk-5YQXNW6Y.js +0 -1339
- package/dist/chunk-67MD4UES.js +0 -848
- package/dist/chunk-6BBUIRHA.js +0 -123
- package/dist/chunk-6DESNDD5.js +0 -468
- package/dist/chunk-6DRRN5XP.js +0 -243
- package/dist/chunk-6XKAOSQE.js +0 -116
- package/dist/chunk-6XKAOSQE.js.map +0 -7
- package/dist/chunk-7TLUQH7J.js +0 -82
- package/dist/chunk-7YMZSVWW.js +0 -1219
- package/dist/chunk-AENUJ7UO.js +0 -299
- package/dist/chunk-AZSWQWKL.js +0 -263
- package/dist/chunk-B5IJAQG4.js +0 -2054
- package/dist/chunk-B5IJAQG4.js.map +0 -7
- package/dist/chunk-BOCU6PXO.js +0 -257
- package/dist/chunk-C7ZPDNOJ.js +0 -70
- package/dist/chunk-DEQREL5P.js +0 -692
- package/dist/chunk-DXKZBSSD.js +0 -2799
- package/dist/chunk-DZBPF5QI.js +0 -550
- package/dist/chunk-DZDK64XY.js +0 -516
- package/dist/chunk-E6C2EWHU.js +0 -176
- package/dist/chunk-GK5QS5BR.js +0 -2685
- package/dist/chunk-GLAR6VNF.js +0 -626
- package/dist/chunk-H6YM4NKS.js +0 -134
- package/dist/chunk-HJKVYTYK.js +0 -379
- package/dist/chunk-HN67TOA7.js +0 -2008
- package/dist/chunk-IXV7FX5B.js +0 -255
- package/dist/chunk-IZ4IPYQY.js +0 -466
- package/dist/chunk-JPPNQVKA.js +0 -56
- package/dist/chunk-KCVBFXGO.js +0 -2941
- package/dist/chunk-LOX5GAVG.js +0 -103
- package/dist/chunk-M6OSJMVD.js +0 -536
- package/dist/chunk-M6OSJMVD.js.map +0 -7
- package/dist/chunk-PEKCVKJK.js +0 -26621
- package/dist/chunk-PEKCVKJK.js.map +0 -7
- package/dist/chunk-PIGTIWSK.js +0 -34
- package/dist/chunk-PIGTIWSK.js.map +0 -7
- package/dist/chunk-PIN5YUVJ.js +0 -6375
- package/dist/chunk-PV7AYYRZ.js +0 -50
- package/dist/chunk-QI7OWVFY.js +0 -54
- package/dist/chunk-QWBNQYIF.js +0 -182
- package/dist/chunk-S6WRMFWQ.js +0 -418
- package/dist/chunk-S6WRMFWQ.js.map +0 -7
- package/dist/chunk-SUOEFEJO.js +0 -96
- package/dist/chunk-TVSNHVWX.js +0 -194
- package/dist/chunk-U3CWWOHL.js +0 -340
- package/dist/chunk-VGC4STKW.js +0 -56
- package/dist/chunk-VHC4FDEJ.js +0 -141
- package/dist/chunk-VSDJEPDN.js +0 -5214
- package/dist/chunk-WTWHUZ4O.js +0 -203
- package/dist/chunk-XHZ723K4.js +0 -2334
- package/dist/chunk-XP4P55IC.js +0 -14
- package/dist/chunk-XVPPM25G.js +0 -1253
- package/dist/chunk-XYUERIZ6.js +0 -4389
- package/dist/chunk-YDIIKD7O.js +0 -102
- package/dist/chunk-YLGSRK75.js +0 -102
- package/dist/chunk-YR6EXI2K.js +0 -184
- package/dist/chunk-Z53VY5JV.js +0 -296
- package/dist/chunk-Z7Q2O5Y7.js +0 -237
- package/dist/cohort-ERDL7EJU.js +0 -66
- package/dist/cohortSunburst-KSTVS3OQ.js +0 -402
- package/dist/condition-CTJYHRJG.js +0 -323
- package/dist/controls-MMMRBTZL.js +0 -30
- package/dist/controls.config-ZKMQI27Q.js +0 -30
- package/dist/correlation-NEQNBQTT.js +0 -91
- package/dist/customdata.inputui-THUR7DF5.js +0 -280
- package/dist/dataDownload-ZMAJUKBX.js +0 -326
- package/dist/databrowser.ui-A6ZSIUG4.js +0 -421
- package/dist/dictionary-TQUVCHIN.js +0 -109
- package/dist/dnaMethylation-ZMJYY3ML.js +0 -29
- package/dist/dnaMethylation.integration.spec-5DTBGTYB.js +0 -194
- package/dist/e2pca-DNWBF545.js +0 -340
- package/dist/ep-JNH3HMY4.js +0 -1247
- package/dist/expclust.gdc.spec-2NJ7JVJW.js +0 -298
- package/dist/facet-RWQFAVVU.js +0 -556
- package/dist/gb-OT2Z3Y7J.js +0 -77
- package/dist/geneExpClustering-TPYGSTMO.js +0 -240
- package/dist/geneExpression-4K3OTXBZ.js +0 -29
- package/dist/geneExpression.unit.spec-26MCGRAP.js +0 -151
- package/dist/geneORA-GNXKCN45.js +0 -269
- package/dist/geneRanking-LV6W6TT7.js +0 -544
- package/dist/geneVariant-B2SYTHG6.js +0 -289
- package/dist/geneVariant-O4XG5VEM.js +0 -32
- package/dist/geneVariant.integration.spec-YYVPAFXT.js +0 -672
- package/dist/genefusion.ui-CVGGYVV3.js +0 -299
- package/dist/geneset-MBMCJNXT.js +0 -199
- package/dist/genomeBrowser.spec-OVXFKEIU.js +0 -272
- package/dist/grin2-OXRU465E.js +0 -945
- package/dist/grin2-YCJGBRFG.js +0 -66
- package/dist/hierCluster-KNPWL5KD.js +0 -51
- package/dist/hierCluster-L3LYQZQL.js +0 -55
- package/dist/hierCluster.config-VZBV5QIO.js +0 -32
- package/dist/hierCluster.integration.spec-ZM7K7WI4.js +0 -479
- package/dist/hierCluster.interactivity-EA7WVIQR.js +0 -45
- package/dist/imagePlot-OLVI26S5.js +0 -152
- package/dist/importPlot-3SSCNROC.js +0 -8
- package/dist/isoformExpression-BTMJNAAO.js +0 -31
- package/dist/isoformExpression.unit.spec-S2W5T42Z.js +0 -233
- package/dist/junction-GIS5OCRO.js +0 -32
- package/dist/junction.unit.spec-MSILW6QZ.js +0 -178
- package/dist/launch.adhoc-LLJY4LA5.js +0 -33
- package/dist/leftlabel.sample-P6DDVCOW.js +0 -253
- package/dist/lollipop-J34YCYIP.js +0 -162
- package/dist/maf-MFEEYT5P.js +0 -451
- package/dist/maftimeline-TGJ37QYA.js +0 -583
- package/dist/matrix-A6BNFCIH.js +0 -55
- package/dist/matrix-XTKRVPMQ.js +0 -50
- package/dist/matrix.config-RMDDMOZ5.js +0 -33
- package/dist/matrix.integration.spec-2DVRXVNH.js +0 -3156
- package/dist/matrix.interactivity-MGOYEKDN.js +0 -33
- package/dist/matrix.layout-T7EC5ZC2.js +0 -35
- package/dist/matrix.renderers-GR77V3RL.js +0 -30
- package/dist/matrix.sort.unit.spec-YUCV7G5L.js +0 -464
- package/dist/matrix.sorterUi.unit.spec-FESIQ2RC.js +0 -334
- package/dist/matrix.unit.spec-6QF3WKM7.js +0 -146
- package/dist/mavb-UXJBITZM.js +0 -726
- package/dist/mds.fimo-IPNWVBO4.js +0 -509
- package/dist/mds.samplescatterplot-KEG7RSN3.js +0 -1545
- package/dist/mds.survivalplot-LJF2CD33.js +0 -472
- package/dist/multivalue-YRQZ73DI.js +0 -79
- package/dist/oncomatrix-TIMH5JKS.js +0 -286
- package/dist/oncomatrix.spec-MUOKKCJN.js +0 -439
- package/dist/plot.2dvaf-3OL4S6QG.js +0 -368
- package/dist/plot.app-CMLHZV5F.js +0 -32
- package/dist/plot.barplot-NRYMIPK6.js +0 -93
- package/dist/plot.boxplot-ANGW3WUC.js +0 -142
- package/dist/plot.brainImaging-YUDBYKX5.js +0 -51
- package/dist/plot.disco-LV7RE3YO.js +0 -98
- package/dist/plot.ssgq-F2LOQFYD.js +0 -130
- package/dist/plot.vaf2cov-5OKC7X6D.js +0 -249
- package/dist/polar2-BGJA2GHZ.js +0 -228
- package/dist/profileForms-BKP3OBKV.js +0 -937
- package/dist/profilePlot-5PRRNUKD.js +0 -45
- package/dist/proteinView-VZIWIZZY.js +0 -1346
- package/dist/proteomeCohortCompare-XZI5OI4X.js +0 -866
- package/dist/pseudbulk.unit.spec-DXJQV7JQ.js +0 -82
- package/dist/pseudobulk-FCH3WW6O.js +0 -31
- package/dist/qualitative-ATX53V44.js +0 -34
- package/dist/qualitative-BRKLVRKW.js +0 -241
- package/dist/radar2-6BBT2FBT.js +0 -323
- package/dist/radarFacility2-76Q3IYP2.js +0 -331
- package/dist/render-KUC3QH36.js +0 -29
- package/dist/report-KB4K7ZXC.js +0 -213
- package/dist/sampleView-QD2JLZ4T.js +0 -39
- package/dist/samplelst-6R5RYHNV.js +0 -114
- package/dist/samplematrix-NGORNBTR.js +0 -2188
- package/dist/sc-27AHZZDK.js +0 -77
- package/dist/scatter-FXLZMWD6.js +0 -84
- package/dist/scatter-OWFYLMSJ.js +0 -919
- package/dist/selectGenomeWithTklst-ZTGABCXC.js +0 -125
- package/dist/singleCellCellType-7XXJ5NWC.js +0 -29
- package/dist/singleCellCellType.unit.spec-Y3TEYYCF.js +0 -150
- package/dist/singleCellGeneExpression-EUAIEIYJ.js +0 -29
- package/dist/singleCellGeneExpression.unit.spec-JVHPFLML.js +0 -144
- package/dist/singleCellNumericValue-FHIECJDK.js +0 -29
- package/dist/singleCellNumericValue.unit.spec-ZFG56MIO.js +0 -412
- package/dist/singleCellPlot-NDGIW32L.js +0 -44
- package/dist/singlecell-JPWVPZEF.js +0 -1562
- package/dist/singlecell-N7RJMWZ2.js +0 -77
- package/dist/snp-APUTOL2F.js +0 -29
- package/dist/snp.unit.spec-4AN7AJKO.js +0 -167
- package/dist/snplocus-WIMFAMBE.js +0 -200
- package/dist/snplst-SUJ5AK4E.js +0 -36
- package/dist/spliceevent.a53ss.diagram-4UBI7PFJ.js +0 -142
- package/dist/spliceevent.exonskip.diagram-NVEXVRIC.js +0 -274
- package/dist/spliceevent.noeventdiagram-CKEWNLVF.js +0 -451
- package/dist/ssGSEA-CJOVXTAW.js +0 -29
- package/dist/ssGSEA.unit.spec-A7VRVJSF.js +0 -79
- package/dist/stattable-JBJVVLQE.js +0 -112
- package/dist/studyCatalog-NEL7XSIP.js +0 -457
- package/dist/summarizeCnvGeneexp-BZSCTA5W.js +0 -154
- package/dist/summarizeGeneexpSurvival-743KXNV7.js +0 -101
- package/dist/summarizeMutationCnv-CALMSQGV.js +0 -155
- package/dist/summarizeMutationDiagnosis-OTE7O4AS.js +0 -31
- package/dist/summarizeMutationSurvival-VOZOFTFM.js +0 -95
- package/dist/summary-XJKCD35N.js +0 -40
- package/dist/summary.integration.spec-OOEU6WNB.js +0 -405
- package/dist/summaryInput-JSOXVSMY.js +0 -238
- package/dist/sunburst-J3QHMYKW.js +0 -34
- package/dist/sunburst-LZPP6NPV.js +0 -274
- package/dist/survival-5GWRVTQ6.js +0 -49
- package/dist/survival-FW7N3YXZ.js +0 -1248
- package/dist/survival.integration.spec-WN36VUHL.js +0 -609
- package/dist/svgraph-N35EMK3G.js +0 -1377
- package/dist/svmr-EWL5WDDD.js +0 -3834
- package/dist/swimmer-Z6FUH4CD.js +0 -993
- package/dist/table-EI2OIRGE.js +0 -192
- package/dist/termCollection-K3EX5P3F.js +0 -29
- package/dist/termCollection-TBTAHLVH.js +0 -247
- package/dist/termCollection.unit.spec-ZVNAIPHZ.js +0 -295
- package/dist/termCollectionFractionSelection-ATNIPWVX.js +0 -38
- package/dist/termCollectionFractionSelection.unit.spec-VBRWWBML.js +0 -184
- package/dist/tk-P3RPLUVH.js +0 -1193
- package/dist/tk-U6CYISBH.js +0 -37
- package/dist/tp.ui-KBFYUSWS.js +0 -1453
- package/dist/tvs.categorical-5USP772O.js +0 -28
- package/dist/tvs.condition-652MAA2Z.js +0 -160
- package/dist/tvs.density-CB24PXDE.js +0 -19
- package/dist/tvs.dt-7BTARQUS.js +0 -34
- package/dist/tvs.dtcnv.categorical-GAOO3DGO.js +0 -31
- package/dist/tvs.dtcnv.continuous-P2QRD45O.js +0 -72
- package/dist/tvs.dtfusion-L3I65W7L.js +0 -31
- package/dist/tvs.dtitd-B3JPW6OL.js +0 -31
- package/dist/tvs.dtsnvindel-6Y6CJBZV.js +0 -31
- package/dist/tvs.dtsv-GL7CPATL.js +0 -31
- package/dist/tvs.multivalue-75IM23FZ.js +0 -84
- package/dist/tvs.numeric-XB3GBPHE.js +0 -32
- package/dist/tvs.samplelst-QUA45UE7.js +0 -95
- package/dist/tvs.survival-EKSDZZIO.js +0 -110
- package/dist/tvs.termCollection-5ATMDC7O.js +0 -118
- package/dist/vocabulary-5QBBQAYC.js +0 -32
- package/dist/wsi.direct-BU6BL5UR.js +0 -11514
- /package/dist/{2dmaf-KRIX5DBS.js.map → 2dmaf-QFXSYOYN.js.map} +0 -0
- /package/dist/{AggMatrixInput-GBQD74NV.js.map → AggMatrixInput-7D4ZUYJK.js.map} +0 -0
- /package/dist/{AggregateMatrix-U2MOQOSZ.js.map → AggregateMatrix-NVSFZEW3.js.map} +0 -0
- /package/dist/{AppHeader-OBZWUCOD.js.map → AppHeader-5YJWBQP6.js.map} +0 -0
- /package/dist/{BoxPlot-ZK6Q5JGE.js.map → BoxPlot-52WWBGKN.js.map} +0 -0
- /package/dist/{CorrelationVolcano-WGR4JIGK.js.map → CorrelationVolcano-WS23O2JT.js.map} +0 -0
- /package/dist/{Cuminc-I6D6YSIL.js.map → Cuminc-5LJQYFEE.js.map} +0 -0
- /package/dist/{DE-HO7UBKPC.js.map → DE-Z5GBDXDU.js.map} +0 -0
- /package/dist/{DEinput-6LX4I65N.js.map → DEinput-3EAIVG5U.js.map} +0 -0
- /package/dist/{DM-WYKLX4IC.js.map → DM-24NZPPS6.js.map} +0 -0
- /package/dist/{DifferentialAnalysis-L5VVBCVZ.js.map → DifferentialAnalysis-LRAPDIXB.js.map} +0 -0
- /package/dist/{Disco-HLARIYXU.js.map → Disco-IDOTCKSD.js.map} +0 -0
- /package/dist/{Disco.UI-W64WFVC3.js.map → Disco.UI-SLJKAA6N.js.map} +0 -0
- /package/dist/{DmrPlot-BKQOT4JM.js.map → DmrPlot-5CRGQNM3.js.map} +0 -0
- /package/dist/{GB-WKFGDJYW.js.map → GB-YCDIORF3.js.map} +0 -0
- /package/dist/{GSEA-DCCJI5JE.js.map → GSEA-IGWX3AG7.js.map} +0 -0
- /package/dist/{GeneExpInput-APLFNE6N.js.map → GeneExpInput-PPOTCILZ.js.map} +0 -0
- /package/dist/{Geomap-FTKWCV4J.js.map → Geomap-D5JPCJ5L.js.map} +0 -0
- /package/dist/{HicApp-ZGZKO4Y4.js.map → HicApp-BNMMISAR.js.map} +0 -0
- /package/dist/{IDCViewer-MXB3OZUZ.js.map → IDCViewer-IUPPLC5B.js.map} +0 -0
- /package/dist/{NumBinaryEditor-S3MHUVZ5.js.map → NumBinaryEditor-45I5YNHI.js.map} +0 -0
- /package/dist/{NumBinaryEditor.unit.spec-264X5ULG.js.map → NumBinaryEditor.unit.spec-5CJPIDH4.js.map} +0 -0
- /package/dist/{NumContEditor-MKEZCZMR.js.map → NumContEditor-VMCE5LUM.js.map} +0 -0
- /package/dist/{NumContEditor.unit.spec-KBRAIU7M.js.map → NumContEditor.unit.spec-DKNXTVXT.js.map} +0 -0
- /package/dist/{NumCustomBinEditor-OSF64BFC.js.map → NumCustomBinEditor-3EESV7PW.js.map} +0 -0
- /package/dist/{NumCustomBinEditor.unit.spec-T2SRBXTV.js.map → NumCustomBinEditor.unit.spec-JPOK7BWZ.js.map} +0 -0
- /package/dist/{NumDiscreteEditor-PVW5HRRQ.js.map → NumDiscreteEditor-YZ3Q4J4M.js.map} +0 -0
- /package/dist/{NumDiscreteEditor.unit.spec-GUK7VWMR.js.map → NumDiscreteEditor.unit.spec-V6NSX72E.js.map} +0 -0
- /package/dist/{NumRegularBinEditor-757VRGFQ.js.map → NumRegularBinEditor-6GI63X5V.js.map} +0 -0
- /package/dist/{NumRegularBinEditor.unit.spec-JUIGEH3Z.js.map → NumRegularBinEditor.unit.spec-KCGZLQ6T.js.map} +0 -0
- /package/dist/{NumSplineEditor-U6MVFSCZ.js.map → NumSplineEditor-OMJUFDSC.js.map} +0 -0
- /package/dist/{NumSplineEditor.unit.spec-PSH6YENX.js.map → NumSplineEditor.unit.spec-KUB2OITH.js.map} +0 -0
- /package/dist/{NumericDensity-YIP25Z4Y.js.map → NumericDensity-M4BIVIB3.js.map} +0 -0
- /package/dist/{NumericDensity.unit.spec-3OSIZJHH.js.map → NumericDensity.unit.spec-G3GJMO4S.js.map} +0 -0
- /package/dist/{NumericHandler-D2CO3FTS.js.map → NumericHandler-AMV4BETD.js.map} +0 -0
- /package/dist/{NumericHandler.unit.spec-RNFVGO2I.js.map → NumericHandler.unit.spec-OJDMQQHX.js.map} +0 -0
- /package/dist/{ProteomeInput-ZOBJ2VU6.js.map → ProteomeInput-KB7YRARQ.js.map} +0 -0
- /package/dist/{Regression-ABKJOOMQ.js.map → Regression-5KSKHUEJ.js.map} +0 -0
- /package/dist/{RunChart2-D5CEEFEE.js.map → RunChart2-JJ4GQF44.js.map} +0 -0
- /package/dist/{SC-RLVEECU5.js.map → SC-LKCBWZQX.js.map} +0 -0
- /package/dist/{Violin-PCNX2CWV.js.map → Violin-JRP7R53K.js.map} +0 -0
- /package/dist/{Volcano-NVFNO7NE.js.map → Volcano-BDD3PZ4T.js.map} +0 -0
- /package/dist/{Wsi-MAMCK5YZ.js.map → Wsi-3C3ERYSG.js.map} +0 -0
- /package/dist/{adSandbox-5YFAQZO6.js.map → adSandbox-GFF6ZCRM.js.map} +0 -0
- /package/dist/{animatedBubbleChart-GM2GXDP3.js.map → animatedBubbleChart-PUPXCFJW.js.map} +0 -0
- /package/dist/{app-FNNCH37H.js.map → app-EICBB32X.js.map} +0 -0
- /package/dist/{app-ID5S5FUP.js.map → app-Z7M3CFWA.js.map} +0 -0
- /package/dist/{barchart-EAXXILCH.js.map → barchart-WRAEMD7B.js.map} +0 -0
- /package/dist/{barchart2-E6A4UMUB.js.map → barchart2-5CX3CO4K.js.map} +0 -0
- /package/dist/{block-VMVJH77F.js.map → block-53QIZEH3.js.map} +0 -0
- /package/dist/{block.init-TUCGKLXG.js.map → block.init-4V3SIUNX.js.map} +0 -0
- /package/dist/{block.mds.expressionrank-YVROHZVX.js.map → block.mds.expressionrank-5YNTX35V.js.map} +0 -0
- /package/dist/{block.mds.geneboxplot-TQNEWBJY.js.map → block.mds.geneboxplot-X5OHLSWT.js.map} +0 -0
- /package/dist/{block.mds.junction-ZOSTZQF5.js.map → block.mds.junction-QBJF6MFG.js.map} +0 -0
- /package/dist/{block.mds.svcnv-XSTSJ4ZD.js.map → block.mds.svcnv-BNCMHJJB.js.map} +0 -0
- /package/dist/{block.svg-D6HXL4SC.js.map → block.svg-KQELYSEO.js.map} +0 -0
- /package/dist/{block.tk.aicheck-7RNC4HRR.js.map → block.tk.aicheck-5EDNNXGL.js.map} +0 -0
- /package/dist/{block.tk.bigwig.ui-UVSZ7LWQ.js.map → block.tk.bigwig.ui-XUJPSA6D.js.map} +0 -0
- /package/dist/{block.tk.hicstraw-YFBJR5LO.js.map → block.tk.hicstraw-MVLZALFC.js.map} +0 -0
- /package/dist/{block.tk.junction-DNRK2JNQ.js.map → block.tk.junction-DLZNHWSA.js.map} +0 -0
- /package/dist/{block.tk.junction.textmatrixui-EN4ADCAU.js.map → block.tk.junction.textmatrixui-J3EODITY.js.map} +0 -0
- /package/dist/{block.tk.ld-I5CTAJ4K.js.map → block.tk.ld-4GEJ2Y2K.js.map} +0 -0
- /package/dist/{block.tk.menu-HUZBY7OM.js.map → block.tk.menu-NM7KA5GZ.js.map} +0 -0
- /package/dist/{block.tk.pgv-KA6BFYPY.js.map → block.tk.pgv-XFOJACVC.js.map} +0 -0
- /package/dist/{brainImaging-OQB2ZHCU.js.map → brainImaging-WFRZQANN.js.map} +0 -0
- /package/dist/{brainRegions-2CRVMS24.js.map → brainRegions-66KWCUF2.js.map} +0 -0
- /package/dist/{bubbleHeatmap-MANNFEG2.js.map → bubbleHeatmap-VKLIJOMM.js.map} +0 -0
- /package/dist/{cellTypeBubbleHeatmap-LRK4R4EC.js.map → cellTypeBubbleHeatmap-ZPCXC52I.js.map} +0 -0
- /package/dist/{chunk-H6YM4NKS.js.map → chunk-2NDFMFNM.js.map} +0 -0
- /package/dist/{chunk-WTWHUZ4O.js.map → chunk-34AGCF72.js.map} +0 -0
- /package/dist/{chunk-SUOEFEJO.js.map → chunk-3KKI63GB.js.map} +0 -0
- /package/dist/{chunk-XP4P55IC.js.map → chunk-3LUHZYIN.js.map} +0 -0
- /package/dist/{chunk-Z7Q2O5Y7.js.map → chunk-5XXYEKE2.js.map} +0 -0
- /package/dist/{chunk-67MD4UES.js.map → chunk-6C3USAU5.js.map} +0 -0
- /package/dist/{chunk-VHC4FDEJ.js.map → chunk-7TRD7A2U.js.map} +0 -0
- /package/dist/{chunk-BOCU6PXO.js.map → chunk-AG2PISH4.js.map} +0 -0
- /package/dist/{chunk-DXKZBSSD.js.map → chunk-BGYZJXYZ.js.map} +0 -0
- /package/dist/{chunk-VSDJEPDN.js.map → chunk-BY5CLUY5.js.map} +0 -0
- /package/dist/{chunk-5TA5LHPW.js.map → chunk-C6PMNLN4.js.map} +0 -0
- /package/dist/{chunk-3E26ITYK.js.map → chunk-DFKTWNCC.js.map} +0 -0
- /package/dist/{chunk-DEQREL5P.js.map → chunk-FQHE7CLH.js.map} +0 -0
- /package/dist/{chunk-AENUJ7UO.js.map → chunk-FRLAPBYW.js.map} +0 -0
- /package/dist/{chunk-3H4FCRAN.js.map → chunk-HKYUCYOQ.js.map} +0 -0
- /package/dist/{chunk-IXV7FX5B.js.map → chunk-IQO3VZCP.js.map} +0 -0
- /package/dist/{chunk-6DESNDD5.js.map → chunk-J5XV35LN.js.map} +0 -0
- /package/dist/{chunk-JPPNQVKA.js.map → chunk-JMWCL3QQ.js.map} +0 -0
- /package/dist/{chunk-YDIIKD7O.js.map → chunk-K3Q3KTBT.js.map} +0 -0
- /package/dist/{chunk-DZBPF5QI.js.map → chunk-LHM4UVYZ.js.map} +0 -0
- /package/dist/{chunk-GLAR6VNF.js.map → chunk-LMVYPBT4.js.map} +0 -0
- /package/dist/{chunk-VGC4STKW.js.map → chunk-LUGZE4FR.js.map} +0 -0
- /package/dist/{chunk-XHZ723K4.js.map → chunk-LXSBSJUL.js.map} +0 -0
- /package/dist/{chunk-HJKVYTYK.js.map → chunk-MOAHKBYO.js.map} +0 -0
- /package/dist/{chunk-7YMZSVWW.js.map → chunk-MU7GTJYA.js.map} +0 -0
- /package/dist/{chunk-QWBNQYIF.js.map → chunk-MXZYJ7WN.js.map} +0 -0
- /package/dist/{chunk-E6C2EWHU.js.map → chunk-NZB6RZK2.js.map} +0 -0
- /package/dist/{chunk-YR6EXI2K.js.map → chunk-OF6FDDKV.js.map} +0 -0
- /package/dist/{chunk-PV7AYYRZ.js.map → chunk-OPMEDR4F.js.map} +0 -0
- /package/dist/{chunk-XYUERIZ6.js.map → chunk-ORYAOIVF.js.map} +0 -0
- /package/dist/{chunk-4ENIOXIT.js.map → chunk-OZUF7O2S.js.map} +0 -0
- /package/dist/{chunk-AZSWQWKL.js.map → chunk-PHKA5BP7.js.map} +0 -0
- /package/dist/{chunk-KCVBFXGO.js.map → chunk-QI4EZK7S.js.map} +0 -0
- /package/dist/{chunk-C7ZPDNOJ.js.map → chunk-QNSB6O4W.js.map} +0 -0
- /package/dist/{chunk-4ZV6SE4B.js.map → chunk-QPRSVLI7.js.map} +0 -0
- /package/dist/{chunk-U3CWWOHL.js.map → chunk-RSMASA5S.js.map} +0 -0
- /package/dist/{chunk-QI7OWVFY.js.map → chunk-S2BMWHFY.js.map} +0 -0
- /package/dist/{chunk-IZ4IPYQY.js.map → chunk-SKL52OWF.js.map} +0 -0
- /package/dist/{chunk-YLGSRK75.js.map → chunk-TRWUXFVB.js.map} +0 -0
- /package/dist/{chunk-HN67TOA7.js.map → chunk-URCFNXAK.js.map} +0 -0
- /package/dist/{chunk-TVSNHVWX.js.map → chunk-V2D7DA2M.js.map} +0 -0
- /package/dist/{chunk-4GKC43U3.js.map → chunk-V2ZVMDBY.js.map} +0 -0
- /package/dist/{chunk-6DRRN5XP.js.map → chunk-VIFY62YA.js.map} +0 -0
- /package/dist/{chunk-Z53VY5JV.js.map → chunk-VZ2JWFSX.js.map} +0 -0
- /package/dist/{chunk-2NB5HVXB.js.map → chunk-W5GR42L2.js.map} +0 -0
- /package/dist/{chunk-5YQXNW6Y.js.map → chunk-WDOX6A6T.js.map} +0 -0
- /package/dist/{chunk-PIN5YUVJ.js.map → chunk-XPL54FXR.js.map} +0 -0
- /package/dist/{chunk-LOX5GAVG.js.map → chunk-XV3KWMG3.js.map} +0 -0
- /package/dist/{chunk-6BBUIRHA.js.map → chunk-YFFQ7JTJ.js.map} +0 -0
- /package/dist/{chunk-XVPPM25G.js.map → chunk-ZD6AIFTS.js.map} +0 -0
- /package/dist/{chunk-DZDK64XY.js.map → chunk-ZDVYAOWC.js.map} +0 -0
- /package/dist/{chunk-GK5QS5BR.js.map → chunk-ZKIC65KR.js.map} +0 -0
- /package/dist/{chunk-7TLUQH7J.js.map → chunk-ZPRI5XCE.js.map} +0 -0
- /package/dist/{cohort-ERDL7EJU.js.map → cohort-CI22KICX.js.map} +0 -0
- /package/dist/{cohortSunburst-KSTVS3OQ.js.map → cohortSunburst-Z5DANXVS.js.map} +0 -0
- /package/dist/{condition-CTJYHRJG.js.map → condition-GZOA7BZJ.js.map} +0 -0
- /package/dist/{controls-MMMRBTZL.js.map → controls-OWC25VQN.js.map} +0 -0
- /package/dist/{controls.config-ZKMQI27Q.js.map → controls.config-UVC4Q7BS.js.map} +0 -0
- /package/dist/{correlation-NEQNBQTT.js.map → correlation-EBA5YVXA.js.map} +0 -0
- /package/dist/{customdata.inputui-THUR7DF5.js.map → customdata.inputui-FZRZCPS3.js.map} +0 -0
- /package/dist/{dataDownload-ZMAJUKBX.js.map → dataDownload-WIPQU33P.js.map} +0 -0
- /package/dist/{databrowser.ui-A6ZSIUG4.js.map → databrowser.ui-6L6Q72W4.js.map} +0 -0
- /package/dist/{dictionary-TQUVCHIN.js.map → dictionary-4VZEPGW5.js.map} +0 -0
- /package/dist/{dnaMethylation-ZMJYY3ML.js.map → dnaMethylation-LN6THRNZ.js.map} +0 -0
- /package/dist/{dnaMethylation.integration.spec-5DTBGTYB.js.map → dnaMethylation.integration.spec-BXC6EPUV.js.map} +0 -0
- /package/dist/{e2pca-DNWBF545.js.map → e2pca-EXFI4Q2Y.js.map} +0 -0
- /package/dist/{ep-JNH3HMY4.js.map → ep-T7EZ34XV.js.map} +0 -0
- /package/dist/{expclust.gdc.spec-2NJ7JVJW.js.map → expclust.gdc.spec-NAN4M75R.js.map} +0 -0
- /package/dist/{facet-RWQFAVVU.js.map → facet-BJFUIWHK.js.map} +0 -0
- /package/dist/{gb-OT2Z3Y7J.js.map → gb-CBC3PDKZ.js.map} +0 -0
- /package/dist/{geneExpClustering-TPYGSTMO.js.map → geneExpClustering-7JFY7TQT.js.map} +0 -0
- /package/dist/{geneExpression-4K3OTXBZ.js.map → geneExpression-FOQOKD34.js.map} +0 -0
- /package/dist/{geneExpression.unit.spec-26MCGRAP.js.map → geneExpression.unit.spec-XSFC5ZJP.js.map} +0 -0
- /package/dist/{geneORA-GNXKCN45.js.map → geneORA-KYPN66QU.js.map} +0 -0
- /package/dist/{geneRanking-LV6W6TT7.js.map → geneRanking-VEHFMRFL.js.map} +0 -0
- /package/dist/{geneVariant-B2SYTHG6.js.map → geneVariant-77V6FNJX.js.map} +0 -0
- /package/dist/{geneVariant-O4XG5VEM.js.map → geneVariant-BS3XZFYM.js.map} +0 -0
- /package/dist/{geneVariant.integration.spec-YYVPAFXT.js.map → geneVariant.integration.spec-US4OY3S5.js.map} +0 -0
- /package/dist/{genefusion.ui-CVGGYVV3.js.map → genefusion.ui-YNVTTLDE.js.map} +0 -0
- /package/dist/{geneset-MBMCJNXT.js.map → geneset-BH5MWNJQ.js.map} +0 -0
- /package/dist/{genomeBrowser.spec-OVXFKEIU.js.map → genomeBrowser.spec-BFTGLRHG.js.map} +0 -0
- /package/dist/{grin2-YCJGBRFG.js.map → grin2-4AXUYJIL.js.map} +0 -0
- /package/dist/{grin2-OXRU465E.js.map → grin2-5T557HKM.js.map} +0 -0
- /package/dist/{hierCluster-KNPWL5KD.js.map → hierCluster-IJHBVO2N.js.map} +0 -0
- /package/dist/{hierCluster-L3LYQZQL.js.map → hierCluster-POJBHBN6.js.map} +0 -0
- /package/dist/{hierCluster.config-VZBV5QIO.js.map → hierCluster.config-UUQEFTIG.js.map} +0 -0
- /package/dist/{hierCluster.integration.spec-ZM7K7WI4.js.map → hierCluster.integration.spec-PZFUAOHX.js.map} +0 -0
- /package/dist/{hierCluster.interactivity-EA7WVIQR.js.map → hierCluster.interactivity-6CN5PNFR.js.map} +0 -0
- /package/dist/{imagePlot-OLVI26S5.js.map → imagePlot-HKPPACFV.js.map} +0 -0
- /package/dist/{importPlot-3SSCNROC.js.map → importPlot-EMI6BVPR.js.map} +0 -0
- /package/dist/{isoformExpression-BTMJNAAO.js.map → isoformExpression-SFBA3SY7.js.map} +0 -0
- /package/dist/{isoformExpression.unit.spec-S2W5T42Z.js.map → isoformExpression.unit.spec-JKYWHGRN.js.map} +0 -0
- /package/dist/{junction-GIS5OCRO.js.map → junction-PJPOCKK7.js.map} +0 -0
- /package/dist/{junction.unit.spec-MSILW6QZ.js.map → junction.unit.spec-CVYLAHZF.js.map} +0 -0
- /package/dist/{launch.adhoc-LLJY4LA5.js.map → launch.adhoc-R7SYX6GF.js.map} +0 -0
- /package/dist/{leftlabel.sample-P6DDVCOW.js.map → leftlabel.sample-XJUDFAKS.js.map} +0 -0
- /package/dist/{lollipop-J34YCYIP.js.map → lollipop-V43BWGBT.js.map} +0 -0
- /package/dist/{maf-MFEEYT5P.js.map → maf-KU44HXN3.js.map} +0 -0
- /package/dist/{maftimeline-TGJ37QYA.js.map → maftimeline-JPHVYTTU.js.map} +0 -0
- /package/dist/{matrix-A6BNFCIH.js.map → matrix-EABQEAMC.js.map} +0 -0
- /package/dist/{matrix-XTKRVPMQ.js.map → matrix-HMLF5MDD.js.map} +0 -0
- /package/dist/{matrix.config-RMDDMOZ5.js.map → matrix.config-RX5GWHTM.js.map} +0 -0
- /package/dist/{matrix.integration.spec-2DVRXVNH.js.map → matrix.integration.spec-MZPSYXTF.js.map} +0 -0
- /package/dist/{matrix.interactivity-MGOYEKDN.js.map → matrix.interactivity-6AJ5BGEP.js.map} +0 -0
- /package/dist/{matrix.layout-T7EC5ZC2.js.map → matrix.layout-CTHRQE7U.js.map} +0 -0
- /package/dist/{matrix.renderers-GR77V3RL.js.map → matrix.renderers-UGQXONTG.js.map} +0 -0
- /package/dist/{matrix.sort.unit.spec-YUCV7G5L.js.map → matrix.sort.unit.spec-FJKIBDTU.js.map} +0 -0
- /package/dist/{matrix.sorterUi.unit.spec-FESIQ2RC.js.map → matrix.sorterUi.unit.spec-6DQ6KGXT.js.map} +0 -0
- /package/dist/{matrix.unit.spec-6QF3WKM7.js.map → matrix.unit.spec-7Y3BKFNQ.js.map} +0 -0
- /package/dist/{mavb-UXJBITZM.js.map → mavb-ADD57P2Q.js.map} +0 -0
- /package/dist/{mds.fimo-IPNWVBO4.js.map → mds.fimo-7WH5GVFZ.js.map} +0 -0
- /package/dist/{mds.samplescatterplot-KEG7RSN3.js.map → mds.samplescatterplot-JYFOORUG.js.map} +0 -0
- /package/dist/{mds.survivalplot-LJF2CD33.js.map → mds.survivalplot-2V4H3YZY.js.map} +0 -0
- /package/dist/{multivalue-YRQZ73DI.js.map → multivalue-GLS3RPQ5.js.map} +0 -0
- /package/dist/{oncomatrix-TIMH5JKS.js.map → oncomatrix-QA267TP2.js.map} +0 -0
- /package/dist/{oncomatrix.spec-MUOKKCJN.js.map → oncomatrix.spec-H6AAIP7H.js.map} +0 -0
- /package/dist/{plot.2dvaf-3OL4S6QG.js.map → plot.2dvaf-JW3Z25M3.js.map} +0 -0
- /package/dist/{plot.app-CMLHZV5F.js.map → plot.app-CUCDOVC5.js.map} +0 -0
- /package/dist/{plot.barplot-NRYMIPK6.js.map → plot.barplot-KBVYKICH.js.map} +0 -0
- /package/dist/{plot.boxplot-ANGW3WUC.js.map → plot.boxplot-BTS6ZWCQ.js.map} +0 -0
- /package/dist/{plot.brainImaging-YUDBYKX5.js.map → plot.brainImaging-GGUARYRT.js.map} +0 -0
- /package/dist/{plot.disco-LV7RE3YO.js.map → plot.disco-EP274JEW.js.map} +0 -0
- /package/dist/{plot.ssgq-F2LOQFYD.js.map → plot.ssgq-4VUH3ZWV.js.map} +0 -0
- /package/dist/{plot.vaf2cov-5OKC7X6D.js.map → plot.vaf2cov-2FPWA2FS.js.map} +0 -0
- /package/dist/{polar2-BGJA2GHZ.js.map → polar2-7W5JRMB5.js.map} +0 -0
- /package/dist/{profileForms-BKP3OBKV.js.map → profileForms-2IKL3SZU.js.map} +0 -0
- /package/dist/{profilePlot-5PRRNUKD.js.map → profilePlot-IURW2HQN.js.map} +0 -0
- /package/dist/{proteinView-VZIWIZZY.js.map → proteinView-4ZRODQN3.js.map} +0 -0
- /package/dist/{proteomeCohortCompare-XZI5OI4X.js.map → proteomeCohortCompare-BK3FLW4Z.js.map} +0 -0
- /package/dist/{pseudbulk.unit.spec-DXJQV7JQ.js.map → pseudbulk.unit.spec-QGQCCHNF.js.map} +0 -0
- /package/dist/{pseudobulk-FCH3WW6O.js.map → pseudobulk-7HEOBIFO.js.map} +0 -0
- /package/dist/{qualitative-ATX53V44.js.map → qualitative-6HWIG5NU.js.map} +0 -0
- /package/dist/{qualitative-BRKLVRKW.js.map → qualitative-WGEEUNH6.js.map} +0 -0
- /package/dist/{radar2-6BBT2FBT.js.map → radar2-VXP322F7.js.map} +0 -0
- /package/dist/{radarFacility2-76Q3IYP2.js.map → radarFacility2-IJGJ3AJB.js.map} +0 -0
- /package/dist/{render-KUC3QH36.js.map → render-MMCUV7QI.js.map} +0 -0
- /package/dist/{report-KB4K7ZXC.js.map → report-F22EFD7C.js.map} +0 -0
- /package/dist/{sampleView-QD2JLZ4T.js.map → sampleView-3DVB2PQT.js.map} +0 -0
- /package/dist/{samplelst-6R5RYHNV.js.map → samplelst-LNAI33IW.js.map} +0 -0
- /package/dist/{samplematrix-NGORNBTR.js.map → samplematrix-RGXPBRW5.js.map} +0 -0
- /package/dist/{sc-27AHZZDK.js.map → sc-UR66YB27.js.map} +0 -0
- /package/dist/{scatter-FXLZMWD6.js.map → scatter-3K6XBJIM.js.map} +0 -0
- /package/dist/{scatter-OWFYLMSJ.js.map → scatter-IFP5NTZU.js.map} +0 -0
- /package/dist/{selectGenomeWithTklst-ZTGABCXC.js.map → selectGenomeWithTklst-LGBKEN3T.js.map} +0 -0
- /package/dist/{singleCellCellType-7XXJ5NWC.js.map → singleCellCellType-ACQACM6W.js.map} +0 -0
- /package/dist/{singleCellCellType.unit.spec-Y3TEYYCF.js.map → singleCellCellType.unit.spec-WLGTJKOM.js.map} +0 -0
- /package/dist/{singleCellGeneExpression-EUAIEIYJ.js.map → singleCellGeneExpression-M4RPITJW.js.map} +0 -0
- /package/dist/{singleCellGeneExpression.unit.spec-JVHPFLML.js.map → singleCellGeneExpression.unit.spec-N3VD6PUW.js.map} +0 -0
- /package/dist/{singleCellNumericValue-FHIECJDK.js.map → singleCellNumericValue-W6F44FJN.js.map} +0 -0
- /package/dist/{singleCellNumericValue.unit.spec-ZFG56MIO.js.map → singleCellNumericValue.unit.spec-JZNMY77I.js.map} +0 -0
- /package/dist/{singleCellPlot-NDGIW32L.js.map → singleCellPlot-CCG2KSCO.js.map} +0 -0
- /package/dist/{singlecell-JPWVPZEF.js.map → singlecell-32P47E4I.js.map} +0 -0
- /package/dist/{singlecell-N7RJMWZ2.js.map → singlecell-I6H3Z7FT.js.map} +0 -0
- /package/dist/{snp-APUTOL2F.js.map → snp-7X2BXRQP.js.map} +0 -0
- /package/dist/{snp.unit.spec-4AN7AJKO.js.map → snp.unit.spec-BJGWNSVR.js.map} +0 -0
- /package/dist/{snplocus-WIMFAMBE.js.map → snplocus-UOVS2GD6.js.map} +0 -0
- /package/dist/{snplst-SUJ5AK4E.js.map → snplst-JFVP4NG2.js.map} +0 -0
- /package/dist/{spliceevent.a53ss.diagram-4UBI7PFJ.js.map → spliceevent.a53ss.diagram-ETXJX57W.js.map} +0 -0
- /package/dist/{spliceevent.exonskip.diagram-NVEXVRIC.js.map → spliceevent.exonskip.diagram-C4JCEOXQ.js.map} +0 -0
- /package/dist/{spliceevent.noeventdiagram-CKEWNLVF.js.map → spliceevent.noeventdiagram-4DD3Z4OM.js.map} +0 -0
- /package/dist/{ssGSEA-CJOVXTAW.js.map → ssGSEA-GOZOYROM.js.map} +0 -0
- /package/dist/{ssGSEA.unit.spec-A7VRVJSF.js.map → ssGSEA.unit.spec-J4DPFU4D.js.map} +0 -0
- /package/dist/{stattable-JBJVVLQE.js.map → stattable-ICUZQHUF.js.map} +0 -0
- /package/dist/{studyCatalog-NEL7XSIP.js.map → studyCatalog-PCFXVOI3.js.map} +0 -0
- /package/dist/{summarizeCnvGeneexp-BZSCTA5W.js.map → summarizeCnvGeneexp-DK6HNUFE.js.map} +0 -0
- /package/dist/{summarizeGeneexpSurvival-743KXNV7.js.map → summarizeGeneexpSurvival-JLCR2VIX.js.map} +0 -0
- /package/dist/{summarizeMutationCnv-CALMSQGV.js.map → summarizeMutationCnv-CFAKT6IP.js.map} +0 -0
- /package/dist/{summarizeMutationDiagnosis-OTE7O4AS.js.map → summarizeMutationDiagnosis-5HMVSYMI.js.map} +0 -0
- /package/dist/{summarizeMutationSurvival-VOZOFTFM.js.map → summarizeMutationSurvival-GP2OQMUS.js.map} +0 -0
- /package/dist/{summary-XJKCD35N.js.map → summary-6K553VNS.js.map} +0 -0
- /package/dist/{summary.integration.spec-OOEU6WNB.js.map → summary.integration.spec-MXERZOVY.js.map} +0 -0
- /package/dist/{summaryInput-JSOXVSMY.js.map → summaryInput-V2G6HFJS.js.map} +0 -0
- /package/dist/{sunburst-J3QHMYKW.js.map → sunburst-6GKVNIRF.js.map} +0 -0
- /package/dist/{sunburst-LZPP6NPV.js.map → sunburst-YOVKC5G2.js.map} +0 -0
- /package/dist/{survival-FW7N3YXZ.js.map → survival-GHTV2ZPX.js.map} +0 -0
- /package/dist/{survival-5GWRVTQ6.js.map → survival-KF2QUWSM.js.map} +0 -0
- /package/dist/{survival.integration.spec-WN36VUHL.js.map → survival.integration.spec-GVSQL4VB.js.map} +0 -0
- /package/dist/{svgraph-N35EMK3G.js.map → svgraph-WN3JLEOC.js.map} +0 -0
- /package/dist/{svmr-EWL5WDDD.js.map → svmr-ZZKBQFQK.js.map} +0 -0
- /package/dist/{swimmer-Z6FUH4CD.js.map → swimmer-XHORJEVI.js.map} +0 -0
- /package/dist/{table-EI2OIRGE.js.map → table-XQCTNHSZ.js.map} +0 -0
- /package/dist/{termCollection-K3EX5P3F.js.map → termCollection-DXZQT7YT.js.map} +0 -0
- /package/dist/{termCollection-TBTAHLVH.js.map → termCollection-HRM2NHLA.js.map} +0 -0
- /package/dist/{termCollection.unit.spec-ZVNAIPHZ.js.map → termCollection.unit.spec-BGULSLH6.js.map} +0 -0
- /package/dist/{termCollectionFractionSelection-ATNIPWVX.js.map → termCollectionFractionSelection-TPNNP2ER.js.map} +0 -0
- /package/dist/{termCollectionFractionSelection.unit.spec-VBRWWBML.js.map → termCollectionFractionSelection.unit.spec-VONXAGZH.js.map} +0 -0
- /package/dist/{tk-P3RPLUVH.js.map → tk-KPD6HTHR.js.map} +0 -0
- /package/dist/{tk-U6CYISBH.js.map → tk-RCTQPQH7.js.map} +0 -0
- /package/dist/{tp.ui-KBFYUSWS.js.map → tp.ui-MVNQLMAD.js.map} +0 -0
- /package/dist/{tvs.categorical-5USP772O.js.map → tvs.categorical-4TKKU6HO.js.map} +0 -0
- /package/dist/{tvs.condition-652MAA2Z.js.map → tvs.condition-SARY3O5Y.js.map} +0 -0
- /package/dist/{tvs.density-CB24PXDE.js.map → tvs.density-IGO4I4T2.js.map} +0 -0
- /package/dist/{tvs.dt-7BTARQUS.js.map → tvs.dt-XJ2MW2AP.js.map} +0 -0
- /package/dist/{tvs.dtcnv.categorical-GAOO3DGO.js.map → tvs.dtcnv.categorical-H7FKTXH4.js.map} +0 -0
- /package/dist/{tvs.dtcnv.continuous-P2QRD45O.js.map → tvs.dtcnv.continuous-JQ62ZHER.js.map} +0 -0
- /package/dist/{tvs.dtfusion-L3I65W7L.js.map → tvs.dtfusion-GC3DZ2BO.js.map} +0 -0
- /package/dist/{tvs.dtitd-B3JPW6OL.js.map → tvs.dtitd-3SHGIDIB.js.map} +0 -0
- /package/dist/{tvs.dtsnvindel-6Y6CJBZV.js.map → tvs.dtsnvindel-BEDWZ4A2.js.map} +0 -0
- /package/dist/{tvs.dtsv-GL7CPATL.js.map → tvs.dtsv-HRIMULVD.js.map} +0 -0
- /package/dist/{tvs.multivalue-75IM23FZ.js.map → tvs.multivalue-5VC7BLSZ.js.map} +0 -0
- /package/dist/{tvs.numeric-XB3GBPHE.js.map → tvs.numeric-TGEC7G6A.js.map} +0 -0
- /package/dist/{tvs.samplelst-QUA45UE7.js.map → tvs.samplelst-Q6EYAUQZ.js.map} +0 -0
- /package/dist/{tvs.survival-EKSDZZIO.js.map → tvs.survival-NJ3DTZIG.js.map} +0 -0
- /package/dist/{tvs.termCollection-5ATMDC7O.js.map → tvs.termCollection-TVVLPSTG.js.map} +0 -0
- /package/dist/{vocabulary-5QBBQAYC.js.map → vocabulary-A7ZBBU65.js.map} +0 -0
- /package/dist/{wsi.direct-BU6BL5UR.js.map → wsi.direct-JJGIAH6A.js.map} +0 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import {
|
|
2
|
+
addGeneSearchbox,
|
|
3
|
+
getSCGEunit,
|
|
4
|
+
getSampleAssayInfo
|
|
5
|
+
} from "./chunk-4ASBDE27.js";
|
|
6
|
+
import {
|
|
7
|
+
Menu
|
|
8
|
+
} from "./chunk-CNFTQSNE.js";
|
|
9
|
+
import {
|
|
10
|
+
SINGLECELL_GENE_EXPRESSION
|
|
11
|
+
} from "./chunk-WJLRU5OF.js";
|
|
12
|
+
|
|
13
|
+
// termdb/handlers/singleCellGeneExpression.ts
|
|
14
|
+
var SearchHandler = class {
|
|
15
|
+
async init(opts) {
|
|
16
|
+
this.validateOpts(opts);
|
|
17
|
+
this.callback = opts.callback;
|
|
18
|
+
this.app = opts.app;
|
|
19
|
+
const sample = opts.usecase?.specialCase?.config?.sample;
|
|
20
|
+
const { genes: geneList } = await getSampleAssayInfo(this.app.vocabApi, sample);
|
|
21
|
+
const holder = opts.holder.append("div").style("padding", "10px 0px");
|
|
22
|
+
const geneSearch = addGeneSearchbox({
|
|
23
|
+
tip: new Menu({ padding: "0px" }),
|
|
24
|
+
genome: opts.genomeObj,
|
|
25
|
+
geneList,
|
|
26
|
+
row: holder,
|
|
27
|
+
searchOnly: "gene",
|
|
28
|
+
callback: () => this.selectGene(geneSearch.geneSymbol, sample)
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
/**TODO: scge tw handler will validate that a sample is included. Need to resolve issue
|
|
32
|
+
* with sample info not included.*/
|
|
33
|
+
async selectGene(gene, sample) {
|
|
34
|
+
if (!gene) throw new Error("No gene selected");
|
|
35
|
+
const unit = getSCGEunit(this.app.vocabApi);
|
|
36
|
+
const name = `${gene} ${unit}`;
|
|
37
|
+
this.callback({ gene, name, type: SINGLECELL_GENE_EXPRESSION, sample });
|
|
38
|
+
}
|
|
39
|
+
validateOpts(opts) {
|
|
40
|
+
if (opts.callback == null) throw new Error("callback is required");
|
|
41
|
+
if (opts.app == null) throw new Error("app is required");
|
|
42
|
+
if (opts.holder == null) throw new Error("holder is required");
|
|
43
|
+
if (opts.genomeObj == null) throw new Error("genomeObj is required");
|
|
44
|
+
if (opts.usecase == null) throw new Error("usecase is required");
|
|
45
|
+
if (!opts.usecase?.specialCase?.config?.sample) {
|
|
46
|
+
throw new Error("usecase.specialCase.config.sample is required for singleCellGeneExpression handler");
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export {
|
|
52
|
+
SearchHandler
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=chunk-C6PMNLN4.js.map
|
|
@@ -0,0 +1,418 @@
|
|
|
1
|
+
import {
|
|
2
|
+
addBrushes,
|
|
3
|
+
addNewBrush
|
|
4
|
+
} from "./chunk-OZUF7O2S.js";
|
|
5
|
+
import {
|
|
6
|
+
escapeHtml,
|
|
7
|
+
niceNumLabels,
|
|
8
|
+
violinRenderer
|
|
9
|
+
} from "./chunk-4ASBDE27.js";
|
|
10
|
+
import {
|
|
11
|
+
convertUnits,
|
|
12
|
+
getValueConversionFactor
|
|
13
|
+
} from "./chunk-W5J3LTYS.js";
|
|
14
|
+
import {
|
|
15
|
+
NumericRangeInput
|
|
16
|
+
} from "./chunk-PWYMHUXY.js";
|
|
17
|
+
import {
|
|
18
|
+
roundValueAuto
|
|
19
|
+
} from "./chunk-TLT4YIG3.js";
|
|
20
|
+
import {
|
|
21
|
+
select_default
|
|
22
|
+
} from "./chunk-I6Y4O3RR.js";
|
|
23
|
+
|
|
24
|
+
// filter/tvs.numeric.js
|
|
25
|
+
var handler = {
|
|
26
|
+
type: "numeric",
|
|
27
|
+
term_name_gen,
|
|
28
|
+
get_pill_label,
|
|
29
|
+
getSelectRemovePos,
|
|
30
|
+
fillMenu,
|
|
31
|
+
setTvsDefaults
|
|
32
|
+
};
|
|
33
|
+
function term_name_gen(d) {
|
|
34
|
+
const name = d.term.name;
|
|
35
|
+
return name.length < 26 ? escapeHtml(name) : '<label title="' + escapeHtml(name) + '">' + escapeHtml(name.substring(0, 24)) + "...</label>";
|
|
36
|
+
}
|
|
37
|
+
function get_pill_label(tvs) {
|
|
38
|
+
if (tvs.ranges.length == 1) {
|
|
39
|
+
const v = tvs.ranges[0];
|
|
40
|
+
if ("value" in v) {
|
|
41
|
+
if (v.label) return { txt: escapeHtml(v.label) };
|
|
42
|
+
if (tvs.term.values && tvs.term.values[v.value] && tvs.term.values[v.value].label)
|
|
43
|
+
return { txt: escapeHtml(tvs.term.values[v.value].label) };
|
|
44
|
+
console.error(`key "${v.value}" not found in values{} of ${tvs.term.name}`);
|
|
45
|
+
return { txt: escapeHtml(v.value) };
|
|
46
|
+
}
|
|
47
|
+
return { txt: format_val_text(v, tvs.term) + mafDepthText(tvs) };
|
|
48
|
+
}
|
|
49
|
+
return { txt: tvs.ranges.length + " intervals" + mafDepthText(tvs) };
|
|
50
|
+
}
|
|
51
|
+
function mafDepthText(tvs) {
|
|
52
|
+
if (tvs.term.mafFilterMode != "maf") return "";
|
|
53
|
+
if (!Number.isFinite(tvs.minAllelicDepth) || tvs.minAllelicDepth < 1) return "";
|
|
54
|
+
return `, Total depth ≥ ${tvs.minAllelicDepth}`;
|
|
55
|
+
}
|
|
56
|
+
function format_val_text(range, term) {
|
|
57
|
+
const x = '<span style="font-family:Times;font-style:italic;font-size:1em; vertical-align:top">x</span>';
|
|
58
|
+
if (range.startunbounded && range.stopunbounded) {
|
|
59
|
+
const inf = (sign = "") => `<span style='vertical-align: middle; font-size:1.1em; line-height: 0.9em'>${sign}\u221E</span>`;
|
|
60
|
+
const lt = `<span style='vertical-align: top; font-size: 0.9em'><</span>`;
|
|
61
|
+
return `<span>${inf("\uFE63")} ${lt} ${x} ${lt} ${inf("\uFE62")}</span>`;
|
|
62
|
+
}
|
|
63
|
+
const vc = term.valueConversion;
|
|
64
|
+
if (range.startunbounded)
|
|
65
|
+
return `${x} ${range.stopinclusive ? "≤" : "<"} ${vc ? convertUnits(range.stop, vc.fromUnit, vc.toUnit, vc.scaleFactor) : range.stop}`;
|
|
66
|
+
if (range.stopunbounded)
|
|
67
|
+
return `${x} ${range.startinclusive ? "≥" : ">"} ${vc ? convertUnits(range.start, vc.fromUnit, vc.toUnit, vc.scaleFactor) : range.start}`;
|
|
68
|
+
let startName, stopName;
|
|
69
|
+
if (vc) {
|
|
70
|
+
startName = convertUnits(range.start, vc.fromUnit, vc.toUnit, vc.scaleFactor);
|
|
71
|
+
stopName = convertUnits(range.stop, vc.fromUnit, vc.toUnit, vc.scaleFactor);
|
|
72
|
+
} else {
|
|
73
|
+
;
|
|
74
|
+
[startName, stopName] = niceNumLabels([range.start, range.stop]);
|
|
75
|
+
}
|
|
76
|
+
return `${startName}
|
|
77
|
+
${range.startinclusive ? "≤" : "<"}
|
|
78
|
+
${x}
|
|
79
|
+
${range.stopinclusive ? "≤" : "<"}
|
|
80
|
+
${stopName}`;
|
|
81
|
+
}
|
|
82
|
+
function getSelectRemovePos(j, tvs) {
|
|
83
|
+
return j - tvs.ranges.slice(0, j).filter((a) => a.start || a.stop).length;
|
|
84
|
+
}
|
|
85
|
+
async function fillMenu(self, div, tvs) {
|
|
86
|
+
const num_parent_div = div.append("div");
|
|
87
|
+
self.num_obj = {};
|
|
88
|
+
self.num_obj.num_div = num_parent_div.append("div").attr("class", "num_div").style("padding", "5px").style("color", "#000");
|
|
89
|
+
self.num_obj.plot_size = {
|
|
90
|
+
width: 450,
|
|
91
|
+
height: 100,
|
|
92
|
+
xpad: 10,
|
|
93
|
+
ypad: 20,
|
|
94
|
+
radius: 8
|
|
95
|
+
};
|
|
96
|
+
if (typeof self.opts.vocabApi.getViolinBox == "function") {
|
|
97
|
+
try {
|
|
98
|
+
const data = await self.opts.vocabApi.getViolinBox(
|
|
99
|
+
{
|
|
100
|
+
plotType: "violin",
|
|
101
|
+
tw: { term: tvs.term, q: { mode: "continuous" } },
|
|
102
|
+
// must supply this filter and override state filter in function, so the density plot will not be limited to range defined by current numeric tvs but will show whole range
|
|
103
|
+
filter: self.filter,
|
|
104
|
+
svgw: self.num_obj.plot_size.width,
|
|
105
|
+
radius: self.num_obj.plot_size.radius
|
|
106
|
+
},
|
|
107
|
+
self.opts.getCategoriesArguments
|
|
108
|
+
);
|
|
109
|
+
if (data.error) throw data.error;
|
|
110
|
+
if (data.max === null && data.min === null) {
|
|
111
|
+
throw `No data available under current filter conditions.`;
|
|
112
|
+
}
|
|
113
|
+
self.num_obj.density_data = data;
|
|
114
|
+
} catch (err) {
|
|
115
|
+
throw err;
|
|
116
|
+
}
|
|
117
|
+
} else {
|
|
118
|
+
self.num_obj.density_data = {};
|
|
119
|
+
}
|
|
120
|
+
if (self.num_obj.density_data.error) throw self.num_obj.density_data.error;
|
|
121
|
+
if (!self.num_obj.density_data.charts?.[""]?.plots?.[0]?.density?.bins) {
|
|
122
|
+
addRangeTableNoDensity(self, tvs);
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
self.vr = new violinRenderer({
|
|
126
|
+
holder: self.num_obj.num_div,
|
|
127
|
+
rd: self.num_obj.density_data,
|
|
128
|
+
width: self.num_obj.plot_size.width,
|
|
129
|
+
radius: self.num_obj.plot_size.radius,
|
|
130
|
+
height: self.num_obj.plot_size.height,
|
|
131
|
+
// axis ticks are labeled in the term's user-facing unit, e.g. years and not days
|
|
132
|
+
scaleFactor: getValueConversionFactor(tvs.term)
|
|
133
|
+
});
|
|
134
|
+
self.vr.render();
|
|
135
|
+
self.num_obj.svg = self.vr.svg;
|
|
136
|
+
self.num_obj.range_table = self.num_obj.num_div.append("table").style("table-layout", "fixed").style("border-collapse", "collapse");
|
|
137
|
+
const ranges = [];
|
|
138
|
+
for (const [index, range] of tvs.ranges.entries()) {
|
|
139
|
+
range.index = index;
|
|
140
|
+
ranges.push(range);
|
|
141
|
+
}
|
|
142
|
+
self.num_obj.brush_g = self.vr.brushG.attr("class", "brush_g");
|
|
143
|
+
self.num_obj.xscale = self.vr.axisScale;
|
|
144
|
+
self.num_obj.ranges = ranges;
|
|
145
|
+
self.num_obj.brushes = [];
|
|
146
|
+
addBrushes(self);
|
|
147
|
+
addRangeTable(self);
|
|
148
|
+
if (!ranges.length) {
|
|
149
|
+
const callback = () => addRangeTable(self);
|
|
150
|
+
addNewBrush(self, "center", callback);
|
|
151
|
+
}
|
|
152
|
+
self.num_obj.brushes.forEach((brush) => brush.init());
|
|
153
|
+
await showCheckList_numeric(self, tvs, div);
|
|
154
|
+
}
|
|
155
|
+
function setTvsDefaults(tvs) {
|
|
156
|
+
if (!tvs.ranges) tvs.ranges = [];
|
|
157
|
+
}
|
|
158
|
+
function addRangeTableNoDensity(self, tvs) {
|
|
159
|
+
const termrange = tvs.term.range || {};
|
|
160
|
+
const range = tvs.ranges && tvs.ranges[0] ? tvs.ranges[0] : termrange;
|
|
161
|
+
const num_div = self.num_obj.num_div;
|
|
162
|
+
num_div.selectAll("*").remove();
|
|
163
|
+
const brush = {};
|
|
164
|
+
const holder = num_div.append("div").style("padding-left", "5px");
|
|
165
|
+
const mafFilterMode = tvs.term.mafFilterMode;
|
|
166
|
+
if (mafFilterMode == "maf" && tvs.term.child_ids?.length > 1) {
|
|
167
|
+
const ids = tvs.term.child_ids;
|
|
168
|
+
const list = ids.slice(0, -1).join(", ") + " and " + ids[ids.length - 1];
|
|
169
|
+
holder.append("div").style("margin-bottom", "8px").style("font-size", ".9em").style("opacity", 0.7).text(`MAF is computed by summing allelic depths from ${list}`);
|
|
170
|
+
}
|
|
171
|
+
const rangeRow = holder.append("div").style("display", "flex").style("align-items", "center").style("column-gap", "5px");
|
|
172
|
+
const rangeLabel = rangeRow.append("span");
|
|
173
|
+
brush.equation_div = rangeRow.append("div");
|
|
174
|
+
brush.rangeInput = new NumericRangeInput(brush.equation_div, range, () => {
|
|
175
|
+
}, {
|
|
176
|
+
width: "125px",
|
|
177
|
+
scaleFactor: getValueConversionFactor(tvs.term),
|
|
178
|
+
// without a density plot, the term's declared bounds are the only check of a typed range
|
|
179
|
+
min: tvs.term.min,
|
|
180
|
+
max: tvs.term.max
|
|
181
|
+
});
|
|
182
|
+
if (mafFilterMode == "maf") {
|
|
183
|
+
rangeLabel.text("MAF Range (0-1)");
|
|
184
|
+
const depthRow = holder.append("div").style("display", "flex").style("align-items", "center").style("column-gap", "5px").style("margin-top", "5px");
|
|
185
|
+
depthRow.append("span").text("Minimum Total Depth");
|
|
186
|
+
brush.depthInput = depthRow.append("input").attr("type", "number").attr("min", 1).attr("step", 1).style("width", "125px").property("value", Number.isFinite(tvs.minAllelicDepth) ? tvs.minAllelicDepth : "");
|
|
187
|
+
brush.apply_btn = addApplyButton(holder.append("div").style("margin-top", "10px"));
|
|
188
|
+
} else if (mafFilterMode == "value") {
|
|
189
|
+
rangeLabel.text("Range");
|
|
190
|
+
brush.apply_btn = addApplyButton(rangeRow);
|
|
191
|
+
} else if (mafFilterMode == "totalDepth" || mafFilterMode == "altDepth") {
|
|
192
|
+
rangeLabel.text(mafFilterMode == "totalDepth" ? "Total Depth" : "Alt Allele Depth");
|
|
193
|
+
brush.apply_btn = addApplyButton(rangeRow);
|
|
194
|
+
} else {
|
|
195
|
+
rangeLabel.text("Range");
|
|
196
|
+
brush.apply_btn = addApplyButton(rangeRow);
|
|
197
|
+
}
|
|
198
|
+
if (mafFilterMode) brush.rangeInput.getInput().node().focus();
|
|
199
|
+
function addApplyButton(holder2) {
|
|
200
|
+
return holder2.append("button").text("Apply").on("click", clickApply);
|
|
201
|
+
}
|
|
202
|
+
function clickApply() {
|
|
203
|
+
const r = brush.rangeInput.getRange();
|
|
204
|
+
if (!Number.isFinite(r.start) && !Number.isFinite(r.stop)) {
|
|
205
|
+
window.alert("Invalid range.");
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
const new_tvs = { term: tvs.term, ranges: [r] };
|
|
209
|
+
if (brush.depthInput) {
|
|
210
|
+
const str = brush.depthInput.property("value").trim();
|
|
211
|
+
if (str) {
|
|
212
|
+
const minAllelicDepth = Number(str);
|
|
213
|
+
if (!Number.isFinite(minAllelicDepth)) {
|
|
214
|
+
window.alert("Minimum allelic depth must be a numeric value.");
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
new_tvs.minAllelicDepth = Math.max(minAllelicDepth, 1);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
self.dom.tip.hide();
|
|
221
|
+
self.opts.callback(new_tvs);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
function addRangeTable(self) {
|
|
225
|
+
const brushes = self.num_obj.brushes;
|
|
226
|
+
const range_divs = self.num_obj.range_table.selectAll(".range_div").data(brushes);
|
|
227
|
+
range_divs.exit().each(function() {
|
|
228
|
+
select_default(this).style("opacity", 1).transition().duration(100).style("opacity", 0).remove();
|
|
229
|
+
});
|
|
230
|
+
range_divs.enter().append("tr").attr("class", "range_div").style("white-space", "nowrap").style("padding", "2px").transition().duration(200).each(function(brush, i) {
|
|
231
|
+
enterRange(self, this, brush, i);
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
function enterRange(self, tr, brush, i) {
|
|
235
|
+
if (!brush.range_tr) brush.range_tr = select_default(tr);
|
|
236
|
+
const range_tr = brush.range_tr;
|
|
237
|
+
const xscale = self.num_obj.xscale;
|
|
238
|
+
range_tr.append("td").style("margin-left", "10px").style("padding", "3px 10px").style("font-size", ".9em").text("Range " + (i + 1) + ": ");
|
|
239
|
+
brush.equation_td = range_tr.append("td").style("width", "150px");
|
|
240
|
+
brush.rangeInput = new NumericRangeInput(brush.equation_td, brush.range, apply, {
|
|
241
|
+
scaleFactor: getValueConversionFactor(self.tvs.term)
|
|
242
|
+
});
|
|
243
|
+
makeRangeButtons(self, brush);
|
|
244
|
+
if (i == 0) {
|
|
245
|
+
self.num_obj.range_table.append("tr").attr("class", "note_tr").append("td").attr("colspan", "3").append("div").style("font-size", ".8em").style("margin-left", "20px").style("font-style", "italic").style("color", "#888").html("Option 1: Drag the rectangle to select a range. Overlapping ranges will be merged.");
|
|
246
|
+
}
|
|
247
|
+
if (i == 0) {
|
|
248
|
+
self.num_obj.range_table.append("tr").attr("class", "note_tr").append("td").attr("colspan", "3").append("div").style("font-size", ".8em").style("margin-left", "20px").style("font-style", "italic").style("color", "#888").html(
|
|
249
|
+
`Option 2: Type in values to select a range.${self.tvs.term.valueConversion ? ` Values are in the unit of ${self.tvs.term.valueConversion.toUnit}.` : ""}`
|
|
250
|
+
);
|
|
251
|
+
}
|
|
252
|
+
function apply(new_range) {
|
|
253
|
+
const minvalue = self.num_obj.density_data.min;
|
|
254
|
+
const maxvalue = self.num_obj.density_data.max;
|
|
255
|
+
validateRangeInData(self, new_range);
|
|
256
|
+
brush.range = new_range;
|
|
257
|
+
const start = new_range.value != void 0 ? new_range.value : new_range.start != void 0 ? new_range.start : minvalue;
|
|
258
|
+
const stop = new_range.value != void 0 ? new_range.value : new_range.stop != void 0 ? new_range.stop : maxvalue;
|
|
259
|
+
const clamp = (v) => Math.min(Math.max(v, minvalue), maxvalue);
|
|
260
|
+
brush.elem.call(brush.d3brush).call(brush.d3brush.move, [clamp(start), clamp(stop)].map(xscale));
|
|
261
|
+
}
|
|
262
|
+
function makeRangeButtons(self2, brush2) {
|
|
263
|
+
const buttons_td = brush2.range_tr.append("td");
|
|
264
|
+
const range = brush2.range;
|
|
265
|
+
brush2.apply_btn = buttons_td.append("button").style("margin-left", "10px").text("Apply").attr("data-testid", "sjpp-tvsnumeric-range-apply").on("click", async () => {
|
|
266
|
+
try {
|
|
267
|
+
const new_range = brush2.rangeInput.parseRange();
|
|
268
|
+
const new_tvs = JSON.parse(JSON.stringify(self2.tvs));
|
|
269
|
+
delete new_tvs.groupset_label;
|
|
270
|
+
if (self2.num_obj.ranges.length > 1) new_tvs.ranges = mergeOverlapRanges(self2, new_range);
|
|
271
|
+
else new_tvs.ranges[range.index] = new_range;
|
|
272
|
+
validateNumericTvs(new_tvs);
|
|
273
|
+
self2.dom.tip.hide();
|
|
274
|
+
self2.opts.callback(new_tvs);
|
|
275
|
+
} catch (ex) {
|
|
276
|
+
alert(ex);
|
|
277
|
+
}
|
|
278
|
+
});
|
|
279
|
+
buttons_td.append("button").attr("class", "sja_filter_tag_btn sjpp_delete_btn").style("display", self2.num_obj.ranges.length > 1 ? "inline-block" : "none").style("margin-left", "10px").style("text-transform", "uppercase").text("Delete").on("click", async () => {
|
|
280
|
+
const new_tvs = JSON.parse(JSON.stringify(self2.tvs));
|
|
281
|
+
new_tvs.ranges.splice(range.index, 1);
|
|
282
|
+
self2.num_obj.ranges.pop();
|
|
283
|
+
self2.num_obj.brushes.pop();
|
|
284
|
+
self2.num_obj.num_div.select(".note_tr").remove();
|
|
285
|
+
addBrushes(self2);
|
|
286
|
+
addRangeTable(self2);
|
|
287
|
+
if (new_tvs.ranges.length) self2.opts.callback(new_tvs);
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
function mergeOverlapRanges(self, new_range) {
|
|
292
|
+
let ranges = JSON.parse(JSON.stringify(self.tvs.ranges));
|
|
293
|
+
let merged_flag = false;
|
|
294
|
+
for (const [i, range] of ranges.entries()) {
|
|
295
|
+
if (!range.value && new_range.index != i) {
|
|
296
|
+
if (new_range.start <= range.start && new_range.stop >= range.stop) {
|
|
297
|
+
range.start = new_range.start;
|
|
298
|
+
range.stop = new_range.stop;
|
|
299
|
+
merged_flag = true;
|
|
300
|
+
} else if (new_range.start <= range.stop && new_range.stop >= range.stop) {
|
|
301
|
+
range.stop = new_range.stop;
|
|
302
|
+
merged_flag = true;
|
|
303
|
+
} else if (new_range.stop >= range.start && new_range.start <= range.start) {
|
|
304
|
+
range.start = new_range.start;
|
|
305
|
+
merged_flag = true;
|
|
306
|
+
} else if (new_range.start >= range.start && new_range.stop <= range.stop) {
|
|
307
|
+
merged_flag = true;
|
|
308
|
+
} else if (new_range.startunbounded) {
|
|
309
|
+
if (new_range.stop > range.stop) {
|
|
310
|
+
range.stop = new_range.stop;
|
|
311
|
+
}
|
|
312
|
+
delete range.start;
|
|
313
|
+
range.startunbounded = true;
|
|
314
|
+
merged_flag = true;
|
|
315
|
+
} else if (new_range.stopunbounded) {
|
|
316
|
+
if (new_range.start < range.start) {
|
|
317
|
+
range.start = new_range.start;
|
|
318
|
+
}
|
|
319
|
+
delete range.stop;
|
|
320
|
+
range.stopunbounded = true;
|
|
321
|
+
merged_flag = true;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
if (merged_flag) {
|
|
326
|
+
if (new_range.index <= ranges.length - 1) ranges.splice(new_range.index, 1);
|
|
327
|
+
} else {
|
|
328
|
+
ranges = JSON.parse(JSON.stringify(self.tvs.ranges));
|
|
329
|
+
if (new_range.index) ranges[new_range.index] = new_range;
|
|
330
|
+
else ranges.push(new_range);
|
|
331
|
+
}
|
|
332
|
+
return ranges;
|
|
333
|
+
}
|
|
334
|
+
async function showCheckList_numeric(self, tvs, div) {
|
|
335
|
+
if (!tvs.term.values) {
|
|
336
|
+
return;
|
|
337
|
+
}
|
|
338
|
+
const values = await self.opts.vocabApi.getNumericUncomputableCategories(tvs.term, self.filter);
|
|
339
|
+
const unannotated_cats = [];
|
|
340
|
+
const lst = values?.lst || values;
|
|
341
|
+
for (const cat of lst) {
|
|
342
|
+
const key = "key" in cat ? cat.key : cat.value;
|
|
343
|
+
if (!("key" in cat)) cat.key = key;
|
|
344
|
+
if (!("value" in cat)) cat.value = key;
|
|
345
|
+
if (key in tvs.term.values) {
|
|
346
|
+
cat.label = tvs.term.values[key].label;
|
|
347
|
+
unannotated_cats.push(cat);
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
const sortedVals = unannotated_cats.sort((a, b) => {
|
|
351
|
+
return b.samplecount - a.samplecount;
|
|
352
|
+
});
|
|
353
|
+
const unanno_div = div.append("div").style("padding", "5px").style("color", "#000");
|
|
354
|
+
const callback = (indexes) => {
|
|
355
|
+
try {
|
|
356
|
+
const new_tvs = JSON.parse(JSON.stringify(tvs));
|
|
357
|
+
delete new_tvs.groupset_label;
|
|
358
|
+
new_tvs.ranges = [
|
|
359
|
+
...new_tvs.ranges.filter((r) => !("value" in r)),
|
|
360
|
+
...indexes.map((i) => ({ value: sortedVals[i].value, label: sortedVals[i].label }))
|
|
361
|
+
];
|
|
362
|
+
self.dom.tip.hide();
|
|
363
|
+
if (new_tvs.ranges.length == 0) throw "select at least one range or category";
|
|
364
|
+
if (JSON.parse(JSON.stringify(tvs) != new_tvs)) {
|
|
365
|
+
try {
|
|
366
|
+
validateNumericTvs(new_tvs);
|
|
367
|
+
} catch (e) {
|
|
368
|
+
window.alert(e);
|
|
369
|
+
return;
|
|
370
|
+
}
|
|
371
|
+
self.opts.callback(new_tvs);
|
|
372
|
+
}
|
|
373
|
+
} catch (e) {
|
|
374
|
+
window.alert(e);
|
|
375
|
+
}
|
|
376
|
+
};
|
|
377
|
+
const values_table = self.makeValueTable(unanno_div, tvs, sortedVals, callback).node();
|
|
378
|
+
}
|
|
379
|
+
function validateRangeInData(self, range) {
|
|
380
|
+
if (range.value != void 0) return;
|
|
381
|
+
const { min, max } = self.num_obj.density_data;
|
|
382
|
+
if (!Number.isFinite(min) || !Number.isFinite(max)) return;
|
|
383
|
+
const aboveMax = !range.startunbounded && (range.start > max || range.start == max && !range.startinclusive);
|
|
384
|
+
const belowMin = !range.stopunbounded && (range.stop < min || range.stop == min && !range.stopinclusive);
|
|
385
|
+
if (!aboveMax && !belowMin) return;
|
|
386
|
+
const sf = getValueConversionFactor(self.tvs.term);
|
|
387
|
+
const [minLabel, maxLabel] = [min, max].map((v) => roundValueAuto(v * sf));
|
|
388
|
+
throw `The range is outside of the data, which ranges from ${minLabel} to ${maxLabel}`;
|
|
389
|
+
}
|
|
390
|
+
function validateNumericTvs(tvs) {
|
|
391
|
+
if (!tvs.term) throw "tvs.term is not defined";
|
|
392
|
+
if (!tvs.ranges) throw `.values[] missing for a term ${tvs.term.name}`;
|
|
393
|
+
if (!Array.isArray(tvs.ranges)) throw `.values[] is not an array for a term ${tvs.term.name}`;
|
|
394
|
+
if (!tvs.ranges.length) throw `no categories selected for ${tvs.term.name}`;
|
|
395
|
+
for (const range of tvs.ranges) {
|
|
396
|
+
if (range.value != void 0) {
|
|
397
|
+
if (!range.label) throw `.label missing for special category for a term ${tvs.term.name}`;
|
|
398
|
+
} else {
|
|
399
|
+
if (range.startunbounded) {
|
|
400
|
+
if (range.stopunbounded) throw `both start & stop are unbounded for a term ${tvs.term.name}`;
|
|
401
|
+
if (!Number.isFinite(range.stop)) throw `.stop undefined when start is unbounded for a term ${tvs.term.name}`;
|
|
402
|
+
} else if (range.stopunbounded) {
|
|
403
|
+
if (!Number.isFinite(range.start)) throw `.start undefined when stop is unbounded for a term ${tvs.term.name}`;
|
|
404
|
+
} else {
|
|
405
|
+
if (!Number.isFinite(range.start))
|
|
406
|
+
throw `.start undefined when start is not unbounded for a term ${tvs.term.name}`;
|
|
407
|
+
if (!Number.isFinite(range.stop)) throw `.stop undefined when stop is not unbounded for a term ${tvs.term.name}`;
|
|
408
|
+
if (range.start >= range.stop) throw `.start is not lower than stop for a term ${tvs.term.name}`;
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
export {
|
|
415
|
+
handler,
|
|
416
|
+
format_val_text
|
|
417
|
+
};
|
|
418
|
+
//# sourceMappingURL=chunk-CSYXTB7F.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../filter/tvs.numeric.js"],
|
|
4
|
+
"sourcesContent": ["import { escapeHtml } from '#dom'\nimport { select } from 'd3-selection'\nimport { scaleLinear } from 'd3'\nimport { addBrushes, addNewBrush } from './tvs.density'\nimport { NumericRangeInput } from '#dom/numericRangeInput'\nimport { convertUnits, getValueConversionFactor } from '#shared/helpers.js'\nimport { violinRenderer } from '../dom/violinRenderer'\nimport { niceNumLabels } from '../dom/niceNumLabels.ts'\nimport { roundValueAuto } from '#shared/roundValue.js'\n\n/*\n********************** EXPORTED\nhandler:\n\t// internal functions as part of handler\n\tterm_name_gen()\n\tget_pill_label()\n\t\tformat_val_text()\n\t\tmafDepthText()\n\tgetSelectRemovePos()\n\tfillMenu()\n\tsetTvsDefaults()\n\n********************** INTERNAL\naddRangeTableNoDensity() // for terms without desnity table, show brushes but without density_plot on blank svg\naddRangeTable() // add table for existing ranges or start with empty_range with brush in center \nenterRange() // add row for each range, for existing readonly and for new or edit, show inputs\nmakeRangeButtons() // add buttons for Apply / DELETE \nmergeOverlapRanges() // when Apply is pressed, check if ranges are overlapping, if so, merge them\nshowCheckList_numeric() // so checklist of uncomputable values\nvalidateRangeInData() // reject a typed range that does not overlap the data range of the density plot\nvalidateNumericTvs() // validate tvs before sending it to callback\n\n*/\n\nexport const handler = {\n\ttype: 'numeric',\n\tterm_name_gen,\n\tget_pill_label,\n\tgetSelectRemovePos,\n\tfillMenu,\n\tsetTvsDefaults\n}\n\nfunction term_name_gen(d) {\n\tconst name = d.term.name\n\treturn name.length < 26\n\t\t? escapeHtml(name)\n\t\t: '<label title=\"' + escapeHtml(name) + '\">' + escapeHtml(name.substring(0, 24)) + '...' + '</label>'\n}\n\nfunction get_pill_label(tvs) {\n\tif (tvs.ranges.length == 1) {\n\t\tconst v = tvs.ranges[0]\n\t\tif ('value' in v) {\n\t\t\t// category\n\t\t\tif (v.label) return { txt: escapeHtml(v.label) }\n\t\t\tif (tvs.term.values && tvs.term.values[v.value] && tvs.term.values[v.value].label)\n\t\t\t\treturn { txt: escapeHtml(tvs.term.values[v.value].label) }\n\t\t\tconsole.error(`key \"${v.value}\" not found in values{} of ${tvs.term.name}`)\n\t\t\treturn { txt: escapeHtml(v.value) }\n\t\t}\n\t\t// numeric range\n\t\treturn { txt: format_val_text(v, tvs.term) + mafDepthText(tvs) }\n\t}\n\t// multiple\n\treturn { txt: tvs.ranges.length + ' intervals' + mafDepthText(tvs) }\n}\n\n/* a maf-mode tvs may also gate samples on total read depth; the range text alone does not show it.\nreturns '' when no cutoff is set, and for any other tvs: 'totalDepth'/'altDepth' filter on depth with\ntheir own range, and minAllelicDepth has no effect on a 'value' term */\nfunction mafDepthText(tvs) {\n\tif (tvs.term.mafFilterMode != 'maf') return ''\n\tif (!Number.isFinite(tvs.minAllelicDepth) || tvs.minAllelicDepth < 1) return ''\n\treturn `, Total depth ≥ ${tvs.minAllelicDepth}`\n}\n\nexport function format_val_text(range, term) {\n\tconst x = '<span style=\"font-family:Times;font-style:italic;font-size:1em; vertical-align:top\">x</span>'\n\tif (range.startunbounded && range.stopunbounded) {\n\t\tconst inf = (sign = '') =>\n\t\t\t`<span style='vertical-align: middle; font-size:1.1em; line-height: 0.9em'>${sign}\u221E</span>`\n\t\tconst lt = `<span style='vertical-align: top; font-size: 0.9em'><</span>`\n\t\treturn `<span>${inf('\uFE63')} ${lt} ${x} ${lt} ${inf('\uFE62')}</span>`\n\t}\n\n\t/* logic about value converting:\n\tif term.valueConversion is present, will convert e.g. from day to years. this takes higher priority\n\telse, if range is one-sided, return as is\n\telse, apply nice method to adjust digits. this requires a start-stop range\n\t*/\n\n\tconst vc = term.valueConversion\n\n\tif (range.startunbounded)\n\t\treturn `${x} ${range.stopinclusive ? '≤' : '<'} ${\n\t\t\tvc ? convertUnits(range.stop, vc.fromUnit, vc.toUnit, vc.scaleFactor) : range.stop\n\t\t}`\n\n\tif (range.stopunbounded)\n\t\treturn `${x} ${range.startinclusive ? '≥' : '>'} ${\n\t\t\tvc ? convertUnits(range.start, vc.fromUnit, vc.toUnit, vc.scaleFactor) : range.start\n\t\t}`\n\n\t// range is not unbounded and can apply nice method if there's no vc\n\n\tlet startName, stopName\n\tif (vc) {\n\t\tstartName = convertUnits(range.start, vc.fromUnit, vc.toUnit, vc.scaleFactor)\n\t\tstopName = convertUnits(range.stop, vc.fromUnit, vc.toUnit, vc.scaleFactor)\n\t} else {\n\t\t//Rms excessive number of decimals\n\t\t;[startName, stopName] = niceNumLabels([range.start, range.stop])\n\t}\n\n\treturn `${startName} \n\t\t\t${range.startinclusive ? '≤' : '<'}\n\t\t\t${x}\n\t\t\t${range.stopinclusive ? '≤' : '<'}\n\t\t\t${stopName}`\n}\n\nfunction getSelectRemovePos(j, tvs) {\n\treturn j - tvs.ranges.slice(0, j).filter(a => a.start || a.stop).length\n}\n\nasync function fillMenu(self, div, tvs) {\n\t//numerical range div\n\tconst num_parent_div = div.append('div')\n\tself.num_obj = {}\n\n\tself.num_obj.num_div = num_parent_div\n\t\t.append('div')\n\t\t.attr('class', 'num_div')\n\t\t.style('padding', '5px')\n\t\t.style('color', '#000')\n\n\tself.num_obj.plot_size = {\n\t\twidth: 450,\n\t\theight: 100,\n\t\txpad: 10,\n\t\typad: 20,\n\t\tradius: 8\n\t}\n\n\tif (typeof self.opts.vocabApi.getViolinBox == 'function') {\n\t\ttry {\n\t\t\tconst data = await self.opts.vocabApi.getViolinBox(\n\t\t\t\t{\n\t\t\t\t\tplotType: 'violin',\n\t\t\t\t\ttw: { term: tvs.term, q: { mode: 'continuous' } },\n\t\t\t\t\t// must supply this filter and override state filter in function, so the density plot will not be limited to range defined by current numeric tvs but will show whole range\n\t\t\t\t\tfilter: self.filter,\n\t\t\t\t\tsvgw: self.num_obj.plot_size.width,\n\t\t\t\t\tradius: self.num_obj.plot_size.radius\n\t\t\t\t},\n\t\t\t\tself.opts.getCategoriesArguments\n\t\t\t)\n\t\t\tif (data.error) throw data.error\n\t\t\tif (data.max === null && data.min === null) {\n\t\t\t\tthrow `No data available under current filter conditions.`\n\t\t\t}\n\t\t\tself.num_obj.density_data = data\n\t\t} catch (err) {\n\t\t\tthrow err\n\t\t}\n\t} else {\n\t\t// frontend vocab lacks this method, return no density data so ui will not show the plot\n\t\t// if the method is added to front vocab, the method must check if sample data is available for the front vocab;\n\t\t// if no sample data then return no density.\n\t\t// such is the case for INFO terms used for variant filtering\n\t\tself.num_obj.density_data = {}\n\t}\n\n\tif (self.num_obj.density_data.error) throw self.num_obj.density_data.error\n\n\tif (!self.num_obj.density_data.charts?.['']?.plots?.[0]?.density?.bins) {\n\t\t// no density data for this term (e.g. bcf numeric info field in a custom filter)\n\t\taddRangeTableNoDensity(self, tvs)\n\t\treturn\n\t}\n\n\tself.vr = new violinRenderer({\n\t\tholder: self.num_obj.num_div,\n\t\trd: self.num_obj.density_data,\n\t\twidth: self.num_obj.plot_size.width,\n\t\tradius: self.num_obj.plot_size.radius,\n\t\theight: self.num_obj.plot_size.height,\n\t\t// axis ticks are labeled in the term's user-facing unit, e.g. years and not days\n\t\tscaleFactor: getValueConversionFactor(tvs.term)\n\t})\n\tself.vr.render()\n\tself.num_obj.svg = self.vr.svg\n\n\tself.num_obj.range_table = self.num_obj.num_div\n\t\t.append('table')\n\t\t.style('table-layout', 'fixed')\n\t\t.style('border-collapse', 'collapse')\n\n\tconst ranges = []\n\n\tfor (const [index, range] of tvs.ranges.entries()) {\n\t\trange.index = index\n\t\tranges.push(range)\n\t}\n\t// add brush_g for tvs brushes\n\tself.num_obj.brush_g = self.vr.brushG.attr('class', 'brush_g')\n\n\tself.num_obj.xscale = self.vr.axisScale\n\n\tself.num_obj.ranges = ranges\n\tself.num_obj.brushes = []\n\taddBrushes(self)\n\taddRangeTable(self)\n\t// const add_range_btn = self.num_obj.num_div\n\t// \t.append('div')\n\t// \t.style('width', '100px')\n\t// \t.attr('class', 'add_range_btn sja_menuoption')\n\t// \t.style('border-radius', '13px')\n\t// \t.style('padding', '7px 6px')\n\t// \t.style('margin', '5px')\n\t// \t.style('margin-left', '20px')\n\t// \t.style('text-align', 'center')\n\t// \t.style('font-size', '.8em')\n\t// \t.text('Add a Range')\n\t// \t.on('click', () => {\n\t// \t\tconst callback = () => addRangeTable(self)\n\t// \t\taddNewBrush(self, ranges.length ? 'end' : 'center', callback)\n\t// \t})\n\n\tif (!ranges.length) {\n\t\tconst callback = () => addRangeTable(self)\n\t\taddNewBrush(self, 'center', callback)\n\t}\n\n\tself.num_obj.brushes.forEach(brush => brush.init())\n\tawait showCheckList_numeric(self, tvs, div)\n}\n\nfunction setTvsDefaults(tvs) {\n\tif (!tvs.ranges) tvs.ranges = []\n}\n\nfunction addRangeTableNoDensity(self, tvs) {\n\tconst termrange = tvs.term.range || {}\n\tconst range = tvs.ranges && tvs.ranges[0] ? tvs.ranges[0] : termrange\n\tconst num_div = self.num_obj.num_div\n\tnum_div.selectAll('*').remove()\n\n\tconst brush = {}\n\tconst holder = num_div.append('div').style('padding-left', '5px')\n\n\t// a maf filter term carries its mode, which determines the metric filtered and the inputs shown.\n\t// undefined for any other numeric term\n\tconst mafFilterMode = tvs.term.mafFilterMode\n\tif (mafFilterMode == 'maf' && tvs.term.child_ids?.length > 1) {\n\t\t// the fraction sums allele counts across several FORMAT fields (e.g. WGS and WES assays); the\n\t\t// term name alone does not say so\n\t\tconst ids = tvs.term.child_ids\n\t\tconst list = ids.slice(0, -1).join(', ') + ' and ' + ids[ids.length - 1]\n\t\tholder\n\t\t\t.append('div')\n\t\t\t.style('margin-bottom', '8px')\n\t\t\t.style('font-size', '.9em')\n\t\t\t.style('opacity', 0.7)\n\t\t\t.text(`MAF is computed by summing allelic depths from ${list}`)\n\t}\n\n\tconst rangeRow = holder\n\t\t.append('div')\n\t\t.style('display', 'flex')\n\t\t.style('align-items', 'center')\n\t\t.style('column-gap', '5px')\n\tconst rangeLabel = rangeRow.append('span')\n\tbrush.equation_div = rangeRow.append('div')\n\tbrush.rangeInput = new NumericRangeInput(brush.equation_div, range, () => {}, {\n\t\twidth: '125px',\n\t\tscaleFactor: getValueConversionFactor(tvs.term),\n\t\t// without a density plot, the term's declared bounds are the only check of a typed range\n\t\tmin: tvs.term.min,\n\t\tmax: tvs.term.max\n\t})\n\n\tif (mafFilterMode == 'maf') {\n\t\t// maf filter tvs\n\t\t// render maf range input and min allelic depth input\n\t\trangeLabel.text('MAF Range (0-1)')\n\t\tconst depthRow = holder\n\t\t\t.append('div')\n\t\t\t.style('display', 'flex')\n\t\t\t.style('align-items', 'center')\n\t\t\t.style('column-gap', '5px')\n\t\t\t.style('margin-top', '5px')\n\t\tdepthRow.append('span').text('Minimum Total Depth')\n\t\tbrush.depthInput = depthRow\n\t\t\t.append('input')\n\t\t\t.attr('type', 'number')\n\t\t\t.attr('min', 1)\n\t\t\t.attr('step', 1)\n\t\t\t.style('width', '125px')\n\t\t\t// blank when no cutoff is set, so that it is not applied back as one, see clickApply()\n\t\t\t.property('value', Number.isFinite(tvs.minAllelicDepth) ? tvs.minAllelicDepth : '')\n\t\tbrush.apply_btn = addApplyButton(holder.append('div').style('margin-top', '10px'))\n\t} else if (mafFilterMode == 'value') {\n\t\t// any numerical FORMAT field read as-is; bounds come from the term's min/max, and no depth input\n\t\trangeLabel.text('Range')\n\t\tbrush.apply_btn = addApplyButton(rangeRow)\n\t} else if (mafFilterMode == 'totalDepth' || mafFilterMode == 'altDepth') {\n\t\t// allelic depth filter tvs; render an integer range input\n\t\trangeLabel.text(mafFilterMode == 'totalDepth' ? 'Total Depth' : 'Alt Allele Depth')\n\t\tbrush.apply_btn = addApplyButton(rangeRow)\n\t} else {\n\t\t// tvs is not part of maf filter\n\t\t// render range input\n\t\trangeLabel.text('Range')\n\t\tbrush.apply_btn = addApplyButton(rangeRow)\n\t}\n\n\t// a maf filter term opens with the range input focused, so a cutoff can be typed right away\n\tif (mafFilterMode) brush.rangeInput.getInput().node().focus()\n\n\tfunction addApplyButton(holder) {\n\t\treturn holder.append('button').text('Apply').on('click', clickApply)\n\t}\n\n\tfunction clickApply() {\n\t\tconst r = brush.rangeInput.getRange()\n\t\tif (!Number.isFinite(r.start) && !Number.isFinite(r.stop)) {\n\t\t\twindow.alert('Invalid range.')\n\t\t\treturn\n\t\t}\n\t\tconst new_tvs = { term: tvs.term, ranges: [r] }\n\t\tif (brush.depthInput) {\n\t\t\t/* the depth input is optional: a blank input leaves minAllelicDepth out, rather than storing\n\t\t\tthe depth of 1 that getMetricFromAlleleCnts() defaults to, which would then fill the input\n\t\t\tback in as a cutoff on the next edit of this tvs */\n\t\t\tconst str = brush.depthInput.property('value').trim()\n\t\t\tif (str) {\n\t\t\t\tconst minAllelicDepth = Number(str)\n\t\t\t\tif (!Number.isFinite(minAllelicDepth)) {\n\t\t\t\t\twindow.alert('Minimum allelic depth must be a numeric value.')\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tnew_tvs.minAllelicDepth = Math.max(minAllelicDepth, 1)\n\t\t\t}\n\t\t}\n\t\tself.dom.tip.hide()\n\t\tself.opts.callback(new_tvs)\n\t}\n}\n\nfunction addRangeTable(self) {\n\tconst brushes = self.num_obj.brushes\n\n\tconst range_divs = self.num_obj.range_table.selectAll('.range_div').data(brushes) //, d => brushes.indexOf(d))\n\n\trange_divs.exit().each(function () {\n\t\tselect(this).style('opacity', 1).transition().duration(100).style('opacity', 0).remove()\n\t})\n\n\trange_divs\n\t\t.enter()\n\t\t.append('tr')\n\t\t.attr('class', 'range_div')\n\t\t.style('white-space', 'nowrap')\n\t\t.style('padding', '2px')\n\t\t.transition()\n\t\t.duration(200)\n\t\t.each(function (brush, i) {\n\t\t\tenterRange(self, this, brush, i)\n\t\t})\n}\n\nfunction enterRange(self, tr, brush, i) {\n\tif (!brush.range_tr) brush.range_tr = select(tr)\n\tconst range_tr = brush.range_tr\n\tconst xscale = self.num_obj.xscale\n\n\trange_tr\n\t\t.append('td')\n\t\t.style('margin-left', '10px')\n\t\t.style('padding', '3px 10px')\n\t\t.style('font-size', '.9em')\n\t\t.text('Range ' + (i + 1) + ': ')\n\n\tbrush.equation_td = range_tr.append('td').style('width', '150px')\n\t// brush.range stays in the unit the term's values are stored in; only the <input> text is converted\n\tbrush.rangeInput = new NumericRangeInput(brush.equation_td, brush.range, apply, {\n\t\tscaleFactor: getValueConversionFactor(self.tvs.term)\n\t})\n\n\tmakeRangeButtons(self, brush)\n\t// note for empty range\n\tif (i == 0) {\n\t\tself.num_obj.range_table\n\t\t\t.append('tr')\n\t\t\t.attr('class', 'note_tr')\n\t\t\t.append('td')\n\t\t\t.attr('colspan', '3')\n\t\t\t.append('div')\n\t\t\t.style('font-size', '.8em')\n\t\t\t.style('margin-left', '20px')\n\t\t\t.style('font-style', 'italic')\n\t\t\t.style('color', '#888')\n\t\t\t.html('Option 1: Drag the rectangle to select a range. Overlapping ranges will be merged.')\n\t}\n\n\t// A note showing there is also the option to type values to select range\n\tif (i == 0) {\n\t\tself.num_obj.range_table\n\t\t\t.append('tr')\n\t\t\t.attr('class', 'note_tr')\n\t\t\t.append('td')\n\t\t\t.attr('colspan', '3')\n\t\t\t.append('div')\n\t\t\t.style('font-size', '.8em')\n\t\t\t.style('margin-left', '20px')\n\t\t\t.style('font-style', 'italic')\n\t\t\t.style('color', '#888')\n\t\t\t.html(\n\t\t\t\t`Option 2: Type in values to select a range.${\n\t\t\t\t\tself.tvs.term.valueConversion ? ` Values are in the unit of ${self.tvs.term.valueConversion.toUnit}.` : ''\n\t\t\t\t}`\n\t\t\t)\n\t}\n\n\t/* called by brush.rangeInput.parseRange() on an input change or on clicking Apply, and a thrown\n\terror is alerted by the caller */\n\tfunction apply(new_range) {\n\t\tconst minvalue = self.num_obj.density_data.min\n\t\tconst maxvalue = self.num_obj.density_data.max\n\t\tvalidateRangeInData(self, new_range)\n\t\tbrush.range = new_range\n\n\t\tconst start =\n\t\t\tnew_range.value != undefined ? new_range.value : new_range.start != undefined ? new_range.start : minvalue\n\t\tconst stop =\n\t\t\tnew_range.value != undefined ? new_range.value : new_range.stop != undefined ? new_range.stop : maxvalue\n\t\t// a typed bound beyond the data would place the brush outside of the plot; clamp to the plot.\n\t\t// the brush handler keeps such a bound as typed in the input text, see updateTempRanges()\n\t\tconst clamp = v => Math.min(Math.max(v, minvalue), maxvalue)\n\t\tbrush.elem.call(brush.d3brush).call(brush.d3brush.move, [clamp(start), clamp(stop)].map(xscale))\n\t}\n\n\tfunction makeRangeButtons(self, brush) {\n\t\tconst buttons_td = brush.range_tr.append('td')\n\t\tconst range = brush.range\n\n\t\t//'Apply' button\n\t\tbrush.apply_btn = buttons_td\n\t\t\t.append('button')\n\t\t\t.style('margin-left', '10px')\n\t\t\t.text('Apply')\n\t\t\t.attr('data-testid', 'sjpp-tvsnumeric-range-apply')\n\n\t\t\t.on('click', async () => {\n\t\t\t\ttry {\n\t\t\t\t\t// throws on unparsable text, or on a range that apply() rejects, since the input\n\t\t\t\t\t// keeps a rejected range as typed\n\t\t\t\t\tconst new_range = brush.rangeInput.parseRange()\n\t\t\t\t\tconst new_tvs = JSON.parse(JSON.stringify(self.tvs))\n\t\t\t\t\tdelete new_tvs.groupset_label\n\t\t\t\t\t// merge overlapping ranges\n\t\t\t\t\tif (self.num_obj.ranges.length > 1) new_tvs.ranges = mergeOverlapRanges(self, new_range)\n\t\t\t\t\telse new_tvs.ranges[range.index] = new_range\n\t\t\t\t\tvalidateNumericTvs(new_tvs)\n\t\t\t\t\tself.dom.tip.hide()\n\t\t\t\t\tself.opts.callback(new_tvs)\n\t\t\t\t} catch (ex) {\n\t\t\t\t\talert(ex)\n\t\t\t\t}\n\t\t\t})\n\n\t\t//'Delete' button\n\t\tbuttons_td\n\t\t\t.append('button')\n\t\t\t.attr('class', 'sja_filter_tag_btn sjpp_delete_btn')\n\t\t\t.style('display', self.num_obj.ranges.length > 1 ? 'inline-block' : 'none')\n\t\t\t.style('margin-left', '10px')\n\t\t\t.style('text-transform', 'uppercase')\n\t\t\t.text('Delete')\n\t\t\t.on('click', async () => {\n\t\t\t\tconst new_tvs = JSON.parse(JSON.stringify(self.tvs))\n\t\t\t\tnew_tvs.ranges.splice(range.index, 1)\n\t\t\t\tself.num_obj.ranges.pop()\n\t\t\t\tself.num_obj.brushes.pop()\n\t\t\t\tself.num_obj.num_div.select('.note_tr').remove()\n\t\t\t\taddBrushes(self)\n\t\t\t\taddRangeTable(self)\n\t\t\t\tif (new_tvs.ranges.length) self.opts.callback(new_tvs) //Remove the filter if no ranges\n\t\t\t})\n\t}\n}\n\nfunction mergeOverlapRanges(self, new_range) {\n\tlet ranges = JSON.parse(JSON.stringify(self.tvs.ranges))\n\tlet merged_flag = false\n\tfor (const [i, range] of ranges.entries()) {\n\t\t// skip unannotated categories and same range edits\n\t\tif (!range.value && new_range.index != i) {\n\t\t\tif (new_range.start <= range.start && new_range.stop >= range.stop) {\n\t\t\t\t// if new range is covering any existing range\n\t\t\t\trange.start = new_range.start\n\t\t\t\trange.stop = new_range.stop\n\t\t\t\tmerged_flag = true\n\t\t\t} else if (new_range.start <= range.stop && new_range.stop >= range.stop) {\n\t\t\t\t// if overlapping only at start of new range\n\t\t\t\trange.stop = new_range.stop\n\t\t\t\tmerged_flag = true\n\t\t\t} else if (new_range.stop >= range.start && new_range.start <= range.start) {\n\t\t\t\t// if overlapping only at end of new range\n\t\t\t\trange.start = new_range.start\n\t\t\t\tmerged_flag = true\n\t\t\t} else if (new_range.start >= range.start && new_range.stop <= range.stop) {\n\t\t\t\t//new_range is covered by existing range\n\t\t\t\tmerged_flag = true\n\t\t\t} else if (new_range.startunbounded) {\n\t\t\t\tif (new_range.stop > range.stop) {\n\t\t\t\t\t// if new_range is startunbounded and covering existing range\n\t\t\t\t\trange.stop = new_range.stop\n\t\t\t\t}\n\t\t\t\tdelete range.start\n\t\t\t\trange.startunbounded = true\n\t\t\t\tmerged_flag = true\n\t\t\t} else if (new_range.stopunbounded) {\n\t\t\t\tif (new_range.start < range.start) {\n\t\t\t\t\t// if new_range is stopunbounded and covering existing range\n\t\t\t\t\trange.start = new_range.start\n\t\t\t\t}\n\t\t\t\tdelete range.stop\n\t\t\t\trange.stopunbounded = true\n\t\t\t\tmerged_flag = true\n\t\t\t}\n\t\t}\n\t}\n\n\tif (merged_flag) {\n\t\t// if overlapped and existing range merged then remove existing merged range\n\t\tif (new_range.index <= ranges.length - 1) ranges.splice(new_range.index, 1)\n\t} else {\n\t\t//if not overlapped then add to ranges[]\n\t\tranges = JSON.parse(JSON.stringify(self.tvs.ranges))\n\t\tif (new_range.index) ranges[new_range.index] = new_range\n\t\telse ranges.push(new_range)\n\t}\n\treturn ranges\n}\n\nasync function showCheckList_numeric(self, tvs, div) {\n\tif (!tvs.term.values) {\n\t\t// no special categories available for this term\n\t\treturn\n\t}\n\t// numerical checkbox for unannotated cats\n\tconst values = await self.opts.vocabApi.getNumericUncomputableCategories(tvs.term, self.filter)\n\tconst unannotated_cats = []\n\tconst lst = values?.lst || values\n\tfor (const cat of lst) {\n\t\tconst key = 'key' in cat ? cat.key : cat.value\n\t\tif (!('key' in cat)) cat.key = key\n\t\tif (!('value' in cat)) cat.value = key\n\t\tif (key in tvs.term.values) {\n\t\t\tcat.label = tvs.term.values[key].label\n\t\t\tunannotated_cats.push(cat)\n\t\t}\n\t}\n\n\tconst sortedVals = unannotated_cats.sort((a, b) => {\n\t\treturn b.samplecount - a.samplecount\n\t})\n\n\t// other categories div\t(only appear if unannotated categories present)\n\tconst unanno_div = div.append('div').style('padding', '5px').style('color', '#000')\n\n\t// 'Apply' button\n\tconst callback = indexes => {\n\t\t//update term values by ckeckbox values\n\t\ttry {\n\t\t\tconst new_tvs = JSON.parse(JSON.stringify(tvs))\n\t\t\tdelete new_tvs.groupset_label\n\t\t\tnew_tvs.ranges = [\n\t\t\t\t...new_tvs.ranges.filter(r => !('value' in r)),\n\t\t\t\t...indexes.map(i => ({ value: sortedVals[i].value, label: sortedVals[i].label }))\n\t\t\t]\n\t\t\tself.dom.tip.hide()\n\t\t\tif (new_tvs.ranges.length == 0) throw 'select at least one range or category'\n\t\t\t//callback only if tvs is changed\n\t\t\tif (JSON.parse(JSON.stringify(tvs) != new_tvs)) {\n\t\t\t\ttry {\n\t\t\t\t\tvalidateNumericTvs(new_tvs)\n\t\t\t\t} catch (e) {\n\t\t\t\t\twindow.alert(e)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tself.opts.callback(new_tvs)\n\t\t\t}\n\t\t} catch (e) {\n\t\t\twindow.alert(e)\n\t\t}\n\t}\n\n\tconst values_table = self.makeValueTable(unanno_div, tvs, sortedVals, callback).node()\n}\n\n/* a range typed outside of the density plot would select no sample, e.g. x>100 when the data max is 50,\nand would invert the brush selection. only reject a range that has no overlap with the data, as a\npartial overlap still selects samples, and its brush is clamped to the plot */\nfunction validateRangeInData(self, range) {\n\tif (range.value != undefined) return // a single value or special category\n\tconst { min, max } = self.num_obj.density_data\n\tif (!Number.isFinite(min) || !Number.isFinite(max)) return\n\tconst aboveMax = !range.startunbounded && (range.start > max || (range.start == max && !range.startinclusive))\n\tconst belowMin = !range.stopunbounded && (range.stop < min || (range.stop == min && !range.stopinclusive))\n\tif (!aboveMax && !belowMin) return\n\t// the message is in the unit shown to users, same as the input text\n\tconst sf = getValueConversionFactor(self.tvs.term)\n\tconst [minLabel, maxLabel] = [min, max].map(v => roundValueAuto(v * sf))\n\tthrow `The range is outside of the data, which ranges from ${minLabel} to ${maxLabel}`\n}\n\nfunction validateNumericTvs(tvs) {\n\tif (!tvs.term) throw 'tvs.term is not defined'\n\tif (!tvs.ranges) throw `.values[] missing for a term ${tvs.term.name}`\n\tif (!Array.isArray(tvs.ranges)) throw `.values[] is not an array for a term ${tvs.term.name}`\n\tif (!tvs.ranges.length) throw `no categories selected for ${tvs.term.name}`\n\tfor (const range of tvs.ranges) {\n\t\tif (range.value != undefined) {\n\t\t\t// a special category, not a value from numerical range\n\t\t\tif (!range.label) throw `.label missing for special category for a term ${tvs.term.name}`\n\t\t} else {\n\t\t\t// a regular range\n\t\t\tif (range.startunbounded) {\n\t\t\t\tif (range.stopunbounded) throw `both start & stop are unbounded for a term ${tvs.term.name}`\n\t\t\t\tif (!Number.isFinite(range.stop)) throw `.stop undefined when start is unbounded for a term ${tvs.term.name}`\n\t\t\t} else if (range.stopunbounded) {\n\t\t\t\tif (!Number.isFinite(range.start)) throw `.start undefined when stop is unbounded for a term ${tvs.term.name}`\n\t\t\t} else {\n\t\t\t\tif (!Number.isFinite(range.start))\n\t\t\t\t\tthrow `.start undefined when start is not unbounded for a term ${tvs.term.name}`\n\t\t\t\tif (!Number.isFinite(range.stop)) throw `.stop undefined when stop is not unbounded for a term ${tvs.term.name}`\n\t\t\t\tif (range.start >= range.stop) throw `.start is not lower than stop for a term ${tvs.term.name}`\n\t\t\t}\n\t\t}\n\t}\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["holder", "self", "brush"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import {
|
|
2
|
+
colorinframe
|
|
3
|
+
} from "./chunk-4ASBDE27.js";
|
|
4
|
+
import {
|
|
5
|
+
IN_frame,
|
|
6
|
+
OUT_frame
|
|
7
|
+
} from "./chunk-WJLRU5OF.js";
|
|
8
|
+
|
|
9
|
+
// src/spliceevent.phrase.js
|
|
10
|
+
function spliceevent_phrase_default(evt) {
|
|
11
|
+
const htmls = [];
|
|
12
|
+
if (evt.isaltexon || evt.isskipexon) {
|
|
13
|
+
const exonstart = Math.min(...evt.skippedexon);
|
|
14
|
+
const exonstop = Math.max(...evt.skippedexon);
|
|
15
|
+
htmls.push(
|
|
16
|
+
'<div style="display:inline-block">' + (exonstart == exonstop ? "exon " + (exonstart + 1) : "exons " + (exonstart + 1) + "-" + (exonstop + 1)) + " " + (evt.isaltexon ? "alternative usage" : "skipping") + "</div>"
|
|
17
|
+
);
|
|
18
|
+
if (evt.isaltexon) {
|
|
19
|
+
htmls.push(
|
|
20
|
+
"<div class=sja_tinylogo_body>" + evt.gmB.isoform + ", " + evt.gmA.isoform + "</div><div class=sja_tinylogo_head>ISOFORMS</div>"
|
|
21
|
+
);
|
|
22
|
+
} else {
|
|
23
|
+
htmls.push("<div class=sja_tinylogo_body>" + evt.gm.isoform + "</div><div class=sja_tinylogo_head>ISOFORM</div>");
|
|
24
|
+
}
|
|
25
|
+
if (evt.junctionB.data) {
|
|
26
|
+
htmls.push(
|
|
27
|
+
"<div class=sja_tinylogo_body>" + evt.junctionB.data.length + "</div><div class=sja_tinylogo_head>SAMPLE" + (evt.junctionB.data.length > 1 ? "S" : "") + "</div>"
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
htmls.push("<div class=sja_tinylogo_body>" + evt.percentage + " %</div><div class=sja_tinylogo_head>PERCENT</div>");
|
|
31
|
+
if (evt.framenocheck) {
|
|
32
|
+
if (evt.utr3) {
|
|
33
|
+
htmls.push(`<div class=sja_tinylogo_body style="background-color:#ededed">3' UTR</div>`);
|
|
34
|
+
} else if (evt.utr5) {
|
|
35
|
+
htmls.push(`<div class=sja_tinylogo_body style="background-color:#ededed">5' UTR</div>`);
|
|
36
|
+
}
|
|
37
|
+
} else if (evt.frame == IN_frame) {
|
|
38
|
+
htmls.push(
|
|
39
|
+
'<div class=sja_tinylogo_body style="background-color:' + colorinframe + ';color:white">IN</div><div class=sja_tinylogo_head>FRAME</div>'
|
|
40
|
+
);
|
|
41
|
+
} else if (evt.frame == OUT_frame) {
|
|
42
|
+
htmls.push("<div class=sja_tinylogo_body>OUT</div><div class=sja_tinylogo_head>FRAME</div>");
|
|
43
|
+
} else {
|
|
44
|
+
htmls.push("<div class=sja_tinylogo_body>?</div><div class=sja_tinylogo_head>FRAME</div>");
|
|
45
|
+
}
|
|
46
|
+
} else {
|
|
47
|
+
return "unknown event type!!";
|
|
48
|
+
}
|
|
49
|
+
return htmls.join(" ");
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export {
|
|
53
|
+
spliceevent_phrase_default
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=chunk-DFKTWNCC.js.map
|