@sjcrh/proteinpaint-client 2.212.0 → 2.213.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-3FDGCUTK.js +1367 -0
- package/dist/AggMatrixInput-QA2FHMSY.js +406 -0
- package/dist/AggregateMatrix-XGVKDN2K.js +41 -0
- package/dist/AppHeader-NVLHCOVU.js +830 -0
- package/dist/BoxPlot-IVO7VBQZ.js +1208 -0
- package/dist/CorrelationVolcano-2XD5OH2S.js +617 -0
- package/dist/Cuminc-ECQ56PKO.js +1220 -0
- package/dist/DE-KWA2K24U.js +89 -0
- package/dist/DEinput-ZP6CYIRN.js +501 -0
- package/dist/DM-ME7CCC4E.js +90 -0
- package/dist/DifferentialAnalysis-6SIKR566.js +239 -0
- package/dist/Disco-LVRT7T3B.js +3389 -0
- package/dist/Disco.UI-GT64ZEK4.js +243 -0
- package/dist/DmrPlot-ZZYKJ4UH.js +362 -0
- package/dist/GB-WR6SENAZ.js +1392 -0
- package/dist/GSEA-U2GFOHWT.js +875 -0
- package/dist/GeneExpInput-CQSORTKI.js +42 -0
- package/dist/Geomap-CGJ7EIMD.js +84 -0
- package/dist/HicApp-DS3HC2G5.js +2245 -0
- package/dist/IDCViewer-6KWSZWZ7.js +10812 -0
- package/dist/NumBinaryEditor-BQVR2RDS.js +279 -0
- package/dist/NumBinaryEditor.unit.spec-FAOFWPDH.js +312 -0
- package/dist/NumContEditor-6T6XFLAM.js +105 -0
- package/dist/NumContEditor.unit.spec-GTBA5F4D.js +164 -0
- package/dist/NumCustomBinEditor-Q2GJOFOH.js +33 -0
- package/dist/NumCustomBinEditor.unit.spec-TSJE3OVN.js +397 -0
- package/dist/NumDiscreteEditor-QFKPIRDW.js +170 -0
- package/dist/NumDiscreteEditor.unit.spec-VKDRO52H.js +233 -0
- package/dist/NumRegularBinEditor-SLFPSTA3.js +33 -0
- package/dist/NumRegularBinEditor.unit.spec-WROEDSWQ.js +278 -0
- package/dist/NumSplineEditor-AEXNF6E4.js +210 -0
- package/dist/NumSplineEditor.unit.spec-UOESCG7A.js +224 -0
- package/dist/NumericDensity-KPJ6C7N3.js +33 -0
- package/dist/NumericDensity.unit.spec-HM5IAPQT.js +418 -0
- package/dist/NumericHandler-S3HPYHOJ.js +34 -0
- package/dist/NumericHandler.unit.spec-B4CY2GR6.js +214 -0
- package/dist/ProteomeInput-AC5TRXHE.js +388 -0
- package/dist/Regression-MHGQ2ECB.js +1416 -0
- package/dist/RunChart2-6VSXLBNE.js +749 -0
- package/dist/SC-KPIQR5JQ.js +1348 -0
- package/dist/Violin-6BRIIZAY.js +1064 -0
- package/dist/Volcano-TNNAVPVQ.js +2456 -0
- package/dist/Wsi-JRAK47YP.js +629 -0
- package/dist/adSandbox-HZROPAPC.js +33 -0
- package/dist/animatedBubbleChart-C57NY3PX.js +547 -0
- package/dist/app-HU4F4WBL.js +32 -0
- package/dist/app-OS2T3Q6X.js +42 -0
- package/dist/app.js +13 -13
- package/dist/bam-XBYHZH7B.js +876 -0
- package/dist/barchart-7MOHGOPW.js +42 -0
- package/dist/barchart2-NOWNROMN.js +309 -0
- package/dist/block-PRB7FXIC.js +6250 -0
- package/dist/block.init-EQJ42A2H.js +33 -0
- package/dist/block.mds.expressionrank-W6GIHAAL.js +354 -0
- package/dist/block.mds.geneboxplot-GBP5N7AU.js +823 -0
- package/dist/block.mds.junction-TUIXESU2.js +1539 -0
- package/dist/block.mds.svcnv-YOUIXG4A.js +6796 -0
- package/dist/block.svg-XAQJBCOC.js +159 -0
- package/dist/block.tk.aicheck-MRR74ULN.js +278 -0
- package/dist/block.tk.ase-ZB5W537R.js +360 -0
- package/dist/block.tk.bam-66562WN7.js +1901 -0
- package/dist/block.tk.bedgraphdot-CGBLLLI7.js +379 -0
- package/dist/block.tk.bigwig.ui-FXE6KXRG.js +206 -0
- package/dist/block.tk.hicstraw-RZXW5CWM.js +818 -0
- package/dist/block.tk.junction-FSGFU7B3.js +2358 -0
- package/dist/block.tk.junction.textmatrixui-VR4ZIEUP.js +194 -0
- package/dist/block.tk.ld-QE54JIGV.js +94 -0
- package/dist/block.tk.menu-GFGPEMXQ.js +1054 -0
- package/dist/block.tk.menu-GFGPEMXQ.js.map +7 -0
- package/dist/block.tk.pgv-IPX2D3GA.js +938 -0
- package/dist/brainImaging-J4HK4JON.js +555 -0
- package/dist/brainRegions-RH4EXEQ7.js +217 -0
- package/dist/bubbleHeatmap-R2CNWOAJ.js +378 -0
- package/dist/cellTypeBubbleHeatmap-KJSNP4A3.js +278 -0
- package/dist/chunk-2Z2TFFLP.js +299 -0
- package/dist/chunk-3447YXVI.js +129 -0
- package/dist/chunk-35DMRAGG.js +302 -0
- package/dist/chunk-3BBUXNES.js +480 -0
- package/dist/chunk-3CIL7KH7.js +481 -0
- package/dist/chunk-3KH5JUZV.js +1278 -0
- package/dist/chunk-3SBHDIJU.js +468 -0
- package/dist/chunk-3YNRU4SC.js +98 -0
- package/dist/chunk-4E2F26CC.js +143 -0
- package/dist/chunk-4VZ4HR3U.js +134 -0
- package/dist/chunk-5RFLLJRG.js +2327 -0
- package/dist/chunk-5X2MW4CV.js +102 -0
- package/dist/chunk-6TCULFEF.js +2784 -0
- package/dist/chunk-7HPICVA4.js +178 -0
- package/dist/chunk-7PBHM4JU.js +14 -0
- package/dist/chunk-B2FSMLYK.js +4375 -0
- package/dist/chunk-B5BLNQ2E.js +70 -0
- package/dist/chunk-BR76YIDV.js +240 -0
- package/dist/chunk-BS6IUMA6.js +1339 -0
- package/dist/chunk-BUX5YSDF.js +56 -0
- package/dist/chunk-C2KMMY53.js +339 -0
- package/dist/chunk-CD2WD7ZG.js +56 -0
- package/dist/chunk-CUHJN6CC.js +217 -0
- package/dist/chunk-CWWE77DH.js +498 -0
- package/dist/chunk-DCHHIXIP.js +103 -0
- package/dist/chunk-FDBT4PQ6.js +182 -0
- package/dist/chunk-FMFEQPMB.js +783 -0
- package/dist/chunk-FVADQZLY.js +2676 -0
- package/dist/chunk-GDJUSLDV.js +1812 -0
- package/dist/chunk-GPJLIBNO.js +102 -0
- package/dist/chunk-H6GPQPSM.js +203 -0
- package/dist/chunk-HBNB5TRH.js +787 -0
- package/dist/chunk-HBNB5TRH.js.map +7 -0
- package/dist/chunk-HFEFFFPL.js +1233 -0
- package/dist/chunk-HUGVRGQO.js +176 -0
- package/dist/chunk-IP2PLKC3.js +158 -0
- package/dist/chunk-JPJ2DKP5.js +2902 -0
- package/dist/chunk-JQ3JE2F6.js +141 -0
- package/dist/chunk-K2ITA56I.js +80 -0
- package/dist/chunk-K5P3JV6N.js +49 -0
- package/dist/chunk-KRQC5AOW.js +626 -0
- package/dist/chunk-LDDN2BHX.js +6360 -0
- package/dist/chunk-LOHACXSB.js +255 -0
- package/dist/chunk-MIG3QAYD.js +1988 -0
- package/dist/chunk-N5CSNFDP.js +272 -0
- package/dist/chunk-NZBCTASL.js +54 -0
- package/dist/chunk-O3EJBFK7.js +5217 -0
- package/dist/chunk-OB3S6QYD.js +243 -0
- package/dist/chunk-OLV3Q6TN.js +55 -0
- package/dist/chunk-PRPQ654B.js +263 -0
- package/dist/chunk-QI6X4V43.js +25009 -0
- package/dist/chunk-QZXUHBUV.js +550 -0
- package/dist/chunk-S2PNRIOW.js +123 -0
- package/dist/chunk-T4XPCSLP.js +117 -0
- package/dist/chunk-TCHFJHHC.js +237 -0
- package/dist/chunk-TR2BNELL.js +518 -0
- package/dist/chunk-TZZTJWLD.js +34 -0
- package/dist/chunk-UH5BHS42.js +692 -0
- package/dist/chunk-VRY727VE.js +276 -0
- package/dist/chunk-WA3C3A2M.js +147 -0
- package/dist/chunk-XIJC7RNK.js +217 -0
- package/dist/chunk-XVOHS4CK.js +54 -0
- package/dist/chunk-Y3ABEAKV.js +379 -0
- package/dist/chunk-YB2A2CWR.js +294 -0
- package/dist/chunk-YU7CVG4B.js +2258 -0
- package/dist/chunk-YU7CVG4B.js.map +7 -0
- package/dist/chunk-ZKZHYCO3.js +382 -0
- package/dist/cohort-J3JNIMCT.js +70 -0
- package/dist/condition-A6VAD4OS.js +327 -0
- package/dist/controls-2R2OQAX2.js +34 -0
- package/dist/controls.btns-6AKLIWOG.js +9 -0
- package/dist/controls.config-UPE6TAHK.js +34 -0
- package/dist/correlation-Q6HYOUOX.js +95 -0
- package/dist/customdata.inputui-KQJKSQNI.js +284 -0
- package/dist/dataDownload-PYQX2BWN.js +329 -0
- package/dist/databrowser.ui-LPFKGVW3.js +425 -0
- package/dist/dictionary-GYN7OXWQ.js +113 -0
- package/dist/dnaMethylation-TSRHGNNY.js +33 -0
- package/dist/dnaMethylation.integration.spec-3YYSFVKK.js +198 -0
- package/dist/dofetch-4YRJUWLJ.js +48 -0
- package/dist/e2pca-G4AVRHQC.js +344 -0
- package/dist/ep-MHT3CLGK.js +1249 -0
- package/dist/expclust.gdc.spec-2TWLDD2S.js +302 -0
- package/dist/facet-4O65ZSBQ.js +519 -0
- package/dist/facet-4O65ZSBQ.js.map +7 -0
- package/dist/gb-WLOGQSEU.js +81 -0
- package/dist/geneExpClustering-LOLLER5C.js +244 -0
- package/dist/geneExpression-NP2N4CRU.js +310 -0
- package/dist/geneExpression-RWE7PBBD.js +33 -0
- package/dist/geneExpression.unit.spec-MBE6YVKY.js +128 -0
- package/dist/geneORA-ZWZCCBL7.js +273 -0
- package/dist/geneRanking-UZXH5SLT.js +548 -0
- package/dist/geneVariant-MULXYJ7M.js +36 -0
- package/dist/geneVariant-ZPINPLRP.js +289 -0
- package/dist/geneVariant.integration.spec-6DNKP22T.js +503 -0
- package/dist/genefusion.ui-S4BPNRIO.js +303 -0
- package/dist/geneset-LZNALH2H.js +203 -0
- package/dist/genomeBrowser.spec-JOIKBWVC.js +276 -0
- package/dist/grin2-GFZ5REPY.js +949 -0
- package/dist/grin2-JPR6LCXT.js +70 -0
- package/dist/hierCluster-DCESQECE.js +55 -0
- package/dist/hierCluster-M6R4CH22.js +59 -0
- package/dist/hierCluster.config-DBQYJXML.js +36 -0
- package/dist/hierCluster.integration.spec-DPXTME5W.js +483 -0
- package/dist/hierCluster.interactivity-EKKKYVEP.js +49 -0
- package/dist/imagePlot-XXSCMNUV.js +156 -0
- package/dist/importPlot-LKMMP7ZV.js +8 -0
- package/dist/isoformExpression-A634VVY3.js +35 -0
- package/dist/isoformExpression.unit.spec-2J4VQH43.js +237 -0
- package/dist/junction-22DCADQW.js +36 -0
- package/dist/junction.unit.spec-NQDRD66O.js +182 -0
- package/dist/launch.adhoc-NAHAYONX.js +37 -0
- package/dist/leftlabel.sample-CRMQSNCJ.js +258 -0
- package/dist/lollipop-XLPUIZBA.js +166 -0
- package/dist/maf-LPXQMGJC.js +455 -0
- package/dist/maftimeline-X2YPHLLO.js +587 -0
- package/dist/matrix-U7PGR4MD.js +54 -0
- package/dist/matrix-UAU7QUP2.js +59 -0
- package/dist/matrix.config-HZ3TORDS.js +37 -0
- package/dist/matrix.data-D77IGADO.js +23 -0
- package/dist/matrix.dom-3Z5PNSKJ.js +11 -0
- package/dist/matrix.integration.spec-7QLCJO26.js +3160 -0
- package/dist/matrix.interactivity-OIKLY2O6.js +37 -0
- package/dist/matrix.layout-ICBZ5PCU.js +39 -0
- package/dist/matrix.renderers-PN56PKD3.js +34 -0
- package/dist/matrix.sort.unit.spec-IQOMDVVS.js +468 -0
- package/dist/matrix.sorterUi-UKANNCZM.js +16 -0
- package/dist/matrix.sorterUi.unit.spec-JCN62VCG.js +338 -0
- package/dist/matrix.unit.spec-JASP2ZH6.js +150 -0
- package/dist/mavb-KHRJRSUD.js +727 -0
- package/dist/mds.fimo-LOR3DSLQ.js +513 -0
- package/dist/mds.samplescatterplot-W3TCPYHS.js +1545 -0
- package/dist/mds.survivalplot-EYAA5IO3.js +477 -0
- package/dist/multivalue-GGM5DFPD.js +83 -0
- package/dist/oncomatrix-MVLDAB6I.js +290 -0
- package/dist/oncomatrix.spec-43PZ4CLH.js +443 -0
- package/dist/plot.2dvaf-4H3YMAIV.js +372 -0
- package/dist/plot.app-OZGOECPK.js +36 -0
- package/dist/plot.barplot-OQKZAU3N.js +97 -0
- package/dist/plot.boxplot-4O4VNRMV.js +146 -0
- package/dist/plot.brainImaging-6I4HHUMD.js +51 -0
- package/dist/plot.disco-BOWNCFJV.js +99 -0
- package/dist/plot.ssgq-6STRLDEG.js +134 -0
- package/dist/plot.vaf2cov-75EZA7PJ.js +253 -0
- package/dist/polar2-QQ2ZYQ3I.js +232 -0
- package/dist/profileForms-WU7UNK7Y.js +941 -0
- package/dist/profilePlot-KW7UITCT.js +49 -0
- package/dist/proteinView-ET75MKLU.js +1357 -0
- package/dist/proteomeCohortCompare-SDX5D26O.js +912 -0
- package/dist/pseudbulk.unit.spec-T3B2T5FK.js +86 -0
- package/dist/pseudobulk-4O6GK2TZ.js +35 -0
- package/dist/qualitative-FUJ6JHPZ.js +38 -0
- package/dist/radar2-G75NIN2N.js +327 -0
- package/dist/radarFacility2-OOAUSL6F.js +335 -0
- package/dist/render-JMAJCJFT.js +33 -0
- package/dist/report-UKB7676O.js +217 -0
- package/dist/sampleView-JGWU2E5H.js +43 -0
- package/dist/samplelst-ZB23PILZ.js +106 -0
- package/dist/samplematrix-CQAB5PVO.js +2193 -0
- package/dist/sc-JOIUUG4I.js +81 -0
- package/dist/scatter-DCX72P3N.js +88 -0
- package/dist/scatter-JXBGEKLF.js +925 -0
- package/dist/selectGenomeWithTklst-EZTHPCBB.js +129 -0
- package/dist/singleCellCellType-BOQTDUZA.js +33 -0
- package/dist/singleCellCellType.unit.spec-3HUF7VWW.js +154 -0
- package/dist/singleCellGeneExpression-UBTHLFRN.js +33 -0
- package/dist/singleCellGeneExpression.unit.spec-YM6EQB3E.js +148 -0
- package/dist/singleCellNumericValue-53T6WOHJ.js +33 -0
- package/dist/singleCellNumericValue.unit.spec-SYSMD5IW.js +416 -0
- package/dist/singleCellPlot-3V47EUB4.js +48 -0
- package/dist/singlecell-AFGFONXY.js +81 -0
- package/dist/singlecell-VZI3LEUT.js +1566 -0
- package/dist/snp-IPIYL7OY.js +33 -0
- package/dist/snp.unit.spec-OC5JHCXR.js +171 -0
- package/dist/snplocus-DSGUSGUP.js +203 -0
- package/dist/spliceevent.a53ss.diagram-RNAJHS4P.js +146 -0
- package/dist/spliceevent.exonskip.diagram-YWRATK46.js +278 -0
- package/dist/spliceevent.noeventdiagram-6ZJRJ4QZ.js +455 -0
- package/dist/ssGSEA-IWCC6JDL.js +33 -0
- package/dist/ssGSEA.unit.spec-3TKDENWO.js +83 -0
- package/dist/stattable-EXOWMETP.js +117 -0
- package/dist/studyCatalog-OAGHQXKY.js +414 -0
- package/dist/summarizeCnvGeneexp-K6XO5YEP.js +158 -0
- package/dist/summarizeGeneexpSurvival-WTAGCCU4.js +105 -0
- package/dist/summarizeMutationCnv-QKIDS3LI.js +159 -0
- package/dist/summarizeMutationDiagnosis-ACFWADSQ.js +35 -0
- package/dist/summarizeMutationSurvival-XPFPN4N5.js +99 -0
- package/dist/summary-VCU2NTIZ.js +44 -0
- package/dist/summary.integration.spec-2DE653PH.js +409 -0
- package/dist/summaryInput-GO75OPLA.js +242 -0
- package/dist/sunburst-BSCFRYSV.js +278 -0
- package/dist/survival-BEP7JNML.js +1249 -0
- package/dist/survival-XUO2D6CX.js +53 -0
- package/dist/survival.integration.spec-EO5KAFDQ.js +613 -0
- package/dist/svgraph-YGXOB3QY.js +1382 -0
- package/dist/svmr-MATMMI4E.js +3837 -0
- package/dist/table-DFSX7XYJ.js +197 -0
- package/dist/termCollection-GKPC4K2O.js +252 -0
- package/dist/termCollection-ZUJFB7YB.js +33 -0
- package/dist/termCollection.unit.spec-YE7IKC6S.js +299 -0
- package/dist/termCollectionFractionSelection-DLWXUEEN.js +42 -0
- package/dist/termCollectionFractionSelection.unit.spec-N2LNHIWC.js +188 -0
- package/dist/termInfo-PZ7UDA5C.js +9 -0
- package/dist/tk-PHTWQHVV.js +41 -0
- package/dist/tk-RNUMIS5P.js +1121 -0
- package/dist/tp.ui-A52OBFJD.js +1454 -0
- package/dist/tvs.dt-SQSP3UXH.js +34 -0
- package/dist/tvs.dtcnv.categorical-3IWQMUEM.js +35 -0
- package/dist/tvs.dtcnv.continuous-ZD5WM32O.js +67 -0
- package/dist/tvs.dtfusion-G47Z7NP3.js +35 -0
- package/dist/tvs.dtitd-57PSTVRM.js +35 -0
- package/dist/tvs.dtsnvindel-CS3ZVFWN.js +35 -0
- package/dist/tvs.dtsv-LNWDVFCR.js +35 -0
- package/dist/tvs.samplelst-EMZOR4SY.js +98 -0
- package/dist/tvs.termCollection-RX5ASV3N.js +122 -0
- package/dist/vocabulary-JVAACQPU.js +36 -0
- package/dist/wsi.direct-J4SNIUUW.js +8343 -0
- package/package.json +3 -3
- package/dist/2dmaf-R23YQDZC.js +0 -1367
- package/dist/AggMatrixInput-4DIGZZN4.js +0 -406
- package/dist/AggregateMatrix-TF6XXFUN.js +0 -41
- package/dist/AppHeader-JB5HPAOQ.js +0 -830
- package/dist/BoxPlot-47TUXQDP.js +0 -1208
- package/dist/CorrelationVolcano-G7K5JEPM.js +0 -617
- package/dist/Cuminc-LBXPOENU.js +0 -1220
- package/dist/DE-JSWA6HXV.js +0 -89
- package/dist/DEinput-LEYRVYK6.js +0 -501
- package/dist/DM-332QECUP.js +0 -90
- package/dist/DifferentialAnalysis-JGH2OMTH.js +0 -239
- package/dist/Disco-36PJXFM6.js +0 -3389
- package/dist/Disco.UI-PY2KOGKY.js +0 -243
- package/dist/DmrPlot-5WMOBZOJ.js +0 -362
- package/dist/GB-6WWLTBIW.js +0 -1392
- package/dist/GSEA-GYUVO2XA.js +0 -875
- package/dist/GeneExpInput-UABEICGS.js +0 -42
- package/dist/Geomap-QB6FNV5R.js +0 -84
- package/dist/HicApp-TQKQKJTN.js +0 -2245
- package/dist/IDCViewer-L27ICGR5.js +0 -10812
- package/dist/NumBinaryEditor-FHSSXZV4.js +0 -279
- package/dist/NumBinaryEditor.unit.spec-AMR32JHJ.js +0 -312
- package/dist/NumContEditor-R5JB5XPB.js +0 -105
- package/dist/NumContEditor.unit.spec-3PQRIC4G.js +0 -164
- package/dist/NumCustomBinEditor-B3PKD54F.js +0 -33
- package/dist/NumCustomBinEditor.unit.spec-YZKCYZQM.js +0 -397
- package/dist/NumDiscreteEditor-7AO35XU7.js +0 -170
- package/dist/NumDiscreteEditor.unit.spec-SNDHS6VK.js +0 -233
- package/dist/NumRegularBinEditor-OREKM2DX.js +0 -33
- package/dist/NumRegularBinEditor.unit.spec-SIGD7PLE.js +0 -278
- package/dist/NumSplineEditor-RDFDVNJG.js +0 -210
- package/dist/NumSplineEditor.unit.spec-TXRQVLUE.js +0 -224
- package/dist/NumericDensity-QPDF6UU5.js +0 -33
- package/dist/NumericDensity.unit.spec-JYUYDHDG.js +0 -418
- package/dist/NumericHandler-JW6DLSMJ.js +0 -34
- package/dist/NumericHandler.unit.spec-Q2ZNM5NH.js +0 -214
- package/dist/ProteomeInput-OS5JWC2O.js +0 -388
- package/dist/Regression-53XPZCCQ.js +0 -1416
- package/dist/RunChart2-WEO42KPP.js +0 -749
- package/dist/SC-VAWRWOUI.js +0 -1348
- package/dist/Violin-7VOFUOLE.js +0 -1064
- package/dist/Volcano-DI2RLILX.js +0 -2456
- package/dist/Wsi-6DNY4RUG.js +0 -629
- package/dist/adSandbox-B7GQZDYQ.js +0 -33
- package/dist/animatedBubbleChart-QGO3OY5E.js +0 -547
- package/dist/app-XBLP7YZQ.js +0 -32
- package/dist/app-ZARZ2HWS.js +0 -42
- package/dist/bam-FGNF7RYM.js +0 -876
- package/dist/barchart-6YLJJSRO.js +0 -42
- package/dist/barchart2-7TTZPYWA.js +0 -309
- package/dist/block-7WZWBQVA.js +0 -6250
- package/dist/block.init-YN4KHHJ2.js +0 -33
- package/dist/block.mds.expressionrank-6PKN3KIE.js +0 -354
- package/dist/block.mds.geneboxplot-M6TXRPKO.js +0 -823
- package/dist/block.mds.junction-WKRLLJBT.js +0 -1539
- package/dist/block.mds.svcnv-I3DNNGYV.js +0 -6796
- package/dist/block.svg-D72WTLKP.js +0 -159
- package/dist/block.tk.aicheck-QT5WYKTQ.js +0 -278
- package/dist/block.tk.ase-3WGJONXX.js +0 -360
- package/dist/block.tk.bam-Q5X7D5IR.js +0 -1901
- package/dist/block.tk.bedgraphdot-VWE2D2HR.js +0 -379
- package/dist/block.tk.bigwig.ui-Q22KXFQT.js +0 -206
- package/dist/block.tk.hicstraw-3BMDZCQH.js +0 -818
- package/dist/block.tk.junction-BMKRAVUI.js +0 -2358
- package/dist/block.tk.junction.textmatrixui-ERLXPLGI.js +0 -194
- package/dist/block.tk.ld-KT5KQUXC.js +0 -94
- package/dist/block.tk.menu-RO7IJGFY.js +0 -1024
- package/dist/block.tk.menu-RO7IJGFY.js.map +0 -7
- package/dist/block.tk.pgv-PZ4AVD3V.js +0 -938
- package/dist/brainImaging-ZU3JSXFP.js +0 -555
- package/dist/brainRegions-DJELNKKN.js +0 -217
- package/dist/bubbleHeatmap-CPJ5KI6E.js +0 -378
- package/dist/cellTypeBubbleHeatmap-6NGBETXV.js +0 -278
- package/dist/chunk-232OR2PG.js +0 -263
- package/dist/chunk-26Y2MYFN.js +0 -129
- package/dist/chunk-2KM4PRQM.js +0 -117
- package/dist/chunk-33FULV5M.js +0 -302
- package/dist/chunk-3AXQF6GL.js +0 -103
- package/dist/chunk-3JHCCJ4I.js +0 -54
- package/dist/chunk-4ZVOO3NI.js +0 -217
- package/dist/chunk-5U7AYOEZ.js +0 -1988
- package/dist/chunk-5WIA4KFA.js +0 -178
- package/dist/chunk-5WMFEMII.js +0 -550
- package/dist/chunk-6OCWNYW3.js +0 -49
- package/dist/chunk-6RRZRISL.js +0 -481
- package/dist/chunk-6UAY2HAB.js +0 -5217
- package/dist/chunk-A4D2Z2LV.js +0 -141
- package/dist/chunk-AUJHCGU2.js +0 -14
- package/dist/chunk-CWLHJ7AC.js +0 -80
- package/dist/chunk-DU52GAOJ.js +0 -783
- package/dist/chunk-DVWCDEN3.js +0 -480
- package/dist/chunk-E24IUWHH.js +0 -294
- package/dist/chunk-FQYXNCZI.js +0 -498
- package/dist/chunk-FYXIK6Y6.js +0 -147
- package/dist/chunk-HL5B4NME.js +0 -379
- package/dist/chunk-IBZVZZ5J.js +0 -176
- package/dist/chunk-JZQEDIGZ.js +0 -518
- package/dist/chunk-LK7XDEFW.js +0 -1339
- package/dist/chunk-MXJKO73I.js +0 -272
- package/dist/chunk-N6NL4XG2.js +0 -2676
- package/dist/chunk-NC4RKYVE.js +0 -158
- package/dist/chunk-NK235VQ6.js +0 -4375
- package/dist/chunk-O3QKYUDH.js +0 -1812
- package/dist/chunk-PBWB5ZG2.js +0 -240
- package/dist/chunk-PCJF5MGF.js +0 -203
- package/dist/chunk-PF5UMQEJ.js +0 -692
- package/dist/chunk-PFRPC2SY.js +0 -382
- package/dist/chunk-PGRTCNOV.js +0 -217
- package/dist/chunk-Q6I2OH4P.js +0 -182
- package/dist/chunk-QOF27J24.js +0 -6360
- package/dist/chunk-QWCKIRW2.js +0 -237
- package/dist/chunk-R3LWGFGS.js +0 -54
- package/dist/chunk-REWUPST7.js +0 -1233
- package/dist/chunk-RMUK3TLD.js +0 -2149
- package/dist/chunk-RMUK3TLD.js.map +0 -7
- package/dist/chunk-RXQRCRHC.js +0 -134
- package/dist/chunk-SAMS5XBH.js +0 -2902
- package/dist/chunk-SXYZ274A.js +0 -2327
- package/dist/chunk-TAZQU2LC.js +0 -339
- package/dist/chunk-TFS2JZTH.js +0 -34
- package/dist/chunk-UFQDWGZU.js +0 -102
- package/dist/chunk-UJRURRJ2.js +0 -55
- package/dist/chunk-UWRWFS3K.js +0 -1278
- package/dist/chunk-UYSYZM45.js +0 -468
- package/dist/chunk-VHDYIOWU.js +0 -25009
- package/dist/chunk-VPOAFNVL.js +0 -70
- package/dist/chunk-WB57TMJN.js +0 -56
- package/dist/chunk-WILJJPWV.js +0 -255
- package/dist/chunk-WINIL2KN.js +0 -785
- package/dist/chunk-WINIL2KN.js.map +0 -7
- package/dist/chunk-X2HEDRFQ.js +0 -102
- package/dist/chunk-X3UNVPC5.js +0 -626
- package/dist/chunk-X46YA4CB.js +0 -143
- package/dist/chunk-XL4N3H32.js +0 -276
- package/dist/chunk-XNKLJMGF.js +0 -123
- package/dist/chunk-XZCRYWVL.js +0 -243
- package/dist/chunk-Y4MV62JA.js +0 -56
- package/dist/chunk-YKI4GLMT.js +0 -98
- package/dist/chunk-ZKINKYOJ.js +0 -2784
- package/dist/chunk-ZMSTQP6O.js +0 -299
- package/dist/cohort-CWGZR37O.js +0 -70
- package/dist/condition-B6XBQML4.js +0 -327
- package/dist/controls-QPW5HUAY.js +0 -34
- package/dist/controls.btns-BYM4DON4.js +0 -9
- package/dist/controls.config-IUYTWRHA.js +0 -34
- package/dist/correlation-M2NKGTK2.js +0 -95
- package/dist/customdata.inputui-RKYIMOWO.js +0 -284
- package/dist/dataDownload-LPBLB7QD.js +0 -329
- package/dist/databrowser.ui-VTWHELDY.js +0 -425
- package/dist/dictionary-NINKMF3F.js +0 -113
- package/dist/dnaMethylation-LSVNG7FK.js +0 -33
- package/dist/dnaMethylation.integration.spec-6IT3Y3FS.js +0 -198
- package/dist/dofetch-HLMSTOMY.js +0 -48
- package/dist/e2pca-6PKLCC7L.js +0 -344
- package/dist/ep-3RFB6K3B.js +0 -1249
- package/dist/expclust.gdc.spec-MEWKHFMD.js +0 -302
- package/dist/facet-A4JH7FCW.js +0 -519
- package/dist/facet-A4JH7FCW.js.map +0 -7
- package/dist/gb-PTF7CLDG.js +0 -81
- package/dist/geneExpClustering-VKUIAYCK.js +0 -244
- package/dist/geneExpression-3GQFWVJL.js +0 -310
- package/dist/geneExpression-VC7QPM3T.js +0 -33
- package/dist/geneExpression.unit.spec-PQS7BOMF.js +0 -128
- package/dist/geneORA-FCMFWZTN.js +0 -273
- package/dist/geneRanking-RTPPGBD4.js +0 -548
- package/dist/geneVariant-2TQ2JD4K.js +0 -36
- package/dist/geneVariant-4S6FLJTN.js +0 -289
- package/dist/geneVariant.integration.spec-YTFFHWQP.js +0 -503
- package/dist/genefusion.ui-P7YH32A6.js +0 -303
- package/dist/geneset-4J43JA3C.js +0 -203
- package/dist/genomeBrowser.spec-T2VFNUAV.js +0 -276
- package/dist/grin2-5TH4EBVQ.js +0 -949
- package/dist/grin2-KXMSYYYM.js +0 -70
- package/dist/hierCluster-2HFMEHAD.js +0 -59
- package/dist/hierCluster-5RQV7B5I.js +0 -55
- package/dist/hierCluster.config-PNBGJE6F.js +0 -36
- package/dist/hierCluster.integration.spec-TZLVKUC5.js +0 -483
- package/dist/hierCluster.interactivity-OQD3IQ4X.js +0 -49
- package/dist/imagePlot-6YH7S2PV.js +0 -156
- package/dist/importPlot-Z2UKA456.js +0 -8
- package/dist/isoformExpression-SRJMGXHD.js +0 -35
- package/dist/isoformExpression.unit.spec-PBVKSWCS.js +0 -237
- package/dist/junction-D4UP2AGY.js +0 -36
- package/dist/junction.unit.spec-M5CEGNUE.js +0 -182
- package/dist/launch.adhoc-SWJOT47S.js +0 -37
- package/dist/leftlabel.sample-4ZAM2JSS.js +0 -258
- package/dist/lollipop-GMGJPMJN.js +0 -166
- package/dist/maf-2TFOOAIF.js +0 -455
- package/dist/maftimeline-DRBM4ZYD.js +0 -587
- package/dist/matrix-22R4BC3F.js +0 -54
- package/dist/matrix-W4IRSBO5.js +0 -59
- package/dist/matrix.config-ZZ7NFCIT.js +0 -37
- package/dist/matrix.data-3W6P6NBU.js +0 -23
- package/dist/matrix.dom-YQNX4IQO.js +0 -11
- package/dist/matrix.integration.spec-X4UPLQRI.js +0 -3160
- package/dist/matrix.interactivity-NGS3LJPV.js +0 -37
- package/dist/matrix.layout-SAGZVQPG.js +0 -39
- package/dist/matrix.renderers-IG7Q2F6Y.js +0 -34
- package/dist/matrix.sort.unit.spec-DCWR5PZJ.js +0 -468
- package/dist/matrix.sorterUi-MVUI25W7.js +0 -16
- package/dist/matrix.sorterUi.unit.spec-EBLSCLDL.js +0 -338
- package/dist/matrix.unit.spec-I6JGZHQZ.js +0 -150
- package/dist/mavb-MLVNZJSF.js +0 -727
- package/dist/mds.fimo-MOGZPFCK.js +0 -513
- package/dist/mds.samplescatterplot-YLGNYKTH.js +0 -1545
- package/dist/mds.survivalplot-R273N2GB.js +0 -477
- package/dist/multivalue-5GFBYENI.js +0 -83
- package/dist/oncomatrix-OAQT2CUN.js +0 -290
- package/dist/oncomatrix.spec-6C62LLJI.js +0 -443
- package/dist/plot.2dvaf-WDXWSC7L.js +0 -372
- package/dist/plot.app-YTHD3ZJQ.js +0 -36
- package/dist/plot.barplot-SRZM3GU3.js +0 -97
- package/dist/plot.boxplot-VWOMZPZE.js +0 -146
- package/dist/plot.brainImaging-6XL7YF5G.js +0 -51
- package/dist/plot.disco-VRKSTV5Z.js +0 -99
- package/dist/plot.ssgq-AXASDOZZ.js +0 -134
- package/dist/plot.vaf2cov-IF4DEEM5.js +0 -253
- package/dist/polar2-QQ3KHFME.js +0 -232
- package/dist/profileForms-2US7IYYM.js +0 -941
- package/dist/profilePlot-DZQCBKPA.js +0 -49
- package/dist/proteinView-TTLVQ43H.js +0 -1357
- package/dist/proteomeCohortCompare-BUZYOOIA.js +0 -912
- package/dist/pseudbulk.unit.spec-YNXQWDSU.js +0 -86
- package/dist/pseudobulk-VSXK2PTM.js +0 -35
- package/dist/qualitative-AKIZRNFO.js +0 -38
- package/dist/radar2-7GXYLICJ.js +0 -327
- package/dist/radarFacility2-WFKOWGH2.js +0 -335
- package/dist/render-F3CBMRD5.js +0 -33
- package/dist/report-6LHMHUDY.js +0 -217
- package/dist/sampleView-GWKPMVJH.js +0 -43
- package/dist/samplelst-TH6IBDVG.js +0 -106
- package/dist/samplematrix-RPCWT33H.js +0 -2193
- package/dist/sc-BFBHBAXF.js +0 -81
- package/dist/scatter-3IC6HOT7.js +0 -925
- package/dist/scatter-L6R6J2LC.js +0 -88
- package/dist/selectGenomeWithTklst-3ZK7FIOP.js +0 -129
- package/dist/singleCellCellType-CLJFCBV6.js +0 -33
- package/dist/singleCellCellType.unit.spec-W32PSTRO.js +0 -154
- package/dist/singleCellGeneExpression-L6MG37XE.js +0 -33
- package/dist/singleCellGeneExpression.unit.spec-SF46JHCU.js +0 -148
- package/dist/singleCellNumericValue-7QXK6KVZ.js +0 -33
- package/dist/singleCellNumericValue.unit.spec-VC7NQYM2.js +0 -416
- package/dist/singleCellPlot-5TRNRKPN.js +0 -48
- package/dist/singlecell-2YV3UAIQ.js +0 -1566
- package/dist/singlecell-I4PHM2LZ.js +0 -81
- package/dist/snp-ZIA4YWCZ.js +0 -33
- package/dist/snp.unit.spec-MVQHY4WJ.js +0 -171
- package/dist/snplocus-GM6IEDPR.js +0 -203
- package/dist/spliceevent.a53ss.diagram-ZFQDHHPY.js +0 -146
- package/dist/spliceevent.exonskip.diagram-ZK6JOUMU.js +0 -278
- package/dist/spliceevent.noeventdiagram-YKTF2VZE.js +0 -455
- package/dist/ssGSEA-FDN4CH2Y.js +0 -33
- package/dist/ssGSEA.unit.spec-YEUJBT6Z.js +0 -83
- package/dist/stattable-WIZRSKPH.js +0 -117
- package/dist/studyCatalog-X2IGVJ26.js +0 -414
- package/dist/summarizeCnvGeneexp-H7A5SI3R.js +0 -158
- package/dist/summarizeGeneexpSurvival-GJF6VD2S.js +0 -105
- package/dist/summarizeMutationCnv-WQLMD2TR.js +0 -159
- package/dist/summarizeMutationDiagnosis-3S52IDWF.js +0 -35
- package/dist/summarizeMutationSurvival-NTQIUNW7.js +0 -99
- package/dist/summary-LMRFRKKI.js +0 -44
- package/dist/summary.integration.spec-KQMZKSEQ.js +0 -409
- package/dist/summaryInput-NNHZVHQA.js +0 -242
- package/dist/sunburst-ICUSGIWV.js +0 -278
- package/dist/survival-K44Q2HAC.js +0 -1249
- package/dist/survival-K5YBNNVE.js +0 -53
- package/dist/survival.integration.spec-4LRJW2V2.js +0 -613
- package/dist/svgraph-U7MS7YEM.js +0 -1382
- package/dist/svmr-2JGDBPAI.js +0 -3837
- package/dist/table-CBWOHYW6.js +0 -197
- package/dist/termCollection-JFGGXVFI.js +0 -252
- package/dist/termCollection-VE3FFL6V.js +0 -33
- package/dist/termCollection.unit.spec-XQQTDV4A.js +0 -299
- package/dist/termCollectionFractionSelection-TFGF27GR.js +0 -42
- package/dist/termCollectionFractionSelection.unit.spec-MKGG4JBC.js +0 -188
- package/dist/termInfo-J5Q7Y763.js +0 -9
- package/dist/tk-74SGUUZY.js +0 -41
- package/dist/tk-K4JFYIZY.js +0 -1121
- package/dist/tp.ui-727EXXMT.js +0 -1454
- package/dist/tvs.dt-YB2C3T33.js +0 -34
- package/dist/tvs.dtcnv.categorical-NOWMZOE5.js +0 -35
- package/dist/tvs.dtcnv.continuous-3KWUNU76.js +0 -67
- package/dist/tvs.dtfusion-NOJSTABU.js +0 -35
- package/dist/tvs.dtitd-OD5B377P.js +0 -35
- package/dist/tvs.dtsnvindel-WIQMZTRH.js +0 -35
- package/dist/tvs.dtsv-HPERDN3R.js +0 -35
- package/dist/tvs.samplelst-TC2Z7Z35.js +0 -98
- package/dist/tvs.termCollection-F64BHWAL.js +0 -122
- package/dist/vocabulary-ZOYF2VHS.js +0 -36
- package/dist/wsi.direct-Z5YUZEXG.js +0 -8343
- /package/dist/{2dmaf-R23YQDZC.js.map → 2dmaf-3FDGCUTK.js.map} +0 -0
- /package/dist/{AggMatrixInput-4DIGZZN4.js.map → AggMatrixInput-QA2FHMSY.js.map} +0 -0
- /package/dist/{AggregateMatrix-TF6XXFUN.js.map → AggregateMatrix-XGVKDN2K.js.map} +0 -0
- /package/dist/{AppHeader-JB5HPAOQ.js.map → AppHeader-NVLHCOVU.js.map} +0 -0
- /package/dist/{BoxPlot-47TUXQDP.js.map → BoxPlot-IVO7VBQZ.js.map} +0 -0
- /package/dist/{CorrelationVolcano-G7K5JEPM.js.map → CorrelationVolcano-2XD5OH2S.js.map} +0 -0
- /package/dist/{Cuminc-LBXPOENU.js.map → Cuminc-ECQ56PKO.js.map} +0 -0
- /package/dist/{DE-JSWA6HXV.js.map → DE-KWA2K24U.js.map} +0 -0
- /package/dist/{DEinput-LEYRVYK6.js.map → DEinput-ZP6CYIRN.js.map} +0 -0
- /package/dist/{DM-332QECUP.js.map → DM-ME7CCC4E.js.map} +0 -0
- /package/dist/{DifferentialAnalysis-JGH2OMTH.js.map → DifferentialAnalysis-6SIKR566.js.map} +0 -0
- /package/dist/{Disco-36PJXFM6.js.map → Disco-LVRT7T3B.js.map} +0 -0
- /package/dist/{Disco.UI-PY2KOGKY.js.map → Disco.UI-GT64ZEK4.js.map} +0 -0
- /package/dist/{DmrPlot-5WMOBZOJ.js.map → DmrPlot-ZZYKJ4UH.js.map} +0 -0
- /package/dist/{GB-6WWLTBIW.js.map → GB-WR6SENAZ.js.map} +0 -0
- /package/dist/{GSEA-GYUVO2XA.js.map → GSEA-U2GFOHWT.js.map} +0 -0
- /package/dist/{GeneExpInput-UABEICGS.js.map → GeneExpInput-CQSORTKI.js.map} +0 -0
- /package/dist/{Geomap-QB6FNV5R.js.map → Geomap-CGJ7EIMD.js.map} +0 -0
- /package/dist/{HicApp-TQKQKJTN.js.map → HicApp-DS3HC2G5.js.map} +0 -0
- /package/dist/{IDCViewer-L27ICGR5.js.map → IDCViewer-6KWSZWZ7.js.map} +0 -0
- /package/dist/{NumBinaryEditor-FHSSXZV4.js.map → NumBinaryEditor-BQVR2RDS.js.map} +0 -0
- /package/dist/{NumBinaryEditor.unit.spec-AMR32JHJ.js.map → NumBinaryEditor.unit.spec-FAOFWPDH.js.map} +0 -0
- /package/dist/{NumContEditor-R5JB5XPB.js.map → NumContEditor-6T6XFLAM.js.map} +0 -0
- /package/dist/{NumContEditor.unit.spec-3PQRIC4G.js.map → NumContEditor.unit.spec-GTBA5F4D.js.map} +0 -0
- /package/dist/{NumCustomBinEditor-B3PKD54F.js.map → NumCustomBinEditor-Q2GJOFOH.js.map} +0 -0
- /package/dist/{NumCustomBinEditor.unit.spec-YZKCYZQM.js.map → NumCustomBinEditor.unit.spec-TSJE3OVN.js.map} +0 -0
- /package/dist/{NumDiscreteEditor-7AO35XU7.js.map → NumDiscreteEditor-QFKPIRDW.js.map} +0 -0
- /package/dist/{NumDiscreteEditor.unit.spec-SNDHS6VK.js.map → NumDiscreteEditor.unit.spec-VKDRO52H.js.map} +0 -0
- /package/dist/{NumRegularBinEditor-OREKM2DX.js.map → NumRegularBinEditor-SLFPSTA3.js.map} +0 -0
- /package/dist/{NumRegularBinEditor.unit.spec-SIGD7PLE.js.map → NumRegularBinEditor.unit.spec-WROEDSWQ.js.map} +0 -0
- /package/dist/{NumSplineEditor-RDFDVNJG.js.map → NumSplineEditor-AEXNF6E4.js.map} +0 -0
- /package/dist/{NumSplineEditor.unit.spec-TXRQVLUE.js.map → NumSplineEditor.unit.spec-UOESCG7A.js.map} +0 -0
- /package/dist/{NumericDensity-QPDF6UU5.js.map → NumericDensity-KPJ6C7N3.js.map} +0 -0
- /package/dist/{NumericDensity.unit.spec-JYUYDHDG.js.map → NumericDensity.unit.spec-HM5IAPQT.js.map} +0 -0
- /package/dist/{NumericHandler-JW6DLSMJ.js.map → NumericHandler-S3HPYHOJ.js.map} +0 -0
- /package/dist/{NumericHandler.unit.spec-Q2ZNM5NH.js.map → NumericHandler.unit.spec-B4CY2GR6.js.map} +0 -0
- /package/dist/{ProteomeInput-OS5JWC2O.js.map → ProteomeInput-AC5TRXHE.js.map} +0 -0
- /package/dist/{Regression-53XPZCCQ.js.map → Regression-MHGQ2ECB.js.map} +0 -0
- /package/dist/{RunChart2-WEO42KPP.js.map → RunChart2-6VSXLBNE.js.map} +0 -0
- /package/dist/{SC-VAWRWOUI.js.map → SC-KPIQR5JQ.js.map} +0 -0
- /package/dist/{Violin-7VOFUOLE.js.map → Violin-6BRIIZAY.js.map} +0 -0
- /package/dist/{Volcano-DI2RLILX.js.map → Volcano-TNNAVPVQ.js.map} +0 -0
- /package/dist/{Wsi-6DNY4RUG.js.map → Wsi-JRAK47YP.js.map} +0 -0
- /package/dist/{adSandbox-B7GQZDYQ.js.map → adSandbox-HZROPAPC.js.map} +0 -0
- /package/dist/{animatedBubbleChart-QGO3OY5E.js.map → animatedBubbleChart-C57NY3PX.js.map} +0 -0
- /package/dist/{app-XBLP7YZQ.js.map → app-HU4F4WBL.js.map} +0 -0
- /package/dist/{app-ZARZ2HWS.js.map → app-OS2T3Q6X.js.map} +0 -0
- /package/dist/{bam-FGNF7RYM.js.map → bam-XBYHZH7B.js.map} +0 -0
- /package/dist/{barchart-6YLJJSRO.js.map → barchart-7MOHGOPW.js.map} +0 -0
- /package/dist/{barchart2-7TTZPYWA.js.map → barchart2-NOWNROMN.js.map} +0 -0
- /package/dist/{block-7WZWBQVA.js.map → block-PRB7FXIC.js.map} +0 -0
- /package/dist/{block.init-YN4KHHJ2.js.map → block.init-EQJ42A2H.js.map} +0 -0
- /package/dist/{block.mds.expressionrank-6PKN3KIE.js.map → block.mds.expressionrank-W6GIHAAL.js.map} +0 -0
- /package/dist/{block.mds.geneboxplot-M6TXRPKO.js.map → block.mds.geneboxplot-GBP5N7AU.js.map} +0 -0
- /package/dist/{block.mds.junction-WKRLLJBT.js.map → block.mds.junction-TUIXESU2.js.map} +0 -0
- /package/dist/{block.mds.svcnv-I3DNNGYV.js.map → block.mds.svcnv-YOUIXG4A.js.map} +0 -0
- /package/dist/{block.svg-D72WTLKP.js.map → block.svg-XAQJBCOC.js.map} +0 -0
- /package/dist/{block.tk.aicheck-QT5WYKTQ.js.map → block.tk.aicheck-MRR74ULN.js.map} +0 -0
- /package/dist/{block.tk.ase-3WGJONXX.js.map → block.tk.ase-ZB5W537R.js.map} +0 -0
- /package/dist/{block.tk.bam-Q5X7D5IR.js.map → block.tk.bam-66562WN7.js.map} +0 -0
- /package/dist/{block.tk.bedgraphdot-VWE2D2HR.js.map → block.tk.bedgraphdot-CGBLLLI7.js.map} +0 -0
- /package/dist/{block.tk.bigwig.ui-Q22KXFQT.js.map → block.tk.bigwig.ui-FXE6KXRG.js.map} +0 -0
- /package/dist/{block.tk.hicstraw-3BMDZCQH.js.map → block.tk.hicstraw-RZXW5CWM.js.map} +0 -0
- /package/dist/{block.tk.junction-BMKRAVUI.js.map → block.tk.junction-FSGFU7B3.js.map} +0 -0
- /package/dist/{block.tk.junction.textmatrixui-ERLXPLGI.js.map → block.tk.junction.textmatrixui-VR4ZIEUP.js.map} +0 -0
- /package/dist/{block.tk.ld-KT5KQUXC.js.map → block.tk.ld-QE54JIGV.js.map} +0 -0
- /package/dist/{block.tk.pgv-PZ4AVD3V.js.map → block.tk.pgv-IPX2D3GA.js.map} +0 -0
- /package/dist/{brainImaging-ZU3JSXFP.js.map → brainImaging-J4HK4JON.js.map} +0 -0
- /package/dist/{brainRegions-DJELNKKN.js.map → brainRegions-RH4EXEQ7.js.map} +0 -0
- /package/dist/{bubbleHeatmap-CPJ5KI6E.js.map → bubbleHeatmap-R2CNWOAJ.js.map} +0 -0
- /package/dist/{cellTypeBubbleHeatmap-6NGBETXV.js.map → cellTypeBubbleHeatmap-KJSNP4A3.js.map} +0 -0
- /package/dist/{chunk-ZMSTQP6O.js.map → chunk-2Z2TFFLP.js.map} +0 -0
- /package/dist/{chunk-26Y2MYFN.js.map → chunk-3447YXVI.js.map} +0 -0
- /package/dist/{chunk-33FULV5M.js.map → chunk-35DMRAGG.js.map} +0 -0
- /package/dist/{chunk-DVWCDEN3.js.map → chunk-3BBUXNES.js.map} +0 -0
- /package/dist/{chunk-6RRZRISL.js.map → chunk-3CIL7KH7.js.map} +0 -0
- /package/dist/{chunk-UWRWFS3K.js.map → chunk-3KH5JUZV.js.map} +0 -0
- /package/dist/{chunk-UYSYZM45.js.map → chunk-3SBHDIJU.js.map} +0 -0
- /package/dist/{chunk-YKI4GLMT.js.map → chunk-3YNRU4SC.js.map} +0 -0
- /package/dist/{chunk-X46YA4CB.js.map → chunk-4E2F26CC.js.map} +0 -0
- /package/dist/{chunk-RXQRCRHC.js.map → chunk-4VZ4HR3U.js.map} +0 -0
- /package/dist/{chunk-SXYZ274A.js.map → chunk-5RFLLJRG.js.map} +0 -0
- /package/dist/{chunk-UFQDWGZU.js.map → chunk-5X2MW4CV.js.map} +0 -0
- /package/dist/{chunk-ZKINKYOJ.js.map → chunk-6TCULFEF.js.map} +0 -0
- /package/dist/{chunk-5WIA4KFA.js.map → chunk-7HPICVA4.js.map} +0 -0
- /package/dist/{chunk-AUJHCGU2.js.map → chunk-7PBHM4JU.js.map} +0 -0
- /package/dist/{chunk-NK235VQ6.js.map → chunk-B2FSMLYK.js.map} +0 -0
- /package/dist/{chunk-VPOAFNVL.js.map → chunk-B5BLNQ2E.js.map} +0 -0
- /package/dist/{chunk-PBWB5ZG2.js.map → chunk-BR76YIDV.js.map} +0 -0
- /package/dist/{chunk-LK7XDEFW.js.map → chunk-BS6IUMA6.js.map} +0 -0
- /package/dist/{chunk-Y4MV62JA.js.map → chunk-BUX5YSDF.js.map} +0 -0
- /package/dist/{chunk-TAZQU2LC.js.map → chunk-C2KMMY53.js.map} +0 -0
- /package/dist/{chunk-WB57TMJN.js.map → chunk-CD2WD7ZG.js.map} +0 -0
- /package/dist/{chunk-4ZVOO3NI.js.map → chunk-CUHJN6CC.js.map} +0 -0
- /package/dist/{chunk-FQYXNCZI.js.map → chunk-CWWE77DH.js.map} +0 -0
- /package/dist/{chunk-3AXQF6GL.js.map → chunk-DCHHIXIP.js.map} +0 -0
- /package/dist/{chunk-Q6I2OH4P.js.map → chunk-FDBT4PQ6.js.map} +0 -0
- /package/dist/{chunk-DU52GAOJ.js.map → chunk-FMFEQPMB.js.map} +0 -0
- /package/dist/{chunk-N6NL4XG2.js.map → chunk-FVADQZLY.js.map} +0 -0
- /package/dist/{chunk-O3QKYUDH.js.map → chunk-GDJUSLDV.js.map} +0 -0
- /package/dist/{chunk-X2HEDRFQ.js.map → chunk-GPJLIBNO.js.map} +0 -0
- /package/dist/{chunk-PCJF5MGF.js.map → chunk-H6GPQPSM.js.map} +0 -0
- /package/dist/{chunk-REWUPST7.js.map → chunk-HFEFFFPL.js.map} +0 -0
- /package/dist/{chunk-IBZVZZ5J.js.map → chunk-HUGVRGQO.js.map} +0 -0
- /package/dist/{chunk-NC4RKYVE.js.map → chunk-IP2PLKC3.js.map} +0 -0
- /package/dist/{chunk-SAMS5XBH.js.map → chunk-JPJ2DKP5.js.map} +0 -0
- /package/dist/{chunk-A4D2Z2LV.js.map → chunk-JQ3JE2F6.js.map} +0 -0
- /package/dist/{chunk-CWLHJ7AC.js.map → chunk-K2ITA56I.js.map} +0 -0
- /package/dist/{chunk-6OCWNYW3.js.map → chunk-K5P3JV6N.js.map} +0 -0
- /package/dist/{chunk-X3UNVPC5.js.map → chunk-KRQC5AOW.js.map} +0 -0
- /package/dist/{chunk-QOF27J24.js.map → chunk-LDDN2BHX.js.map} +0 -0
- /package/dist/{chunk-WILJJPWV.js.map → chunk-LOHACXSB.js.map} +0 -0
- /package/dist/{chunk-5U7AYOEZ.js.map → chunk-MIG3QAYD.js.map} +0 -0
- /package/dist/{chunk-MXJKO73I.js.map → chunk-N5CSNFDP.js.map} +0 -0
- /package/dist/{chunk-R3LWGFGS.js.map → chunk-NZBCTASL.js.map} +0 -0
- /package/dist/{chunk-6UAY2HAB.js.map → chunk-O3EJBFK7.js.map} +0 -0
- /package/dist/{chunk-XZCRYWVL.js.map → chunk-OB3S6QYD.js.map} +0 -0
- /package/dist/{chunk-UJRURRJ2.js.map → chunk-OLV3Q6TN.js.map} +0 -0
- /package/dist/{chunk-232OR2PG.js.map → chunk-PRPQ654B.js.map} +0 -0
- /package/dist/{chunk-VHDYIOWU.js.map → chunk-QI6X4V43.js.map} +0 -0
- /package/dist/{chunk-5WMFEMII.js.map → chunk-QZXUHBUV.js.map} +0 -0
- /package/dist/{chunk-XNKLJMGF.js.map → chunk-S2PNRIOW.js.map} +0 -0
- /package/dist/{chunk-2KM4PRQM.js.map → chunk-T4XPCSLP.js.map} +0 -0
- /package/dist/{chunk-QWCKIRW2.js.map → chunk-TCHFJHHC.js.map} +0 -0
- /package/dist/{chunk-JZQEDIGZ.js.map → chunk-TR2BNELL.js.map} +0 -0
- /package/dist/{chunk-TFS2JZTH.js.map → chunk-TZZTJWLD.js.map} +0 -0
- /package/dist/{chunk-PF5UMQEJ.js.map → chunk-UH5BHS42.js.map} +0 -0
- /package/dist/{chunk-XL4N3H32.js.map → chunk-VRY727VE.js.map} +0 -0
- /package/dist/{chunk-FYXIK6Y6.js.map → chunk-WA3C3A2M.js.map} +0 -0
- /package/dist/{chunk-PGRTCNOV.js.map → chunk-XIJC7RNK.js.map} +0 -0
- /package/dist/{chunk-3JHCCJ4I.js.map → chunk-XVOHS4CK.js.map} +0 -0
- /package/dist/{chunk-HL5B4NME.js.map → chunk-Y3ABEAKV.js.map} +0 -0
- /package/dist/{chunk-E24IUWHH.js.map → chunk-YB2A2CWR.js.map} +0 -0
- /package/dist/{chunk-PFRPC2SY.js.map → chunk-ZKZHYCO3.js.map} +0 -0
- /package/dist/{cohort-CWGZR37O.js.map → cohort-J3JNIMCT.js.map} +0 -0
- /package/dist/{condition-B6XBQML4.js.map → condition-A6VAD4OS.js.map} +0 -0
- /package/dist/{controls-QPW5HUAY.js.map → controls-2R2OQAX2.js.map} +0 -0
- /package/dist/{controls.btns-BYM4DON4.js.map → controls.btns-6AKLIWOG.js.map} +0 -0
- /package/dist/{controls.config-IUYTWRHA.js.map → controls.config-UPE6TAHK.js.map} +0 -0
- /package/dist/{correlation-M2NKGTK2.js.map → correlation-Q6HYOUOX.js.map} +0 -0
- /package/dist/{customdata.inputui-RKYIMOWO.js.map → customdata.inputui-KQJKSQNI.js.map} +0 -0
- /package/dist/{dataDownload-LPBLB7QD.js.map → dataDownload-PYQX2BWN.js.map} +0 -0
- /package/dist/{databrowser.ui-VTWHELDY.js.map → databrowser.ui-LPFKGVW3.js.map} +0 -0
- /package/dist/{dictionary-NINKMF3F.js.map → dictionary-GYN7OXWQ.js.map} +0 -0
- /package/dist/{dnaMethylation-LSVNG7FK.js.map → dnaMethylation-TSRHGNNY.js.map} +0 -0
- /package/dist/{dnaMethylation.integration.spec-6IT3Y3FS.js.map → dnaMethylation.integration.spec-3YYSFVKK.js.map} +0 -0
- /package/dist/{dofetch-HLMSTOMY.js.map → dofetch-4YRJUWLJ.js.map} +0 -0
- /package/dist/{e2pca-6PKLCC7L.js.map → e2pca-G4AVRHQC.js.map} +0 -0
- /package/dist/{ep-3RFB6K3B.js.map → ep-MHT3CLGK.js.map} +0 -0
- /package/dist/{expclust.gdc.spec-MEWKHFMD.js.map → expclust.gdc.spec-2TWLDD2S.js.map} +0 -0
- /package/dist/{gb-PTF7CLDG.js.map → gb-WLOGQSEU.js.map} +0 -0
- /package/dist/{geneExpClustering-VKUIAYCK.js.map → geneExpClustering-LOLLER5C.js.map} +0 -0
- /package/dist/{geneExpression-3GQFWVJL.js.map → geneExpression-NP2N4CRU.js.map} +0 -0
- /package/dist/{geneExpression-VC7QPM3T.js.map → geneExpression-RWE7PBBD.js.map} +0 -0
- /package/dist/{geneExpression.unit.spec-PQS7BOMF.js.map → geneExpression.unit.spec-MBE6YVKY.js.map} +0 -0
- /package/dist/{geneORA-FCMFWZTN.js.map → geneORA-ZWZCCBL7.js.map} +0 -0
- /package/dist/{geneRanking-RTPPGBD4.js.map → geneRanking-UZXH5SLT.js.map} +0 -0
- /package/dist/{geneVariant-2TQ2JD4K.js.map → geneVariant-MULXYJ7M.js.map} +0 -0
- /package/dist/{geneVariant-4S6FLJTN.js.map → geneVariant-ZPINPLRP.js.map} +0 -0
- /package/dist/{geneVariant.integration.spec-YTFFHWQP.js.map → geneVariant.integration.spec-6DNKP22T.js.map} +0 -0
- /package/dist/{genefusion.ui-P7YH32A6.js.map → genefusion.ui-S4BPNRIO.js.map} +0 -0
- /package/dist/{geneset-4J43JA3C.js.map → geneset-LZNALH2H.js.map} +0 -0
- /package/dist/{genomeBrowser.spec-T2VFNUAV.js.map → genomeBrowser.spec-JOIKBWVC.js.map} +0 -0
- /package/dist/{grin2-5TH4EBVQ.js.map → grin2-GFZ5REPY.js.map} +0 -0
- /package/dist/{grin2-KXMSYYYM.js.map → grin2-JPR6LCXT.js.map} +0 -0
- /package/dist/{hierCluster-2HFMEHAD.js.map → hierCluster-DCESQECE.js.map} +0 -0
- /package/dist/{hierCluster-5RQV7B5I.js.map → hierCluster-M6R4CH22.js.map} +0 -0
- /package/dist/{hierCluster.config-PNBGJE6F.js.map → hierCluster.config-DBQYJXML.js.map} +0 -0
- /package/dist/{hierCluster.integration.spec-TZLVKUC5.js.map → hierCluster.integration.spec-DPXTME5W.js.map} +0 -0
- /package/dist/{hierCluster.interactivity-OQD3IQ4X.js.map → hierCluster.interactivity-EKKKYVEP.js.map} +0 -0
- /package/dist/{imagePlot-6YH7S2PV.js.map → imagePlot-XXSCMNUV.js.map} +0 -0
- /package/dist/{importPlot-Z2UKA456.js.map → importPlot-LKMMP7ZV.js.map} +0 -0
- /package/dist/{isoformExpression-SRJMGXHD.js.map → isoformExpression-A634VVY3.js.map} +0 -0
- /package/dist/{isoformExpression.unit.spec-PBVKSWCS.js.map → isoformExpression.unit.spec-2J4VQH43.js.map} +0 -0
- /package/dist/{junction-D4UP2AGY.js.map → junction-22DCADQW.js.map} +0 -0
- /package/dist/{junction.unit.spec-M5CEGNUE.js.map → junction.unit.spec-NQDRD66O.js.map} +0 -0
- /package/dist/{launch.adhoc-SWJOT47S.js.map → launch.adhoc-NAHAYONX.js.map} +0 -0
- /package/dist/{leftlabel.sample-4ZAM2JSS.js.map → leftlabel.sample-CRMQSNCJ.js.map} +0 -0
- /package/dist/{lollipop-GMGJPMJN.js.map → lollipop-XLPUIZBA.js.map} +0 -0
- /package/dist/{maf-2TFOOAIF.js.map → maf-LPXQMGJC.js.map} +0 -0
- /package/dist/{maftimeline-DRBM4ZYD.js.map → maftimeline-X2YPHLLO.js.map} +0 -0
- /package/dist/{matrix-22R4BC3F.js.map → matrix-U7PGR4MD.js.map} +0 -0
- /package/dist/{matrix-W4IRSBO5.js.map → matrix-UAU7QUP2.js.map} +0 -0
- /package/dist/{matrix.config-ZZ7NFCIT.js.map → matrix.config-HZ3TORDS.js.map} +0 -0
- /package/dist/{matrix.data-3W6P6NBU.js.map → matrix.data-D77IGADO.js.map} +0 -0
- /package/dist/{matrix.dom-YQNX4IQO.js.map → matrix.dom-3Z5PNSKJ.js.map} +0 -0
- /package/dist/{matrix.integration.spec-X4UPLQRI.js.map → matrix.integration.spec-7QLCJO26.js.map} +0 -0
- /package/dist/{matrix.interactivity-NGS3LJPV.js.map → matrix.interactivity-OIKLY2O6.js.map} +0 -0
- /package/dist/{matrix.layout-SAGZVQPG.js.map → matrix.layout-ICBZ5PCU.js.map} +0 -0
- /package/dist/{matrix.renderers-IG7Q2F6Y.js.map → matrix.renderers-PN56PKD3.js.map} +0 -0
- /package/dist/{matrix.sort.unit.spec-DCWR5PZJ.js.map → matrix.sort.unit.spec-IQOMDVVS.js.map} +0 -0
- /package/dist/{matrix.sorterUi-MVUI25W7.js.map → matrix.sorterUi-UKANNCZM.js.map} +0 -0
- /package/dist/{matrix.sorterUi.unit.spec-EBLSCLDL.js.map → matrix.sorterUi.unit.spec-JCN62VCG.js.map} +0 -0
- /package/dist/{matrix.unit.spec-I6JGZHQZ.js.map → matrix.unit.spec-JASP2ZH6.js.map} +0 -0
- /package/dist/{mavb-MLVNZJSF.js.map → mavb-KHRJRSUD.js.map} +0 -0
- /package/dist/{mds.fimo-MOGZPFCK.js.map → mds.fimo-LOR3DSLQ.js.map} +0 -0
- /package/dist/{mds.samplescatterplot-YLGNYKTH.js.map → mds.samplescatterplot-W3TCPYHS.js.map} +0 -0
- /package/dist/{mds.survivalplot-R273N2GB.js.map → mds.survivalplot-EYAA5IO3.js.map} +0 -0
- /package/dist/{multivalue-5GFBYENI.js.map → multivalue-GGM5DFPD.js.map} +0 -0
- /package/dist/{oncomatrix-OAQT2CUN.js.map → oncomatrix-MVLDAB6I.js.map} +0 -0
- /package/dist/{oncomatrix.spec-6C62LLJI.js.map → oncomatrix.spec-43PZ4CLH.js.map} +0 -0
- /package/dist/{plot.2dvaf-WDXWSC7L.js.map → plot.2dvaf-4H3YMAIV.js.map} +0 -0
- /package/dist/{plot.app-YTHD3ZJQ.js.map → plot.app-OZGOECPK.js.map} +0 -0
- /package/dist/{plot.barplot-SRZM3GU3.js.map → plot.barplot-OQKZAU3N.js.map} +0 -0
- /package/dist/{plot.boxplot-VWOMZPZE.js.map → plot.boxplot-4O4VNRMV.js.map} +0 -0
- /package/dist/{plot.brainImaging-6XL7YF5G.js.map → plot.brainImaging-6I4HHUMD.js.map} +0 -0
- /package/dist/{plot.disco-VRKSTV5Z.js.map → plot.disco-BOWNCFJV.js.map} +0 -0
- /package/dist/{plot.ssgq-AXASDOZZ.js.map → plot.ssgq-6STRLDEG.js.map} +0 -0
- /package/dist/{plot.vaf2cov-IF4DEEM5.js.map → plot.vaf2cov-75EZA7PJ.js.map} +0 -0
- /package/dist/{polar2-QQ3KHFME.js.map → polar2-QQ2ZYQ3I.js.map} +0 -0
- /package/dist/{profileForms-2US7IYYM.js.map → profileForms-WU7UNK7Y.js.map} +0 -0
- /package/dist/{profilePlot-DZQCBKPA.js.map → profilePlot-KW7UITCT.js.map} +0 -0
- /package/dist/{proteinView-TTLVQ43H.js.map → proteinView-ET75MKLU.js.map} +0 -0
- /package/dist/{proteomeCohortCompare-BUZYOOIA.js.map → proteomeCohortCompare-SDX5D26O.js.map} +0 -0
- /package/dist/{pseudbulk.unit.spec-YNXQWDSU.js.map → pseudbulk.unit.spec-T3B2T5FK.js.map} +0 -0
- /package/dist/{pseudobulk-VSXK2PTM.js.map → pseudobulk-4O6GK2TZ.js.map} +0 -0
- /package/dist/{qualitative-AKIZRNFO.js.map → qualitative-FUJ6JHPZ.js.map} +0 -0
- /package/dist/{radar2-7GXYLICJ.js.map → radar2-G75NIN2N.js.map} +0 -0
- /package/dist/{radarFacility2-WFKOWGH2.js.map → radarFacility2-OOAUSL6F.js.map} +0 -0
- /package/dist/{render-F3CBMRD5.js.map → render-JMAJCJFT.js.map} +0 -0
- /package/dist/{report-6LHMHUDY.js.map → report-UKB7676O.js.map} +0 -0
- /package/dist/{sampleView-GWKPMVJH.js.map → sampleView-JGWU2E5H.js.map} +0 -0
- /package/dist/{samplelst-TH6IBDVG.js.map → samplelst-ZB23PILZ.js.map} +0 -0
- /package/dist/{samplematrix-RPCWT33H.js.map → samplematrix-CQAB5PVO.js.map} +0 -0
- /package/dist/{sc-BFBHBAXF.js.map → sc-JOIUUG4I.js.map} +0 -0
- /package/dist/{scatter-L6R6J2LC.js.map → scatter-DCX72P3N.js.map} +0 -0
- /package/dist/{scatter-3IC6HOT7.js.map → scatter-JXBGEKLF.js.map} +0 -0
- /package/dist/{selectGenomeWithTklst-3ZK7FIOP.js.map → selectGenomeWithTklst-EZTHPCBB.js.map} +0 -0
- /package/dist/{singleCellCellType-CLJFCBV6.js.map → singleCellCellType-BOQTDUZA.js.map} +0 -0
- /package/dist/{singleCellCellType.unit.spec-W32PSTRO.js.map → singleCellCellType.unit.spec-3HUF7VWW.js.map} +0 -0
- /package/dist/{singleCellGeneExpression-L6MG37XE.js.map → singleCellGeneExpression-UBTHLFRN.js.map} +0 -0
- /package/dist/{singleCellGeneExpression.unit.spec-SF46JHCU.js.map → singleCellGeneExpression.unit.spec-YM6EQB3E.js.map} +0 -0
- /package/dist/{singleCellNumericValue-7QXK6KVZ.js.map → singleCellNumericValue-53T6WOHJ.js.map} +0 -0
- /package/dist/{singleCellNumericValue.unit.spec-VC7NQYM2.js.map → singleCellNumericValue.unit.spec-SYSMD5IW.js.map} +0 -0
- /package/dist/{singleCellPlot-5TRNRKPN.js.map → singleCellPlot-3V47EUB4.js.map} +0 -0
- /package/dist/{singlecell-I4PHM2LZ.js.map → singlecell-AFGFONXY.js.map} +0 -0
- /package/dist/{singlecell-2YV3UAIQ.js.map → singlecell-VZI3LEUT.js.map} +0 -0
- /package/dist/{snp-ZIA4YWCZ.js.map → snp-IPIYL7OY.js.map} +0 -0
- /package/dist/{snp.unit.spec-MVQHY4WJ.js.map → snp.unit.spec-OC5JHCXR.js.map} +0 -0
- /package/dist/{snplocus-GM6IEDPR.js.map → snplocus-DSGUSGUP.js.map} +0 -0
- /package/dist/{spliceevent.a53ss.diagram-ZFQDHHPY.js.map → spliceevent.a53ss.diagram-RNAJHS4P.js.map} +0 -0
- /package/dist/{spliceevent.exonskip.diagram-ZK6JOUMU.js.map → spliceevent.exonskip.diagram-YWRATK46.js.map} +0 -0
- /package/dist/{spliceevent.noeventdiagram-YKTF2VZE.js.map → spliceevent.noeventdiagram-6ZJRJ4QZ.js.map} +0 -0
- /package/dist/{ssGSEA-FDN4CH2Y.js.map → ssGSEA-IWCC6JDL.js.map} +0 -0
- /package/dist/{ssGSEA.unit.spec-YEUJBT6Z.js.map → ssGSEA.unit.spec-3TKDENWO.js.map} +0 -0
- /package/dist/{stattable-WIZRSKPH.js.map → stattable-EXOWMETP.js.map} +0 -0
- /package/dist/{studyCatalog-X2IGVJ26.js.map → studyCatalog-OAGHQXKY.js.map} +0 -0
- /package/dist/{summarizeCnvGeneexp-H7A5SI3R.js.map → summarizeCnvGeneexp-K6XO5YEP.js.map} +0 -0
- /package/dist/{summarizeGeneexpSurvival-GJF6VD2S.js.map → summarizeGeneexpSurvival-WTAGCCU4.js.map} +0 -0
- /package/dist/{summarizeMutationCnv-WQLMD2TR.js.map → summarizeMutationCnv-QKIDS3LI.js.map} +0 -0
- /package/dist/{summarizeMutationDiagnosis-3S52IDWF.js.map → summarizeMutationDiagnosis-ACFWADSQ.js.map} +0 -0
- /package/dist/{summarizeMutationSurvival-NTQIUNW7.js.map → summarizeMutationSurvival-XPFPN4N5.js.map} +0 -0
- /package/dist/{summary-LMRFRKKI.js.map → summary-VCU2NTIZ.js.map} +0 -0
- /package/dist/{summary.integration.spec-KQMZKSEQ.js.map → summary.integration.spec-2DE653PH.js.map} +0 -0
- /package/dist/{summaryInput-NNHZVHQA.js.map → summaryInput-GO75OPLA.js.map} +0 -0
- /package/dist/{sunburst-ICUSGIWV.js.map → sunburst-BSCFRYSV.js.map} +0 -0
- /package/dist/{survival-K44Q2HAC.js.map → survival-BEP7JNML.js.map} +0 -0
- /package/dist/{survival-K5YBNNVE.js.map → survival-XUO2D6CX.js.map} +0 -0
- /package/dist/{survival.integration.spec-4LRJW2V2.js.map → survival.integration.spec-EO5KAFDQ.js.map} +0 -0
- /package/dist/{svgraph-U7MS7YEM.js.map → svgraph-YGXOB3QY.js.map} +0 -0
- /package/dist/{svmr-2JGDBPAI.js.map → svmr-MATMMI4E.js.map} +0 -0
- /package/dist/{table-CBWOHYW6.js.map → table-DFSX7XYJ.js.map} +0 -0
- /package/dist/{termCollection-JFGGXVFI.js.map → termCollection-GKPC4K2O.js.map} +0 -0
- /package/dist/{termCollection-VE3FFL6V.js.map → termCollection-ZUJFB7YB.js.map} +0 -0
- /package/dist/{termCollection.unit.spec-XQQTDV4A.js.map → termCollection.unit.spec-YE7IKC6S.js.map} +0 -0
- /package/dist/{termCollectionFractionSelection-TFGF27GR.js.map → termCollectionFractionSelection-DLWXUEEN.js.map} +0 -0
- /package/dist/{termCollectionFractionSelection.unit.spec-MKGG4JBC.js.map → termCollectionFractionSelection.unit.spec-N2LNHIWC.js.map} +0 -0
- /package/dist/{termInfo-J5Q7Y763.js.map → termInfo-PZ7UDA5C.js.map} +0 -0
- /package/dist/{tk-74SGUUZY.js.map → tk-PHTWQHVV.js.map} +0 -0
- /package/dist/{tk-K4JFYIZY.js.map → tk-RNUMIS5P.js.map} +0 -0
- /package/dist/{tp.ui-727EXXMT.js.map → tp.ui-A52OBFJD.js.map} +0 -0
- /package/dist/{tvs.dt-YB2C3T33.js.map → tvs.dt-SQSP3UXH.js.map} +0 -0
- /package/dist/{tvs.dtcnv.categorical-NOWMZOE5.js.map → tvs.dtcnv.categorical-3IWQMUEM.js.map} +0 -0
- /package/dist/{tvs.dtcnv.continuous-3KWUNU76.js.map → tvs.dtcnv.continuous-ZD5WM32O.js.map} +0 -0
- /package/dist/{tvs.dtfusion-NOJSTABU.js.map → tvs.dtfusion-G47Z7NP3.js.map} +0 -0
- /package/dist/{tvs.dtitd-OD5B377P.js.map → tvs.dtitd-57PSTVRM.js.map} +0 -0
- /package/dist/{tvs.dtsnvindel-WIQMZTRH.js.map → tvs.dtsnvindel-CS3ZVFWN.js.map} +0 -0
- /package/dist/{tvs.dtsv-HPERDN3R.js.map → tvs.dtsv-LNWDVFCR.js.map} +0 -0
- /package/dist/{tvs.samplelst-TC2Z7Z35.js.map → tvs.samplelst-EMZOR4SY.js.map} +0 -0
- /package/dist/{tvs.termCollection-F64BHWAL.js.map → tvs.termCollection-RX5ASV3N.js.map} +0 -0
- /package/dist/{vocabulary-ZOYF2VHS.js.map → vocabulary-JVAACQPU.js.map} +0 -0
- /package/dist/{wsi.direct-Z5YUZEXG.js.map → wsi.direct-J4SNIUUW.js.map} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/block.tk.menu.js"],
|
|
4
|
+
"sourcesContent": ["import * as client from './client'\nimport { schemeCategory10 } from 'd3-scale-chromatic'\nimport { scaleOrdinal } from 'd3-scale'\nimport { rgb as d3rgb } from 'd3-color'\nimport { Menu } from '../dom/menu'\n\n/*\ngenerate the menu by click \"Track\" button on block\n\n********************** EXPORTED\n\ntkmenu()\n\n\n********************** INTERNAL\n\nhardlist4block\nstringisurl()\nremoteFileAllowed()\nmayShowRemoteFileNote()\nurlNotAllowed()\nnewtk_bw\nnewtk_bedj\nnewtk_junction\nnewtk_vcf\nnewtk_interaction\nnotAllowedToHideThisTrack\n\n************* function cascade\nfacettrigger\n\tfacetmake\n\t\tbackward_compatible\n\t\tget_dimensions\n\t\tsort_dimensions\n\t\tmakecell\n\t\tbatchselect_assay\n\t\tbatchselect_sample\n\t\ttoggle_tracks\n*/\n\nconst colorfunc = scaleOrdinal(schemeCategory10)\n\nexport default function (block, tip, x, y, button) {\n\t/*\n\tmake the most current menu, consisted of:\n\t\t\"one search\" and result display\n\t\tfacet\n\t\thardlist\n\t\tcustom track\n\n\t- block\n\t- tip: instance of Menu, belongs to block, unnamed but persistant\n\t- x/y\n\t*/\n\n\ttip.clear()\n\tconst div = tip.d\n\n\t///// search box for genome.tkset or more\n\tonesearchui(block, div)\n\n\t///// facet\n\tfacettrigger(block, div, tip)\n\n\t/*\n\tupon showing tkmenu, hide any existing facet tables\n\timportant for:\n\t1. the facet content won't appear out of sync when user toggle tracks in tkmenu\n\t2. since the facet table will be remade each time it is shown,\n\t it can ensure the table to be pointed to the correct browser (when multiple ones are opened)\n\t*/\n\tfor (const s of block.genome.tkset) {\n\t\tif (s.facetlst) {\n\t\t\tfor (const f of s.facetlst) {\n\t\t\t\tif (f.facetpane) {\n\t\t\t\t\tclient.disappear(f.facetpane.pane)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (s.facetpane) {\n\t\t\tclient.disappear(s.facetpane.pane)\n\t\t}\n\t}\n\n\t///// hard list table\n\thardlist4block(block, div)\n\n\t// custom track entry button\n\tif (!JSON.parse(sessionStorage.getItem('optionalFeatures')).disableCustomTrackUI) {\n\t\tdiv\n\t\t\t.append('div')\n\t\t\t.html('Add custom track »')\n\t\t\t.style('padding', '15px')\n\t\t\t.style('text-align', 'center')\n\t\t\t.attr('class', 'sja_menuoption')\n\t\t\t.on('click', () => {\n\t\t\t\tcustomtracktypeui(block, div)\n\t\t\t})\n\t}\n\n\ttip.show2(x, y, { elem: button })\n}\n\nfunction onesearchui(block, div) {\n\t/*\n\tone search box on top\n\t\n\tblock.genome.tkset[]\n\n\tsearch within each set and return results\n\t*/\n\n\tlet count = 0\n\tfor (const s of block.genome.tkset) {\n\t\tcount += s.tklst.length\n\t}\n\n\tif (count == 0) {\n\t\treturn\n\t}\n\n\tconst searchrow = div.append('div').style('margin', count == 0 ? '0px' : '15px 15px 5px 15px')\n\tconst input = searchrow\n\t\t.append('input')\n\t\t.attr('size', 15)\n\t\t.attr('placeholder', 'Search ' + count + ' tracks')\n\tconst searchsays = searchrow.append('span').style('font-size', '.8em').style('padding-left', '10px')\n\tinput.on('keyup', event => {\n\t\tfounddiv.selectAll('*').remove()\n\t\tsearchsays.text('')\n\t\tconst v = event.target.value\n\t\tif (v.length < 2) {\n\t\t\treturn\n\t\t}\n\t\tconst vv = v.toLowerCase()\n\t\tlet foundnum = 0\n\t\tfor (const set of block.genome.tkset) {\n\t\t\tconst hits = []\n\t\t\tfor (const t of set.tklst) {\n\t\t\t\tif (t.name && t.name.toLowerCase().indexOf(vv) != -1) {\n\t\t\t\t\thits.push(t)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (t.patient && t.patient.toLowerCase().indexOf(vv) != -1) {\n\t\t\t\t\thits.push(t)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (t.sampletype && t.sampletype.toLowerCase().indexOf(vv) != -1) {\n\t\t\t\t\thits.push(t)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (t.assayname && t.assayname.toLowerCase().indexOf(vv) != -1) {\n\t\t\t\t\thits.push(t)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t\tfoundnum += hits.length\n\t\t\tif (hits.length == 0) continue\n\t\t\tconst color = colorfunc(set.name)\n\t\t\tconst tr = founddiv.append('table').style('border-spacing', '0px').append('tr')\n\t\t\tconst thisscroll = tr\n\t\t\t\t.append('td')\n\t\t\t\t.style('padding', '0px 10px 0px 20px')\n\t\t\t\t.append('div')\n\t\t\t\t.style('border', 'solid 1px ' + color)\n\t\t\tif (hits.length > 13) {\n\t\t\t\tthisscroll\n\t\t\t\t\t.style('padding', '10px 10px 10px 0px')\n\t\t\t\t\t.style('height', '300px')\n\t\t\t\t\t.style('overflow-y', 'scroll')\n\t\t\t\t\t.style('resize', 'vertical')\n\t\t\t}\n\t\t\tconst tktable = thisscroll.append('table').style('border-spacing', '1px')\n\t\t\t// this table has only two columns\n\t\t\t// 1. \"shown\"\n\t\t\t// 2. track button\n\t\t\ttr.append('td')\n\t\t\t\t//.style('padding','5px')\n\t\t\t\t.style('color', color)\n\t\t\t\t.style('font-size', '.8em')\n\t\t\t\t.style('font-weight', 'bold')\n\t\t\t\t.text(set.name)\n\t\t\tfor (const cold of hits) {\n\t\t\t\tlet hot = null\n\t\t\t\tfor (const t of block.tklst) {\n\t\t\t\t\tif (t.id == cold.id && t.file == cold.file && t.url == cold.url) {\n\t\t\t\t\t\t// FIXME equivalency test for vcf tracks\n\t\t\t\t\t\thot = t\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst tr = tktable.append('tr')\n\t\t\t\t//tr.append('td').style('font-size','.7em').text(cold.assayname || 'n/a')\n\t\t\t\t//tr.append('td').style('font-size','.7em').text(cold.type)\n\t\t\t\tconst td1 = tr.append('td').style('color', '#555').style('font-size', '.7em')\n\t\t\t\tif (hot) {\n\t\t\t\t\ttd1.text('SHOWN')\n\t\t\t\t}\n\t\t\t\tconst handle = tr.append('td').classed('sja_menuoption', true).text(tkhtmllabel(cold, block))\n\t\t\t\tif (hot) {\n\t\t\t\t\thandle.on('click', () => tkhandleclick(block, hot, td1))\n\t\t\t\t} else {\n\t\t\t\t\thandle.on('click', () => tkhandleclick(block, cold, td1))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// TODO query server to find tracks\n\t\tsearchsays.text(foundnum == 0 ? 'No tracks found' : 'Found ' + foundnum + ' track' + (foundnum > 1 ? 's' : ''))\n\t})\n\tconst founddiv = div.append('div').style('margin-top', '3px')\n}\n\nfunction hardlist4block(block, div) {\n\t/*\n\t\"hardlist\"\n\n\tblock.tklst[]\n\tgenome.tracks[]\n\n\t*/\n\n\tconst harddiv = div.append('div').style('margin', '20px')\n\t{\n\t\tconst set = new Set()\n\t\tfor (const t of block.tklst) {\n\t\t\tset.add(t.name)\n\t\t}\n\t\tfor (const t of block.genome.tracks) {\n\t\t\tset.add(t.name)\n\t\t}\n\t\tif (set.size > 13) {\n\t\t\tharddiv\n\t\t\t\t.style('border-top', 'solid 1px #eee')\n\t\t\t\t.style('border-bottom', 'solid 1px #eee')\n\t\t\t\t.style('padding', '10px 10px 10px 0px')\n\t\t\t\t.style('height', '300px')\n\t\t\t\t.style('overflow-y', 'scroll')\n\t\t\t\t.style('resize', 'vertical')\n\t\t}\n\t}\n\n\tconst hardtable = harddiv.append('table')\n\t// table has three columns\n\t// 1. \"shown\"\n\t// 2. track button\n\t// 3. \"delete\" for custom\n\n\t/////// block.tklst\n\tfor (const tk of block.tklst) {\n\t\tconst tr = hardtable.append('tr')\n\t\tconst td1 = tr.append('td')\n\t\ttd1.text('SHOWN').style('color', '#555').style('font-size', '.7em')\n\n\t\tconst handle = tr.append('td').text(tkhtmllabel(tk, block))\n\n\t\tif (notAllowedToHideThisTrack(tk)) {\n\t\t\thandle.style('padding', '5px 10px')\n\t\t} else {\n\t\t\t// allowed to toggle show/hide of this tk, show button over tk name\n\t\t\thandle.attr('class', 'sja_menuoption').on('click', () => {\n\t\t\t\ttkhandleclick(block, tk, td1)\n\t\t\t})\n\t\t}\n\n\t\t/*\n\t\tno longer allow to delete a custom track; too many complains\n\t\tconst td3 = tr.append('td')\n\t\tif (tk.iscustom) {\n\t\t\ttd3\n\t\t\t\t.html('×')\n\t\t\t\t.attr('class', 'sja_menuoption')\n\t\t\t\t.on('click', () => {\n\t\t\t\t\tdeletecustom(block, tk, tr)\n\t\t\t\t})\n\t\t}\n\t\t*/\n\t}\n\n\t///// genome.tracks[]\n\tfor (const tk of block.genome.tracks) {\n\t\tlet ishot = false\n\t\tfor (const t of block.tklst) {\n\t\t\tif (t.tkid == tk.tkid) {\n\t\t\t\tishot = true\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tif (ishot) {\n\t\t\t// this track is on display and its entry has been added to hardtable\n\t\t\tcontinue\n\t\t}\n\t\tconst tr = hardtable.append('tr')\n\t\tconst td1 = tr.append('td').style('color', '#555').style('font-size', '.7em')\n\t\tconst handle = tr.append('td').attr('class', 'sja_menuoption').text(tkhtmllabel(tk, block))\n\t\t/*\n\t\tconst td3 = tr.append('td')\n\t\tif (tk.iscustom) {\n\t\t\ttd3\n\t\t\t\t.html('×')\n\t\t\t\t.attr('class', 'sja_menuoption')\n\t\t\t\t.on('click', () => {\n\t\t\t\t\tdeletecustom(block, tk, tr)\n\t\t\t\t})\n\t\t}\n\t\t*/\n\t\thandle.on('click', () => {\n\t\t\ttkhandleclick(block, tk, td1)\n\t\t})\n\t}\n}\n\nfunction customtracktypeui(block, div) {\n\tdiv.selectAll('*').remove()\n\tdiv\n\t\t.append('div')\n\t\t.style('margin', '30px')\n\t\t.style('text-align', 'center')\n\t\t.style('color', '#858585')\n\t\t.text('Add track for ' + block.genome.name + ' genome')\n\n\tconst d1 = div.append('div').style('margin', '20px')\n\n\t// bigwig\n\td1.append('div')\n\t\t.attr('class', 'sja_menuoption')\n\t\t.html('bigWig <span style=\"opacity:.5;font-size:.8em\">numerical data</span>')\n\t\t.on('click', () => newtk_bw(block, div))\n\n\t// json bed\n\td1.append('div')\n\t\t.attr('class', 'sja_menuoption')\n\t\t.html('JSON-BED <span style=\"opacity:.5;font-size:.8em\">positional annotations</span>')\n\t\t.on('click', () => newtk_bedj(block, div))\n\n\t// junction\n\td1.append('div')\n\t\t.attr('class', 'sja_menuoption')\n\t\t.text('Splice junction')\n\t\t.on('click', () => newtk_junction(block, div))\n\n\t// vcf\n\td1.append('div')\n\t\t.attr('class', 'sja_menuoption')\n\t\t.html('VCF <span style=\"opacity:.5;font-size:.8em\">SNV/indel</span>')\n\t\t.on('click', () => newtk_vcf(block, div))\n\n\t// interaction\n\td1.append('div')\n\t\t.attr('class', 'sja_menuoption')\n\t\t.html('Interaction <span style=\"opacity:.5;font-size:.8em\">pairs of genomic regions</span>')\n\t\t.on('click', () => newtk_interaction(block, div))\n\n\t// mds to be added here\n\n\t//// add new track type here\n\n\tconst d2 = div.append('div').style('margin', '20px')\n\td2.append('p').style('color', '#858585').text('Declare tracks as JSON text:')\n\tconst ta = d2.append('textarea').attr('rows', 5).attr('cols', '30').attr('placeholder', 'Enter JSON text')\n\tconst row = d2.append('div').style('margin-top', '3px')\n\trow\n\t\t.append('button')\n\t\t.text('Submit')\n\t\t.on('click', () => {\n\t\t\tconst v = ta.property('value')\n\t\t\tif (v == '') return\n\t\t\tlet j\n\t\t\ttry {\n\t\t\t\tj = JSON.parse(v)\n\t\t\t} catch (e) {\n\t\t\t\talert('Invalid JSON: ' + e)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (!Array.isArray(j)) {\n\t\t\t\tj = [j]\n\t\t\t}\n\t\t\tfor (const t of j) {\n\t\t\t\tif (t.hidden) {\n\t\t\t\t\tdelete t.hidden\n\t\t\t\t\tblock.genome.tracks.push(t)\n\t\t\t\t} else {\n\t\t\t\t\tconst tt = block.block_addtk_template(t)\n\t\t\t\t\tif (tt) {\n\t\t\t\t\t\tblock.tk_load(tt)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\trow\n\t\t.append('button')\n\t\t.text('Clear')\n\t\t.on('click', () => ta.property('value', ''))\n\trow\n\t\t.append('span')\n\t\t.style('padding-left', '10px')\n\t\t.html('<a href=https://github.com/stjude/proteinpaint/wiki/Tracks target=_blank>Track format</a>')\n\trow.append('span').style('padding-left', '10px').html('<a href=https://jsonlint.com/ target=_blank>debug</a>')\n}\n\nfunction may_add_customtk(tk, block, div) {\n\t/* trying to add a custom track anew, from input UI\n\tbut not, say from repeatedly clicking on tk menu\n\tneed to check if the track has been added before\n\t*/\n\tconst tk_reg = client.tkexists(tk, block.genome.tracks)\n\tif (tk_reg) {\n\t\t// the track has already been registered\n\t\tif (client.tkexists(tk, block.tklst)) {\n\t\t\t// it is shown now\n\t\t\twindow.alert('The track is already shown')\n\t\t} else {\n\t\t\t// registered but not shown\n\t\t\tconst tk2 = block.block_addtk_template(tk_reg)\n\t\t\tblock.tk_load(tk2)\n\t\t\tcustomtracktypeui(block, div)\n\t\t}\n\t} else {\n\t\t// the track has not been registered\n\t\ttk.tkid = Math.random().toString()\n\t\tblock.genome.tracks.push(tk)\n\t\tconst tk2 = block.block_addtk_template(tk)\n\t\tblock.tk_load(tk2)\n\t\tcustomtracktypeui(block, div)\n\t}\n}\n\nfunction newtk_bw(block, div) {\n\tdiv.selectAll('*').remove()\n\tdiv\n\t\t.append('div')\n\t\t.style('margin', '20px')\n\t\t.style('display', 'inline-block')\n\t\t.html('\u226A Go back')\n\t\t.attr('class', 'sja_menuoption')\n\t\t.on('click', () => customtracktypeui(block, div))\n\n\t{\n\t\tconst box = div.append('div').style('margin', '0px 20px 20px 20px')\n\t\tbox.append('p').text('Add a single track').style('color', '#858585').style('font-size', '.7em')\n\t\tconst iname = box\n\t\t\t.append('p')\n\t\t\t.append('input')\n\t\t\t.attr('type', 'text')\n\t\t\t.attr('placeholder', 'bigWig track name')\n\t\t\t.attr('size', 20)\n\t\tconst iurl = box\n\t\t\t.append('p')\n\t\t\t.append('input')\n\t\t\t.attr('type', 'text')\n\t\t\t.attr('placeholder', remoteFileAllowed() ? 'URL or server-side file path' : 'Server-side file path')\n\t\t\t.attr('size', 40)\n\t\tmayShowRemoteFileNote(box)\n\t\tconst p2 = box.append('p')\n\n\t\tp2.append('button')\n\t\t\t.text('Add bigWig track')\n\t\t\t.on('click', () => {\n\t\t\t\tconst text = iurl.property('value').trim()\n\t\t\t\tif (text == '') return\n\t\t\t\tif (urlNotAllowed(text)) return\n\t\t\t\tlet file, url\n\t\t\t\tif (stringisurl(text)) {\n\t\t\t\t\turl = text\n\t\t\t\t} else {\n\t\t\t\t\tfile = text\n\t\t\t\t}\n\t\t\t\tconst tk = {\n\t\t\t\t\ttype: client.tkt.bigwig,\n\t\t\t\t\tname: iname.property('value').trim() || 'bigwig track',\n\t\t\t\t\tscale: {\n\t\t\t\t\t\tauto: 1\n\t\t\t\t\t},\n\t\t\t\t\tfile: file,\n\t\t\t\t\turl: url,\n\t\t\t\t\tiscustom: true\n\t\t\t\t}\n\t\t\t\tmay_add_customtk(tk, block, div)\n\t\t\t})\n\t\tp2.append('button')\n\t\t\t.text('Clear')\n\t\t\t.on('click', () => (iurl.node().value = iname.node().value = ''))\n\t}\n\n\t{\n\t\tconst box = div.append('div').style('margin', '0px 20px 20px 20px')\n\t\tbox.append('p').text('Add multiple tracks').style('color', '#858585').style('font-size', '.7em')\n\t\tconst input = box\n\t\t\t.append('p')\n\t\t\t.append('textarea')\n\t\t\t.attr(\n\t\t\t\t'placeholder',\n\t\t\t\t'one track per line: [track name],' + (remoteFileAllowed() ? '[path/to/file.bw or URL]' : '[path/to/file.bw]')\n\t\t\t)\n\t\t\t.attr('rows', 2)\n\t\t\t.attr('cols', 50)\n\t\tmayShowRemoteFileNote(box)\n\t\tconst p2 = box.append('p')\n\t\tp2.append('button')\n\t\t\t.text('Add tracks')\n\t\t\t.on('click', () => {\n\t\t\t\tconst text = input.property('value').trim()\n\t\t\t\tif (text == '') return\n\t\t\t\tif (text.split(/[\\r\\n]/).some(s => urlNotAllowed((s.split(',')[1] || '').trim()))) return\n\t\t\t\tfor (const s of text.split(/[\\r\\n]/)) {\n\t\t\t\t\tconst l = s.split(',')\n\t\t\t\t\tif (l[0] && l[1]) {\n\t\t\t\t\t\tconst t = {\n\t\t\t\t\t\t\ttype: client.tkt.bigwig,\n\t\t\t\t\t\t\tname: l[0].trim(),\n\t\t\t\t\t\t\tscale: { auto: 1 },\n\t\t\t\t\t\t\tiscustom: true\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst tmp = l[1].trim()\n\n\t\t\t\t\t\tif (stringisurl(tmp)) t.url = tmp\n\t\t\t\t\t\telse t.file = tmp\n\n\t\t\t\t\t\tconst t2 = block.block_addtk_template(t)\n\t\t\t\t\t\tblock.tk_load(t2)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\tp2.append('button')\n\t\t\t.text('Clear')\n\t\t\t.on('click', () => (input.node().value = ''))\n\t}\n\tdiv\n\t\t.append('div')\n\t\t.style('margin', '20px')\n\t\t.html('<a href=https://genome.ucsc.edu/goldenpath/help/bigWig.html target=_blank>bigWig file format</a>')\n}\n\nfunction newtk_bws(block, div) {\n\t// not in use\n\tdiv.selectAll('*').remove()\n\tdiv\n\t\t.append('div')\n\t\t.style('margin', '20px')\n\t\t.style('display', 'inline-block')\n\t\t.html('< go back')\n\t\t.attr('class', 'sja_menuoption')\n\t\t.on('click', () => customtracktypeui(block, div))\n\n\tconst box = div.append('div').style('margin', '20px')\n\tconst iname = box\n\t\t.append('p')\n\t\t.append('input')\n\t\t.attr('type', 'text')\n\t\t.attr('placeholder', 'Stranded bigWig track name')\n\t\t.attr('size', 20)\n\tconst forwardurl = box\n\t\t.append('p')\n\t\t.append('input')\n\t\t.attr('type', 'text')\n\t\t.attr(\n\t\t\t'placeholder',\n\t\t\t'Forward strand ' + (remoteFileAllowed() ? 'URL or server-side file path' : 'server-side file path')\n\t\t)\n\t\t.attr('size', 40)\n\tconst reverseurl = box\n\t\t.append('p')\n\t\t.append('input')\n\t\t.attr('type', 'text')\n\t\t.attr(\n\t\t\t'placeholder',\n\t\t\t'Reverse strand ' + (remoteFileAllowed() ? 'URL or server-side file path' : 'server-side file path')\n\t\t)\n\t\t.attr('size', 40)\n\tmayShowRemoteFileNote(box)\n\tconst p2 = box.append('p')\n\tp2.append('button')\n\t\t.text('Add stranded bigWig track')\n\t\t.on('click', () => {\n\t\t\tlet file1, url1, file2, url2\n\t\t\tconst text = forwardurl.property('value').trim()\n\t\t\tif (text == '') return\n\t\t\tif (urlNotAllowed(text)) return\n\t\t\tif (stringisurl(text)) {\n\t\t\t\turl1 = text\n\t\t\t} else {\n\t\t\t\tfile1 = text\n\t\t\t}\n\t\t\tconst text2 = reverseurl.property('value').trim()\n\t\t\tif (text2 == '') return\n\t\t\tif (urlNotAllowed(text2)) return\n\t\t\tif (stringisurl(text2)) {\n\t\t\t\turl2 = text2\n\t\t\t} else {\n\t\t\t\tfile2 = text2\n\t\t\t}\n\t\t\tconst name = iname.property('value').trim()\n\t\t\tconst tk = block.block_addtk_template({\n\t\t\t\ttype: client.tkt.bigwigstranded,\n\t\t\t\tname: name ? name : 'stranded bigwig',\n\t\t\t\tstrand1: {\n\t\t\t\t\tscale: {\n\t\t\t\t\t\tauto: 1\n\t\t\t\t\t},\n\t\t\t\t\tfile: file1,\n\t\t\t\t\turl: url1\n\t\t\t\t},\n\t\t\t\tstrand2: {\n\t\t\t\t\tscale: {\n\t\t\t\t\t\tauto: 1\n\t\t\t\t\t},\n\t\t\t\t\tfile: file2,\n\t\t\t\t\turl: url2\n\t\t\t\t},\n\t\t\t\tiscustom: true\n\t\t\t})\n\t\t\tblock.tk_load(tk)\n\t\t\tcustomtracktypeui(block, div)\n\t\t})\n\tp2.append('button')\n\t\t.text('Clear')\n\t\t.on('click', () => (forwardurl.node().value = reverseurl.node().value = iname.node().value = ''))\n\tbox\n\t\t.append('p')\n\t\t.style('color', '#858585')\n\t\t.style('width', '400px')\n\t\t.style('font-size', '.8em')\n\t\t.text(\n\t\t\t'Note that this track is designed for data such as strand-specific read coverage, and it requires the reverse strand bigWig file to store negative values.'\n\t\t)\n}\n\nfunction newtk_bedj(block, div) {\n\tdiv.selectAll('*').remove()\n\tdiv\n\t\t.append('div')\n\t\t.style('margin', '20px')\n\t\t.style('display', 'inline-block')\n\t\t.html('< go back')\n\t\t.attr('class', 'sja_menuoption')\n\t\t.on('click', () => customtracktypeui(block, div))\n\n\tconst box = div.append('div').style('margin', '20px')\n\tconst nta = box\n\t\t.append('p')\n\t\t.append('input')\n\t\t.attr('type', 'text')\n\t\t.attr('placeholder', 'JSON-BED track name')\n\t\t.attr('size', 20)\n\tconst ta = box\n\t\t.append('p')\n\t\t.append('input')\n\t\t.attr('type', 'text')\n\t\t.attr('placeholder', remoteFileAllowed() ? 'URL or server-side file path' : 'Server-side file path')\n\t\t.attr('size', 40)\n\tmayShowRemoteFileNote(box)\n\tconst p = box.append('p')\n\tp.append('button')\n\t\t.text('Add JSON-BED track')\n\t\t.on('click', () => {\n\t\t\tconst text = ta.property('value').trim()\n\t\t\tif (text == '') return\n\t\t\tif (urlNotAllowed(text)) return\n\t\t\tlet file, url\n\t\t\tif (stringisurl(text)) {\n\t\t\t\turl = text\n\t\t\t} else {\n\t\t\t\tfile = text\n\t\t\t}\n\t\t\tconst tk = {\n\t\t\t\ttype: client.tkt.bedj,\n\t\t\t\tname: nta.property('value').trim() || 'JSON-BED',\n\t\t\t\tfile: file,\n\t\t\t\turl: url,\n\t\t\t\tiscustom: true\n\t\t\t}\n\t\t\tmay_add_customtk(tk, block, div)\n\t\t})\n\tp.append('button')\n\t\t.text('Clear')\n\t\t.on('click', () => (ta.node().value = nta.node().value = ''))\n\tbox\n\t\t.append('p')\n\t\t.html(\n\t\t\t'<a href=https://github.com/stjude/proteinpaint/wiki/Tracks#Track-JSON-BED-track-format target=_blank>JSON-BED format</a>'\n\t\t)\n}\n\nfunction newtk_junction(block, div) {\n\tdiv.selectAll('*').remove()\n\tdiv\n\t\t.append('div')\n\t\t.style('margin', '20px')\n\t\t.style('display', 'inline-block')\n\t\t.html('< go back')\n\t\t.attr('class', 'sja_menuoption')\n\t\t.on('click', () => customtracktypeui(block, div))\n\n\tconst box = div.append('div').style('margin', '20px')\n\tconst nta = box\n\t\t.append('p')\n\t\t.append('input')\n\t\t.attr('type', 'text')\n\t\t.attr('placeholder', 'Junction track name')\n\t\t.attr('size', 20)\n\tconst ta = box\n\t\t.append('p')\n\t\t.append('input')\n\t\t.attr('type', 'text')\n\t\t.attr('placeholder', remoteFileAllowed() ? 'URL or server-side file path' : 'Server-side file path')\n\t\t.attr('size', 40)\n\tmayShowRemoteFileNote(box)\n\tconst p = box.append('p')\n\tp.append('button')\n\t\t.text('Add junction track')\n\t\t.on('click', () => {\n\t\t\tconst text = ta.property('value').trim()\n\t\t\tif (text == '') return\n\t\t\tif (urlNotAllowed(text)) return\n\t\t\tlet file, url\n\t\t\tif (stringisurl(text)) {\n\t\t\t\turl = text\n\t\t\t} else {\n\t\t\t\tfile = text\n\t\t\t}\n\t\t\tconst tk = {\n\t\t\t\ttype: client.tkt.junction,\n\t\t\t\tname: nta.property('value').trim() || 'junction',\n\t\t\t\ttracks: [\n\t\t\t\t\t{\n\t\t\t\t\t\tfile: file,\n\t\t\t\t\t\turl: url\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\tiscustom: true\n\t\t\t}\n\t\t\tmay_add_customtk(tk, block, div)\n\t\t})\n\tp.append('button')\n\t\t.text('Clear')\n\t\t.on('click', () => (ta.node().value = nta.node().value = ''))\n\tbox\n\t\t.append('p')\n\t\t.html(\n\t\t\t'<a href=https://github.com/stjude/proteinpaint/wiki/Tracks#Track-splice-junction target=_blank>Junction track format</a>'\n\t\t)\n}\n\nfunction newtk_vcf(block, div) {\n\tdiv.selectAll('*').remove()\n\tdiv\n\t\t.append('div')\n\t\t.style('margin', '20px')\n\t\t.style('display', 'inline-block')\n\t\t.html('< go back')\n\t\t.attr('class', 'sja_menuoption')\n\t\t.on('click', () => customtracktypeui(block, div))\n\n\tconst box = div.append('div').style('margin', '20px')\n\tconst nta = box\n\t\t.append('p')\n\t\t.append('input')\n\t\t.attr('type', 'text')\n\t\t.attr('placeholder', 'VCF track name')\n\t\t.attr('size', 20)\n\tconst ta = box\n\t\t.append('p')\n\t\t.append('input')\n\t\t.attr('type', 'text')\n\t\t.attr('placeholder', remoteFileAllowed() ? 'URL or server-side file path' : 'Server-side file path')\n\t\t.attr('size', 40)\n\tmayShowRemoteFileNote(box)\n\tconst p = box.append('p')\n\tp.append('button')\n\t\t.text('Add VCF track')\n\t\t.on('click', () => {\n\t\t\tconst text = ta.property('value').trim()\n\t\t\tif (text == '') return\n\t\t\tif (urlNotAllowed(text)) return\n\t\t\tlet file, url\n\t\t\tif (stringisurl(text)) {\n\t\t\t\turl = text\n\t\t\t} else {\n\t\t\t\tfile = text\n\t\t\t}\n\t\t\tconst vcfid = Math.random().toString()\n\t\t\tconst ds = {\n\t\t\t\tlabel: nta.property('value').trim() || 'VCF',\n\t\t\t\tid2vcf: {}\n\t\t\t}\n\t\t\tds.id2vcf[vcfid] = {\n\t\t\t\tvcfid: vcfid,\n\t\t\t\tfile: file,\n\t\t\t\turl: url,\n\t\t\t\theadernotloaded: true\n\t\t\t}\n\t\t\tconst tk = {\n\t\t\t\ttype: client.tkt.ds,\n\t\t\t\tds: ds,\n\t\t\t\tisvcf: true, // trigger\n\t\t\t\tiscustom: true\n\t\t\t}\n\t\t\tmay_add_customtk(tk, block, div)\n\t\t})\n\tp.append('button')\n\t\t.text('Clear')\n\t\t.on('click', () => (ta.node().value = nta.node().value = ''))\n\tbox.append('p').html('<a href=https://en.wikipedia.org/wiki/Variant_Call_Format target=_blank>VCF format</a>')\n\tbox.append('p').style('color', '#858585').style('font-size', '.8em').text('SNV/indel data only')\n}\n\nfunction newtk_interaction(block, div) {\n\tdiv.selectAll('*').remove()\n\tdiv\n\t\t.append('div')\n\t\t.style('margin', '20px')\n\t\t.style('display', 'inline-block')\n\t\t.html('< go back')\n\t\t.attr('class', 'sja_menuoption')\n\t\t.on('click', () => customtracktypeui(block, div))\n\n\tconst box = div.append('div').style('margin', '20px')\n\n\tconst tknameinput = box\n\t\t.append('p')\n\t\t.append('input')\n\t\t.attr('type', 'text')\n\t\t.attr('placeholder', 'Interaction track name')\n\t\t.attr('size', 20)\n\n\tconst tr = box.append('table').append('tr')\n\ttr.append('td')\n\t\t.text('Data source')\n\t\t.style('opacity', 0.5)\n\t\t.style('vertical-align', 'top')\n\t\t.style('padding-right', '10px')\n\tconst td = tr.append('td')\n\tconst id = Math.random().toString()\n\t{\n\t\tconst row = td.append('div')\n\t\trow\n\t\t\t.append('input')\n\t\t\t.attr('type', 'radio')\n\t\t\t.attr('name', id)\n\t\t\t.attr('id', id + 1)\n\t\t\t.property('checked', 1)\n\t\t\t.on('change', () => change(1))\n\t\trow\n\t\t\t.append('label')\n\t\t\t.attr('class', 'sja_clbtext')\n\t\t\t.html(' Hi-C, juicebox format')\n\t\t\t.attr('for', id + 1)\n\t}\n\t{\n\t\tconst row = td.append('div')\n\t\trow\n\t\t\t.append('input')\n\t\t\t.attr('type', 'radio')\n\t\t\t.attr('name', id)\n\t\t\t.attr('id', id + 2)\n\t\t\t.on('change', () => change(2))\n\t\trow\n\t\t\t.append('label')\n\t\t\t.attr('class', 'sja_clbtext')\n\t\t\t.html(' BED file, compressed and indexed')\n\t\t\t.attr('for', id + 2)\n\t}\n\t{\n\t\tconst row = td.append('div')\n\t\trow\n\t\t\t.append('input')\n\t\t\t.attr('type', 'radio')\n\t\t\t.attr('name', id)\n\t\t\t.attr('id', id + 3)\n\t\t\t.on('change', () => change(3))\n\t\trow\n\t\t\t.append('label')\n\t\t\t.attr('class', 'sja_clbtext')\n\t\t\t.html(' Text input')\n\t\t\t.attr('for', id + 3)\n\t}\n\n\tconst div1 = box.append('div')\n\t{\n\t\t// hic straw\n\t\tdiv1\n\t\t\t.append('p')\n\t\t\t.html(\n\t\t\t\t'Juicebox: <a href=https://github.com/theaidenlab/Juicebox target=_blank>github.com/theaidenlab/Juicebox</a>'\n\t\t\t)\n\t\tconst urlinput = div1\n\t\t\t.append('p')\n\t\t\t.append('input')\n\t\t\t.attr('type', 'text')\n\t\t\t.attr('placeholder', remoteFileAllowed() ? '*.hic file URL or server-side path' : '*.hic file server-side path')\n\t\t\t.attr('size', 40)\n\t\tmayShowRemoteFileNote(div1)\n\t\tlet enzymeselect\n\t\tif (block.genome.hicenzymefragment) {\n\t\t\tconst p = div1.append('p')\n\t\t\tp.append('span').html('Restriction enzyme: ')\n\t\t\tenzymeselect = p.append('select')\n\t\t\tenzymeselect.append('option').text('none')\n\t\t\tfor (const e of block.genome.hicenzymefragment) {\n\t\t\t\tenzymeselect.append('option').text(e.enzyme).property('value', e.enzyme)\n\t\t\t}\n\t\t}\n\t\tdiv1\n\t\t\t.append('p')\n\t\t\t.append('button')\n\t\t\t.text('Add track')\n\t\t\t.on('click', () => {\n\t\t\t\tconst str = urlinput.property('value')\n\t\t\t\tif (!str) return\n\t\t\t\tif (urlNotAllowed(str)) return\n\t\t\t\tconst tk = {\n\t\t\t\t\ttype: client.tkt.hicstraw,\n\t\t\t\t\tname: tknameinput.property('value') || 'Custom interaction',\n\t\t\t\t\tmode_hm: true,\n\t\t\t\t\tmode_arc: false,\n\t\t\t\t\tiscustom: 1\n\t\t\t\t}\n\t\t\t\tif (stringisurl(str)) tk.url = str\n\t\t\t\telse tk.file = str\n\t\t\t\tif (enzymeselect) {\n\t\t\t\t\tconst s = enzymeselect.node()\n\t\t\t\t\ttk.enzyme = s.options[s.selectedIndex].value\n\t\t\t\t\tif (tk.enzyme == 'none') delete tk.enzyme\n\t\t\t\t}\n\t\t\t\tmay_add_customtk(tk, block, div)\n\t\t\t})\n\t}\n\n\tconst div2 = box.append('div').style('display', 'none')\n\t{\n\t\t// bed file\n\t\tdiv2\n\t\t\t.append('p')\n\t\t\t.html(\n\t\t\t\t'<a href=https://github.com/stjude/proteinpaint/wiki/Tracks#track-json-bed-track-format target=_blank>BED file format</a>'\n\t\t\t)\n\t\tconst urlinput = div2\n\t\t\t.append('p')\n\t\t\t.append('input')\n\t\t\t.attr('type', 'text')\n\t\t\t.attr('placeholder', remoteFileAllowed() ? '*.gz file URL or server-side path' : '*.gz file server-side path')\n\t\t\t.attr('size', 40)\n\t\tmayShowRemoteFileNote(div2)\n\t\tdiv2\n\t\t\t.append('p')\n\t\t\t.append('button')\n\t\t\t.text('Add track')\n\t\t\t.on('click', () => {\n\t\t\t\tconst str = urlinput.property('value')\n\t\t\t\tif (!str) return\n\t\t\t\tif (urlNotAllowed(str)) return\n\t\t\t\tconst tk = {\n\t\t\t\t\ttype: client.tkt.hicstraw,\n\t\t\t\t\tname: tknameinput.property('value') || 'Custom interaction',\n\t\t\t\t\tmode_hm: false,\n\t\t\t\t\tmode_arc: true,\n\t\t\t\t\tiscustom: 1\n\t\t\t\t}\n\t\t\t\tif (stringisurl(str)) tk.bedurl = str\n\t\t\t\telse tk.bedfile = str\n\t\t\t\tmay_add_customtk(tk, block, div)\n\t\t\t})\n\t}\n\n\tconst div3 = box.append('div').style('display', 'none')\n\t{\n\t\t// text data\n\t\tdiv3\n\t\t\t.append('p')\n\t\t\t.html(\n\t\t\t\t'Enter interaction data as <a href=https://github.com/stjude/proteinpaint/wiki/Tracks#Track-splice-junction target=_blank>tab-delimited text</a>.'\n\t\t\t)\n\t\tconst textinput = div3\n\t\t\t.append('textarea')\n\t\t\t.attr('placeholder', 'One line per interaction')\n\t\t\t.attr('cols', 45)\n\t\t\t.attr('rows', 5)\n\t\tdiv3\n\t\t\t.append('p')\n\t\t\t.append('button')\n\t\t\t.text('Add track')\n\t\t\t.on('click', () => {\n\t\t\t\tconst str = textinput.property('value')\n\t\t\t\tif (!str) return\n\t\t\t\tconst tk = {\n\t\t\t\t\ttype: client.tkt.hicstraw,\n\t\t\t\t\tname: tknameinput.property('value') || 'Custom interaction',\n\t\t\t\t\tmode_hm: false,\n\t\t\t\t\tmode_arc: true,\n\t\t\t\t\tiscustom: 1,\n\t\t\t\t\ttextdata: { raw: str }\n\t\t\t\t}\n\t\t\t\tmay_add_customtk(tk, block, div)\n\t\t\t})\n\t}\n\n\tconst change = i => {\n\t\tdiv1.style('display', i == 1 ? 'block' : 'none')\n\t\tdiv2.style('display', i == 2 ? 'block' : 'none')\n\t\tdiv3.style('display', i == 3 ? 'block' : 'none')\n\t}\n}\n\nfunction facettrigger(block, holder, menutip) {\n\t/*\n\tshow buttons for launching facet tables\n\tone for each applicable set in genome.tkset[]\n\t*/\n\n\tconst toshow = []\n\n\tfor (const tkset of block.genome.tkset) {\n\t\t// { isfacet: bool, name:str, tklst:[ {tk} ] }\n\n\t\tif (tkset.facetlst) {\n\t\t\t// this set has predefined facets as supplied from tp.init\n\t\t\t// [ {samples[], assays[]} ]\n\t\t\ttoshow.push(tkset)\n\t\t\tcontinue\n\t\t}\n\n\t\tif (tkset.isfacet) {\n\t\t\ttoshow.push(tkset)\n\t\t\tcontinue\n\t\t}\n\n\t\tconsole.log('the .isfacet flag is missing on this tkset and may need to be supported')\n\t}\n\tif (toshow.length == 0) {\n\t\treturn\n\t}\n\t// has facets to be shown\n\t// a holder to show one button for each facet table\n\tconst div = holder.append('div').style('margin', '15px')\n\tdiv.append('div').text('FACET').style('color', '#858585').style('font-size', '.7em')\n\n\tfor (const tkset of toshow) {\n\t\tif (tkset.facetlst) {\n\t\t\t// predefined sets\n\t\t\tfor (const flet of tkset.facetlst) {\n\t\t\t\tdiv\n\t\t\t\t\t.append('div')\n\t\t\t\t\t.style('display', 'inline-block')\n\t\t\t\t\t.attr('class', 'sja_menuoption')\n\t\t\t\t\t.text((flet.name ? flet.name + ': ' : '') + tkset.name)\n\t\t\t\t\t.on('click', event => {\n\t\t\t\t\t\tmenutip.hide()\n\t\t\t\t\t\tif (flet.facetpane) {\n\t\t\t\t\t\t\tdocument.body.appendChild(flet.facetpane.pane.node())\n\t\t\t\t\t\t\tclient.appear(flet.facetpane.pane)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst pane = client.newpane({\n\t\t\t\t\t\t\t\tx: event.clientX - 100,\n\t\t\t\t\t\t\t\ty: event.clientY - 20,\n\t\t\t\t\t\t\t\tclosekeep: true\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\tflet.facetpane = pane\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfacetmake(block, tkset, flet)\n\t\t\t\t\t})\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\tdiv\n\t\t\t.append('div')\n\t\t\t.style('display', 'inline-block')\n\t\t\t.attr('class', 'sja_menuoption')\n\t\t\t.text(tkset.tklst.length + ' tracks from ' + tkset.name)\n\t\t\t.on('click', event => {\n\t\t\t\tmenutip.hide()\n\t\t\t\tif (tkset.facetpane) {\n\t\t\t\t\tdocument.body.appendChild(tkset.facetpane.pane.node())\n\t\t\t\t\tclient.appear(tkset.facetpane.pane)\n\t\t\t\t} else {\n\t\t\t\t\tconst pane = client.newpane({\n\t\t\t\t\t\tx: event.clientX - 100,\n\t\t\t\t\t\ty: event.clientY - 20,\n\t\t\t\t\t\tclosekeep: true\n\t\t\t\t\t})\n\t\t\t\t\ttkset.facetpane = pane\n\t\t\t\t}\n\t\t\t\tfacetmake(block, tkset)\n\t\t\t})\n\t}\n}\n\n/*\ncalled by clicking a button in tkmenu linking to a set in genome.tkset[]\nto make a facet table for a set in genome.tkset[]\n\ntkset{}\n required\n {isfacet:true, name, tklst[], facetpane}\n\nflet{}\n optional, a facet table with predefined rows and columns\n {samples[], assays[]}\n if undefined, will generate table using tkset.tklst[]\n*/\nfunction facetmake(block, tkset, flet) {\n\tconst tip = new Menu()\n\n\tconst facetpane = (flet || tkset).facetpane\n\n\tfacetpane.header.html('<span style=\"color:#858585;font-size:.8em\">Tracks from</span> ' + tkset.name)\n\tfacetpane.body.selectAll('*').remove()\n\n\tbackward_compatible(tkset.tklst)\n\n\tconst [assays, sample2assay2tracks, level2sample, L1_2_L2, samplewithlevel] = get_dimensions(tkset, flet)\n\n\tconst [assaynamelst] = sort_dimensions(assays, flet)\n\n\tconst scrollholder = facetpane.body.append('div')\n\tif (sample2assay2tracks.size > 50) {\n\t\t// more than 50 samples\n\t\tscrollholder.style('height', '500px').style('overflow-y', 'scroll').style('resize', 'vertical')\n\t}\n\n\tconst table = scrollholder\n\t\t.append('table')\n\t\t.style('margin', '10px')\n\t\t.style('border-spacing', '3px')\n\t\t.style('border-collapse', 'separate')\n\t\t.attr('class', 'sja_simpletable')\n\n\t///////////////// header row\n\tconst tr = table.append('tr')\n\t// blank cells for level1/2 and sample column\n\tif (L1_2_L2) {\n\t\t// two columns for two groups\n\t\ttr.append('td')\n\t\ttr.append('td')\n\t} else if (level2sample) {\n\t\t// only one column\n\t\ttr.append('td')\n\t}\n\ttr.append('td') // sample column\n\n\t// one column for each assay\n\tfor (const assay of assaynamelst) {\n\t\ttr.append('td')\n\t\t\t.text(assay)\n\t\t\t.attr('class', 'sja_clbtext')\n\t\t\t.on('click', () => {\n\t\t\t\tbatchselect_assay(assay)\n\t\t\t})\n\t}\n\n\t///////////////// sample rows\n\n\tif (L1_2_L2) {\n\t\t// one row for each L1 that contains a set of L2\n\t\tfor (const [L1, o] of L1_2_L2) {\n\t\t\t// number of samples under this L1\n\t\t\tlet samplecount = 0\n\t\t\tfor (const s of o.values()) {\n\t\t\t\tsamplecount += s.size\n\t\t\t}\n\n\t\t\tlet tr = table.append('tr')\n\t\t\t// to disable creating <tr> at first L2\n\t\t\t// set to true after first L2 and to create <tr> at subsequent L2s\n\t\t\tlet createnewrow_at_L2 = false\n\t\t\ttr.append('td')\n\t\t\t\t.text(L1)\n\t\t\t\t.attr('class', 'sja_clbtext')\n\t\t\t\t.attr('rowspan', samplecount)\n\t\t\t\t.on('click', () => {\n\t\t\t\t\tbatchselect_sample({ L1 })\n\t\t\t\t})\n\n\t\t\tfor (const [L2, sampleset] of o) {\n\t\t\t\tif (createnewrow_at_L2) tr = table.append('tr')\n\t\t\t\t// to disable creating <tr> at first sample\n\t\t\t\t// set to true after first sample and allow to create <tr> at subsequent samples\n\t\t\t\tlet createnewrow_at_sample = false\n\n\t\t\t\ttr.append('td')\n\t\t\t\t\t.text(L2)\n\t\t\t\t\t.attr('rowspan', sampleset.size)\n\t\t\t\t\t.attr('class', 'sja_clbtext')\n\t\t\t\t\t.on('click', () => {\n\t\t\t\t\t\tbatchselect_sample({ L1, L2 })\n\t\t\t\t\t})\n\n\t\t\t\tfor (const sample of sampleset) {\n\t\t\t\t\tif (createnewrow_at_sample) tr = table.append('tr')\n\n\t\t\t\t\ttr.append('td')\n\t\t\t\t\t\t.text(sample)\n\t\t\t\t\t\t.attr('class', 'sja_clbtext')\n\t\t\t\t\t\t.on('click', () => {\n\t\t\t\t\t\t\tbatchselect_sample({ L1, L2, sample })\n\t\t\t\t\t\t})\n\n\t\t\t\t\tfor (const assay of assaynamelst) {\n\t\t\t\t\t\tmakecell(sample, assay, tr)\n\t\t\t\t\t}\n\t\t\t\t\tcreatenewrow_at_sample = true\n\t\t\t\t}\n\t\t\t\tcreatenewrow_at_L2 = true\n\t\t\t}\n\t\t}\n\t}\n\tif (level2sample) {\n\t\t// one row for each group of samples, no sub groups\n\t\tfor (const [level, sampleset] of level2sample) {\n\t\t\tlet tr = table.append('tr')\n\t\t\tlet createnewrow = false\n\t\t\tconst td = tr\n\t\t\t\t.append('td')\n\t\t\t\t.text(level)\n\t\t\t\t.attr('rowspan', sampleset.size)\n\t\t\t\t.attr('class', 'sja_clbtext')\n\t\t\t\t.on('click', () => {\n\t\t\t\t\tbatchselect_sample({ level })\n\t\t\t\t})\n\t\t\tif (L1_2_L2) {\n\t\t\t\ttd.attr('colspan', 2)\n\t\t\t}\n\t\t\tfor (const sample of sampleset) {\n\t\t\t\tif (createnewrow) tr = table.append('tr')\n\t\t\t\ttr.append('td')\n\t\t\t\t\t.text(sample)\n\t\t\t\t\t.attr('class', 'sja_clbtext')\n\t\t\t\t\t.on('click', () => {\n\t\t\t\t\t\tbatchselect_sample({ level, sample })\n\t\t\t\t\t})\n\t\t\t\tfor (const assay of assaynamelst) {\n\t\t\t\t\tmakecell(sample, assay, tr)\n\t\t\t\t}\n\t\t\t\tcreatenewrow = true\n\t\t\t}\n\t\t\tcreatenewrow = true\n\t\t}\n\t}\n\t// level-less samples, one row for each\n\tfor (const [sample, o] of sample2assay2tracks) {\n\t\tif (samplewithlevel.has(sample)) continue\n\t\tconst tr = table.append('tr')\n\t\tconst td = tr\n\t\t\t.append('td')\n\t\t\t.text(sample)\n\t\t\t.attr('class', 'sja_clbtext')\n\t\t\t.on('click', () => {\n\t\t\t\tbatchselect_sample({ sample })\n\t\t\t})\n\t\tif (L1_2_L2) {\n\t\t\ttd.attr('colspan', 3)\n\t\t} else if (level2sample) {\n\t\t\ttd.attr('colspan', 2)\n\t\t}\n\t\tfor (const assay of assaynamelst) {\n\t\t\tmakecell(sample, assay, tr)\n\t\t}\n\t}\n\n\tfunction makecell(sample, assay, tr) {\n\t\tconst td = tr.append('td')\n\t\tconst s = sample2assay2tracks.get(sample)\n\t\tif (!s) return\n\t\tconst tklst = s.get(assay)\n\t\tif (!tklst) return\n\t\t// this cell has tracks\n\t\ttd.attr('class', 'sja_menuoption').style('font-size', '.7em').style('text-align', 'center')\n\n\t\tlet numdisplayed = 0\n\t\tfor (const t of tklst) {\n\t\t\t// only match by tkid\n\t\t\tif (findtkbytkid(block, t.tkid)) {\n\t\t\t\tnumdisplayed++\n\t\t\t}\n\t\t}\n\n\t\tif (tklst.length > 1) {\n\t\t\t// multiple tracks, click to list\n\t\t\ttd.text(tklst.length).on('click', event => {\n\t\t\t\t// list each track\n\t\t\t\ttip.clear().show(event.clientX, event.clientY)\n\t\t\t\tconst table = tip.d.append('table')\n\t\t\t\tfor (const t of tklst) {\n\t\t\t\t\tconst tr = table.append('tr')\n\t\t\t\t\tconst td1 = tr.append('td').style('color', '#555').style('font-size', '.7em')\n\t\t\t\t\tif (findtkbytkid(block, t.tkid)) {\n\t\t\t\t\t\ttd1.text('SHOWN')\n\t\t\t\t\t}\n\t\t\t\t\ttr.append('td')\n\t\t\t\t\t\t.text(t.partname || t.name)\n\t\t\t\t\t\t.attr('class', 'sja_menuoption')\n\t\t\t\t\t\t.on('click', () => {\n\t\t\t\t\t\t\ttkhandleclick(block, t, td1)\n\t\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})\n\t\t} else {\n\t\t\t// single track, click cell to add or remove\n\t\t\tif (findtkbytkid(block, tklst[0].tkid)) {\n\t\t\t\ttd.text('SHOWN')\n\t\t\t}\n\t\t\ttd.on('click', () => {\n\t\t\t\ttkhandleclick(block, tklst[0], td)\n\t\t\t})\n\t\t}\n\t}\n\n\tfunction batchselect_assay(assay) {\n\t\t// get all tk from a assay\n\t\tconst tklst = []\n\t\tfor (const t of tkset.tklst) {\n\t\t\tif (flet) {\n\t\t\t\t// predefined facet, must check assay\n\t\t\t\tif (!assays.has(t.assay)) continue\n\t\t\t}\n\t\t\tif (t.assay == assay) {\n\t\t\t\ttklst.push(t)\n\t\t\t}\n\t\t}\n\t\ttoggle_tracks(tklst)\n\t\tfacetmake(block, tkset, flet)\n\t}\n\n\t/*\n\tall parameters are optional\n\tL1: from L1_2_L2, get all samples under L1\n\tL2: from L1_2_L2, L1 should be provided; to get all samples under L1 and L2\n\tlevel: from level2sample, get all samples under the level\n\n\tin all above cases, sample may be provided\n\tif sample is provided alone, to get level-less tracks from this sample\n\t*/\n\tfunction batchselect_sample({ L1, L2, level, sample }) {\n\t\tconst tklst = []\n\t\tfor (const t of tkset.tklst) {\n\t\t\tif (flet) {\n\t\t\t\t// predefined facet, must check assay\n\t\t\t\tif (!assays.has(t.assay)) continue\n\t\t\t}\n\t\t\tconst l1 = t.level1\n\t\t\tconst l2 = t.level2\n\t\t\tif (L1) {\n\t\t\t\tif (l1 != L1) continue\n\t\t\t\tif (L2) {\n\t\t\t\t\tif (l2 != L2) continue\n\t\t\t\t\tif (sample) {\n\t\t\t\t\t\tif (t.sample == sample) tklst.push(t)\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttklst.push(t)\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\ttklst.push(t)\n\t\t\t\t}\n\t\t\t} else if (level) {\n\t\t\t\tif ((l1 && l2) || (!l1 && !l2)) continue\n\t\t\t\tconst l = l1 || l2\n\t\t\t\tif (l != level) continue\n\t\t\t\tif (sample) {\n\t\t\t\t\tif (t.sample == sample) tklst.push(t)\n\t\t\t\t} else {\n\t\t\t\t\ttklst.push(t)\n\t\t\t\t}\n\t\t\t} else if (sample) {\n\t\t\t\tif (l1 || l2) continue\n\t\t\t\tif (t.sample == sample) tklst.push(t)\n\t\t\t}\n\t\t}\n\t\ttoggle_tracks(tklst)\n\t\tfacetmake(block, tkset, flet)\n\t}\n\n\tfunction toggle_tracks(lst) {\n\t\tif (lst.length == 0) return\n\t\tconst notshown = []\n\t\tfor (const t of lst) {\n\t\t\tif (!findtkbytkid(block, t.tkid)) {\n\t\t\t\tnotshown.push(t)\n\t\t\t}\n\t\t}\n\t\tif (notshown.length) {\n\t\t\t// 1 or more not shown, show these\n\t\t\tfor (const t of notshown) {\n\t\t\t\tconst t2 = block.block_addtk_template(t)\n\t\t\t\tif (t2) {\n\t\t\t\t\tblock.tk_load(t2)\n\t\t\t\t} else {\n\t\t\t\t\t// error, already displayed\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// all are shown, hide all\n\t\t\tfor (const t of lst) {\n\t\t\t\tfor (let i = 0; i < block.tklst.length; i++) {\n\t\t\t\t\tif (block.tklst[i].tkid == t.tkid) {\n\t\t\t\t\t\tblock.tk_remove(i)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*\nfrom a list of tracks, summarize the sample and assay dimensions for making the table\ndetect if .level1 or .level2 is set on tracks\nif so, summarize the grouping method\ndetect old schema with \"patient/sampletype\" and convert to new schema\n*/\nfunction get_dimensions(tkset, flet) {\n\t/* unique list of assays and number of tracks for each\n\tto produce ordered list of assays as facet columns\n\tk: assay name\n\tv: tk count\n\t*/\n\tconst assays = new Map()\n\n\t/* record assays from each sample, and list of tracks from each assay\n\tk: sample\n\tv: map\n\t k: assay\n\t v: tklst\n\t*/\n\tconst sample2assay2tracks = new Map()\n\n\t/* set to a map when a track has just one level, but not both\n\tk: either tk.level1 or tk.level2\n\tv: set of samples\n\t*/\n\tlet level2sample\n\n\t/* set to a map when when both tk.level2 and tk.level2 are set\n\tk: tk.level1\n\tv: map\n\t k: tk.level2\n\t v: set of samples\n\t*/\n\tlet L1_2_L2\n\n\t/* samples from track with any of the level setting\n\twhen levels are specified,\n\tuse this to identify samples from level-less tracks\n\tso these tracks can be rendered as new rows in addition to level-grouped rows\n\t*/\n\tconst samplewithlevel = new Set()\n\n\tif (flet) {\n\t\t// predefined facet\n\t\t// identify examples where flet is used\n\t\tfor (const n of flet.assays) {\n\t\t\tassays.set(n, 0)\n\t\t}\n\t\tfor (const n of flet.samples) {\n\t\t\tsample2assay2tracks.set(n, new Map())\n\t\t}\n\t\tfor (const t of tkset.tklst) {\n\t\t\tif (!assays.has(t.assay)) continue\n\t\t\tconst sample = t.patient || t.sample\n\t\t\tif (!sample2assay2tracks.has(sample)) continue\n\t\t\tassays.set(t.assay, assays.get(t.assay) + 1)\n\n\t\t\tif (!sample2assay2tracks.get(sample).has(t.assay)) sample2assay2tracks.get(sample).set(t.assay, [])\n\t\t\tsample2assay2tracks.get(sample).get(t.assay).push(t)\n\t\t}\n\t\treturn [assays, sample2assay2tracks, null, null, samplewithlevel]\n\t}\n\n\t// flet is not provided\n\n\tfor (const t of tkset.tklst) {\n\t\tif (!assays.has(t.assay)) assays.set(t.assay, 0)\n\t\tassays.set(t.assay, assays.get(t.assay) + 1)\n\t}\n\n\t// detect if level1 and level2 is set on any track\n\tlet hasl1 = false,\n\t\thasl2 = false\n\tfor (const t of tkset.tklst) {\n\t\tif (t.level1) hasl1 = true\n\t\tif (t.level2) hasl2 = true\n\t}\n\n\tif (hasl1 || hasl2) {\n\t\t// at least one level is set, initiate holder to map single level to samples\n\t\tlevel2sample = new Map()\n\t\tif (hasl1 && hasl2) {\n\t\t\t// both levels are set, initiate holder to capture level1 to level2 mapping\n\t\t\tL1_2_L2 = new Map()\n\t\t}\n\t}\n\tfor (const t of tkset.tklst) {\n\t\tconst sample = t.sample\n\t\tconst assay = t.assay\n\t\tif (!assay || !sample) {\n\t\t\t// assay and sample are required for a tk to go into facet table\n\t\t\tcontinue\n\t\t}\n\n\t\t// capture sample to assay to track mapping\n\t\tif (!sample2assay2tracks.has(sample)) sample2assay2tracks.set(sample, new Map())\n\t\tif (!sample2assay2tracks.get(sample).has(assay)) sample2assay2tracks.get(sample).set(assay, [])\n\t\tsample2assay2tracks.get(sample).get(assay).push(t)\n\n\t\tconst L1 = t.level1,\n\t\t\tL2 = t.level2\n\t\tif (L1 || L2) {\n\t\t\t// has either level\n\t\t\tsamplewithlevel.add(sample)\n\t\t\tif (L1 && L2) {\n\t\t\t\t// has both levels\n\t\t\t\tif (!L1_2_L2.has(L1)) L1_2_L2.set(L1, new Map())\n\t\t\t\tif (!L1_2_L2.get(L1).has(L2)) L1_2_L2.get(L1).set(L2, new Set())\n\t\t\t\tL1_2_L2.get(L1).get(L2).add(sample)\n\t\t\t} else {\n\t\t\t\t// has just one level, allow it to be either L1 or L2, and associate the sample with it\n\t\t\t\tconst L = L1 || L2\n\t\t\t\tif (!level2sample.has(L)) level2sample.set(L, new Set())\n\t\t\t\tlevel2sample.get(L).add(sample)\n\t\t\t}\n\t\t}\n\t}\n\treturn [assays, sample2assay2tracks, level2sample, L1_2_L2, samplewithlevel]\n}\n\n/*\nfor both sample and assays, determine the order of appearance in the table\nsample sorting is not implemented, need to account for optional levels\n*/\nfunction sort_dimensions(assays, flet) {\n\tlet assaynamelst\n\t//patientnamelst\n\n\tif (flet && flet.nosortassay) {\n\t\tassaynamelst = [...assays].map(a => a[0])\n\t} else {\n\t\tassaynamelst = [...assays]\n\t\t\t.sort((a, b) => {\n\t\t\t\t// tk count\n\t\t\t\tconst [aname, atknum] = a\n\t\t\t\tconst [bname, btknum] = b\n\t\t\t\tif (atknum == btknum) {\n\t\t\t\t\t// same tk count\n\t\t\t\t\t// sort alphabetically by assay name\n\t\t\t\t\tif (aname < bname) return -1\n\t\t\t\t\treturn 1\n\t\t\t\t} else {\n\t\t\t\t\treturn btknum - atknum\n\t\t\t\t}\n\t\t\t})\n\t\t\t.map(a => a[0])\n\t}\n\t/*\n\n\tif (flet && flet.nosortsample) {\n\t\tpatientnamelst = [...patients].map(a => a[0])\n\t} else {\n\t\tpatientnamelst = [...patients].sort((a, b) => b[1].count - a[1].count).map(a => a[0])\n\t}\n\t*/\n\n\t/*\n\tshow sampletype column?\n\tif a patient do not have sampletype, the sampletype value is the same as patient name\n\tif none of the patients have sampletype, do not show sampletype column\n\totherwise show\n\tlet hasst = false\n\tfor (const [patient, a] of patients) {\n\t\tfor (const [st, b] of a.st) {\n\t\t\tif (st != patient) {\n\t\t\t\thasst = true\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tif (hasst) break\n\t}\n\t*/\n\treturn [assaynamelst]\n}\n\nfunction backward_compatible(lst) {\n\t// change .assayname to .assay, patient/sampletype to level1/level2\n\tfor (const t of lst) {\n\t\tif (t.assayname) {\n\t\t\t// change .assayname to .assay\n\t\t\tt.assay = t.assayname\n\t\t\tdelete t.assayname\n\t\t}\n\t\tif (!t.assay) continue\n\t\t// assay is required\n\n\t\tif (t.patient) {\n\t\t\t// has the old designation of .patient\n\t\t\tif (t.sampletype && t.patient == t.sampletype) {\n\t\t\t\tdelete t.sampletype\n\t\t\t}\n\t\t\tif (!t.sample) {\n\t\t\t\t// has patient but no sample\n\t\t\t\tt.sample = t.patient\n\t\t\t\tdelete t.patient\n\t\t\t}\n\t\t}\n\n\t\tif (!t.sample) continue\n\t\t// sample is required\n\t\t// this track can show in facet table\n\t\tif (t.patient) {\n\t\t\tt.level1 = t.patient\n\t\t\tdelete t.patient\n\t\t\tif (t.sampletype) {\n\t\t\t\tt.level2 = t.sampletype\n\t\t\t\tdelete t.sampletype\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction findtkbytkid(block, tkid) {\n\tfor (const t of block.tklst) {\n\t\tif (t.tkid == tkid) return true\n\t}\n\treturn false\n}\n\nfunction tkhandleclick(block, tk, td1) {\n\t/*\n\tcalled by clicking on the *handle* that shows the track name\n\twill show/hide the track\n\t*/\n\tfor (let i = 0; i < block.tklst.length; i++) {\n\t\tconst t = block.tklst[i]\n\t\t// different ways of identifying equal tracks\n\t\tlet equal = false\n\t\tif (tk.ds && tk.ds.iscustom) {\n\t\t\t// is child ds of official dstk\n\t\t\tif (t.ds && t.ds.label == tk.ds.label) {\n\t\t\t\tequal = true\n\t\t\t}\n\t\t} else if (tk.tkid) {\n\t\t\t// using tkid\n\t\t\tif (t.tkid == tk.tkid) equal = true\n\t\t} else if (tk.id) {\n\t\t\t// tkid not set, this is possible for cohort-generated tracks\n\t\t\t// cohort assay id\n\t\t\tif (t.id == tk.id && t.file == tk.file && t.url == tk.url) {\n\t\t\t\tequal = true\n\t\t\t}\n\t\t}\n\t\tif (equal) {\n\t\t\t// match, this one is currently shown\n\t\t\tblock.tk_remove(i)\n\t\t\tblock.tkchangeaffectlegend(tk)\n\t\t\tif (td1) {\n\t\t\t\ttd1.text('')\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t}\n\t// here this track is to be shown\n\tlet newt\n\tif (tk.type == client.tkt.ds) {\n\t\t/*\n\t\tis dstk\n\t\tmust SHED old stuff from scopped tk !?\n\t\t*/\n\n\t\tconst newtemplate = {\n\t\t\ttype: tk.type,\n\t\t\ttkid: tk.tkid, // must retain tkid\n\t\t\tds: tk.ds,\n\t\t\tisvcf: tk.isvcf,\n\t\t\titemlabelname: tk.itemlabelname,\n\t\t\tiscustom: tk.iscustom,\n\t\t\tvcfinfofilter: tk.vcfinfofilter,\n\t\t\tpopulationfrequencyfilter: tk.populationfrequencyfilter,\n\t\t\turl4variant: tk.url4variant,\n\t\t\tbutton4variant: tk.button4variant,\n\t\t\tviewrangeupperlimit: tk.viewrangeupperlimit\n\t\t}\n\n\t\tif (tk.ds.iscustom) {\n\t\t\t// is a custom ds, must be child from official dstk\n\t\t\tblock.addchilddsnoload(tk.ds)\n\t\t}\n\t\tnewt = block.block_addtk_template(newtemplate)\n\t} else {\n\t\tnewt = block.block_addtk_template(tk)\n\t}\n\tblock.tk_load(newt)\n\tif (td1) {\n\t\ttd1.text('SHOWN')\n\t}\n}\n\nfunction deletecustom(block, tk, tr) {\n\ttr.remove()\n\tfor (let i = 0; i < block.tklst.length; i++) {\n\t\tconst t = block.tklst[i]\n\t\tif (t.tkid == tk.tkid) {\n\t\t\t// match, this one is currently shown\n\t\t\tblock.tk_remove(i)\n\t\t\tblock.tkchangeaffectlegend(tk)\n\t\t\tbreak\n\t\t}\n\t}\n\tfor (let i = 0; i < block.genome.tracks.length; i++) {\n\t\tconst t = block.genome.tracks[i]\n\t\tif (t.tkid == tk.tkid) {\n\t\t\tblock.genome.tracks.splice(i, 1)\n\t\t\tbreak\n\t\t}\n\t}\n\tif (!block.tklst.find(i => i.type == 'bam' && i.gdcFile)) {\n\t\t// some tk has been deleted and no more gdc bam slicing tk, hide this button\n\t\tblock.gdcBamSliceDownloadBtn.style('display', 'none')\n\t}\n}\n\n/* this function has been changed to return text rather than HTML,\nto prevent it from showing injected code in custom tk name\n*/\nfunction tkhtmllabel(tk, block) {\n\tlet basename\n\tif (tk.type == client.tkt.usegm) {\n\t\t// is usegm tk, show block gmmode\n\t\tif (block) {\n\t\t\tswitch (block.gmmode) {\n\t\t\t\tcase client.gmmode.gmsum:\n\t\t\t\t\tconst usecount = block.allgm.reduce((i, j) => i + (j.hidden ? 0 : 1), 0)\n\t\t\t\t\tbasename =\n\t\t\t\t\t\ttk.name +\n\t\t\t\t\t\t', sum of ' +\n\t\t\t\t\t\t(usecount < block.allgm.length ? usecount + ' of ' + block.allgm.length : usecount) +\n\t\t\t\t\t\t' isoforms'\n\t\t\t\t\tbreak\n\t\t\t\tcase client.gmmode.splicingrna:\n\t\t\t\t\tbasename = tk.name + ' exons'\n\t\t\t\t\tbreak\n\t\t\t\tcase client.gmmode.exononly:\n\t\t\t\t\tbasename = tk.name + ' RNA'\n\t\t\t\t\tbreak\n\t\t\t\tcase client.gmmode.genomic:\n\t\t\t\t\tbasename = tk.name + ' genomic view'\n\t\t\t\t\tbreak\n\t\t\t\tcase client.gmmode.protein:\n\t\t\t\t\tbasename = tk.name + ' protein'\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t} else {\n\t\t\tbasename = tk.name\n\t\t}\n\t} else if (tk.type == client.tkt.ds) {\n\t\tbasename = tk.ds.label\n\t} else if (tk.name) {\n\t\tbasename = tk.name\n\t} else {\n\t\t// no name, go figure\n\t\tif (tk.dslabel) {\n\t\t\tbasename = tk.dslabel\n\t\t} else {\n\t\t\tconst lst = []\n\t\t\tif (tk.patient) lst.push(tk.patient)\n\t\t\tif (tk.sampletype) lst.push(tk.sampletype)\n\t\t\tif (tk.assayname) lst.push(tk.assayname)\n\t\t\tbasename = lst.join(' ')\n\t\t}\n\t}\n\n\tif (tk.type == client.tkt.junction) {\n\t\t// weird counting method for # samples in junction tk\n\t\tif (tk.totalsamplecount == undefined) {\n\t\t\t// this can happen for a junction track that has not been loaded yet, so don't know # samples\n\t\t\treturn basename\n\t\t}\n\t\tif (tk.totalsamplecount == 1) {\n\t\t\treturn basename\n\t\t}\n\t\treturn `${basename} (${tk.totalsamplecount})`\n\t\t/*\n\t\treturn (\n\t\t\tbasename +\n\t\t\t' <span class=\"sja_mcdot\" style=\"font-size:.7em;background-color:#bbb\">' +\n\t\t\ttk.totalsamplecount +\n\t\t\t' combined</span>'\n\t\t)\n\t\t*/\n\t}\n\tif (!tk.tracks || tk.tracks.length == 1) {\n\t\t// singleton\n\t\treturn basename\n\t}\n\t// tell # of members\n\treturn `${basename} (${tk.tracks.length})`\n\t/*\n\treturn (\n\t\tbasename +\n\t\t' <span style=\"font-size:.7em;padding:1px 5px;background-color:#bbb;color:white;border-radius:3px\">' +\n\t\ttk.tracks.length +\n\t\t' combined</span>'\n\t)\n\t*/\n}\n\n/* the custom track inputs take either a url or a server-side file path;\nwhen the server does not allow remote files (serverconfig.features.ALLOW_remotefilefromurl),\nthe inputs only take a server-side file path\n*/\nconst remoteFileNotSupported = 'Remote file not supported on this server.'\n\nfunction remoteFileAllowed() {\n\treturn JSON.parse(sessionStorage.getItem('optionalFeatures') || '{}').ALLOW_remotefilefromurl\n}\n\nfunction mayShowRemoteFileNote(holder) {\n\tif (remoteFileAllowed()) return\n\tholder.append('p').style('color', '#858585').style('font-size', '.8em').text(remoteFileNotSupported)\n}\n\n// returns true and alerts the user if s is a url that the server does not allow\nfunction urlNotAllowed(s) {\n\tif (remoteFileAllowed() || !stringisurl(s)) return false\n\twindow.alert(remoteFileNotSupported)\n\treturn true\n}\n\nfunction stringisurl(s) {\n\tconst ss = s.toLowerCase()\n\tif (ss.startsWith('http://')) return true\n\tif (ss.startsWith('https://')) return true\n\tif (ss.startsWith('ftp://')) return true\n\treturn false\n}\n\nfunction notAllowedToHideThisTrack(tk) {\n\t// return true to indicate the track cannot be turned hidden in tk menu\n\n\t// usegm track is always on, cannot remove, because it's not registered in genome.tracks[]\n\tif (tk.type == client.tkt.usegm) return true\n\n\t// is official mds3 tk, always on; could be temporary fix! can encode this choice at ds if indeed we need to hide an official mds3...\n\t// 4-2024 can show/hide from tk menu without leaving menu. issue is that tk is not registered as custom tk and won't reappear in tkmenu after closing menu, thus still does not allow hiding it\n\tif (tk.type == 'mds3' && tk.dslabel) return true\n\n\t// is a gdc bam tk, it only shows in gdc bam slicing app and doesn't make sense to hide it\n\tif (tk.type == 'bam' && tk.gdcFile) return true\n\n\treturn false\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["tr", "tr", "table"]
|
|
7
|
+
}
|