@sjcrh/proteinpaint-client 2.185.0 → 2.186.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-F5QNP7AQ.js +1371 -0
- package/dist/AIProjectAdmin-ROSQHK6Q.js +827 -0
- package/dist/AIProjectAdmin-ROSQHK6Q.js.map +7 -0
- package/dist/AppHeader-STVCDLET.js +833 -0
- package/dist/BoxPlot-CU7MEBH7.js +1217 -0
- package/dist/CorrelationVolcano-OE4R2GS3.js +617 -0
- package/dist/DE-SR7PJPKI.js +93 -0
- package/dist/DEinput-PRIAIBFH.js +299 -0
- package/dist/DEinput-PRIAIBFH.js.map +7 -0
- package/dist/DifferentialAnalysis-UWTYK7NU.js +241 -0
- package/dist/Disco-IL6REGSA.js +3235 -0
- package/dist/Disco.UI-JHHLS5BA.js +242 -0
- package/dist/DmrPlot-DDP53T3F.js +640 -0
- package/dist/GB-F4LMYMHF.js +1127 -0
- package/dist/GB-F4LMYMHF.js.map +7 -0
- package/dist/GeneExpInput-ZWBC226P.js +363 -0
- package/dist/GeneExpInput-ZWBC226P.js.map +7 -0
- package/dist/HicApp-RVFHTYED.js +2248 -0
- package/dist/NumBinaryEditor-B3FXQAOH.js +268 -0
- package/dist/NumBinaryEditor.unit.spec-75YQJ2U6.js +284 -0
- package/dist/NumContEditor-5PYW3OLY.js +105 -0
- package/dist/NumContEditor.unit.spec-F7ZRDGBN.js +167 -0
- package/dist/NumCustomBinEditor-TBT6GLYQ.js +36 -0
- package/dist/NumCustomBinEditor.unit.spec-6YHU45XV.js +282 -0
- package/dist/NumDiscreteEditor-N6OJYSJA.js +177 -0
- package/dist/NumDiscreteEditor.unit.spec-HQS5RZ6R.js +200 -0
- package/dist/NumRegularBinEditor-HSDDKVNG.js +36 -0
- package/dist/NumRegularBinEditor.unit.spec-33KN2MVM.js +225 -0
- package/dist/NumSplineEditor-XERKOACS.js +190 -0
- package/dist/NumSplineEditor.unit.spec-MPVM6KSC.js +197 -0
- package/dist/NumericDensity-35EKYW3V.js +36 -0
- package/dist/NumericDensity.unit.spec-OR24PPRJ.js +219 -0
- package/dist/NumericHandler-D6ZNGRE3.js +37 -0
- package/dist/NumericHandler.unit.spec-EKPGVSXI.js +217 -0
- package/dist/RunChart2-7DOXOFXV.js +756 -0
- package/dist/SC-APZRV4H6.js +826 -0
- package/dist/SC-APZRV4H6.js.map +7 -0
- package/dist/Volcano-X4ZWK644.js +1344 -0
- package/dist/Volcano-X4ZWK644.js.map +7 -0
- package/dist/WSIViewer-E247ELKN.js +47971 -0
- package/dist/WsiSamplesPlot-3522VRB5.js +163 -0
- package/dist/adSandbox-IDFY5P2P.js +36 -0
- package/dist/alphaGenome-F3W7GJQ5.js +173 -0
- package/dist/app-2HDSFMRM.js +47 -0
- package/dist/app-LIWPFL7C.js +35 -0
- package/dist/app.js +10 -10
- package/dist/bam-TBHHSATL.js +857 -0
- package/dist/barchart-HHFCBOZE.js +45 -0
- package/dist/barchart.events-UQUSSRXB.js +45 -0
- package/dist/barchart.integration.spec-OF3MWFQ5.js +1675 -0
- package/dist/barchart2-XRMPCBBU.js +309 -0
- package/dist/block-5UEORHFB.js +6200 -0
- package/dist/block.init-QSSFUVIT.js +36 -0
- package/dist/block.mds.expressionrank-VBIIJHQF.js +357 -0
- package/dist/block.mds.geneboxplot-KSBHXBNX.js +826 -0
- package/dist/block.mds.junction-FWZWMZJ2.js +1543 -0
- package/dist/block.mds.svcnv-UXORVLH2.js +6799 -0
- package/dist/block.svg-6KIGW4QH.js +162 -0
- package/dist/block.tk.aicheck-DK566Q4C.js +281 -0
- package/dist/block.tk.ase-2GB2VJJ6.js +363 -0
- package/dist/block.tk.bam-RQNOLY52.js +1904 -0
- package/dist/block.tk.bedgraphdot-N4YMZFO4.js +382 -0
- package/dist/block.tk.bigwig.ui-4S7L7D7D.js +209 -0
- package/dist/block.tk.hicstraw-AHFNQKCS.js +821 -0
- package/dist/block.tk.junction-7E6SNQMQ.js +2362 -0
- package/dist/block.tk.junction.textmatrixui-3C5JVYX5.js +197 -0
- package/dist/block.tk.ld-TOUCLT3W.js +97 -0
- package/dist/block.tk.menu-JCV5ORD6.js +1027 -0
- package/dist/block.tk.pgv-CUU22U6M.js +942 -0
- package/dist/brainImaging-MTQTXNNL.js +421 -0
- package/dist/chunk-2UYBBUXK.js +293 -0
- package/dist/chunk-2VPEFXEJ.js +4207 -0
- package/dist/chunk-2YC6ZVE4.js +20377 -0
- package/dist/chunk-2YC6ZVE4.js.map +7 -0
- package/dist/chunk-37MD3Y5G.js +1230 -0
- package/dist/chunk-37MD3Y5G.js.map +7 -0
- package/dist/chunk-3QHIL3V3.js +55 -0
- package/dist/chunk-44VXWKYJ.js +129 -0
- package/dist/chunk-52D6EGUS.js +95 -0
- package/dist/chunk-5FHM3L4I.js +102 -0
- package/dist/chunk-62TF2MCH.js +142 -0
- package/dist/chunk-67QM2NUK.js +6364 -0
- package/dist/chunk-6AAPHEWK.js +676 -0
- package/dist/chunk-6KPGMUHS.js +153 -0
- package/dist/chunk-6WBIZXNI.js +455 -0
- package/dist/chunk-7AAJVXEG.js +302 -0
- package/dist/chunk-AFJRAR4N.js +1271 -0
- package/dist/chunk-BBNO6JLO.js +200 -0
- package/dist/chunk-BBNO6JLO.js.map +7 -0
- package/dist/chunk-CVRYZMDE.js +148 -0
- package/dist/chunk-DGUTCYH2.js +276 -0
- package/dist/chunk-DHNXATHC.js +158 -0
- package/dist/chunk-DXHATYHE.js +180 -0
- package/dist/chunk-DXHATYHE.js.map +7 -0
- package/dist/chunk-E3BI23UK.js +229 -0
- package/dist/chunk-E4JDHA3C.js +621 -0
- package/dist/chunk-FOJWYEGV.js +228 -0
- package/dist/chunk-FTN7Y34O.js +158 -0
- package/dist/chunk-GAOUV4ID.js +1943 -0
- package/dist/chunk-GAOUV4ID.js.map +7 -0
- package/dist/chunk-GRG5MMPN.js +2815 -0
- package/dist/chunk-GSU4PZN3.js +482 -0
- package/dist/chunk-I55NLUCQ.js +1823 -0
- package/dist/chunk-I55NLUCQ.js.map +7 -0
- package/dist/chunk-IIRU2JLK.js +217 -0
- package/dist/chunk-JCB74ZSK.js +272 -0
- package/dist/chunk-JUDWPYMA.js +824 -0
- package/dist/chunk-KT6VZBC7.js +1087 -0
- package/dist/chunk-L2HBHFTK.js +2370 -0
- package/dist/chunk-LKADRF3Q.js +368 -0
- package/dist/chunk-MAXFRUGM.js +407 -0
- package/dist/chunk-MQN7RYCK.js +37 -0
- package/dist/chunk-OEUI4CYZ.js +470 -0
- package/dist/chunk-OM36XUQL.js +34 -0
- package/dist/chunk-P5LNIH5X.js +54 -0
- package/dist/chunk-PG62PRMF.js +102 -0
- package/dist/chunk-Q3J3F2NU.js +205 -0
- package/dist/chunk-RYCOJY7M.js +188 -0
- package/dist/chunk-RYCOJY7M.js.map +7 -0
- package/dist/chunk-RZBV6474.js +117 -0
- package/dist/chunk-T5V4OC27.js +442 -0
- package/dist/chunk-TXJG4N6S.js +4992 -0
- package/dist/chunk-TXJG4N6S.js.map +7 -0
- package/dist/chunk-UCKSUNSJ.js +335 -0
- package/dist/chunk-W4TLYHZO.js +514 -0
- package/dist/chunk-WPZUXKIB.js +56 -0
- package/dist/chunk-XM47XD6G.js +215 -0
- package/dist/chunk-XVA3UOWD.js +263 -0
- package/dist/chunk-XVA3UOWD.js.map +7 -0
- package/dist/chunk-YIMRBXQK.js +1210 -0
- package/dist/chunk-YIMRBXQK.js.map +7 -0
- package/dist/chunk-YL7VT4QT.js +1159 -0
- package/dist/chunk-YL7VT4QT.js.map +7 -0
- package/dist/chunk-YWBUK4B7.js +291 -0
- package/dist/chunk-YWBUK4B7.js.map +7 -0
- package/dist/chunk-YZHGLSKQ.js +50 -0
- package/dist/chunk-ZGOOZK3I.js +203 -0
- package/dist/chunk-ZH2VP6Q6.js +95 -0
- package/dist/chunk-ZLOQXO5K.js +14 -0
- package/dist/chunk-ZMNDBPJU.js +100 -0
- package/dist/chunk-ZRTW6X3F.js +2784 -0
- package/dist/chunk-ZTT52MBP.js +2681 -0
- package/dist/condition-VUACUQYF.js +330 -0
- package/dist/controls-N4MPSNO4.js +39 -0
- package/dist/controls.config-PRXVODCM.js +37 -0
- package/dist/correlation-QJZUYDFH.js +96 -0
- package/dist/cuminc-JJHXW55V.js +1147 -0
- package/dist/cuminc.integration.spec-IXS2UO2O.js +676 -0
- package/dist/customdata.inputui-DUHO6M6I.js +287 -0
- package/dist/dataDownload-OFB7TYDB.js +328 -0
- package/dist/dataDownload.integration.spec-4HWDQO4C.js +191 -0
- package/dist/databrowser.ui-FGZ5SWG3.js +430 -0
- package/dist/databrowser.ui-FGZ5SWG3.js.map +7 -0
- package/dist/dictionary-BSKN37CP.js +109 -0
- package/dist/dnaMethylation-5QNEEGC6.js +36 -0
- package/dist/dnaMethylation.integration.spec-YIX3JSA7.js +201 -0
- package/dist/dofetch-KFMGQY7G.js +50 -0
- package/dist/e2pca-VX42HDYZ.js +348 -0
- package/dist/ep-B6ZNETLI.js +1254 -0
- package/dist/expclust.gdc.spec-SGECIILQ.js +305 -0
- package/dist/facet-2W5SBPGP.js +519 -0
- package/dist/gb-67KTSE2W.js +86 -0
- package/dist/gb-67KTSE2W.js.map +7 -0
- package/dist/geneExpClustering-6A7364T5.js +247 -0
- package/dist/geneExpression-NAM2UEYN.js +36 -0
- package/dist/geneExpression-WF56ODMZ.js +312 -0
- package/dist/geneExpression.unit.spec-DNE2T3WI.js +100 -0
- package/dist/geneORA-33FK2YOS.js +276 -0
- package/dist/geneVariant-C7PCNBOQ.js +37 -0
- package/dist/geneVariant-REELFRRA.js +39 -0
- package/dist/geneVariant.integration.spec-GNXUGDKL.js +196 -0
- package/dist/genefusion.ui-WO5EPJDS.js +306 -0
- package/dist/geneset-4C6ZLVMN.js +201 -0
- package/dist/geneset-4C6ZLVMN.js.map +7 -0
- package/dist/genomeBrowser.spec-VPAKTUJF.js +279 -0
- package/dist/grin2-AJFEBD43.js +852 -0
- package/dist/grin2-AJFEBD43.js.map +7 -0
- package/dist/grin2-GYHUYNEF.js +1554 -0
- package/dist/gsea-PE5WZ5ZI.js +45 -0
- package/dist/hierCluster-FH6YJHRT.js +61 -0
- package/dist/hierCluster-IFM5I5QN.js +57 -0
- package/dist/hierCluster.config-M57ZIWMB.js +38 -0
- package/dist/hierCluster.integration.spec-Z64RL7MC.js +393 -0
- package/dist/hierCluster.interactivity-CDBAJXOY.js +52 -0
- package/dist/imagePlot-NFEE6IGV.js +161 -0
- package/dist/imagePlot-NFEE6IGV.js.map +7 -0
- package/dist/importPlot-OWKXSK77.js +8 -0
- package/dist/isoformExpression-66XLJG73.js +38 -0
- package/dist/isoformExpression.unit.spec-QJX2IRHL.js +206 -0
- package/dist/launch.adhoc-JCWID253.js +40 -0
- package/dist/leftlabel.sample-5NZ6VQDN.js +257 -0
- package/dist/lollipop-BPFDEM2R.js +169 -0
- package/dist/lollipop-BPFDEM2R.js.map +7 -0
- package/dist/maf-HIS2FQXK.js +450 -0
- package/dist/maftimeline-UPJJQE23.js +591 -0
- package/dist/matrix-62CN2KXR.js +56 -0
- package/dist/matrix-SPEDEB3J.js +61 -0
- package/dist/matrix.config-XB6WFXUY.js +39 -0
- package/dist/matrix.integration.spec-NN7OR5XM.js +3070 -0
- package/dist/matrix.interactivity-OWMHUJCX.js +40 -0
- package/dist/matrix.layout-27QB6MWK.js +42 -0
- package/dist/matrix.renderers-EPXES5E4.js +36 -0
- package/dist/matrix.sort.unit.spec-NBT5FSZ6.js +470 -0
- package/dist/matrix.sorterUi.unit.spec-QKGUE4RR.js +340 -0
- package/dist/mavb-M7Y74OWQ.js +730 -0
- package/dist/mds.fimo-WCDFA7HG.js +516 -0
- package/dist/mds.samplescatterplot-ZDHQ3MKJ.js +1548 -0
- package/dist/mds.survivalplot-R74DL2RA.js +481 -0
- package/dist/oncomatrix-MOITJBII.js +293 -0
- package/dist/oncomatrix.spec-NALJBPYS.js +446 -0
- package/dist/plot.2dvaf-IE2EZEFA.js +375 -0
- package/dist/plot.app-HTW6TZEH.js +39 -0
- package/dist/plot.barplot-NCQEPEOY.js +100 -0
- package/dist/plot.boxplot-WNKVBVJJ.js +150 -0
- package/dist/plot.brainImaging-2Z3TOO6J.js +51 -0
- package/dist/plot.disco-4JAEIAYK.js +101 -0
- package/dist/plot.dzi-ZGLOVJJN.js +33 -0
- package/dist/plot.ssgq-IHUILM43.js +137 -0
- package/dist/plot.vaf2cov-ZYCQMD27.js +257 -0
- package/dist/plot.wsi-3GISVBDH.js +36 -0
- package/dist/polar-4AUAZHBV.js +184 -0
- package/dist/polar2-SRD4WWXU.js +226 -0
- package/dist/profile.spec-TOITKBBZ.js +78 -0
- package/dist/profileBarchart-Z4SYIYBE.js +265 -0
- package/dist/profileForms-RA7XQ2QT.js +438 -0
- package/dist/profilePlot-4BM3XZVK.js +52 -0
- package/dist/profileRadar-EYBESEPI.js +261 -0
- package/dist/profileRadarFacility-FZYTFM26.js +261 -0
- package/dist/proteinView-F6XKT2A5.js +1122 -0
- package/dist/proteinView-F6XKT2A5.js.map +7 -0
- package/dist/proteomeAbundance-3RJMRXYI.js +68 -0
- package/dist/proteomeAbundance-3RJMRXYI.js.map +7 -0
- package/dist/proteomeAbundance-65R6M4YQ.js +21 -0
- package/dist/qualitative-E7WL6DN4.js +41 -0
- package/dist/radar2-I6FN5SUX.js +314 -0
- package/dist/radarFacility2-GVK7PT3V.js +323 -0
- package/dist/regression-TIR5D354.js +54 -0
- package/dist/regression.inputs-2AMJCJ3L.js +46 -0
- package/dist/regression.inputs.term-D6D2QEUB.js +46 -0
- package/dist/regression.inputs.values.table-M3IPLGDJ.js +43 -0
- package/dist/regression.integration.spec-ROUSXLMH.js +782 -0
- package/dist/regression.results-YD5S74YS.js +38 -0
- package/dist/regression.spec-4OXBBTNO.js +706 -0
- package/dist/report-ETNALKTY.js +220 -0
- package/dist/sampleScatter.spec-LECMFMI2.js +200 -0
- package/dist/sampleView-B5TM7JOW.js +46 -0
- package/dist/samplelst-GFQCG4SS.js +109 -0
- package/dist/samplematrix-OMTNWCJK.js +2196 -0
- package/dist/sc-MIEEZBWG.js +84 -0
- package/dist/scatter-ETOZ722F.js +800 -0
- package/dist/scatter.integration.spec-TS4PNRLX.js +1194 -0
- package/dist/selectGenomeWithTklst-Y5QIM2JB.js +132 -0
- package/dist/singleCellCellType-HOJHZF5W.js +36 -0
- package/dist/singleCellCellType.unit.spec-MH5V3RPX.js +158 -0
- package/dist/singleCellGeneExpression-YVQ5TIKN.js +36 -0
- package/dist/singleCellGeneExpression.unit.spec-BMFFT5HO.js +151 -0
- package/dist/singleCellPlot-3YFUYA2Y.js +51 -0
- package/dist/singlecell-FK5JETW5.js +1570 -0
- package/dist/singlecell-RL7V7DIC.js +84 -0
- package/dist/snp-FT7HB3XN.js +36 -0
- package/dist/snp.unit.spec-CLYVYPPG.js +174 -0
- package/dist/snplocus-M5SEQGAC.js +206 -0
- package/dist/spliceevent.a53ss.diagram-EJ5CTRCZ.js +149 -0
- package/dist/spliceevent.exonskip.diagram-ETXMOHZ3.js +275 -0
- package/dist/spliceevent.noeventdiagram-S2O4ZM2Z.js +458 -0
- package/dist/ssGSEA-6PMDQDTJ.js +36 -0
- package/dist/ssGSEA.unit.spec-JD5T4R2N.js +86 -0
- package/dist/summarizeCnvGeneexp-GCHNKTIU.js +161 -0
- package/dist/summarizeGeneexpSurvival-R2RYQZ3M.js +106 -0
- package/dist/summarizeMutationCnv-LB2BIYRL.js +162 -0
- package/dist/summarizeMutationDiagnosis-3JUY75LM.js +38 -0
- package/dist/summarizeMutationSurvival-VYLRWTCF.js +97 -0
- package/dist/summary-2QQ72IEQ.js +47 -0
- package/dist/summary.integration.spec-XXU362UQ.js +412 -0
- package/dist/summaryInput-OZHZG3PV.js +233 -0
- package/dist/sunburst-CMCJCANX.js +282 -0
- package/dist/survival-EBD4DHO7.js +44 -0
- package/dist/survival-ISLRRPKU.js +56 -0
- package/dist/survival.integration.spec-FS7V4OXK.js +800 -0
- package/dist/svgraph-KGLNUM7W.js +1385 -0
- package/dist/svmr-NXZ5VLKH.js +3840 -0
- package/dist/table-ISOQOI6C.js +198 -0
- package/dist/termCollection-7ZSU3I45.js +36 -0
- package/dist/termCollection-V2A5BDQB.js +177 -0
- package/dist/termCollection.unit.spec-6VLCJGOU.js +206 -0
- package/dist/tk-6AB6XYIE.js +44 -0
- package/dist/tp.ui-2O4UW5N7.js +1457 -0
- package/dist/tvs.dt-CY6TOQVB.js +37 -0
- package/dist/tvs.dtcnv.categorical-AYQ432TW.js +38 -0
- package/dist/tvs.dtcnv.continuous-XVDL6SG3.js +70 -0
- package/dist/tvs.dtfusion-V3AV7A6Q.js +38 -0
- package/dist/tvs.dtsnvindel-XM3NXIT7.js +38 -0
- package/dist/tvs.dtsv-Z2GYRINW.js +38 -0
- package/dist/tvs.samplelst-C4FB63G7.js +102 -0
- package/dist/tvs.termCollection-VHTSC2ST.js +157 -0
- package/dist/violin-KGGTUQFF.js +44 -0
- package/dist/violin.integration.spec-5EW6PLJX.js +1423 -0
- package/dist/violin.interactivity-RI4RURGO.js +36 -0
- package/dist/violin.renderer-EWU2IFZE.js +38 -0
- package/dist/vocabulary-VLIGC7OP.js +39 -0
- package/package.json +3 -3
- package/src/databrowser/dictionary.parse.js +14 -2
- package/dist/2dmaf-X7LATQT7.js +0 -1371
- package/dist/AIProjectAdmin-GUBKURGO.js +0 -830
- package/dist/AIProjectAdmin-GUBKURGO.js.map +0 -7
- package/dist/AppHeader-RDOFP322.js +0 -833
- package/dist/BoxPlot-AZF2EMGQ.js +0 -1217
- package/dist/CorrelationVolcano-VXW35SXU.js +0 -617
- package/dist/DE-NLGMZ44O.js +0 -93
- package/dist/DEinput-OJ7P4UMP.js +0 -297
- package/dist/DEinput-OJ7P4UMP.js.map +0 -7
- package/dist/DifferentialAnalysis-G75VUHDI.js +0 -241
- package/dist/Disco-DX4S44SI.js +0 -3235
- package/dist/Disco.UI-5FYIACCU.js +0 -242
- package/dist/DmrPlot-HWYITHK2.js +0 -640
- package/dist/GB-DBTMRVYH.js +0 -1125
- package/dist/GB-DBTMRVYH.js.map +0 -7
- package/dist/GeneExpInput-DWB7OYT2.js +0 -335
- package/dist/GeneExpInput-DWB7OYT2.js.map +0 -7
- package/dist/HicApp-XPZVZXB7.js +0 -2248
- package/dist/NumBinaryEditor-M6MJYIHK.js +0 -268
- package/dist/NumBinaryEditor.unit.spec-W6MMYDAW.js +0 -284
- package/dist/NumContEditor-YRVENTS5.js +0 -105
- package/dist/NumContEditor.unit.spec-A6OH4TI7.js +0 -167
- package/dist/NumCustomBinEditor-BLBOYSCQ.js +0 -36
- package/dist/NumCustomBinEditor.unit.spec-55V5CKLB.js +0 -282
- package/dist/NumDiscreteEditor-DTRM6VL2.js +0 -177
- package/dist/NumDiscreteEditor.unit.spec-YMB6QRER.js +0 -200
- package/dist/NumRegularBinEditor-XW4SVA7S.js +0 -36
- package/dist/NumRegularBinEditor.unit.spec-VAHC3VOD.js +0 -225
- package/dist/NumSplineEditor-H22HTRFR.js +0 -190
- package/dist/NumSplineEditor.unit.spec-4JUADXZR.js +0 -197
- package/dist/NumericDensity-ECSZCQRX.js +0 -36
- package/dist/NumericDensity.unit.spec-SXXCXM4X.js +0 -219
- package/dist/NumericHandler-CMBN3FZX.js +0 -37
- package/dist/NumericHandler.unit.spec-UYTJG2Z2.js +0 -217
- package/dist/RunChart2-MVFWLXZX.js +0 -756
- package/dist/SC-BRC3J2O4.js +0 -797
- package/dist/SC-BRC3J2O4.js.map +0 -7
- package/dist/Volcano-WMNFZSX2.js +0 -1234
- package/dist/Volcano-WMNFZSX2.js.map +0 -7
- package/dist/WSIViewer-2Z636FMA.js +0 -47971
- package/dist/WsiSamplesPlot-LN75PND3.js +0 -163
- package/dist/adSandbox-AJ7QUDOI.js +0 -36
- package/dist/alphaGenome-PVCRXAQK.js +0 -173
- package/dist/app-DWYCAFRP.js +0 -47
- package/dist/app-RENXV7VR.js +0 -35
- package/dist/bam-5G6IT6OX.js +0 -857
- package/dist/barchart-MLCCU6SU.js +0 -45
- package/dist/barchart.events-B6HQTLK2.js +0 -45
- package/dist/barchart.integration.spec-S43A7C7N.js +0 -1675
- package/dist/barchart2-QMKEN6MN.js +0 -309
- package/dist/block-IGBB4BJH.js +0 -6200
- package/dist/block.init-NLCYAKV4.js +0 -36
- package/dist/block.mds.expressionrank-TZWGRDY7.js +0 -357
- package/dist/block.mds.geneboxplot-OAFROYDL.js +0 -826
- package/dist/block.mds.junction-NSLXTW3D.js +0 -1543
- package/dist/block.mds.svcnv-ICPG4BW6.js +0 -6799
- package/dist/block.svg-DTFVIAAC.js +0 -162
- package/dist/block.tk.aicheck-ZIMIBWHA.js +0 -281
- package/dist/block.tk.ase-I7UNK5BK.js +0 -363
- package/dist/block.tk.bam-W7JG46RS.js +0 -1904
- package/dist/block.tk.bedgraphdot-XAQJPKGJ.js +0 -382
- package/dist/block.tk.bigwig.ui-YQOJPJSG.js +0 -209
- package/dist/block.tk.hicstraw-OWWGGCHU.js +0 -821
- package/dist/block.tk.junction-V63ZQQX6.js +0 -2362
- package/dist/block.tk.junction.textmatrixui-B7KXX7WN.js +0 -197
- package/dist/block.tk.ld-2J6CT74S.js +0 -97
- package/dist/block.tk.menu-6AQLG7PW.js +0 -1027
- package/dist/block.tk.pgv-4V6PKVCQ.js +0 -942
- package/dist/brainImaging-WRBGYLHK.js +0 -421
- package/dist/chat-X2BCTEDF.js +0 -148
- package/dist/chat-X2BCTEDF.js.map +0 -7
- package/dist/chunk-23VG37CB.js +0 -1939
- package/dist/chunk-23VG37CB.js.map +0 -7
- package/dist/chunk-2VOHINOC.js +0 -262
- package/dist/chunk-2VOHINOC.js.map +0 -7
- package/dist/chunk-3AK6GP4M.js +0 -215
- package/dist/chunk-3B7EWIVB.js +0 -153
- package/dist/chunk-3JAC5CHL.js +0 -407
- package/dist/chunk-3QBZ2Y77.js +0 -188
- package/dist/chunk-3QBZ2Y77.js.map +0 -7
- package/dist/chunk-3T2PCWII.js +0 -442
- package/dist/chunk-4BTAI6HQ.js +0 -100
- package/dist/chunk-4JVNATQR.js +0 -621
- package/dist/chunk-4ZCR6CPK.js +0 -4964
- package/dist/chunk-4ZCR6CPK.js.map +0 -7
- package/dist/chunk-5MW5VMWD.js +0 -2784
- package/dist/chunk-5ZBEDKBD.js +0 -158
- package/dist/chunk-65YTZS3R.js +0 -203
- package/dist/chunk-6ZCHECOT.js +0 -1816
- package/dist/chunk-6ZCHECOT.js.map +0 -7
- package/dist/chunk-73ZT6NAT.js +0 -34
- package/dist/chunk-7HJ6H7AZ.js +0 -2681
- package/dist/chunk-AFXYPMFZ.js +0 -117
- package/dist/chunk-BL4ALBZ7.js +0 -37
- package/dist/chunk-BRCDZJBQ.js +0 -824
- package/dist/chunk-EBGX226R.js +0 -205
- package/dist/chunk-EHXI36HJ.js +0 -2815
- package/dist/chunk-ENP4FLOX.js +0 -293
- package/dist/chunk-FDOSJKDA.js +0 -1209
- package/dist/chunk-FDOSJKDA.js.map +0 -7
- package/dist/chunk-HP2BASCY.js +0 -1159
- package/dist/chunk-HP2BASCY.js.map +0 -7
- package/dist/chunk-HROKXT4K.js +0 -14
- package/dist/chunk-HTMXVOTH.js +0 -482
- package/dist/chunk-IA7S4UL5.js +0 -302
- package/dist/chunk-JFIOYO3M.js +0 -272
- package/dist/chunk-JMJW3ERE.js +0 -470
- package/dist/chunk-K7XWZSQA.js +0 -148
- package/dist/chunk-KSN3EVKI.js +0 -102
- package/dist/chunk-L5SOHZ5V.js +0 -229
- package/dist/chunk-LMGE54CQ.js +0 -54
- package/dist/chunk-LOMVTHAM.js +0 -95
- package/dist/chunk-MSW7OS2O.js +0 -276
- package/dist/chunk-MVCGSYS2.js +0 -50
- package/dist/chunk-N2HBIQKU.js +0 -102
- package/dist/chunk-NL3DVEVX.js +0 -158
- package/dist/chunk-O4WJSZC3.js +0 -1087
- package/dist/chunk-OLUDD6EC.js +0 -2370
- package/dist/chunk-OVPVPPRG.js +0 -55
- package/dist/chunk-OYEISJSJ.js +0 -289
- package/dist/chunk-OYEISJSJ.js.map +0 -7
- package/dist/chunk-P2JDCMXW.js +0 -4207
- package/dist/chunk-PMDXCESS.js +0 -514
- package/dist/chunk-PXYYICV7.js +0 -1271
- package/dist/chunk-PZ3KIUWJ.js +0 -56
- package/dist/chunk-QEWMCAJW.js +0 -335
- package/dist/chunk-QLWDUZ5K.js +0 -129
- package/dist/chunk-QRSIID3T.js +0 -95
- package/dist/chunk-ST644IDH.js +0 -217
- package/dist/chunk-UOOMFM7K.js +0 -6364
- package/dist/chunk-VGHSLILD.js +0 -368
- package/dist/chunk-W35IOI74.js +0 -228
- package/dist/chunk-XKF4KMCB.js +0 -146
- package/dist/chunk-XKF4KMCB.js.map +0 -7
- package/dist/chunk-XVDWYTJ6.js +0 -676
- package/dist/chunk-YQVEBFGT.js +0 -455
- package/dist/chunk-YWUVCXFS.js +0 -20271
- package/dist/chunk-YWUVCXFS.js.map +0 -7
- package/dist/chunk-ZT3PB4XX.js +0 -1150
- package/dist/chunk-ZT3PB4XX.js.map +0 -7
- package/dist/chunk-ZVSXHCGP.js +0 -142
- package/dist/condition-CZX2GSN4.js +0 -330
- package/dist/controls-BQR3WY5W.js +0 -39
- package/dist/controls.config-TAVZDHFZ.js +0 -37
- package/dist/correlation-BIWVZNC6.js +0 -96
- package/dist/cuminc-EDXOOI5R.js +0 -1147
- package/dist/cuminc.integration.spec-UZA7BDTB.js +0 -676
- package/dist/customdata.inputui-PEB4CE7J.js +0 -287
- package/dist/dataDownload-KANEHJXJ.js +0 -328
- package/dist/dataDownload.integration.spec-23WLHSWJ.js +0 -191
- package/dist/databrowser.ui-B2TNECC4.js +0 -419
- package/dist/databrowser.ui-B2TNECC4.js.map +0 -7
- package/dist/dictionary-YOTUFVES.js +0 -109
- package/dist/dnaMethylation-TRFAZWRJ.js +0 -36
- package/dist/dnaMethylation.integration.spec-SPFZO76D.js +0 -201
- package/dist/dofetch-MH4MRMGY.js +0 -50
- package/dist/e2pca-AFVAFUJ2.js +0 -348
- package/dist/ep-4FXTLWB4.js +0 -1254
- package/dist/expclust.gdc.spec-SFOCKBLR.js +0 -305
- package/dist/facet-SY6PYSTN.js +0 -519
- package/dist/gb-JUV63QCN.js +0 -93
- package/dist/gb-JUV63QCN.js.map +0 -7
- package/dist/geneExpClustering-FOY77R7P.js +0 -247
- package/dist/geneExpression-AHKX57BT.js +0 -312
- package/dist/geneExpression-D2F2KVGY.js +0 -36
- package/dist/geneExpression.unit.spec-SR2BGZQL.js +0 -100
- package/dist/geneORA-VJMYI4BT.js +0 -276
- package/dist/geneVariant-LFM5SO2P.js +0 -37
- package/dist/geneVariant-OIKEV4JM.js +0 -39
- package/dist/geneVariant.integration.spec-T6BINPIN.js +0 -196
- package/dist/genefusion.ui-NLMW5XMI.js +0 -306
- package/dist/geneset-HKXFHM5K.js +0 -197
- package/dist/geneset-HKXFHM5K.js.map +0 -7
- package/dist/genomeBrowser.spec-DRYIFJLY.js +0 -279
- package/dist/grin2-GJKLNT4J.js +0 -1031
- package/dist/grin2-GJKLNT4J.js.map +0 -7
- package/dist/grin2-LGI535FF.js +0 -1554
- package/dist/gsea-Z7DSDFOA.js +0 -45
- package/dist/hierCluster-HC2B5XRR.js +0 -61
- package/dist/hierCluster-PLHVN5S3.js +0 -57
- package/dist/hierCluster.config-E3DIJWL5.js +0 -38
- package/dist/hierCluster.integration.spec-OQLPUQG4.js +0 -393
- package/dist/hierCluster.interactivity-LRNPDTEH.js +0 -52
- package/dist/imagePlot-GUXRGYQA.js +0 -139
- package/dist/imagePlot-GUXRGYQA.js.map +0 -7
- package/dist/importPlot-M5HGLHRO.js +0 -8
- package/dist/isoformExpression-PADLHHR5.js +0 -38
- package/dist/isoformExpression.unit.spec-5BPAL4OS.js +0 -206
- package/dist/launch.adhoc-JH6ZZFDB.js +0 -40
- package/dist/leftlabel.sample-NS2TBANH.js +0 -257
- package/dist/lollipop-W6NOHHCP.js +0 -166
- package/dist/lollipop-W6NOHHCP.js.map +0 -7
- package/dist/maf-NOHIKTUP.js +0 -450
- package/dist/maftimeline-WGWE52EF.js +0 -591
- package/dist/matrix-B6NPQFFF.js +0 -61
- package/dist/matrix-UAKRJL5A.js +0 -56
- package/dist/matrix.config-KJNJXPJJ.js +0 -39
- package/dist/matrix.integration.spec-VAXIR3E6.js +0 -3070
- package/dist/matrix.interactivity-H4MCMJXU.js +0 -40
- package/dist/matrix.layout-RFKQJM5D.js +0 -42
- package/dist/matrix.renderers-7JJIC6VC.js +0 -36
- package/dist/matrix.sort.unit.spec-MQQVWWNT.js +0 -470
- package/dist/matrix.sorterUi.unit.spec-LG4TI7VF.js +0 -340
- package/dist/mavb-EIZHS6F4.js +0 -730
- package/dist/mds.fimo-XVC6MI7W.js +0 -516
- package/dist/mds.samplescatterplot-PRR4TKYI.js +0 -1548
- package/dist/mds.survivalplot-3OG4Y2B6.js +0 -481
- package/dist/oncomatrix-SO6S6IIB.js +0 -293
- package/dist/oncomatrix.spec-VXTF44K5.js +0 -446
- package/dist/plot.2dvaf-JW5OJJXV.js +0 -375
- package/dist/plot.app-T3GVCFQ3.js +0 -39
- package/dist/plot.barplot-2TYP6DPI.js +0 -100
- package/dist/plot.boxplot-HOQHM7JF.js +0 -150
- package/dist/plot.brainImaging-5AI7BSD4.js +0 -51
- package/dist/plot.disco-HNNZHK5Z.js +0 -101
- package/dist/plot.dzi-4OQSO7SY.js +0 -33
- package/dist/plot.ssgq-VZTTGECT.js +0 -137
- package/dist/plot.vaf2cov-ASEELRDV.js +0 -257
- package/dist/plot.wsi-MDWYLU4R.js +0 -36
- package/dist/polar-QSY6JG4P.js +0 -184
- package/dist/polar2-FD6656VD.js +0 -226
- package/dist/profile.spec-V7EQBXT2.js +0 -78
- package/dist/profileBarchart-EIKHZAPD.js +0 -265
- package/dist/profileForms-NGFRXPFF.js +0 -438
- package/dist/profilePlot-2UFKJ2OC.js +0 -52
- package/dist/profileRadar-B2R7OV5F.js +0 -261
- package/dist/profileRadarFacility-ILC7POCI.js +0 -261
- package/dist/proteinView-AS6ZV2JT.js +0 -758
- package/dist/proteinView-AS6ZV2JT.js.map +0 -7
- package/dist/proteomeAbundance-6J5YF4V2.js +0 -63
- package/dist/proteomeAbundance-6J5YF4V2.js.map +0 -7
- package/dist/proteomeAbundance-OF27N347.js +0 -21
- package/dist/qualitative-CSUO2WG5.js +0 -41
- package/dist/radar2-L2HGCUYR.js +0 -314
- package/dist/radarFacility2-HXUUTRYO.js +0 -323
- package/dist/regression-Y4NYGZSA.js +0 -54
- package/dist/regression.inputs-RWFIJLNF.js +0 -46
- package/dist/regression.inputs.term-QIU5SHTN.js +0 -46
- package/dist/regression.inputs.values.table-FM6QTSEV.js +0 -43
- package/dist/regression.integration.spec-YRKKU7HL.js +0 -782
- package/dist/regression.results-YUDCHUZJ.js +0 -38
- package/dist/regression.spec-G4GIIV32.js +0 -706
- package/dist/report-2N4FBR4Q.js +0 -220
- package/dist/sampleScatter.spec-UIUYO4WR.js +0 -200
- package/dist/sampleView-TOK5Y5KU.js +0 -46
- package/dist/samplelst-YW5ZS3GJ.js +0 -109
- package/dist/samplematrix-447BHSO7.js +0 -2196
- package/dist/sc-O2PL3FL2.js +0 -84
- package/dist/scatter-4DXHOWVY.js +0 -800
- package/dist/scatter.integration.spec-ZPTM3AGQ.js +0 -1194
- package/dist/selectGenomeWithTklst-3RLZFW62.js +0 -132
- package/dist/singleCellCellType-3LQJXS7H.js +0 -36
- package/dist/singleCellCellType.unit.spec-UJM72SP4.js +0 -158
- package/dist/singleCellGeneExpression-JOWJWPIQ.js +0 -36
- package/dist/singleCellGeneExpression.unit.spec-VY5CGRZH.js +0 -151
- package/dist/singleCellPlot-IVLVKOO6.js +0 -51
- package/dist/singlecell-VJJZJZF7.js +0 -1570
- package/dist/singlecell-VQJ2252L.js +0 -84
- package/dist/snp-ALMKZKL2.js +0 -36
- package/dist/snp.unit.spec-GJQBAHGQ.js +0 -174
- package/dist/snplocus-WCNCMFWZ.js +0 -206
- package/dist/spliceevent.a53ss.diagram-4Q4JF4RX.js +0 -149
- package/dist/spliceevent.exonskip.diagram-IOYOKELT.js +0 -275
- package/dist/spliceevent.noeventdiagram-77ZCOHSF.js +0 -458
- package/dist/ssGSEA-QTXXIN4K.js +0 -36
- package/dist/ssGSEA.unit.spec-LQESATT3.js +0 -86
- package/dist/summarizeCnvGeneexp-YKUQGDQF.js +0 -161
- package/dist/summarizeGeneexpSurvival-ARGG5VDC.js +0 -106
- package/dist/summarizeMutationCnv-FMZYT3EC.js +0 -162
- package/dist/summarizeMutationDiagnosis-ZX7I46SC.js +0 -38
- package/dist/summarizeMutationSurvival-RCFMTT43.js +0 -97
- package/dist/summary-QLL5YVI2.js +0 -47
- package/dist/summary.integration.spec-DHY6XCEJ.js +0 -412
- package/dist/summaryInput-ANCUQGIB.js +0 -233
- package/dist/sunburst-RDNFBOCK.js +0 -282
- package/dist/survival-BG7QV52L.js +0 -44
- package/dist/survival-WSN36OQE.js +0 -56
- package/dist/survival.integration.spec-37KAJ5IK.js +0 -800
- package/dist/svgraph-A5WGHW4S.js +0 -1385
- package/dist/svmr-CYRHHWZF.js +0 -3840
- package/dist/table-VHO7E5PI.js +0 -198
- package/dist/termCollection-E4Q6GLXN.js +0 -177
- package/dist/termCollection-HSVSH7TJ.js +0 -36
- package/dist/termCollection.unit.spec-ZCE3TUMS.js +0 -206
- package/dist/tk-GPRHDN4K.js +0 -44
- package/dist/tp.ui-LTUA3FSL.js +0 -1457
- package/dist/tvs.dt-G43PAAKD.js +0 -37
- package/dist/tvs.dtcnv.categorical-UHDS2TGZ.js +0 -38
- package/dist/tvs.dtcnv.continuous-ZNGYQKTD.js +0 -70
- package/dist/tvs.dtfusion-JBEEUDUS.js +0 -38
- package/dist/tvs.dtsnvindel-XXN5Q7RN.js +0 -38
- package/dist/tvs.dtsv-MO6L7HHV.js +0 -38
- package/dist/tvs.samplelst-HKY6UUJM.js +0 -102
- package/dist/tvs.termCollection-TY6FPL25.js +0 -157
- package/dist/violin-YHE3WSGR.js +0 -44
- package/dist/violin.integration.spec-F2UD7BHC.js +0 -1423
- package/dist/violin.interactivity-LVDTDEPQ.js +0 -36
- package/dist/violin.renderer-IIEIUGRI.js +0 -38
- package/dist/vocabulary-WQRYXBRO.js +0 -39
- /package/dist/{2dmaf-X7LATQT7.js.map → 2dmaf-F5QNP7AQ.js.map} +0 -0
- /package/dist/{AppHeader-RDOFP322.js.map → AppHeader-STVCDLET.js.map} +0 -0
- /package/dist/{BoxPlot-AZF2EMGQ.js.map → BoxPlot-CU7MEBH7.js.map} +0 -0
- /package/dist/{CorrelationVolcano-VXW35SXU.js.map → CorrelationVolcano-OE4R2GS3.js.map} +0 -0
- /package/dist/{DE-NLGMZ44O.js.map → DE-SR7PJPKI.js.map} +0 -0
- /package/dist/{DifferentialAnalysis-G75VUHDI.js.map → DifferentialAnalysis-UWTYK7NU.js.map} +0 -0
- /package/dist/{Disco-DX4S44SI.js.map → Disco-IL6REGSA.js.map} +0 -0
- /package/dist/{Disco.UI-5FYIACCU.js.map → Disco.UI-JHHLS5BA.js.map} +0 -0
- /package/dist/{DmrPlot-HWYITHK2.js.map → DmrPlot-DDP53T3F.js.map} +0 -0
- /package/dist/{HicApp-XPZVZXB7.js.map → HicApp-RVFHTYED.js.map} +0 -0
- /package/dist/{NumBinaryEditor-M6MJYIHK.js.map → NumBinaryEditor-B3FXQAOH.js.map} +0 -0
- /package/dist/{NumBinaryEditor.unit.spec-W6MMYDAW.js.map → NumBinaryEditor.unit.spec-75YQJ2U6.js.map} +0 -0
- /package/dist/{NumContEditor-YRVENTS5.js.map → NumContEditor-5PYW3OLY.js.map} +0 -0
- /package/dist/{NumContEditor.unit.spec-A6OH4TI7.js.map → NumContEditor.unit.spec-F7ZRDGBN.js.map} +0 -0
- /package/dist/{NumCustomBinEditor-BLBOYSCQ.js.map → NumCustomBinEditor-TBT6GLYQ.js.map} +0 -0
- /package/dist/{NumCustomBinEditor.unit.spec-55V5CKLB.js.map → NumCustomBinEditor.unit.spec-6YHU45XV.js.map} +0 -0
- /package/dist/{NumDiscreteEditor-DTRM6VL2.js.map → NumDiscreteEditor-N6OJYSJA.js.map} +0 -0
- /package/dist/{NumDiscreteEditor.unit.spec-YMB6QRER.js.map → NumDiscreteEditor.unit.spec-HQS5RZ6R.js.map} +0 -0
- /package/dist/{NumRegularBinEditor-XW4SVA7S.js.map → NumRegularBinEditor-HSDDKVNG.js.map} +0 -0
- /package/dist/{NumRegularBinEditor.unit.spec-VAHC3VOD.js.map → NumRegularBinEditor.unit.spec-33KN2MVM.js.map} +0 -0
- /package/dist/{NumSplineEditor-H22HTRFR.js.map → NumSplineEditor-XERKOACS.js.map} +0 -0
- /package/dist/{NumSplineEditor.unit.spec-4JUADXZR.js.map → NumSplineEditor.unit.spec-MPVM6KSC.js.map} +0 -0
- /package/dist/{NumericDensity-ECSZCQRX.js.map → NumericDensity-35EKYW3V.js.map} +0 -0
- /package/dist/{NumericDensity.unit.spec-SXXCXM4X.js.map → NumericDensity.unit.spec-OR24PPRJ.js.map} +0 -0
- /package/dist/{NumericHandler-CMBN3FZX.js.map → NumericHandler-D6ZNGRE3.js.map} +0 -0
- /package/dist/{NumericHandler.unit.spec-UYTJG2Z2.js.map → NumericHandler.unit.spec-EKPGVSXI.js.map} +0 -0
- /package/dist/{RunChart2-MVFWLXZX.js.map → RunChart2-7DOXOFXV.js.map} +0 -0
- /package/dist/{WSIViewer-2Z636FMA.js.map → WSIViewer-E247ELKN.js.map} +0 -0
- /package/dist/{WsiSamplesPlot-LN75PND3.js.map → WsiSamplesPlot-3522VRB5.js.map} +0 -0
- /package/dist/{adSandbox-AJ7QUDOI.js.map → adSandbox-IDFY5P2P.js.map} +0 -0
- /package/dist/{alphaGenome-PVCRXAQK.js.map → alphaGenome-F3W7GJQ5.js.map} +0 -0
- /package/dist/{app-DWYCAFRP.js.map → app-2HDSFMRM.js.map} +0 -0
- /package/dist/{app-RENXV7VR.js.map → app-LIWPFL7C.js.map} +0 -0
- /package/dist/{bam-5G6IT6OX.js.map → bam-TBHHSATL.js.map} +0 -0
- /package/dist/{barchart-MLCCU6SU.js.map → barchart-HHFCBOZE.js.map} +0 -0
- /package/dist/{barchart.events-B6HQTLK2.js.map → barchart.events-UQUSSRXB.js.map} +0 -0
- /package/dist/{barchart.integration.spec-S43A7C7N.js.map → barchart.integration.spec-OF3MWFQ5.js.map} +0 -0
- /package/dist/{barchart2-QMKEN6MN.js.map → barchart2-XRMPCBBU.js.map} +0 -0
- /package/dist/{block-IGBB4BJH.js.map → block-5UEORHFB.js.map} +0 -0
- /package/dist/{block.init-NLCYAKV4.js.map → block.init-QSSFUVIT.js.map} +0 -0
- /package/dist/{block.mds.expressionrank-TZWGRDY7.js.map → block.mds.expressionrank-VBIIJHQF.js.map} +0 -0
- /package/dist/{block.mds.geneboxplot-OAFROYDL.js.map → block.mds.geneboxplot-KSBHXBNX.js.map} +0 -0
- /package/dist/{block.mds.junction-NSLXTW3D.js.map → block.mds.junction-FWZWMZJ2.js.map} +0 -0
- /package/dist/{block.mds.svcnv-ICPG4BW6.js.map → block.mds.svcnv-UXORVLH2.js.map} +0 -0
- /package/dist/{block.svg-DTFVIAAC.js.map → block.svg-6KIGW4QH.js.map} +0 -0
- /package/dist/{block.tk.aicheck-ZIMIBWHA.js.map → block.tk.aicheck-DK566Q4C.js.map} +0 -0
- /package/dist/{block.tk.ase-I7UNK5BK.js.map → block.tk.ase-2GB2VJJ6.js.map} +0 -0
- /package/dist/{block.tk.bam-W7JG46RS.js.map → block.tk.bam-RQNOLY52.js.map} +0 -0
- /package/dist/{block.tk.bedgraphdot-XAQJPKGJ.js.map → block.tk.bedgraphdot-N4YMZFO4.js.map} +0 -0
- /package/dist/{block.tk.bigwig.ui-YQOJPJSG.js.map → block.tk.bigwig.ui-4S7L7D7D.js.map} +0 -0
- /package/dist/{block.tk.hicstraw-OWWGGCHU.js.map → block.tk.hicstraw-AHFNQKCS.js.map} +0 -0
- /package/dist/{block.tk.junction-V63ZQQX6.js.map → block.tk.junction-7E6SNQMQ.js.map} +0 -0
- /package/dist/{block.tk.junction.textmatrixui-B7KXX7WN.js.map → block.tk.junction.textmatrixui-3C5JVYX5.js.map} +0 -0
- /package/dist/{block.tk.ld-2J6CT74S.js.map → block.tk.ld-TOUCLT3W.js.map} +0 -0
- /package/dist/{block.tk.menu-6AQLG7PW.js.map → block.tk.menu-JCV5ORD6.js.map} +0 -0
- /package/dist/{block.tk.pgv-4V6PKVCQ.js.map → block.tk.pgv-CUU22U6M.js.map} +0 -0
- /package/dist/{brainImaging-WRBGYLHK.js.map → brainImaging-MTQTXNNL.js.map} +0 -0
- /package/dist/{chunk-ENP4FLOX.js.map → chunk-2UYBBUXK.js.map} +0 -0
- /package/dist/{chunk-P2JDCMXW.js.map → chunk-2VPEFXEJ.js.map} +0 -0
- /package/dist/{chunk-OVPVPPRG.js.map → chunk-3QHIL3V3.js.map} +0 -0
- /package/dist/{chunk-QLWDUZ5K.js.map → chunk-44VXWKYJ.js.map} +0 -0
- /package/dist/{chunk-QRSIID3T.js.map → chunk-52D6EGUS.js.map} +0 -0
- /package/dist/{chunk-N2HBIQKU.js.map → chunk-5FHM3L4I.js.map} +0 -0
- /package/dist/{chunk-ZVSXHCGP.js.map → chunk-62TF2MCH.js.map} +0 -0
- /package/dist/{chunk-UOOMFM7K.js.map → chunk-67QM2NUK.js.map} +0 -0
- /package/dist/{chunk-XVDWYTJ6.js.map → chunk-6AAPHEWK.js.map} +0 -0
- /package/dist/{chunk-3B7EWIVB.js.map → chunk-6KPGMUHS.js.map} +0 -0
- /package/dist/{chunk-YQVEBFGT.js.map → chunk-6WBIZXNI.js.map} +0 -0
- /package/dist/{chunk-IA7S4UL5.js.map → chunk-7AAJVXEG.js.map} +0 -0
- /package/dist/{chunk-PXYYICV7.js.map → chunk-AFJRAR4N.js.map} +0 -0
- /package/dist/{chunk-K7XWZSQA.js.map → chunk-CVRYZMDE.js.map} +0 -0
- /package/dist/{chunk-MSW7OS2O.js.map → chunk-DGUTCYH2.js.map} +0 -0
- /package/dist/{chunk-5ZBEDKBD.js.map → chunk-DHNXATHC.js.map} +0 -0
- /package/dist/{chunk-L5SOHZ5V.js.map → chunk-E3BI23UK.js.map} +0 -0
- /package/dist/{chunk-4JVNATQR.js.map → chunk-E4JDHA3C.js.map} +0 -0
- /package/dist/{chunk-W35IOI74.js.map → chunk-FOJWYEGV.js.map} +0 -0
- /package/dist/{chunk-NL3DVEVX.js.map → chunk-FTN7Y34O.js.map} +0 -0
- /package/dist/{chunk-EHXI36HJ.js.map → chunk-GRG5MMPN.js.map} +0 -0
- /package/dist/{chunk-HTMXVOTH.js.map → chunk-GSU4PZN3.js.map} +0 -0
- /package/dist/{chunk-ST644IDH.js.map → chunk-IIRU2JLK.js.map} +0 -0
- /package/dist/{chunk-JFIOYO3M.js.map → chunk-JCB74ZSK.js.map} +0 -0
- /package/dist/{chunk-BRCDZJBQ.js.map → chunk-JUDWPYMA.js.map} +0 -0
- /package/dist/{chunk-O4WJSZC3.js.map → chunk-KT6VZBC7.js.map} +0 -0
- /package/dist/{chunk-OLUDD6EC.js.map → chunk-L2HBHFTK.js.map} +0 -0
- /package/dist/{chunk-VGHSLILD.js.map → chunk-LKADRF3Q.js.map} +0 -0
- /package/dist/{chunk-3JAC5CHL.js.map → chunk-MAXFRUGM.js.map} +0 -0
- /package/dist/{chunk-BL4ALBZ7.js.map → chunk-MQN7RYCK.js.map} +0 -0
- /package/dist/{chunk-JMJW3ERE.js.map → chunk-OEUI4CYZ.js.map} +0 -0
- /package/dist/{chunk-73ZT6NAT.js.map → chunk-OM36XUQL.js.map} +0 -0
- /package/dist/{chunk-LMGE54CQ.js.map → chunk-P5LNIH5X.js.map} +0 -0
- /package/dist/{chunk-KSN3EVKI.js.map → chunk-PG62PRMF.js.map} +0 -0
- /package/dist/{chunk-EBGX226R.js.map → chunk-Q3J3F2NU.js.map} +0 -0
- /package/dist/{chunk-AFXYPMFZ.js.map → chunk-RZBV6474.js.map} +0 -0
- /package/dist/{chunk-3T2PCWII.js.map → chunk-T5V4OC27.js.map} +0 -0
- /package/dist/{chunk-QEWMCAJW.js.map → chunk-UCKSUNSJ.js.map} +0 -0
- /package/dist/{chunk-PMDXCESS.js.map → chunk-W4TLYHZO.js.map} +0 -0
- /package/dist/{chunk-PZ3KIUWJ.js.map → chunk-WPZUXKIB.js.map} +0 -0
- /package/dist/{chunk-3AK6GP4M.js.map → chunk-XM47XD6G.js.map} +0 -0
- /package/dist/{chunk-MVCGSYS2.js.map → chunk-YZHGLSKQ.js.map} +0 -0
- /package/dist/{chunk-65YTZS3R.js.map → chunk-ZGOOZK3I.js.map} +0 -0
- /package/dist/{chunk-LOMVTHAM.js.map → chunk-ZH2VP6Q6.js.map} +0 -0
- /package/dist/{chunk-HROKXT4K.js.map → chunk-ZLOQXO5K.js.map} +0 -0
- /package/dist/{chunk-4BTAI6HQ.js.map → chunk-ZMNDBPJU.js.map} +0 -0
- /package/dist/{chunk-5MW5VMWD.js.map → chunk-ZRTW6X3F.js.map} +0 -0
- /package/dist/{chunk-7HJ6H7AZ.js.map → chunk-ZTT52MBP.js.map} +0 -0
- /package/dist/{condition-CZX2GSN4.js.map → condition-VUACUQYF.js.map} +0 -0
- /package/dist/{controls-BQR3WY5W.js.map → controls-N4MPSNO4.js.map} +0 -0
- /package/dist/{controls.config-TAVZDHFZ.js.map → controls.config-PRXVODCM.js.map} +0 -0
- /package/dist/{correlation-BIWVZNC6.js.map → correlation-QJZUYDFH.js.map} +0 -0
- /package/dist/{cuminc-EDXOOI5R.js.map → cuminc-JJHXW55V.js.map} +0 -0
- /package/dist/{cuminc.integration.spec-UZA7BDTB.js.map → cuminc.integration.spec-IXS2UO2O.js.map} +0 -0
- /package/dist/{customdata.inputui-PEB4CE7J.js.map → customdata.inputui-DUHO6M6I.js.map} +0 -0
- /package/dist/{dataDownload-KANEHJXJ.js.map → dataDownload-OFB7TYDB.js.map} +0 -0
- /package/dist/{dataDownload.integration.spec-23WLHSWJ.js.map → dataDownload.integration.spec-4HWDQO4C.js.map} +0 -0
- /package/dist/{dictionary-YOTUFVES.js.map → dictionary-BSKN37CP.js.map} +0 -0
- /package/dist/{dnaMethylation-TRFAZWRJ.js.map → dnaMethylation-5QNEEGC6.js.map} +0 -0
- /package/dist/{dnaMethylation.integration.spec-SPFZO76D.js.map → dnaMethylation.integration.spec-YIX3JSA7.js.map} +0 -0
- /package/dist/{dofetch-MH4MRMGY.js.map → dofetch-KFMGQY7G.js.map} +0 -0
- /package/dist/{e2pca-AFVAFUJ2.js.map → e2pca-VX42HDYZ.js.map} +0 -0
- /package/dist/{ep-4FXTLWB4.js.map → ep-B6ZNETLI.js.map} +0 -0
- /package/dist/{expclust.gdc.spec-SFOCKBLR.js.map → expclust.gdc.spec-SGECIILQ.js.map} +0 -0
- /package/dist/{facet-SY6PYSTN.js.map → facet-2W5SBPGP.js.map} +0 -0
- /package/dist/{geneExpClustering-FOY77R7P.js.map → geneExpClustering-6A7364T5.js.map} +0 -0
- /package/dist/{geneExpression-D2F2KVGY.js.map → geneExpression-NAM2UEYN.js.map} +0 -0
- /package/dist/{geneExpression-AHKX57BT.js.map → geneExpression-WF56ODMZ.js.map} +0 -0
- /package/dist/{geneExpression.unit.spec-SR2BGZQL.js.map → geneExpression.unit.spec-DNE2T3WI.js.map} +0 -0
- /package/dist/{geneORA-VJMYI4BT.js.map → geneORA-33FK2YOS.js.map} +0 -0
- /package/dist/{geneVariant-LFM5SO2P.js.map → geneVariant-C7PCNBOQ.js.map} +0 -0
- /package/dist/{geneVariant-OIKEV4JM.js.map → geneVariant-REELFRRA.js.map} +0 -0
- /package/dist/{geneVariant.integration.spec-T6BINPIN.js.map → geneVariant.integration.spec-GNXUGDKL.js.map} +0 -0
- /package/dist/{genefusion.ui-NLMW5XMI.js.map → genefusion.ui-WO5EPJDS.js.map} +0 -0
- /package/dist/{genomeBrowser.spec-DRYIFJLY.js.map → genomeBrowser.spec-VPAKTUJF.js.map} +0 -0
- /package/dist/{grin2-LGI535FF.js.map → grin2-GYHUYNEF.js.map} +0 -0
- /package/dist/{gsea-Z7DSDFOA.js.map → gsea-PE5WZ5ZI.js.map} +0 -0
- /package/dist/{hierCluster-HC2B5XRR.js.map → hierCluster-FH6YJHRT.js.map} +0 -0
- /package/dist/{hierCluster-PLHVN5S3.js.map → hierCluster-IFM5I5QN.js.map} +0 -0
- /package/dist/{hierCluster.config-E3DIJWL5.js.map → hierCluster.config-M57ZIWMB.js.map} +0 -0
- /package/dist/{hierCluster.integration.spec-OQLPUQG4.js.map → hierCluster.integration.spec-Z64RL7MC.js.map} +0 -0
- /package/dist/{hierCluster.interactivity-LRNPDTEH.js.map → hierCluster.interactivity-CDBAJXOY.js.map} +0 -0
- /package/dist/{importPlot-M5HGLHRO.js.map → importPlot-OWKXSK77.js.map} +0 -0
- /package/dist/{isoformExpression-PADLHHR5.js.map → isoformExpression-66XLJG73.js.map} +0 -0
- /package/dist/{isoformExpression.unit.spec-5BPAL4OS.js.map → isoformExpression.unit.spec-QJX2IRHL.js.map} +0 -0
- /package/dist/{launch.adhoc-JH6ZZFDB.js.map → launch.adhoc-JCWID253.js.map} +0 -0
- /package/dist/{leftlabel.sample-NS2TBANH.js.map → leftlabel.sample-5NZ6VQDN.js.map} +0 -0
- /package/dist/{maf-NOHIKTUP.js.map → maf-HIS2FQXK.js.map} +0 -0
- /package/dist/{maftimeline-WGWE52EF.js.map → maftimeline-UPJJQE23.js.map} +0 -0
- /package/dist/{matrix-B6NPQFFF.js.map → matrix-62CN2KXR.js.map} +0 -0
- /package/dist/{matrix-UAKRJL5A.js.map → matrix-SPEDEB3J.js.map} +0 -0
- /package/dist/{matrix.config-KJNJXPJJ.js.map → matrix.config-XB6WFXUY.js.map} +0 -0
- /package/dist/{matrix.integration.spec-VAXIR3E6.js.map → matrix.integration.spec-NN7OR5XM.js.map} +0 -0
- /package/dist/{matrix.interactivity-H4MCMJXU.js.map → matrix.interactivity-OWMHUJCX.js.map} +0 -0
- /package/dist/{matrix.layout-RFKQJM5D.js.map → matrix.layout-27QB6MWK.js.map} +0 -0
- /package/dist/{matrix.renderers-7JJIC6VC.js.map → matrix.renderers-EPXES5E4.js.map} +0 -0
- /package/dist/{matrix.sort.unit.spec-MQQVWWNT.js.map → matrix.sort.unit.spec-NBT5FSZ6.js.map} +0 -0
- /package/dist/{matrix.sorterUi.unit.spec-LG4TI7VF.js.map → matrix.sorterUi.unit.spec-QKGUE4RR.js.map} +0 -0
- /package/dist/{mavb-EIZHS6F4.js.map → mavb-M7Y74OWQ.js.map} +0 -0
- /package/dist/{mds.fimo-XVC6MI7W.js.map → mds.fimo-WCDFA7HG.js.map} +0 -0
- /package/dist/{mds.samplescatterplot-PRR4TKYI.js.map → mds.samplescatterplot-ZDHQ3MKJ.js.map} +0 -0
- /package/dist/{mds.survivalplot-3OG4Y2B6.js.map → mds.survivalplot-R74DL2RA.js.map} +0 -0
- /package/dist/{oncomatrix-SO6S6IIB.js.map → oncomatrix-MOITJBII.js.map} +0 -0
- /package/dist/{oncomatrix.spec-VXTF44K5.js.map → oncomatrix.spec-NALJBPYS.js.map} +0 -0
- /package/dist/{plot.2dvaf-JW5OJJXV.js.map → plot.2dvaf-IE2EZEFA.js.map} +0 -0
- /package/dist/{plot.app-T3GVCFQ3.js.map → plot.app-HTW6TZEH.js.map} +0 -0
- /package/dist/{plot.barplot-2TYP6DPI.js.map → plot.barplot-NCQEPEOY.js.map} +0 -0
- /package/dist/{plot.boxplot-HOQHM7JF.js.map → plot.boxplot-WNKVBVJJ.js.map} +0 -0
- /package/dist/{plot.brainImaging-5AI7BSD4.js.map → plot.brainImaging-2Z3TOO6J.js.map} +0 -0
- /package/dist/{plot.disco-HNNZHK5Z.js.map → plot.disco-4JAEIAYK.js.map} +0 -0
- /package/dist/{plot.dzi-4OQSO7SY.js.map → plot.dzi-ZGLOVJJN.js.map} +0 -0
- /package/dist/{plot.ssgq-VZTTGECT.js.map → plot.ssgq-IHUILM43.js.map} +0 -0
- /package/dist/{plot.vaf2cov-ASEELRDV.js.map → plot.vaf2cov-ZYCQMD27.js.map} +0 -0
- /package/dist/{plot.wsi-MDWYLU4R.js.map → plot.wsi-3GISVBDH.js.map} +0 -0
- /package/dist/{polar-QSY6JG4P.js.map → polar-4AUAZHBV.js.map} +0 -0
- /package/dist/{polar2-FD6656VD.js.map → polar2-SRD4WWXU.js.map} +0 -0
- /package/dist/{profile.spec-V7EQBXT2.js.map → profile.spec-TOITKBBZ.js.map} +0 -0
- /package/dist/{profileBarchart-EIKHZAPD.js.map → profileBarchart-Z4SYIYBE.js.map} +0 -0
- /package/dist/{profileForms-NGFRXPFF.js.map → profileForms-RA7XQ2QT.js.map} +0 -0
- /package/dist/{profilePlot-2UFKJ2OC.js.map → profilePlot-4BM3XZVK.js.map} +0 -0
- /package/dist/{profileRadar-B2R7OV5F.js.map → profileRadar-EYBESEPI.js.map} +0 -0
- /package/dist/{profileRadarFacility-ILC7POCI.js.map → profileRadarFacility-FZYTFM26.js.map} +0 -0
- /package/dist/{proteomeAbundance-OF27N347.js.map → proteomeAbundance-65R6M4YQ.js.map} +0 -0
- /package/dist/{qualitative-CSUO2WG5.js.map → qualitative-E7WL6DN4.js.map} +0 -0
- /package/dist/{radar2-L2HGCUYR.js.map → radar2-I6FN5SUX.js.map} +0 -0
- /package/dist/{radarFacility2-HXUUTRYO.js.map → radarFacility2-GVK7PT3V.js.map} +0 -0
- /package/dist/{regression-Y4NYGZSA.js.map → regression-TIR5D354.js.map} +0 -0
- /package/dist/{regression.inputs-RWFIJLNF.js.map → regression.inputs-2AMJCJ3L.js.map} +0 -0
- /package/dist/{regression.inputs.term-QIU5SHTN.js.map → regression.inputs.term-D6D2QEUB.js.map} +0 -0
- /package/dist/{regression.inputs.values.table-FM6QTSEV.js.map → regression.inputs.values.table-M3IPLGDJ.js.map} +0 -0
- /package/dist/{regression.integration.spec-YRKKU7HL.js.map → regression.integration.spec-ROUSXLMH.js.map} +0 -0
- /package/dist/{regression.results-YUDCHUZJ.js.map → regression.results-YD5S74YS.js.map} +0 -0
- /package/dist/{regression.spec-G4GIIV32.js.map → regression.spec-4OXBBTNO.js.map} +0 -0
- /package/dist/{report-2N4FBR4Q.js.map → report-ETNALKTY.js.map} +0 -0
- /package/dist/{sampleScatter.spec-UIUYO4WR.js.map → sampleScatter.spec-LECMFMI2.js.map} +0 -0
- /package/dist/{sampleView-TOK5Y5KU.js.map → sampleView-B5TM7JOW.js.map} +0 -0
- /package/dist/{samplelst-YW5ZS3GJ.js.map → samplelst-GFQCG4SS.js.map} +0 -0
- /package/dist/{samplematrix-447BHSO7.js.map → samplematrix-OMTNWCJK.js.map} +0 -0
- /package/dist/{sc-O2PL3FL2.js.map → sc-MIEEZBWG.js.map} +0 -0
- /package/dist/{scatter-4DXHOWVY.js.map → scatter-ETOZ722F.js.map} +0 -0
- /package/dist/{scatter.integration.spec-ZPTM3AGQ.js.map → scatter.integration.spec-TS4PNRLX.js.map} +0 -0
- /package/dist/{selectGenomeWithTklst-3RLZFW62.js.map → selectGenomeWithTklst-Y5QIM2JB.js.map} +0 -0
- /package/dist/{singleCellCellType-3LQJXS7H.js.map → singleCellCellType-HOJHZF5W.js.map} +0 -0
- /package/dist/{singleCellCellType.unit.spec-UJM72SP4.js.map → singleCellCellType.unit.spec-MH5V3RPX.js.map} +0 -0
- /package/dist/{singleCellGeneExpression-JOWJWPIQ.js.map → singleCellGeneExpression-YVQ5TIKN.js.map} +0 -0
- /package/dist/{singleCellGeneExpression.unit.spec-VY5CGRZH.js.map → singleCellGeneExpression.unit.spec-BMFFT5HO.js.map} +0 -0
- /package/dist/{singleCellPlot-IVLVKOO6.js.map → singleCellPlot-3YFUYA2Y.js.map} +0 -0
- /package/dist/{singlecell-VJJZJZF7.js.map → singlecell-FK5JETW5.js.map} +0 -0
- /package/dist/{singlecell-VQJ2252L.js.map → singlecell-RL7V7DIC.js.map} +0 -0
- /package/dist/{snp-ALMKZKL2.js.map → snp-FT7HB3XN.js.map} +0 -0
- /package/dist/{snp.unit.spec-GJQBAHGQ.js.map → snp.unit.spec-CLYVYPPG.js.map} +0 -0
- /package/dist/{snplocus-WCNCMFWZ.js.map → snplocus-M5SEQGAC.js.map} +0 -0
- /package/dist/{spliceevent.a53ss.diagram-4Q4JF4RX.js.map → spliceevent.a53ss.diagram-EJ5CTRCZ.js.map} +0 -0
- /package/dist/{spliceevent.exonskip.diagram-IOYOKELT.js.map → spliceevent.exonskip.diagram-ETXMOHZ3.js.map} +0 -0
- /package/dist/{spliceevent.noeventdiagram-77ZCOHSF.js.map → spliceevent.noeventdiagram-S2O4ZM2Z.js.map} +0 -0
- /package/dist/{ssGSEA-QTXXIN4K.js.map → ssGSEA-6PMDQDTJ.js.map} +0 -0
- /package/dist/{ssGSEA.unit.spec-LQESATT3.js.map → ssGSEA.unit.spec-JD5T4R2N.js.map} +0 -0
- /package/dist/{summarizeCnvGeneexp-YKUQGDQF.js.map → summarizeCnvGeneexp-GCHNKTIU.js.map} +0 -0
- /package/dist/{summarizeGeneexpSurvival-ARGG5VDC.js.map → summarizeGeneexpSurvival-R2RYQZ3M.js.map} +0 -0
- /package/dist/{summarizeMutationCnv-FMZYT3EC.js.map → summarizeMutationCnv-LB2BIYRL.js.map} +0 -0
- /package/dist/{summarizeMutationDiagnosis-ZX7I46SC.js.map → summarizeMutationDiagnosis-3JUY75LM.js.map} +0 -0
- /package/dist/{summarizeMutationSurvival-RCFMTT43.js.map → summarizeMutationSurvival-VYLRWTCF.js.map} +0 -0
- /package/dist/{summary-QLL5YVI2.js.map → summary-2QQ72IEQ.js.map} +0 -0
- /package/dist/{summary.integration.spec-DHY6XCEJ.js.map → summary.integration.spec-XXU362UQ.js.map} +0 -0
- /package/dist/{summaryInput-ANCUQGIB.js.map → summaryInput-OZHZG3PV.js.map} +0 -0
- /package/dist/{sunburst-RDNFBOCK.js.map → sunburst-CMCJCANX.js.map} +0 -0
- /package/dist/{survival-BG7QV52L.js.map → survival-EBD4DHO7.js.map} +0 -0
- /package/dist/{survival-WSN36OQE.js.map → survival-ISLRRPKU.js.map} +0 -0
- /package/dist/{survival.integration.spec-37KAJ5IK.js.map → survival.integration.spec-FS7V4OXK.js.map} +0 -0
- /package/dist/{svgraph-A5WGHW4S.js.map → svgraph-KGLNUM7W.js.map} +0 -0
- /package/dist/{svmr-CYRHHWZF.js.map → svmr-NXZ5VLKH.js.map} +0 -0
- /package/dist/{table-VHO7E5PI.js.map → table-ISOQOI6C.js.map} +0 -0
- /package/dist/{termCollection-HSVSH7TJ.js.map → termCollection-7ZSU3I45.js.map} +0 -0
- /package/dist/{termCollection-E4Q6GLXN.js.map → termCollection-V2A5BDQB.js.map} +0 -0
- /package/dist/{termCollection.unit.spec-ZCE3TUMS.js.map → termCollection.unit.spec-6VLCJGOU.js.map} +0 -0
- /package/dist/{tk-GPRHDN4K.js.map → tk-6AB6XYIE.js.map} +0 -0
- /package/dist/{tp.ui-LTUA3FSL.js.map → tp.ui-2O4UW5N7.js.map} +0 -0
- /package/dist/{tvs.dt-G43PAAKD.js.map → tvs.dt-CY6TOQVB.js.map} +0 -0
- /package/dist/{tvs.dtcnv.categorical-UHDS2TGZ.js.map → tvs.dtcnv.categorical-AYQ432TW.js.map} +0 -0
- /package/dist/{tvs.dtcnv.continuous-ZNGYQKTD.js.map → tvs.dtcnv.continuous-XVDL6SG3.js.map} +0 -0
- /package/dist/{tvs.dtfusion-JBEEUDUS.js.map → tvs.dtfusion-V3AV7A6Q.js.map} +0 -0
- /package/dist/{tvs.dtsnvindel-XXN5Q7RN.js.map → tvs.dtsnvindel-XM3NXIT7.js.map} +0 -0
- /package/dist/{tvs.dtsv-MO6L7HHV.js.map → tvs.dtsv-Z2GYRINW.js.map} +0 -0
- /package/dist/{tvs.samplelst-HKY6UUJM.js.map → tvs.samplelst-C4FB63G7.js.map} +0 -0
- /package/dist/{tvs.termCollection-TY6FPL25.js.map → tvs.termCollection-VHTSC2ST.js.map} +0 -0
- /package/dist/{violin-YHE3WSGR.js.map → violin-KGGTUQFF.js.map} +0 -0
- /package/dist/{violin.integration.spec-F2UD7BHC.js.map → violin.integration.spec-5EW6PLJX.js.map} +0 -0
- /package/dist/{violin.interactivity-LVDTDEPQ.js.map → violin.interactivity-RI4RURGO.js.map} +0 -0
- /package/dist/{violin.renderer-IIEIUGRI.js.map → violin.renderer-EWU2IFZE.js.map} +0 -0
- /package/dist/{vocabulary-WQRYXBRO.js.map → vocabulary-VLIGC7OP.js.map} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../plots/sc/model/SCModel.ts", "../plots/sc/viewModel/SCViewModel.ts", "../plots/sc/interactions/SCInteractions.ts", "../plots/sc/view/SampleTableRenderer.ts", "../plots/sc/view/PlotButtons.ts", "../plots/sc/view/SectionRenderer.ts", "../plots/sc/settings/Settings.ts", "../plots/sc/view/SCViewRenderer.ts", "../plots/sc/settings/defaults.ts", "../plots/sc/SC.ts"],
|
|
4
|
+
"sourcesContent": ["import type { AppApi } from '#rx'\nimport type { SCFormattedState } from '../SCTypes'\nimport { dofetch3 } from '#common/dofetch'\n\n/** Fetches data for sc app */\nexport class SCModel {\n\tapp: AppApi\n\tid?: string\n\tstate: SCFormattedState\n\n\tconstructor(app: AppApi, id: string) {\n\t\tthis.app = app\n\t\tthis.id = id\n\t\t//Should only use immutable state attributes (e.g. vocab.genome)\n\t\tthis.state = this.app.getState()\n\t}\n\n\t/********** Single Cell SAMPLES for rendering the table ********\n\t * The table data does not update. Should only need to run once. */\n\tasync getSampleData() {\n\t\tconst body = this.getSampleRequestOpts()\n\t\treturn await dofetch3('termdb/singlecellSamples', { body })\n\t}\n\n\t//May involve more complicated logic later\n\tgetSampleRequestOpts() {\n\t\treturn {\n\t\t\tgenome: this.state.vocab.genome,\n\t\t\tdslabel: this.state.vocab.dslabel,\n\t\t\tfilter0: this.state.termfilter.filter0 || null\n\t\t}\n\t}\n\n\t//Fetches optional name for ds defined columns\n\tasync getColumnLabels(dsScSamples: { [key: string]: any }) {\n\t\tif (!dsScSamples || !dsScSamples.sampleColumns) return\n\t\tconst colsCopy = structuredClone(dsScSamples.sampleColumns)\n\t\tfor (const col of colsCopy) {\n\t\t\tlet label = col.termid\n\t\t\ttry {\n\t\t\t\tlabel = (await this.app.vocabApi.getterm(col.termid)).name\n\t\t\t} catch (e: any) {\n\t\t\t\tif (e.message) {\n\t\t\t\t\t//Ignore. if statement to prevent tsc error.\n\t\t\t\t}\n\t\t\t\t/** Ignore errors and use the termid as the column header.\n\t\t\t\t * this is due to practical constrain that gdc needs to supply\n\t\t\t\t * analysis.workflow_type as 'Library', but this is not a term\n\t\t\t\t * in gdc dictionary */\n\t\t\t}\n\t\t\tcol.label = label\n\t\t}\n\t\treturn colsCopy\n\t}\n\n\t/********** Single Cell DATA for rendering plots ********\n\t * This is for the plot buttons. Returns an array plots with found files or\n\t * available data. */\n\tasync getData() {\n\t\tconst body = this.getDataRequestOpts()\n\t\tif (!body) return\n\t\treturn await dofetch3('termdb/singlecellData', { body })\n\t}\n\n\t/** May provide active plots to the request and return plot data when\n\t * checkPlotAvailability is false. When checkPlotAvailability is true,\n\t * only returns which plots are available but not the actual data. */\n\tgetDataRequestOpts(_plots: any[] = [], checkPlotAvailability = true) {\n\t\tconst state = this.app.getState()\n\t\tconst singleCellTermdbConfig = state.termdbConfig?.queries?.singleCell\n\t\tif (!singleCellTermdbConfig?.data) throw new Error('No singleCell.data defined in termdbConfig.queries')\n\n\t\tconst config = state.plots.find((p: any) => p.id === this.id)\n\t\tif (!config.settings.sc.item) return\n\n\t\tconst plots = _plots?.length ? _plots : singleCellTermdbConfig.data.plots.map(p => p.name)\n\n\t\treturn {\n\t\t\tgenome: this.state.vocab.genome,\n\t\t\tdslabel: this.state.vocab.dslabel,\n\t\t\t// if true, only return available plot names, but not actual plot data\n\t\t\tcheckPlotAvailability,\n\t\t\tplots,\n\t\t\tsample: {\n\t\t\t\teID: config.settings.sc.item.eID,\n\t\t\t\tsID: config.settings.sc.item.sID\n\t\t\t}\n\t\t}\n\t}\n\n\t/** Essentially for the GDC. Maybe applied to other ds in the future. */\n\tasync getCategories(_plots: any[]): Promise<string[] | undefined> {\n\t\tconst body = this.getDataRequestOpts(_plots, false)\n\t\tif (!body) return\n\n\t\tlet res\n\t\ttry {\n\t\t\tres = await dofetch3('termdb/singlecellData', { body })\n\t\t} catch (e: any) {\n\t\t\tif (e instanceof Error) console.error(`${e.message || e}`)\n\t\t}\n\n\t\treturn this.formatCategories(res)\n\t}\n\n\tformatCategories(res: any): string[] {\n\t\tconst plot = structuredClone(res.plots[0])\n\n\t\tplot.cells = [...plot.noExpCells, ...plot.expCells]\n\t\tconst clusters: Set<string> = new Set(plot.cells.map(c => c.category))\n\n\t\t/** Clean up list into an descending array */\n\t\tconst sortedClusters: string[] = Array.from(clusters).sort((a: any, b: any) => {\n\t\t\tconst num1 = parseInt(a.split(' ')[1])\n\t\t\tconst num2 = parseInt(b.split(' ')[1])\n\t\t\treturn num1 - num2\n\t\t})\n\t\treturn sortedClusters\n\t}\n}\n", "import type { AppApi } from '#rx'\nimport type { TableColumn, TableRow } from '#dom'\nimport type { SCConfig, SCFormattedState, SampleColumn, SCTableData } from '../SCTypes'\nimport type { SingleCellSample } from '#types'\n\nexport class SCViewModel {\n\tapp: AppApi\n\tstate: SCFormattedState\n\ttableData: SCTableData\n\n\tconstructor(app: AppApi, config: SCConfig, items: SingleCellSample[], sampleColumns?: SampleColumn[]) {\n\t\tthis.app = app\n\t\tthis.state = this.app.getState()\n\n\t\t//Should only be called once\n\t\tconst [rows, columns] = this.getTabelData(config, items, sampleColumns)\n\t\tconst selectedRows: number[] = []\n\t\tconst sID = config.settings.sc.item?.sID\n\t\tconst i = sID\n\t\t\t? items.findIndex(item => item.sample === sID || item.experiments?.some(e => e.sampleName === sID))\n\t\t\t: -1\n\t\tif (i != -1) selectedRows.push(i)\n\n\t\t/** Returning this data separately from the eventual\n\t\t * viewData because it's static. */\n\t\tthis.tableData = {\n\t\t\trows: rows as any,\n\t\t\tcolumns: columns as any,\n\t\t\tselectedRows\n\t\t}\n\t}\n\n\tgetTabelData(\n\t\tplotConfig: SCConfig,\n\t\titems: SingleCellSample[],\n\t\tsampleColumns?: SampleColumn[]\n\t): [TableRow[], TableColumn[]] {\n\t\tconst rows: TableRow[] = []\n\t\tconst hasExperiments = items.some(i => i.experiments)\n\n\t\t// first column is sample and is hardcoded\n\t\tconst columns: TableColumn[] = [{ label: plotConfig.settings.sc.columns.sample, sortable: true }]\n\t\tif (hasExperiments) columns.push({ label: 'Sample', sortable: true }) //add after the case column\n\n\t\t// add in optional sample columns\n\t\tfor (const col of sampleColumns || []) {\n\t\t\tcolumns.push({\n\t\t\t\tlabel: col.label,\n\t\t\t\twidth: '14vw',\n\t\t\t\tsortable: true\n\t\t\t})\n\t\t}\n\n\t\t// if samples are using experiments, add the hardcoded experiment column at the end\n\t\tif (hasExperiments) columns.push({ label: 'Experiment', sortable: true }) // corresponds to this.samples[].experiments[].experimentID\n\n\t\tfor (const item of items) {\n\t\t\tif (hasExperiments)\n\t\t\t\t//GDC\n\t\t\t\tfor (const exp of item.experiments!) {\n\t\t\t\t\t// first cell is always sample name. sneak in experiment object to be accessed in click callback\n\t\t\t\t\t//TODO: Consider removing the experimentID as it is no longer needed.\n\t\t\t\t\tconst row: { [index: string]: any }[] = [{ value: item.sample, __experimentID: exp.experimentID }]\n\t\t\t\t\t// hardcode to expect exp.sampleName and add this as a column\n\t\t\t\t\trow.push({ value: exp.sampleName })\n\t\t\t\t\t// optional sample and experiment columns\n\t\t\t\t\tfor (const col of sampleColumns || []) {\n\t\t\t\t\t\trow.push({ value: item[col.termid] })\n\t\t\t\t\t}\n\n\t\t\t\t\t// hardcode to always add in experiment id column\n\t\t\t\t\tif (this.state.vocab.dslabel == 'GDC')\n\t\t\t\t\t\trow.push({ value: exp.experimentID, url: `https://portal.gdc.cancer.gov/files/${exp.experimentID}` })\n\t\t\t\t\telse row.push({ value: exp.experimentID })\n\t\t\t\t\trows.push(row)\n\t\t\t\t}\n\t\t\telse {\n\t\t\t\t// sample does not use experiment\n\t\t\t\t// first cell is sample name\n\t\t\t\tconst row: { [index: string]: any }[] = [{ value: item.sample }]\n\t\t\t\t// optional sample columns\n\t\t\t\tfor (const col of sampleColumns || []) {\n\t\t\t\t\trow.push({ value: item[col.termid] })\n\t\t\t\t}\n\t\t\t\trows.push(row)\n\t\t\t}\n\t\t}\n\t\treturn [rows, columns]\n\t}\n}\n", "import type { AppApi } from '#rx'\nimport type { SCModel } from '../model/SCModel.ts'\nimport type { SCViewer } from '../SC.ts'\nimport type { SCDom } from '../SCTypes'\n\n/** Handles the interactivity from the view */\nexport class SCInteractions {\n\tapp: AppApi\n\tdom: SCDom\n\tid: string\n\tmodel: SCModel\n\n\tconstructor(sc: SCViewer) {\n\t\tthis.app = sc.app\n\t\tthis.dom = sc.dom\n\t\tthis.id = sc.id\n\t\tthis.model = sc.model\n\t}\n\n\t/** Used in the gene search menu shown on click from a plot btn\n\t * Add the plot to the state.plots array with .parentId. Adding\n\t * .parentId prevents the plot from launching in a new sandbox.\n\t * Pass the .parentId to both the plotConfig and the action.\n\t * this.getState() in SC.ts will find all the subplots with the parentId==this.id\n\t * SC.main() initializes the subplots as components in chartsDiv\n\t */\n\tasync createSubplot(config) {\n\t\tconst c = Object.assign({}, config, { parentId: this.id })\n\t\tawait this.app.dispatch({\n\t\t\ttype: 'plot_create',\n\t\t\tparentId: this.id,\n\t\t\tconfig: c\n\t\t})\n\t}\n\n\t/** Updates the item in the plot settings */\n\tasync updateItem(item) {\n\t\tawait this.app.dispatch({\n\t\t\ttype: 'plot_edit',\n\t\t\tid: this.id,\n\t\t\tconfig: { settings: { sc: { item } } }\n\t\t})\n\t}\n\n\tasync getDropDownOptions(plot): Promise<string[] | undefined> {\n\t\treturn this.model.getCategories(plot)\n\t}\n\n\ttoggleLoading(on: boolean) {\n\t\tif (on) {\n\t\t\tthis.dom.loading.selectAll('*').remove()\n\t\t\tthis.dom.loading\n\t\t\t\t.style('display', 'block')\n\t\t\t\t.append('div')\n\t\t\t\t.style('position', 'relative')\n\t\t\t\t.style('top', '50%')\n\t\t\t\t.append('span')\n\t\t\t\t.attr('class', 'sjpp-spinner')\n\t\t\tthis.dom.loading.style('display', '')\n\t\t} else {\n\t\t\tthis.dom.loading.selectAll('.sjpp-spinner').remove()\n\t\t\tthis.dom.loading.style('display', 'none')\n\t\t}\n\t}\n}\n", "import type { SCDom, SCTableData } from '../SCTypes'\nimport type { TableCell } from '#dom'\nimport { renderTable } from '#dom'\nimport type { SCInteractions } from '../interactions/SCInteractions'\n\n/** Renders the sample table for selection on SC app init()\n * On selecting a sample, the plot buttons will appear and\n * the user can select a plot to render in the dashboard. */\nexport class SampleTableRenderer {\n\tdom: SCDom\n\tinteractions: SCInteractions\n\n\tconstructor(dom: SCDom, interactions: SCInteractions, tableData: SCTableData) {\n\t\tthis.dom = dom\n\t\tthis.interactions = interactions\n\t\tthis.renderSamplesTable(tableData)\n\t}\n\n\t/** Users select one item at a time to render the plot buttons\n\t * to init() plots in the dashboard.*/\n\trenderSamplesTable(tableData: SCTableData) {\n\t\trenderTable({\n\t\t\trows: tableData.rows,\n\t\t\tcolumns: tableData.columns,\n\t\t\tdiv: this.dom.tableDiv,\n\t\t\tsingleMode: true,\n\t\t\tmaxWidth: tableData.columns.length > 3 ? '98vw' : '40vw',\n\t\t\tmaxHeight: '30vh',\n\t\t\theader: {\n\t\t\t\tallowSort: true,\n\t\t\t\tstyle: { 'text-transform': 'capitalize' }\n\t\t\t},\n\t\t\tstriped: true,\n\t\t\tselectedRows: tableData.selectedRows,\n\t\t\tnoButtonCallback: index => {\n\t\t\t\tconst item = {} as { sID: string; eID: string; [key: string]: any }\n\t\t\t\ttableData.rows[index].forEach((r: TableCell, idx: number) => {\n\t\t\t\t\tif (!r.value) return\n\t\t\t\t\tlet key = tableData.columns[idx].label.toLowerCase()\n\t\t\t\t\t/** Convert the column labels into the required sample structure keys.\n\t\t\t\t\t * Maintains the sample obj used throughout the app whilst allowing for\n\t\t\t\t\t * dynamic column labels based on the config. */\n\t\t\t\t\tkey = key === 'sample' ? 'sID' : key === 'experiment' ? 'eID' : key\n\t\t\t\t\titem[key] = r.value\n\t\t\t\t})\n\t\t\t\tif (!item.sID) throw new Error('Selected item must have sID property')\n\t\t\t\tthis.interactions.updateItem(item)\n\t\t\t\tthis.dom.plotsBtnsDiv.style('display', 'block')\n\t\t\t}\n\t\t})\n\t}\n}\n", "import type { Div, Elem } from '../../../types/d3'\nimport type { SCInteractions } from '../interactions/SCInteractions'\nimport { Menu } from '#dom'\nimport { digestMessage } from '#termsetting'\nimport { SINGLECELL_CELLTYPE, SINGLECELL_GENE_EXPRESSION, TermTypeGroups } from '#shared/terms.js'\nimport type { SCSample } from '../SCTypes'\nimport type { Settings } from '../settings/Settings'\n\n/** Rendering for the plot buttons that appear below the item\n * table. Plot buttons are rendered based on the available plots\n * for the selected sample, and the config defined in\n * termdbConfig.queries.singleCell.data.plots. Each plot config\n * in termdbConfig should define a name that matches the plot\n * names returned from the server, and can optionally define\n * colorColumns which will be used to apply color to the plot\n * if those columns are present in the data.\n *\n * Notes:\n * - The hierarchical clustering limits to the first 100 genes.\n * */\nexport class PlotButtons {\n\tplotBtnsDom: {\n\t\tpromptDiv: Div\n\t\tselectPrompt: Elem\n\t\tbtnsDiv: Div\n\t\ttip: Menu\n\t}\n\tdata?: any\n\titem?: SCSample\n\tinteractions: SCInteractions\n\tscTermdbConfig: any\n\tsettings!: Settings\n\tscctTerms?: any[]\n\tavailablePlots!: Set<string>\n\n\t/** This is the initial state. scctTerms and the termdbConfig are created on\n\t * server init and will not change. */\n\tconstructor(interactions: SCInteractions, holder: Div, state) {\n\t\tholder.style('padding', '10px')\n\t\tconst promptDiv = holder.append('div').style('padding', '10px 0').text('Select data from')\n\t\tthis.plotBtnsDom = {\n\t\t\tpromptDiv,\n\t\t\tselectPrompt: promptDiv.append('span'),\n\t\t\tbtnsDiv: holder.append('div'),\n\t\t\ttip: new Menu({ padding: '' })\n\t\t}\n\t\tthis.interactions = interactions\n\t\tthis.scctTerms = state.termdbConfig?.termType2terms?.[TermTypeGroups.SINGLECELL_CELLTYPE]\n\t\tthis.scTermdbConfig = state.termdbConfig.queries.singleCell\n\t}\n\n\tupdate(settings: Settings, data) {\n\t\t/** If the user has not selected a item yet but clicks\n\t\t * the select item/plots btn above the table, the prompt appears\n\t\t * unnecessarily */\n\t\tconst item = settings.sc.item\n\t\tthis.plotBtnsDom.promptDiv.style('display', !item ? 'none' : 'block')\n\t\tif (!item) return\n\t\tif (data != null && data.plots) this.data = data\n\t\t//Show buttons for plots with found data files (see note above).\n\t\tthis.availablePlots = new Set(this.data?.plots?.map((p: any) => p.name))\n\t\tthis.settings = settings\n\t\tthis.item = item\n\t\tconst name = item.sID\n\t\tthis.plotBtnsDom.selectPrompt.text(` ${name}:`)\n\t\tthis.renderChartBtns()\n\t}\n\n\trenderChartBtns() {\n\t\tthis.plotBtnsDom.btnsDiv.selectAll('*').remove()\n\t\tconst btns = this.getChartBtnOpts()\n\n\t\tthis.plotBtnsDom.btnsDiv\n\t\t\t.selectAll('button')\n\t\t\t.data(btns.filter(b => b.isVisible()))\n\t\t\t.enter()\n\t\t\t.append('button')\n\t\t\t.attr('type', 'button')\n\t\t\t.attr('data-testid', b => `sjpp-sc-plot-btn-${b.label.toLowerCase().replace(/\\s/g, '-')}`)\n\t\t\t.style('padding', '10px 15px')\n\t\t\t.style('border-radius', '20px')\n\t\t\t.style('border-color', 'transparent')\n\t\t\t.style('background-color', '#CFE2F3')\n\t\t\t.style('margin', '0 10px')\n\t\t\t.style('cursor', 'pointer')\n\t\t\t.text(b => b.label)\n\t\t\t.on('click', async (e, plot) => {\n\t\t\t\tif (plot.open) {\n\t\t\t\t\tthis.plotBtnsDom.tip.clear().showunder(e.target)\n\t\t\t\t\tplot.open(plot, this)\n\t\t\t\t} else {\n\t\t\t\t\tif (!plot.getPlotConfig)\n\t\t\t\t\t\tthrow new Error(`No getPlotConfig function defined for this plot button = ${plot.label}`)\n\t\t\t\t\tconst config = await plot.getPlotConfig()\n\t\t\t\t\tawait this.interactions.createSubplot(config)\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tgetChartBtnOpts() {\n\t\tconst btns: {\n\t\t\tlabel: string\n\t\t\tisVisible: () => boolean\n\t\t\topen?: (plot: any, self: PlotButtons) => void\n\t\t\tgetPlotConfig?: (f?: any) => any\n\t\t}[] = []\n\n\t\tfor (const plot of this.scTermdbConfig?.data?.plots || []) {\n\t\t\tbtns.push({\n\t\t\t\tlabel: plot.name,\n\t\t\t\tisVisible: () => this.availablePlots.has(plot.name),\n\t\t\t\tgetPlotConfig: async () => {\n\t\t\t\t\treturn await this.getSingleCellConfig(plot.name)\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tbtns.push(\n\t\t\t{\n\t\t\t\tlabel: 'Summary',\n\t\t\t\tisVisible: () => true,\n\t\t\t\tgetPlotConfig: () => {\n\t\t\t\t\tconst sample = this.item!\n\t\t\t\t\treturn {\n\t\t\t\t\t\tchartType: 'dictionary',\n\t\t\t\t\t\tsample,\n\t\t\t\t\t\tspawnConfig: {\n\t\t\t\t\t\t\tparentId: this.interactions.id,\n\t\t\t\t\t\t\thidePlotFilter: true,\n\t\t\t\t\t\t\theaderText: `Sample: ${this.item!.sID}`,\n\t\t\t\t\t\t\tsample\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttree: {\n\t\t\t\t\t\t\tusecase: {\n\t\t\t\t\t\t\t\ttarget: 'dictionary',\n\t\t\t\t\t\t\t\tspecialCase: {\n\t\t\t\t\t\t\t\t\ttype: 'singleCell',\n\t\t\t\t\t\t\t\t\tconfig: { sample }\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Gene expression',\n\t\t\t\tisVisible: () => this.scTermdbConfig?.geneExpression,\n\t\t\t\tgetPlotConfig: () => {\n\t\t\t\t\tconst sample = this.item!\n\t\t\t\t\tconst headerText = `Sample: ${this.item!.sID}`\n\t\t\t\t\treturn {\n\t\t\t\t\t\tchartType: 'GeneExpInput',\n\t\t\t\t\t\ttermType: SINGLECELL_GENE_EXPRESSION,\n\t\t\t\t\t\theaderText,\n\t\t\t\t\t\ttermProperties: { sample },\n\t\t\t\t\t\tsample,\n\t\t\t\t\t\tspawnConfig: {\n\t\t\t\t\t\t\tparentId: this.interactions.id,\n\t\t\t\t\t\t\thidePlotFilter: true,\n\t\t\t\t\t\t\theaderText\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Differential expression',\n\t\t\t\tisVisible: () => this.scTermdbConfig?.DEgenes,\n\t\t\t\topen: this.termDropdownMenu,\n\t\t\t\tgetPlotConfig: value => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tchartType: 'differentialAnalysis',\n\t\t\t\t\t\ttermType: SINGLECELL_CELLTYPE,\n\t\t\t\t\t\tcategoryName: `${value}`,\n\t\t\t\t\t\theaderText: `Sample: ${this.item!.sID} ${this.scTermdbConfig.DEgenes.termId} ${value}`,\n\t\t\t\t\t\ttermId: this.scTermdbConfig.DEgenes.termId,\n\t\t\t\t\t\tsample: this.item!\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: this.scTermdbConfig?.images?.label || 'Image',\n\t\t\t\tisVisible: () =>\n\t\t\t\t\tthis.scTermdbConfig?.images && this.availablePlots.has(this.scTermdbConfig.images.label || 'Image'),\n\t\t\t\tgetPlotConfig: () => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tchartType: 'imagePlot',\n\t\t\t\t\t\tsample: this.item!,\n\t\t\t\t\t\timgDir: this.scTermdbConfig?.images,\n\t\t\t\t\t\theaderText: `Sample: ${this.item!.sID}`,\n\t\t\t\t\t\tsettings: { imagePlot: { width: '', height: 400 } }\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t)\n\t\treturn btns\n\t}\n\n\t//********** Btn Menus **********/\n\tasync termDropdownMenu(plot: any, self: PlotButtons) {\n\t\t/** An array of plots is required for the server request.\n\t\t * The data for all scRNA plots is the same. Pick the first one */\n\t\tconst _plot = Array.from(self.availablePlots)[0]\n\t\tconst options: string[] | undefined = await self.interactions.getDropDownOptions([_plot])\n\t\tif (!options?.length) throw new Error('No options found for this plot. Cannot open dropdown menu.')\n\n\t\tself.plotBtnsDom.tip.clear()\n\t\tconst wrapper = self.plotBtnsDom.tip.d.append('div').style('padding', '10px')\n\t\twrapper\n\t\t\t.append('div')\n\t\t\t.style('display', 'block')\n\t\t\t.style('width', '300px')\n\t\t\t.text(`View differentially expressed genes of a ${self.scTermdbConfig.DEgenes.termId} versus rest of the cells:`)\n\n\t\tconst select = wrapper\n\t\t\t.append('select')\n\t\t\t.style('margin', '10px 0')\n\t\t\t.style('width', 'auto')\n\t\t\t.style('padding', '5px')\n\t\t\t.on('change', async function () {\n\t\t\t\tself.plotBtnsDom.tip.hide()\n\t\t\t\tconst value = select.node()!.value\n\t\t\t\tif (value.indexOf('Select') == 0) return //ignore prompt option\n\t\t\t\tconst config = plot.getPlotConfig(value)\n\t\t\t\tawait self.interactions.createSubplot(config)\n\t\t\t})\n\n\t\tconst regex = new RegExp(self.scTermdbConfig.DEgenes.termId, 'gi')\n\t\toptions.unshift(`Select a ${self.scTermdbConfig.DEgenes.termId}...`)\n\t\tfor (const cluster of options) {\n\t\t\tselect.append('option').attr('value', cluster.replace(regex, '').trim()).text(cluster)\n\t\t}\n\t}\n\n\t//********** Plot Config Helpers **********/\n\tasync getSingleCellConfig(plotName: string): Promise<object> {\n\t\tif (!this.item) throw new Error('No item selected')\n\t\tconst plot = this.scTermdbConfig.data.plots.find(p => p.name == plotName)\n\t\tif (!plot) throw new Error(`No plot by name ${plotName} in data.plots.`)\n\t\tconst sample = this.item\n\t\tconst config: any = {\n\t\t\tchartType: 'sampleScatter',\n\t\t\tname: `Sample: ${this.item.sID}`,\n\t\t\tsample,\n\t\t\tsingleCellPlot: {\n\t\t\t\tname: plotName,\n\t\t\t\tsample\n\t\t\t}\n\t\t}\n\t\tif (plot.colorColumns?.[0]) {\n\t\t\t// apply optional color term. hardcodes to 1st of the array\n\t\t\tconfig.colorTW = await this.makeScctTW(sample, plot)\n\t\t}\n\t\treturn config\n\t}\n\n\t// Quick fix. Eventually use the handler to get the proper term from the termdbConfig\n\tasync makeScctTW(item: { sID: string; eID: string }, plot: any) {\n\t\tconst colorColName = plot.colorColumns[0].name\n\t\tconst savedTerm = this.scctTerms?.find(t => t.name == colorColName && t.plot == plot.name)\n\t\tif (!savedTerm)\n\t\t\tthrow new Error(\n\t\t\t\t`No term found for colorColumn=${colorColName} in .termType2terms.[TermTypeGroups.SINGLECELL_CELLTYPE] for plot ${plot.name}`\n\t\t\t)\n\t\tconst term = Object.assign(structuredClone(savedTerm), {\n\t\t\tsample: item\n\t\t})\n\t\tconst id = await digestMessage(`${plot.name}-${item.sID}-${item.eID}`)\n\t\treturn Object.assign({ $id: id }, { term })\n\t}\n}\n", "import type { Sections } from './Sections'\nimport type { Div, Elem } from '../../../types/d3'\nimport { newSandboxDiv } from '#dom'\nimport type { SCViewer } from '../SC'\nimport type { SingleCellSample } from '#types'\nimport type { GroupByOptions } from '../settings/Settings'\n\n/** Manages the mapping and rendering of the sections based on the groupBy option.\n * sections{} maps the section key (i.e. sampleId, plotName, or none) to the section\n * wrapper, title, subplots div, and the sandboxes in that section.\n *\n * Initializing and destroying the plot components is within SC.ts\n * (i.e. sc.components.plots[plotId]). This ensures plots are responsive to state changes.\n */\nexport class SectionRenderer {\n\tsections: Sections\n\tholder: Div\n\t/** Maps the plotId to either the sampleId, plotName, or none (i.e. key in sections map)\n\t * as a reverse lookup. Used in tandem with sections{} to manage the sandboxes\n\t * within each section. */\n\tplotId2Key: Map<string, string>\n\tgroupBy: (typeof GroupByOptions)[number]\n\n\tconstructor(sectionsDiv: Div, groupBy: (typeof GroupByOptions)[number]) {\n\t\tthis.sections = {}\n\t\tthis.holder = sectionsDiv\n\t\t//Key may be either sampleId, plotName, or none\n\t\tthis.plotId2Key = new Map()\n\t\tthis.groupBy = groupBy\n\t}\n\n\t/** Send the sc with the updated state. May not be necessary long term. If not,\n\t * remove and put in the constructor. */\n\tasync update(sc: SCViewer, subplots: any, groupBy: (typeof GroupByOptions)[number]) {\n\t\tif (groupBy !== this.groupBy) {\n\t\t\tthis.groupBy = groupBy\n\t\t\tthis.holder.selectAll('*').remove()\n\t\t\t/** Reset sections and plotId2Key map when groupBy changes as the keys will be different\n\t\t\t *\n\t\t\t * TODO: evaluate if there's a more performant way to update sections when\n\t\t\t * groupBy changes without needing to re-render all the sections and sandboxes.*/\n\t\t\tthis.sections = {}\n\t\t\tthis.plotId2Key = new Map()\n\t\t\tfor (const subplotId of Object.keys(sc.components.plots)) {\n\t\t\t\tsc.removeComponent(subplotId)\n\t\t\t}\n\t\t}\n\t\tconst activeSubplots = new Set(subplots.map(s => s.id))\n\n\t\t/** Repeat the destory from the close button, as mass/app.ts\n\t\t * cannot remove components from within a parent plot */\n\t\tfor (const plotId of Object.keys(sc.components.plots)) {\n\t\t\tif (!activeSubplots.has(plotId)) {\n\t\t\t\tthis.removeSandbox(plotId, sc)\n\t\t\t}\n\t\t}\n\n\t\tfor (const subplot of subplots) {\n\t\t\tconst key =\n\t\t\t\tgroupBy == 'none' ? 'none' : groupBy == 'sample' ? this.getSampleId(subplot) : this.getPlotName(subplot)\n\t\t\tif (!key) continue\n\t\t\tif (!this.sections[key]) this.initSection(key, sc)\n\t\t\tif (!this.sections[key].sandboxes[subplot.id]) {\n\t\t\t\tthis.plotId2Key.set(subplot.id, key)\n\t\t\t\tawait this.initSandbox(sc, subplot, key)\n\t\t\t}\n\t\t}\n\n\t\t/** Remove sections after iterating through subplots to avoid\n\t\t * deleting sections before they can be re-rendered with the correct plots */\n\t\tfor (const key of Object.keys(this.sections)) {\n\t\t\tif (Object.keys(this.sections[key].sandboxes).length === 0) {\n\t\t\t\tthis.removeSection(key, sc)\n\t\t\t}\n\t\t}\n\t}\n\n\t/** Extract sID from a subplot's config.\n\t * Actual subplots store sample as {sID, eID} at top level or on term.term.sample. */\n\tgetSampleId(subplot: any): string | undefined {\n\t\treturn subplot.sample?.sID || subplot.singleCellPlot?.sample?.sID || subplot.term?.term?.sample?.sID\n\t}\n\n\tgetPlotName(subplot: any): string {\n\t\tlet plotName = subplot?.plotName || subplot?.singleCellPlot?.name || subplot?.term?.term?.plot\n\t\tif (!plotName) {\n\t\t\t/** Harcoding logic for some transient and parent plots for now. May consider\n\t\t\t * adding to the config if this becomes more complex. Must weight against\n\t\t\t * adding unnecessary complexity to the config for edge cases though.*/\n\t\t\tif (subplot.chartType === 'dictionary') plotName = 'Summary'\n\t\t\tif (subplot.chartType === 'summary') plotName = 'Summary'\n\t\t\tif (subplot.chartType === 'GeneExpInput') plotName = 'Gene expression'\n\t\t}\n\t\treturn plotName\n\t}\n\n\tinitSection(key: string, sc: SCViewer) {\n\t\tconst item = this.findSampleMetadata(key, sc)\n\n\t\tconst titleAttrText =\n\t\t\tthis.groupBy == 'sample' ? 'this sample section' : this.groupBy == 'plot' ? 'this plot section' : 'all plots'\n\t\tconst sectionWrapper = this.holder\n\t\t\t.insert('div', ':first-child')\n\t\t\t.style('padding', '10px')\n\t\t\t.attr('data-testid', `sjpp-sc-section-wrapper-${key}`)\n\n\t\t//delete section btn\n\t\tsectionWrapper\n\t\t\t.append('span')\n\t\t\t.attr('data-testid', `sjpp-sc-section-remove-btn-${key}`)\n\t\t\t.style('margin', '0px 5px')\n\t\t\t.style('cursor', 'pointer')\n\t\t\t.attr('title', `Remove ${titleAttrText}`)\n\t\t\t.html(\n\t\t\t\t`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" fill=\"#000\" class=\"bi bi-x-lg\" viewBox=\"0 0 12 12\">\n <path\n stroke=\"#000\"\n transform=\"scale(0.75)\"\n d=\"M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8 2.146 2.854Z\"/>\n </svg>`\n\t\t\t)\n\t\t\t.on('click', () => {\n\t\t\t\tthis.removeSection(key, sc)\n\t\t\t})\n\n\t\tconst titleText = this.makeSectionTitleText(key, item)\n\t\tconst titleWrapper = sectionWrapper.append('span').style('font-weight', 600).style('opacity', 0.7).text(titleText)\n\t\tif (titleText.length) {\n\t\t\tconst arrow = titleWrapper\n\t\t\t\t.append('span')\n\t\t\t\t.style('font-size', '0.8em')\n\t\t\t\t.style('padding-left', '3px')\n\t\t\t\t.attr('title', `Show/hide plots in ${titleAttrText}`)\n\t\t\t\t.text('\u25BC')\n\n\t\t\ttitleWrapper.on('click', () => {\n\t\t\t\tconst isHidden = this.sections[key].subplots.style('display') === 'none'\n\t\t\t\tthis.sections[key].subplots.style('display', isHidden ? 'block' : 'none')\n\t\t\t\tarrow.text(isHidden ? '\u25BC' : '\u25B2')\n\t\t\t})\n\t\t}\n\n\t\tthis.sections[key] = {\n\t\t\tsectionWrapper,\n\t\t\ttitle: titleWrapper,\n\t\t\tsubplots: sectionWrapper.append('div').attr('data-testid', `sjpp-sc-subplots-${key}`),\n\t\t\tsandboxes: {}\n\t\t}\n\t}\n\n\t/** Look up sample metadata from the fetched items list.\n\t * For experiment datasets, matches sID against experiments[].sampleName.\n\t * For non-experiment datasets, matches sID against item.sample. */\n\tfindSampleMetadata(sampleId: string, sc: SCViewer): SingleCellSample | undefined {\n\t\tif (!sc.items) return undefined\n\t\treturn sc.items.find(item => item.sample === sampleId || item.experiments?.some(e => e.sampleName === sampleId))\n\t}\n\n\tmakeSectionTitleText(key: string, item?: SingleCellSample) {\n\t\tif (this.groupBy === 'none') return ''\n\t\tif (this.groupBy === 'plot') return key\n\t\tconst caseText = item?.sample && item.sample !== key ? `Case: ${item.sample}` : ''\n\t\tconst itemText = `Sample: ${key}`\n\t\tconst projectText = item?.['project id'] ? `Project: ${item['project id']}` : ''\n\t\treturn [itemText, caseText, projectText].filter(Boolean).join(' ')\n\t}\n\n\tasync initSandbox(sc: any, subplot: any, key: string) {\n\t\tconst sandboxHolder = this.sections[key].subplots\n\t\t\t.insert('div', ':first-child')\n\t\t\t.attr('data-testid', `sjpp-sc-sandbox-${subplot.id}`) as any as Elem\n\n\t\tconst sandbox = newSandboxDiv(sandboxHolder, {\n\t\t\tclose: () => {\n\t\t\t\tthis.removeSandbox(subplot.id, sc)\n\t\t\t\tsc.app.dispatch({\n\t\t\t\t\ttype: 'plot_delete',\n\t\t\t\t\tid: subplot.id,\n\t\t\t\t\tparentId: sc.id\n\t\t\t\t})\n\t\t\t},\n\t\t\tplotId: subplot.id\n\t\t})\n\n\t\tconst opts = Object.assign({}, subplot, {\n\t\t\tapp: sc.app,\n\t\t\tparentId: sc.id,\n\t\t\tid: subplot.id\n\t\t})\n\n\t\t/** Summary is expecting entire sandbox object. Most other plots\n\t\t * expect the header and the holder (i.e. body).*/\n\t\tif (subplot.chartType == 'summary') {\n\t\t\topts.holder = sandbox\n\t\t} else {\n\t\t\topts.holder = sandbox.body\n\t\t\topts.header = sandbox.header\n\t\t}\n\t\tawait sc.initPlotComponent(subplot.id, opts)\n\t\tthis.sections[key].sandboxes[subplot.id] = sandbox.app_div\n\t}\n\n\tremoveSection(key: string, sc: SCViewer) {\n\t\tconst subactions: { type: string; id: string; parentId: string }[] = []\n\t\tfor (const plotId of Object.keys(this.sections[key].sandboxes || {})) {\n\t\t\tthis.removeSandbox(plotId, sc, key)\n\t\t\t/** Need to remove plots from the state to prevent main from re-rendering\n\t\t\t * and memory leak from orphaned components after the section is deleted. */\n\t\t\tsubactions.push({\n\t\t\t\ttype: 'plot_delete',\n\t\t\t\tid: plotId,\n\t\t\t\tparentId: sc.id\n\t\t\t})\n\t\t}\n\t\tif (subactions.length > 0) {\n\t\t\tsc.app.dispatch({\n\t\t\t\ttype: 'app_refresh',\n\t\t\t\tsubactions\n\t\t\t})\n\t\t}\n\t\tthis.sections[key].sectionWrapper.remove()\n\t\tdelete this.sections[key]\n\t}\n\n\tremoveSandbox(plotId: string, sc: SCViewer, _key?: string) {\n\t\t//Delete the component before calling dispatch\n\t\t//Prevents main attempting to re-init the component\n\t\tsc.removeComponent(plotId)\n\t\tconst key = _key || this.plotId2Key.get(plotId)\n\t\tif (!key) return\n\t\tthis.sections[key].sandboxes[plotId].remove()\n\t\tdelete this.sections[key].sandboxes[plotId]\n\t\t//Remove the reference to the plotId in plot2Sample map to avoid memory leak\n\t\tthis.plotId2Key.delete(plotId)\n\t}\n}\n", "import type { SCSample } from '../SCTypes'\n\nexport const GroupByOptions = ['none', 'sample', 'plot'] as const\n\nexport type Settings = {\n\tsc: SCSettings\n\thierCluster: {\n\t\tunit: string\n\t\tyDendrogramHeight: number\n\t\tclusterSamples: boolean\n\t}\n}\n\nexport type SCSettings = {\n\tcolumns: {\n\t\t/** Defined column name for 'sample' column*/\n\t\tsample: string\n\t}\n\t/** Active item chosen by the user */\n\titem: SCSample | undefined\n\tgroupBy: (typeof GroupByOptions)[number]\n}\n", "import type { SCDom, SCTableData } from '../SCTypes'\nimport type { SCInteractions } from '../interactions/SCInteractions'\nimport { SampleTableRenderer } from './SampleTableRenderer'\nimport { PlotButtons } from './PlotButtons'\nimport { SectionRenderer } from './SectionRenderer'\nimport type { SCViewer } from '../SC.ts'\nimport { GroupByOptions, type SCSettings, type Settings } from '../settings/Settings'\nimport { make_radios } from '#dom'\nimport type { SingleCellDataGdc, SingleCellDataNative } from '#types'\nimport type { PlotBase } from '#plots/PlotBase.ts'\n\n/** Manages the initial rendering of the sample table and the dynamic\n * rendering of the plot buttons and sections based on the selected sample and plots.\n * .update() from sc.main() updates the plot buttons and sections. */\nexport class SCViewRenderer {\n\tdom: SCDom\n\tinteractions: SCInteractions\n\tplotBtns: PlotButtons\n\t//On load, show table\n\t//Eventually maybe an app dispatch and not a flag\n\tstatic inUse: boolean = true\n\tsectionRenderer: SectionRenderer\n\tsc: SCViewer\n\n\tconstructor(sc: SCViewer, state: any) {\n\t\tthis.sc = sc\n\t\tthis.dom = sc.dom\n\t\tthis.interactions = sc.interactions\n\t\tthis.plotBtns = new PlotButtons(this.interactions, this.dom.plotsBtnsDiv, state)\n\t\tthis.sectionRenderer = new SectionRenderer(this.dom.sectionsDiv, state.config.settings.sc.groupBy)\n\t}\n\n\trender(tableData: SCTableData, settings: SCSettings) {\n\t\tthis.renderSelectBtn()\n\t\tthis.renderGroupByOptions(settings)\n\t\tnew SampleTableRenderer(this.dom, this.interactions, tableData)\n\t\tthis.dom.plotsBtnsDiv.style('display', 'none')\n\t}\n\n\t/** Renders the select btn at the top of the page that\n\t * show/hides the item table and plot buttons */\n\trenderSelectBtn() {\n\t\tthis.dom.controlsDiv.style('padding', '10px')\n\n\t\tconst btn = this.dom.controlsDiv\n\t\t\t.append('button')\n\t\t\t.attr('data-testid', 'sjpp-sc-item-table-select-btn')\n\t\t\t.attr('title', 'Show/hide sample table and plot buttons')\n\t\t\t.style('border-radius', '20px')\n\t\t\t.style('padding', '5px 10px')\n\t\t\t.style('background-color', 'transparent')\n\t\t\t//Will need to use ds specific keys/logic here\n\t\t\t.text('Select sample and plots')\n\n\t\tconst arrowSpan = btn.append('span').style('font-size', '0.8em').style('padding-left', '3px').text('\u25BC')\n\n\t\tbtn.on('click', () => {\n\t\t\tSCViewRenderer.inUse = !SCViewRenderer.inUse\n\t\t\tarrowSpan.text(SCViewRenderer.inUse ? '\u25BC' : '\u25B2')\n\t\t\tthis.dom.tableDiv.style('display', SCViewRenderer.inUse ? 'block' : 'none')\n\t\t\tthis.dom.plotsBtnsDiv.style('display', SCViewRenderer.inUse ? 'block' : 'none')\n\t\t})\n\t}\n\n\trenderGroupByOptions(settings: SCSettings) {\n\t\tthis.dom.controlsDiv\n\t\t\t.append('span')\n\t\t\t.style('padding', '3px 0px 3px 20px')\n\t\t\t.style('opacity', 0.7)\n\t\t\t.text('Group plots by:')\n\t\tconst optionsDiv = this.dom.controlsDiv.append('span').style('display', 'inline-block')\n\t\tconst options = GroupByOptions.map(option => {\n\t\t\treturn {\n\t\t\t\tlabel: `${option.charAt(0).toUpperCase() + option.slice(1)}`,\n\t\t\t\tvalue: option,\n\t\t\t\tchecked: settings.groupBy === option\n\t\t\t}\n\t\t})\n\t\tmake_radios({\n\t\t\tholder: optionsDiv,\n\t\t\tstyles: { display: 'inline-block' },\n\t\t\toptions,\n\t\t\tcallback: async value => {\n\t\t\t\tawait this.sc.app.dispatch({\n\t\t\t\t\ttype: 'plot_edit',\n\t\t\t\t\tid: this.sc.id,\n\t\t\t\t\tconfig: { settings: { sc: { ...settings, groupBy: value } } }\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\n\tasync update(settings: Settings, data: SingleCellDataNative | SingleCellDataGdc, subplots: PlotBase[]) {\n\t\tthis.plotBtns.update(settings, data)\n\t\t//Also handles when settings.sc.groupBy == 'none' to show all plots in one section\n\t\tawait this.sectionRenderer.update(this.sc, subplots, settings.sc.groupBy)\n\t}\n}\n", "import { getGEunit } from '#tw/geneExpression'\nimport type { Settings } from './Settings'\n\n/** Define all subplot settings here */\nexport function getDefaultSCAppSettings(overrides = {}, app): Settings {\n\tconst defaults: Settings = {\n\t\tsc: {\n\t\t\tcolumns: {\n\t\t\t\t// TODO: Implement ds specific column name\n\t\t\t\tsample: 'Sample'\n\t\t\t},\n\t\t\titem: undefined,\n\t\t\tgroupBy: 'sample'\n\t\t},\n\t\thierCluster: {\n\t\t\tunit: getGEunit(app.vocabApi),\n\t\t\tyDendrogramHeight: 0,\n\t\t\tclusterSamples: false\n\t\t}\n\t}\n\treturn Object.assign(defaults, overrides)\n}\n", "import type { BasePlotConfig, MassAppApi, MassState } from '#mass/types/mass'\nimport type { SCConfigOpts, SCDom, SCFormattedState, SCViewerOpts, SampleColumn } from './SCTypes'\nimport type { SingleCellSample } from '#types'\nimport { PlotBase } from '../PlotBase.ts'\nimport { getCompInit, copyMerge, type RxComponent } from '#rx'\nimport { SCModel } from './model/SCModel'\nimport { SCViewModel } from './viewModel/SCViewModel'\nimport { SCInteractions } from './interactions/SCInteractions'\nimport { SCViewRenderer } from './view/SCViewRenderer'\nimport { getDefaultSCAppSettings } from './settings/defaults.ts'\nimport { importPlot } from '#plots/importPlot.js'\n\nexport class SCViewer extends PlotBase implements RxComponent {\n\tstatic type = 'sc'\n\n\ttype: string\n\tcomponents: { plots: { [key: string]: any } }\n\tdom: SCDom\n\tinteractions!: SCInteractions\n\titems!: SingleCellSample[]\n\titemColumns!: SampleColumn[]\n\tmodel!: SCModel\n\tview!: SCViewRenderer\n\tviewModel!: SCViewModel\n\n\tconstructor(opts: SCViewerOpts, api: any) {\n\t\tsuper(opts, api)\n\t\tthis.type = SCViewer.type\n\t\tthis.components = {\n\t\t\tplots: {}\n\t\t}\n\t\tconst div = opts.holder\n\t\t\t.classed('sjpp-sc-main', true)\n\t\t\t.append('div')\n\t\t\t.style('padding', '5px')\n\t\t\t.style('display', 'inline-block')\n\t\t\t.style('vertical-align', 'top')\n\n\t\tthis.dom = {\n\t\t\tdiv,\n\t\t\tloading: opts.holder\n\t\t\t\t.append('div')\n\t\t\t\t.attr('class', 'sjpp-sc-main-loading')\n\t\t\t\t.attr('data-testid', 'sjpp-sc-main-loading')\n\t\t\t\t.style('position', 'absolute')\n\t\t\t\t.style('top', '0')\n\t\t\t\t.style('left', '0')\n\t\t\t\t.style('width', '100%')\n\t\t\t\t.style('height', '100%')\n\t\t\t\t.style('background-color', 'rgba(255, 255, 255, 0.95)')\n\t\t\t\t.style('text-align', 'center'),\n\t\t\tcontrolsDiv: div.append('div').attr('id', 'sjpp-sc-controls-btn'),\n\t\t\ttableDiv: div.append('div').attr('id', 'sjpp-sc-item-table'),\n\t\t\tplotsBtnsDiv: div.append('div').attr('id', 'sjpp-sc-plot-buttons').style('display', 'none'),\n\t\t\tsectionsDiv: div.append('div').attr('id', 'sjpp-sc-sections')\n\t\t}\n\n\t\t//opts.header is the sandbox header\n\t\tif (opts.header) opts.header.html(`SINGLE CELL`).style('font-size', '0.9em')\n\t}\n\n\tgetState(appState: any): SCFormattedState {\n\t\tconst config = appState.plots.find((p: BasePlotConfig) => p.id === this.id)\n\t\tif (!config) {\n\t\t\tthrow new Error(\n\t\t\t\t`No plot with id='${this.id}' found. Did you set this.id before this.api = getComponentApi(this)?`\n\t\t\t)\n\t\t}\n\t\treturn {\n\t\t\tconfig,\n\t\t\tsubplots: appState.plots.filter(p => p.parentId === this.id),\n\t\t\ttermfilter: appState.termfilter,\n\t\t\ttermdbConfig: appState.termdbConfig,\n\t\t\tvocab: appState.vocab\n\t\t}\n\t}\n\n\tasync init(appState: MassState) {\n\t\tconst state = this.getState(appState) as SCFormattedState\n\t\t/** ds defines defaults in termdbConfig.queries.singleCell\n\t\t * see Dataset type when resuming development */\n\t\tconst dsScSamples = state.termdbConfig.queries?.singleCell?.samples\n\t\tthis.model = new SCModel(this.app, this.id)\n\t\ttry {\n\t\t\t/** Fetches the single cell sample data for the table */\n\t\t\tconst response = await this.model.getSampleData()\n\t\t\tif (response.error || !response.samples || !response.samples.length) {\n\t\t\t\tthis.app.printError('No samples found for this dataset')\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.items = response.samples\n\t\t\tthis.itemColumns = await this.model.getColumnLabels(dsScSamples)\n\t\t} catch (e: any) {\n\t\t\tif (e instanceof Error) console.error(`${e.message || e} [SC init()]`)\n\t\t\telse if (e.stack) console.log(e.stack)\n\t\t\tthrow new Error(e.message || e)\n\t\t}\n\t\tthis.interactions = new SCInteractions(this)\n\t\tthis.viewModel = new SCViewModel(this.app, state.config, this.items!, this.itemColumns)\n\t\tthis.view = new SCViewRenderer(this, state)\n\n\t\t/** The item data and table rendering should only occur once\n\t\t * .update() in main() handles changes to the buttons and plots */\n\t\tthis.view.render(this.viewModel.tableData, state.config.settings.sc)\n\t}\n\n\tasync main() {\n\t\tconst state = structuredClone(this.state) as SCFormattedState\n\t\tconst config = state.config\n\n\t\tif (!this.model) throw new Error(`Model not initialized`)\n\t\tif (!this.viewModel) throw new Error(`ViewModel not initialized`)\n\t\tif (!this.view) throw new Error(`View not initialized`)\n\t\tif (!this.interactions) throw new Error(`Interactions not initialized`)\n\n\t\tthis.interactions.toggleLoading(true)\n\n\t\tlet data: any = null\n\t\tif (config.settings.sc.item) {\n\t\t\ttry {\n\t\t\t\tdata = await this.model.getData()\n\t\t\t\tif (data.error || !data.plots || !data.plots.length) {\n\t\t\t\t\tthis.interactions.toggleLoading(false)\n\t\t\t\t\tthis.app.printError(data.error)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t} catch (e: any) {\n\t\t\t\tthis.interactions.toggleLoading(false)\n\t\t\t\tif (e instanceof Error) console.error(`${e.message || e} [SC main()]`)\n\t\t\t\telse if (e.stack) console.log(e.stack)\n\t\t\t\tthrow new Error(e.message || e)\n\t\t\t}\n\t\t}\n\t\tawait this.view.update(config.settings, data, state.subplots)\n\t\tthis.interactions.toggleLoading(false)\n\t}\n\n\tasync initPlotComponent(subplotId, opts) {\n\t\tconst { componentInit } = await importPlot(opts.chartType)\n\t\tthis.components.plots[subplotId] = await componentInit(opts)\n\t}\n\n\tremoveComponent(subplotId) {\n\t\tthis.components.plots[subplotId].destroy()\n\t\tdelete this.components.plots[subplotId]\n\t}\n}\n\nexport const SCInit = getCompInit(SCViewer)\nexport const componentInit = SCInit\n\nexport function getPlotConfig(opts: SCConfigOpts, app: MassAppApi) {\n\tconst config = {\n\t\tchartType: 'sc',\n\t\thidePlotFilter: true,\n\t\tsettings: getDefaultSCAppSettings(opts.overrides, app)\n\t} as any\n\n\treturn copyMerge(config, opts)\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["componentInit"]
|
|
7
|
+
}
|