@sjcrh/proteinpaint-client 2.185.0 → 2.186.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (848) hide show
  1. package/dist/2dmaf-F5QNP7AQ.js +1371 -0
  2. package/dist/AIProjectAdmin-ROSQHK6Q.js +827 -0
  3. package/dist/AIProjectAdmin-ROSQHK6Q.js.map +7 -0
  4. package/dist/AppHeader-STVCDLET.js +833 -0
  5. package/dist/BoxPlot-CU7MEBH7.js +1217 -0
  6. package/dist/CorrelationVolcano-OE4R2GS3.js +617 -0
  7. package/dist/DE-SR7PJPKI.js +93 -0
  8. package/dist/DEinput-PRIAIBFH.js +299 -0
  9. package/dist/DEinput-PRIAIBFH.js.map +7 -0
  10. package/dist/DifferentialAnalysis-UWTYK7NU.js +241 -0
  11. package/dist/Disco-IL6REGSA.js +3235 -0
  12. package/dist/Disco.UI-JHHLS5BA.js +242 -0
  13. package/dist/DmrPlot-DDP53T3F.js +640 -0
  14. package/dist/GB-F4LMYMHF.js +1127 -0
  15. package/dist/GB-F4LMYMHF.js.map +7 -0
  16. package/dist/GeneExpInput-ZWBC226P.js +363 -0
  17. package/dist/GeneExpInput-ZWBC226P.js.map +7 -0
  18. package/dist/HicApp-RVFHTYED.js +2248 -0
  19. package/dist/NumBinaryEditor-B3FXQAOH.js +268 -0
  20. package/dist/NumBinaryEditor.unit.spec-75YQJ2U6.js +284 -0
  21. package/dist/NumContEditor-5PYW3OLY.js +105 -0
  22. package/dist/NumContEditor.unit.spec-F7ZRDGBN.js +167 -0
  23. package/dist/NumCustomBinEditor-TBT6GLYQ.js +36 -0
  24. package/dist/NumCustomBinEditor.unit.spec-6YHU45XV.js +282 -0
  25. package/dist/NumDiscreteEditor-N6OJYSJA.js +177 -0
  26. package/dist/NumDiscreteEditor.unit.spec-HQS5RZ6R.js +200 -0
  27. package/dist/NumRegularBinEditor-HSDDKVNG.js +36 -0
  28. package/dist/NumRegularBinEditor.unit.spec-33KN2MVM.js +225 -0
  29. package/dist/NumSplineEditor-XERKOACS.js +190 -0
  30. package/dist/NumSplineEditor.unit.spec-MPVM6KSC.js +197 -0
  31. package/dist/NumericDensity-35EKYW3V.js +36 -0
  32. package/dist/NumericDensity.unit.spec-OR24PPRJ.js +219 -0
  33. package/dist/NumericHandler-D6ZNGRE3.js +37 -0
  34. package/dist/NumericHandler.unit.spec-EKPGVSXI.js +217 -0
  35. package/dist/RunChart2-7DOXOFXV.js +756 -0
  36. package/dist/SC-APZRV4H6.js +826 -0
  37. package/dist/SC-APZRV4H6.js.map +7 -0
  38. package/dist/Volcano-X4ZWK644.js +1344 -0
  39. package/dist/Volcano-X4ZWK644.js.map +7 -0
  40. package/dist/WSIViewer-E247ELKN.js +47971 -0
  41. package/dist/WsiSamplesPlot-3522VRB5.js +163 -0
  42. package/dist/adSandbox-IDFY5P2P.js +36 -0
  43. package/dist/alphaGenome-F3W7GJQ5.js +173 -0
  44. package/dist/app-2HDSFMRM.js +47 -0
  45. package/dist/app-LIWPFL7C.js +35 -0
  46. package/dist/app.js +10 -10
  47. package/dist/bam-TBHHSATL.js +857 -0
  48. package/dist/barchart-HHFCBOZE.js +45 -0
  49. package/dist/barchart.events-UQUSSRXB.js +45 -0
  50. package/dist/barchart.integration.spec-OF3MWFQ5.js +1675 -0
  51. package/dist/barchart2-XRMPCBBU.js +309 -0
  52. package/dist/block-5UEORHFB.js +6200 -0
  53. package/dist/block.init-QSSFUVIT.js +36 -0
  54. package/dist/block.mds.expressionrank-VBIIJHQF.js +357 -0
  55. package/dist/block.mds.geneboxplot-KSBHXBNX.js +826 -0
  56. package/dist/block.mds.junction-FWZWMZJ2.js +1543 -0
  57. package/dist/block.mds.svcnv-UXORVLH2.js +6799 -0
  58. package/dist/block.svg-6KIGW4QH.js +162 -0
  59. package/dist/block.tk.aicheck-DK566Q4C.js +281 -0
  60. package/dist/block.tk.ase-2GB2VJJ6.js +363 -0
  61. package/dist/block.tk.bam-RQNOLY52.js +1904 -0
  62. package/dist/block.tk.bedgraphdot-N4YMZFO4.js +382 -0
  63. package/dist/block.tk.bigwig.ui-4S7L7D7D.js +209 -0
  64. package/dist/block.tk.hicstraw-AHFNQKCS.js +821 -0
  65. package/dist/block.tk.junction-7E6SNQMQ.js +2362 -0
  66. package/dist/block.tk.junction.textmatrixui-3C5JVYX5.js +197 -0
  67. package/dist/block.tk.ld-TOUCLT3W.js +97 -0
  68. package/dist/block.tk.menu-JCV5ORD6.js +1027 -0
  69. package/dist/block.tk.pgv-CUU22U6M.js +942 -0
  70. package/dist/brainImaging-MTQTXNNL.js +421 -0
  71. package/dist/chunk-2UYBBUXK.js +293 -0
  72. package/dist/chunk-2VPEFXEJ.js +4207 -0
  73. package/dist/chunk-2YC6ZVE4.js +20377 -0
  74. package/dist/chunk-2YC6ZVE4.js.map +7 -0
  75. package/dist/chunk-37MD3Y5G.js +1230 -0
  76. package/dist/chunk-37MD3Y5G.js.map +7 -0
  77. package/dist/chunk-3QHIL3V3.js +55 -0
  78. package/dist/chunk-44VXWKYJ.js +129 -0
  79. package/dist/chunk-52D6EGUS.js +95 -0
  80. package/dist/chunk-5FHM3L4I.js +102 -0
  81. package/dist/chunk-62TF2MCH.js +142 -0
  82. package/dist/chunk-67QM2NUK.js +6364 -0
  83. package/dist/chunk-6AAPHEWK.js +676 -0
  84. package/dist/chunk-6KPGMUHS.js +153 -0
  85. package/dist/chunk-6WBIZXNI.js +455 -0
  86. package/dist/chunk-7AAJVXEG.js +302 -0
  87. package/dist/chunk-AFJRAR4N.js +1271 -0
  88. package/dist/chunk-BBNO6JLO.js +200 -0
  89. package/dist/chunk-BBNO6JLO.js.map +7 -0
  90. package/dist/chunk-CVRYZMDE.js +148 -0
  91. package/dist/chunk-DGUTCYH2.js +276 -0
  92. package/dist/chunk-DHNXATHC.js +158 -0
  93. package/dist/chunk-DXHATYHE.js +180 -0
  94. package/dist/chunk-DXHATYHE.js.map +7 -0
  95. package/dist/chunk-E3BI23UK.js +229 -0
  96. package/dist/chunk-E4JDHA3C.js +621 -0
  97. package/dist/chunk-FOJWYEGV.js +228 -0
  98. package/dist/chunk-FTN7Y34O.js +158 -0
  99. package/dist/chunk-GAOUV4ID.js +1943 -0
  100. package/dist/chunk-GAOUV4ID.js.map +7 -0
  101. package/dist/chunk-GRG5MMPN.js +2815 -0
  102. package/dist/chunk-GSU4PZN3.js +482 -0
  103. package/dist/chunk-I55NLUCQ.js +1823 -0
  104. package/dist/chunk-I55NLUCQ.js.map +7 -0
  105. package/dist/chunk-IIRU2JLK.js +217 -0
  106. package/dist/chunk-JCB74ZSK.js +272 -0
  107. package/dist/chunk-JUDWPYMA.js +824 -0
  108. package/dist/chunk-KT6VZBC7.js +1087 -0
  109. package/dist/chunk-L2HBHFTK.js +2370 -0
  110. package/dist/chunk-LKADRF3Q.js +368 -0
  111. package/dist/chunk-MAXFRUGM.js +407 -0
  112. package/dist/chunk-MQN7RYCK.js +37 -0
  113. package/dist/chunk-OEUI4CYZ.js +470 -0
  114. package/dist/chunk-OM36XUQL.js +34 -0
  115. package/dist/chunk-P5LNIH5X.js +54 -0
  116. package/dist/chunk-PG62PRMF.js +102 -0
  117. package/dist/chunk-Q3J3F2NU.js +205 -0
  118. package/dist/chunk-RYCOJY7M.js +188 -0
  119. package/dist/chunk-RYCOJY7M.js.map +7 -0
  120. package/dist/chunk-RZBV6474.js +117 -0
  121. package/dist/chunk-T5V4OC27.js +442 -0
  122. package/dist/chunk-TXJG4N6S.js +4992 -0
  123. package/dist/chunk-TXJG4N6S.js.map +7 -0
  124. package/dist/chunk-UCKSUNSJ.js +335 -0
  125. package/dist/chunk-W4TLYHZO.js +514 -0
  126. package/dist/chunk-WPZUXKIB.js +56 -0
  127. package/dist/chunk-XM47XD6G.js +215 -0
  128. package/dist/chunk-XVA3UOWD.js +263 -0
  129. package/dist/chunk-XVA3UOWD.js.map +7 -0
  130. package/dist/chunk-YIMRBXQK.js +1210 -0
  131. package/dist/chunk-YIMRBXQK.js.map +7 -0
  132. package/dist/chunk-YL7VT4QT.js +1159 -0
  133. package/dist/chunk-YL7VT4QT.js.map +7 -0
  134. package/dist/chunk-YWBUK4B7.js +291 -0
  135. package/dist/chunk-YWBUK4B7.js.map +7 -0
  136. package/dist/chunk-YZHGLSKQ.js +50 -0
  137. package/dist/chunk-ZGOOZK3I.js +203 -0
  138. package/dist/chunk-ZH2VP6Q6.js +95 -0
  139. package/dist/chunk-ZLOQXO5K.js +14 -0
  140. package/dist/chunk-ZMNDBPJU.js +100 -0
  141. package/dist/chunk-ZRTW6X3F.js +2784 -0
  142. package/dist/chunk-ZTT52MBP.js +2681 -0
  143. package/dist/condition-VUACUQYF.js +330 -0
  144. package/dist/controls-N4MPSNO4.js +39 -0
  145. package/dist/controls.config-PRXVODCM.js +37 -0
  146. package/dist/correlation-QJZUYDFH.js +96 -0
  147. package/dist/cuminc-JJHXW55V.js +1147 -0
  148. package/dist/cuminc.integration.spec-IXS2UO2O.js +676 -0
  149. package/dist/customdata.inputui-DUHO6M6I.js +287 -0
  150. package/dist/dataDownload-OFB7TYDB.js +328 -0
  151. package/dist/dataDownload.integration.spec-4HWDQO4C.js +191 -0
  152. package/dist/databrowser.ui-FGZ5SWG3.js +430 -0
  153. package/dist/databrowser.ui-FGZ5SWG3.js.map +7 -0
  154. package/dist/dictionary-BSKN37CP.js +109 -0
  155. package/dist/dnaMethylation-5QNEEGC6.js +36 -0
  156. package/dist/dnaMethylation.integration.spec-YIX3JSA7.js +201 -0
  157. package/dist/dofetch-KFMGQY7G.js +50 -0
  158. package/dist/e2pca-VX42HDYZ.js +348 -0
  159. package/dist/ep-B6ZNETLI.js +1254 -0
  160. package/dist/expclust.gdc.spec-SGECIILQ.js +305 -0
  161. package/dist/facet-2W5SBPGP.js +519 -0
  162. package/dist/gb-67KTSE2W.js +86 -0
  163. package/dist/gb-67KTSE2W.js.map +7 -0
  164. package/dist/geneExpClustering-6A7364T5.js +247 -0
  165. package/dist/geneExpression-NAM2UEYN.js +36 -0
  166. package/dist/geneExpression-WF56ODMZ.js +312 -0
  167. package/dist/geneExpression.unit.spec-DNE2T3WI.js +100 -0
  168. package/dist/geneORA-33FK2YOS.js +276 -0
  169. package/dist/geneVariant-C7PCNBOQ.js +37 -0
  170. package/dist/geneVariant-REELFRRA.js +39 -0
  171. package/dist/geneVariant.integration.spec-GNXUGDKL.js +196 -0
  172. package/dist/genefusion.ui-WO5EPJDS.js +306 -0
  173. package/dist/geneset-4C6ZLVMN.js +201 -0
  174. package/dist/geneset-4C6ZLVMN.js.map +7 -0
  175. package/dist/genomeBrowser.spec-VPAKTUJF.js +279 -0
  176. package/dist/grin2-AJFEBD43.js +852 -0
  177. package/dist/grin2-AJFEBD43.js.map +7 -0
  178. package/dist/grin2-GYHUYNEF.js +1554 -0
  179. package/dist/gsea-PE5WZ5ZI.js +45 -0
  180. package/dist/hierCluster-FH6YJHRT.js +61 -0
  181. package/dist/hierCluster-IFM5I5QN.js +57 -0
  182. package/dist/hierCluster.config-M57ZIWMB.js +38 -0
  183. package/dist/hierCluster.integration.spec-Z64RL7MC.js +393 -0
  184. package/dist/hierCluster.interactivity-CDBAJXOY.js +52 -0
  185. package/dist/imagePlot-NFEE6IGV.js +161 -0
  186. package/dist/imagePlot-NFEE6IGV.js.map +7 -0
  187. package/dist/importPlot-OWKXSK77.js +8 -0
  188. package/dist/isoformExpression-66XLJG73.js +38 -0
  189. package/dist/isoformExpression.unit.spec-QJX2IRHL.js +206 -0
  190. package/dist/launch.adhoc-JCWID253.js +40 -0
  191. package/dist/leftlabel.sample-5NZ6VQDN.js +257 -0
  192. package/dist/lollipop-BPFDEM2R.js +169 -0
  193. package/dist/lollipop-BPFDEM2R.js.map +7 -0
  194. package/dist/maf-HIS2FQXK.js +450 -0
  195. package/dist/maftimeline-UPJJQE23.js +591 -0
  196. package/dist/matrix-62CN2KXR.js +56 -0
  197. package/dist/matrix-SPEDEB3J.js +61 -0
  198. package/dist/matrix.config-XB6WFXUY.js +39 -0
  199. package/dist/matrix.integration.spec-NN7OR5XM.js +3070 -0
  200. package/dist/matrix.interactivity-OWMHUJCX.js +40 -0
  201. package/dist/matrix.layout-27QB6MWK.js +42 -0
  202. package/dist/matrix.renderers-EPXES5E4.js +36 -0
  203. package/dist/matrix.sort.unit.spec-NBT5FSZ6.js +470 -0
  204. package/dist/matrix.sorterUi.unit.spec-QKGUE4RR.js +340 -0
  205. package/dist/mavb-M7Y74OWQ.js +730 -0
  206. package/dist/mds.fimo-WCDFA7HG.js +516 -0
  207. package/dist/mds.samplescatterplot-ZDHQ3MKJ.js +1548 -0
  208. package/dist/mds.survivalplot-R74DL2RA.js +481 -0
  209. package/dist/oncomatrix-MOITJBII.js +293 -0
  210. package/dist/oncomatrix.spec-NALJBPYS.js +446 -0
  211. package/dist/plot.2dvaf-IE2EZEFA.js +375 -0
  212. package/dist/plot.app-HTW6TZEH.js +39 -0
  213. package/dist/plot.barplot-NCQEPEOY.js +100 -0
  214. package/dist/plot.boxplot-WNKVBVJJ.js +150 -0
  215. package/dist/plot.brainImaging-2Z3TOO6J.js +51 -0
  216. package/dist/plot.disco-4JAEIAYK.js +101 -0
  217. package/dist/plot.dzi-ZGLOVJJN.js +33 -0
  218. package/dist/plot.ssgq-IHUILM43.js +137 -0
  219. package/dist/plot.vaf2cov-ZYCQMD27.js +257 -0
  220. package/dist/plot.wsi-3GISVBDH.js +36 -0
  221. package/dist/polar-4AUAZHBV.js +184 -0
  222. package/dist/polar2-SRD4WWXU.js +226 -0
  223. package/dist/profile.spec-TOITKBBZ.js +78 -0
  224. package/dist/profileBarchart-Z4SYIYBE.js +265 -0
  225. package/dist/profileForms-RA7XQ2QT.js +438 -0
  226. package/dist/profilePlot-4BM3XZVK.js +52 -0
  227. package/dist/profileRadar-EYBESEPI.js +261 -0
  228. package/dist/profileRadarFacility-FZYTFM26.js +261 -0
  229. package/dist/proteinView-F6XKT2A5.js +1122 -0
  230. package/dist/proteinView-F6XKT2A5.js.map +7 -0
  231. package/dist/proteomeAbundance-3RJMRXYI.js +68 -0
  232. package/dist/proteomeAbundance-3RJMRXYI.js.map +7 -0
  233. package/dist/proteomeAbundance-65R6M4YQ.js +21 -0
  234. package/dist/qualitative-E7WL6DN4.js +41 -0
  235. package/dist/radar2-I6FN5SUX.js +314 -0
  236. package/dist/radarFacility2-GVK7PT3V.js +323 -0
  237. package/dist/regression-TIR5D354.js +54 -0
  238. package/dist/regression.inputs-2AMJCJ3L.js +46 -0
  239. package/dist/regression.inputs.term-D6D2QEUB.js +46 -0
  240. package/dist/regression.inputs.values.table-M3IPLGDJ.js +43 -0
  241. package/dist/regression.integration.spec-ROUSXLMH.js +782 -0
  242. package/dist/regression.results-YD5S74YS.js +38 -0
  243. package/dist/regression.spec-4OXBBTNO.js +706 -0
  244. package/dist/report-ETNALKTY.js +220 -0
  245. package/dist/sampleScatter.spec-LECMFMI2.js +200 -0
  246. package/dist/sampleView-B5TM7JOW.js +46 -0
  247. package/dist/samplelst-GFQCG4SS.js +109 -0
  248. package/dist/samplematrix-OMTNWCJK.js +2196 -0
  249. package/dist/sc-MIEEZBWG.js +84 -0
  250. package/dist/scatter-ETOZ722F.js +800 -0
  251. package/dist/scatter.integration.spec-TS4PNRLX.js +1194 -0
  252. package/dist/selectGenomeWithTklst-Y5QIM2JB.js +132 -0
  253. package/dist/singleCellCellType-HOJHZF5W.js +36 -0
  254. package/dist/singleCellCellType.unit.spec-MH5V3RPX.js +158 -0
  255. package/dist/singleCellGeneExpression-YVQ5TIKN.js +36 -0
  256. package/dist/singleCellGeneExpression.unit.spec-BMFFT5HO.js +151 -0
  257. package/dist/singleCellPlot-3YFUYA2Y.js +51 -0
  258. package/dist/singlecell-FK5JETW5.js +1570 -0
  259. package/dist/singlecell-RL7V7DIC.js +84 -0
  260. package/dist/snp-FT7HB3XN.js +36 -0
  261. package/dist/snp.unit.spec-CLYVYPPG.js +174 -0
  262. package/dist/snplocus-M5SEQGAC.js +206 -0
  263. package/dist/spliceevent.a53ss.diagram-EJ5CTRCZ.js +149 -0
  264. package/dist/spliceevent.exonskip.diagram-ETXMOHZ3.js +275 -0
  265. package/dist/spliceevent.noeventdiagram-S2O4ZM2Z.js +458 -0
  266. package/dist/ssGSEA-6PMDQDTJ.js +36 -0
  267. package/dist/ssGSEA.unit.spec-JD5T4R2N.js +86 -0
  268. package/dist/summarizeCnvGeneexp-GCHNKTIU.js +161 -0
  269. package/dist/summarizeGeneexpSurvival-R2RYQZ3M.js +106 -0
  270. package/dist/summarizeMutationCnv-LB2BIYRL.js +162 -0
  271. package/dist/summarizeMutationDiagnosis-3JUY75LM.js +38 -0
  272. package/dist/summarizeMutationSurvival-VYLRWTCF.js +97 -0
  273. package/dist/summary-2QQ72IEQ.js +47 -0
  274. package/dist/summary.integration.spec-XXU362UQ.js +412 -0
  275. package/dist/summaryInput-OZHZG3PV.js +233 -0
  276. package/dist/sunburst-CMCJCANX.js +282 -0
  277. package/dist/survival-EBD4DHO7.js +44 -0
  278. package/dist/survival-ISLRRPKU.js +56 -0
  279. package/dist/survival.integration.spec-FS7V4OXK.js +800 -0
  280. package/dist/svgraph-KGLNUM7W.js +1385 -0
  281. package/dist/svmr-NXZ5VLKH.js +3840 -0
  282. package/dist/table-ISOQOI6C.js +198 -0
  283. package/dist/termCollection-7ZSU3I45.js +36 -0
  284. package/dist/termCollection-V2A5BDQB.js +177 -0
  285. package/dist/termCollection.unit.spec-6VLCJGOU.js +206 -0
  286. package/dist/tk-6AB6XYIE.js +44 -0
  287. package/dist/tp.ui-2O4UW5N7.js +1457 -0
  288. package/dist/tvs.dt-CY6TOQVB.js +37 -0
  289. package/dist/tvs.dtcnv.categorical-AYQ432TW.js +38 -0
  290. package/dist/tvs.dtcnv.continuous-XVDL6SG3.js +70 -0
  291. package/dist/tvs.dtfusion-V3AV7A6Q.js +38 -0
  292. package/dist/tvs.dtsnvindel-XM3NXIT7.js +38 -0
  293. package/dist/tvs.dtsv-Z2GYRINW.js +38 -0
  294. package/dist/tvs.samplelst-C4FB63G7.js +102 -0
  295. package/dist/tvs.termCollection-VHTSC2ST.js +157 -0
  296. package/dist/violin-KGGTUQFF.js +44 -0
  297. package/dist/violin.integration.spec-5EW6PLJX.js +1423 -0
  298. package/dist/violin.interactivity-RI4RURGO.js +36 -0
  299. package/dist/violin.renderer-EWU2IFZE.js +38 -0
  300. package/dist/vocabulary-VLIGC7OP.js +39 -0
  301. package/package.json +3 -3
  302. package/src/databrowser/dictionary.parse.js +14 -2
  303. package/dist/2dmaf-X7LATQT7.js +0 -1371
  304. package/dist/AIProjectAdmin-GUBKURGO.js +0 -830
  305. package/dist/AIProjectAdmin-GUBKURGO.js.map +0 -7
  306. package/dist/AppHeader-RDOFP322.js +0 -833
  307. package/dist/BoxPlot-AZF2EMGQ.js +0 -1217
  308. package/dist/CorrelationVolcano-VXW35SXU.js +0 -617
  309. package/dist/DE-NLGMZ44O.js +0 -93
  310. package/dist/DEinput-OJ7P4UMP.js +0 -297
  311. package/dist/DEinput-OJ7P4UMP.js.map +0 -7
  312. package/dist/DifferentialAnalysis-G75VUHDI.js +0 -241
  313. package/dist/Disco-DX4S44SI.js +0 -3235
  314. package/dist/Disco.UI-5FYIACCU.js +0 -242
  315. package/dist/DmrPlot-HWYITHK2.js +0 -640
  316. package/dist/GB-DBTMRVYH.js +0 -1125
  317. package/dist/GB-DBTMRVYH.js.map +0 -7
  318. package/dist/GeneExpInput-DWB7OYT2.js +0 -335
  319. package/dist/GeneExpInput-DWB7OYT2.js.map +0 -7
  320. package/dist/HicApp-XPZVZXB7.js +0 -2248
  321. package/dist/NumBinaryEditor-M6MJYIHK.js +0 -268
  322. package/dist/NumBinaryEditor.unit.spec-W6MMYDAW.js +0 -284
  323. package/dist/NumContEditor-YRVENTS5.js +0 -105
  324. package/dist/NumContEditor.unit.spec-A6OH4TI7.js +0 -167
  325. package/dist/NumCustomBinEditor-BLBOYSCQ.js +0 -36
  326. package/dist/NumCustomBinEditor.unit.spec-55V5CKLB.js +0 -282
  327. package/dist/NumDiscreteEditor-DTRM6VL2.js +0 -177
  328. package/dist/NumDiscreteEditor.unit.spec-YMB6QRER.js +0 -200
  329. package/dist/NumRegularBinEditor-XW4SVA7S.js +0 -36
  330. package/dist/NumRegularBinEditor.unit.spec-VAHC3VOD.js +0 -225
  331. package/dist/NumSplineEditor-H22HTRFR.js +0 -190
  332. package/dist/NumSplineEditor.unit.spec-4JUADXZR.js +0 -197
  333. package/dist/NumericDensity-ECSZCQRX.js +0 -36
  334. package/dist/NumericDensity.unit.spec-SXXCXM4X.js +0 -219
  335. package/dist/NumericHandler-CMBN3FZX.js +0 -37
  336. package/dist/NumericHandler.unit.spec-UYTJG2Z2.js +0 -217
  337. package/dist/RunChart2-MVFWLXZX.js +0 -756
  338. package/dist/SC-BRC3J2O4.js +0 -797
  339. package/dist/SC-BRC3J2O4.js.map +0 -7
  340. package/dist/Volcano-WMNFZSX2.js +0 -1234
  341. package/dist/Volcano-WMNFZSX2.js.map +0 -7
  342. package/dist/WSIViewer-2Z636FMA.js +0 -47971
  343. package/dist/WsiSamplesPlot-LN75PND3.js +0 -163
  344. package/dist/adSandbox-AJ7QUDOI.js +0 -36
  345. package/dist/alphaGenome-PVCRXAQK.js +0 -173
  346. package/dist/app-DWYCAFRP.js +0 -47
  347. package/dist/app-RENXV7VR.js +0 -35
  348. package/dist/bam-5G6IT6OX.js +0 -857
  349. package/dist/barchart-MLCCU6SU.js +0 -45
  350. package/dist/barchart.events-B6HQTLK2.js +0 -45
  351. package/dist/barchart.integration.spec-S43A7C7N.js +0 -1675
  352. package/dist/barchart2-QMKEN6MN.js +0 -309
  353. package/dist/block-IGBB4BJH.js +0 -6200
  354. package/dist/block.init-NLCYAKV4.js +0 -36
  355. package/dist/block.mds.expressionrank-TZWGRDY7.js +0 -357
  356. package/dist/block.mds.geneboxplot-OAFROYDL.js +0 -826
  357. package/dist/block.mds.junction-NSLXTW3D.js +0 -1543
  358. package/dist/block.mds.svcnv-ICPG4BW6.js +0 -6799
  359. package/dist/block.svg-DTFVIAAC.js +0 -162
  360. package/dist/block.tk.aicheck-ZIMIBWHA.js +0 -281
  361. package/dist/block.tk.ase-I7UNK5BK.js +0 -363
  362. package/dist/block.tk.bam-W7JG46RS.js +0 -1904
  363. package/dist/block.tk.bedgraphdot-XAQJPKGJ.js +0 -382
  364. package/dist/block.tk.bigwig.ui-YQOJPJSG.js +0 -209
  365. package/dist/block.tk.hicstraw-OWWGGCHU.js +0 -821
  366. package/dist/block.tk.junction-V63ZQQX6.js +0 -2362
  367. package/dist/block.tk.junction.textmatrixui-B7KXX7WN.js +0 -197
  368. package/dist/block.tk.ld-2J6CT74S.js +0 -97
  369. package/dist/block.tk.menu-6AQLG7PW.js +0 -1027
  370. package/dist/block.tk.pgv-4V6PKVCQ.js +0 -942
  371. package/dist/brainImaging-WRBGYLHK.js +0 -421
  372. package/dist/chat-X2BCTEDF.js +0 -148
  373. package/dist/chat-X2BCTEDF.js.map +0 -7
  374. package/dist/chunk-23VG37CB.js +0 -1939
  375. package/dist/chunk-23VG37CB.js.map +0 -7
  376. package/dist/chunk-2VOHINOC.js +0 -262
  377. package/dist/chunk-2VOHINOC.js.map +0 -7
  378. package/dist/chunk-3AK6GP4M.js +0 -215
  379. package/dist/chunk-3B7EWIVB.js +0 -153
  380. package/dist/chunk-3JAC5CHL.js +0 -407
  381. package/dist/chunk-3QBZ2Y77.js +0 -188
  382. package/dist/chunk-3QBZ2Y77.js.map +0 -7
  383. package/dist/chunk-3T2PCWII.js +0 -442
  384. package/dist/chunk-4BTAI6HQ.js +0 -100
  385. package/dist/chunk-4JVNATQR.js +0 -621
  386. package/dist/chunk-4ZCR6CPK.js +0 -4964
  387. package/dist/chunk-4ZCR6CPK.js.map +0 -7
  388. package/dist/chunk-5MW5VMWD.js +0 -2784
  389. package/dist/chunk-5ZBEDKBD.js +0 -158
  390. package/dist/chunk-65YTZS3R.js +0 -203
  391. package/dist/chunk-6ZCHECOT.js +0 -1816
  392. package/dist/chunk-6ZCHECOT.js.map +0 -7
  393. package/dist/chunk-73ZT6NAT.js +0 -34
  394. package/dist/chunk-7HJ6H7AZ.js +0 -2681
  395. package/dist/chunk-AFXYPMFZ.js +0 -117
  396. package/dist/chunk-BL4ALBZ7.js +0 -37
  397. package/dist/chunk-BRCDZJBQ.js +0 -824
  398. package/dist/chunk-EBGX226R.js +0 -205
  399. package/dist/chunk-EHXI36HJ.js +0 -2815
  400. package/dist/chunk-ENP4FLOX.js +0 -293
  401. package/dist/chunk-FDOSJKDA.js +0 -1209
  402. package/dist/chunk-FDOSJKDA.js.map +0 -7
  403. package/dist/chunk-HP2BASCY.js +0 -1159
  404. package/dist/chunk-HP2BASCY.js.map +0 -7
  405. package/dist/chunk-HROKXT4K.js +0 -14
  406. package/dist/chunk-HTMXVOTH.js +0 -482
  407. package/dist/chunk-IA7S4UL5.js +0 -302
  408. package/dist/chunk-JFIOYO3M.js +0 -272
  409. package/dist/chunk-JMJW3ERE.js +0 -470
  410. package/dist/chunk-K7XWZSQA.js +0 -148
  411. package/dist/chunk-KSN3EVKI.js +0 -102
  412. package/dist/chunk-L5SOHZ5V.js +0 -229
  413. package/dist/chunk-LMGE54CQ.js +0 -54
  414. package/dist/chunk-LOMVTHAM.js +0 -95
  415. package/dist/chunk-MSW7OS2O.js +0 -276
  416. package/dist/chunk-MVCGSYS2.js +0 -50
  417. package/dist/chunk-N2HBIQKU.js +0 -102
  418. package/dist/chunk-NL3DVEVX.js +0 -158
  419. package/dist/chunk-O4WJSZC3.js +0 -1087
  420. package/dist/chunk-OLUDD6EC.js +0 -2370
  421. package/dist/chunk-OVPVPPRG.js +0 -55
  422. package/dist/chunk-OYEISJSJ.js +0 -289
  423. package/dist/chunk-OYEISJSJ.js.map +0 -7
  424. package/dist/chunk-P2JDCMXW.js +0 -4207
  425. package/dist/chunk-PMDXCESS.js +0 -514
  426. package/dist/chunk-PXYYICV7.js +0 -1271
  427. package/dist/chunk-PZ3KIUWJ.js +0 -56
  428. package/dist/chunk-QEWMCAJW.js +0 -335
  429. package/dist/chunk-QLWDUZ5K.js +0 -129
  430. package/dist/chunk-QRSIID3T.js +0 -95
  431. package/dist/chunk-ST644IDH.js +0 -217
  432. package/dist/chunk-UOOMFM7K.js +0 -6364
  433. package/dist/chunk-VGHSLILD.js +0 -368
  434. package/dist/chunk-W35IOI74.js +0 -228
  435. package/dist/chunk-XKF4KMCB.js +0 -146
  436. package/dist/chunk-XKF4KMCB.js.map +0 -7
  437. package/dist/chunk-XVDWYTJ6.js +0 -676
  438. package/dist/chunk-YQVEBFGT.js +0 -455
  439. package/dist/chunk-YWUVCXFS.js +0 -20271
  440. package/dist/chunk-YWUVCXFS.js.map +0 -7
  441. package/dist/chunk-ZT3PB4XX.js +0 -1150
  442. package/dist/chunk-ZT3PB4XX.js.map +0 -7
  443. package/dist/chunk-ZVSXHCGP.js +0 -142
  444. package/dist/condition-CZX2GSN4.js +0 -330
  445. package/dist/controls-BQR3WY5W.js +0 -39
  446. package/dist/controls.config-TAVZDHFZ.js +0 -37
  447. package/dist/correlation-BIWVZNC6.js +0 -96
  448. package/dist/cuminc-EDXOOI5R.js +0 -1147
  449. package/dist/cuminc.integration.spec-UZA7BDTB.js +0 -676
  450. package/dist/customdata.inputui-PEB4CE7J.js +0 -287
  451. package/dist/dataDownload-KANEHJXJ.js +0 -328
  452. package/dist/dataDownload.integration.spec-23WLHSWJ.js +0 -191
  453. package/dist/databrowser.ui-B2TNECC4.js +0 -419
  454. package/dist/databrowser.ui-B2TNECC4.js.map +0 -7
  455. package/dist/dictionary-YOTUFVES.js +0 -109
  456. package/dist/dnaMethylation-TRFAZWRJ.js +0 -36
  457. package/dist/dnaMethylation.integration.spec-SPFZO76D.js +0 -201
  458. package/dist/dofetch-MH4MRMGY.js +0 -50
  459. package/dist/e2pca-AFVAFUJ2.js +0 -348
  460. package/dist/ep-4FXTLWB4.js +0 -1254
  461. package/dist/expclust.gdc.spec-SFOCKBLR.js +0 -305
  462. package/dist/facet-SY6PYSTN.js +0 -519
  463. package/dist/gb-JUV63QCN.js +0 -93
  464. package/dist/gb-JUV63QCN.js.map +0 -7
  465. package/dist/geneExpClustering-FOY77R7P.js +0 -247
  466. package/dist/geneExpression-AHKX57BT.js +0 -312
  467. package/dist/geneExpression-D2F2KVGY.js +0 -36
  468. package/dist/geneExpression.unit.spec-SR2BGZQL.js +0 -100
  469. package/dist/geneORA-VJMYI4BT.js +0 -276
  470. package/dist/geneVariant-LFM5SO2P.js +0 -37
  471. package/dist/geneVariant-OIKEV4JM.js +0 -39
  472. package/dist/geneVariant.integration.spec-T6BINPIN.js +0 -196
  473. package/dist/genefusion.ui-NLMW5XMI.js +0 -306
  474. package/dist/geneset-HKXFHM5K.js +0 -197
  475. package/dist/geneset-HKXFHM5K.js.map +0 -7
  476. package/dist/genomeBrowser.spec-DRYIFJLY.js +0 -279
  477. package/dist/grin2-GJKLNT4J.js +0 -1031
  478. package/dist/grin2-GJKLNT4J.js.map +0 -7
  479. package/dist/grin2-LGI535FF.js +0 -1554
  480. package/dist/gsea-Z7DSDFOA.js +0 -45
  481. package/dist/hierCluster-HC2B5XRR.js +0 -61
  482. package/dist/hierCluster-PLHVN5S3.js +0 -57
  483. package/dist/hierCluster.config-E3DIJWL5.js +0 -38
  484. package/dist/hierCluster.integration.spec-OQLPUQG4.js +0 -393
  485. package/dist/hierCluster.interactivity-LRNPDTEH.js +0 -52
  486. package/dist/imagePlot-GUXRGYQA.js +0 -139
  487. package/dist/imagePlot-GUXRGYQA.js.map +0 -7
  488. package/dist/importPlot-M5HGLHRO.js +0 -8
  489. package/dist/isoformExpression-PADLHHR5.js +0 -38
  490. package/dist/isoformExpression.unit.spec-5BPAL4OS.js +0 -206
  491. package/dist/launch.adhoc-JH6ZZFDB.js +0 -40
  492. package/dist/leftlabel.sample-NS2TBANH.js +0 -257
  493. package/dist/lollipop-W6NOHHCP.js +0 -166
  494. package/dist/lollipop-W6NOHHCP.js.map +0 -7
  495. package/dist/maf-NOHIKTUP.js +0 -450
  496. package/dist/maftimeline-WGWE52EF.js +0 -591
  497. package/dist/matrix-B6NPQFFF.js +0 -61
  498. package/dist/matrix-UAKRJL5A.js +0 -56
  499. package/dist/matrix.config-KJNJXPJJ.js +0 -39
  500. package/dist/matrix.integration.spec-VAXIR3E6.js +0 -3070
  501. package/dist/matrix.interactivity-H4MCMJXU.js +0 -40
  502. package/dist/matrix.layout-RFKQJM5D.js +0 -42
  503. package/dist/matrix.renderers-7JJIC6VC.js +0 -36
  504. package/dist/matrix.sort.unit.spec-MQQVWWNT.js +0 -470
  505. package/dist/matrix.sorterUi.unit.spec-LG4TI7VF.js +0 -340
  506. package/dist/mavb-EIZHS6F4.js +0 -730
  507. package/dist/mds.fimo-XVC6MI7W.js +0 -516
  508. package/dist/mds.samplescatterplot-PRR4TKYI.js +0 -1548
  509. package/dist/mds.survivalplot-3OG4Y2B6.js +0 -481
  510. package/dist/oncomatrix-SO6S6IIB.js +0 -293
  511. package/dist/oncomatrix.spec-VXTF44K5.js +0 -446
  512. package/dist/plot.2dvaf-JW5OJJXV.js +0 -375
  513. package/dist/plot.app-T3GVCFQ3.js +0 -39
  514. package/dist/plot.barplot-2TYP6DPI.js +0 -100
  515. package/dist/plot.boxplot-HOQHM7JF.js +0 -150
  516. package/dist/plot.brainImaging-5AI7BSD4.js +0 -51
  517. package/dist/plot.disco-HNNZHK5Z.js +0 -101
  518. package/dist/plot.dzi-4OQSO7SY.js +0 -33
  519. package/dist/plot.ssgq-VZTTGECT.js +0 -137
  520. package/dist/plot.vaf2cov-ASEELRDV.js +0 -257
  521. package/dist/plot.wsi-MDWYLU4R.js +0 -36
  522. package/dist/polar-QSY6JG4P.js +0 -184
  523. package/dist/polar2-FD6656VD.js +0 -226
  524. package/dist/profile.spec-V7EQBXT2.js +0 -78
  525. package/dist/profileBarchart-EIKHZAPD.js +0 -265
  526. package/dist/profileForms-NGFRXPFF.js +0 -438
  527. package/dist/profilePlot-2UFKJ2OC.js +0 -52
  528. package/dist/profileRadar-B2R7OV5F.js +0 -261
  529. package/dist/profileRadarFacility-ILC7POCI.js +0 -261
  530. package/dist/proteinView-AS6ZV2JT.js +0 -758
  531. package/dist/proteinView-AS6ZV2JT.js.map +0 -7
  532. package/dist/proteomeAbundance-6J5YF4V2.js +0 -63
  533. package/dist/proteomeAbundance-6J5YF4V2.js.map +0 -7
  534. package/dist/proteomeAbundance-OF27N347.js +0 -21
  535. package/dist/qualitative-CSUO2WG5.js +0 -41
  536. package/dist/radar2-L2HGCUYR.js +0 -314
  537. package/dist/radarFacility2-HXUUTRYO.js +0 -323
  538. package/dist/regression-Y4NYGZSA.js +0 -54
  539. package/dist/regression.inputs-RWFIJLNF.js +0 -46
  540. package/dist/regression.inputs.term-QIU5SHTN.js +0 -46
  541. package/dist/regression.inputs.values.table-FM6QTSEV.js +0 -43
  542. package/dist/regression.integration.spec-YRKKU7HL.js +0 -782
  543. package/dist/regression.results-YUDCHUZJ.js +0 -38
  544. package/dist/regression.spec-G4GIIV32.js +0 -706
  545. package/dist/report-2N4FBR4Q.js +0 -220
  546. package/dist/sampleScatter.spec-UIUYO4WR.js +0 -200
  547. package/dist/sampleView-TOK5Y5KU.js +0 -46
  548. package/dist/samplelst-YW5ZS3GJ.js +0 -109
  549. package/dist/samplematrix-447BHSO7.js +0 -2196
  550. package/dist/sc-O2PL3FL2.js +0 -84
  551. package/dist/scatter-4DXHOWVY.js +0 -800
  552. package/dist/scatter.integration.spec-ZPTM3AGQ.js +0 -1194
  553. package/dist/selectGenomeWithTklst-3RLZFW62.js +0 -132
  554. package/dist/singleCellCellType-3LQJXS7H.js +0 -36
  555. package/dist/singleCellCellType.unit.spec-UJM72SP4.js +0 -158
  556. package/dist/singleCellGeneExpression-JOWJWPIQ.js +0 -36
  557. package/dist/singleCellGeneExpression.unit.spec-VY5CGRZH.js +0 -151
  558. package/dist/singleCellPlot-IVLVKOO6.js +0 -51
  559. package/dist/singlecell-VJJZJZF7.js +0 -1570
  560. package/dist/singlecell-VQJ2252L.js +0 -84
  561. package/dist/snp-ALMKZKL2.js +0 -36
  562. package/dist/snp.unit.spec-GJQBAHGQ.js +0 -174
  563. package/dist/snplocus-WCNCMFWZ.js +0 -206
  564. package/dist/spliceevent.a53ss.diagram-4Q4JF4RX.js +0 -149
  565. package/dist/spliceevent.exonskip.diagram-IOYOKELT.js +0 -275
  566. package/dist/spliceevent.noeventdiagram-77ZCOHSF.js +0 -458
  567. package/dist/ssGSEA-QTXXIN4K.js +0 -36
  568. package/dist/ssGSEA.unit.spec-LQESATT3.js +0 -86
  569. package/dist/summarizeCnvGeneexp-YKUQGDQF.js +0 -161
  570. package/dist/summarizeGeneexpSurvival-ARGG5VDC.js +0 -106
  571. package/dist/summarizeMutationCnv-FMZYT3EC.js +0 -162
  572. package/dist/summarizeMutationDiagnosis-ZX7I46SC.js +0 -38
  573. package/dist/summarizeMutationSurvival-RCFMTT43.js +0 -97
  574. package/dist/summary-QLL5YVI2.js +0 -47
  575. package/dist/summary.integration.spec-DHY6XCEJ.js +0 -412
  576. package/dist/summaryInput-ANCUQGIB.js +0 -233
  577. package/dist/sunburst-RDNFBOCK.js +0 -282
  578. package/dist/survival-BG7QV52L.js +0 -44
  579. package/dist/survival-WSN36OQE.js +0 -56
  580. package/dist/survival.integration.spec-37KAJ5IK.js +0 -800
  581. package/dist/svgraph-A5WGHW4S.js +0 -1385
  582. package/dist/svmr-CYRHHWZF.js +0 -3840
  583. package/dist/table-VHO7E5PI.js +0 -198
  584. package/dist/termCollection-E4Q6GLXN.js +0 -177
  585. package/dist/termCollection-HSVSH7TJ.js +0 -36
  586. package/dist/termCollection.unit.spec-ZCE3TUMS.js +0 -206
  587. package/dist/tk-GPRHDN4K.js +0 -44
  588. package/dist/tp.ui-LTUA3FSL.js +0 -1457
  589. package/dist/tvs.dt-G43PAAKD.js +0 -37
  590. package/dist/tvs.dtcnv.categorical-UHDS2TGZ.js +0 -38
  591. package/dist/tvs.dtcnv.continuous-ZNGYQKTD.js +0 -70
  592. package/dist/tvs.dtfusion-JBEEUDUS.js +0 -38
  593. package/dist/tvs.dtsnvindel-XXN5Q7RN.js +0 -38
  594. package/dist/tvs.dtsv-MO6L7HHV.js +0 -38
  595. package/dist/tvs.samplelst-HKY6UUJM.js +0 -102
  596. package/dist/tvs.termCollection-TY6FPL25.js +0 -157
  597. package/dist/violin-YHE3WSGR.js +0 -44
  598. package/dist/violin.integration.spec-F2UD7BHC.js +0 -1423
  599. package/dist/violin.interactivity-LVDTDEPQ.js +0 -36
  600. package/dist/violin.renderer-IIEIUGRI.js +0 -38
  601. package/dist/vocabulary-WQRYXBRO.js +0 -39
  602. /package/dist/{2dmaf-X7LATQT7.js.map → 2dmaf-F5QNP7AQ.js.map} +0 -0
  603. /package/dist/{AppHeader-RDOFP322.js.map → AppHeader-STVCDLET.js.map} +0 -0
  604. /package/dist/{BoxPlot-AZF2EMGQ.js.map → BoxPlot-CU7MEBH7.js.map} +0 -0
  605. /package/dist/{CorrelationVolcano-VXW35SXU.js.map → CorrelationVolcano-OE4R2GS3.js.map} +0 -0
  606. /package/dist/{DE-NLGMZ44O.js.map → DE-SR7PJPKI.js.map} +0 -0
  607. /package/dist/{DifferentialAnalysis-G75VUHDI.js.map → DifferentialAnalysis-UWTYK7NU.js.map} +0 -0
  608. /package/dist/{Disco-DX4S44SI.js.map → Disco-IL6REGSA.js.map} +0 -0
  609. /package/dist/{Disco.UI-5FYIACCU.js.map → Disco.UI-JHHLS5BA.js.map} +0 -0
  610. /package/dist/{DmrPlot-HWYITHK2.js.map → DmrPlot-DDP53T3F.js.map} +0 -0
  611. /package/dist/{HicApp-XPZVZXB7.js.map → HicApp-RVFHTYED.js.map} +0 -0
  612. /package/dist/{NumBinaryEditor-M6MJYIHK.js.map → NumBinaryEditor-B3FXQAOH.js.map} +0 -0
  613. /package/dist/{NumBinaryEditor.unit.spec-W6MMYDAW.js.map → NumBinaryEditor.unit.spec-75YQJ2U6.js.map} +0 -0
  614. /package/dist/{NumContEditor-YRVENTS5.js.map → NumContEditor-5PYW3OLY.js.map} +0 -0
  615. /package/dist/{NumContEditor.unit.spec-A6OH4TI7.js.map → NumContEditor.unit.spec-F7ZRDGBN.js.map} +0 -0
  616. /package/dist/{NumCustomBinEditor-BLBOYSCQ.js.map → NumCustomBinEditor-TBT6GLYQ.js.map} +0 -0
  617. /package/dist/{NumCustomBinEditor.unit.spec-55V5CKLB.js.map → NumCustomBinEditor.unit.spec-6YHU45XV.js.map} +0 -0
  618. /package/dist/{NumDiscreteEditor-DTRM6VL2.js.map → NumDiscreteEditor-N6OJYSJA.js.map} +0 -0
  619. /package/dist/{NumDiscreteEditor.unit.spec-YMB6QRER.js.map → NumDiscreteEditor.unit.spec-HQS5RZ6R.js.map} +0 -0
  620. /package/dist/{NumRegularBinEditor-XW4SVA7S.js.map → NumRegularBinEditor-HSDDKVNG.js.map} +0 -0
  621. /package/dist/{NumRegularBinEditor.unit.spec-VAHC3VOD.js.map → NumRegularBinEditor.unit.spec-33KN2MVM.js.map} +0 -0
  622. /package/dist/{NumSplineEditor-H22HTRFR.js.map → NumSplineEditor-XERKOACS.js.map} +0 -0
  623. /package/dist/{NumSplineEditor.unit.spec-4JUADXZR.js.map → NumSplineEditor.unit.spec-MPVM6KSC.js.map} +0 -0
  624. /package/dist/{NumericDensity-ECSZCQRX.js.map → NumericDensity-35EKYW3V.js.map} +0 -0
  625. /package/dist/{NumericDensity.unit.spec-SXXCXM4X.js.map → NumericDensity.unit.spec-OR24PPRJ.js.map} +0 -0
  626. /package/dist/{NumericHandler-CMBN3FZX.js.map → NumericHandler-D6ZNGRE3.js.map} +0 -0
  627. /package/dist/{NumericHandler.unit.spec-UYTJG2Z2.js.map → NumericHandler.unit.spec-EKPGVSXI.js.map} +0 -0
  628. /package/dist/{RunChart2-MVFWLXZX.js.map → RunChart2-7DOXOFXV.js.map} +0 -0
  629. /package/dist/{WSIViewer-2Z636FMA.js.map → WSIViewer-E247ELKN.js.map} +0 -0
  630. /package/dist/{WsiSamplesPlot-LN75PND3.js.map → WsiSamplesPlot-3522VRB5.js.map} +0 -0
  631. /package/dist/{adSandbox-AJ7QUDOI.js.map → adSandbox-IDFY5P2P.js.map} +0 -0
  632. /package/dist/{alphaGenome-PVCRXAQK.js.map → alphaGenome-F3W7GJQ5.js.map} +0 -0
  633. /package/dist/{app-DWYCAFRP.js.map → app-2HDSFMRM.js.map} +0 -0
  634. /package/dist/{app-RENXV7VR.js.map → app-LIWPFL7C.js.map} +0 -0
  635. /package/dist/{bam-5G6IT6OX.js.map → bam-TBHHSATL.js.map} +0 -0
  636. /package/dist/{barchart-MLCCU6SU.js.map → barchart-HHFCBOZE.js.map} +0 -0
  637. /package/dist/{barchart.events-B6HQTLK2.js.map → barchart.events-UQUSSRXB.js.map} +0 -0
  638. /package/dist/{barchart.integration.spec-S43A7C7N.js.map → barchart.integration.spec-OF3MWFQ5.js.map} +0 -0
  639. /package/dist/{barchart2-QMKEN6MN.js.map → barchart2-XRMPCBBU.js.map} +0 -0
  640. /package/dist/{block-IGBB4BJH.js.map → block-5UEORHFB.js.map} +0 -0
  641. /package/dist/{block.init-NLCYAKV4.js.map → block.init-QSSFUVIT.js.map} +0 -0
  642. /package/dist/{block.mds.expressionrank-TZWGRDY7.js.map → block.mds.expressionrank-VBIIJHQF.js.map} +0 -0
  643. /package/dist/{block.mds.geneboxplot-OAFROYDL.js.map → block.mds.geneboxplot-KSBHXBNX.js.map} +0 -0
  644. /package/dist/{block.mds.junction-NSLXTW3D.js.map → block.mds.junction-FWZWMZJ2.js.map} +0 -0
  645. /package/dist/{block.mds.svcnv-ICPG4BW6.js.map → block.mds.svcnv-UXORVLH2.js.map} +0 -0
  646. /package/dist/{block.svg-DTFVIAAC.js.map → block.svg-6KIGW4QH.js.map} +0 -0
  647. /package/dist/{block.tk.aicheck-ZIMIBWHA.js.map → block.tk.aicheck-DK566Q4C.js.map} +0 -0
  648. /package/dist/{block.tk.ase-I7UNK5BK.js.map → block.tk.ase-2GB2VJJ6.js.map} +0 -0
  649. /package/dist/{block.tk.bam-W7JG46RS.js.map → block.tk.bam-RQNOLY52.js.map} +0 -0
  650. /package/dist/{block.tk.bedgraphdot-XAQJPKGJ.js.map → block.tk.bedgraphdot-N4YMZFO4.js.map} +0 -0
  651. /package/dist/{block.tk.bigwig.ui-YQOJPJSG.js.map → block.tk.bigwig.ui-4S7L7D7D.js.map} +0 -0
  652. /package/dist/{block.tk.hicstraw-OWWGGCHU.js.map → block.tk.hicstraw-AHFNQKCS.js.map} +0 -0
  653. /package/dist/{block.tk.junction-V63ZQQX6.js.map → block.tk.junction-7E6SNQMQ.js.map} +0 -0
  654. /package/dist/{block.tk.junction.textmatrixui-B7KXX7WN.js.map → block.tk.junction.textmatrixui-3C5JVYX5.js.map} +0 -0
  655. /package/dist/{block.tk.ld-2J6CT74S.js.map → block.tk.ld-TOUCLT3W.js.map} +0 -0
  656. /package/dist/{block.tk.menu-6AQLG7PW.js.map → block.tk.menu-JCV5ORD6.js.map} +0 -0
  657. /package/dist/{block.tk.pgv-4V6PKVCQ.js.map → block.tk.pgv-CUU22U6M.js.map} +0 -0
  658. /package/dist/{brainImaging-WRBGYLHK.js.map → brainImaging-MTQTXNNL.js.map} +0 -0
  659. /package/dist/{chunk-ENP4FLOX.js.map → chunk-2UYBBUXK.js.map} +0 -0
  660. /package/dist/{chunk-P2JDCMXW.js.map → chunk-2VPEFXEJ.js.map} +0 -0
  661. /package/dist/{chunk-OVPVPPRG.js.map → chunk-3QHIL3V3.js.map} +0 -0
  662. /package/dist/{chunk-QLWDUZ5K.js.map → chunk-44VXWKYJ.js.map} +0 -0
  663. /package/dist/{chunk-QRSIID3T.js.map → chunk-52D6EGUS.js.map} +0 -0
  664. /package/dist/{chunk-N2HBIQKU.js.map → chunk-5FHM3L4I.js.map} +0 -0
  665. /package/dist/{chunk-ZVSXHCGP.js.map → chunk-62TF2MCH.js.map} +0 -0
  666. /package/dist/{chunk-UOOMFM7K.js.map → chunk-67QM2NUK.js.map} +0 -0
  667. /package/dist/{chunk-XVDWYTJ6.js.map → chunk-6AAPHEWK.js.map} +0 -0
  668. /package/dist/{chunk-3B7EWIVB.js.map → chunk-6KPGMUHS.js.map} +0 -0
  669. /package/dist/{chunk-YQVEBFGT.js.map → chunk-6WBIZXNI.js.map} +0 -0
  670. /package/dist/{chunk-IA7S4UL5.js.map → chunk-7AAJVXEG.js.map} +0 -0
  671. /package/dist/{chunk-PXYYICV7.js.map → chunk-AFJRAR4N.js.map} +0 -0
  672. /package/dist/{chunk-K7XWZSQA.js.map → chunk-CVRYZMDE.js.map} +0 -0
  673. /package/dist/{chunk-MSW7OS2O.js.map → chunk-DGUTCYH2.js.map} +0 -0
  674. /package/dist/{chunk-5ZBEDKBD.js.map → chunk-DHNXATHC.js.map} +0 -0
  675. /package/dist/{chunk-L5SOHZ5V.js.map → chunk-E3BI23UK.js.map} +0 -0
  676. /package/dist/{chunk-4JVNATQR.js.map → chunk-E4JDHA3C.js.map} +0 -0
  677. /package/dist/{chunk-W35IOI74.js.map → chunk-FOJWYEGV.js.map} +0 -0
  678. /package/dist/{chunk-NL3DVEVX.js.map → chunk-FTN7Y34O.js.map} +0 -0
  679. /package/dist/{chunk-EHXI36HJ.js.map → chunk-GRG5MMPN.js.map} +0 -0
  680. /package/dist/{chunk-HTMXVOTH.js.map → chunk-GSU4PZN3.js.map} +0 -0
  681. /package/dist/{chunk-ST644IDH.js.map → chunk-IIRU2JLK.js.map} +0 -0
  682. /package/dist/{chunk-JFIOYO3M.js.map → chunk-JCB74ZSK.js.map} +0 -0
  683. /package/dist/{chunk-BRCDZJBQ.js.map → chunk-JUDWPYMA.js.map} +0 -0
  684. /package/dist/{chunk-O4WJSZC3.js.map → chunk-KT6VZBC7.js.map} +0 -0
  685. /package/dist/{chunk-OLUDD6EC.js.map → chunk-L2HBHFTK.js.map} +0 -0
  686. /package/dist/{chunk-VGHSLILD.js.map → chunk-LKADRF3Q.js.map} +0 -0
  687. /package/dist/{chunk-3JAC5CHL.js.map → chunk-MAXFRUGM.js.map} +0 -0
  688. /package/dist/{chunk-BL4ALBZ7.js.map → chunk-MQN7RYCK.js.map} +0 -0
  689. /package/dist/{chunk-JMJW3ERE.js.map → chunk-OEUI4CYZ.js.map} +0 -0
  690. /package/dist/{chunk-73ZT6NAT.js.map → chunk-OM36XUQL.js.map} +0 -0
  691. /package/dist/{chunk-LMGE54CQ.js.map → chunk-P5LNIH5X.js.map} +0 -0
  692. /package/dist/{chunk-KSN3EVKI.js.map → chunk-PG62PRMF.js.map} +0 -0
  693. /package/dist/{chunk-EBGX226R.js.map → chunk-Q3J3F2NU.js.map} +0 -0
  694. /package/dist/{chunk-AFXYPMFZ.js.map → chunk-RZBV6474.js.map} +0 -0
  695. /package/dist/{chunk-3T2PCWII.js.map → chunk-T5V4OC27.js.map} +0 -0
  696. /package/dist/{chunk-QEWMCAJW.js.map → chunk-UCKSUNSJ.js.map} +0 -0
  697. /package/dist/{chunk-PMDXCESS.js.map → chunk-W4TLYHZO.js.map} +0 -0
  698. /package/dist/{chunk-PZ3KIUWJ.js.map → chunk-WPZUXKIB.js.map} +0 -0
  699. /package/dist/{chunk-3AK6GP4M.js.map → chunk-XM47XD6G.js.map} +0 -0
  700. /package/dist/{chunk-MVCGSYS2.js.map → chunk-YZHGLSKQ.js.map} +0 -0
  701. /package/dist/{chunk-65YTZS3R.js.map → chunk-ZGOOZK3I.js.map} +0 -0
  702. /package/dist/{chunk-LOMVTHAM.js.map → chunk-ZH2VP6Q6.js.map} +0 -0
  703. /package/dist/{chunk-HROKXT4K.js.map → chunk-ZLOQXO5K.js.map} +0 -0
  704. /package/dist/{chunk-4BTAI6HQ.js.map → chunk-ZMNDBPJU.js.map} +0 -0
  705. /package/dist/{chunk-5MW5VMWD.js.map → chunk-ZRTW6X3F.js.map} +0 -0
  706. /package/dist/{chunk-7HJ6H7AZ.js.map → chunk-ZTT52MBP.js.map} +0 -0
  707. /package/dist/{condition-CZX2GSN4.js.map → condition-VUACUQYF.js.map} +0 -0
  708. /package/dist/{controls-BQR3WY5W.js.map → controls-N4MPSNO4.js.map} +0 -0
  709. /package/dist/{controls.config-TAVZDHFZ.js.map → controls.config-PRXVODCM.js.map} +0 -0
  710. /package/dist/{correlation-BIWVZNC6.js.map → correlation-QJZUYDFH.js.map} +0 -0
  711. /package/dist/{cuminc-EDXOOI5R.js.map → cuminc-JJHXW55V.js.map} +0 -0
  712. /package/dist/{cuminc.integration.spec-UZA7BDTB.js.map → cuminc.integration.spec-IXS2UO2O.js.map} +0 -0
  713. /package/dist/{customdata.inputui-PEB4CE7J.js.map → customdata.inputui-DUHO6M6I.js.map} +0 -0
  714. /package/dist/{dataDownload-KANEHJXJ.js.map → dataDownload-OFB7TYDB.js.map} +0 -0
  715. /package/dist/{dataDownload.integration.spec-23WLHSWJ.js.map → dataDownload.integration.spec-4HWDQO4C.js.map} +0 -0
  716. /package/dist/{dictionary-YOTUFVES.js.map → dictionary-BSKN37CP.js.map} +0 -0
  717. /package/dist/{dnaMethylation-TRFAZWRJ.js.map → dnaMethylation-5QNEEGC6.js.map} +0 -0
  718. /package/dist/{dnaMethylation.integration.spec-SPFZO76D.js.map → dnaMethylation.integration.spec-YIX3JSA7.js.map} +0 -0
  719. /package/dist/{dofetch-MH4MRMGY.js.map → dofetch-KFMGQY7G.js.map} +0 -0
  720. /package/dist/{e2pca-AFVAFUJ2.js.map → e2pca-VX42HDYZ.js.map} +0 -0
  721. /package/dist/{ep-4FXTLWB4.js.map → ep-B6ZNETLI.js.map} +0 -0
  722. /package/dist/{expclust.gdc.spec-SFOCKBLR.js.map → expclust.gdc.spec-SGECIILQ.js.map} +0 -0
  723. /package/dist/{facet-SY6PYSTN.js.map → facet-2W5SBPGP.js.map} +0 -0
  724. /package/dist/{geneExpClustering-FOY77R7P.js.map → geneExpClustering-6A7364T5.js.map} +0 -0
  725. /package/dist/{geneExpression-D2F2KVGY.js.map → geneExpression-NAM2UEYN.js.map} +0 -0
  726. /package/dist/{geneExpression-AHKX57BT.js.map → geneExpression-WF56ODMZ.js.map} +0 -0
  727. /package/dist/{geneExpression.unit.spec-SR2BGZQL.js.map → geneExpression.unit.spec-DNE2T3WI.js.map} +0 -0
  728. /package/dist/{geneORA-VJMYI4BT.js.map → geneORA-33FK2YOS.js.map} +0 -0
  729. /package/dist/{geneVariant-LFM5SO2P.js.map → geneVariant-C7PCNBOQ.js.map} +0 -0
  730. /package/dist/{geneVariant-OIKEV4JM.js.map → geneVariant-REELFRRA.js.map} +0 -0
  731. /package/dist/{geneVariant.integration.spec-T6BINPIN.js.map → geneVariant.integration.spec-GNXUGDKL.js.map} +0 -0
  732. /package/dist/{genefusion.ui-NLMW5XMI.js.map → genefusion.ui-WO5EPJDS.js.map} +0 -0
  733. /package/dist/{genomeBrowser.spec-DRYIFJLY.js.map → genomeBrowser.spec-VPAKTUJF.js.map} +0 -0
  734. /package/dist/{grin2-LGI535FF.js.map → grin2-GYHUYNEF.js.map} +0 -0
  735. /package/dist/{gsea-Z7DSDFOA.js.map → gsea-PE5WZ5ZI.js.map} +0 -0
  736. /package/dist/{hierCluster-HC2B5XRR.js.map → hierCluster-FH6YJHRT.js.map} +0 -0
  737. /package/dist/{hierCluster-PLHVN5S3.js.map → hierCluster-IFM5I5QN.js.map} +0 -0
  738. /package/dist/{hierCluster.config-E3DIJWL5.js.map → hierCluster.config-M57ZIWMB.js.map} +0 -0
  739. /package/dist/{hierCluster.integration.spec-OQLPUQG4.js.map → hierCluster.integration.spec-Z64RL7MC.js.map} +0 -0
  740. /package/dist/{hierCluster.interactivity-LRNPDTEH.js.map → hierCluster.interactivity-CDBAJXOY.js.map} +0 -0
  741. /package/dist/{importPlot-M5HGLHRO.js.map → importPlot-OWKXSK77.js.map} +0 -0
  742. /package/dist/{isoformExpression-PADLHHR5.js.map → isoformExpression-66XLJG73.js.map} +0 -0
  743. /package/dist/{isoformExpression.unit.spec-5BPAL4OS.js.map → isoformExpression.unit.spec-QJX2IRHL.js.map} +0 -0
  744. /package/dist/{launch.adhoc-JH6ZZFDB.js.map → launch.adhoc-JCWID253.js.map} +0 -0
  745. /package/dist/{leftlabel.sample-NS2TBANH.js.map → leftlabel.sample-5NZ6VQDN.js.map} +0 -0
  746. /package/dist/{maf-NOHIKTUP.js.map → maf-HIS2FQXK.js.map} +0 -0
  747. /package/dist/{maftimeline-WGWE52EF.js.map → maftimeline-UPJJQE23.js.map} +0 -0
  748. /package/dist/{matrix-B6NPQFFF.js.map → matrix-62CN2KXR.js.map} +0 -0
  749. /package/dist/{matrix-UAKRJL5A.js.map → matrix-SPEDEB3J.js.map} +0 -0
  750. /package/dist/{matrix.config-KJNJXPJJ.js.map → matrix.config-XB6WFXUY.js.map} +0 -0
  751. /package/dist/{matrix.integration.spec-VAXIR3E6.js.map → matrix.integration.spec-NN7OR5XM.js.map} +0 -0
  752. /package/dist/{matrix.interactivity-H4MCMJXU.js.map → matrix.interactivity-OWMHUJCX.js.map} +0 -0
  753. /package/dist/{matrix.layout-RFKQJM5D.js.map → matrix.layout-27QB6MWK.js.map} +0 -0
  754. /package/dist/{matrix.renderers-7JJIC6VC.js.map → matrix.renderers-EPXES5E4.js.map} +0 -0
  755. /package/dist/{matrix.sort.unit.spec-MQQVWWNT.js.map → matrix.sort.unit.spec-NBT5FSZ6.js.map} +0 -0
  756. /package/dist/{matrix.sorterUi.unit.spec-LG4TI7VF.js.map → matrix.sorterUi.unit.spec-QKGUE4RR.js.map} +0 -0
  757. /package/dist/{mavb-EIZHS6F4.js.map → mavb-M7Y74OWQ.js.map} +0 -0
  758. /package/dist/{mds.fimo-XVC6MI7W.js.map → mds.fimo-WCDFA7HG.js.map} +0 -0
  759. /package/dist/{mds.samplescatterplot-PRR4TKYI.js.map → mds.samplescatterplot-ZDHQ3MKJ.js.map} +0 -0
  760. /package/dist/{mds.survivalplot-3OG4Y2B6.js.map → mds.survivalplot-R74DL2RA.js.map} +0 -0
  761. /package/dist/{oncomatrix-SO6S6IIB.js.map → oncomatrix-MOITJBII.js.map} +0 -0
  762. /package/dist/{oncomatrix.spec-VXTF44K5.js.map → oncomatrix.spec-NALJBPYS.js.map} +0 -0
  763. /package/dist/{plot.2dvaf-JW5OJJXV.js.map → plot.2dvaf-IE2EZEFA.js.map} +0 -0
  764. /package/dist/{plot.app-T3GVCFQ3.js.map → plot.app-HTW6TZEH.js.map} +0 -0
  765. /package/dist/{plot.barplot-2TYP6DPI.js.map → plot.barplot-NCQEPEOY.js.map} +0 -0
  766. /package/dist/{plot.boxplot-HOQHM7JF.js.map → plot.boxplot-WNKVBVJJ.js.map} +0 -0
  767. /package/dist/{plot.brainImaging-5AI7BSD4.js.map → plot.brainImaging-2Z3TOO6J.js.map} +0 -0
  768. /package/dist/{plot.disco-HNNZHK5Z.js.map → plot.disco-4JAEIAYK.js.map} +0 -0
  769. /package/dist/{plot.dzi-4OQSO7SY.js.map → plot.dzi-ZGLOVJJN.js.map} +0 -0
  770. /package/dist/{plot.ssgq-VZTTGECT.js.map → plot.ssgq-IHUILM43.js.map} +0 -0
  771. /package/dist/{plot.vaf2cov-ASEELRDV.js.map → plot.vaf2cov-ZYCQMD27.js.map} +0 -0
  772. /package/dist/{plot.wsi-MDWYLU4R.js.map → plot.wsi-3GISVBDH.js.map} +0 -0
  773. /package/dist/{polar-QSY6JG4P.js.map → polar-4AUAZHBV.js.map} +0 -0
  774. /package/dist/{polar2-FD6656VD.js.map → polar2-SRD4WWXU.js.map} +0 -0
  775. /package/dist/{profile.spec-V7EQBXT2.js.map → profile.spec-TOITKBBZ.js.map} +0 -0
  776. /package/dist/{profileBarchart-EIKHZAPD.js.map → profileBarchart-Z4SYIYBE.js.map} +0 -0
  777. /package/dist/{profileForms-NGFRXPFF.js.map → profileForms-RA7XQ2QT.js.map} +0 -0
  778. /package/dist/{profilePlot-2UFKJ2OC.js.map → profilePlot-4BM3XZVK.js.map} +0 -0
  779. /package/dist/{profileRadar-B2R7OV5F.js.map → profileRadar-EYBESEPI.js.map} +0 -0
  780. /package/dist/{profileRadarFacility-ILC7POCI.js.map → profileRadarFacility-FZYTFM26.js.map} +0 -0
  781. /package/dist/{proteomeAbundance-OF27N347.js.map → proteomeAbundance-65R6M4YQ.js.map} +0 -0
  782. /package/dist/{qualitative-CSUO2WG5.js.map → qualitative-E7WL6DN4.js.map} +0 -0
  783. /package/dist/{radar2-L2HGCUYR.js.map → radar2-I6FN5SUX.js.map} +0 -0
  784. /package/dist/{radarFacility2-HXUUTRYO.js.map → radarFacility2-GVK7PT3V.js.map} +0 -0
  785. /package/dist/{regression-Y4NYGZSA.js.map → regression-TIR5D354.js.map} +0 -0
  786. /package/dist/{regression.inputs-RWFIJLNF.js.map → regression.inputs-2AMJCJ3L.js.map} +0 -0
  787. /package/dist/{regression.inputs.term-QIU5SHTN.js.map → regression.inputs.term-D6D2QEUB.js.map} +0 -0
  788. /package/dist/{regression.inputs.values.table-FM6QTSEV.js.map → regression.inputs.values.table-M3IPLGDJ.js.map} +0 -0
  789. /package/dist/{regression.integration.spec-YRKKU7HL.js.map → regression.integration.spec-ROUSXLMH.js.map} +0 -0
  790. /package/dist/{regression.results-YUDCHUZJ.js.map → regression.results-YD5S74YS.js.map} +0 -0
  791. /package/dist/{regression.spec-G4GIIV32.js.map → regression.spec-4OXBBTNO.js.map} +0 -0
  792. /package/dist/{report-2N4FBR4Q.js.map → report-ETNALKTY.js.map} +0 -0
  793. /package/dist/{sampleScatter.spec-UIUYO4WR.js.map → sampleScatter.spec-LECMFMI2.js.map} +0 -0
  794. /package/dist/{sampleView-TOK5Y5KU.js.map → sampleView-B5TM7JOW.js.map} +0 -0
  795. /package/dist/{samplelst-YW5ZS3GJ.js.map → samplelst-GFQCG4SS.js.map} +0 -0
  796. /package/dist/{samplematrix-447BHSO7.js.map → samplematrix-OMTNWCJK.js.map} +0 -0
  797. /package/dist/{sc-O2PL3FL2.js.map → sc-MIEEZBWG.js.map} +0 -0
  798. /package/dist/{scatter-4DXHOWVY.js.map → scatter-ETOZ722F.js.map} +0 -0
  799. /package/dist/{scatter.integration.spec-ZPTM3AGQ.js.map → scatter.integration.spec-TS4PNRLX.js.map} +0 -0
  800. /package/dist/{selectGenomeWithTklst-3RLZFW62.js.map → selectGenomeWithTklst-Y5QIM2JB.js.map} +0 -0
  801. /package/dist/{singleCellCellType-3LQJXS7H.js.map → singleCellCellType-HOJHZF5W.js.map} +0 -0
  802. /package/dist/{singleCellCellType.unit.spec-UJM72SP4.js.map → singleCellCellType.unit.spec-MH5V3RPX.js.map} +0 -0
  803. /package/dist/{singleCellGeneExpression-JOWJWPIQ.js.map → singleCellGeneExpression-YVQ5TIKN.js.map} +0 -0
  804. /package/dist/{singleCellGeneExpression.unit.spec-VY5CGRZH.js.map → singleCellGeneExpression.unit.spec-BMFFT5HO.js.map} +0 -0
  805. /package/dist/{singleCellPlot-IVLVKOO6.js.map → singleCellPlot-3YFUYA2Y.js.map} +0 -0
  806. /package/dist/{singlecell-VJJZJZF7.js.map → singlecell-FK5JETW5.js.map} +0 -0
  807. /package/dist/{singlecell-VQJ2252L.js.map → singlecell-RL7V7DIC.js.map} +0 -0
  808. /package/dist/{snp-ALMKZKL2.js.map → snp-FT7HB3XN.js.map} +0 -0
  809. /package/dist/{snp.unit.spec-GJQBAHGQ.js.map → snp.unit.spec-CLYVYPPG.js.map} +0 -0
  810. /package/dist/{snplocus-WCNCMFWZ.js.map → snplocus-M5SEQGAC.js.map} +0 -0
  811. /package/dist/{spliceevent.a53ss.diagram-4Q4JF4RX.js.map → spliceevent.a53ss.diagram-EJ5CTRCZ.js.map} +0 -0
  812. /package/dist/{spliceevent.exonskip.diagram-IOYOKELT.js.map → spliceevent.exonskip.diagram-ETXMOHZ3.js.map} +0 -0
  813. /package/dist/{spliceevent.noeventdiagram-77ZCOHSF.js.map → spliceevent.noeventdiagram-S2O4ZM2Z.js.map} +0 -0
  814. /package/dist/{ssGSEA-QTXXIN4K.js.map → ssGSEA-6PMDQDTJ.js.map} +0 -0
  815. /package/dist/{ssGSEA.unit.spec-LQESATT3.js.map → ssGSEA.unit.spec-JD5T4R2N.js.map} +0 -0
  816. /package/dist/{summarizeCnvGeneexp-YKUQGDQF.js.map → summarizeCnvGeneexp-GCHNKTIU.js.map} +0 -0
  817. /package/dist/{summarizeGeneexpSurvival-ARGG5VDC.js.map → summarizeGeneexpSurvival-R2RYQZ3M.js.map} +0 -0
  818. /package/dist/{summarizeMutationCnv-FMZYT3EC.js.map → summarizeMutationCnv-LB2BIYRL.js.map} +0 -0
  819. /package/dist/{summarizeMutationDiagnosis-ZX7I46SC.js.map → summarizeMutationDiagnosis-3JUY75LM.js.map} +0 -0
  820. /package/dist/{summarizeMutationSurvival-RCFMTT43.js.map → summarizeMutationSurvival-VYLRWTCF.js.map} +0 -0
  821. /package/dist/{summary-QLL5YVI2.js.map → summary-2QQ72IEQ.js.map} +0 -0
  822. /package/dist/{summary.integration.spec-DHY6XCEJ.js.map → summary.integration.spec-XXU362UQ.js.map} +0 -0
  823. /package/dist/{summaryInput-ANCUQGIB.js.map → summaryInput-OZHZG3PV.js.map} +0 -0
  824. /package/dist/{sunburst-RDNFBOCK.js.map → sunburst-CMCJCANX.js.map} +0 -0
  825. /package/dist/{survival-BG7QV52L.js.map → survival-EBD4DHO7.js.map} +0 -0
  826. /package/dist/{survival-WSN36OQE.js.map → survival-ISLRRPKU.js.map} +0 -0
  827. /package/dist/{survival.integration.spec-37KAJ5IK.js.map → survival.integration.spec-FS7V4OXK.js.map} +0 -0
  828. /package/dist/{svgraph-A5WGHW4S.js.map → svgraph-KGLNUM7W.js.map} +0 -0
  829. /package/dist/{svmr-CYRHHWZF.js.map → svmr-NXZ5VLKH.js.map} +0 -0
  830. /package/dist/{table-VHO7E5PI.js.map → table-ISOQOI6C.js.map} +0 -0
  831. /package/dist/{termCollection-HSVSH7TJ.js.map → termCollection-7ZSU3I45.js.map} +0 -0
  832. /package/dist/{termCollection-E4Q6GLXN.js.map → termCollection-V2A5BDQB.js.map} +0 -0
  833. /package/dist/{termCollection.unit.spec-ZCE3TUMS.js.map → termCollection.unit.spec-6VLCJGOU.js.map} +0 -0
  834. /package/dist/{tk-GPRHDN4K.js.map → tk-6AB6XYIE.js.map} +0 -0
  835. /package/dist/{tp.ui-LTUA3FSL.js.map → tp.ui-2O4UW5N7.js.map} +0 -0
  836. /package/dist/{tvs.dt-G43PAAKD.js.map → tvs.dt-CY6TOQVB.js.map} +0 -0
  837. /package/dist/{tvs.dtcnv.categorical-UHDS2TGZ.js.map → tvs.dtcnv.categorical-AYQ432TW.js.map} +0 -0
  838. /package/dist/{tvs.dtcnv.continuous-ZNGYQKTD.js.map → tvs.dtcnv.continuous-XVDL6SG3.js.map} +0 -0
  839. /package/dist/{tvs.dtfusion-JBEEUDUS.js.map → tvs.dtfusion-V3AV7A6Q.js.map} +0 -0
  840. /package/dist/{tvs.dtsnvindel-XXN5Q7RN.js.map → tvs.dtsnvindel-XM3NXIT7.js.map} +0 -0
  841. /package/dist/{tvs.dtsv-MO6L7HHV.js.map → tvs.dtsv-Z2GYRINW.js.map} +0 -0
  842. /package/dist/{tvs.samplelst-HKY6UUJM.js.map → tvs.samplelst-C4FB63G7.js.map} +0 -0
  843. /package/dist/{tvs.termCollection-TY6FPL25.js.map → tvs.termCollection-VHTSC2ST.js.map} +0 -0
  844. /package/dist/{violin-YHE3WSGR.js.map → violin-KGGTUQFF.js.map} +0 -0
  845. /package/dist/{violin.integration.spec-F2UD7BHC.js.map → violin.integration.spec-5EW6PLJX.js.map} +0 -0
  846. /package/dist/{violin.interactivity-LVDTDEPQ.js.map → violin.interactivity-RI4RURGO.js.map} +0 -0
  847. /package/dist/{violin.renderer-IIEIUGRI.js.map → violin.renderer-EWU2IFZE.js.map} +0 -0
  848. /package/dist/{vocabulary-WQRYXBRO.js.map → vocabulary-VLIGC7OP.js.map} +0 -0
@@ -0,0 +1,7 @@
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 { Menu, icons, axisstyle, table2col } from '#dom'\nimport { to_svg } from '#src/client'\nimport { quadtree } from 'd3-quadtree'\nimport type { ManhattanPoint } from './manhattanTypes'\nimport { showResultsTable } from '../shared/resultsTable'\nimport { createLollipopFromGene } from '../shared/genePlotActions'\nimport { findPointsInRadius } from '../shared/quadtreeHitTest'\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// Create tooltip menu\n\tconst geneTip = new Menu({ padding: '' })\n\t// Create click menu for showing all nearby genes\n\tlet clickMenuIsShown = false\n\tconst clickMenu = new Menu({\n\t\tpadding: '',\n\t\tonHide: () => {\n\t\t\tclickMenuIsShown = false\n\t\t}\n\t})\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// Create a group for hover circles inside the SVG\n\t\tconst pointsLayer = svg\n\t\t\t.append('g')\n\t\t\t.attr('transform', `translate(${settings.yAxisX + settings.yAxisSpace},${settings.yAxisY})`)\n\n\t\t// Create cover as a sibling div positioned over the plot area\n\t\t// This avoids mouse event issues when nested 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// Track which dots are currently highlighted\n\t\tlet highlightedDots: ManhattanPoint[] = []\n\n\t\tconst normalizedPoints = interactivePoints\n\n\t\tconst pointQuadtree = quadtree<ManhattanPoint>()\n\t\t\t.x(d => d.pixel_x)\n\t\t\t.y(d => d.pixel_y)\n\t\t\t.addAll(normalizedPoints)\n\n\t\tcover\n\t\t\t.on('mousemove', event => {\n\t\t\t\t// Don't show hover tooltip if click menu is open\n\t\t\t\tif (clickMenuIsShown) return\n\t\t\t\t// Get mouse position relative to the cover div\n\t\t\t\tconst rect = (cover.node() as HTMLElement).getBoundingClientRect()\n\t\t\t\tconst mx = event.clientX - rect.left\n\t\t\t\tconst my = event.clientY - rect.top\n\n\t\t\t\t// Find all dots within hit radius\n\t\t\t\t// TODO: Make hit radius user configurable with its own setting\n\t\t\t\tconst hitRadius = settings.pngDotRadius + 3\n\n\t\t\t\t// Find all points within hit radius with their distances\n\t\t\t\tconst candidates = findPointsInRadius(pointQuadtree, mx, my, hitRadius)\n\n\t\t\t\t// Sort by distance and take the closest points based on settings.maxTooltipGenes setting\n\t\t\t\tcandidates.sort((a, b) => a.distance - b.distance)\n\t\t\t\tconst nearbyDots = candidates.slice(0, settings.maxTooltipGenes).map(c => c.point)\n\t\t\t\tconst additionalCount = candidates.length - settings.maxTooltipGenes\n\n\t\t\t\t// Always remove old circles first\n\t\t\t\tpointsLayer.selectAll('.hover-circle').remove()\n\n\t\t\t\tif (nearbyDots.length > 0) {\n\t\t\t\t\t// Add hover circles for all nearby dots\n\t\t\t\t\tnearbyDots.forEach(d => {\n\t\t\t\t\t\tpointsLayer\n\t\t\t\t\t\t\t.append('circle')\n\t\t\t\t\t\t\t.attr('class', 'hover-circle')\n\t\t\t\t\t\t\t.attr('cx', d.pixel_x)\n\t\t\t\t\t\t\t.attr('cy', d.pixel_y)\n\t\t\t\t\t\t\t.attr('r', settings.pngDotRadius)\n\t\t\t\t\t\t\t.attr('fill', 'none')\n\t\t\t\t\t\t\t.attr('stroke', 'black')\n\t\t\t\t\t\t\t.attr('stroke-width', settings.interactiveDotStrokeWidth)\n\t\t\t\t\t})\n\n\t\t\t\t\thighlightedDots = nearbyDots\n\n\t\t\t\t\t// Show tooltip\n\t\t\t\t\tgeneTip.clear().show(event.clientX, event.clientY)\n\t\t\t\t\tif (nearbyDots.length > 1) {\n\t\t\t\t\t\t// Multiple genes\n\t\t\t\t\t\tconst holder = geneTip.d.append('div').style('margin', '10px')\n\n\t\t\t\t\t\tshowResultsTable({ tableDiv: holder, hits: nearbyDots })\n\n\t\t\t\t\t\t// Show message if there are more dots beyond the settings.maxTooltipGenes shown\n\t\t\t\t\t\t// TODO: Make these settings abstracted out and can improve this later\n\t\t\t\t\t\tif (additionalCount > 0) {\n\t\t\t\t\t\t\tholder\n\t\t\t\t\t\t\t\t.append('div')\n\t\t\t\t\t\t\t\t.style('font-size', '0.85em')\n\t\t\t\t\t\t\t\t.style('color', '#666')\n\t\t\t\t\t\t\t\t.style('font-style', 'italic')\n\t\t\t\t\t\t\t\t.text(`and ${additionalCount} more gene${additionalCount > 1 ? 's' : ''}...`)\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Single gene - use table2col format\n\t\t\t\t\t\tconst d = nearbyDots[0]\n\t\t\t\t\t\tconst table = table2col({\n\t\t\t\t\t\t\tholder: geneTip.d.append('div'),\n\t\t\t\t\t\t\tmargin: '10px'\n\t\t\t\t\t\t})\n\t\t\t\t\t\ttable.addRow('Gene', d.gene)\n\t\t\t\t\t\ttable.addRow('Position', `${d.chrom}:${d.start}-${d.end}`)\n\t\t\t\t\t\tconst [t1, t2] = table.addRow()\n\t\t\t\t\t\tt1.text('Type')\n\t\t\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\t\t\ttable.addRow('Q-value', d.q_value.toPrecision(3))\n\t\t\t\t\t\ttable.addRow('Subject count', d.nsubj)\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// No dots nearby, hide tooltip\n\t\t\t\t\thighlightedDots = []\n\t\t\t\t\tgeneTip.hide()\n\t\t\t\t}\n\t\t\t})\n\t\t\t.on('mouseleave', () => {\n\t\t\t\t// Remove all hover circles and hide tooltip\n\t\t\t\tpointsLayer.selectAll('.hover-circle').remove()\n\t\t\t\thighlightedDots = []\n\t\t\t\tgeneTip.hide()\n\t\t\t})\n\t\t\t.on('click', event => {\n\t\t\t\t// Don't do anything if no dots nearby or no app context\n\t\t\t\tif (highlightedDots.length === 0 || !app) return\n\n\t\t\t\t// Hide the hover tooltip\n\t\t\t\tgeneTip.hide()\n\n\t\t\t\t// Get ALL candidates within hit radius (reusing the quadtree search)\n\t\t\t\tconst rect = (cover.node() as HTMLElement).getBoundingClientRect()\n\t\t\t\tconst mx = event.clientX - rect.left\n\t\t\t\tconst my = event.clientY - rect.top\n\t\t\t\tconst hitRadius = settings.pngDotRadius + 3\n\n\t\t\t\tconst allCandidates = findPointsInRadius(pointQuadtree, mx, my, hitRadius)\n\n\t\t\t\tallCandidates.sort((a, b) => a.distance - b.distance)\n\t\t\t\tconst allNearbyDots = allCandidates.map(c => c.point)\n\n\t\t\t\tif (allNearbyDots.length === 1) {\n\t\t\t\t\t// Single gene - launch directly\n\t\t\t\t\tcreateLollipopFromGene(allNearbyDots[0].gene, app)\n\t\t\t\t} else if (allNearbyDots.length > 1) {\n\t\t\t\t\t// Multiple genes - show click menu with table\n\t\t\t\t\tclickMenu.clear().show(event.clientX, event.clientY)\n\t\t\t\t\tclickMenuIsShown = true\n\n\t\t\t\t\tconst holder = clickMenu.d.append('div').style('margin', '10px')\n\n\t\t\t\t\tshowResultsTable({ tableDiv: holder, hits: allNearbyDots, app, clickMenu })\n\t\t\t\t}\n\t\t\t})\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 } 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 { showResultsTable } from '../shared/resultsTable'\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\tgetGene: (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
+ }