@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.
Files changed (864) hide show
  1. package/dist/2dmaf-3FDGCUTK.js +1367 -0
  2. package/dist/AggMatrixInput-QA2FHMSY.js +406 -0
  3. package/dist/AggregateMatrix-XGVKDN2K.js +41 -0
  4. package/dist/AppHeader-NVLHCOVU.js +830 -0
  5. package/dist/BoxPlot-IVO7VBQZ.js +1208 -0
  6. package/dist/CorrelationVolcano-2XD5OH2S.js +617 -0
  7. package/dist/Cuminc-ECQ56PKO.js +1220 -0
  8. package/dist/DE-KWA2K24U.js +89 -0
  9. package/dist/DEinput-ZP6CYIRN.js +501 -0
  10. package/dist/DM-ME7CCC4E.js +90 -0
  11. package/dist/DifferentialAnalysis-6SIKR566.js +239 -0
  12. package/dist/Disco-LVRT7T3B.js +3389 -0
  13. package/dist/Disco.UI-GT64ZEK4.js +243 -0
  14. package/dist/DmrPlot-ZZYKJ4UH.js +362 -0
  15. package/dist/GB-WR6SENAZ.js +1392 -0
  16. package/dist/GSEA-U2GFOHWT.js +875 -0
  17. package/dist/GeneExpInput-CQSORTKI.js +42 -0
  18. package/dist/Geomap-CGJ7EIMD.js +84 -0
  19. package/dist/HicApp-DS3HC2G5.js +2245 -0
  20. package/dist/IDCViewer-6KWSZWZ7.js +10812 -0
  21. package/dist/NumBinaryEditor-BQVR2RDS.js +279 -0
  22. package/dist/NumBinaryEditor.unit.spec-FAOFWPDH.js +312 -0
  23. package/dist/NumContEditor-6T6XFLAM.js +105 -0
  24. package/dist/NumContEditor.unit.spec-GTBA5F4D.js +164 -0
  25. package/dist/NumCustomBinEditor-Q2GJOFOH.js +33 -0
  26. package/dist/NumCustomBinEditor.unit.spec-TSJE3OVN.js +397 -0
  27. package/dist/NumDiscreteEditor-QFKPIRDW.js +170 -0
  28. package/dist/NumDiscreteEditor.unit.spec-VKDRO52H.js +233 -0
  29. package/dist/NumRegularBinEditor-SLFPSTA3.js +33 -0
  30. package/dist/NumRegularBinEditor.unit.spec-WROEDSWQ.js +278 -0
  31. package/dist/NumSplineEditor-AEXNF6E4.js +210 -0
  32. package/dist/NumSplineEditor.unit.spec-UOESCG7A.js +224 -0
  33. package/dist/NumericDensity-KPJ6C7N3.js +33 -0
  34. package/dist/NumericDensity.unit.spec-HM5IAPQT.js +418 -0
  35. package/dist/NumericHandler-S3HPYHOJ.js +34 -0
  36. package/dist/NumericHandler.unit.spec-B4CY2GR6.js +214 -0
  37. package/dist/ProteomeInput-AC5TRXHE.js +388 -0
  38. package/dist/Regression-MHGQ2ECB.js +1416 -0
  39. package/dist/RunChart2-6VSXLBNE.js +749 -0
  40. package/dist/SC-KPIQR5JQ.js +1348 -0
  41. package/dist/Violin-6BRIIZAY.js +1064 -0
  42. package/dist/Volcano-TNNAVPVQ.js +2456 -0
  43. package/dist/Wsi-JRAK47YP.js +629 -0
  44. package/dist/adSandbox-HZROPAPC.js +33 -0
  45. package/dist/animatedBubbleChart-C57NY3PX.js +547 -0
  46. package/dist/app-HU4F4WBL.js +32 -0
  47. package/dist/app-OS2T3Q6X.js +42 -0
  48. package/dist/app.js +13 -13
  49. package/dist/bam-XBYHZH7B.js +876 -0
  50. package/dist/barchart-7MOHGOPW.js +42 -0
  51. package/dist/barchart2-NOWNROMN.js +309 -0
  52. package/dist/block-PRB7FXIC.js +6250 -0
  53. package/dist/block.init-EQJ42A2H.js +33 -0
  54. package/dist/block.mds.expressionrank-W6GIHAAL.js +354 -0
  55. package/dist/block.mds.geneboxplot-GBP5N7AU.js +823 -0
  56. package/dist/block.mds.junction-TUIXESU2.js +1539 -0
  57. package/dist/block.mds.svcnv-YOUIXG4A.js +6796 -0
  58. package/dist/block.svg-XAQJBCOC.js +159 -0
  59. package/dist/block.tk.aicheck-MRR74ULN.js +278 -0
  60. package/dist/block.tk.ase-ZB5W537R.js +360 -0
  61. package/dist/block.tk.bam-66562WN7.js +1901 -0
  62. package/dist/block.tk.bedgraphdot-CGBLLLI7.js +379 -0
  63. package/dist/block.tk.bigwig.ui-FXE6KXRG.js +206 -0
  64. package/dist/block.tk.hicstraw-RZXW5CWM.js +818 -0
  65. package/dist/block.tk.junction-FSGFU7B3.js +2358 -0
  66. package/dist/block.tk.junction.textmatrixui-VR4ZIEUP.js +194 -0
  67. package/dist/block.tk.ld-QE54JIGV.js +94 -0
  68. package/dist/block.tk.menu-GFGPEMXQ.js +1054 -0
  69. package/dist/block.tk.menu-GFGPEMXQ.js.map +7 -0
  70. package/dist/block.tk.pgv-IPX2D3GA.js +938 -0
  71. package/dist/brainImaging-J4HK4JON.js +555 -0
  72. package/dist/brainRegions-RH4EXEQ7.js +217 -0
  73. package/dist/bubbleHeatmap-R2CNWOAJ.js +378 -0
  74. package/dist/cellTypeBubbleHeatmap-KJSNP4A3.js +278 -0
  75. package/dist/chunk-2Z2TFFLP.js +299 -0
  76. package/dist/chunk-3447YXVI.js +129 -0
  77. package/dist/chunk-35DMRAGG.js +302 -0
  78. package/dist/chunk-3BBUXNES.js +480 -0
  79. package/dist/chunk-3CIL7KH7.js +481 -0
  80. package/dist/chunk-3KH5JUZV.js +1278 -0
  81. package/dist/chunk-3SBHDIJU.js +468 -0
  82. package/dist/chunk-3YNRU4SC.js +98 -0
  83. package/dist/chunk-4E2F26CC.js +143 -0
  84. package/dist/chunk-4VZ4HR3U.js +134 -0
  85. package/dist/chunk-5RFLLJRG.js +2327 -0
  86. package/dist/chunk-5X2MW4CV.js +102 -0
  87. package/dist/chunk-6TCULFEF.js +2784 -0
  88. package/dist/chunk-7HPICVA4.js +178 -0
  89. package/dist/chunk-7PBHM4JU.js +14 -0
  90. package/dist/chunk-B2FSMLYK.js +4375 -0
  91. package/dist/chunk-B5BLNQ2E.js +70 -0
  92. package/dist/chunk-BR76YIDV.js +240 -0
  93. package/dist/chunk-BS6IUMA6.js +1339 -0
  94. package/dist/chunk-BUX5YSDF.js +56 -0
  95. package/dist/chunk-C2KMMY53.js +339 -0
  96. package/dist/chunk-CD2WD7ZG.js +56 -0
  97. package/dist/chunk-CUHJN6CC.js +217 -0
  98. package/dist/chunk-CWWE77DH.js +498 -0
  99. package/dist/chunk-DCHHIXIP.js +103 -0
  100. package/dist/chunk-FDBT4PQ6.js +182 -0
  101. package/dist/chunk-FMFEQPMB.js +783 -0
  102. package/dist/chunk-FVADQZLY.js +2676 -0
  103. package/dist/chunk-GDJUSLDV.js +1812 -0
  104. package/dist/chunk-GPJLIBNO.js +102 -0
  105. package/dist/chunk-H6GPQPSM.js +203 -0
  106. package/dist/chunk-HBNB5TRH.js +787 -0
  107. package/dist/chunk-HBNB5TRH.js.map +7 -0
  108. package/dist/chunk-HFEFFFPL.js +1233 -0
  109. package/dist/chunk-HUGVRGQO.js +176 -0
  110. package/dist/chunk-IP2PLKC3.js +158 -0
  111. package/dist/chunk-JPJ2DKP5.js +2902 -0
  112. package/dist/chunk-JQ3JE2F6.js +141 -0
  113. package/dist/chunk-K2ITA56I.js +80 -0
  114. package/dist/chunk-K5P3JV6N.js +49 -0
  115. package/dist/chunk-KRQC5AOW.js +626 -0
  116. package/dist/chunk-LDDN2BHX.js +6360 -0
  117. package/dist/chunk-LOHACXSB.js +255 -0
  118. package/dist/chunk-MIG3QAYD.js +1988 -0
  119. package/dist/chunk-N5CSNFDP.js +272 -0
  120. package/dist/chunk-NZBCTASL.js +54 -0
  121. package/dist/chunk-O3EJBFK7.js +5217 -0
  122. package/dist/chunk-OB3S6QYD.js +243 -0
  123. package/dist/chunk-OLV3Q6TN.js +55 -0
  124. package/dist/chunk-PRPQ654B.js +263 -0
  125. package/dist/chunk-QI6X4V43.js +25009 -0
  126. package/dist/chunk-QZXUHBUV.js +550 -0
  127. package/dist/chunk-S2PNRIOW.js +123 -0
  128. package/dist/chunk-T4XPCSLP.js +117 -0
  129. package/dist/chunk-TCHFJHHC.js +237 -0
  130. package/dist/chunk-TR2BNELL.js +518 -0
  131. package/dist/chunk-TZZTJWLD.js +34 -0
  132. package/dist/chunk-UH5BHS42.js +692 -0
  133. package/dist/chunk-VRY727VE.js +276 -0
  134. package/dist/chunk-WA3C3A2M.js +147 -0
  135. package/dist/chunk-XIJC7RNK.js +217 -0
  136. package/dist/chunk-XVOHS4CK.js +54 -0
  137. package/dist/chunk-Y3ABEAKV.js +379 -0
  138. package/dist/chunk-YB2A2CWR.js +294 -0
  139. package/dist/chunk-YU7CVG4B.js +2258 -0
  140. package/dist/chunk-YU7CVG4B.js.map +7 -0
  141. package/dist/chunk-ZKZHYCO3.js +382 -0
  142. package/dist/cohort-J3JNIMCT.js +70 -0
  143. package/dist/condition-A6VAD4OS.js +327 -0
  144. package/dist/controls-2R2OQAX2.js +34 -0
  145. package/dist/controls.btns-6AKLIWOG.js +9 -0
  146. package/dist/controls.config-UPE6TAHK.js +34 -0
  147. package/dist/correlation-Q6HYOUOX.js +95 -0
  148. package/dist/customdata.inputui-KQJKSQNI.js +284 -0
  149. package/dist/dataDownload-PYQX2BWN.js +329 -0
  150. package/dist/databrowser.ui-LPFKGVW3.js +425 -0
  151. package/dist/dictionary-GYN7OXWQ.js +113 -0
  152. package/dist/dnaMethylation-TSRHGNNY.js +33 -0
  153. package/dist/dnaMethylation.integration.spec-3YYSFVKK.js +198 -0
  154. package/dist/dofetch-4YRJUWLJ.js +48 -0
  155. package/dist/e2pca-G4AVRHQC.js +344 -0
  156. package/dist/ep-MHT3CLGK.js +1249 -0
  157. package/dist/expclust.gdc.spec-2TWLDD2S.js +302 -0
  158. package/dist/facet-4O65ZSBQ.js +519 -0
  159. package/dist/facet-4O65ZSBQ.js.map +7 -0
  160. package/dist/gb-WLOGQSEU.js +81 -0
  161. package/dist/geneExpClustering-LOLLER5C.js +244 -0
  162. package/dist/geneExpression-NP2N4CRU.js +310 -0
  163. package/dist/geneExpression-RWE7PBBD.js +33 -0
  164. package/dist/geneExpression.unit.spec-MBE6YVKY.js +128 -0
  165. package/dist/geneORA-ZWZCCBL7.js +273 -0
  166. package/dist/geneRanking-UZXH5SLT.js +548 -0
  167. package/dist/geneVariant-MULXYJ7M.js +36 -0
  168. package/dist/geneVariant-ZPINPLRP.js +289 -0
  169. package/dist/geneVariant.integration.spec-6DNKP22T.js +503 -0
  170. package/dist/genefusion.ui-S4BPNRIO.js +303 -0
  171. package/dist/geneset-LZNALH2H.js +203 -0
  172. package/dist/genomeBrowser.spec-JOIKBWVC.js +276 -0
  173. package/dist/grin2-GFZ5REPY.js +949 -0
  174. package/dist/grin2-JPR6LCXT.js +70 -0
  175. package/dist/hierCluster-DCESQECE.js +55 -0
  176. package/dist/hierCluster-M6R4CH22.js +59 -0
  177. package/dist/hierCluster.config-DBQYJXML.js +36 -0
  178. package/dist/hierCluster.integration.spec-DPXTME5W.js +483 -0
  179. package/dist/hierCluster.interactivity-EKKKYVEP.js +49 -0
  180. package/dist/imagePlot-XXSCMNUV.js +156 -0
  181. package/dist/importPlot-LKMMP7ZV.js +8 -0
  182. package/dist/isoformExpression-A634VVY3.js +35 -0
  183. package/dist/isoformExpression.unit.spec-2J4VQH43.js +237 -0
  184. package/dist/junction-22DCADQW.js +36 -0
  185. package/dist/junction.unit.spec-NQDRD66O.js +182 -0
  186. package/dist/launch.adhoc-NAHAYONX.js +37 -0
  187. package/dist/leftlabel.sample-CRMQSNCJ.js +258 -0
  188. package/dist/lollipop-XLPUIZBA.js +166 -0
  189. package/dist/maf-LPXQMGJC.js +455 -0
  190. package/dist/maftimeline-X2YPHLLO.js +587 -0
  191. package/dist/matrix-U7PGR4MD.js +54 -0
  192. package/dist/matrix-UAU7QUP2.js +59 -0
  193. package/dist/matrix.config-HZ3TORDS.js +37 -0
  194. package/dist/matrix.data-D77IGADO.js +23 -0
  195. package/dist/matrix.dom-3Z5PNSKJ.js +11 -0
  196. package/dist/matrix.integration.spec-7QLCJO26.js +3160 -0
  197. package/dist/matrix.interactivity-OIKLY2O6.js +37 -0
  198. package/dist/matrix.layout-ICBZ5PCU.js +39 -0
  199. package/dist/matrix.renderers-PN56PKD3.js +34 -0
  200. package/dist/matrix.sort.unit.spec-IQOMDVVS.js +468 -0
  201. package/dist/matrix.sorterUi-UKANNCZM.js +16 -0
  202. package/dist/matrix.sorterUi.unit.spec-JCN62VCG.js +338 -0
  203. package/dist/matrix.unit.spec-JASP2ZH6.js +150 -0
  204. package/dist/mavb-KHRJRSUD.js +727 -0
  205. package/dist/mds.fimo-LOR3DSLQ.js +513 -0
  206. package/dist/mds.samplescatterplot-W3TCPYHS.js +1545 -0
  207. package/dist/mds.survivalplot-EYAA5IO3.js +477 -0
  208. package/dist/multivalue-GGM5DFPD.js +83 -0
  209. package/dist/oncomatrix-MVLDAB6I.js +290 -0
  210. package/dist/oncomatrix.spec-43PZ4CLH.js +443 -0
  211. package/dist/plot.2dvaf-4H3YMAIV.js +372 -0
  212. package/dist/plot.app-OZGOECPK.js +36 -0
  213. package/dist/plot.barplot-OQKZAU3N.js +97 -0
  214. package/dist/plot.boxplot-4O4VNRMV.js +146 -0
  215. package/dist/plot.brainImaging-6I4HHUMD.js +51 -0
  216. package/dist/plot.disco-BOWNCFJV.js +99 -0
  217. package/dist/plot.ssgq-6STRLDEG.js +134 -0
  218. package/dist/plot.vaf2cov-75EZA7PJ.js +253 -0
  219. package/dist/polar2-QQ2ZYQ3I.js +232 -0
  220. package/dist/profileForms-WU7UNK7Y.js +941 -0
  221. package/dist/profilePlot-KW7UITCT.js +49 -0
  222. package/dist/proteinView-ET75MKLU.js +1357 -0
  223. package/dist/proteomeCohortCompare-SDX5D26O.js +912 -0
  224. package/dist/pseudbulk.unit.spec-T3B2T5FK.js +86 -0
  225. package/dist/pseudobulk-4O6GK2TZ.js +35 -0
  226. package/dist/qualitative-FUJ6JHPZ.js +38 -0
  227. package/dist/radar2-G75NIN2N.js +327 -0
  228. package/dist/radarFacility2-OOAUSL6F.js +335 -0
  229. package/dist/render-JMAJCJFT.js +33 -0
  230. package/dist/report-UKB7676O.js +217 -0
  231. package/dist/sampleView-JGWU2E5H.js +43 -0
  232. package/dist/samplelst-ZB23PILZ.js +106 -0
  233. package/dist/samplematrix-CQAB5PVO.js +2193 -0
  234. package/dist/sc-JOIUUG4I.js +81 -0
  235. package/dist/scatter-DCX72P3N.js +88 -0
  236. package/dist/scatter-JXBGEKLF.js +925 -0
  237. package/dist/selectGenomeWithTklst-EZTHPCBB.js +129 -0
  238. package/dist/singleCellCellType-BOQTDUZA.js +33 -0
  239. package/dist/singleCellCellType.unit.spec-3HUF7VWW.js +154 -0
  240. package/dist/singleCellGeneExpression-UBTHLFRN.js +33 -0
  241. package/dist/singleCellGeneExpression.unit.spec-YM6EQB3E.js +148 -0
  242. package/dist/singleCellNumericValue-53T6WOHJ.js +33 -0
  243. package/dist/singleCellNumericValue.unit.spec-SYSMD5IW.js +416 -0
  244. package/dist/singleCellPlot-3V47EUB4.js +48 -0
  245. package/dist/singlecell-AFGFONXY.js +81 -0
  246. package/dist/singlecell-VZI3LEUT.js +1566 -0
  247. package/dist/snp-IPIYL7OY.js +33 -0
  248. package/dist/snp.unit.spec-OC5JHCXR.js +171 -0
  249. package/dist/snplocus-DSGUSGUP.js +203 -0
  250. package/dist/spliceevent.a53ss.diagram-RNAJHS4P.js +146 -0
  251. package/dist/spliceevent.exonskip.diagram-YWRATK46.js +278 -0
  252. package/dist/spliceevent.noeventdiagram-6ZJRJ4QZ.js +455 -0
  253. package/dist/ssGSEA-IWCC6JDL.js +33 -0
  254. package/dist/ssGSEA.unit.spec-3TKDENWO.js +83 -0
  255. package/dist/stattable-EXOWMETP.js +117 -0
  256. package/dist/studyCatalog-OAGHQXKY.js +414 -0
  257. package/dist/summarizeCnvGeneexp-K6XO5YEP.js +158 -0
  258. package/dist/summarizeGeneexpSurvival-WTAGCCU4.js +105 -0
  259. package/dist/summarizeMutationCnv-QKIDS3LI.js +159 -0
  260. package/dist/summarizeMutationDiagnosis-ACFWADSQ.js +35 -0
  261. package/dist/summarizeMutationSurvival-XPFPN4N5.js +99 -0
  262. package/dist/summary-VCU2NTIZ.js +44 -0
  263. package/dist/summary.integration.spec-2DE653PH.js +409 -0
  264. package/dist/summaryInput-GO75OPLA.js +242 -0
  265. package/dist/sunburst-BSCFRYSV.js +278 -0
  266. package/dist/survival-BEP7JNML.js +1249 -0
  267. package/dist/survival-XUO2D6CX.js +53 -0
  268. package/dist/survival.integration.spec-EO5KAFDQ.js +613 -0
  269. package/dist/svgraph-YGXOB3QY.js +1382 -0
  270. package/dist/svmr-MATMMI4E.js +3837 -0
  271. package/dist/table-DFSX7XYJ.js +197 -0
  272. package/dist/termCollection-GKPC4K2O.js +252 -0
  273. package/dist/termCollection-ZUJFB7YB.js +33 -0
  274. package/dist/termCollection.unit.spec-YE7IKC6S.js +299 -0
  275. package/dist/termCollectionFractionSelection-DLWXUEEN.js +42 -0
  276. package/dist/termCollectionFractionSelection.unit.spec-N2LNHIWC.js +188 -0
  277. package/dist/termInfo-PZ7UDA5C.js +9 -0
  278. package/dist/tk-PHTWQHVV.js +41 -0
  279. package/dist/tk-RNUMIS5P.js +1121 -0
  280. package/dist/tp.ui-A52OBFJD.js +1454 -0
  281. package/dist/tvs.dt-SQSP3UXH.js +34 -0
  282. package/dist/tvs.dtcnv.categorical-3IWQMUEM.js +35 -0
  283. package/dist/tvs.dtcnv.continuous-ZD5WM32O.js +67 -0
  284. package/dist/tvs.dtfusion-G47Z7NP3.js +35 -0
  285. package/dist/tvs.dtitd-57PSTVRM.js +35 -0
  286. package/dist/tvs.dtsnvindel-CS3ZVFWN.js +35 -0
  287. package/dist/tvs.dtsv-LNWDVFCR.js +35 -0
  288. package/dist/tvs.samplelst-EMZOR4SY.js +98 -0
  289. package/dist/tvs.termCollection-RX5ASV3N.js +122 -0
  290. package/dist/vocabulary-JVAACQPU.js +36 -0
  291. package/dist/wsi.direct-J4SNIUUW.js +8343 -0
  292. package/package.json +3 -3
  293. package/dist/2dmaf-R23YQDZC.js +0 -1367
  294. package/dist/AggMatrixInput-4DIGZZN4.js +0 -406
  295. package/dist/AggregateMatrix-TF6XXFUN.js +0 -41
  296. package/dist/AppHeader-JB5HPAOQ.js +0 -830
  297. package/dist/BoxPlot-47TUXQDP.js +0 -1208
  298. package/dist/CorrelationVolcano-G7K5JEPM.js +0 -617
  299. package/dist/Cuminc-LBXPOENU.js +0 -1220
  300. package/dist/DE-JSWA6HXV.js +0 -89
  301. package/dist/DEinput-LEYRVYK6.js +0 -501
  302. package/dist/DM-332QECUP.js +0 -90
  303. package/dist/DifferentialAnalysis-JGH2OMTH.js +0 -239
  304. package/dist/Disco-36PJXFM6.js +0 -3389
  305. package/dist/Disco.UI-PY2KOGKY.js +0 -243
  306. package/dist/DmrPlot-5WMOBZOJ.js +0 -362
  307. package/dist/GB-6WWLTBIW.js +0 -1392
  308. package/dist/GSEA-GYUVO2XA.js +0 -875
  309. package/dist/GeneExpInput-UABEICGS.js +0 -42
  310. package/dist/Geomap-QB6FNV5R.js +0 -84
  311. package/dist/HicApp-TQKQKJTN.js +0 -2245
  312. package/dist/IDCViewer-L27ICGR5.js +0 -10812
  313. package/dist/NumBinaryEditor-FHSSXZV4.js +0 -279
  314. package/dist/NumBinaryEditor.unit.spec-AMR32JHJ.js +0 -312
  315. package/dist/NumContEditor-R5JB5XPB.js +0 -105
  316. package/dist/NumContEditor.unit.spec-3PQRIC4G.js +0 -164
  317. package/dist/NumCustomBinEditor-B3PKD54F.js +0 -33
  318. package/dist/NumCustomBinEditor.unit.spec-YZKCYZQM.js +0 -397
  319. package/dist/NumDiscreteEditor-7AO35XU7.js +0 -170
  320. package/dist/NumDiscreteEditor.unit.spec-SNDHS6VK.js +0 -233
  321. package/dist/NumRegularBinEditor-OREKM2DX.js +0 -33
  322. package/dist/NumRegularBinEditor.unit.spec-SIGD7PLE.js +0 -278
  323. package/dist/NumSplineEditor-RDFDVNJG.js +0 -210
  324. package/dist/NumSplineEditor.unit.spec-TXRQVLUE.js +0 -224
  325. package/dist/NumericDensity-QPDF6UU5.js +0 -33
  326. package/dist/NumericDensity.unit.spec-JYUYDHDG.js +0 -418
  327. package/dist/NumericHandler-JW6DLSMJ.js +0 -34
  328. package/dist/NumericHandler.unit.spec-Q2ZNM5NH.js +0 -214
  329. package/dist/ProteomeInput-OS5JWC2O.js +0 -388
  330. package/dist/Regression-53XPZCCQ.js +0 -1416
  331. package/dist/RunChart2-WEO42KPP.js +0 -749
  332. package/dist/SC-VAWRWOUI.js +0 -1348
  333. package/dist/Violin-7VOFUOLE.js +0 -1064
  334. package/dist/Volcano-DI2RLILX.js +0 -2456
  335. package/dist/Wsi-6DNY4RUG.js +0 -629
  336. package/dist/adSandbox-B7GQZDYQ.js +0 -33
  337. package/dist/animatedBubbleChart-QGO3OY5E.js +0 -547
  338. package/dist/app-XBLP7YZQ.js +0 -32
  339. package/dist/app-ZARZ2HWS.js +0 -42
  340. package/dist/bam-FGNF7RYM.js +0 -876
  341. package/dist/barchart-6YLJJSRO.js +0 -42
  342. package/dist/barchart2-7TTZPYWA.js +0 -309
  343. package/dist/block-7WZWBQVA.js +0 -6250
  344. package/dist/block.init-YN4KHHJ2.js +0 -33
  345. package/dist/block.mds.expressionrank-6PKN3KIE.js +0 -354
  346. package/dist/block.mds.geneboxplot-M6TXRPKO.js +0 -823
  347. package/dist/block.mds.junction-WKRLLJBT.js +0 -1539
  348. package/dist/block.mds.svcnv-I3DNNGYV.js +0 -6796
  349. package/dist/block.svg-D72WTLKP.js +0 -159
  350. package/dist/block.tk.aicheck-QT5WYKTQ.js +0 -278
  351. package/dist/block.tk.ase-3WGJONXX.js +0 -360
  352. package/dist/block.tk.bam-Q5X7D5IR.js +0 -1901
  353. package/dist/block.tk.bedgraphdot-VWE2D2HR.js +0 -379
  354. package/dist/block.tk.bigwig.ui-Q22KXFQT.js +0 -206
  355. package/dist/block.tk.hicstraw-3BMDZCQH.js +0 -818
  356. package/dist/block.tk.junction-BMKRAVUI.js +0 -2358
  357. package/dist/block.tk.junction.textmatrixui-ERLXPLGI.js +0 -194
  358. package/dist/block.tk.ld-KT5KQUXC.js +0 -94
  359. package/dist/block.tk.menu-RO7IJGFY.js +0 -1024
  360. package/dist/block.tk.menu-RO7IJGFY.js.map +0 -7
  361. package/dist/block.tk.pgv-PZ4AVD3V.js +0 -938
  362. package/dist/brainImaging-ZU3JSXFP.js +0 -555
  363. package/dist/brainRegions-DJELNKKN.js +0 -217
  364. package/dist/bubbleHeatmap-CPJ5KI6E.js +0 -378
  365. package/dist/cellTypeBubbleHeatmap-6NGBETXV.js +0 -278
  366. package/dist/chunk-232OR2PG.js +0 -263
  367. package/dist/chunk-26Y2MYFN.js +0 -129
  368. package/dist/chunk-2KM4PRQM.js +0 -117
  369. package/dist/chunk-33FULV5M.js +0 -302
  370. package/dist/chunk-3AXQF6GL.js +0 -103
  371. package/dist/chunk-3JHCCJ4I.js +0 -54
  372. package/dist/chunk-4ZVOO3NI.js +0 -217
  373. package/dist/chunk-5U7AYOEZ.js +0 -1988
  374. package/dist/chunk-5WIA4KFA.js +0 -178
  375. package/dist/chunk-5WMFEMII.js +0 -550
  376. package/dist/chunk-6OCWNYW3.js +0 -49
  377. package/dist/chunk-6RRZRISL.js +0 -481
  378. package/dist/chunk-6UAY2HAB.js +0 -5217
  379. package/dist/chunk-A4D2Z2LV.js +0 -141
  380. package/dist/chunk-AUJHCGU2.js +0 -14
  381. package/dist/chunk-CWLHJ7AC.js +0 -80
  382. package/dist/chunk-DU52GAOJ.js +0 -783
  383. package/dist/chunk-DVWCDEN3.js +0 -480
  384. package/dist/chunk-E24IUWHH.js +0 -294
  385. package/dist/chunk-FQYXNCZI.js +0 -498
  386. package/dist/chunk-FYXIK6Y6.js +0 -147
  387. package/dist/chunk-HL5B4NME.js +0 -379
  388. package/dist/chunk-IBZVZZ5J.js +0 -176
  389. package/dist/chunk-JZQEDIGZ.js +0 -518
  390. package/dist/chunk-LK7XDEFW.js +0 -1339
  391. package/dist/chunk-MXJKO73I.js +0 -272
  392. package/dist/chunk-N6NL4XG2.js +0 -2676
  393. package/dist/chunk-NC4RKYVE.js +0 -158
  394. package/dist/chunk-NK235VQ6.js +0 -4375
  395. package/dist/chunk-O3QKYUDH.js +0 -1812
  396. package/dist/chunk-PBWB5ZG2.js +0 -240
  397. package/dist/chunk-PCJF5MGF.js +0 -203
  398. package/dist/chunk-PF5UMQEJ.js +0 -692
  399. package/dist/chunk-PFRPC2SY.js +0 -382
  400. package/dist/chunk-PGRTCNOV.js +0 -217
  401. package/dist/chunk-Q6I2OH4P.js +0 -182
  402. package/dist/chunk-QOF27J24.js +0 -6360
  403. package/dist/chunk-QWCKIRW2.js +0 -237
  404. package/dist/chunk-R3LWGFGS.js +0 -54
  405. package/dist/chunk-REWUPST7.js +0 -1233
  406. package/dist/chunk-RMUK3TLD.js +0 -2149
  407. package/dist/chunk-RMUK3TLD.js.map +0 -7
  408. package/dist/chunk-RXQRCRHC.js +0 -134
  409. package/dist/chunk-SAMS5XBH.js +0 -2902
  410. package/dist/chunk-SXYZ274A.js +0 -2327
  411. package/dist/chunk-TAZQU2LC.js +0 -339
  412. package/dist/chunk-TFS2JZTH.js +0 -34
  413. package/dist/chunk-UFQDWGZU.js +0 -102
  414. package/dist/chunk-UJRURRJ2.js +0 -55
  415. package/dist/chunk-UWRWFS3K.js +0 -1278
  416. package/dist/chunk-UYSYZM45.js +0 -468
  417. package/dist/chunk-VHDYIOWU.js +0 -25009
  418. package/dist/chunk-VPOAFNVL.js +0 -70
  419. package/dist/chunk-WB57TMJN.js +0 -56
  420. package/dist/chunk-WILJJPWV.js +0 -255
  421. package/dist/chunk-WINIL2KN.js +0 -785
  422. package/dist/chunk-WINIL2KN.js.map +0 -7
  423. package/dist/chunk-X2HEDRFQ.js +0 -102
  424. package/dist/chunk-X3UNVPC5.js +0 -626
  425. package/dist/chunk-X46YA4CB.js +0 -143
  426. package/dist/chunk-XL4N3H32.js +0 -276
  427. package/dist/chunk-XNKLJMGF.js +0 -123
  428. package/dist/chunk-XZCRYWVL.js +0 -243
  429. package/dist/chunk-Y4MV62JA.js +0 -56
  430. package/dist/chunk-YKI4GLMT.js +0 -98
  431. package/dist/chunk-ZKINKYOJ.js +0 -2784
  432. package/dist/chunk-ZMSTQP6O.js +0 -299
  433. package/dist/cohort-CWGZR37O.js +0 -70
  434. package/dist/condition-B6XBQML4.js +0 -327
  435. package/dist/controls-QPW5HUAY.js +0 -34
  436. package/dist/controls.btns-BYM4DON4.js +0 -9
  437. package/dist/controls.config-IUYTWRHA.js +0 -34
  438. package/dist/correlation-M2NKGTK2.js +0 -95
  439. package/dist/customdata.inputui-RKYIMOWO.js +0 -284
  440. package/dist/dataDownload-LPBLB7QD.js +0 -329
  441. package/dist/databrowser.ui-VTWHELDY.js +0 -425
  442. package/dist/dictionary-NINKMF3F.js +0 -113
  443. package/dist/dnaMethylation-LSVNG7FK.js +0 -33
  444. package/dist/dnaMethylation.integration.spec-6IT3Y3FS.js +0 -198
  445. package/dist/dofetch-HLMSTOMY.js +0 -48
  446. package/dist/e2pca-6PKLCC7L.js +0 -344
  447. package/dist/ep-3RFB6K3B.js +0 -1249
  448. package/dist/expclust.gdc.spec-MEWKHFMD.js +0 -302
  449. package/dist/facet-A4JH7FCW.js +0 -519
  450. package/dist/facet-A4JH7FCW.js.map +0 -7
  451. package/dist/gb-PTF7CLDG.js +0 -81
  452. package/dist/geneExpClustering-VKUIAYCK.js +0 -244
  453. package/dist/geneExpression-3GQFWVJL.js +0 -310
  454. package/dist/geneExpression-VC7QPM3T.js +0 -33
  455. package/dist/geneExpression.unit.spec-PQS7BOMF.js +0 -128
  456. package/dist/geneORA-FCMFWZTN.js +0 -273
  457. package/dist/geneRanking-RTPPGBD4.js +0 -548
  458. package/dist/geneVariant-2TQ2JD4K.js +0 -36
  459. package/dist/geneVariant-4S6FLJTN.js +0 -289
  460. package/dist/geneVariant.integration.spec-YTFFHWQP.js +0 -503
  461. package/dist/genefusion.ui-P7YH32A6.js +0 -303
  462. package/dist/geneset-4J43JA3C.js +0 -203
  463. package/dist/genomeBrowser.spec-T2VFNUAV.js +0 -276
  464. package/dist/grin2-5TH4EBVQ.js +0 -949
  465. package/dist/grin2-KXMSYYYM.js +0 -70
  466. package/dist/hierCluster-2HFMEHAD.js +0 -59
  467. package/dist/hierCluster-5RQV7B5I.js +0 -55
  468. package/dist/hierCluster.config-PNBGJE6F.js +0 -36
  469. package/dist/hierCluster.integration.spec-TZLVKUC5.js +0 -483
  470. package/dist/hierCluster.interactivity-OQD3IQ4X.js +0 -49
  471. package/dist/imagePlot-6YH7S2PV.js +0 -156
  472. package/dist/importPlot-Z2UKA456.js +0 -8
  473. package/dist/isoformExpression-SRJMGXHD.js +0 -35
  474. package/dist/isoformExpression.unit.spec-PBVKSWCS.js +0 -237
  475. package/dist/junction-D4UP2AGY.js +0 -36
  476. package/dist/junction.unit.spec-M5CEGNUE.js +0 -182
  477. package/dist/launch.adhoc-SWJOT47S.js +0 -37
  478. package/dist/leftlabel.sample-4ZAM2JSS.js +0 -258
  479. package/dist/lollipop-GMGJPMJN.js +0 -166
  480. package/dist/maf-2TFOOAIF.js +0 -455
  481. package/dist/maftimeline-DRBM4ZYD.js +0 -587
  482. package/dist/matrix-22R4BC3F.js +0 -54
  483. package/dist/matrix-W4IRSBO5.js +0 -59
  484. package/dist/matrix.config-ZZ7NFCIT.js +0 -37
  485. package/dist/matrix.data-3W6P6NBU.js +0 -23
  486. package/dist/matrix.dom-YQNX4IQO.js +0 -11
  487. package/dist/matrix.integration.spec-X4UPLQRI.js +0 -3160
  488. package/dist/matrix.interactivity-NGS3LJPV.js +0 -37
  489. package/dist/matrix.layout-SAGZVQPG.js +0 -39
  490. package/dist/matrix.renderers-IG7Q2F6Y.js +0 -34
  491. package/dist/matrix.sort.unit.spec-DCWR5PZJ.js +0 -468
  492. package/dist/matrix.sorterUi-MVUI25W7.js +0 -16
  493. package/dist/matrix.sorterUi.unit.spec-EBLSCLDL.js +0 -338
  494. package/dist/matrix.unit.spec-I6JGZHQZ.js +0 -150
  495. package/dist/mavb-MLVNZJSF.js +0 -727
  496. package/dist/mds.fimo-MOGZPFCK.js +0 -513
  497. package/dist/mds.samplescatterplot-YLGNYKTH.js +0 -1545
  498. package/dist/mds.survivalplot-R273N2GB.js +0 -477
  499. package/dist/multivalue-5GFBYENI.js +0 -83
  500. package/dist/oncomatrix-OAQT2CUN.js +0 -290
  501. package/dist/oncomatrix.spec-6C62LLJI.js +0 -443
  502. package/dist/plot.2dvaf-WDXWSC7L.js +0 -372
  503. package/dist/plot.app-YTHD3ZJQ.js +0 -36
  504. package/dist/plot.barplot-SRZM3GU3.js +0 -97
  505. package/dist/plot.boxplot-VWOMZPZE.js +0 -146
  506. package/dist/plot.brainImaging-6XL7YF5G.js +0 -51
  507. package/dist/plot.disco-VRKSTV5Z.js +0 -99
  508. package/dist/plot.ssgq-AXASDOZZ.js +0 -134
  509. package/dist/plot.vaf2cov-IF4DEEM5.js +0 -253
  510. package/dist/polar2-QQ3KHFME.js +0 -232
  511. package/dist/profileForms-2US7IYYM.js +0 -941
  512. package/dist/profilePlot-DZQCBKPA.js +0 -49
  513. package/dist/proteinView-TTLVQ43H.js +0 -1357
  514. package/dist/proteomeCohortCompare-BUZYOOIA.js +0 -912
  515. package/dist/pseudbulk.unit.spec-YNXQWDSU.js +0 -86
  516. package/dist/pseudobulk-VSXK2PTM.js +0 -35
  517. package/dist/qualitative-AKIZRNFO.js +0 -38
  518. package/dist/radar2-7GXYLICJ.js +0 -327
  519. package/dist/radarFacility2-WFKOWGH2.js +0 -335
  520. package/dist/render-F3CBMRD5.js +0 -33
  521. package/dist/report-6LHMHUDY.js +0 -217
  522. package/dist/sampleView-GWKPMVJH.js +0 -43
  523. package/dist/samplelst-TH6IBDVG.js +0 -106
  524. package/dist/samplematrix-RPCWT33H.js +0 -2193
  525. package/dist/sc-BFBHBAXF.js +0 -81
  526. package/dist/scatter-3IC6HOT7.js +0 -925
  527. package/dist/scatter-L6R6J2LC.js +0 -88
  528. package/dist/selectGenomeWithTklst-3ZK7FIOP.js +0 -129
  529. package/dist/singleCellCellType-CLJFCBV6.js +0 -33
  530. package/dist/singleCellCellType.unit.spec-W32PSTRO.js +0 -154
  531. package/dist/singleCellGeneExpression-L6MG37XE.js +0 -33
  532. package/dist/singleCellGeneExpression.unit.spec-SF46JHCU.js +0 -148
  533. package/dist/singleCellNumericValue-7QXK6KVZ.js +0 -33
  534. package/dist/singleCellNumericValue.unit.spec-VC7NQYM2.js +0 -416
  535. package/dist/singleCellPlot-5TRNRKPN.js +0 -48
  536. package/dist/singlecell-2YV3UAIQ.js +0 -1566
  537. package/dist/singlecell-I4PHM2LZ.js +0 -81
  538. package/dist/snp-ZIA4YWCZ.js +0 -33
  539. package/dist/snp.unit.spec-MVQHY4WJ.js +0 -171
  540. package/dist/snplocus-GM6IEDPR.js +0 -203
  541. package/dist/spliceevent.a53ss.diagram-ZFQDHHPY.js +0 -146
  542. package/dist/spliceevent.exonskip.diagram-ZK6JOUMU.js +0 -278
  543. package/dist/spliceevent.noeventdiagram-YKTF2VZE.js +0 -455
  544. package/dist/ssGSEA-FDN4CH2Y.js +0 -33
  545. package/dist/ssGSEA.unit.spec-YEUJBT6Z.js +0 -83
  546. package/dist/stattable-WIZRSKPH.js +0 -117
  547. package/dist/studyCatalog-X2IGVJ26.js +0 -414
  548. package/dist/summarizeCnvGeneexp-H7A5SI3R.js +0 -158
  549. package/dist/summarizeGeneexpSurvival-GJF6VD2S.js +0 -105
  550. package/dist/summarizeMutationCnv-WQLMD2TR.js +0 -159
  551. package/dist/summarizeMutationDiagnosis-3S52IDWF.js +0 -35
  552. package/dist/summarizeMutationSurvival-NTQIUNW7.js +0 -99
  553. package/dist/summary-LMRFRKKI.js +0 -44
  554. package/dist/summary.integration.spec-KQMZKSEQ.js +0 -409
  555. package/dist/summaryInput-NNHZVHQA.js +0 -242
  556. package/dist/sunburst-ICUSGIWV.js +0 -278
  557. package/dist/survival-K44Q2HAC.js +0 -1249
  558. package/dist/survival-K5YBNNVE.js +0 -53
  559. package/dist/survival.integration.spec-4LRJW2V2.js +0 -613
  560. package/dist/svgraph-U7MS7YEM.js +0 -1382
  561. package/dist/svmr-2JGDBPAI.js +0 -3837
  562. package/dist/table-CBWOHYW6.js +0 -197
  563. package/dist/termCollection-JFGGXVFI.js +0 -252
  564. package/dist/termCollection-VE3FFL6V.js +0 -33
  565. package/dist/termCollection.unit.spec-XQQTDV4A.js +0 -299
  566. package/dist/termCollectionFractionSelection-TFGF27GR.js +0 -42
  567. package/dist/termCollectionFractionSelection.unit.spec-MKGG4JBC.js +0 -188
  568. package/dist/termInfo-J5Q7Y763.js +0 -9
  569. package/dist/tk-74SGUUZY.js +0 -41
  570. package/dist/tk-K4JFYIZY.js +0 -1121
  571. package/dist/tp.ui-727EXXMT.js +0 -1454
  572. package/dist/tvs.dt-YB2C3T33.js +0 -34
  573. package/dist/tvs.dtcnv.categorical-NOWMZOE5.js +0 -35
  574. package/dist/tvs.dtcnv.continuous-3KWUNU76.js +0 -67
  575. package/dist/tvs.dtfusion-NOJSTABU.js +0 -35
  576. package/dist/tvs.dtitd-OD5B377P.js +0 -35
  577. package/dist/tvs.dtsnvindel-WIQMZTRH.js +0 -35
  578. package/dist/tvs.dtsv-HPERDN3R.js +0 -35
  579. package/dist/tvs.samplelst-TC2Z7Z35.js +0 -98
  580. package/dist/tvs.termCollection-F64BHWAL.js +0 -122
  581. package/dist/vocabulary-ZOYF2VHS.js +0 -36
  582. package/dist/wsi.direct-Z5YUZEXG.js +0 -8343
  583. /package/dist/{2dmaf-R23YQDZC.js.map → 2dmaf-3FDGCUTK.js.map} +0 -0
  584. /package/dist/{AggMatrixInput-4DIGZZN4.js.map → AggMatrixInput-QA2FHMSY.js.map} +0 -0
  585. /package/dist/{AggregateMatrix-TF6XXFUN.js.map → AggregateMatrix-XGVKDN2K.js.map} +0 -0
  586. /package/dist/{AppHeader-JB5HPAOQ.js.map → AppHeader-NVLHCOVU.js.map} +0 -0
  587. /package/dist/{BoxPlot-47TUXQDP.js.map → BoxPlot-IVO7VBQZ.js.map} +0 -0
  588. /package/dist/{CorrelationVolcano-G7K5JEPM.js.map → CorrelationVolcano-2XD5OH2S.js.map} +0 -0
  589. /package/dist/{Cuminc-LBXPOENU.js.map → Cuminc-ECQ56PKO.js.map} +0 -0
  590. /package/dist/{DE-JSWA6HXV.js.map → DE-KWA2K24U.js.map} +0 -0
  591. /package/dist/{DEinput-LEYRVYK6.js.map → DEinput-ZP6CYIRN.js.map} +0 -0
  592. /package/dist/{DM-332QECUP.js.map → DM-ME7CCC4E.js.map} +0 -0
  593. /package/dist/{DifferentialAnalysis-JGH2OMTH.js.map → DifferentialAnalysis-6SIKR566.js.map} +0 -0
  594. /package/dist/{Disco-36PJXFM6.js.map → Disco-LVRT7T3B.js.map} +0 -0
  595. /package/dist/{Disco.UI-PY2KOGKY.js.map → Disco.UI-GT64ZEK4.js.map} +0 -0
  596. /package/dist/{DmrPlot-5WMOBZOJ.js.map → DmrPlot-ZZYKJ4UH.js.map} +0 -0
  597. /package/dist/{GB-6WWLTBIW.js.map → GB-WR6SENAZ.js.map} +0 -0
  598. /package/dist/{GSEA-GYUVO2XA.js.map → GSEA-U2GFOHWT.js.map} +0 -0
  599. /package/dist/{GeneExpInput-UABEICGS.js.map → GeneExpInput-CQSORTKI.js.map} +0 -0
  600. /package/dist/{Geomap-QB6FNV5R.js.map → Geomap-CGJ7EIMD.js.map} +0 -0
  601. /package/dist/{HicApp-TQKQKJTN.js.map → HicApp-DS3HC2G5.js.map} +0 -0
  602. /package/dist/{IDCViewer-L27ICGR5.js.map → IDCViewer-6KWSZWZ7.js.map} +0 -0
  603. /package/dist/{NumBinaryEditor-FHSSXZV4.js.map → NumBinaryEditor-BQVR2RDS.js.map} +0 -0
  604. /package/dist/{NumBinaryEditor.unit.spec-AMR32JHJ.js.map → NumBinaryEditor.unit.spec-FAOFWPDH.js.map} +0 -0
  605. /package/dist/{NumContEditor-R5JB5XPB.js.map → NumContEditor-6T6XFLAM.js.map} +0 -0
  606. /package/dist/{NumContEditor.unit.spec-3PQRIC4G.js.map → NumContEditor.unit.spec-GTBA5F4D.js.map} +0 -0
  607. /package/dist/{NumCustomBinEditor-B3PKD54F.js.map → NumCustomBinEditor-Q2GJOFOH.js.map} +0 -0
  608. /package/dist/{NumCustomBinEditor.unit.spec-YZKCYZQM.js.map → NumCustomBinEditor.unit.spec-TSJE3OVN.js.map} +0 -0
  609. /package/dist/{NumDiscreteEditor-7AO35XU7.js.map → NumDiscreteEditor-QFKPIRDW.js.map} +0 -0
  610. /package/dist/{NumDiscreteEditor.unit.spec-SNDHS6VK.js.map → NumDiscreteEditor.unit.spec-VKDRO52H.js.map} +0 -0
  611. /package/dist/{NumRegularBinEditor-OREKM2DX.js.map → NumRegularBinEditor-SLFPSTA3.js.map} +0 -0
  612. /package/dist/{NumRegularBinEditor.unit.spec-SIGD7PLE.js.map → NumRegularBinEditor.unit.spec-WROEDSWQ.js.map} +0 -0
  613. /package/dist/{NumSplineEditor-RDFDVNJG.js.map → NumSplineEditor-AEXNF6E4.js.map} +0 -0
  614. /package/dist/{NumSplineEditor.unit.spec-TXRQVLUE.js.map → NumSplineEditor.unit.spec-UOESCG7A.js.map} +0 -0
  615. /package/dist/{NumericDensity-QPDF6UU5.js.map → NumericDensity-KPJ6C7N3.js.map} +0 -0
  616. /package/dist/{NumericDensity.unit.spec-JYUYDHDG.js.map → NumericDensity.unit.spec-HM5IAPQT.js.map} +0 -0
  617. /package/dist/{NumericHandler-JW6DLSMJ.js.map → NumericHandler-S3HPYHOJ.js.map} +0 -0
  618. /package/dist/{NumericHandler.unit.spec-Q2ZNM5NH.js.map → NumericHandler.unit.spec-B4CY2GR6.js.map} +0 -0
  619. /package/dist/{ProteomeInput-OS5JWC2O.js.map → ProteomeInput-AC5TRXHE.js.map} +0 -0
  620. /package/dist/{Regression-53XPZCCQ.js.map → Regression-MHGQ2ECB.js.map} +0 -0
  621. /package/dist/{RunChart2-WEO42KPP.js.map → RunChart2-6VSXLBNE.js.map} +0 -0
  622. /package/dist/{SC-VAWRWOUI.js.map → SC-KPIQR5JQ.js.map} +0 -0
  623. /package/dist/{Violin-7VOFUOLE.js.map → Violin-6BRIIZAY.js.map} +0 -0
  624. /package/dist/{Volcano-DI2RLILX.js.map → Volcano-TNNAVPVQ.js.map} +0 -0
  625. /package/dist/{Wsi-6DNY4RUG.js.map → Wsi-JRAK47YP.js.map} +0 -0
  626. /package/dist/{adSandbox-B7GQZDYQ.js.map → adSandbox-HZROPAPC.js.map} +0 -0
  627. /package/dist/{animatedBubbleChart-QGO3OY5E.js.map → animatedBubbleChart-C57NY3PX.js.map} +0 -0
  628. /package/dist/{app-XBLP7YZQ.js.map → app-HU4F4WBL.js.map} +0 -0
  629. /package/dist/{app-ZARZ2HWS.js.map → app-OS2T3Q6X.js.map} +0 -0
  630. /package/dist/{bam-FGNF7RYM.js.map → bam-XBYHZH7B.js.map} +0 -0
  631. /package/dist/{barchart-6YLJJSRO.js.map → barchart-7MOHGOPW.js.map} +0 -0
  632. /package/dist/{barchart2-7TTZPYWA.js.map → barchart2-NOWNROMN.js.map} +0 -0
  633. /package/dist/{block-7WZWBQVA.js.map → block-PRB7FXIC.js.map} +0 -0
  634. /package/dist/{block.init-YN4KHHJ2.js.map → block.init-EQJ42A2H.js.map} +0 -0
  635. /package/dist/{block.mds.expressionrank-6PKN3KIE.js.map → block.mds.expressionrank-W6GIHAAL.js.map} +0 -0
  636. /package/dist/{block.mds.geneboxplot-M6TXRPKO.js.map → block.mds.geneboxplot-GBP5N7AU.js.map} +0 -0
  637. /package/dist/{block.mds.junction-WKRLLJBT.js.map → block.mds.junction-TUIXESU2.js.map} +0 -0
  638. /package/dist/{block.mds.svcnv-I3DNNGYV.js.map → block.mds.svcnv-YOUIXG4A.js.map} +0 -0
  639. /package/dist/{block.svg-D72WTLKP.js.map → block.svg-XAQJBCOC.js.map} +0 -0
  640. /package/dist/{block.tk.aicheck-QT5WYKTQ.js.map → block.tk.aicheck-MRR74ULN.js.map} +0 -0
  641. /package/dist/{block.tk.ase-3WGJONXX.js.map → block.tk.ase-ZB5W537R.js.map} +0 -0
  642. /package/dist/{block.tk.bam-Q5X7D5IR.js.map → block.tk.bam-66562WN7.js.map} +0 -0
  643. /package/dist/{block.tk.bedgraphdot-VWE2D2HR.js.map → block.tk.bedgraphdot-CGBLLLI7.js.map} +0 -0
  644. /package/dist/{block.tk.bigwig.ui-Q22KXFQT.js.map → block.tk.bigwig.ui-FXE6KXRG.js.map} +0 -0
  645. /package/dist/{block.tk.hicstraw-3BMDZCQH.js.map → block.tk.hicstraw-RZXW5CWM.js.map} +0 -0
  646. /package/dist/{block.tk.junction-BMKRAVUI.js.map → block.tk.junction-FSGFU7B3.js.map} +0 -0
  647. /package/dist/{block.tk.junction.textmatrixui-ERLXPLGI.js.map → block.tk.junction.textmatrixui-VR4ZIEUP.js.map} +0 -0
  648. /package/dist/{block.tk.ld-KT5KQUXC.js.map → block.tk.ld-QE54JIGV.js.map} +0 -0
  649. /package/dist/{block.tk.pgv-PZ4AVD3V.js.map → block.tk.pgv-IPX2D3GA.js.map} +0 -0
  650. /package/dist/{brainImaging-ZU3JSXFP.js.map → brainImaging-J4HK4JON.js.map} +0 -0
  651. /package/dist/{brainRegions-DJELNKKN.js.map → brainRegions-RH4EXEQ7.js.map} +0 -0
  652. /package/dist/{bubbleHeatmap-CPJ5KI6E.js.map → bubbleHeatmap-R2CNWOAJ.js.map} +0 -0
  653. /package/dist/{cellTypeBubbleHeatmap-6NGBETXV.js.map → cellTypeBubbleHeatmap-KJSNP4A3.js.map} +0 -0
  654. /package/dist/{chunk-ZMSTQP6O.js.map → chunk-2Z2TFFLP.js.map} +0 -0
  655. /package/dist/{chunk-26Y2MYFN.js.map → chunk-3447YXVI.js.map} +0 -0
  656. /package/dist/{chunk-33FULV5M.js.map → chunk-35DMRAGG.js.map} +0 -0
  657. /package/dist/{chunk-DVWCDEN3.js.map → chunk-3BBUXNES.js.map} +0 -0
  658. /package/dist/{chunk-6RRZRISL.js.map → chunk-3CIL7KH7.js.map} +0 -0
  659. /package/dist/{chunk-UWRWFS3K.js.map → chunk-3KH5JUZV.js.map} +0 -0
  660. /package/dist/{chunk-UYSYZM45.js.map → chunk-3SBHDIJU.js.map} +0 -0
  661. /package/dist/{chunk-YKI4GLMT.js.map → chunk-3YNRU4SC.js.map} +0 -0
  662. /package/dist/{chunk-X46YA4CB.js.map → chunk-4E2F26CC.js.map} +0 -0
  663. /package/dist/{chunk-RXQRCRHC.js.map → chunk-4VZ4HR3U.js.map} +0 -0
  664. /package/dist/{chunk-SXYZ274A.js.map → chunk-5RFLLJRG.js.map} +0 -0
  665. /package/dist/{chunk-UFQDWGZU.js.map → chunk-5X2MW4CV.js.map} +0 -0
  666. /package/dist/{chunk-ZKINKYOJ.js.map → chunk-6TCULFEF.js.map} +0 -0
  667. /package/dist/{chunk-5WIA4KFA.js.map → chunk-7HPICVA4.js.map} +0 -0
  668. /package/dist/{chunk-AUJHCGU2.js.map → chunk-7PBHM4JU.js.map} +0 -0
  669. /package/dist/{chunk-NK235VQ6.js.map → chunk-B2FSMLYK.js.map} +0 -0
  670. /package/dist/{chunk-VPOAFNVL.js.map → chunk-B5BLNQ2E.js.map} +0 -0
  671. /package/dist/{chunk-PBWB5ZG2.js.map → chunk-BR76YIDV.js.map} +0 -0
  672. /package/dist/{chunk-LK7XDEFW.js.map → chunk-BS6IUMA6.js.map} +0 -0
  673. /package/dist/{chunk-Y4MV62JA.js.map → chunk-BUX5YSDF.js.map} +0 -0
  674. /package/dist/{chunk-TAZQU2LC.js.map → chunk-C2KMMY53.js.map} +0 -0
  675. /package/dist/{chunk-WB57TMJN.js.map → chunk-CD2WD7ZG.js.map} +0 -0
  676. /package/dist/{chunk-4ZVOO3NI.js.map → chunk-CUHJN6CC.js.map} +0 -0
  677. /package/dist/{chunk-FQYXNCZI.js.map → chunk-CWWE77DH.js.map} +0 -0
  678. /package/dist/{chunk-3AXQF6GL.js.map → chunk-DCHHIXIP.js.map} +0 -0
  679. /package/dist/{chunk-Q6I2OH4P.js.map → chunk-FDBT4PQ6.js.map} +0 -0
  680. /package/dist/{chunk-DU52GAOJ.js.map → chunk-FMFEQPMB.js.map} +0 -0
  681. /package/dist/{chunk-N6NL4XG2.js.map → chunk-FVADQZLY.js.map} +0 -0
  682. /package/dist/{chunk-O3QKYUDH.js.map → chunk-GDJUSLDV.js.map} +0 -0
  683. /package/dist/{chunk-X2HEDRFQ.js.map → chunk-GPJLIBNO.js.map} +0 -0
  684. /package/dist/{chunk-PCJF5MGF.js.map → chunk-H6GPQPSM.js.map} +0 -0
  685. /package/dist/{chunk-REWUPST7.js.map → chunk-HFEFFFPL.js.map} +0 -0
  686. /package/dist/{chunk-IBZVZZ5J.js.map → chunk-HUGVRGQO.js.map} +0 -0
  687. /package/dist/{chunk-NC4RKYVE.js.map → chunk-IP2PLKC3.js.map} +0 -0
  688. /package/dist/{chunk-SAMS5XBH.js.map → chunk-JPJ2DKP5.js.map} +0 -0
  689. /package/dist/{chunk-A4D2Z2LV.js.map → chunk-JQ3JE2F6.js.map} +0 -0
  690. /package/dist/{chunk-CWLHJ7AC.js.map → chunk-K2ITA56I.js.map} +0 -0
  691. /package/dist/{chunk-6OCWNYW3.js.map → chunk-K5P3JV6N.js.map} +0 -0
  692. /package/dist/{chunk-X3UNVPC5.js.map → chunk-KRQC5AOW.js.map} +0 -0
  693. /package/dist/{chunk-QOF27J24.js.map → chunk-LDDN2BHX.js.map} +0 -0
  694. /package/dist/{chunk-WILJJPWV.js.map → chunk-LOHACXSB.js.map} +0 -0
  695. /package/dist/{chunk-5U7AYOEZ.js.map → chunk-MIG3QAYD.js.map} +0 -0
  696. /package/dist/{chunk-MXJKO73I.js.map → chunk-N5CSNFDP.js.map} +0 -0
  697. /package/dist/{chunk-R3LWGFGS.js.map → chunk-NZBCTASL.js.map} +0 -0
  698. /package/dist/{chunk-6UAY2HAB.js.map → chunk-O3EJBFK7.js.map} +0 -0
  699. /package/dist/{chunk-XZCRYWVL.js.map → chunk-OB3S6QYD.js.map} +0 -0
  700. /package/dist/{chunk-UJRURRJ2.js.map → chunk-OLV3Q6TN.js.map} +0 -0
  701. /package/dist/{chunk-232OR2PG.js.map → chunk-PRPQ654B.js.map} +0 -0
  702. /package/dist/{chunk-VHDYIOWU.js.map → chunk-QI6X4V43.js.map} +0 -0
  703. /package/dist/{chunk-5WMFEMII.js.map → chunk-QZXUHBUV.js.map} +0 -0
  704. /package/dist/{chunk-XNKLJMGF.js.map → chunk-S2PNRIOW.js.map} +0 -0
  705. /package/dist/{chunk-2KM4PRQM.js.map → chunk-T4XPCSLP.js.map} +0 -0
  706. /package/dist/{chunk-QWCKIRW2.js.map → chunk-TCHFJHHC.js.map} +0 -0
  707. /package/dist/{chunk-JZQEDIGZ.js.map → chunk-TR2BNELL.js.map} +0 -0
  708. /package/dist/{chunk-TFS2JZTH.js.map → chunk-TZZTJWLD.js.map} +0 -0
  709. /package/dist/{chunk-PF5UMQEJ.js.map → chunk-UH5BHS42.js.map} +0 -0
  710. /package/dist/{chunk-XL4N3H32.js.map → chunk-VRY727VE.js.map} +0 -0
  711. /package/dist/{chunk-FYXIK6Y6.js.map → chunk-WA3C3A2M.js.map} +0 -0
  712. /package/dist/{chunk-PGRTCNOV.js.map → chunk-XIJC7RNK.js.map} +0 -0
  713. /package/dist/{chunk-3JHCCJ4I.js.map → chunk-XVOHS4CK.js.map} +0 -0
  714. /package/dist/{chunk-HL5B4NME.js.map → chunk-Y3ABEAKV.js.map} +0 -0
  715. /package/dist/{chunk-E24IUWHH.js.map → chunk-YB2A2CWR.js.map} +0 -0
  716. /package/dist/{chunk-PFRPC2SY.js.map → chunk-ZKZHYCO3.js.map} +0 -0
  717. /package/dist/{cohort-CWGZR37O.js.map → cohort-J3JNIMCT.js.map} +0 -0
  718. /package/dist/{condition-B6XBQML4.js.map → condition-A6VAD4OS.js.map} +0 -0
  719. /package/dist/{controls-QPW5HUAY.js.map → controls-2R2OQAX2.js.map} +0 -0
  720. /package/dist/{controls.btns-BYM4DON4.js.map → controls.btns-6AKLIWOG.js.map} +0 -0
  721. /package/dist/{controls.config-IUYTWRHA.js.map → controls.config-UPE6TAHK.js.map} +0 -0
  722. /package/dist/{correlation-M2NKGTK2.js.map → correlation-Q6HYOUOX.js.map} +0 -0
  723. /package/dist/{customdata.inputui-RKYIMOWO.js.map → customdata.inputui-KQJKSQNI.js.map} +0 -0
  724. /package/dist/{dataDownload-LPBLB7QD.js.map → dataDownload-PYQX2BWN.js.map} +0 -0
  725. /package/dist/{databrowser.ui-VTWHELDY.js.map → databrowser.ui-LPFKGVW3.js.map} +0 -0
  726. /package/dist/{dictionary-NINKMF3F.js.map → dictionary-GYN7OXWQ.js.map} +0 -0
  727. /package/dist/{dnaMethylation-LSVNG7FK.js.map → dnaMethylation-TSRHGNNY.js.map} +0 -0
  728. /package/dist/{dnaMethylation.integration.spec-6IT3Y3FS.js.map → dnaMethylation.integration.spec-3YYSFVKK.js.map} +0 -0
  729. /package/dist/{dofetch-HLMSTOMY.js.map → dofetch-4YRJUWLJ.js.map} +0 -0
  730. /package/dist/{e2pca-6PKLCC7L.js.map → e2pca-G4AVRHQC.js.map} +0 -0
  731. /package/dist/{ep-3RFB6K3B.js.map → ep-MHT3CLGK.js.map} +0 -0
  732. /package/dist/{expclust.gdc.spec-MEWKHFMD.js.map → expclust.gdc.spec-2TWLDD2S.js.map} +0 -0
  733. /package/dist/{gb-PTF7CLDG.js.map → gb-WLOGQSEU.js.map} +0 -0
  734. /package/dist/{geneExpClustering-VKUIAYCK.js.map → geneExpClustering-LOLLER5C.js.map} +0 -0
  735. /package/dist/{geneExpression-3GQFWVJL.js.map → geneExpression-NP2N4CRU.js.map} +0 -0
  736. /package/dist/{geneExpression-VC7QPM3T.js.map → geneExpression-RWE7PBBD.js.map} +0 -0
  737. /package/dist/{geneExpression.unit.spec-PQS7BOMF.js.map → geneExpression.unit.spec-MBE6YVKY.js.map} +0 -0
  738. /package/dist/{geneORA-FCMFWZTN.js.map → geneORA-ZWZCCBL7.js.map} +0 -0
  739. /package/dist/{geneRanking-RTPPGBD4.js.map → geneRanking-UZXH5SLT.js.map} +0 -0
  740. /package/dist/{geneVariant-2TQ2JD4K.js.map → geneVariant-MULXYJ7M.js.map} +0 -0
  741. /package/dist/{geneVariant-4S6FLJTN.js.map → geneVariant-ZPINPLRP.js.map} +0 -0
  742. /package/dist/{geneVariant.integration.spec-YTFFHWQP.js.map → geneVariant.integration.spec-6DNKP22T.js.map} +0 -0
  743. /package/dist/{genefusion.ui-P7YH32A6.js.map → genefusion.ui-S4BPNRIO.js.map} +0 -0
  744. /package/dist/{geneset-4J43JA3C.js.map → geneset-LZNALH2H.js.map} +0 -0
  745. /package/dist/{genomeBrowser.spec-T2VFNUAV.js.map → genomeBrowser.spec-JOIKBWVC.js.map} +0 -0
  746. /package/dist/{grin2-5TH4EBVQ.js.map → grin2-GFZ5REPY.js.map} +0 -0
  747. /package/dist/{grin2-KXMSYYYM.js.map → grin2-JPR6LCXT.js.map} +0 -0
  748. /package/dist/{hierCluster-2HFMEHAD.js.map → hierCluster-DCESQECE.js.map} +0 -0
  749. /package/dist/{hierCluster-5RQV7B5I.js.map → hierCluster-M6R4CH22.js.map} +0 -0
  750. /package/dist/{hierCluster.config-PNBGJE6F.js.map → hierCluster.config-DBQYJXML.js.map} +0 -0
  751. /package/dist/{hierCluster.integration.spec-TZLVKUC5.js.map → hierCluster.integration.spec-DPXTME5W.js.map} +0 -0
  752. /package/dist/{hierCluster.interactivity-OQD3IQ4X.js.map → hierCluster.interactivity-EKKKYVEP.js.map} +0 -0
  753. /package/dist/{imagePlot-6YH7S2PV.js.map → imagePlot-XXSCMNUV.js.map} +0 -0
  754. /package/dist/{importPlot-Z2UKA456.js.map → importPlot-LKMMP7ZV.js.map} +0 -0
  755. /package/dist/{isoformExpression-SRJMGXHD.js.map → isoformExpression-A634VVY3.js.map} +0 -0
  756. /package/dist/{isoformExpression.unit.spec-PBVKSWCS.js.map → isoformExpression.unit.spec-2J4VQH43.js.map} +0 -0
  757. /package/dist/{junction-D4UP2AGY.js.map → junction-22DCADQW.js.map} +0 -0
  758. /package/dist/{junction.unit.spec-M5CEGNUE.js.map → junction.unit.spec-NQDRD66O.js.map} +0 -0
  759. /package/dist/{launch.adhoc-SWJOT47S.js.map → launch.adhoc-NAHAYONX.js.map} +0 -0
  760. /package/dist/{leftlabel.sample-4ZAM2JSS.js.map → leftlabel.sample-CRMQSNCJ.js.map} +0 -0
  761. /package/dist/{lollipop-GMGJPMJN.js.map → lollipop-XLPUIZBA.js.map} +0 -0
  762. /package/dist/{maf-2TFOOAIF.js.map → maf-LPXQMGJC.js.map} +0 -0
  763. /package/dist/{maftimeline-DRBM4ZYD.js.map → maftimeline-X2YPHLLO.js.map} +0 -0
  764. /package/dist/{matrix-22R4BC3F.js.map → matrix-U7PGR4MD.js.map} +0 -0
  765. /package/dist/{matrix-W4IRSBO5.js.map → matrix-UAU7QUP2.js.map} +0 -0
  766. /package/dist/{matrix.config-ZZ7NFCIT.js.map → matrix.config-HZ3TORDS.js.map} +0 -0
  767. /package/dist/{matrix.data-3W6P6NBU.js.map → matrix.data-D77IGADO.js.map} +0 -0
  768. /package/dist/{matrix.dom-YQNX4IQO.js.map → matrix.dom-3Z5PNSKJ.js.map} +0 -0
  769. /package/dist/{matrix.integration.spec-X4UPLQRI.js.map → matrix.integration.spec-7QLCJO26.js.map} +0 -0
  770. /package/dist/{matrix.interactivity-NGS3LJPV.js.map → matrix.interactivity-OIKLY2O6.js.map} +0 -0
  771. /package/dist/{matrix.layout-SAGZVQPG.js.map → matrix.layout-ICBZ5PCU.js.map} +0 -0
  772. /package/dist/{matrix.renderers-IG7Q2F6Y.js.map → matrix.renderers-PN56PKD3.js.map} +0 -0
  773. /package/dist/{matrix.sort.unit.spec-DCWR5PZJ.js.map → matrix.sort.unit.spec-IQOMDVVS.js.map} +0 -0
  774. /package/dist/{matrix.sorterUi-MVUI25W7.js.map → matrix.sorterUi-UKANNCZM.js.map} +0 -0
  775. /package/dist/{matrix.sorterUi.unit.spec-EBLSCLDL.js.map → matrix.sorterUi.unit.spec-JCN62VCG.js.map} +0 -0
  776. /package/dist/{matrix.unit.spec-I6JGZHQZ.js.map → matrix.unit.spec-JASP2ZH6.js.map} +0 -0
  777. /package/dist/{mavb-MLVNZJSF.js.map → mavb-KHRJRSUD.js.map} +0 -0
  778. /package/dist/{mds.fimo-MOGZPFCK.js.map → mds.fimo-LOR3DSLQ.js.map} +0 -0
  779. /package/dist/{mds.samplescatterplot-YLGNYKTH.js.map → mds.samplescatterplot-W3TCPYHS.js.map} +0 -0
  780. /package/dist/{mds.survivalplot-R273N2GB.js.map → mds.survivalplot-EYAA5IO3.js.map} +0 -0
  781. /package/dist/{multivalue-5GFBYENI.js.map → multivalue-GGM5DFPD.js.map} +0 -0
  782. /package/dist/{oncomatrix-OAQT2CUN.js.map → oncomatrix-MVLDAB6I.js.map} +0 -0
  783. /package/dist/{oncomatrix.spec-6C62LLJI.js.map → oncomatrix.spec-43PZ4CLH.js.map} +0 -0
  784. /package/dist/{plot.2dvaf-WDXWSC7L.js.map → plot.2dvaf-4H3YMAIV.js.map} +0 -0
  785. /package/dist/{plot.app-YTHD3ZJQ.js.map → plot.app-OZGOECPK.js.map} +0 -0
  786. /package/dist/{plot.barplot-SRZM3GU3.js.map → plot.barplot-OQKZAU3N.js.map} +0 -0
  787. /package/dist/{plot.boxplot-VWOMZPZE.js.map → plot.boxplot-4O4VNRMV.js.map} +0 -0
  788. /package/dist/{plot.brainImaging-6XL7YF5G.js.map → plot.brainImaging-6I4HHUMD.js.map} +0 -0
  789. /package/dist/{plot.disco-VRKSTV5Z.js.map → plot.disco-BOWNCFJV.js.map} +0 -0
  790. /package/dist/{plot.ssgq-AXASDOZZ.js.map → plot.ssgq-6STRLDEG.js.map} +0 -0
  791. /package/dist/{plot.vaf2cov-IF4DEEM5.js.map → plot.vaf2cov-75EZA7PJ.js.map} +0 -0
  792. /package/dist/{polar2-QQ3KHFME.js.map → polar2-QQ2ZYQ3I.js.map} +0 -0
  793. /package/dist/{profileForms-2US7IYYM.js.map → profileForms-WU7UNK7Y.js.map} +0 -0
  794. /package/dist/{profilePlot-DZQCBKPA.js.map → profilePlot-KW7UITCT.js.map} +0 -0
  795. /package/dist/{proteinView-TTLVQ43H.js.map → proteinView-ET75MKLU.js.map} +0 -0
  796. /package/dist/{proteomeCohortCompare-BUZYOOIA.js.map → proteomeCohortCompare-SDX5D26O.js.map} +0 -0
  797. /package/dist/{pseudbulk.unit.spec-YNXQWDSU.js.map → pseudbulk.unit.spec-T3B2T5FK.js.map} +0 -0
  798. /package/dist/{pseudobulk-VSXK2PTM.js.map → pseudobulk-4O6GK2TZ.js.map} +0 -0
  799. /package/dist/{qualitative-AKIZRNFO.js.map → qualitative-FUJ6JHPZ.js.map} +0 -0
  800. /package/dist/{radar2-7GXYLICJ.js.map → radar2-G75NIN2N.js.map} +0 -0
  801. /package/dist/{radarFacility2-WFKOWGH2.js.map → radarFacility2-OOAUSL6F.js.map} +0 -0
  802. /package/dist/{render-F3CBMRD5.js.map → render-JMAJCJFT.js.map} +0 -0
  803. /package/dist/{report-6LHMHUDY.js.map → report-UKB7676O.js.map} +0 -0
  804. /package/dist/{sampleView-GWKPMVJH.js.map → sampleView-JGWU2E5H.js.map} +0 -0
  805. /package/dist/{samplelst-TH6IBDVG.js.map → samplelst-ZB23PILZ.js.map} +0 -0
  806. /package/dist/{samplematrix-RPCWT33H.js.map → samplematrix-CQAB5PVO.js.map} +0 -0
  807. /package/dist/{sc-BFBHBAXF.js.map → sc-JOIUUG4I.js.map} +0 -0
  808. /package/dist/{scatter-L6R6J2LC.js.map → scatter-DCX72P3N.js.map} +0 -0
  809. /package/dist/{scatter-3IC6HOT7.js.map → scatter-JXBGEKLF.js.map} +0 -0
  810. /package/dist/{selectGenomeWithTklst-3ZK7FIOP.js.map → selectGenomeWithTklst-EZTHPCBB.js.map} +0 -0
  811. /package/dist/{singleCellCellType-CLJFCBV6.js.map → singleCellCellType-BOQTDUZA.js.map} +0 -0
  812. /package/dist/{singleCellCellType.unit.spec-W32PSTRO.js.map → singleCellCellType.unit.spec-3HUF7VWW.js.map} +0 -0
  813. /package/dist/{singleCellGeneExpression-L6MG37XE.js.map → singleCellGeneExpression-UBTHLFRN.js.map} +0 -0
  814. /package/dist/{singleCellGeneExpression.unit.spec-SF46JHCU.js.map → singleCellGeneExpression.unit.spec-YM6EQB3E.js.map} +0 -0
  815. /package/dist/{singleCellNumericValue-7QXK6KVZ.js.map → singleCellNumericValue-53T6WOHJ.js.map} +0 -0
  816. /package/dist/{singleCellNumericValue.unit.spec-VC7NQYM2.js.map → singleCellNumericValue.unit.spec-SYSMD5IW.js.map} +0 -0
  817. /package/dist/{singleCellPlot-5TRNRKPN.js.map → singleCellPlot-3V47EUB4.js.map} +0 -0
  818. /package/dist/{singlecell-I4PHM2LZ.js.map → singlecell-AFGFONXY.js.map} +0 -0
  819. /package/dist/{singlecell-2YV3UAIQ.js.map → singlecell-VZI3LEUT.js.map} +0 -0
  820. /package/dist/{snp-ZIA4YWCZ.js.map → snp-IPIYL7OY.js.map} +0 -0
  821. /package/dist/{snp.unit.spec-MVQHY4WJ.js.map → snp.unit.spec-OC5JHCXR.js.map} +0 -0
  822. /package/dist/{snplocus-GM6IEDPR.js.map → snplocus-DSGUSGUP.js.map} +0 -0
  823. /package/dist/{spliceevent.a53ss.diagram-ZFQDHHPY.js.map → spliceevent.a53ss.diagram-RNAJHS4P.js.map} +0 -0
  824. /package/dist/{spliceevent.exonskip.diagram-ZK6JOUMU.js.map → spliceevent.exonskip.diagram-YWRATK46.js.map} +0 -0
  825. /package/dist/{spliceevent.noeventdiagram-YKTF2VZE.js.map → spliceevent.noeventdiagram-6ZJRJ4QZ.js.map} +0 -0
  826. /package/dist/{ssGSEA-FDN4CH2Y.js.map → ssGSEA-IWCC6JDL.js.map} +0 -0
  827. /package/dist/{ssGSEA.unit.spec-YEUJBT6Z.js.map → ssGSEA.unit.spec-3TKDENWO.js.map} +0 -0
  828. /package/dist/{stattable-WIZRSKPH.js.map → stattable-EXOWMETP.js.map} +0 -0
  829. /package/dist/{studyCatalog-X2IGVJ26.js.map → studyCatalog-OAGHQXKY.js.map} +0 -0
  830. /package/dist/{summarizeCnvGeneexp-H7A5SI3R.js.map → summarizeCnvGeneexp-K6XO5YEP.js.map} +0 -0
  831. /package/dist/{summarizeGeneexpSurvival-GJF6VD2S.js.map → summarizeGeneexpSurvival-WTAGCCU4.js.map} +0 -0
  832. /package/dist/{summarizeMutationCnv-WQLMD2TR.js.map → summarizeMutationCnv-QKIDS3LI.js.map} +0 -0
  833. /package/dist/{summarizeMutationDiagnosis-3S52IDWF.js.map → summarizeMutationDiagnosis-ACFWADSQ.js.map} +0 -0
  834. /package/dist/{summarizeMutationSurvival-NTQIUNW7.js.map → summarizeMutationSurvival-XPFPN4N5.js.map} +0 -0
  835. /package/dist/{summary-LMRFRKKI.js.map → summary-VCU2NTIZ.js.map} +0 -0
  836. /package/dist/{summary.integration.spec-KQMZKSEQ.js.map → summary.integration.spec-2DE653PH.js.map} +0 -0
  837. /package/dist/{summaryInput-NNHZVHQA.js.map → summaryInput-GO75OPLA.js.map} +0 -0
  838. /package/dist/{sunburst-ICUSGIWV.js.map → sunburst-BSCFRYSV.js.map} +0 -0
  839. /package/dist/{survival-K44Q2HAC.js.map → survival-BEP7JNML.js.map} +0 -0
  840. /package/dist/{survival-K5YBNNVE.js.map → survival-XUO2D6CX.js.map} +0 -0
  841. /package/dist/{survival.integration.spec-4LRJW2V2.js.map → survival.integration.spec-EO5KAFDQ.js.map} +0 -0
  842. /package/dist/{svgraph-U7MS7YEM.js.map → svgraph-YGXOB3QY.js.map} +0 -0
  843. /package/dist/{svmr-2JGDBPAI.js.map → svmr-MATMMI4E.js.map} +0 -0
  844. /package/dist/{table-CBWOHYW6.js.map → table-DFSX7XYJ.js.map} +0 -0
  845. /package/dist/{termCollection-JFGGXVFI.js.map → termCollection-GKPC4K2O.js.map} +0 -0
  846. /package/dist/{termCollection-VE3FFL6V.js.map → termCollection-ZUJFB7YB.js.map} +0 -0
  847. /package/dist/{termCollection.unit.spec-XQQTDV4A.js.map → termCollection.unit.spec-YE7IKC6S.js.map} +0 -0
  848. /package/dist/{termCollectionFractionSelection-TFGF27GR.js.map → termCollectionFractionSelection-DLWXUEEN.js.map} +0 -0
  849. /package/dist/{termCollectionFractionSelection.unit.spec-MKGG4JBC.js.map → termCollectionFractionSelection.unit.spec-N2LNHIWC.js.map} +0 -0
  850. /package/dist/{termInfo-J5Q7Y763.js.map → termInfo-PZ7UDA5C.js.map} +0 -0
  851. /package/dist/{tk-74SGUUZY.js.map → tk-PHTWQHVV.js.map} +0 -0
  852. /package/dist/{tk-K4JFYIZY.js.map → tk-RNUMIS5P.js.map} +0 -0
  853. /package/dist/{tp.ui-727EXXMT.js.map → tp.ui-A52OBFJD.js.map} +0 -0
  854. /package/dist/{tvs.dt-YB2C3T33.js.map → tvs.dt-SQSP3UXH.js.map} +0 -0
  855. /package/dist/{tvs.dtcnv.categorical-NOWMZOE5.js.map → tvs.dtcnv.categorical-3IWQMUEM.js.map} +0 -0
  856. /package/dist/{tvs.dtcnv.continuous-3KWUNU76.js.map → tvs.dtcnv.continuous-ZD5WM32O.js.map} +0 -0
  857. /package/dist/{tvs.dtfusion-NOJSTABU.js.map → tvs.dtfusion-G47Z7NP3.js.map} +0 -0
  858. /package/dist/{tvs.dtitd-OD5B377P.js.map → tvs.dtitd-57PSTVRM.js.map} +0 -0
  859. /package/dist/{tvs.dtsnvindel-WIQMZTRH.js.map → tvs.dtsnvindel-CS3ZVFWN.js.map} +0 -0
  860. /package/dist/{tvs.dtsv-HPERDN3R.js.map → tvs.dtsv-LNWDVFCR.js.map} +0 -0
  861. /package/dist/{tvs.samplelst-TC2Z7Z35.js.map → tvs.samplelst-EMZOR4SY.js.map} +0 -0
  862. /package/dist/{tvs.termCollection-F64BHWAL.js.map → tvs.termCollection-RX5ASV3N.js.map} +0 -0
  863. /package/dist/{vocabulary-ZOYF2VHS.js.map → vocabulary-JVAACQPU.js.map} +0 -0
  864. /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 &raquo;')\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('&times;')\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('&times;')\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('&lt; 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('&lt; 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('&lt; 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('&lt; 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('&lt; 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('&nbsp;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('&nbsp;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('&nbsp;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:&nbsp;')\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
+ }