@sjcrh/proteinpaint-client 2.190.2 → 2.191.2

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 (932) hide show
  1. package/dist/2dmaf-V4WJ2LEK.js +1373 -0
  2. package/dist/AIProjectAdmin-JMN5O6YU.js +829 -0
  3. package/dist/AppHeader-Y4SEKCEF.js +835 -0
  4. package/dist/BoxPlot-ZXQZGCR3.js +1211 -0
  5. package/dist/BoxPlot-ZXQZGCR3.js.map +7 -0
  6. package/dist/CorrelationVolcano-R5IWD6WA.js +619 -0
  7. package/dist/DE-ZV6O7B6Y.js +95 -0
  8. package/dist/DEinput-FTOALZKN.js +301 -0
  9. package/dist/DifferentialAnalysis-NLCA766A.js +245 -0
  10. package/dist/Disco-Y5Z4A7GN.js +3237 -0
  11. package/dist/Disco.UI-GSWZYIUT.js +245 -0
  12. package/dist/DmrPlot-FEFUCIGT.js +642 -0
  13. package/dist/DziViewer-6737GC22.js +16332 -0
  14. package/dist/GB-AOXF2JJB.js +1130 -0
  15. package/dist/GeneExpInput-CXYRKQU7.js +366 -0
  16. package/dist/HicApp-GLNNZ4H5.js +2250 -0
  17. package/dist/NumBinaryEditor-6ZAL6CCP.js +271 -0
  18. package/dist/NumBinaryEditor-6ZAL6CCP.js.map +7 -0
  19. package/dist/NumBinaryEditor.unit.spec-3VTJLILH.js +286 -0
  20. package/dist/NumContEditor-3LOAR676.js +109 -0
  21. package/dist/NumContEditor-3LOAR676.js.map +7 -0
  22. package/dist/NumContEditor.unit.spec-WIMYCOVO.js +169 -0
  23. package/dist/NumCustomBinEditor-XIOAYWOD.js +38 -0
  24. package/dist/NumCustomBinEditor.unit.spec-N5OV6MKR.js +284 -0
  25. package/dist/NumDiscreteEditor-AT6FKYGI.js +179 -0
  26. package/dist/NumDiscreteEditor.unit.spec-BDR5GZ46.js +202 -0
  27. package/dist/NumRegularBinEditor-Z4NBS4VZ.js +38 -0
  28. package/dist/NumRegularBinEditor.unit.spec-BRWYNQ55.js +227 -0
  29. package/dist/NumSplineEditor-B45BAWQ2.js +198 -0
  30. package/dist/NumSplineEditor-B45BAWQ2.js.map +7 -0
  31. package/dist/NumSplineEditor.unit.spec-5RDBCZ4N.js +199 -0
  32. package/dist/NumericDensity-L7HIVV7D.js +38 -0
  33. package/dist/NumericDensity.unit.spec-PL3XDJCV.js +221 -0
  34. package/dist/NumericHandler-KJYZOCCG.js +39 -0
  35. package/dist/NumericHandler.unit.spec-VC7NPLJW.js +219 -0
  36. package/dist/ProteomeInput-A3GRPIAH.js +396 -0
  37. package/dist/RunChart2-MSNU3ZNT.js +758 -0
  38. package/dist/SC-FNKG2FK5.js +936 -0
  39. package/dist/Volcano-IRJMPHXJ.js +1379 -0
  40. package/dist/WSIViewer-KITT7I67.js +48475 -0
  41. package/dist/WsiSamplesPlot-G3YZ6SIE.js +165 -0
  42. package/dist/adSandbox-GIQTJ4VA.js +38 -0
  43. package/dist/app-MGNEMS2K.js +49 -0
  44. package/dist/app-UQTHPQFD.js +37 -0
  45. package/dist/app.js +17 -17
  46. package/dist/bam-5PROQBRT.js +860 -0
  47. package/dist/barchart-BQYJ73Z4.js +47 -0
  48. package/dist/barchart.data-VFULOIHY.js +22 -0
  49. package/dist/barchart.events-W2CIDD4B.js +47 -0
  50. package/dist/barchart.integration.spec-JF2IHFQE.js +1980 -0
  51. package/dist/barchart.integration.spec-JF2IHFQE.js.map +7 -0
  52. package/dist/barchart2-V6W4UAFH.js +311 -0
  53. package/dist/block-5V2FCT7Q.js +6202 -0
  54. package/dist/block.init-43IUNDNB.js +38 -0
  55. package/dist/block.mds.expressionrank-LI6MZPBE.js +359 -0
  56. package/dist/block.mds.geneboxplot-673AIJMJ.js +828 -0
  57. package/dist/block.mds.junction-UWNVNV3X.js +1545 -0
  58. package/dist/block.mds.svcnv-Z5VFCUUE.js +6801 -0
  59. package/dist/block.svg-MGK4GWLL.js +164 -0
  60. package/dist/block.tk.aicheck-OFNDGG7Q.js +283 -0
  61. package/dist/block.tk.ase-IDZQY7MW.js +365 -0
  62. package/dist/block.tk.bam-K7A2Q5NI.js +1906 -0
  63. package/dist/block.tk.bedgraphdot-PPTKCCPK.js +384 -0
  64. package/dist/block.tk.bigwig.ui-PI6EAU43.js +212 -0
  65. package/dist/block.tk.hicstraw-EZ2GS2K4.js +823 -0
  66. package/dist/block.tk.junction-4WSLQGSQ.js +2364 -0
  67. package/dist/block.tk.junction.textmatrixui-7EJUSVMB.js +199 -0
  68. package/dist/block.tk.ld-KLVO7M37.js +99 -0
  69. package/dist/block.tk.menu-KZSL7BAR.js +1029 -0
  70. package/dist/block.tk.pgv-NYWGB4VH.js +944 -0
  71. package/dist/brainImaging-MTIIMJHW.js +423 -0
  72. package/dist/chunk-2NQLAH3L.js +443 -0
  73. package/dist/chunk-2Q6PBSPS.js +1943 -0
  74. package/dist/chunk-2TCCXOAV.js +1170 -0
  75. package/dist/chunk-2TCCXOAV.js.map +7 -0
  76. package/dist/chunk-3D5GZIGG.js +1210 -0
  77. package/dist/chunk-3TPAIXNL.js +263 -0
  78. package/dist/chunk-42EBECOD.js +95 -0
  79. package/dist/chunk-4B42QV34.js +2786 -0
  80. package/dist/chunk-4FKWINMK.js +184 -0
  81. package/dist/chunk-4FKWINMK.js.map +7 -0
  82. package/dist/chunk-4KY4XKJV.js +143 -0
  83. package/dist/chunk-52RORO74.js +158 -0
  84. package/dist/chunk-52RORO74.js.map +7 -0
  85. package/dist/chunk-5SXCIKYV.js +100 -0
  86. package/dist/chunk-647P2I4Q.js +482 -0
  87. package/dist/chunk-67HSIHPP.js +2327 -0
  88. package/dist/chunk-6GZJCSA6.js +1102 -0
  89. package/dist/chunk-6VKTEMFV.js +1815 -0
  90. package/dist/chunk-6VKTEMFV.js.map +7 -0
  91. package/dist/chunk-7JEKUSEL.js +102 -0
  92. package/dist/chunk-BMO6KSVC.js +477 -0
  93. package/dist/chunk-CKA52OEA.js +399 -0
  94. package/dist/chunk-CKA52OEA.js.map +7 -0
  95. package/dist/chunk-CKDC326M.js +50 -0
  96. package/dist/chunk-CRUBP5PT.js +446 -0
  97. package/dist/chunk-CW2Q5EA7.js +283 -0
  98. package/dist/chunk-CYHUNQMS.js +6364 -0
  99. package/dist/chunk-DC4KD6FJ.js +458 -0
  100. package/dist/chunk-DC4KD6FJ.js.map +7 -0
  101. package/dist/chunk-DHPLHIVP.js +498 -0
  102. package/dist/chunk-DJQTUDJM.js +414 -0
  103. package/dist/chunk-DJQTUDJM.js.map +7 -0
  104. package/dist/chunk-DWCVGCBX.js +381 -0
  105. package/dist/chunk-EIBNV236.js +339 -0
  106. package/dist/chunk-EZ3WMXYT.js +217 -0
  107. package/dist/chunk-F5QIZOPL.js +736 -0
  108. package/dist/chunk-F6N6JBZR.js +37 -0
  109. package/dist/chunk-FXMHSVBS.js +54 -0
  110. package/dist/chunk-FZ63VOSX.js +226 -0
  111. package/dist/chunk-GMT2GNQY.js +1332 -0
  112. package/dist/chunk-IIT367QZ.js +473 -0
  113. package/dist/chunk-IL5QT2FI.js +293 -0
  114. package/dist/chunk-J6GLTYGJ.js +2681 -0
  115. package/dist/chunk-JEZIKGZI.js +386 -0
  116. package/dist/chunk-JJOLDYSQ.js +824 -0
  117. package/dist/chunk-KSCJWPTJ.js +34 -0
  118. package/dist/chunk-L4TUTGTA.js +20787 -0
  119. package/dist/chunk-L4TUTGTA.js.map +7 -0
  120. package/dist/chunk-LT5XPBIX.js +272 -0
  121. package/dist/chunk-M3J4MINX.js +783 -0
  122. package/dist/chunk-M3J4MINX.js.map +7 -0
  123. package/dist/chunk-MEGBYD4U.js +182 -0
  124. package/dist/chunk-MEY5OBDJ.js +170 -0
  125. package/dist/chunk-MYWV64P5.js +1275 -0
  126. package/dist/chunk-MYWV64P5.js.map +7 -0
  127. package/dist/chunk-NKTBR5SK.js +613 -0
  128. package/dist/chunk-NKTBR5SK.js.map +7 -0
  129. package/dist/chunk-NVX26LFC.js +148 -0
  130. package/dist/chunk-O7NFSCEW.js +291 -0
  131. package/dist/chunk-P4QGOUDH.js +368 -0
  132. package/dist/chunk-PGBKZ76Y.js +129 -0
  133. package/dist/chunk-PQNVPSQR.js +205 -0
  134. package/dist/chunk-PQZ3A27I.js +54 -0
  135. package/dist/chunk-QNMB7LYW.js +5010 -0
  136. package/dist/chunk-RZGEKL77.js +117 -0
  137. package/dist/chunk-RZY34QRF.js +158 -0
  138. package/dist/chunk-S4JLRRKK.js +287 -0
  139. package/dist/chunk-S4JLRRKK.js.map +7 -0
  140. package/dist/chunk-SDACELDR.js +14 -0
  141. package/dist/chunk-SQWEREGE.js +222 -0
  142. package/dist/chunk-SQWEREGE.js.map +7 -0
  143. package/dist/chunk-TVADJLMF.js +317 -0
  144. package/dist/chunk-TVADJLMF.js.map +7 -0
  145. package/dist/chunk-UCLROZRF.js +142 -0
  146. package/dist/chunk-VIHUKORE.js +216 -0
  147. package/dist/chunk-VIHUKORE.js.map +7 -0
  148. package/dist/chunk-VMLSRKIB.js +276 -0
  149. package/dist/chunk-VXKO2ONI.js +534 -0
  150. package/dist/chunk-WET4LPLO.js +117 -0
  151. package/dist/chunk-WMELUFVS.js +254 -0
  152. package/dist/chunk-WS3NUPNV.js +119 -0
  153. package/dist/chunk-X5X5T3AJ.js +230 -0
  154. package/dist/chunk-X5X5T3AJ.js.map +7 -0
  155. package/dist/chunk-X63AAJGT.js +514 -0
  156. package/dist/chunk-XRAFQKOF.js +4274 -0
  157. package/dist/chunk-XRAFQKOF.js.map +7 -0
  158. package/dist/chunk-XVZ5UJWU.js +815 -0
  159. package/dist/chunk-YNBT4N6T.js +2824 -0
  160. package/dist/chunk-YVCTEEVQ.js +55 -0
  161. package/dist/chunk-YWZCJMHS.js +203 -0
  162. package/dist/chunk-Z3SC67OA.js +102 -0
  163. package/dist/chunk-ZK226W6V.js +194 -0
  164. package/dist/chunk-ZLREFIZB.js +302 -0
  165. package/dist/chunk-ZX2ISBEF.js +95 -0
  166. package/dist/condition-P2XD32QM.js +332 -0
  167. package/dist/controls-FZUTJPKV.js +41 -0
  168. package/dist/controls.btns-AP67YWKW.js +9 -0
  169. package/dist/controls.config-TEFY3NTE.js +39 -0
  170. package/dist/correlation-HS2WJFXN.js +99 -0
  171. package/dist/correlation-HS2WJFXN.js.map +7 -0
  172. package/dist/cuminc-42GBJHD3.js +1149 -0
  173. package/dist/cuminc.integration.spec-BAY4JHVL.js +678 -0
  174. package/dist/customdata.inputui-IPM5K56K.js +289 -0
  175. package/dist/dataDownload-D7VCYBDT.js +330 -0
  176. package/dist/dataDownload.integration.spec-SEBY2BIX.js +193 -0
  177. package/dist/databrowser.ui-5OC5MPZB.js +433 -0
  178. package/dist/dictionary-VVRWVLJX.js +111 -0
  179. package/dist/dnaMethylation-72IS3FRI.js +38 -0
  180. package/dist/dnaMethylation.integration.spec-U2LLSDGE.js +203 -0
  181. package/dist/dofetch-5ZRAQH5F.js +51 -0
  182. package/dist/e2pca-AR6EKEJA.js +350 -0
  183. package/dist/ep-JS5UUJQX.js +1256 -0
  184. package/dist/expclust.gdc.spec-73MGQ7RN.js +307 -0
  185. package/dist/facet-AR3QKHCY.js +521 -0
  186. package/dist/forms2-UXEI7MUP.js +534 -0
  187. package/dist/gb-RHDVYU2V.js +88 -0
  188. package/dist/geneExpClustering-L6KLCMPH.js +249 -0
  189. package/dist/geneExpression-GYT2XRE6.js +313 -0
  190. package/dist/geneExpression-SKIU3NEP.js +38 -0
  191. package/dist/geneExpression.unit.spec-CWR6KDVK.js +102 -0
  192. package/dist/geneORA-C3TALK5P.js +278 -0
  193. package/dist/geneRanking-LLYLDPLV.js +551 -0
  194. package/dist/geneVariant-PUSKBHPY.js +39 -0
  195. package/dist/geneVariant-YFMU6PHM.js +41 -0
  196. package/dist/geneVariant.integration.spec-EJ5V46OQ.js +198 -0
  197. package/dist/genefusion.ui-XUHSKQKW.js +309 -0
  198. package/dist/geneset-DEL5LXFZ.js +208 -0
  199. package/dist/genomeBrowser.spec-W5TVHOUJ.js +281 -0
  200. package/dist/grin2-FXAEGECD.js +1560 -0
  201. package/dist/grin2-U2FKULLC.js +821 -0
  202. package/dist/grin2-U2FKULLC.js.map +7 -0
  203. package/dist/gsea-CNL6SHH5.js +47 -0
  204. package/dist/hierCluster-7V65PMIW.js +59 -0
  205. package/dist/hierCluster-C44GHM4B.js +63 -0
  206. package/dist/hierCluster.config-RU5JDPWM.js +40 -0
  207. package/dist/hierCluster.integration.spec-6YH5KE4H.js +395 -0
  208. package/dist/hierCluster.interactivity-PK2L7BSW.js +54 -0
  209. package/dist/hierCluster.renderers-G3274UYA.js +21 -0
  210. package/dist/imagePlot-5SEDMPBP.js +163 -0
  211. package/dist/importPlot-M3MKWRON.js +8 -0
  212. package/dist/isoformExpression-PPMISWKT.js +40 -0
  213. package/dist/isoformExpression.unit.spec-ENHCCQRZ.js +208 -0
  214. package/dist/launch.adhoc-XAG6H42J.js +42 -0
  215. package/dist/leftlabel.sample-BSPCI6GR.js +260 -0
  216. package/dist/lollipop-IZJ7E3YO.js +171 -0
  217. package/dist/maf-54XWBQ73.js +452 -0
  218. package/dist/maftimeline-3AJKAFS6.js +593 -0
  219. package/dist/matrix-AJPMHUXG.js +63 -0
  220. package/dist/matrix-ZMXNOESU.js +58 -0
  221. package/dist/matrix.cells-E3LEVA7U.js +28 -0
  222. package/dist/matrix.config-4WLSFMTY.js +41 -0
  223. package/dist/matrix.data-WMOTOB6C.js +25 -0
  224. package/dist/matrix.dom-F7AN3QGE.js +11 -0
  225. package/dist/matrix.groups-BGMZZ6CM.js +27 -0
  226. package/dist/matrix.integration.spec-ENRPVB7R.js +3072 -0
  227. package/dist/matrix.interactivity-IMWERCZF.js +42 -0
  228. package/dist/matrix.layout-5DDZWLNX.js +44 -0
  229. package/dist/matrix.legend-RJAFOZHQ.js +22 -0
  230. package/dist/matrix.renderers-VFQZG5JP.js +38 -0
  231. package/dist/matrix.serieses-GJWHSBG4.js +21 -0
  232. package/dist/matrix.sort-KIJENIT2.js +27 -0
  233. package/dist/matrix.sort.unit.spec-ZA5DRNL6.js +472 -0
  234. package/dist/matrix.sorterUi-3KEDVLGW.js +18 -0
  235. package/dist/matrix.sorterUi.unit.spec-7TPOJ46U.js +342 -0
  236. package/dist/mavb-73BXZ7MO.js +732 -0
  237. package/dist/mds.fimo-L7VVAOXQ.js +518 -0
  238. package/dist/mds.samplescatterplot-6P75XEWB.js +1550 -0
  239. package/dist/mds.survivalplot-GCVE7XGO.js +483 -0
  240. package/dist/numericDictTermCluster-OMXIURRD.js +72 -0
  241. package/dist/oncomatrix-BFWV2IC4.js +295 -0
  242. package/dist/oncomatrix.spec-J6IAY3O6.js +448 -0
  243. package/dist/plot.2dvaf-ESJAB2F3.js +377 -0
  244. package/dist/plot.app-T7CQMBRV.js +41 -0
  245. package/dist/plot.barplot-HAWPMPPU.js +102 -0
  246. package/dist/plot.boxplot-4QUORFXY.js +152 -0
  247. package/dist/plot.brainImaging-HG6I3GJW.js +51 -0
  248. package/dist/plot.disco-LPH7F6YW.js +102 -0
  249. package/dist/plot.dzi-DYAY4D4E.js +33 -0
  250. package/dist/plot.ssgq-CF5VIGYJ.js +139 -0
  251. package/dist/plot.vaf2cov-7HZCKNK6.js +259 -0
  252. package/dist/plot.wsi-MU6AXOWO.js +36 -0
  253. package/dist/polar2-G636L5TB.js +226 -0
  254. package/dist/polar2-G636L5TB.js.map +7 -0
  255. package/dist/profileForms-TIT4JUEJ.js +441 -0
  256. package/dist/profilePlot-QFGRAZQA.js +54 -0
  257. package/dist/proteinView-RZ56F45C.js +1320 -0
  258. package/dist/proteinView-RZ56F45C.js.map +7 -0
  259. package/dist/qualitative-YWP4YUPF.js +43 -0
  260. package/dist/radar2-TKSHL54E.js +321 -0
  261. package/dist/radarFacility2-FHRFLBLF.js +329 -0
  262. package/dist/regression-5XG5LXP7.js +56 -0
  263. package/dist/regression.inputs-QHXK7ZYY.js +48 -0
  264. package/dist/regression.inputs.term-YYO3CR2D.js +48 -0
  265. package/dist/regression.inputs.values.table-3I2FCON2.js +45 -0
  266. package/dist/regression.integration.spec-QVDGCKVT.js +784 -0
  267. package/dist/regression.results-B7LVT2WG.js +40 -0
  268. package/dist/regression.spec-ISYKKQOM.js +708 -0
  269. package/dist/report-TF6Z3Y44.js +222 -0
  270. package/dist/sampleScatter.spec-2VW55XIZ.js +202 -0
  271. package/dist/sampleView-DNNJRAMU.js +48 -0
  272. package/dist/samplelst-726II3LN.js +111 -0
  273. package/dist/samplematrix-TBPW4URH.js +2198 -0
  274. package/dist/sc-GBYH3W4S.js +86 -0
  275. package/dist/scatter-ATUM7AEW.js +849 -0
  276. package/dist/scatter-ATUM7AEW.js.map +7 -0
  277. package/dist/scatter.integration.spec-PDM454O3.js +1197 -0
  278. package/dist/scatter.integration.spec-PDM454O3.js.map +7 -0
  279. package/dist/selectGenomeWithTklst-RCAYDV6D.js +134 -0
  280. package/dist/singleCellCellType-IQYCKUT6.js +38 -0
  281. package/dist/singleCellCellType.unit.spec-ZEWA2IFI.js +160 -0
  282. package/dist/singleCellGeneExpression-STLTBXJQ.js +38 -0
  283. package/dist/singleCellGeneExpression.unit.spec-W6FPS5ZU.js +153 -0
  284. package/dist/singleCellPlot-7XH7NIL4.js +54 -0
  285. package/dist/singlecell-IDZB2MXW.js +86 -0
  286. package/dist/singlecell-JCXR7X5U.js +1572 -0
  287. package/dist/snp-QOKI26PO.js +38 -0
  288. package/dist/snp.unit.spec-DTPZAALW.js +176 -0
  289. package/dist/snplocus-BKUJYANW.js +208 -0
  290. package/dist/spliceevent.a53ss.diagram-4O54ORKZ.js +151 -0
  291. package/dist/spliceevent.exonskip.diagram-KOIOS6IV.js +277 -0
  292. package/dist/spliceevent.noeventdiagram-YGUGQMVE.js +460 -0
  293. package/dist/ssGSEA-UZMBIHVD.js +38 -0
  294. package/dist/ssGSEA.unit.spec-4YO4E3T7.js +88 -0
  295. package/dist/stattable-MDABSW3F.js +90 -0
  296. package/dist/summarizeCnvGeneexp-HV3DHIW4.js +163 -0
  297. package/dist/summarizeGeneexpSurvival-VGPRWYQ5.js +108 -0
  298. package/dist/summarizeMutationCnv-N3JEB4DJ.js +164 -0
  299. package/dist/summarizeMutationDiagnosis-6U4DBLG5.js +40 -0
  300. package/dist/summarizeMutationSurvival-S7NLAVEI.js +99 -0
  301. package/dist/summary-NPR56I4S.js +49 -0
  302. package/dist/summary.integration.spec-HWNJWLKT.js +414 -0
  303. package/dist/summaryInput-DO73NGDQ.js +235 -0
  304. package/dist/sunburst-MMXSGJSL.js +284 -0
  305. package/dist/survival-7AIKFGV5.js +58 -0
  306. package/dist/survival-UK332X6L.js +46 -0
  307. package/dist/survival.integration.spec-YMTEKEGB.js +821 -0
  308. package/dist/svgraph-MLLAYO4A.js +1387 -0
  309. package/dist/svmr-PYW4PLT3.js +3842 -0
  310. package/dist/table-Y3ED2444.js +200 -0
  311. package/dist/termCollection-3XVL75II.js +38 -0
  312. package/dist/termCollection-VAB53YGO.js +179 -0
  313. package/dist/termCollection.unit.spec-DYPWNVEZ.js +208 -0
  314. package/dist/termInfo-6MJDJSDW.js +9 -0
  315. package/dist/tk-GUGJYKJ2.js +46 -0
  316. package/dist/tp.ui-WGETBYJQ.js +1459 -0
  317. package/dist/tvs.dt-JWF4I3KY.js +39 -0
  318. package/dist/tvs.dtcnv.categorical-72Y5QMPL.js +40 -0
  319. package/dist/tvs.dtcnv.continuous-73LHWTU5.js +72 -0
  320. package/dist/tvs.dtfusion-LP6HUMZU.js +40 -0
  321. package/dist/tvs.dtsnvindel-23N2CFZJ.js +40 -0
  322. package/dist/tvs.dtsv-DILQVKYM.js +40 -0
  323. package/dist/tvs.samplelst-GV4VSCRF.js +104 -0
  324. package/dist/tvs.termCollection-KBDNXK7X.js +159 -0
  325. package/dist/violin-TYUP7FB5.js +46 -0
  326. package/dist/violin.integration.spec-ULRFK2A6.js +1425 -0
  327. package/dist/violin.interactivity-2QZVQWQJ.js +38 -0
  328. package/dist/violin.renderer-HCDSN62Z.js +40 -0
  329. package/dist/vocabulary-I4CMPN2Z.js +41 -0
  330. package/package.json +3 -3
  331. package/dist/2dmaf-ZCIOFNSJ.js +0 -1373
  332. package/dist/AIProjectAdmin-Z7EA2Y74.js +0 -829
  333. package/dist/AppHeader-4AZ76NN3.js +0 -835
  334. package/dist/BoxPlot-BFVBNQNR.js +0 -1217
  335. package/dist/BoxPlot-BFVBNQNR.js.map +0 -7
  336. package/dist/CorrelationVolcano-L5VSJWJF.js +0 -619
  337. package/dist/DE-7TPZWAKI.js +0 -95
  338. package/dist/DEinput-WQJEXWGY.js +0 -301
  339. package/dist/DifferentialAnalysis-FPG7RDNN.js +0 -245
  340. package/dist/Disco-WP2BBL5V.js +0 -3237
  341. package/dist/Disco.UI-ZYSUA57E.js +0 -245
  342. package/dist/DmrPlot-V3E7JMPN.js +0 -642
  343. package/dist/DziViewer-ZHAPJ457.js +0 -16332
  344. package/dist/GB-BKLVGYWP.js +0 -1130
  345. package/dist/GeneExpInput-7V72SRDT.js +0 -366
  346. package/dist/HicApp-IT5YNABL.js +0 -2250
  347. package/dist/NumBinaryEditor-7E37MVQO.js +0 -270
  348. package/dist/NumBinaryEditor-7E37MVQO.js.map +0 -7
  349. package/dist/NumBinaryEditor.unit.spec-C3WVAXMY.js +0 -286
  350. package/dist/NumContEditor-FEVZJUB4.js +0 -107
  351. package/dist/NumContEditor-FEVZJUB4.js.map +0 -7
  352. package/dist/NumContEditor.unit.spec-4IGP657P.js +0 -169
  353. package/dist/NumCustomBinEditor-QC4D63Y5.js +0 -38
  354. package/dist/NumCustomBinEditor.unit.spec-USLECMWI.js +0 -284
  355. package/dist/NumDiscreteEditor-PRAI76XQ.js +0 -179
  356. package/dist/NumDiscreteEditor.unit.spec-IWL3OCTC.js +0 -202
  357. package/dist/NumRegularBinEditor-ESL2HAD7.js +0 -38
  358. package/dist/NumRegularBinEditor.unit.spec-7LLZAW4Z.js +0 -227
  359. package/dist/NumSplineEditor-JZOROO36.js +0 -197
  360. package/dist/NumSplineEditor-JZOROO36.js.map +0 -7
  361. package/dist/NumSplineEditor.unit.spec-3SHSXTC7.js +0 -199
  362. package/dist/NumericDensity-SGYRBDCQ.js +0 -38
  363. package/dist/NumericDensity.unit.spec-Y6JMH6IR.js +0 -221
  364. package/dist/NumericHandler-YG7AMINA.js +0 -39
  365. package/dist/NumericHandler.unit.spec-CABSMERN.js +0 -219
  366. package/dist/ProteomeInput-2WPCK72Z.js +0 -396
  367. package/dist/RunChart2-PJWMDWJR.js +0 -758
  368. package/dist/SC-WVVUFPNU.js +0 -936
  369. package/dist/Volcano-7JI4LUSF.js +0 -1379
  370. package/dist/WSIViewer-GDSOEEA6.js +0 -48475
  371. package/dist/WsiSamplesPlot-Z5C3NPF7.js +0 -165
  372. package/dist/adSandbox-KQKENDNQ.js +0 -38
  373. package/dist/alphaGenome-PN2SEPCK.js +0 -175
  374. package/dist/alphaGenome-PN2SEPCK.js.map +0 -7
  375. package/dist/app-4OEY56FN.js +0 -49
  376. package/dist/app-TGMYXJ4E.js +0 -37
  377. package/dist/bam-3IMX42G5.js +0 -860
  378. package/dist/barchart-44HOJWVS.js +0 -47
  379. package/dist/barchart.data-CHNR4XL2.js +0 -22
  380. package/dist/barchart.events-XW5OZ5MR.js +0 -47
  381. package/dist/barchart.integration.spec-M5PACARH.js +0 -1923
  382. package/dist/barchart.integration.spec-M5PACARH.js.map +0 -7
  383. package/dist/barchart2-4NU7NWJZ.js +0 -311
  384. package/dist/block-OYSZ2JXC.js +0 -6202
  385. package/dist/block.init-WSIQLW7A.js +0 -38
  386. package/dist/block.mds.expressionrank-2KWOWDW4.js +0 -359
  387. package/dist/block.mds.geneboxplot-6ZAD6A5K.js +0 -828
  388. package/dist/block.mds.junction-VQDLHFNG.js +0 -1545
  389. package/dist/block.mds.svcnv-7OIRG7DQ.js +0 -6801
  390. package/dist/block.svg-HXAIFHXM.js +0 -164
  391. package/dist/block.tk.aicheck-GTGHCUEN.js +0 -283
  392. package/dist/block.tk.ase-TAEE2ZHN.js +0 -365
  393. package/dist/block.tk.bam-6A26AZ7S.js +0 -1906
  394. package/dist/block.tk.bedgraphdot-6MYIVRBC.js +0 -384
  395. package/dist/block.tk.bigwig.ui-GJ7JXRH3.js +0 -212
  396. package/dist/block.tk.hicstraw-3TCDZ2GM.js +0 -823
  397. package/dist/block.tk.junction-WDBIP7DK.js +0 -2364
  398. package/dist/block.tk.junction.textmatrixui-QOV3U7AN.js +0 -199
  399. package/dist/block.tk.ld-GCPH66C3.js +0 -99
  400. package/dist/block.tk.menu-YDAIYUGC.js +0 -1029
  401. package/dist/block.tk.pgv-RWOZAUGA.js +0 -944
  402. package/dist/brainImaging-ZAFU6U2Y.js +0 -423
  403. package/dist/chunk-34SAHEQU.js +0 -291
  404. package/dist/chunk-3I7TUGLD.js +0 -226
  405. package/dist/chunk-3JL2HBGE.js +0 -2824
  406. package/dist/chunk-3L32ZXRS.js +0 -117
  407. package/dist/chunk-5GMXV4VC.js +0 -5010
  408. package/dist/chunk-5ITQVR2P.js +0 -102
  409. package/dist/chunk-5TKVUSMQ.js +0 -217
  410. package/dist/chunk-5V43Y2RC.js +0 -774
  411. package/dist/chunk-5V43Y2RC.js.map +0 -7
  412. package/dist/chunk-5X6J6UAT.js +0 -473
  413. package/dist/chunk-5YF3LGLX.js +0 -2327
  414. package/dist/chunk-76PGYH5J.js +0 -203
  415. package/dist/chunk-7JXLWRVZ.js +0 -2681
  416. package/dist/chunk-7YWFO7CJ.js +0 -6364
  417. package/dist/chunk-B3M3AZPL.js +0 -215
  418. package/dist/chunk-B3M3AZPL.js.map +0 -7
  419. package/dist/chunk-B4VRYXOQ.js +0 -288
  420. package/dist/chunk-B4VRYXOQ.js.map +0 -7
  421. package/dist/chunk-BLKF2SE6.js +0 -37
  422. package/dist/chunk-CA2AOIHR.js +0 -142
  423. package/dist/chunk-DBFPAZG3.js +0 -1943
  424. package/dist/chunk-DCJUDSRM.js +0 -446
  425. package/dist/chunk-DNM2DKYE.js +0 -1332
  426. package/dist/chunk-DVH6K2NP.js +0 -14
  427. package/dist/chunk-DYVY7D67.js +0 -263
  428. package/dist/chunk-E4IHE23N.js +0 -398
  429. package/dist/chunk-E4IHE23N.js.map +0 -7
  430. package/dist/chunk-G6WVVRDA.js +0 -339
  431. package/dist/chunk-GERVYIL4.js +0 -1210
  432. package/dist/chunk-GKBMGKYN.js +0 -117
  433. package/dist/chunk-GRNZWYOJ.js +0 -815
  434. package/dist/chunk-GS7SQKJT.js +0 -102
  435. package/dist/chunk-H5NNQO2V.js +0 -55
  436. package/dist/chunk-HONXMORI.js +0 -368
  437. package/dist/chunk-HURY7IJE.js +0 -4272
  438. package/dist/chunk-HURY7IJE.js.map +0 -7
  439. package/dist/chunk-HWVEN2MK.js +0 -498
  440. package/dist/chunk-I2RRWDYV.js +0 -514
  441. package/dist/chunk-IFA3COXY.js +0 -185
  442. package/dist/chunk-IFA3COXY.js.map +0 -7
  443. package/dist/chunk-IOQV2VX3.js +0 -2786
  444. package/dist/chunk-IWMWT7O7.js +0 -276
  445. package/dist/chunk-JSEMZPAO.js +0 -34
  446. package/dist/chunk-K7UIR22L.js +0 -229
  447. package/dist/chunk-K7UIR22L.js.map +0 -7
  448. package/dist/chunk-L75HW457.js +0 -824
  449. package/dist/chunk-LO6OYUDE.js +0 -158
  450. package/dist/chunk-LO6OYUDE.js.map +0 -7
  451. package/dist/chunk-LRZ463XM.js +0 -612
  452. package/dist/chunk-LRZ463XM.js.map +0 -7
  453. package/dist/chunk-MQQRTH4U.js +0 -302
  454. package/dist/chunk-NPEQHLVG.js +0 -158
  455. package/dist/chunk-NPTHYZY4.js +0 -205
  456. package/dist/chunk-NZDQV7ZO.js +0 -50
  457. package/dist/chunk-O7Z7SQCS.js +0 -534
  458. package/dist/chunk-OSWTQVAX.js +0 -477
  459. package/dist/chunk-OY4NTIUQ.js +0 -1272
  460. package/dist/chunk-OY4NTIUQ.js.map +0 -7
  461. package/dist/chunk-PKDJVK2F.js +0 -381
  462. package/dist/chunk-PSQETQZZ.js +0 -182
  463. package/dist/chunk-QWOZ2QDM.js +0 -386
  464. package/dist/chunk-QZVCFDJ7.js +0 -736
  465. package/dist/chunk-R4BCNWKE.js +0 -54
  466. package/dist/chunk-RRWP2LM4.js +0 -143
  467. package/dist/chunk-S6H6OUOA.js +0 -283
  468. package/dist/chunk-S6OIEQXG.js +0 -443
  469. package/dist/chunk-SDMZUHN7.js +0 -482
  470. package/dist/chunk-SKZ37PND.js +0 -129
  471. package/dist/chunk-STQU7XZV.js +0 -1814
  472. package/dist/chunk-STQU7XZV.js.map +0 -7
  473. package/dist/chunk-SY63VCQB.js +0 -95
  474. package/dist/chunk-TEQ2PC7Z.js +0 -100
  475. package/dist/chunk-TRY57CMI.js +0 -148
  476. package/dist/chunk-TXJTOTIQ.js +0 -1102
  477. package/dist/chunk-UK3PTE3P.js +0 -20752
  478. package/dist/chunk-UK3PTE3P.js.map +0 -7
  479. package/dist/chunk-UT2PKKQ4.js +0 -254
  480. package/dist/chunk-VDPQ2ZV2.js +0 -95
  481. package/dist/chunk-VJH3NP42.js +0 -54
  482. package/dist/chunk-W3LVNVG3.js +0 -272
  483. package/dist/chunk-WC62ZAWT.js +0 -293
  484. package/dist/chunk-WKMZ4ZQ3.js +0 -407
  485. package/dist/chunk-WKMZ4ZQ3.js.map +0 -7
  486. package/dist/chunk-X27TRPIZ.js +0 -119
  487. package/dist/chunk-XIIAQQ4T.js +0 -1179
  488. package/dist/chunk-XIIAQQ4T.js.map +0 -7
  489. package/dist/chunk-XOCO3LVN.js +0 -317
  490. package/dist/chunk-XOCO3LVN.js.map +0 -7
  491. package/dist/chunk-XUFWJJM5.js +0 -454
  492. package/dist/chunk-XUFWJJM5.js.map +0 -7
  493. package/dist/chunk-Y2Z4XDHA.js +0 -170
  494. package/dist/chunk-YFKJ2TMX.js +0 -194
  495. package/dist/chunk-YPVFTNLG.js +0 -228
  496. package/dist/chunk-YPVFTNLG.js.map +0 -7
  497. package/dist/condition-XKEW2LCM.js +0 -332
  498. package/dist/controls-4RFWTHFH.js +0 -41
  499. package/dist/controls.btns-3QQ5FOKQ.js +0 -9
  500. package/dist/controls.config-VHH2IGCI.js +0 -39
  501. package/dist/correlation-HGAMIIPH.js +0 -99
  502. package/dist/correlation-HGAMIIPH.js.map +0 -7
  503. package/dist/cuminc-EHW6IH6V.js +0 -1149
  504. package/dist/cuminc.integration.spec-B3EOIE4K.js +0 -678
  505. package/dist/customdata.inputui-IPJHL7BX.js +0 -289
  506. package/dist/dataDownload-GYFEC6XG.js +0 -330
  507. package/dist/dataDownload.integration.spec-V7WQ6AMV.js +0 -193
  508. package/dist/databrowser.ui-TFAJVFFF.js +0 -433
  509. package/dist/dictionary-2ZSMOJCN.js +0 -111
  510. package/dist/dnaMethylation-RHNO5DAC.js +0 -38
  511. package/dist/dnaMethylation.integration.spec-ET7OLMNC.js +0 -203
  512. package/dist/dofetch-UGCQ3OVW.js +0 -51
  513. package/dist/e2pca-SLRCDKF5.js +0 -350
  514. package/dist/ep-FOFTKVBH.js +0 -1256
  515. package/dist/expclust.gdc.spec-FNOOSLCC.js +0 -307
  516. package/dist/facet-UO5A7AGS.js +0 -521
  517. package/dist/forms2-SFV4HHBA.js +0 -534
  518. package/dist/gb-3KR6MAGB.js +0 -88
  519. package/dist/geneExpClustering-BCDXKSNU.js +0 -249
  520. package/dist/geneExpression-5UPKETEZ.js +0 -313
  521. package/dist/geneExpression-CXQ5HFEP.js +0 -38
  522. package/dist/geneExpression.unit.spec-7FVVD4UF.js +0 -102
  523. package/dist/geneORA-UC45CL2U.js +0 -278
  524. package/dist/geneRanking-OOQWVUIG.js +0 -551
  525. package/dist/geneVariant-BQFB7LKZ.js +0 -39
  526. package/dist/geneVariant-BYN7EWTT.js +0 -41
  527. package/dist/geneVariant.integration.spec-OESHXKBV.js +0 -198
  528. package/dist/genefusion.ui-TOSPIGTE.js +0 -309
  529. package/dist/geneset-57DECCND.js +0 -208
  530. package/dist/genomeBrowser.spec-CQP5JG35.js +0 -281
  531. package/dist/grin2-3RDGRV4Z.js +0 -846
  532. package/dist/grin2-3RDGRV4Z.js.map +0 -7
  533. package/dist/grin2-G4MBI5UC.js +0 -1560
  534. package/dist/gsea-VYAXSBM4.js +0 -47
  535. package/dist/hierCluster-4QKMY7GP.js +0 -59
  536. package/dist/hierCluster-GFPFVB3Q.js +0 -63
  537. package/dist/hierCluster.config-3A24DEKA.js +0 -40
  538. package/dist/hierCluster.integration.spec-6NTJYVN4.js +0 -395
  539. package/dist/hierCluster.interactivity-B2T6WS5R.js +0 -54
  540. package/dist/hierCluster.renderers-R3RLK6BI.js +0 -21
  541. package/dist/imagePlot-YZBZRENG.js +0 -163
  542. package/dist/importPlot-LIXKD3WJ.js +0 -8
  543. package/dist/isoformExpression-ZZ5DL6AE.js +0 -40
  544. package/dist/isoformExpression.unit.spec-IH4247TT.js +0 -208
  545. package/dist/launch.adhoc-3YWVAF7R.js +0 -42
  546. package/dist/leftlabel.sample-XFM45ZKO.js +0 -260
  547. package/dist/lollipop-7K5R5KHB.js +0 -171
  548. package/dist/maf-SQVJHNUY.js +0 -452
  549. package/dist/maftimeline-RCPASNN2.js +0 -593
  550. package/dist/matrix-KHTDB56P.js +0 -63
  551. package/dist/matrix-YTHWIMBP.js +0 -58
  552. package/dist/matrix.cells-KNDVYI2S.js +0 -28
  553. package/dist/matrix.config-6BHBCTXE.js +0 -41
  554. package/dist/matrix.data-VWJQ7N4L.js +0 -25
  555. package/dist/matrix.dom-2SU4EYLI.js +0 -11
  556. package/dist/matrix.groups-5AUHEO52.js +0 -27
  557. package/dist/matrix.integration.spec-Q2BXNCUO.js +0 -3072
  558. package/dist/matrix.interactivity-FEEWY34M.js +0 -42
  559. package/dist/matrix.layout-FWWM6QQO.js +0 -44
  560. package/dist/matrix.legend-QT3PMREX.js +0 -22
  561. package/dist/matrix.renderers-M6MJO5IU.js +0 -38
  562. package/dist/matrix.serieses-NTKMKT22.js +0 -21
  563. package/dist/matrix.sort-TTHPJ4XC.js +0 -27
  564. package/dist/matrix.sort.unit.spec-XZI2KPNC.js +0 -472
  565. package/dist/matrix.sorterUi-FFLYKBGC.js +0 -18
  566. package/dist/matrix.sorterUi.unit.spec-6FVHTGSN.js +0 -342
  567. package/dist/mavb-FZDN27QY.js +0 -732
  568. package/dist/mds.fimo-SSFKQ3BH.js +0 -518
  569. package/dist/mds.samplescatterplot-BMTTX3TB.js +0 -1550
  570. package/dist/mds.survivalplot-PL75RDYI.js +0 -483
  571. package/dist/numericDictTermCluster-NJUXCQYH.js +0 -72
  572. package/dist/oncomatrix-BZDCCEWH.js +0 -295
  573. package/dist/oncomatrix.spec-5A4A4JLV.js +0 -448
  574. package/dist/plot.2dvaf-AC7LW56S.js +0 -377
  575. package/dist/plot.app-DOOWDQ3U.js +0 -41
  576. package/dist/plot.barplot-RNJWREG5.js +0 -102
  577. package/dist/plot.boxplot-CRAEUBQF.js +0 -152
  578. package/dist/plot.brainImaging-ZESEULN6.js +0 -51
  579. package/dist/plot.disco-B4KBP6RK.js +0 -102
  580. package/dist/plot.dzi-2UMRV6IF.js +0 -33
  581. package/dist/plot.ssgq-FVZ27Z2K.js +0 -139
  582. package/dist/plot.vaf2cov-3OXCIEAX.js +0 -259
  583. package/dist/plot.wsi-UKTLZSYW.js +0 -36
  584. package/dist/polar2-D6T34ONJ.js +0 -226
  585. package/dist/polar2-D6T34ONJ.js.map +0 -7
  586. package/dist/profileForms-SBNPRIFT.js +0 -441
  587. package/dist/profilePlot-PPI4IDP4.js +0 -54
  588. package/dist/proteinView-URQEZSH5.js +0 -1320
  589. package/dist/proteinView-URQEZSH5.js.map +0 -7
  590. package/dist/qualitative-4O6KAGEA.js +0 -43
  591. package/dist/radar2-ICKCJY4T.js +0 -321
  592. package/dist/radarFacility2-HEBBSM3T.js +0 -329
  593. package/dist/regression-YFQJE2EP.js +0 -56
  594. package/dist/regression.inputs-A2JVBVZ7.js +0 -48
  595. package/dist/regression.inputs.term-CTVNS5MO.js +0 -48
  596. package/dist/regression.inputs.values.table-X7SI6EDO.js +0 -45
  597. package/dist/regression.integration.spec-NRDEVBWS.js +0 -784
  598. package/dist/regression.results-XVB6CIGW.js +0 -40
  599. package/dist/regression.spec-TNB5HBY5.js +0 -708
  600. package/dist/report-5VDIBC2W.js +0 -222
  601. package/dist/sampleScatter.spec-XDW7SCYA.js +0 -202
  602. package/dist/sampleView-FLUSGZCM.js +0 -48
  603. package/dist/samplelst-4WPG5UBN.js +0 -111
  604. package/dist/samplematrix-YJGMSXUJ.js +0 -2198
  605. package/dist/sc-DHU5KSEJ.js +0 -86
  606. package/dist/scatter-UZMWX3DU.js +0 -854
  607. package/dist/scatter-UZMWX3DU.js.map +0 -7
  608. package/dist/scatter.integration.spec-YX5OC3L2.js +0 -1196
  609. package/dist/scatter.integration.spec-YX5OC3L2.js.map +0 -7
  610. package/dist/selectGenomeWithTklst-BVBMVRMQ.js +0 -134
  611. package/dist/singleCellCellType-DADK5UKZ.js +0 -38
  612. package/dist/singleCellCellType.unit.spec-X25RMBJ3.js +0 -160
  613. package/dist/singleCellGeneExpression-3UEZWI4E.js +0 -38
  614. package/dist/singleCellGeneExpression.unit.spec-5GU3JWE6.js +0 -153
  615. package/dist/singleCellPlot-TFRZG73T.js +0 -54
  616. package/dist/singlecell-HQH6EWJO.js +0 -1572
  617. package/dist/singlecell-KR6JYFAY.js +0 -86
  618. package/dist/snp-ACIZ7D5X.js +0 -38
  619. package/dist/snp.unit.spec-653HGJBM.js +0 -176
  620. package/dist/snplocus-AH6KJCVN.js +0 -208
  621. package/dist/spliceevent.a53ss.diagram-MKJLJDOG.js +0 -151
  622. package/dist/spliceevent.exonskip.diagram-PSEVCDH4.js +0 -277
  623. package/dist/spliceevent.noeventdiagram-T2LHGFN7.js +0 -460
  624. package/dist/ssGSEA-QFMYBITZ.js +0 -38
  625. package/dist/ssGSEA.unit.spec-SQW7KFWE.js +0 -88
  626. package/dist/stattable-QDIUQCMG.js +0 -90
  627. package/dist/summarizeCnvGeneexp-EVRTBY3L.js +0 -163
  628. package/dist/summarizeGeneexpSurvival-O3MGRS6K.js +0 -108
  629. package/dist/summarizeMutationCnv-RZ2DZ2XO.js +0 -164
  630. package/dist/summarizeMutationDiagnosis-V2DISQTC.js +0 -40
  631. package/dist/summarizeMutationSurvival-FTTWJBUG.js +0 -99
  632. package/dist/summary-QKBTZINC.js +0 -49
  633. package/dist/summary.integration.spec-54HA7BC2.js +0 -414
  634. package/dist/summaryInput-4RLZT6RW.js +0 -235
  635. package/dist/sunburst-SMKD45XD.js +0 -284
  636. package/dist/survival-BAW5ME6J.js +0 -46
  637. package/dist/survival-YQNA3WP7.js +0 -58
  638. package/dist/survival.integration.spec-2AHXNMH2.js +0 -821
  639. package/dist/svgraph-5Z7VAIVR.js +0 -1387
  640. package/dist/svmr-PHD76RV4.js +0 -3842
  641. package/dist/table-GMRAOIWZ.js +0 -200
  642. package/dist/termCollection-MEBY34TJ.js +0 -179
  643. package/dist/termCollection-QLKTRXUR.js +0 -38
  644. package/dist/termCollection.unit.spec-6B53SW2Q.js +0 -208
  645. package/dist/termInfo-2Z4V2QLE.js +0 -9
  646. package/dist/tk-X46SEOL7.js +0 -46
  647. package/dist/tp.ui-XV7CL7CA.js +0 -1459
  648. package/dist/tvs.dt-U6SIZTXW.js +0 -39
  649. package/dist/tvs.dtcnv.categorical-6YGEKMHW.js +0 -40
  650. package/dist/tvs.dtcnv.continuous-CQFEENBO.js +0 -72
  651. package/dist/tvs.dtfusion-NOBT2JPI.js +0 -40
  652. package/dist/tvs.dtsnvindel-6GTCSVAV.js +0 -40
  653. package/dist/tvs.dtsv-PMI4YVI5.js +0 -40
  654. package/dist/tvs.samplelst-HVNYKHXG.js +0 -104
  655. package/dist/tvs.termCollection-EWGTT75Z.js +0 -159
  656. package/dist/violin-MKWRB25Z.js +0 -46
  657. package/dist/violin.integration.spec-CNWJ43SD.js +0 -1425
  658. package/dist/violin.interactivity-UXOMTGSD.js +0 -38
  659. package/dist/violin.renderer-67Q6YGYQ.js +0 -40
  660. package/dist/vocabulary-AKXE7SNU.js +0 -41
  661. /package/dist/{2dmaf-ZCIOFNSJ.js.map → 2dmaf-V4WJ2LEK.js.map} +0 -0
  662. /package/dist/{AIProjectAdmin-Z7EA2Y74.js.map → AIProjectAdmin-JMN5O6YU.js.map} +0 -0
  663. /package/dist/{AppHeader-4AZ76NN3.js.map → AppHeader-Y4SEKCEF.js.map} +0 -0
  664. /package/dist/{CorrelationVolcano-L5VSJWJF.js.map → CorrelationVolcano-R5IWD6WA.js.map} +0 -0
  665. /package/dist/{DE-7TPZWAKI.js.map → DE-ZV6O7B6Y.js.map} +0 -0
  666. /package/dist/{DEinput-WQJEXWGY.js.map → DEinput-FTOALZKN.js.map} +0 -0
  667. /package/dist/{DifferentialAnalysis-FPG7RDNN.js.map → DifferentialAnalysis-NLCA766A.js.map} +0 -0
  668. /package/dist/{Disco-WP2BBL5V.js.map → Disco-Y5Z4A7GN.js.map} +0 -0
  669. /package/dist/{Disco.UI-ZYSUA57E.js.map → Disco.UI-GSWZYIUT.js.map} +0 -0
  670. /package/dist/{DmrPlot-V3E7JMPN.js.map → DmrPlot-FEFUCIGT.js.map} +0 -0
  671. /package/dist/{DziViewer-ZHAPJ457.js.map → DziViewer-6737GC22.js.map} +0 -0
  672. /package/dist/{GB-BKLVGYWP.js.map → GB-AOXF2JJB.js.map} +0 -0
  673. /package/dist/{GeneExpInput-7V72SRDT.js.map → GeneExpInput-CXYRKQU7.js.map} +0 -0
  674. /package/dist/{HicApp-IT5YNABL.js.map → HicApp-GLNNZ4H5.js.map} +0 -0
  675. /package/dist/{NumBinaryEditor.unit.spec-C3WVAXMY.js.map → NumBinaryEditor.unit.spec-3VTJLILH.js.map} +0 -0
  676. /package/dist/{NumContEditor.unit.spec-4IGP657P.js.map → NumContEditor.unit.spec-WIMYCOVO.js.map} +0 -0
  677. /package/dist/{NumCustomBinEditor-QC4D63Y5.js.map → NumCustomBinEditor-XIOAYWOD.js.map} +0 -0
  678. /package/dist/{NumCustomBinEditor.unit.spec-USLECMWI.js.map → NumCustomBinEditor.unit.spec-N5OV6MKR.js.map} +0 -0
  679. /package/dist/{NumDiscreteEditor-PRAI76XQ.js.map → NumDiscreteEditor-AT6FKYGI.js.map} +0 -0
  680. /package/dist/{NumDiscreteEditor.unit.spec-IWL3OCTC.js.map → NumDiscreteEditor.unit.spec-BDR5GZ46.js.map} +0 -0
  681. /package/dist/{NumRegularBinEditor-ESL2HAD7.js.map → NumRegularBinEditor-Z4NBS4VZ.js.map} +0 -0
  682. /package/dist/{NumRegularBinEditor.unit.spec-7LLZAW4Z.js.map → NumRegularBinEditor.unit.spec-BRWYNQ55.js.map} +0 -0
  683. /package/dist/{NumSplineEditor.unit.spec-3SHSXTC7.js.map → NumSplineEditor.unit.spec-5RDBCZ4N.js.map} +0 -0
  684. /package/dist/{NumericDensity-SGYRBDCQ.js.map → NumericDensity-L7HIVV7D.js.map} +0 -0
  685. /package/dist/{NumericDensity.unit.spec-Y6JMH6IR.js.map → NumericDensity.unit.spec-PL3XDJCV.js.map} +0 -0
  686. /package/dist/{NumericHandler-YG7AMINA.js.map → NumericHandler-KJYZOCCG.js.map} +0 -0
  687. /package/dist/{NumericHandler.unit.spec-CABSMERN.js.map → NumericHandler.unit.spec-VC7NPLJW.js.map} +0 -0
  688. /package/dist/{ProteomeInput-2WPCK72Z.js.map → ProteomeInput-A3GRPIAH.js.map} +0 -0
  689. /package/dist/{RunChart2-PJWMDWJR.js.map → RunChart2-MSNU3ZNT.js.map} +0 -0
  690. /package/dist/{SC-WVVUFPNU.js.map → SC-FNKG2FK5.js.map} +0 -0
  691. /package/dist/{Volcano-7JI4LUSF.js.map → Volcano-IRJMPHXJ.js.map} +0 -0
  692. /package/dist/{WSIViewer-GDSOEEA6.js.map → WSIViewer-KITT7I67.js.map} +0 -0
  693. /package/dist/{WsiSamplesPlot-Z5C3NPF7.js.map → WsiSamplesPlot-G3YZ6SIE.js.map} +0 -0
  694. /package/dist/{adSandbox-KQKENDNQ.js.map → adSandbox-GIQTJ4VA.js.map} +0 -0
  695. /package/dist/{app-4OEY56FN.js.map → app-MGNEMS2K.js.map} +0 -0
  696. /package/dist/{app-TGMYXJ4E.js.map → app-UQTHPQFD.js.map} +0 -0
  697. /package/dist/{bam-3IMX42G5.js.map → bam-5PROQBRT.js.map} +0 -0
  698. /package/dist/{barchart-44HOJWVS.js.map → barchart-BQYJ73Z4.js.map} +0 -0
  699. /package/dist/{barchart.data-CHNR4XL2.js.map → barchart.data-VFULOIHY.js.map} +0 -0
  700. /package/dist/{barchart.events-XW5OZ5MR.js.map → barchart.events-W2CIDD4B.js.map} +0 -0
  701. /package/dist/{barchart2-4NU7NWJZ.js.map → barchart2-V6W4UAFH.js.map} +0 -0
  702. /package/dist/{block-OYSZ2JXC.js.map → block-5V2FCT7Q.js.map} +0 -0
  703. /package/dist/{block.init-WSIQLW7A.js.map → block.init-43IUNDNB.js.map} +0 -0
  704. /package/dist/{block.mds.expressionrank-2KWOWDW4.js.map → block.mds.expressionrank-LI6MZPBE.js.map} +0 -0
  705. /package/dist/{block.mds.geneboxplot-6ZAD6A5K.js.map → block.mds.geneboxplot-673AIJMJ.js.map} +0 -0
  706. /package/dist/{block.mds.junction-VQDLHFNG.js.map → block.mds.junction-UWNVNV3X.js.map} +0 -0
  707. /package/dist/{block.mds.svcnv-7OIRG7DQ.js.map → block.mds.svcnv-Z5VFCUUE.js.map} +0 -0
  708. /package/dist/{block.svg-HXAIFHXM.js.map → block.svg-MGK4GWLL.js.map} +0 -0
  709. /package/dist/{block.tk.aicheck-GTGHCUEN.js.map → block.tk.aicheck-OFNDGG7Q.js.map} +0 -0
  710. /package/dist/{block.tk.ase-TAEE2ZHN.js.map → block.tk.ase-IDZQY7MW.js.map} +0 -0
  711. /package/dist/{block.tk.bam-6A26AZ7S.js.map → block.tk.bam-K7A2Q5NI.js.map} +0 -0
  712. /package/dist/{block.tk.bedgraphdot-6MYIVRBC.js.map → block.tk.bedgraphdot-PPTKCCPK.js.map} +0 -0
  713. /package/dist/{block.tk.bigwig.ui-GJ7JXRH3.js.map → block.tk.bigwig.ui-PI6EAU43.js.map} +0 -0
  714. /package/dist/{block.tk.hicstraw-3TCDZ2GM.js.map → block.tk.hicstraw-EZ2GS2K4.js.map} +0 -0
  715. /package/dist/{block.tk.junction-WDBIP7DK.js.map → block.tk.junction-4WSLQGSQ.js.map} +0 -0
  716. /package/dist/{block.tk.junction.textmatrixui-QOV3U7AN.js.map → block.tk.junction.textmatrixui-7EJUSVMB.js.map} +0 -0
  717. /package/dist/{block.tk.ld-GCPH66C3.js.map → block.tk.ld-KLVO7M37.js.map} +0 -0
  718. /package/dist/{block.tk.menu-YDAIYUGC.js.map → block.tk.menu-KZSL7BAR.js.map} +0 -0
  719. /package/dist/{block.tk.pgv-RWOZAUGA.js.map → block.tk.pgv-NYWGB4VH.js.map} +0 -0
  720. /package/dist/{brainImaging-ZAFU6U2Y.js.map → brainImaging-MTIIMJHW.js.map} +0 -0
  721. /package/dist/{chunk-S6OIEQXG.js.map → chunk-2NQLAH3L.js.map} +0 -0
  722. /package/dist/{chunk-DBFPAZG3.js.map → chunk-2Q6PBSPS.js.map} +0 -0
  723. /package/dist/{chunk-GERVYIL4.js.map → chunk-3D5GZIGG.js.map} +0 -0
  724. /package/dist/{chunk-DYVY7D67.js.map → chunk-3TPAIXNL.js.map} +0 -0
  725. /package/dist/{chunk-SY63VCQB.js.map → chunk-42EBECOD.js.map} +0 -0
  726. /package/dist/{chunk-IOQV2VX3.js.map → chunk-4B42QV34.js.map} +0 -0
  727. /package/dist/{chunk-RRWP2LM4.js.map → chunk-4KY4XKJV.js.map} +0 -0
  728. /package/dist/{chunk-TEQ2PC7Z.js.map → chunk-5SXCIKYV.js.map} +0 -0
  729. /package/dist/{chunk-SDMZUHN7.js.map → chunk-647P2I4Q.js.map} +0 -0
  730. /package/dist/{chunk-5YF3LGLX.js.map → chunk-67HSIHPP.js.map} +0 -0
  731. /package/dist/{chunk-TXJTOTIQ.js.map → chunk-6GZJCSA6.js.map} +0 -0
  732. /package/dist/{chunk-GS7SQKJT.js.map → chunk-7JEKUSEL.js.map} +0 -0
  733. /package/dist/{chunk-OSWTQVAX.js.map → chunk-BMO6KSVC.js.map} +0 -0
  734. /package/dist/{chunk-NZDQV7ZO.js.map → chunk-CKDC326M.js.map} +0 -0
  735. /package/dist/{chunk-DCJUDSRM.js.map → chunk-CRUBP5PT.js.map} +0 -0
  736. /package/dist/{chunk-S6H6OUOA.js.map → chunk-CW2Q5EA7.js.map} +0 -0
  737. /package/dist/{chunk-7YWFO7CJ.js.map → chunk-CYHUNQMS.js.map} +0 -0
  738. /package/dist/{chunk-HWVEN2MK.js.map → chunk-DHPLHIVP.js.map} +0 -0
  739. /package/dist/{chunk-PKDJVK2F.js.map → chunk-DWCVGCBX.js.map} +0 -0
  740. /package/dist/{chunk-G6WVVRDA.js.map → chunk-EIBNV236.js.map} +0 -0
  741. /package/dist/{chunk-5TKVUSMQ.js.map → chunk-EZ3WMXYT.js.map} +0 -0
  742. /package/dist/{chunk-QZVCFDJ7.js.map → chunk-F5QIZOPL.js.map} +0 -0
  743. /package/dist/{chunk-BLKF2SE6.js.map → chunk-F6N6JBZR.js.map} +0 -0
  744. /package/dist/{chunk-VJH3NP42.js.map → chunk-FXMHSVBS.js.map} +0 -0
  745. /package/dist/{chunk-3I7TUGLD.js.map → chunk-FZ63VOSX.js.map} +0 -0
  746. /package/dist/{chunk-DNM2DKYE.js.map → chunk-GMT2GNQY.js.map} +0 -0
  747. /package/dist/{chunk-5X6J6UAT.js.map → chunk-IIT367QZ.js.map} +0 -0
  748. /package/dist/{chunk-WC62ZAWT.js.map → chunk-IL5QT2FI.js.map} +0 -0
  749. /package/dist/{chunk-7JXLWRVZ.js.map → chunk-J6GLTYGJ.js.map} +0 -0
  750. /package/dist/{chunk-QWOZ2QDM.js.map → chunk-JEZIKGZI.js.map} +0 -0
  751. /package/dist/{chunk-L75HW457.js.map → chunk-JJOLDYSQ.js.map} +0 -0
  752. /package/dist/{chunk-JSEMZPAO.js.map → chunk-KSCJWPTJ.js.map} +0 -0
  753. /package/dist/{chunk-W3LVNVG3.js.map → chunk-LT5XPBIX.js.map} +0 -0
  754. /package/dist/{chunk-PSQETQZZ.js.map → chunk-MEGBYD4U.js.map} +0 -0
  755. /package/dist/{chunk-Y2Z4XDHA.js.map → chunk-MEY5OBDJ.js.map} +0 -0
  756. /package/dist/{chunk-TRY57CMI.js.map → chunk-NVX26LFC.js.map} +0 -0
  757. /package/dist/{chunk-34SAHEQU.js.map → chunk-O7NFSCEW.js.map} +0 -0
  758. /package/dist/{chunk-HONXMORI.js.map → chunk-P4QGOUDH.js.map} +0 -0
  759. /package/dist/{chunk-SKZ37PND.js.map → chunk-PGBKZ76Y.js.map} +0 -0
  760. /package/dist/{chunk-NPTHYZY4.js.map → chunk-PQNVPSQR.js.map} +0 -0
  761. /package/dist/{chunk-R4BCNWKE.js.map → chunk-PQZ3A27I.js.map} +0 -0
  762. /package/dist/{chunk-5GMXV4VC.js.map → chunk-QNMB7LYW.js.map} +0 -0
  763. /package/dist/{chunk-3L32ZXRS.js.map → chunk-RZGEKL77.js.map} +0 -0
  764. /package/dist/{chunk-NPEQHLVG.js.map → chunk-RZY34QRF.js.map} +0 -0
  765. /package/dist/{chunk-DVH6K2NP.js.map → chunk-SDACELDR.js.map} +0 -0
  766. /package/dist/{chunk-CA2AOIHR.js.map → chunk-UCLROZRF.js.map} +0 -0
  767. /package/dist/{chunk-IWMWT7O7.js.map → chunk-VMLSRKIB.js.map} +0 -0
  768. /package/dist/{chunk-O7Z7SQCS.js.map → chunk-VXKO2ONI.js.map} +0 -0
  769. /package/dist/{chunk-GKBMGKYN.js.map → chunk-WET4LPLO.js.map} +0 -0
  770. /package/dist/{chunk-UT2PKKQ4.js.map → chunk-WMELUFVS.js.map} +0 -0
  771. /package/dist/{chunk-X27TRPIZ.js.map → chunk-WS3NUPNV.js.map} +0 -0
  772. /package/dist/{chunk-I2RRWDYV.js.map → chunk-X63AAJGT.js.map} +0 -0
  773. /package/dist/{chunk-GRNZWYOJ.js.map → chunk-XVZ5UJWU.js.map} +0 -0
  774. /package/dist/{chunk-3JL2HBGE.js.map → chunk-YNBT4N6T.js.map} +0 -0
  775. /package/dist/{chunk-H5NNQO2V.js.map → chunk-YVCTEEVQ.js.map} +0 -0
  776. /package/dist/{chunk-76PGYH5J.js.map → chunk-YWZCJMHS.js.map} +0 -0
  777. /package/dist/{chunk-5ITQVR2P.js.map → chunk-Z3SC67OA.js.map} +0 -0
  778. /package/dist/{chunk-YFKJ2TMX.js.map → chunk-ZK226W6V.js.map} +0 -0
  779. /package/dist/{chunk-MQQRTH4U.js.map → chunk-ZLREFIZB.js.map} +0 -0
  780. /package/dist/{chunk-VDPQ2ZV2.js.map → chunk-ZX2ISBEF.js.map} +0 -0
  781. /package/dist/{condition-XKEW2LCM.js.map → condition-P2XD32QM.js.map} +0 -0
  782. /package/dist/{controls-4RFWTHFH.js.map → controls-FZUTJPKV.js.map} +0 -0
  783. /package/dist/{controls.btns-3QQ5FOKQ.js.map → controls.btns-AP67YWKW.js.map} +0 -0
  784. /package/dist/{controls.config-VHH2IGCI.js.map → controls.config-TEFY3NTE.js.map} +0 -0
  785. /package/dist/{cuminc-EHW6IH6V.js.map → cuminc-42GBJHD3.js.map} +0 -0
  786. /package/dist/{cuminc.integration.spec-B3EOIE4K.js.map → cuminc.integration.spec-BAY4JHVL.js.map} +0 -0
  787. /package/dist/{customdata.inputui-IPJHL7BX.js.map → customdata.inputui-IPM5K56K.js.map} +0 -0
  788. /package/dist/{dataDownload-GYFEC6XG.js.map → dataDownload-D7VCYBDT.js.map} +0 -0
  789. /package/dist/{dataDownload.integration.spec-V7WQ6AMV.js.map → dataDownload.integration.spec-SEBY2BIX.js.map} +0 -0
  790. /package/dist/{databrowser.ui-TFAJVFFF.js.map → databrowser.ui-5OC5MPZB.js.map} +0 -0
  791. /package/dist/{dictionary-2ZSMOJCN.js.map → dictionary-VVRWVLJX.js.map} +0 -0
  792. /package/dist/{dnaMethylation-RHNO5DAC.js.map → dnaMethylation-72IS3FRI.js.map} +0 -0
  793. /package/dist/{dnaMethylation.integration.spec-ET7OLMNC.js.map → dnaMethylation.integration.spec-U2LLSDGE.js.map} +0 -0
  794. /package/dist/{dofetch-UGCQ3OVW.js.map → dofetch-5ZRAQH5F.js.map} +0 -0
  795. /package/dist/{e2pca-SLRCDKF5.js.map → e2pca-AR6EKEJA.js.map} +0 -0
  796. /package/dist/{ep-FOFTKVBH.js.map → ep-JS5UUJQX.js.map} +0 -0
  797. /package/dist/{expclust.gdc.spec-FNOOSLCC.js.map → expclust.gdc.spec-73MGQ7RN.js.map} +0 -0
  798. /package/dist/{facet-UO5A7AGS.js.map → facet-AR3QKHCY.js.map} +0 -0
  799. /package/dist/{forms2-SFV4HHBA.js.map → forms2-UXEI7MUP.js.map} +0 -0
  800. /package/dist/{gb-3KR6MAGB.js.map → gb-RHDVYU2V.js.map} +0 -0
  801. /package/dist/{geneExpClustering-BCDXKSNU.js.map → geneExpClustering-L6KLCMPH.js.map} +0 -0
  802. /package/dist/{geneExpression-5UPKETEZ.js.map → geneExpression-GYT2XRE6.js.map} +0 -0
  803. /package/dist/{geneExpression-CXQ5HFEP.js.map → geneExpression-SKIU3NEP.js.map} +0 -0
  804. /package/dist/{geneExpression.unit.spec-7FVVD4UF.js.map → geneExpression.unit.spec-CWR6KDVK.js.map} +0 -0
  805. /package/dist/{geneORA-UC45CL2U.js.map → geneORA-C3TALK5P.js.map} +0 -0
  806. /package/dist/{geneRanking-OOQWVUIG.js.map → geneRanking-LLYLDPLV.js.map} +0 -0
  807. /package/dist/{geneVariant-BQFB7LKZ.js.map → geneVariant-PUSKBHPY.js.map} +0 -0
  808. /package/dist/{geneVariant-BYN7EWTT.js.map → geneVariant-YFMU6PHM.js.map} +0 -0
  809. /package/dist/{geneVariant.integration.spec-OESHXKBV.js.map → geneVariant.integration.spec-EJ5V46OQ.js.map} +0 -0
  810. /package/dist/{genefusion.ui-TOSPIGTE.js.map → genefusion.ui-XUHSKQKW.js.map} +0 -0
  811. /package/dist/{geneset-57DECCND.js.map → geneset-DEL5LXFZ.js.map} +0 -0
  812. /package/dist/{genomeBrowser.spec-CQP5JG35.js.map → genomeBrowser.spec-W5TVHOUJ.js.map} +0 -0
  813. /package/dist/{grin2-G4MBI5UC.js.map → grin2-FXAEGECD.js.map} +0 -0
  814. /package/dist/{gsea-VYAXSBM4.js.map → gsea-CNL6SHH5.js.map} +0 -0
  815. /package/dist/{hierCluster-4QKMY7GP.js.map → hierCluster-7V65PMIW.js.map} +0 -0
  816. /package/dist/{hierCluster-GFPFVB3Q.js.map → hierCluster-C44GHM4B.js.map} +0 -0
  817. /package/dist/{hierCluster.config-3A24DEKA.js.map → hierCluster.config-RU5JDPWM.js.map} +0 -0
  818. /package/dist/{hierCluster.integration.spec-6NTJYVN4.js.map → hierCluster.integration.spec-6YH5KE4H.js.map} +0 -0
  819. /package/dist/{hierCluster.interactivity-B2T6WS5R.js.map → hierCluster.interactivity-PK2L7BSW.js.map} +0 -0
  820. /package/dist/{hierCluster.renderers-R3RLK6BI.js.map → hierCluster.renderers-G3274UYA.js.map} +0 -0
  821. /package/dist/{imagePlot-YZBZRENG.js.map → imagePlot-5SEDMPBP.js.map} +0 -0
  822. /package/dist/{importPlot-LIXKD3WJ.js.map → importPlot-M3MKWRON.js.map} +0 -0
  823. /package/dist/{isoformExpression-ZZ5DL6AE.js.map → isoformExpression-PPMISWKT.js.map} +0 -0
  824. /package/dist/{isoformExpression.unit.spec-IH4247TT.js.map → isoformExpression.unit.spec-ENHCCQRZ.js.map} +0 -0
  825. /package/dist/{launch.adhoc-3YWVAF7R.js.map → launch.adhoc-XAG6H42J.js.map} +0 -0
  826. /package/dist/{leftlabel.sample-XFM45ZKO.js.map → leftlabel.sample-BSPCI6GR.js.map} +0 -0
  827. /package/dist/{lollipop-7K5R5KHB.js.map → lollipop-IZJ7E3YO.js.map} +0 -0
  828. /package/dist/{maf-SQVJHNUY.js.map → maf-54XWBQ73.js.map} +0 -0
  829. /package/dist/{maftimeline-RCPASNN2.js.map → maftimeline-3AJKAFS6.js.map} +0 -0
  830. /package/dist/{matrix-KHTDB56P.js.map → matrix-AJPMHUXG.js.map} +0 -0
  831. /package/dist/{matrix-YTHWIMBP.js.map → matrix-ZMXNOESU.js.map} +0 -0
  832. /package/dist/{matrix.cells-KNDVYI2S.js.map → matrix.cells-E3LEVA7U.js.map} +0 -0
  833. /package/dist/{matrix.config-6BHBCTXE.js.map → matrix.config-4WLSFMTY.js.map} +0 -0
  834. /package/dist/{matrix.data-VWJQ7N4L.js.map → matrix.data-WMOTOB6C.js.map} +0 -0
  835. /package/dist/{matrix.dom-2SU4EYLI.js.map → matrix.dom-F7AN3QGE.js.map} +0 -0
  836. /package/dist/{matrix.groups-5AUHEO52.js.map → matrix.groups-BGMZZ6CM.js.map} +0 -0
  837. /package/dist/{matrix.integration.spec-Q2BXNCUO.js.map → matrix.integration.spec-ENRPVB7R.js.map} +0 -0
  838. /package/dist/{matrix.interactivity-FEEWY34M.js.map → matrix.interactivity-IMWERCZF.js.map} +0 -0
  839. /package/dist/{matrix.layout-FWWM6QQO.js.map → matrix.layout-5DDZWLNX.js.map} +0 -0
  840. /package/dist/{matrix.legend-QT3PMREX.js.map → matrix.legend-RJAFOZHQ.js.map} +0 -0
  841. /package/dist/{matrix.renderers-M6MJO5IU.js.map → matrix.renderers-VFQZG5JP.js.map} +0 -0
  842. /package/dist/{matrix.serieses-NTKMKT22.js.map → matrix.serieses-GJWHSBG4.js.map} +0 -0
  843. /package/dist/{matrix.sort-TTHPJ4XC.js.map → matrix.sort-KIJENIT2.js.map} +0 -0
  844. /package/dist/{matrix.sort.unit.spec-XZI2KPNC.js.map → matrix.sort.unit.spec-ZA5DRNL6.js.map} +0 -0
  845. /package/dist/{matrix.sorterUi-FFLYKBGC.js.map → matrix.sorterUi-3KEDVLGW.js.map} +0 -0
  846. /package/dist/{matrix.sorterUi.unit.spec-6FVHTGSN.js.map → matrix.sorterUi.unit.spec-7TPOJ46U.js.map} +0 -0
  847. /package/dist/{mavb-FZDN27QY.js.map → mavb-73BXZ7MO.js.map} +0 -0
  848. /package/dist/{mds.fimo-SSFKQ3BH.js.map → mds.fimo-L7VVAOXQ.js.map} +0 -0
  849. /package/dist/{mds.samplescatterplot-BMTTX3TB.js.map → mds.samplescatterplot-6P75XEWB.js.map} +0 -0
  850. /package/dist/{mds.survivalplot-PL75RDYI.js.map → mds.survivalplot-GCVE7XGO.js.map} +0 -0
  851. /package/dist/{numericDictTermCluster-NJUXCQYH.js.map → numericDictTermCluster-OMXIURRD.js.map} +0 -0
  852. /package/dist/{oncomatrix-BZDCCEWH.js.map → oncomatrix-BFWV2IC4.js.map} +0 -0
  853. /package/dist/{oncomatrix.spec-5A4A4JLV.js.map → oncomatrix.spec-J6IAY3O6.js.map} +0 -0
  854. /package/dist/{plot.2dvaf-AC7LW56S.js.map → plot.2dvaf-ESJAB2F3.js.map} +0 -0
  855. /package/dist/{plot.app-DOOWDQ3U.js.map → plot.app-T7CQMBRV.js.map} +0 -0
  856. /package/dist/{plot.barplot-RNJWREG5.js.map → plot.barplot-HAWPMPPU.js.map} +0 -0
  857. /package/dist/{plot.boxplot-CRAEUBQF.js.map → plot.boxplot-4QUORFXY.js.map} +0 -0
  858. /package/dist/{plot.brainImaging-ZESEULN6.js.map → plot.brainImaging-HG6I3GJW.js.map} +0 -0
  859. /package/dist/{plot.disco-B4KBP6RK.js.map → plot.disco-LPH7F6YW.js.map} +0 -0
  860. /package/dist/{plot.dzi-2UMRV6IF.js.map → plot.dzi-DYAY4D4E.js.map} +0 -0
  861. /package/dist/{plot.ssgq-FVZ27Z2K.js.map → plot.ssgq-CF5VIGYJ.js.map} +0 -0
  862. /package/dist/{plot.vaf2cov-3OXCIEAX.js.map → plot.vaf2cov-7HZCKNK6.js.map} +0 -0
  863. /package/dist/{plot.wsi-UKTLZSYW.js.map → plot.wsi-MU6AXOWO.js.map} +0 -0
  864. /package/dist/{profileForms-SBNPRIFT.js.map → profileForms-TIT4JUEJ.js.map} +0 -0
  865. /package/dist/{profilePlot-PPI4IDP4.js.map → profilePlot-QFGRAZQA.js.map} +0 -0
  866. /package/dist/{qualitative-4O6KAGEA.js.map → qualitative-YWP4YUPF.js.map} +0 -0
  867. /package/dist/{radar2-ICKCJY4T.js.map → radar2-TKSHL54E.js.map} +0 -0
  868. /package/dist/{radarFacility2-HEBBSM3T.js.map → radarFacility2-FHRFLBLF.js.map} +0 -0
  869. /package/dist/{regression-YFQJE2EP.js.map → regression-5XG5LXP7.js.map} +0 -0
  870. /package/dist/{regression.inputs-A2JVBVZ7.js.map → regression.inputs-QHXK7ZYY.js.map} +0 -0
  871. /package/dist/{regression.inputs.term-CTVNS5MO.js.map → regression.inputs.term-YYO3CR2D.js.map} +0 -0
  872. /package/dist/{regression.inputs.values.table-X7SI6EDO.js.map → regression.inputs.values.table-3I2FCON2.js.map} +0 -0
  873. /package/dist/{regression.integration.spec-NRDEVBWS.js.map → regression.integration.spec-QVDGCKVT.js.map} +0 -0
  874. /package/dist/{regression.results-XVB6CIGW.js.map → regression.results-B7LVT2WG.js.map} +0 -0
  875. /package/dist/{regression.spec-TNB5HBY5.js.map → regression.spec-ISYKKQOM.js.map} +0 -0
  876. /package/dist/{report-5VDIBC2W.js.map → report-TF6Z3Y44.js.map} +0 -0
  877. /package/dist/{sampleScatter.spec-XDW7SCYA.js.map → sampleScatter.spec-2VW55XIZ.js.map} +0 -0
  878. /package/dist/{sampleView-FLUSGZCM.js.map → sampleView-DNNJRAMU.js.map} +0 -0
  879. /package/dist/{samplelst-4WPG5UBN.js.map → samplelst-726II3LN.js.map} +0 -0
  880. /package/dist/{samplematrix-YJGMSXUJ.js.map → samplematrix-TBPW4URH.js.map} +0 -0
  881. /package/dist/{sc-DHU5KSEJ.js.map → sc-GBYH3W4S.js.map} +0 -0
  882. /package/dist/{selectGenomeWithTklst-BVBMVRMQ.js.map → selectGenomeWithTklst-RCAYDV6D.js.map} +0 -0
  883. /package/dist/{singleCellCellType-DADK5UKZ.js.map → singleCellCellType-IQYCKUT6.js.map} +0 -0
  884. /package/dist/{singleCellCellType.unit.spec-X25RMBJ3.js.map → singleCellCellType.unit.spec-ZEWA2IFI.js.map} +0 -0
  885. /package/dist/{singleCellGeneExpression-3UEZWI4E.js.map → singleCellGeneExpression-STLTBXJQ.js.map} +0 -0
  886. /package/dist/{singleCellGeneExpression.unit.spec-5GU3JWE6.js.map → singleCellGeneExpression.unit.spec-W6FPS5ZU.js.map} +0 -0
  887. /package/dist/{singleCellPlot-TFRZG73T.js.map → singleCellPlot-7XH7NIL4.js.map} +0 -0
  888. /package/dist/{singlecell-KR6JYFAY.js.map → singlecell-IDZB2MXW.js.map} +0 -0
  889. /package/dist/{singlecell-HQH6EWJO.js.map → singlecell-JCXR7X5U.js.map} +0 -0
  890. /package/dist/{snp-ACIZ7D5X.js.map → snp-QOKI26PO.js.map} +0 -0
  891. /package/dist/{snp.unit.spec-653HGJBM.js.map → snp.unit.spec-DTPZAALW.js.map} +0 -0
  892. /package/dist/{snplocus-AH6KJCVN.js.map → snplocus-BKUJYANW.js.map} +0 -0
  893. /package/dist/{spliceevent.a53ss.diagram-MKJLJDOG.js.map → spliceevent.a53ss.diagram-4O54ORKZ.js.map} +0 -0
  894. /package/dist/{spliceevent.exonskip.diagram-PSEVCDH4.js.map → spliceevent.exonskip.diagram-KOIOS6IV.js.map} +0 -0
  895. /package/dist/{spliceevent.noeventdiagram-T2LHGFN7.js.map → spliceevent.noeventdiagram-YGUGQMVE.js.map} +0 -0
  896. /package/dist/{ssGSEA-QFMYBITZ.js.map → ssGSEA-UZMBIHVD.js.map} +0 -0
  897. /package/dist/{ssGSEA.unit.spec-SQW7KFWE.js.map → ssGSEA.unit.spec-4YO4E3T7.js.map} +0 -0
  898. /package/dist/{stattable-QDIUQCMG.js.map → stattable-MDABSW3F.js.map} +0 -0
  899. /package/dist/{summarizeCnvGeneexp-EVRTBY3L.js.map → summarizeCnvGeneexp-HV3DHIW4.js.map} +0 -0
  900. /package/dist/{summarizeGeneexpSurvival-O3MGRS6K.js.map → summarizeGeneexpSurvival-VGPRWYQ5.js.map} +0 -0
  901. /package/dist/{summarizeMutationCnv-RZ2DZ2XO.js.map → summarizeMutationCnv-N3JEB4DJ.js.map} +0 -0
  902. /package/dist/{summarizeMutationDiagnosis-V2DISQTC.js.map → summarizeMutationDiagnosis-6U4DBLG5.js.map} +0 -0
  903. /package/dist/{summarizeMutationSurvival-FTTWJBUG.js.map → summarizeMutationSurvival-S7NLAVEI.js.map} +0 -0
  904. /package/dist/{summary-QKBTZINC.js.map → summary-NPR56I4S.js.map} +0 -0
  905. /package/dist/{summary.integration.spec-54HA7BC2.js.map → summary.integration.spec-HWNJWLKT.js.map} +0 -0
  906. /package/dist/{summaryInput-4RLZT6RW.js.map → summaryInput-DO73NGDQ.js.map} +0 -0
  907. /package/dist/{sunburst-SMKD45XD.js.map → sunburst-MMXSGJSL.js.map} +0 -0
  908. /package/dist/{survival-YQNA3WP7.js.map → survival-7AIKFGV5.js.map} +0 -0
  909. /package/dist/{survival-BAW5ME6J.js.map → survival-UK332X6L.js.map} +0 -0
  910. /package/dist/{survival.integration.spec-2AHXNMH2.js.map → survival.integration.spec-YMTEKEGB.js.map} +0 -0
  911. /package/dist/{svgraph-5Z7VAIVR.js.map → svgraph-MLLAYO4A.js.map} +0 -0
  912. /package/dist/{svmr-PHD76RV4.js.map → svmr-PYW4PLT3.js.map} +0 -0
  913. /package/dist/{table-GMRAOIWZ.js.map → table-Y3ED2444.js.map} +0 -0
  914. /package/dist/{termCollection-QLKTRXUR.js.map → termCollection-3XVL75II.js.map} +0 -0
  915. /package/dist/{termCollection-MEBY34TJ.js.map → termCollection-VAB53YGO.js.map} +0 -0
  916. /package/dist/{termCollection.unit.spec-6B53SW2Q.js.map → termCollection.unit.spec-DYPWNVEZ.js.map} +0 -0
  917. /package/dist/{termInfo-2Z4V2QLE.js.map → termInfo-6MJDJSDW.js.map} +0 -0
  918. /package/dist/{tk-X46SEOL7.js.map → tk-GUGJYKJ2.js.map} +0 -0
  919. /package/dist/{tp.ui-XV7CL7CA.js.map → tp.ui-WGETBYJQ.js.map} +0 -0
  920. /package/dist/{tvs.dt-U6SIZTXW.js.map → tvs.dt-JWF4I3KY.js.map} +0 -0
  921. /package/dist/{tvs.dtcnv.categorical-6YGEKMHW.js.map → tvs.dtcnv.categorical-72Y5QMPL.js.map} +0 -0
  922. /package/dist/{tvs.dtcnv.continuous-CQFEENBO.js.map → tvs.dtcnv.continuous-73LHWTU5.js.map} +0 -0
  923. /package/dist/{tvs.dtfusion-NOBT2JPI.js.map → tvs.dtfusion-LP6HUMZU.js.map} +0 -0
  924. /package/dist/{tvs.dtsnvindel-6GTCSVAV.js.map → tvs.dtsnvindel-23N2CFZJ.js.map} +0 -0
  925. /package/dist/{tvs.dtsv-PMI4YVI5.js.map → tvs.dtsv-DILQVKYM.js.map} +0 -0
  926. /package/dist/{tvs.samplelst-HVNYKHXG.js.map → tvs.samplelst-GV4VSCRF.js.map} +0 -0
  927. /package/dist/{tvs.termCollection-EWGTT75Z.js.map → tvs.termCollection-KBDNXK7X.js.map} +0 -0
  928. /package/dist/{violin-MKWRB25Z.js.map → violin-TYUP7FB5.js.map} +0 -0
  929. /package/dist/{violin.integration.spec-CNWJ43SD.js.map → violin.integration.spec-ULRFK2A6.js.map} +0 -0
  930. /package/dist/{violin.interactivity-UXOMTGSD.js.map → violin.interactivity-2QZVQWQJ.js.map} +0 -0
  931. /package/dist/{violin.renderer-67Q6YGYQ.js.map → violin.renderer-HCDSN62Z.js.map} +0 -0
  932. /package/dist/{vocabulary-AKXE7SNU.js.map → vocabulary-I4CMPN2Z.js.map} +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../plots/manhattan/manhattan.ts", "../plots/grin2/grin2.ts"],
4
- "sourcesContent": ["import { scaleLinear } from 'd3-scale'\nimport * as d3axis from 'd3-axis'\nimport { select } from 'd3-selection'\nimport {\n\tMenu,\n\ticons,\n\taxisstyle,\n\ttable2col,\n\tshowResultsTable,\n\tcreateLollipopFromGene,\n\tDataPointInteractions\n} from '#dom'\nimport { to_svg } from '#src/client'\nimport type { ManhattanPoint } from './manhattanTypes'\n\n/**\n * Creates an interactive Manhattan plot on top of a PNG background plot image.\n *\n * @param {Object} div - div element to contain the plot\n * @param {Object} data - Plot data\n * @param {Object} settings - Display configuration options:\n * @param {number} [settings.plotWidth=500] - Plot area width\n * @param {number} [settings.plotHeight=200] - Plot area height\n * @param {boolean} [settings.showLegend=true] - Whether to display legend\n * @param {boolean} [settings.showDownload=true] - Whether to show download button\n * @param {boolean} [settings.showInteractiveDots=true] - Whether to show hoverable data points\n * @param {number} [settings.yAxisX=70] - Y-axis positioning\n * @param {number} [settings.yAxisSpace=40] - Space between Y-axis and plot\n * @param {number} [settings.yAxisY=40] - Top margin\n * @param {number} [settings.fontSize=12] - Base font size\n * @param {number} [settings.pngDotRadius=2] - Radius of dots in PNG plot\n * @param {number} [settings.legendItemWidth=80] - Horizontal space per legend item\n * @param {number} [settings.legendDotRadius=3] - Size of legend dots\n * @param {number} [settings.legendRightOffset=15] - Offset from right edge\n * @param {number} [settings.legendTextOffset=12] - Distance between dot and text\n * @param {number} [settings.legendVerticalOffset=4] - Vertical offset for legend items\n * @param {number} [settings.legendFontSize=12] - Font size for legend text\n * @param {number} [settings.interactiveDotRadius=2] - Radius of interactive dots\n * @param {number} [settings.xAxisLabelPad=20] - Amount of padding we give for x-axis title padding\n * @param {number} [settings.interactiveDotStrokeWidth=1] - Stroke width for interactive dots\n * @param {string} [settings.axisColor='#545454'] - Color for y-axis\n * @param {boolean} [settings.showYAxisLine=true] - Whether to show y-axis line\n * @param {number} [settings.interactiveDotsCap=5000] - Interactive dots cap\n * @param {number} [settings.maxTooltipGenes=5] - Maximum number of genes to show in tooltip\n * @param {Object} [app] - Optional app context for dispatching events\n *\n *\n * @description\n * Renders a genomic Manhattan plot by overlaying interactive elements on the base PNG plot image.\n * Features include chromosome labels, legend, hoverable data points with tooltips,\n * and proper axis scaling. The plot combines a static PNG plot image of all points with dynamic SVG elements\n * including axes, labels, legend, and top genes (represented as interactive dots) for detailed information on hover.\n */\n\nexport function plotManhattan(div: any, data: any, settings: any, app?: any) {\n\t// Get our settings\n\tsettings = {\n\t\t...settings\n\t}\n\n\t// Check size of interactive data\n\tlet interactivePoints = data.plotData.points\n\tif (data.plotData.points.length > settings.interactiveDotsCap) {\n\t\t// Sort points by y value (-log10(q-value)) descending and take top N up to interactiveDotsCap\n\t\tinteractivePoints = data.plotData.points.sort((a: any, b: any) => b.y - a.y).slice(0, settings.interactiveDotsCap)\n\t}\n\n\t// Set the positioning up for download button to work properly\n\tdiv.style('position', 'relative')\n\n\t// Hover tooltip menu \u2014 DataPointInteractions writes into this on hover.\n\tconst geneTip = new Menu({ padding: '' })\n\n\tconst svg = div\n\t\t.append('svg')\n\t\t.attr('data-testid', 'sjpp-manhattan')\n\t\t.attr('width', settings.plotWidth + 2 * settings.pngDotRadius + settings.yAxisX + settings.yAxisSpace)\n\t\t.attr('height', settings.plotHeight + 2 * settings.pngDotRadius + settings.yAxisY * 4) // Extra space for x-axis labels, legend, and title\n\n\t// Add y-axis\n\t// yPlot \u2192 full padded scale, aligns exactly with PNG coordinates\n\t// yAxisScale \u2192 trimmed scale for axis labels, ignores PNG padding\n\t// --- Y-Axis Setup ---\n\t// This section builds two linked scales:\n\t//\n\t// 1) yPlot \u2192 full PNG-aligned scale (includes padding added by Rust)\n\t// 2) yAxisScale \u2192 visual axis scale (no padding; shows only real data values)\n\t//\n\t// The reason for two scales is that the PNG image itself was rendered\n\t// with top/bottom padding for dot radius. We need one scale to stay\n\t// pixel-perfect with the PNG (for dots, overlays, etc.), and another\n\t// scale to make the visible y-axis line up only with the *real* data region.\n\n\t// 1) yPlot: true positioning scale used for all pixel-aligned elements\n\t// - Domain = padded range from Rust (includes buffer above/below real data)\n\t// - Range = full PNG pixel height (0 is top, png_height is bottom)\n\tconst yPlot = scaleLinear()\n\t\t.domain([data.plotData.y_min, data.plotData.y_max]) // padded domain from Rust\n\t\t.range([settings.plotHeight + 2 * settings.pngDotRadius, 0]) // full PNG height\n\n\t// 2) yAxisScale: used only for the visible axis labels/ticks\n\t// - Domain = true data values (no padding)\n\t// - Range = subset of pixel space between yPlot(0) and yPlot(realMax [data.plotData.y_max - data.plotData.png_dot_radius])\n\t// so the axis sits entirely within the real data area\n\tconst yAxisScale = scaleLinear()\n\t\t.domain([0, data.plotData.y_max - settings.pngDotRadius])\n\t\t.range([yPlot(0), yPlot(data.plotData.y_max - settings.pngDotRadius)])\n\n\t// Axis group\n\tconst axisG = svg\n\t\t.append('g')\n\t\t.attr('transform', `translate(${settings.yAxisX + settings.yAxisSpace - settings.yAxisPad},${settings.yAxisY})`)\n\n\taxisG.call(\n\t\td3axis.axisLeft(yAxisScale).tickSizeOuter(0) // removes top/bottom cap lines for clean look\n\t)\n\n\taxisstyle({\n\t\taxis: axisG,\n\t\tcolor: settings.axisColor,\n\t\tfontsize: settings.fontSize + 2,\n\t\tshowline: settings.showYAxisLine\n\t})\n\n\t// Add y-axis label\n\tsvg\n\t\t.append('text')\n\t\t.attr('x', -((settings.plotHeight + 2 * settings.pngDotRadius) / 2) - settings.yAxisY)\n\t\t.attr('y', settings.yAxisX / 2)\n\t\t.attr('transform', 'rotate(-90)')\n\t\t.attr('text-anchor', 'middle')\n\t\t.attr('font-size', `${settings.fontSize + 4}px`)\n\t\t.attr('fill', 'black')\n\t\t.text(data.plotData.has_capped_points ? '-log\u2081\u2080(q-value) [capped]' : '-log\u2081\u2080(q-value)')\n\n\t// Add png image\n\tsvg\n\t\t.append('image')\n\t\t.attr('transform', `translate(${settings.yAxisX + settings.yAxisSpace},${settings.yAxisY})`)\n\t\t.attr('width', settings.plotWidth + 2 * settings.pngDotRadius)\n\t\t.attr('height', settings.plotHeight + 2 * settings.pngDotRadius)\n\t\t.attr('href', `data:image/png;base64,${data.pngImg || data.png}`)\n\n\t// Create scales for positioning elements\n\tconst xScale = scaleLinear()\n\t\t.domain([-data.plotData.x_buffer, data.plotData.total_genome_length + data.plotData.x_buffer])\n\t\t.range([0, settings.plotWidth + 2 * settings.pngDotRadius])\n\n\t// Add interactive dots layer\n\tif (settings.showInteractiveDots && data.plotData.points && data.plotData.points.length > 0) {\n\t\t// Hover-ring layer \u2014 `pointer-events: none` so rings never intercept clicks.\n\t\tconst hoverLayer = svg\n\t\t\t.append('g')\n\t\t\t.attr('transform', `translate(${settings.yAxisX + settings.yAxisSpace},${settings.yAxisY})`)\n\t\t\t.style('pointer-events', 'none')\n\n\t\t// Cover as a sibling HTML div positioned over the plot area \u2014 avoids\n\t\t// the mouse-event quirks of nesting inside SVG.\n\t\tconst cover = select(svg.node().parentNode as HTMLElement)\n\t\t\t.append('div')\n\t\t\t.style('position', 'absolute')\n\t\t\t.style('left', `${settings.yAxisX + settings.yAxisSpace}px`)\n\t\t\t.style('top', `${settings.yAxisY}px`)\n\t\t\t.style('width', `${settings.plotWidth + 2 * settings.pngDotRadius}px`)\n\t\t\t.style('height', `${settings.plotHeight + 2 * settings.pngDotRadius}px`)\n\t\t\t.style('pointer-events', 'all')\n\n\t\t// Circle as an SVG path so it flows through the generic `drawHoverShapes`.\n\t\tconst circlePath = (r: number) => `M${r},0 A${r},${r} 0 1,1 ${-r},0 A${r},${r} 0 1,1 ${r},0 Z`\n\n\t\tconst interactions = new DataPointInteractions<ManhattanPoint>({\n\t\t\tcover,\n\t\t\thoverLayer,\n\t\t\thoverTip: geneTip,\n\t\t\tpoints: interactivePoints,\n\t\t\tgetX: d => d.pixel_x,\n\t\t\tgetY: d => d.pixel_y,\n\t\t\thitRadius: settings.pngDotRadius + 3,\n\t\t\ttoHoverSpec: d => ({\n\t\t\t\tpath: circlePath(settings.pngDotRadius),\n\t\t\t\ttransform: `translate(${d.pixel_x},${d.pixel_y})`,\n\t\t\t\tfill: 'none',\n\t\t\t\tstroke: 'black',\n\t\t\t\tstrokeWidth: settings.interactiveDotStrokeWidth\n\t\t\t}),\n\t\t\tmaxTooltipRows: settings.maxTooltipGenes,\n\t\t\titemNoun: 'gene',\n\t\t\trenderSingleHoverTooltip: (d, container) => {\n\t\t\t\tconst table = table2col({ holder: container.append('div'), margin: '10px' })\n\t\t\t\ttable.addRow('Gene', d.gene)\n\t\t\t\ttable.addRow('Position', `${d.chrom}:${d.start}-${d.end}`)\n\t\t\t\tconst [t1, t2] = table.addRow()\n\t\t\t\tt1.text('Type')\n\t\t\t\tt2.html(`<span style=\"color:${d.color}\">\u25CF</span> ${d.type.charAt(0).toUpperCase() + d.type.slice(1)}`)\n\t\t\t\ttable.addRow('Q-value', d.q_value.toPrecision(3))\n\t\t\t\ttable.addRow('Subject count', d.nsubj)\n\t\t\t},\n\t\t\tbuildMultiHitTableData: dots => ({\n\t\t\t\tcolumns: [\n\t\t\t\t\t{ label: 'Gene' },\n\t\t\t\t\t{ label: 'Position' },\n\t\t\t\t\t{ label: 'Type' },\n\t\t\t\t\t{ label: 'Q-value', sortable: true },\n\t\t\t\t\t{ label: 'Subject count', sortable: true }\n\t\t\t\t],\n\t\t\t\trows: dots.map(d => [\n\t\t\t\t\t{ value: d.gene },\n\t\t\t\t\t{ value: `${d.chrom}:${d.start}-${d.end}` },\n\t\t\t\t\t{\n\t\t\t\t\t\thtml: `<span style=\"color:${d.color}\">\u25CF</span> ${d.type.charAt(0).toUpperCase() + d.type.slice(1)}`\n\t\t\t\t\t},\n\t\t\t\t\t{ value: d.q_value.toPrecision(3) },\n\t\t\t\t\t{ value: d.nsubj }\n\t\t\t\t])\n\t\t\t}),\n\t\t\t// Manhattan single-click goes straight to a lollipop launch \u2014 no menu.\n\t\t\t// Release hover-suppression immediately so the cursor's next move re-engages.\n\t\t\tonSingleClick: (d, _event, ctx) => {\n\t\t\t\tctx.dismiss()\n\t\t\t\tif (app) createLollipopFromGene(d.gene, app)\n\t\t\t},\n\t\t\t// Manhattan multi-click shows showResultsTable directly with `app + clickMenu`\n\t\t\t// so the table renders inline Matrix/Lollipop buttons. Reuses the module's\n\t\t\t// clickMenu so its onHide cleanup (clear flag, clear hover) fires on dismiss.\n\t\t\t// Content is built BEFORE show2 so Menu can measure the populated rect for\n\t\t\t// its right-edge clamp \u2014 otherwise the wide table is placed at cursor+offsetX\n\t\t\t// and extends off the right edge of the viewport.\n\t\t\tonMultiClick: (dots, event, ctx) => {\n\t\t\t\tif (!app) {\n\t\t\t\t\tctx.dismiss()\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tctx.clickMenu.clear()\n\t\t\t\tconst holder = ctx.clickMenu.d.append('div').style('margin', '10px')\n\t\t\t\tshowResultsTable({ tableDiv: holder, hits: dots, app, clickMenu: ctx.clickMenu })\n\t\t\t\tctx.clickMenu.show2(event.clientX, event.clientY)\n\t\t\t}\n\t\t})\n\n\t\tinteractions.attach()\n\t}\n\n\t// Add chromosome labels\n\tif (data.plotData.chrom_data) {\n\t\tconst chromLabelY = settings.plotHeight + 2 * settings.pngDotRadius + settings.yAxisY + 10\n\n\t\tObject.entries(data.plotData.chrom_data).forEach(([chrom, chromData]: [string, any]) => {\n\t\t\tconst chromLabel = chrom.replace('chr', '')\n\n\t\t\t// Skip chrM\n\t\t\tif (chromLabel === 'M') return\n\n\t\t\t// Calculate center position for label\n\t\t\tconst centerPos = settings.yAxisX + settings.yAxisSpace + xScale(chromData.center)\n\n\t\t\t// Append chromosome label\n\t\t\tsvg\n\t\t\t\t.append('text')\n\t\t\t\t.attr('x', centerPos)\n\t\t\t\t.attr('y', chromLabelY)\n\t\t\t\t.attr('text-anchor', 'middle')\n\t\t\t\t.attr('font-size', `${settings.fontSize + 2}px`)\n\t\t\t\t.text(chromLabel)\n\t\t})\n\t}\n\n\t// Add x-axis label\n\tsvg\n\t\t.append('text')\n\t\t.attr('x', settings.yAxisX + settings.yAxisSpace + (settings.plotWidth + 2 * settings.pngDotRadius) / 2)\n\t\t.attr('y', settings.plotHeight + 2 * settings.pngDotRadius + settings.yAxisY + settings.xAxisLabelPad)\n\t\t.attr('text-anchor', 'middle')\n\t\t.attr('font-size', `${settings.fontSize + 4}px`)\n\t\t.attr('fill', 'black')\n\t\t.text('Chromosomes')\n\n\t// Add title\n\tsvg\n\t\t.append('text')\n\t\t.attr('x', settings.yAxisX + settings.yAxisSpace)\n\t\t.attr('y', settings.yAxisY / 2)\n\t\t.attr('font-weight', 'bold')\n\t\t.attr('font-size', `${settings.fontSize + 2}px`)\n\t\t.text('Manhattan Plot')\n\n\tif (settings.showDownload) {\n\t\tconst downloadDiv = div\n\t\t\t.append('div')\n\t\t\t.style('position', 'absolute')\n\t\t\t.style('top', '5px')\n\t\t\t.style('left', `${settings.yAxisX + settings.yAxisSpace + 108}px`)\n\n\t\ticons['download'](downloadDiv, {\n\t\t\twidth: 16,\n\t\t\theight: 16,\n\t\t\ttitle: 'Download Manhattan plot',\n\t\t\thandler: () => {\n\t\t\t\t// Clone the SVG to avoid modifying the displayed version\n\t\t\t\tconst svgNode = svg.node() as SVGSVGElement\n\t\t\t\tconst clone = svgNode.cloneNode(true) as SVGSVGElement\n\n\t\t\t\t// Get the bounding box of all content\n\t\t\t\tconst bbox = svgNode.getBBox()\n\n\t\t\t\t// Set the clone's dimensions to match the full content\n\t\t\t\tclone.setAttribute('width', bbox.width.toString())\n\t\t\t\tclone.setAttribute('height', bbox.height.toString())\n\t\t\t\tclone.setAttribute('viewBox', `${bbox.x} ${bbox.y} ${bbox.width} ${bbox.height}`)\n\n\t\t\t\tto_svg(clone, `manhattan_plot_${new Date().toISOString().replace(/[:.]/g, '-').slice(0, -5)}`, {\n\t\t\t\t\tapply_dom_styles: true\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\n\t// Generate legend data\n\tconst mutationTypes = [...new Set(data.plotData.points.map((p: any) => p.type))]\n\tconst legendData = mutationTypes.map(type => {\n\t\tconst point = data.plotData.points.find((p: any) => p.type === type)\n\t\treturn {\n\t\t\ttype: String(type).charAt(0).toUpperCase() + String(type).slice(1),\n\t\t\tcolor: point?.color\n\t\t}\n\t})\n\n\t// Add legend\n\tif (settings.showLegend && legendData.length > 0) {\n\t\tconst legendY = settings.yAxisY / 2\n\t\tconst totalWidth = legendData.length * settings.legendItemWidth\n\t\tconst legendX =\n\t\t\tsettings.yAxisX +\n\t\t\tsettings.yAxisSpace +\n\t\t\t(settings.plotWidth + 2 * settings.pngDotRadius) -\n\t\t\ttotalWidth -\n\t\t\tsettings.legendRightOffset\n\n\t\tlegendData.forEach((item, i) => {\n\t\t\tconst x = legendX + i * settings.legendItemWidth\n\n\t\t\t// Legend dot\n\t\t\tsvg\n\t\t\t\t.append('circle')\n\t\t\t\t.attr('cx', x + 8)\n\t\t\t\t.attr('cy', legendY)\n\t\t\t\t.attr('r', settings.legendDotRadius)\n\t\t\t\t.attr('fill', item.color)\n\n\t\t\t// Legend text\n\t\t\tsvg\n\t\t\t\t.append('text')\n\t\t\t\t.attr('x', x + 8 + settings.legendTextOffset)\n\t\t\t\t.attr('y', legendY + settings.legendVerticalOffset)\n\t\t\t\t.attr('font-size', `${settings.legendFontSize + 2}px`)\n\t\t\t\t.text(item.type)\n\t\t})\n\t}\n}\n", "import { getCompInit, copyMerge, type RxComponent, type ComponentApi } from '#rx'\nimport type { BasePlotConfig, MassAppApi, MassState } from '#mass/types/mass'\nimport type { GRIN2Dom, GRIN2Opts } from './GRIN2Types'\nimport { getCombinedTermFilter, getNormalRoot, filterInit } from '#filter'\nimport { Menu, table2col, make_one_checkbox, sayerror, showResultsTable } from '#dom'\nimport { dtsnvindel, mclass, dtcnv, dtfusionrna, dtsv, proteinChangingMutations, dt2lesion } from '#shared/common.js'\nimport { PlotBase } from '#plots/PlotBase.ts'\nimport { plotManhattan } from '#plots/manhattan/manhattan.ts'\nimport { controlsInit } from '#plots/controls.js'\n\nclass GRIN2 extends PlotBase implements RxComponent {\n\tstatic type = 'grin2'\n\treadonly type = 'grin2'\n\tdom: GRIN2Dom\n\tcomponents: { controls: ComponentApi }\n\tprivate snvindelMafFilter: any // active MAF filter state, updated by filterInit UI\n\n\t// Colors\n\treadonly borderColor = '#eee'\n\treadonly backgroundColor = '#f8f8f8'\n\treadonly optionsTextColor = '#666'\n\treadonly btnBackgroundColor = '#f0f0f0'\n\treadonly btnBorderColor = '#ccc'\n\treadonly btnTextColor = '#333'\n\treadonly btnHoverBackgroundColor = '#e0e0e0'\n\n\t// Typography\n\treadonly optionsTextFontSize: number = 12\n\treadonly btnFontSize: number = 12\n\treadonly headerFontSize: number = 14\n\treadonly headerFontWeight: number = 600\n\treadonly tableFontSize: number = 11\n\treadonly statsTableFontWeight: string = 'bold'\n\n\t// Spacing & Layout\n\treadonly btnPadding = '8px 16px'\n\treadonly btnSmallPadding = '2px 8px' // for Select All/Clear All\n\treadonly btnBorderRadius = '3px'\n\treadonly btnMargin = '10px'\n\treadonly tableCellPadding = '8px'\n\treadonly controlsMargin = '5px'\n\treadonly controlsPadding = '10px'\n\n\t// Input fields\n\treadonly inputWidth = '80px'\n\treadonly inputPadding = '2px 4px'\n\treadonly inputBorderColor = '#ddd'\n\treadonly inputBorderRadius = '2px'\n\n\t// Containers\n\treadonly checkboxContainerMaxHeight = '150px'\n\treadonly checkboxContainerBackground = '#fafafa'\n\treadonly checkboxContainerBorder = '1px solid #ddd'\n\treadonly checkboxContainerPadding = '4px'\n\treadonly checkboxContainerBorderRadius = '3px'\n\n\t// Interactive states\n\treadonly disabledOpacity = '0.6'\n\treadonly enabledOpacity = '1'\n\n\t// Gaps and offsets\n\treadonly controlGap = '8px'\n\treadonly checkboxMarginBottom = '2px'\n\treadonly headerMargin = '0 10px 0 0'\n\treadonly sectionMargin = '20px 0'\n\n\tconstructor(opts: any, api) {\n\t\tsuper(opts, api)\n\t\tthis.opts = opts\n\t\tthis.components = {\n\t\t\tcontrols: {} as ComponentApi\n\t\t}\n\t\topts.holder.classed('sjpp-grin2-main', true)\n\t\tthis.dom = {\n\t\t\tmassControls: opts.holder.append('div').style('display', 'inline-block'),\n\t\t\theaderText: opts.holder.append('div').style('display', 'inline-block'),\n\t\t\tcontrols: opts.holder.append('div'), // controls ui on top\n\t\t\tdiv: opts.holder.append('div').style('margin', '20px'), // result ui on bottom\n\t\t\ttip: new Menu({ padding: '' }),\n\t\t\tgeneTip: new Menu({ padding: '' }),\n\t\t\tsnvindelCheckbox: null,\n\t\t\tcnvCheckbox: null,\n\t\t\tfusionCheckbox: null,\n\t\t\tsvCheckbox: null,\n\t\t\trunButton: null,\n\t\t\tconsequenceCheckboxes: {},\n\t\t\tsnvindelSelectAllBtn: null,\n\t\t\tsnvindelClearAllBtn: null,\n\t\t\tsnvindelDefaultBtn: null\n\t\t}\n\t\tif (opts.header) this.dom.header = opts.header.text('GRIN2')\n\t}\n\n\tgetState(appState: MassState) {\n\t\tconst config = appState.plots.find((p: BasePlotConfig) => p.id === this.id)\n\t\tif (!config) {\n\t\t\tthrow `No plot with id='${this.id}' found. Did you set this.id before this.api = getComponentApi(this)?`\n\t\t}\n\t\tconst parentConfig = appState.plots.find((p: BasePlotConfig) => p.id === this.parentId)\n\t\t// Get combined term filter from global app state and plot-specific config\n\t\tconst termfilter = getCombinedTermFilter(appState, config.filter || parentConfig?.filter)\n\t\treturn {\n\t\t\tconfig,\n\t\t\ttermfilter\n\t\t}\n\t}\n\n\tprivate addSnvindelRow = (table: any) => {\n\t\tconst [left, right] = table.addRow()\n\n\t\t// Options table\n\t\tconst t2 = table2col({ holder: right })\n\n\t\t// if 5/3 flanking size will be needed in future, can create a helper this.addFlankingOption() to dedup\n\n\t\t// TODO: Enable once talk to collaborators about supporting these options\n\t\t// // 5' flanking size\n\t\t// this.dom.snvindel_five_prime_flank_size = this.addOptionRowToTable(\n\t\t// \tt2,\n\t\t// \t\"5' Flanking Size\",\n\t\t// \t500, // default\n\t\t// \t0, // min\n\t\t// \t1e9, // max\n\t\t// \t500 // step\n\t\t// )\n\t\t// // 3' flanking size\n\t\t// this.dom.snvindel_three_prime_flank_size = this.addOptionRowToTable(\n\t\t// \tt2,\n\t\t// \t\"3' Flanking Size\",\n\t\t// \t500, // default\n\t\t// \t0, // min\n\t\t// \t1e9, // max\n\t\t// \t500 // step\n\t\t// )\n\n\t\t// Consequences section header + checkbox grid\n\t\t{\n\t\t\tconst [labelCell, containerCell] = t2.addRow()\n\t\t\tlabelCell.text('Consequences').style('padding-top', '8px')\n\n\t\t\t// Build the consequence checkboxes in the right cell\n\t\t\tthis.createConsequenceCheckboxes(containerCell)\n\t\t}\n\n\t\t// MAF filter UI, if mafFilter is defined in the dataset config\n\t\tconst mafFilterConfig = this.app.vocabApi.termdbConfig.queries?.snvindel?.mafFilter\n\t\tif (mafFilterConfig) {\n\t\t\tthis.snvindelMafFilter = structuredClone(\n\t\t\t\tthis.state.config.settings?.snvindelOptions?.mafFilter || mafFilterConfig.filter\n\t\t\t)\n\t\t\tconst [td1, td2] = t2.addRow()\n\t\t\ttd1.text('MAF filter')\n\t\t\tfilterInit({\n\t\t\t\temptyLabel: '+',\n\t\t\t\tholder: td2,\n\t\t\t\theader_mode: 'hide_search',\n\t\t\t\tvocab: { terms: mafFilterConfig.terms },\n\t\t\t\tcallback: async (filter: any) => {\n\t\t\t\t\tthis.snvindelMafFilter = filter\n\t\t\t\t}\n\t\t\t}).main(this.snvindelMafFilter)\n\t\t}\n\n\t\t// ----- Left-side SNV/INDEL checkbox -----\n\t\tconst isChecked = this.state.config.settings.dtUsage[dtsnvindel].checked\n\t\tt2.table.style('display', isChecked ? '' : 'none')\n\t\tthis.dom.snvindelCheckbox = make_one_checkbox({\n\t\t\tholder: left,\n\t\t\tlabeltext: dt2lesion[dtsnvindel].uilabel,\n\t\t\tchecked: isChecked,\n\t\t\ttestid: 'sjpp-grin2-checkbox-snvindel',\n\t\t\tcallback: (checked: boolean) => {\n\t\t\t\tt2.table.style('display', checked ? '' : 'none')\n\t\t\t\tthis.updateRunButtonFromCheckboxes()\n\t\t\t}\n\t\t})\n\t}\n\n\t// Add CNV row\n\tprivate addCnvRow = (table: any) => {\n\t\tconst [left, right] = table.addRow()\n\n\t\t// CNV options table\n\t\tconst t2 = table2col({ holder: right })\n\n\t\t// We need this extra useSaved because of having a ds specific value set. Only use saved CNV settings if we know they came from a completed run\n\t\t// TODO: Long term we will need to do this for snvindel once we support ds specific values there also\n\t\tconst useSaved = this.state.config.settings.runAnalysis === true\n\t\tconst savedCnv = useSaved ? this.state.config.settings.cnvOptions : undefined\n\n\t\t// Loss Threshold\n\t\tthis.dom.cnv_lossThreshold = this.addOptionRowToTable(\n\t\t\tt2,\n\t\t\t'Loss Threshold',\n\t\t\tsavedCnv?.lossThreshold ?? this.app.vocabApi.termdbConfig.queries.cnv?.cnvLossCutoff ?? -0.4, // default. We first check if we have saved state, then we check the ds specific value, if that is undefined we fall back to the hardcoded default value\n\t\t\t-5, // min\n\t\t\t0, // max\n\t\t\t0.05 // step\n\t\t)\n\n\t\t// Gain Threshold\n\t\tthis.dom.cnv_gainThreshold = this.addOptionRowToTable(\n\t\t\tt2,\n\t\t\t'Gain Threshold',\n\t\t\tsavedCnv?.gainThreshold ?? this.app.vocabApi.termdbConfig.queries.cnv?.cnvGainCutoff ?? 0.4, // default. We first check if we have saved state, then we check the ds specific value, if that is undefined we fall back to the hardcoded default value\n\t\t\t0, // min\n\t\t\t5, // max\n\t\t\t0.05 // step\n\t\t)\n\n\t\t// Max Segment Length (0 = no cap)\n\t\tthis.dom.cnv_maxSegLength = this.addOptionRowToTable(\n\t\t\tt2,\n\t\t\t'Max Segment Length',\n\t\t\tsavedCnv?.maxSegLength ?? this.app.vocabApi.termdbConfig.queries.cnv?.cnvMaxLength ?? 2e6, // default 2Mb. We first check if we have saved state, then we check the ds specific value, if that is undefined we fall back to the hardcoded default value\n\t\t\t0, // min\n\t\t\t1e9, // max\n\t\t\t1000 // step\n\t\t)\n\n\t\t// // 5' flanking size\n\t\t// this.dom.cnv_five_prime_flank_size = this.addOptionRowToTable(\n\t\t// \tt2,\n\t\t// \t\"5' Flanking Size\",\n\t\t// \t500, // default\n\t\t// \t0, // min\n\t\t// \t1e9, // max\n\t\t// \t500 // step\n\t\t// )\n\n\t\t// // 3' flanking size\n\t\t// this.dom.cnv_three_prime_flank_size = this.addOptionRowToTable(\n\t\t// \tt2,\n\t\t// \t\"3' Flanking Size\",\n\t\t// \t500, // default\n\t\t// \t0, // min\n\t\t// \t1e9, // max\n\t\t// \t500 // step\n\t\t// )\n\n\t\t// ----- Left-side CNV checkbox -----\n\t\tconst dtUsage = this.state.config.settings.dtUsage\n\t\tconst isChecked =\n\t\t\tuseSaved && dtUsage[dtcnv]?.checked !== undefined\n\t\t\t\t? dtUsage[dtcnv].checked\n\t\t\t\t: !!this.app.vocabApi.termdbConfig.queries.cnv\n\n\t\tt2.table.style('display', isChecked ? '' : 'none')\n\n\t\tthis.dom.cnvCheckbox = make_one_checkbox({\n\t\t\tholder: left,\n\t\t\tlabeltext: dt2lesion[dtcnv].uilabel,\n\t\t\tchecked: isChecked,\n\t\t\ttestid: 'sjpp-grin2-checkbox-cnv',\n\t\t\tcallback: (checked: boolean) => {\n\t\t\t\tt2.table.style('display', checked ? '' : 'none')\n\t\t\t\tthis.updateRunButtonFromCheckboxes()\n\t\t\t}\n\t\t})\n\t}\n\n\t// Add Fusion row\n\tprivate addFusionRow = (table: any) => {\n\t\tconst [left, right] = table.addRow()\n\n\t\t// Fusion options table\n\t\tconst t2 = table2col({ holder: right })\n\n\t\t// // 5' flanking size\n\t\t// this.dom.fusion_five_prime_flank_size = this.addOptionRowToTable(\n\t\t// \tt2,\n\t\t// \t\"5' Flanking Size\",\n\t\t// \t500, // default\n\t\t// \t0, // min\n\t\t// \t1e9, // max\n\t\t// \t500 // step\n\t\t// )\n\n\t\t// // 3' flanking size\n\t\t// this.dom.fusion_three_prime_flank_size = this.addOptionRowToTable(\n\t\t// \tt2,\n\t\t// \t\"3' Flanking Size\",\n\t\t// \t500, // default\n\t\t// \t0, // min\n\t\t// \t1e9, // max\n\t\t// \t500 // step\n\t\t// )\n\n\t\tconst isChecked = this.state.config.settings.dtUsage[dtfusionrna].checked\n\t\tt2.table.style('display', isChecked ? '' : 'none')\n\n\t\tthis.dom.fusionCheckbox = make_one_checkbox({\n\t\t\tholder: left,\n\t\t\tlabeltext: dt2lesion[dtfusionrna].uilabel,\n\t\t\tchecked: isChecked,\n\t\t\ttestid: 'grin2-checkbox-fusion',\n\t\t\tcallback: (checked: boolean) => {\n\t\t\t\tt2.table.style('display', checked ? '' : 'none')\n\t\t\t\tthis.updateRunButtonFromCheckboxes()\n\t\t\t}\n\t\t})\n\t}\n\n\t// Add SV row\n\tprivate addSvRow = (table: any) => {\n\t\tconst [left, right] = table.addRow()\n\n\t\t// SV options table\n\t\tconst t2 = table2col({ holder: right })\n\n\t\t// // 5' flanking size\n\t\t// this.dom.sv_five_prime_flank_size = this.addOptionRowToTable(\n\t\t// \tt2,\n\t\t// \t\"5' Flanking Size\",\n\t\t// \t500, // default\n\t\t// \t0, // min\n\t\t// \t1e9, // max\n\t\t// \t500 // step\n\t\t// )\n\n\t\t// // 3' flanking size\n\t\t// this.dom.sv_three_prime_flank_size = this.addOptionRowToTable(\n\t\t// \tt2,\n\t\t// \t\"3' Flanking Size\",\n\t\t// \t500, // default\n\t\t// \t0, // min\n\t\t// \t1e9, // max\n\t\t// \t500 // step\n\t\t// )\n\n\t\tconst isChecked = this.state.config.settings.dtUsage[dtsv].checked\n\t\tt2.table.style('display', isChecked ? '' : 'none')\n\n\t\tthis.dom.svCheckbox = make_one_checkbox({\n\t\t\tholder: left,\n\t\t\tlabeltext: dt2lesion[dtsv].uilabel,\n\t\t\tchecked: isChecked,\n\t\t\ttestid: 'sjpp-grin2-checkbox-sv',\n\t\t\tcallback: (checked: boolean) => {\n\t\t\t\tt2.table.style('display', checked ? '' : 'none')\n\t\t\t\tthis.updateRunButtonFromCheckboxes()\n\t\t\t}\n\t\t})\n\t}\n\n\t// Enable the run button only if at least one data type is checked\n\tprivate updateRunButtonState(dtu?: Record<number, { checked: boolean; label: string }>) {\n\t\tconst dtUsage = dtu || (this.state.config.settings.dtUsage as Record<number, { checked: boolean; label: string }>)\n\t\tconst anyChecked = Object.values(dtUsage).some(info => info.checked)\n\t\tthis.dom.runButton.property('disabled', !anyChecked)\n\t}\n\n\tprivate createConfigTable() {\n\t\t// Add citation text\n\t\tthis.dom.headerText\n\t\t\t.style('margin', '15px')\n\t\t\t.html(\n\t\t\t\t'GRIN2 stands for Genomic Random Interval (GRIN) statistical model. For details, see <a href=https://pubmed.ncbi.nlm.nih.gov/23842812/ target=_blank>Pounds, S. et al. Bioinformatics 2013</a>.'\n\t\t\t)\n\n\t\tconst table = table2col({ holder: this.dom.controls, disableScroll: true })\n\t\tconst queries = this.app.vocabApi.termdbConfig.queries\n\t\tif (queries.snvindel) {\n\t\t\tthis.addSnvindelRow(table)\n\t\t}\n\n\t\tif (queries.cnv) {\n\t\t\tthis.addCnvRow(table)\n\t\t}\n\t\tif (queries.svfusion?.dtLst?.includes(dtfusionrna)) {\n\t\t\tthis.addFusionRow(table)\n\t\t}\n\t\tif (queries.svfusion?.dtLst?.includes(dtsv)) {\n\t\t\tthis.addSvRow(table)\n\t\t}\n\n\t\t// Run Button\n\t\tthis.dom.runButton = this.dom.controls\n\t\t\t.append('button')\n\t\t\t.attr('data-testid', 'sjpp-grin2-run-button')\n\t\t\t.style('margin-left', '100px')\n\t\t\t.text('Run GRIN2')\n\t\t\t.on('click', () => {\n\t\t\t\tthis.runAnalysis()\n\t\t\t})\n\n\t\tif (this.state.config.settings.runAnalysis) {\n\t\t\tthis.runAnalysis()\n\t\t} else {\n\t\t\t// Set initial button state\n\t\t\tthis.updateRunButtonState()\n\t\t}\n\t}\n\n\t// Helper method to add option rows to table2col instances\n\tprivate addOptionRowToTable(\n\t\ttable: any,\n\t\tlabel: string,\n\t\tdefaultValue: number,\n\t\tmin?: number,\n\t\tmax?: number,\n\t\tstep?: number\n\t) {\n\t\tconst [labelCell, inputCell] = table.addRow()\n\t\tlabelCell.text(label)\n\n\t\tconst input = inputCell\n\t\t\t.append('input')\n\t\t\t.attr('type', 'number')\n\t\t\t.attr('value', defaultValue)\n\t\t\t.style('width', this.inputWidth)\n\t\t\t.style('padding', this.inputPadding)\n\t\t\t.style('border', `1px solid ${this.inputBorderColor}`)\n\t\t\t.style('border-radius', this.inputBorderRadius)\n\t\t\t.style('font-size', `${this.optionsTextFontSize}px`)\n\n\t\tif (min !== null && min !== undefined) input.attr('min', min)\n\t\tif (max !== null && max !== undefined) input.attr('max', max)\n\t\tif (step !== null && step !== undefined) input.attr('step', step)\n\n\t\treturn input\n\t}\n\n\tprivate createConsequenceCheckboxes(container: any) {\n\t\tconst snvIndelClasses = Object.entries(mclass).filter(\n\t\t\t([key, cls]: [string, any]) => cls.dt === dtsnvindel && key !== 'Blank' && key !== 'WT'\n\t\t)\n\n\t\tconst saved = this.state.config.settings.snvindelOptions?.consequences as string[] | undefined\n\t\tconst useSaved = this.state.config.settings.runAnalysis === true && !!saved && saved.length > 0\n\n\t\t// Canonical default set = protein-changing + StartLost + StopLost\n\t\tconst canonicalDefault = new Set<string>([...proteinChangingMutations, 'StartLost', 'StopLost'])\n\n\t\t// What we use for initial rendering:\n\t\tconst initialChecked = useSaved ? new Set<string>(saved!) : canonicalDefault\n\n\t\t// --- Controls row ---\n\t\tconst controlDiv = container\n\t\t\t.append('div')\n\t\t\t.style('margin-bottom', '6px')\n\t\t\t.style('display', 'flex')\n\t\t\t.style('gap', this.controlGap)\n\n\t\tthis.dom.snvindelSelectAllBtn = controlDiv\n\t\t\t.append('button')\n\t\t\t.style('font-size', `${this.tableFontSize}px`)\n\t\t\t.text('Select All')\n\n\t\tthis.dom.snvindelClearAllBtn = controlDiv\n\t\t\t.append('button')\n\t\t\t.style('font-size', `${this.tableFontSize}px`)\n\t\t\t.text('Clear All')\n\n\t\tthis.dom.snvindelDefaultBtn = controlDiv\n\t\t\t.append('button')\n\t\t\t.style('font-size', `${this.tableFontSize}px`)\n\t\t\t.text('Default')\n\n\t\t// --- Checkbox list ---\n\t\tconst checkboxContainer = container\n\t\t\t.append('div')\n\t\t\t.style('max-height', this.checkboxContainerMaxHeight)\n\t\t\t.style('overflow-y', 'auto')\n\t\t\t.style('border', this.checkboxContainerBorder)\n\n\t\tthis.dom.consequenceCheckboxes = {}\n\n\t\tsnvIndelClasses.forEach(([classKey, classInfo]: [string, any]) => {\n\t\t\tconst checkboxDiv = checkboxContainer.append('div').style('margin-bottom', this.checkboxMarginBottom)\n\n\t\t\tconst checkbox = make_one_checkbox({\n\t\t\t\tholder: checkboxDiv,\n\t\t\t\tlabeltext: classInfo.label,\n\t\t\t\tchecked: initialChecked.has(classKey),\n\t\t\t\tdivstyle: { 'font-size': `${this.tableFontSize}px` },\n\t\t\t\tcallback: () => {}\n\t\t\t})\n\n\t\t\tcheckboxDiv.select('label').attr('title', classInfo.desc)\n\t\t\tthis.dom.consequenceCheckboxes[classKey] = checkbox\n\t\t})\n\n\t\t// Select All\n\t\tthis.dom.snvindelSelectAllBtn.on('click', () => {\n\t\t\tObject.values(this.dom.consequenceCheckboxes).forEach(cb => cb.property('checked', true))\n\t\t})\n\n\t\t// Clear All\n\t\tthis.dom.snvindelClearAllBtn.on('click', () => {\n\t\t\tObject.values(this.dom.consequenceCheckboxes).forEach(cb => cb.property('checked', false))\n\t\t})\n\n\t\t// Default: always reset to canonical (protein-changing + StartLost + StopLost)\n\t\tthis.dom.snvindelDefaultBtn.on('click', () => {\n\t\t\tObject.entries(this.dom.consequenceCheckboxes).forEach(([classKey, checkbox]) => {\n\t\t\t\tcheckbox.property('checked', canonicalDefault.has(classKey))\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate getConfigValues(dtUsage: Record<number, { checked: boolean; label: string }>): any {\n\t\tconst requestConfig: any = {}\n\t\tconst usage = dtUsage || this.state.config.settings.dtUsage\n\n\t\tif (usage[dtsnvindel]?.checked) {\n\t\t\trequestConfig.snvindelOptions = {\n\t\t\t\t// minTotalDepth: parseFloat(this.dom.snvindel_minTotalDepth.property('value')),\n\t\t\t\t// minAltAlleleCount: parseFloat(this.dom.snvindel_minAltAlleleCount.property('value')),\n\t\t\t\tconsequences: this.getSelectedConsequences()\n\t\t\t}\n\t\t\tif (this.snvindelMafFilter) {\n\t\t\t\trequestConfig.snvindelOptions.mafFilter = this.snvindelMafFilter\n\t\t\t}\n\t\t}\n\n\t\tif (usage[dtcnv]?.checked) {\n\t\t\trequestConfig.cnvOptions = {\n\t\t\t\tlossThreshold: parseFloat(this.dom.cnv_lossThreshold.property('value')),\n\t\t\t\tgainThreshold: parseFloat(this.dom.cnv_gainThreshold.property('value')),\n\t\t\t\tmaxSegLength: parseFloat(this.dom.cnv_maxSegLength.property('value'))\n\t\t\t}\n\t\t}\n\n\t\tif (usage[dtfusionrna]?.checked) {\n\t\t\trequestConfig.fusionOptions = {}\n\t\t}\n\n\t\tif (usage[dtsv]?.checked) {\n\t\t\trequestConfig.svOptions = {}\n\t\t}\n\n\t\treturn requestConfig\n\t}\n\n\tprivate getDtUsageFromCheckboxes(): Record<number, { checked: boolean; label: string }> {\n\t\tconst dtUsage = structuredClone(this.state.config.settings.dtUsage)\n\n\t\tif (dtUsage[dtsnvindel]) {\n\t\t\tdtUsage[dtsnvindel].checked = this.dom.snvindelCheckbox.property('checked')\n\t\t}\n\t\tif (dtUsage[dtcnv]) {\n\t\t\tdtUsage[dtcnv].checked = this.dom.cnvCheckbox.property('checked')\n\t\t}\n\t\tif (dtUsage[dtfusionrna]) {\n\t\t\tdtUsage[dtfusionrna].checked = this.dom.fusionCheckbox.property('checked')\n\t\t}\n\t\tif (dtUsage[dtsv]) {\n\t\t\tdtUsage[dtsv].checked = this.dom.svCheckbox.property('checked')\n\t\t}\n\n\t\treturn dtUsage\n\t}\n\n\tprivate getSelectedConsequences(): string[] {\n\t\tconst consequences: string[] = []\n\n\t\tObject.entries(this.dom.consequenceCheckboxes).forEach(([classKey, checkbox]) => {\n\t\t\tif (checkbox.property('checked')) {\n\t\t\t\tconsequences.push(classKey)\n\t\t\t}\n\t\t})\n\n\t\treturn consequences\n\t}\n\n\tprivate updateRunButtonFromCheckboxes() {\n\t\tconst dtUsage = this.getDtUsageFromCheckboxes()\n\t\tthis.updateRunButtonState(dtUsage)\n\t}\n\tprivate async runAnalysis() {\n\t\tthis.dom.controls.style('pointer-events', 'none').style('opacity', '0.5')\n\t\ttry {\n\t\t\t// Get checkbox states\n\t\t\tconst dtUsage = this.getDtUsageFromCheckboxes()\n\n\t\t\tthis.dom.runButton.property('disabled', true).text('Running GRIN2...')\n\n\t\t\t// Clear previous results\n\t\t\tthis.dom.div.selectAll('*').remove()\n\n\t\t\t// Get configuration and make request using the dtUsage we just read\n\t\t\tconst configValues = this.getConfigValues(dtUsage)\n\t\t\tconst requestData = {\n\t\t\t\tfilter: getNormalRoot(this.state.termfilter.filter),\n\t\t\t\tfilter0: this.state.termfilter.filter0,\n\t\t\t\twidth: this.state.config.settings.manhattan?.plotWidth,\n\t\t\t\theight: this.state.config.settings.manhattan?.plotHeight,\n\t\t\t\tpngDotRadius: this.state.config.settings.manhattan?.pngDotRadius,\n\t\t\t\tdevicePixelRatio: window.devicePixelRatio,\n\t\t\t\tmaxGenesToShow: this.state.config.settings?.manhattan?.maxGenesToShow,\n\t\t\t\tlesionTypeColors: this.state.config.settings?.manhattan?.lesionTypeColors,\n\t\t\t\tqValueThreshold: this.state.config.settings?.manhattan?.qValueThreshold,\n\t\t\t\tmaxCappedPoints: this.state.config.settings?.manhattan?.maxCappedPoints,\n\t\t\t\thardCap: this.state.config.settings?.manhattan?.hardCap,\n\t\t\t\tbinSize: this.state.config.settings?.manhattan?.binSize,\n\t\t\t\t...configValues\n\t\t\t}\n\n\t\t\tconst response = await this.app.vocabApi.getGrin2Data(requestData, this.api!.getAbortSignal())\n\n\t\t\tif (response.status === 'error') throw `GRIN2 analysis failed: ${response.error}`\n\n\t\t\tthis.renderResults(response)\n\n\t\t\t// After the analysis completes successfully, dispatch with the updated config to save state\n\t\t\tconst updatedConfig = {\n\t\t\t\t...this.state.config,\n\t\t\t\tsettings: {\n\t\t\t\t\t...this.state.config.settings,\n\t\t\t\t\t...configValues,\n\t\t\t\t\tdtUsage: dtUsage,\n\t\t\t\t\trunAnalysis: true\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.app.dispatch({\n\t\t\t\ttype: 'plot_edit',\n\t\t\t\tid: this.id,\n\t\t\t\tconfig: updatedConfig\n\t\t\t})\n\t\t} catch (error) {\n\t\t\tif (this.dom.div) {\n\t\t\t\tsayerror(this.dom.div, `Error running GRIN2: ${error instanceof Error ? error.message : error}`)\n\t\t\t} else {\n\t\t\t\t// while request running and sandbox deleted by user, it reaches here but dom.* are undefined and should not crash\n\t\t\t}\n\t\t} finally {\n\t\t\tthis.dom.controls?.style('pointer-events', 'auto').style('opacity', '1')\n\t\t\tthis.dom.runButton?.property('disabled', false).text('Run GRIN2')\n\t\t}\n\t}\n\n\tasync init() {\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.massControls.style('display', 'inline-block'),\n\t\t\tinputs: []\n\t\t})\n\n\t\t/** Removing the burger and download btn for now. Will implement later.*/\n\t\tconst burgerMenu = this.dom.massControls.select('div > svg.bi.bi-copy')\n\t\tif (burgerMenu) burgerMenu.remove()\n\t\tconst downloadBtn = this.dom.massControls.select('div > svg.bi.bi-download')\n\t\tif (downloadBtn) downloadBtn.remove()\n\n\t\tthis.components.controls.on('helpClick.grin2', () => {\n\t\t\twindow.open('https://github.com/stjude/proteinpaint/wiki/Grin2')\n\t\t})\n\t}\n\n\tasync main() {\n\t\t// Initialize the table with the different data types and options\n\t\tconst config = structuredClone(this.state.config)\n\t\tif (config.childType != this.type && config.chartType != this.type) return\n\n\t\tif (!this.dom.runButton) {\n\t\t\tthis.createConfigTable()\n\t\t}\n\t}\n\n\tprivate renderResults(result: any) {\n\t\t// Display Manhattan plot\n\t\tif (result.pngImg) {\n\t\t\tconst plotData = result\n\t\t\tconst plotDiv = this.dom.div\n\t\t\tconst manhattanSettings = this.state.config.settings.manhattan\n\t\t\tplotManhattan(plotDiv, plotData, manhattanSettings, this.app)\n\t\t}\n\n\t\t// Display top genes table\n\t\tif (result.topGeneTable) {\n\t\t\tconst tableContainer = this.dom.div.append('div').style('margin', this.sectionMargin)\n\n\t\t\t// Create header with title\n\t\t\tconst headerDiv = tableContainer\n\t\t\t\t.append('div')\n\t\t\t\t.style('display', 'flex')\n\t\t\t\t.style('align-items', 'center')\n\t\t\t\t.style('margin', this.btnMargin)\n\n\t\t\theaderDiv\n\t\t\t\t.append('h3')\n\t\t\t\t.style('margin', this.headerMargin)\n\t\t\t\t.style('font-size', `${this.headerFontSize}px`)\n\t\t\t\t.text(`Top Genes (showing ${result.stats.lst[0].rows[1][1]} of ${result.stats.lst[0].rows[0][1]})`)\n\n\t\t\tconst tableDiv = tableContainer.append('div')\n\n\t\t\t// Define lesion type colors and q-value threshold\n\t\t\tconst lesionTypeColors = this.state.config.settings.manhattan.lesionTypeColors\n\t\t\tconst qValueThreshold = this.state.config.settings.manhattan.qValueThreshold\n\n\t\t\t// Find column indices for q-values\n\t\t\tconst columns = result.topGeneTable.columns\n\n\t\t\t// Map dt types to their column labels and lesion types\n\t\t\tconst dtMapping = {}\n\t\t\tObject.entries(dt2lesion).forEach(([dt, config]) => {\n\t\t\t\tdtMapping[dt] = config.lesionTypes.map(lt => ({\n\t\t\t\t\tcol: `Q-value (${lt.name})`,\n\t\t\t\t\ttype: lt.lesionType\n\t\t\t\t}))\n\t\t\t})\n\n\t\t\t// Build qValue entries for enabled data types\n\t\t\tconst qValueEntries: Array<{ colIndex: number; type: string }> = []\n\t\t\tObject.entries(this.state.config.settings.dtUsage).forEach(([key, isChecked]) => {\n\t\t\t\tif (isChecked && dtMapping[key]) {\n\t\t\t\t\tdtMapping[key].forEach(({ col, type }) => {\n\t\t\t\t\t\tconst colIndex = columns.findIndex(c => c.label === col)\n\t\t\t\t\t\tif (colIndex !== -1) qValueEntries.push({ colIndex, type })\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t// Add significance column to the beginning\n\t\t\tconst modifiedColumns = [{ label: '', width: '20px' }, ...result.topGeneTable.columns]\n\n\t\t\t// Cache the circles HTML\n\t\t\tconst lesionTypeCircleCache = new Map(\n\t\t\t\tObject.entries(lesionTypeColors).map(([type, color]) => [\n\t\t\t\t\ttype,\n\t\t\t\t\t`<span style=\"display:inline-block;width:8px;height:8px;border-radius:50%;background-color:${color};margin-right:3px;\"></span>`\n\t\t\t\t])\n\t\t\t)\n\n\t\t\t// Process rows to add significance indicators\n\t\t\tconst processedRows = result.topGeneTable.rows.map(row => {\n\t\t\t\tconst circles = qValueEntries\n\t\t\t\t\t.filter(({ colIndex }) => {\n\t\t\t\t\t\tconst qValue = row[colIndex]?.value\n\t\t\t\t\t\treturn typeof qValue === 'number' && qValue < qValueThreshold\n\t\t\t\t\t})\n\t\t\t\t\t.map(({ type }) => lesionTypeCircleCache.get(type)!)\n\n\t\t\t\treturn [{ value: '', html: circles.join('') }, ...row]\n\t\t\t})\n\n\t\t\t// Use showResultsTable for consistent table rendering\n\t\t\tshowResultsTable({\n\t\t\t\ttableDiv,\n\t\t\t\tapp: this.app,\n\t\t\t\tcolumns: modifiedColumns,\n\t\t\t\trows: processedRows,\n\t\t\t\tdataItems: result.topGeneTable.rows,\n\t\t\t\tgetRowKey: (row: any) => row[0]?.value,\n\t\t\t\tmatrixButtonFormat: 'Matrix ({n} genes selected)',\n\t\t\t\tmaxHeight: '400px',\n\t\t\t\tmaxWidth: '100%',\n\t\t\t\tdataTestId: 'sjpp-grin2-top-genes-table',\n\t\t\t\tresize: 'both',\n\t\t\t\tselectAll: false,\n\t\t\t\tallowRestoreRowOrder: true,\n\t\t\t\trestoreButtonInFooter: true,\n\t\t\t\tdownload: {\n\t\t\t\t\tfileName: `grin2_top_genes_${new Date().toISOString().replace(/[:.]/g, '-').slice(0, -5)}.tsv`\n\t\t\t\t},\n\t\t\t\theader: {\n\t\t\t\t\tallowSort: true,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\t'font-weight': this.statsTableFontWeight,\n\t\t\t\t\t\t'background-color': this.backgroundColor\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\t// Display run stats information\n\t\tif (result.stats?.lst) {\n\t\t\tconst tablesContainer = this.dom.div.append('div').style('margin-top', '50px')\n\n\t\t\t// Skip first section (contains Total Genes and Showing Top used in header)\n\t\t\tfor (const section of result.stats.lst.slice(1)) {\n\t\t\t\ttablesContainer\n\t\t\t\t\t.append('h4')\n\t\t\t\t\t.style('margin', this.headerMargin)\n\t\t\t\t\t.style('margin-top', '15px')\n\t\t\t\t\t.style('font-size', `${this.headerFontSize - 2}px`)\n\t\t\t\t\t.text(section.name)\n\n\t\t\t\tconst table = table2col({ holder: tablesContainer.append('div'), margin: '2px 8px' })\n\t\t\t\tfor (const [k, v] of section.rows) {\n\t\t\t\t\ttable.addRow(k, v)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport const grin2Init = getCompInit(GRIN2)\nexport const componentInit = grin2Init\n\nexport function getDefaultSettings(opts) {\n\tconst defaults = {\n\t\tmanhattan: {\n\t\t\t// Core plot dimensions\n\t\t\tplotWidth: 1000,\n\t\t\tplotHeight: 400,\n\t\t\tpngDotRadius: 2,\n\n\t\t\t// Layout spacing\n\t\t\tyAxisX: 70,\n\t\t\tyAxisY: 40,\n\t\t\tyAxisSpace: 20,\n\t\t\txAxisLabelPad: 30,\n\t\t\tyAxisPad: 5,\n\t\t\taxisColor: '#545454',\n\t\t\tshowYAxisLine: true,\n\n\t\t\t// Typography\n\t\t\tfontSize: 12,\n\n\t\t\t// Legend settings\n\t\t\tshowLegend: true,\n\t\t\tlegendItemWidth: 80,\n\t\t\tlegendDotRadius: 3,\n\t\t\tlegendRightOffset: 15,\n\t\t\tlegendTextOffset: 12,\n\t\t\tlegendVerticalOffset: 4,\n\t\t\tlegendFontSize: 12,\n\n\t\t\t// Interactive dots\n\t\t\tshowInteractiveDots: true,\n\t\t\tinteractiveDotRadius: 2,\n\t\t\tinteractiveDotStrokeWidth: 1,\n\n\t\t\t// Download options\n\t\t\tshowDownload: true,\n\n\t\t\t// Max genes to show in table, interactive dots cap, and tooltip genes\n\t\t\tmaxGenesToShow: 500,\n\t\t\tinteractiveDotsCap: 5000,\n\t\t\tmaxTooltipGenes: 5,\n\n\t\t\t// Q-value threshold for significance indicators in the table, tooltips, and for determining which dots become interactive\n\t\t\tqValueThreshold: 0.05,\n\n\t\t\t// Colors for lesion types (currently used for table significance indicators. Long term will also be used for the rust code colors)\n\t\t\tlesionTypeColors: {\n\t\t\t\tmutation: '#44AA44', // green\n\t\t\t\tloss: '#4444FF', // blue\n\t\t\t\tgain: '#FF4444', // red\n\t\t\t\tfusion: '#FFA500', // orange\n\t\t\t\tsv: '#9932CC' // purple\n\t\t\t},\n\n\t\t\t// Threshold for the rust code when determining if we need to raise the cap value from the default\n\t\t\tmaxCappedPoints: 5,\n\n\t\t\t// Bin size for cap calculations\n\t\t\tbinSize: 10,\n\n\t\t\t// Hard cap regardless of data distribution\n\t\t\thardCap: 200\n\t\t}\n\t}\n\n\treturn Object.assign(defaults, opts?.overrides)\n}\n\nexport async function getPlotConfig(opts: GRIN2Opts, app: MassAppApi) {\n\tconst queries = app.vocabApi.termdbConfig.queries\n\tconst defaultSettings = getDefaultSettings(opts)\n\n\tconst dtUsage: any = {}\n\n\t// Dynamically add data type options based on availability\n\tif (queries?.snvindel) {\n\t\tdtUsage[dtsnvindel] = { checked: true, label: dt2lesion[dtsnvindel].uilabel }\n\t}\n\n\tif (queries?.cnv) {\n\t\tdtUsage[dtcnv] = { checked: true, label: dt2lesion[dtcnv].uilabel }\n\t}\n\n\tif (queries?.svfusion) {\n\t\tif (queries.svfusion.dtLst.includes(dtfusionrna)) {\n\t\t\tdtUsage[dtfusionrna] = { checked: false, label: dt2lesion[dtfusionrna].uilabel }\n\t\t}\n\t\tif (queries.svfusion.dtLst.includes(dtsv)) {\n\t\t\tdtUsage[dtsv] = { checked: false, label: dt2lesion[dtsv].uilabel }\n\t\t}\n\t}\n\n\tconst config = {\n\t\tchartType: 'grin2',\n\t\tsettings: {\n\t\t\tcontrols: {},\n\t\t\tdtUsage: dtUsage,\n\t\t\trunAnalysis: false,\n\t\t\tmanhattan: {\n\t\t\t\t...defaultSettings.manhattan,\n\t\t\t\t...opts?.manhattan\n\t\t\t},\n\t\t\tsnvindelOptions: queries?.snvindel\n\t\t\t\t? {\n\t\t\t\t\t\t// minTotalDepth: 10,\n\t\t\t\t\t\t// minAltAlleleCount: 2,\n\t\t\t\t\t\tconsequences: [],\n\t\t\t\t\t\thyperMutator: 1000\n\t\t\t\t }\n\t\t\t\t: undefined,\n\t\t\tcnvOptions: queries?.cnv\n\t\t\t\t? {\n\t\t\t\t\t\tlossThreshold: -0.4,\n\t\t\t\t\t\tgainThreshold: 0.3,\n\t\t\t\t\t\tmaxSegLength: 0,\n\t\t\t\t\t\thyperMutator: 500\n\t\t\t\t }\n\t\t\t\t: undefined,\n\t\t\tfusionOptions: queries?.svfusion?.dtLst?.includes(dtfusionrna) ? {} : undefined,\n\t\t\tsvOptions: queries?.svfusion?.dtLst?.includes(dtsv) ? {} : undefined\n\t\t}\n\t}\n\n\treturn copyMerge(config, opts)\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }