@sjcrh/proteinpaint-client 2.192.0 → 2.194.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 (908) hide show
  1. package/dist/2dmaf-HS37GJYM.js +1373 -0
  2. package/dist/AIProjectAdmin-V5NVBBOA.js +958 -0
  3. package/dist/AppHeader-VIQ2VZPI.js +835 -0
  4. package/dist/BoxPlot-J7DPHT2N.js +1217 -0
  5. package/dist/CorrelationVolcano-ZHP7IPFD.js +619 -0
  6. package/dist/DE-VW4MQHYP.js +95 -0
  7. package/dist/DEinput-2EKXGUP3.js +301 -0
  8. package/dist/DifferentialAnalysis-H7LZWEIL.js +245 -0
  9. package/dist/Disco-5AA67AO5.js +3297 -0
  10. package/dist/Disco.UI-K4RBVRJP.js +249 -0
  11. package/dist/DmrPlot-RVJUKBOB.js +642 -0
  12. package/dist/GB-TA5LQGX6.js +1353 -0
  13. package/dist/GB-TA5LQGX6.js.map +7 -0
  14. package/dist/GeneExpInput-HHOIK6X7.js +367 -0
  15. package/dist/HicApp-YTQNK5DC.js +2250 -0
  16. package/dist/IDCViewer-T74AFWY3.js +10455 -0
  17. package/dist/IDCViewer-T74AFWY3.js.map +7 -0
  18. package/dist/NumBinaryEditor-ICZCNBRL.js +271 -0
  19. package/dist/NumBinaryEditor.unit.spec-WDJPDAVT.js +286 -0
  20. package/dist/NumContEditor-5KEM54CE.js +109 -0
  21. package/dist/NumContEditor.unit.spec-WG5QKOD3.js +169 -0
  22. package/dist/NumCustomBinEditor-MGHR7VQT.js +38 -0
  23. package/dist/NumCustomBinEditor.unit.spec-JWSHEIJJ.js +284 -0
  24. package/dist/NumDiscreteEditor-XT2GSGUR.js +179 -0
  25. package/dist/NumDiscreteEditor.unit.spec-DSCWGYBS.js +202 -0
  26. package/dist/NumRegularBinEditor-JMDBM5PU.js +38 -0
  27. package/dist/NumRegularBinEditor.unit.spec-BWRP6OO2.js +227 -0
  28. package/dist/NumSplineEditor-QJNRSORC.js +198 -0
  29. package/dist/NumSplineEditor.unit.spec-CXBTVND4.js +199 -0
  30. package/dist/NumericDensity-XQWCBSGT.js +38 -0
  31. package/dist/NumericDensity.unit.spec-7JS5R3AZ.js +221 -0
  32. package/dist/NumericHandler-QXXBEJC3.js +39 -0
  33. package/dist/NumericHandler.unit.spec-SRQJQVPP.js +219 -0
  34. package/dist/ProteomeInput-E4MJLAKF.js +396 -0
  35. package/dist/RunChart2-N6S7HBXV.js +758 -0
  36. package/dist/SC-RQ32A4YB.js +1127 -0
  37. package/dist/SC-RQ32A4YB.js.map +7 -0
  38. package/dist/Volcano-OHJPYZQE.js +1379 -0
  39. package/dist/WSIViewer-SAKVU52Z.js +48562 -0
  40. package/dist/WsiSamplesPlot-QV5GFFCR.js +165 -0
  41. package/dist/adSandbox-IE7TOJUE.js +38 -0
  42. package/dist/animatedBubbleChart-ZNEDQND3.js +555 -0
  43. package/dist/app-7MRKEE2J.js +49 -0
  44. package/dist/app-QIBNB4AA.js +37 -0
  45. package/dist/app.js +15 -15
  46. package/dist/bam-OBS5ULFF.js +860 -0
  47. package/dist/barchart-2RVEEMPK.js +47 -0
  48. package/dist/barchart.data-7OI5GZZ6.js +22 -0
  49. package/dist/barchart.events-AASSQL3J.js +47 -0
  50. package/dist/barchart.integration.spec-UU2ARJS5.js +2010 -0
  51. package/dist/barchart.integration.spec-UU2ARJS5.js.map +7 -0
  52. package/dist/barchart2-TUBYGLMC.js +314 -0
  53. package/dist/block-BYXWS7H7.js +6226 -0
  54. package/dist/block.init-QOAPDKCC.js +38 -0
  55. package/dist/block.mds.expressionrank-Q46AAYOA.js +359 -0
  56. package/dist/block.mds.geneboxplot-IC26RT7L.js +828 -0
  57. package/dist/block.mds.junction-RIUZIBFB.js +1545 -0
  58. package/dist/block.mds.svcnv-GUB2TTXQ.js +6801 -0
  59. package/dist/block.svg-I4NHMOEJ.js +164 -0
  60. package/dist/block.tk.aicheck-X57EGAOB.js +283 -0
  61. package/dist/block.tk.ase-JMBKBZAH.js +365 -0
  62. package/dist/block.tk.bam-6UAEWVVD.js +1906 -0
  63. package/dist/block.tk.bedgraphdot-7QSRLAJ7.js +384 -0
  64. package/dist/block.tk.bigwig.ui-SBD6S5SA.js +212 -0
  65. package/dist/block.tk.hicstraw-LIGPTMX7.js +823 -0
  66. package/dist/block.tk.junction-X6HFXKW7.js +2364 -0
  67. package/dist/block.tk.junction.textmatrixui-XJIUGHAX.js +199 -0
  68. package/dist/block.tk.ld-OZVW7LSL.js +99 -0
  69. package/dist/block.tk.menu-B2CEZAYR.js +1029 -0
  70. package/dist/block.tk.pgv-XAAQBQQE.js +944 -0
  71. package/dist/brainImaging-KFKM3XWD.js +423 -0
  72. package/dist/brainRegions-ZHKXILK7.js +221 -0
  73. package/dist/bubbleHeatmap-75N23URG.js +383 -0
  74. package/dist/bubbleHeatmap-75N23URG.js.map +7 -0
  75. package/dist/chunk-2IITC4V5.js +617 -0
  76. package/dist/chunk-2P3U6XTF.js +2327 -0
  77. package/dist/chunk-35UCHCOQ.js +54 -0
  78. package/dist/chunk-3LYZMOLO.js +58 -0
  79. package/dist/chunk-4E6HJ4ZW.js +98 -0
  80. package/dist/chunk-57LW6RUM.js +129 -0
  81. package/dist/chunk-5CR24RTX.js +381 -0
  82. package/dist/chunk-5DHRDF2Y.js +216 -0
  83. package/dist/chunk-5POMWXDZ.js +117 -0
  84. package/dist/chunk-5QTJUPFS.js +26 -0
  85. package/dist/chunk-5X5LI5YM.js +254 -0
  86. package/dist/chunk-67QZRGIJ.js +148 -0
  87. package/dist/chunk-6G4YOMWW.js +1825 -0
  88. package/dist/chunk-6RKL2FLA.js +14 -0
  89. package/dist/chunk-6YJCBK4J.js +2681 -0
  90. package/dist/chunk-7K6LTROG.js +190 -0
  91. package/dist/chunk-7K6LTROG.js.map +7 -0
  92. package/dist/chunk-7KRS7L4U.js +1443 -0
  93. package/dist/chunk-ADAKSWID.js +399 -0
  94. package/dist/chunk-ANKGIHCM.js +34 -0
  95. package/dist/chunk-AUP7W7MK.js +343 -0
  96. package/dist/chunk-AXKUVSXP.js +448 -0
  97. package/dist/chunk-AXKUVSXP.js.map +7 -0
  98. package/dist/chunk-B4QM73WG.js +222 -0
  99. package/dist/chunk-BKPV67UA.js +299 -0
  100. package/dist/chunk-BKPV67UA.js.map +7 -0
  101. package/dist/chunk-BMOB36XM.js +226 -0
  102. package/dist/chunk-BMOB36XM.js.map +7 -0
  103. package/dist/chunk-C6YT5EM2.js +217 -0
  104. package/dist/chunk-CD3VY5WW.js +1943 -0
  105. package/dist/chunk-CDUNE45Q.js +534 -0
  106. package/dist/chunk-COYULNJF.js +119 -0
  107. package/dist/chunk-DNVSEW6P.js +170 -0
  108. package/dist/chunk-EC3SKPQT.js +446 -0
  109. package/dist/chunk-F47X3VUC.js +95 -0
  110. package/dist/chunk-G2DLWJCB.js +37 -0
  111. package/dist/chunk-I4G4FXLO.js +302 -0
  112. package/dist/chunk-I73KUUYG.js +287 -0
  113. package/dist/chunk-INU357UG.js +230 -0
  114. package/dist/chunk-IVXCWCKS.js +317 -0
  115. package/dist/chunk-IVXCWCKS.js.map +7 -0
  116. package/dist/chunk-IZ3BPOTQ.js +833 -0
  117. package/dist/chunk-J5GTIQTL.js +2833 -0
  118. package/dist/chunk-J5GTIQTL.js.map +7 -0
  119. package/dist/chunk-JBI6P3UX.js +55 -0
  120. package/dist/chunk-JRDHTECQ.js +234 -0
  121. package/dist/chunk-JRZZ6GN3.js +102 -0
  122. package/dist/chunk-KM4JBR26.js +815 -0
  123. package/dist/chunk-KXRTPE65.js +158 -0
  124. package/dist/chunk-L5C3B7PS.js +1220 -0
  125. package/dist/chunk-L5C3B7PS.js.map +7 -0
  126. package/dist/chunk-LHNKTWFL.js +5067 -0
  127. package/dist/chunk-LHNKTWFL.js.map +7 -0
  128. package/dist/chunk-LSWU6EAQ.js +31 -0
  129. package/dist/chunk-MCYVUHEZ.js +1230 -0
  130. package/dist/chunk-MCYVUHEZ.js.map +7 -0
  131. package/dist/chunk-N6QEVQZV.js +194 -0
  132. package/dist/chunk-NLQQIVTC.js +276 -0
  133. package/dist/chunk-O4VKIC66.js +1275 -0
  134. package/dist/chunk-OWPBE2LB.js +263 -0
  135. package/dist/chunk-PWUERAAF.js +182 -0
  136. package/dist/chunk-QFSSC5VW.js +176 -0
  137. package/dist/chunk-RHGAE6PY.js +20888 -0
  138. package/dist/chunk-RHGAE6PY.js.map +7 -0
  139. package/dist/chunk-T46LHXJW.js +283 -0
  140. package/dist/chunk-T4CFXTIG.js +100 -0
  141. package/dist/chunk-T5UGVJCK.js +102 -0
  142. package/dist/chunk-TJCRAFKM.js +448 -0
  143. package/dist/chunk-TNF2LHJR.js +142 -0
  144. package/dist/chunk-U4IYNHVD.js +6364 -0
  145. package/dist/chunk-UAOPKEMR.js +482 -0
  146. package/dist/chunk-UFGV7554.js +736 -0
  147. package/dist/chunk-UV66X5JN.js +291 -0
  148. package/dist/chunk-VC642GDC.js +54 -0
  149. package/dist/chunk-VDIVDU3T.js +386 -0
  150. package/dist/chunk-VNF7DC36.js +1289 -0
  151. package/dist/chunk-VOGPIAQL.js +477 -0
  152. package/dist/chunk-VZOTKHPM.js +272 -0
  153. package/dist/chunk-YAU2Z6EN.js +4269 -0
  154. package/dist/chunk-YNAPHPMG.js +368 -0
  155. package/dist/chunk-YP2LHXFC.js +514 -0
  156. package/dist/chunk-YWF7GHUW.js +50 -0
  157. package/dist/chunk-YYZQMJLW.js +2786 -0
  158. package/dist/chunk-ZBEJVZMY.js +203 -0
  159. package/dist/chunk-ZZLBK6P6.js +1102 -0
  160. package/dist/condition-MP65K762.js +332 -0
  161. package/dist/controls-HKHMEWC7.js +41 -0
  162. package/dist/controls.config-LUPIT34L.js +39 -0
  163. package/dist/correlation-5UTW6EEI.js +102 -0
  164. package/dist/cuminc-LLUR2FLL.js +1149 -0
  165. package/dist/cuminc.integration.spec-CH5UZTIM.js +678 -0
  166. package/dist/customdata.inputui-6IGE5HCZ.js +289 -0
  167. package/dist/dataDownload-MCE2OJGZ.js +330 -0
  168. package/dist/dataDownload.integration.spec-VETU75VQ.js +193 -0
  169. package/dist/databrowser.ui-3BRSJHIW.js +433 -0
  170. package/dist/dictionary-UV43XQAU.js +118 -0
  171. package/dist/dnaMethylation-QDE3S4TV.js +38 -0
  172. package/dist/dnaMethylation.integration.spec-JBHJE47S.js +203 -0
  173. package/dist/dofetch-BMSZZAAQ.js +51 -0
  174. package/dist/e2pca-JMH74VN4.js +350 -0
  175. package/dist/ep-NDT7C2IT.js +1256 -0
  176. package/dist/expclust.gdc.spec-GZ3XLPHA.js +307 -0
  177. package/dist/facet-ABIWCCVT.js +521 -0
  178. package/dist/forms2-DRRRLG4I.js +539 -0
  179. package/dist/gb-EFZ62HCR.js +88 -0
  180. package/dist/geneExpClustering-CKH6M6KK.js +249 -0
  181. package/dist/geneExpression-CNKX7XVX.js +38 -0
  182. package/dist/geneExpression-P2ERCRXO.js +313 -0
  183. package/dist/geneExpression.unit.spec-7UJB43L3.js +102 -0
  184. package/dist/geneORA-TZOSNGRJ.js +278 -0
  185. package/dist/geneRanking-26GDRALC.js +551 -0
  186. package/dist/geneVariant-2DHMJUJL.js +39 -0
  187. package/dist/geneVariant-FOKRLND3.js +41 -0
  188. package/dist/geneVariant.integration.spec-XXNSWUOR.js +198 -0
  189. package/dist/genefusion.ui-ZJBKC2RH.js +309 -0
  190. package/dist/geneset-6FN5BFP3.js +208 -0
  191. package/dist/genomeBrowser.spec-QLHJYDRZ.js +281 -0
  192. package/dist/grin2-DR7XJIAS.js +968 -0
  193. package/dist/grin2-DR7XJIAS.js.map +7 -0
  194. package/dist/grin2-QOOJBELM.js +75 -0
  195. package/dist/grin2-QOOJBELM.js.map +7 -0
  196. package/dist/gsea-6YBRMGOC.js +47 -0
  197. package/dist/hierCluster-B3TULT27.js +59 -0
  198. package/dist/hierCluster-NF75B7MZ.js +63 -0
  199. package/dist/hierCluster.config-TEFI7M4K.js +40 -0
  200. package/dist/hierCluster.integration.spec-IUK6Q5SQ.js +395 -0
  201. package/dist/hierCluster.interactivity-MPD4AV4D.js +54 -0
  202. package/dist/hierCluster.renderers-4XWKHCNW.js +21 -0
  203. package/dist/imagePlot-HNJDBPO4.js +163 -0
  204. package/dist/importPlot-OBS55TCA.js +8 -0
  205. package/dist/isoformExpression-K4QIYBZR.js +40 -0
  206. package/dist/isoformExpression.unit.spec-INB6655U.js +208 -0
  207. package/dist/launch.adhoc-VDXES33R.js +42 -0
  208. package/dist/leftlabel.sample-R6IXXFZT.js +264 -0
  209. package/dist/leftlabel.sample-R6IXXFZT.js.map +7 -0
  210. package/dist/lollipop-O3XJC7BR.js +171 -0
  211. package/dist/maf-GLZ7KCDP.js +452 -0
  212. package/dist/maftimeline-Q4YPFSZP.js +593 -0
  213. package/dist/matrix-KVTQNDRZ.js +63 -0
  214. package/dist/matrix-QDHUX4QD.js +58 -0
  215. package/dist/matrix.cells-ED6RS5EC.js +28 -0
  216. package/dist/matrix.config-B65UXJNA.js +41 -0
  217. package/dist/matrix.data-KQFMXWRX.js +25 -0
  218. package/dist/matrix.groups-RE74EFLY.js +27 -0
  219. package/dist/matrix.integration.spec-2ITZRE4N.js +3072 -0
  220. package/dist/matrix.interactivity-3RF4YOAP.js +42 -0
  221. package/dist/matrix.layout-ERVRJAK2.js +44 -0
  222. package/dist/matrix.legend-ZST44PIB.js +22 -0
  223. package/dist/matrix.renderers-HNEUKUGS.js +38 -0
  224. package/dist/matrix.serieses-6ZKTFVWY.js +21 -0
  225. package/dist/matrix.sort-2UE47IOC.js +27 -0
  226. package/dist/matrix.sort.unit.spec-QGEVGY7M.js +472 -0
  227. package/dist/matrix.sorterUi-WC2YX7S7.js +18 -0
  228. package/dist/matrix.sorterUi.unit.spec-YNS7IVUF.js +342 -0
  229. package/dist/mavb-27VSL5LG.js +732 -0
  230. package/dist/mds.fimo-E5EXGT75.js +518 -0
  231. package/dist/mds.samplescatterplot-YDMRZFS7.js +1550 -0
  232. package/dist/mds.survivalplot-INJA2NDC.js +483 -0
  233. package/dist/numericDictTermCluster-DRIEJJSP.js +72 -0
  234. package/dist/oncomatrix-334LCTXB.js +295 -0
  235. package/dist/oncomatrix.spec-VHCJWO7S.js +448 -0
  236. package/dist/plot.2dvaf-F7GJEUMD.js +377 -0
  237. package/dist/plot.app-AKA7UVUC.js +41 -0
  238. package/dist/plot.barplot-HZAG43A5.js +102 -0
  239. package/dist/plot.boxplot-U52BJ4EP.js +152 -0
  240. package/dist/plot.brainImaging-3CB4WYQ4.js +51 -0
  241. package/dist/plot.disco-I2VLOSAU.js +102 -0
  242. package/dist/plot.dzi-K6KI52L7.js +33 -0
  243. package/dist/plot.ssgq-L67X4FUG.js +139 -0
  244. package/dist/plot.vaf2cov-PH4ZSY2K.js +259 -0
  245. package/dist/plot.wsi-Y6FZWHXT.js +36 -0
  246. package/dist/polar2-XT5QZ4VH.js +231 -0
  247. package/dist/profileForms-4LLSYMF6.js +446 -0
  248. package/dist/profilePlot-C52DDMZ4.js +54 -0
  249. package/dist/proteinView-CCL4MPXS.js +1556 -0
  250. package/dist/qualitative-DZ6JYYRS.js +43 -0
  251. package/dist/radar2-GEEOQF2A.js +326 -0
  252. package/dist/radarFacility2-OWXSKHBW.js +334 -0
  253. package/dist/regression-ZK75B4OR.js +56 -0
  254. package/dist/regression.inputs-UR7Q7HIK.js +48 -0
  255. package/dist/regression.inputs.term-PJZ7T3AI.js +48 -0
  256. package/dist/regression.inputs.values.table-CRGBKWMM.js +45 -0
  257. package/dist/regression.integration.spec-OCUFEVQS.js +784 -0
  258. package/dist/regression.results-7EHMKQ5F.js +40 -0
  259. package/dist/regression.spec-E4W3WOLI.js +708 -0
  260. package/dist/report-WWILHPI6.js +222 -0
  261. package/dist/sampleScatter.spec-VCKCJKII.js +202 -0
  262. package/dist/sampleView-STGP7UUP.js +48 -0
  263. package/dist/samplelst-U4BL6GYP.js +111 -0
  264. package/dist/samplematrix-FU3EZF6M.js +2198 -0
  265. package/dist/sc-JRLELKHN.js +86 -0
  266. package/dist/scatter-GT2VKNFG.js +851 -0
  267. package/dist/scatter.integration.spec-VDMKRPVM.js +1206 -0
  268. package/dist/selectGenomeWithTklst-F5372VC5.js +134 -0
  269. package/dist/singleCellCellType-D77PUUCZ.js +38 -0
  270. package/dist/singleCellCellType.unit.spec-J4EEZAWB.js +160 -0
  271. package/dist/singleCellGeneExpression-WCWCSHIY.js +38 -0
  272. package/dist/singleCellGeneExpression.unit.spec-CELJIAJ5.js +153 -0
  273. package/dist/singleCellPlot-2OPOJZ5U.js +54 -0
  274. package/dist/singlecell-K2SHYDHA.js +1572 -0
  275. package/dist/singlecell-K7Z6ES7B.js +86 -0
  276. package/dist/snp-ICWKGR7H.js +38 -0
  277. package/dist/snp.unit.spec-PV2UZCYO.js +176 -0
  278. package/dist/snplocus-W5D4A7QJ.js +208 -0
  279. package/dist/spliceevent.a53ss.diagram-DEQJ2C2H.js +151 -0
  280. package/dist/spliceevent.exonskip.diagram-MKA32GTK.js +277 -0
  281. package/dist/spliceevent.noeventdiagram-NFYPM4EZ.js +460 -0
  282. package/dist/ssGSEA-FAZK5FSC.js +38 -0
  283. package/dist/ssGSEA.unit.spec-S5D6JMOD.js +88 -0
  284. package/dist/summarizeCnvGeneexp-WDGJ5YOM.js +163 -0
  285. package/dist/summarizeGeneexpSurvival-J7UYKBN2.js +108 -0
  286. package/dist/summarizeMutationCnv-6ZXA32XN.js +164 -0
  287. package/dist/summarizeMutationDiagnosis-BK7QPF6A.js +40 -0
  288. package/dist/summarizeMutationSurvival-UODP6R6S.js +99 -0
  289. package/dist/summary-P6XVOWSB.js +49 -0
  290. package/dist/summary.integration.spec-XKMQ77CF.js +414 -0
  291. package/dist/summaryInput-U7XNGLGC.js +235 -0
  292. package/dist/sunburst-WHZ77REP.js +284 -0
  293. package/dist/survival-HQ5JC76V.js +46 -0
  294. package/dist/survival-QFWZNB4W.js +58 -0
  295. package/dist/survival.integration.spec-7STGYBGG.js +915 -0
  296. package/dist/survival.integration.spec-7STGYBGG.js.map +7 -0
  297. package/dist/svgraph-TYIBQ3RD.js +1387 -0
  298. package/dist/svmr-ZZIRWUVA.js +3842 -0
  299. package/dist/table-MPM3ET2V.js +200 -0
  300. package/dist/termCollection-5DF5MFBK.js +38 -0
  301. package/dist/termCollection-CQESAD6G.js +179 -0
  302. package/dist/termCollection.unit.spec-ASYBZQLO.js +208 -0
  303. package/dist/tk-NCEB2L7K.js +46 -0
  304. package/dist/tp.ui-AHTGSLBN.js +1459 -0
  305. package/dist/tvs.dt-TXG4FL3B.js +39 -0
  306. package/dist/tvs.dtcnv.categorical-7SA4PCKE.js +40 -0
  307. package/dist/tvs.dtcnv.continuous-E3VQWM5N.js +72 -0
  308. package/dist/tvs.dtfusion-F72VEUPO.js +40 -0
  309. package/dist/tvs.dtsnvindel-RAVTRO5M.js +40 -0
  310. package/dist/tvs.dtsv-ZZDBZYAJ.js +40 -0
  311. package/dist/tvs.samplelst-POTNAX4E.js +104 -0
  312. package/dist/tvs.termCollection-AHNHKJPJ.js +159 -0
  313. package/dist/violin-YR35XLAS.js +46 -0
  314. package/dist/violin.integration.spec-2VSILDUW.js +1425 -0
  315. package/dist/violin.interactivity-S7QY6HVJ.js +38 -0
  316. package/dist/violin.renderer-OUWK7EL4.js +40 -0
  317. package/dist/vocabulary-6IZJ6F7N.js +41 -0
  318. package/package.json +8 -2
  319. package/dist/2dmaf-BNMEUJVM.js +0 -1373
  320. package/dist/AIProjectAdmin-AEXQY5LY.js +0 -958
  321. package/dist/AppHeader-RXDJBHXZ.js +0 -835
  322. package/dist/BoxPlot-HDP3SIGU.js +0 -1217
  323. package/dist/CorrelationVolcano-V2E566XL.js +0 -619
  324. package/dist/DE-7YUZSW4E.js +0 -95
  325. package/dist/DEinput-P2HOQC4Z.js +0 -301
  326. package/dist/DifferentialAnalysis-2Z6BHS7A.js +0 -245
  327. package/dist/Disco-ZLC54X7T.js +0 -3297
  328. package/dist/Disco.UI-LXJJYQVV.js +0 -249
  329. package/dist/DmrPlot-OEJRGNI3.js +0 -642
  330. package/dist/GB-2GHDD3MW.js +0 -1130
  331. package/dist/GB-2GHDD3MW.js.map +0 -7
  332. package/dist/GeneExpInput-PWLPDLYT.js +0 -367
  333. package/dist/HicApp-CAYC4DPO.js +0 -2250
  334. package/dist/NumBinaryEditor-EUOYSGPM.js +0 -271
  335. package/dist/NumBinaryEditor.unit.spec-5B3W4B4F.js +0 -286
  336. package/dist/NumContEditor-7KK6CIB3.js +0 -109
  337. package/dist/NumContEditor.unit.spec-IMKGVYFZ.js +0 -169
  338. package/dist/NumCustomBinEditor-PDAF6I7B.js +0 -38
  339. package/dist/NumCustomBinEditor.unit.spec-IU3DPECJ.js +0 -284
  340. package/dist/NumDiscreteEditor-YTKUHG6Z.js +0 -179
  341. package/dist/NumDiscreteEditor.unit.spec-FUBS7Z7Z.js +0 -202
  342. package/dist/NumRegularBinEditor-LU3KLBLY.js +0 -38
  343. package/dist/NumRegularBinEditor.unit.spec-2BKOHI7L.js +0 -227
  344. package/dist/NumSplineEditor-56RJ2HT2.js +0 -198
  345. package/dist/NumSplineEditor.unit.spec-PW6VUUBZ.js +0 -199
  346. package/dist/NumericDensity-EB4H54EF.js +0 -38
  347. package/dist/NumericDensity.unit.spec-LSEM4OEY.js +0 -221
  348. package/dist/NumericHandler-VGPDXP35.js +0 -39
  349. package/dist/NumericHandler.unit.spec-NR3F7XHV.js +0 -219
  350. package/dist/ProteomeInput-AUXWUIWK.js +0 -396
  351. package/dist/RunChart2-SQ6TFOHD.js +0 -758
  352. package/dist/SC-OWJ6LYIW.js +0 -1124
  353. package/dist/SC-OWJ6LYIW.js.map +0 -7
  354. package/dist/Volcano-XHDH6UN7.js +0 -1379
  355. package/dist/WSIViewer-WT2QV747.js +0 -48562
  356. package/dist/WsiSamplesPlot-YUOAWG2A.js +0 -165
  357. package/dist/adSandbox-VMMAL22L.js +0 -38
  358. package/dist/animatedBubbleChart-Q6Z5W2UL.js +0 -555
  359. package/dist/app-FX3KZ67X.js +0 -37
  360. package/dist/app-X7ZYEOZN.js +0 -49
  361. package/dist/bam-ZYLH4U5R.js +0 -860
  362. package/dist/barchart-MXSPTKV4.js +0 -47
  363. package/dist/barchart.data-ZWF6EVJH.js +0 -22
  364. package/dist/barchart.events-XON2ANOC.js +0 -47
  365. package/dist/barchart.integration.spec-PJIENJGT.js +0 -1980
  366. package/dist/barchart.integration.spec-PJIENJGT.js.map +0 -7
  367. package/dist/barchart2-HIKBGSSE.js +0 -314
  368. package/dist/block-EGPYVWNP.js +0 -6226
  369. package/dist/block.init-IJBRPZNM.js +0 -38
  370. package/dist/block.mds.expressionrank-3DANCP7E.js +0 -359
  371. package/dist/block.mds.geneboxplot-CRGSCZMG.js +0 -828
  372. package/dist/block.mds.junction-4UIH2ZYN.js +0 -1545
  373. package/dist/block.mds.svcnv-NF4UIRR2.js +0 -6801
  374. package/dist/block.svg-AIZ47JCQ.js +0 -164
  375. package/dist/block.tk.aicheck-7HZFGE63.js +0 -283
  376. package/dist/block.tk.ase-U3VNPZEA.js +0 -365
  377. package/dist/block.tk.bam-4TQ7P2OX.js +0 -1906
  378. package/dist/block.tk.bedgraphdot-MYHKKO6K.js +0 -384
  379. package/dist/block.tk.bigwig.ui-E3YVGIDN.js +0 -212
  380. package/dist/block.tk.hicstraw-Y4XOMG7T.js +0 -823
  381. package/dist/block.tk.junction-T5C7LK6F.js +0 -2364
  382. package/dist/block.tk.junction.textmatrixui-Z3ACCVXH.js +0 -199
  383. package/dist/block.tk.ld-Y5KDA5AU.js +0 -99
  384. package/dist/block.tk.menu-EWRRISDY.js +0 -1029
  385. package/dist/block.tk.pgv-3JYGOZVQ.js +0 -944
  386. package/dist/brainImaging-P3AF3C5N.js +0 -423
  387. package/dist/brainRegions-YA2H2QOI.js +0 -221
  388. package/dist/chunk-2JR7RPB6.js +0 -1825
  389. package/dist/chunk-2U2CP2Y2.js +0 -317
  390. package/dist/chunk-2U2CP2Y2.js.map +0 -7
  391. package/dist/chunk-3BBK6A4X.js +0 -176
  392. package/dist/chunk-3FVIDQOX.js +0 -54
  393. package/dist/chunk-3K2O2NIH.js +0 -446
  394. package/dist/chunk-3RSJU6YM.js +0 -2681
  395. package/dist/chunk-3ZKD6C5S.js +0 -34
  396. package/dist/chunk-46AEH34Z.js +0 -95
  397. package/dist/chunk-4CQVC6XL.js +0 -182
  398. package/dist/chunk-5FXNI724.js +0 -216
  399. package/dist/chunk-6JHIX4RA.js +0 -4269
  400. package/dist/chunk-7PFRBGMN.js +0 -129
  401. package/dist/chunk-7R63MAPC.js +0 -448
  402. package/dist/chunk-A4Z3CI24.js +0 -276
  403. package/dist/chunk-AI2LUQS6.js +0 -119
  404. package/dist/chunk-AJYJW4LX.js +0 -6364
  405. package/dist/chunk-BMS32SNA.js +0 -37
  406. package/dist/chunk-C4BCMAIK.js +0 -188
  407. package/dist/chunk-C4BCMAIK.js.map +0 -7
  408. package/dist/chunk-CJPGYPI3.js +0 -291
  409. package/dist/chunk-CTQH7LQ6.js +0 -31
  410. package/dist/chunk-D5CVYITI.js +0 -203
  411. package/dist/chunk-DMSX5PSO.js +0 -477
  412. package/dist/chunk-E3JRW3T3.js +0 -1102
  413. package/dist/chunk-E574SMCX.js +0 -283
  414. package/dist/chunk-E76O5Z42.js +0 -98
  415. package/dist/chunk-EEW443GL.js +0 -14
  416. package/dist/chunk-EVNMW7BS.js +0 -833
  417. package/dist/chunk-F2WPS7VY.js +0 -1943
  418. package/dist/chunk-FDPWWODM.js +0 -2832
  419. package/dist/chunk-FDPWWODM.js.map +0 -7
  420. package/dist/chunk-FVHUROIJ.js +0 -446
  421. package/dist/chunk-FVHUROIJ.js.map +0 -7
  422. package/dist/chunk-FYFX42YD.js +0 -222
  423. package/dist/chunk-G6RZYGWY.js +0 -386
  424. package/dist/chunk-GTZV2UZV.js +0 -736
  425. package/dist/chunk-H34LAFGH.js +0 -142
  426. package/dist/chunk-I2R5O2XX.js +0 -263
  427. package/dist/chunk-IEYDMN3H.js +0 -26
  428. package/dist/chunk-JWBP4ZZB.js +0 -148
  429. package/dist/chunk-KUZPTJJO.js +0 -20874
  430. package/dist/chunk-KUZPTJJO.js.map +0 -7
  431. package/dist/chunk-KVIH5JPC.js +0 -1275
  432. package/dist/chunk-L5HCOTRF.js +0 -302
  433. package/dist/chunk-LHKDLWG5.js +0 -194
  434. package/dist/chunk-M7UKOCJA.js +0 -234
  435. package/dist/chunk-MHFH66I3.js +0 -1289
  436. package/dist/chunk-MP3DN6JK.js +0 -117
  437. package/dist/chunk-N5OVBS5L.js +0 -2786
  438. package/dist/chunk-NEKAGDTL.js +0 -58
  439. package/dist/chunk-NPCNDM6Y.js +0 -54
  440. package/dist/chunk-NYN2WQN3.js +0 -100
  441. package/dist/chunk-O6WL7USJ.js +0 -343
  442. package/dist/chunk-OH5I6I2D.js +0 -368
  443. package/dist/chunk-PDFCQ7AU.js +0 -5054
  444. package/dist/chunk-PDFCQ7AU.js.map +0 -7
  445. package/dist/chunk-PSJVMAWA.js +0 -294
  446. package/dist/chunk-PSJVMAWA.js.map +0 -7
  447. package/dist/chunk-PTQ774XH.js +0 -514
  448. package/dist/chunk-PXOH4ZN2.js +0 -399
  449. package/dist/chunk-QG4BJUM7.js +0 -102
  450. package/dist/chunk-R7AV73BV.js +0 -617
  451. package/dist/chunk-RITTG5WN.js +0 -158
  452. package/dist/chunk-SMSFTTEO.js +0 -272
  453. package/dist/chunk-TBZKVKR4.js +0 -50
  454. package/dist/chunk-TLTS33EY.js +0 -287
  455. package/dist/chunk-TMM7BWW7.js +0 -381
  456. package/dist/chunk-TTC4MNEM.js +0 -2327
  457. package/dist/chunk-UQ5CDHYF.js +0 -1218
  458. package/dist/chunk-UQ5CDHYF.js.map +0 -7
  459. package/dist/chunk-UXIZYI3X.js +0 -226
  460. package/dist/chunk-UXIZYI3X.js.map +0 -7
  461. package/dist/chunk-VIUATDO2.js +0 -170
  462. package/dist/chunk-VIUDFDN4.js +0 -102
  463. package/dist/chunk-W5OEFZCR.js +0 -254
  464. package/dist/chunk-WXSRK3XR.js +0 -534
  465. package/dist/chunk-XHGMDBTS.js +0 -230
  466. package/dist/chunk-XQ2OBL6R.js +0 -1205
  467. package/dist/chunk-XQ2OBL6R.js.map +0 -7
  468. package/dist/chunk-XVGS3QXS.js +0 -55
  469. package/dist/chunk-XYNYQMLH.js +0 -482
  470. package/dist/chunk-Y4JJMUWG.js +0 -217
  471. package/dist/chunk-Z457XQSX.js +0 -815
  472. package/dist/chunk-ZF6HNVYD.js +0 -1444
  473. package/dist/condition-QXTOTGZX.js +0 -332
  474. package/dist/controls-7TDB75LK.js +0 -41
  475. package/dist/controls.config-IBF5ILFP.js +0 -39
  476. package/dist/correlation-M2T5R7CM.js +0 -102
  477. package/dist/cuminc-CAHPKW7W.js +0 -1149
  478. package/dist/cuminc.integration.spec-NNSQGBRI.js +0 -678
  479. package/dist/customdata.inputui-RRTQK7OK.js +0 -289
  480. package/dist/dataDownload-SOUCBKXM.js +0 -330
  481. package/dist/dataDownload.integration.spec-C6TLWSSO.js +0 -193
  482. package/dist/databrowser.ui-KLFEU5QA.js +0 -433
  483. package/dist/dictionary-RUT5VXDD.js +0 -118
  484. package/dist/dnaMethylation-WOKGG33W.js +0 -38
  485. package/dist/dnaMethylation.integration.spec-YUPP42UK.js +0 -203
  486. package/dist/dofetch-V7PLLWSO.js +0 -51
  487. package/dist/e2pca-VT7EM4E3.js +0 -350
  488. package/dist/ep-X6B43UXE.js +0 -1256
  489. package/dist/expclust.gdc.spec-DTBFOXBC.js +0 -307
  490. package/dist/facet-T5ZX7ZGV.js +0 -521
  491. package/dist/forms2-S5OGBFKL.js +0 -539
  492. package/dist/gb-TWXREZIP.js +0 -88
  493. package/dist/geneExpClustering-2G6YDCIN.js +0 -249
  494. package/dist/geneExpression-2A4ZPT7K.js +0 -38
  495. package/dist/geneExpression-ZHQH6SNA.js +0 -313
  496. package/dist/geneExpression.unit.spec-2M223S4P.js +0 -102
  497. package/dist/geneORA-YLIRUMCZ.js +0 -278
  498. package/dist/geneRanking-JDJXNGEC.js +0 -551
  499. package/dist/geneVariant-5ZIOT5BT.js +0 -39
  500. package/dist/geneVariant-GIXIMJ2I.js +0 -41
  501. package/dist/geneVariant.integration.spec-QCROW73S.js +0 -198
  502. package/dist/genefusion.ui-56UQLUKJ.js +0 -309
  503. package/dist/geneset-ACRMGBJO.js +0 -208
  504. package/dist/genomeBrowser.spec-EDILOQON.js +0 -281
  505. package/dist/grin2-5P7CYUT7.js +0 -1560
  506. package/dist/grin2-5P7CYUT7.js.map +0 -7
  507. package/dist/grin2-GNB35CMF.js +0 -871
  508. package/dist/grin2-GNB35CMF.js.map +0 -7
  509. package/dist/gsea-2PQ5HNNT.js +0 -47
  510. package/dist/hierCluster-H5HB7FPW.js +0 -63
  511. package/dist/hierCluster-L3LCP2II.js +0 -59
  512. package/dist/hierCluster.config-6UIJWCND.js +0 -40
  513. package/dist/hierCluster.integration.spec-EVAPT2VF.js +0 -395
  514. package/dist/hierCluster.interactivity-7MW6ZT6O.js +0 -54
  515. package/dist/hierCluster.renderers-F34EVY5J.js +0 -21
  516. package/dist/imagePlot-RSFZ2OKD.js +0 -163
  517. package/dist/importPlot-DQFWY5A7.js +0 -8
  518. package/dist/isoformExpression-2KANPCBH.js +0 -40
  519. package/dist/isoformExpression.unit.spec-6FSMHT4K.js +0 -208
  520. package/dist/launch.adhoc-ZYTIRVIC.js +0 -42
  521. package/dist/leftlabel.sample-66U6MHPN.js +0 -260
  522. package/dist/leftlabel.sample-66U6MHPN.js.map +0 -7
  523. package/dist/lollipop-PJDUFWEY.js +0 -171
  524. package/dist/maf-DLJHCKHJ.js +0 -452
  525. package/dist/maftimeline-NK5QYJMJ.js +0 -593
  526. package/dist/matrix-7BFYR6QL.js +0 -63
  527. package/dist/matrix-USAB2CHO.js +0 -58
  528. package/dist/matrix.cells-OTAXAJ4N.js +0 -28
  529. package/dist/matrix.config-AL4WSFZ7.js +0 -41
  530. package/dist/matrix.data-BDHCSN2G.js +0 -25
  531. package/dist/matrix.groups-MV2D2636.js +0 -27
  532. package/dist/matrix.integration.spec-DESORC2Y.js +0 -3072
  533. package/dist/matrix.interactivity-H7EJW3P2.js +0 -42
  534. package/dist/matrix.layout-7CAS2IBO.js +0 -44
  535. package/dist/matrix.legend-JDVG2JDF.js +0 -22
  536. package/dist/matrix.renderers-PDR5FIBC.js +0 -38
  537. package/dist/matrix.serieses-QVDS5HKK.js +0 -21
  538. package/dist/matrix.sort-HCK4CSTJ.js +0 -27
  539. package/dist/matrix.sort.unit.spec-2GC4E26N.js +0 -472
  540. package/dist/matrix.sorterUi-XGBQOPG4.js +0 -18
  541. package/dist/matrix.sorterUi.unit.spec-BJQKDU2F.js +0 -342
  542. package/dist/mavb-6E6Z4LPK.js +0 -732
  543. package/dist/mds.fimo-5P2TK5U4.js +0 -518
  544. package/dist/mds.samplescatterplot-KLKOD4AS.js +0 -1550
  545. package/dist/mds.survivalplot-SWQCOFIU.js +0 -483
  546. package/dist/numericDictTermCluster-WIVO33AV.js +0 -72
  547. package/dist/oncomatrix-SDUUQZCK.js +0 -295
  548. package/dist/oncomatrix.spec-YGQYIUDT.js +0 -448
  549. package/dist/plot.2dvaf-K53KTP5W.js +0 -377
  550. package/dist/plot.app-FNJVWLPQ.js +0 -41
  551. package/dist/plot.barplot-VTC3N6BR.js +0 -102
  552. package/dist/plot.boxplot-RJFGQSLA.js +0 -152
  553. package/dist/plot.brainImaging-6KVNPPMT.js +0 -51
  554. package/dist/plot.disco-ZFH5RK6B.js +0 -102
  555. package/dist/plot.dzi-IA2SOFUD.js +0 -33
  556. package/dist/plot.ssgq-QARGQVKB.js +0 -139
  557. package/dist/plot.vaf2cov-2JUXYCPG.js +0 -259
  558. package/dist/plot.wsi-C2DULA7U.js +0 -36
  559. package/dist/polar2-3HS3QBU6.js +0 -231
  560. package/dist/profileForms-Y6ZBMZWQ.js +0 -446
  561. package/dist/profilePlot-SVI3QKMD.js +0 -54
  562. package/dist/proteinView-YPFJSBL7.js +0 -1556
  563. package/dist/qualitative-AQFKAZID.js +0 -43
  564. package/dist/radar2-TTQZLARY.js +0 -326
  565. package/dist/radarFacility2-YGS56QUA.js +0 -334
  566. package/dist/regression-DLPBCDZT.js +0 -56
  567. package/dist/regression.inputs-42LY4MEZ.js +0 -48
  568. package/dist/regression.inputs.term-TTUFFPG6.js +0 -48
  569. package/dist/regression.inputs.values.table-CJAPTSMS.js +0 -45
  570. package/dist/regression.integration.spec-UDA26OGS.js +0 -784
  571. package/dist/regression.results-IA3C7SHR.js +0 -40
  572. package/dist/regression.spec-HEXCL3QV.js +0 -708
  573. package/dist/report-4CFOWNPJ.js +0 -222
  574. package/dist/sampleScatter.spec-N6V4BQ5Q.js +0 -202
  575. package/dist/sampleView-CZF7U23I.js +0 -48
  576. package/dist/samplelst-XUGDS5TU.js +0 -111
  577. package/dist/samplematrix-R5PZLZDE.js +0 -2198
  578. package/dist/sc-WTZZA5J5.js +0 -86
  579. package/dist/scatter-EY7HQVCO.js +0 -851
  580. package/dist/scatter.integration.spec-CRMLFO4J.js +0 -1206
  581. package/dist/selectGenomeWithTklst-2S2MXVCI.js +0 -134
  582. package/dist/singleCellCellType-LJWFG7MY.js +0 -38
  583. package/dist/singleCellCellType.unit.spec-RGN2XVUR.js +0 -160
  584. package/dist/singleCellGeneExpression-IW2QXTTU.js +0 -38
  585. package/dist/singleCellGeneExpression.unit.spec-4PO3Q7TM.js +0 -153
  586. package/dist/singleCellPlot-6EZ6JXCM.js +0 -54
  587. package/dist/singlecell-3LFPQ6KO.js +0 -86
  588. package/dist/singlecell-NTTAVVMR.js +0 -1572
  589. package/dist/snp-XB4IBG4Z.js +0 -38
  590. package/dist/snp.unit.spec-HAJPM53L.js +0 -176
  591. package/dist/snplocus-HE6TITSX.js +0 -208
  592. package/dist/spliceevent.a53ss.diagram-TCZMBMD7.js +0 -151
  593. package/dist/spliceevent.exonskip.diagram-VESOF6UC.js +0 -277
  594. package/dist/spliceevent.noeventdiagram-4K7FMO4F.js +0 -460
  595. package/dist/ssGSEA-2XYMX36P.js +0 -38
  596. package/dist/ssGSEA.unit.spec-J36KM2HO.js +0 -88
  597. package/dist/summarizeCnvGeneexp-LYVDZXXD.js +0 -163
  598. package/dist/summarizeGeneexpSurvival-Y52TGAHF.js +0 -108
  599. package/dist/summarizeMutationCnv-6EEJT3PV.js +0 -164
  600. package/dist/summarizeMutationDiagnosis-HZKXHOOQ.js +0 -40
  601. package/dist/summarizeMutationSurvival-TU7TQYFQ.js +0 -99
  602. package/dist/summary-4QQZUAMU.js +0 -49
  603. package/dist/summary.integration.spec-SLIIM4HN.js +0 -414
  604. package/dist/summaryInput-6HROPKCE.js +0 -235
  605. package/dist/sunburst-MBJJPERL.js +0 -284
  606. package/dist/survival-CXLMQSV2.js +0 -58
  607. package/dist/survival-QSL2KDKD.js +0 -46
  608. package/dist/survival.integration.spec-EUAAALVW.js +0 -821
  609. package/dist/survival.integration.spec-EUAAALVW.js.map +0 -7
  610. package/dist/svgraph-JM5MHQDX.js +0 -1387
  611. package/dist/svmr-MCMST2FL.js +0 -3842
  612. package/dist/table-MVX3IMAL.js +0 -200
  613. package/dist/termCollection-FZ2SCVA7.js +0 -38
  614. package/dist/termCollection-IGC7REFK.js +0 -179
  615. package/dist/termCollection.unit.spec-VY2EZZIP.js +0 -208
  616. package/dist/tk-5F3TWZ2G.js +0 -46
  617. package/dist/tp.ui-IURWTMAS.js +0 -1459
  618. package/dist/tvs.dt-BPZCFPYK.js +0 -39
  619. package/dist/tvs.dtcnv.categorical-UFS62DTR.js +0 -40
  620. package/dist/tvs.dtcnv.continuous-R6YXNNLA.js +0 -72
  621. package/dist/tvs.dtfusion-FGXXS4XX.js +0 -40
  622. package/dist/tvs.dtsnvindel-DR43K7X3.js +0 -40
  623. package/dist/tvs.dtsv-NO34GIOL.js +0 -40
  624. package/dist/tvs.samplelst-2QP7IV2Y.js +0 -104
  625. package/dist/tvs.termCollection-UEJDG22G.js +0 -159
  626. package/dist/violin-NBZTGGYF.js +0 -46
  627. package/dist/violin.integration.spec-5CLYJSAR.js +0 -1425
  628. package/dist/violin.interactivity-KXVKTT22.js +0 -38
  629. package/dist/violin.renderer-37OF6K7Q.js +0 -40
  630. package/dist/vocabulary-GR6J3VKW.js +0 -41
  631. /package/dist/{2dmaf-BNMEUJVM.js.map → 2dmaf-HS37GJYM.js.map} +0 -0
  632. /package/dist/{AIProjectAdmin-AEXQY5LY.js.map → AIProjectAdmin-V5NVBBOA.js.map} +0 -0
  633. /package/dist/{AppHeader-RXDJBHXZ.js.map → AppHeader-VIQ2VZPI.js.map} +0 -0
  634. /package/dist/{BoxPlot-HDP3SIGU.js.map → BoxPlot-J7DPHT2N.js.map} +0 -0
  635. /package/dist/{CorrelationVolcano-V2E566XL.js.map → CorrelationVolcano-ZHP7IPFD.js.map} +0 -0
  636. /package/dist/{DE-7YUZSW4E.js.map → DE-VW4MQHYP.js.map} +0 -0
  637. /package/dist/{DEinput-P2HOQC4Z.js.map → DEinput-2EKXGUP3.js.map} +0 -0
  638. /package/dist/{DifferentialAnalysis-2Z6BHS7A.js.map → DifferentialAnalysis-H7LZWEIL.js.map} +0 -0
  639. /package/dist/{Disco-ZLC54X7T.js.map → Disco-5AA67AO5.js.map} +0 -0
  640. /package/dist/{Disco.UI-LXJJYQVV.js.map → Disco.UI-K4RBVRJP.js.map} +0 -0
  641. /package/dist/{DmrPlot-OEJRGNI3.js.map → DmrPlot-RVJUKBOB.js.map} +0 -0
  642. /package/dist/{GeneExpInput-PWLPDLYT.js.map → GeneExpInput-HHOIK6X7.js.map} +0 -0
  643. /package/dist/{HicApp-CAYC4DPO.js.map → HicApp-YTQNK5DC.js.map} +0 -0
  644. /package/dist/{NumBinaryEditor-EUOYSGPM.js.map → NumBinaryEditor-ICZCNBRL.js.map} +0 -0
  645. /package/dist/{NumBinaryEditor.unit.spec-5B3W4B4F.js.map → NumBinaryEditor.unit.spec-WDJPDAVT.js.map} +0 -0
  646. /package/dist/{NumContEditor-7KK6CIB3.js.map → NumContEditor-5KEM54CE.js.map} +0 -0
  647. /package/dist/{NumContEditor.unit.spec-IMKGVYFZ.js.map → NumContEditor.unit.spec-WG5QKOD3.js.map} +0 -0
  648. /package/dist/{NumCustomBinEditor-PDAF6I7B.js.map → NumCustomBinEditor-MGHR7VQT.js.map} +0 -0
  649. /package/dist/{NumCustomBinEditor.unit.spec-IU3DPECJ.js.map → NumCustomBinEditor.unit.spec-JWSHEIJJ.js.map} +0 -0
  650. /package/dist/{NumDiscreteEditor-YTKUHG6Z.js.map → NumDiscreteEditor-XT2GSGUR.js.map} +0 -0
  651. /package/dist/{NumDiscreteEditor.unit.spec-FUBS7Z7Z.js.map → NumDiscreteEditor.unit.spec-DSCWGYBS.js.map} +0 -0
  652. /package/dist/{NumRegularBinEditor-LU3KLBLY.js.map → NumRegularBinEditor-JMDBM5PU.js.map} +0 -0
  653. /package/dist/{NumRegularBinEditor.unit.spec-2BKOHI7L.js.map → NumRegularBinEditor.unit.spec-BWRP6OO2.js.map} +0 -0
  654. /package/dist/{NumSplineEditor-56RJ2HT2.js.map → NumSplineEditor-QJNRSORC.js.map} +0 -0
  655. /package/dist/{NumSplineEditor.unit.spec-PW6VUUBZ.js.map → NumSplineEditor.unit.spec-CXBTVND4.js.map} +0 -0
  656. /package/dist/{NumericDensity-EB4H54EF.js.map → NumericDensity-XQWCBSGT.js.map} +0 -0
  657. /package/dist/{NumericDensity.unit.spec-LSEM4OEY.js.map → NumericDensity.unit.spec-7JS5R3AZ.js.map} +0 -0
  658. /package/dist/{NumericHandler-VGPDXP35.js.map → NumericHandler-QXXBEJC3.js.map} +0 -0
  659. /package/dist/{NumericHandler.unit.spec-NR3F7XHV.js.map → NumericHandler.unit.spec-SRQJQVPP.js.map} +0 -0
  660. /package/dist/{ProteomeInput-AUXWUIWK.js.map → ProteomeInput-E4MJLAKF.js.map} +0 -0
  661. /package/dist/{RunChart2-SQ6TFOHD.js.map → RunChart2-N6S7HBXV.js.map} +0 -0
  662. /package/dist/{Volcano-XHDH6UN7.js.map → Volcano-OHJPYZQE.js.map} +0 -0
  663. /package/dist/{WSIViewer-WT2QV747.js.map → WSIViewer-SAKVU52Z.js.map} +0 -0
  664. /package/dist/{WsiSamplesPlot-YUOAWG2A.js.map → WsiSamplesPlot-QV5GFFCR.js.map} +0 -0
  665. /package/dist/{adSandbox-VMMAL22L.js.map → adSandbox-IE7TOJUE.js.map} +0 -0
  666. /package/dist/{animatedBubbleChart-Q6Z5W2UL.js.map → animatedBubbleChart-ZNEDQND3.js.map} +0 -0
  667. /package/dist/{app-FX3KZ67X.js.map → app-7MRKEE2J.js.map} +0 -0
  668. /package/dist/{app-X7ZYEOZN.js.map → app-QIBNB4AA.js.map} +0 -0
  669. /package/dist/{bam-ZYLH4U5R.js.map → bam-OBS5ULFF.js.map} +0 -0
  670. /package/dist/{barchart-MXSPTKV4.js.map → barchart-2RVEEMPK.js.map} +0 -0
  671. /package/dist/{barchart.data-ZWF6EVJH.js.map → barchart.data-7OI5GZZ6.js.map} +0 -0
  672. /package/dist/{barchart.events-XON2ANOC.js.map → barchart.events-AASSQL3J.js.map} +0 -0
  673. /package/dist/{barchart2-HIKBGSSE.js.map → barchart2-TUBYGLMC.js.map} +0 -0
  674. /package/dist/{block-EGPYVWNP.js.map → block-BYXWS7H7.js.map} +0 -0
  675. /package/dist/{block.init-IJBRPZNM.js.map → block.init-QOAPDKCC.js.map} +0 -0
  676. /package/dist/{block.mds.expressionrank-3DANCP7E.js.map → block.mds.expressionrank-Q46AAYOA.js.map} +0 -0
  677. /package/dist/{block.mds.geneboxplot-CRGSCZMG.js.map → block.mds.geneboxplot-IC26RT7L.js.map} +0 -0
  678. /package/dist/{block.mds.junction-4UIH2ZYN.js.map → block.mds.junction-RIUZIBFB.js.map} +0 -0
  679. /package/dist/{block.mds.svcnv-NF4UIRR2.js.map → block.mds.svcnv-GUB2TTXQ.js.map} +0 -0
  680. /package/dist/{block.svg-AIZ47JCQ.js.map → block.svg-I4NHMOEJ.js.map} +0 -0
  681. /package/dist/{block.tk.aicheck-7HZFGE63.js.map → block.tk.aicheck-X57EGAOB.js.map} +0 -0
  682. /package/dist/{block.tk.ase-U3VNPZEA.js.map → block.tk.ase-JMBKBZAH.js.map} +0 -0
  683. /package/dist/{block.tk.bam-4TQ7P2OX.js.map → block.tk.bam-6UAEWVVD.js.map} +0 -0
  684. /package/dist/{block.tk.bedgraphdot-MYHKKO6K.js.map → block.tk.bedgraphdot-7QSRLAJ7.js.map} +0 -0
  685. /package/dist/{block.tk.bigwig.ui-E3YVGIDN.js.map → block.tk.bigwig.ui-SBD6S5SA.js.map} +0 -0
  686. /package/dist/{block.tk.hicstraw-Y4XOMG7T.js.map → block.tk.hicstraw-LIGPTMX7.js.map} +0 -0
  687. /package/dist/{block.tk.junction-T5C7LK6F.js.map → block.tk.junction-X6HFXKW7.js.map} +0 -0
  688. /package/dist/{block.tk.junction.textmatrixui-Z3ACCVXH.js.map → block.tk.junction.textmatrixui-XJIUGHAX.js.map} +0 -0
  689. /package/dist/{block.tk.ld-Y5KDA5AU.js.map → block.tk.ld-OZVW7LSL.js.map} +0 -0
  690. /package/dist/{block.tk.menu-EWRRISDY.js.map → block.tk.menu-B2CEZAYR.js.map} +0 -0
  691. /package/dist/{block.tk.pgv-3JYGOZVQ.js.map → block.tk.pgv-XAAQBQQE.js.map} +0 -0
  692. /package/dist/{brainImaging-P3AF3C5N.js.map → brainImaging-KFKM3XWD.js.map} +0 -0
  693. /package/dist/{brainRegions-YA2H2QOI.js.map → brainRegions-ZHKXILK7.js.map} +0 -0
  694. /package/dist/{chunk-R7AV73BV.js.map → chunk-2IITC4V5.js.map} +0 -0
  695. /package/dist/{chunk-TTC4MNEM.js.map → chunk-2P3U6XTF.js.map} +0 -0
  696. /package/dist/{chunk-NPCNDM6Y.js.map → chunk-35UCHCOQ.js.map} +0 -0
  697. /package/dist/{chunk-NEKAGDTL.js.map → chunk-3LYZMOLO.js.map} +0 -0
  698. /package/dist/{chunk-E76O5Z42.js.map → chunk-4E6HJ4ZW.js.map} +0 -0
  699. /package/dist/{chunk-7PFRBGMN.js.map → chunk-57LW6RUM.js.map} +0 -0
  700. /package/dist/{chunk-TMM7BWW7.js.map → chunk-5CR24RTX.js.map} +0 -0
  701. /package/dist/{chunk-5FXNI724.js.map → chunk-5DHRDF2Y.js.map} +0 -0
  702. /package/dist/{chunk-MP3DN6JK.js.map → chunk-5POMWXDZ.js.map} +0 -0
  703. /package/dist/{chunk-IEYDMN3H.js.map → chunk-5QTJUPFS.js.map} +0 -0
  704. /package/dist/{chunk-W5OEFZCR.js.map → chunk-5X5LI5YM.js.map} +0 -0
  705. /package/dist/{chunk-JWBP4ZZB.js.map → chunk-67QZRGIJ.js.map} +0 -0
  706. /package/dist/{chunk-2JR7RPB6.js.map → chunk-6G4YOMWW.js.map} +0 -0
  707. /package/dist/{chunk-EEW443GL.js.map → chunk-6RKL2FLA.js.map} +0 -0
  708. /package/dist/{chunk-3RSJU6YM.js.map → chunk-6YJCBK4J.js.map} +0 -0
  709. /package/dist/{chunk-ZF6HNVYD.js.map → chunk-7KRS7L4U.js.map} +0 -0
  710. /package/dist/{chunk-PXOH4ZN2.js.map → chunk-ADAKSWID.js.map} +0 -0
  711. /package/dist/{chunk-3ZKD6C5S.js.map → chunk-ANKGIHCM.js.map} +0 -0
  712. /package/dist/{chunk-O6WL7USJ.js.map → chunk-AUP7W7MK.js.map} +0 -0
  713. /package/dist/{chunk-FYFX42YD.js.map → chunk-B4QM73WG.js.map} +0 -0
  714. /package/dist/{chunk-Y4JJMUWG.js.map → chunk-C6YT5EM2.js.map} +0 -0
  715. /package/dist/{chunk-F2WPS7VY.js.map → chunk-CD3VY5WW.js.map} +0 -0
  716. /package/dist/{chunk-WXSRK3XR.js.map → chunk-CDUNE45Q.js.map} +0 -0
  717. /package/dist/{chunk-AI2LUQS6.js.map → chunk-COYULNJF.js.map} +0 -0
  718. /package/dist/{chunk-VIUATDO2.js.map → chunk-DNVSEW6P.js.map} +0 -0
  719. /package/dist/{chunk-3K2O2NIH.js.map → chunk-EC3SKPQT.js.map} +0 -0
  720. /package/dist/{chunk-46AEH34Z.js.map → chunk-F47X3VUC.js.map} +0 -0
  721. /package/dist/{chunk-BMS32SNA.js.map → chunk-G2DLWJCB.js.map} +0 -0
  722. /package/dist/{chunk-L5HCOTRF.js.map → chunk-I4G4FXLO.js.map} +0 -0
  723. /package/dist/{chunk-TLTS33EY.js.map → chunk-I73KUUYG.js.map} +0 -0
  724. /package/dist/{chunk-XHGMDBTS.js.map → chunk-INU357UG.js.map} +0 -0
  725. /package/dist/{chunk-EVNMW7BS.js.map → chunk-IZ3BPOTQ.js.map} +0 -0
  726. /package/dist/{chunk-XVGS3QXS.js.map → chunk-JBI6P3UX.js.map} +0 -0
  727. /package/dist/{chunk-M7UKOCJA.js.map → chunk-JRDHTECQ.js.map} +0 -0
  728. /package/dist/{chunk-QG4BJUM7.js.map → chunk-JRZZ6GN3.js.map} +0 -0
  729. /package/dist/{chunk-Z457XQSX.js.map → chunk-KM4JBR26.js.map} +0 -0
  730. /package/dist/{chunk-RITTG5WN.js.map → chunk-KXRTPE65.js.map} +0 -0
  731. /package/dist/{chunk-CTQH7LQ6.js.map → chunk-LSWU6EAQ.js.map} +0 -0
  732. /package/dist/{chunk-LHKDLWG5.js.map → chunk-N6QEVQZV.js.map} +0 -0
  733. /package/dist/{chunk-A4Z3CI24.js.map → chunk-NLQQIVTC.js.map} +0 -0
  734. /package/dist/{chunk-KVIH5JPC.js.map → chunk-O4VKIC66.js.map} +0 -0
  735. /package/dist/{chunk-I2R5O2XX.js.map → chunk-OWPBE2LB.js.map} +0 -0
  736. /package/dist/{chunk-4CQVC6XL.js.map → chunk-PWUERAAF.js.map} +0 -0
  737. /package/dist/{chunk-3BBK6A4X.js.map → chunk-QFSSC5VW.js.map} +0 -0
  738. /package/dist/{chunk-E574SMCX.js.map → chunk-T46LHXJW.js.map} +0 -0
  739. /package/dist/{chunk-NYN2WQN3.js.map → chunk-T4CFXTIG.js.map} +0 -0
  740. /package/dist/{chunk-VIUDFDN4.js.map → chunk-T5UGVJCK.js.map} +0 -0
  741. /package/dist/{chunk-7R63MAPC.js.map → chunk-TJCRAFKM.js.map} +0 -0
  742. /package/dist/{chunk-H34LAFGH.js.map → chunk-TNF2LHJR.js.map} +0 -0
  743. /package/dist/{chunk-AJYJW4LX.js.map → chunk-U4IYNHVD.js.map} +0 -0
  744. /package/dist/{chunk-XYNYQMLH.js.map → chunk-UAOPKEMR.js.map} +0 -0
  745. /package/dist/{chunk-GTZV2UZV.js.map → chunk-UFGV7554.js.map} +0 -0
  746. /package/dist/{chunk-CJPGYPI3.js.map → chunk-UV66X5JN.js.map} +0 -0
  747. /package/dist/{chunk-3FVIDQOX.js.map → chunk-VC642GDC.js.map} +0 -0
  748. /package/dist/{chunk-G6RZYGWY.js.map → chunk-VDIVDU3T.js.map} +0 -0
  749. /package/dist/{chunk-MHFH66I3.js.map → chunk-VNF7DC36.js.map} +0 -0
  750. /package/dist/{chunk-DMSX5PSO.js.map → chunk-VOGPIAQL.js.map} +0 -0
  751. /package/dist/{chunk-SMSFTTEO.js.map → chunk-VZOTKHPM.js.map} +0 -0
  752. /package/dist/{chunk-6JHIX4RA.js.map → chunk-YAU2Z6EN.js.map} +0 -0
  753. /package/dist/{chunk-OH5I6I2D.js.map → chunk-YNAPHPMG.js.map} +0 -0
  754. /package/dist/{chunk-PTQ774XH.js.map → chunk-YP2LHXFC.js.map} +0 -0
  755. /package/dist/{chunk-TBZKVKR4.js.map → chunk-YWF7GHUW.js.map} +0 -0
  756. /package/dist/{chunk-N5OVBS5L.js.map → chunk-YYZQMJLW.js.map} +0 -0
  757. /package/dist/{chunk-D5CVYITI.js.map → chunk-ZBEJVZMY.js.map} +0 -0
  758. /package/dist/{chunk-E3JRW3T3.js.map → chunk-ZZLBK6P6.js.map} +0 -0
  759. /package/dist/{condition-QXTOTGZX.js.map → condition-MP65K762.js.map} +0 -0
  760. /package/dist/{controls-7TDB75LK.js.map → controls-HKHMEWC7.js.map} +0 -0
  761. /package/dist/{controls.config-IBF5ILFP.js.map → controls.config-LUPIT34L.js.map} +0 -0
  762. /package/dist/{correlation-M2T5R7CM.js.map → correlation-5UTW6EEI.js.map} +0 -0
  763. /package/dist/{cuminc-CAHPKW7W.js.map → cuminc-LLUR2FLL.js.map} +0 -0
  764. /package/dist/{cuminc.integration.spec-NNSQGBRI.js.map → cuminc.integration.spec-CH5UZTIM.js.map} +0 -0
  765. /package/dist/{customdata.inputui-RRTQK7OK.js.map → customdata.inputui-6IGE5HCZ.js.map} +0 -0
  766. /package/dist/{dataDownload-SOUCBKXM.js.map → dataDownload-MCE2OJGZ.js.map} +0 -0
  767. /package/dist/{dataDownload.integration.spec-C6TLWSSO.js.map → dataDownload.integration.spec-VETU75VQ.js.map} +0 -0
  768. /package/dist/{databrowser.ui-KLFEU5QA.js.map → databrowser.ui-3BRSJHIW.js.map} +0 -0
  769. /package/dist/{dictionary-RUT5VXDD.js.map → dictionary-UV43XQAU.js.map} +0 -0
  770. /package/dist/{dnaMethylation-WOKGG33W.js.map → dnaMethylation-QDE3S4TV.js.map} +0 -0
  771. /package/dist/{dnaMethylation.integration.spec-YUPP42UK.js.map → dnaMethylation.integration.spec-JBHJE47S.js.map} +0 -0
  772. /package/dist/{dofetch-V7PLLWSO.js.map → dofetch-BMSZZAAQ.js.map} +0 -0
  773. /package/dist/{e2pca-VT7EM4E3.js.map → e2pca-JMH74VN4.js.map} +0 -0
  774. /package/dist/{ep-X6B43UXE.js.map → ep-NDT7C2IT.js.map} +0 -0
  775. /package/dist/{expclust.gdc.spec-DTBFOXBC.js.map → expclust.gdc.spec-GZ3XLPHA.js.map} +0 -0
  776. /package/dist/{facet-T5ZX7ZGV.js.map → facet-ABIWCCVT.js.map} +0 -0
  777. /package/dist/{forms2-S5OGBFKL.js.map → forms2-DRRRLG4I.js.map} +0 -0
  778. /package/dist/{gb-TWXREZIP.js.map → gb-EFZ62HCR.js.map} +0 -0
  779. /package/dist/{geneExpClustering-2G6YDCIN.js.map → geneExpClustering-CKH6M6KK.js.map} +0 -0
  780. /package/dist/{geneExpression-2A4ZPT7K.js.map → geneExpression-CNKX7XVX.js.map} +0 -0
  781. /package/dist/{geneExpression-ZHQH6SNA.js.map → geneExpression-P2ERCRXO.js.map} +0 -0
  782. /package/dist/{geneExpression.unit.spec-2M223S4P.js.map → geneExpression.unit.spec-7UJB43L3.js.map} +0 -0
  783. /package/dist/{geneORA-YLIRUMCZ.js.map → geneORA-TZOSNGRJ.js.map} +0 -0
  784. /package/dist/{geneRanking-JDJXNGEC.js.map → geneRanking-26GDRALC.js.map} +0 -0
  785. /package/dist/{geneVariant-5ZIOT5BT.js.map → geneVariant-2DHMJUJL.js.map} +0 -0
  786. /package/dist/{geneVariant-GIXIMJ2I.js.map → geneVariant-FOKRLND3.js.map} +0 -0
  787. /package/dist/{geneVariant.integration.spec-QCROW73S.js.map → geneVariant.integration.spec-XXNSWUOR.js.map} +0 -0
  788. /package/dist/{genefusion.ui-56UQLUKJ.js.map → genefusion.ui-ZJBKC2RH.js.map} +0 -0
  789. /package/dist/{geneset-ACRMGBJO.js.map → geneset-6FN5BFP3.js.map} +0 -0
  790. /package/dist/{genomeBrowser.spec-EDILOQON.js.map → genomeBrowser.spec-QLHJYDRZ.js.map} +0 -0
  791. /package/dist/{gsea-2PQ5HNNT.js.map → gsea-6YBRMGOC.js.map} +0 -0
  792. /package/dist/{hierCluster-H5HB7FPW.js.map → hierCluster-B3TULT27.js.map} +0 -0
  793. /package/dist/{hierCluster-L3LCP2II.js.map → hierCluster-NF75B7MZ.js.map} +0 -0
  794. /package/dist/{hierCluster.config-6UIJWCND.js.map → hierCluster.config-TEFI7M4K.js.map} +0 -0
  795. /package/dist/{hierCluster.integration.spec-EVAPT2VF.js.map → hierCluster.integration.spec-IUK6Q5SQ.js.map} +0 -0
  796. /package/dist/{hierCluster.interactivity-7MW6ZT6O.js.map → hierCluster.interactivity-MPD4AV4D.js.map} +0 -0
  797. /package/dist/{hierCluster.renderers-F34EVY5J.js.map → hierCluster.renderers-4XWKHCNW.js.map} +0 -0
  798. /package/dist/{imagePlot-RSFZ2OKD.js.map → imagePlot-HNJDBPO4.js.map} +0 -0
  799. /package/dist/{importPlot-DQFWY5A7.js.map → importPlot-OBS55TCA.js.map} +0 -0
  800. /package/dist/{isoformExpression-2KANPCBH.js.map → isoformExpression-K4QIYBZR.js.map} +0 -0
  801. /package/dist/{isoformExpression.unit.spec-6FSMHT4K.js.map → isoformExpression.unit.spec-INB6655U.js.map} +0 -0
  802. /package/dist/{launch.adhoc-ZYTIRVIC.js.map → launch.adhoc-VDXES33R.js.map} +0 -0
  803. /package/dist/{lollipop-PJDUFWEY.js.map → lollipop-O3XJC7BR.js.map} +0 -0
  804. /package/dist/{maf-DLJHCKHJ.js.map → maf-GLZ7KCDP.js.map} +0 -0
  805. /package/dist/{maftimeline-NK5QYJMJ.js.map → maftimeline-Q4YPFSZP.js.map} +0 -0
  806. /package/dist/{matrix-7BFYR6QL.js.map → matrix-KVTQNDRZ.js.map} +0 -0
  807. /package/dist/{matrix-USAB2CHO.js.map → matrix-QDHUX4QD.js.map} +0 -0
  808. /package/dist/{matrix.cells-OTAXAJ4N.js.map → matrix.cells-ED6RS5EC.js.map} +0 -0
  809. /package/dist/{matrix.config-AL4WSFZ7.js.map → matrix.config-B65UXJNA.js.map} +0 -0
  810. /package/dist/{matrix.data-BDHCSN2G.js.map → matrix.data-KQFMXWRX.js.map} +0 -0
  811. /package/dist/{matrix.groups-MV2D2636.js.map → matrix.groups-RE74EFLY.js.map} +0 -0
  812. /package/dist/{matrix.integration.spec-DESORC2Y.js.map → matrix.integration.spec-2ITZRE4N.js.map} +0 -0
  813. /package/dist/{matrix.interactivity-H7EJW3P2.js.map → matrix.interactivity-3RF4YOAP.js.map} +0 -0
  814. /package/dist/{matrix.layout-7CAS2IBO.js.map → matrix.layout-ERVRJAK2.js.map} +0 -0
  815. /package/dist/{matrix.legend-JDVG2JDF.js.map → matrix.legend-ZST44PIB.js.map} +0 -0
  816. /package/dist/{matrix.renderers-PDR5FIBC.js.map → matrix.renderers-HNEUKUGS.js.map} +0 -0
  817. /package/dist/{matrix.serieses-QVDS5HKK.js.map → matrix.serieses-6ZKTFVWY.js.map} +0 -0
  818. /package/dist/{matrix.sort-HCK4CSTJ.js.map → matrix.sort-2UE47IOC.js.map} +0 -0
  819. /package/dist/{matrix.sort.unit.spec-2GC4E26N.js.map → matrix.sort.unit.spec-QGEVGY7M.js.map} +0 -0
  820. /package/dist/{matrix.sorterUi-XGBQOPG4.js.map → matrix.sorterUi-WC2YX7S7.js.map} +0 -0
  821. /package/dist/{matrix.sorterUi.unit.spec-BJQKDU2F.js.map → matrix.sorterUi.unit.spec-YNS7IVUF.js.map} +0 -0
  822. /package/dist/{mavb-6E6Z4LPK.js.map → mavb-27VSL5LG.js.map} +0 -0
  823. /package/dist/{mds.fimo-5P2TK5U4.js.map → mds.fimo-E5EXGT75.js.map} +0 -0
  824. /package/dist/{mds.samplescatterplot-KLKOD4AS.js.map → mds.samplescatterplot-YDMRZFS7.js.map} +0 -0
  825. /package/dist/{mds.survivalplot-SWQCOFIU.js.map → mds.survivalplot-INJA2NDC.js.map} +0 -0
  826. /package/dist/{numericDictTermCluster-WIVO33AV.js.map → numericDictTermCluster-DRIEJJSP.js.map} +0 -0
  827. /package/dist/{oncomatrix-SDUUQZCK.js.map → oncomatrix-334LCTXB.js.map} +0 -0
  828. /package/dist/{oncomatrix.spec-YGQYIUDT.js.map → oncomatrix.spec-VHCJWO7S.js.map} +0 -0
  829. /package/dist/{plot.2dvaf-K53KTP5W.js.map → plot.2dvaf-F7GJEUMD.js.map} +0 -0
  830. /package/dist/{plot.app-FNJVWLPQ.js.map → plot.app-AKA7UVUC.js.map} +0 -0
  831. /package/dist/{plot.barplot-VTC3N6BR.js.map → plot.barplot-HZAG43A5.js.map} +0 -0
  832. /package/dist/{plot.boxplot-RJFGQSLA.js.map → plot.boxplot-U52BJ4EP.js.map} +0 -0
  833. /package/dist/{plot.brainImaging-6KVNPPMT.js.map → plot.brainImaging-3CB4WYQ4.js.map} +0 -0
  834. /package/dist/{plot.disco-ZFH5RK6B.js.map → plot.disco-I2VLOSAU.js.map} +0 -0
  835. /package/dist/{plot.dzi-IA2SOFUD.js.map → plot.dzi-K6KI52L7.js.map} +0 -0
  836. /package/dist/{plot.ssgq-QARGQVKB.js.map → plot.ssgq-L67X4FUG.js.map} +0 -0
  837. /package/dist/{plot.vaf2cov-2JUXYCPG.js.map → plot.vaf2cov-PH4ZSY2K.js.map} +0 -0
  838. /package/dist/{plot.wsi-C2DULA7U.js.map → plot.wsi-Y6FZWHXT.js.map} +0 -0
  839. /package/dist/{polar2-3HS3QBU6.js.map → polar2-XT5QZ4VH.js.map} +0 -0
  840. /package/dist/{profileForms-Y6ZBMZWQ.js.map → profileForms-4LLSYMF6.js.map} +0 -0
  841. /package/dist/{profilePlot-SVI3QKMD.js.map → profilePlot-C52DDMZ4.js.map} +0 -0
  842. /package/dist/{proteinView-YPFJSBL7.js.map → proteinView-CCL4MPXS.js.map} +0 -0
  843. /package/dist/{qualitative-AQFKAZID.js.map → qualitative-DZ6JYYRS.js.map} +0 -0
  844. /package/dist/{radar2-TTQZLARY.js.map → radar2-GEEOQF2A.js.map} +0 -0
  845. /package/dist/{radarFacility2-YGS56QUA.js.map → radarFacility2-OWXSKHBW.js.map} +0 -0
  846. /package/dist/{regression-DLPBCDZT.js.map → regression-ZK75B4OR.js.map} +0 -0
  847. /package/dist/{regression.inputs-42LY4MEZ.js.map → regression.inputs-UR7Q7HIK.js.map} +0 -0
  848. /package/dist/{regression.inputs.term-TTUFFPG6.js.map → regression.inputs.term-PJZ7T3AI.js.map} +0 -0
  849. /package/dist/{regression.inputs.values.table-CJAPTSMS.js.map → regression.inputs.values.table-CRGBKWMM.js.map} +0 -0
  850. /package/dist/{regression.integration.spec-UDA26OGS.js.map → regression.integration.spec-OCUFEVQS.js.map} +0 -0
  851. /package/dist/{regression.results-IA3C7SHR.js.map → regression.results-7EHMKQ5F.js.map} +0 -0
  852. /package/dist/{regression.spec-HEXCL3QV.js.map → regression.spec-E4W3WOLI.js.map} +0 -0
  853. /package/dist/{report-4CFOWNPJ.js.map → report-WWILHPI6.js.map} +0 -0
  854. /package/dist/{sampleScatter.spec-N6V4BQ5Q.js.map → sampleScatter.spec-VCKCJKII.js.map} +0 -0
  855. /package/dist/{sampleView-CZF7U23I.js.map → sampleView-STGP7UUP.js.map} +0 -0
  856. /package/dist/{samplelst-XUGDS5TU.js.map → samplelst-U4BL6GYP.js.map} +0 -0
  857. /package/dist/{samplematrix-R5PZLZDE.js.map → samplematrix-FU3EZF6M.js.map} +0 -0
  858. /package/dist/{sc-WTZZA5J5.js.map → sc-JRLELKHN.js.map} +0 -0
  859. /package/dist/{scatter-EY7HQVCO.js.map → scatter-GT2VKNFG.js.map} +0 -0
  860. /package/dist/{scatter.integration.spec-CRMLFO4J.js.map → scatter.integration.spec-VDMKRPVM.js.map} +0 -0
  861. /package/dist/{selectGenomeWithTklst-2S2MXVCI.js.map → selectGenomeWithTklst-F5372VC5.js.map} +0 -0
  862. /package/dist/{singleCellCellType-LJWFG7MY.js.map → singleCellCellType-D77PUUCZ.js.map} +0 -0
  863. /package/dist/{singleCellCellType.unit.spec-RGN2XVUR.js.map → singleCellCellType.unit.spec-J4EEZAWB.js.map} +0 -0
  864. /package/dist/{singleCellGeneExpression-IW2QXTTU.js.map → singleCellGeneExpression-WCWCSHIY.js.map} +0 -0
  865. /package/dist/{singleCellGeneExpression.unit.spec-4PO3Q7TM.js.map → singleCellGeneExpression.unit.spec-CELJIAJ5.js.map} +0 -0
  866. /package/dist/{singleCellPlot-6EZ6JXCM.js.map → singleCellPlot-2OPOJZ5U.js.map} +0 -0
  867. /package/dist/{singlecell-NTTAVVMR.js.map → singlecell-K2SHYDHA.js.map} +0 -0
  868. /package/dist/{singlecell-3LFPQ6KO.js.map → singlecell-K7Z6ES7B.js.map} +0 -0
  869. /package/dist/{snp-XB4IBG4Z.js.map → snp-ICWKGR7H.js.map} +0 -0
  870. /package/dist/{snp.unit.spec-HAJPM53L.js.map → snp.unit.spec-PV2UZCYO.js.map} +0 -0
  871. /package/dist/{snplocus-HE6TITSX.js.map → snplocus-W5D4A7QJ.js.map} +0 -0
  872. /package/dist/{spliceevent.a53ss.diagram-TCZMBMD7.js.map → spliceevent.a53ss.diagram-DEQJ2C2H.js.map} +0 -0
  873. /package/dist/{spliceevent.exonskip.diagram-VESOF6UC.js.map → spliceevent.exonskip.diagram-MKA32GTK.js.map} +0 -0
  874. /package/dist/{spliceevent.noeventdiagram-4K7FMO4F.js.map → spliceevent.noeventdiagram-NFYPM4EZ.js.map} +0 -0
  875. /package/dist/{ssGSEA-2XYMX36P.js.map → ssGSEA-FAZK5FSC.js.map} +0 -0
  876. /package/dist/{ssGSEA.unit.spec-J36KM2HO.js.map → ssGSEA.unit.spec-S5D6JMOD.js.map} +0 -0
  877. /package/dist/{summarizeCnvGeneexp-LYVDZXXD.js.map → summarizeCnvGeneexp-WDGJ5YOM.js.map} +0 -0
  878. /package/dist/{summarizeGeneexpSurvival-Y52TGAHF.js.map → summarizeGeneexpSurvival-J7UYKBN2.js.map} +0 -0
  879. /package/dist/{summarizeMutationCnv-6EEJT3PV.js.map → summarizeMutationCnv-6ZXA32XN.js.map} +0 -0
  880. /package/dist/{summarizeMutationDiagnosis-HZKXHOOQ.js.map → summarizeMutationDiagnosis-BK7QPF6A.js.map} +0 -0
  881. /package/dist/{summarizeMutationSurvival-TU7TQYFQ.js.map → summarizeMutationSurvival-UODP6R6S.js.map} +0 -0
  882. /package/dist/{summary-4QQZUAMU.js.map → summary-P6XVOWSB.js.map} +0 -0
  883. /package/dist/{summary.integration.spec-SLIIM4HN.js.map → summary.integration.spec-XKMQ77CF.js.map} +0 -0
  884. /package/dist/{summaryInput-6HROPKCE.js.map → summaryInput-U7XNGLGC.js.map} +0 -0
  885. /package/dist/{sunburst-MBJJPERL.js.map → sunburst-WHZ77REP.js.map} +0 -0
  886. /package/dist/{survival-QSL2KDKD.js.map → survival-HQ5JC76V.js.map} +0 -0
  887. /package/dist/{survival-CXLMQSV2.js.map → survival-QFWZNB4W.js.map} +0 -0
  888. /package/dist/{svgraph-JM5MHQDX.js.map → svgraph-TYIBQ3RD.js.map} +0 -0
  889. /package/dist/{svmr-MCMST2FL.js.map → svmr-ZZIRWUVA.js.map} +0 -0
  890. /package/dist/{table-MVX3IMAL.js.map → table-MPM3ET2V.js.map} +0 -0
  891. /package/dist/{termCollection-FZ2SCVA7.js.map → termCollection-5DF5MFBK.js.map} +0 -0
  892. /package/dist/{termCollection-IGC7REFK.js.map → termCollection-CQESAD6G.js.map} +0 -0
  893. /package/dist/{termCollection.unit.spec-VY2EZZIP.js.map → termCollection.unit.spec-ASYBZQLO.js.map} +0 -0
  894. /package/dist/{tk-5F3TWZ2G.js.map → tk-NCEB2L7K.js.map} +0 -0
  895. /package/dist/{tp.ui-IURWTMAS.js.map → tp.ui-AHTGSLBN.js.map} +0 -0
  896. /package/dist/{tvs.dt-BPZCFPYK.js.map → tvs.dt-TXG4FL3B.js.map} +0 -0
  897. /package/dist/{tvs.dtcnv.categorical-UFS62DTR.js.map → tvs.dtcnv.categorical-7SA4PCKE.js.map} +0 -0
  898. /package/dist/{tvs.dtcnv.continuous-R6YXNNLA.js.map → tvs.dtcnv.continuous-E3VQWM5N.js.map} +0 -0
  899. /package/dist/{tvs.dtfusion-FGXXS4XX.js.map → tvs.dtfusion-F72VEUPO.js.map} +0 -0
  900. /package/dist/{tvs.dtsnvindel-DR43K7X3.js.map → tvs.dtsnvindel-RAVTRO5M.js.map} +0 -0
  901. /package/dist/{tvs.dtsv-NO34GIOL.js.map → tvs.dtsv-ZZDBZYAJ.js.map} +0 -0
  902. /package/dist/{tvs.samplelst-2QP7IV2Y.js.map → tvs.samplelst-POTNAX4E.js.map} +0 -0
  903. /package/dist/{tvs.termCollection-UEJDG22G.js.map → tvs.termCollection-AHNHKJPJ.js.map} +0 -0
  904. /package/dist/{violin-NBZTGGYF.js.map → violin-YR35XLAS.js.map} +0 -0
  905. /package/dist/{violin.integration.spec-5CLYJSAR.js.map → violin.integration.spec-2VSILDUW.js.map} +0 -0
  906. /package/dist/{violin.interactivity-KXVKTT22.js.map → violin.interactivity-S7QY6HVJ.js.map} +0 -0
  907. /package/dist/{violin.renderer-37OF6K7Q.js.map → violin.renderer-OUWK7EL4.js.map} +0 -0
  908. /package/dist/{vocabulary-GR6J3VKW.js.map → vocabulary-6IZJ6F7N.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../plots/grin2/model/GRIN2Model.ts", "../plots/grin2/viewModel/GRIN2ViewModel.ts", "../plots/manhattan/manhattan.ts", "../plots/grin2/view/GRIN2ResultsView.ts", "../plots/grin2/settings/defaults.ts", "../plots/grin2/view/GRIN2ControlsView.ts", "../plots/grin2/grin2.ts"],
4
+ "sourcesContent": ["import type { GRIN2RequestData, GRIN2Response } from '../GRIN2Types'\n\n/** Server-interaction layer for the GRIN2 plot.\n * Wraps the vocabApi getter so the controller stays free of fetch concerns. */\nexport class GRIN2Model {\n\tprivate vocabApi: any\n\n\tconstructor(vocabApi: any) {\n\t\tthis.vocabApi = vocabApi\n\t}\n\n\tasync fetchGrin2Data(requestData: GRIN2RequestData, signal?: AbortSignal): Promise<GRIN2Response> {\n\t\treturn this.vocabApi.getGrin2Data(requestData, signal)\n\t}\n}\n", "import { dt2lesion } from '#shared/common.js'\nimport type { GRIN2Response, GRIN2ViewData, DtUsage } from '../GRIN2Types'\n\n/** Transforms a GRIN2 server response into display-ready ViewData.\n * All conditional shaping (significance circles, header text)\n * lives here so the View stays a thin renderer. */\nexport class GRIN2ViewModel {\n\tviewData: GRIN2ViewData\n\n\tconstructor(response: GRIN2Response, manhattanSettings: any, dtUsage: DtUsage) {\n\t\tthis.viewData = {\n\t\t\tmanhattan: response.pngImg ? { plotData: response, settings: manhattanSettings } : null,\n\t\t\ttopGenes: this.buildTopGenes(response, manhattanSettings, dtUsage),\n\t\t\tstatsSections: response.stats?.lst || []\n\t\t}\n\t}\n\n\tprivate buildTopGenes(response: GRIN2Response, manhattanSettings: any, dtUsage: DtUsage): GRIN2ViewData['topGenes'] {\n\t\tif (!response.topGeneTable || !response.stats?.lst) return null\n\n\t\t// \"showing N of M\": N = genes actually in the table, M = total genes GRIN tested. Look up the\n\t\t// total-genes cell by label rather than positional index (rows[0]) so reordering the Summary\n\t\t// rows can't silently turn this into a wrong/sample count.\n\t\tconst totalGenes = response.stats.lst[0].rows.find((r: any) => r[0] === 'Total Genes')?.[1] ?? '?'\n\t\tconst headerText = `Top Genes (showing ${response.topGeneTable.rows.length.toLocaleString()} of ${totalGenes})`\n\n\t\tconst qValueEntries = this.buildQValueEntries(response.topGeneTable.columns, dtUsage)\n\t\tconst lesionTypeCircleCache = this.buildCircleCache(manhattanSettings.lesionTypeColors)\n\t\tconst qValueThreshold = manhattanSettings.qValueThreshold\n\n\t\tconst rows = response.topGeneTable.rows.map((row: any) => {\n\t\t\tconst circles = qValueEntries\n\t\t\t\t.filter(({ colIndex }) => {\n\t\t\t\t\tconst qValue = row[colIndex]?.value\n\t\t\t\t\treturn typeof qValue === 'number' && qValue < qValueThreshold\n\t\t\t\t})\n\t\t\t\t.map(({ type }) => lesionTypeCircleCache.get(type)!)\n\t\t\treturn [{ value: '', html: circles.join('') }, ...row]\n\t\t})\n\n\t\treturn {\n\t\t\theaderText,\n\t\t\tcolumns: [{ label: '', width: '20px' }, ...response.topGeneTable.columns],\n\t\t\trows,\n\t\t\tdataItems: response.topGeneTable.rows\n\t\t}\n\t}\n\n\tprivate buildQValueEntries(columns: { label: string }[], dtUsage: DtUsage): { colIndex: number; type: string }[] {\n\t\tconst dtMapping: Record<string, { col: string; type: string }[]> = {}\n\t\tObject.entries(dt2lesion).forEach(([dt, cfg]: [string, any]) => {\n\t\t\tdtMapping[dt] = cfg.lesionTypes.map((lt: any) => ({\n\t\t\t\tcol: `Q-value (${lt.name})`,\n\t\t\t\ttype: lt.lesionType\n\t\t\t}))\n\t\t})\n\n\t\tconst entries: { colIndex: number; type: string }[] = []\n\t\tObject.entries(dtUsage).forEach(([key, info]: [string, any]) => {\n\t\t\t// dtUsage values may be either { checked: bool } objects or bare booleans depending on call site\n\t\t\tconst isChecked = typeof info === 'object' ? info?.checked : !!info\n\t\t\tif (isChecked && dtMapping[key]) {\n\t\t\t\tdtMapping[key].forEach(({ col, type }) => {\n\t\t\t\t\tconst colIndex = columns.findIndex(c => c.label === col)\n\t\t\t\t\tif (colIndex !== -1) entries.push({ colIndex, type })\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t\treturn entries\n\t}\n\n\tprivate buildCircleCache(lesionTypeColors: Record<string, string>): Map<string, string> {\n\t\treturn new Map(\n\t\t\tObject.entries(lesionTypeColors).map(([type, color]) => [\n\t\t\t\ttype,\n\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])\n\t\t)\n\t}\n}\n", "import { scaleLinear } from 'd3-scale'\nimport * as d3axis from 'd3-axis'\nimport { select } from 'd3-selection'\nimport {\n\tMenu,\n\ticons,\n\taxisstyle,\n\ttable2col,\n\tshowResultsTable,\n\tcreateLollipopFromGene,\n\tDataPointInteractions\n} from '#dom'\nimport { to_svg } from '#src/client'\nimport type { ManhattanPoint } from './manhattanTypes'\n\n/**\n * Creates an interactive Manhattan plot on top of a PNG background plot image.\n *\n * @param {Object} div - div element to contain the plot\n * @param {Object} data - Plot data\n * @param {Object} settings - Display configuration options:\n * @param {number} [settings.plotWidth=500] - Plot area width\n * @param {number} [settings.plotHeight=200] - Plot area height\n * @param {boolean} [settings.showLegend=true] - Whether to display legend\n * @param {boolean} [settings.showDownload=true] - Whether to show download button\n * @param {boolean} [settings.showInteractiveDots=true] - Whether to show hoverable data points\n * @param {number} [settings.yAxisX=70] - Y-axis positioning\n * @param {number} [settings.yAxisSpace=40] - Space between Y-axis and plot\n * @param {number} [settings.yAxisY=40] - Top margin\n * @param {number} [settings.fontSize=12] - Base font size\n * @param {number} [settings.pngDotRadius=2] - Radius of dots in PNG plot\n * @param {number} [settings.legendItemWidth=80] - Horizontal space per legend item\n * @param {number} [settings.legendDotRadius=3] - Size of legend dots\n * @param {number} [settings.legendRightOffset=15] - Offset from right edge\n * @param {number} [settings.legendTextOffset=12] - Distance between dot and text\n * @param {number} [settings.legendVerticalOffset=4] - Vertical offset for legend items\n * @param {number} [settings.legendFontSize=12] - Font size for legend text\n * @param {number} [settings.interactiveDotRadius=2] - Radius of interactive dots\n * @param {number} [settings.xAxisLabelPad=20] - Amount of padding we give for x-axis title padding\n * @param {number} [settings.interactiveDotStrokeWidth=1] - Stroke width for interactive dots\n * @param {string} [settings.axisColor='#545454'] - Color for y-axis\n * @param {boolean} [settings.showYAxisLine=true] - Whether to show y-axis line\n * @param {number} [settings.interactiveDotsCap=5000] - Interactive dots cap\n * @param {number} [settings.maxTooltipGenes=5] - Maximum number of genes to show in tooltip\n * @param {Object} [app] - Optional app context for dispatching events\n *\n *\n * @description\n * Renders a genomic Manhattan plot by overlaying interactive elements on the base PNG plot image.\n * Features include chromosome labels, legend, hoverable data points with tooltips,\n * and proper axis scaling. The plot combines a static PNG plot image of all points with dynamic SVG elements\n * including axes, labels, legend, and top genes (represented as interactive dots) for detailed information on hover.\n */\n\nexport function plotManhattan(div: any, data: any, settings: any, app?: any) {\n\t// Get our settings\n\tsettings = {\n\t\t...settings\n\t}\n\n\t// Check size of interactive data\n\tlet interactivePoints = data.plotData.points\n\tif (data.plotData.points.length > settings.interactiveDotsCap) {\n\t\t// Sort points by y value (-log10(q-value)) descending and take top N up to interactiveDotsCap\n\t\tinteractivePoints = data.plotData.points.sort((a: any, b: any) => b.y - a.y).slice(0, settings.interactiveDotsCap)\n\t}\n\n\t// Set the positioning up for download button to work properly\n\tdiv.style('position', 'relative')\n\n\t// Hover tooltip menu \u2014 DataPointInteractions writes into this on hover.\n\tconst geneTip = new Menu({ padding: '' })\n\n\tconst svg = div\n\t\t.append('svg')\n\t\t.attr('data-testid', 'sjpp-manhattan')\n\t\t.attr('width', settings.plotWidth + 2 * settings.pngDotRadius + settings.yAxisX + settings.yAxisSpace)\n\t\t.attr('height', settings.plotHeight + 2 * settings.pngDotRadius + settings.yAxisY * 4) // Extra space for x-axis labels, legend, and title\n\n\t// Add y-axis\n\t// yPlot \u2192 full padded scale, aligns exactly with PNG coordinates\n\t// yAxisScale \u2192 trimmed scale for axis labels, ignores PNG padding\n\t// --- Y-Axis Setup ---\n\t// This section builds two linked scales:\n\t//\n\t// 1) yPlot \u2192 full PNG-aligned scale (includes padding added by Rust)\n\t// 2) yAxisScale \u2192 visual axis scale (no padding; shows only real data values)\n\t//\n\t// The reason for two scales is that the PNG image itself was rendered\n\t// with top/bottom padding for dot radius. We need one scale to stay\n\t// pixel-perfect with the PNG (for dots, overlays, etc.), and another\n\t// scale to make the visible y-axis line up only with the *real* data region.\n\n\t// 1) yPlot: true positioning scale used for all pixel-aligned elements\n\t// - Domain = padded range from Rust (includes buffer above/below real data)\n\t// - Range = full PNG pixel height (0 is top, png_height is bottom)\n\tconst yPlot = scaleLinear()\n\t\t.domain([data.plotData.y_min, data.plotData.y_max]) // padded domain from Rust\n\t\t.range([settings.plotHeight + 2 * settings.pngDotRadius, 0]) // full PNG height\n\n\t// 2) yAxisScale: used only for the visible axis labels/ticks\n\t// - Domain = true data values (no padding)\n\t// - Range = subset of pixel space between yPlot(0) and yPlot(realMax [data.plotData.y_max - data.plotData.png_dot_radius])\n\t// so the axis sits entirely within the real data area\n\tconst yAxisScale = scaleLinear()\n\t\t.domain([0, data.plotData.y_max - settings.pngDotRadius])\n\t\t.range([yPlot(0), yPlot(data.plotData.y_max - settings.pngDotRadius)])\n\n\t// Axis group\n\tconst axisG = svg\n\t\t.append('g')\n\t\t.attr('transform', `translate(${settings.yAxisX + settings.yAxisSpace - settings.yAxisPad},${settings.yAxisY})`)\n\n\taxisG.call(\n\t\td3axis.axisLeft(yAxisScale).tickSizeOuter(0) // removes top/bottom cap lines for clean look\n\t)\n\n\taxisstyle({\n\t\taxis: axisG,\n\t\tcolor: settings.axisColor,\n\t\tfontsize: settings.fontSize + 2,\n\t\tshowline: settings.showYAxisLine\n\t})\n\n\t// Add y-axis label\n\tsvg\n\t\t.append('text')\n\t\t.attr('x', -((settings.plotHeight + 2 * settings.pngDotRadius) / 2) - settings.yAxisY)\n\t\t.attr('y', settings.yAxisX / 2)\n\t\t.attr('transform', 'rotate(-90)')\n\t\t.attr('text-anchor', 'middle')\n\t\t.attr('font-size', `${settings.fontSize + 4}px`)\n\t\t.attr('fill', 'black')\n\t\t.text(data.plotData.has_capped_points ? '-log\u2081\u2080(q-value) [capped]' : '-log\u2081\u2080(q-value)')\n\n\t// Add png image\n\tsvg\n\t\t.append('image')\n\t\t.attr('transform', `translate(${settings.yAxisX + settings.yAxisSpace},${settings.yAxisY})`)\n\t\t.attr('width', settings.plotWidth + 2 * settings.pngDotRadius)\n\t\t.attr('height', settings.plotHeight + 2 * settings.pngDotRadius)\n\t\t.attr('href', `data:image/png;base64,${data.pngImg || data.png}`)\n\n\t// Create scales for positioning elements\n\tconst xScale = scaleLinear()\n\t\t.domain([-data.plotData.x_buffer, data.plotData.total_genome_length + data.plotData.x_buffer])\n\t\t.range([0, settings.plotWidth + 2 * settings.pngDotRadius])\n\n\t// Add interactive dots layer\n\tif (settings.showInteractiveDots && data.plotData.points && data.plotData.points.length > 0) {\n\t\t// Hover-ring layer \u2014 `pointer-events: none` so rings never intercept clicks.\n\t\tconst hoverLayer = svg\n\t\t\t.append('g')\n\t\t\t.attr('transform', `translate(${settings.yAxisX + settings.yAxisSpace},${settings.yAxisY})`)\n\t\t\t.style('pointer-events', 'none')\n\n\t\t// Cover as a sibling HTML div positioned over the plot area \u2014 avoids\n\t\t// the mouse-event quirks of nesting inside SVG.\n\t\tconst cover = select(svg.node().parentNode as HTMLElement)\n\t\t\t.append('div')\n\t\t\t.style('position', 'absolute')\n\t\t\t.style('left', `${settings.yAxisX + settings.yAxisSpace}px`)\n\t\t\t.style('top', `${settings.yAxisY}px`)\n\t\t\t.style('width', `${settings.plotWidth + 2 * settings.pngDotRadius}px`)\n\t\t\t.style('height', `${settings.plotHeight + 2 * settings.pngDotRadius}px`)\n\t\t\t.style('pointer-events', 'all')\n\n\t\t// Circle as an SVG path so it flows through the generic `drawHoverShapes`.\n\t\tconst circlePath = (r: number) => `M${r},0 A${r},${r} 0 1,1 ${-r},0 A${r},${r} 0 1,1 ${r},0 Z`\n\n\t\tconst interactions = new DataPointInteractions<ManhattanPoint>({\n\t\t\tcover,\n\t\t\thoverLayer,\n\t\t\thoverTip: geneTip,\n\t\t\tpoints: interactivePoints,\n\t\t\tgetX: d => d.pixel_x,\n\t\t\tgetY: d => d.pixel_y,\n\t\t\thitRadius: settings.pngDotRadius + 3,\n\t\t\ttoHoverSpec: d => ({\n\t\t\t\tpath: circlePath(settings.pngDotRadius),\n\t\t\t\ttransform: `translate(${d.pixel_x},${d.pixel_y})`,\n\t\t\t\tfill: 'none',\n\t\t\t\tstroke: 'black',\n\t\t\t\tstrokeWidth: settings.interactiveDotStrokeWidth\n\t\t\t}),\n\t\t\tmaxTooltipRows: settings.maxTooltipGenes,\n\t\t\titemNoun: 'gene',\n\t\t\trenderSingleHoverTooltip: (d, container) => {\n\t\t\t\tconst table = table2col({ holder: container.append('div'), margin: '10px' })\n\t\t\t\ttable.addRow('Gene', d.gene)\n\t\t\t\ttable.addRow('Position', `${d.chrom}:${d.start}-${d.end}`)\n\t\t\t\tconst [t1, t2] = table.addRow()\n\t\t\t\tt1.text('Type')\n\t\t\t\tt2.html(`<span style=\"color:${d.color}\">\u25CF</span> ${d.type.charAt(0).toUpperCase() + d.type.slice(1)}`)\n\t\t\t\ttable.addRow('Q-value', d.q_value.toPrecision(3))\n\t\t\t\ttable.addRow('Subject count', d.nsubj)\n\t\t\t},\n\t\t\tbuildMultiHitTableData: dots => ({\n\t\t\t\tcolumns: [\n\t\t\t\t\t{ label: 'Gene' },\n\t\t\t\t\t{ label: 'Position' },\n\t\t\t\t\t{ label: 'Type' },\n\t\t\t\t\t{ label: 'Q-value', sortable: true },\n\t\t\t\t\t{ label: 'Subject count', sortable: true }\n\t\t\t\t],\n\t\t\t\trows: dots.map(d => [\n\t\t\t\t\t{ value: d.gene },\n\t\t\t\t\t{ value: `${d.chrom}:${d.start}-${d.end}` },\n\t\t\t\t\t{\n\t\t\t\t\t\thtml: `<span style=\"color:${d.color}\">\u25CF</span> ${d.type.charAt(0).toUpperCase() + d.type.slice(1)}`\n\t\t\t\t\t},\n\t\t\t\t\t{ value: d.q_value.toPrecision(3) },\n\t\t\t\t\t{ value: d.nsubj }\n\t\t\t\t])\n\t\t\t}),\n\t\t\t// Manhattan single-click goes straight to a lollipop launch \u2014 no menu.\n\t\t\t// Release hover-suppression immediately so the cursor's next move re-engages.\n\t\t\tonSingleClick: (d, _event, ctx) => {\n\t\t\t\tctx.dismiss()\n\t\t\t\tif (app) createLollipopFromGene(d.gene, app)\n\t\t\t},\n\t\t\t// Manhattan multi-click shows showResultsTable directly with `app + clickMenu`\n\t\t\t// so the table renders inline Matrix/Lollipop buttons. Reuses the module's\n\t\t\t// clickMenu so its onHide cleanup (clear flag, clear hover) fires on dismiss.\n\t\t\t// Content is built BEFORE show2 so Menu can measure the populated rect for\n\t\t\t// its right-edge clamp \u2014 otherwise the wide table is placed at cursor+offsetX\n\t\t\t// and extends off the right edge of the viewport.\n\t\t\tonMultiClick: (dots, event, ctx) => {\n\t\t\t\tif (!app) {\n\t\t\t\t\tctx.dismiss()\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tctx.clickMenu.clear()\n\t\t\t\tconst holder = ctx.clickMenu.d.append('div').style('margin', '10px')\n\t\t\t\tshowResultsTable({ tableDiv: holder, hits: dots, app, clickMenu: ctx.clickMenu })\n\t\t\t\tctx.clickMenu.show2(event.clientX, event.clientY)\n\t\t\t}\n\t\t})\n\n\t\tinteractions.attach()\n\t}\n\n\t// Add chromosome labels\n\tif (data.plotData.chrom_data) {\n\t\tconst chromLabelY = settings.plotHeight + 2 * settings.pngDotRadius + settings.yAxisY + 10\n\n\t\tObject.entries(data.plotData.chrom_data).forEach(([chrom, chromData]: [string, any]) => {\n\t\t\tconst chromLabel = chrom.replace('chr', '')\n\n\t\t\t// Skip chrM\n\t\t\tif (chromLabel === 'M') return\n\n\t\t\t// Calculate center position for label\n\t\t\tconst centerPos = settings.yAxisX + settings.yAxisSpace + xScale(chromData.center)\n\n\t\t\t// Append chromosome label\n\t\t\tsvg\n\t\t\t\t.append('text')\n\t\t\t\t.attr('x', centerPos)\n\t\t\t\t.attr('y', chromLabelY)\n\t\t\t\t.attr('text-anchor', 'middle')\n\t\t\t\t.attr('font-size', `${settings.fontSize + 2}px`)\n\t\t\t\t.text(chromLabel)\n\t\t})\n\t}\n\n\t// Add x-axis label\n\tsvg\n\t\t.append('text')\n\t\t.attr('x', settings.yAxisX + settings.yAxisSpace + (settings.plotWidth + 2 * settings.pngDotRadius) / 2)\n\t\t.attr('y', settings.plotHeight + 2 * settings.pngDotRadius + settings.yAxisY + settings.xAxisLabelPad)\n\t\t.attr('text-anchor', 'middle')\n\t\t.attr('font-size', `${settings.fontSize + 4}px`)\n\t\t.attr('fill', 'black')\n\t\t.text('Chromosomes')\n\n\t// Add title\n\tsvg\n\t\t.append('text')\n\t\t.attr('x', settings.yAxisX + settings.yAxisSpace)\n\t\t.attr('y', settings.yAxisY / 2)\n\t\t.attr('font-weight', 'bold')\n\t\t.attr('font-size', `${settings.fontSize + 2}px`)\n\t\t.text('Manhattan Plot')\n\n\tif (settings.showDownload) {\n\t\tconst downloadDiv = div\n\t\t\t.append('div')\n\t\t\t.style('position', 'absolute')\n\t\t\t.style('top', '5px')\n\t\t\t.style('left', `${settings.yAxisX + settings.yAxisSpace + 108}px`)\n\n\t\ticons['download'](downloadDiv, {\n\t\t\twidth: 16,\n\t\t\theight: 16,\n\t\t\ttitle: 'Download Manhattan plot',\n\t\t\thandler: () => {\n\t\t\t\t// Clone the SVG to avoid modifying the displayed version\n\t\t\t\tconst svgNode = svg.node() as SVGSVGElement\n\t\t\t\tconst clone = svgNode.cloneNode(true) as SVGSVGElement\n\n\t\t\t\t// Get the bounding box of all content\n\t\t\t\tconst bbox = svgNode.getBBox()\n\n\t\t\t\t// Set the clone's dimensions to match the full content\n\t\t\t\tclone.setAttribute('width', bbox.width.toString())\n\t\t\t\tclone.setAttribute('height', bbox.height.toString())\n\t\t\t\tclone.setAttribute('viewBox', `${bbox.x} ${bbox.y} ${bbox.width} ${bbox.height}`)\n\n\t\t\t\tto_svg(clone, `manhattan_plot_${new Date().toISOString().replace(/[:.]/g, '-').slice(0, -5)}`, {\n\t\t\t\t\tapply_dom_styles: true\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\n\t// Generate legend data\n\tconst mutationTypes = [...new Set(data.plotData.points.map((p: any) => p.type))]\n\tconst legendData = mutationTypes.map(type => {\n\t\tconst point = data.plotData.points.find((p: any) => p.type === type)\n\t\treturn {\n\t\t\ttype: String(type).charAt(0).toUpperCase() + String(type).slice(1),\n\t\t\tcolor: point?.color\n\t\t}\n\t})\n\n\t// Add legend\n\tif (settings.showLegend && legendData.length > 0) {\n\t\tconst legendY = settings.yAxisY / 2\n\t\tconst totalWidth = legendData.length * settings.legendItemWidth\n\t\tconst legendX =\n\t\t\tsettings.yAxisX +\n\t\t\tsettings.yAxisSpace +\n\t\t\t(settings.plotWidth + 2 * settings.pngDotRadius) -\n\t\t\ttotalWidth -\n\t\t\tsettings.legendRightOffset\n\n\t\tlegendData.forEach((item, i) => {\n\t\t\tconst x = legendX + i * settings.legendItemWidth\n\n\t\t\t// Legend dot\n\t\t\tsvg\n\t\t\t\t.append('circle')\n\t\t\t\t.attr('cx', x + 8)\n\t\t\t\t.attr('cy', legendY)\n\t\t\t\t.attr('r', settings.legendDotRadius)\n\t\t\t\t.attr('fill', item.color)\n\n\t\t\t// Legend text\n\t\t\tsvg\n\t\t\t\t.append('text')\n\t\t\t\t.attr('x', x + 8 + settings.legendTextOffset)\n\t\t\t\t.attr('y', legendY + settings.legendVerticalOffset)\n\t\t\t\t.attr('font-size', `${settings.legendFontSize + 2}px`)\n\t\t\t\t.text(item.type)\n\t\t})\n\t}\n}\n", "import { table2col, showResultsTable } from '#dom'\nimport { plotManhattan } from '#plots/manhattan/manhattan.ts'\nimport type { GRIN2ViewData } from '../GRIN2Types'\n\n// Styling constants used only by the results view\nconst sectionMargin = '20px 0'\nconst btnMargin = '10px'\nconst headerMargin = '0 10px 0 0'\nconst headerFontSize = 14\nconst statsTableFontWeight = 'bold'\nconst backgroundColor = '#f8f8f8'\n\n/** Renders Manhattan plot + top genes table + run stats from precomputed ViewData. */\nexport class GRIN2ResultsView {\n\tprivate holder: any\n\tprivate app: any\n\n\tconstructor(holder: any, app: any) {\n\t\tthis.holder = holder\n\t\tthis.app = app\n\t}\n\n\tclear() {\n\t\tthis.holder.selectAll('*').remove()\n\t}\n\n\trender(viewData: GRIN2ViewData) {\n\t\tif (viewData.manhattan) {\n\t\t\tplotManhattan(this.holder, viewData.manhattan.plotData, viewData.manhattan.settings, this.app)\n\t\t}\n\n\t\tif (viewData.topGenes) {\n\t\t\tconst { headerText, columns, rows, dataItems } = viewData.topGenes\n\t\t\tconst tableContainer = this.holder.append('div').style('margin', sectionMargin)\n\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', btnMargin)\n\n\t\t\theaderDiv.append('h3').style('margin', headerMargin).style('font-size', `${headerFontSize}px`).text(headerText)\n\n\t\t\tshowResultsTable({\n\t\t\t\ttableDiv: tableContainer.append('div'),\n\t\t\t\tapp: this.app,\n\t\t\t\tcolumns,\n\t\t\t\trows,\n\t\t\t\tdataItems,\n\t\t\t\tgetRowKey: (row: any) => row[0]?.value,\n\t\t\t\tmatrixButtonFormat: 'Matrix ({n} genes selected)',\n\t\t\t\tmaxHeight: '400px',\n\t\t\t\tmaxWidth: '100%',\n\t\t\t\tdataTestId: 'sjpp-grin2-top-genes-table',\n\t\t\t\tresize: 'both',\n\t\t\t\tselectAll: false,\n\t\t\t\tallowRestoreRowOrder: true,\n\t\t\t\trestoreButtonInFooter: true,\n\t\t\t\tdownload: {\n\t\t\t\t\tfileName: `grin2_top_genes_${new Date().toISOString().replace(/[:.]/g, '-').slice(0, -5)}.tsv`\n\t\t\t\t},\n\t\t\t\theader: {\n\t\t\t\t\tallowSort: true,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\t'font-weight': statsTableFontWeight,\n\t\t\t\t\t\t'background-color': backgroundColor\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tif (viewData.statsSections.length > 0) {\n\t\t\tconst tablesContainer = this.holder.append('div').style('margin-top', '50px')\n\t\t\tfor (const section of viewData.statsSections) {\n\t\t\t\ttablesContainer\n\t\t\t\t\t.append('h4')\n\t\t\t\t\t.style('margin', headerMargin)\n\t\t\t\t\t.style('margin-top', '15px')\n\t\t\t\t\t.style('font-size', `${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", "/** CNV form fallbacks used when the dataset config does not supply ds-specific cutoffs. */\nexport const CNV_LOSS_THRESHOLD_FALLBACK = -0.4\nexport const CNV_GAIN_THRESHOLD_FALLBACK = 0.4\nexport const CNV_MAX_SEG_LENGTH_FALLBACK = 2_000_000\n\n/** How a dataset quantifies cnv values; declared at ds.queries.cnv.type. Mirrors CnvSegmentQuery in #types. */\nexport type CnvType = 'log2ratio' | 'segmean' | 'category' | 'copyNumber'\n\n/** Per-type defaults and slider bounds for the GRIN2 CNV threshold controls.\n * - log2ratio/segmean: diploid baseline 0 (loss<0, gain>0)\n * - copyNumber: absolute integer copy number, diploid baseline 2 (loss<=1, gain>=3, neutral=2)\n * - category: qualitative gain/loss call, no numeric thresholds (controls hidden) */\nexport type CnvTypeConfig = {\n\tlossDefault: number\n\tgainDefault: number\n\tlossMin: number\n\tlossMax: number\n\tgainMin: number\n\tgainMax: number\n\tstep: number\n\t/** when true, the gain/loss threshold rows are not shown (qualitative call) */\n\thideThresholds: boolean\n\t/** appended to the threshold row labels to convey units */\n\tunitLabel: string\n}\n\nexport const CNV_TYPE_CONFIG: Record<CnvType, CnvTypeConfig> = {\n\tlog2ratio: {\n\t\tlossDefault: CNV_LOSS_THRESHOLD_FALLBACK,\n\t\tgainDefault: CNV_GAIN_THRESHOLD_FALLBACK,\n\t\tlossMin: -5,\n\t\tlossMax: 0,\n\t\tgainMin: 0,\n\t\tgainMax: 5,\n\t\tstep: 0.05,\n\t\thideThresholds: false,\n\t\tunitLabel: 'log2 ratio'\n\t},\n\tsegmean: {\n\t\tlossDefault: CNV_LOSS_THRESHOLD_FALLBACK,\n\t\tgainDefault: CNV_GAIN_THRESHOLD_FALLBACK,\n\t\tlossMin: -5,\n\t\tlossMax: 0,\n\t\tgainMin: 0,\n\t\tgainMax: 5,\n\t\tstep: 0.05,\n\t\thideThresholds: false,\n\t\tunitLabel: 'segment mean'\n\t},\n\tcopyNumber: {\n\t\tlossDefault: 1,\n\t\tgainDefault: 3,\n\t\tlossMin: 0,\n\t\tlossMax: 2,\n\t\tgainMin: 2,\n\t\tgainMax: 20,\n\t\tstep: 1,\n\t\thideThresholds: false,\n\t\tunitLabel: 'copy number'\n\t},\n\tcategory: {\n\t\tlossDefault: 0,\n\t\tgainDefault: 0,\n\t\tlossMin: 0,\n\t\tlossMax: 0,\n\t\tgainMin: 0,\n\t\tgainMax: 0,\n\t\tstep: 1,\n\t\thideThresholds: true,\n\t\tunitLabel: ''\n\t}\n}\n\n/** Default gene-overlap-fraction for the artifact-region mask: a gene is excluded when at least\n * this fraction of its span lies inside a selected blacklist region. The set of blacklist sources\n * (and whether the mask runs at all) comes from the per-source checkboxes, which are populated from\n * the genome's declared blacklists. */\nexport const EXCLUDE_OVERLAP_FRAC_FALLBACK = 0.5\n\nexport function getDefaultGRIN2Settings(opts: any) {\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", "import { table2col, make_one_checkbox, make_radios } from '#dom'\nimport { dtsnvindel, mclass, dtcnv, dtfusionrna, dtsv, proteinChangingMutations, dt2lesion } from '#shared/common.js'\nimport { filterInit } from '#filter'\nimport type { GRIN2ControlsCallbacks, DtUsage } from '../GRIN2Types'\nimport { CNV_MAX_SEG_LENGTH_FALLBACK, CNV_TYPE_CONFIG, EXCLUDE_OVERLAP_FRAC_FALLBACK } from '../settings/defaults'\nimport type { CnvType } from '../settings/defaults'\n\n// Styling constants used only by the controls view\nconst optionsTextFontSize = 12\nconst tableFontSize = 11\nconst inputWidth = '80px'\nconst inputPadding = '2px 4px'\nconst inputBorderColor = '#ddd'\nconst inputBorderRadius = '2px'\nconst checkboxContainerMaxHeight = '150px'\nconst checkboxContainerBorder = '1px solid #ddd'\nconst controlGap = '8px'\nconst checkboxMarginBottom = '2px'\n\n/** Builds and owns the GRIN2 config form (citation header + data-type rows + run button).\n * Reads its own state from the live DOM and exposes it to the controller via getDtUsage/getConfigValues. */\nexport class GRIN2ControlsView {\n\tprivate headerHolder: any\n\tprivate controlsHolder: any\n\tprivate config: any\n\tprivate vocabApi: any\n\tprivate callbacks: GRIN2ControlsCallbacks\n\n\tprivate snvindelCheckbox: any = null\n\tprivate cnvCheckbox: any = null\n\tprivate fusionCheckbox: any = null\n\tprivate svCheckbox: any = null\n\tprivate runButton: any = null\n\tprivate consequenceCheckboxes: Record<string, any> = {}\n\tprivate snvindelSelectAllBtn: any = null\n\tprivate snvindelClearAllBtn: any = null\n\tprivate snvindelDefaultBtn: any = null\n\n\tprivate cnv_lossThreshold: any = null\n\tprivate cnv_gainThreshold: any = null\n\tprivate cnv_maxSegLength: any = null\n\t/** how this ds quantifies cnv values; from the selected cnv type or ds.queries.cnv.type, default 'log2ratio' */\n\tprivate cnvType: CnvType = 'log2ratio'\n\t/** id of the user-selected cnv file type, when the ds exposes singleSampleMutation.cnvTypes (else null) */\n\tprivate cnvSelectedTypeId: string | null = null\n\n\t// one checkbox per genome-declared blacklist source, keyed by source name\n\tprivate excludeCheckboxes: Record<string, any> = {}\n\tprivate exclude_overlapFrac: any = null\n\n\tprivate snvindelMafFilter: any = null\n\n\tprivate genome: any\n\n\tconstructor(opts: {\n\t\theaderHolder: any\n\t\tcontrolsHolder: any\n\t\tconfig: any\n\t\tvocabApi: any\n\t\tgenome: any\n\t\tcallbacks: GRIN2ControlsCallbacks\n\t}) {\n\t\tthis.headerHolder = opts.headerHolder\n\t\tthis.controlsHolder = opts.controlsHolder\n\t\tthis.config = opts.config\n\t\tthis.vocabApi = opts.vocabApi\n\t\tthis.genome = opts.genome\n\t\tthis.callbacks = opts.callbacks\n\t}\n\n\tbuild() {\n\t\tthis.headerHolder\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.controlsHolder, disableScroll: true })\n\t\tconst queries = this.vocabApi.termdbConfig.queries\n\t\tif (queries.snvindel) this.addSnvindelRow(table)\n\t\tif (queries.cnv || queries.singleSampleMutation?.cnvTypes?.length) this.addCnvRow(table)\n\t\tif (queries.svfusion?.dtLst?.includes(dtfusionrna)) this.addFusionRow(table)\n\t\tif (queries.svfusion?.dtLst?.includes(dtsv)) this.addSvRow(table)\n\n\t\t// Artifact-region exclude mask (applies to all lesion types).\n\t\tthis.addExcludeRow(table)\n\n\t\tthis.runButton = this.controlsHolder\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', () => this.callbacks.onRun())\n\n\t\tthis.updateRunButtonFromCheckboxes()\n\t}\n\n\tgetDtUsage(): DtUsage {\n\t\tconst dtUsage = structuredClone(this.config.settings.dtUsage) as DtUsage\n\t\tif (dtUsage[dtsnvindel]) dtUsage[dtsnvindel].checked = this.snvindelCheckbox.property('checked')\n\t\tif (dtUsage[dtcnv]) dtUsage[dtcnv].checked = this.cnvCheckbox.property('checked')\n\t\tif (dtUsage[dtfusionrna]) dtUsage[dtfusionrna].checked = this.fusionCheckbox.property('checked')\n\t\tif (dtUsage[dtsv]) dtUsage[dtsv].checked = this.svCheckbox.property('checked')\n\t\treturn dtUsage\n\t}\n\n\tgetConfigValues(dtUsage: DtUsage): any {\n\t\tconst requestConfig: any = {}\n\t\tif (dtUsage[dtsnvindel]?.checked) {\n\t\t\trequestConfig.snvindelOptions = {\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\t\tif (dtUsage[dtcnv]?.checked) {\n\t\t\trequestConfig.cnvOptions = {\n\t\t\t\tmaxSegLength: parseFloat(this.cnv_maxSegLength.property('value'))\n\t\t\t}\n\t\t\t// id of the selected cnv file type (datasets exposing singleSampleMutation.cnvTypes, e.g. GDC)\n\t\t\tif (this.cnvSelectedTypeId) requestConfig.cnvOptions.cnvType = this.cnvSelectedTypeId\n\t\t\t// 'category' is a qualitative call with no numeric thresholds; the rows aren't rendered\n\t\t\tif (this.cnv_lossThreshold && this.cnv_gainThreshold) {\n\t\t\t\trequestConfig.cnvOptions.lossThreshold = parseFloat(this.cnv_lossThreshold.property('value'))\n\t\t\t\trequestConfig.cnvOptions.gainThreshold = parseFloat(this.cnv_gainThreshold.property('value'))\n\t\t\t}\n\t\t}\n\t\tif (dtUsage[dtfusionrna]?.checked) requestConfig.fusionOptions = {}\n\t\tif (dtUsage[dtsv]?.checked) requestConfig.svOptions = {}\n\t\t// excludeOptions.blacklists = names of the checked genome-declared sources.\n\t\t// Only emitted when the genome declares blacklists (otherwise the mask is unavailable).\n\t\tif (Object.keys(this.excludeCheckboxes).length > 0) {\n\t\t\tconst blacklists = Object.entries(this.excludeCheckboxes)\n\t\t\t\t.filter(([, cb]) => cb.property('checked'))\n\t\t\t\t.map(([name]) => name)\n\t\t\tconst overlapFracRaw = this.exclude_overlapFrac\n\t\t\t\t? parseFloat(this.exclude_overlapFrac.property('value'))\n\t\t\t\t: EXCLUDE_OVERLAP_FRAC_FALLBACK\n\t\t\trequestConfig.excludeOptions = {\n\t\t\t\tblacklists,\n\t\t\t\toverlapFrac: Number.isFinite(overlapFracRaw) ? overlapFracRaw : EXCLUDE_OVERLAP_FRAC_FALLBACK\n\t\t\t}\n\t\t}\n\t\treturn requestConfig\n\t}\n\n\tsetBusy(busy: boolean) {\n\t\tthis.controlsHolder?.style('pointer-events', busy ? 'none' : 'auto').style('opacity', busy ? '0.5' : '1')\n\t\tthis.runButton?.property('disabled', busy).text(busy ? 'Running GRIN2...' : 'Run GRIN2')\n\t}\n\n\tprivate updateRunButtonFromCheckboxes() {\n\t\tconst dtUsage = this.snvindelCheckbox ? this.getDtUsage() : (this.config.settings.dtUsage as DtUsage)\n\t\tconst anyChecked = Object.values(dtUsage).some(info => info.checked)\n\t\tthis.runButton?.property('disabled', !anyChecked)\n\t}\n\n\tprivate getSelectedConsequences(): string[] {\n\t\tconst consequences: string[] = []\n\t\tObject.entries(this.consequenceCheckboxes).forEach(([classKey, checkbox]) => {\n\t\t\tif (checkbox.property('checked')) consequences.push(classKey)\n\t\t})\n\t\treturn consequences\n\t}\n\n\tprivate addSnvindelRow(table: any) {\n\t\tconst [left, right] = table.addRow()\n\t\tconst t2 = table2col({ holder: right })\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\t\t\tthis.createConsequenceCheckboxes(containerCell)\n\t\t}\n\n\t\t// MAF filter UI (only if dataset config provides it)\n\t\tconst mafFilterConfig = this.vocabApi.termdbConfig.queries?.snvindel?.mafFilter\n\t\tif (mafFilterConfig) {\n\t\t\tthis.snvindelMafFilter = structuredClone(\n\t\t\t\tthis.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\tconst isChecked = this.config.settings.dtUsage[dtsnvindel].checked\n\t\tt2.table.style('display', isChecked ? '' : 'none')\n\t\tthis.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\tprivate addCnvRow(table: any) {\n\t\tconst [left, right] = table.addRow()\n\t\t// container toggled by the cnv checkbox; holds the type radios (if any) + threshold inputs\n\t\tconst cnvBody = right.append('div')\n\n\t\t// Only use saved CNV settings if a previous run completed\n\t\tconst useSaved = this.config.settings.runAnalysis === true\n\t\tconst savedCnv = useSaved ? this.config.settings.cnvOptions : undefined\n\t\tconst cnvQuery = this.vocabApi.termdbConfig.queries.cnv\n\t\t// datasets that serve multiple cnv file types per sample (e.g. GDC masked vs allele-specific)\n\t\tconst cnvTypes = this.vocabApi.termdbConfig.queries.singleSampleMutation?.cnvTypes as\n\t\t\t| { id: string; label: string; valueType: CnvType; dataType: string }[]\n\t\t\t| undefined\n\n\t\t// radios (if any) sit above the threshold inputs, which are rebuilt when the selected type changes\n\t\tconst radioHolder = cnvTypes?.length ? cnvBody.append('div').style('margin-bottom', '6px') : null\n\t\tconst thresholdHolder = cnvBody.append('div')\n\n\t\tif (cnvTypes?.length) {\n\t\t\t// initial selection: a saved & still-valid type, else the first declared type\n\t\t\tconst savedId = savedCnv?.cnvType\n\t\t\tthis.cnvSelectedTypeId = (savedId && cnvTypes.find(t => t.id === savedId)?.id) || cnvTypes[0].id\n\n\t\t\t// one radio per declared cnv type; switching rebuilds the threshold rows for the new valueType\n\t\t\tmake_radios({\n\t\t\t\tholder: radioHolder,\n\t\t\t\toptions: cnvTypes.map(t => ({\n\t\t\t\t\tlabel: t.label,\n\t\t\t\t\tvalue: t.id,\n\t\t\t\t\tchecked: t.id === this.cnvSelectedTypeId,\n\t\t\t\t\ttestid: `sjpp-grin2-cnvtype-${t.id}`\n\t\t\t\t})),\n\t\t\t\tstyles: { display: 'block' },\n\t\t\t\tcallback: (value: string) => {\n\t\t\t\t\tthis.cnvSelectedTypeId = value\n\t\t\t\t\tconst def = cnvTypes.find(t => t.id === value)\n\t\t\t\t\t// only reuse saved thresholds when the user is back on the saved type; otherwise show defaults\n\t\t\t\t\tconst savedForType = value === savedCnv?.cnvType ? savedCnv : undefined\n\t\t\t\t\tthis.renderCnvThresholdRows(thresholdHolder, def?.valueType ?? 'log2ratio', savedForType, cnvQuery)\n\t\t\t\t}\n\t\t\t})\n\t\t} else {\n\t\t\tthis.cnvSelectedTypeId = null\n\t\t}\n\n\t\t// initial threshold rows. valueType from the selected type (cnvTypes ds) or ds-level cnv.type (file ds)\n\t\tconst initialValueType: CnvType =\n\t\t\t(cnvTypes?.length ? cnvTypes.find(t => t.id === this.cnvSelectedTypeId)?.valueType : cnvQuery?.type) ??\n\t\t\t'log2ratio'\n\t\t// savedCnv only applies to the initially-selected type (or to the single-type file ds case)\n\t\tconst initialSaved = !cnvTypes?.length || this.cnvSelectedTypeId === savedCnv?.cnvType ? savedCnv : undefined\n\t\tthis.renderCnvThresholdRows(thresholdHolder, initialValueType, initialSaved, cnvQuery)\n\n\t\tconst dtUsage = this.config.settings.dtUsage\n\t\tconst isChecked =\n\t\t\tuseSaved && dtUsage[dtcnv]?.checked !== undefined ? dtUsage[dtcnv].checked : !!(cnvQuery || cnvTypes?.length)\n\t\tcnvBody.style('display', isChecked ? '' : 'none')\n\n\t\tthis.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\tcnvBody.style('display', checked ? '' : 'none')\n\t\t\t\tthis.updateRunButtonFromCheckboxes()\n\t\t\t}\n\t\t})\n\t}\n\n\t/** (Re)build the loss/gain/maxSeg inputs for a given cnv value type. Called on first render and whenever\n\t * the user switches cnv type \u2014 segmean/copyNumber/log2ratio have type-specific defaults and ranges, and\n\t * 'category' is qualitative and hides the thresholds entirely. */\n\tprivate renderCnvThresholdRows(holder: any, valueType: CnvType, savedCnv: any, cnvQuery: any) {\n\t\tholder.selectAll('*').remove()\n\t\tthis.cnvType = valueType\n\t\tconst cfg = CNV_TYPE_CONFIG[valueType]\n\t\tconst t2 = table2col({ holder })\n\n\t\tif (!cfg.hideThresholds) {\n\t\t\tthis.cnv_lossThreshold = this.addOptionRowToTable(\n\t\t\t\tt2,\n\t\t\t\tcfg.unitLabel ? `Loss Threshold (${cfg.unitLabel})` : 'Loss Threshold',\n\t\t\t\tsavedCnv?.lossThreshold ?? cnvQuery?.cnvLossCutoff ?? cfg.lossDefault,\n\t\t\t\tcfg.lossMin,\n\t\t\t\tcfg.lossMax,\n\t\t\t\tcfg.step\n\t\t\t)\n\t\t\tthis.cnv_gainThreshold = this.addOptionRowToTable(\n\t\t\t\tt2,\n\t\t\t\tcfg.unitLabel ? `Gain Threshold (${cfg.unitLabel})` : 'Gain Threshold',\n\t\t\t\tsavedCnv?.gainThreshold ?? cnvQuery?.cnvGainCutoff ?? cfg.gainDefault,\n\t\t\t\tcfg.gainMin,\n\t\t\t\tcfg.gainMax,\n\t\t\t\tcfg.step\n\t\t\t)\n\t\t} else {\n\t\t\t// qualitative call: no numeric thresholds; clear any stale inputs so getConfigValues omits them\n\t\t\tthis.cnv_lossThreshold = null\n\t\t\tthis.cnv_gainThreshold = null\n\t\t}\n\t\tthis.cnv_maxSegLength = this.addOptionRowToTable(\n\t\t\tt2,\n\t\t\t'Max Segment Length',\n\t\t\tsavedCnv?.maxSegLength ?? cnvQuery?.cnvMaxLength ?? CNV_MAX_SEG_LENGTH_FALLBACK,\n\t\t\t0,\n\t\t\t1e9,\n\t\t\t1000\n\t\t)\n\t}\n\n\tprivate addFusionRow(table: any) {\n\t\tconst [left, right] = table.addRow()\n\t\tconst t2 = table2col({ holder: right })\n\t\tconst isChecked = this.config.settings.dtUsage[dtfusionrna].checked\n\t\tt2.table.style('display', isChecked ? '' : 'none')\n\n\t\tthis.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\tprivate addSvRow(table: any) {\n\t\tconst [left, right] = table.addRow()\n\t\tconst t2 = table2col({ holder: right })\n\t\tconst isChecked = this.config.settings.dtUsage[dtsv].checked\n\t\tt2.table.style('display', isChecked ? '' : 'none')\n\n\t\tthis.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/** Artifact-region mask row. Renders one checkbox per blacklist source declared for the genome\n\t * (Genome.blacklists, exposed to the client as {name}[]), plus the gene-overlap-fraction input.\n\t * Skipped entirely when the genome declares no blacklists. Unchecking all sources disables the\n\t * mask (server resolves an empty source list to no masking). */\n\tprivate addExcludeRow(table: any) {\n\t\tconst blacklists: { name: string }[] = this.genome?.blacklists || []\n\t\tif (!blacklists.length) return\n\n\t\tconst [left, right] = table.addRow()\n\t\tleft.text('Exclude genes overlapping').style('padding-top', '4px')\n\n\t\t// default = all sources on; if a previous run saved a selection, restore exactly that set\n\t\tconst savedExclude = this.config.settings.runAnalysis === true ? this.config.settings.excludeOptions : undefined\n\t\tconst savedNames: string[] | undefined = savedExclude?.blacklists\n\t\tconst isChecked = (name: string) => (savedNames ? savedNames.includes(name) : true)\n\n\t\tthis.excludeCheckboxes = {}\n\t\tconst cbContainer = right.append('div').style('margin-bottom', '6px')\n\t\tblacklists.forEach(bl => {\n\t\t\tconst div = cbContainer.append('div').style('margin-bottom', checkboxMarginBottom)\n\t\t\tthis.excludeCheckboxes[bl.name] = make_one_checkbox({\n\t\t\t\tholder: div,\n\t\t\t\tlabeltext: bl.name,\n\t\t\t\tchecked: isChecked(bl.name),\n\t\t\t\tdivstyle: { 'font-size': `${tableFontSize}px` },\n\t\t\t\tcallback: () => {}\n\t\t\t})\n\t\t})\n\n\t\tconst t2 = table2col({ holder: right })\n\t\tthis.exclude_overlapFrac = this.addOptionRowToTable(\n\t\t\tt2,\n\t\t\t'Min gene overlap',\n\t\t\tsavedExclude?.overlapFrac ?? EXCLUDE_OVERLAP_FRAC_FALLBACK,\n\t\t\t0,\n\t\t\t1,\n\t\t\t0.05\n\t\t)\n\t}\n\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', inputWidth)\n\t\t\t.style('padding', inputPadding)\n\t\t\t.style('border', `1px solid ${inputBorderColor}`)\n\t\t\t.style('border-radius', inputBorderRadius)\n\t\t\t.style('font-size', `${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\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.config.settings.snvindelOptions?.consequences as string[] | undefined\n\t\tconst useSaved = this.config.settings.runAnalysis === true && !!saved && saved.length > 0\n\t\tconst canonicalDefault = new Set<string>([...proteinChangingMutations, 'StartLost', 'StopLost'])\n\t\tconst initialChecked = useSaved ? new Set<string>(saved!) : canonicalDefault\n\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', controlGap)\n\n\t\tthis.snvindelSelectAllBtn = controlDiv.append('button').style('font-size', `${tableFontSize}px`).text('Select All')\n\t\tthis.snvindelClearAllBtn = controlDiv.append('button').style('font-size', `${tableFontSize}px`).text('Clear All')\n\t\tthis.snvindelDefaultBtn = controlDiv.append('button').style('font-size', `${tableFontSize}px`).text('Default')\n\n\t\tconst checkboxContainer = container\n\t\t\t.append('div')\n\t\t\t.style('max-height', checkboxContainerMaxHeight)\n\t\t\t.style('overflow-y', 'auto')\n\t\t\t.style('border', checkboxContainerBorder)\n\n\t\tthis.consequenceCheckboxes = {}\n\t\tsnvIndelClasses.forEach(([classKey, classInfo]: [string, any]) => {\n\t\t\tconst checkboxDiv = checkboxContainer.append('div').style('margin-bottom', checkboxMarginBottom)\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': `${tableFontSize}px` },\n\t\t\t\tcallback: () => {}\n\t\t\t})\n\t\t\tcheckboxDiv.select('label').attr('title', classInfo.desc)\n\t\t\tthis.consequenceCheckboxes[classKey] = checkbox\n\t\t})\n\n\t\tthis.snvindelSelectAllBtn.on('click', () => {\n\t\t\tObject.values(this.consequenceCheckboxes).forEach(cb => cb.property('checked', true))\n\t\t})\n\t\tthis.snvindelClearAllBtn.on('click', () => {\n\t\t\tObject.values(this.consequenceCheckboxes).forEach(cb => cb.property('checked', false))\n\t\t})\n\t\tthis.snvindelDefaultBtn.on('click', () => {\n\t\t\tObject.entries(this.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", "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 { GRIN2Model } from './model/GRIN2Model'\nimport { GRIN2ViewModel } from './viewModel/GRIN2ViewModel'\nimport { GRIN2ResultsView } from './view/GRIN2ResultsView'\nimport { GRIN2ControlsView } from './view/GRIN2ControlsView'\nimport { getDefaultGRIN2Settings } from './settings/defaults'\nimport { getCombinedTermFilter, getNormalRoot } from '#filter'\nimport { sayerror } from '#dom'\nimport { dtsnvindel, dtcnv, dtfusionrna, dtsv, dt2lesion } from '#shared/common.js'\nimport { PlotBase } from '#plots/PlotBase.ts'\nimport { controlsInit } from '#plots/controls.js'\n\nclass GRIN2 extends PlotBase implements RxComponent {\n\tstatic type = 'grin2'\n\treadonly type = 'grin2'\n\tdom: GRIN2Dom\n\tcomponents: { controls: ComponentApi }\n\tprivate model!: GRIN2Model\n\tprivate resultsView!: GRIN2ResultsView\n\tprivate controlsView: GRIN2ControlsView | null = null\n\n\tconstructor(opts: any, api) {\n\t\tsuper(opts, api)\n\t\tthis.opts = opts\n\t\tthis.components = { controls: {} as ComponentApi }\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'),\n\t\t\tdiv: opts.holder.append('div').style('margin', '20px')\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\tconst termfilter = getCombinedTermFilter(appState, config.filter || parentConfig?.filter)\n\t\treturn { config, termfilter }\n\t}\n\n\tasync init() {\n\t\tthis.model = new GRIN2Model(this.app.vocabApi)\n\t\tthis.resultsView = new GRIN2ResultsView(this.dom.div, this.app)\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// Remove the burger and download buttons for now\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\tconst config = structuredClone(this.state.config)\n\t\tif (config.childType != this.type && config.chartType != this.type) return\n\n\t\tif (!this.controlsView) {\n\t\t\tthis.controlsView = new GRIN2ControlsView({\n\t\t\t\theaderHolder: this.dom.headerText,\n\t\t\t\tcontrolsHolder: this.dom.controls,\n\t\t\t\tconfig: this.state.config,\n\t\t\t\tvocabApi: this.app.vocabApi,\n\t\t\t\tgenome: this.app.opts.genome,\n\t\t\t\tcallbacks: { onRun: () => this.handleRun() }\n\t\t\t})\n\t\t\tthis.controlsView.build()\n\t\t\tif (this.state.config.settings.runAnalysis) this.handleRun()\n\t\t}\n\t}\n\n\tprivate async handleRun() {\n\t\tif (!this.controlsView) return\n\t\tthis.controlsView.setBusy(true)\n\t\ttry {\n\t\t\tconst dtUsage = this.controlsView.getDtUsage()\n\t\t\tthis.resultsView.clear()\n\n\t\t\tconst configValues = this.controlsView.getConfigValues(dtUsage)\n\t\t\tconst manhattan = this.state.config.settings.manhattan\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: manhattan?.plotWidth,\n\t\t\t\theight: manhattan?.plotHeight,\n\t\t\t\tpngDotRadius: manhattan?.pngDotRadius,\n\t\t\t\tdevicePixelRatio: window.devicePixelRatio,\n\t\t\t\tmaxGenesToShow: manhattan?.maxGenesToShow,\n\t\t\t\tlesionTypeColors: manhattan?.lesionTypeColors,\n\t\t\t\tqValueThreshold: manhattan?.qValueThreshold,\n\t\t\t\tmaxCappedPoints: manhattan?.maxCappedPoints,\n\t\t\t\thardCap: manhattan?.hardCap,\n\t\t\t\tbinSize: manhattan?.binSize,\n\t\t\t\t...configValues\n\t\t\t}\n\n\t\t\tconst response = await this.model.fetchGrin2Data(requestData, this.api!.getAbortSignal())\n\t\t\tif (response.status === 'error') throw `GRIN2 analysis failed: ${response.error}`\n\n\t\t\tconst vm = new GRIN2ViewModel(response, manhattan, dtUsage)\n\t\t\tthis.resultsView.render(vm.viewData)\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: {\n\t\t\t\t\t...this.state.config,\n\t\t\t\t\tsettings: {\n\t\t\t\t\t\t...this.state.config.settings,\n\t\t\t\t\t\t...configValues,\n\t\t\t\t\t\tdtUsage,\n\t\t\t\t\t\trunAnalysis: true\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t} catch (error) {\n\t\t\t// dom.div may be undefined if the sandbox was deleted mid-request \u2014 don't crash in that case\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}\n\t\t} finally {\n\t\t\tthis.controlsView?.setBusy(false)\n\t\t}\n\t}\n}\n\nexport const grin2Init = getCompInit(GRIN2)\nexport const componentInit = grin2Init\n\nexport async function getPlotConfig(opts: GRIN2Opts, app: MassAppApi) {\n\tconst queries = app.vocabApi.termdbConfig.queries\n\tconst defaultSettings = getDefaultGRIN2Settings(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\t// CNV is available either via a ds-level cnv query (file-based ds) or via per-sample cnv file types\n\t// declared on singleSampleMutation (e.g. GDC, which has no queries.cnv but serves cnv per case).\n\tif (queries?.cnv || queries?.singleSampleMutation?.cnvTypes?.length) {\n\t\tdtUsage[dtcnv] = { checked: true, label: dt2lesion[dtcnv].uilabel }\n\t}\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\t// snvindelOptions / cnvOptions / fusionOptions / svOptions are intentionally not seeded here.\n\t// ControlsView supplies the user-visible defaults via its own fallback chain\n\t// (savedCnv ?? dsConfig ?? CNV_*_FALLBACK), and handleRun writes the live form values\n\t// back into settings on each Run. So before the first Run these stay undefined; after,\n\t// they are always present from the form. Seeding them here would only add magic numbers\n\t// that no code reads.\n\tconst config = {\n\t\tchartType: 'grin2',\n\t\tsettings: {\n\t\t\tcontrols: {},\n\t\t\tdtUsage,\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}\n\t}\n\n\treturn copyMerge(config, opts)\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,75 @@
1
+ import {
2
+ appInit
3
+ } from "./chunk-67QZRGIJ.js";
4
+ import "./chunk-VOGPIAQL.js";
5
+ import "./chunk-SKMFMGCD.js";
6
+ import "./chunk-4KY4XKJV.js";
7
+ import {
8
+ vocabInit
9
+ } from "./chunk-RHGAE6PY.js";
10
+ import "./chunk-HJ6L54YS.js";
11
+ import "./chunk-LSEFWW72.js";
12
+ import "./chunk-7K6LTROG.js";
13
+ import "./chunk-HYOEWQ5P.js";
14
+ import "./chunk-HBW42TDT.js";
15
+ import "./chunk-LQJMCE7G.js";
16
+ import "./chunk-FN5XPUPH.js";
17
+ import "./chunk-IIT367QZ.js";
18
+ import "./chunk-RZGEKL77.js";
19
+ import "./chunk-KM4JBR26.js";
20
+ import "./chunk-COYULNJF.js";
21
+ import "./chunk-6G4YOMWW.js";
22
+ import "./chunk-7IYJZZQI.js";
23
+ import {
24
+ copyMerge
25
+ } from "./chunk-M3J4MINX.js";
26
+ import "./chunk-PF4DSFDR.js";
27
+ import "./chunk-I73KUUYG.js";
28
+ import "./chunk-IVXCWCKS.js";
29
+ import "./chunk-7KRS7L4U.js";
30
+ import "./chunk-BKPDYW5T.js";
31
+ import "./chunk-JNITUVXP.js";
32
+ import "./chunk-TJYRBEBK.js";
33
+ import "./chunk-LOZEKOES.js";
34
+ import "./chunk-VQZ2Z5YU.js";
35
+ import "./chunk-SOTB4FRE.js";
36
+ import "./chunk-TLT4YIG3.js";
37
+ import "./chunk-KYBIQBXE.js";
38
+ import {
39
+ select_default
40
+ } from "./chunk-I6Y4O3RR.js";
41
+ import "./chunk-OMR2DT66.js";
42
+ import "./chunk-DQC5FFGV.js";
43
+ import "./chunk-HFNDKYVF.js";
44
+
45
+ // gdc/grin2.ts
46
+ async function gdcGRIN2ui(arg, _holder, genomes) {
47
+ const toolGenome = arg.genome || "hg38";
48
+ const toolDslabel = arg.dslabel || "GDC";
49
+ const genome = genomes[toolGenome];
50
+ if (!genome) throw toolGenome + " missing";
51
+ if (arg.filter0 && typeof arg.filter0 != "object") throw "arg.filter0 not object";
52
+ const vocabApi = await vocabInit({
53
+ state: { vocab: { genome: toolGenome, dslabel: toolDslabel } }
54
+ });
55
+ vocabApi.getTermdbConfig();
56
+ const plotAppApi = await appInit({
57
+ holder: select_default(arg.holder).select(".sja_root_holder"),
58
+ genome,
59
+ state: copyMerge(
60
+ {
61
+ genome: toolGenome,
62
+ dslabel: toolDslabel,
63
+ termfilter: { filter0: arg.filter0 },
64
+ plots: [{ chartType: "grin2" }]
65
+ },
66
+ arg.state || {}
67
+ ),
68
+ app: arg.opts?.app || {}
69
+ });
70
+ return plotAppApi;
71
+ }
72
+ export {
73
+ gdcGRIN2ui
74
+ };
75
+ //# sourceMappingURL=grin2-QOOJBELM.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../gdc/grin2.ts"],
4
+ "sourcesContent": ["import { appInit } from '#plots/plot.app.js'\nimport { select } from 'd3-selection'\nimport { vocabInit } from '#termdb/vocabulary'\nimport { copyMerge } from '#rx'\n\n/*\nGDC entry point that mounts the shared GRIN2 plot (client/plots/grin2) in the GDC portal. This is just a\nthin bootstrap \u2014 the shared route (/grin2) and UI (client/plots/grin2) hold the logic; here we only spin\nup the GDC vocab + mass app and open the grin2 plot, the same way the GDC OncoMatrix (oncomatrix.js) and\nother GDC tools launch. Passes the GDC cohort via termfilter.filter0.\n\nCohort-driven: there is no per-file selection table. The shared GRIN2 plot's handleRun forwards the GDC\ncohort (filter0) to the general /grin2 route, which uses the same cohort\u2192sample path as native datasets\nand reads each case's mutation data from the general getter ds.queries.singleSampleMutation.get().\n\nrunpp() arg:\n .filter0{} optional GDC cohort filter\n .holder DOM node to render into (a .sja_root_holder is created inside it by the pp app wrapper)\n*/\n\nexport async function gdcGRIN2ui(arg: any, _holder: any, genomes: any) {\n\tconst toolGenome = arg.genome || 'hg38'\n\tconst toolDslabel = arg.dslabel || 'GDC'\n\tconst genome = genomes[toolGenome]\n\tif (!genome) throw toolGenome + ' missing'\n\tif (arg.filter0 && typeof arg.filter0 != 'object') throw 'arg.filter0 not object'\n\n\tconst vocabApi = await vocabInit({\n\t\tstate: { vocab: { genome: toolGenome, dslabel: toolDslabel } }\n\t})\n\tvocabApi.getTermdbConfig()\n\n\tconst plotAppApi = await appInit({\n\t\tholder: select(arg.holder).select('.sja_root_holder'),\n\t\tgenome,\n\t\tstate: copyMerge(\n\t\t\t{\n\t\t\t\tgenome: toolGenome,\n\t\t\t\tdslabel: toolDslabel,\n\t\t\t\ttermfilter: { filter0: arg.filter0 },\n\t\t\t\tplots: [{ chartType: 'grin2' }]\n\t\t\t},\n\t\t\targ.state || {}\n\t\t),\n\t\tapp: arg.opts?.app || {}\n\t})\n\n\treturn plotAppApi\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,eAAsB,WAAW,KAAU,SAAc,SAAc;AACtE,QAAM,aAAa,IAAI,UAAU;AACjC,QAAM,cAAc,IAAI,WAAW;AACnC,QAAM,SAAS,QAAQ,UAAU;AACjC,MAAI,CAAC,OAAQ,OAAM,aAAa;AAChC,MAAI,IAAI,WAAW,OAAO,IAAI,WAAW,SAAU,OAAM;AAEzD,QAAM,WAAW,MAAM,UAAU;AAAA,IAChC,OAAO,EAAE,OAAO,EAAE,QAAQ,YAAY,SAAS,YAAY,EAAE;AAAA,EAC9D,CAAC;AACD,WAAS,gBAAgB;AAEzB,QAAM,aAAa,MAAM,QAAQ;AAAA,IAChC,QAAQ,eAAO,IAAI,MAAM,EAAE,OAAO,kBAAkB;AAAA,IACpD;AAAA,IACA,OAAO;AAAA,MACN;AAAA,QACC,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,YAAY,EAAE,SAAS,IAAI,QAAQ;AAAA,QACnC,OAAO,CAAC,EAAE,WAAW,QAAQ,CAAC;AAAA,MAC/B;AAAA,MACA,IAAI,SAAS,CAAC;AAAA,IACf;AAAA,IACA,KAAK,IAAI,MAAM,OAAO,CAAC;AAAA,EACxB,CAAC;AAED,SAAO;AACR;",
6
+ "names": []
7
+ }
@@ -0,0 +1,47 @@
1
+ import {
2
+ componentInit,
3
+ getDefaultGseaSettings,
4
+ getPlotConfig,
5
+ gseaInit,
6
+ makeChartBtnMenu
7
+ } from "./chunk-UFGV7554.js";
8
+ import "./chunk-PWUERAAF.js";
9
+ import "./chunk-RHGAE6PY.js";
10
+ import "./chunk-HJ6L54YS.js";
11
+ import "./chunk-LSEFWW72.js";
12
+ import "./chunk-7K6LTROG.js";
13
+ import "./chunk-HYOEWQ5P.js";
14
+ import "./chunk-HBW42TDT.js";
15
+ import "./chunk-LQJMCE7G.js";
16
+ import "./chunk-FN5XPUPH.js";
17
+ import "./chunk-IIT367QZ.js";
18
+ import "./chunk-RZGEKL77.js";
19
+ import "./chunk-KM4JBR26.js";
20
+ import "./chunk-COYULNJF.js";
21
+ import "./chunk-6G4YOMWW.js";
22
+ import "./chunk-7IYJZZQI.js";
23
+ import "./chunk-M3J4MINX.js";
24
+ import "./chunk-PF4DSFDR.js";
25
+ import "./chunk-I73KUUYG.js";
26
+ import "./chunk-IVXCWCKS.js";
27
+ import "./chunk-7KRS7L4U.js";
28
+ import "./chunk-BKPDYW5T.js";
29
+ import "./chunk-JNITUVXP.js";
30
+ import "./chunk-TJYRBEBK.js";
31
+ import "./chunk-LOZEKOES.js";
32
+ import "./chunk-VQZ2Z5YU.js";
33
+ import "./chunk-SOTB4FRE.js";
34
+ import "./chunk-TLT4YIG3.js";
35
+ import "./chunk-KYBIQBXE.js";
36
+ import "./chunk-I6Y4O3RR.js";
37
+ import "./chunk-OMR2DT66.js";
38
+ import "./chunk-DQC5FFGV.js";
39
+ import "./chunk-HFNDKYVF.js";
40
+ export {
41
+ componentInit,
42
+ getDefaultGseaSettings,
43
+ getPlotConfig,
44
+ gseaInit,
45
+ makeChartBtnMenu
46
+ };
47
+ //# sourceMappingURL=gsea-6YBRMGOC.js.map
@@ -0,0 +1,59 @@
1
+ import {
2
+ HierCluster,
3
+ componentInit,
4
+ hierClusterInit
5
+ } from "./chunk-OWPBE2LB.js";
6
+ import "./chunk-CD3VY5WW.js";
7
+ import "./chunk-5X5LI5YM.js";
8
+ import "./chunk-T46LHXJW.js";
9
+ import "./chunk-UAOPKEMR.js";
10
+ import "./chunk-UV66X5JN.js";
11
+ import "./chunk-DDKS3MV3.js";
12
+ import "./chunk-5CR24RTX.js";
13
+ import "./chunk-N6QEVQZV.js";
14
+ import "./chunk-YP2LHXFC.js";
15
+ import "./chunk-DNVSEW6P.js";
16
+ import "./chunk-VDIVDU3T.js";
17
+ import "./chunk-EC3SKPQT.js";
18
+ import "./chunk-CDUNE45Q.js";
19
+ import "./chunk-HUBO743S.js";
20
+ import "./chunk-6YJCBK4J.js";
21
+ import "./chunk-YNAPHPMG.js";
22
+ import "./chunk-V2OJLJSK.js";
23
+ import "./chunk-RHGAE6PY.js";
24
+ import "./chunk-HJ6L54YS.js";
25
+ import "./chunk-LSEFWW72.js";
26
+ import "./chunk-7K6LTROG.js";
27
+ import "./chunk-HYOEWQ5P.js";
28
+ import "./chunk-HBW42TDT.js";
29
+ import "./chunk-LQJMCE7G.js";
30
+ import "./chunk-FN5XPUPH.js";
31
+ import "./chunk-IIT367QZ.js";
32
+ import "./chunk-RZGEKL77.js";
33
+ import "./chunk-KM4JBR26.js";
34
+ import "./chunk-COYULNJF.js";
35
+ import "./chunk-6G4YOMWW.js";
36
+ import "./chunk-7IYJZZQI.js";
37
+ import "./chunk-M3J4MINX.js";
38
+ import "./chunk-PF4DSFDR.js";
39
+ import "./chunk-I73KUUYG.js";
40
+ import "./chunk-IVXCWCKS.js";
41
+ import "./chunk-7KRS7L4U.js";
42
+ import "./chunk-BKPDYW5T.js";
43
+ import "./chunk-JNITUVXP.js";
44
+ import "./chunk-TJYRBEBK.js";
45
+ import "./chunk-LOZEKOES.js";
46
+ import "./chunk-VQZ2Z5YU.js";
47
+ import "./chunk-SOTB4FRE.js";
48
+ import "./chunk-TLT4YIG3.js";
49
+ import "./chunk-KYBIQBXE.js";
50
+ import "./chunk-I6Y4O3RR.js";
51
+ import "./chunk-OMR2DT66.js";
52
+ import "./chunk-DQC5FFGV.js";
53
+ import "./chunk-HFNDKYVF.js";
54
+ export {
55
+ HierCluster,
56
+ componentInit,
57
+ hierClusterInit
58
+ };
59
+ //# sourceMappingURL=hierCluster-B3TULT27.js.map
@@ -0,0 +1,63 @@
1
+ import {
2
+ HierCluster,
3
+ componentInit,
4
+ hierClusterInit
5
+ } from "./chunk-OWPBE2LB.js";
6
+ import "./chunk-CD3VY5WW.js";
7
+ import "./chunk-5X5LI5YM.js";
8
+ import "./chunk-T46LHXJW.js";
9
+ import "./chunk-UAOPKEMR.js";
10
+ import {
11
+ getPlotConfig
12
+ } from "./chunk-F47X3VUC.js";
13
+ import "./chunk-UV66X5JN.js";
14
+ import "./chunk-DDKS3MV3.js";
15
+ import "./chunk-5CR24RTX.js";
16
+ import "./chunk-N6QEVQZV.js";
17
+ import "./chunk-YP2LHXFC.js";
18
+ import "./chunk-DNVSEW6P.js";
19
+ import "./chunk-VDIVDU3T.js";
20
+ import "./chunk-EC3SKPQT.js";
21
+ import "./chunk-CDUNE45Q.js";
22
+ import "./chunk-HUBO743S.js";
23
+ import "./chunk-6YJCBK4J.js";
24
+ import "./chunk-YNAPHPMG.js";
25
+ import "./chunk-V2OJLJSK.js";
26
+ import "./chunk-RHGAE6PY.js";
27
+ import "./chunk-HJ6L54YS.js";
28
+ import "./chunk-LSEFWW72.js";
29
+ import "./chunk-7K6LTROG.js";
30
+ import "./chunk-HYOEWQ5P.js";
31
+ import "./chunk-HBW42TDT.js";
32
+ import "./chunk-LQJMCE7G.js";
33
+ import "./chunk-FN5XPUPH.js";
34
+ import "./chunk-IIT367QZ.js";
35
+ import "./chunk-RZGEKL77.js";
36
+ import "./chunk-KM4JBR26.js";
37
+ import "./chunk-COYULNJF.js";
38
+ import "./chunk-6G4YOMWW.js";
39
+ import "./chunk-7IYJZZQI.js";
40
+ import "./chunk-M3J4MINX.js";
41
+ import "./chunk-PF4DSFDR.js";
42
+ import "./chunk-I73KUUYG.js";
43
+ import "./chunk-IVXCWCKS.js";
44
+ import "./chunk-7KRS7L4U.js";
45
+ import "./chunk-BKPDYW5T.js";
46
+ import "./chunk-JNITUVXP.js";
47
+ import "./chunk-TJYRBEBK.js";
48
+ import "./chunk-LOZEKOES.js";
49
+ import "./chunk-VQZ2Z5YU.js";
50
+ import "./chunk-SOTB4FRE.js";
51
+ import "./chunk-TLT4YIG3.js";
52
+ import "./chunk-KYBIQBXE.js";
53
+ import "./chunk-I6Y4O3RR.js";
54
+ import "./chunk-OMR2DT66.js";
55
+ import "./chunk-DQC5FFGV.js";
56
+ import "./chunk-HFNDKYVF.js";
57
+ export {
58
+ HierCluster,
59
+ componentInit,
60
+ getPlotConfig,
61
+ hierClusterInit
62
+ };
63
+ //# sourceMappingURL=hierCluster-NF75B7MZ.js.map
@@ -0,0 +1,40 @@
1
+ import {
2
+ getPlotConfig
3
+ } from "./chunk-F47X3VUC.js";
4
+ import "./chunk-UV66X5JN.js";
5
+ import "./chunk-CDUNE45Q.js";
6
+ import "./chunk-RHGAE6PY.js";
7
+ import "./chunk-HJ6L54YS.js";
8
+ import "./chunk-LSEFWW72.js";
9
+ import "./chunk-7K6LTROG.js";
10
+ import "./chunk-HYOEWQ5P.js";
11
+ import "./chunk-HBW42TDT.js";
12
+ import "./chunk-LQJMCE7G.js";
13
+ import "./chunk-FN5XPUPH.js";
14
+ import "./chunk-IIT367QZ.js";
15
+ import "./chunk-RZGEKL77.js";
16
+ import "./chunk-KM4JBR26.js";
17
+ import "./chunk-COYULNJF.js";
18
+ import "./chunk-6G4YOMWW.js";
19
+ import "./chunk-7IYJZZQI.js";
20
+ import "./chunk-M3J4MINX.js";
21
+ import "./chunk-PF4DSFDR.js";
22
+ import "./chunk-I73KUUYG.js";
23
+ import "./chunk-IVXCWCKS.js";
24
+ import "./chunk-7KRS7L4U.js";
25
+ import "./chunk-BKPDYW5T.js";
26
+ import "./chunk-JNITUVXP.js";
27
+ import "./chunk-TJYRBEBK.js";
28
+ import "./chunk-LOZEKOES.js";
29
+ import "./chunk-VQZ2Z5YU.js";
30
+ import "./chunk-SOTB4FRE.js";
31
+ import "./chunk-TLT4YIG3.js";
32
+ import "./chunk-KYBIQBXE.js";
33
+ import "./chunk-I6Y4O3RR.js";
34
+ import "./chunk-OMR2DT66.js";
35
+ import "./chunk-DQC5FFGV.js";
36
+ import "./chunk-HFNDKYVF.js";
37
+ export {
38
+ getPlotConfig
39
+ };
40
+ //# sourceMappingURL=hierCluster.config-TEFI7M4K.js.map