@sjcrh/proteinpaint-client 2.182.0 → 2.183.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 (1004) hide show
  1. package/dist/2dmaf-6ZTETSC5.js +1371 -0
  2. package/dist/AIProjectAdmin-ZT3XKBBT.js +830 -0
  3. package/dist/AIProjectAdmin-ZT3XKBBT.js.map +7 -0
  4. package/dist/AppHeader-U7SJPIBS.js +833 -0
  5. package/dist/BoxPlot-QGHLZ67V.js +1217 -0
  6. package/dist/BoxPlot-QGHLZ67V.js.map +7 -0
  7. package/dist/CorrelationVolcano-7SE4CTBW.js +617 -0
  8. package/dist/DE-PZ7RHPBS.js +93 -0
  9. package/dist/DEinput-UZEQIU2V.js +297 -0
  10. package/dist/DifferentialAnalysis-L6BOEYVO.js +238 -0
  11. package/dist/Disco-6FDT6KRM.js +3235 -0
  12. package/dist/Disco-6FDT6KRM.js.map +7 -0
  13. package/dist/Disco.UI-HKOUAD4P.js +242 -0
  14. package/dist/DmrPlot-3R24PTXP.js +640 -0
  15. package/dist/GB-SZVYZASR.js +1125 -0
  16. package/dist/HicApp-SEEJETVE.js +2248 -0
  17. package/dist/NumBinaryEditor-SDQFJ3FW.js +268 -0
  18. package/dist/NumBinaryEditor.unit.spec-76ZZXTYC.js +284 -0
  19. package/dist/NumContEditor-G75O4YZE.js +105 -0
  20. package/dist/NumContEditor.unit.spec-BFUZRBPL.js +167 -0
  21. package/dist/NumCustomBinEditor-ILTPHCEF.js +36 -0
  22. package/dist/NumCustomBinEditor.unit.spec-GFIYV55V.js +282 -0
  23. package/dist/NumDiscreteEditor-5K3OKUOE.js +177 -0
  24. package/dist/NumDiscreteEditor.unit.spec-NZ4KWPFK.js +200 -0
  25. package/dist/NumRegularBinEditor-7ZJ2MEMY.js +36 -0
  26. package/dist/NumRegularBinEditor.unit.spec-QGVJET65.js +225 -0
  27. package/dist/NumSplineEditor-KE4UPODZ.js +190 -0
  28. package/dist/NumSplineEditor.unit.spec-YQOOZA7S.js +197 -0
  29. package/dist/NumericDensity-RL42P4QC.js +36 -0
  30. package/dist/NumericDensity.unit.spec-Y6RMTYC7.js +219 -0
  31. package/dist/NumericHandler-4QIX324I.js +37 -0
  32. package/dist/NumericHandler.unit.spec-T6F5QYP6.js +217 -0
  33. package/dist/RunChart2-ASGCKKER.js +756 -0
  34. package/dist/RunChart2-ASGCKKER.js.map +7 -0
  35. package/dist/SC-H2YCKSBH.js +682 -0
  36. package/dist/SC-H2YCKSBH.js.map +7 -0
  37. package/dist/Volcano-QBYYJYVW.js +1185 -0
  38. package/dist/Volcano-QBYYJYVW.js.map +7 -0
  39. package/dist/WSIViewer-NDHWFVAB.js +47974 -0
  40. package/dist/WSIViewer-NDHWFVAB.js.map +7 -0
  41. package/dist/WsiSamplesPlot-CXGWPCDL.js +163 -0
  42. package/dist/adSandbox-DE4VRO4Z.js +36 -0
  43. package/dist/alphaGenome-FSIGC5ZT.js +173 -0
  44. package/dist/app-KZGKWQMU.js +47 -0
  45. package/dist/app-MQRJ7FVL.js +35 -0
  46. package/dist/app.js +22 -22
  47. package/dist/bam-BDWTA4O3.js +857 -0
  48. package/dist/barchart-4Q6LVJY4.js +45 -0
  49. package/dist/barchart.data-EXENRVMU.js +22 -0
  50. package/dist/barchart.events-XRGND6I7.js +45 -0
  51. package/dist/barchart.integration.spec-VQITP4YH.js +1675 -0
  52. package/dist/bars.renderer-S7A7I6BQ.js +12 -0
  53. package/dist/block-2MABX5QO.js +6200 -0
  54. package/dist/block-2MABX5QO.js.map +7 -0
  55. package/dist/block.init-NCNSE3HD.js +36 -0
  56. package/dist/block.mds.expressionrank-JYZARS7T.js +357 -0
  57. package/dist/block.mds.geneboxplot-FD2MCIHV.js +826 -0
  58. package/dist/block.mds.junction-LOHVQBIU.js +1543 -0
  59. package/dist/block.mds.svcnv-Z7SAYPQL.js +6799 -0
  60. package/dist/block.svg-LNJOKQNN.js +162 -0
  61. package/dist/block.tk.aicheck-IXCMMAGV.js +281 -0
  62. package/dist/block.tk.ase-WYRYFP6N.js +363 -0
  63. package/dist/block.tk.bam-EIVBNGAL.js +1904 -0
  64. package/dist/block.tk.bedgraphdot-3FHLNCU7.js +382 -0
  65. package/dist/block.tk.bigwig.ui-YDQU5PC4.js +209 -0
  66. package/dist/block.tk.hicstraw-S3ROL3CV.js +821 -0
  67. package/dist/block.tk.junction-DL7RNWX3.js +2362 -0
  68. package/dist/block.tk.junction.textmatrixui-Z6I7IEDY.js +197 -0
  69. package/dist/block.tk.ld-XHVU6L56.js +97 -0
  70. package/dist/block.tk.menu-FPLAEEFY.js +1027 -0
  71. package/dist/block.tk.pgv-6ZZ2QGNO.js +942 -0
  72. package/dist/brainImaging-VSOOMITW.js +421 -0
  73. package/dist/chat-LW23PIG5.js +148 -0
  74. package/dist/chunk-2A2KM5DU.js +117 -0
  75. package/dist/chunk-2A2KM5DU.js.map +7 -0
  76. package/dist/chunk-2K5DSRBJ.js +84 -0
  77. package/dist/chunk-2K5DSRBJ.js.map +7 -0
  78. package/dist/chunk-2LULD7RN.js +31 -0
  79. package/dist/chunk-36DYWBU7.js +514 -0
  80. package/dist/chunk-36DYWBU7.js.map +7 -0
  81. package/dist/chunk-3AGB6HL4.js +158 -0
  82. package/dist/chunk-3AVDNIDN.js +55 -0
  83. package/dist/chunk-3DCABJHB.js +381 -0
  84. package/dist/chunk-3JMB3OSC.js +102 -0
  85. package/dist/chunk-3UEMY45Y.js +215 -0
  86. package/dist/chunk-4RR4KPRJ.js +1205 -0
  87. package/dist/chunk-5HCB4HNL.js +147 -0
  88. package/dist/chunk-5RFB7TYT.js +92 -0
  89. package/dist/chunk-5UMPBVA6.js +534 -0
  90. package/dist/chunk-6C2SBTLR.js +407 -0
  91. package/dist/chunk-6ITDJ5UR.js +261 -0
  92. package/dist/chunk-6ITDJ5UR.js.map +7 -0
  93. package/dist/chunk-6LAE5AVA.js +13624 -0
  94. package/dist/chunk-77ZJGPK2.js +289 -0
  95. package/dist/chunk-77ZJGPK2.js.map +7 -0
  96. package/dist/chunk-7FKIAQ4K.js +17 -0
  97. package/dist/chunk-7FKIAQ4K.js.map +7 -0
  98. package/dist/chunk-7RN3L2BX.js +1788 -0
  99. package/dist/chunk-7RN3L2BX.js.map +7 -0
  100. package/dist/chunk-7VV43ICF.js +272 -0
  101. package/dist/chunk-A6TQGNDQ.js +421 -0
  102. package/dist/chunk-A6TQGNDQ.js.map +7 -0
  103. package/dist/chunk-A742TQD2.js +615 -0
  104. package/dist/chunk-A7E3JZ5P.js +56 -0
  105. package/dist/chunk-A7E3JZ5P.js.map +7 -0
  106. package/dist/chunk-AFLFPYJI.js +480 -0
  107. package/dist/chunk-APOHXHKH.js +526 -0
  108. package/dist/chunk-APOHXHKH.js.map +7 -0
  109. package/dist/chunk-AQ4OP4GR.js +39 -0
  110. package/dist/chunk-BAY47D5E.js +226 -0
  111. package/dist/chunk-CFHKYLDY.js +26 -0
  112. package/dist/chunk-CTAKX5CT.js +129 -0
  113. package/dist/chunk-CVBQWXLH.js +455 -0
  114. package/dist/chunk-CVBQWXLH.js.map +7 -0
  115. package/dist/chunk-D4QFQQWJ.js +170 -0
  116. package/dist/chunk-DGMK7SXX.js +203 -0
  117. package/dist/chunk-DNCSPTOQ.js +446 -0
  118. package/dist/chunk-DTDQKGIQ.js +2672 -0
  119. package/dist/chunk-E4NVHKWD.js +142 -0
  120. package/dist/chunk-E6KEZENR.js +4207 -0
  121. package/dist/chunk-EY2KBPHJ.js +261 -0
  122. package/dist/chunk-EY2KBPHJ.js.map +7 -0
  123. package/dist/chunk-FRBYOOWT.js +229 -0
  124. package/dist/chunk-FVWCYGJL.js +121 -0
  125. package/dist/chunk-HWHG63LH.js +148 -0
  126. package/dist/chunk-HWHG63LH.js.map +7 -0
  127. package/dist/chunk-HYZG6OPC.js +467 -0
  128. package/dist/chunk-HYZG6OPC.js.map +7 -0
  129. package/dist/chunk-I4IKRKYJ.js +2815 -0
  130. package/dist/chunk-IEQSUAIO.js +6364 -0
  131. package/dist/chunk-IET6P5MV.js +335 -0
  132. package/dist/chunk-IET6P5MV.js.map +7 -0
  133. package/dist/chunk-JMPSZMDD.js +52 -0
  134. package/dist/chunk-JXOL73PT.js +2784 -0
  135. package/dist/chunk-K62XUHA4.js +100 -0
  136. package/dist/chunk-KQMEJUWI.js +815 -0
  137. package/dist/chunk-L4QG7XZE.js +46 -0
  138. package/dist/chunk-L4QG7XZE.js.map +7 -0
  139. package/dist/chunk-L4YGMXLX.js +37 -0
  140. package/dist/chunk-L4YGMXLX.js.map +7 -0
  141. package/dist/chunk-LI7FE335.js +371 -0
  142. package/dist/chunk-M7W2GYSM.js +4961 -0
  143. package/dist/chunk-M7W2GYSM.js.map +7 -0
  144. package/dist/chunk-MV6O4I2B.js +441 -0
  145. package/dist/chunk-MXNSW55L.js +148 -0
  146. package/dist/chunk-NB7NLFGZ.js +228 -0
  147. package/dist/chunk-NGGWK6HX.js +302 -0
  148. package/dist/chunk-OGGFS66K.js +1087 -0
  149. package/dist/chunk-OSM7YS23.js +276 -0
  150. package/dist/chunk-OSM7YS23.js.map +7 -0
  151. package/dist/chunk-OXJ2TWDO.js +20644 -0
  152. package/dist/chunk-OXJ2TWDO.js.map +7 -0
  153. package/dist/chunk-Q7PYFSNU.js +107 -0
  154. package/dist/chunk-QMI222IJ.js +386 -0
  155. package/dist/chunk-QRIRWDIW.js +252 -0
  156. package/dist/chunk-R6L6NVEC.js +14 -0
  157. package/dist/chunk-RLTLYKHO.js +34 -0
  158. package/dist/chunk-S5ZI6N2I.js +293 -0
  159. package/dist/chunk-S7T7OZC7.js +158 -0
  160. package/dist/chunk-SEQLC4AD.js +177 -0
  161. package/dist/chunk-TEZLFSOV.js +54 -0
  162. package/dist/chunk-TFI7ZZJG.js +50 -0
  163. package/dist/chunk-TFI7ZZJG.js.map +7 -0
  164. package/dist/chunk-TV74I3Y5.js +43 -0
  165. package/dist/chunk-TV74I3Y5.js.map +7 -0
  166. package/dist/chunk-UEMTP6ZC.js +824 -0
  167. package/dist/chunk-UJU3Q7QJ.js +119 -0
  168. package/dist/chunk-V245THQC.js +2370 -0
  169. package/dist/chunk-V245THQC.js.map +7 -0
  170. package/dist/chunk-V6DLLX4N.js +176 -0
  171. package/dist/chunk-V6DLLX4N.js.map +7 -0
  172. package/dist/chunk-VIPMLSZP.js +217 -0
  173. package/dist/chunk-VQPS4SXU.js +97 -0
  174. package/dist/chunk-VQPS4SXU.js.map +7 -0
  175. package/dist/chunk-VUUZJANK.js +1150 -0
  176. package/dist/chunk-VYIO7T6J.js +82 -0
  177. package/dist/chunk-VYIO7T6J.js.map +7 -0
  178. package/dist/chunk-W345H42C.js +273 -0
  179. package/dist/chunk-W345H42C.js.map +7 -0
  180. package/dist/chunk-WGHO2NCP.js +205 -0
  181. package/dist/chunk-WGL6FIUE.js +330 -0
  182. package/dist/chunk-WGL6FIUE.js.map +7 -0
  183. package/dist/chunk-WPHOEG56.js +194 -0
  184. package/dist/chunk-WS5XVKPJ.js +470 -0
  185. package/dist/chunk-X6URQAFD.js +1271 -0
  186. package/dist/chunk-XYFDBYOY.js +1658 -0
  187. package/dist/chunk-XYFDBYOY.js.map +7 -0
  188. package/dist/chunk-Y6RCKITI.js +1155 -0
  189. package/dist/chunk-Y6RCKITI.js.map +7 -0
  190. package/dist/chunk-YALAQWX4.js +368 -0
  191. package/dist/chunk-YK5NFMHR.js +269 -0
  192. package/dist/chunk-YK5NFMHR.js.map +7 -0
  193. package/dist/chunk-YY4CKQJ6.js +95 -0
  194. package/dist/chunk-Z3KV6SC2.js +629 -0
  195. package/dist/chunk-ZGT4XP5J.js +1426 -0
  196. package/dist/chunk-ZGT4XP5J.js.map +7 -0
  197. package/dist/condition-JKQIRMMW.js +330 -0
  198. package/dist/controls-324AGOZG.js +39 -0
  199. package/dist/controls.config-TA4NNARU.js +37 -0
  200. package/dist/correlation-3Z36TKC2.js +96 -0
  201. package/dist/cuminc-4DY2CSZF.js +1147 -0
  202. package/dist/cuminc.integration.spec-SFQPLMSF.js +676 -0
  203. package/dist/customdata.inputui-IKGPEBXV.js +287 -0
  204. package/dist/customdata.inputui-IKGPEBXV.js.map +7 -0
  205. package/dist/dataDownload-3AE2N7KI.js +328 -0
  206. package/dist/dataDownload.integration.spec-DKOT6BJP.js +191 -0
  207. package/dist/databrowser.ui-ATODRS5P.js +419 -0
  208. package/dist/dictionary-WHDZBW5M.js +109 -0
  209. package/dist/dictionary-WHDZBW5M.js.map +7 -0
  210. package/dist/dnaMethylation-TVA5YMOR.js +36 -0
  211. package/dist/dnaMethylation.integration.spec-JTWQR6XY.js +165 -0
  212. package/dist/dnaMethylation.integration.spec-JTWQR6XY.js.map +7 -0
  213. package/dist/e2pca-KHVDNFEZ.js +348 -0
  214. package/dist/ep-B5GAAMNM.js +1254 -0
  215. package/dist/expclust.gdc.spec-EDPX7V6K.js +305 -0
  216. package/dist/facet-ZCSXKXIO.js +519 -0
  217. package/dist/geneExpClustering-ERNCMAED.js +246 -0
  218. package/dist/geneExpression-HUOXWETT.js +36 -0
  219. package/dist/geneExpression-X2KXJPND.js +312 -0
  220. package/dist/geneExpression.unit.spec-5QQB4ISW.js +100 -0
  221. package/dist/geneORA-B5UK77KL.js +276 -0
  222. package/dist/geneVariant-7MGUAIZ6.js +39 -0
  223. package/dist/geneVariant-FK3KZJ2K.js +37 -0
  224. package/dist/geneVariant.integration.spec-C6TYWKIC.js +196 -0
  225. package/dist/genefusion.ui-VKAINMY7.js +249 -0
  226. package/dist/geneset-673KAZVX.js +194 -0
  227. package/dist/genomeBrowser.spec-T6TQCJ3O.js +279 -0
  228. package/dist/grin2-376BD4XY.js +1554 -0
  229. package/dist/grin2-OALS75LC.js +1031 -0
  230. package/dist/gsea-25LD2LGP.js +45 -0
  231. package/dist/hierCluster-7KU3K52V.js +58 -0
  232. package/dist/hierCluster-M5VVWKQK.js +62 -0
  233. package/dist/hierCluster.config-EDO3SH2P.js +38 -0
  234. package/dist/hierCluster.integration.spec-UOX7J2XD.js +374 -0
  235. package/dist/hierCluster.interactivity-FEFZDXML.js +52 -0
  236. package/dist/hierCluster.renderers-A6MEGO2B.js +21 -0
  237. package/dist/imagePlot-FPXZ2H5Z.js +139 -0
  238. package/dist/importPlot-VKWPSFEK.js +8 -0
  239. package/dist/isoformExpression-2R2TOB6P.js +38 -0
  240. package/dist/isoformExpression.unit.spec-ZKFKOPKT.js +206 -0
  241. package/dist/isoformExpression.unit.spec-ZKFKOPKT.js.map +7 -0
  242. package/dist/jspdf.es.min-FC3BCETM.js +40 -0
  243. package/dist/launch.adhoc-242RS6DW.js +40 -0
  244. package/dist/leftlabel.sample-OJW3AE64.js +257 -0
  245. package/dist/legacyDataset-PBCPC5I7.js +119 -0
  246. package/dist/lollipop-TRQ3LK7Y.js +166 -0
  247. package/dist/maf-ZBOLN2FE.js +450 -0
  248. package/dist/maftimeline-GVX7NJP7.js +591 -0
  249. package/dist/matrix-73KRNXLM.js +57 -0
  250. package/dist/matrix-US3OXYRY.js +62 -0
  251. package/dist/matrix.cells-U7AQNEBP.js +28 -0
  252. package/dist/matrix.config-Q57D7C3F.js +39 -0
  253. package/dist/matrix.controls-AWXDRSWP.js +37 -0
  254. package/dist/matrix.data-EEIY6AO4.js +25 -0
  255. package/dist/matrix.dom-6QL3AJMW.js +11 -0
  256. package/dist/matrix.groups-CUB6UWC5.js +26 -0
  257. package/dist/matrix.integration.spec-PQH67KRM.js +3070 -0
  258. package/dist/matrix.interactivity-JW4AXAWO.js +40 -0
  259. package/dist/matrix.layout-I56KRVCO.js +42 -0
  260. package/dist/matrix.legend-42LQGAGX.js +22 -0
  261. package/dist/matrix.renderers-IX3FCNBK.js +36 -0
  262. package/dist/matrix.serieses-4B2WB526.js +21 -0
  263. package/dist/matrix.sort-BJACNR7G.js +27 -0
  264. package/dist/matrix.sort.unit.spec-3KKDKIPY.js +470 -0
  265. package/dist/matrix.sorterUi-W6XFYZY2.js +18 -0
  266. package/dist/matrix.sorterUi.unit.spec-CMJ7EBIW.js +340 -0
  267. package/dist/mavb-ROAE6WYA.js +730 -0
  268. package/dist/mds.fimo-UGK5OWCF.js +516 -0
  269. package/dist/mds.samplescatterplot-5KFUAYSB.js +1548 -0
  270. package/dist/mds.survivalplot-2EVNZUX5.js +481 -0
  271. package/dist/oncomatrix-UGFXSXQJ.js +293 -0
  272. package/dist/oncomatrix.spec-FEP7BR7L.js +446 -0
  273. package/dist/plot.2dvaf-WXGLWCOC.js +375 -0
  274. package/dist/plot.app-IZAFRTBU.js +39 -0
  275. package/dist/plot.barplot-Z4VWOPFJ.js +100 -0
  276. package/dist/plot.boxplot-QU2KZSB7.js +150 -0
  277. package/dist/plot.brainImaging-U643YIK7.js +51 -0
  278. package/dist/plot.disco-3BV6YEBC.js +101 -0
  279. package/dist/plot.disco-3BV6YEBC.js.map +7 -0
  280. package/dist/plot.dzi-DWXPOOQE.js +33 -0
  281. package/dist/plot.ssgq-GXB2GZO3.js +137 -0
  282. package/dist/plot.vaf2cov-EKRIADPB.js +257 -0
  283. package/dist/plot.wsi-E2LLE6HI.js +36 -0
  284. package/dist/polar-MZLIUXHO.js +184 -0
  285. package/dist/polar2-IUVHNQM4.js +226 -0
  286. package/dist/profile.spec-JRW6KYUI.js +78 -0
  287. package/dist/profileBarchart-N7HJMYZ5.js +265 -0
  288. package/dist/profileForms-Q5TPGPQP.js +438 -0
  289. package/dist/profilePlot-TXTUYDVE.js +52 -0
  290. package/dist/profileRadar-ICEASI7W.js +261 -0
  291. package/dist/profileRadarFacility-NFMRNJYX.js +261 -0
  292. package/dist/profileRadarFacility-NFMRNJYX.js.map +7 -0
  293. package/dist/proteinView-K3JFNORQ.js +633 -0
  294. package/dist/proteinView-K3JFNORQ.js.map +7 -0
  295. package/dist/proteomeAbundance-DE4NVBCN.js +21 -0
  296. package/dist/proteomeAbundance-LTB3QR3G.js +63 -0
  297. package/dist/qualitative-DFGWQURY.js +41 -0
  298. package/dist/regression-TTQTAEGD.js +54 -0
  299. package/dist/regression.inputs-2LU2XRGC.js +46 -0
  300. package/dist/regression.inputs.term-G57GL57T.js +46 -0
  301. package/dist/regression.inputs.values.table-JSEM3PXL.js +43 -0
  302. package/dist/regression.integration.spec-XJQJAIC3.js +782 -0
  303. package/dist/regression.integration.spec-XJQJAIC3.js.map +7 -0
  304. package/dist/regression.results-3YNM6LLQ.js +38 -0
  305. package/dist/regression.spec-S6WFCPSW.js +706 -0
  306. package/dist/report-YRAV4MY4.js +220 -0
  307. package/dist/sampleScatter.spec-MBJ4XNTX.js +200 -0
  308. package/dist/sampleView-IUR3ZEN7.js +46 -0
  309. package/dist/samplelst-C2NBFGH6.js +109 -0
  310. package/dist/samplematrix-AOK2HHSB.js +2196 -0
  311. package/dist/sc-XT3Z5XJI.js +84 -0
  312. package/dist/scatter-SAHKZRFL.js +800 -0
  313. package/dist/scatter.integration.spec-6KRDNHHH.js +1194 -0
  314. package/dist/scatter.integration.spec-6KRDNHHH.js.map +7 -0
  315. package/dist/selectGenomeWithTklst-2YVZ4JWV.js +132 -0
  316. package/dist/singleCellCellType-NFN5GQJM.js +36 -0
  317. package/dist/singleCellCellType.unit.spec-CR4IJ4DA.js +158 -0
  318. package/dist/singleCellCellType.unit.spec-CR4IJ4DA.js.map +7 -0
  319. package/dist/singleCellGeneExpression-7AQGLXTR.js +36 -0
  320. package/dist/singleCellGeneExpression.unit.spec-QYNWSV2G.js +151 -0
  321. package/dist/singleCellGeneExpression.unit.spec-QYNWSV2G.js.map +7 -0
  322. package/dist/singleCellPlot-IWFEG44C.js +51 -0
  323. package/dist/singlecell-3QNV4OMZ.js +1570 -0
  324. package/dist/singlecell-EATPLH66.js +84 -0
  325. package/dist/snp-UP7WL7WG.js +36 -0
  326. package/dist/snp.unit.spec-Y5NWQ442.js +174 -0
  327. package/dist/snplocus-WAQK2AZG.js +206 -0
  328. package/dist/spliceevent.a53ss.diagram-FFK27UIB.js +149 -0
  329. package/dist/spliceevent.exonskip.diagram-KWEF2OZJ.js +275 -0
  330. package/dist/spliceevent.noeventdiagram-PU4TI7OM.js +458 -0
  331. package/dist/ssGSEA-N6QOAVLW.js +36 -0
  332. package/dist/ssGSEA.unit.spec-KQBNZNNP.js +86 -0
  333. package/dist/summarizeCnvGeneexp-NWX4M6LZ.js +161 -0
  334. package/dist/summarizeCnvGeneexp-NWX4M6LZ.js.map +7 -0
  335. package/dist/summarizeGeneexpSurvival-N5VTE2G6.js +106 -0
  336. package/dist/summarizeGeneexpSurvival-N5VTE2G6.js.map +7 -0
  337. package/dist/summarizeMutationCnv-VV7CVAA7.js +162 -0
  338. package/dist/summarizeMutationCnv-VV7CVAA7.js.map +7 -0
  339. package/dist/summarizeMutationDiagnosis-5RHSG7L6.js +38 -0
  340. package/dist/summarizeMutationSurvival-22YYXGS5.js +97 -0
  341. package/dist/summary-P3WIKJS7.js +47 -0
  342. package/dist/summary.integration.spec-ULGRPICW.js +412 -0
  343. package/dist/summaryInput-IH4EVNF5.js +218 -0
  344. package/dist/sunburst-VJJ3UVYC.js +282 -0
  345. package/dist/sunburst-VJJ3UVYC.js.map +7 -0
  346. package/dist/survival-2ZE3N62A.js +44 -0
  347. package/dist/survival-ASCLKIII.js +56 -0
  348. package/dist/survival.integration.spec-C5YXOY77.js +787 -0
  349. package/dist/svg2pdf.es.min-CYTPRWNB.js +3157 -0
  350. package/dist/svgraph-AYR2UPNK.js +1385 -0
  351. package/dist/svmr-MOMW5DNY.js +3840 -0
  352. package/dist/table-PQB6KCEY.js +198 -0
  353. package/dist/termCollection-5AY2AWT4.js +36 -0
  354. package/dist/termCollection-OQMUUTW6.js +177 -0
  355. package/dist/termCollection.unit.spec-BUAXYIJK.js +206 -0
  356. package/dist/tk-EJLFFA5H.js +44 -0
  357. package/dist/tp.ui-WUW6A7KP.js +1457 -0
  358. package/dist/tvs.density-HSVPDDGA.js +18 -0
  359. package/dist/tvs.dt-MVJXQMNU.js +37 -0
  360. package/dist/tvs.dtcnv.categorical-FIIDWVK7.js +38 -0
  361. package/dist/tvs.dtcnv.continuous-JPQU3JA2.js +70 -0
  362. package/dist/tvs.dtfusion-BW35GOQM.js +38 -0
  363. package/dist/tvs.dtsnvindel-AEMFZ4EH.js +38 -0
  364. package/dist/tvs.dtsv-JHTU7UFD.js +38 -0
  365. package/dist/tvs.numeric-ICUGA4WY.js +21 -0
  366. package/dist/tvs.samplelst-VD2NFFFS.js +102 -0
  367. package/dist/tvs.termCollection-IKE5Q74D.js +151 -0
  368. package/dist/violin-DPMJLHQG.js +44 -0
  369. package/dist/violin.integration.spec-A4PNR4ES.js +1423 -0
  370. package/dist/violin.integration.spec-A4PNR4ES.js.map +7 -0
  371. package/dist/violin.interactivity-TS4DYUE5.js +36 -0
  372. package/dist/violin.renderer-53L4PXUT.js +38 -0
  373. package/dist/vocabulary-4MPFHKYC.js +39 -0
  374. package/package.json +3 -3
  375. package/dist/2dmaf-SLBAWGPG.js +0 -1371
  376. package/dist/AIProjectAdmin-6SH5X3AF.js +0 -830
  377. package/dist/AIProjectAdmin-6SH5X3AF.js.map +0 -7
  378. package/dist/AppHeader-MVYNRMC7.js +0 -833
  379. package/dist/BoxPlot-HLGWW3IK.js +0 -1295
  380. package/dist/BoxPlot-HLGWW3IK.js.map +0 -7
  381. package/dist/CorrelationVolcano-TZCYC3NI.js +0 -617
  382. package/dist/DE-2J2SK5UT.js +0 -93
  383. package/dist/DEinput-QM3GOQHM.js +0 -297
  384. package/dist/DifferentialAnalysis-DS7CQOT6.js +0 -238
  385. package/dist/Disco-U5I6NJUT.js +0 -3199
  386. package/dist/Disco-U5I6NJUT.js.map +0 -7
  387. package/dist/Disco.UI-J2B7GGEZ.js +0 -242
  388. package/dist/DmrPlot-D5W76QPY.js +0 -640
  389. package/dist/GB-LM5SGUG4.js +0 -1125
  390. package/dist/HicApp-YNBGAGKM.js +0 -2248
  391. package/dist/NumBinaryEditor-4QA5DQJT.js +0 -268
  392. package/dist/NumBinaryEditor.unit.spec-YWSIFTOJ.js +0 -284
  393. package/dist/NumContEditor-ZPLVZFLH.js +0 -105
  394. package/dist/NumContEditor.unit.spec-NBCFOCOX.js +0 -167
  395. package/dist/NumCustomBinEditor-TXEYRVPL.js +0 -36
  396. package/dist/NumCustomBinEditor.unit.spec-SQM63H4B.js +0 -282
  397. package/dist/NumDiscreteEditor-6C4OWX62.js +0 -177
  398. package/dist/NumDiscreteEditor.unit.spec-4HC4AGAM.js +0 -200
  399. package/dist/NumRegularBinEditor-VQAS3OXK.js +0 -36
  400. package/dist/NumRegularBinEditor.unit.spec-RGVEPB3Z.js +0 -225
  401. package/dist/NumSplineEditor-SXOJICHU.js +0 -190
  402. package/dist/NumSplineEditor.unit.spec-HF5E6ANH.js +0 -197
  403. package/dist/NumericDensity-LMLPMOSE.js +0 -36
  404. package/dist/NumericDensity.unit.spec-3ZI5EVON.js +0 -219
  405. package/dist/NumericHandler-Q6F6ANOS.js +0 -37
  406. package/dist/NumericHandler.unit.spec-E6Z5HUNZ.js +0 -217
  407. package/dist/RunChart2-XSNWNAIL.js +0 -756
  408. package/dist/RunChart2-XSNWNAIL.js.map +0 -7
  409. package/dist/SC-RA46YM57.js +0 -733
  410. package/dist/SC-RA46YM57.js.map +0 -7
  411. package/dist/Volcano-75UDYPVB.js +0 -1187
  412. package/dist/Volcano-75UDYPVB.js.map +0 -7
  413. package/dist/WSIViewer-GYUUXCSJ.js +0 -47933
  414. package/dist/WSIViewer-GYUUXCSJ.js.map +0 -7
  415. package/dist/WsiSamplesPlot-KMI5S2EL.js +0 -163
  416. package/dist/adSandbox-JTK5XEQL.js +0 -36
  417. package/dist/alphaGenome-JRAV6WIY.js +0 -173
  418. package/dist/app-JKDZL23V.js +0 -35
  419. package/dist/app-OEARXM6E.js +0 -47
  420. package/dist/bam-CYEPLBK4.js +0 -857
  421. package/dist/barchart-GG5UFDG4.js +0 -45
  422. package/dist/barchart.data-KXA66FAL.js +0 -22
  423. package/dist/barchart.events-P2USOIR7.js +0 -45
  424. package/dist/barchart.integration.spec-5QSPQQLJ.js +0 -1675
  425. package/dist/bars.renderer-T5R3UIBW.js +0 -12
  426. package/dist/block-6DVPQBSH.js +0 -6200
  427. package/dist/block-6DVPQBSH.js.map +0 -7
  428. package/dist/block.init-ZHX6DFWF.js +0 -36
  429. package/dist/block.mds.expressionrank-YMGYXXYT.js +0 -357
  430. package/dist/block.mds.geneboxplot-IAILQYX4.js +0 -826
  431. package/dist/block.mds.junction-BRNFNQMU.js +0 -1543
  432. package/dist/block.mds.svcnv-OHKC7YPO.js +0 -6799
  433. package/dist/block.svg-PNGK45HW.js +0 -162
  434. package/dist/block.tk.aicheck-SCIOJ4WN.js +0 -281
  435. package/dist/block.tk.ase-BABJ73GG.js +0 -363
  436. package/dist/block.tk.bam-LZWJ5BCQ.js +0 -1904
  437. package/dist/block.tk.bedgraphdot-7NQLC3XJ.js +0 -382
  438. package/dist/block.tk.bigwig.ui-VNY4SFD5.js +0 -209
  439. package/dist/block.tk.hicstraw-36A7VDRM.js +0 -821
  440. package/dist/block.tk.junction-D373YEMK.js +0 -2362
  441. package/dist/block.tk.junction.textmatrixui-FFII7J3X.js +0 -197
  442. package/dist/block.tk.ld-XGB6KMDO.js +0 -97
  443. package/dist/block.tk.menu-PEZANZBZ.js +0 -1027
  444. package/dist/block.tk.pgv-MU5BPTT2.js +0 -942
  445. package/dist/brainImaging-LVJON47N.js +0 -421
  446. package/dist/chat-5FDIAQJ4.js +0 -148
  447. package/dist/chunk-22NJUYET.js +0 -281
  448. package/dist/chunk-22NJUYET.js.map +0 -7
  449. package/dist/chunk-2J3566TA.js +0 -215
  450. package/dist/chunk-2OSEZCWZ.js +0 -205
  451. package/dist/chunk-2SRMRC6L.js +0 -421
  452. package/dist/chunk-2SRMRC6L.js.map +0 -7
  453. package/dist/chunk-5OHXYXLD.js +0 -46
  454. package/dist/chunk-5OHXYXLD.js.map +0 -7
  455. package/dist/chunk-6MSCYO7K.js +0 -119
  456. package/dist/chunk-75EBDB7G.js +0 -21
  457. package/dist/chunk-75EBDB7G.js.map +0 -7
  458. package/dist/chunk-7A7NMCQ3.js +0 -534
  459. package/dist/chunk-7FEHI46K.js +0 -20456
  460. package/dist/chunk-7FEHI46K.js.map +0 -7
  461. package/dist/chunk-AETE4F7R.js +0 -252
  462. package/dist/chunk-AZYDW5T7.js +0 -441
  463. package/dist/chunk-B6HCIAM3.js +0 -34
  464. package/dist/chunk-BEWDIM6H.js +0 -42
  465. package/dist/chunk-BEWDIM6H.js.map +0 -7
  466. package/dist/chunk-CCIZJAXB.js +0 -2815
  467. package/dist/chunk-DHZL3FBC.js +0 -107
  468. package/dist/chunk-DONWY7TP.js +0 -39
  469. package/dist/chunk-DVDDXOWT.js +0 -815
  470. package/dist/chunk-E6DRQJJT.js +0 -480
  471. package/dist/chunk-ESKU6LNC.js +0 -36
  472. package/dist/chunk-ESKU6LNC.js.map +0 -7
  473. package/dist/chunk-F6V4AYWP.js +0 -177
  474. package/dist/chunk-FBAJTPBU.js +0 -302
  475. package/dist/chunk-FGMPKWT5.js +0 -371
  476. package/dist/chunk-FK4MYVW2.js +0 -261
  477. package/dist/chunk-FK4MYVW2.js.map +0 -7
  478. package/dist/chunk-FMBJ4SKC.js +0 -98
  479. package/dist/chunk-FMBJ4SKC.js.map +0 -7
  480. package/dist/chunk-FOEZG4VX.js +0 -505
  481. package/dist/chunk-FOEZG4VX.js.map +0 -7
  482. package/dist/chunk-FQRLSKJC.js +0 -226
  483. package/dist/chunk-G6ELKVBG.js +0 -629
  484. package/dist/chunk-GKK3CZ6H.js +0 -4207
  485. package/dist/chunk-GO5SIPFE.js +0 -194
  486. package/dist/chunk-GPOECA3V.js +0 -386
  487. package/dist/chunk-GTOY3JJO.js +0 -288
  488. package/dist/chunk-GTOY3JJO.js.map +0 -7
  489. package/dist/chunk-GW7DHJYH.js +0 -439
  490. package/dist/chunk-GW7DHJYH.js.map +0 -7
  491. package/dist/chunk-H2D7EVUA.js +0 -158
  492. package/dist/chunk-H2K5KZP7.js +0 -95
  493. package/dist/chunk-H5XFH3FV.js +0 -153
  494. package/dist/chunk-H5XFH3FV.js.map +0 -7
  495. package/dist/chunk-HAMDFQIX.js +0 -228
  496. package/dist/chunk-HH4QLSTK.js +0 -4952
  497. package/dist/chunk-HH4QLSTK.js.map +0 -7
  498. package/dist/chunk-IBTPGSYI.js +0 -526
  499. package/dist/chunk-IBTPGSYI.js.map +0 -7
  500. package/dist/chunk-IC7SUXJD.js +0 -82
  501. package/dist/chunk-IC7SUXJD.js.map +0 -7
  502. package/dist/chunk-IGEQI6MR.js +0 -1561
  503. package/dist/chunk-IGEQI6MR.js.map +0 -7
  504. package/dist/chunk-IIRU6VK2.js +0 -2672
  505. package/dist/chunk-ILF2GKBY.js +0 -1205
  506. package/dist/chunk-IP4T477W.js +0 -92
  507. package/dist/chunk-IQIXGTQV.js +0 -84
  508. package/dist/chunk-IQIXGTQV.js.map +0 -7
  509. package/dist/chunk-IXT4U5CE.js +0 -91
  510. package/dist/chunk-IXT4U5CE.js.map +0 -7
  511. package/dist/chunk-JHOGX5VE.js +0 -272
  512. package/dist/chunk-JOXUBWN3.js +0 -381
  513. package/dist/chunk-K57RR3FD.js +0 -142
  514. package/dist/chunk-K6JLCMVL.js +0 -129
  515. package/dist/chunk-KISFQDQE.js +0 -258
  516. package/dist/chunk-KISFQDQE.js.map +0 -7
  517. package/dist/chunk-KSFSM46X.js +0 -100
  518. package/dist/chunk-KVG7FTTK.js +0 -470
  519. package/dist/chunk-LEDPPLQK.js +0 -158
  520. package/dist/chunk-LUTT3MBZ.js +0 -1150
  521. package/dist/chunk-MDL2HG3N.js +0 -257
  522. package/dist/chunk-MDL2HG3N.js.map +0 -7
  523. package/dist/chunk-MNRYCG2S.js +0 -1271
  524. package/dist/chunk-MPJHDHBA.js +0 -2784
  525. package/dist/chunk-MXI3NXRB.js +0 -407
  526. package/dist/chunk-O4PXELXF.js +0 -615
  527. package/dist/chunk-ORPCSG6T.js +0 -14
  528. package/dist/chunk-OUKDZKSZ.js +0 -334
  529. package/dist/chunk-OUKDZKSZ.js.map +0 -7
  530. package/dist/chunk-P5HLYAHP.js +0 -1087
  531. package/dist/chunk-PIACSJPH.js +0 -148
  532. package/dist/chunk-PQABAAEZ.js +0 -31
  533. package/dist/chunk-PSMDCZET.js +0 -46
  534. package/dist/chunk-PSMDCZET.js.map +0 -7
  535. package/dist/chunk-RFIVPTMS.js +0 -217
  536. package/dist/chunk-RSU37SVQ.js +0 -54
  537. package/dist/chunk-RTC4U4PH.js +0 -2327
  538. package/dist/chunk-RTC4U4PH.js.map +0 -7
  539. package/dist/chunk-RZ5JP44H.js +0 -276
  540. package/dist/chunk-RZ5JP44H.js.map +0 -7
  541. package/dist/chunk-SPAIFVM2.js +0 -1155
  542. package/dist/chunk-SPAIFVM2.js.map +0 -7
  543. package/dist/chunk-T2HYA2KL.js +0 -55
  544. package/dist/chunk-TCPU43TU.js +0 -1741
  545. package/dist/chunk-TCPU43TU.js.map +0 -7
  546. package/dist/chunk-TE3DK3A6.js +0 -147
  547. package/dist/chunk-TIQPSXFJ.js +0 -237
  548. package/dist/chunk-TIQPSXFJ.js.map +0 -7
  549. package/dist/chunk-TN5GSG34.js +0 -26
  550. package/dist/chunk-UBGTQMOO.js +0 -52
  551. package/dist/chunk-UBS5UVIY.js +0 -13624
  552. package/dist/chunk-UE5ZYM63.js +0 -48
  553. package/dist/chunk-UE5ZYM63.js.map +0 -7
  554. package/dist/chunk-UQACPOCM.js +0 -102
  555. package/dist/chunk-UR3C4SCH.js +0 -446
  556. package/dist/chunk-UWX7W22M.js +0 -121
  557. package/dist/chunk-VJ37HKM6.js +0 -368
  558. package/dist/chunk-VLTDUJRM.js +0 -293
  559. package/dist/chunk-W6UUEAEP.js +0 -6364
  560. package/dist/chunk-X6UPDFDX.js +0 -229
  561. package/dist/chunk-XD6BFNMR.js +0 -172
  562. package/dist/chunk-XD6BFNMR.js.map +0 -7
  563. package/dist/chunk-XDI4UFCZ.js +0 -467
  564. package/dist/chunk-XDI4UFCZ.js.map +0 -7
  565. package/dist/chunk-XOBD3EAM.js +0 -1425
  566. package/dist/chunk-XOBD3EAM.js.map +0 -7
  567. package/dist/chunk-Y3TDC7NU.js +0 -170
  568. package/dist/chunk-YOTWMCT5.js +0 -824
  569. package/dist/chunk-YUMPQ3CJ.js +0 -203
  570. package/dist/condition-VHP2L4GM.js +0 -330
  571. package/dist/controls-N5Q7U7JR.js +0 -39
  572. package/dist/controls.config-NJMW4SLR.js +0 -37
  573. package/dist/correlation-3LDASF5I.js +0 -96
  574. package/dist/cuminc-UWJ23W6C.js +0 -1147
  575. package/dist/cuminc.integration.spec-OZYYET3W.js +0 -676
  576. package/dist/customdata.inputui-2FVCVSE4.js +0 -285
  577. package/dist/customdata.inputui-2FVCVSE4.js.map +0 -7
  578. package/dist/dataDownload-4S4PE5HX.js +0 -328
  579. package/dist/dataDownload.integration.spec-B57LEKFZ.js +0 -191
  580. package/dist/databrowser.ui-N6GHEQ2P.js +0 -419
  581. package/dist/dictionary-UP46QRYZ.js +0 -98
  582. package/dist/dictionary-UP46QRYZ.js.map +0 -7
  583. package/dist/dnaMethylation-BOGAUAWA.js +0 -36
  584. package/dist/dnaMethylation.integration.spec-UAHBJSSJ.js +0 -179
  585. package/dist/dnaMethylation.integration.spec-UAHBJSSJ.js.map +0 -7
  586. package/dist/e2pca-L5EBQJNP.js +0 -348
  587. package/dist/ep-Z67ORKUX.js +0 -1254
  588. package/dist/expclust.gdc.spec-SP7VOL64.js +0 -305
  589. package/dist/facet-HDB4VDGU.js +0 -519
  590. package/dist/geneExpClustering-6ZPOLTDJ.js +0 -246
  591. package/dist/geneExpression-T6YIG4XQ.js +0 -312
  592. package/dist/geneExpression-T7QUHV5S.js +0 -36
  593. package/dist/geneExpression.unit.spec-DO52L5IB.js +0 -100
  594. package/dist/geneORA-KOUDUWUO.js +0 -276
  595. package/dist/geneVariant-FVR76F6I.js +0 -39
  596. package/dist/geneVariant-I5QUITKG.js +0 -37
  597. package/dist/geneVariant.integration.spec-D4IRM7B5.js +0 -196
  598. package/dist/genefusion.ui-35IYSZD7.js +0 -249
  599. package/dist/geneset-7ZHJ5KWK.js +0 -194
  600. package/dist/genomeBrowser.spec-VXASVLNH.js +0 -279
  601. package/dist/grin2-7NM56COO.js +0 -1554
  602. package/dist/grin2-IY26UUQI.js +0 -1031
  603. package/dist/gsea-TORO46C6.js +0 -45
  604. package/dist/hierCluster-3BKEGW6P.js +0 -58
  605. package/dist/hierCluster-HM3LOM6V.js +0 -62
  606. package/dist/hierCluster.config-LDO5IGQ5.js +0 -38
  607. package/dist/hierCluster.integration.spec-XO5R6CQT.js +0 -374
  608. package/dist/hierCluster.interactivity-NVQ6262K.js +0 -52
  609. package/dist/hierCluster.renderers-SWPPNBLU.js +0 -21
  610. package/dist/imagePlot-V4WLAPV6.js +0 -139
  611. package/dist/importPlot-NZKQEOX4.js +0 -8
  612. package/dist/isoformExpression-TIZBIGNL.js +0 -38
  613. package/dist/isoformExpression.unit.spec-WHH5LPFG.js +0 -124
  614. package/dist/isoformExpression.unit.spec-WHH5LPFG.js.map +0 -7
  615. package/dist/jspdf.es.min-DO4YWL2R.js +0 -40
  616. package/dist/launch.adhoc-JYEN42NM.js +0 -40
  617. package/dist/leftlabel.sample-43DL3J3H.js +0 -257
  618. package/dist/legacyDataset-QRSNRVUA.js +0 -119
  619. package/dist/lollipop-NMWZ4FVF.js +0 -166
  620. package/dist/maf-DS3EOVGV.js +0 -450
  621. package/dist/maftimeline-ZB2753S7.js +0 -591
  622. package/dist/matrix-RCGQWQ3C.js +0 -57
  623. package/dist/matrix-WTTEK4FT.js +0 -62
  624. package/dist/matrix.cells-UO5ASQ35.js +0 -28
  625. package/dist/matrix.config-3UQAT3QR.js +0 -39
  626. package/dist/matrix.controls-PRZ77K5L.js +0 -37
  627. package/dist/matrix.data-4W73RQ3H.js +0 -25
  628. package/dist/matrix.dom-IZFFS4RQ.js +0 -11
  629. package/dist/matrix.groups-5VMPI7SA.js +0 -26
  630. package/dist/matrix.integration.spec-2F5LDLC2.js +0 -3070
  631. package/dist/matrix.interactivity-MIPZ6ELV.js +0 -40
  632. package/dist/matrix.layout-EO5LVYRO.js +0 -42
  633. package/dist/matrix.legend-QBFBFEUG.js +0 -22
  634. package/dist/matrix.renderers-ERJXVCQL.js +0 -36
  635. package/dist/matrix.serieses-E23EPXHA.js +0 -21
  636. package/dist/matrix.sort-I4UGMEXR.js +0 -27
  637. package/dist/matrix.sort.unit.spec-CRGF6CSE.js +0 -470
  638. package/dist/matrix.sorterUi-YLSYTYLE.js +0 -18
  639. package/dist/matrix.sorterUi.unit.spec-ENG3ICOO.js +0 -340
  640. package/dist/mavb-5WR7OJHI.js +0 -730
  641. package/dist/mds.fimo-3ZRH7BBJ.js +0 -516
  642. package/dist/mds.samplescatterplot-RPXR2FVK.js +0 -1548
  643. package/dist/mds.survivalplot-WSSMYUZD.js +0 -481
  644. package/dist/oncomatrix-JKYPUJQR.js +0 -293
  645. package/dist/oncomatrix.spec-OEGU4DYK.js +0 -446
  646. package/dist/plot.2dvaf-ZGARLQNK.js +0 -375
  647. package/dist/plot.app-TKUJH3LK.js +0 -39
  648. package/dist/plot.barplot-FEIPGDZ2.js +0 -100
  649. package/dist/plot.boxplot-6RASUMZB.js +0 -150
  650. package/dist/plot.brainImaging-ZJPFWX2W.js +0 -51
  651. package/dist/plot.disco-2KTKB3XX.js +0 -101
  652. package/dist/plot.disco-2KTKB3XX.js.map +0 -7
  653. package/dist/plot.dzi-PC34YI6Y.js +0 -33
  654. package/dist/plot.ssgq-Z4UNJKWO.js +0 -137
  655. package/dist/plot.vaf2cov-NZ4WULKT.js +0 -257
  656. package/dist/plot.wsi-YYXFAZWY.js +0 -36
  657. package/dist/polar-X2GPIBLB.js +0 -184
  658. package/dist/polar2-TZ553QQH.js +0 -226
  659. package/dist/profile.spec-VB6VMFLY.js +0 -78
  660. package/dist/profileBarchart-SKJSTC7B.js +0 -265
  661. package/dist/profileForms-RLOGSMAQ.js +0 -438
  662. package/dist/profilePlot-267ZS3RG.js +0 -52
  663. package/dist/profileRadar-KGOBHCSF.js +0 -261
  664. package/dist/profileRadarFacility-MCJKSHUM.js +0 -261
  665. package/dist/profileRadarFacility-MCJKSHUM.js.map +0 -7
  666. package/dist/proteomeAbundance-JUYAYO5I.js +0 -63
  667. package/dist/proteomeAbundance-PGHZSVAF.js +0 -19
  668. package/dist/qualitative-3IECKKJM.js +0 -41
  669. package/dist/regression-J6FFRPXN.js +0 -54
  670. package/dist/regression.inputs-T7LWBSYZ.js +0 -46
  671. package/dist/regression.inputs.term-TT7PNX6G.js +0 -46
  672. package/dist/regression.inputs.values.table-SHFUNKCS.js +0 -43
  673. package/dist/regression.integration.spec-QKHMJTHA.js +0 -784
  674. package/dist/regression.integration.spec-QKHMJTHA.js.map +0 -7
  675. package/dist/regression.results-D4WX6VIV.js +0 -38
  676. package/dist/regression.spec-7SW55L7X.js +0 -706
  677. package/dist/report-QYOZ4BRF.js +0 -220
  678. package/dist/sampleScatter.spec-JCHFMGNF.js +0 -200
  679. package/dist/sampleView-7RPKNAZC.js +0 -46
  680. package/dist/samplelst-4WNPHZVG.js +0 -109
  681. package/dist/samplematrix-CG52DSXJ.js +0 -2196
  682. package/dist/sc-OJSWILSA.js +0 -84
  683. package/dist/scatter-LG2RMMEC.js +0 -800
  684. package/dist/scatter.integration.spec-QPANYTKW.js +0 -1194
  685. package/dist/scatter.integration.spec-QPANYTKW.js.map +0 -7
  686. package/dist/selectGenomeWithTklst-QXRVE6N4.js +0 -132
  687. package/dist/singleCellCellType-XBSRL33U.js +0 -36
  688. package/dist/singleCellCellType.unit.spec-YZX4CSXA.js +0 -177
  689. package/dist/singleCellCellType.unit.spec-YZX4CSXA.js.map +0 -7
  690. package/dist/singleCellGeneExpression-64ECP62X.js +0 -36
  691. package/dist/singleCellGeneExpression.unit.spec-CFHFXMA6.js +0 -163
  692. package/dist/singleCellGeneExpression.unit.spec-CFHFXMA6.js.map +0 -7
  693. package/dist/singleCellPlot-E5F62JY6.js +0 -51
  694. package/dist/singlecell-FCY5EOUV.js +0 -84
  695. package/dist/singlecell-S7B5V7NK.js +0 -1570
  696. package/dist/snp-ACKX4GRX.js +0 -36
  697. package/dist/snp.unit.spec-QBGHKKUD.js +0 -174
  698. package/dist/snplocus-7EUOW7J7.js +0 -206
  699. package/dist/spliceevent.a53ss.diagram-ALQZA35Z.js +0 -149
  700. package/dist/spliceevent.exonskip.diagram-UF7WJA5R.js +0 -275
  701. package/dist/spliceevent.noeventdiagram-4HPGRNRR.js +0 -458
  702. package/dist/ssGSEA-FDRBBBLJ.js +0 -36
  703. package/dist/ssGSEA.unit.spec-EZEOWJVV.js +0 -86
  704. package/dist/summarizeCnvGeneexp-FTL2MGAJ.js +0 -158
  705. package/dist/summarizeCnvGeneexp-FTL2MGAJ.js.map +0 -7
  706. package/dist/summarizeGeneexpSurvival-DDIF4UW6.js +0 -105
  707. package/dist/summarizeGeneexpSurvival-DDIF4UW6.js.map +0 -7
  708. package/dist/summarizeMutationCnv-L3GL5YDY.js +0 -159
  709. package/dist/summarizeMutationCnv-L3GL5YDY.js.map +0 -7
  710. package/dist/summarizeMutationDiagnosis-LALOJTHV.js +0 -38
  711. package/dist/summarizeMutationSurvival-TSNTSOBZ.js +0 -97
  712. package/dist/summary-YRHVS64T.js +0 -47
  713. package/dist/summary.integration.spec-766YQLQA.js +0 -412
  714. package/dist/summaryInput-VQ2X6GSX.js +0 -218
  715. package/dist/sunburst-XFOONS6K.js +0 -282
  716. package/dist/sunburst-XFOONS6K.js.map +0 -7
  717. package/dist/survival-FQXZH2MM.js +0 -44
  718. package/dist/survival-TVA3ZWVP.js +0 -56
  719. package/dist/survival.integration.spec-WFIOPD6A.js +0 -787
  720. package/dist/svg2pdf.es.min-EZ4UYRSH.js +0 -3157
  721. package/dist/svgraph-4BFBO7EL.js +0 -1385
  722. package/dist/svmr-ML7GAIIA.js +0 -3840
  723. package/dist/table-SMLMUWPP.js +0 -198
  724. package/dist/termCollection-22CPTISZ.js +0 -36
  725. package/dist/termCollection-EE6AOIVA.js +0 -177
  726. package/dist/termCollection.unit.spec-4DIW3CJ3.js +0 -206
  727. package/dist/tk-ITZCKOQ5.js +0 -44
  728. package/dist/tp.ui-R6HVKCBC.js +0 -1457
  729. package/dist/tvs.density-AQ5GD437.js +0 -18
  730. package/dist/tvs.dt-2263TBEJ.js +0 -37
  731. package/dist/tvs.dtcnv.categorical-TRRHL33N.js +0 -38
  732. package/dist/tvs.dtcnv.continuous-GREYNF52.js +0 -70
  733. package/dist/tvs.dtfusion-XOX46L3M.js +0 -38
  734. package/dist/tvs.dtsnvindel-IDMXT53F.js +0 -38
  735. package/dist/tvs.dtsv-ZDWFYH2C.js +0 -38
  736. package/dist/tvs.numeric-ZN2R7BH3.js +0 -21
  737. package/dist/tvs.samplelst-GAP76HRH.js +0 -102
  738. package/dist/tvs.termCollection-GQ65UKSI.js +0 -151
  739. package/dist/violin-JGDL62YA.js +0 -44
  740. package/dist/violin.integration.spec-W4NN7LBY.js +0 -1417
  741. package/dist/violin.integration.spec-W4NN7LBY.js.map +0 -7
  742. package/dist/violin.interactivity-H4RP4K5U.js +0 -36
  743. package/dist/violin.renderer-QPHLACDC.js +0 -38
  744. package/dist/vocabulary-7JACY4J2.js +0 -39
  745. /package/dist/{2dmaf-SLBAWGPG.js.map → 2dmaf-6ZTETSC5.js.map} +0 -0
  746. /package/dist/{AppHeader-MVYNRMC7.js.map → AppHeader-U7SJPIBS.js.map} +0 -0
  747. /package/dist/{CorrelationVolcano-TZCYC3NI.js.map → CorrelationVolcano-7SE4CTBW.js.map} +0 -0
  748. /package/dist/{DE-2J2SK5UT.js.map → DE-PZ7RHPBS.js.map} +0 -0
  749. /package/dist/{DEinput-QM3GOQHM.js.map → DEinput-UZEQIU2V.js.map} +0 -0
  750. /package/dist/{DifferentialAnalysis-DS7CQOT6.js.map → DifferentialAnalysis-L6BOEYVO.js.map} +0 -0
  751. /package/dist/{Disco.UI-J2B7GGEZ.js.map → Disco.UI-HKOUAD4P.js.map} +0 -0
  752. /package/dist/{DmrPlot-D5W76QPY.js.map → DmrPlot-3R24PTXP.js.map} +0 -0
  753. /package/dist/{GB-LM5SGUG4.js.map → GB-SZVYZASR.js.map} +0 -0
  754. /package/dist/{HicApp-YNBGAGKM.js.map → HicApp-SEEJETVE.js.map} +0 -0
  755. /package/dist/{NumBinaryEditor-4QA5DQJT.js.map → NumBinaryEditor-SDQFJ3FW.js.map} +0 -0
  756. /package/dist/{NumBinaryEditor.unit.spec-YWSIFTOJ.js.map → NumBinaryEditor.unit.spec-76ZZXTYC.js.map} +0 -0
  757. /package/dist/{NumContEditor-ZPLVZFLH.js.map → NumContEditor-G75O4YZE.js.map} +0 -0
  758. /package/dist/{NumContEditor.unit.spec-NBCFOCOX.js.map → NumContEditor.unit.spec-BFUZRBPL.js.map} +0 -0
  759. /package/dist/{NumCustomBinEditor-TXEYRVPL.js.map → NumCustomBinEditor-ILTPHCEF.js.map} +0 -0
  760. /package/dist/{NumCustomBinEditor.unit.spec-SQM63H4B.js.map → NumCustomBinEditor.unit.spec-GFIYV55V.js.map} +0 -0
  761. /package/dist/{NumDiscreteEditor-6C4OWX62.js.map → NumDiscreteEditor-5K3OKUOE.js.map} +0 -0
  762. /package/dist/{NumDiscreteEditor.unit.spec-4HC4AGAM.js.map → NumDiscreteEditor.unit.spec-NZ4KWPFK.js.map} +0 -0
  763. /package/dist/{NumRegularBinEditor-VQAS3OXK.js.map → NumRegularBinEditor-7ZJ2MEMY.js.map} +0 -0
  764. /package/dist/{NumRegularBinEditor.unit.spec-RGVEPB3Z.js.map → NumRegularBinEditor.unit.spec-QGVJET65.js.map} +0 -0
  765. /package/dist/{NumSplineEditor-SXOJICHU.js.map → NumSplineEditor-KE4UPODZ.js.map} +0 -0
  766. /package/dist/{NumSplineEditor.unit.spec-HF5E6ANH.js.map → NumSplineEditor.unit.spec-YQOOZA7S.js.map} +0 -0
  767. /package/dist/{NumericDensity-LMLPMOSE.js.map → NumericDensity-RL42P4QC.js.map} +0 -0
  768. /package/dist/{NumericDensity.unit.spec-3ZI5EVON.js.map → NumericDensity.unit.spec-Y6RMTYC7.js.map} +0 -0
  769. /package/dist/{NumericHandler-Q6F6ANOS.js.map → NumericHandler-4QIX324I.js.map} +0 -0
  770. /package/dist/{NumericHandler.unit.spec-E6Z5HUNZ.js.map → NumericHandler.unit.spec-T6F5QYP6.js.map} +0 -0
  771. /package/dist/{WsiSamplesPlot-KMI5S2EL.js.map → WsiSamplesPlot-CXGWPCDL.js.map} +0 -0
  772. /package/dist/{adSandbox-JTK5XEQL.js.map → adSandbox-DE4VRO4Z.js.map} +0 -0
  773. /package/dist/{alphaGenome-JRAV6WIY.js.map → alphaGenome-FSIGC5ZT.js.map} +0 -0
  774. /package/dist/{app-JKDZL23V.js.map → app-KZGKWQMU.js.map} +0 -0
  775. /package/dist/{app-OEARXM6E.js.map → app-MQRJ7FVL.js.map} +0 -0
  776. /package/dist/{bam-CYEPLBK4.js.map → bam-BDWTA4O3.js.map} +0 -0
  777. /package/dist/{barchart-GG5UFDG4.js.map → barchart-4Q6LVJY4.js.map} +0 -0
  778. /package/dist/{barchart.data-KXA66FAL.js.map → barchart.data-EXENRVMU.js.map} +0 -0
  779. /package/dist/{barchart.events-P2USOIR7.js.map → barchart.events-XRGND6I7.js.map} +0 -0
  780. /package/dist/{barchart.integration.spec-5QSPQQLJ.js.map → barchart.integration.spec-VQITP4YH.js.map} +0 -0
  781. /package/dist/{bars.renderer-T5R3UIBW.js.map → bars.renderer-S7A7I6BQ.js.map} +0 -0
  782. /package/dist/{block.init-ZHX6DFWF.js.map → block.init-NCNSE3HD.js.map} +0 -0
  783. /package/dist/{block.mds.expressionrank-YMGYXXYT.js.map → block.mds.expressionrank-JYZARS7T.js.map} +0 -0
  784. /package/dist/{block.mds.geneboxplot-IAILQYX4.js.map → block.mds.geneboxplot-FD2MCIHV.js.map} +0 -0
  785. /package/dist/{block.mds.junction-BRNFNQMU.js.map → block.mds.junction-LOHVQBIU.js.map} +0 -0
  786. /package/dist/{block.mds.svcnv-OHKC7YPO.js.map → block.mds.svcnv-Z7SAYPQL.js.map} +0 -0
  787. /package/dist/{block.svg-PNGK45HW.js.map → block.svg-LNJOKQNN.js.map} +0 -0
  788. /package/dist/{block.tk.aicheck-SCIOJ4WN.js.map → block.tk.aicheck-IXCMMAGV.js.map} +0 -0
  789. /package/dist/{block.tk.ase-BABJ73GG.js.map → block.tk.ase-WYRYFP6N.js.map} +0 -0
  790. /package/dist/{block.tk.bam-LZWJ5BCQ.js.map → block.tk.bam-EIVBNGAL.js.map} +0 -0
  791. /package/dist/{block.tk.bedgraphdot-7NQLC3XJ.js.map → block.tk.bedgraphdot-3FHLNCU7.js.map} +0 -0
  792. /package/dist/{block.tk.bigwig.ui-VNY4SFD5.js.map → block.tk.bigwig.ui-YDQU5PC4.js.map} +0 -0
  793. /package/dist/{block.tk.hicstraw-36A7VDRM.js.map → block.tk.hicstraw-S3ROL3CV.js.map} +0 -0
  794. /package/dist/{block.tk.junction-D373YEMK.js.map → block.tk.junction-DL7RNWX3.js.map} +0 -0
  795. /package/dist/{block.tk.junction.textmatrixui-FFII7J3X.js.map → block.tk.junction.textmatrixui-Z6I7IEDY.js.map} +0 -0
  796. /package/dist/{block.tk.ld-XGB6KMDO.js.map → block.tk.ld-XHVU6L56.js.map} +0 -0
  797. /package/dist/{block.tk.menu-PEZANZBZ.js.map → block.tk.menu-FPLAEEFY.js.map} +0 -0
  798. /package/dist/{block.tk.pgv-MU5BPTT2.js.map → block.tk.pgv-6ZZ2QGNO.js.map} +0 -0
  799. /package/dist/{brainImaging-LVJON47N.js.map → brainImaging-VSOOMITW.js.map} +0 -0
  800. /package/dist/{chat-5FDIAQJ4.js.map → chat-LW23PIG5.js.map} +0 -0
  801. /package/dist/{chunk-PQABAAEZ.js.map → chunk-2LULD7RN.js.map} +0 -0
  802. /package/dist/{chunk-LEDPPLQK.js.map → chunk-3AGB6HL4.js.map} +0 -0
  803. /package/dist/{chunk-T2HYA2KL.js.map → chunk-3AVDNIDN.js.map} +0 -0
  804. /package/dist/{chunk-JOXUBWN3.js.map → chunk-3DCABJHB.js.map} +0 -0
  805. /package/dist/{chunk-UQACPOCM.js.map → chunk-3JMB3OSC.js.map} +0 -0
  806. /package/dist/{chunk-2J3566TA.js.map → chunk-3UEMY45Y.js.map} +0 -0
  807. /package/dist/{chunk-ILF2GKBY.js.map → chunk-4RR4KPRJ.js.map} +0 -0
  808. /package/dist/{chunk-TE3DK3A6.js.map → chunk-5HCB4HNL.js.map} +0 -0
  809. /package/dist/{chunk-IP4T477W.js.map → chunk-5RFB7TYT.js.map} +0 -0
  810. /package/dist/{chunk-7A7NMCQ3.js.map → chunk-5UMPBVA6.js.map} +0 -0
  811. /package/dist/{chunk-MXI3NXRB.js.map → chunk-6C2SBTLR.js.map} +0 -0
  812. /package/dist/{chunk-UBS5UVIY.js.map → chunk-6LAE5AVA.js.map} +0 -0
  813. /package/dist/{chunk-JHOGX5VE.js.map → chunk-7VV43ICF.js.map} +0 -0
  814. /package/dist/{chunk-O4PXELXF.js.map → chunk-A742TQD2.js.map} +0 -0
  815. /package/dist/{chunk-E6DRQJJT.js.map → chunk-AFLFPYJI.js.map} +0 -0
  816. /package/dist/{chunk-DONWY7TP.js.map → chunk-AQ4OP4GR.js.map} +0 -0
  817. /package/dist/{chunk-FQRLSKJC.js.map → chunk-BAY47D5E.js.map} +0 -0
  818. /package/dist/{chunk-TN5GSG34.js.map → chunk-CFHKYLDY.js.map} +0 -0
  819. /package/dist/{chunk-K6JLCMVL.js.map → chunk-CTAKX5CT.js.map} +0 -0
  820. /package/dist/{chunk-Y3TDC7NU.js.map → chunk-D4QFQQWJ.js.map} +0 -0
  821. /package/dist/{chunk-YUMPQ3CJ.js.map → chunk-DGMK7SXX.js.map} +0 -0
  822. /package/dist/{chunk-UR3C4SCH.js.map → chunk-DNCSPTOQ.js.map} +0 -0
  823. /package/dist/{chunk-IIRU6VK2.js.map → chunk-DTDQKGIQ.js.map} +0 -0
  824. /package/dist/{chunk-K57RR3FD.js.map → chunk-E4NVHKWD.js.map} +0 -0
  825. /package/dist/{chunk-GKK3CZ6H.js.map → chunk-E6KEZENR.js.map} +0 -0
  826. /package/dist/{chunk-X6UPDFDX.js.map → chunk-FRBYOOWT.js.map} +0 -0
  827. /package/dist/{chunk-UWX7W22M.js.map → chunk-FVWCYGJL.js.map} +0 -0
  828. /package/dist/{chunk-CCIZJAXB.js.map → chunk-I4IKRKYJ.js.map} +0 -0
  829. /package/dist/{chunk-W6UUEAEP.js.map → chunk-IEQSUAIO.js.map} +0 -0
  830. /package/dist/{chunk-UBGTQMOO.js.map → chunk-JMPSZMDD.js.map} +0 -0
  831. /package/dist/{chunk-MPJHDHBA.js.map → chunk-JXOL73PT.js.map} +0 -0
  832. /package/dist/{chunk-KSFSM46X.js.map → chunk-K62XUHA4.js.map} +0 -0
  833. /package/dist/{chunk-DVDDXOWT.js.map → chunk-KQMEJUWI.js.map} +0 -0
  834. /package/dist/{chunk-FGMPKWT5.js.map → chunk-LI7FE335.js.map} +0 -0
  835. /package/dist/{chunk-AZYDW5T7.js.map → chunk-MV6O4I2B.js.map} +0 -0
  836. /package/dist/{chunk-PIACSJPH.js.map → chunk-MXNSW55L.js.map} +0 -0
  837. /package/dist/{chunk-HAMDFQIX.js.map → chunk-NB7NLFGZ.js.map} +0 -0
  838. /package/dist/{chunk-FBAJTPBU.js.map → chunk-NGGWK6HX.js.map} +0 -0
  839. /package/dist/{chunk-P5HLYAHP.js.map → chunk-OGGFS66K.js.map} +0 -0
  840. /package/dist/{chunk-DHZL3FBC.js.map → chunk-Q7PYFSNU.js.map} +0 -0
  841. /package/dist/{chunk-GPOECA3V.js.map → chunk-QMI222IJ.js.map} +0 -0
  842. /package/dist/{chunk-AETE4F7R.js.map → chunk-QRIRWDIW.js.map} +0 -0
  843. /package/dist/{chunk-ORPCSG6T.js.map → chunk-R6L6NVEC.js.map} +0 -0
  844. /package/dist/{chunk-B6HCIAM3.js.map → chunk-RLTLYKHO.js.map} +0 -0
  845. /package/dist/{chunk-VLTDUJRM.js.map → chunk-S5ZI6N2I.js.map} +0 -0
  846. /package/dist/{chunk-H2D7EVUA.js.map → chunk-S7T7OZC7.js.map} +0 -0
  847. /package/dist/{chunk-F6V4AYWP.js.map → chunk-SEQLC4AD.js.map} +0 -0
  848. /package/dist/{chunk-RSU37SVQ.js.map → chunk-TEZLFSOV.js.map} +0 -0
  849. /package/dist/{chunk-YOTWMCT5.js.map → chunk-UEMTP6ZC.js.map} +0 -0
  850. /package/dist/{chunk-6MSCYO7K.js.map → chunk-UJU3Q7QJ.js.map} +0 -0
  851. /package/dist/{chunk-RFIVPTMS.js.map → chunk-VIPMLSZP.js.map} +0 -0
  852. /package/dist/{chunk-LUTT3MBZ.js.map → chunk-VUUZJANK.js.map} +0 -0
  853. /package/dist/{chunk-2OSEZCWZ.js.map → chunk-WGHO2NCP.js.map} +0 -0
  854. /package/dist/{chunk-GO5SIPFE.js.map → chunk-WPHOEG56.js.map} +0 -0
  855. /package/dist/{chunk-KVG7FTTK.js.map → chunk-WS5XVKPJ.js.map} +0 -0
  856. /package/dist/{chunk-MNRYCG2S.js.map → chunk-X6URQAFD.js.map} +0 -0
  857. /package/dist/{chunk-VJ37HKM6.js.map → chunk-YALAQWX4.js.map} +0 -0
  858. /package/dist/{chunk-H2K5KZP7.js.map → chunk-YY4CKQJ6.js.map} +0 -0
  859. /package/dist/{chunk-G6ELKVBG.js.map → chunk-Z3KV6SC2.js.map} +0 -0
  860. /package/dist/{condition-VHP2L4GM.js.map → condition-JKQIRMMW.js.map} +0 -0
  861. /package/dist/{controls-N5Q7U7JR.js.map → controls-324AGOZG.js.map} +0 -0
  862. /package/dist/{controls.config-NJMW4SLR.js.map → controls.config-TA4NNARU.js.map} +0 -0
  863. /package/dist/{correlation-3LDASF5I.js.map → correlation-3Z36TKC2.js.map} +0 -0
  864. /package/dist/{cuminc-UWJ23W6C.js.map → cuminc-4DY2CSZF.js.map} +0 -0
  865. /package/dist/{cuminc.integration.spec-OZYYET3W.js.map → cuminc.integration.spec-SFQPLMSF.js.map} +0 -0
  866. /package/dist/{dataDownload-4S4PE5HX.js.map → dataDownload-3AE2N7KI.js.map} +0 -0
  867. /package/dist/{dataDownload.integration.spec-B57LEKFZ.js.map → dataDownload.integration.spec-DKOT6BJP.js.map} +0 -0
  868. /package/dist/{databrowser.ui-N6GHEQ2P.js.map → databrowser.ui-ATODRS5P.js.map} +0 -0
  869. /package/dist/{dnaMethylation-BOGAUAWA.js.map → dnaMethylation-TVA5YMOR.js.map} +0 -0
  870. /package/dist/{e2pca-L5EBQJNP.js.map → e2pca-KHVDNFEZ.js.map} +0 -0
  871. /package/dist/{ep-Z67ORKUX.js.map → ep-B5GAAMNM.js.map} +0 -0
  872. /package/dist/{expclust.gdc.spec-SP7VOL64.js.map → expclust.gdc.spec-EDPX7V6K.js.map} +0 -0
  873. /package/dist/{facet-HDB4VDGU.js.map → facet-ZCSXKXIO.js.map} +0 -0
  874. /package/dist/{geneExpClustering-6ZPOLTDJ.js.map → geneExpClustering-ERNCMAED.js.map} +0 -0
  875. /package/dist/{geneExpression-T7QUHV5S.js.map → geneExpression-HUOXWETT.js.map} +0 -0
  876. /package/dist/{geneExpression-T6YIG4XQ.js.map → geneExpression-X2KXJPND.js.map} +0 -0
  877. /package/dist/{geneExpression.unit.spec-DO52L5IB.js.map → geneExpression.unit.spec-5QQB4ISW.js.map} +0 -0
  878. /package/dist/{geneORA-KOUDUWUO.js.map → geneORA-B5UK77KL.js.map} +0 -0
  879. /package/dist/{geneVariant-FVR76F6I.js.map → geneVariant-7MGUAIZ6.js.map} +0 -0
  880. /package/dist/{geneVariant-I5QUITKG.js.map → geneVariant-FK3KZJ2K.js.map} +0 -0
  881. /package/dist/{geneVariant.integration.spec-D4IRM7B5.js.map → geneVariant.integration.spec-C6TYWKIC.js.map} +0 -0
  882. /package/dist/{genefusion.ui-35IYSZD7.js.map → genefusion.ui-VKAINMY7.js.map} +0 -0
  883. /package/dist/{geneset-7ZHJ5KWK.js.map → geneset-673KAZVX.js.map} +0 -0
  884. /package/dist/{genomeBrowser.spec-VXASVLNH.js.map → genomeBrowser.spec-T6TQCJ3O.js.map} +0 -0
  885. /package/dist/{grin2-7NM56COO.js.map → grin2-376BD4XY.js.map} +0 -0
  886. /package/dist/{grin2-IY26UUQI.js.map → grin2-OALS75LC.js.map} +0 -0
  887. /package/dist/{gsea-TORO46C6.js.map → gsea-25LD2LGP.js.map} +0 -0
  888. /package/dist/{hierCluster-3BKEGW6P.js.map → hierCluster-7KU3K52V.js.map} +0 -0
  889. /package/dist/{hierCluster-HM3LOM6V.js.map → hierCluster-M5VVWKQK.js.map} +0 -0
  890. /package/dist/{hierCluster.config-LDO5IGQ5.js.map → hierCluster.config-EDO3SH2P.js.map} +0 -0
  891. /package/dist/{hierCluster.integration.spec-XO5R6CQT.js.map → hierCluster.integration.spec-UOX7J2XD.js.map} +0 -0
  892. /package/dist/{hierCluster.interactivity-NVQ6262K.js.map → hierCluster.interactivity-FEFZDXML.js.map} +0 -0
  893. /package/dist/{hierCluster.renderers-SWPPNBLU.js.map → hierCluster.renderers-A6MEGO2B.js.map} +0 -0
  894. /package/dist/{imagePlot-V4WLAPV6.js.map → imagePlot-FPXZ2H5Z.js.map} +0 -0
  895. /package/dist/{importPlot-NZKQEOX4.js.map → importPlot-VKWPSFEK.js.map} +0 -0
  896. /package/dist/{isoformExpression-TIZBIGNL.js.map → isoformExpression-2R2TOB6P.js.map} +0 -0
  897. /package/dist/{jspdf.es.min-DO4YWL2R.js.map → jspdf.es.min-FC3BCETM.js.map} +0 -0
  898. /package/dist/{launch.adhoc-JYEN42NM.js.map → launch.adhoc-242RS6DW.js.map} +0 -0
  899. /package/dist/{leftlabel.sample-43DL3J3H.js.map → leftlabel.sample-OJW3AE64.js.map} +0 -0
  900. /package/dist/{legacyDataset-QRSNRVUA.js.map → legacyDataset-PBCPC5I7.js.map} +0 -0
  901. /package/dist/{lollipop-NMWZ4FVF.js.map → lollipop-TRQ3LK7Y.js.map} +0 -0
  902. /package/dist/{maf-DS3EOVGV.js.map → maf-ZBOLN2FE.js.map} +0 -0
  903. /package/dist/{maftimeline-ZB2753S7.js.map → maftimeline-GVX7NJP7.js.map} +0 -0
  904. /package/dist/{matrix-RCGQWQ3C.js.map → matrix-73KRNXLM.js.map} +0 -0
  905. /package/dist/{matrix-WTTEK4FT.js.map → matrix-US3OXYRY.js.map} +0 -0
  906. /package/dist/{matrix.cells-UO5ASQ35.js.map → matrix.cells-U7AQNEBP.js.map} +0 -0
  907. /package/dist/{matrix.config-3UQAT3QR.js.map → matrix.config-Q57D7C3F.js.map} +0 -0
  908. /package/dist/{matrix.controls-PRZ77K5L.js.map → matrix.controls-AWXDRSWP.js.map} +0 -0
  909. /package/dist/{matrix.data-4W73RQ3H.js.map → matrix.data-EEIY6AO4.js.map} +0 -0
  910. /package/dist/{matrix.dom-IZFFS4RQ.js.map → matrix.dom-6QL3AJMW.js.map} +0 -0
  911. /package/dist/{matrix.groups-5VMPI7SA.js.map → matrix.groups-CUB6UWC5.js.map} +0 -0
  912. /package/dist/{matrix.integration.spec-2F5LDLC2.js.map → matrix.integration.spec-PQH67KRM.js.map} +0 -0
  913. /package/dist/{matrix.interactivity-MIPZ6ELV.js.map → matrix.interactivity-JW4AXAWO.js.map} +0 -0
  914. /package/dist/{matrix.layout-EO5LVYRO.js.map → matrix.layout-I56KRVCO.js.map} +0 -0
  915. /package/dist/{matrix.legend-QBFBFEUG.js.map → matrix.legend-42LQGAGX.js.map} +0 -0
  916. /package/dist/{matrix.renderers-ERJXVCQL.js.map → matrix.renderers-IX3FCNBK.js.map} +0 -0
  917. /package/dist/{matrix.serieses-E23EPXHA.js.map → matrix.serieses-4B2WB526.js.map} +0 -0
  918. /package/dist/{matrix.sort-I4UGMEXR.js.map → matrix.sort-BJACNR7G.js.map} +0 -0
  919. /package/dist/{matrix.sort.unit.spec-CRGF6CSE.js.map → matrix.sort.unit.spec-3KKDKIPY.js.map} +0 -0
  920. /package/dist/{matrix.sorterUi-YLSYTYLE.js.map → matrix.sorterUi-W6XFYZY2.js.map} +0 -0
  921. /package/dist/{matrix.sorterUi.unit.spec-ENG3ICOO.js.map → matrix.sorterUi.unit.spec-CMJ7EBIW.js.map} +0 -0
  922. /package/dist/{mavb-5WR7OJHI.js.map → mavb-ROAE6WYA.js.map} +0 -0
  923. /package/dist/{mds.fimo-3ZRH7BBJ.js.map → mds.fimo-UGK5OWCF.js.map} +0 -0
  924. /package/dist/{mds.samplescatterplot-RPXR2FVK.js.map → mds.samplescatterplot-5KFUAYSB.js.map} +0 -0
  925. /package/dist/{mds.survivalplot-WSSMYUZD.js.map → mds.survivalplot-2EVNZUX5.js.map} +0 -0
  926. /package/dist/{oncomatrix-JKYPUJQR.js.map → oncomatrix-UGFXSXQJ.js.map} +0 -0
  927. /package/dist/{oncomatrix.spec-OEGU4DYK.js.map → oncomatrix.spec-FEP7BR7L.js.map} +0 -0
  928. /package/dist/{plot.2dvaf-ZGARLQNK.js.map → plot.2dvaf-WXGLWCOC.js.map} +0 -0
  929. /package/dist/{plot.app-TKUJH3LK.js.map → plot.app-IZAFRTBU.js.map} +0 -0
  930. /package/dist/{plot.barplot-FEIPGDZ2.js.map → plot.barplot-Z4VWOPFJ.js.map} +0 -0
  931. /package/dist/{plot.boxplot-6RASUMZB.js.map → plot.boxplot-QU2KZSB7.js.map} +0 -0
  932. /package/dist/{plot.brainImaging-ZJPFWX2W.js.map → plot.brainImaging-U643YIK7.js.map} +0 -0
  933. /package/dist/{plot.dzi-PC34YI6Y.js.map → plot.dzi-DWXPOOQE.js.map} +0 -0
  934. /package/dist/{plot.ssgq-Z4UNJKWO.js.map → plot.ssgq-GXB2GZO3.js.map} +0 -0
  935. /package/dist/{plot.vaf2cov-NZ4WULKT.js.map → plot.vaf2cov-EKRIADPB.js.map} +0 -0
  936. /package/dist/{plot.wsi-YYXFAZWY.js.map → plot.wsi-E2LLE6HI.js.map} +0 -0
  937. /package/dist/{polar-X2GPIBLB.js.map → polar-MZLIUXHO.js.map} +0 -0
  938. /package/dist/{polar2-TZ553QQH.js.map → polar2-IUVHNQM4.js.map} +0 -0
  939. /package/dist/{profile.spec-VB6VMFLY.js.map → profile.spec-JRW6KYUI.js.map} +0 -0
  940. /package/dist/{profileBarchart-SKJSTC7B.js.map → profileBarchart-N7HJMYZ5.js.map} +0 -0
  941. /package/dist/{profileForms-RLOGSMAQ.js.map → profileForms-Q5TPGPQP.js.map} +0 -0
  942. /package/dist/{profilePlot-267ZS3RG.js.map → profilePlot-TXTUYDVE.js.map} +0 -0
  943. /package/dist/{profileRadar-KGOBHCSF.js.map → profileRadar-ICEASI7W.js.map} +0 -0
  944. /package/dist/{proteomeAbundance-PGHZSVAF.js.map → proteomeAbundance-DE4NVBCN.js.map} +0 -0
  945. /package/dist/{proteomeAbundance-JUYAYO5I.js.map → proteomeAbundance-LTB3QR3G.js.map} +0 -0
  946. /package/dist/{qualitative-3IECKKJM.js.map → qualitative-DFGWQURY.js.map} +0 -0
  947. /package/dist/{regression-J6FFRPXN.js.map → regression-TTQTAEGD.js.map} +0 -0
  948. /package/dist/{regression.inputs-T7LWBSYZ.js.map → regression.inputs-2LU2XRGC.js.map} +0 -0
  949. /package/dist/{regression.inputs.term-TT7PNX6G.js.map → regression.inputs.term-G57GL57T.js.map} +0 -0
  950. /package/dist/{regression.inputs.values.table-SHFUNKCS.js.map → regression.inputs.values.table-JSEM3PXL.js.map} +0 -0
  951. /package/dist/{regression.results-D4WX6VIV.js.map → regression.results-3YNM6LLQ.js.map} +0 -0
  952. /package/dist/{regression.spec-7SW55L7X.js.map → regression.spec-S6WFCPSW.js.map} +0 -0
  953. /package/dist/{report-QYOZ4BRF.js.map → report-YRAV4MY4.js.map} +0 -0
  954. /package/dist/{sampleScatter.spec-JCHFMGNF.js.map → sampleScatter.spec-MBJ4XNTX.js.map} +0 -0
  955. /package/dist/{sampleView-7RPKNAZC.js.map → sampleView-IUR3ZEN7.js.map} +0 -0
  956. /package/dist/{samplelst-4WNPHZVG.js.map → samplelst-C2NBFGH6.js.map} +0 -0
  957. /package/dist/{samplematrix-CG52DSXJ.js.map → samplematrix-AOK2HHSB.js.map} +0 -0
  958. /package/dist/{sc-OJSWILSA.js.map → sc-XT3Z5XJI.js.map} +0 -0
  959. /package/dist/{scatter-LG2RMMEC.js.map → scatter-SAHKZRFL.js.map} +0 -0
  960. /package/dist/{selectGenomeWithTklst-QXRVE6N4.js.map → selectGenomeWithTklst-2YVZ4JWV.js.map} +0 -0
  961. /package/dist/{singleCellCellType-XBSRL33U.js.map → singleCellCellType-NFN5GQJM.js.map} +0 -0
  962. /package/dist/{singleCellGeneExpression-64ECP62X.js.map → singleCellGeneExpression-7AQGLXTR.js.map} +0 -0
  963. /package/dist/{singleCellPlot-E5F62JY6.js.map → singleCellPlot-IWFEG44C.js.map} +0 -0
  964. /package/dist/{singlecell-S7B5V7NK.js.map → singlecell-3QNV4OMZ.js.map} +0 -0
  965. /package/dist/{singlecell-FCY5EOUV.js.map → singlecell-EATPLH66.js.map} +0 -0
  966. /package/dist/{snp-ACKX4GRX.js.map → snp-UP7WL7WG.js.map} +0 -0
  967. /package/dist/{snp.unit.spec-QBGHKKUD.js.map → snp.unit.spec-Y5NWQ442.js.map} +0 -0
  968. /package/dist/{snplocus-7EUOW7J7.js.map → snplocus-WAQK2AZG.js.map} +0 -0
  969. /package/dist/{spliceevent.a53ss.diagram-ALQZA35Z.js.map → spliceevent.a53ss.diagram-FFK27UIB.js.map} +0 -0
  970. /package/dist/{spliceevent.exonskip.diagram-UF7WJA5R.js.map → spliceevent.exonskip.diagram-KWEF2OZJ.js.map} +0 -0
  971. /package/dist/{spliceevent.noeventdiagram-4HPGRNRR.js.map → spliceevent.noeventdiagram-PU4TI7OM.js.map} +0 -0
  972. /package/dist/{ssGSEA-FDRBBBLJ.js.map → ssGSEA-N6QOAVLW.js.map} +0 -0
  973. /package/dist/{ssGSEA.unit.spec-EZEOWJVV.js.map → ssGSEA.unit.spec-KQBNZNNP.js.map} +0 -0
  974. /package/dist/{summarizeMutationDiagnosis-LALOJTHV.js.map → summarizeMutationDiagnosis-5RHSG7L6.js.map} +0 -0
  975. /package/dist/{summarizeMutationSurvival-TSNTSOBZ.js.map → summarizeMutationSurvival-22YYXGS5.js.map} +0 -0
  976. /package/dist/{summary-YRHVS64T.js.map → summary-P3WIKJS7.js.map} +0 -0
  977. /package/dist/{summary.integration.spec-766YQLQA.js.map → summary.integration.spec-ULGRPICW.js.map} +0 -0
  978. /package/dist/{summaryInput-VQ2X6GSX.js.map → summaryInput-IH4EVNF5.js.map} +0 -0
  979. /package/dist/{survival-FQXZH2MM.js.map → survival-2ZE3N62A.js.map} +0 -0
  980. /package/dist/{survival-TVA3ZWVP.js.map → survival-ASCLKIII.js.map} +0 -0
  981. /package/dist/{survival.integration.spec-WFIOPD6A.js.map → survival.integration.spec-C5YXOY77.js.map} +0 -0
  982. /package/dist/{svg2pdf.es.min-EZ4UYRSH.js.map → svg2pdf.es.min-CYTPRWNB.js.map} +0 -0
  983. /package/dist/{svgraph-4BFBO7EL.js.map → svgraph-AYR2UPNK.js.map} +0 -0
  984. /package/dist/{svmr-ML7GAIIA.js.map → svmr-MOMW5DNY.js.map} +0 -0
  985. /package/dist/{table-SMLMUWPP.js.map → table-PQB6KCEY.js.map} +0 -0
  986. /package/dist/{termCollection-22CPTISZ.js.map → termCollection-5AY2AWT4.js.map} +0 -0
  987. /package/dist/{termCollection-EE6AOIVA.js.map → termCollection-OQMUUTW6.js.map} +0 -0
  988. /package/dist/{termCollection.unit.spec-4DIW3CJ3.js.map → termCollection.unit.spec-BUAXYIJK.js.map} +0 -0
  989. /package/dist/{tk-ITZCKOQ5.js.map → tk-EJLFFA5H.js.map} +0 -0
  990. /package/dist/{tp.ui-R6HVKCBC.js.map → tp.ui-WUW6A7KP.js.map} +0 -0
  991. /package/dist/{tvs.density-AQ5GD437.js.map → tvs.density-HSVPDDGA.js.map} +0 -0
  992. /package/dist/{tvs.dt-2263TBEJ.js.map → tvs.dt-MVJXQMNU.js.map} +0 -0
  993. /package/dist/{tvs.dtcnv.categorical-TRRHL33N.js.map → tvs.dtcnv.categorical-FIIDWVK7.js.map} +0 -0
  994. /package/dist/{tvs.dtcnv.continuous-GREYNF52.js.map → tvs.dtcnv.continuous-JPQU3JA2.js.map} +0 -0
  995. /package/dist/{tvs.dtfusion-XOX46L3M.js.map → tvs.dtfusion-BW35GOQM.js.map} +0 -0
  996. /package/dist/{tvs.dtsnvindel-IDMXT53F.js.map → tvs.dtsnvindel-AEMFZ4EH.js.map} +0 -0
  997. /package/dist/{tvs.dtsv-ZDWFYH2C.js.map → tvs.dtsv-JHTU7UFD.js.map} +0 -0
  998. /package/dist/{tvs.numeric-ZN2R7BH3.js.map → tvs.numeric-ICUGA4WY.js.map} +0 -0
  999. /package/dist/{tvs.samplelst-GAP76HRH.js.map → tvs.samplelst-VD2NFFFS.js.map} +0 -0
  1000. /package/dist/{tvs.termCollection-GQ65UKSI.js.map → tvs.termCollection-IKE5Q74D.js.map} +0 -0
  1001. /package/dist/{violin-JGDL62YA.js.map → violin-DPMJLHQG.js.map} +0 -0
  1002. /package/dist/{violin.interactivity-H4RP4K5U.js.map → violin.interactivity-TS4DYUE5.js.map} +0 -0
  1003. /package/dist/{violin.renderer-QPHLACDC.js.map → violin.renderer-53L4PXUT.js.map} +0 -0
  1004. /package/dist/{vocabulary-7JACY4J2.js.map → vocabulary-4MPFHKYC.js.map} +0 -0
@@ -0,0 +1,2370 @@
1
+ import {
2
+ vcf2dstk
3
+ } from "./chunk-DGMK7SXX.js";
4
+ import {
5
+ getsjcharts
6
+ } from "./chunk-MKAF2BHB.js";
7
+ import {
8
+ parseheader,
9
+ parseline
10
+ } from "./chunk-OSM7YS23.js";
11
+ import {
12
+ bulk_badline,
13
+ disappear2 as disappear,
14
+ filetypeselect,
15
+ newpane,
16
+ newpane3,
17
+ renderSandboxFormDiv,
18
+ sayerror,
19
+ tkt
20
+ } from "./chunk-OXJ2TWDO.js";
21
+ import {
22
+ invalidcoord,
23
+ string2pos
24
+ } from "./chunk-HJ6L54YS.js";
25
+ import {
26
+ dofetch,
27
+ init_bulk_flag,
28
+ parsesample
29
+ } from "./chunk-7RN3L2BX.js";
30
+ import {
31
+ dtcloss,
32
+ dtcnv,
33
+ dtdel,
34
+ dtfusionrna,
35
+ dtitd,
36
+ dtnloss,
37
+ dtsnvindel,
38
+ dtsv,
39
+ mclasscloss,
40
+ mclasscnvgain,
41
+ mclasscnvloh,
42
+ mclasscnvloss,
43
+ mclassdel,
44
+ mclassfusionrna,
45
+ mclassitd,
46
+ mclassnloss,
47
+ mclasssv,
48
+ mclasstester,
49
+ validtkt
50
+ } from "./chunk-XYFDBYOY.js";
51
+ import {
52
+ category10_default
53
+ } from "./chunk-IH7ILDJS.js";
54
+ import {
55
+ ordinal
56
+ } from "./chunk-OAWQ6LOO.js";
57
+ import {
58
+ select_default
59
+ } from "./chunk-NDWTN4U5.js";
60
+
61
+ // ../shared/utils/src/bulk.snv.js
62
+ function parseheader2(line, flag2) {
63
+ const header = line.toLowerCase().split(" ");
64
+ if (header.length <= 1) return "invalid file header for snv/indel";
65
+ const htry = (...args) => {
66
+ for (const s of args) {
67
+ const i2 = header.indexOf(s);
68
+ if (i2 != -1) return i2;
69
+ }
70
+ return -1;
71
+ };
72
+ let i = htry(
73
+ "annovar_gene",
74
+ "annovar_sj_gene",
75
+ "gene",
76
+ "genename",
77
+ "gene_symbol",
78
+ "hugo_symbol"
79
+ );
80
+ if (i == -1) return "gene missing from header";
81
+ header[i] = "gene";
82
+ i = htry(
83
+ "annovar_aachange",
84
+ "amino_acid_change",
85
+ "annovar_sj_aachange",
86
+ "aachange",
87
+ "protein_change",
88
+ "variant"
89
+ );
90
+ if (i == -1) return "amino_acid_change missing from header";
91
+ header[i] = "mname";
92
+ i = htry(
93
+ "annovar_class",
94
+ "class",
95
+ "mclass",
96
+ "variant_class",
97
+ "variant_classification",
98
+ "annovar_sj_class"
99
+ );
100
+ if (i == -1) return "variant_class missing from header";
101
+ header[i] = "class";
102
+ i = htry("chromosome", "chr");
103
+ if (i == -1) return "chromosome missing from header";
104
+ header[i] = "chr";
105
+ i = htry("wu_hg19_pos", "start", "start_position", "chr_position", "position");
106
+ if (i == -1) return "start missing from header";
107
+ header[i] = "pos";
108
+ i = htry(
109
+ "annovar_isoform",
110
+ "mrna_accession",
111
+ "mrna accession",
112
+ "refseq_mrna_id",
113
+ "annovar_sj_filter_isoform",
114
+ "refseq",
115
+ "isoform"
116
+ );
117
+ if (i == -1) return "isoform missing from header";
118
+ header[i] = "isoform";
119
+ i = htry("sample", "sample_name", "tumor_sample_barcode");
120
+ if (i != -1) header[i] = "sample";
121
+ i = htry("patient", "donor", "target_case_id");
122
+ if (i != -1) header[i] = "patient";
123
+ i = htry("quantitative_measurements");
124
+ if (i != -1) header[i] = "qmset";
125
+ i = htry("mutant_reads_in_case", "mutant_in_tumor", "tumor_readcount_alt");
126
+ if (i != -1) header[i] = "maf_tumor_v1";
127
+ i = htry("total_reads_in_case", "total_in_tumor", "tumor_readcount_total");
128
+ if (i != -1) header[i] = "maf_tumor_v2";
129
+ i = htry(
130
+ "mutant_reads_in_control",
131
+ "mutant_in_normal",
132
+ "normal_readcount_alt"
133
+ );
134
+ if (i != -1) header[i] = "maf_normal_v1";
135
+ i = htry(
136
+ "total_reads_in_control",
137
+ "total_in_normal",
138
+ "normal_readcount_total"
139
+ );
140
+ if (i != -1) header[i] = "maf_normal_v2";
141
+ i = htry("cdna_change");
142
+ if (i != -1) header[i] = "cdna_change";
143
+ i = htry("sampletype", "sample type", "sample_type");
144
+ if (i != -1) header[i] = "sampletype";
145
+ i = htry("origin");
146
+ if (i != -1) header[i] = "origin";
147
+ i = htry("cancer", "disease", "diagnosis");
148
+ if (i != -1) header[i] = "disease";
149
+ flag2.snv.header = header;
150
+ flag2.snv.loaded = true;
151
+ return false;
152
+ }
153
+ function parseline2(linei, line, flag2) {
154
+ if (line == "" || line[0] == "#") return;
155
+ const lst = line.split(" ");
156
+ const m = {};
157
+ for (let j = 0; j < flag2.snv.header.length; j++) {
158
+ if (lst[j] == void 0) break;
159
+ m[flag2.snv.header[j]] = lst[j];
160
+ }
161
+ if (!m.gene) {
162
+ flag2.snv.badlines.push([linei, "missing gene", lst]);
163
+ return;
164
+ }
165
+ if (m.gene.toUpperCase() == "UNKNOWN") {
166
+ flag2.snv.badlines.push([linei, "gene name is UNKNOWN", lst]);
167
+ return;
168
+ }
169
+ if (!m.isoform) {
170
+ flag2.snv.badlines.push([linei, "missing isoform", lst]);
171
+ return;
172
+ }
173
+ if (!m.mname) {
174
+ m.mname = m.cdna_change;
175
+ if (!m.mname) {
176
+ flag2.snv.badlines.push([linei, "missing amino acid change", lst]);
177
+ return;
178
+ }
179
+ } else {
180
+ if (m.mname.indexOf("p.") == 0) {
181
+ m.mname = m.mname.replace(/^p\./, "");
182
+ }
183
+ }
184
+ if (!m.class) {
185
+ flag2.snv.badlines.push([linei, "missing mutation class", lst]);
186
+ return;
187
+ }
188
+ let _c = flag2.mclasslabel2key[m.class.toUpperCase()];
189
+ if (_c) {
190
+ m.class = _c;
191
+ } else {
192
+ _c = mclasstester(m.class);
193
+ if (_c) {
194
+ m.class = _c;
195
+ } else {
196
+ flag2.snv.badlines.push([linei, "wrong mutation class: " + m.class, lst]);
197
+ return;
198
+ }
199
+ }
200
+ if (parsesample(m, flag2, linei, lst, flag2.snv.badlines)) {
201
+ return;
202
+ }
203
+ if (!m.chr) {
204
+ flag2.snv.badlines.push([linei, "missing chromosome", lst]);
205
+ return;
206
+ }
207
+ if (m.chr.toLowerCase().indexOf("chr") != 0) {
208
+ m.chr = "chr" + m.chr;
209
+ }
210
+ if (!m.pos) {
211
+ flag2.snv.badlines.push([linei, "missing chromosome position", lst]);
212
+ return;
213
+ }
214
+ const v = Number.parseInt(m.pos);
215
+ if (Number.isNaN(v)) {
216
+ flag2.snv.badlines.push([linei, "invalid chromosome position", lst]);
217
+ return;
218
+ }
219
+ m.pos = v - 1;
220
+ if (m.maf_tumor_v2 != void 0 && m.maf_tumor_v1 != void 0) {
221
+ if (m.maf_tumor_v2 == "") {
222
+ } else {
223
+ let v1 = Number.parseInt(m.maf_tumor_v1), v2 = Number.parseInt(m.maf_tumor_v2);
224
+ if (Number.isNaN(v1) || Number.isNaN(v2)) {
225
+ flag2.snv.badlines.push([
226
+ linei,
227
+ "invalid maf_tumor mutant and/or total read count",
228
+ lst
229
+ ]);
230
+ return;
231
+ }
232
+ m.maf_tumor = { f: v1 / v2, v1, v2 };
233
+ }
234
+ delete m.maf_tumor_v1;
235
+ delete m.maf_tumor_v2;
236
+ }
237
+ if (m.maf_normal_v1 != void 0 && m.maf_normal_v2 != void 0) {
238
+ if (m.maf_normal_v2 == "") {
239
+ } else {
240
+ let v1 = Number.parseInt(m.maf_normal_v1), v2 = Number.parseInt(m.maf_normal_v2);
241
+ if (Number.isNaN(v1) || Number.isNaN(v2)) {
242
+ flag2.snv.badlines.push([
243
+ linei,
244
+ "invalid maf_normal mutant and/or total read count",
245
+ lst
246
+ ]);
247
+ return;
248
+ }
249
+ m.maf_normal = { f: v1 / v2, v1, v2 };
250
+ }
251
+ delete m.maf_normal_v1;
252
+ delete m.maf_normal_v2;
253
+ }
254
+ flag2.good++;
255
+ if (m.class == "M") {
256
+ flag2.snv.missense++;
257
+ } else if (m.class == "S") {
258
+ flag2.snv.silent++;
259
+ }
260
+ const n = flag2.geneToUpper ? m.gene.toUpperCase() : m.gene;
261
+ if (!flag2.data[n]) {
262
+ flag2.data[n] = [];
263
+ }
264
+ m.dt = dtsnvindel;
265
+ flag2.data[n].push(m);
266
+ }
267
+
268
+ // ../shared/utils/src/bulk.svjson.js
269
+ function parseheader3(line, flag2) {
270
+ const header = line.toLowerCase().split(" ");
271
+ if (header.length <= 1) return "invalid file header for svjson";
272
+ const htry = (...lst) => {
273
+ for (const a of lst) {
274
+ const j = header.indexOf(a);
275
+ if (j != -1) return j;
276
+ }
277
+ return -1;
278
+ };
279
+ let i = htry("sample");
280
+ if (i != -1) header[i] = "sample";
281
+ i = htry("sampletype");
282
+ if (i != -1) header[i] = "sampletype";
283
+ i = htry("patient");
284
+ if (i != -1) header[i] = "patient";
285
+ i = htry("json", "jsontext");
286
+ if (i == -1) return ["json missing from header"];
287
+ header[i] = "jsontext";
288
+ return [null, header];
289
+ }
290
+ function parseline3(i, line, flag2, header) {
291
+ if (line == "" || line[0] == "#") return;
292
+ const lst = line.split(" ");
293
+ const m = {};
294
+ const badlines = flag2.svjson.badlines;
295
+ for (let j = 0; j < header.length; j++) {
296
+ m[header[j]] = lst[j];
297
+ }
298
+ if (!m.jsontext) {
299
+ badlines.push([i, "missing jsontext", lst]);
300
+ return;
301
+ }
302
+ if (parsesample(m, flag2, i, lst, badlines)) {
303
+ return;
304
+ }
305
+ let json;
306
+ try {
307
+ json = JSON.parse(m.jsontext);
308
+ } catch (e) {
309
+ badlines.push([i, "invalid JSON text", lst]);
310
+ return;
311
+ }
312
+ if (Array.isArray(json)) {
313
+ for (const pair of json) {
314
+ if (pair.a && pair.a.name && pair.a.isoform) {
315
+ flag2.good++;
316
+ const m2 = {
317
+ dt: dtfusionrna,
318
+ class: mclassfusionrna,
319
+ isoform: pair.a.isoform,
320
+ mname: pair.b.name
321
+ };
322
+ for (const k in m) {
323
+ if (k != "jsontext") m2[k] = m[k];
324
+ }
325
+ m2.pairlst = duplicate(json);
326
+ const n = pair.a.name.toUpperCase();
327
+ if (!flag2.data[n]) {
328
+ flag2.data[n] = [];
329
+ }
330
+ flag2.data[n].push(m2);
331
+ }
332
+ if (pair.b && pair.b.name && pair.b.isoform) {
333
+ flag2.good++;
334
+ const m2 = {
335
+ dt: dtfusionrna,
336
+ class: mclassfusionrna,
337
+ isoform: pair.b.isoform,
338
+ mname: pair.a.name
339
+ };
340
+ for (const k in m) {
341
+ if (k != "jsontext") m2[k] = m[k];
342
+ }
343
+ m2.pairlst = duplicate(json);
344
+ const n = pair.b.name.toUpperCase();
345
+ if (!flag2.data[n]) {
346
+ flag2.data[n] = [];
347
+ }
348
+ flag2.data[n].push(m2);
349
+ }
350
+ }
351
+ } else {
352
+ json.dt = json.typecode;
353
+ delete json.typecode;
354
+ switch (json.dt) {
355
+ case dtitd:
356
+ json.class = mclassitd;
357
+ json.mname = "ITD";
358
+ break;
359
+ case dtnloss:
360
+ json.class = mclassnloss;
361
+ json.mname = "N-loss";
362
+ break;
363
+ case dtcloss:
364
+ json.class = mclasscloss;
365
+ json.mname = "C-loss";
366
+ break;
367
+ case dtdel:
368
+ json.class = mclassdel;
369
+ json.mname = "Del";
370
+ break;
371
+ case dtsv:
372
+ json.class = mclasssv;
373
+ json.mname = "SV";
374
+ break;
375
+ default:
376
+ badlines.push([i, "unknown datatype", lst]);
377
+ return;
378
+ }
379
+ if (!json.gene) {
380
+ badlines.push([i, "json.gene missing", lst]);
381
+ return;
382
+ }
383
+ flag2.good++;
384
+ for (const k in m) {
385
+ if (k != "jsontext") {
386
+ json[k] = m[k];
387
+ }
388
+ }
389
+ const n = flag2.geneToUpper ? json.gene.toUpperCase() : json.gene.toUpperCase();
390
+ if (!flag2.data[n]) {
391
+ flag2.data[n] = [];
392
+ }
393
+ flag2.data[n].push(json);
394
+ }
395
+ }
396
+ function duplicate(lst) {
397
+ const d = [];
398
+ for (const pair of lst) {
399
+ const p = { a: {}, b: {} };
400
+ for (const k in pair) {
401
+ if (k != "a" && k != "b") p[k] = pair[k];
402
+ }
403
+ for (const k in pair.a) {
404
+ p.a[k] = pair.a[k];
405
+ }
406
+ for (const k in pair.b) {
407
+ p.b[k] = pair.b[k];
408
+ }
409
+ d.push(p);
410
+ }
411
+ return d;
412
+ }
413
+
414
+ // ../shared/utils/src/bulk.cnv.js
415
+ function parseheader4(line, flag2) {
416
+ const header = line.toLowerCase().split(" ");
417
+ if (header.length <= 1) return "invalid file header for CNV";
418
+ const htry = (...lst) => {
419
+ for (const i2 of lst) {
420
+ const j = header.indexOf(i2);
421
+ if (j != -1) return j;
422
+ }
423
+ return -1;
424
+ };
425
+ let i = htry("gene");
426
+ if (i == -1) return "gene missing from header";
427
+ header[i] = "gene";
428
+ i = htry("cnv");
429
+ if (i == -1) return "CNV missing from header";
430
+ header[i] = "cnv";
431
+ i = htry("sample", "sample_name", "tumor_sample_barcode");
432
+ if (i != -1) header[i] = "sample";
433
+ i = htry("patient", "donor", "target_case_id");
434
+ if (i != -1) header[i] = "patient";
435
+ i = htry("disease");
436
+ if (i != -1) header[i] = "disease";
437
+ i = htry("origin");
438
+ if (i != -1) header[i] = "origin";
439
+ i = htry("sampletype", "sample type", "sample_type");
440
+ if (i != -1) header[i] = "sampletype";
441
+ flag2.cnv.header = header;
442
+ flag2.cnv.loaded = true;
443
+ return false;
444
+ }
445
+ function parseline4(i, line, flag2) {
446
+ if (line == "" || line[0] == "#") return;
447
+ const lst = line.split(" ");
448
+ const m = {};
449
+ for (let j = 0; j < flag2.cnv.header.length; j++) {
450
+ m[flag2.cnv.header[j]] = lst[j];
451
+ }
452
+ if (!m.gene) {
453
+ flag2.cnv.badlines.push([i, "missing gene", lst]);
454
+ return;
455
+ }
456
+ if (!m.cnv) {
457
+ flag2.cnv.badlines.push([i, "missing cnv value", lst]);
458
+ return;
459
+ }
460
+ const value = m.cnv.toLowerCase();
461
+ switch (value) {
462
+ case "amplification":
463
+ case "gain":
464
+ m.class = mclasscnvgain;
465
+ break;
466
+ case "deletion":
467
+ case "loss":
468
+ m.class = mclasscnvloss;
469
+ break;
470
+ case "loh":
471
+ m.class = mclasscnvloh;
472
+ break;
473
+ default:
474
+ flag2.cnv.badlines.push([i, "invalid cnv value: " + m.cnv, lst]);
475
+ m.class = null;
476
+ }
477
+ if (!m.class) {
478
+ return;
479
+ }
480
+ if (parsesample(m, flag2, i, lst, flag2.cnv.badlines)) {
481
+ return;
482
+ }
483
+ m.dt = dtcnv;
484
+ flag2.good++;
485
+ const n = flag2.geneToUpper ? m.gene.toUpperCase() : m.gene;
486
+ if (!(n in flag2.data)) {
487
+ flag2.data[n] = [];
488
+ }
489
+ flag2.data[n].push(m);
490
+ }
491
+
492
+ // ../shared/utils/src/bulk.itd.js
493
+ function parseheader5(line, flag2) {
494
+ const header = line.toLowerCase().split(" ");
495
+ if (header.length <= 1) return "invalid header line for ITD";
496
+ const htry = (...lst) => {
497
+ for (const i2 of lst) {
498
+ const j = header.indexOf(i2);
499
+ if (j != -1) return j;
500
+ }
501
+ return -1;
502
+ };
503
+ let i = htry("gene");
504
+ if (i == -1) return "gene missing from header";
505
+ header[i] = "gene";
506
+ i = htry(
507
+ "annovar_isoform",
508
+ "mrna_accession",
509
+ "mrna accession",
510
+ "refseq_mrna_id",
511
+ "annovar_sj_filter_isoform",
512
+ "refseq",
513
+ "isoform"
514
+ );
515
+ if (i == -1) return "isoform missing from header";
516
+ header[i] = "isoform";
517
+ i = htry("rnaposition");
518
+ if (i != -1) {
519
+ header[i] = "rnaposition";
520
+ i = htry("rnaduplength");
521
+ if (i == -1) return "rnaduplength is required when rnaposition is present";
522
+ header[i] = "rnaduplength";
523
+ }
524
+ i = htry("chromosome", "chr");
525
+ if (i != -1) {
526
+ header[i] = "chr";
527
+ i = htry("chr_start");
528
+ if (i == -1) return "chr_start is required when chr is present";
529
+ header[i] = "chrpos1";
530
+ i = htry("chr_stop");
531
+ if (i == -1) return "chr_stop is required when chr is present";
532
+ header[i] = "chrpos2";
533
+ }
534
+ i = htry("sample", "sample_name", "tumor_sample_barcode");
535
+ if (i != -1) header[i] = "sample";
536
+ i = htry("patient", "donor", "target_case_id");
537
+ if (i != -1) header[i] = "patient";
538
+ i = htry("disease");
539
+ if (i != -1) header[i] = "disease";
540
+ i = htry("origin");
541
+ if (i != -1) header[i] = "origin";
542
+ i = htry("sampletype", "sample type", "sample_type");
543
+ if (i != -1) header[i] = "sampletype";
544
+ flag2.itd.header = header;
545
+ flag2.itd.loaded = true;
546
+ return false;
547
+ }
548
+ function parseline5(i, line, flag2) {
549
+ if (line == "" || line[0] == "#") return;
550
+ const lst = line.split(" ");
551
+ const m = {};
552
+ for (let j = 0; j < flag2.itd.header.length; j++) {
553
+ if (lst[j] == void 0) break;
554
+ m[flag2.itd.header[j]] = lst[j];
555
+ }
556
+ if (!m.gene) {
557
+ flag2.itd.badlines.push([i, "missing gene", lst]);
558
+ return;
559
+ }
560
+ if (m.rnaposition) {
561
+ let v = Number.parseInt(m.rnaposition);
562
+ if (Number.isNaN(v) || v < 0) {
563
+ flag2.itd.badlines.push([i, "invalid rnaPosition value", lst]);
564
+ return;
565
+ }
566
+ m.rnaposition = v;
567
+ if (!m.rnaduplength) {
568
+ flag2.itd.badlines.push([i, "missing rnaDuplength value", lst]);
569
+ return;
570
+ }
571
+ v = Number.parseInt(m.rnaduplength);
572
+ if (Number.isNaN(v) || v < 0) {
573
+ flag2.itd.badlines.push([i, "invalid rnaDuplength value", lst]);
574
+ return;
575
+ }
576
+ m.rnaduplength = v;
577
+ }
578
+ if (m.chr) {
579
+ let v = Number.parseInt(m.chrpos1);
580
+ if (Number.isNaN(v) || v < 0) {
581
+ flag2.itd.badlines.push([i, "invalid chr_start value", lst]);
582
+ return;
583
+ }
584
+ m.chrpos1 = v;
585
+ v = Number.parseInt(m.chrpos2);
586
+ if (Number.isNaN(v) || v < 0) {
587
+ flag2.itd.badlines.push([i, "invalid chr_stop value", lst]);
588
+ return;
589
+ }
590
+ m.chrpos2 = v;
591
+ }
592
+ if (parsesample(m, flag2, i, lst, flag2.itd.badlines)) {
593
+ return;
594
+ }
595
+ m.dt = dtitd;
596
+ m.class = mclassitd;
597
+ m.mname = "ITD";
598
+ flag2.good++;
599
+ var n = flag2.geneToUpper ? m.gene.toUpperCase() : m.gene;
600
+ if (!(n in flag2.data)) {
601
+ flag2.data[n] = [];
602
+ }
603
+ flag2.data[n].push(m);
604
+ }
605
+
606
+ // ../shared/utils/src/bulk.del.js
607
+ function parseheader6(line, flag2) {
608
+ const header = line.toLowerCase().split(" ");
609
+ if (header.length <= 1) return "invalid header line for intragenic deletion";
610
+ const htry = (...lst) => {
611
+ for (const i2 of lst) {
612
+ const j = header.indexOf(i2);
613
+ if (j != -1) return j;
614
+ }
615
+ return -1;
616
+ };
617
+ let i = htry("gene");
618
+ if (i == -1) return "gene missing from header";
619
+ header[i] = "gene";
620
+ i = htry(
621
+ "annovar_isoform",
622
+ "mrna_accession",
623
+ "mrna accession",
624
+ "refseq_mrna_id",
625
+ "annovar_sj_filter_isoform",
626
+ "refseq",
627
+ "isoform"
628
+ );
629
+ if (i == -1) return "isoform missing from header";
630
+ header[i] = "isoform";
631
+ i = htry("rnaposition");
632
+ if (i != -1) {
633
+ header[i] = "rnaposition";
634
+ i = htry("rnadellength");
635
+ if (i == -1) return "rnadellength is required when rnaPosition is used";
636
+ header[i] = "rnadellength";
637
+ }
638
+ i = htry("chromosome", "chr");
639
+ if (i != -1) {
640
+ header[i] = "chr";
641
+ i = htry("chr_start");
642
+ if (i == -1) return "chr_start is required when chr is used";
643
+ header[i] = "chrpos1";
644
+ i = htry("chr_stop");
645
+ if (i == -1) return "chr_stop is required when chr is used";
646
+ header[i] = "chrpos2";
647
+ }
648
+ i = htry("sample", "sample_name", "tumor_sample_barcode");
649
+ if (i != -1) header[i] = "sample";
650
+ i = htry("patient", "donor", "target_case_id");
651
+ if (i != -1) header[i] = "patient";
652
+ i = htry("disease");
653
+ if (i != -1) header[i] = "disease";
654
+ i = htry("origin");
655
+ if (i != -1) header[i] = "origin";
656
+ i = htry("sampletype", "sample type", "sample_type");
657
+ if (i != -1) header[i] = "sampletype";
658
+ flag2.del.header = header;
659
+ flag2.del.loaded = true;
660
+ return false;
661
+ }
662
+ function parseline6(i, line, flag2) {
663
+ if (line == "" || line[0] == "#") return;
664
+ const lst = line.split(" ");
665
+ const m = {};
666
+ for (let j = 0; j < flag2.del.header.length; j++) {
667
+ if (lst[j] == void 0) break;
668
+ m[flag2.del.header[j]] = lst[j];
669
+ }
670
+ if (!m.gene) {
671
+ flag2.del.badlines.push([i, "missing gene", lst]);
672
+ return;
673
+ }
674
+ if (m.rnaposition) {
675
+ let v = Number.parseInt(m.rnaposition);
676
+ if (Number.isNaN(v) || v < 0) {
677
+ flag2.del.badlines.push([i, "invalid rnaPosition value", lst]);
678
+ return;
679
+ }
680
+ m.rnaposition = v;
681
+ if (!m.rnadellength) {
682
+ flag2.del.badlines.push([i, "missing rnaDellength value", lst]);
683
+ return;
684
+ }
685
+ v = Number.parseInt(m.rnadellength);
686
+ if (Number.isNaN(v) || v < 0) {
687
+ flag2.del.badlines.push([i, "invalid rnaDellength value", lst]);
688
+ return;
689
+ }
690
+ m.rnadellength = v;
691
+ }
692
+ if (m.chr) {
693
+ let v = Number.parseInt(m.chrpos1);
694
+ if (Number.isNaN(v) || v < 0) {
695
+ flag2.del.badlines.push([i, "invalid chr_start value", lst]);
696
+ return;
697
+ }
698
+ m.chrpos1 = v;
699
+ v = Number.parseInt(m.chrpos2);
700
+ if (Number.isNaN(v) || v < 0) {
701
+ flag2.del.badlines.push([i, "invalid chr_stop value", lst]);
702
+ return;
703
+ }
704
+ m.chrpos2 = v;
705
+ }
706
+ if (parsesample(m, flag2, i, lst, flag2.del.badlines)) {
707
+ return;
708
+ }
709
+ m.dt = dtdel;
710
+ m.class = mclassdel;
711
+ m.mname = "DEL";
712
+ flag2.good++;
713
+ var n = flag2.geneToUpper ? m.gene.toUpperCase() : m.gene;
714
+ if (!(n in flag2.data)) {
715
+ flag2.data[n] = [];
716
+ }
717
+ flag2.data[n].push(m);
718
+ }
719
+
720
+ // ../shared/utils/src/bulk.trunc.js
721
+ function parseheader7(line, flag2) {
722
+ const header = line.toLowerCase().split(" ");
723
+ if (header.length <= 1) return "invalid header line for truncation";
724
+ const htry = (...lst) => {
725
+ for (const e of lst) {
726
+ const j = header.indexOf(e);
727
+ if (j != -1) return j;
728
+ }
729
+ return -1;
730
+ };
731
+ let i = htry("gene");
732
+ if (i == -1) return "gene missing from header";
733
+ header[i] = "gene";
734
+ i = htry(
735
+ "annovar_isoform",
736
+ "mrna_accession",
737
+ "mrna accession",
738
+ "refseq_mrna_id",
739
+ "annovar_sj_filter_isoform",
740
+ "refseq",
741
+ "isoform"
742
+ );
743
+ if (i == -1) return "isoform missing from header";
744
+ header[i] = "isoform";
745
+ let hasrnapos = false;
746
+ i = htry("rnaposition");
747
+ if (i != -1) {
748
+ header[i] = "rnaposition";
749
+ hasrnapos = true;
750
+ }
751
+ i = htry("losstype");
752
+ if (i == -1) return "lossType missing from header";
753
+ header[i] = "losstype";
754
+ let hasgenomic = false;
755
+ i = htry("chromosome", "chr");
756
+ if (i != -1) {
757
+ header[i] = "chr";
758
+ i = htry(
759
+ "start",
760
+ "start_position",
761
+ "wu_hg19_pos",
762
+ "chr_position",
763
+ "position"
764
+ );
765
+ if (i == -1) {
766
+ return "genomic position missing from header";
767
+ }
768
+ header[i] = "pos";
769
+ hasgenomic = true;
770
+ }
771
+ if (!hasrnapos && !hasgenomic) {
772
+ return "neither rnaposition nor genomic position is given";
773
+ }
774
+ i = htry("sample", "sample_name", "tumor_sample_barcode");
775
+ if (i != -1) header[i] = "sample";
776
+ i = htry("patient", "donor", "target_case_id");
777
+ if (i != -1) header[i] = "patient";
778
+ i = htry("disease");
779
+ if (i != -1) header[i] = "disease";
780
+ i = htry("origin");
781
+ if (i != -1) header[i] = "origin";
782
+ i = htry("sampletype", "sample type", "sample_type");
783
+ if (i != -1) header[i] = "sampletype";
784
+ flag2.truncation.header = header;
785
+ flag2.truncation.loaded = true;
786
+ return false;
787
+ }
788
+ function parseline7(i, line, flag2) {
789
+ if (line == "" || line[0] == "#") return;
790
+ const lst = line.split(" ");
791
+ const m = {};
792
+ for (let j = 0; j < flag2.truncation.header.length; j++) {
793
+ m[flag2.truncation.header[j]] = lst[j];
794
+ }
795
+ if (!m.gene) {
796
+ flag2.truncation.badlines.push([i, "missing gene", lst]);
797
+ return;
798
+ }
799
+ if (m.rnaposition) {
800
+ const v = Number.parseInt(m.rnaposition);
801
+ if (Number.isNaN(v) || v < 0) {
802
+ flag2.truncation.badlines.push([i, "invalid rnaPosition value", lst]);
803
+ return;
804
+ }
805
+ m.rnaposition = v;
806
+ }
807
+ if (m.pos) {
808
+ const v = Number.parseInt(m.pos);
809
+ if (Number.isNaN(v) || v < 0) {
810
+ flag2.truncation.badlines.push([i, "invalid genomic position", lst]);
811
+ return;
812
+ }
813
+ m.pos = v;
814
+ }
815
+ if (!m.losstype) {
816
+ flag2.truncation.badlines.push([i, "missing lossType value", lst]);
817
+ return;
818
+ }
819
+ if (m.losstype != "n" && m.losstype != "c") {
820
+ flag2.truncation.badlines.push([i, 'lossType value not "n" or "c"', lst]);
821
+ return;
822
+ }
823
+ if (parsesample(m, flag2, i, lst, flag2.truncation.badlines)) {
824
+ return;
825
+ }
826
+ if (m.losstype == "n") {
827
+ m.dt = dtnloss;
828
+ m.class = mclassnloss;
829
+ m.mname = "N-loss";
830
+ } else {
831
+ m.dt = dtcloss;
832
+ m.class = mclasscloss;
833
+ m.mname = "C-loss";
834
+ }
835
+ flag2.good++;
836
+ const n = flag2.geneToUpper ? m.gene.toUpperCase() : m.gene;
837
+ if (!(n in flag2.data)) {
838
+ flag2.data[n] = [];
839
+ }
840
+ flag2.data[n].push(m);
841
+ }
842
+
843
+ // src/bulk.project.js
844
+ var schemaNames = ["heatmapJSON", "piebarJSON", "survivalJSON", "discoJSON", "riverJSON"];
845
+ var typeIndex = {
846
+ snvindel: 0,
847
+ si: 0,
848
+ sv: 1,
849
+ fusion: 2,
850
+ itd: 3,
851
+ deletion: 4,
852
+ truncation: 5,
853
+ cnv: 6
854
+ };
855
+ var urlProjectLoaded = false;
856
+ var ProjectHandler = class {
857
+ /*
858
+ Create a handler for multiple uploaded or fetched
859
+ files in a project
860
+
861
+ bt = {
862
+ flag: closured flag inside bulkui.bulkui,
863
+ bulkin: bulkui.bulkin,
864
+ content2flag: bulkui.content2flag,
865
+ flag2tp: closured flat2tp,
866
+ filediv: (optional) d3-wrapped container for file-input
867
+ }
868
+ */
869
+ constructor(bt) {
870
+ this.bt = bt;
871
+ this.err = this.errHandler();
872
+ if (!urlProjectLoaded) {
873
+ const params = getParams();
874
+ if (params.project) {
875
+ this.getData(params.project);
876
+ urlProjectLoaded = true;
877
+ }
878
+ }
879
+ if (bt.filediv) {
880
+ this.projectByInput(bt.filediv);
881
+ }
882
+ }
883
+ /*
884
+ Process data files sequentially for rendering
885
+ into a TP div
886
+
887
+ data = {
888
+ schemas: object {
889
+ heatmapJSON (optional),
890
+ piebarJSON (optional),
891
+ survivalJSON (optional)
892
+ },
893
+ files: [] array of {
894
+ name: string
895
+ typeL one of the typeIndex values
896
+ content: string
897
+ }
898
+ }
899
+ */
900
+ processData(data) {
901
+ const file = data.files.pop();
902
+ const i = data.expectedFileNames.indexOf(file.name);
903
+ if (i == -1) {
904
+ if (data.files.length)
905
+ setTimeout(() => {
906
+ this.processData(data);
907
+ }, 1);
908
+ return;
909
+ }
910
+ data.expectedFileNames.splice(i, 1);
911
+ this.cohort = {
912
+ name: "project",
913
+ genome: this.bt.genomes[this.bt.gselect.options[this.bt.gselect.selectedIndex].innerHTML]
914
+ };
915
+ if (!this.flag) {
916
+ this.flag = this.bt.init_bulk_flag(this.cohort.genome);
917
+ }
918
+ const error = this.bt.content2flag(file.content, file.type, this.flag);
919
+ if (error) {
920
+ this.err(error);
921
+ this.processData(data);
922
+ } else if (!data.files.length) {
923
+ if (data.expectedFileNames.length) {
924
+ this.err('These referenced files were not found: "' + data.expectedFileNames.join('", "') + '".');
925
+ }
926
+ this.bt.flag2tp(this.flag, { name: "project" }, Object.assign(this.cohort, data.schema), this.ds);
927
+ return;
928
+ } else {
929
+ if (!this.ds) {
930
+ for (const k in this.cohort.dsset) {
931
+ this.ds = this.cohort.dsset[k];
932
+ break;
933
+ }
934
+ }
935
+ const error1 = this.bt.bulkin(
936
+ {
937
+ flag: this.flag,
938
+ cohort: this.cohort,
939
+ flag2thisds: this.ds,
940
+ filename: "project"
941
+ },
942
+ () => {
943
+ this.processData(data);
944
+ }
945
+ );
946
+ if (error1) {
947
+ this.err("Error with " + file.name + ": " + error1);
948
+ return;
949
+ }
950
+ if (this.flag.good === 0) {
951
+ this.err(file.name + ": no data loaded");
952
+ return;
953
+ }
954
+ }
955
+ }
956
+ getData(project) {
957
+ const [projectname, _refname] = project.split("/");
958
+ const refname = _refname && _refname.trim() ? _refname.trim() : "ref.txt";
959
+ this.gettext("/data/projects/" + projectname + "/" + refname, (text) => {
960
+ const fileNameToType = {};
961
+ const nameToSchemaType = {};
962
+ const data = { schema: {}, files: [], expectedFileNames: [] };
963
+ let schemaFileName = "";
964
+ let numProcessedFiles = 0;
965
+ let numFiles = 0;
966
+ text.trim().split("\n").forEach((line) => {
967
+ const [type, filename] = line.trim().split(" ");
968
+ if (schemaNames.includes(type)) {
969
+ nameToSchemaType[filename] = type;
970
+ numFiles += 1;
971
+ } else if (!typeIndex[type] && typeIndex[type] !== 0) {
972
+ this.err("Unrecognized type " + type + " for file " + filename + " in reference.txt.");
973
+ } else {
974
+ fileNameToType[filename] = typeIndex[type];
975
+ numFiles += 1;
976
+ }
977
+ });
978
+ data.expectedFileNames = Object.keys(fileNameToType);
979
+ const tracker = this.getTracker(numFiles, () => this.processData(data));
980
+ Object.keys(nameToSchemaType).forEach((filename) => {
981
+ this.getjson("/data/projects/" + projectname + "/" + filename, (json) => {
982
+ data.schema[nameToSchemaType[filename]] = json;
983
+ tracker();
984
+ });
985
+ });
986
+ Object.keys(fileNameToType).forEach((filename) => {
987
+ this.gettext("/data/projects/" + projectname + "/" + filename, (text2) => {
988
+ data.files.push({
989
+ name: filename,
990
+ type: fileNameToType[filename],
991
+ content: text2
992
+ });
993
+ tracker();
994
+ });
995
+ });
996
+ });
997
+ }
998
+ gettext(url, callback) {
999
+ fetch(url).then((response) => {
1000
+ if (response.ok) return response.text();
1001
+ else this.err("File request error: " + url);
1002
+ }).then(callback).catch((error) => this.err("File request error: " + url + " " + error));
1003
+ }
1004
+ getjson(url, callback) {
1005
+ fetch(url).then((response) => {
1006
+ if (response.ok) return response.json();
1007
+ else this.err("Network error for " + url);
1008
+ }).then(callback).catch((error) => this.err("file request error: " + url + " " + error));
1009
+ }
1010
+ getTracker(numFiles, callback) {
1011
+ let numProcessedFiles = 0;
1012
+ return function tracker() {
1013
+ numProcessedFiles += 1;
1014
+ if (numProcessedFiles == numFiles) {
1015
+ callback();
1016
+ }
1017
+ };
1018
+ }
1019
+ projectByInput(filediv) {
1020
+ this.tp = null;
1021
+ const advancedDiv = filediv.append("div");
1022
+ advancedDiv.append("span").html("Project: reference &nbsp;");
1023
+ this.refNameInput = advancedDiv.append("input").attr("type", "text").property("value", "ref.txt").style("margin-right", "20px").style("padding-left", "7px");
1024
+ const buttlabel = advancedDiv.append("label").attr("for", "sja-pp-bulk-ui-project-btn").attr("class", "sja_btn").style("padding", "3px 5px").html("Choose folder");
1025
+ const butt = advancedDiv.append("input").attr("type", "file").attr("id", "sja-pp-bulk-ui-project-btn").property("multiple", true).property("webkitdirectory", true).property("directory", true).on("change", (event) => this.readFiles(event));
1026
+ advancedDiv.append("div").style("margin", "10px 10px 10px 0").html(`<a href="https://docs.google.com/document/d/1wlfGzyhxFYtWu9Fyf3FK7pgvS3rVb9_vrfYUBUOUrw4/edit?usp=sharing" target="new">Project user guide</a> |
1027
+ <a href='https://proteinpaint.stjude.org/ppdemo/projects/target-tall-project/ref.txt' target=_blank>Example project reference file</a>`);
1028
+ advancedDiv.append("div").style("margin", "20px").style("width", "100%").html("-- OR --");
1029
+ }
1030
+ /* to be used as a file input (FileList) handler */
1031
+ readFiles(event) {
1032
+ const self = this;
1033
+ const refFileName = self.refNameInput.property("value");
1034
+ const files = Array.from(event.target.files);
1035
+ const ref = files.filter((f) => f.name == refFileName)[0];
1036
+ if (!ref) {
1037
+ self.err("Missing reference file='" + refFileName + "'.");
1038
+ return;
1039
+ }
1040
+ const fileNameToType = {};
1041
+ const nameToSchemaType = {};
1042
+ const data = { schema: {}, files: [], expectedFileNames: [] };
1043
+ const reader = new FileReader();
1044
+ let schemaFileName = "";
1045
+ let numProcessedFiles = 0;
1046
+ reader.onload = (event2) => {
1047
+ event2.target.result.trim().split("\n").forEach((line) => {
1048
+ const [type, filename] = line.trim().split(" ");
1049
+ if (schemaNames.includes(type)) {
1050
+ nameToSchemaType[filename] = type;
1051
+ } else if (!typeIndex[type] && typeIndex[type] !== 0) {
1052
+ self.err("Unrecognized type " + type + " for file " + filename + " in reference.txt.");
1053
+ } else {
1054
+ fileNameToType[filename] = typeIndex[type];
1055
+ }
1056
+ });
1057
+ data.expectedFileNames = Object.keys(fileNameToType);
1058
+ const schemaFiles = files.filter((file) => file.name in nameToSchemaType);
1059
+ let numProcessedSchemas = 0;
1060
+ if (!schemaFiles.length) {
1061
+ files.forEach(processFile);
1062
+ } else {
1063
+ schemaFiles.forEach((file) => {
1064
+ const reader2 = new FileReader();
1065
+ reader2.onload = (event3) => {
1066
+ const schema = JSON.parse(event3.target.result);
1067
+ numProcessedSchemas += 1;
1068
+ if (!schema) {
1069
+ self.err('Unable to parse schema file="' + file.name + '".');
1070
+ } else {
1071
+ data.schema[nameToSchemaType[file.name]] = schema;
1072
+ }
1073
+ if (numProcessedSchemas == schemaFiles.length) {
1074
+ files.forEach(processFile);
1075
+ }
1076
+ };
1077
+ reader2.onerror = () => {
1078
+ self.err("Error reading schema.txt.");
1079
+ };
1080
+ reader2.readAsText(file, "utf8");
1081
+ });
1082
+ }
1083
+ function processFile(file) {
1084
+ if (!data.expectedFileNames.includes(file.name)) {
1085
+ numProcessedFiles += 1;
1086
+ return;
1087
+ }
1088
+ if (!file) {
1089
+ self.err("Error reading file.");
1090
+ numProcessedFiles += 1;
1091
+ return;
1092
+ }
1093
+ if (file.size == 0) {
1094
+ self.err("Wrong file: " + file.name);
1095
+ numProcessedFiles += 1;
1096
+ return;
1097
+ }
1098
+ if (!fileNameToType[file.name] && fileNameToType[file.name] !== 0 && file.name != schemaFileName) {
1099
+ self.err("Missing or invalid type assigned to file " + file.name + ".");
1100
+ numProcessedFiles += 1;
1101
+ return;
1102
+ }
1103
+ const reader2 = new FileReader();
1104
+ reader2.onload = (event3) => {
1105
+ numProcessedFiles += 1;
1106
+ data.files.push({
1107
+ name: file.name,
1108
+ type: fileNameToType[file.name],
1109
+ content: event3.target.result
1110
+ });
1111
+ if (numProcessedFiles == files.length) {
1112
+ self.processData(data);
1113
+ }
1114
+ };
1115
+ reader2.onerror = () => {
1116
+ numProcessedFiles += 1;
1117
+ self.err("Error reading file " + file.name);
1118
+ if (numProcessedFiles == files.length) {
1119
+ self.processData(data);
1120
+ }
1121
+ };
1122
+ reader2.readAsText(file, "utf8");
1123
+ }
1124
+ };
1125
+ reader.onerror = () => {
1126
+ self.err("Error reading reference.txt.");
1127
+ };
1128
+ reader.readAsText(ref, "utf8");
1129
+ }
1130
+ // function to track and display accumulated error messages
1131
+ errHandler() {
1132
+ const errdiv = select_default("body").append("div");
1133
+ let mssg = "";
1134
+ return function(m) {
1135
+ if (!m) return;
1136
+ sayerror(errdiv, m);
1137
+ };
1138
+ }
1139
+ };
1140
+ function getParams() {
1141
+ const params = {};
1142
+ window.location.search.substr(1).split("&").forEach((kv) => {
1143
+ const [key, value] = kv.split("=");
1144
+ params[key] = value;
1145
+ });
1146
+ return params;
1147
+ }
1148
+
1149
+ // src/bulk.ui.js
1150
+ function bulkui(x, y, genomes, hostURL, holder, header) {
1151
+ let pane, inputdiv, gselect, filediv, saydiv, visualdiv;
1152
+ if (holder !== void 0) [inputdiv, gselect, filediv, saydiv, visualdiv] = renderSandboxFormDiv(holder, genomes);
1153
+ else {
1154
+ ;
1155
+ [pane, inputdiv, gselect, filediv, saydiv, visualdiv] = newpane3(x, y, genomes);
1156
+ pane.header.text("Load mutation from text files");
1157
+ }
1158
+ inputdiv.append("div").style("margin", "20px 0px").style("color", "#858585").html(`
1159
+ <p>Choose one file and upload to initiate the display panel.<br>From there you can add additional files.</p>
1160
+ <div>Supported data types:</div>
1161
+ <ul>
1162
+ <li>SNV and indel</li>
1163
+ <ul>
1164
+ <li><a href=https://drive.google.com/open?id=1OJ9aXq2_-a3BfIQdKLYCYzrJRTpu4_9i3gephTY-Z38 target=_blank>Format</a>,
1165
+ <a href=https://proteinpaint.stjude.org/ppdemo/hg19/heatmap/exampleFiles/example.snvindel.txt target=_blank>example file</a></li>
1166
+ </ul>
1167
+ <li>SV or fusion transcript</li>
1168
+ <ul>
1169
+ <li><a href=https://drive.google.com/open?id=1klDZ0MHVkQTW2-lCu_AvpRE4_FcbhdB-yI17wNdPaOM target=_blank>Tabular format</a>,
1170
+ <a href=https://proteinpaint.stjude.org/ppdemo/hg19/heatmap/exampleFiles/example.svfusion.txt target=_blank>example file</a>
1171
+ </li>
1172
+ <li>JSON-format, to come</li>
1173
+ </ul>
1174
+ <li>CNV, gene-level</li>
1175
+ <ul>
1176
+ <li><a href=https://drive.google.com/open?id=1WHptqOWNf96V0bYEDpj-EsKZGYnbBNc9aQIrhzdEJaU target=_blank>Format</a>,
1177
+ <a href=https://proteinpaint.stjude.org/ppdemo/hg19/heatmap/exampleFiles/example.cnv.txt target=_blank>example file</a>
1178
+ </li>
1179
+ </ul>
1180
+ <li>ITD</li>
1181
+ <ul>
1182
+ <li>Internal tandem duplication, in-frame</li>
1183
+ <li><a href=https://drive.google.com/open?id=1Bh9awBsraoHbV8iWXv_3oDeXMsjIAHaOKHr973IJyZc target=_blank>Format</a>,
1184
+ <a href=https://proteinpaint.stjude.org/ppdemo/hg19/heatmap/exampleFiles/example.itd.txt target=_blank>example file</a>
1185
+ </li>
1186
+ </ul>
1187
+ <li>Intragenic deletion, in-frame</li>
1188
+ <ul>
1189
+ <li><a href=https://drive.google.com/open?id=1tWbf3rg3BmVIZPGGPk023P0aBkDw_ry5XuZLGyGodyg target=_blank>Format</a>,
1190
+ <a href=https://proteinpaint.stjude.org/ppdemo/hg19/heatmap/exampleFiles/example.deletion.txt target=_blank>example file</a>
1191
+ </li>
1192
+ </ul>
1193
+ <li>Truncation</li>
1194
+ <ul>
1195
+ <li>Either N-terminus loss or C-terminus loss</li>
1196
+ <li><a href=https://drive.google.com/open?id=1P1g-Y8r30pSKfan1BhYZcsUtSk7wRb4plaO1S-JCJr4 target=_blank>Format</a>,
1197
+ <a href=https://proteinpaint.stjude.org/ppdemo/hg19/heatmap/exampleFiles/example.truncation.txt target=_blank>example file</a>
1198
+ </li>
1199
+ </ul>
1200
+ </ul>`);
1201
+ const fileui = () => {
1202
+ filediv.selectAll("*").remove();
1203
+ new ProjectHandler({
1204
+ bulkin,
1205
+ genomes,
1206
+ gselect,
1207
+ content2flag,
1208
+ flag2tp,
1209
+ filediv,
1210
+ init_bulk_flag
1211
+ });
1212
+ filediv.append("span").html("Select data type&nbsp;");
1213
+ const typeselect = filetypeselect(filediv).style("margin-right", "20px");
1214
+ const butt = filediv.append("input").attr("type", "file").on("change", (event) => {
1215
+ const flag2 = init_bulk_flag(genomes[gselect.options[gselect.selectedIndex].innerHTML]);
1216
+ flag2.geneToUpper = geneToUpper.property("checked");
1217
+ saydiv.text("");
1218
+ const file = event.target.files[0];
1219
+ if (!file) {
1220
+ fileui();
1221
+ return;
1222
+ }
1223
+ if (file.size == 0) {
1224
+ saydiv.text("Wrong file: " + file.name);
1225
+ fileui();
1226
+ return;
1227
+ }
1228
+ const reader = new FileReader();
1229
+ reader.onload = (event2) => {
1230
+ const error = content2flag(event2.target.result, typeselect.node().selectedIndex, flag2);
1231
+ if (error) {
1232
+ saydiv.text("Error: " + error);
1233
+ fileui();
1234
+ return;
1235
+ }
1236
+ flag2tp(flag2, file);
1237
+ };
1238
+ reader.onerror = function() {
1239
+ saydiv.text("Error reading file " + file.name);
1240
+ fileui();
1241
+ return;
1242
+ };
1243
+ saydiv.text("Parsing file " + file.name + " ...");
1244
+ reader.readAsText(file, "utf8");
1245
+ });
1246
+ setTimeout(() => butt.node().focus(), 1100);
1247
+ };
1248
+ fileui();
1249
+ filediv.append("span").html("<br/>Convert gene name to uppercase &nbsp;");
1250
+ const geneToUpper = filediv.append("span").append("input").attr("type", "checkbox").property("checked", true);
1251
+ function flag2tp(flag2, file, _cohort = null, ds = null) {
1252
+ if (typeof flag2 == "string") {
1253
+ saydiv.text(flag2);
1254
+ fileui();
1255
+ return;
1256
+ }
1257
+ saydiv.text("");
1258
+ fileui();
1259
+ const cohort = _cohort ? _cohort : Object.assign({
1260
+ genome: flag2.genome,
1261
+ name: file.name
1262
+ });
1263
+ const err2 = bulkin({
1264
+ flag: flag2,
1265
+ filename: file.name,
1266
+ cohort,
1267
+ flag2thisds: ds
1268
+ });
1269
+ if (err2) {
1270
+ saydiv.text("Error with " + file.name + ": " + err2);
1271
+ return;
1272
+ }
1273
+ if (flag2.good == 0) {
1274
+ saydiv.text("No mutations can be loaded");
1275
+ return;
1276
+ }
1277
+ let visual_holder;
1278
+ if (pane) {
1279
+ disappear(pane.pane);
1280
+ const pane2 = newpane({ x: 100, y: 100, toshrink: true });
1281
+ pane2.header.html('<span style="opacity:.5">FILE</span> ' + file.name);
1282
+ visual_holder = pane2.body;
1283
+ }
1284
+ if (holder !== void 0) {
1285
+ visual_holder = visualdiv.append("div").html('<span style="opacity:.5">FILE</span> ' + file.name);
1286
+ }
1287
+ inputdiv.selectAll("*").remove();
1288
+ import("./tp.ui-WUW6A7KP.js").then((tpui) => {
1289
+ tpui.default(cohort, visual_holder, hostURL);
1290
+ });
1291
+ return cohort;
1292
+ }
1293
+ return function content2flag2tp(file, type) {
1294
+ const error = content2flag(file.content, type, flag);
1295
+ if (error) {
1296
+ saydiv.text("Error: " + error);
1297
+ fileui();
1298
+ return;
1299
+ }
1300
+ flag2tp(flag, file);
1301
+ };
1302
+ }
1303
+ function content2flag(text, type, flag2) {
1304
+ if (!flag2) return "should not happen!";
1305
+ let err2;
1306
+ switch (type) {
1307
+ case 0:
1308
+ err2 = parse_snvindel(text, flag2);
1309
+ if (err2) return err2;
1310
+ break;
1311
+ case 1:
1312
+ err2 = parse_sv(text, flag2, true);
1313
+ if (err2) return err2;
1314
+ break;
1315
+ case 2:
1316
+ err2 = parse_sv(text, flag2, false);
1317
+ if (err2) return err2;
1318
+ break;
1319
+ case 3:
1320
+ err2 = parse_itd(text, flag2);
1321
+ if (err2) return err2;
1322
+ break;
1323
+ case 4:
1324
+ err2 = parse_del(text, flag2);
1325
+ if (err2) return err2;
1326
+ break;
1327
+ case 5:
1328
+ err2 = parse_trunc(text, flag2);
1329
+ if (err2) return err2;
1330
+ break;
1331
+ case 6:
1332
+ err2 = parse_cnv(text, flag2);
1333
+ if (err2) return err2;
1334
+ break;
1335
+ default:
1336
+ return "unknown option array index from file type <select>: " + type;
1337
+ }
1338
+ }
1339
+ function bulkin(p, callback = null) {
1340
+ const flag2 = p.flag;
1341
+ const cohort = p.cohort;
1342
+ if (!cohort.p2st) {
1343
+ cohort.p2st = {};
1344
+ }
1345
+ if (!cohort.dsset) {
1346
+ cohort.dsset = {};
1347
+ }
1348
+ if (!cohort.assaylst) {
1349
+ cohort.assaylst = [];
1350
+ }
1351
+ if (flag2.variantgene) {
1352
+ if (cohort.variantgene) {
1353
+ return "variantgene already set for this cohort";
1354
+ }
1355
+ cohort.variantgene = flag2.variantgene;
1356
+ }
1357
+ if (flag2.snv.badlines.length > 0) {
1358
+ bulk_badline(flag2.snv.header, flag2.snv.badlines);
1359
+ }
1360
+ if (flag2.fusion.badlines.length > 0) {
1361
+ bulk_badline(flag2.fusion.header, flag2.fusion.badlines);
1362
+ }
1363
+ if (flag2.sv.badlines.length > 0) {
1364
+ bulk_badline(flag2.sv.header, flag2.sv.badlines);
1365
+ }
1366
+ if (flag2.cnv.badlines.length > 0) {
1367
+ bulk_badline(flag2.cnv.header, flag2.cnv.badlines);
1368
+ }
1369
+ if (flag2.itd.badlines.length > 0) {
1370
+ bulk_badline(flag2.itd.header, flag2.itd.badlines);
1371
+ }
1372
+ if (flag2.del.badlines.length > 0) {
1373
+ bulk_badline(flag2.del.header, flag2.del.badlines);
1374
+ }
1375
+ if (flag2.truncation.badlines.length > 0) {
1376
+ bulk_badline(flag2.truncation.header, flag2.truncation.badlines);
1377
+ }
1378
+ if (flag2.good == 0) {
1379
+ return false;
1380
+ }
1381
+ const tmp = {};
1382
+ let hastumormaf = false;
1383
+ if (flag2.snv.loaded) {
1384
+ for (const i of flag2.snv.header) {
1385
+ tmp[i] = 1;
1386
+ }
1387
+ if ("maf_tumor_v1" in tmp && "maf_tumor_v2" in tmp) {
1388
+ hastumormaf = true;
1389
+ }
1390
+ }
1391
+ if (flag2.cnv.loaded) {
1392
+ for (const i of flag2.cnv.header) {
1393
+ tmp[i] = 1;
1394
+ }
1395
+ }
1396
+ if (flag2.fusion.loaded) {
1397
+ for (const i of flag2.fusion.header) {
1398
+ tmp[i] = 1;
1399
+ }
1400
+ }
1401
+ if (flag2.sv.loaded) {
1402
+ for (const i of flag2.sv.header) {
1403
+ tmp[i] = 1;
1404
+ }
1405
+ }
1406
+ if (flag2.itd.loaded) {
1407
+ for (const i of flag2.itd.header) {
1408
+ tmp[i] = 1;
1409
+ }
1410
+ }
1411
+ if (flag2.del.loaded) {
1412
+ for (const i of flag2.del.header) {
1413
+ tmp[i] = 1;
1414
+ }
1415
+ }
1416
+ if (flag2.truncation.loaded) {
1417
+ for (const i of flag2.truncation.header) {
1418
+ tmp[i] = 1;
1419
+ }
1420
+ }
1421
+ const hassample = "sample" in tmp || "patient" in tmp;
1422
+ const hasdisease = "disease" in tmp;
1423
+ const hasst = "sampletype" in tmp;
1424
+ let dsc;
1425
+ if (p.flag2thisds) {
1426
+ dsc = p.flag2thisds;
1427
+ if (hassample && !dsc.hassample) {
1428
+ return '"sample" column found in new data but not in existing data';
1429
+ }
1430
+ if (!hassample && dsc.hassample) {
1431
+ return '"sample" column found in existing data but not in new data';
1432
+ }
1433
+ if (hasdisease && !dsc.hasdisease) {
1434
+ return '"disease" column found in new data but not in existing data';
1435
+ }
1436
+ if (!hasdisease && dsc.hasdisease) {
1437
+ return '"disease" column found in existing data but not in new data';
1438
+ }
1439
+ if (hasst && !dsc.hasst) {
1440
+ return '"sampletype" column found in new data but not in existing data';
1441
+ }
1442
+ if (!hasst && dsc.hasst) {
1443
+ return '"sampletype" column found in existing data but not in new data';
1444
+ }
1445
+ for (const genename in flag2.data) {
1446
+ const lst = dsc.bulkdata[genename];
1447
+ if (lst) {
1448
+ dsc.bulkdata[genename] = lst.concat(flag2.data[genename]);
1449
+ } else {
1450
+ dsc.bulkdata[genename] = flag2.data[genename];
1451
+ }
1452
+ }
1453
+ } else {
1454
+ let dsname = p.filename + (flag2.tpsetname ? "_" + flag2.tpsetname : "");
1455
+ if (dsname in flag2.genome.datasets) {
1456
+ let j = 1;
1457
+ let n2 = dsname + " " + j;
1458
+ while (n2 in flag2.genome.datasets) {
1459
+ j++;
1460
+ n2 = dsname + " " + j;
1461
+ }
1462
+ dsname = n2;
1463
+ }
1464
+ dsc = {
1465
+ label: dsname,
1466
+ bulkdata: flag2.data,
1467
+ // official dataset don't have this
1468
+ hassample,
1469
+ hasdisease,
1470
+ hastumormaf,
1471
+ hasst,
1472
+ genome: cohort.genome,
1473
+ import: {},
1474
+ imported: {},
1475
+ importsilent: flag2.snv.silent == 0 ? false : flag2.snv.missense / flag2.snv.silent >= 5 ? false : true
1476
+ };
1477
+ flag2.genome.datasets[dsname] = dsc;
1478
+ cohort.dsset[dsname] = dsc;
1479
+ if (cohort.dbexpression) {
1480
+ if (cohort.dbexpression.tidy) {
1481
+ try {
1482
+ cohort.dbexpression.tidy = new Function(...cohort.dbexpression.tidy);
1483
+ } catch (e) {
1484
+ err("invalid JavaScript for dbexpression.tidy");
1485
+ delete cohort.dbexpression;
1486
+ }
1487
+ }
1488
+ dsc.dbexpression = cohort.dbexpression;
1489
+ }
1490
+ if (hasdisease) {
1491
+ dsc.stratify = [
1492
+ {
1493
+ label: "disease",
1494
+ attr1: { k: "disease", label: "disease" }
1495
+ }
1496
+ ];
1497
+ }
1498
+ }
1499
+ if (hassample) {
1500
+ for (const gene in flag2.data) {
1501
+ for (const m of flag2.data[gene]) {
1502
+ let pn = m.patient;
1503
+ if (!pn) {
1504
+ pn = m.sample;
1505
+ if (!pn) {
1506
+ continue;
1507
+ }
1508
+ }
1509
+ if (!cohort.p2st[pn]) {
1510
+ cohort.p2st[pn] = {};
1511
+ }
1512
+ let st = m.sampletype;
1513
+ if (!st) {
1514
+ st = pn;
1515
+ }
1516
+ if (!cohort.p2st[pn][st]) {
1517
+ cohort.p2st[pn][st] = {
1518
+ dsset: {},
1519
+ tktemplate: []
1520
+ };
1521
+ }
1522
+ if (!cohort.p2st[pn][st].dsset[dsc.label]) {
1523
+ cohort.p2st[pn][st].dsset[dsc.label] = [];
1524
+ }
1525
+ cohort.p2st[pn][st].dsset[dsc.label].push(m);
1526
+ }
1527
+ }
1528
+ }
1529
+ if (callback) callback();
1530
+ return false;
1531
+ }
1532
+ function bulkembed(arg) {
1533
+ if (!arg.name) arg.name = "Unnamed dataset";
1534
+ let holder = arg.holder;
1535
+ if (!holder) {
1536
+ const pane = newpane({ x: 100, y: 100 });
1537
+ holder = pane.body;
1538
+ }
1539
+ const saydiv = holder.append("div");
1540
+ new Promise((resolve, reject) => {
1541
+ const cohort = {
1542
+ dsset: {}
1543
+ };
1544
+ for (const k in arg) {
1545
+ if (k == "snvindel" || k == "svjson" || k == "cnv" || k == "sv" || k == "mutationset") {
1546
+ continue;
1547
+ }
1548
+ cohort[k] = arg[k];
1549
+ }
1550
+ resolve(cohort);
1551
+ }).then((cohort) => {
1552
+ if (!arg.snvindel && !arg.svjson && !arg.cnv && !arg.sv) return cohort;
1553
+ const flag2 = init_bulk_flag(cohort.genome);
1554
+ if (arg.snvindel) {
1555
+ const e = parse_snvindel(arg.snvindel, flag2);
1556
+ if (e) throw { message: "error in snvindel data: " + e };
1557
+ delete arg.snvindel;
1558
+ }
1559
+ if (arg.svjson) {
1560
+ const e = parse_svjson(arg.svjson, flag2);
1561
+ if (e) throw { message: "error in svjson data: " + e };
1562
+ delete arg.svjson;
1563
+ }
1564
+ if (arg.sv) {
1565
+ const e = parse_sv(arg.sv, flag2);
1566
+ if (e) throw { message: "error in svjson data: " + e };
1567
+ delete arg.sv;
1568
+ }
1569
+ if (arg.cnv) {
1570
+ const e = parse_cnv(arg.cnv, flag2);
1571
+ if (e) throw { message: "error in cnv data: " + e };
1572
+ delete arg.cnv;
1573
+ }
1574
+ const err2 = bulkin({
1575
+ flag: flag2,
1576
+ filename: arg.name,
1577
+ cohort
1578
+ });
1579
+ if (err2) throw { message: "Error parsing data: " + err2 };
1580
+ return cohort;
1581
+ }).then((cohort) => {
1582
+ if (!arg.mutationset) return cohort;
1583
+ if (!Array.isArray(arg.mutationset)) throw { message: "mutationset is not an array" };
1584
+ const tasks2 = [];
1585
+ for (const mset of arg.mutationset) {
1586
+ const flag2 = init_bulk_flag(cohort.genome);
1587
+ const tasks = [];
1588
+ if (mset.snvindel) {
1589
+ const req = new Request(arg.hostURL + "/textfile", {
1590
+ method: "POST",
1591
+ body: '{"file":"' + mset.snvindel + '"}'
1592
+ });
1593
+ const task = fetch(req).then((data) => {
1594
+ return data.json();
1595
+ }).then((data) => {
1596
+ if (data.error) throw { message: "error with snvindel file: " + data.error };
1597
+ const e = parse_snvindel(data.text, flag2);
1598
+ if (e) throw { message: "error with snvindel file: " + e };
1599
+ });
1600
+ tasks.push(task);
1601
+ }
1602
+ if (mset.snvindel_url) {
1603
+ tasks.push(
1604
+ dofetch("urltextfile", { url: mset.snvindel_url }).then((data) => {
1605
+ if (data.error) throw { message: "cannot get snvindel file from url" };
1606
+ const e = parse_snvindel(data.text, flag2);
1607
+ if (e) throw { message: "error with snvindel file: " + e };
1608
+ })
1609
+ );
1610
+ }
1611
+ if (mset.cnv) {
1612
+ const req = new Request(arg.hostURL + "/textfile", {
1613
+ method: "POST",
1614
+ body: '{"file":"' + mset.cnv + '"}'
1615
+ });
1616
+ const task = fetch(req).then((data) => {
1617
+ return data.json();
1618
+ }).then((data) => {
1619
+ if (data.error) throw { message: "error with cnv file: " + data.error };
1620
+ const e = parse_cnv(data.text, flag2);
1621
+ if (e) throw { message: "error with cnv file: " + e };
1622
+ });
1623
+ tasks.push(task);
1624
+ }
1625
+ if (mset.cnv_url) {
1626
+ tasks.push(
1627
+ dofetch("urltextfile", { url: mset.cnv_url }).then((data) => {
1628
+ if (data.error) throw { message: "cannot get cnv file from url" };
1629
+ const e = parse_cnv(data.text, flag2);
1630
+ if (e) throw { message: "error with cnv file: " + e };
1631
+ })
1632
+ );
1633
+ }
1634
+ if (mset.sv) {
1635
+ const req = new Request(arg.hostURL + "/textfile", {
1636
+ method: "POST",
1637
+ body: '{"file":"' + mset.sv + '"}'
1638
+ });
1639
+ const task = fetch(req).then((data) => {
1640
+ return data.json();
1641
+ }).then((data) => {
1642
+ if (data.error) throw { message: "error with sv file: " + data.error };
1643
+ const e = parse_sv(data.text, flag2, true);
1644
+ if (e) throw { message: "error with sv file: " + e };
1645
+ });
1646
+ tasks.push(task);
1647
+ }
1648
+ if (mset.sv_url) {
1649
+ tasks.push(
1650
+ dofetch("urltextfile", { url: mset.sv_url }).then((data) => {
1651
+ if (data.error) throw { message: "cannot get sv file from url" };
1652
+ const e = parse_sv(data.text, flag2);
1653
+ if (e) throw { message: "error with sv file: " + e };
1654
+ })
1655
+ );
1656
+ }
1657
+ if (mset.fusion) {
1658
+ const req = new Request(arg.hostURL + "/textfile", {
1659
+ method: "POST",
1660
+ body: '{"file":"' + mset.fusion + '"}'
1661
+ });
1662
+ const task = fetch(req).then((data) => {
1663
+ return data.json();
1664
+ }).then((data) => {
1665
+ if (data.error) throw { message: "error with fusion file: " + data.error };
1666
+ const e = parse_sv(data.text, flag2, false);
1667
+ if (e) throw { message: "error with fusion file: " + e };
1668
+ });
1669
+ tasks.push(task);
1670
+ }
1671
+ if (mset.svjson) {
1672
+ const req = new Request(arg.hostURL + "/textfile", {
1673
+ method: "POST",
1674
+ body: '{"file":"' + mset.svjson + '"}'
1675
+ });
1676
+ const task = fetch(req).then((data) => {
1677
+ return data.json();
1678
+ }).then((data) => {
1679
+ if (data.error) throw { message: "error with svjson file: " + data.error };
1680
+ const e = parse_svjson(data.text, flag2, false);
1681
+ if (e) throw { message: "error with svjson file: " + e };
1682
+ });
1683
+ tasks.push(task);
1684
+ }
1685
+ if (mset.deletion) {
1686
+ const req = new Request(arg.hostURL + "/textfile", {
1687
+ method: "POST",
1688
+ body: '{"file":"' + mset.deletion + '"}'
1689
+ });
1690
+ const task = fetch(req).then((data) => {
1691
+ return data.json();
1692
+ }).then((data) => {
1693
+ if (data.error) throw { message: "error with deletion file: " + data.error };
1694
+ const e = parse_del(data.text, flag2, false);
1695
+ if (e) throw { message: "error with deletion file: " + e };
1696
+ });
1697
+ tasks.push(task);
1698
+ }
1699
+ if (mset.deletion_url) {
1700
+ tasks.push(
1701
+ dofetch("urltextfile", { url: mset.deletion_url }).then((data) => {
1702
+ if (data.error) throw { message: "cannot get deletion file from url" };
1703
+ const e = parse_del(data.text, flag2);
1704
+ if (e) throw { message: "error with deletion file: " + e };
1705
+ })
1706
+ );
1707
+ }
1708
+ if (mset.truncation) {
1709
+ const req = new Request(arg.hostURL + "/textfile", {
1710
+ method: "POST",
1711
+ body: '{"file":"' + mset.truncation + '"}'
1712
+ });
1713
+ const task = fetch(req).then((data) => {
1714
+ return data.json();
1715
+ }).then((data) => {
1716
+ if (data.error) throw { message: "error with truncation file: " + data.error };
1717
+ const e = parse_trunc(data.text, flag2, false);
1718
+ if (e) throw { message: "error with truncation file: " + e };
1719
+ });
1720
+ tasks.push(task);
1721
+ }
1722
+ if (mset.truncation_url) {
1723
+ tasks.push(
1724
+ dofetch("urltextfile", { url: mset.truncation_url }).then((data) => {
1725
+ if (data.error) throw { message: "cannot get truncation file from url" };
1726
+ const e = parse_trunc(data.text, flag2, false);
1727
+ if (e) throw { message: "error with truncation file: " + e };
1728
+ })
1729
+ );
1730
+ }
1731
+ if (mset.itd) {
1732
+ const req = new Request(arg.hostURL + "/textfile", {
1733
+ method: "POST",
1734
+ body: '{"file":"' + mset.itd + '"}'
1735
+ });
1736
+ const task = fetch(req).then((data) => {
1737
+ return data.json();
1738
+ }).then((data) => {
1739
+ if (data.error) throw { message: "error with itd file: " + data.error };
1740
+ const e = parse_itd(data.text, flag2, false);
1741
+ if (e) throw { message: "error with itd file: " + e };
1742
+ });
1743
+ tasks.push(task);
1744
+ }
1745
+ if (mset.itd_url) {
1746
+ tasks.push(
1747
+ dofetch("urltextfile", { url: mset.itd_url }).then((data) => {
1748
+ if (data.error) throw { message: "cannot get itd file from url" };
1749
+ const e = parse_itd(data.text, flag2, false);
1750
+ if (e) throw { message: "error with itd file: " + e };
1751
+ })
1752
+ );
1753
+ }
1754
+ const task2 = Promise.all(tasks).then((data) => {
1755
+ const err2 = bulkin({
1756
+ flag: flag2,
1757
+ filename: arg.name,
1758
+ cohort
1759
+ });
1760
+ if (err2) throw { message: "Error parsing data from " + mset.name + ": " + err2 };
1761
+ });
1762
+ tasks2.push(task2);
1763
+ }
1764
+ return Promise.all(tasks2).then((data) => {
1765
+ return cohort;
1766
+ });
1767
+ }).then((cohort) => {
1768
+ const err2 = tpinit(cohort);
1769
+ if (err2) throw { message: "Error parsing study: " + err2 };
1770
+ saydiv.text("");
1771
+ import("./tp.ui-WUW6A7KP.js").then((p) => {
1772
+ p.default(cohort, holder, arg.hostURL);
1773
+ });
1774
+ }).catch((err2) => {
1775
+ saydiv.text(err2.message);
1776
+ if (err2.stack) {
1777
+ console.log(err2.stack);
1778
+ }
1779
+ });
1780
+ }
1781
+ function parse_snvindel(text, flag2) {
1782
+ const lines = text.trim().split(/\r?\n/);
1783
+ let headerline = lines[0];
1784
+ let lineidx = 0;
1785
+ while (headerline[0] == "#") {
1786
+ lineidx++;
1787
+ headerline = lines[lineidx];
1788
+ }
1789
+ if (!headerline) return "no header line";
1790
+ const err2 = parseheader2(headerline, flag2);
1791
+ if (err2) return "header error: " + err2;
1792
+ for (let i = lineidx + 1; i < lines.length; i++) {
1793
+ if (lines[i] == "") continue;
1794
+ if (lines[i][0] == "#") continue;
1795
+ parseline2(i, lines[i], flag2);
1796
+ }
1797
+ }
1798
+ function parse_svjson(text, flag2) {
1799
+ const lines = text.split(/\r?\n/);
1800
+ let headerline = lines[0];
1801
+ let lineidx = 0;
1802
+ while (headerline[0] == "#") {
1803
+ lineidx++;
1804
+ headerline = lines[lineidx];
1805
+ }
1806
+ if (!headerline) return "no header line";
1807
+ const [err2, header] = parseheader3(headerline, flag2);
1808
+ if (err2) return "header error: " + err2;
1809
+ for (let i = lineidx + 1; i < lines.length; i++) {
1810
+ if (lines[i] == "") continue;
1811
+ if (lines[i][0] == "#") continue;
1812
+ parseline3(i, lines[i], flag2, header);
1813
+ }
1814
+ }
1815
+ function parse_cnv(text, flag2) {
1816
+ const lines = text.split(/\r?\n/);
1817
+ let headerline = lines[0];
1818
+ let lineidx = 0;
1819
+ while (headerline[0] == "#") {
1820
+ lineidx++;
1821
+ headerline = lines[lineidx];
1822
+ }
1823
+ if (!headerline) return "no header line";
1824
+ const err2 = parseheader4(headerline, flag2);
1825
+ if (err2) return "header error: " + err2;
1826
+ for (let i = lineidx + 1; i < lines.length; i++) {
1827
+ if (lines[i] == "") continue;
1828
+ if (lines[i][0] == "#") continue;
1829
+ parseline4(i, lines[i], flag2);
1830
+ }
1831
+ }
1832
+ function parse_itd(text, flag2) {
1833
+ const lines = text.split(/\r?\n/);
1834
+ let headerline = lines[0];
1835
+ let lineidx = 0;
1836
+ while (headerline[0] == "#") {
1837
+ lineidx++;
1838
+ headerline = lines[lineidx];
1839
+ }
1840
+ if (!headerline) return "no header line";
1841
+ const err2 = parseheader5(headerline, flag2);
1842
+ if (err2) return "header error: " + err2;
1843
+ for (let i = lineidx + 1; i < lines.length; i++) {
1844
+ if (lines[i] == "") continue;
1845
+ if (lines[i][0] == "#") continue;
1846
+ parseline5(i, lines[i], flag2);
1847
+ }
1848
+ }
1849
+ function parse_del(text, flag2) {
1850
+ const lines = text.split(/\r?\n/);
1851
+ let headerline = lines[0];
1852
+ let lineidx = 0;
1853
+ while (headerline[0] == "#") {
1854
+ lineidx++;
1855
+ headerline = lines[lineidx];
1856
+ }
1857
+ if (!headerline) return "no header line";
1858
+ const err2 = parseheader6(headerline, flag2);
1859
+ if (err2) return "header error: " + err2;
1860
+ for (let i = lineidx + 1; i < lines.length; i++) {
1861
+ if (lines[i] == "") continue;
1862
+ if (lines[i][0] == "#") continue;
1863
+ parseline6(i, lines[i], flag2);
1864
+ }
1865
+ }
1866
+ function parse_trunc(text, flag2) {
1867
+ const lines = text.split(/\r?\n/);
1868
+ let headerline = lines[0];
1869
+ let lineidx = 0;
1870
+ while (headerline[0] == "#") {
1871
+ lineidx++;
1872
+ headerline = lines[lineidx];
1873
+ }
1874
+ if (!headerline) return "no header line";
1875
+ const err2 = parseheader7(headerline, flag2);
1876
+ if (err2) return "header error: " + err2;
1877
+ for (let i = lineidx + 1; i < lines.length; i++) {
1878
+ if (lines[i] == "") continue;
1879
+ if (lines[i][0] == "#") continue;
1880
+ parseline7(i, lines[i], flag2);
1881
+ }
1882
+ }
1883
+ function parse_sv(text, flag2, isSv) {
1884
+ const lines = text.split(/\r?\n/);
1885
+ let headerline = lines[0];
1886
+ let lineidx = 0;
1887
+ while (headerline[0] == "#") {
1888
+ lineidx++;
1889
+ headerline = lines[lineidx];
1890
+ }
1891
+ if (!headerline) return "no header line";
1892
+ const err2 = parseheader(headerline, flag2, isSv);
1893
+ if (err2) return "header error: " + err2;
1894
+ for (let i = lineidx + 1; i < lines.length; i++) {
1895
+ if (lines[i] == "") continue;
1896
+ if (lines[i][0] == "#") continue;
1897
+ parseline(i, lines[i], flag2, isSv);
1898
+ }
1899
+ }
1900
+
1901
+ // src/tp.init.js
1902
+ function tpinit(cohort) {
1903
+ if (!cohort.p2st) {
1904
+ cohort.p2st = {};
1905
+ }
1906
+ if (!cohort.assays) {
1907
+ cohort.assays = [];
1908
+ }
1909
+ if (!Array.isArray(cohort.assays)) {
1910
+ return ".assays should be an array";
1911
+ }
1912
+ cohort.assaylst = [];
1913
+ let assaynum = 0;
1914
+ for (const assayname of cohort.assays) {
1915
+ const rawassay = cohort[assayname];
1916
+ if (!rawassay) {
1917
+ return 'Assay "' + assayname + '" not found in cohort';
1918
+ }
1919
+ const config = rawassay.config;
1920
+ if (!config) {
1921
+ return '.config object missing for assay "' + assayname + '"';
1922
+ }
1923
+ delete rawassay.config;
1924
+ if (!config.type) {
1925
+ return '.config.type missing for assay "' + assayname + '"';
1926
+ }
1927
+ if (config.type.toLowerCase() == "vcf") {
1928
+ config.type = tkt.ds;
1929
+ config.isvcf = true;
1930
+ } else {
1931
+ if (!validtkt(config.type)) {
1932
+ return 'unknown .config.type "' + config.type + '" for assay "' + assayname + '"';
1933
+ }
1934
+ }
1935
+ config.id = (++assaynum).toString();
1936
+ if (!config.name) {
1937
+ config.name = assayname;
1938
+ }
1939
+ if (config.type == tkt.junction) {
1940
+ if (config.readcountcutoff) {
1941
+ if (!Number.isInteger(config.readcountcutoff) || config.readcountcutoff < 0) {
1942
+ return 'invalid .config.readcountcutoff for assay "' + assayname + '"';
1943
+ }
1944
+ }
1945
+ }
1946
+ cohort.assaylst.push(config);
1947
+ for (const pn in rawassay) {
1948
+ if (!cohort.p2st[pn]) {
1949
+ cohort.p2st[pn] = {};
1950
+ }
1951
+ for (const st in rawassay[pn]) {
1952
+ if (!cohort.p2st[pn][st]) {
1953
+ cohort.p2st[pn][st] = {
1954
+ tktemplate: []
1955
+ };
1956
+ }
1957
+ if (config.type == tkt.vafs1) {
1958
+ for (const name in rawassay[pn][st]) {
1959
+ const tk = rawassay[pn][st][name];
1960
+ if (!tk.file && !tk.url) {
1961
+ return "no file or URL for " + name + " vafs1 of " + pn + ", " + st;
1962
+ }
1963
+ tk.type = tkt.vafs1;
1964
+ tk.patient = pn;
1965
+ tk.sampletype = st;
1966
+ tk.assayname = assayname;
1967
+ tk.id = config.id;
1968
+ tk.tkid = Math.random().toString();
1969
+ if (!tk.name) {
1970
+ tk.name = name + " vaf";
1971
+ }
1972
+ cohort.p2st[pn][st].tktemplate.push(tk);
1973
+ }
1974
+ continue;
1975
+ }
1976
+ let rawtklst = [];
1977
+ if (Array.isArray(rawassay[pn][st])) {
1978
+ rawtklst = rawassay[pn][st];
1979
+ } else {
1980
+ rawtklst.push(rawassay[pn][st]);
1981
+ }
1982
+ for (const _tk of rawtklst) {
1983
+ let tk = _tk;
1984
+ if (!tk.file && !tk.url) {
1985
+ return "track has no file or url (sample: " + pn + ", assay: " + assayname + ")";
1986
+ }
1987
+ if (tk.name) {
1988
+ } else if (tk.partname) {
1989
+ tk.name = pn + (st == pn ? "" : " " + st) + " " + assayname + " " + tk.partname;
1990
+ } else {
1991
+ tk.name = pn + (st == pn ? "" : " " + st) + " " + assayname;
1992
+ }
1993
+ if (config.isvcf) {
1994
+ const [err2, tk2] = vcf2dstk({
1995
+ name: tk.name,
1996
+ file: tk.file,
1997
+ url: tk.url
1998
+ });
1999
+ if (err2) {
2000
+ return "VCF track error: " + err2;
2001
+ }
2002
+ tk = tk2;
2003
+ } else {
2004
+ if (tk.type) {
2005
+ if (!validtkt(tk.type)) {
2006
+ return 'invalid track type "' + tk.type + '" (sample: ' + pn + ", assay: " + assayname + ")";
2007
+ }
2008
+ } else {
2009
+ tk.type = config.type;
2010
+ }
2011
+ }
2012
+ tk.patient = pn;
2013
+ tk.sampletype = st;
2014
+ tk.assayname = assayname;
2015
+ tk.id = config.id;
2016
+ tk.tkid = Math.random().toString();
2017
+ cohort.p2st[pn][st].tktemplate.push(tk);
2018
+ switch (config.type) {
2019
+ case tkt.bigwig:
2020
+ const e = tidy_qtk(tk, config);
2021
+ if (e) {
2022
+ return "Assay " + assayname + ": " + config.type + " track error: " + e;
2023
+ }
2024
+ break;
2025
+ case tkt.junction:
2026
+ tk.categories = config.categories;
2027
+ tk.readcountcutoff = config.readcountcutoff;
2028
+ break;
2029
+ }
2030
+ }
2031
+ }
2032
+ }
2033
+ }
2034
+ delete cohort.assays;
2035
+ {
2036
+ const err2 = cohort2genometkset(cohort);
2037
+ if (err2) {
2038
+ return "Error: " + err2;
2039
+ }
2040
+ }
2041
+ if (cohort.patientannotation) {
2042
+ const err2 = parse_patientannotation(cohort);
2043
+ if (err2) return err2;
2044
+ }
2045
+ if (cohort.browserview) {
2046
+ const err2 = parse_browserview(cohort);
2047
+ if (err2) return err2;
2048
+ }
2049
+ if (cohort.e2pca) {
2050
+ if (!cohort.e2pca.list) return ".list missing from e2pca";
2051
+ if (!Array.isArray(cohort.e2pca.list)) return "e2pca.list should be an array";
2052
+ if (cohort.e2pca.list.length == 0) return "e2pca.list[] length 0";
2053
+ if (!cohort.e2pca.label) {
2054
+ cohort.e2pca.label = "Expression - PCA";
2055
+ }
2056
+ for (const obj of cohort.e2pca.list) {
2057
+ if (!obj.vectorfile) return "vectorfile missing from e2pca";
2058
+ if (!obj.dbfile) return "dbfile missing from e2pca";
2059
+ }
2060
+ }
2061
+ return;
2062
+ }
2063
+ function loadstudycohort(genomes, file, holder, hostURL, jwt, noshow, app) {
2064
+ const wait = holder.append("div").style("color", "#858585");
2065
+ wait.text("Loading " + file + " ...");
2066
+ return fetch(hostURL + "/study", {
2067
+ method: "POST",
2068
+ body: JSON.stringify({ file, jwt })
2069
+ }).then((res) => res.json()).then((data) => {
2070
+ if (!data) {
2071
+ wait.text("Server error!");
2072
+ return;
2073
+ }
2074
+ if (data.error) {
2075
+ wait.text("Error loading study: " + data.error);
2076
+ return;
2077
+ }
2078
+ const cohort = data.cohort;
2079
+ if (!cohort) {
2080
+ wait.text(".cohort missing");
2081
+ return;
2082
+ }
2083
+ if (!cohort.genome) {
2084
+ wait.text("No genome specified in the cohort JSON content");
2085
+ return;
2086
+ }
2087
+ const g = genomes[cohort.genome];
2088
+ if (!g) {
2089
+ wait.text("Invalid genome from cohort: " + cohort.genome);
2090
+ return;
2091
+ }
2092
+ cohort.genome = g;
2093
+ cohort.jwt = jwt;
2094
+ if (!data.flagset) {
2095
+ wait.text(".flagset missing");
2096
+ return;
2097
+ }
2098
+ wait.text("");
2099
+ cohort.dsset = {};
2100
+ for (const k in data.flagset) {
2101
+ const flag2 = data.flagset[k];
2102
+ flag2.genome = g;
2103
+ bulkin({
2104
+ flag: flag2,
2105
+ filename: file,
2106
+ cohort,
2107
+ err: (m) => sayerror(wait, m)
2108
+ });
2109
+ }
2110
+ const err2 = tpinit(cohort);
2111
+ if (err2) {
2112
+ sayerror(wait, err2);
2113
+ }
2114
+ if (!noshow) {
2115
+ return import("./tp.ui-WUW6A7KP.js").then(async (p) => {
2116
+ getsjcharts().catch(console.error);
2117
+ p.default(cohort, holder, hostURL, app);
2118
+ return app;
2119
+ });
2120
+ }
2121
+ });
2122
+ }
2123
+ function tidy_qtk(tk, config) {
2124
+ if (!config) {
2125
+ config = {};
2126
+ }
2127
+ if (!tk.file && !tk.url) {
2128
+ return "no file or url";
2129
+ }
2130
+ if (!tk.pcolor) {
2131
+ tk.pcolor = config.pcolor || "#0066CC";
2132
+ }
2133
+ if (!tk.pcolor2) {
2134
+ tk.pcolor2 = config.pcolor2 || "#CC0000";
2135
+ }
2136
+ if (!tk.ncolor) {
2137
+ tk.ncolor = config.ncolor || "#FF850A";
2138
+ }
2139
+ if (!tk.ncolor2) {
2140
+ tk.ncolor2 = config.ncolor2 || "#0A85FF";
2141
+ }
2142
+ if (!tk.height) {
2143
+ tk.height = config.height || 50;
2144
+ }
2145
+ const scale = {};
2146
+ if (config.scale) {
2147
+ for (const k in config.scale) {
2148
+ scale[k] = config.scale[k];
2149
+ }
2150
+ }
2151
+ if (tk.scale) {
2152
+ for (const k in tk.scale) {
2153
+ scale[k] = tk.scale[k];
2154
+ }
2155
+ }
2156
+ scale.auto = true;
2157
+ if (Number.isFinite(scale.min) && Number.isFinite(scale.max)) {
2158
+ delete scale.auto;
2159
+ } else if (Number.isFinite(scale.percentile)) {
2160
+ delete scale.auto;
2161
+ }
2162
+ tk.scale = scale;
2163
+ }
2164
+ function cohort2genometkset(cohort) {
2165
+ const lst = [];
2166
+ for (const pn in cohort.p2st) {
2167
+ for (const st in cohort.p2st[pn]) {
2168
+ const templates = cohort.p2st[pn][st].tktemplate;
2169
+ if (!templates) continue;
2170
+ for (const t of templates) {
2171
+ lst.push(t);
2172
+ }
2173
+ }
2174
+ }
2175
+ if (cohort.browserview && cohort.browserview.assays) {
2176
+ for (const assayname in cohort.browserview.assays) {
2177
+ const assayview = cohort.browserview.assays[assayname];
2178
+ if (assayview.combined && assayview.combinetk) {
2179
+ lst.push(assayview.combinetk);
2180
+ }
2181
+ }
2182
+ }
2183
+ if (!cohort.genome.tkset) {
2184
+ cohort.genome.tkset = [];
2185
+ }
2186
+ const thisset = {
2187
+ name: cohort.name,
2188
+ tklst: lst
2189
+ };
2190
+ if (cohort.trackfacets) {
2191
+ if (!Array.isArray(cohort.trackfacets)) {
2192
+ return ".trackfacets is not an array";
2193
+ }
2194
+ const lst2 = [];
2195
+ for (const fc of cohort.trackfacets) {
2196
+ if (!fc.samples) {
2197
+ return "trackfacets: .samples missing from facet " + fc.name;
2198
+ }
2199
+ if (!Array.isArray(fc.samples)) {
2200
+ return "trackfacets: .samples is not array from facet " + fc.name;
2201
+ }
2202
+ if (!fc.assays) {
2203
+ return "trackfacets: .assays missing from a facet " + fc.name;
2204
+ }
2205
+ if (!Array.isArray(fc.assays)) {
2206
+ return "trackfacets: .assays is not array from a facet " + fc.name;
2207
+ }
2208
+ lst2.push(fc);
2209
+ }
2210
+ if (lst2.length) {
2211
+ thisset.facetlst = lst2;
2212
+ }
2213
+ }
2214
+ cohort.genome.tkset.push(thisset);
2215
+ return null;
2216
+ }
2217
+ function parse_browserview(cohort) {
2218
+ if (cohort.browserview.position) {
2219
+ let pos;
2220
+ if (typeof cohort.browserview.position == "string") {
2221
+ pos = string2pos(cohort.browserview.position, cohort.genome);
2222
+ if (!pos) {
2223
+ return ".browserview.position invalid value";
2224
+ }
2225
+ } else {
2226
+ pos = cohort.browserview.position;
2227
+ }
2228
+ const e = invalidcoord(cohort.genome, pos.chr, pos.start, pos.stop);
2229
+ if (e) {
2230
+ return ".browserview.position error: " + e;
2231
+ }
2232
+ cohort.browserview.position = pos;
2233
+ } else {
2234
+ cohort.browserview.position = {
2235
+ chr: cohort.genome.defaultcoord.chr,
2236
+ start: cohort.genome.defaultcoord.start,
2237
+ stop: cohort.genome.defaultcoord.stop
2238
+ };
2239
+ }
2240
+ if (cohort.browserview.assays) {
2241
+ for (const assayname in cohort.browserview.assays) {
2242
+ if (typeof cohort.browserview.assays[assayname] != "object") {
2243
+ cohort.browserview.assays[assayname] = {};
2244
+ }
2245
+ const assayview = cohort.browserview.assays[assayname];
2246
+ for (const a of cohort.assaylst) {
2247
+ if (a.name == assayname) {
2248
+ assayview.assayobj = a;
2249
+ break;
2250
+ }
2251
+ }
2252
+ if (!assayview.assayobj) {
2253
+ console.log("missing assayobj for assayview of " + assayname);
2254
+ continue;
2255
+ }
2256
+ if (assayview.sum_view) {
2257
+ delete assayview.sum_view;
2258
+ assayview.combined = true;
2259
+ }
2260
+ if (assayview.combined) {
2261
+ const combinetk = {};
2262
+ for (const k in assayview.assayobj) {
2263
+ combinetk[k] = assayview.assayobj[k];
2264
+ }
2265
+ for (const k in assayview) {
2266
+ if (k == "assayobj") continue;
2267
+ combinetk[k] = assayview[k];
2268
+ }
2269
+ if (!combinetk.name) {
2270
+ combinetk.name = assayname;
2271
+ }
2272
+ combinetk.tracks = [];
2273
+ for (const pn in cohort.p2st) {
2274
+ for (const st in cohort.p2st[pn]) {
2275
+ for (const t of cohort.p2st[pn][st].tktemplate) {
2276
+ if (t.id == assayview.assayobj.id) {
2277
+ t.patient = pn;
2278
+ t.sampletype = st;
2279
+ combinetk.tracks.push(t);
2280
+ }
2281
+ }
2282
+ }
2283
+ }
2284
+ if (combinetk.isvcf) {
2285
+ combinetk.ds = {
2286
+ id2vcf: {},
2287
+ label: combinetk.name
2288
+ };
2289
+ for (const t of combinetk.tracks) {
2290
+ for (const i in t.ds.id2vcf) {
2291
+ t.__vcfobj = t.ds.id2vcf[i];
2292
+ }
2293
+ combinetk.ds.id2vcf[t.__vcfobj.vcfid] = t.__vcfobj;
2294
+ }
2295
+ }
2296
+ assayview.combinetk = combinetk;
2297
+ }
2298
+ }
2299
+ }
2300
+ if (cohort.browserview.defaultassaytracks) {
2301
+ if (!Array.isArray(cohort.browserview.defaultassaytracks)) return ".browserview.defaultassaytracks must be array";
2302
+ for (let i = 0; i < cohort.browserview.defaultassaytracks.length; i++) {
2303
+ const t = cohort.browserview.defaultassaytracks[i];
2304
+ if (!t.assay) return ".assay missing from .defaultassaytracks #" + (i + 1);
2305
+ if (!cohort[t.assay]) return "unknown assay name from .defaultassaytracks #" + (i + 1) + ": " + t.assay;
2306
+ if (!t.level1) return ".level1 missing from .defaultassaytracks #" + (i + 1);
2307
+ if (!cohort[t.assay][t.level1])
2308
+ return "level1 not exist in assay from .defaultassaytracks #" + (i + 1) + ": " + t.level1;
2309
+ if (t.level2) {
2310
+ if (!cohort[t.assay][t.level1][t.level2])
2311
+ return "level2 not exist in assay from .defaultassaytracks #" + (i + 1) + ": " + t.level2;
2312
+ }
2313
+ }
2314
+ }
2315
+ return null;
2316
+ }
2317
+ function parse_patientannotation(cohort) {
2318
+ if (!cohort.patientannotation.annotation) {
2319
+ return ".patientannotation.annotation missing";
2320
+ }
2321
+ if (!cohort.patientannotation.metadata) {
2322
+ return ".patientannotation.metadata missing";
2323
+ }
2324
+ if (!Array.isArray(cohort.patientannotation.metadata)) {
2325
+ return ".patientannotation.metadata should be an array";
2326
+ }
2327
+ const mdh = {};
2328
+ for (const md of cohort.patientannotation.metadata) {
2329
+ if (md.key == void 0) {
2330
+ return "patientannotation: key missing for a metadata term";
2331
+ }
2332
+ if (!md.values) {
2333
+ return "patientannotation: values missing for metadata term " + md.key;
2334
+ }
2335
+ if (!Array.isArray(md.values)) {
2336
+ return "patientannotation: .values not an array for metadata term " + md.key;
2337
+ }
2338
+ if (!md.label) {
2339
+ md.label = md.key;
2340
+ }
2341
+ mdh[md.key] = {
2342
+ label: md.label,
2343
+ values: {}
2344
+ };
2345
+ const colorfunc = ordinal(category10_default);
2346
+ for (const at of md.values) {
2347
+ if (at.key == void 0) {
2348
+ return "key missing for an attribute of term " + md.key;
2349
+ }
2350
+ if (!at.label) {
2351
+ at.label = at.key;
2352
+ }
2353
+ if (!at.color) {
2354
+ at.color = colorfunc(at.key);
2355
+ }
2356
+ mdh[md.key].values[at.key] = at;
2357
+ }
2358
+ }
2359
+ cohort.patientannotation.mdh = mdh;
2360
+ return null;
2361
+ }
2362
+
2363
+ export {
2364
+ loadstudycohort,
2365
+ bulkui,
2366
+ content2flag,
2367
+ bulkin,
2368
+ bulkembed
2369
+ };
2370
+ //# sourceMappingURL=chunk-V245THQC.js.map