@sjcrh/proteinpaint-client 2.185.0 → 2.186.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (848) hide show
  1. package/dist/2dmaf-F5QNP7AQ.js +1371 -0
  2. package/dist/AIProjectAdmin-ROSQHK6Q.js +827 -0
  3. package/dist/AIProjectAdmin-ROSQHK6Q.js.map +7 -0
  4. package/dist/AppHeader-STVCDLET.js +833 -0
  5. package/dist/BoxPlot-CU7MEBH7.js +1217 -0
  6. package/dist/CorrelationVolcano-OE4R2GS3.js +617 -0
  7. package/dist/DE-SR7PJPKI.js +93 -0
  8. package/dist/DEinput-PRIAIBFH.js +299 -0
  9. package/dist/DEinput-PRIAIBFH.js.map +7 -0
  10. package/dist/DifferentialAnalysis-UWTYK7NU.js +241 -0
  11. package/dist/Disco-IL6REGSA.js +3235 -0
  12. package/dist/Disco.UI-JHHLS5BA.js +242 -0
  13. package/dist/DmrPlot-DDP53T3F.js +640 -0
  14. package/dist/GB-F4LMYMHF.js +1127 -0
  15. package/dist/GB-F4LMYMHF.js.map +7 -0
  16. package/dist/GeneExpInput-ZWBC226P.js +363 -0
  17. package/dist/GeneExpInput-ZWBC226P.js.map +7 -0
  18. package/dist/HicApp-RVFHTYED.js +2248 -0
  19. package/dist/NumBinaryEditor-B3FXQAOH.js +268 -0
  20. package/dist/NumBinaryEditor.unit.spec-75YQJ2U6.js +284 -0
  21. package/dist/NumContEditor-5PYW3OLY.js +105 -0
  22. package/dist/NumContEditor.unit.spec-F7ZRDGBN.js +167 -0
  23. package/dist/NumCustomBinEditor-TBT6GLYQ.js +36 -0
  24. package/dist/NumCustomBinEditor.unit.spec-6YHU45XV.js +282 -0
  25. package/dist/NumDiscreteEditor-N6OJYSJA.js +177 -0
  26. package/dist/NumDiscreteEditor.unit.spec-HQS5RZ6R.js +200 -0
  27. package/dist/NumRegularBinEditor-HSDDKVNG.js +36 -0
  28. package/dist/NumRegularBinEditor.unit.spec-33KN2MVM.js +225 -0
  29. package/dist/NumSplineEditor-XERKOACS.js +190 -0
  30. package/dist/NumSplineEditor.unit.spec-MPVM6KSC.js +197 -0
  31. package/dist/NumericDensity-35EKYW3V.js +36 -0
  32. package/dist/NumericDensity.unit.spec-OR24PPRJ.js +219 -0
  33. package/dist/NumericHandler-D6ZNGRE3.js +37 -0
  34. package/dist/NumericHandler.unit.spec-EKPGVSXI.js +217 -0
  35. package/dist/RunChart2-7DOXOFXV.js +756 -0
  36. package/dist/SC-APZRV4H6.js +826 -0
  37. package/dist/SC-APZRV4H6.js.map +7 -0
  38. package/dist/Volcano-X4ZWK644.js +1344 -0
  39. package/dist/Volcano-X4ZWK644.js.map +7 -0
  40. package/dist/WSIViewer-E247ELKN.js +47971 -0
  41. package/dist/WsiSamplesPlot-3522VRB5.js +163 -0
  42. package/dist/adSandbox-IDFY5P2P.js +36 -0
  43. package/dist/alphaGenome-F3W7GJQ5.js +173 -0
  44. package/dist/app-2HDSFMRM.js +47 -0
  45. package/dist/app-LIWPFL7C.js +35 -0
  46. package/dist/app.js +10 -10
  47. package/dist/bam-TBHHSATL.js +857 -0
  48. package/dist/barchart-HHFCBOZE.js +45 -0
  49. package/dist/barchart.events-UQUSSRXB.js +45 -0
  50. package/dist/barchart.integration.spec-OF3MWFQ5.js +1675 -0
  51. package/dist/barchart2-XRMPCBBU.js +309 -0
  52. package/dist/block-5UEORHFB.js +6200 -0
  53. package/dist/block.init-QSSFUVIT.js +36 -0
  54. package/dist/block.mds.expressionrank-VBIIJHQF.js +357 -0
  55. package/dist/block.mds.geneboxplot-KSBHXBNX.js +826 -0
  56. package/dist/block.mds.junction-FWZWMZJ2.js +1543 -0
  57. package/dist/block.mds.svcnv-UXORVLH2.js +6799 -0
  58. package/dist/block.svg-6KIGW4QH.js +162 -0
  59. package/dist/block.tk.aicheck-DK566Q4C.js +281 -0
  60. package/dist/block.tk.ase-2GB2VJJ6.js +363 -0
  61. package/dist/block.tk.bam-RQNOLY52.js +1904 -0
  62. package/dist/block.tk.bedgraphdot-N4YMZFO4.js +382 -0
  63. package/dist/block.tk.bigwig.ui-4S7L7D7D.js +209 -0
  64. package/dist/block.tk.hicstraw-AHFNQKCS.js +821 -0
  65. package/dist/block.tk.junction-7E6SNQMQ.js +2362 -0
  66. package/dist/block.tk.junction.textmatrixui-3C5JVYX5.js +197 -0
  67. package/dist/block.tk.ld-TOUCLT3W.js +97 -0
  68. package/dist/block.tk.menu-JCV5ORD6.js +1027 -0
  69. package/dist/block.tk.pgv-CUU22U6M.js +942 -0
  70. package/dist/brainImaging-MTQTXNNL.js +421 -0
  71. package/dist/chunk-2UYBBUXK.js +293 -0
  72. package/dist/chunk-2VPEFXEJ.js +4207 -0
  73. package/dist/chunk-2YC6ZVE4.js +20377 -0
  74. package/dist/chunk-2YC6ZVE4.js.map +7 -0
  75. package/dist/chunk-37MD3Y5G.js +1230 -0
  76. package/dist/chunk-37MD3Y5G.js.map +7 -0
  77. package/dist/chunk-3QHIL3V3.js +55 -0
  78. package/dist/chunk-44VXWKYJ.js +129 -0
  79. package/dist/chunk-52D6EGUS.js +95 -0
  80. package/dist/chunk-5FHM3L4I.js +102 -0
  81. package/dist/chunk-62TF2MCH.js +142 -0
  82. package/dist/chunk-67QM2NUK.js +6364 -0
  83. package/dist/chunk-6AAPHEWK.js +676 -0
  84. package/dist/chunk-6KPGMUHS.js +153 -0
  85. package/dist/chunk-6WBIZXNI.js +455 -0
  86. package/dist/chunk-7AAJVXEG.js +302 -0
  87. package/dist/chunk-AFJRAR4N.js +1271 -0
  88. package/dist/chunk-BBNO6JLO.js +200 -0
  89. package/dist/chunk-BBNO6JLO.js.map +7 -0
  90. package/dist/chunk-CVRYZMDE.js +148 -0
  91. package/dist/chunk-DGUTCYH2.js +276 -0
  92. package/dist/chunk-DHNXATHC.js +158 -0
  93. package/dist/chunk-DXHATYHE.js +180 -0
  94. package/dist/chunk-DXHATYHE.js.map +7 -0
  95. package/dist/chunk-E3BI23UK.js +229 -0
  96. package/dist/chunk-E4JDHA3C.js +621 -0
  97. package/dist/chunk-FOJWYEGV.js +228 -0
  98. package/dist/chunk-FTN7Y34O.js +158 -0
  99. package/dist/chunk-GAOUV4ID.js +1943 -0
  100. package/dist/chunk-GAOUV4ID.js.map +7 -0
  101. package/dist/chunk-GRG5MMPN.js +2815 -0
  102. package/dist/chunk-GSU4PZN3.js +482 -0
  103. package/dist/chunk-I55NLUCQ.js +1823 -0
  104. package/dist/chunk-I55NLUCQ.js.map +7 -0
  105. package/dist/chunk-IIRU2JLK.js +217 -0
  106. package/dist/chunk-JCB74ZSK.js +272 -0
  107. package/dist/chunk-JUDWPYMA.js +824 -0
  108. package/dist/chunk-KT6VZBC7.js +1087 -0
  109. package/dist/chunk-L2HBHFTK.js +2370 -0
  110. package/dist/chunk-LKADRF3Q.js +368 -0
  111. package/dist/chunk-MAXFRUGM.js +407 -0
  112. package/dist/chunk-MQN7RYCK.js +37 -0
  113. package/dist/chunk-OEUI4CYZ.js +470 -0
  114. package/dist/chunk-OM36XUQL.js +34 -0
  115. package/dist/chunk-P5LNIH5X.js +54 -0
  116. package/dist/chunk-PG62PRMF.js +102 -0
  117. package/dist/chunk-Q3J3F2NU.js +205 -0
  118. package/dist/chunk-RYCOJY7M.js +188 -0
  119. package/dist/chunk-RYCOJY7M.js.map +7 -0
  120. package/dist/chunk-RZBV6474.js +117 -0
  121. package/dist/chunk-T5V4OC27.js +442 -0
  122. package/dist/chunk-TXJG4N6S.js +4992 -0
  123. package/dist/chunk-TXJG4N6S.js.map +7 -0
  124. package/dist/chunk-UCKSUNSJ.js +335 -0
  125. package/dist/chunk-W4TLYHZO.js +514 -0
  126. package/dist/chunk-WPZUXKIB.js +56 -0
  127. package/dist/chunk-XM47XD6G.js +215 -0
  128. package/dist/chunk-XVA3UOWD.js +263 -0
  129. package/dist/chunk-XVA3UOWD.js.map +7 -0
  130. package/dist/chunk-YIMRBXQK.js +1210 -0
  131. package/dist/chunk-YIMRBXQK.js.map +7 -0
  132. package/dist/chunk-YL7VT4QT.js +1159 -0
  133. package/dist/chunk-YL7VT4QT.js.map +7 -0
  134. package/dist/chunk-YWBUK4B7.js +291 -0
  135. package/dist/chunk-YWBUK4B7.js.map +7 -0
  136. package/dist/chunk-YZHGLSKQ.js +50 -0
  137. package/dist/chunk-ZGOOZK3I.js +203 -0
  138. package/dist/chunk-ZH2VP6Q6.js +95 -0
  139. package/dist/chunk-ZLOQXO5K.js +14 -0
  140. package/dist/chunk-ZMNDBPJU.js +100 -0
  141. package/dist/chunk-ZRTW6X3F.js +2784 -0
  142. package/dist/chunk-ZTT52MBP.js +2681 -0
  143. package/dist/condition-VUACUQYF.js +330 -0
  144. package/dist/controls-N4MPSNO4.js +39 -0
  145. package/dist/controls.config-PRXVODCM.js +37 -0
  146. package/dist/correlation-QJZUYDFH.js +96 -0
  147. package/dist/cuminc-JJHXW55V.js +1147 -0
  148. package/dist/cuminc.integration.spec-IXS2UO2O.js +676 -0
  149. package/dist/customdata.inputui-DUHO6M6I.js +287 -0
  150. package/dist/dataDownload-OFB7TYDB.js +328 -0
  151. package/dist/dataDownload.integration.spec-4HWDQO4C.js +191 -0
  152. package/dist/databrowser.ui-FGZ5SWG3.js +430 -0
  153. package/dist/databrowser.ui-FGZ5SWG3.js.map +7 -0
  154. package/dist/dictionary-BSKN37CP.js +109 -0
  155. package/dist/dnaMethylation-5QNEEGC6.js +36 -0
  156. package/dist/dnaMethylation.integration.spec-YIX3JSA7.js +201 -0
  157. package/dist/dofetch-KFMGQY7G.js +50 -0
  158. package/dist/e2pca-VX42HDYZ.js +348 -0
  159. package/dist/ep-B6ZNETLI.js +1254 -0
  160. package/dist/expclust.gdc.spec-SGECIILQ.js +305 -0
  161. package/dist/facet-2W5SBPGP.js +519 -0
  162. package/dist/gb-67KTSE2W.js +86 -0
  163. package/dist/gb-67KTSE2W.js.map +7 -0
  164. package/dist/geneExpClustering-6A7364T5.js +247 -0
  165. package/dist/geneExpression-NAM2UEYN.js +36 -0
  166. package/dist/geneExpression-WF56ODMZ.js +312 -0
  167. package/dist/geneExpression.unit.spec-DNE2T3WI.js +100 -0
  168. package/dist/geneORA-33FK2YOS.js +276 -0
  169. package/dist/geneVariant-C7PCNBOQ.js +37 -0
  170. package/dist/geneVariant-REELFRRA.js +39 -0
  171. package/dist/geneVariant.integration.spec-GNXUGDKL.js +196 -0
  172. package/dist/genefusion.ui-WO5EPJDS.js +306 -0
  173. package/dist/geneset-4C6ZLVMN.js +201 -0
  174. package/dist/geneset-4C6ZLVMN.js.map +7 -0
  175. package/dist/genomeBrowser.spec-VPAKTUJF.js +279 -0
  176. package/dist/grin2-AJFEBD43.js +852 -0
  177. package/dist/grin2-AJFEBD43.js.map +7 -0
  178. package/dist/grin2-GYHUYNEF.js +1554 -0
  179. package/dist/gsea-PE5WZ5ZI.js +45 -0
  180. package/dist/hierCluster-FH6YJHRT.js +61 -0
  181. package/dist/hierCluster-IFM5I5QN.js +57 -0
  182. package/dist/hierCluster.config-M57ZIWMB.js +38 -0
  183. package/dist/hierCluster.integration.spec-Z64RL7MC.js +393 -0
  184. package/dist/hierCluster.interactivity-CDBAJXOY.js +52 -0
  185. package/dist/imagePlot-NFEE6IGV.js +161 -0
  186. package/dist/imagePlot-NFEE6IGV.js.map +7 -0
  187. package/dist/importPlot-OWKXSK77.js +8 -0
  188. package/dist/isoformExpression-66XLJG73.js +38 -0
  189. package/dist/isoformExpression.unit.spec-QJX2IRHL.js +206 -0
  190. package/dist/launch.adhoc-JCWID253.js +40 -0
  191. package/dist/leftlabel.sample-5NZ6VQDN.js +257 -0
  192. package/dist/lollipop-BPFDEM2R.js +169 -0
  193. package/dist/lollipop-BPFDEM2R.js.map +7 -0
  194. package/dist/maf-HIS2FQXK.js +450 -0
  195. package/dist/maftimeline-UPJJQE23.js +591 -0
  196. package/dist/matrix-62CN2KXR.js +56 -0
  197. package/dist/matrix-SPEDEB3J.js +61 -0
  198. package/dist/matrix.config-XB6WFXUY.js +39 -0
  199. package/dist/matrix.integration.spec-NN7OR5XM.js +3070 -0
  200. package/dist/matrix.interactivity-OWMHUJCX.js +40 -0
  201. package/dist/matrix.layout-27QB6MWK.js +42 -0
  202. package/dist/matrix.renderers-EPXES5E4.js +36 -0
  203. package/dist/matrix.sort.unit.spec-NBT5FSZ6.js +470 -0
  204. package/dist/matrix.sorterUi.unit.spec-QKGUE4RR.js +340 -0
  205. package/dist/mavb-M7Y74OWQ.js +730 -0
  206. package/dist/mds.fimo-WCDFA7HG.js +516 -0
  207. package/dist/mds.samplescatterplot-ZDHQ3MKJ.js +1548 -0
  208. package/dist/mds.survivalplot-R74DL2RA.js +481 -0
  209. package/dist/oncomatrix-MOITJBII.js +293 -0
  210. package/dist/oncomatrix.spec-NALJBPYS.js +446 -0
  211. package/dist/plot.2dvaf-IE2EZEFA.js +375 -0
  212. package/dist/plot.app-HTW6TZEH.js +39 -0
  213. package/dist/plot.barplot-NCQEPEOY.js +100 -0
  214. package/dist/plot.boxplot-WNKVBVJJ.js +150 -0
  215. package/dist/plot.brainImaging-2Z3TOO6J.js +51 -0
  216. package/dist/plot.disco-4JAEIAYK.js +101 -0
  217. package/dist/plot.dzi-ZGLOVJJN.js +33 -0
  218. package/dist/plot.ssgq-IHUILM43.js +137 -0
  219. package/dist/plot.vaf2cov-ZYCQMD27.js +257 -0
  220. package/dist/plot.wsi-3GISVBDH.js +36 -0
  221. package/dist/polar-4AUAZHBV.js +184 -0
  222. package/dist/polar2-SRD4WWXU.js +226 -0
  223. package/dist/profile.spec-TOITKBBZ.js +78 -0
  224. package/dist/profileBarchart-Z4SYIYBE.js +265 -0
  225. package/dist/profileForms-RA7XQ2QT.js +438 -0
  226. package/dist/profilePlot-4BM3XZVK.js +52 -0
  227. package/dist/profileRadar-EYBESEPI.js +261 -0
  228. package/dist/profileRadarFacility-FZYTFM26.js +261 -0
  229. package/dist/proteinView-F6XKT2A5.js +1122 -0
  230. package/dist/proteinView-F6XKT2A5.js.map +7 -0
  231. package/dist/proteomeAbundance-3RJMRXYI.js +68 -0
  232. package/dist/proteomeAbundance-3RJMRXYI.js.map +7 -0
  233. package/dist/proteomeAbundance-65R6M4YQ.js +21 -0
  234. package/dist/qualitative-E7WL6DN4.js +41 -0
  235. package/dist/radar2-I6FN5SUX.js +314 -0
  236. package/dist/radarFacility2-GVK7PT3V.js +323 -0
  237. package/dist/regression-TIR5D354.js +54 -0
  238. package/dist/regression.inputs-2AMJCJ3L.js +46 -0
  239. package/dist/regression.inputs.term-D6D2QEUB.js +46 -0
  240. package/dist/regression.inputs.values.table-M3IPLGDJ.js +43 -0
  241. package/dist/regression.integration.spec-ROUSXLMH.js +782 -0
  242. package/dist/regression.results-YD5S74YS.js +38 -0
  243. package/dist/regression.spec-4OXBBTNO.js +706 -0
  244. package/dist/report-ETNALKTY.js +220 -0
  245. package/dist/sampleScatter.spec-LECMFMI2.js +200 -0
  246. package/dist/sampleView-B5TM7JOW.js +46 -0
  247. package/dist/samplelst-GFQCG4SS.js +109 -0
  248. package/dist/samplematrix-OMTNWCJK.js +2196 -0
  249. package/dist/sc-MIEEZBWG.js +84 -0
  250. package/dist/scatter-ETOZ722F.js +800 -0
  251. package/dist/scatter.integration.spec-TS4PNRLX.js +1194 -0
  252. package/dist/selectGenomeWithTklst-Y5QIM2JB.js +132 -0
  253. package/dist/singleCellCellType-HOJHZF5W.js +36 -0
  254. package/dist/singleCellCellType.unit.spec-MH5V3RPX.js +158 -0
  255. package/dist/singleCellGeneExpression-YVQ5TIKN.js +36 -0
  256. package/dist/singleCellGeneExpression.unit.spec-BMFFT5HO.js +151 -0
  257. package/dist/singleCellPlot-3YFUYA2Y.js +51 -0
  258. package/dist/singlecell-FK5JETW5.js +1570 -0
  259. package/dist/singlecell-RL7V7DIC.js +84 -0
  260. package/dist/snp-FT7HB3XN.js +36 -0
  261. package/dist/snp.unit.spec-CLYVYPPG.js +174 -0
  262. package/dist/snplocus-M5SEQGAC.js +206 -0
  263. package/dist/spliceevent.a53ss.diagram-EJ5CTRCZ.js +149 -0
  264. package/dist/spliceevent.exonskip.diagram-ETXMOHZ3.js +275 -0
  265. package/dist/spliceevent.noeventdiagram-S2O4ZM2Z.js +458 -0
  266. package/dist/ssGSEA-6PMDQDTJ.js +36 -0
  267. package/dist/ssGSEA.unit.spec-JD5T4R2N.js +86 -0
  268. package/dist/summarizeCnvGeneexp-GCHNKTIU.js +161 -0
  269. package/dist/summarizeGeneexpSurvival-R2RYQZ3M.js +106 -0
  270. package/dist/summarizeMutationCnv-LB2BIYRL.js +162 -0
  271. package/dist/summarizeMutationDiagnosis-3JUY75LM.js +38 -0
  272. package/dist/summarizeMutationSurvival-VYLRWTCF.js +97 -0
  273. package/dist/summary-2QQ72IEQ.js +47 -0
  274. package/dist/summary.integration.spec-XXU362UQ.js +412 -0
  275. package/dist/summaryInput-OZHZG3PV.js +233 -0
  276. package/dist/sunburst-CMCJCANX.js +282 -0
  277. package/dist/survival-EBD4DHO7.js +44 -0
  278. package/dist/survival-ISLRRPKU.js +56 -0
  279. package/dist/survival.integration.spec-FS7V4OXK.js +800 -0
  280. package/dist/svgraph-KGLNUM7W.js +1385 -0
  281. package/dist/svmr-NXZ5VLKH.js +3840 -0
  282. package/dist/table-ISOQOI6C.js +198 -0
  283. package/dist/termCollection-7ZSU3I45.js +36 -0
  284. package/dist/termCollection-V2A5BDQB.js +177 -0
  285. package/dist/termCollection.unit.spec-6VLCJGOU.js +206 -0
  286. package/dist/tk-6AB6XYIE.js +44 -0
  287. package/dist/tp.ui-2O4UW5N7.js +1457 -0
  288. package/dist/tvs.dt-CY6TOQVB.js +37 -0
  289. package/dist/tvs.dtcnv.categorical-AYQ432TW.js +38 -0
  290. package/dist/tvs.dtcnv.continuous-XVDL6SG3.js +70 -0
  291. package/dist/tvs.dtfusion-V3AV7A6Q.js +38 -0
  292. package/dist/tvs.dtsnvindel-XM3NXIT7.js +38 -0
  293. package/dist/tvs.dtsv-Z2GYRINW.js +38 -0
  294. package/dist/tvs.samplelst-C4FB63G7.js +102 -0
  295. package/dist/tvs.termCollection-VHTSC2ST.js +157 -0
  296. package/dist/violin-KGGTUQFF.js +44 -0
  297. package/dist/violin.integration.spec-5EW6PLJX.js +1423 -0
  298. package/dist/violin.interactivity-RI4RURGO.js +36 -0
  299. package/dist/violin.renderer-EWU2IFZE.js +38 -0
  300. package/dist/vocabulary-VLIGC7OP.js +39 -0
  301. package/package.json +3 -3
  302. package/src/databrowser/dictionary.parse.js +14 -2
  303. package/dist/2dmaf-X7LATQT7.js +0 -1371
  304. package/dist/AIProjectAdmin-GUBKURGO.js +0 -830
  305. package/dist/AIProjectAdmin-GUBKURGO.js.map +0 -7
  306. package/dist/AppHeader-RDOFP322.js +0 -833
  307. package/dist/BoxPlot-AZF2EMGQ.js +0 -1217
  308. package/dist/CorrelationVolcano-VXW35SXU.js +0 -617
  309. package/dist/DE-NLGMZ44O.js +0 -93
  310. package/dist/DEinput-OJ7P4UMP.js +0 -297
  311. package/dist/DEinput-OJ7P4UMP.js.map +0 -7
  312. package/dist/DifferentialAnalysis-G75VUHDI.js +0 -241
  313. package/dist/Disco-DX4S44SI.js +0 -3235
  314. package/dist/Disco.UI-5FYIACCU.js +0 -242
  315. package/dist/DmrPlot-HWYITHK2.js +0 -640
  316. package/dist/GB-DBTMRVYH.js +0 -1125
  317. package/dist/GB-DBTMRVYH.js.map +0 -7
  318. package/dist/GeneExpInput-DWB7OYT2.js +0 -335
  319. package/dist/GeneExpInput-DWB7OYT2.js.map +0 -7
  320. package/dist/HicApp-XPZVZXB7.js +0 -2248
  321. package/dist/NumBinaryEditor-M6MJYIHK.js +0 -268
  322. package/dist/NumBinaryEditor.unit.spec-W6MMYDAW.js +0 -284
  323. package/dist/NumContEditor-YRVENTS5.js +0 -105
  324. package/dist/NumContEditor.unit.spec-A6OH4TI7.js +0 -167
  325. package/dist/NumCustomBinEditor-BLBOYSCQ.js +0 -36
  326. package/dist/NumCustomBinEditor.unit.spec-55V5CKLB.js +0 -282
  327. package/dist/NumDiscreteEditor-DTRM6VL2.js +0 -177
  328. package/dist/NumDiscreteEditor.unit.spec-YMB6QRER.js +0 -200
  329. package/dist/NumRegularBinEditor-XW4SVA7S.js +0 -36
  330. package/dist/NumRegularBinEditor.unit.spec-VAHC3VOD.js +0 -225
  331. package/dist/NumSplineEditor-H22HTRFR.js +0 -190
  332. package/dist/NumSplineEditor.unit.spec-4JUADXZR.js +0 -197
  333. package/dist/NumericDensity-ECSZCQRX.js +0 -36
  334. package/dist/NumericDensity.unit.spec-SXXCXM4X.js +0 -219
  335. package/dist/NumericHandler-CMBN3FZX.js +0 -37
  336. package/dist/NumericHandler.unit.spec-UYTJG2Z2.js +0 -217
  337. package/dist/RunChart2-MVFWLXZX.js +0 -756
  338. package/dist/SC-BRC3J2O4.js +0 -797
  339. package/dist/SC-BRC3J2O4.js.map +0 -7
  340. package/dist/Volcano-WMNFZSX2.js +0 -1234
  341. package/dist/Volcano-WMNFZSX2.js.map +0 -7
  342. package/dist/WSIViewer-2Z636FMA.js +0 -47971
  343. package/dist/WsiSamplesPlot-LN75PND3.js +0 -163
  344. package/dist/adSandbox-AJ7QUDOI.js +0 -36
  345. package/dist/alphaGenome-PVCRXAQK.js +0 -173
  346. package/dist/app-DWYCAFRP.js +0 -47
  347. package/dist/app-RENXV7VR.js +0 -35
  348. package/dist/bam-5G6IT6OX.js +0 -857
  349. package/dist/barchart-MLCCU6SU.js +0 -45
  350. package/dist/barchart.events-B6HQTLK2.js +0 -45
  351. package/dist/barchart.integration.spec-S43A7C7N.js +0 -1675
  352. package/dist/barchart2-QMKEN6MN.js +0 -309
  353. package/dist/block-IGBB4BJH.js +0 -6200
  354. package/dist/block.init-NLCYAKV4.js +0 -36
  355. package/dist/block.mds.expressionrank-TZWGRDY7.js +0 -357
  356. package/dist/block.mds.geneboxplot-OAFROYDL.js +0 -826
  357. package/dist/block.mds.junction-NSLXTW3D.js +0 -1543
  358. package/dist/block.mds.svcnv-ICPG4BW6.js +0 -6799
  359. package/dist/block.svg-DTFVIAAC.js +0 -162
  360. package/dist/block.tk.aicheck-ZIMIBWHA.js +0 -281
  361. package/dist/block.tk.ase-I7UNK5BK.js +0 -363
  362. package/dist/block.tk.bam-W7JG46RS.js +0 -1904
  363. package/dist/block.tk.bedgraphdot-XAQJPKGJ.js +0 -382
  364. package/dist/block.tk.bigwig.ui-YQOJPJSG.js +0 -209
  365. package/dist/block.tk.hicstraw-OWWGGCHU.js +0 -821
  366. package/dist/block.tk.junction-V63ZQQX6.js +0 -2362
  367. package/dist/block.tk.junction.textmatrixui-B7KXX7WN.js +0 -197
  368. package/dist/block.tk.ld-2J6CT74S.js +0 -97
  369. package/dist/block.tk.menu-6AQLG7PW.js +0 -1027
  370. package/dist/block.tk.pgv-4V6PKVCQ.js +0 -942
  371. package/dist/brainImaging-WRBGYLHK.js +0 -421
  372. package/dist/chat-X2BCTEDF.js +0 -148
  373. package/dist/chat-X2BCTEDF.js.map +0 -7
  374. package/dist/chunk-23VG37CB.js +0 -1939
  375. package/dist/chunk-23VG37CB.js.map +0 -7
  376. package/dist/chunk-2VOHINOC.js +0 -262
  377. package/dist/chunk-2VOHINOC.js.map +0 -7
  378. package/dist/chunk-3AK6GP4M.js +0 -215
  379. package/dist/chunk-3B7EWIVB.js +0 -153
  380. package/dist/chunk-3JAC5CHL.js +0 -407
  381. package/dist/chunk-3QBZ2Y77.js +0 -188
  382. package/dist/chunk-3QBZ2Y77.js.map +0 -7
  383. package/dist/chunk-3T2PCWII.js +0 -442
  384. package/dist/chunk-4BTAI6HQ.js +0 -100
  385. package/dist/chunk-4JVNATQR.js +0 -621
  386. package/dist/chunk-4ZCR6CPK.js +0 -4964
  387. package/dist/chunk-4ZCR6CPK.js.map +0 -7
  388. package/dist/chunk-5MW5VMWD.js +0 -2784
  389. package/dist/chunk-5ZBEDKBD.js +0 -158
  390. package/dist/chunk-65YTZS3R.js +0 -203
  391. package/dist/chunk-6ZCHECOT.js +0 -1816
  392. package/dist/chunk-6ZCHECOT.js.map +0 -7
  393. package/dist/chunk-73ZT6NAT.js +0 -34
  394. package/dist/chunk-7HJ6H7AZ.js +0 -2681
  395. package/dist/chunk-AFXYPMFZ.js +0 -117
  396. package/dist/chunk-BL4ALBZ7.js +0 -37
  397. package/dist/chunk-BRCDZJBQ.js +0 -824
  398. package/dist/chunk-EBGX226R.js +0 -205
  399. package/dist/chunk-EHXI36HJ.js +0 -2815
  400. package/dist/chunk-ENP4FLOX.js +0 -293
  401. package/dist/chunk-FDOSJKDA.js +0 -1209
  402. package/dist/chunk-FDOSJKDA.js.map +0 -7
  403. package/dist/chunk-HP2BASCY.js +0 -1159
  404. package/dist/chunk-HP2BASCY.js.map +0 -7
  405. package/dist/chunk-HROKXT4K.js +0 -14
  406. package/dist/chunk-HTMXVOTH.js +0 -482
  407. package/dist/chunk-IA7S4UL5.js +0 -302
  408. package/dist/chunk-JFIOYO3M.js +0 -272
  409. package/dist/chunk-JMJW3ERE.js +0 -470
  410. package/dist/chunk-K7XWZSQA.js +0 -148
  411. package/dist/chunk-KSN3EVKI.js +0 -102
  412. package/dist/chunk-L5SOHZ5V.js +0 -229
  413. package/dist/chunk-LMGE54CQ.js +0 -54
  414. package/dist/chunk-LOMVTHAM.js +0 -95
  415. package/dist/chunk-MSW7OS2O.js +0 -276
  416. package/dist/chunk-MVCGSYS2.js +0 -50
  417. package/dist/chunk-N2HBIQKU.js +0 -102
  418. package/dist/chunk-NL3DVEVX.js +0 -158
  419. package/dist/chunk-O4WJSZC3.js +0 -1087
  420. package/dist/chunk-OLUDD6EC.js +0 -2370
  421. package/dist/chunk-OVPVPPRG.js +0 -55
  422. package/dist/chunk-OYEISJSJ.js +0 -289
  423. package/dist/chunk-OYEISJSJ.js.map +0 -7
  424. package/dist/chunk-P2JDCMXW.js +0 -4207
  425. package/dist/chunk-PMDXCESS.js +0 -514
  426. package/dist/chunk-PXYYICV7.js +0 -1271
  427. package/dist/chunk-PZ3KIUWJ.js +0 -56
  428. package/dist/chunk-QEWMCAJW.js +0 -335
  429. package/dist/chunk-QLWDUZ5K.js +0 -129
  430. package/dist/chunk-QRSIID3T.js +0 -95
  431. package/dist/chunk-ST644IDH.js +0 -217
  432. package/dist/chunk-UOOMFM7K.js +0 -6364
  433. package/dist/chunk-VGHSLILD.js +0 -368
  434. package/dist/chunk-W35IOI74.js +0 -228
  435. package/dist/chunk-XKF4KMCB.js +0 -146
  436. package/dist/chunk-XKF4KMCB.js.map +0 -7
  437. package/dist/chunk-XVDWYTJ6.js +0 -676
  438. package/dist/chunk-YQVEBFGT.js +0 -455
  439. package/dist/chunk-YWUVCXFS.js +0 -20271
  440. package/dist/chunk-YWUVCXFS.js.map +0 -7
  441. package/dist/chunk-ZT3PB4XX.js +0 -1150
  442. package/dist/chunk-ZT3PB4XX.js.map +0 -7
  443. package/dist/chunk-ZVSXHCGP.js +0 -142
  444. package/dist/condition-CZX2GSN4.js +0 -330
  445. package/dist/controls-BQR3WY5W.js +0 -39
  446. package/dist/controls.config-TAVZDHFZ.js +0 -37
  447. package/dist/correlation-BIWVZNC6.js +0 -96
  448. package/dist/cuminc-EDXOOI5R.js +0 -1147
  449. package/dist/cuminc.integration.spec-UZA7BDTB.js +0 -676
  450. package/dist/customdata.inputui-PEB4CE7J.js +0 -287
  451. package/dist/dataDownload-KANEHJXJ.js +0 -328
  452. package/dist/dataDownload.integration.spec-23WLHSWJ.js +0 -191
  453. package/dist/databrowser.ui-B2TNECC4.js +0 -419
  454. package/dist/databrowser.ui-B2TNECC4.js.map +0 -7
  455. package/dist/dictionary-YOTUFVES.js +0 -109
  456. package/dist/dnaMethylation-TRFAZWRJ.js +0 -36
  457. package/dist/dnaMethylation.integration.spec-SPFZO76D.js +0 -201
  458. package/dist/dofetch-MH4MRMGY.js +0 -50
  459. package/dist/e2pca-AFVAFUJ2.js +0 -348
  460. package/dist/ep-4FXTLWB4.js +0 -1254
  461. package/dist/expclust.gdc.spec-SFOCKBLR.js +0 -305
  462. package/dist/facet-SY6PYSTN.js +0 -519
  463. package/dist/gb-JUV63QCN.js +0 -93
  464. package/dist/gb-JUV63QCN.js.map +0 -7
  465. package/dist/geneExpClustering-FOY77R7P.js +0 -247
  466. package/dist/geneExpression-AHKX57BT.js +0 -312
  467. package/dist/geneExpression-D2F2KVGY.js +0 -36
  468. package/dist/geneExpression.unit.spec-SR2BGZQL.js +0 -100
  469. package/dist/geneORA-VJMYI4BT.js +0 -276
  470. package/dist/geneVariant-LFM5SO2P.js +0 -37
  471. package/dist/geneVariant-OIKEV4JM.js +0 -39
  472. package/dist/geneVariant.integration.spec-T6BINPIN.js +0 -196
  473. package/dist/genefusion.ui-NLMW5XMI.js +0 -306
  474. package/dist/geneset-HKXFHM5K.js +0 -197
  475. package/dist/geneset-HKXFHM5K.js.map +0 -7
  476. package/dist/genomeBrowser.spec-DRYIFJLY.js +0 -279
  477. package/dist/grin2-GJKLNT4J.js +0 -1031
  478. package/dist/grin2-GJKLNT4J.js.map +0 -7
  479. package/dist/grin2-LGI535FF.js +0 -1554
  480. package/dist/gsea-Z7DSDFOA.js +0 -45
  481. package/dist/hierCluster-HC2B5XRR.js +0 -61
  482. package/dist/hierCluster-PLHVN5S3.js +0 -57
  483. package/dist/hierCluster.config-E3DIJWL5.js +0 -38
  484. package/dist/hierCluster.integration.spec-OQLPUQG4.js +0 -393
  485. package/dist/hierCluster.interactivity-LRNPDTEH.js +0 -52
  486. package/dist/imagePlot-GUXRGYQA.js +0 -139
  487. package/dist/imagePlot-GUXRGYQA.js.map +0 -7
  488. package/dist/importPlot-M5HGLHRO.js +0 -8
  489. package/dist/isoformExpression-PADLHHR5.js +0 -38
  490. package/dist/isoformExpression.unit.spec-5BPAL4OS.js +0 -206
  491. package/dist/launch.adhoc-JH6ZZFDB.js +0 -40
  492. package/dist/leftlabel.sample-NS2TBANH.js +0 -257
  493. package/dist/lollipop-W6NOHHCP.js +0 -166
  494. package/dist/lollipop-W6NOHHCP.js.map +0 -7
  495. package/dist/maf-NOHIKTUP.js +0 -450
  496. package/dist/maftimeline-WGWE52EF.js +0 -591
  497. package/dist/matrix-B6NPQFFF.js +0 -61
  498. package/dist/matrix-UAKRJL5A.js +0 -56
  499. package/dist/matrix.config-KJNJXPJJ.js +0 -39
  500. package/dist/matrix.integration.spec-VAXIR3E6.js +0 -3070
  501. package/dist/matrix.interactivity-H4MCMJXU.js +0 -40
  502. package/dist/matrix.layout-RFKQJM5D.js +0 -42
  503. package/dist/matrix.renderers-7JJIC6VC.js +0 -36
  504. package/dist/matrix.sort.unit.spec-MQQVWWNT.js +0 -470
  505. package/dist/matrix.sorterUi.unit.spec-LG4TI7VF.js +0 -340
  506. package/dist/mavb-EIZHS6F4.js +0 -730
  507. package/dist/mds.fimo-XVC6MI7W.js +0 -516
  508. package/dist/mds.samplescatterplot-PRR4TKYI.js +0 -1548
  509. package/dist/mds.survivalplot-3OG4Y2B6.js +0 -481
  510. package/dist/oncomatrix-SO6S6IIB.js +0 -293
  511. package/dist/oncomatrix.spec-VXTF44K5.js +0 -446
  512. package/dist/plot.2dvaf-JW5OJJXV.js +0 -375
  513. package/dist/plot.app-T3GVCFQ3.js +0 -39
  514. package/dist/plot.barplot-2TYP6DPI.js +0 -100
  515. package/dist/plot.boxplot-HOQHM7JF.js +0 -150
  516. package/dist/plot.brainImaging-5AI7BSD4.js +0 -51
  517. package/dist/plot.disco-HNNZHK5Z.js +0 -101
  518. package/dist/plot.dzi-4OQSO7SY.js +0 -33
  519. package/dist/plot.ssgq-VZTTGECT.js +0 -137
  520. package/dist/plot.vaf2cov-ASEELRDV.js +0 -257
  521. package/dist/plot.wsi-MDWYLU4R.js +0 -36
  522. package/dist/polar-QSY6JG4P.js +0 -184
  523. package/dist/polar2-FD6656VD.js +0 -226
  524. package/dist/profile.spec-V7EQBXT2.js +0 -78
  525. package/dist/profileBarchart-EIKHZAPD.js +0 -265
  526. package/dist/profileForms-NGFRXPFF.js +0 -438
  527. package/dist/profilePlot-2UFKJ2OC.js +0 -52
  528. package/dist/profileRadar-B2R7OV5F.js +0 -261
  529. package/dist/profileRadarFacility-ILC7POCI.js +0 -261
  530. package/dist/proteinView-AS6ZV2JT.js +0 -758
  531. package/dist/proteinView-AS6ZV2JT.js.map +0 -7
  532. package/dist/proteomeAbundance-6J5YF4V2.js +0 -63
  533. package/dist/proteomeAbundance-6J5YF4V2.js.map +0 -7
  534. package/dist/proteomeAbundance-OF27N347.js +0 -21
  535. package/dist/qualitative-CSUO2WG5.js +0 -41
  536. package/dist/radar2-L2HGCUYR.js +0 -314
  537. package/dist/radarFacility2-HXUUTRYO.js +0 -323
  538. package/dist/regression-Y4NYGZSA.js +0 -54
  539. package/dist/regression.inputs-RWFIJLNF.js +0 -46
  540. package/dist/regression.inputs.term-QIU5SHTN.js +0 -46
  541. package/dist/regression.inputs.values.table-FM6QTSEV.js +0 -43
  542. package/dist/regression.integration.spec-YRKKU7HL.js +0 -782
  543. package/dist/regression.results-YUDCHUZJ.js +0 -38
  544. package/dist/regression.spec-G4GIIV32.js +0 -706
  545. package/dist/report-2N4FBR4Q.js +0 -220
  546. package/dist/sampleScatter.spec-UIUYO4WR.js +0 -200
  547. package/dist/sampleView-TOK5Y5KU.js +0 -46
  548. package/dist/samplelst-YW5ZS3GJ.js +0 -109
  549. package/dist/samplematrix-447BHSO7.js +0 -2196
  550. package/dist/sc-O2PL3FL2.js +0 -84
  551. package/dist/scatter-4DXHOWVY.js +0 -800
  552. package/dist/scatter.integration.spec-ZPTM3AGQ.js +0 -1194
  553. package/dist/selectGenomeWithTklst-3RLZFW62.js +0 -132
  554. package/dist/singleCellCellType-3LQJXS7H.js +0 -36
  555. package/dist/singleCellCellType.unit.spec-UJM72SP4.js +0 -158
  556. package/dist/singleCellGeneExpression-JOWJWPIQ.js +0 -36
  557. package/dist/singleCellGeneExpression.unit.spec-VY5CGRZH.js +0 -151
  558. package/dist/singleCellPlot-IVLVKOO6.js +0 -51
  559. package/dist/singlecell-VJJZJZF7.js +0 -1570
  560. package/dist/singlecell-VQJ2252L.js +0 -84
  561. package/dist/snp-ALMKZKL2.js +0 -36
  562. package/dist/snp.unit.spec-GJQBAHGQ.js +0 -174
  563. package/dist/snplocus-WCNCMFWZ.js +0 -206
  564. package/dist/spliceevent.a53ss.diagram-4Q4JF4RX.js +0 -149
  565. package/dist/spliceevent.exonskip.diagram-IOYOKELT.js +0 -275
  566. package/dist/spliceevent.noeventdiagram-77ZCOHSF.js +0 -458
  567. package/dist/ssGSEA-QTXXIN4K.js +0 -36
  568. package/dist/ssGSEA.unit.spec-LQESATT3.js +0 -86
  569. package/dist/summarizeCnvGeneexp-YKUQGDQF.js +0 -161
  570. package/dist/summarizeGeneexpSurvival-ARGG5VDC.js +0 -106
  571. package/dist/summarizeMutationCnv-FMZYT3EC.js +0 -162
  572. package/dist/summarizeMutationDiagnosis-ZX7I46SC.js +0 -38
  573. package/dist/summarizeMutationSurvival-RCFMTT43.js +0 -97
  574. package/dist/summary-QLL5YVI2.js +0 -47
  575. package/dist/summary.integration.spec-DHY6XCEJ.js +0 -412
  576. package/dist/summaryInput-ANCUQGIB.js +0 -233
  577. package/dist/sunburst-RDNFBOCK.js +0 -282
  578. package/dist/survival-BG7QV52L.js +0 -44
  579. package/dist/survival-WSN36OQE.js +0 -56
  580. package/dist/survival.integration.spec-37KAJ5IK.js +0 -800
  581. package/dist/svgraph-A5WGHW4S.js +0 -1385
  582. package/dist/svmr-CYRHHWZF.js +0 -3840
  583. package/dist/table-VHO7E5PI.js +0 -198
  584. package/dist/termCollection-E4Q6GLXN.js +0 -177
  585. package/dist/termCollection-HSVSH7TJ.js +0 -36
  586. package/dist/termCollection.unit.spec-ZCE3TUMS.js +0 -206
  587. package/dist/tk-GPRHDN4K.js +0 -44
  588. package/dist/tp.ui-LTUA3FSL.js +0 -1457
  589. package/dist/tvs.dt-G43PAAKD.js +0 -37
  590. package/dist/tvs.dtcnv.categorical-UHDS2TGZ.js +0 -38
  591. package/dist/tvs.dtcnv.continuous-ZNGYQKTD.js +0 -70
  592. package/dist/tvs.dtfusion-JBEEUDUS.js +0 -38
  593. package/dist/tvs.dtsnvindel-XXN5Q7RN.js +0 -38
  594. package/dist/tvs.dtsv-MO6L7HHV.js +0 -38
  595. package/dist/tvs.samplelst-HKY6UUJM.js +0 -102
  596. package/dist/tvs.termCollection-TY6FPL25.js +0 -157
  597. package/dist/violin-YHE3WSGR.js +0 -44
  598. package/dist/violin.integration.spec-F2UD7BHC.js +0 -1423
  599. package/dist/violin.interactivity-LVDTDEPQ.js +0 -36
  600. package/dist/violin.renderer-IIEIUGRI.js +0 -38
  601. package/dist/vocabulary-WQRYXBRO.js +0 -39
  602. /package/dist/{2dmaf-X7LATQT7.js.map → 2dmaf-F5QNP7AQ.js.map} +0 -0
  603. /package/dist/{AppHeader-RDOFP322.js.map → AppHeader-STVCDLET.js.map} +0 -0
  604. /package/dist/{BoxPlot-AZF2EMGQ.js.map → BoxPlot-CU7MEBH7.js.map} +0 -0
  605. /package/dist/{CorrelationVolcano-VXW35SXU.js.map → CorrelationVolcano-OE4R2GS3.js.map} +0 -0
  606. /package/dist/{DE-NLGMZ44O.js.map → DE-SR7PJPKI.js.map} +0 -0
  607. /package/dist/{DifferentialAnalysis-G75VUHDI.js.map → DifferentialAnalysis-UWTYK7NU.js.map} +0 -0
  608. /package/dist/{Disco-DX4S44SI.js.map → Disco-IL6REGSA.js.map} +0 -0
  609. /package/dist/{Disco.UI-5FYIACCU.js.map → Disco.UI-JHHLS5BA.js.map} +0 -0
  610. /package/dist/{DmrPlot-HWYITHK2.js.map → DmrPlot-DDP53T3F.js.map} +0 -0
  611. /package/dist/{HicApp-XPZVZXB7.js.map → HicApp-RVFHTYED.js.map} +0 -0
  612. /package/dist/{NumBinaryEditor-M6MJYIHK.js.map → NumBinaryEditor-B3FXQAOH.js.map} +0 -0
  613. /package/dist/{NumBinaryEditor.unit.spec-W6MMYDAW.js.map → NumBinaryEditor.unit.spec-75YQJ2U6.js.map} +0 -0
  614. /package/dist/{NumContEditor-YRVENTS5.js.map → NumContEditor-5PYW3OLY.js.map} +0 -0
  615. /package/dist/{NumContEditor.unit.spec-A6OH4TI7.js.map → NumContEditor.unit.spec-F7ZRDGBN.js.map} +0 -0
  616. /package/dist/{NumCustomBinEditor-BLBOYSCQ.js.map → NumCustomBinEditor-TBT6GLYQ.js.map} +0 -0
  617. /package/dist/{NumCustomBinEditor.unit.spec-55V5CKLB.js.map → NumCustomBinEditor.unit.spec-6YHU45XV.js.map} +0 -0
  618. /package/dist/{NumDiscreteEditor-DTRM6VL2.js.map → NumDiscreteEditor-N6OJYSJA.js.map} +0 -0
  619. /package/dist/{NumDiscreteEditor.unit.spec-YMB6QRER.js.map → NumDiscreteEditor.unit.spec-HQS5RZ6R.js.map} +0 -0
  620. /package/dist/{NumRegularBinEditor-XW4SVA7S.js.map → NumRegularBinEditor-HSDDKVNG.js.map} +0 -0
  621. /package/dist/{NumRegularBinEditor.unit.spec-VAHC3VOD.js.map → NumRegularBinEditor.unit.spec-33KN2MVM.js.map} +0 -0
  622. /package/dist/{NumSplineEditor-H22HTRFR.js.map → NumSplineEditor-XERKOACS.js.map} +0 -0
  623. /package/dist/{NumSplineEditor.unit.spec-4JUADXZR.js.map → NumSplineEditor.unit.spec-MPVM6KSC.js.map} +0 -0
  624. /package/dist/{NumericDensity-ECSZCQRX.js.map → NumericDensity-35EKYW3V.js.map} +0 -0
  625. /package/dist/{NumericDensity.unit.spec-SXXCXM4X.js.map → NumericDensity.unit.spec-OR24PPRJ.js.map} +0 -0
  626. /package/dist/{NumericHandler-CMBN3FZX.js.map → NumericHandler-D6ZNGRE3.js.map} +0 -0
  627. /package/dist/{NumericHandler.unit.spec-UYTJG2Z2.js.map → NumericHandler.unit.spec-EKPGVSXI.js.map} +0 -0
  628. /package/dist/{RunChart2-MVFWLXZX.js.map → RunChart2-7DOXOFXV.js.map} +0 -0
  629. /package/dist/{WSIViewer-2Z636FMA.js.map → WSIViewer-E247ELKN.js.map} +0 -0
  630. /package/dist/{WsiSamplesPlot-LN75PND3.js.map → WsiSamplesPlot-3522VRB5.js.map} +0 -0
  631. /package/dist/{adSandbox-AJ7QUDOI.js.map → adSandbox-IDFY5P2P.js.map} +0 -0
  632. /package/dist/{alphaGenome-PVCRXAQK.js.map → alphaGenome-F3W7GJQ5.js.map} +0 -0
  633. /package/dist/{app-DWYCAFRP.js.map → app-2HDSFMRM.js.map} +0 -0
  634. /package/dist/{app-RENXV7VR.js.map → app-LIWPFL7C.js.map} +0 -0
  635. /package/dist/{bam-5G6IT6OX.js.map → bam-TBHHSATL.js.map} +0 -0
  636. /package/dist/{barchart-MLCCU6SU.js.map → barchart-HHFCBOZE.js.map} +0 -0
  637. /package/dist/{barchart.events-B6HQTLK2.js.map → barchart.events-UQUSSRXB.js.map} +0 -0
  638. /package/dist/{barchart.integration.spec-S43A7C7N.js.map → barchart.integration.spec-OF3MWFQ5.js.map} +0 -0
  639. /package/dist/{barchart2-QMKEN6MN.js.map → barchart2-XRMPCBBU.js.map} +0 -0
  640. /package/dist/{block-IGBB4BJH.js.map → block-5UEORHFB.js.map} +0 -0
  641. /package/dist/{block.init-NLCYAKV4.js.map → block.init-QSSFUVIT.js.map} +0 -0
  642. /package/dist/{block.mds.expressionrank-TZWGRDY7.js.map → block.mds.expressionrank-VBIIJHQF.js.map} +0 -0
  643. /package/dist/{block.mds.geneboxplot-OAFROYDL.js.map → block.mds.geneboxplot-KSBHXBNX.js.map} +0 -0
  644. /package/dist/{block.mds.junction-NSLXTW3D.js.map → block.mds.junction-FWZWMZJ2.js.map} +0 -0
  645. /package/dist/{block.mds.svcnv-ICPG4BW6.js.map → block.mds.svcnv-UXORVLH2.js.map} +0 -0
  646. /package/dist/{block.svg-DTFVIAAC.js.map → block.svg-6KIGW4QH.js.map} +0 -0
  647. /package/dist/{block.tk.aicheck-ZIMIBWHA.js.map → block.tk.aicheck-DK566Q4C.js.map} +0 -0
  648. /package/dist/{block.tk.ase-I7UNK5BK.js.map → block.tk.ase-2GB2VJJ6.js.map} +0 -0
  649. /package/dist/{block.tk.bam-W7JG46RS.js.map → block.tk.bam-RQNOLY52.js.map} +0 -0
  650. /package/dist/{block.tk.bedgraphdot-XAQJPKGJ.js.map → block.tk.bedgraphdot-N4YMZFO4.js.map} +0 -0
  651. /package/dist/{block.tk.bigwig.ui-YQOJPJSG.js.map → block.tk.bigwig.ui-4S7L7D7D.js.map} +0 -0
  652. /package/dist/{block.tk.hicstraw-OWWGGCHU.js.map → block.tk.hicstraw-AHFNQKCS.js.map} +0 -0
  653. /package/dist/{block.tk.junction-V63ZQQX6.js.map → block.tk.junction-7E6SNQMQ.js.map} +0 -0
  654. /package/dist/{block.tk.junction.textmatrixui-B7KXX7WN.js.map → block.tk.junction.textmatrixui-3C5JVYX5.js.map} +0 -0
  655. /package/dist/{block.tk.ld-2J6CT74S.js.map → block.tk.ld-TOUCLT3W.js.map} +0 -0
  656. /package/dist/{block.tk.menu-6AQLG7PW.js.map → block.tk.menu-JCV5ORD6.js.map} +0 -0
  657. /package/dist/{block.tk.pgv-4V6PKVCQ.js.map → block.tk.pgv-CUU22U6M.js.map} +0 -0
  658. /package/dist/{brainImaging-WRBGYLHK.js.map → brainImaging-MTQTXNNL.js.map} +0 -0
  659. /package/dist/{chunk-ENP4FLOX.js.map → chunk-2UYBBUXK.js.map} +0 -0
  660. /package/dist/{chunk-P2JDCMXW.js.map → chunk-2VPEFXEJ.js.map} +0 -0
  661. /package/dist/{chunk-OVPVPPRG.js.map → chunk-3QHIL3V3.js.map} +0 -0
  662. /package/dist/{chunk-QLWDUZ5K.js.map → chunk-44VXWKYJ.js.map} +0 -0
  663. /package/dist/{chunk-QRSIID3T.js.map → chunk-52D6EGUS.js.map} +0 -0
  664. /package/dist/{chunk-N2HBIQKU.js.map → chunk-5FHM3L4I.js.map} +0 -0
  665. /package/dist/{chunk-ZVSXHCGP.js.map → chunk-62TF2MCH.js.map} +0 -0
  666. /package/dist/{chunk-UOOMFM7K.js.map → chunk-67QM2NUK.js.map} +0 -0
  667. /package/dist/{chunk-XVDWYTJ6.js.map → chunk-6AAPHEWK.js.map} +0 -0
  668. /package/dist/{chunk-3B7EWIVB.js.map → chunk-6KPGMUHS.js.map} +0 -0
  669. /package/dist/{chunk-YQVEBFGT.js.map → chunk-6WBIZXNI.js.map} +0 -0
  670. /package/dist/{chunk-IA7S4UL5.js.map → chunk-7AAJVXEG.js.map} +0 -0
  671. /package/dist/{chunk-PXYYICV7.js.map → chunk-AFJRAR4N.js.map} +0 -0
  672. /package/dist/{chunk-K7XWZSQA.js.map → chunk-CVRYZMDE.js.map} +0 -0
  673. /package/dist/{chunk-MSW7OS2O.js.map → chunk-DGUTCYH2.js.map} +0 -0
  674. /package/dist/{chunk-5ZBEDKBD.js.map → chunk-DHNXATHC.js.map} +0 -0
  675. /package/dist/{chunk-L5SOHZ5V.js.map → chunk-E3BI23UK.js.map} +0 -0
  676. /package/dist/{chunk-4JVNATQR.js.map → chunk-E4JDHA3C.js.map} +0 -0
  677. /package/dist/{chunk-W35IOI74.js.map → chunk-FOJWYEGV.js.map} +0 -0
  678. /package/dist/{chunk-NL3DVEVX.js.map → chunk-FTN7Y34O.js.map} +0 -0
  679. /package/dist/{chunk-EHXI36HJ.js.map → chunk-GRG5MMPN.js.map} +0 -0
  680. /package/dist/{chunk-HTMXVOTH.js.map → chunk-GSU4PZN3.js.map} +0 -0
  681. /package/dist/{chunk-ST644IDH.js.map → chunk-IIRU2JLK.js.map} +0 -0
  682. /package/dist/{chunk-JFIOYO3M.js.map → chunk-JCB74ZSK.js.map} +0 -0
  683. /package/dist/{chunk-BRCDZJBQ.js.map → chunk-JUDWPYMA.js.map} +0 -0
  684. /package/dist/{chunk-O4WJSZC3.js.map → chunk-KT6VZBC7.js.map} +0 -0
  685. /package/dist/{chunk-OLUDD6EC.js.map → chunk-L2HBHFTK.js.map} +0 -0
  686. /package/dist/{chunk-VGHSLILD.js.map → chunk-LKADRF3Q.js.map} +0 -0
  687. /package/dist/{chunk-3JAC5CHL.js.map → chunk-MAXFRUGM.js.map} +0 -0
  688. /package/dist/{chunk-BL4ALBZ7.js.map → chunk-MQN7RYCK.js.map} +0 -0
  689. /package/dist/{chunk-JMJW3ERE.js.map → chunk-OEUI4CYZ.js.map} +0 -0
  690. /package/dist/{chunk-73ZT6NAT.js.map → chunk-OM36XUQL.js.map} +0 -0
  691. /package/dist/{chunk-LMGE54CQ.js.map → chunk-P5LNIH5X.js.map} +0 -0
  692. /package/dist/{chunk-KSN3EVKI.js.map → chunk-PG62PRMF.js.map} +0 -0
  693. /package/dist/{chunk-EBGX226R.js.map → chunk-Q3J3F2NU.js.map} +0 -0
  694. /package/dist/{chunk-AFXYPMFZ.js.map → chunk-RZBV6474.js.map} +0 -0
  695. /package/dist/{chunk-3T2PCWII.js.map → chunk-T5V4OC27.js.map} +0 -0
  696. /package/dist/{chunk-QEWMCAJW.js.map → chunk-UCKSUNSJ.js.map} +0 -0
  697. /package/dist/{chunk-PMDXCESS.js.map → chunk-W4TLYHZO.js.map} +0 -0
  698. /package/dist/{chunk-PZ3KIUWJ.js.map → chunk-WPZUXKIB.js.map} +0 -0
  699. /package/dist/{chunk-3AK6GP4M.js.map → chunk-XM47XD6G.js.map} +0 -0
  700. /package/dist/{chunk-MVCGSYS2.js.map → chunk-YZHGLSKQ.js.map} +0 -0
  701. /package/dist/{chunk-65YTZS3R.js.map → chunk-ZGOOZK3I.js.map} +0 -0
  702. /package/dist/{chunk-LOMVTHAM.js.map → chunk-ZH2VP6Q6.js.map} +0 -0
  703. /package/dist/{chunk-HROKXT4K.js.map → chunk-ZLOQXO5K.js.map} +0 -0
  704. /package/dist/{chunk-4BTAI6HQ.js.map → chunk-ZMNDBPJU.js.map} +0 -0
  705. /package/dist/{chunk-5MW5VMWD.js.map → chunk-ZRTW6X3F.js.map} +0 -0
  706. /package/dist/{chunk-7HJ6H7AZ.js.map → chunk-ZTT52MBP.js.map} +0 -0
  707. /package/dist/{condition-CZX2GSN4.js.map → condition-VUACUQYF.js.map} +0 -0
  708. /package/dist/{controls-BQR3WY5W.js.map → controls-N4MPSNO4.js.map} +0 -0
  709. /package/dist/{controls.config-TAVZDHFZ.js.map → controls.config-PRXVODCM.js.map} +0 -0
  710. /package/dist/{correlation-BIWVZNC6.js.map → correlation-QJZUYDFH.js.map} +0 -0
  711. /package/dist/{cuminc-EDXOOI5R.js.map → cuminc-JJHXW55V.js.map} +0 -0
  712. /package/dist/{cuminc.integration.spec-UZA7BDTB.js.map → cuminc.integration.spec-IXS2UO2O.js.map} +0 -0
  713. /package/dist/{customdata.inputui-PEB4CE7J.js.map → customdata.inputui-DUHO6M6I.js.map} +0 -0
  714. /package/dist/{dataDownload-KANEHJXJ.js.map → dataDownload-OFB7TYDB.js.map} +0 -0
  715. /package/dist/{dataDownload.integration.spec-23WLHSWJ.js.map → dataDownload.integration.spec-4HWDQO4C.js.map} +0 -0
  716. /package/dist/{dictionary-YOTUFVES.js.map → dictionary-BSKN37CP.js.map} +0 -0
  717. /package/dist/{dnaMethylation-TRFAZWRJ.js.map → dnaMethylation-5QNEEGC6.js.map} +0 -0
  718. /package/dist/{dnaMethylation.integration.spec-SPFZO76D.js.map → dnaMethylation.integration.spec-YIX3JSA7.js.map} +0 -0
  719. /package/dist/{dofetch-MH4MRMGY.js.map → dofetch-KFMGQY7G.js.map} +0 -0
  720. /package/dist/{e2pca-AFVAFUJ2.js.map → e2pca-VX42HDYZ.js.map} +0 -0
  721. /package/dist/{ep-4FXTLWB4.js.map → ep-B6ZNETLI.js.map} +0 -0
  722. /package/dist/{expclust.gdc.spec-SFOCKBLR.js.map → expclust.gdc.spec-SGECIILQ.js.map} +0 -0
  723. /package/dist/{facet-SY6PYSTN.js.map → facet-2W5SBPGP.js.map} +0 -0
  724. /package/dist/{geneExpClustering-FOY77R7P.js.map → geneExpClustering-6A7364T5.js.map} +0 -0
  725. /package/dist/{geneExpression-D2F2KVGY.js.map → geneExpression-NAM2UEYN.js.map} +0 -0
  726. /package/dist/{geneExpression-AHKX57BT.js.map → geneExpression-WF56ODMZ.js.map} +0 -0
  727. /package/dist/{geneExpression.unit.spec-SR2BGZQL.js.map → geneExpression.unit.spec-DNE2T3WI.js.map} +0 -0
  728. /package/dist/{geneORA-VJMYI4BT.js.map → geneORA-33FK2YOS.js.map} +0 -0
  729. /package/dist/{geneVariant-LFM5SO2P.js.map → geneVariant-C7PCNBOQ.js.map} +0 -0
  730. /package/dist/{geneVariant-OIKEV4JM.js.map → geneVariant-REELFRRA.js.map} +0 -0
  731. /package/dist/{geneVariant.integration.spec-T6BINPIN.js.map → geneVariant.integration.spec-GNXUGDKL.js.map} +0 -0
  732. /package/dist/{genefusion.ui-NLMW5XMI.js.map → genefusion.ui-WO5EPJDS.js.map} +0 -0
  733. /package/dist/{genomeBrowser.spec-DRYIFJLY.js.map → genomeBrowser.spec-VPAKTUJF.js.map} +0 -0
  734. /package/dist/{grin2-LGI535FF.js.map → grin2-GYHUYNEF.js.map} +0 -0
  735. /package/dist/{gsea-Z7DSDFOA.js.map → gsea-PE5WZ5ZI.js.map} +0 -0
  736. /package/dist/{hierCluster-HC2B5XRR.js.map → hierCluster-FH6YJHRT.js.map} +0 -0
  737. /package/dist/{hierCluster-PLHVN5S3.js.map → hierCluster-IFM5I5QN.js.map} +0 -0
  738. /package/dist/{hierCluster.config-E3DIJWL5.js.map → hierCluster.config-M57ZIWMB.js.map} +0 -0
  739. /package/dist/{hierCluster.integration.spec-OQLPUQG4.js.map → hierCluster.integration.spec-Z64RL7MC.js.map} +0 -0
  740. /package/dist/{hierCluster.interactivity-LRNPDTEH.js.map → hierCluster.interactivity-CDBAJXOY.js.map} +0 -0
  741. /package/dist/{importPlot-M5HGLHRO.js.map → importPlot-OWKXSK77.js.map} +0 -0
  742. /package/dist/{isoformExpression-PADLHHR5.js.map → isoformExpression-66XLJG73.js.map} +0 -0
  743. /package/dist/{isoformExpression.unit.spec-5BPAL4OS.js.map → isoformExpression.unit.spec-QJX2IRHL.js.map} +0 -0
  744. /package/dist/{launch.adhoc-JH6ZZFDB.js.map → launch.adhoc-JCWID253.js.map} +0 -0
  745. /package/dist/{leftlabel.sample-NS2TBANH.js.map → leftlabel.sample-5NZ6VQDN.js.map} +0 -0
  746. /package/dist/{maf-NOHIKTUP.js.map → maf-HIS2FQXK.js.map} +0 -0
  747. /package/dist/{maftimeline-WGWE52EF.js.map → maftimeline-UPJJQE23.js.map} +0 -0
  748. /package/dist/{matrix-B6NPQFFF.js.map → matrix-62CN2KXR.js.map} +0 -0
  749. /package/dist/{matrix-UAKRJL5A.js.map → matrix-SPEDEB3J.js.map} +0 -0
  750. /package/dist/{matrix.config-KJNJXPJJ.js.map → matrix.config-XB6WFXUY.js.map} +0 -0
  751. /package/dist/{matrix.integration.spec-VAXIR3E6.js.map → matrix.integration.spec-NN7OR5XM.js.map} +0 -0
  752. /package/dist/{matrix.interactivity-H4MCMJXU.js.map → matrix.interactivity-OWMHUJCX.js.map} +0 -0
  753. /package/dist/{matrix.layout-RFKQJM5D.js.map → matrix.layout-27QB6MWK.js.map} +0 -0
  754. /package/dist/{matrix.renderers-7JJIC6VC.js.map → matrix.renderers-EPXES5E4.js.map} +0 -0
  755. /package/dist/{matrix.sort.unit.spec-MQQVWWNT.js.map → matrix.sort.unit.spec-NBT5FSZ6.js.map} +0 -0
  756. /package/dist/{matrix.sorterUi.unit.spec-LG4TI7VF.js.map → matrix.sorterUi.unit.spec-QKGUE4RR.js.map} +0 -0
  757. /package/dist/{mavb-EIZHS6F4.js.map → mavb-M7Y74OWQ.js.map} +0 -0
  758. /package/dist/{mds.fimo-XVC6MI7W.js.map → mds.fimo-WCDFA7HG.js.map} +0 -0
  759. /package/dist/{mds.samplescatterplot-PRR4TKYI.js.map → mds.samplescatterplot-ZDHQ3MKJ.js.map} +0 -0
  760. /package/dist/{mds.survivalplot-3OG4Y2B6.js.map → mds.survivalplot-R74DL2RA.js.map} +0 -0
  761. /package/dist/{oncomatrix-SO6S6IIB.js.map → oncomatrix-MOITJBII.js.map} +0 -0
  762. /package/dist/{oncomatrix.spec-VXTF44K5.js.map → oncomatrix.spec-NALJBPYS.js.map} +0 -0
  763. /package/dist/{plot.2dvaf-JW5OJJXV.js.map → plot.2dvaf-IE2EZEFA.js.map} +0 -0
  764. /package/dist/{plot.app-T3GVCFQ3.js.map → plot.app-HTW6TZEH.js.map} +0 -0
  765. /package/dist/{plot.barplot-2TYP6DPI.js.map → plot.barplot-NCQEPEOY.js.map} +0 -0
  766. /package/dist/{plot.boxplot-HOQHM7JF.js.map → plot.boxplot-WNKVBVJJ.js.map} +0 -0
  767. /package/dist/{plot.brainImaging-5AI7BSD4.js.map → plot.brainImaging-2Z3TOO6J.js.map} +0 -0
  768. /package/dist/{plot.disco-HNNZHK5Z.js.map → plot.disco-4JAEIAYK.js.map} +0 -0
  769. /package/dist/{plot.dzi-4OQSO7SY.js.map → plot.dzi-ZGLOVJJN.js.map} +0 -0
  770. /package/dist/{plot.ssgq-VZTTGECT.js.map → plot.ssgq-IHUILM43.js.map} +0 -0
  771. /package/dist/{plot.vaf2cov-ASEELRDV.js.map → plot.vaf2cov-ZYCQMD27.js.map} +0 -0
  772. /package/dist/{plot.wsi-MDWYLU4R.js.map → plot.wsi-3GISVBDH.js.map} +0 -0
  773. /package/dist/{polar-QSY6JG4P.js.map → polar-4AUAZHBV.js.map} +0 -0
  774. /package/dist/{polar2-FD6656VD.js.map → polar2-SRD4WWXU.js.map} +0 -0
  775. /package/dist/{profile.spec-V7EQBXT2.js.map → profile.spec-TOITKBBZ.js.map} +0 -0
  776. /package/dist/{profileBarchart-EIKHZAPD.js.map → profileBarchart-Z4SYIYBE.js.map} +0 -0
  777. /package/dist/{profileForms-NGFRXPFF.js.map → profileForms-RA7XQ2QT.js.map} +0 -0
  778. /package/dist/{profilePlot-2UFKJ2OC.js.map → profilePlot-4BM3XZVK.js.map} +0 -0
  779. /package/dist/{profileRadar-B2R7OV5F.js.map → profileRadar-EYBESEPI.js.map} +0 -0
  780. /package/dist/{profileRadarFacility-ILC7POCI.js.map → profileRadarFacility-FZYTFM26.js.map} +0 -0
  781. /package/dist/{proteomeAbundance-OF27N347.js.map → proteomeAbundance-65R6M4YQ.js.map} +0 -0
  782. /package/dist/{qualitative-CSUO2WG5.js.map → qualitative-E7WL6DN4.js.map} +0 -0
  783. /package/dist/{radar2-L2HGCUYR.js.map → radar2-I6FN5SUX.js.map} +0 -0
  784. /package/dist/{radarFacility2-HXUUTRYO.js.map → radarFacility2-GVK7PT3V.js.map} +0 -0
  785. /package/dist/{regression-Y4NYGZSA.js.map → regression-TIR5D354.js.map} +0 -0
  786. /package/dist/{regression.inputs-RWFIJLNF.js.map → regression.inputs-2AMJCJ3L.js.map} +0 -0
  787. /package/dist/{regression.inputs.term-QIU5SHTN.js.map → regression.inputs.term-D6D2QEUB.js.map} +0 -0
  788. /package/dist/{regression.inputs.values.table-FM6QTSEV.js.map → regression.inputs.values.table-M3IPLGDJ.js.map} +0 -0
  789. /package/dist/{regression.integration.spec-YRKKU7HL.js.map → regression.integration.spec-ROUSXLMH.js.map} +0 -0
  790. /package/dist/{regression.results-YUDCHUZJ.js.map → regression.results-YD5S74YS.js.map} +0 -0
  791. /package/dist/{regression.spec-G4GIIV32.js.map → regression.spec-4OXBBTNO.js.map} +0 -0
  792. /package/dist/{report-2N4FBR4Q.js.map → report-ETNALKTY.js.map} +0 -0
  793. /package/dist/{sampleScatter.spec-UIUYO4WR.js.map → sampleScatter.spec-LECMFMI2.js.map} +0 -0
  794. /package/dist/{sampleView-TOK5Y5KU.js.map → sampleView-B5TM7JOW.js.map} +0 -0
  795. /package/dist/{samplelst-YW5ZS3GJ.js.map → samplelst-GFQCG4SS.js.map} +0 -0
  796. /package/dist/{samplematrix-447BHSO7.js.map → samplematrix-OMTNWCJK.js.map} +0 -0
  797. /package/dist/{sc-O2PL3FL2.js.map → sc-MIEEZBWG.js.map} +0 -0
  798. /package/dist/{scatter-4DXHOWVY.js.map → scatter-ETOZ722F.js.map} +0 -0
  799. /package/dist/{scatter.integration.spec-ZPTM3AGQ.js.map → scatter.integration.spec-TS4PNRLX.js.map} +0 -0
  800. /package/dist/{selectGenomeWithTklst-3RLZFW62.js.map → selectGenomeWithTklst-Y5QIM2JB.js.map} +0 -0
  801. /package/dist/{singleCellCellType-3LQJXS7H.js.map → singleCellCellType-HOJHZF5W.js.map} +0 -0
  802. /package/dist/{singleCellCellType.unit.spec-UJM72SP4.js.map → singleCellCellType.unit.spec-MH5V3RPX.js.map} +0 -0
  803. /package/dist/{singleCellGeneExpression-JOWJWPIQ.js.map → singleCellGeneExpression-YVQ5TIKN.js.map} +0 -0
  804. /package/dist/{singleCellGeneExpression.unit.spec-VY5CGRZH.js.map → singleCellGeneExpression.unit.spec-BMFFT5HO.js.map} +0 -0
  805. /package/dist/{singleCellPlot-IVLVKOO6.js.map → singleCellPlot-3YFUYA2Y.js.map} +0 -0
  806. /package/dist/{singlecell-VJJZJZF7.js.map → singlecell-FK5JETW5.js.map} +0 -0
  807. /package/dist/{singlecell-VQJ2252L.js.map → singlecell-RL7V7DIC.js.map} +0 -0
  808. /package/dist/{snp-ALMKZKL2.js.map → snp-FT7HB3XN.js.map} +0 -0
  809. /package/dist/{snp.unit.spec-GJQBAHGQ.js.map → snp.unit.spec-CLYVYPPG.js.map} +0 -0
  810. /package/dist/{snplocus-WCNCMFWZ.js.map → snplocus-M5SEQGAC.js.map} +0 -0
  811. /package/dist/{spliceevent.a53ss.diagram-4Q4JF4RX.js.map → spliceevent.a53ss.diagram-EJ5CTRCZ.js.map} +0 -0
  812. /package/dist/{spliceevent.exonskip.diagram-IOYOKELT.js.map → spliceevent.exonskip.diagram-ETXMOHZ3.js.map} +0 -0
  813. /package/dist/{spliceevent.noeventdiagram-77ZCOHSF.js.map → spliceevent.noeventdiagram-S2O4ZM2Z.js.map} +0 -0
  814. /package/dist/{ssGSEA-QTXXIN4K.js.map → ssGSEA-6PMDQDTJ.js.map} +0 -0
  815. /package/dist/{ssGSEA.unit.spec-LQESATT3.js.map → ssGSEA.unit.spec-JD5T4R2N.js.map} +0 -0
  816. /package/dist/{summarizeCnvGeneexp-YKUQGDQF.js.map → summarizeCnvGeneexp-GCHNKTIU.js.map} +0 -0
  817. /package/dist/{summarizeGeneexpSurvival-ARGG5VDC.js.map → summarizeGeneexpSurvival-R2RYQZ3M.js.map} +0 -0
  818. /package/dist/{summarizeMutationCnv-FMZYT3EC.js.map → summarizeMutationCnv-LB2BIYRL.js.map} +0 -0
  819. /package/dist/{summarizeMutationDiagnosis-ZX7I46SC.js.map → summarizeMutationDiagnosis-3JUY75LM.js.map} +0 -0
  820. /package/dist/{summarizeMutationSurvival-RCFMTT43.js.map → summarizeMutationSurvival-VYLRWTCF.js.map} +0 -0
  821. /package/dist/{summary-QLL5YVI2.js.map → summary-2QQ72IEQ.js.map} +0 -0
  822. /package/dist/{summary.integration.spec-DHY6XCEJ.js.map → summary.integration.spec-XXU362UQ.js.map} +0 -0
  823. /package/dist/{summaryInput-ANCUQGIB.js.map → summaryInput-OZHZG3PV.js.map} +0 -0
  824. /package/dist/{sunburst-RDNFBOCK.js.map → sunburst-CMCJCANX.js.map} +0 -0
  825. /package/dist/{survival-BG7QV52L.js.map → survival-EBD4DHO7.js.map} +0 -0
  826. /package/dist/{survival-WSN36OQE.js.map → survival-ISLRRPKU.js.map} +0 -0
  827. /package/dist/{survival.integration.spec-37KAJ5IK.js.map → survival.integration.spec-FS7V4OXK.js.map} +0 -0
  828. /package/dist/{svgraph-A5WGHW4S.js.map → svgraph-KGLNUM7W.js.map} +0 -0
  829. /package/dist/{svmr-CYRHHWZF.js.map → svmr-NXZ5VLKH.js.map} +0 -0
  830. /package/dist/{table-VHO7E5PI.js.map → table-ISOQOI6C.js.map} +0 -0
  831. /package/dist/{termCollection-HSVSH7TJ.js.map → termCollection-7ZSU3I45.js.map} +0 -0
  832. /package/dist/{termCollection-E4Q6GLXN.js.map → termCollection-V2A5BDQB.js.map} +0 -0
  833. /package/dist/{termCollection.unit.spec-ZCE3TUMS.js.map → termCollection.unit.spec-6VLCJGOU.js.map} +0 -0
  834. /package/dist/{tk-GPRHDN4K.js.map → tk-6AB6XYIE.js.map} +0 -0
  835. /package/dist/{tp.ui-LTUA3FSL.js.map → tp.ui-2O4UW5N7.js.map} +0 -0
  836. /package/dist/{tvs.dt-G43PAAKD.js.map → tvs.dt-CY6TOQVB.js.map} +0 -0
  837. /package/dist/{tvs.dtcnv.categorical-UHDS2TGZ.js.map → tvs.dtcnv.categorical-AYQ432TW.js.map} +0 -0
  838. /package/dist/{tvs.dtcnv.continuous-ZNGYQKTD.js.map → tvs.dtcnv.continuous-XVDL6SG3.js.map} +0 -0
  839. /package/dist/{tvs.dtfusion-JBEEUDUS.js.map → tvs.dtfusion-V3AV7A6Q.js.map} +0 -0
  840. /package/dist/{tvs.dtsnvindel-XXN5Q7RN.js.map → tvs.dtsnvindel-XM3NXIT7.js.map} +0 -0
  841. /package/dist/{tvs.dtsv-MO6L7HHV.js.map → tvs.dtsv-Z2GYRINW.js.map} +0 -0
  842. /package/dist/{tvs.samplelst-HKY6UUJM.js.map → tvs.samplelst-C4FB63G7.js.map} +0 -0
  843. /package/dist/{tvs.termCollection-TY6FPL25.js.map → tvs.termCollection-VHTSC2ST.js.map} +0 -0
  844. /package/dist/{violin-YHE3WSGR.js.map → violin-KGGTUQFF.js.map} +0 -0
  845. /package/dist/{violin.integration.spec-F2UD7BHC.js.map → violin.integration.spec-5EW6PLJX.js.map} +0 -0
  846. /package/dist/{violin.interactivity-LVDTDEPQ.js.map → violin.interactivity-RI4RURGO.js.map} +0 -0
  847. /package/dist/{violin.renderer-IIEIUGRI.js.map → violin.renderer-EWU2IFZE.js.map} +0 -0
  848. /package/dist/{vocabulary-WQRYXBRO.js.map → vocabulary-VLIGC7OP.js.map} +0 -0
@@ -1,1554 +0,0 @@
1
- import {
2
- make_one_checkbox,
3
- renderTable,
4
- sayerror,
5
- table2col,
6
- to_svg
7
- } from "./chunk-YWUVCXFS.js";
8
- import "./chunk-HJ6L54YS.js";
9
- import "./chunk-3QBZ2Y77.js";
10
- import {
11
- Menu
12
- } from "./chunk-HYOEWQ5P.js";
13
- import "./chunk-FN5XPUPH.js";
14
- import "./chunk-G6O3URDN.js";
15
- import "./chunk-LSEFWW72.js";
16
- import {
17
- icons
18
- } from "./chunk-KWM6B3NL.js";
19
- import "./chunk-UCLS2SVB.js";
20
- import {
21
- dofetch3
22
- } from "./chunk-6ZCHECOT.js";
23
- import "./chunk-MVTCBVSX.js";
24
- import "./chunk-2K5DSRBJ.js";
25
- import "./chunk-X4NI4JLQ.js";
26
- import "./chunk-L4QG7XZE.js";
27
- import "./chunk-DQC5FFGV.js";
28
- import "./chunk-UWYCEYML.js";
29
- import "./chunk-7UHUOC6F.js";
30
- import "./chunk-ZYY54HBU.js";
31
- import "./chunk-EGWVYY7K.js";
32
- import {
33
- bplen,
34
- class2SOterm,
35
- dtsnvindel,
36
- mclass
37
- } from "./chunk-AMYSEKPF.js";
38
- import "./chunk-TV74I3Y5.js";
39
- import "./chunk-KSGA62R2.js";
40
- import {
41
- axisLeft
42
- } from "./chunk-LOZEKOES.js";
43
- import "./chunk-TOU7EVFQ.js";
44
- import {
45
- linear
46
- } from "./chunk-OAWQ6LOO.js";
47
- import "./chunk-KYBIQBXE.js";
48
- import {
49
- select_default
50
- } from "./chunk-I6Y4O3RR.js";
51
- import "./chunk-OMR2DT66.js";
52
- import "./chunk-HFNDKYVF.js";
53
-
54
- // gdc/grin2/ui-components.ts
55
- var STYLES = {
56
- // Layout styles
57
- flexRow: {
58
- display: "flex",
59
- "align-items": "center",
60
- gap: "8px"
61
- },
62
- gridTwoColumn: {
63
- display: "grid",
64
- "grid-template-columns": "auto auto",
65
- gap: "15px",
66
- "max-width": "fit-content"
67
- },
68
- // Form element styles
69
- label: {
70
- "font-size": "14px",
71
- "font-weight": "500"
72
- },
73
- numberInput: {
74
- padding: "4px 8px",
75
- border: "1px solid #ccc",
76
- "border-radius": "4px",
77
- "font-size": "14px"
78
- },
79
- checkbox: {
80
- margin: "0",
81
- cursor: "pointer"
82
- },
83
- checkboxLabel: {
84
- cursor: "pointer",
85
- "font-weight": "500"
86
- },
87
- // Table styles
88
- tableHeader: {
89
- padding: "12px",
90
- "background-color": "#f8f9fa",
91
- border: "1px solid #ddd",
92
- "font-weight": "bold",
93
- "text-align": "left"
94
- },
95
- tableCell: {
96
- padding: "12px",
97
- border: "1px solid #ddd",
98
- "vertical-align": "top"
99
- },
100
- optionsTable: {
101
- width: "auto",
102
- "border-collapse": "collapse",
103
- "margin-top": "10px",
104
- border: "1px solid #ddd"
105
- },
106
- // Panel styles
107
- infoPanel: {
108
- padding: "8px",
109
- "background-color": "#f8f9fa",
110
- "border-radius": "4px",
111
- "border-left": "3px solid #6c757d",
112
- "font-size": "12px",
113
- color: "#495057",
114
- "line-height": "1.4"
115
- },
116
- // Expandable section styles
117
- expandableHeader: {
118
- display: "flex",
119
- "align-items": "center",
120
- gap: "8px",
121
- cursor: "pointer",
122
- padding: "8px",
123
- "border-radius": "4px",
124
- transition: "background-color 0.2s"
125
- },
126
- expandIcon: {
127
- "font-size": "12px",
128
- transition: "transform 0.2s"
129
- },
130
- expandableContent: {
131
- display: "none",
132
- "margin-top": "12px",
133
- padding: "12px",
134
- "background-color": "#fff",
135
- "border-radius": "4px",
136
- "box-shadow": "inset 0 1px 3px rgba(0, 0, 0, 0.1)"
137
- },
138
- expandHeaderText: {
139
- "text-decoration": "underline",
140
- "font-size": "13px",
141
- "font-weight": "500"
142
- }
143
- };
144
- function applyStyles(selection, styles) {
145
- Object.entries(styles).forEach(([property, value]) => {
146
- selection.style(property, value);
147
- });
148
- return selection;
149
- }
150
- function createNumberInput(container, config) {
151
- const inputContainer = container.append("div");
152
- applyStyles(inputContainer, STYLES.flexRow);
153
- const label = inputContainer.append("label");
154
- applyStyles(label, STYLES.label);
155
- if (config.labelWidth) {
156
- label.style("min-width", config.labelWidth);
157
- }
158
- label.text(config.label);
159
- const input = inputContainer.append("input").attr("type", "number").attr("value", config.value);
160
- applyStyles(input, STYLES.numberInput);
161
- if (config.min !== void 0) input.attr("min", config.min);
162
- if (config.max !== void 0) input.attr("max", config.max);
163
- if (config.step !== void 0) input.attr("step", config.step);
164
- if (config.width) input.style("width", config.width);
165
- input.on("input", function() {
166
- const value = parseFloat(this.value);
167
- if (!isNaN(value)) {
168
- config.onChange(value);
169
- }
170
- });
171
- return { container: inputContainer, input, label };
172
- }
173
- function createCheckbox(container, config) {
174
- const checkboxContainer = container.append("div");
175
- applyStyles(checkboxContainer, STYLES.flexRow);
176
- const checkbox = checkboxContainer.append("input").attr("type", "checkbox").attr("id", config.id).property("checked", config.checked);
177
- applyStyles(checkbox, STYLES.checkbox);
178
- const label = checkboxContainer.append("label").attr("for", config.id).text(config.label);
179
- applyStyles(label, STYLES.checkboxLabel);
180
- checkbox.on("change", function() {
181
- config.onChange(this.checked);
182
- });
183
- return { container: checkboxContainer, checkbox, label };
184
- }
185
- function createOptionsTable(container) {
186
- const table = container.append("table");
187
- applyStyles(table, STYLES.optionsTable);
188
- return table;
189
- }
190
- function createTableHeader(table, columns) {
191
- const headerRow = table.append("tr");
192
- columns.forEach((columnText, index) => {
193
- const th = headerRow.append("th");
194
- applyStyles(th, STYLES.tableHeader);
195
- if (index === 0) {
196
- th.style("width", "200px");
197
- }
198
- th.text(columnText);
199
- });
200
- return headerRow;
201
- }
202
- function createDataTypeRow(table, config) {
203
- const row = table.append("tr");
204
- const checkboxCell = row.append("td");
205
- applyStyles(checkboxCell, STYLES.tableCell);
206
- const { checkbox } = createCheckbox(checkboxCell, {
207
- id: config.id,
208
- label: config.label,
209
- checked: config.checked,
210
- onChange: config.onChange
211
- });
212
- const optionsCell = row.append("td");
213
- applyStyles(optionsCell, STYLES.tableCell);
214
- const optionsContainer = optionsCell.append("div").style("display", config.checked ? "block" : "none");
215
- config.createOptionsContent(optionsContainer);
216
- return { row, optionsContainer, checkbox };
217
- }
218
- function createInfoPanel(container, config) {
219
- const panel = container.append("div");
220
- applyStyles(panel, STYLES.infoPanel);
221
- if (config.color) {
222
- panel.style("border-left-color", config.color);
223
- }
224
- if (config.title) {
225
- panel.append("strong").text(config.title);
226
- panel.append("br");
227
- }
228
- panel.append("span").html(config.content);
229
- return panel;
230
- }
231
-
232
- // plots/manhattan/manhattanGDC.ts
233
- function plotManhattanGDC(div, data, settings, app) {
234
- settings = {
235
- pngDotRadius: 2,
236
- plotWidth: 1e3,
237
- plotHeight: 400,
238
- yAxisX: 70,
239
- yAxisY: 40,
240
- yAxisSpace: 40,
241
- fontSize: 12,
242
- showLegend: true,
243
- legendItemWidth: 80,
244
- legendDotRadius: 3,
245
- legendRightOffset: 15,
246
- legendTextOffset: 12,
247
- legendVerticalOffset: 4,
248
- legendFontSize: 12,
249
- showInteractiveDots: true,
250
- showDownload: true,
251
- interactiveDotRadius: 3,
252
- interactiveDotStrokeWidth: 1,
253
- ...settings
254
- };
255
- div.style("position", "relative");
256
- const geneTip = new Menu({ padding: "" });
257
- const svg = div.append("svg").attr("width", data.plotData.png_width + settings.yAxisX + settings.yAxisSpace).attr("height", data.plotData.png_height + settings.yAxisY * 4);
258
- const yAxisG = svg.append("g").attr("transform", `translate(${settings.yAxisX + settings.yAxisSpace},${settings.yAxisY})`);
259
- const yScale = linear().domain([0, data.plotData.y_max]).range([data.plotData.png_height, 0]);
260
- yAxisG.call(axisLeft(yScale));
261
- svg.append("text").attr("x", -(data.plotData.png_height / 2) - settings.yAxisY).attr("y", settings.yAxisX / 2).attr("transform", "rotate(-90)").attr("text-anchor", "middle").attr("font-size", `${settings.fontSize}px`).attr("fill", "black").text("-log\u2081\u2080(q-value)");
262
- svg.append("image").attr("transform", `translate(${settings.yAxisX + settings.yAxisSpace},${settings.yAxisY})`).attr("width", data.plotData.png_width).attr("height", data.plotData.png_height).attr("href", `data:image/png;base64,${data.pngImg || data.png}`);
263
- const xScale = linear().domain([-data.plotData.x_buffer, data.plotData.total_genome_length + data.plotData.x_buffer]).range([0, data.plotData.png_width]);
264
- if (settings.showInteractiveDots && data.plotData.points && data.plotData.points.length > 0) {
265
- const pointsLayer = svg.append("g").attr("transform", `translate(${settings.yAxisX + settings.yAxisSpace},${settings.yAxisY})`);
266
- pointsLayer.selectAll("circle").data(data.plotData.points).enter().append("circle").attr("cx", (d) => xScale(d.x)).attr("cy", (d) => yScale(d.y)).attr("r", settings.interactiveDotRadius).attr("fill-opacity", 0).attr("stroke", "black").attr("stroke-width", settings.interactiveDotStrokeWidth).attr("stroke-opacity", 0).on("mouseover", (event, d) => {
267
- event.target.setAttribute("stroke-opacity", 1);
268
- geneTip.clear().show(event.clientX, event.clientY);
269
- const table = table2col({
270
- holder: geneTip.d.append("div"),
271
- margin: "10px"
272
- });
273
- table.addRow("Gene", d.gene);
274
- const [t1, t2] = table.addRow();
275
- t1.text("Type");
276
- t2.html(`<span style="color:${d.color}">\u25CF</span> ${d.type.charAt(0).toUpperCase() + d.type.slice(1)}`);
277
- table.addRow("-log\u2081\u2080(q-value)", d.y.toFixed(3));
278
- if (d.nsubj) table.addRow("Subject count", d.nsubj);
279
- table.addRow("Chromosome", d.chrom);
280
- }).on("mouseout", (event) => {
281
- event.target.setAttribute("stroke-opacity", 0);
282
- geneTip.hide();
283
- }).on("click", (event, d) => {
284
- if (app) {
285
- app.dispatch({
286
- type: "plot_create",
287
- config: {
288
- chartType: "genomeBrowser",
289
- geneSearchResult: { geneSymbol: d.gene }
290
- }
291
- });
292
- }
293
- });
294
- }
295
- if (data.plotData.chrom_data) {
296
- const chromLabelY = data.plotData.png_height + settings.yAxisY + 20;
297
- Object.entries(data.plotData.chrom_data).forEach(([chrom, chromData]) => {
298
- const chromLabel = chrom.replace("chr", "");
299
- if (chromLabel === "M") return;
300
- const centerPos = settings.yAxisX + settings.yAxisSpace + xScale(chromData.center);
301
- svg.append("text").attr("x", centerPos).attr("y", chromLabelY).attr("text-anchor", "middle").attr("font-size", `${settings.fontSize - 2}px`).attr("fill", "black").text(chromLabel);
302
- });
303
- }
304
- svg.append("text").attr("x", settings.yAxisX + settings.yAxisSpace + data.plotData.png_width / 2).attr("y", data.plotData.png_height + settings.yAxisY + 45).attr("text-anchor", "middle").attr("font-size", `${settings.fontSize}px`).attr("fill", "black").text("Chromosomes");
305
- svg.append("text").attr("x", settings.yAxisX + settings.yAxisSpace).attr("y", settings.yAxisY / 2).attr("text-anchor", "left").attr("font-weight", "bold").attr("font-size", `${settings.fontSize + 2}px`).attr("fill", "black").text("Manhattan Plot");
306
- if (settings.showDownload) {
307
- const downloadDiv = div.append("div").style("position", "absolute").style("top", "5px").style("left", `${settings.yAxisX + settings.yAxisSpace + 108}px`).style("z-index", "10").style("background", `${settings.background}`).style("padding", `${settings.padding + 2}px`).style("border-radius", `${settings.borderRadius + 10}px`);
308
- icons["download"](downloadDiv, {
309
- width: 16,
310
- height: 16,
311
- title: "Download Manhattan plot",
312
- handler: () => {
313
- to_svg(
314
- svg.node(),
315
- `manhattan_plot_${(/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-").slice(0, -5)}`,
316
- { apply_dom_styles: true }
317
- );
318
- }
319
- });
320
- }
321
- const mutationTypes = [...new Set(data.plotData.points.map((p) => p.type))];
322
- const legendData = mutationTypes.map((type) => {
323
- const point = data.plotData.points.find((p) => p.type === type);
324
- return {
325
- type: String(type).charAt(0).toUpperCase() + String(type).slice(1),
326
- color: point?.color
327
- };
328
- });
329
- if (settings.showLegend && legendData.length > 0) {
330
- const legendY = settings.yAxisY / 2;
331
- const totalWidth = legendData.length * settings.legendItemWidth;
332
- const legendX = settings.yAxisX + settings.yAxisSpace + data.plotData.png_width - totalWidth - settings.legendRightOffset;
333
- legendData.forEach((item, i) => {
334
- const x = legendX + i * settings.legendItemWidth;
335
- svg.append("circle").attr("cx", x + 8).attr("cy", legendY).attr("r", settings.legendDotRadius).attr("fill", item.color).attr("stroke", "black").attr("stroke-width", 1);
336
- svg.append("text").attr("x", x + 8 + settings.legendTextOffset).attr("y", legendY + settings.legendVerticalOffset).attr("font-size", `${settings.legendFontSize}px`).attr("fill", "black").text(item.type);
337
- });
338
- }
339
- }
340
-
341
- // gdc/grin2.ts
342
- var defaultCheckedClasses = ["M", "F", "N", "StopLost", "StartLost", "L", "I", "D", "ProteinAltering"];
343
- var skipMAFclasses = ["WT", "Blank", "X"];
344
- function transformRows(rows, columns) {
345
- return rows.map((row) => {
346
- const transformedRow = [];
347
- for (let i = 0; i < columns.length; i++) {
348
- const cellData = row[i];
349
- let value = null;
350
- if (cellData && cellData.value && Array.isArray(cellData.value)) {
351
- value = cellData.value[0];
352
- } else if (cellData && "value" in cellData) {
353
- value = cellData.value;
354
- } else {
355
- value = cellData;
356
- }
357
- transformedRow.push({ value });
358
- }
359
- return transformedRow;
360
- });
361
- }
362
- function parseRecordsByCaseData(recordsByCase, excludedByMaxRecord = {}) {
363
- const columns = [
364
- { label: "Case ID", sortable: true },
365
- { label: "MAF Total Processed", sortable: true },
366
- { label: "MAF Included", sortable: true },
367
- { label: "MAF Excluded by Depth", sortable: true },
368
- { label: "MAF Excluded by Alt Count", sortable: true },
369
- { label: "MAF Excluded by Consequence", sortable: true },
370
- { label: "MAF Skipped Chromosomes", sortable: true },
371
- { label: "MAF Excluded by Records Cap", sortable: true },
372
- { label: "CNV Total Processed", sortable: true },
373
- { label: "CNV Included", sortable: true },
374
- { label: "CNV Excluded by Thresholds", sortable: true },
375
- { label: "CNV Excluded by Length", sortable: true },
376
- { label: "CNV Skipped Chromosomes", sortable: true },
377
- { label: "CNV Excluded by Records Cap", sortable: true },
378
- { label: "Invalid Rows", sortable: true }
379
- ];
380
- const rows = [];
381
- Object.entries(recordsByCase).forEach(([caseId, caseData]) => {
382
- const row = [];
383
- row.push({ value: caseId });
384
- let parsedData;
385
- try {
386
- parsedData = typeof caseData === "string" ? JSON.parse(caseData) : caseData;
387
- } catch (_e) {
388
- parsedData = caseData;
389
- }
390
- let mafTotalProcessed = 0;
391
- let mafIncluded = 0;
392
- let mafExcludedByDepth = 0;
393
- let mafExcludedByAltCount = 0;
394
- let mafExcludedByConsequence = 0;
395
- let mafSkippedChromosomes = 0;
396
- if (parsedData.maf) {
397
- mafTotalProcessed = parsedData.maf.total_processed || 0;
398
- mafIncluded = parsedData.maf.total_included || 0;
399
- mafExcludedByDepth = parsedData.maf.excluded_by_min_depth || 0;
400
- mafExcludedByAltCount = parsedData.maf.excluded_by_min_alt_count || 0;
401
- mafExcludedByConsequence = parsedData.maf.excluded_by_consequence_type || 0;
402
- if (parsedData.maf.skipped_chromosomes && typeof parsedData.maf.skipped_chromosomes === "object") {
403
- mafSkippedChromosomes = Object.values(parsedData.maf.skipped_chromosomes).reduce(
404
- (sum, count) => sum + (Number(count) || 0),
405
- 0
406
- );
407
- }
408
- }
409
- row.push({ value: mafTotalProcessed });
410
- row.push({ value: mafIncluded });
411
- row.push({ value: mafExcludedByDepth });
412
- row.push({ value: mafExcludedByAltCount });
413
- row.push({ value: mafExcludedByConsequence });
414
- if (parsedData.maf?.skipped_chromosomes && Object.keys(parsedData.maf.skipped_chromosomes).length > 0) {
415
- const chromosomeEntries = Object.entries(parsedData.maf.skipped_chromosomes);
416
- const tableHtml = `
417
- <div style="text-align: center;">
418
- <table style="border-collapse: collapse; margin: 0 auto; font-size: 11px; border: 1px solid #ddd;">
419
- <thead>
420
- <tr style="background-color: #f8f9fa;">
421
- <th style="border: 1px solid #ddd; padding: 2px 6px;">Chr</th>
422
- <th style="border: 1px solid #ddd; padding: 2px 6px;">Count</th>
423
- </tr>
424
- </thead>
425
- <tbody>
426
- ${chromosomeEntries.map(
427
- ([chr, count]) => `<tr>
428
- <td style="border: 1px solid #ddd; padding: 2px 6px;">${chr}</td>
429
- <td style="border: 1px solid #ddd; padding: 2px 6px; text-align: right;">${count}</td>
430
- </tr>`
431
- ).join("")}
432
- </tbody>
433
- </table>
434
- </div>
435
- `;
436
- row.push({
437
- html: tableHtml,
438
- value: mafSkippedChromosomes,
439
- rawData: parsedData.maf.skipped_chromosomes,
440
- dataType: "chromosome-details"
441
- });
442
- } else {
443
- row.push({
444
- value: mafSkippedChromosomes,
445
- rawData: null,
446
- dataType: "chromosome-details"
447
- });
448
- }
449
- const mafExcludedByMax = excludedByMaxRecord.maf?.includes(caseId) ? "Yes" : "No";
450
- row.push({
451
- value: mafExcludedByMax,
452
- html: mafExcludedByMax === "Yes" ? `<span style="color: #dc3545; font-weight: bold;">${mafExcludedByMax}</span>` : mafExcludedByMax
453
- });
454
- let cnvTotalProcessed = 0;
455
- let cnvIncluded = 0;
456
- let cnvExcludedByThresholds = 0;
457
- let cnvExcludedByLength = 0;
458
- let cnvSkippedChromosomes = 0;
459
- if (parsedData.cnv) {
460
- cnvTotalProcessed = parsedData.cnv.total_processed || 0;
461
- cnvIncluded = parsedData.cnv.total_included || 0;
462
- cnvExcludedByThresholds = (parsedData.cnv.excluded_by_loss_threshold || 0) + (parsedData.cnv.excluded_by_gain_threshold || 0);
463
- cnvExcludedByLength = parsedData.cnv.excluded_by_segment_length || 0;
464
- if (parsedData.cnv.skipped_chromosomes && typeof parsedData.cnv.skipped_chromosomes === "object") {
465
- cnvSkippedChromosomes = Object.values(parsedData.cnv.skipped_chromosomes).reduce(
466
- (sum, count) => sum + (Number(count) || 0),
467
- 0
468
- );
469
- }
470
- }
471
- row.push({ value: cnvTotalProcessed });
472
- row.push({ value: cnvIncluded });
473
- row.push({ value: cnvExcludedByThresholds });
474
- row.push({ value: cnvExcludedByLength });
475
- if (parsedData.cnv?.skipped_chromosomes && Object.keys(parsedData.cnv.skipped_chromosomes).length > 0) {
476
- const chromosomeEntries = Object.entries(parsedData.cnv.skipped_chromosomes);
477
- const tableHtml = `
478
- <div style="text-align: center;">
479
- <table style="border-collapse: collapse; margin: 0 auto; font-size: 11px; border: 1px solid #ddd;">
480
- <thead>
481
- <tr style="background-color: #f8f9fa;">
482
- <th style="border: 1px solid #ddd; padding: 2px 6px;">Chr</th>
483
- <th style="border: 1px solid #ddd; padding: 2px 6px;">Count</th>
484
- </tr>
485
- </thead>
486
- <tbody>
487
- ${chromosomeEntries.map(
488
- ([chr, count]) => `<tr>
489
- <td style="border: 1px solid #ddd; padding: 2px 6px;">${chr}</td>
490
- <td style="border: 1px solid #ddd; padding: 2px 6px; text-align: right;">${count}</td>
491
- </tr>`
492
- ).join("")}
493
- </tbody>
494
- </table>
495
- </div>
496
- `;
497
- row.push({
498
- html: tableHtml,
499
- value: cnvSkippedChromosomes,
500
- rawData: parsedData.cnv.skipped_chromosomes,
501
- dataType: "chromosome-details"
502
- });
503
- } else {
504
- row.push({
505
- value: cnvSkippedChromosomes,
506
- rawData: null,
507
- dataType: "chromosome-details"
508
- });
509
- }
510
- const cnvExcludedByMax = excludedByMaxRecord.cnv?.includes(caseId) ? "Yes" : "No";
511
- row.push({
512
- value: cnvExcludedByMax,
513
- html: cnvExcludedByMax === "Yes" ? `<span style="color: #dc3545; font-weight: bold;">${cnvExcludedByMax}</span>` : cnvExcludedByMax
514
- });
515
- let totalInvalidRows = 0;
516
- if (parsedData.maf && parsedData.maf.invalid_rows !== void 0) {
517
- totalInvalidRows += Number(parsedData.maf.invalid_rows) || 0;
518
- }
519
- if (parsedData.cnv && parsedData.cnv.invalid_rows !== void 0) {
520
- totalInvalidRows += Number(parsedData.cnv.invalid_rows) || 0;
521
- }
522
- row.push({ value: totalInvalidRows });
523
- rows.push(row);
524
- });
525
- return { columns, rows };
526
- }
527
- function addExpandableFailedFilesToStats(statsContainer, failedFilesInfo) {
528
- const expandableContainer = statsContainer.append("div").style("margin-top", "12px");
529
- const expandableHeader = expandableContainer.append("div").style("display", "flex").style("align-items", "center").style("gap", "8px").style("cursor", "pointer").style("padding", "8px").style("border-radius", "4px").style("transition", "background-color 0.2s").style("background-color", "rgba(220, 53, 69, 0.1)").style("border", "1px solid rgba(220, 53, 69, 0.2)").on("mouseenter", function() {
530
- select_default(this).style("background-color", "rgba(220, 53, 69, 0.15)");
531
- }).on("mouseleave", function() {
532
- select_default(this).style("background-color", "rgba(220, 53, 69, 0.1)");
533
- });
534
- const expandIcon = expandableHeader.append("span").style("font-size", "12px").style("color", "#dc3545").style("transition", "transform 0.2s").text("\u25B6");
535
- expandableHeader.append("span").style("color", "#dc3545").style("text-decoration", "underline").style("font-size", "13px").style("font-weight", "500").text(`View ${failedFilesInfo.count} failed files details`);
536
- if (failedFilesInfo.errorSummary) {
537
- const { errorSummary } = failedFilesInfo;
538
- const summaryItems = [];
539
- if (errorSummary.connectionErrors > 0) {
540
- summaryItems.push(`${errorSummary.connectionErrors} connection`);
541
- }
542
- if (errorSummary.timeoutErrors > 0) {
543
- summaryItems.push(`${errorSummary.timeoutErrors} timeout`);
544
- }
545
- if (errorSummary.serverErrors > 0) {
546
- summaryItems.push(`${errorSummary.serverErrors} server`);
547
- }
548
- if (errorSummary.otherErrors > 0) {
549
- summaryItems.push(`${errorSummary.otherErrors} other`);
550
- }
551
- if (summaryItems.length > 0) {
552
- expandableHeader.append("span").style("margin-left", "8px").style("font-size", "12px").style("color", "#666").style("font-weight", "normal").text(`(${summaryItems.join(", ")})`);
553
- }
554
- }
555
- const expandableContent = expandableContainer.append("div").style("display", "none").style("margin-top", "12px").style("padding", "12px").style("background-color", "#fff").style("border", "1px solid #f5c6cb").style("border-radius", "4px").style("box-shadow", "inset 0 1px 3px rgba(0, 0, 0, 0.1)");
556
- const tableSection = expandableContent.append("div");
557
- tableSection.append("h6").style("margin", "0 0 12px 0").style("color", "#721c24").style("font-size", "14px").style("font-weight", "bold").text("Failed Files Details");
558
- const tableContainer = tableSection.append("div").style("max-height", "300px").style("overflow-y", "auto").style("border", "1px solid #dee2e6").style("border-radius", "4px");
559
- renderTable({
560
- div: tableContainer,
561
- columns: failedFilesInfo.tableData.headers.map((header) => ({
562
- label: header,
563
- sortable: true
564
- })),
565
- rows: failedFilesInfo.tableData.rows.map((row) => row.map((cell) => ({ value: cell }))),
566
- showLines: true,
567
- striped: true,
568
- showHeader: true,
569
- maxHeight: "280px",
570
- resize: false,
571
- header: {
572
- allowSort: true,
573
- style: {
574
- "background-color": "#f8f9fa",
575
- "font-weight": "bold",
576
- "border-bottom": "2px solid #dee2e6"
577
- }
578
- }
579
- });
580
- expandableContent.append("div").style("margin-top", "12px").style("padding", "8px").style("background-color", "#f8f9fa").style("border-radius", "4px").style("font-size", "12px").style("color", "#495057").style("line-height", "1.4").text("These files could not be downloaded due to network or server issues and were excluded from the analysis.");
581
- let isExpanded = false;
582
- expandableHeader.on("click", function() {
583
- isExpanded = !isExpanded;
584
- if (isExpanded) {
585
- expandableContent.style("display", "block");
586
- expandIcon.style("transform", "rotate(90deg)").text("\u25BC");
587
- } else {
588
- expandableContent.style("display", "none");
589
- expandIcon.style("transform", "rotate(0deg)").text("\u25B6");
590
- }
591
- });
592
- }
593
- function createExpandableDeduplicationSection(container, deduplicationStats) {
594
- const duplicatesRemoved = deduplicationStats.duplicatesRemoved || 0;
595
- const sizeFilteredCount = deduplicationStats.filteredFiles ? deduplicationStats.filteredFiles.length : 0;
596
- const totalExcluded = duplicatesRemoved + sizeFilteredCount;
597
- if (totalExcluded === 0) {
598
- return;
599
- }
600
- const expandableContainer = container.append("div").style("margin-top", "8px");
601
- const expandableHeader = expandableContainer.append("div").style("display", "flex").style("align-items", "center").style("gap", "8px").style("cursor", "pointer").style("padding", "6px 8px").style("border-radius", "4px").style("transition", "background-color 0.2s").style("background-color", "rgba(216, 67, 21, 0.1)").style("border", "1px solid rgba(216, 67, 21, 0.2)").on("mouseenter", function() {
602
- select_default(this).style("background-color", "rgba(216, 67, 21, 0.15)");
603
- }).on("mouseleave", function() {
604
- select_default(this).style("background-color", "rgba(216, 67, 21, 0.1)");
605
- });
606
- const expandIcon = expandableHeader.append("span").style("font-size", "12px").style("color", "#d84315").style("transition", "transform 0.2s").text("\u25B6");
607
- expandableHeader.append("span").style("color", "#d84315").style("text-decoration", "underline").style("font-size", "12px").style("font-weight", "500").text("View excluded files details");
608
- const exclusionDetails = [];
609
- if (duplicatesRemoved > 0) {
610
- exclusionDetails.push(`${duplicatesRemoved} duplicates`);
611
- }
612
- if (sizeFilteredCount > 0) {
613
- exclusionDetails.push(`${sizeFilteredCount} oversized`);
614
- }
615
- if (exclusionDetails.length > 0) {
616
- expandableHeader.append("span").style("margin-left", "8px").style("font-size", "11px").style("color", "#666").style("font-weight", "normal").text(`(${exclusionDetails.join(", ")})`);
617
- }
618
- const expandableContent = expandableContainer.append("div").style("display", "none").style("margin-top", "8px").style("padding", "12px").style("background-color", "#fff").style("border", "1px solid rgba(216, 67, 21, 0.3)").style("border-radius", "4px").style("box-shadow", "inset 0 1px 3px rgba(0, 0, 0, 0.1)").style("max-height", "400px").style("overflow-y", "auto");
619
- if (deduplicationStats.caseDetails && deduplicationStats.caseDetails.length > 0) {
620
- const duplicatesSection = expandableContent.append("div").style("margin-bottom", "16px");
621
- duplicatesSection.append("h6").style("margin", "0 0 8px 0").style("color", "#d84315").style("font-size", "13px").style("font-weight", "bold").text("Duplicate Files Removed");
622
- duplicatesSection.append("p").style("margin", "0 0 12px 0").style("font-size", "12px").style("color", "#666").text(`${deduplicationStats.duplicatesRemoved} duplicate files were removed (largest file kept for each case)`);
623
- const duplicatesCasesContainer = duplicatesSection.append("div").style("display", "grid").style("grid-template-columns", "repeat(auto-fill, minmax(300px, 1fr))").style("gap", "8px");
624
- deduplicationStats.caseDetails.forEach((caseInfo) => {
625
- const caseDiv = duplicatesCasesContainer.append("div").style("padding", "6px 8px").style("background-color", "#fff3e0").style("border-radius", "3px").style("border-left", "3px solid #ff9800");
626
- caseDiv.append("div").style("font-size", "12px").style("color", "#333").style("line-height", "1.3").html(
627
- `<strong>Case ${caseInfo.caseName}:</strong> Found ${caseInfo.fileCount} MAF files, keeping largest (${bplen(
628
- caseInfo.keptFileSize
629
- )})`
630
- );
631
- });
632
- }
633
- if (deduplicationStats.filteredFiles && deduplicationStats.filteredFiles.length > 0) {
634
- if (deduplicationStats.caseDetails && deduplicationStats.caseDetails.length > 0) {
635
- expandableContent.append("hr").style("margin", "12px 0").style("border", "none").style("border-top", "1px solid #e0e0e0");
636
- }
637
- const sizeFilterSection = expandableContent.append("div");
638
- sizeFilterSection.append("h6").style("margin", "0 0 8px 0").style("color", "#c62828").style("font-size", "13px").style("font-weight", "bold").text("Files Excluded by Size");
639
- sizeFilterSection.append("p").style("margin", "0 0 12px 0").style("font-size", "12px").style("color", "#666").text(`${deduplicationStats.filteredFiles.length} files were excluded for being too large (>${bplen(1e6)})`);
640
- const oversizedFilesContainer = sizeFilterSection.append("div").style("display", "grid").style("grid-template-columns", "repeat(auto-fill, minmax(280px, 1fr))").style("gap", "8px");
641
- deduplicationStats.filteredFiles.forEach((fileInfo) => {
642
- const fileDiv = oversizedFilesContainer.append("div").style("padding", "6px 8px").style("background-color", "#ffebee").style("border-radius", "3px").style("border-left", "3px solid #f44336");
643
- fileDiv.append("div").style("font-size", "11px").style("color", "#333").style("margin-bottom", "2px").style("line-height", "1.2").html(`<strong>File ID:</strong> ${fileInfo.fileId}`);
644
- fileDiv.append("div").style("font-size", "10px").style("color", "#666").style("line-height", "1.2").text(`Size: ${bplen(fileInfo.fileSize)} - ${fileInfo.reason}`);
645
- });
646
- }
647
- expandableContent.append("div").style("margin-top", "12px").style("padding", "6px 8px").style("background-color", "#f8f9fa").style("border-radius", "4px").style("font-size", "11px").style("color", "#495057").style("line-height", "1.3").text("Files are filtered to ensure optimal performance and avoid duplicates.");
648
- let isExpanded = false;
649
- expandableHeader.on("click", function() {
650
- isExpanded = !isExpanded;
651
- if (isExpanded) {
652
- expandableContent.style("display", "block");
653
- expandIcon.style("transform", "rotate(90deg)").text("\u25BC");
654
- } else {
655
- expandableContent.style("display", "none");
656
- expandIcon.style("transform", "rotate(0deg)").text("\u25B6");
657
- }
658
- });
659
- }
660
- function updateDedupStatus(obj, deduplicationStats) {
661
- if (!obj.dedupStatusElement) return;
662
- const dedupElement = obj.dedupStatusElement;
663
- dedupElement.selectAll("*").remove();
664
- if (!deduplicationStats) {
665
- dedupElement.style("color", "#666").text("No deduplication data available");
666
- return;
667
- }
668
- const dedupContainer = dedupElement.append("div").style("display", "flex").style("flex-direction", "column").style("gap", "6px");
669
- const duplicatesRemoved = deduplicationStats.duplicatesRemoved || 0;
670
- const sizeFilteredCount = deduplicationStats.filteredFiles ? deduplicationStats.filteredFiles.length : 0;
671
- const totalExcluded = duplicatesRemoved + sizeFilteredCount;
672
- const originalTotal = deduplicationStats.originalFileCount + sizeFilteredCount;
673
- if (totalExcluded > 0) {
674
- const summaryDiv = dedupContainer.append("div").style("font-size", "14px").style("color", "#d84315").style("font-weight", "500");
675
- summaryDiv.html(
676
- `Found <strong>${originalTotal}</strong> total MAF files, excluded <strong>${totalExcluded}</strong>`
677
- );
678
- const resultDiv = dedupContainer.append("div").style("font-size", "13px").style("color", "#28a745").style("font-weight", "500");
679
- resultDiv.html(`Showing <strong>${deduplicationStats.deduplicatedFileCount}</strong> unique cases`);
680
- if (duplicatesRemoved > 0) {
681
- resultDiv.append("span").style("color", "#666").style("font-weight", "normal").text(" (largest file per case)");
682
- }
683
- createExpandableDeduplicationSection(dedupContainer, deduplicationStats);
684
- } else {
685
- dedupContainer.append("div").style("color", "#28a745").style("font-weight", "500").style("font-size", "14px").html(`All <strong>${deduplicationStats.deduplicatedFileCount}</strong> files included`);
686
- dedupContainer.append("div").style("color", "#666").style("font-size", "13px").text("No duplicates or oversized files found");
687
- }
688
- }
689
- function createMAFOptionsContent(container, obj) {
690
- container.selectAll("*").remove();
691
- const optionsGrid = container.append("div");
692
- applyStyles(optionsGrid, STYLES.gridTwoColumn);
693
- optionsGrid.style("margin-top", "10px");
694
- createNumberInput(optionsGrid, {
695
- label: "Min Total Depth:",
696
- value: obj.mafOptions.minTotalDepth || 10,
697
- min: 0,
698
- step: 1,
699
- width: "80px",
700
- labelWidth: "140px",
701
- onChange: (value) => {
702
- if (value >= 0) obj.mafOptions.minTotalDepth = value;
703
- }
704
- });
705
- createNumberInput(optionsGrid, {
706
- label: "Min Mutant Allele Count:",
707
- value: obj.mafOptions.minAltAlleleCount || 2,
708
- min: 0,
709
- step: 1,
710
- width: "80px",
711
- labelWidth: "160px",
712
- onChange: (value) => {
713
- if (value >= 0) obj.mafOptions.minAltAlleleCount = value;
714
- }
715
- });
716
- createConsequencesSection(optionsGrid, obj);
717
- createNumberInput(optionsGrid, {
718
- label: "Hypermutator Max Cut Off:",
719
- value: obj.mafOptions.hyperMutator || 8e3,
720
- min: 0,
721
- step: 100,
722
- width: "70px",
723
- labelWidth: "160px",
724
- onChange: (value) => {
725
- if (value >= 0) obj.mafOptions.hyperMutator = value;
726
- }
727
- });
728
- createWorkflowSection(optionsGrid);
729
- createDeduplicationSection(optionsGrid, obj);
730
- }
731
- function createConsequencesSection(optionsGrid, obj) {
732
- const consequencesContainer = optionsGrid.append("div").style("display", "flex").style("align-items", "flex-start").style("gap", "8px").style("grid-column", "1 / -1");
733
- consequencesContainer.append("label").style("font-size", "14px").style("font-weight", "500").style("min-width", "100px").style("margin-top", "4px").text("Consequences:");
734
- const selectionDiv = consequencesContainer.append("div").style("flex", "1");
735
- const checkboxContainer = selectionDiv.append("div").style("display", "grid").style("grid-template-columns", "repeat(auto-fit, minmax(200px, 1fr))").style("gap", "8px").style("margin-bottom", "12px");
736
- createMutationClassCheckboxes(checkboxContainer, obj);
737
- createInfoPanel(selectionDiv, {
738
- title: "Mutation Types:",
739
- content: `Select the types of mutations to include in your analysis.
740
- High-impact mutations (missense, nonsense, frameshift) are selected by default.
741
- Silent/synonymous mutations are excluded by default as they don't change protein sequence.`
742
- });
743
- }
744
- function createMutationClassCheckboxes(container, obj) {
745
- const seenLabels = /* @__PURE__ */ new Set();
746
- for (const cls in mclass) {
747
- if (mclass[cls].dt !== dtsnvindel) continue;
748
- if (skipMAFclasses.includes(cls)) continue;
749
- const labelText = mclass[cls].label;
750
- if (seenLabels.has(labelText)) continue;
751
- seenLabels.add(labelText);
752
- const isDefaultChecked = defaultCheckedClasses.includes(cls);
753
- const checkboxDiv = container.append("div");
754
- make_one_checkbox({
755
- holder: checkboxDiv,
756
- labeltext: labelText,
757
- checked: isDefaultChecked,
758
- id: `consequence-${cls}`,
759
- divstyle: {
760
- "font-size": "13px",
761
- margin: "0"
762
- },
763
- callback: async (isChecked) => {
764
- if (isChecked) {
765
- if (!obj.mafOptions.consequences.includes(cls)) {
766
- obj.mafOptions.consequences.push(cls);
767
- }
768
- } else {
769
- obj.mafOptions.consequences = obj.mafOptions.consequences.filter((c) => c !== cls);
770
- }
771
- }
772
- });
773
- checkboxDiv.select("label").attr("title", mclass[cls].desc);
774
- if (isDefaultChecked && !obj.mafOptions.consequences.includes(cls)) {
775
- obj.mafOptions.consequences.push(cls);
776
- }
777
- }
778
- }
779
- function createWorkflowSection(optionsGrid) {
780
- const workflowContainer = optionsGrid.append("div");
781
- applyStyles(workflowContainer, STYLES.flexRow);
782
- workflowContainer.style("grid-column", "1 / -1");
783
- const label = workflowContainer.append("label");
784
- applyStyles(label, STYLES.label);
785
- label.style("min-width", "100px").text("Workflow Type:");
786
- workflowContainer.append("span").style("font-size", "14px").style("color", "#666").text("Aliquot Ensemble Somatic Variant Merging and Masking");
787
- }
788
- function createDeduplicationSection(optionsGrid, obj) {
789
- const dedupContainer = optionsGrid.append("div");
790
- applyStyles(dedupContainer, STYLES.flexRow);
791
- dedupContainer.style("grid-column", "1 / -1");
792
- const label = dedupContainer.append("label");
793
- applyStyles(label, STYLES.label);
794
- label.style("min-width", "100px").text("Deduplication:");
795
- const dedupStatus = dedupContainer.append("span").attr("id", "dedup-status").style("font-size", "14px").style("color", "#666");
796
- obj.dedupStatusElement = dedupStatus;
797
- }
798
- function createCNVOptionsContent(container, obj) {
799
- container.selectAll("*").remove();
800
- if (!obj.cnvOptions.dataType) {
801
- obj.cnvOptions.dataType = "segment_mean";
802
- }
803
- const optionsGrid = container.append("div");
804
- applyStyles(optionsGrid, STYLES.gridTwoColumn);
805
- optionsGrid.style("margin-top", "10px");
806
- createDataTypeRadioSection(optionsGrid, obj);
807
- createNumberInput(optionsGrid, {
808
- label: "Loss Threshold:",
809
- value: obj.cnvOptions.lossThreshold || -0.4,
810
- min: -10,
811
- max: 0,
812
- step: 0.1,
813
- width: "70px",
814
- labelWidth: "120px",
815
- onChange: (value) => {
816
- if (value <= 0) obj.cnvOptions.lossThreshold = value;
817
- }
818
- });
819
- createNumberInput(optionsGrid, {
820
- label: "Gain Threshold:",
821
- value: obj.cnvOptions.gainThreshold || 0.3,
822
- min: 0,
823
- max: 10,
824
- step: 0.1,
825
- width: "70px",
826
- labelWidth: "120px",
827
- onChange: (value) => {
828
- if (value >= 0) obj.cnvOptions.gainThreshold = value;
829
- }
830
- });
831
- createNumberInput(optionsGrid, {
832
- label: "Hypermutator Max Cut Off:",
833
- value: obj.cnvOptions.hyperMutator || 500,
834
- min: 0,
835
- step: 100,
836
- width: "70px",
837
- labelWidth: "160px",
838
- onChange: (value) => {
839
- if (value >= 0) obj.cnvOptions.hyperMutator = value;
840
- }
841
- });
842
- createSegmentLengthSection(optionsGrid, obj);
843
- createCNVHelpSection(optionsGrid);
844
- }
845
- function createDataTypeRadioSection(optionsGrid, obj) {
846
- const dataTypeContainer = optionsGrid.append("div");
847
- applyStyles(dataTypeContainer, STYLES.flexRow);
848
- dataTypeContainer.style("grid-column", "1 / -1");
849
- const label = dataTypeContainer.append("label");
850
- applyStyles(label, STYLES.label);
851
- label.style("min-width", "80px").text("Data Type:");
852
- const radioContainer = dataTypeContainer.append("div");
853
- applyStyles(radioContainer, STYLES.flexRow);
854
- radioContainer.style("gap", "6px");
855
- const radio = radioContainer.append("input").attr("type", "radio").attr("id", "cnv-segment-mean").attr("name", "cnv-data-type").attr("value", "segment_mean").property("checked", obj.cnvOptions.dataType === "segment_mean").style("margin", "0").style("cursor", "pointer");
856
- radioContainer.append("label").attr("for", "cnv-segment-mean").style("cursor", "pointer").style("font-size", "14px").style("color", "#333").text("Segment mean");
857
- radio.on("change", function() {
858
- if (this.checked) {
859
- obj.cnvOptions.dataType = this.value;
860
- }
861
- });
862
- }
863
- function createSegmentLengthSection(optionsGrid, obj) {
864
- const segmentContainer = optionsGrid.append("div");
865
- applyStyles(segmentContainer, STYLES.flexRow);
866
- segmentContainer.style("grid-column", "1 / -1");
867
- const label = segmentContainer.append("label");
868
- applyStyles(label, STYLES.label);
869
- label.style("min-width", "140px").text("Segment Length Cutoff:");
870
- const input = segmentContainer.append("input").attr("type", "number").attr("min", "0").attr("max", "2000000").attr("step", "1000").attr("value", obj.cnvOptions.segLength || 0);
871
- applyStyles(input, STYLES.numberInput);
872
- input.style("width", "100px");
873
- segmentContainer.append("span").style("font-size", "13px").style("color", "#666").text("bp");
874
- input.on("input", function() {
875
- const value = parseInt(this.value, 10);
876
- if (!isNaN(value) && value >= 0) {
877
- obj.cnvOptions.segLength = value;
878
- }
879
- });
880
- }
881
- function createCNVHelpSection(optionsGrid) {
882
- const helpContainer = optionsGrid.append("div").style("grid-column", "1 / -1").style("margin-top", "8px");
883
- createInfoPanel(helpContainer, {
884
- title: "CNV Options:",
885
- content: `\u2022 Loss Threshold: Log2 ratio for copy number loss (negative values)<br>
886
- \u2022 Gain Threshold: Log2 ratio for copy number gain (positive values)<br>
887
- \u2022 Hypermutator Max Cut Off: Maximum number of CNVs per case<br>
888
- \u2022 Segment Length: Maximum CNV segment size to include (no filter if 0)`
889
- });
890
- }
891
- function makeControls(obj) {
892
- if (!obj.mafOptions) {
893
- obj.mafOptions = {
894
- minTotalDepth: 10,
895
- minAltAlleleCount: 2,
896
- consequences: [],
897
- hyperMutator: 8e3
898
- };
899
- }
900
- if (!obj.cnvOptions) {
901
- obj.cnvOptions = {
902
- lossThreshold: -0.4,
903
- gainThreshold: 0.3,
904
- segLength: 0,
905
- hyperMutator: 500
906
- };
907
- }
908
- obj.dataTypeStates = {
909
- maf: true,
910
- cnv: true,
911
- fusion: false
912
- };
913
- const optionsTable = createOptionsTable(obj.controlDiv);
914
- createTableHeader(optionsTable, ["Data Type", "Options"]);
915
- const mafRow = createDataTypeRow(optionsTable, {
916
- id: "maf-checkbox",
917
- label: "MAF (Mutation)",
918
- checked: true,
919
- onChange: (isChecked) => {
920
- obj.dataTypeStates.maf = isChecked;
921
- mafRow.optionsContainer.style("display", isChecked ? "block" : "none");
922
- obj.updateSubmitButtonState?.();
923
- },
924
- createOptionsContent: (container) => createMAFOptionsContent(container, obj)
925
- });
926
- const cnvRow = createDataTypeRow(optionsTable, {
927
- id: "cnv-checkbox",
928
- label: "CNV (Copy Number)",
929
- checked: true,
930
- onChange: (isChecked) => {
931
- obj.dataTypeStates.cnv = isChecked;
932
- cnvRow.optionsContainer.style("display", isChecked ? "block" : "none");
933
- if (isChecked) {
934
- createCNVOptionsContent(cnvRow.optionsContainer, obj);
935
- }
936
- obj.updateSubmitButtonState?.();
937
- },
938
- createOptionsContent: (container) => createCNVOptionsContent(container, obj)
939
- });
940
- const fusionRow = createDataTypeRow(optionsTable, {
941
- id: "fusion-checkbox",
942
- label: "Fusion",
943
- checked: false,
944
- onChange: (isChecked) => {
945
- obj.dataTypeStates.fusion = isChecked;
946
- fusionRow.optionsContainer.style("display", isChecked ? "block" : "none");
947
- obj.updateSubmitButtonState?.();
948
- },
949
- createOptionsContent: (container) => {
950
- container.append("div").style("color", "#666").style("font-style", "italic").text("Please login to access RNA fusion data.");
951
- }
952
- });
953
- createGRIN2InfoRow(optionsTable);
954
- createSubmitButton(obj);
955
- obj.mafOptionsContainer = mafRow.optionsContainer;
956
- obj.cnvOptionsContainer = cnvRow.optionsContainer;
957
- obj.fusionOptionsContainer = fusionRow.optionsContainer;
958
- }
959
- function createGRIN2InfoRow(optionsTable) {
960
- const grin2Row = optionsTable.append("tr");
961
- const labelCell = grin2Row.append("td");
962
- applyStyles(labelCell, STYLES.tableCell);
963
- labelCell.append("div").style("font-weight", "500").style("color", "#333").text("GRIN2 Analysis");
964
- const optionsCell = grin2Row.append("td");
965
- applyStyles(optionsCell, STYLES.tableCell);
966
- optionsCell.append("div").style("color", "#666").text("GRIN2 analysis options will be configured here");
967
- }
968
- function createSubmitButton(obj) {
969
- const submitButtonContainer = obj.controlDiv.append("div").style("margin-top", "2px").style("margin-bottom", "2px").style("text-align", "left");
970
- const submitButton = submitButtonContainer.append("button").attr("id", "submit-options-button").style("margin", "10px 10px 0 0").text("Apply Options & Refresh Files");
971
- obj.submitButton = submitButton;
972
- submitButton.on("click", function() {
973
- if (!this.disabled) {
974
- getFilesAndShowTable(obj);
975
- }
976
- });
977
- obj.updateSubmitButtonState = function() {
978
- const hasAnyDataTypeSelected = obj.dataTypeStates.maf || obj.dataTypeStates.cnv || obj.dataTypeStates.fusion;
979
- if (hasAnyDataTypeSelected) {
980
- submitButton.attr("disabled", null).text("Apply Options & Refresh Files");
981
- } else {
982
- submitButton.attr("disabled", true).text("Select at least one data type");
983
- }
984
- };
985
- obj.updateSubmitButtonState();
986
- }
987
- async function getFilesAndShowTable(obj) {
988
- obj.tableDiv.selectAll("*").remove();
989
- obj.resultDiv.selectAll("*").remove();
990
- const wait = obj.tableDiv.append("div").style("margin", "30px 10px 10px 10px").text("Loading...");
991
- let result;
992
- try {
993
- const body = {};
994
- if (obj.opts.filter0) body.filter0 = obj.opts.filter0;
995
- if (obj.dataTypeStates.maf) {
996
- body.mafOptions = {
997
- experimentalStrategy: obj.opts.experimentalStrategy || "WXS"
998
- };
999
- }
1000
- if (obj.dataTypeStates.cnv) {
1001
- body.cnvOptions = {
1002
- dataType: obj.cnvOptions.dataType
1003
- };
1004
- }
1005
- console.log("Request body for GRIN2list:", body);
1006
- result = await dofetch3("gdc/GRIN2list", { body });
1007
- console.log("GRIN2list result:", result);
1008
- if (result.error) throw result.error;
1009
- if (obj.dataTypeStates.maf && (!result.mafFiles || !Array.isArray(result.mafFiles.files))) {
1010
- throw "Invalid response: missing mafFiles.files array";
1011
- }
1012
- if (obj.dataTypeStates.cnv && (!result.cnvFiles || !Array.isArray(result.cnvFiles.files))) {
1013
- throw "Invalid response: missing cnvFiles.files array";
1014
- }
1015
- const hasMafFiles = result.mafFiles?.files?.length > 0;
1016
- const hasCnvFiles = result.cnvFiles?.files?.length > 0;
1017
- if (obj.dataTypeStates.maf && !hasMafFiles) {
1018
- throw "No MAF files available for the selected criteria.";
1019
- }
1020
- if (obj.dataTypeStates.cnv && !hasCnvFiles) {
1021
- throw "No CNV files available for the selected criteria.";
1022
- }
1023
- if (!hasMafFiles && !hasCnvFiles) {
1024
- throw "No files available for the selected data types.";
1025
- }
1026
- if (result.mafFiles && result.mafFiles.deduplicationStats) {
1027
- updateDedupStatus(obj, result.mafFiles.deduplicationStats);
1028
- }
1029
- const cnvFilesByCase = /* @__PURE__ */ new Map();
1030
- if (obj.dataTypeStates.cnv && result.cnvFiles && result.cnvFiles.files) {
1031
- for (const cnvFile of result.cnvFiles.files) {
1032
- const caseId = cnvFile.case_submitter_id;
1033
- if (!cnvFilesByCase.has(caseId)) {
1034
- cnvFilesByCase.set(caseId, cnvFile);
1035
- }
1036
- }
1037
- }
1038
- let filteredFiles = result.mafFiles ? result.mafFiles.files : [];
1039
- let filteringMessage = "";
1040
- const mafSelected = obj.dataTypeStates.maf;
1041
- const cnvSelected = obj.dataTypeStates.cnv;
1042
- if (mafSelected && cnvSelected) {
1043
- const originalCount = filteredFiles.length;
1044
- filteredFiles = filteredFiles.filter((mafFile) => {
1045
- const caseId = mafFile.case_submitter_id;
1046
- const hasCnv = cnvFilesByCase.has(caseId);
1047
- return hasCnv;
1048
- });
1049
- const filteredCount = filteredFiles.length;
1050
- const excludedCount = originalCount - filteredCount;
1051
- if (excludedCount > 0) {
1052
- filteringMessage = `Filtered to ${filteredCount} cases with both MAF and CNV files (excluded ${excludedCount} cases with only MAF files)`;
1053
- } else {
1054
- filteringMessage = `All ${filteredCount} cases have both MAF and CNV files`;
1055
- }
1056
- } else if (cnvSelected && !mafSelected) {
1057
- const originalCount = filteredFiles.length;
1058
- filteredFiles = result.cnvFiles ? result.cnvFiles.files : [];
1059
- const filteredCount = filteredFiles.length;
1060
- const excludedCount = originalCount - filteredCount;
1061
- if (excludedCount > 0) {
1062
- filteringMessage = `Filtered to ${filteredCount} cases with CNV files (excluded ${excludedCount} cases without CNV files)`;
1063
- }
1064
- } else if (mafSelected && !cnvSelected) {
1065
- filteringMessage = `Showing ${filteredFiles.length} cases with MAF files`;
1066
- }
1067
- if (filteredFiles.length === 0) {
1068
- throw "No files match the selected data type criteria. Try adjusting your data type selections.";
1069
- }
1070
- const mafFiles = result.mafFiles ? result.mafFiles.files : [];
1071
- const cnvFiles = result.cnvFiles ? result.cnvFiles.files : [];
1072
- const mafTotal = result.mafFiles ? result.mafFiles.filesTotal : 0;
1073
- let statusMessage = "";
1074
- if (mafSelected && cnvSelected) {
1075
- if (mafTotal > mafFiles.length) {
1076
- statusMessage = `Showing first ${mafFiles.length.toLocaleString()} files out of ${mafTotal.toLocaleString()} total.`;
1077
- } else {
1078
- statusMessage = `Showing ${filteredFiles.length.toLocaleString()} files.`;
1079
- }
1080
- } else if (mafSelected && !cnvSelected) {
1081
- if (mafTotal > mafFiles.length) {
1082
- statusMessage = `Showing first ${mafFiles.length.toLocaleString()} MAF files out of ${mafTotal.toLocaleString()} total.`;
1083
- } else {
1084
- statusMessage = `Showing ${filteredFiles.length.toLocaleString()} MAF files.`;
1085
- }
1086
- } else if (!mafSelected && cnvSelected) {
1087
- statusMessage = `Showing ${cnvFiles.length.toLocaleString()} CNV files.`;
1088
- }
1089
- wait.html(`
1090
- ${statusMessage}<br>
1091
- ${filteringMessage ? `<span style="color: #666; font-style: italic;">${filteringMessage}</span>` : ""}
1092
- `);
1093
- const dynamicTableColumns = [
1094
- { label: "Case", sortable: true },
1095
- { label: "Project", sortable: true }
1096
- ];
1097
- if (obj.dataTypeStates.maf) {
1098
- dynamicTableColumns.push({ label: "MAF Sample", sortable: false }, {
1099
- label: "MAF File Size",
1100
- barplot: { tickFormat: "~s" },
1101
- sortable: true
1102
- });
1103
- }
1104
- if (obj.dataTypeStates.cnv) {
1105
- dynamicTableColumns.push({ label: "CNV File ID", sortable: true }, { label: "CNV Sample", sortable: false }, {
1106
- label: "CNV File Size",
1107
- barplot: { tickFormat: "~s" },
1108
- sortable: true
1109
- });
1110
- }
1111
- if (obj.dataTypeStates.fusion) {
1112
- dynamicTableColumns.push(
1113
- { label: "Fusion File ID", sortable: true },
1114
- { label: "Fusion Sample", sortable: false },
1115
- { label: "Fusion File Size", barplot: { tickFormat: "~s" }, sortable: true }
1116
- );
1117
- }
1118
- const rows = [];
1119
- for (const f of filteredFiles) {
1120
- const row = [];
1121
- row.push(
1122
- {
1123
- html: `<a href=https://portal.gdc.cancer.gov/files/${f.id} target=_blank>${f.case_submitter_id}</a>`,
1124
- value: f.case_submitter_id
1125
- },
1126
- { value: f.project_id }
1127
- );
1128
- if (obj.dataTypeStates.maf) {
1129
- row.push(
1130
- {
1131
- html: f.sample_types.map((i) => {
1132
- return '<span class="sja_mcdot" style="padding:1px 8px;background:#ddd;color:black;white-space:nowrap">' + i + "</span>";
1133
- }).join(" ")
1134
- },
1135
- { value: f.file_size }
1136
- );
1137
- }
1138
- if (obj.dataTypeStates.cnv) {
1139
- const cnvFile = cnvFilesByCase.get(f.case_submitter_id);
1140
- if (cnvSelected && !cnvFile) {
1141
- console.warn(`Expected CNV file for case ${f.case_submitter_id} but not found`);
1142
- }
1143
- row.push(
1144
- {
1145
- html: cnvFile ? `<a href=https://portal.gdc.cancer.gov/files/${cnvFile.id} target=_blank>${cnvFile.id}</a>` : '<span style="color: #dc3545; font-weight: 500;">Missing CNV file</span>',
1146
- value: cnvFile ? cnvFile.id : "Missing CNV file"
1147
- },
1148
- {
1149
- html: cnvFile && cnvFile.sample_types ? cnvFile.sample_types.map((i) => {
1150
- return '<span class="sja_mcdot" style="padding:1px 8px;background:#ddd;color:black;white-space:nowrap">' + i + "</span>";
1151
- }).join(" ") : '<span style="color: #dc3545;">No CNV sample</span>',
1152
- value: cnvFile && cnvFile.sample_types ? cnvFile.sample_types.join(" ") : "No CNV sample"
1153
- },
1154
- {
1155
- value: cnvFile ? cnvFile.file_size : 0
1156
- }
1157
- );
1158
- }
1159
- if (obj.dataTypeStates.fusion) {
1160
- row.push(
1161
- { html: '<span style="color: #6c757d;">No Fusion file</span>', value: "No Fusion file" },
1162
- { html: '<span style="color: #6c757d;">No Fusion sample</span>', value: "No Fusion sample" },
1163
- { value: 0 }
1164
- );
1165
- }
1166
- rows.push(row);
1167
- }
1168
- obj.mafTableArg = {
1169
- rows,
1170
- columns: dynamicTableColumns,
1171
- resize: false,
1172
- div: obj.tableDiv.append("div"),
1173
- selectAll: true,
1174
- dataTestId: "sja_FileTable",
1175
- header: { allowSort: true },
1176
- selectedRows: [],
1177
- buttons: [
1178
- {
1179
- text: "Run GRIN2 Analysis",
1180
- onChange: (lst, button) => updateButtonBySelectionChange(lst, button, filteredFiles),
1181
- callback: (lst, button) => runGRIN2Analysis(lst, button, obj, filteredFiles)
1182
- }
1183
- ]
1184
- };
1185
- renderTable(obj.mafTableArg);
1186
- } catch (e) {
1187
- wait.text(e instanceof Error ? e.message : String(e));
1188
- if (e instanceof Error && e.stack) console.log(e.stack);
1189
- }
1190
- function updateButtonBySelectionChange(lst, button, filteredFiles) {
1191
- if (obj.busy) {
1192
- button.property("disabled", true);
1193
- return;
1194
- }
1195
- let sum = 0;
1196
- for (const i of lst) sum += filteredFiles[i].file_size;
1197
- if (sum == 0) {
1198
- button.innerHTML = "No file selected";
1199
- button.disabled = true;
1200
- return;
1201
- }
1202
- select_default(button.parentElement).style("float", "left");
1203
- button.disabled = false;
1204
- const mafMaxSize = result.mafFiles ? result.mafFiles.maxTotalSizeCompressed : Infinity;
1205
- const cnvMaxSize = result.cnvFiles ? result.cnvFiles.maxTotalSizeCompressed : Infinity;
1206
- const maxSize = Math.min(mafMaxSize, cnvMaxSize);
1207
- button.innerHTML = sum < maxSize ? `Run GRIN2 Analysis` : `Run GRIN2 Analysis (Large Files)`;
1208
- }
1209
- async function runGRIN2Analysis(lst, button, obj2, filteredFiles = result.files) {
1210
- const mafSelected = obj2.dataTypeStates.maf;
1211
- const cnvSelected = obj2.dataTypeStates.cnv;
1212
- const caseFiles = {
1213
- caseFiles: {}
1214
- };
1215
- if (mafSelected) {
1216
- const soTerms = [];
1217
- for (const mclassCode of obj2.mafOptions.consequences) {
1218
- const soTermsForCode = class2SOterm.get(mclassCode) || [];
1219
- soTerms.push(...soTermsForCode);
1220
- }
1221
- caseFiles.mafOptions = {
1222
- minTotalDepth: obj2.mafOptions.minTotalDepth,
1223
- minAltAlleleCount: obj2.mafOptions.minAltAlleleCount,
1224
- consequences: soTerms,
1225
- hyperMutator: obj2.mafOptions.hyperMutator
1226
- };
1227
- }
1228
- if (cnvSelected) {
1229
- caseFiles.cnvOptions = {
1230
- dataType: obj2.cnvOptions.dataType,
1231
- lossThreshold: obj2.cnvOptions.lossThreshold,
1232
- gainThreshold: obj2.cnvOptions.gainThreshold,
1233
- segLength: obj2.cnvOptions.segLength,
1234
- hyperMutator: obj2.cnvOptions.hyperMutator
1235
- };
1236
- }
1237
- const cnvFilesByCase = /* @__PURE__ */ new Map();
1238
- if (result.cnvFiles && result.cnvFiles.files) {
1239
- for (const cnvFile of result.cnvFiles.files) {
1240
- const caseId = cnvFile.case_submitter_id;
1241
- if (!cnvFilesByCase.has(caseId)) {
1242
- cnvFilesByCase.set(caseId, cnvFile);
1243
- }
1244
- }
1245
- }
1246
- for (const i of lst) {
1247
- const file = filteredFiles[i];
1248
- const caseId = file.case_submitter_id;
1249
- if (!caseFiles.caseFiles[caseId]) {
1250
- caseFiles.caseFiles[caseId] = {};
1251
- }
1252
- const mafSelected2 = obj2.dataTypeStates.maf;
1253
- const cnvSelected2 = obj2.dataTypeStates.cnv;
1254
- if (mafSelected2) {
1255
- caseFiles.caseFiles[caseId].maf = file.id;
1256
- }
1257
- if (cnvSelected2) {
1258
- const cnvFile = cnvFilesByCase.get(caseId);
1259
- if (cnvFile) {
1260
- caseFiles.caseFiles[caseId].cnv = cnvFile.id;
1261
- }
1262
- }
1263
- }
1264
- if (Object.keys(caseFiles.caseFiles).length === 0) return;
1265
- const oldText = button.innerHTML;
1266
- button.innerHTML = "Analyzing... Please wait";
1267
- button.disabled = true;
1268
- if (obj2.downloadButtonDiv) {
1269
- obj2.downloadButtonDiv.selectAll("*").remove();
1270
- obj2.downloadButtonDiv.style("display", "none");
1271
- }
1272
- obj2.resultDiv.selectAll("*").remove();
1273
- try {
1274
- obj2.busy = true;
1275
- const response = await dofetch3("gdc/runGRIN2", { body: caseFiles });
1276
- if (!response) throw "invalid response";
1277
- if (response.error) throw response.error;
1278
- console.log("GRIN2 response:", response);
1279
- if (response.rustResult) {
1280
- } else {
1281
- console.log("[GRIN2] No rustResult in response");
1282
- }
1283
- const rustData = response.rustResult;
1284
- let failedFilesInfo = null;
1285
- let parsedRustResult;
1286
- let processedData = [];
1287
- try {
1288
- parsedRustResult = typeof rustData === "string" ? JSON.parse(rustData) : rustData;
1289
- if (parsedRustResult) {
1290
- if (parsedRustResult.successful_data && parsedRustResult.summary) {
1291
- processedData = parsedRustResult.successful_data;
1292
- console.log(`[GRIN2] parsedRustResult structure:`, parsedRustResult);
1293
- if (parsedRustResult.failed_files && parsedRustResult.failed_files.length > 0) {
1294
- failedFilesInfo = {
1295
- count: parsedRustResult.failed_files.length,
1296
- files: parsedRustResult.failed_files,
1297
- // Create table data for UI display (similar to your deduplication/filter tables)
1298
- tableData: {
1299
- headers: ["Case ID", "Data Type", "Error Type", "Error Details", "Attempts"],
1300
- rows: parsedRustResult.failed_files.map((file) => [
1301
- file.case_id,
1302
- file.data_type,
1303
- file.error_type,
1304
- file.error_details,
1305
- file.attempts_made.toString()
1306
- ])
1307
- },
1308
- // Error summary for the popup
1309
- errorSummary: {
1310
- connectionErrors: parsedRustResult.failed_files.filter((f) => f.error_type === "connection_error").length,
1311
- timeoutErrors: parsedRustResult.failed_files.filter((f) => f.error_type === "timeout_error").length,
1312
- serverErrors: parsedRustResult.failed_files.filter((f) => f.error_type === "server_error").length,
1313
- otherErrors: parsedRustResult.failed_files.filter(
1314
- (f) => !["connection_error", "timeout_error", "server_error"].includes(f.error_type)
1315
- ).length
1316
- }
1317
- };
1318
- }
1319
- }
1320
- console.log(`[GRIN2] Final processed data contains ${processedData.length.toLocaleString()} characters`);
1321
- }
1322
- } catch (parseError) {
1323
- console.error("[GRIN2] Error parsing Rust result:", parseError);
1324
- processedData = [];
1325
- failedFilesInfo = null;
1326
- }
1327
- if (!response.resultData.png) throw "png missing";
1328
- const resultContainer = obj2.resultDiv.append("div").style("text-align", "left").style("margin", "0 auto").style("margin-top", "40px");
1329
- const plotData = response.resultData;
1330
- const plotDiv = resultContainer.append("div");
1331
- plotManhattanGDC(plotDiv, plotData, { yAxisSpace: 0 });
1332
- resultContainer.node().onerror = () => {
1333
- resultContainer.select("img").remove();
1334
- sayerror(resultContainer, "Failed to load image result.");
1335
- };
1336
- if (response.topGeneTable && response.topGeneTable.rows && response.topGeneTable.rows.length > 0) {
1337
- const tableTitle = resultContainer.append("h4").style("margin-bottom", "15px").style("text-align", "left");
1338
- if (response.totalGenes && response.showingTop) {
1339
- tableTitle.text(`Top ${response.showingTop} Genes`);
1340
- resultContainer.append("p").html(
1341
- `Showing top <strong>${response.showingTop}</strong> genes out of <strong>${response.totalGenes.toLocaleString()}</strong> total genes analyzed.`
1342
- ).style("color", "#495057").style("font-size", "14px").style("margin", "10px 0 20px 0");
1343
- } else {
1344
- tableTitle.text("Top Genes");
1345
- resultContainer.append("p").style("color", "#495057").style("font-size", "14px").style("margin", "10px 0 20px 0");
1346
- }
1347
- const tableContainer = resultContainer.append("div").style("margin-bottom", "20px").style("display", "flex").style("flex", "2");
1348
- const statsContainer = resultContainer.append("div").style("flex", "1").style("min-width", "250px").style("max-width", "350px");
1349
- const transformedRows = transformRows(response.topGeneTable.rows, response.topGeneTable.columns);
1350
- renderTable({
1351
- div: tableContainer,
1352
- rows: transformedRows,
1353
- columns: response.topGeneTable.columns,
1354
- showLines: true,
1355
- striped: true,
1356
- showHeader: true,
1357
- maxHeight: "500px",
1358
- maxWidth: "100%",
1359
- resize: false,
1360
- header: {
1361
- allowSort: true,
1362
- style: {
1363
- "background-color": "#f8f9fa",
1364
- "font-weight": "bold",
1365
- "border-bottom": "2px solid #dee2e6"
1366
- }
1367
- },
1368
- download: {
1369
- // Enable table download functionality
1370
- fileName: `GRIN2_TopGenes.tsv`
1371
- }
1372
- });
1373
- if (parsedRustResult?.summary) {
1374
- const statsPanel = statsContainer.append("div").style("background-color", "#f8f9fa").style("border", "1px solid #dee2e6").style("border-radius", "8px").style("padding", "20px").style("box-shadow", "0 2px 4px rgba(0,0,0,0.1)");
1375
- statsPanel.append("h5").text("Analysis Summary").style("margin", "0 0 15px 0").style("color", "#343a40").style("font-weight", "bold").style("border-bottom", "2px solid #dee2e6").style("padding-bottom", "8px");
1376
- if (parsedRustResult && parsedRustResult.summary) {
1377
- const downloadStats = statsPanel.append("div").style("margin-bottom", "20px");
1378
- downloadStats.append("h6").text("File Download & Processing").style("margin", "0 0 10px 0").style("color", "#495057").style("font-size", "14px").style("font-weight", "bold");
1379
- const downloadStatsGrid = downloadStats.append("div").style("display", "grid").style("grid-template-columns", "1fr 1fr").style("gap", "8px").style("font-size", "13px");
1380
- const totalAttempted = parsedRustResult.summary.total_files;
1381
- const successful = parsedRustResult.summary.successful_files;
1382
- const failed = parsedRustResult.summary.failed_files;
1383
- downloadStatsGrid.append("div").style("color", "#6c757d").text("Total Attempted:");
1384
- downloadStatsGrid.append("div").style("font-weight", "bold").text(totalAttempted || 0);
1385
- downloadStatsGrid.append("div").style("color", "#28a745").text("Successfully Downloaded:");
1386
- downloadStatsGrid.append("div").style("font-weight", "bold").style("color", "#28a745").text(successful || 0);
1387
- downloadStatsGrid.append("div").style("color", "#dc3545").text("Failed Downloads:");
1388
- downloadStatsGrid.append("div").style("font-weight", "bold").style("color", "#dc3545").text(failed || 0);
1389
- if (failedFilesInfo && failedFilesInfo.count > 0) {
1390
- addExpandableFailedFilesToStats(downloadStats, failedFilesInfo);
1391
- }
1392
- }
1393
- if (response.timing) {
1394
- const timingStats = statsPanel.append("div").style("margin-bottom", "20px");
1395
- timingStats.append("h6").text("Timings").style("margin", "0 0 10px 0").style("color", "#495057").style("font-size", "14px").style("font-weight", "bold");
1396
- const timingStatsGrid = timingStats.append("div").style("display", "grid").style("grid-template-columns", "1fr 1fr").style("gap", "8px").style("font-size", "13px");
1397
- if (response.timing.rustProcessingTime !== void 0) {
1398
- timingStatsGrid.append("div").style("color", "#6c757d").text("GDC API Data Query and Parsing (s):");
1399
- timingStatsGrid.append("div").style("font-weight", "bold").style("color", "black").text(response.timing.rustProcessingTime);
1400
- }
1401
- if (response.timing.grin2ProcessingTime !== void 0) {
1402
- timingStatsGrid.append("div").style("color", "#6c757d").text("GRIN2 Analysis (s):");
1403
- timingStatsGrid.append("div").style("font-weight", "bold").style("color", "black").text(response.timing.grin2ProcessingTime);
1404
- }
1405
- if (response.timing.totalTime !== void 0) {
1406
- timingStatsGrid.append("div").style("color", "#6c757d").text("Total Processing Time (s):");
1407
- timingStatsGrid.append("div").style("font-weight", "bold").style("color", "black").text(response.timing.totalTime);
1408
- }
1409
- }
1410
- if (response.rustResult.summary && (response.rustResult.summary.filtered_records !== void 0 || response.rustResult.summary.filtered_maf_records !== void 0 || response.rustResult.summary.filtered_cnv_records !== void 0)) {
1411
- const filterStats = statsPanel.append("div").style("margin-bottom", "20px");
1412
- filterStats.append("h6").text("Data Filtering").style("margin", "0 0 10px 0").style("color", "#495057").style("font-size", "14px").style("font-weight", "bold");
1413
- const filterStatsGrid = filterStats.append("div").style("display", "grid").style("grid-template-columns", "1fr 1fr").style("gap", "8px").style("font-size", "13px");
1414
- if (response.rustResult.summary.filtered_records !== void 0) {
1415
- filterStatsGrid.append("div").style("color", "#6c757d").text("Total Number of Excluded Records:");
1416
- filterStatsGrid.append("div").style("font-weight", "bold").style("color", "black").text(response.rustResult.summary.filtered_records.toLocaleString());
1417
- }
1418
- const mafRecords = response.rustResult.summary.included_maf_records || 0;
1419
- const cnvRecords = response.rustResult.summary.included_cnv_records || 0;
1420
- const totalIncludedRecords = mafRecords + cnvRecords;
1421
- filterStatsGrid.append("div").style("color", "#6c757d").text("Total Number of Included Records:");
1422
- filterStatsGrid.append("div").style("font-weight", "bold").style("color", "black").text(totalIncludedRecords.toLocaleString());
1423
- if (response.rustResult.summary.filtered_maf_records !== void 0) {
1424
- filterStatsGrid.append("div").style("color", "#6c757d").text("MAF Records Excluded:");
1425
- filterStatsGrid.append("div").style("font-weight", "bold").style("color", "black").text(response.rustResult.summary.filtered_maf_records.toLocaleString());
1426
- }
1427
- if (response.rustResult.summary.included_maf_records !== void 0) {
1428
- filterStatsGrid.append("div").style("color", "#6c757d").text("MAF Records Included:");
1429
- filterStatsGrid.append("div").style("font-weight", "bold").style("color", "black").text(response.rustResult.summary.included_maf_records.toLocaleString());
1430
- }
1431
- if (response.rustResult.summary.filtered_cnv_records !== void 0) {
1432
- filterStatsGrid.append("div").style("color", "#6c757d").text("CNV Records Excluded:");
1433
- filterStatsGrid.append("div").style("font-weight", "bold").style("color", "black").text(response.rustResult.summary.filtered_cnv_records.toLocaleString());
1434
- }
1435
- if (response.rustResult.summary.included_cnv_records !== void 0) {
1436
- filterStatsGrid.append("div").style("color", "#6c757d").text("CNV Records Included:");
1437
- filterStatsGrid.append("div").style("font-weight", "bold").style("color", "black").text(response.rustResult.summary.included_cnv_records.toLocaleString());
1438
- }
1439
- if (response.rustResult.summary.filtered_records_by_case !== void 0) {
1440
- const { columns, rows } = parseRecordsByCaseData(
1441
- response.rustResult.summary.filtered_records_by_case,
1442
- response.rustResult.summary.excluded_by_max_record
1443
- );
1444
- const recordsByCaseContainer = filterStats.append("div").style("grid-column", "1 / -1").style("margin-top", "15px");
1445
- const expandableHeader = recordsByCaseContainer.append("div").style("display", "flex").style("align-items", "center").style("gap", "8px").style("cursor", "pointer").style("padding", "8px").style("border-radius", "4px").style("transition", "background-color 0.2s").style("background-color", "rgba(0, 123, 255, 0.1)").style("border", "1px solid rgba(0, 123, 255, 0.2)").on("mouseenter", function() {
1446
- select_default(this).style("background-color", "rgba(0, 123, 255, 0.15)");
1447
- }).on("mouseleave", function() {
1448
- select_default(this).style("background-color", "rgba(0, 123, 255, 0.1)");
1449
- });
1450
- const expandIcon = expandableHeader.append("span").style("font-size", "12px").style("color", "#007bff").style("transition", "transform 0.2s").text("\u25B6");
1451
- expandableHeader.append("span").style("color", "#007bff").style("text-decoration", "underline").style("font-size", "13px").style("font-weight", "500").text(
1452
- `View detailed statistics for ${Object.keys(response.rustResult.summary.filtered_records_by_case).length} cases`
1453
- );
1454
- const expandableContent = recordsByCaseContainer.append("div").style("display", "none").style("margin-top", "12px");
1455
- const tableContainer2 = expandableContent.append("div").style("max-height", "400px").style("overflow-y", "auto").style("border", "1px solid #dee2e6").style("border-radius", "4px");
1456
- renderTable({
1457
- div: tableContainer2,
1458
- columns,
1459
- rows,
1460
- showLines: true,
1461
- striped: true,
1462
- showHeader: true,
1463
- maxHeight: "380px",
1464
- resize: false,
1465
- header: {
1466
- allowSort: true,
1467
- style: {
1468
- "background-color": "#f8f9fa",
1469
- "font-weight": "bold",
1470
- "border-bottom": "2px solid #dee2e6"
1471
- }
1472
- }
1473
- });
1474
- expandableContent.append("div").style("margin-top", "12px").style("padding", "8px").style("background-color", "#f8f9fa").style("border-radius", "4px").style("font-size", "12px").style("color", "#495057").style("line-height", "1.4").text("This table shows analysis statistics per case.");
1475
- let isExpanded = false;
1476
- expandableHeader.on("click", function() {
1477
- isExpanded = !isExpanded;
1478
- if (isExpanded) {
1479
- expandableContent.style("display", "block");
1480
- expandIcon.style("transform", "rotate(90deg)").text("\u25BC");
1481
- } else {
1482
- expandableContent.style("display", "none");
1483
- expandIcon.style("transform", "rotate(0deg)").text("\u25B6");
1484
- }
1485
- });
1486
- }
1487
- }
1488
- }
1489
- console.log(`Displayed table with ${response.topGeneTable.rows.length} genes`);
1490
- if (response.totalGenes && response.showingTop && response.totalGenes > response.showingTop) {
1491
- resultContainer.append("div").style("margin-top", "15px").style("padding", "10px").style("background-color", "#e9ecef").style("border-radius", "4px").style("font-size", "14px").style("max-width", "100%").style("width", "fit-content").style("color", "#495057").html(`
1492
- <strong>Note:</strong> For performance reasons, only the top ${response.showingTop}
1493
- most significant genes are displayed. The complete analysis identified
1494
- ${response.totalGenes.toLocaleString()} genes total.
1495
- `);
1496
- }
1497
- } else {
1498
- console.log("No table data received or empty results");
1499
- resultContainer.append("div").style("padding", "15px").style("background-color", "#fff3cd").style("border", "1px solid #ffeaa7").style("border-radius", "4px").style("margin", "15px 0").style("max-width", "100%").style("width", "fit-content").text("No significant genes found in the analysis.");
1500
- }
1501
- } catch (e) {
1502
- sayerror(obj2.errDiv, e.message || e);
1503
- if (e.stack) console.log(e.stack);
1504
- }
1505
- button.innerHTML = oldText;
1506
- button.disabled = false;
1507
- obj2.busy = false;
1508
- }
1509
- }
1510
- async function gdcGRIN2ui({ filter0, callbacks, debugmode = false }, holder) {
1511
- if (debugmode) {
1512
- }
1513
- try {
1514
- if (callbacks) {
1515
- delete callbacks.sjcharts;
1516
- for (const n in callbacks) {
1517
- if (typeof callbacks[n] != "function") throw `callbacks.${n} not function`;
1518
- }
1519
- }
1520
- update({ filter0 });
1521
- } catch (e) {
1522
- console.log(e);
1523
- sayerror(holder, e instanceof Error ? e.message : String(e));
1524
- }
1525
- async function update({ filter0: filter02 }) {
1526
- holder.selectAll("*").remove();
1527
- holder.style("width", "100%").style("max-width", "none");
1528
- const obj = {
1529
- errDiv: holder.append("div"),
1530
- controlDiv: holder.append("div"),
1531
- tableDiv: holder.append("div").style("width", "100%"),
1532
- deduplicationInfoDiv: holder.append("div"),
1533
- downloadButtonDiv: holder.append("div").style("margin-top", "10px").style("display", "none"),
1534
- resultDiv: holder.append("div").style("margin-top", "20px"),
1535
- opts: {
1536
- filter0: filter02,
1537
- experimentalStrategy: "WXS"
1538
- },
1539
- busy: false,
1540
- // when analyzing, set to true for disabling ui interactivity
1541
- mafTableArg: null,
1542
- expStrategyRadio: null
1543
- };
1544
- makeControls(obj);
1545
- await getFilesAndShowTable(obj);
1546
- callbacks?.postRender?.(publicApi);
1547
- }
1548
- const publicApi = { update };
1549
- return publicApi;
1550
- }
1551
- export {
1552
- gdcGRIN2ui
1553
- };
1554
- //# sourceMappingURL=grin2-LGI535FF.js.map