@sjcrh/proteinpaint-client 2.166.0 → 2.167.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 (882) hide show
  1. package/dist/2dmaf-VLW5XJ4O.js +1364 -0
  2. package/dist/AIProjectAdmin-X3TBCRPR.js +780 -0
  3. package/dist/AppHeader-YA7FCKVM.js +813 -0
  4. package/dist/BoxPlot-PAZYARCX.js +44 -0
  5. package/dist/CorrelationVolcano-S35GWKV5.js +616 -0
  6. package/dist/DifferentialAnalysis-DTDFAUXT.js +237 -0
  7. package/dist/Disco-OE6YY3MH.js +3089 -0
  8. package/dist/Disco.UI-2CCWETSM.js +238 -0
  9. package/dist/DziViewer-OHPZOH72.js +16328 -0
  10. package/dist/GB-LIHKHJ32.js +1099 -0
  11. package/dist/HicApp-6AYCPCW6.js +2218 -0
  12. package/dist/NumBinaryEditor-ONJB4DKM.js +259 -0
  13. package/dist/NumBinaryEditor.unit.spec-Y6DGBAIB.js +277 -0
  14. package/dist/NumContEditor-6WGAI3PH.js +98 -0
  15. package/dist/NumContEditor.unit.spec-6LT5MALH.js +160 -0
  16. package/dist/NumCustomBinEditor-K4OD7SWD.js +29 -0
  17. package/dist/NumCustomBinEditor.unit.spec-O6QYV6Q4.js +275 -0
  18. package/dist/NumDiscreteEditor-AFLINO62.js +145 -0
  19. package/dist/NumDiscreteEditor.unit.spec-3VWWSS24.js +193 -0
  20. package/dist/NumRegularBinEditor-IRKC5SVF.js +29 -0
  21. package/dist/NumRegularBinEditor.unit.spec-2ZTI7HR2.js +220 -0
  22. package/dist/NumSplineEditor-DBW6XE4N.js +181 -0
  23. package/dist/NumSplineEditor.unit.spec-645ZQXXL.js +190 -0
  24. package/dist/NumericDensity-27SM2P45.js +29 -0
  25. package/dist/NumericDensity.unit.spec-DM7PPSMV.js +212 -0
  26. package/dist/NumericHandler-KFQ2OSUR.js +30 -0
  27. package/dist/NumericHandler.unit.spec-RNXGCYH7.js +210 -0
  28. package/dist/SC-SUUATZYR.js +714 -0
  29. package/dist/Volcano-DEKTKEEZ.js +1018 -0
  30. package/dist/WSIViewer-SWX4OXHY.js +46959 -0
  31. package/dist/WsiSamplesPlot-OCVLBBBD.js +153 -0
  32. package/dist/adSandbox-VGHHJWLL.js +29 -0
  33. package/dist/alphaGenome-YOJWFJCS.js +170 -0
  34. package/dist/app-3TXV35H5.js +28 -0
  35. package/dist/app-NUTP544R.js +54 -0
  36. package/dist/app.js +16 -16
  37. package/dist/bam-LXDFDUBH.js +842 -0
  38. package/dist/barchart-P4BTYT5K.js +48 -0
  39. package/dist/barchart.data-6WIS5D4I.js +30 -0
  40. package/dist/barchart.events-V4ANDWUH.js +44 -0
  41. package/dist/barchart.integration.spec-QU3Y3YHM.js +1600 -0
  42. package/dist/bars.renderer-4N4QOUNI.js +12 -0
  43. package/dist/bars.settings-SDU7PZOS.js +10 -0
  44. package/dist/block-OGJAZG3E.js +6291 -0
  45. package/dist/block.init-SNZKGO2G.js +29 -0
  46. package/dist/block.mds.expressionrank-WYV55X5Y.js +350 -0
  47. package/dist/block.mds.geneboxplot-2LVYSSSU.js +819 -0
  48. package/dist/block.mds.junction-YY3P64U5.js +1536 -0
  49. package/dist/block.mds.svcnv-JFNOLZX3.js +6792 -0
  50. package/dist/block.svg-JBR6OYAD.js +155 -0
  51. package/dist/block.tk.aicheck-2XDMLOND.js +274 -0
  52. package/dist/block.tk.ase-TC3NY65S.js +356 -0
  53. package/dist/block.tk.bam-YA32442V.js +1897 -0
  54. package/dist/block.tk.bedgraphdot-TRNM4O4F.js +375 -0
  55. package/dist/block.tk.bigwig.ui-6JJG42M3.js +202 -0
  56. package/dist/block.tk.hicstraw-HEQXBJZN.js +814 -0
  57. package/dist/block.tk.junction-7LWL3N6V.js +2355 -0
  58. package/dist/block.tk.junction.textmatrixui-6CTLQ2M7.js +190 -0
  59. package/dist/block.tk.ld-SG4ZJ5VB.js +90 -0
  60. package/dist/block.tk.menu-FNKM5H5D.js +1020 -0
  61. package/dist/block.tk.pgv-KNLGEASZ.js +935 -0
  62. package/dist/brainImaging-RO5P7ZR6.js +417 -0
  63. package/dist/chat-JS4NIRVH.js +142 -0
  64. package/dist/chat-JS4NIRVH.js.map +7 -0
  65. package/dist/chunk-2HJ7OD7H.js +252 -0
  66. package/dist/chunk-2MN5JLZB.js +2878 -0
  67. package/dist/chunk-353ULT52.js +480 -0
  68. package/dist/chunk-3JFEWVHR.js +80 -0
  69. package/dist/chunk-4PHD5H4A.js +226 -0
  70. package/dist/chunk-56IFQMJK.js +413 -0
  71. package/dist/chunk-5GQEXGQC.js +256 -0
  72. package/dist/chunk-5GQEXGQC.js.map +7 -0
  73. package/dist/chunk-5HXU7P5T.js +276 -0
  74. package/dist/chunk-5KUQSXQC.js +293 -0
  75. package/dist/chunk-6ADTREVX.js +1968 -0
  76. package/dist/chunk-6ADTREVX.js.map +7 -0
  77. package/dist/chunk-6ISTNHM6.js +144 -0
  78. package/dist/chunk-6VQ4C735.js +1536 -0
  79. package/dist/chunk-7M6V7OGP.js +1088 -0
  80. package/dist/chunk-B5YJ4S2E.js +190 -0
  81. package/dist/chunk-B65X5UQH.js +518 -0
  82. package/dist/chunk-BTYCW3D5.js +85 -0
  83. package/dist/chunk-BW2MEKH4.js +102 -0
  84. package/dist/chunk-C4NAQESE.js +157 -0
  85. package/dist/chunk-CDVICC3E.js +272 -0
  86. package/dist/chunk-D53HBTYQ.js +238 -0
  87. package/dist/chunk-D7HC37OF.js +297 -0
  88. package/dist/chunk-DACGCI3Q.js +215 -0
  89. package/dist/chunk-DDOM4XYV.js +1177 -0
  90. package/dist/chunk-DDOM4XYV.js.map +7 -0
  91. package/dist/chunk-DKI7YOTJ.js +196 -0
  92. package/dist/chunk-DNU4IPD2.js +165 -0
  93. package/dist/chunk-DOLIDO2R.js +2784 -0
  94. package/dist/chunk-DRDIOSDW.js +129 -0
  95. package/dist/chunk-DRFGAPYN.js +158 -0
  96. package/dist/chunk-ECFK2NV5.js +82 -0
  97. package/dist/chunk-ETBTUFRA.js +1415 -0
  98. package/dist/chunk-FMZEW7AB.js +1275 -0
  99. package/dist/chunk-FN5XPUPH.js +83 -0
  100. package/dist/chunk-FN5XPUPH.js.map +7 -0
  101. package/dist/chunk-FRLEROW5.js +279 -0
  102. package/dist/chunk-FRLEROW5.js.map +7 -0
  103. package/dist/chunk-GCQYBMGL.js +6364 -0
  104. package/dist/chunk-H2QGRBCK.js +95 -0
  105. package/dist/chunk-HPEMEDXB.js +123 -0
  106. package/dist/chunk-HXT3XNAX.js +228 -0
  107. package/dist/chunk-ITJ2SXU5.js +467 -0
  108. package/dist/chunk-ITJ2SXU5.js.map +7 -0
  109. package/dist/chunk-IZ77ZFBY.js +142 -0
  110. package/dist/chunk-JMO7ENSD.js +381 -0
  111. package/dist/chunk-KHOR7BCS.js +217 -0
  112. package/dist/chunk-LD45BCVM.js +177 -0
  113. package/dist/chunk-MJM2U67B.js +2327 -0
  114. package/dist/chunk-MRDHGWNV.js +634 -0
  115. package/dist/chunk-MXSMHJIP.js +748 -0
  116. package/dist/chunk-N4D5G5IT.js +402 -0
  117. package/dist/chunk-NCL2K6UD.js +14 -0
  118. package/dist/chunk-NNDNKEFI.js +419 -0
  119. package/dist/chunk-NNDNKEFI.js.map +7 -0
  120. package/dist/chunk-O552UNW2.js +303 -0
  121. package/dist/chunk-OA7TPCTX.js +55 -0
  122. package/dist/chunk-OA7TPCTX.js.map +7 -0
  123. package/dist/chunk-OARG7PAV.js +401 -0
  124. package/dist/chunk-OLUMAQOQ.js +91 -0
  125. package/dist/chunk-OSNUFZAX.js +203 -0
  126. package/dist/chunk-PN6GLQWD.js +166 -0
  127. package/dist/chunk-PX7A6LBY.js +15078 -0
  128. package/dist/chunk-PX7A6LBY.js.map +7 -0
  129. package/dist/chunk-PZRXLO7V.js +229 -0
  130. package/dist/chunk-PZY4L6NK.js +1151 -0
  131. package/dist/chunk-Q6FKQ63P.js +161 -0
  132. package/dist/chunk-QCTJ6JA2.js +323 -0
  133. package/dist/chunk-RKV3CP4C.js +258 -0
  134. package/dist/chunk-RYT4A7AQ.js +2789 -0
  135. package/dist/chunk-SBEA552U.js +4172 -0
  136. package/dist/chunk-SEL5UNRC.js +142 -0
  137. package/dist/chunk-SO4QKH47.js +133 -0
  138. package/dist/chunk-SWDSU33C.js +797 -0
  139. package/dist/chunk-SWDSU33C.js.map +7 -0
  140. package/dist/chunk-TGZA4ETW.js +311 -0
  141. package/dist/chunk-TGZA4ETW.js.map +7 -0
  142. package/dist/chunk-TMEYYK4R.js +2676 -0
  143. package/dist/chunk-TRS2KOXE.js +487 -0
  144. package/dist/chunk-TRS2KOXE.js.map +7 -0
  145. package/dist/chunk-TWWRXWWS.js +451 -0
  146. package/dist/chunk-TWWRXWWS.js.map +7 -0
  147. package/dist/chunk-UAKYIZJI.js +149 -0
  148. package/dist/chunk-V4F264MW.js +1143 -0
  149. package/dist/chunk-W4IQ4XYS.js +467 -0
  150. package/dist/chunk-WTPVXDJT.js +31 -0
  151. package/dist/chunk-WVZV43PF.js +459 -0
  152. package/dist/chunk-X62MQS7A.js +613 -0
  153. package/dist/chunk-XAIW4R76.js +422 -0
  154. package/dist/chunk-XF36ROHS.js +4947 -0
  155. package/dist/chunk-XF36ROHS.js.map +7 -0
  156. package/dist/chunk-XQGO3DQ2.js +619 -0
  157. package/dist/chunk-YBDLY45S.js +368 -0
  158. package/dist/chunk-YEYC4PLD.js +1133 -0
  159. package/dist/chunk-YEYC4PLD.js.map +7 -0
  160. package/dist/chunk-YFZH3WDM.js +55 -0
  161. package/dist/chunk-YUL2RO7I.js +1720 -0
  162. package/dist/chunk-YUL2RO7I.js.map +7 -0
  163. package/dist/chunk-ZFFHOEBE.js +117 -0
  164. package/dist/chunk-ZLBDDGSP.js +1412 -0
  165. package/dist/chunk-ZOD2EZOP.js +1197 -0
  166. package/dist/condition-KDKI25VM.js +323 -0
  167. package/dist/controls-26FVLZRQ.js +35 -0
  168. package/dist/controls.btns-H4TWTHTW.js +10 -0
  169. package/dist/controls.config-O6YC7P4M.js +31 -0
  170. package/dist/correlation-DVDT43OT.js +102 -0
  171. package/dist/cuminc-T6EYUBUX.js +1143 -0
  172. package/dist/cuminc.integration.spec-P4YPZXDY.js +669 -0
  173. package/dist/customdata.inputui-XPXZ7KB5.js +278 -0
  174. package/dist/dataDownload-46POC5GF.js +320 -0
  175. package/dist/dataDownload.integration.spec-L7P5YMF7.js +184 -0
  176. package/dist/databrowser.ui-DQEQXZCP.js +426 -0
  177. package/dist/dictionary-MBERWWV4.js +90 -0
  178. package/dist/e2pca-5HU65GVJ.js +341 -0
  179. package/dist/ep-ECP7H37A.js +1247 -0
  180. package/dist/expclust.gdc.spec-553FSEDH.js +298 -0
  181. package/dist/facet-ND335XOF.js +437 -0
  182. package/dist/frequencyChart-2OHEOWEU.js +371 -0
  183. package/dist/frequencyChart.integration.spec-NW4DDLRX.js +301 -0
  184. package/dist/geneExpClustering-GHGBONBF.js +242 -0
  185. package/dist/geneExpression-UGYGT6DM.js +54 -0
  186. package/dist/geneExpression-X6HAUFPK.js +310 -0
  187. package/dist/geneORA-YKXRPEYY.js +272 -0
  188. package/dist/geneVariant-363FWTVR.js +29 -0
  189. package/dist/geneVariant-J4O45233.js +32 -0
  190. package/dist/genefusion.ui-DWAZJDO4.js +242 -0
  191. package/dist/geneset-64VRPPTK.js +186 -0
  192. package/dist/genomeBrowser.spec-AN3YXXBS.js +272 -0
  193. package/dist/grin2-E2WNBPLR.js +1547 -0
  194. package/dist/grin2-Y57FKOV6.js +1044 -0
  195. package/dist/grin2-Y57FKOV6.js.map +7 -0
  196. package/dist/gsea-PNORGHHB.js +43 -0
  197. package/dist/hierCluster-B7YMJ3UK.js +56 -0
  198. package/dist/hierCluster-VAQBNVKU.js +60 -0
  199. package/dist/hierCluster.config-D7MDBQ35.js +32 -0
  200. package/dist/hierCluster.integration.spec-UHRGPV6T.js +389 -0
  201. package/dist/hierCluster.interactivity-NJFEZILS.js +45 -0
  202. package/dist/hierCluster.renderers-GWFH5ZX7.js +21 -0
  203. package/dist/imagePlot-LWJPXMNK.js +134 -0
  204. package/dist/importPlot-JBVMBUCU.js +8 -0
  205. package/dist/launch.adhoc-6GLLB7TX.js +36 -0
  206. package/dist/leftlabel.sample-3SO3AJ2U.js +249 -0
  207. package/dist/lollipop-LJEVK7YO.js +159 -0
  208. package/dist/maf-3EW7QN3S.js +435 -0
  209. package/dist/maf-3EW7QN3S.js.map +7 -0
  210. package/dist/maftimeline-YMX542CP.js +584 -0
  211. package/dist/matrix-CR2EK5EU.js +60 -0
  212. package/dist/matrix-YI4D3YQI.js +55 -0
  213. package/dist/matrix.cells-SCLZA3P4.js +30 -0
  214. package/dist/matrix.config-TOC4QWE7.js +33 -0
  215. package/dist/matrix.controls-27D3Q4GD.js +31 -0
  216. package/dist/matrix.data-ETVML2F7.js +35 -0
  217. package/dist/matrix.dom-QO7BXZ27.js +11 -0
  218. package/dist/matrix.groups-QMZMZ6Q7.js +26 -0
  219. package/dist/matrix.integration.spec-DDXKS5GP.js +2936 -0
  220. package/dist/matrix.interactivity-XTNDVF55.js +36 -0
  221. package/dist/matrix.layout-NGPK4EEU.js +35 -0
  222. package/dist/matrix.legend-CS6DNC5V.js +22 -0
  223. package/dist/matrix.renderers-ILFHUPHQ.js +29 -0
  224. package/dist/matrix.serieses-3SERD6CV.js +21 -0
  225. package/dist/matrix.sort-UVS6WHIS.js +27 -0
  226. package/dist/matrix.sort.unit.spec-DAMINC6B.js +464 -0
  227. package/dist/matrix.sorterUi-JDGLTLJM.js +18 -0
  228. package/dist/matrix.sorterUi.unit.spec-M3RXU6B2.js +335 -0
  229. package/dist/mavb-EC5VS3RS.js +723 -0
  230. package/dist/mds.fimo-7SXXTBUH.js +509 -0
  231. package/dist/mds.samplescatterplot-CALFSFR6.js +1541 -0
  232. package/dist/mds.survivalplot-NRA67V4T.js +474 -0
  233. package/dist/mutationSignature-43SECPTY.js +72 -0
  234. package/dist/numericDictTermCluster-2ER4FUKO.js +72 -0
  235. package/dist/oncomatrix-FOCP66RC.js +287 -0
  236. package/dist/oncomatrix.spec-XB232WT7.js +439 -0
  237. package/dist/plot.2dvaf-GSQS5J6Y.js +368 -0
  238. package/dist/plot.app-RHPEFX47.js +35 -0
  239. package/dist/plot.barplot-2Q5YF3MU.js +93 -0
  240. package/dist/plot.boxplot-LTYLWTF4.js +143 -0
  241. package/dist/plot.brainImaging-EFRI4QV7.js +51 -0
  242. package/dist/plot.disco-HHYCMRCZ.js +100 -0
  243. package/dist/plot.dzi-BCTPDUDK.js +33 -0
  244. package/dist/plot.ssgq-ES2ZP7MO.js +130 -0
  245. package/dist/plot.vaf2cov-W72Y2IHA.js +250 -0
  246. package/dist/plot.wsi-TPZXI45Q.js +36 -0
  247. package/dist/polar-MT3K2WDL.js +179 -0
  248. package/dist/profile.spec-DOQYKG6P.js +71 -0
  249. package/dist/profileBarchart-A4UWV2YA.js +260 -0
  250. package/dist/profileForms-VONTWVOF.js +365 -0
  251. package/dist/profilePlot-OK5VKWO4.js +50 -0
  252. package/dist/profileRadar-VLEZJCD7.js +256 -0
  253. package/dist/profileRadarFacility-QPSSUTB6.js +256 -0
  254. package/dist/qualitative-RJKAWHQR.js +34 -0
  255. package/dist/regression-GV73BYCQ.js +57 -0
  256. package/dist/regression.inputs-PVIJHCRE.js +49 -0
  257. package/dist/regression.inputs.term-V5I3EP6M.js +49 -0
  258. package/dist/regression.inputs.values.table-Y37EJUQB.js +46 -0
  259. package/dist/regression.integration.spec-JD32ODD2.js +777 -0
  260. package/dist/regression.results-AHAYXYGI.js +31 -0
  261. package/dist/regression.spec-FGYEES5G.js +699 -0
  262. package/dist/report-JYIEDDW5.js +220 -0
  263. package/dist/runChart-CVAWIBA3.js +54 -0
  264. package/dist/runchart.integration.spec-5Z4IHQU5.js +362 -0
  265. package/dist/sampleScatter.spec-QNFWS2Y7.js +193 -0
  266. package/dist/sampleView-GKYHS3WO.js +42 -0
  267. package/dist/samplelst-CHBS5BGY.js +102 -0
  268. package/dist/samplematrix-IK4YDAID.js +2189 -0
  269. package/dist/scatter-NDA5YSCP.js +55 -0
  270. package/dist/scatter.integration.spec-GV3EIFGT.js +1026 -0
  271. package/dist/selectGenomeWithTklst-X7RAGKRC.js +125 -0
  272. package/dist/singleCellPlot-7F735HTR.js +50 -0
  273. package/dist/singlecell-EO3WYGS7.js +1563 -0
  274. package/dist/singlecell-YMYLKTSC.js +80 -0
  275. package/dist/snp-6KN4AWBB.js +73 -0
  276. package/dist/snplocus-CLM4WHVH.js +199 -0
  277. package/dist/spliceevent.a53ss.diagram-PKFVC2N4.js +142 -0
  278. package/dist/spliceevent.exonskip.diagram-XV2Z7AYB.js +268 -0
  279. package/dist/spliceevent.noeventdiagram-L5L2BJL5.js +451 -0
  280. package/dist/ssGSEA-W6N4CXMD.js +53 -0
  281. package/dist/stattable-324FS2HA.js +89 -0
  282. package/dist/summarizeCnvGeneexp-57LZ5B2Q.js +136 -0
  283. package/dist/summarizeGeneexpSurvival-UQX3VZUK.js +90 -0
  284. package/dist/summarizeMutationDiagnosis-5SWO42E4.js +32 -0
  285. package/dist/summarizeMutationSurvival-EOU5QOB6.js +92 -0
  286. package/dist/summary-FRIKVPYZ.js +55 -0
  287. package/dist/summary.integration.spec-WSI3JNTO.js +405 -0
  288. package/dist/summaryInput-3L7CM52X.js +170 -0
  289. package/dist/sunburst-HA7UGSXX.js +275 -0
  290. package/dist/survival-2HZ446Y3.js +41 -0
  291. package/dist/survival-LJI5JEZZ.js +49 -0
  292. package/dist/survival.integration.spec-7XVO2WNF.js +601 -0
  293. package/dist/svgraph-TRPAXTNP.js +1378 -0
  294. package/dist/svmr-TJOCKTE2.js +3833 -0
  295. package/dist/table-35RHJK4M.js +193 -0
  296. package/dist/termCollection-JS6N5TAP.js +80 -0
  297. package/dist/termInfo-5USFZGDB.js +9 -0
  298. package/dist/tk-4ARNGTEQ.js +37 -0
  299. package/dist/tp.ui-QZEMGVEH.js +1450 -0
  300. package/dist/tvs.dtcnv.continuous-4K7B7FXF.js +65 -0
  301. package/dist/tvs.numeric-FCC2EY62.js +355 -0
  302. package/dist/tvs.samplelst-IUSDLB6P.js +95 -0
  303. package/dist/violin-I5JO56GZ.js +47 -0
  304. package/dist/violin.integration.spec-5WVLT3DW.js +1425 -0
  305. package/dist/violin.interactivity-EFFBMTN2.js +39 -0
  306. package/dist/violin.renderer-Z3AIV5RH.js +31 -0
  307. package/dist/vocabulary-4PHACFSG.js +32 -0
  308. package/package.json +3 -3
  309. package/dist/2dmaf-E4NOGWWO.js +0 -1364
  310. package/dist/AIProjectAdmin-3QDXMCOK.js +0 -780
  311. package/dist/AppHeader-IFZ57DJE.js +0 -813
  312. package/dist/BoxPlot-GXDTPRA5.js +0 -44
  313. package/dist/CorrelationVolcano-S4GUYIPT.js +0 -616
  314. package/dist/DifferentialAnalysis-YLKYWPUT.js +0 -237
  315. package/dist/Disco-OQMP3HRQ.js +0 -3089
  316. package/dist/Disco.UI-XB3XQP33.js +0 -238
  317. package/dist/DziViewer-UIRNTFNS.js +0 -16328
  318. package/dist/GB-KDPJTOLP.js +0 -1099
  319. package/dist/HicApp-XJERMLKH.js +0 -2218
  320. package/dist/NumBinaryEditor-5MWWWNLW.js +0 -259
  321. package/dist/NumBinaryEditor.unit.spec-ROGT5FOH.js +0 -277
  322. package/dist/NumContEditor-RRCB4CKG.js +0 -98
  323. package/dist/NumContEditor.unit.spec-AJTKOF7W.js +0 -160
  324. package/dist/NumCustomBinEditor-3GJITZ7V.js +0 -29
  325. package/dist/NumCustomBinEditor.unit.spec-DNBDZSHT.js +0 -275
  326. package/dist/NumDiscreteEditor-TARWA6CZ.js +0 -145
  327. package/dist/NumDiscreteEditor.unit.spec-TCSLTQ25.js +0 -193
  328. package/dist/NumRegularBinEditor-QF5ALVV4.js +0 -29
  329. package/dist/NumRegularBinEditor.unit.spec-GFNDBWNM.js +0 -220
  330. package/dist/NumSplineEditor-MOEUXR34.js +0 -181
  331. package/dist/NumSplineEditor.unit.spec-XPJOOXS4.js +0 -190
  332. package/dist/NumericDensity-JDE263EQ.js +0 -29
  333. package/dist/NumericDensity.unit.spec-RX6UGV56.js +0 -212
  334. package/dist/NumericHandler-XM7LUYHN.js +0 -30
  335. package/dist/NumericHandler.unit.spec-5EYRMII7.js +0 -210
  336. package/dist/SC-Z4KBNK7P.js +0 -714
  337. package/dist/Volcano-WYJLKM4K.js +0 -1018
  338. package/dist/WSIViewer-3RMG3VOA.js +0 -46959
  339. package/dist/WsiSamplesPlot-PAWNKI7R.js +0 -153
  340. package/dist/adSandbox-7H5H46SE.js +0 -29
  341. package/dist/alphaGenome-PODWDV5T.js +0 -170
  342. package/dist/app-JPURIGQW.js +0 -28
  343. package/dist/app-YL7S55T5.js +0 -54
  344. package/dist/bam-XEO47VYA.js +0 -842
  345. package/dist/barchart-B5M6SSJH.js +0 -48
  346. package/dist/barchart.data-6A6WVV4Y.js +0 -30
  347. package/dist/barchart.events-2GNB5KWY.js +0 -44
  348. package/dist/barchart.integration.spec-JEOTKIWC.js +0 -1600
  349. package/dist/bars.renderer-NLUBMQEO.js +0 -12
  350. package/dist/bars.settings-UQZ63KU4.js +0 -8
  351. package/dist/block-B7WMYLPO.js +0 -6291
  352. package/dist/block.init-KCIXEYQC.js +0 -29
  353. package/dist/block.mds.expressionrank-RYZXAH5Y.js +0 -350
  354. package/dist/block.mds.geneboxplot-LNWUEI6N.js +0 -819
  355. package/dist/block.mds.junction-CVIY7QMD.js +0 -1536
  356. package/dist/block.mds.svcnv-EUGWHSCA.js +0 -6792
  357. package/dist/block.svg-QBLNIGUF.js +0 -155
  358. package/dist/block.tk.aicheck-U6NG22FX.js +0 -274
  359. package/dist/block.tk.ase-U3TRZAOH.js +0 -356
  360. package/dist/block.tk.bam-6Y6YFVR2.js +0 -1897
  361. package/dist/block.tk.bedgraphdot-O3VCFX6K.js +0 -375
  362. package/dist/block.tk.bigwig.ui-DNBJAF72.js +0 -202
  363. package/dist/block.tk.hicstraw-2EIFJX7E.js +0 -814
  364. package/dist/block.tk.junction-UXSO5EJP.js +0 -2355
  365. package/dist/block.tk.junction.textmatrixui-HQ6ZKCHM.js +0 -190
  366. package/dist/block.tk.ld-NEB4F3UG.js +0 -90
  367. package/dist/block.tk.menu-BN4JPJSD.js +0 -1020
  368. package/dist/block.tk.pgv-A4QFVSPF.js +0 -935
  369. package/dist/brainImaging-ESQGNGZH.js +0 -417
  370. package/dist/chat-AY7RCQYY.js +0 -145
  371. package/dist/chat-AY7RCQYY.js.map +0 -7
  372. package/dist/chunk-236ZRGXA.js +0 -297
  373. package/dist/chunk-2DZWOGEH.js +0 -272
  374. package/dist/chunk-2HQJMZNY.js +0 -14
  375. package/dist/chunk-2MRZFUHZ.js +0 -165
  376. package/dist/chunk-2ZEORJCF.js +0 -215
  377. package/dist/chunk-3WA7SJTR.js +0 -82
  378. package/dist/chunk-47HG7LGD.js +0 -133
  379. package/dist/chunk-47X254B7.js +0 -91
  380. package/dist/chunk-4TPDYPGD.js +0 -1098
  381. package/dist/chunk-4TPDYPGD.js.map +0 -7
  382. package/dist/chunk-4WA2H5DE.js +0 -75
  383. package/dist/chunk-4WA2H5DE.js.map +0 -7
  384. package/dist/chunk-4XDKCFFT.js +0 -613
  385. package/dist/chunk-5CJJLBUZ.js +0 -229
  386. package/dist/chunk-5TDKRZN5.js +0 -1931
  387. package/dist/chunk-5TDKRZN5.js.map +0 -7
  388. package/dist/chunk-6MSJ3TLQ.js +0 -1151
  389. package/dist/chunk-7JAFXNAL.js +0 -256
  390. package/dist/chunk-7JAFXNAL.js.map +0 -7
  391. package/dist/chunk-7LKSKJCV.js +0 -480
  392. package/dist/chunk-7P67W6NF.js +0 -190
  393. package/dist/chunk-7RIC35AF.js +0 -129
  394. package/dist/chunk-A76B53VT.js +0 -158
  395. package/dist/chunk-AZ276Z7T.js +0 -2327
  396. package/dist/chunk-B662XJMJ.js +0 -748
  397. package/dist/chunk-BK7GIOC5.js +0 -4924
  398. package/dist/chunk-BK7GIOC5.js.map +0 -7
  399. package/dist/chunk-BP2F2GRB.js +0 -2676
  400. package/dist/chunk-BRO4KZSZ.js +0 -417
  401. package/dist/chunk-BRO4KZSZ.js.map +0 -7
  402. package/dist/chunk-C5YNONHQ.js +0 -144
  403. package/dist/chunk-CT3LPTWW.js +0 -1197
  404. package/dist/chunk-CZTC4MTE.js +0 -161
  405. package/dist/chunk-DA5VGV5L.js +0 -280
  406. package/dist/chunk-DA5VGV5L.js.map +0 -7
  407. package/dist/chunk-DPU66MZ7.js +0 -381
  408. package/dist/chunk-E6NE5IWR.js +0 -102
  409. package/dist/chunk-ECKWM4HB.js +0 -1536
  410. package/dist/chunk-EEX5VPJG.js +0 -467
  411. package/dist/chunk-EIMEUZP2.js +0 -323
  412. package/dist/chunk-ETFPL4UP.js +0 -4172
  413. package/dist/chunk-F3FTQWTA.js +0 -303
  414. package/dist/chunk-F4APZ34G.js +0 -55
  415. package/dist/chunk-FOXJTDTH.js +0 -166
  416. package/dist/chunk-FYTZCTJC.js +0 -1157
  417. package/dist/chunk-FYTZCTJC.js.map +0 -7
  418. package/dist/chunk-GBS5I24E.js +0 -1706
  419. package/dist/chunk-GBS5I24E.js.map +0 -7
  420. package/dist/chunk-GBWRKJAH.js +0 -413
  421. package/dist/chunk-GG67VPVD.js +0 -238
  422. package/dist/chunk-GZ2B634M.js +0 -123
  423. package/dist/chunk-HEFXMCSF.js +0 -6364
  424. package/dist/chunk-I26R4NJJ.js +0 -228
  425. package/dist/chunk-I2GCD26Y.js +0 -55
  426. package/dist/chunk-I2GCD26Y.js.map +0 -7
  427. package/dist/chunk-ICNJQHQZ.js +0 -117
  428. package/dist/chunk-IPAGDFO4.js +0 -80
  429. package/dist/chunk-J2E4FALN.js +0 -1415
  430. package/dist/chunk-JXHU2FIA.js +0 -2789
  431. package/dist/chunk-K7LZ77GD.js +0 -468
  432. package/dist/chunk-K7LZ77GD.js.map +0 -7
  433. package/dist/chunk-KACWSU3U.js +0 -487
  434. package/dist/chunk-KACWSU3U.js.map +0 -7
  435. package/dist/chunk-KGSCQRQ5.js +0 -203
  436. package/dist/chunk-KGYPMYQD.js +0 -1143
  437. package/dist/chunk-L3PMRBTA.js +0 -422
  438. package/dist/chunk-M7QVMSRW.js +0 -293
  439. package/dist/chunk-MG6GRQKO.js +0 -459
  440. package/dist/chunk-N5VBIEH5.js +0 -1412
  441. package/dist/chunk-NRYOB7WU.js +0 -252
  442. package/dist/chunk-NXOWHUR4.js +0 -311
  443. package/dist/chunk-NXOWHUR4.js.map +0 -7
  444. package/dist/chunk-OFQV6PRB.js +0 -1275
  445. package/dist/chunk-OMO754MK.js +0 -177
  446. package/dist/chunk-OQSP66C6.js +0 -226
  447. package/dist/chunk-OS46MR72.js +0 -368
  448. package/dist/chunk-PBJFLQGL.js +0 -142
  449. package/dist/chunk-PMZS3SHH.js +0 -2877
  450. package/dist/chunk-PPJSDC3Z.js +0 -157
  451. package/dist/chunk-QIS45Z4Y.js +0 -2784
  452. package/dist/chunk-RCVZ4L7K.js +0 -402
  453. package/dist/chunk-ROWCKPNW.js +0 -1088
  454. package/dist/chunk-RQUXELHE.js +0 -276
  455. package/dist/chunk-RYRCMHYR.js +0 -196
  456. package/dist/chunk-S7EKSDVS.js +0 -258
  457. package/dist/chunk-SN5QKRXO.js +0 -85
  458. package/dist/chunk-TZRD3FPN.js +0 -634
  459. package/dist/chunk-U5QRRS7K.js +0 -619
  460. package/dist/chunk-UOMRXQNW.js +0 -401
  461. package/dist/chunk-UT6W4ZZL.js +0 -15048
  462. package/dist/chunk-UT6W4ZZL.js.map +0 -7
  463. package/dist/chunk-UZV3QI5M.js +0 -518
  464. package/dist/chunk-VALBVQXS.js +0 -217
  465. package/dist/chunk-VDR5JXI2.js +0 -444
  466. package/dist/chunk-VDR5JXI2.js.map +0 -7
  467. package/dist/chunk-W4D2EYE4.js +0 -95
  468. package/dist/chunk-XATIKUGU.js +0 -142
  469. package/dist/chunk-ZHWC5SJP.js +0 -797
  470. package/dist/chunk-ZHWC5SJP.js.map +0 -7
  471. package/dist/chunk-ZL4CNBYY.js +0 -149
  472. package/dist/chunk-ZQ7L66GP.js +0 -31
  473. package/dist/condition-24HPVH23.js +0 -323
  474. package/dist/controls-5CSAKANR.js +0 -35
  475. package/dist/controls.btns-QLLBCT65.js +0 -10
  476. package/dist/controls.config-H4FMU5LI.js +0 -31
  477. package/dist/correlation-RB77VSXB.js +0 -102
  478. package/dist/cuminc-YZSLH5IO.js +0 -1143
  479. package/dist/cuminc.integration.spec-MZPT3Y5A.js +0 -669
  480. package/dist/customdata.inputui-CBTZFODT.js +0 -278
  481. package/dist/dataDownload-ZTGRVI4Q.js +0 -320
  482. package/dist/dataDownload.integration.spec-Q6GUTUYD.js +0 -184
  483. package/dist/databrowser.ui-V7E6CLUZ.js +0 -426
  484. package/dist/dictionary-RPC5OZMM.js +0 -90
  485. package/dist/e2pca-WDQHMAUM.js +0 -341
  486. package/dist/ep-NAM34BBI.js +0 -1247
  487. package/dist/expclust.gdc.spec-QB4GVDJA.js +0 -298
  488. package/dist/facet-DOXBBIG6.js +0 -437
  489. package/dist/frequencyChart-GLOIGP3T.js +0 -371
  490. package/dist/frequencyChart.integration.spec-B7NBBLH2.js +0 -301
  491. package/dist/geneExpClustering-B4S6GFNT.js +0 -242
  492. package/dist/geneExpression-DMU4AQP6.js +0 -310
  493. package/dist/geneExpression-MVVXRNEY.js +0 -54
  494. package/dist/geneORA-XDAITCQF.js +0 -272
  495. package/dist/geneVariant-N6IGEIRR.js +0 -29
  496. package/dist/geneVariant-QYLA2V6J.js +0 -32
  497. package/dist/genefusion.ui-FRBMNK7V.js +0 -242
  498. package/dist/geneset-GZYNBG7Y.js +0 -186
  499. package/dist/genomeBrowser.spec-WFIVQSE7.js +0 -272
  500. package/dist/grin2-I6GJF35U.js +0 -882
  501. package/dist/grin2-I6GJF35U.js.map +0 -7
  502. package/dist/grin2-ZKNNZXON.js +0 -1547
  503. package/dist/gsea-GFGAEC4K.js +0 -43
  504. package/dist/hierCluster-MF4TI3E4.js +0 -60
  505. package/dist/hierCluster-SDJMQLOQ.js +0 -56
  506. package/dist/hierCluster.config-RMEX3VTC.js +0 -32
  507. package/dist/hierCluster.integration.spec-3H63OHMU.js +0 -389
  508. package/dist/hierCluster.interactivity-4DZBRQ6P.js +0 -45
  509. package/dist/hierCluster.renderers-UOW7BI6N.js +0 -21
  510. package/dist/imagePlot-P2UHJRSL.js +0 -134
  511. package/dist/importPlot-PPCMNVOW.js +0 -8
  512. package/dist/launch.adhoc-RJWUEVRA.js +0 -36
  513. package/dist/leftlabel.sample-OYP6MICL.js +0 -249
  514. package/dist/lollipop-BXQOWLGO.js +0 -159
  515. package/dist/maf-YJJO773K.js +0 -448
  516. package/dist/maf-YJJO773K.js.map +0 -7
  517. package/dist/maftimeline-GHKDDWYR.js +0 -584
  518. package/dist/matrix-FWDLHZYR.js +0 -60
  519. package/dist/matrix-YMJFP53F.js +0 -55
  520. package/dist/matrix.cells-JH7FPY3E.js +0 -30
  521. package/dist/matrix.config-HIHOLDCE.js +0 -33
  522. package/dist/matrix.controls-EKZ543FY.js +0 -31
  523. package/dist/matrix.data-NKAZI2BF.js +0 -35
  524. package/dist/matrix.dom-RGZ52GJ2.js +0 -11
  525. package/dist/matrix.groups-BO53ZXXV.js +0 -26
  526. package/dist/matrix.integration.spec-BXTATNAC.js +0 -2936
  527. package/dist/matrix.interactivity-UGUMKCFN.js +0 -36
  528. package/dist/matrix.layout-WBIF5QTG.js +0 -35
  529. package/dist/matrix.legend-P3GFCXXK.js +0 -22
  530. package/dist/matrix.renderers-I54IHQ3S.js +0 -29
  531. package/dist/matrix.serieses-R2T57OYI.js +0 -21
  532. package/dist/matrix.sort-3GCA2GDU.js +0 -27
  533. package/dist/matrix.sort.unit.spec-AXGPCZZD.js +0 -464
  534. package/dist/matrix.sorterUi-QWRK6OGE.js +0 -18
  535. package/dist/matrix.sorterUi.unit.spec-H7GUVWRJ.js +0 -335
  536. package/dist/mavb-4EECWXYX.js +0 -723
  537. package/dist/mds.fimo-NHZOY43X.js +0 -509
  538. package/dist/mds.samplescatterplot-7A5IZ6W7.js +0 -1541
  539. package/dist/mds.survivalplot-SQDPUFQE.js +0 -474
  540. package/dist/mutationSignature-QH7PZYKL.js +0 -72
  541. package/dist/numericDictTermCluster-X5SGSC5K.js +0 -72
  542. package/dist/oncomatrix-M4C4XPQK.js +0 -287
  543. package/dist/oncomatrix.spec-3C642O7O.js +0 -439
  544. package/dist/plot.2dvaf-TILP7J53.js +0 -368
  545. package/dist/plot.app-DE2UQP2M.js +0 -35
  546. package/dist/plot.barplot-FJHS765K.js +0 -93
  547. package/dist/plot.boxplot-YRSHGNYZ.js +0 -143
  548. package/dist/plot.brainImaging-JV4OUVJY.js +0 -51
  549. package/dist/plot.disco-DBVPBMLG.js +0 -100
  550. package/dist/plot.dzi-O2OA4EBK.js +0 -33
  551. package/dist/plot.ssgq-YFQEZQYK.js +0 -130
  552. package/dist/plot.vaf2cov-YNFP5LJ4.js +0 -250
  553. package/dist/plot.wsi-DJB7TDIS.js +0 -36
  554. package/dist/polar-K5Z5FYKV.js +0 -179
  555. package/dist/profile.spec-A6EADWEC.js +0 -71
  556. package/dist/profileBarchart-EFLPJK2P.js +0 -260
  557. package/dist/profileForms-TG35YNLD.js +0 -365
  558. package/dist/profilePlot-2EW2XVTK.js +0 -50
  559. package/dist/profileRadar-AKUYC2O5.js +0 -256
  560. package/dist/profileRadarFacility-EAT66XTX.js +0 -256
  561. package/dist/qualitative-PHQU5DXE.js +0 -34
  562. package/dist/regression-EOMJRRDO.js +0 -57
  563. package/dist/regression.inputs-LIH5X2JM.js +0 -49
  564. package/dist/regression.inputs.term-OO4RZ3QB.js +0 -49
  565. package/dist/regression.inputs.values.table-E7WCTO2L.js +0 -46
  566. package/dist/regression.integration.spec-62VEQP6X.js +0 -777
  567. package/dist/regression.results-WAHFJ6NA.js +0 -31
  568. package/dist/regression.spec-IBIOTZVX.js +0 -699
  569. package/dist/report-MKDJXHGY.js +0 -220
  570. package/dist/runChart-ETM2EETF.js +0 -54
  571. package/dist/runchart.integration.spec-QFA4XBKB.js +0 -362
  572. package/dist/sampleScatter.spec-N4N7ZGZF.js +0 -193
  573. package/dist/sampleView-JTY3RV7I.js +0 -42
  574. package/dist/samplelst-RRUMBVT6.js +0 -102
  575. package/dist/samplematrix-L37O664Y.js +0 -2189
  576. package/dist/scatter-E5QHW32W.js +0 -55
  577. package/dist/scatter.integration.spec-FNVAJSVU.js +0 -1026
  578. package/dist/selectGenomeWithTklst-J6VXCYGG.js +0 -125
  579. package/dist/singleCellPlot-S6S6CKYX.js +0 -50
  580. package/dist/singlecell-4BMIKFY4.js +0 -80
  581. package/dist/singlecell-B4TNI23F.js +0 -1563
  582. package/dist/snp-PAUQ24NZ.js +0 -73
  583. package/dist/snplocus-HVFYZTEE.js +0 -199
  584. package/dist/spliceevent.a53ss.diagram-GGGHVNBF.js +0 -142
  585. package/dist/spliceevent.exonskip.diagram-HLMFD6LJ.js +0 -268
  586. package/dist/spliceevent.noeventdiagram-CKZ3BZ7Y.js +0 -451
  587. package/dist/ssGSEA-UGT4GH55.js +0 -53
  588. package/dist/stattable-6JWMALGB.js +0 -89
  589. package/dist/summarizeCnvGeneexp-BJOQY62E.js +0 -136
  590. package/dist/summarizeGeneexpSurvival-4HDHL7PE.js +0 -90
  591. package/dist/summarizeMutationDiagnosis-TDWO5CKU.js +0 -32
  592. package/dist/summarizeMutationSurvival-CJJFABOX.js +0 -92
  593. package/dist/summary-WOAXXIHG.js +0 -55
  594. package/dist/summary.integration.spec-GM73ERMN.js +0 -405
  595. package/dist/summaryInput-FD4SONTY.js +0 -170
  596. package/dist/sunburst-3LCJTBRN.js +0 -275
  597. package/dist/survival-A3A7IVXT.js +0 -41
  598. package/dist/survival-XF72VMM6.js +0 -49
  599. package/dist/survival.integration.spec-AU7MCAQV.js +0 -601
  600. package/dist/svgraph-BEMS4JDJ.js +0 -1378
  601. package/dist/svmr-CDEMTZPK.js +0 -3833
  602. package/dist/table-WYF6QCGB.js +0 -193
  603. package/dist/termCollection-BVQMNVY7.js +0 -80
  604. package/dist/termInfo-JXLIVCSO.js +0 -9
  605. package/dist/tk-TGIIJYBO.js +0 -37
  606. package/dist/tp.ui-USYF67P7.js +0 -1450
  607. package/dist/tvs.dtcnv.continuous-7SCTSFK3.js +0 -65
  608. package/dist/tvs.numeric-OLVW6US3.js +0 -355
  609. package/dist/tvs.samplelst-BHZHCX5V.js +0 -95
  610. package/dist/violin-OEOWVIZF.js +0 -47
  611. package/dist/violin.integration.spec-AW2U3RHO.js +0 -1425
  612. package/dist/violin.interactivity-3O2UDNPQ.js +0 -39
  613. package/dist/violin.renderer-W26FA6M7.js +0 -31
  614. package/dist/vocabulary-BIQYDKVY.js +0 -32
  615. /package/dist/{2dmaf-E4NOGWWO.js.map → 2dmaf-VLW5XJ4O.js.map} +0 -0
  616. /package/dist/{AIProjectAdmin-3QDXMCOK.js.map → AIProjectAdmin-X3TBCRPR.js.map} +0 -0
  617. /package/dist/{AppHeader-IFZ57DJE.js.map → AppHeader-YA7FCKVM.js.map} +0 -0
  618. /package/dist/{BoxPlot-GXDTPRA5.js.map → BoxPlot-PAZYARCX.js.map} +0 -0
  619. /package/dist/{CorrelationVolcano-S4GUYIPT.js.map → CorrelationVolcano-S35GWKV5.js.map} +0 -0
  620. /package/dist/{DifferentialAnalysis-YLKYWPUT.js.map → DifferentialAnalysis-DTDFAUXT.js.map} +0 -0
  621. /package/dist/{Disco-OQMP3HRQ.js.map → Disco-OE6YY3MH.js.map} +0 -0
  622. /package/dist/{Disco.UI-XB3XQP33.js.map → Disco.UI-2CCWETSM.js.map} +0 -0
  623. /package/dist/{DziViewer-UIRNTFNS.js.map → DziViewer-OHPZOH72.js.map} +0 -0
  624. /package/dist/{GB-KDPJTOLP.js.map → GB-LIHKHJ32.js.map} +0 -0
  625. /package/dist/{HicApp-XJERMLKH.js.map → HicApp-6AYCPCW6.js.map} +0 -0
  626. /package/dist/{NumBinaryEditor-5MWWWNLW.js.map → NumBinaryEditor-ONJB4DKM.js.map} +0 -0
  627. /package/dist/{NumBinaryEditor.unit.spec-ROGT5FOH.js.map → NumBinaryEditor.unit.spec-Y6DGBAIB.js.map} +0 -0
  628. /package/dist/{NumContEditor-RRCB4CKG.js.map → NumContEditor-6WGAI3PH.js.map} +0 -0
  629. /package/dist/{NumContEditor.unit.spec-AJTKOF7W.js.map → NumContEditor.unit.spec-6LT5MALH.js.map} +0 -0
  630. /package/dist/{NumCustomBinEditor-3GJITZ7V.js.map → NumCustomBinEditor-K4OD7SWD.js.map} +0 -0
  631. /package/dist/{NumCustomBinEditor.unit.spec-DNBDZSHT.js.map → NumCustomBinEditor.unit.spec-O6QYV6Q4.js.map} +0 -0
  632. /package/dist/{NumDiscreteEditor-TARWA6CZ.js.map → NumDiscreteEditor-AFLINO62.js.map} +0 -0
  633. /package/dist/{NumDiscreteEditor.unit.spec-TCSLTQ25.js.map → NumDiscreteEditor.unit.spec-3VWWSS24.js.map} +0 -0
  634. /package/dist/{NumRegularBinEditor-QF5ALVV4.js.map → NumRegularBinEditor-IRKC5SVF.js.map} +0 -0
  635. /package/dist/{NumRegularBinEditor.unit.spec-GFNDBWNM.js.map → NumRegularBinEditor.unit.spec-2ZTI7HR2.js.map} +0 -0
  636. /package/dist/{NumSplineEditor-MOEUXR34.js.map → NumSplineEditor-DBW6XE4N.js.map} +0 -0
  637. /package/dist/{NumSplineEditor.unit.spec-XPJOOXS4.js.map → NumSplineEditor.unit.spec-645ZQXXL.js.map} +0 -0
  638. /package/dist/{NumericDensity-JDE263EQ.js.map → NumericDensity-27SM2P45.js.map} +0 -0
  639. /package/dist/{NumericDensity.unit.spec-RX6UGV56.js.map → NumericDensity.unit.spec-DM7PPSMV.js.map} +0 -0
  640. /package/dist/{NumericHandler-XM7LUYHN.js.map → NumericHandler-KFQ2OSUR.js.map} +0 -0
  641. /package/dist/{NumericHandler.unit.spec-5EYRMII7.js.map → NumericHandler.unit.spec-RNXGCYH7.js.map} +0 -0
  642. /package/dist/{SC-Z4KBNK7P.js.map → SC-SUUATZYR.js.map} +0 -0
  643. /package/dist/{Volcano-WYJLKM4K.js.map → Volcano-DEKTKEEZ.js.map} +0 -0
  644. /package/dist/{WSIViewer-3RMG3VOA.js.map → WSIViewer-SWX4OXHY.js.map} +0 -0
  645. /package/dist/{WsiSamplesPlot-PAWNKI7R.js.map → WsiSamplesPlot-OCVLBBBD.js.map} +0 -0
  646. /package/dist/{adSandbox-7H5H46SE.js.map → adSandbox-VGHHJWLL.js.map} +0 -0
  647. /package/dist/{alphaGenome-PODWDV5T.js.map → alphaGenome-YOJWFJCS.js.map} +0 -0
  648. /package/dist/{app-JPURIGQW.js.map → app-3TXV35H5.js.map} +0 -0
  649. /package/dist/{app-YL7S55T5.js.map → app-NUTP544R.js.map} +0 -0
  650. /package/dist/{bam-XEO47VYA.js.map → bam-LXDFDUBH.js.map} +0 -0
  651. /package/dist/{barchart-B5M6SSJH.js.map → barchart-P4BTYT5K.js.map} +0 -0
  652. /package/dist/{barchart.data-6A6WVV4Y.js.map → barchart.data-6WIS5D4I.js.map} +0 -0
  653. /package/dist/{barchart.events-2GNB5KWY.js.map → barchart.events-V4ANDWUH.js.map} +0 -0
  654. /package/dist/{barchart.integration.spec-JEOTKIWC.js.map → barchart.integration.spec-QU3Y3YHM.js.map} +0 -0
  655. /package/dist/{bars.renderer-NLUBMQEO.js.map → bars.renderer-4N4QOUNI.js.map} +0 -0
  656. /package/dist/{bars.settings-UQZ63KU4.js.map → bars.settings-SDU7PZOS.js.map} +0 -0
  657. /package/dist/{block-B7WMYLPO.js.map → block-OGJAZG3E.js.map} +0 -0
  658. /package/dist/{block.init-KCIXEYQC.js.map → block.init-SNZKGO2G.js.map} +0 -0
  659. /package/dist/{block.mds.expressionrank-RYZXAH5Y.js.map → block.mds.expressionrank-WYV55X5Y.js.map} +0 -0
  660. /package/dist/{block.mds.geneboxplot-LNWUEI6N.js.map → block.mds.geneboxplot-2LVYSSSU.js.map} +0 -0
  661. /package/dist/{block.mds.junction-CVIY7QMD.js.map → block.mds.junction-YY3P64U5.js.map} +0 -0
  662. /package/dist/{block.mds.svcnv-EUGWHSCA.js.map → block.mds.svcnv-JFNOLZX3.js.map} +0 -0
  663. /package/dist/{block.svg-QBLNIGUF.js.map → block.svg-JBR6OYAD.js.map} +0 -0
  664. /package/dist/{block.tk.aicheck-U6NG22FX.js.map → block.tk.aicheck-2XDMLOND.js.map} +0 -0
  665. /package/dist/{block.tk.ase-U3TRZAOH.js.map → block.tk.ase-TC3NY65S.js.map} +0 -0
  666. /package/dist/{block.tk.bam-6Y6YFVR2.js.map → block.tk.bam-YA32442V.js.map} +0 -0
  667. /package/dist/{block.tk.bedgraphdot-O3VCFX6K.js.map → block.tk.bedgraphdot-TRNM4O4F.js.map} +0 -0
  668. /package/dist/{block.tk.bigwig.ui-DNBJAF72.js.map → block.tk.bigwig.ui-6JJG42M3.js.map} +0 -0
  669. /package/dist/{block.tk.hicstraw-2EIFJX7E.js.map → block.tk.hicstraw-HEQXBJZN.js.map} +0 -0
  670. /package/dist/{block.tk.junction-UXSO5EJP.js.map → block.tk.junction-7LWL3N6V.js.map} +0 -0
  671. /package/dist/{block.tk.junction.textmatrixui-HQ6ZKCHM.js.map → block.tk.junction.textmatrixui-6CTLQ2M7.js.map} +0 -0
  672. /package/dist/{block.tk.ld-NEB4F3UG.js.map → block.tk.ld-SG4ZJ5VB.js.map} +0 -0
  673. /package/dist/{block.tk.menu-BN4JPJSD.js.map → block.tk.menu-FNKM5H5D.js.map} +0 -0
  674. /package/dist/{block.tk.pgv-A4QFVSPF.js.map → block.tk.pgv-KNLGEASZ.js.map} +0 -0
  675. /package/dist/{brainImaging-ESQGNGZH.js.map → brainImaging-RO5P7ZR6.js.map} +0 -0
  676. /package/dist/{chunk-NRYOB7WU.js.map → chunk-2HJ7OD7H.js.map} +0 -0
  677. /package/dist/{chunk-PMZS3SHH.js.map → chunk-2MN5JLZB.js.map} +0 -0
  678. /package/dist/{chunk-7LKSKJCV.js.map → chunk-353ULT52.js.map} +0 -0
  679. /package/dist/{chunk-IPAGDFO4.js.map → chunk-3JFEWVHR.js.map} +0 -0
  680. /package/dist/{chunk-OQSP66C6.js.map → chunk-4PHD5H4A.js.map} +0 -0
  681. /package/dist/{chunk-GBWRKJAH.js.map → chunk-56IFQMJK.js.map} +0 -0
  682. /package/dist/{chunk-RQUXELHE.js.map → chunk-5HXU7P5T.js.map} +0 -0
  683. /package/dist/{chunk-M7QVMSRW.js.map → chunk-5KUQSXQC.js.map} +0 -0
  684. /package/dist/{chunk-C5YNONHQ.js.map → chunk-6ISTNHM6.js.map} +0 -0
  685. /package/dist/{chunk-ECKWM4HB.js.map → chunk-6VQ4C735.js.map} +0 -0
  686. /package/dist/{chunk-ROWCKPNW.js.map → chunk-7M6V7OGP.js.map} +0 -0
  687. /package/dist/{chunk-7P67W6NF.js.map → chunk-B5YJ4S2E.js.map} +0 -0
  688. /package/dist/{chunk-UZV3QI5M.js.map → chunk-B65X5UQH.js.map} +0 -0
  689. /package/dist/{chunk-SN5QKRXO.js.map → chunk-BTYCW3D5.js.map} +0 -0
  690. /package/dist/{chunk-E6NE5IWR.js.map → chunk-BW2MEKH4.js.map} +0 -0
  691. /package/dist/{chunk-PPJSDC3Z.js.map → chunk-C4NAQESE.js.map} +0 -0
  692. /package/dist/{chunk-2DZWOGEH.js.map → chunk-CDVICC3E.js.map} +0 -0
  693. /package/dist/{chunk-GG67VPVD.js.map → chunk-D53HBTYQ.js.map} +0 -0
  694. /package/dist/{chunk-236ZRGXA.js.map → chunk-D7HC37OF.js.map} +0 -0
  695. /package/dist/{chunk-2ZEORJCF.js.map → chunk-DACGCI3Q.js.map} +0 -0
  696. /package/dist/{chunk-RYRCMHYR.js.map → chunk-DKI7YOTJ.js.map} +0 -0
  697. /package/dist/{chunk-2MRZFUHZ.js.map → chunk-DNU4IPD2.js.map} +0 -0
  698. /package/dist/{chunk-QIS45Z4Y.js.map → chunk-DOLIDO2R.js.map} +0 -0
  699. /package/dist/{chunk-7RIC35AF.js.map → chunk-DRDIOSDW.js.map} +0 -0
  700. /package/dist/{chunk-A76B53VT.js.map → chunk-DRFGAPYN.js.map} +0 -0
  701. /package/dist/{chunk-3WA7SJTR.js.map → chunk-ECFK2NV5.js.map} +0 -0
  702. /package/dist/{chunk-J2E4FALN.js.map → chunk-ETBTUFRA.js.map} +0 -0
  703. /package/dist/{chunk-OFQV6PRB.js.map → chunk-FMZEW7AB.js.map} +0 -0
  704. /package/dist/{chunk-HEFXMCSF.js.map → chunk-GCQYBMGL.js.map} +0 -0
  705. /package/dist/{chunk-W4D2EYE4.js.map → chunk-H2QGRBCK.js.map} +0 -0
  706. /package/dist/{chunk-GZ2B634M.js.map → chunk-HPEMEDXB.js.map} +0 -0
  707. /package/dist/{chunk-I26R4NJJ.js.map → chunk-HXT3XNAX.js.map} +0 -0
  708. /package/dist/{chunk-XATIKUGU.js.map → chunk-IZ77ZFBY.js.map} +0 -0
  709. /package/dist/{chunk-DPU66MZ7.js.map → chunk-JMO7ENSD.js.map} +0 -0
  710. /package/dist/{chunk-VALBVQXS.js.map → chunk-KHOR7BCS.js.map} +0 -0
  711. /package/dist/{chunk-OMO754MK.js.map → chunk-LD45BCVM.js.map} +0 -0
  712. /package/dist/{chunk-AZ276Z7T.js.map → chunk-MJM2U67B.js.map} +0 -0
  713. /package/dist/{chunk-TZRD3FPN.js.map → chunk-MRDHGWNV.js.map} +0 -0
  714. /package/dist/{chunk-B662XJMJ.js.map → chunk-MXSMHJIP.js.map} +0 -0
  715. /package/dist/{chunk-RCVZ4L7K.js.map → chunk-N4D5G5IT.js.map} +0 -0
  716. /package/dist/{chunk-2HQJMZNY.js.map → chunk-NCL2K6UD.js.map} +0 -0
  717. /package/dist/{chunk-F3FTQWTA.js.map → chunk-O552UNW2.js.map} +0 -0
  718. /package/dist/{chunk-UOMRXQNW.js.map → chunk-OARG7PAV.js.map} +0 -0
  719. /package/dist/{chunk-47X254B7.js.map → chunk-OLUMAQOQ.js.map} +0 -0
  720. /package/dist/{chunk-KGSCQRQ5.js.map → chunk-OSNUFZAX.js.map} +0 -0
  721. /package/dist/{chunk-FOXJTDTH.js.map → chunk-PN6GLQWD.js.map} +0 -0
  722. /package/dist/{chunk-5CJJLBUZ.js.map → chunk-PZRXLO7V.js.map} +0 -0
  723. /package/dist/{chunk-6MSJ3TLQ.js.map → chunk-PZY4L6NK.js.map} +0 -0
  724. /package/dist/{chunk-CZTC4MTE.js.map → chunk-Q6FKQ63P.js.map} +0 -0
  725. /package/dist/{chunk-EIMEUZP2.js.map → chunk-QCTJ6JA2.js.map} +0 -0
  726. /package/dist/{chunk-S7EKSDVS.js.map → chunk-RKV3CP4C.js.map} +0 -0
  727. /package/dist/{chunk-JXHU2FIA.js.map → chunk-RYT4A7AQ.js.map} +0 -0
  728. /package/dist/{chunk-ETFPL4UP.js.map → chunk-SBEA552U.js.map} +0 -0
  729. /package/dist/{chunk-PBJFLQGL.js.map → chunk-SEL5UNRC.js.map} +0 -0
  730. /package/dist/{chunk-47HG7LGD.js.map → chunk-SO4QKH47.js.map} +0 -0
  731. /package/dist/{chunk-BP2F2GRB.js.map → chunk-TMEYYK4R.js.map} +0 -0
  732. /package/dist/{chunk-ZL4CNBYY.js.map → chunk-UAKYIZJI.js.map} +0 -0
  733. /package/dist/{chunk-KGYPMYQD.js.map → chunk-V4F264MW.js.map} +0 -0
  734. /package/dist/{chunk-EEX5VPJG.js.map → chunk-W4IQ4XYS.js.map} +0 -0
  735. /package/dist/{chunk-ZQ7L66GP.js.map → chunk-WTPVXDJT.js.map} +0 -0
  736. /package/dist/{chunk-MG6GRQKO.js.map → chunk-WVZV43PF.js.map} +0 -0
  737. /package/dist/{chunk-4XDKCFFT.js.map → chunk-X62MQS7A.js.map} +0 -0
  738. /package/dist/{chunk-L3PMRBTA.js.map → chunk-XAIW4R76.js.map} +0 -0
  739. /package/dist/{chunk-U5QRRS7K.js.map → chunk-XQGO3DQ2.js.map} +0 -0
  740. /package/dist/{chunk-OS46MR72.js.map → chunk-YBDLY45S.js.map} +0 -0
  741. /package/dist/{chunk-F4APZ34G.js.map → chunk-YFZH3WDM.js.map} +0 -0
  742. /package/dist/{chunk-ICNJQHQZ.js.map → chunk-ZFFHOEBE.js.map} +0 -0
  743. /package/dist/{chunk-N5VBIEH5.js.map → chunk-ZLBDDGSP.js.map} +0 -0
  744. /package/dist/{chunk-CT3LPTWW.js.map → chunk-ZOD2EZOP.js.map} +0 -0
  745. /package/dist/{condition-24HPVH23.js.map → condition-KDKI25VM.js.map} +0 -0
  746. /package/dist/{controls-5CSAKANR.js.map → controls-26FVLZRQ.js.map} +0 -0
  747. /package/dist/{controls.btns-QLLBCT65.js.map → controls.btns-H4TWTHTW.js.map} +0 -0
  748. /package/dist/{controls.config-H4FMU5LI.js.map → controls.config-O6YC7P4M.js.map} +0 -0
  749. /package/dist/{correlation-RB77VSXB.js.map → correlation-DVDT43OT.js.map} +0 -0
  750. /package/dist/{cuminc-YZSLH5IO.js.map → cuminc-T6EYUBUX.js.map} +0 -0
  751. /package/dist/{cuminc.integration.spec-MZPT3Y5A.js.map → cuminc.integration.spec-P4YPZXDY.js.map} +0 -0
  752. /package/dist/{customdata.inputui-CBTZFODT.js.map → customdata.inputui-XPXZ7KB5.js.map} +0 -0
  753. /package/dist/{dataDownload-ZTGRVI4Q.js.map → dataDownload-46POC5GF.js.map} +0 -0
  754. /package/dist/{dataDownload.integration.spec-Q6GUTUYD.js.map → dataDownload.integration.spec-L7P5YMF7.js.map} +0 -0
  755. /package/dist/{databrowser.ui-V7E6CLUZ.js.map → databrowser.ui-DQEQXZCP.js.map} +0 -0
  756. /package/dist/{dictionary-RPC5OZMM.js.map → dictionary-MBERWWV4.js.map} +0 -0
  757. /package/dist/{e2pca-WDQHMAUM.js.map → e2pca-5HU65GVJ.js.map} +0 -0
  758. /package/dist/{ep-NAM34BBI.js.map → ep-ECP7H37A.js.map} +0 -0
  759. /package/dist/{expclust.gdc.spec-QB4GVDJA.js.map → expclust.gdc.spec-553FSEDH.js.map} +0 -0
  760. /package/dist/{facet-DOXBBIG6.js.map → facet-ND335XOF.js.map} +0 -0
  761. /package/dist/{frequencyChart-GLOIGP3T.js.map → frequencyChart-2OHEOWEU.js.map} +0 -0
  762. /package/dist/{frequencyChart.integration.spec-B7NBBLH2.js.map → frequencyChart.integration.spec-NW4DDLRX.js.map} +0 -0
  763. /package/dist/{geneExpClustering-B4S6GFNT.js.map → geneExpClustering-GHGBONBF.js.map} +0 -0
  764. /package/dist/{geneExpression-MVVXRNEY.js.map → geneExpression-UGYGT6DM.js.map} +0 -0
  765. /package/dist/{geneExpression-DMU4AQP6.js.map → geneExpression-X6HAUFPK.js.map} +0 -0
  766. /package/dist/{geneORA-XDAITCQF.js.map → geneORA-YKXRPEYY.js.map} +0 -0
  767. /package/dist/{geneVariant-N6IGEIRR.js.map → geneVariant-363FWTVR.js.map} +0 -0
  768. /package/dist/{geneVariant-QYLA2V6J.js.map → geneVariant-J4O45233.js.map} +0 -0
  769. /package/dist/{genefusion.ui-FRBMNK7V.js.map → genefusion.ui-DWAZJDO4.js.map} +0 -0
  770. /package/dist/{geneset-GZYNBG7Y.js.map → geneset-64VRPPTK.js.map} +0 -0
  771. /package/dist/{genomeBrowser.spec-WFIVQSE7.js.map → genomeBrowser.spec-AN3YXXBS.js.map} +0 -0
  772. /package/dist/{grin2-ZKNNZXON.js.map → grin2-E2WNBPLR.js.map} +0 -0
  773. /package/dist/{gsea-GFGAEC4K.js.map → gsea-PNORGHHB.js.map} +0 -0
  774. /package/dist/{hierCluster-MF4TI3E4.js.map → hierCluster-B7YMJ3UK.js.map} +0 -0
  775. /package/dist/{hierCluster-SDJMQLOQ.js.map → hierCluster-VAQBNVKU.js.map} +0 -0
  776. /package/dist/{hierCluster.config-RMEX3VTC.js.map → hierCluster.config-D7MDBQ35.js.map} +0 -0
  777. /package/dist/{hierCluster.integration.spec-3H63OHMU.js.map → hierCluster.integration.spec-UHRGPV6T.js.map} +0 -0
  778. /package/dist/{hierCluster.interactivity-4DZBRQ6P.js.map → hierCluster.interactivity-NJFEZILS.js.map} +0 -0
  779. /package/dist/{hierCluster.renderers-UOW7BI6N.js.map → hierCluster.renderers-GWFH5ZX7.js.map} +0 -0
  780. /package/dist/{imagePlot-P2UHJRSL.js.map → imagePlot-LWJPXMNK.js.map} +0 -0
  781. /package/dist/{importPlot-PPCMNVOW.js.map → importPlot-JBVMBUCU.js.map} +0 -0
  782. /package/dist/{launch.adhoc-RJWUEVRA.js.map → launch.adhoc-6GLLB7TX.js.map} +0 -0
  783. /package/dist/{leftlabel.sample-OYP6MICL.js.map → leftlabel.sample-3SO3AJ2U.js.map} +0 -0
  784. /package/dist/{lollipop-BXQOWLGO.js.map → lollipop-LJEVK7YO.js.map} +0 -0
  785. /package/dist/{maftimeline-GHKDDWYR.js.map → maftimeline-YMX542CP.js.map} +0 -0
  786. /package/dist/{matrix-FWDLHZYR.js.map → matrix-CR2EK5EU.js.map} +0 -0
  787. /package/dist/{matrix-YMJFP53F.js.map → matrix-YI4D3YQI.js.map} +0 -0
  788. /package/dist/{matrix.cells-JH7FPY3E.js.map → matrix.cells-SCLZA3P4.js.map} +0 -0
  789. /package/dist/{matrix.config-HIHOLDCE.js.map → matrix.config-TOC4QWE7.js.map} +0 -0
  790. /package/dist/{matrix.controls-EKZ543FY.js.map → matrix.controls-27D3Q4GD.js.map} +0 -0
  791. /package/dist/{matrix.data-NKAZI2BF.js.map → matrix.data-ETVML2F7.js.map} +0 -0
  792. /package/dist/{matrix.dom-RGZ52GJ2.js.map → matrix.dom-QO7BXZ27.js.map} +0 -0
  793. /package/dist/{matrix.groups-BO53ZXXV.js.map → matrix.groups-QMZMZ6Q7.js.map} +0 -0
  794. /package/dist/{matrix.integration.spec-BXTATNAC.js.map → matrix.integration.spec-DDXKS5GP.js.map} +0 -0
  795. /package/dist/{matrix.interactivity-UGUMKCFN.js.map → matrix.interactivity-XTNDVF55.js.map} +0 -0
  796. /package/dist/{matrix.layout-WBIF5QTG.js.map → matrix.layout-NGPK4EEU.js.map} +0 -0
  797. /package/dist/{matrix.legend-P3GFCXXK.js.map → matrix.legend-CS6DNC5V.js.map} +0 -0
  798. /package/dist/{matrix.renderers-I54IHQ3S.js.map → matrix.renderers-ILFHUPHQ.js.map} +0 -0
  799. /package/dist/{matrix.serieses-R2T57OYI.js.map → matrix.serieses-3SERD6CV.js.map} +0 -0
  800. /package/dist/{matrix.sort-3GCA2GDU.js.map → matrix.sort-UVS6WHIS.js.map} +0 -0
  801. /package/dist/{matrix.sort.unit.spec-AXGPCZZD.js.map → matrix.sort.unit.spec-DAMINC6B.js.map} +0 -0
  802. /package/dist/{matrix.sorterUi-QWRK6OGE.js.map → matrix.sorterUi-JDGLTLJM.js.map} +0 -0
  803. /package/dist/{matrix.sorterUi.unit.spec-H7GUVWRJ.js.map → matrix.sorterUi.unit.spec-M3RXU6B2.js.map} +0 -0
  804. /package/dist/{mavb-4EECWXYX.js.map → mavb-EC5VS3RS.js.map} +0 -0
  805. /package/dist/{mds.fimo-NHZOY43X.js.map → mds.fimo-7SXXTBUH.js.map} +0 -0
  806. /package/dist/{mds.samplescatterplot-7A5IZ6W7.js.map → mds.samplescatterplot-CALFSFR6.js.map} +0 -0
  807. /package/dist/{mds.survivalplot-SQDPUFQE.js.map → mds.survivalplot-NRA67V4T.js.map} +0 -0
  808. /package/dist/{mutationSignature-QH7PZYKL.js.map → mutationSignature-43SECPTY.js.map} +0 -0
  809. /package/dist/{numericDictTermCluster-X5SGSC5K.js.map → numericDictTermCluster-2ER4FUKO.js.map} +0 -0
  810. /package/dist/{oncomatrix-M4C4XPQK.js.map → oncomatrix-FOCP66RC.js.map} +0 -0
  811. /package/dist/{oncomatrix.spec-3C642O7O.js.map → oncomatrix.spec-XB232WT7.js.map} +0 -0
  812. /package/dist/{plot.2dvaf-TILP7J53.js.map → plot.2dvaf-GSQS5J6Y.js.map} +0 -0
  813. /package/dist/{plot.app-DE2UQP2M.js.map → plot.app-RHPEFX47.js.map} +0 -0
  814. /package/dist/{plot.barplot-FJHS765K.js.map → plot.barplot-2Q5YF3MU.js.map} +0 -0
  815. /package/dist/{plot.boxplot-YRSHGNYZ.js.map → plot.boxplot-LTYLWTF4.js.map} +0 -0
  816. /package/dist/{plot.brainImaging-JV4OUVJY.js.map → plot.brainImaging-EFRI4QV7.js.map} +0 -0
  817. /package/dist/{plot.disco-DBVPBMLG.js.map → plot.disco-HHYCMRCZ.js.map} +0 -0
  818. /package/dist/{plot.dzi-O2OA4EBK.js.map → plot.dzi-BCTPDUDK.js.map} +0 -0
  819. /package/dist/{plot.ssgq-YFQEZQYK.js.map → plot.ssgq-ES2ZP7MO.js.map} +0 -0
  820. /package/dist/{plot.vaf2cov-YNFP5LJ4.js.map → plot.vaf2cov-W72Y2IHA.js.map} +0 -0
  821. /package/dist/{plot.wsi-DJB7TDIS.js.map → plot.wsi-TPZXI45Q.js.map} +0 -0
  822. /package/dist/{polar-K5Z5FYKV.js.map → polar-MT3K2WDL.js.map} +0 -0
  823. /package/dist/{profile.spec-A6EADWEC.js.map → profile.spec-DOQYKG6P.js.map} +0 -0
  824. /package/dist/{profileBarchart-EFLPJK2P.js.map → profileBarchart-A4UWV2YA.js.map} +0 -0
  825. /package/dist/{profileForms-TG35YNLD.js.map → profileForms-VONTWVOF.js.map} +0 -0
  826. /package/dist/{profilePlot-2EW2XVTK.js.map → profilePlot-OK5VKWO4.js.map} +0 -0
  827. /package/dist/{profileRadar-AKUYC2O5.js.map → profileRadar-VLEZJCD7.js.map} +0 -0
  828. /package/dist/{profileRadarFacility-EAT66XTX.js.map → profileRadarFacility-QPSSUTB6.js.map} +0 -0
  829. /package/dist/{qualitative-PHQU5DXE.js.map → qualitative-RJKAWHQR.js.map} +0 -0
  830. /package/dist/{regression-EOMJRRDO.js.map → regression-GV73BYCQ.js.map} +0 -0
  831. /package/dist/{regression.inputs-LIH5X2JM.js.map → regression.inputs-PVIJHCRE.js.map} +0 -0
  832. /package/dist/{regression.inputs.term-OO4RZ3QB.js.map → regression.inputs.term-V5I3EP6M.js.map} +0 -0
  833. /package/dist/{regression.inputs.values.table-E7WCTO2L.js.map → regression.inputs.values.table-Y37EJUQB.js.map} +0 -0
  834. /package/dist/{regression.integration.spec-62VEQP6X.js.map → regression.integration.spec-JD32ODD2.js.map} +0 -0
  835. /package/dist/{regression.results-WAHFJ6NA.js.map → regression.results-AHAYXYGI.js.map} +0 -0
  836. /package/dist/{regression.spec-IBIOTZVX.js.map → regression.spec-FGYEES5G.js.map} +0 -0
  837. /package/dist/{report-MKDJXHGY.js.map → report-JYIEDDW5.js.map} +0 -0
  838. /package/dist/{runChart-ETM2EETF.js.map → runChart-CVAWIBA3.js.map} +0 -0
  839. /package/dist/{runchart.integration.spec-QFA4XBKB.js.map → runchart.integration.spec-5Z4IHQU5.js.map} +0 -0
  840. /package/dist/{sampleScatter.spec-N4N7ZGZF.js.map → sampleScatter.spec-QNFWS2Y7.js.map} +0 -0
  841. /package/dist/{sampleView-JTY3RV7I.js.map → sampleView-GKYHS3WO.js.map} +0 -0
  842. /package/dist/{samplelst-RRUMBVT6.js.map → samplelst-CHBS5BGY.js.map} +0 -0
  843. /package/dist/{samplematrix-L37O664Y.js.map → samplematrix-IK4YDAID.js.map} +0 -0
  844. /package/dist/{scatter-E5QHW32W.js.map → scatter-NDA5YSCP.js.map} +0 -0
  845. /package/dist/{scatter.integration.spec-FNVAJSVU.js.map → scatter.integration.spec-GV3EIFGT.js.map} +0 -0
  846. /package/dist/{selectGenomeWithTklst-J6VXCYGG.js.map → selectGenomeWithTklst-X7RAGKRC.js.map} +0 -0
  847. /package/dist/{singleCellPlot-S6S6CKYX.js.map → singleCellPlot-7F735HTR.js.map} +0 -0
  848. /package/dist/{singlecell-B4TNI23F.js.map → singlecell-EO3WYGS7.js.map} +0 -0
  849. /package/dist/{singlecell-4BMIKFY4.js.map → singlecell-YMYLKTSC.js.map} +0 -0
  850. /package/dist/{snp-PAUQ24NZ.js.map → snp-6KN4AWBB.js.map} +0 -0
  851. /package/dist/{snplocus-HVFYZTEE.js.map → snplocus-CLM4WHVH.js.map} +0 -0
  852. /package/dist/{spliceevent.a53ss.diagram-GGGHVNBF.js.map → spliceevent.a53ss.diagram-PKFVC2N4.js.map} +0 -0
  853. /package/dist/{spliceevent.exonskip.diagram-HLMFD6LJ.js.map → spliceevent.exonskip.diagram-XV2Z7AYB.js.map} +0 -0
  854. /package/dist/{spliceevent.noeventdiagram-CKZ3BZ7Y.js.map → spliceevent.noeventdiagram-L5L2BJL5.js.map} +0 -0
  855. /package/dist/{ssGSEA-UGT4GH55.js.map → ssGSEA-W6N4CXMD.js.map} +0 -0
  856. /package/dist/{stattable-6JWMALGB.js.map → stattable-324FS2HA.js.map} +0 -0
  857. /package/dist/{summarizeCnvGeneexp-BJOQY62E.js.map → summarizeCnvGeneexp-57LZ5B2Q.js.map} +0 -0
  858. /package/dist/{summarizeGeneexpSurvival-4HDHL7PE.js.map → summarizeGeneexpSurvival-UQX3VZUK.js.map} +0 -0
  859. /package/dist/{summarizeMutationDiagnosis-TDWO5CKU.js.map → summarizeMutationDiagnosis-5SWO42E4.js.map} +0 -0
  860. /package/dist/{summarizeMutationSurvival-CJJFABOX.js.map → summarizeMutationSurvival-EOU5QOB6.js.map} +0 -0
  861. /package/dist/{summary-WOAXXIHG.js.map → summary-FRIKVPYZ.js.map} +0 -0
  862. /package/dist/{summary.integration.spec-GM73ERMN.js.map → summary.integration.spec-WSI3JNTO.js.map} +0 -0
  863. /package/dist/{summaryInput-FD4SONTY.js.map → summaryInput-3L7CM52X.js.map} +0 -0
  864. /package/dist/{sunburst-3LCJTBRN.js.map → sunburst-HA7UGSXX.js.map} +0 -0
  865. /package/dist/{survival-A3A7IVXT.js.map → survival-2HZ446Y3.js.map} +0 -0
  866. /package/dist/{survival-XF72VMM6.js.map → survival-LJI5JEZZ.js.map} +0 -0
  867. /package/dist/{survival.integration.spec-AU7MCAQV.js.map → survival.integration.spec-7XVO2WNF.js.map} +0 -0
  868. /package/dist/{svgraph-BEMS4JDJ.js.map → svgraph-TRPAXTNP.js.map} +0 -0
  869. /package/dist/{svmr-CDEMTZPK.js.map → svmr-TJOCKTE2.js.map} +0 -0
  870. /package/dist/{table-WYF6QCGB.js.map → table-35RHJK4M.js.map} +0 -0
  871. /package/dist/{termCollection-BVQMNVY7.js.map → termCollection-JS6N5TAP.js.map} +0 -0
  872. /package/dist/{termInfo-JXLIVCSO.js.map → termInfo-5USFZGDB.js.map} +0 -0
  873. /package/dist/{tk-TGIIJYBO.js.map → tk-4ARNGTEQ.js.map} +0 -0
  874. /package/dist/{tp.ui-USYF67P7.js.map → tp.ui-QZEMGVEH.js.map} +0 -0
  875. /package/dist/{tvs.dtcnv.continuous-7SCTSFK3.js.map → tvs.dtcnv.continuous-4K7B7FXF.js.map} +0 -0
  876. /package/dist/{tvs.numeric-OLVW6US3.js.map → tvs.numeric-FCC2EY62.js.map} +0 -0
  877. /package/dist/{tvs.samplelst-BHZHCX5V.js.map → tvs.samplelst-IUSDLB6P.js.map} +0 -0
  878. /package/dist/{violin-OEOWVIZF.js.map → violin-I5JO56GZ.js.map} +0 -0
  879. /package/dist/{violin.integration.spec-AW2U3RHO.js.map → violin.integration.spec-5WVLT3DW.js.map} +0 -0
  880. /package/dist/{violin.interactivity-3O2UDNPQ.js.map → violin.interactivity-EFFBMTN2.js.map} +0 -0
  881. /package/dist/{violin.renderer-W26FA6M7.js.map → violin.renderer-Z3AIV5RH.js.map} +0 -0
  882. /package/dist/{vocabulary-BIQYDKVY.js.map → vocabulary-4PHACFSG.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../plots/boxplot/model/Model.ts", "../plots/boxplot/viewModel/LegendDataMapper.ts", "../plots/boxplot/viewModel/ViewModel.ts", "../plots/boxplot/view/BoxPlotToolTips.ts", "../plots/boxplot/view/BoxPlotLabelMenu.ts", "../plots/boxplot/view/View.ts", "../plots/boxplot/interactions/ListSamples.ts", "../plots/boxplot/interactions/BoxPlotInteractions.ts", "../plots/boxplot/view/LegendRender.ts", "../plots/boxplot/view/AssociationTableRender.ts", "../plots/boxplot/BoxPlot.ts"],
4
+ "sourcesContent": ["import type { MassAppApi, MassState } from '#mass/types/mass'\nimport type { BoxPlotSettings, BoxPlotConfig } from '../BoxPlotTypes'\nimport type { TdbBoxplot } from '../BoxPlot.ts'\nimport type { BoxPlotResponse } from '#types'\nimport { isNumericTerm } from '#shared/terms.js'\n\n/**\n * Requests data for the boxplots.\n * Add more methods for formating the request opts and api requests.\n */\nexport class Model {\n\tboxplot: TdbBoxplot\n\tconfig: BoxPlotConfig\n\tstate: MassState\n\tapp: MassAppApi\n\tsettings: BoxPlotSettings\n\n\tconstructor(boxplot: TdbBoxplot, config: BoxPlotConfig) {\n\t\tthis.boxplot = boxplot\n\t\tthis.config = config\n\t\tthis.state = boxplot.state\n\t\tthis.app = boxplot.app\n\t\tthis.settings = config.settings.boxplot\n\t}\n\n\tasync getData() {\n\t\tconst boxPlotDataArgs = this.setRequestOpts()\n\t\tconst data: BoxPlotResponse = await this.app.vocabApi.getBoxPlotData(\n\t\t\tboxPlotDataArgs,\n\t\t\tthis.boxplot.api.getAbortSignal()\n\t\t)\n\t\treturn data\n\t}\n\n\tsetRequestOpts() {\n\t\tconst opts: { [index: string]: any } = {\n\t\t\ttw: this.getContinousTerm(),\n\t\t\tfilter: this.state.termfilter.filter,\n\t\t\tfilter0: this.state.termfilter.filter0,\n\t\t\torderByMedian: this.settings.orderByMedian,\n\t\t\tisLogScale: this.settings.isLogScale,\n\t\t\tremoveOutliers: this.settings.removeOutliers,\n\t\t\tshowAssocTests: this.settings.showAssocTests\n\t\t}\n\t\tif (this.config.term2)\n\t\t\topts.overlayTw = this.getContinousTerm() == this.config.term ? this.config.term2 : this.config.term\n\n\t\tif (this.config.term0) opts.divideTw = this.config.term0\n\n\t\treturn opts\n\t}\n\n\tgetContinousTerm() {\n\t\tif (!this.config?.term2) return this.config.term\n\t\treturn isNumericTerm(this.config.term.term) && this.config.term.q.mode == 'continuous'\n\t\t\t? this.config.term\n\t\t\t: this.config.term2\n\t}\n}\n", "import type { FormattedPlotEntry, LegendData, LegendItemEntry, BoxPlotConfig } from '../BoxPlotTypes'\nimport type { BoxPlotChartEntry, DescrStats } from '#types'\n\nexport class LegendDataMapper {\n\tlegendData: LegendData = []\n\tconstructor(config: BoxPlotConfig, data: BoxPlotChartEntry, plots: FormattedPlotEntry[]) {\n\t\tconst isTerm2 = config?.term2\n\t\tif (config.term.q?.descrStats) {\n\t\t\tthis.legendData.push({\n\t\t\t\tlabel: `Descriptive Statistics${isTerm2 ? `: ${config.term.term.name}` : ''}`,\n\t\t\t\titems: this.getDescrStatItems(config.term.q.descrStats)\n\t\t\t})\n\t\t}\n\t\tif (isTerm2 && isTerm2.q?.descrStats) {\n\t\t\tthis.legendData.push({\n\t\t\t\tlabel: `Descriptive Statistics: ${config.term2.term.name}`,\n\t\t\t\titems: this.getDescrStatItems(isTerm2.q.descrStats)\n\t\t\t})\n\t\t}\n\t\tconst hiddenPlots =\n\t\t\tplots\n\t\t\t\t.filter(p => p.isHidden)\n\t\t\t\t?.map(p => {\n\t\t\t\t\tconst total = p.descrStats.total\n\t\t\t\t\tif (!total || !total.value) throw `Missing total value for ${p.key}`\n\t\t\t\t\treturn { key: p.key, text: p.key, n: total.value, isHidden: true, isPlot: true }\n\t\t\t\t}) || []\n\t\tif (config.term.term?.values) {\n\t\t\tconst term1Label = config.term2 ? config.term.term.name : 'Other categories'\n\t\t\tconst term1Data = this.setHiddenCategoryItems(config.term, term1Label, hiddenPlots, data.uncomputableValues || [])\n\t\t\tif (term1Data) this.legendData.push(term1Data)\n\t\t}\n\n\t\tif (config.term2?.term?.values) {\n\t\t\tconst term2Data = this.setHiddenCategoryItems(\n\t\t\t\tconfig.term2,\n\t\t\t\tconfig.term2.term.name,\n\t\t\t\thiddenPlots,\n\t\t\t\tdata.uncomputableValues || []\n\t\t\t)\n\t\t\tif (term2Data) this.legendData.push(term2Data)\n\t\t}\n\t}\n\n\tgetDescrStatItems(stats: DescrStats) {\n\t\treturn Object.values(stats).map(s => ({\n\t\t\tkey: s.key,\n\t\t\ttext: `${s.label}: ${s.value}`,\n\t\t\tisHidden: false,\n\t\t\tisPlot: false\n\t\t}))\n\t}\n\n\tsetHiddenCategoryItems(\n\t\ttw: any,\n\t\tlabel: string,\n\t\thiddenPlots: LegendItemEntry[],\n\t\tuncomputableValues?: { label: string; value: number }[]\n\t) {\n\t\tconst termData: { label: string; items: LegendItemEntry[] } = { label, items: [] }\n\n\t\tif (hiddenPlots.length) {\n\t\t\tfor (const key of Object.keys(tw.q.hiddenValues || {})) {\n\t\t\t\tconst plot = hiddenPlots.find(p => p.key === key)\n\t\t\t\tif (plot) termData.items.push(plot)\n\t\t\t}\n\t\t}\n\t\tif (uncomputableValues && uncomputableValues.length) {\n\t\t\tfor (const v of Object.values((tw.term.values || {}) as { label: string }[])) {\n\t\t\t\tconst uncomputableItem = uncomputableValues.find(u => u.label === v.label)\n\t\t\t\tif (uncomputableItem) {\n\t\t\t\t\ttermData.items.push({\n\t\t\t\t\t\tkey: uncomputableItem.label,\n\t\t\t\t\t\ttext: `${uncomputableItem.label}, n=${uncomputableItem.value}`,\n\t\t\t\t\t\tisHidden: true,\n\t\t\t\t\t\tisPlot: false\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn termData.items.length ? termData : null\n\t}\n}\n", "import { format } from 'd3-format'\nimport { decimalPlacesUntilFirstNonZero } from '#shared/roundValue.js'\nimport { rgb } from 'd3-color'\nimport type { BoxPlotChartEntry } from '#types'\nimport type { BoxPlotSettings, PlotDimensions, ViewData, BoxPlotConfig } from '../BoxPlotTypes'\nimport { LegendDataMapper } from './LegendDataMapper'\n\nexport class ViewModel {\n\t/** Top padding for the svg */\n\treadonly topPad = 20\n\t/** Bottom padding for the svg */\n\treadonly bottomPad = 40\n\t/** Horizontal, or right and left padding */\n\treadonly horizPad = 120\n\t/** For outliers, set a radius rather than using the default. */\n\treadonly outRadius = 5\n\t/** Increasing padding to space out the boxplots and determine position */\n\tincrPad = 40\n\t/** Range is 20 - 50 */\n\trowHeight: number\n\t/** Range is 10 -20 */\n\trowSpace: number\n\t/** Total size of the labels. May reflect height or width depending on orientation */\n\tprivate totalLabelSize: number\n\t/** Total size of each box plot. May reflect height or width depending on orientation */\n\tprivate totalRowSize: number\n\tviewData: ViewData\n\tconstructor(\n\t\tconfig: BoxPlotConfig,\n\t\tdata: BoxPlotChartEntry,\n\t\tsettings: BoxPlotSettings,\n\t\tmaxLabelLgth: number,\n\t\tuseDefaultSettings: boolean\n\t) {\n\t\t/** As requested, adjust the size of each plot based on the number of boxplots\n\t\t * Manages rendering very large svgs. */\n\t\tconst numOfPlots = data.plots.filter(p => !p.isHidden).length\n\t\tif (useDefaultSettings) {\n\t\t\tconst isLargePlotCount = numOfPlots > 20\n\t\t\tthis.rowHeight = numOfPlots > 10 ? (isLargePlotCount ? 20 : 35) : 50\n\t\t\tthis.rowSpace = numOfPlots > 10 ? (isLargePlotCount ? 10 : 12) : 15\n\t\t} else {\n\t\t\tthis.rowHeight = settings.rowHeight\n\t\t\tthis.rowSpace = settings.rowSpace\n\t\t}\n\n\t\tthis.totalLabelSize = maxLabelLgth + settings.labelPad\n\t\tthis.totalRowSize = this.rowHeight + this.rowSpace\n\n\t\tconst plotDim = this.setPlotDimensions(data, config, settings)\n\t\t//20 for the axis offset (above), 10 more for the first boxplot\n\t\tthis.incrPad += 30\n\n\t\tconst plots = this.setPlotData(data, config, settings)\n\n\t\tthis.viewData = {\n\t\t\tplotDim: plotDim as PlotDimensions,\n\t\t\tplots: plots.filter(p => !p.isHidden),\n\t\t\tlegend: new LegendDataMapper(config, data, plots).legendData\n\t\t}\n\t}\n\n\tsetPlotDimensions(data: BoxPlotChartEntry, config: any, settings: BoxPlotSettings) {\n\t\tconst svg = this.setSvgDimensions(settings, data)\n\t\tconst plotDim = {\n\t\t\t//Add 1 to the max is big enough so the upper line to boxplot isn't cutoff\n\t\t\t//Note: ts is complaining absMax could be null. Ignore. Error in server request.\n\t\t\tdomain: [data.absMin, data.absMax! <= 1 ? data.absMax : data.absMax! + 1],\n\t\t\trange: [0, settings.plotLength],\n\t\t\tsvg,\n\t\t\tchartTitle: getChartTitle(config, data.chartId),\n\t\t\ttitle: this.setTitleDimensions(config, settings, svg.height),\n\t\t\taxis: {\n\t\t\t\tx: settings.isVertical ? this.horizPad / 2 + this.incrPad + this.topPad : this.totalLabelSize,\n\t\t\t\ty: this.topPad + (settings.isVertical ? settings.labelPad : this.incrPad + 20),\n\t\t\t\tvalues: (ticks: number[]) => {\n\t\t\t\t\tif (settings.isLogScale) return this.filterTickValues(ticks)\n\t\t\t\t\treturn ticks\n\t\t\t\t},\n\t\t\t\tformat: (d: number) => {\n\t\t\t\t\tif (settings.isLogScale) {\n\t\t\t\t\t\tif (Number.isInteger(d)) return format('.0f')(d)\n\t\t\t\t\t\tconst dec = decimalPlacesUntilFirstNonZero(d)\n\t\t\t\t\t\tif (dec > 1) return format(`.${dec + 1}f`)(d)\n\t\t\t\t\t\treturn format('.2f')(d)\n\t\t\t\t\t}\n\t\t\t\t\treturn d.toString()\n\t\t\t\t}\n\t\t\t},\n\t\t\tbackgroundColor: settings.displayMode == 'dark' ? 'black' : 'white',\n\t\t\ttextColor: settings.displayMode == 'dark' ? 'white' : 'black'\n\t\t}\n\t\treturn plotDim\n\t}\n\n\tfilterTickValues(ticks: number[]) {\n\t\tconst signifcantLessThanOne = ticks.filter(t => t < 1).length / ticks.length\n\t\tconst range = ticks[ticks.length - 1] - ticks[0]\n\t\tconst spread = range > 1000 ? 4 : range > 100 ? 3 : 2\n\t\tconst formattedTicks = ticks.filter((t, i) => {\n\t\t\tif (t === 0 || (i == ticks.length - 1 && i % spread !== 0)) return t\n\t\t\telse if (t <= 1 && signifcantLessThanOne > 0.5) {\n\t\t\t\t/** Scales with a significant number of values under 1\n\t\t\t\t * require more space. Show every fifth value if under 1 */\n\t\t\t\tif (i % 5 === 0) return t\n\t\t\t} else if (i % spread === 0) return t\n\t\t})\n\t\treturn formattedTicks\n\t}\n\n\tsetSvgDimensions(settings: BoxPlotSettings, data: BoxPlotChartEntry) {\n\t\tconst plotsSpace =\n\t\t\tdata.plots.filter(p => !p.isHidden).length * this.totalRowSize + this.topPad + this.bottomPad + this.incrPad\n\t\tconst depth = settings.plotLength + this.totalLabelSize + this.horizPad / 2\n\t\treturn {\n\t\t\twidth: settings.isVertical ? plotsSpace + this.horizPad : depth,\n\t\t\theight: settings.isVertical ? depth : plotsSpace\n\t\t}\n\t}\n\n\tsetTitleDimensions(config: any, settings: BoxPlotSettings, height: number) {\n\t\tconst depth = this.totalLabelSize + settings.plotLength / 2\n\t\treturn {\n\t\t\tx: settings.isVertical ? this.horizPad / 2 : depth,\n\t\t\ty: settings.isVertical ? height - depth - this.horizPad / 2 : this.topPad + this.incrPad / 2,\n\t\t\ttext: config.term.q.mode == 'continuous' ? config.term.term.name : config.term2.term.name\n\t\t}\n\t}\n\n\tsetPlotData(data: any, config: any, settings: BoxPlotSettings) {\n\t\tconst plots = structuredClone(data.plots)\n\t\tfor (const plot of plots) {\n\t\t\t/** Set rendering properties for the plot */\n\n\t\t\t//Set the color for all plots\n\t\t\tlet color\n\t\t\tconst term2 = config.term2\n\t\t\tif (term2) {\n\t\t\t\tif (term2.q.type == 'predefined-groupset' || term2.q.type == 'custom-groupset') {\n\t\t\t\t\tconst groupset =\n\t\t\t\t\t\tterm2.q.type == 'predefined-groupset'\n\t\t\t\t\t\t\t? term2.term.groupsetting.lst[term2.q.predefined_groupset_idx]\n\t\t\t\t\t\t\t: term2.q.customset\n\t\t\t\t\tif (!groupset) throw 'groupset is missing'\n\t\t\t\t\tconst group = groupset.groups.find(g => g.name == plot.seriesId)\n\t\t\t\t\tif (group?.color) color = group.color\n\t\t\t\t} else {\n\t\t\t\t\tcolor = term2.term.values?.[plot.seriesId]?.color\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!color) color = settings.color\n\n\t\t\tif (!plot.color) plot.color = color\n\t\t\t//Brighten the colors in dark mode for better visibility\n\t\t\tif (settings.displayMode == 'dark') plot.color = rgb(plot.color).brighter(0.75)\n\t\t\t//Ignore if hidden after the color is set\n\t\t\tif (plot.isHidden) continue\n\t\t\tif (plot.boxplot.out.length) {\n\t\t\t\tconst maxOut = plot.boxplot.out.reduce((a: { value: number }, b: { value: number }) =>\n\t\t\t\t\tMath.max(a.value, b.value)\n\t\t\t\t)\n\t\t\t\tif (maxOut && maxOut.value > data.absMax) data.absMax = maxOut.value\n\t\t\t\tplot.boxplot.radius = this.outRadius\n\t\t\t}\n\t\t\tplot.labColor = settings.displayMode == 'dark' ? 'white' : 'black'\n\t\t\tplot.boxplot.rectFill =\n\t\t\t\tsettings.displayMode == 'dark' ? 'black' : settings.displayMode == 'filled' ? color : 'white'\n\t\t\tplot.x = settings.isVertical ? this.horizPad / 2 + this.incrPad : this.totalLabelSize\n\t\t\tplot.y = this.topPad + (settings.isVertical ? settings.plotLength + settings.labelPad : this.incrPad)\n\t\t\tthis.incrPad += this.totalRowSize\n\t\t}\n\t\treturn plots\n\t}\n}\n\nexport function getChartTitle(config, chartId) {\n\tif (!config.term0) return chartId\n\treturn config.term0.term.values && chartId in config.term0.term.values\n\t\t? config.term0.term.values[chartId].label\n\t\t: chartId\n}\n", "import type { Menu, RenderedBoxPlot } from '#dom'\nimport type { SvgG } from 'types/d3'\nimport type { RenderedPlot } from './RenderedPlot'\nimport { select } from 'd3-selection'\n\nexport class BoxPlotToolTips {\n\tboxplot: RenderedBoxPlot\n\tg: SvgG\n\tplot: RenderedPlot\n\tisVertical: boolean\n\ttip: Menu\n\treadonly tablePadding = '3px'\n\tconstructor(plot: any, g: SvgG, tip: Menu, isVertical: boolean) {\n\t\tthis.plot = plot\n\t\tthis.g = g\n\t\tthis.boxplot = plot.boxplot\n\t\tthis.isVertical = isVertical\n\t\tthis.tip = tip\n\n\t\tthis.addLabelTooltip()\n\t\t// this.addLineToolTips()\n\t\tthis.addOutliersTooltip()\n\t}\n\n\t//Add rendering preferences here to maintain styles\n\t//across all tooltip instances\n\taddText(text: string) {\n\t\tthis.tip.d.append('div').text(text)\n\t}\n\n\taddLabelTooltip() {\n\t\tif (Object.keys(this.plot.descrStats).length < 2) return\n\t\tthis.boxplot.labelG.on('mouseover', (event: MouseEvent) => {\n\t\t\tthis.tip.clear()\n\t\t\tif (this.isVertical) this.tip.show(event.clientX, event.clientY)\n\t\t\telse this.tip.showunder(this.boxplot.labelG.node())\n\t\t\tconst table = this.tip.d.append('table').attr('class', 'sja_simpletable')\n\t\t\ttable\n\t\t\t\t.append('tr')\n\t\t\t\t.style('text-align', 'center')\n\t\t\t\t.append('td')\n\t\t\t\t.attr('colspan', 2)\n\t\t\t\t.style('padding', this.tablePadding)\n\t\t\t\t.text(this.plot.key)\n\t\t\tfor (const stat of Object.values(this.plot.descrStats)) {\n\t\t\t\tconst row = table.append('tr')\n\t\t\t\trow.append('td').style('padding', this.tablePadding).style('opacity', 0.5).text(stat.label)\n\t\t\t\trow.append('td').style('padding', this.tablePadding).style('text-align', 'center').text(stat.value)\n\t\t\t}\n\t\t})\n\t\tthis.boxplot.labelG.on('mouseout', () => {\n\t\t\tthis.tip.hide()\n\t\t})\n\t}\n\n\t// addLineToolTips() {\n\t// \tconst addToolTips = (elem, text: string) => {\n\t// \t\tconst elemBBox = elem.node().getBBox()\n\t// \t\t//Add an expanded area for the tooltip\n\t// \t\t//Easier for user to hover over\n\t// \t\tthis.g\n\t// \t\t\t.append('rect')\n\t// \t\t\t.attr('x', elemBBox.x - 10)\n\t// \t\t\t.attr('y', elemBBox.y - 10)\n\t// \t\t\t.attr('width', elemBBox.width + 20)\n\t// \t\t\t.attr('height', elemBBox.height + 20)\n\t// \t\t\t.attr('fill', 'transparent')\n\t// \t\t\t.style('pointer-events', 'all')\n\t// \t\t\t.on('mouseover', () => {\n\t// \t\t\t\tthis.tip.clear().showunder(elem.node())\n\t// \t\t\t\tthis.addText(text)\n\t// \t\t\t})\n\t// \t\t\t.on('mouseout', () => {\n\t// \t\t\t\tthis.tip.hide()\n\t// \t\t\t})\n\t// \t}\n\n\t// \tif (this.boxplot.linep50) {\n\t// \t\tconst median = this.plot.descrStats.find((d: any) => d.id == 'median')\n\t// \t\tif (!median) throw `Missing median value for ${this.plot.key}`\n\t// \t\taddToolTips(this.boxplot.linep50, `Median: ${median.value}`)\n\t// \t}\n\t// \tif (this.boxplot.linew1) {\n\t// \t\taddToolTips(this.boxplot.linew1, `${this.boxplot.w1}`)\n\t// \t}\n\t// \tif (this.boxplot.linew2) {\n\t// \t\taddToolTips(this.boxplot.linew2, `${this.boxplot.w2}`)\n\t// \t}\n\t// }\n\n\taddOutliersTooltip() {\n\t\tthis.g\n\t\t\t.selectAll('circle')\n\t\t\t.data(this.boxplot.out)\n\t\t\t.each((d: any, i, nodes) => {\n\t\t\t\tconst circle = select(nodes[i])\n\t\t\t\tcircle.on('mouseover', () => {\n\t\t\t\t\tthis.tip.clear().showunder(circle.node())\n\t\t\t\t\tthis.addText(d.value)\n\t\t\t\t})\n\t\t\t\tcircle.on('mouseout', () => {\n\t\t\t\t\tthis.tip.hide()\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n", "import type { MassAppApi, MassState } from '#mass/types/mass'\nimport type { BoxPlotInteractions } from '../interactions/BoxPlotInteractions'\nimport type { RenderedPlot } from './RenderedPlot'\nimport { renderTable, type Menu } from '#dom'\nimport { rgb } from 'd3-color'\n\n/** Menu is available when more than one boxplot is rendered. */\nexport class BoxPlotLabelMenu {\n\tconstructor(plot: RenderedPlot, app: MassAppApi, interactions: BoxPlotInteractions, tip: Menu, isVertical: boolean) {\n\t\tconst options = [\n\t\t\t{\n\t\t\t\ttext: `Add filter: ${plot.key}`,\n\t\t\t\tisVisible: () => true,\n\t\t\t\tcallback: () => interactions.addFilter(plot)\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: `Hide ${plot.key}`,\n\t\t\t\tisVisible: () => true,\n\t\t\t\tcallback: () => interactions.hidePlot(plot)\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: `List samples`,\n\t\t\t\tisVisible: (state: MassState) => state.termdbConfig.displaySampleIds && app.vocabApi.hasVerifiedToken(),\n\t\t\t\tcallback: async (event: MouseEvent) => {\n\t\t\t\t\tif (isVertical) tip.clear().show(event.clientX, event.clientY)\n\t\t\t\t\telse tip.clear().showunder(plot.boxplot.labelG.node())\n\t\t\t\t\tconst rows = await interactions.listSamples(plot)\n\n\t\t\t\t\tconst tableDiv = tip.d.append('div')\n\t\t\t\t\tconst columns = [{ label: 'Sample' }, { label: 'Value' }]\n\n\t\t\t\t\trenderTable({\n\t\t\t\t\t\trows,\n\t\t\t\t\t\tcolumns,\n\t\t\t\t\t\tdiv: tableDiv,\n\t\t\t\t\t\tmaxWidth: '30vw',\n\t\t\t\t\t\tmaxHeight: '25vh',\n\t\t\t\t\t\tresize: true,\n\t\t\t\t\t\tshowLines: true\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t\tplot.boxplot.labelG.on('click', (event: MouseEvent) => {\n\t\t\ttip.clear()\n\t\t\tif (isVertical) tip.show(event.clientX, event.clientY)\n\t\t\telse tip.showunder(plot.boxplot.labelG.node())\n\t\t\tconst state = app.getState()\n\t\t\tfor (const opt of options) {\n\t\t\t\t//Adds all the menu options before the color picker\n\t\t\t\tif (!opt.isVisible(state)) continue\n\t\t\t\ttip.d\n\t\t\t\t\t.append('div')\n\t\t\t\t\t.classed('sja_menuoption', true)\n\t\t\t\t\t.text(opt.text)\n\t\t\t\t\t.on('click', (event: MouseEvent) => {\n\t\t\t\t\t\ttip.hide()\n\t\t\t\t\t\topt.callback(event)\n\t\t\t\t\t})\n\t\t\t}\n\t\t\tif (plot.color) {\n\t\t\t\ttip.d\n\t\t\t\t\t.append('div')\n\t\t\t\t\t.style('padding', '5px 10px')\n\t\t\t\t\t.style('display', 'inline-block')\n\t\t\t\t\t.text('Color:')\n\t\t\t\t\t.append('input')\n\t\t\t\t\t.attr('type', 'color')\n\t\t\t\t\t.property('value', rgb(plot.color).formatHex())\n\t\t\t\t\t.on('change', event => {\n\t\t\t\t\t\tinteractions.updatePlotColor(plot, event.target.value)\n\t\t\t\t\t\ttip.hide()\n\t\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n}\n", "import { drawBoxplot, Menu } from '#dom'\nimport { scaleLinear, scaleLog, type ScaleLinear } from 'd3-scale'\nimport { axisstyle } from '#src/client'\nimport { axisTop, axisLeft } from 'd3-axis'\nimport type { BoxPlotSettings, ViewData, PlotDimensions } from '../BoxPlotTypes'\nimport type { MassAppApi } from '#mass/types/mass'\nimport type { BoxPlotInteractions } from '../interactions/BoxPlotInteractions'\nimport type { RenderedPlot } from './RenderedPlot'\nimport { BoxPlotToolTips } from './BoxPlotToolTips'\nimport { BoxPlotLabelMenu } from './BoxPlotLabelMenu'\n\n/** Handles all the rendering logic for the boxplot. */\nexport class View {\n\tapp: MassAppApi\n\tdom: any\n\tinteractions: BoxPlotInteractions\n\tsettings: BoxPlotSettings\n\tconstructor(data: ViewData, settings: BoxPlotSettings, dom: any, app: MassAppApi, interactions: BoxPlotInteractions) {\n\t\tthis.app = app\n\t\tthis.dom = dom\n\t\tthis.interactions = interactions\n\t\tthis.settings = settings\n\t\tif (!data || !data.plots.length) return\n\n\t\tconst plotDim = data.plotDim\n\n\t\tdom.div.style('background-color', plotDim.backgroundColor)\n\n\t\tdom.svg\n\t\t\t.transition()\n\t\t\t.attr('width', plotDim.svg.width)\n\t\t\t.attr('height', plotDim.svg.height)\n\t\t\t//Fix for white background when downloading dark mode image.\n\t\t\t.style('fill', plotDim.backgroundColor)\n\n\t\tconst setScaleFunc = settings.isLogScale ? scaleLog().base(10) : scaleLinear()\n\t\tconst scale = setScaleFunc.domain(plotDim.domain).range(plotDim.range)\n\n\t\tthis.renderTitle(plotDim, dom)\n\t\tthis.renderBoxPlots(dom, data, scale, settings)\n\t\tthis.renderAxis(plotDim, dom, scale, settings)\n\t}\n\n\trenderTitle(plotDim: PlotDimensions, dom: any) {\n\t\t//Title of the chart\n\t\tdom.chartTitle.text(plotDim.chartTitle)\n\n\t\t//Title of the plot\n\t\tconst transformStr = `translate(${plotDim.title.x}, ${plotDim.title.y})${\n\t\t\tthis.settings.isVertical ? `,rotate(-90)` : ''\n\t\t}`\n\t\tdom.plotTitle\n\t\t\t.attr('class', 'sjpp-boxplot-title')\n\t\t\t.style('font-weight', 600)\n\t\t\t.attr('text-anchor', 'middle')\n\t\t\t.attr('transform', transformStr)\n\t\t\t.attr('fill', plotDim.textColor)\n\t\t\t.text(plotDim.title.text.length > 80 ? plotDim.title.text.slice(0, 80) + '...' : plotDim.title.text)\n\t}\n\n\t//Fix for the axis rendering min -> max when the plot is vertical\n\trenderAxis(plotDim: PlotDimensions, dom: any, scale: ScaleLinear<number, number, never>, settings: BoxPlotSettings) {\n\t\t/** draw_boxplot renders the boxplot from min-max but the scale\n\t\t * renders the axis from max - min. Render the box plots, then change\n\t\t * the scale vector to match. */\n\t\tif (settings.isVertical) scale.range([scale.range()[1], scale.range()[0]])\n\t\tconst ticks = scale.ticks()\n\t\tconst tickValues = plotDim.axis.values(ticks)\n\t\tdom.axis\n\t\t\t.attr('class', 'sjpp-boxplot-axis')\n\t\t\t.attr('transform', `translate(${plotDim.axis.x}, ${plotDim.axis.y})`)\n\t\t\t.transition()\n\t\t\t.call(\n\t\t\t\tthis.settings.isVertical\n\t\t\t\t\t? axisLeft(scale)\n\t\t\t\t\t\t\t.tickValues(tickValues)\n\t\t\t\t\t\t\t.tickFormat(d => plotDim.axis.format(d as number))\n\t\t\t\t\t\t\t.tickPadding(8)\n\t\t\t\t\t: axisTop(scale)\n\t\t\t\t\t\t\t.tickValues(tickValues)\n\t\t\t\t\t\t\t.tickFormat(d => plotDim.axis.format(d as number))\n\t\t\t)\n\n\t\taxisstyle({\n\t\t\taxis: dom.axis,\n\t\t\tshowline: true,\n\t\t\tfontsize: 12,\n\t\t\tcolor: plotDim.textColor\n\t\t})\n\t}\n\n\trenderBoxPlots(dom: any, data: ViewData, scale: ScaleLinear<number, number, never>, settings: BoxPlotSettings) {\n\t\t/** Draw boxplots, incrementing by the total row height */\n\t\tfor (const plot of data.plots) {\n\t\t\tconst g = dom.boxplots.append('g').attr('class', 'sjpp-boxplot-plot').attr('padding', '5px')\n\n\t\t\tdrawBoxplot({\n\t\t\t\tbp: plot.boxplot,\n\t\t\t\tg,\n\t\t\t\tcolor: settings.displayMode == 'filled' ? 'black' : plot.color,\n\t\t\t\tscale: scale,\n\t\t\t\trowheight: settings.rowHeight,\n\t\t\t\tlabpad: settings.labelPad,\n\t\t\t\tlabColor: plot.labColor\n\t\t\t})\n\n\t\t\tconst transformStr = `translate(${plot.x}, ${plot.y})${settings.isVertical ? `, rotate(-90)` : ''}`\n\t\t\tg.attr('transform', transformStr)\n\n\t\t\tif (settings.isVertical) {\n\t\t\t\t//Rotate the text slightly in veritcal orientation\n\t\t\t\tg.select('text').attr('transform', 'rotate(45)')\n\t\t\t}\n\n\t\t\tnew BoxPlotToolTips(plot, g, this.dom.tip, settings.isVertical)\n\t\t\tif (data.plots.length > 1) {\n\t\t\t\t//Do not try to use the same tip for the menu as the tooltips.\n\t\t\t\t//When the boxplots are rendered close together, the menu\n\t\t\t\t//disappears to show the tooltip for the next boxplot.\n\t\t\t\t//The user can't make a selection in time.\n\t\t\t\tconst labelMenuTip = new Menu({ padding: '' })\n\t\t\t\tnew BoxPlotLabelMenu(\n\t\t\t\t\tplot as unknown as RenderedPlot,\n\t\t\t\t\tthis.app,\n\t\t\t\t\tthis.interactions,\n\t\t\t\t\tlabelMenuTip,\n\t\t\t\t\tsettings.isVertical\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t}\n}\n", "import type { MassAppApi, MassState } from '#mass/types/mass'\nimport type { RenderedPlot } from '../view/RenderedPlot'\nimport type { TermWrapper } from '#types'\nimport type { AnnotatedSampleData } from '../../../types/termdb'\nimport { roundValueAuto } from '#shared/roundValue.js'\nimport { getSamplelstFilter } from '../../../mass/groups.js'\n\nexport class ListSamples {\n\tapp: MassAppApi\n\tdataOpts: {\n\t\tterms: any[]\n\t\tfilter: any\n\t}\n\tplot: RenderedPlot\n\tterm: any\n\ttvslst: any\n\tconstructor(app: MassAppApi, state: MassState, id: string, plot: RenderedPlot, getRange = true) {\n\t\tthis.app = app\n\t\tthis.plot = plot\n\n\t\tconst plotConfig = state.plots.find((p: { id: string }) => p.id === id)\n\t\tif (!plotConfig) throw 'Box plot not found [ListSamples]'\n\n\t\ttry {\n\t\t\t//ids 'min' and 'max' are always present in the descrStats{}\n\t\t\tconst min = plot.descrStats.min.value\n\t\t\tconst max = plot.descrStats.max.value\n\t\t\tthis.tvslst = this.getTvsLst(min, max, getRange, plotConfig.term, plotConfig.term2)\n\t\t} catch (e: any) {\n\t\t\tconsole.error(e.message || e)\n\t\t}\n\n\t\tthis.term = plotConfig.term.q?.mode === 'continuous' ? plotConfig.term : plotConfig.term2\n\n\t\tconst filter = {\n\t\t\ttype: 'tvslst',\n\t\t\tjoin: 'and',\n\t\t\tlst: [state.termfilter.filter, this.tvslst],\n\t\t\tin: true\n\t\t}\n\t\tthis.dataOpts = {\n\t\t\tterms: [this.term],\n\t\t\tfilter\n\t\t}\n\t}\n\n\tasync getData() {\n\t\treturn await this.app.vocabApi.getAnnotatedSampleData(this.dataOpts)\n\t}\n\n\tsetRows(data: AnnotatedSampleData) {\n\t\tconst rows: [{ value: string }, { value: number }][] = []\n\t\tfor (const [c, k] of Object.entries(data.samples))\n\t\t\trows.push([\n\t\t\t\t{ value: data.refs.bySampleId[c].label },\n\t\t\t\t{ value: Number(roundValueAuto((k as Record<string, { value: number }>)[this.term.$id].value)) }\n\t\t\t])\n\t\treturn rows\n\t}\n\n\tcreateTvsTerm(tw: TermWrapper, tvslst: any) {\n\t\ttvslst.lst.push({\n\t\t\ttype: 'tvs',\n\t\t\ttvs: {\n\t\t\t\tterm: tw.term\n\t\t\t}\n\t\t})\n\t}\n\n\tcreateTvsLstValues(tw: any, tvslst: any, lstIdx: number) {\n\t\tthis.createTvsTerm(tw, tvslst)\n\t\tif (tw.term.type === 'samplelst') {\n\t\t\tconst key: any = this.plot.seriesId\n\t\t\tconst ids = tw.term.values[key].list.map(s => s.sampleId)\n\t\t\tconst tvs = getSamplelstFilter(ids).lst[0] // tvslst is an array of 1 tvs\n\t\t\ttvslst.lst[lstIdx] = tvs\n\t\t} else tvslst.lst[lstIdx].tvs.values = [{ key: this.plot.seriesId, label: this.plot.key }]\n\n\t\tif (tw.term.type === 'condition') {\n\t\t\tObject.assign(tvslst.lst[lstIdx].tvs, {\n\t\t\t\tbar_by_grade: tw.q?.bar_by_grade || null,\n\t\t\t\tvalue_by_max_grade: tw.q.value_by_max_grade\n\t\t\t})\n\t\t}\n\t}\n\n\tcreateTvsLstRanges(tw: TermWrapper, tvslst: any, rangeStart: number, rangeStop: number, lstIdx: number) {\n\t\tthis.createTvsTerm(tw, tvslst)\n\n\t\ttvslst.lst[lstIdx].tvs.ranges = [\n\t\t\t{\n\t\t\t\t//Only show integers for integer terms\n\t\t\t\tstart: tw.term.type == 'integer' ? Math.round(rangeStart) : rangeStart,\n\t\t\t\tstop: tw.term.type == 'integer' ? Math.round(rangeStop) : rangeStop,\n\t\t\t\tstartinclusive: true,\n\t\t\t\tstopinclusive: true,\n\t\t\t\tstartunbounded: false,\n\t\t\t\tstopunbounded: false\n\t\t\t}\n\t\t]\n\t}\n\n\tassignPlotRangeRanges() {\n\t\tconst { start, stop, startinclusive, stopinclusive, startunbounded, stopunbounded } = this.plot.overlayBins || {}\n\t\treturn [\n\t\t\t{\n\t\t\t\tstart: start ?? null,\n\t\t\t\tstop: stop ?? null,\n\t\t\t\tstartinclusive: startinclusive ?? true,\n\t\t\t\tstopinclusive: stopinclusive ?? false,\n\t\t\t\tstartunbounded: startunbounded ?? null,\n\t\t\t\tstopunbounded: stopunbounded ?? null\n\t\t\t}\n\t\t]\n\t}\n\n\tisContinuousOrBinned(tw2: TermWrapper) {\n\t\tif (!('mode' in tw2.q)) return\n\t\treturn (\n\t\t\ttw2.q?.mode === 'continuous' || (['float', 'integer'].includes(tw2.term?.type) && this.plot.overlayBins != null)\n\t\t)\n\t}\n\n\tgetTvsLst(rangeStart: number, rangeStop: number, getRange = true, tw1: TermWrapper, tw2: TermWrapper) {\n\t\tconst tvslst: {\n\t\t\ttype: string\n\t\t\tin: boolean\n\t\t\tjoin: string\n\t\t\tlst: any[]\n\t\t} = {\n\t\t\ttype: 'tvslst',\n\t\t\tin: true,\n\t\t\tjoin: 'and',\n\t\t\tlst: []\n\t\t}\n\t\tconst isTw1CategoricalOrCondition = ['categorical', 'condition'].includes(tw1.term.type)\n\t\tif (tw2) {\n\t\t\tif (isTw1CategoricalOrCondition) {\n\t\t\t\tthis.createTvsLstValues(tw1, tvslst, 0)\n\t\t\t\tif (getRange) this.createTvsLstRanges(tw2, tvslst, rangeStart, rangeStop, 1)\n\t\t\t} else if (this.isContinuousOrBinned(tw2)) {\n\t\t\t\tthis.createTvsTerm(tw2, tvslst)\n\t\t\t\ttvslst.lst[0].tvs.ranges = this.assignPlotRangeRanges()\n\t\t\t\tif (getRange) this.createTvsLstRanges(tw1, tvslst, rangeStart, rangeStop, 1)\n\t\t\t} else {\n\t\t\t\tthis.createTvsLstValues(tw2, tvslst, 0)\n\t\t\t\tif (getRange) this.createTvsLstRanges(tw1, tvslst, rangeStart, rangeStop, 1)\n\t\t\t}\n\t\t} else {\n\t\t\tif (getRange) this.createTvsLstRanges(tw1, tvslst, rangeStart, rangeStop, 0)\n\t\t}\n\n\t\treturn tvslst\n\t}\n}\n", "import type { BoxPlotDom, LegendItemEntry, BoxPlotConfig } from '../BoxPlotTypes'\nimport type { MassAppApi } from '#mass/types/mass'\nimport type { RenderedPlot } from '../view/RenderedPlot'\nimport { ListSamples } from './ListSamples'\nimport { filterJoin, getFilterItemByTag } from '#filter'\n\nexport class BoxPlotInteractions {\n\tapp: MassAppApi\n\tdom: BoxPlotDom\n\tid: string\n\tconstructor(app: MassAppApi, dom: BoxPlotDom, id: string) {\n\t\tthis.app = app\n\t\tthis.dom = dom\n\t\tthis.id = id\n\t}\n\n\thelp() {\n\t\t//May add more options in the future\n\t\twindow.open('https://github.com/stjude/proteinpaint/wiki/Box-plot')\n\t}\n\n\t/** Option to add a global filter from the box plot label menu. */\n\taddFilter(plot: RenderedPlot) {\n\t\tconst config = this.app.getState()\n\t\tconst sampleList = new ListSamples(this.app, config, this.id, plot, false)\n\t\tconst filterUiRoot = getFilterItemByTag(config.termfilter.filter, 'filterUiRoot')\n\t\tconst filter = filterJoin([filterUiRoot, sampleList.tvslst])\n\t\tfilter.tag = 'filterUiRoot'\n\t\tthis.app.dispatch({\n\t\t\ttype: 'filter_replace',\n\t\t\tfilter\n\t\t})\n\t}\n\n\t/** Option to hide a plot from the box plot label menu. */\n\thidePlot(plot: RenderedPlot) {\n\t\tconst plotConfig = this.app.getState().plots.find((p: BoxPlotConfig) => p.id === this.id)\n\t\t//Don't try to modify a frozen object\n\t\tconst config = structuredClone(plotConfig)\n\t\tconst contTerm = config.term.q.mode == 'continuous' ? 'term2' : 'term'\n\t\tif (!config[contTerm].q.hiddenValues) config[contTerm].q.hiddenValues = {}\n\t\tconfig[contTerm].q.hiddenValues[plot.key] = 1\n\t\tthis.app.dispatch({\n\t\t\ttype: 'plot_edit',\n\t\t\tid: this.id,\n\t\t\tconfig: config\n\t\t})\n\t}\n\n\t/** Trigger when clicking on a hidden plot in the legend */\n\tunhidePlot(item: LegendItemEntry) {\n\t\tconst plotConfig = this.app.getState().plots.find((p: BoxPlotConfig) => p.id === this.id)\n\t\tconst config = structuredClone(plotConfig)\n\t\tconst contTerm = config.term.q.mode == 'continuous' ? 'term2' : 'term'\n\t\tdelete config[contTerm].q.hiddenValues[item.key]\n\t\tthis.app.dispatch({\n\t\t\ttype: 'plot_edit',\n\t\t\tid: this.id,\n\t\t\tconfig\n\t\t})\n\t}\n\n\t/** Option from box plot label to show the samples in a table within the tooltip. */\n\tasync listSamples(plot: RenderedPlot) {\n\t\tconst config = this.app.getState()\n\t\tconst sampleList = new ListSamples(this.app, config, this.id, plot)\n\t\tconst data = await sampleList.getData()\n\t\tconst rows = sampleList.setRows(data)\n\t\treturn rows\n\t}\n\n\t/** Callback for color picker in plot(s) label menu */\n\tupdatePlotColor(plot: RenderedPlot, color: string) {\n\t\tif (!plot.seriesId) return\n\t\tconst plotConfig = this.app.getState().plots.find((p: BoxPlotConfig) => p.id === this.id)\n\t\tconst config = structuredClone(plotConfig)\n\t\tconfig.term2.term.values[plot.seriesId].color = color\n\t\tthis.app.dispatch({\n\t\t\ttype: 'plot_edit',\n\t\t\tid: this.id,\n\t\t\tconfig\n\t\t})\n\t}\n\n\tclearDom() {\n\t\tthis.dom.error.style('padding', '').text('')\n\t\tthis.dom.charts.selectAll('*').remove()\n\t\tthis.dom.legend.selectAll('*').remove()\n\t}\n}\n", "import type { LegendData, LegendItemEntry } from '../BoxPlotTypes'\nimport type { BoxPlotInteractions } from '../interactions/BoxPlotInteractions'\nimport type { Div } from '../../../types/d3'\n\nexport class LegendRenderer {\n\tinteractions: BoxPlotInteractions\n\ttextColor: string\n\tconstructor(legendDiv: Div, legendData: LegendData, interactions: BoxPlotInteractions, textColor: string) {\n\t\tthis.interactions = interactions\n\t\tthis.textColor = textColor\n\t\tthis.renderLegend(legendDiv, legendData)\n\t}\n\n\trenderLegend(legendDiv: Div, legendData: LegendData) {\n\t\tlegendDiv.attr('id', 'sjpp-boxplot-legend')\n\t\tfor (const section of legendData) {\n\t\t\tlegendDiv.append('div').style('opacity', '0.5').style('color', this.textColor).text(section.label)\n\t\t\tconst sectionDiv = legendDiv.append('div').style('padding-left', '10px')\n\t\t\tfor (const item of section.items) {\n\t\t\t\tthis.addItem(item, sectionDiv)\n\t\t\t}\n\t\t}\n\t}\n\n\taddItem(item: LegendItemEntry, sectionDiv: Div) {\n\t\tconst legendItem = sectionDiv.append('div')\n\t\tif (item.isPlot) {\n\t\t\tlegendItem\n\t\t\t\t.append('div')\n\t\t\t\t.style('display', 'inline-block')\n\t\t\t\t.style('margin-right', '3px')\n\t\t\t\t.style('position', 'relative')\n\t\t\t\t.style('vertical-align', 'middle')\n\t\t\t\t.html(`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"${this.textColor}\" class=\"bi bi-arrow-counterclockwise\" viewBox=\"0 0 16 16\" style=\"vertical-align: middle; display: block; margin: auto;\">\n <path stroke=\"#000\" stroke-width=\"0.25\" fill-rule=\"evenodd\" d=\"M8 3a5 5 0 1 1-4.546 2.914.5.5 0 0 0-.908-.417A6 6 0 1 0 8 2v1z\"/>\n <path d=\"M8 4.466V.534a.25.25 0 0 0-.41-.192L5.23 2.308a.25.25 0 0 0 0 .384l2.36 1.966A.25.25 0 0 0 8 4.466z\"/>\n </svg>`)\n\t\t}\n\t\tlegendItem\n\t\t\t.append('div')\n\t\t\t.style('display', 'inline-block')\n\t\t\t.style('color', this.textColor)\n\t\t\t.style('text-decoration', item.isHidden ? 'line-through' : '')\n\t\t\t.text(item.text)\n\n\t\tif (item.isPlot) {\n\t\t\t//Do not apply to uncomputable values, only items with plot data\n\t\t\tlegendItem.attr('aria-label', `Click to unhide plot`).on('click', () => {\n\t\t\t\tthis.interactions.unhidePlot(item)\n\t\t\t})\n\t\t}\n\t}\n}\n", "import { renderTable } from '#dom'\n\nexport class AssociationTableRender {\n\tconstructor(div, data) {\n\t\tconst wrapper = div.style('vertical-align', 'top').style('margin-top', '30px')\n\n\t\t//Title div\n\t\twrapper\n\t\t\t.append('div')\n\t\t\t.text(\"Group comparisons (Wilcoxon's rank sum test)\")\n\t\t\t.style('font-weight', '600')\n\t\t\t.style('text-align', 'center')\n\n\t\tconst tableDiv = wrapper.append('div').style('margin-top', '5px')\n\t\trenderTable({\n\t\t\tdiv: tableDiv,\n\t\t\tcolumns: [{ label: 'Group 1' }, { label: 'Group 2' }, { label: 'P-Value' }],\n\t\t\trows: data\n\t\t})\n\t}\n}\n", "import { getCompInit, copyMerge, type RxComponent } from '#rx'\nimport { fillTermWrapper } from '#termsetting'\nimport { controlsInit, term0_term2_defaultQ, renderTerm1Label } from '../controls'\nimport { plotColor } from '#shared/common.js'\nimport { Menu, getMaxLabelWidth, DownloadMenu } from '#dom'\nimport type { Elem } from '../../types/d3'\nimport type { MassAppApi, MassState } from '#mass/types/mass'\nimport type { TdbBoxPlotOpts, BoxPlotSettings, BoxPlotDom, BoxPlotConfigOpts } from './BoxPlotTypes'\nimport { Model } from './model/Model'\nimport { ViewModel, getChartTitle } from './viewModel/ViewModel'\nimport { View } from './view/View'\nimport { BoxPlotInteractions } from './interactions/BoxPlotInteractions'\nimport { LegendRenderer } from './view/LegendRender'\nimport { getCombinedTermFilter } from '#filter'\nimport { PlotBase, defaultUiLabels } from '#plots/PlotBase.ts'\nimport { AssociationTableRender } from './view/AssociationTableRender'\n\nexport class TdbBoxplot extends PlotBase implements RxComponent {\n\tstatic type = 'boxplot'\n\ttype: string\n\tcomponents: { controls: any }\n\tdom: BoxPlotDom\n\tdata: any\n\tinteractions?: BoxPlotInteractions\n\tprivate useDefaultSettings = true\n\tparentId?: string\n\tapi: any\n\n\tconstructor(opts: TdbBoxPlotOpts, api: MassAppApi) {\n\t\tsuper(opts)\n\t\tthis.opts = opts\n\t\tthis.api = api\n\t\tthis.type = TdbBoxplot.type\n\t\tthis.components = {\n\t\t\tcontrols: {}\n\t\t}\n\n\t\tconst holder = opts.holder.classed('sjpp-boxplot-main', true)\n\t\tconst controls = opts.controls ? holder : holder.append('div')\n\t\tconst div = holder.append('div')\n\t\tconst errorDiv = div.append('div').attr('class', 'sjpp-boxplot-error').style('opacity', 0.75)\n\t\tconst chartsDiv = div\n\t\t\t.append('div')\n\t\t\t.attr('class', 'sjpp-boxplot-charts')\n\t\t\t.style('display', 'flex')\n\t\t\t.style('flex-direction', 'row')\n\t\t\t.style('flex-wrap', 'wrap')\n\t\t\t.style('max-width', '100vw')\n\t\tthis.dom = {\n\t\t\tcontrols: controls as Elem,\n\t\t\tdiv,\n\t\t\terror: errorDiv,\n\t\t\tcharts: chartsDiv,\n\t\t\tlegend: div.append('div').attr('class', 'sjpp-boxplot-legend').style('margin-top', '25px'),\n\t\t\ttip: new Menu()\n\t\t}\n\t\tif (opts.header) this.dom.header = opts.header.html('Box plot')\n\t}\n\n\tasync setControls() {\n\t\tconst state = this.getState(this.app.getState())\n\t\tconst controlLabels = state.config.controlLabels\n\t\tif (!controlLabels) throw new Error('controls labels not found')\n\t\tconst inputs: { [index: string]: any }[] = [\n\t\t\t{\n\t\t\t\ttype: 'term',\n\t\t\t\tconfigKey: 'term',\n\t\t\t\tchartType: 'boxplot',\n\t\t\t\tusecase: { target: 'boxplot', detail: 'term' },\n\t\t\t\tlabel: controlLabels.term1?.label || renderTerm1Label,\n\t\t\t\tvocabApi: this.app.vocabApi,\n\t\t\t\tmenuOptions: 'edit'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: 'term',\n\t\t\t\tconfigKey: 'term2',\n\t\t\t\tchartType: 'boxplot',\n\t\t\t\tusecase: { target: 'boxplot', detail: 'term2' },\n\t\t\t\ttitle: controlLabels.term2.title || controlLabels.term2.label,\n\t\t\t\tlabel: controlLabels.term2.label,\n\t\t\t\tvocabApi: this.app.vocabApi,\n\t\t\t\tnumericEditMenuVersion: this.opts.numericEditMenuVersion || ['continuous', 'discrete'],\n\t\t\t\tdefaultQ4fillTW: term0_term2_defaultQ\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: 'term',\n\t\t\t\tconfigKey: 'term0',\n\t\t\t\tchartType: 'boxplot',\n\t\t\t\tusecase: { target: 'boxplot', detail: 'term0' },\n\t\t\t\ttitle: controlLabels.term0.title || controlLabels.term0.label,\n\t\t\t\tlabel: controlLabels.term0.label,\n\t\t\t\tvocabApi: this.app.vocabApi,\n\t\t\t\tnumericEditMenuVersion: this.opts.numericEditMenuVersion || ['continuous', 'discrete'],\n\t\t\t\tdefaultQ4fillTW: term0_term2_defaultQ\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Order by',\n\t\t\t\ttitle: 'Order box plots by parameters',\n\t\t\t\ttype: 'radio',\n\t\t\t\tchartType: 'boxplot',\n\t\t\t\tsettingsKey: 'orderByMedian',\n\t\t\t\toptions: [\n\t\t\t\t\t{ label: 'Default', value: false },\n\t\t\t\t\t{ label: 'Median values', value: true }\n\t\t\t\t],\n\t\t\t\tgetDisplayStyle: () => {\n\t\t\t\t\tlet style = 'none'\n\t\t\t\t\tfor (const k of Object.keys(this.data.charts)) {\n\t\t\t\t\t\tconst chart = this.data.charts[k]\n\t\t\t\t\t\tif (chart.plots.length > 1) style = ''\n\t\t\t\t\t}\n\t\t\t\t\treturn style\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Scale',\n\t\t\t\ttitle: 'Change the axis scale',\n\t\t\t\ttype: 'radio',\n\t\t\t\tchartType: 'boxplot',\n\t\t\t\tsettingsKey: 'isLogScale',\n\t\t\t\toptions: [\n\t\t\t\t\t{ label: 'Linear', value: false },\n\t\t\t\t\t{ label: 'Log10', value: true }\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Orientation',\n\t\t\t\ttitle: 'Change the orientation of the box plots',\n\t\t\t\ttype: 'radio',\n\t\t\t\tchartType: 'boxplot',\n\t\t\t\tsettingsKey: 'isVertical',\n\t\t\t\toptions: [\n\t\t\t\t\t{ label: 'Vertical', value: true },\n\t\t\t\t\t{ label: 'Horizontal', value: false }\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Plot length',\n\t\t\t\ttitle: 'Set the plot length of the entire plot in pixels, >=200',\n\t\t\t\ttype: 'number',\n\t\t\t\tchartType: 'boxplot',\n\t\t\t\tsettingsKey: 'plotLength',\n\t\t\t\tdebounceInterval: 500,\n\t\t\t\tmin: 200,\n\t\t\t\tstep: 10\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Plot height',\n\t\t\t\ttitle: 'Set the height of each box plot between 20 and 50',\n\t\t\t\ttype: 'number',\n\t\t\t\tchartType: 'boxplot',\n\t\t\t\tsettingsKey: 'rowHeight',\n\t\t\t\tstep: 1,\n\t\t\t\tmax: 50,\n\t\t\t\tmin: 20,\n\t\t\t\tdebounceInterval: 500,\n\t\t\t\tprocessInput: (val: number) => {\n\t\t\t\t\t/**TODO: This is a hack. */\n\t\t\t\t\tif (this.useDefaultSettings == true) this.useDefaultSettings = false\n\t\t\t\t\treturn val\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Plot padding',\n\t\t\t\ttitle: 'Set the space between each box plot. Number must be between 10 and 20',\n\t\t\t\ttype: 'number',\n\t\t\t\tchartType: 'boxplot',\n\t\t\t\tsettingsKey: 'rowSpace',\n\t\t\t\tstep: 1,\n\t\t\t\tmax: 20,\n\t\t\t\tmin: 10,\n\t\t\t\tdebounceInterval: 500,\n\t\t\t\tprocessInput: (val: number) => {\n\t\t\t\t\t/**TODO: This is a hack. */\n\t\t\t\t\tif (this.useDefaultSettings == true) this.useDefaultSettings = false\n\t\t\t\t\treturn val\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Default color',\n\t\t\t\ttype: 'color',\n\t\t\t\tchartType: 'boxplot',\n\t\t\t\tsettingsKey: 'color',\n\t\t\t\tgetDisplayStyle: () => {\n\t\t\t\t\tlet style = ''\n\t\t\t\t\tfor (const k of Object.keys(this.data.charts)) {\n\t\t\t\t\t\tconst chart = this.data.charts[k]\n\t\t\t\t\t\tif (chart.plots.length > 1) style = 'none'\n\t\t\t\t\t}\n\t\t\t\t\treturn style\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Display mode',\n\t\t\t\ttitle: 'Apply a dark theme to the plot',\n\t\t\t\ttype: 'radio',\n\t\t\t\tchartType: 'boxplot',\n\t\t\t\tsettingsKey: 'displayMode',\n\t\t\t\toptions: [\n\t\t\t\t\t{ label: 'Default', value: 'default' },\n\t\t\t\t\t{ label: 'Filled', value: 'filled' },\n\t\t\t\t\t{ label: 'Dark mode', value: 'dark' }\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Show association tests',\n\t\t\t\tboxLabel: '',\n\t\t\t\ttype: 'checkbox',\n\t\t\t\tchartType: 'boxplot',\n\t\t\t\tsettingsKey: 'showAssocTests',\n\t\t\t\ttitle: `Show association tests next to the box plots.`,\n\t\t\t\tgetDisplayStyle: plot => {\n\t\t\t\t\treturn plot?.term2 ? '' : 'none'\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\n\t\tif (state.termdbConfig?.boxplots?.removeOutliers) {\n\t\t\tinputs.push({\n\t\t\t\tlabel: 'Remove outliers',\n\t\t\t\tboxLabel: '',\n\t\t\t\ttype: 'checkbox',\n\t\t\t\tchartType: 'boxplot',\n\t\t\t\tsettingsKey: 'removeOutliers',\n\t\t\t\ttitle: `Option to remove outliers from the analysis`\n\t\t\t})\n\t\t}\n\n\t\tthis.components.controls = await controlsInit({\n\t\t\tapp: this.app,\n\t\t\tid: this.id,\n\t\t\tholder: this.dom.controls.style('display', 'inline-block'),\n\t\t\tinputs\n\t\t})\n\n\t\tthis.components.controls.on('downloadClick.boxplot', event => {\n\t\t\tthis.download(event)\n\t\t})\n\t\tthis.components.controls.on('helpClick.boxplot', () => {\n\t\t\tthis.interactions!.help()\n\t\t})\n\n\t\tif (state.vocab.dslabel.toLowerCase() == 'gdc') {\n\t\t\t//Remove for now. May add gdc specific user guide\n\t\t\t//in interactions.help later.\n\t\t\tthis.dom.controls.select('div[aria-label=\"Documentation\"]').remove()\n\t\t}\n\t}\n\n\treactsTo(action) {\n\t\tif (action.type.startsWith('plot_')) {\n\t\t\treturn (\n\t\t\t\t(action.id === this.id || action.id == this.parentId) &&\n\t\t\t\t(!action.config?.childType || action.config?.childType == this.type)\n\t\t\t)\n\t\t}\n\t\treturn true\n\t}\n\n\tgetState(appState: MassState) {\n\t\tconst config = appState.plots.find((p: any) => p.id === this.id)\n\t\tif (!config) {\n\t\t\tthrow new Error(\n\t\t\t\t`No plot with id='${this.id}' found. Did you set this.id before this.api = getComponentApi(this)?`\n\t\t\t)\n\t\t}\n\t\tconst parentConfig = appState.plots.find(p => p.id === this.parentId)\n\t\tconst termfilter = getCombinedTermFilter(appState, config.filter || parentConfig?.filter)\n\t\treturn {\n\t\t\ttermdbConfig: appState.termdbConfig,\n\t\t\ttermfilter,\n\t\t\tvocab: appState.vocab,\n\t\t\tconfig: Object.assign({}, config, {\n\t\t\t\tsettings: {\n\t\t\t\t\tboxplot: config.settings.boxplot\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\tasync init() {\n\t\tthis.dom.div.style('display', 'inline-block').style('margin-left', '20px')\n\t\tthis.interactions = new BoxPlotInteractions(this.app, this.dom, this.id)\n\t\tawait this.setControls()\n\t}\n\n\tasync main() {\n\t\ttry {\n\t\t\tconst config = structuredClone(this.state.config)\n\t\t\tif (config.childType != this.type && config.chartType != this.type) return\n\n\t\t\tif (!this.interactions) throw new Error('Interactions not initialized [box plot main()]')\n\n\t\t\tconst settings = config.settings.boxplot\n\t\t\tconst model = new Model(this, config)\n\t\t\tconst data = await model.getData()\n\t\t\tconfig.term.q.descrStats = data.descrStats\n\n\t\t\tif (data.error) throw new Error(data.error)\n\t\t\tif (!data.charts || !Object.keys(data.charts).length) {\n\t\t\t\tthis.interactions!.clearDom()\n\t\t\t\tthis.dom.error.style('padding', '20px 20px 20px 60px').text('No visible box plot data to render')\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.data = data\n\t\t\tthis.dom.charts.selectAll('*').remove()\n\n\t\t\t/** TODO: Refactor all of the code below into mvvm\n\t\t\t * pattern. This breaks maintainability and separation of concerns. */\n\t\t\tconst labels: any = []\n\t\t\tconst tempsvg = this.dom.charts.append('svg')\n\t\t\tfor (const key of Object.keys(data.charts)) {\n\t\t\t\tconst chart = data.charts[key]\n\t\t\t\tconst chartLabels = chart.plots.filter(p => !p.isHidden).map(p => p.boxplot.label)\n\t\t\t\tlabels.push(...chartLabels)\n\t\t\t}\n\t\t\tconst maxLabelLgth = getMaxLabelWidth(tempsvg.append('g'), labels)\n\t\t\ttempsvg.remove()\n\n\t\t\t// plot charts\n\t\t\tconst legend: any = [] // legend items across charts\n\t\t\tfor (const key of Object.keys(data.charts)) {\n\t\t\t\tconst chart = data.charts[key]\n\t\t\t\tchart.absMin = data.absMin\n\t\t\t\tchart.absMax = data.absMax\n\t\t\t\tchart.uncomputableValues = data.uncomputableValues\n\t\t\t\t// get view model of chart\n\t\t\t\tconst viewModel = new ViewModel(config, chart, settings, maxLabelLgth, this.useDefaultSettings)\n\t\t\t\t// collect legend items\n\t\t\t\tfor (const l of viewModel.viewData.legend) {\n\t\t\t\t\tif (!legend.find(x => x.label == l.label)) legend.push(l)\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\t(viewModel.rowSpace !== settings.rowSpace || viewModel.rowHeight !== settings.rowHeight) &&\n\t\t\t\t\tthis.useDefaultSettings == true\n\t\t\t\t) {\n\t\t\t\t\t/** Fix this. Move to ViewModel, figure out for all plots once, only call app.save once.*/\n\n\t\t\t\t\t/** If the row height or space changed during data processing,\n\t\t\t\t\t * save the new settings without calling app.dispatch.\n\t\t\t\t\t * Will show updated value in the controls. */\n\t\t\t\t\tsettings.rowSpace = viewModel.rowSpace\n\t\t\t\t\tsettings.rowHeight = viewModel.rowHeight\n\n\t\t\t\t\tthis.app.save({\n\t\t\t\t\t\ttype: 'plot_edit',\n\t\t\t\t\t\tid: this.id,\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\tsettings: {\n\t\t\t\t\t\t\t\tboxplot: {\n\t\t\t\t\t\t\t\t\trowSpace: viewModel.rowSpace,\n\t\t\t\t\t\t\t\t\trowHeight: viewModel.rowHeight\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\t// render view of chart\n\t\t\t\t// setup a dom{} object for the chart\n\t\t\t\tconst chartDiv = this.dom.charts\n\t\t\t\t\t.append('div')\n\t\t\t\t\t.attr('class', 'sjpp-boxplot-chartDiv')\n\t\t\t\t\t.style('padding', Object.keys(data.charts).length > 1 ? '20px 20px 0px 0px' : '0px')\n\t\t\t\tconst chartSvg = chartDiv.append('svg')\n\t\t\t\tchart.svg = chartSvg // for downloading svg\n\t\t\t\tconst chartTitle = chartDiv\n\t\t\t\t\t.append('div')\n\t\t\t\t\t.attr('class', 'pp-chart-title')\n\t\t\t\t\t.style('display', config.term0 ? 'block' : 'none')\n\t\t\t\t\t.style('text-align', 'center')\n\t\t\t\t\t.style('font-size', '1.1em')\n\t\t\t\t\t.style('margin-bottom', '20px')\n\t\t\t\t//Temp fix\n\t\t\t\tconst assocTableDiv = chartDiv\n\t\t\t\t\t.append('div')\n\t\t\t\t\t.attr('class', 'sjpp-boxplot-assocTableDiv')\n\t\t\t\t\t.style('display', 'inline-block')\n\t\t\t\tconst chartDom = Object.assign({}, this.dom, {\n\t\t\t\t\tsvg: chartSvg,\n\t\t\t\t\tchartTitle,\n\t\t\t\t\tplotTitle: chartSvg.append('text'),\n\t\t\t\t\taxis: chartSvg.append('g'),\n\t\t\t\t\tboxplots: chartSvg.append('g'),\n\t\t\t\t\tassocTableDiv: assocTableDiv\n\t\t\t\t})\n\t\t\t\t// render the view\n\t\t\t\tnew View(viewModel.viewData, settings, chartDom, this.app, this.interactions)\n\t\t\t\t//Temp fix: This should be handled by the view\n\t\t\t\tif (chart.wilcoxon) new AssociationTableRender(chartDom.assocTableDiv, chart.wilcoxon)\n\t\t\t}\n\t\t\t// render legend (applies to all charts)\n\t\t\tthis.dom.legend.selectAll('*').remove()\n\t\t\tconst textColor = settings.displayMode == 'dark' ? 'white' : 'black'\n\t\t\tif (legend.length) new LegendRenderer(this.dom.legend, legend, this.interactions, textColor)\n\t\t} catch (e: any) {\n\t\t\tif (this.app.isAbortError(e)) return\n\t\t\tif (e.stack) console.log(e.stack)\n\t\t\tif (e instanceof Error) console.error(e.message || e)\n\t\t\tthrow new Error(e)\n\t\t}\n\t}\n\n\tgetChartImages() {\n\t\tconst chartImages: any[] = []\n\t\tconst charts: any[] = this.data.charts\n\t\tfor (const [key, chart] of Object.entries(charts)) {\n\t\t\tconst svg: any = chart.svg\n\t\t\tconst title = getChartTitle(this.state.config, key)\n\t\t\tconst name = `${this.state.config.term.term.name} ${title}`\n\t\t\tchartImages.push({ name, svg })\n\t\t}\n\t\treturn chartImages\n\t}\n\n\tdownload(event) {\n\t\tif (!this.state) return\n\n\t\tconst name2svg = this.getChartImages()\n\t\tconst dm = new DownloadMenu(name2svg, this.state.config.term.term.name)\n\t\tdm.show(event.clientX, event.clientY)\n\t}\n}\n\nexport const boxplotInit = getCompInit(TdbBoxplot)\nexport const componentInit = boxplotInit\n\nexport function getDefaultBoxplotSettings(app, overrides = {}) {\n\tconst defaults: BoxPlotSettings = {\n\t\tplotLength: 550,\n\t\tcolor: plotColor,\n\t\tdisplayMode: 'default',\n\t\tlabelPad: 10,\n\t\tisLogScale: false,\n\t\tisVertical: false,\n\t\torderByMedian: false,\n\t\trowHeight: 50,\n\t\trowSpace: 15,\n\t\tremoveOutliers: false,\n\t\tshowAssocTests: true\n\t}\n\treturn Object.assign(defaults, overrides)\n}\n\nexport async function getPlotConfig(opts: BoxPlotConfigOpts, app: MassAppApi) {\n\tif (!opts.term) throw new Error('opts.term{} missing')\n\ttry {\n\t\tawait fillTermWrapper(opts.term, app.vocabApi)\n\t\tif (opts.term2) await fillTermWrapper(opts.term2, app.vocabApi)\n\t\tif (opts.term0) await fillTermWrapper(opts.term0, app.vocabApi)\n\t} catch (e) {\n\t\tconsole.error(new Error(`${e} [boxplot getPlotConfig()]`))\n\t\tthrow new Error(`boxplot getPlotConfig() failed`)\n\t}\n\n\tconst config = {\n\t\tid: opts.term.term.id,\n\t\tcontrolLabels: Object.assign({}, defaultUiLabels, app.vocabApi.termdbConfig.uiLabels || {}),\n\t\tsettings: {\n\t\t\tcontrols: {\n\t\t\t\tterm2: null,\n\t\t\t\tterm0: null\n\t\t\t},\n\t\t\tboxplot: getDefaultBoxplotSettings(app, opts.overrides || {})\n\t\t}\n\t}\n\treturn copyMerge(config, opts)\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["event"]
7
+ }
@@ -0,0 +1,55 @@
1
+ import {
2
+ colorinframe
3
+ } from "./chunk-PX7A6LBY.js";
4
+ import {
5
+ IN_frame,
6
+ OUT_frame
7
+ } from "./chunk-6VQ4C735.js";
8
+
9
+ // src/spliceevent.phrase.js
10
+ function spliceevent_phrase_default(evt) {
11
+ const htmls = [];
12
+ if (evt.isaltexon || evt.isskipexon) {
13
+ const exonstart = Math.min(...evt.skippedexon);
14
+ const exonstop = Math.max(...evt.skippedexon);
15
+ htmls.push(
16
+ '<div style="display:inline-block">' + (exonstart == exonstop ? "exon " + (exonstart + 1) : "exons " + (exonstart + 1) + "-" + (exonstop + 1)) + " " + (evt.isaltexon ? "alternative usage" : "skipping") + "</div>"
17
+ );
18
+ if (evt.isaltexon) {
19
+ htmls.push(
20
+ "<div class=sja_tinylogo_body>" + evt.gmB.isoform + ", " + evt.gmA.isoform + "</div><div class=sja_tinylogo_head>ISOFORMS</div>"
21
+ );
22
+ } else {
23
+ htmls.push("<div class=sja_tinylogo_body>" + evt.gm.isoform + "</div><div class=sja_tinylogo_head>ISOFORM</div>");
24
+ }
25
+ if (evt.junctionB.data) {
26
+ htmls.push(
27
+ "<div class=sja_tinylogo_body>" + evt.junctionB.data.length + "</div><div class=sja_tinylogo_head>SAMPLE" + (evt.junctionB.data.length > 1 ? "S" : "") + "</div>"
28
+ );
29
+ }
30
+ htmls.push("<div class=sja_tinylogo_body>" + evt.percentage + " %</div><div class=sja_tinylogo_head>PERCENT</div>");
31
+ if (evt.framenocheck) {
32
+ if (evt.utr3) {
33
+ htmls.push(`<div class=sja_tinylogo_body style="background-color:#ededed">3' UTR</div>`);
34
+ } else if (evt.utr5) {
35
+ htmls.push(`<div class=sja_tinylogo_body style="background-color:#ededed">5' UTR</div>`);
36
+ }
37
+ } else if (evt.frame == IN_frame) {
38
+ htmls.push(
39
+ '<div class=sja_tinylogo_body style="background-color:' + colorinframe + ';color:white">IN</div><div class=sja_tinylogo_head>FRAME</div>'
40
+ );
41
+ } else if (evt.frame == OUT_frame) {
42
+ htmls.push("<div class=sja_tinylogo_body>OUT</div><div class=sja_tinylogo_head>FRAME</div>");
43
+ } else {
44
+ htmls.push("<div class=sja_tinylogo_body>?</div><div class=sja_tinylogo_head>FRAME</div>");
45
+ }
46
+ } else {
47
+ return "unknown event type!!";
48
+ }
49
+ return htmls.join(" ");
50
+ }
51
+
52
+ export {
53
+ spliceevent_phrase_default
54
+ };
55
+ //# sourceMappingURL=chunk-YFZH3WDM.js.map