@sjcrh/proteinpaint-client 2.193.0 → 2.195.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 (916) hide show
  1. package/dist/2dmaf-GTD3AXGT.js +1373 -0
  2. package/dist/AIProjectAdmin-ALMSVHFX.js +958 -0
  3. package/dist/AppHeader-RK2YRITI.js +835 -0
  4. package/dist/BoxPlot-6ZXLPA5Q.js +1217 -0
  5. package/dist/CorrelationVolcano-PJB3QCXB.js +619 -0
  6. package/dist/DE-MEWV5RTV.js +95 -0
  7. package/dist/DEinput-I62VHD2U.js +301 -0
  8. package/dist/DEinput-I62VHD2U.js.map +7 -0
  9. package/dist/DifferentialAnalysis-7L3CDPVB.js +245 -0
  10. package/dist/Disco-FCS7B5DO.js +3297 -0
  11. package/dist/Disco.UI-BFJ5XFAT.js +249 -0
  12. package/dist/DmrPlot-362PCE7L.js +642 -0
  13. package/dist/GB-SX4JENAW.js +1353 -0
  14. package/dist/GB-SX4JENAW.js.map +7 -0
  15. package/dist/GeneExpInput-EHWHQTRV.js +367 -0
  16. package/dist/HicApp-UE4DCUKX.js +2250 -0
  17. package/dist/IDCViewer-EDF5XJ63.js +10455 -0
  18. package/dist/IDCViewer-EDF5XJ63.js.map +7 -0
  19. package/dist/NumBinaryEditor-3TAAJNYY.js +271 -0
  20. package/dist/NumBinaryEditor.unit.spec-6776472M.js +286 -0
  21. package/dist/NumContEditor-WLFXTY4M.js +109 -0
  22. package/dist/NumContEditor.unit.spec-KG5SCOIQ.js +169 -0
  23. package/dist/NumCustomBinEditor-EKKNCLKI.js +38 -0
  24. package/dist/NumCustomBinEditor.unit.spec-LSLSKQDW.js +284 -0
  25. package/dist/NumDiscreteEditor-X2MLECNT.js +179 -0
  26. package/dist/NumDiscreteEditor.unit.spec-BZG7P4C7.js +202 -0
  27. package/dist/NumRegularBinEditor-CAGJ4ZWD.js +38 -0
  28. package/dist/NumRegularBinEditor.unit.spec-GJSJC4DK.js +227 -0
  29. package/dist/NumSplineEditor-ND3RC7R6.js +198 -0
  30. package/dist/NumSplineEditor.unit.spec-F67JQKPY.js +199 -0
  31. package/dist/NumericDensity-VW7NIZU7.js +38 -0
  32. package/dist/NumericDensity.unit.spec-YHIMU23C.js +221 -0
  33. package/dist/NumericHandler-HCU6B2XV.js +39 -0
  34. package/dist/NumericHandler.unit.spec-6GVWAUED.js +219 -0
  35. package/dist/ProteomeInput-SONQSTVD.js +396 -0
  36. package/dist/RunChart2-ZLBNG4JF.js +758 -0
  37. package/dist/SC-YDRE37LP.js +1127 -0
  38. package/dist/Volcano-27ZERHXI.js +1379 -0
  39. package/dist/WSIViewer-2P7ANPBV.js +48562 -0
  40. package/dist/WsiSamplesPlot-FM4B657P.js +165 -0
  41. package/dist/adSandbox-M6TBRE5W.js +38 -0
  42. package/dist/animatedBubbleChart-VYSSX52K.js +555 -0
  43. package/dist/app-BLJT7ZDG.js +49 -0
  44. package/dist/app-LSFSUJHF.js +37 -0
  45. package/dist/app.js +13 -13
  46. package/dist/bam-ZMHBTBB4.js +860 -0
  47. package/dist/barchart-EF75MNTN.js +47 -0
  48. package/dist/barchart.data-VWZB3R2Z.js +22 -0
  49. package/dist/barchart.events-AMYQOMBQ.js +47 -0
  50. package/dist/barchart.integration.spec-TCTQ5PKN.js +2196 -0
  51. package/dist/barchart.integration.spec-TCTQ5PKN.js.map +7 -0
  52. package/dist/barchart2-LOHN6NSE.js +314 -0
  53. package/dist/block-23BH5TZ3.js +6226 -0
  54. package/dist/block.init-3BF6L23D.js +38 -0
  55. package/dist/block.mds.expressionrank-DSHATA2M.js +359 -0
  56. package/dist/block.mds.geneboxplot-RXQUOE3Y.js +828 -0
  57. package/dist/block.mds.junction-PN776TCD.js +1545 -0
  58. package/dist/block.mds.svcnv-SOWUBH4K.js +6801 -0
  59. package/dist/block.svg-ZPYMFAGC.js +164 -0
  60. package/dist/block.tk.aicheck-E22ZJJFP.js +283 -0
  61. package/dist/block.tk.ase-S54Z5A4G.js +365 -0
  62. package/dist/block.tk.bam-YOELFYXU.js +1906 -0
  63. package/dist/block.tk.bedgraphdot-VFUWXPSL.js +384 -0
  64. package/dist/block.tk.bigwig.ui-2SJYUPR3.js +212 -0
  65. package/dist/block.tk.hicstraw-GZVE4HQG.js +823 -0
  66. package/dist/block.tk.junction-RRFX4CAT.js +2364 -0
  67. package/dist/block.tk.junction-RRFX4CAT.js.map +7 -0
  68. package/dist/block.tk.junction.textmatrixui-A726SAAL.js +199 -0
  69. package/dist/block.tk.ld-THUOBW72.js +99 -0
  70. package/dist/block.tk.menu-V3VGODVI.js +1029 -0
  71. package/dist/block.tk.pgv-CNUGIK5J.js +944 -0
  72. package/dist/brainImaging-4PF74IEK.js +423 -0
  73. package/dist/brainRegions-U5K3KEQF.js +221 -0
  74. package/dist/bubbleHeatmap-6NL4PUFY.js +383 -0
  75. package/dist/bubbleHeatmap-6NL4PUFY.js.map +7 -0
  76. package/dist/chunk-2FTXOPE2.js +368 -0
  77. package/dist/chunk-2MCUT32T.js +254 -0
  78. package/dist/chunk-2SZ2VLOG.js +1102 -0
  79. package/dist/chunk-2XBWB6P2.js +37 -0
  80. package/dist/chunk-34VSTY2U.js +234 -0
  81. package/dist/chunk-3DS4HIEH.js +1230 -0
  82. package/dist/chunk-3DS4HIEH.js.map +7 -0
  83. package/dist/chunk-42FSM477.js +272 -0
  84. package/dist/chunk-42FSM477.js.map +7 -0
  85. package/dist/chunk-44VQIATQ.js +6364 -0
  86. package/dist/chunk-5B5FZPZI.js +148 -0
  87. package/dist/chunk-5DSLFEAN.js +276 -0
  88. package/dist/chunk-5DSQOV7M.js +50 -0
  89. package/dist/chunk-7CZI6SE7.js +222 -0
  90. package/dist/chunk-7NABQ2JU.js +54 -0
  91. package/dist/chunk-7VMFUE64.js +117 -0
  92. package/dist/chunk-7WBS7ZUI.js +54 -0
  93. package/dist/chunk-7XSDY2FN.js +1220 -0
  94. package/dist/chunk-7XSDY2FN.js.map +7 -0
  95. package/dist/chunk-AK5Z4PLV.js +230 -0
  96. package/dist/chunk-B3XMNPZY.js +448 -0
  97. package/dist/chunk-B4VBTVVQ.js +815 -0
  98. package/dist/chunk-CHUE5Y7Y.js +194 -0
  99. package/dist/chunk-CNBLRB4P.js +170 -0
  100. package/dist/chunk-CPMOBFFR.js +190 -0
  101. package/dist/chunk-D3TU3RDU.js +299 -0
  102. package/dist/chunk-E2KY2IZS.js +446 -0
  103. package/dist/chunk-FBMDK2UA.js +514 -0
  104. package/dist/chunk-FSWSZZTG.js +102 -0
  105. package/dist/chunk-GPGCGFFS.js +399 -0
  106. package/dist/chunk-H5DR6OYM.js +217 -0
  107. package/dist/chunk-HVZQYGQN.js +98 -0
  108. package/dist/chunk-HYIDLSEL.js +833 -0
  109. package/dist/chunk-IDX6WU4U.js +14 -0
  110. package/dist/chunk-IPGYIEPM.js +263 -0
  111. package/dist/chunk-IPGYIEPM.js.map +7 -0
  112. package/dist/chunk-IQTEW3SK.js +119 -0
  113. package/dist/chunk-J7W2DGAL.js +226 -0
  114. package/dist/chunk-J7W2DGAL.js.map +7 -0
  115. package/dist/chunk-JVVOJREJ.js +55 -0
  116. package/dist/chunk-KIGAMN3Z.js +216 -0
  117. package/dist/chunk-LAQZX5PA.js +13624 -0
  118. package/dist/chunk-LRPQBMQE.js +2786 -0
  119. package/dist/chunk-LYULXXGR.js +20896 -0
  120. package/dist/chunk-LYULXXGR.js.map +7 -0
  121. package/dist/chunk-M7JGRSFA.js +5067 -0
  122. package/dist/chunk-MAACMLMN.js +142 -0
  123. package/dist/chunk-MNPTPENH.js +1825 -0
  124. package/dist/chunk-MU3ZC4RW.js +102 -0
  125. package/dist/chunk-N6ALTSJ2.js +176 -0
  126. package/dist/chunk-N7326KA3.js +1943 -0
  127. package/dist/chunk-O64WQLAV.js +2327 -0
  128. package/dist/chunk-OEOYTMMY.js +203 -0
  129. package/dist/chunk-P3QPMVML.js +736 -0
  130. package/dist/chunk-PJM6MUTT.js +1289 -0
  131. package/dist/chunk-QPAZPA3N.js +4269 -0
  132. package/dist/chunk-RG222M4S.js +272 -0
  133. package/dist/chunk-S46UPZFM.js +158 -0
  134. package/dist/chunk-S4L4JCMA.js +102 -0
  135. package/dist/chunk-S4L4JCMA.js.map +7 -0
  136. package/dist/chunk-TUMA63WX.js +11194 -0
  137. package/dist/chunk-TUMA63WX.js.map +7 -0
  138. package/dist/chunk-UAALI7MC.js +315 -0
  139. package/dist/chunk-UAALI7MC.js.map +7 -0
  140. package/dist/chunk-UDTNSJY2.js +34 -0
  141. package/dist/chunk-UFLSI6EW.js +2681 -0
  142. package/dist/chunk-UFLSI6EW.js.map +7 -0
  143. package/dist/chunk-UKABZJQ7.js +480 -0
  144. package/dist/chunk-UKABZJQ7.js.map +7 -0
  145. package/dist/chunk-UPNKFGTN.js +100 -0
  146. package/dist/chunk-UZKHBBWY.js +617 -0
  147. package/dist/chunk-VG6GVF6D.js +302 -0
  148. package/dist/chunk-VO4FCZOR.js +448 -0
  149. package/dist/chunk-VVDFRJVN.js +306 -0
  150. package/dist/chunk-VVDFRJVN.js.map +7 -0
  151. package/dist/chunk-VZBMCJBR.js +534 -0
  152. package/dist/chunk-WR4UATTO.js +182 -0
  153. package/dist/chunk-XNYATA6C.js +2833 -0
  154. package/dist/chunk-Y5FH3TEH.js +129 -0
  155. package/dist/chunk-YIFCXFWE.js +343 -0
  156. package/dist/chunk-YRXB3MKU.js +477 -0
  157. package/dist/chunk-Z7UVDJKK.js +1275 -0
  158. package/dist/chunk-ZDEMAKRA.js +386 -0
  159. package/dist/chunk-ZTJLENGZ.js +292 -0
  160. package/dist/chunk-ZTJLENGZ.js.map +7 -0
  161. package/dist/condition-6UUQ3AAI.js +332 -0
  162. package/dist/controls-N2NIGPHY.js +41 -0
  163. package/dist/controls.config-YYIMJHWN.js +39 -0
  164. package/dist/correlation-DYUMFMTU.js +102 -0
  165. package/dist/cuminc-EUXCL53V.js +1149 -0
  166. package/dist/cuminc.integration.spec-ZQFMIBF6.js +678 -0
  167. package/dist/customdata.inputui-U2VXVWJ3.js +289 -0
  168. package/dist/dataDownload-QK2VYWYW.js +330 -0
  169. package/dist/dataDownload.integration.spec-NG4ZASWC.js +193 -0
  170. package/dist/databrowser.ui-ALW4LSLA.js +433 -0
  171. package/dist/dictionary-F7BPXOBO.js +118 -0
  172. package/dist/dnaMethylation-XNRJIBAH.js +38 -0
  173. package/dist/dnaMethylation.integration.spec-F5ODQTVL.js +203 -0
  174. package/dist/dofetch-IYEI7WSH.js +51 -0
  175. package/dist/e2pca-BHB7UMS5.js +350 -0
  176. package/dist/ep-QRFUVFSK.js +1256 -0
  177. package/dist/expclust.gdc.spec-LMH7QAU4.js +307 -0
  178. package/dist/facet-34HXG7MO.js +521 -0
  179. package/dist/forms2-ZQUPKXE5.js +539 -0
  180. package/dist/gb-HWZ5KZXX.js +88 -0
  181. package/dist/geneExpClustering-KFMP553E.js +249 -0
  182. package/dist/geneExpression-E2GIRM6Z.js +313 -0
  183. package/dist/geneExpression-QODFRNS4.js +38 -0
  184. package/dist/geneExpression.unit.spec-HV44ABGV.js +102 -0
  185. package/dist/geneORA-MJ6MFW2K.js +278 -0
  186. package/dist/geneRanking-ODKGLJX2.js +553 -0
  187. package/dist/geneRanking-ODKGLJX2.js.map +7 -0
  188. package/dist/geneVariant-QT6E7YZN.js +39 -0
  189. package/dist/geneVariant-UYQ4XIOQ.js +41 -0
  190. package/dist/geneVariant.integration.spec-HQ5GJ7UM.js +198 -0
  191. package/dist/genefusion.ui-5KYGD7JL.js +309 -0
  192. package/dist/geneset-M6T24ZYZ.js +208 -0
  193. package/dist/genomeBrowser.spec-CVH4S5KZ.js +281 -0
  194. package/dist/grin2-GI2WNWJO.js +968 -0
  195. package/dist/grin2-GI2WNWJO.js.map +7 -0
  196. package/dist/grin2-QU2UCKKE.js +75 -0
  197. package/dist/gsea-EGWJAATJ.js +47 -0
  198. package/dist/hierCluster-4OJ7BHAB.js +59 -0
  199. package/dist/hierCluster-P4HGGVK7.js +63 -0
  200. package/dist/hierCluster.config-5DGS5EH4.js +40 -0
  201. package/dist/hierCluster.integration.spec-OL4FLSBS.js +488 -0
  202. package/dist/hierCluster.integration.spec-OL4FLSBS.js.map +7 -0
  203. package/dist/hierCluster.interactivity-VEHJHBKY.js +54 -0
  204. package/dist/hierCluster.renderers-OEVSBUBK.js +21 -0
  205. package/dist/imagePlot-MMJYC4DX.js +163 -0
  206. package/dist/importPlot-4HJ6VR4P.js +8 -0
  207. package/dist/isoformExpression-EISYQF2S.js +40 -0
  208. package/dist/isoformExpression.unit.spec-YKBWVL7C.js +208 -0
  209. package/dist/jspdf.es.min-NXISJ3W7.js +40 -0
  210. package/dist/launch.adhoc-U3KOGDIC.js +42 -0
  211. package/dist/leftlabel.sample-LVF5WLMZ.js +264 -0
  212. package/dist/lollipop-HX2WLD5J.js +171 -0
  213. package/dist/maf-MBX3S3LS.js +459 -0
  214. package/dist/maf-MBX3S3LS.js.map +7 -0
  215. package/dist/maftimeline-VN6SYUPQ.js +593 -0
  216. package/dist/matrix-6UASVMIW.js +58 -0
  217. package/dist/matrix-FYYLVW7O.js +63 -0
  218. package/dist/matrix.cells-3RUGV7XG.js +28 -0
  219. package/dist/matrix.config-ELBFN3JN.js +41 -0
  220. package/dist/matrix.data-MHFF47ZY.js +25 -0
  221. package/dist/matrix.groups-UJRFFG5J.js +27 -0
  222. package/dist/matrix.integration.spec-5DUNUOQ3.js +3072 -0
  223. package/dist/matrix.interactivity-2TZ3ON4H.js +42 -0
  224. package/dist/matrix.layout-IGUBUCB2.js +44 -0
  225. package/dist/matrix.legend-UBQF6LMD.js +22 -0
  226. package/dist/matrix.renderers-ON2EXXIS.js +38 -0
  227. package/dist/matrix.serieses-5XH7NO23.js +21 -0
  228. package/dist/matrix.sort-QSWTVRJT.js +27 -0
  229. package/dist/matrix.sort.unit.spec-7Y6D456I.js +472 -0
  230. package/dist/matrix.sorterUi.unit.spec-3XNGEZZ2.js +342 -0
  231. package/dist/mavb-J4AUXBHZ.js +732 -0
  232. package/dist/mds.fimo-I6OALZRX.js +518 -0
  233. package/dist/mds.samplescatterplot-XSWR37S5.js +1550 -0
  234. package/dist/mds.survivalplot-Q3TE4A5P.js +483 -0
  235. package/dist/numericDictTermCluster-N3GM6YVP.js +65 -0
  236. package/dist/numericDictTermCluster-N3GM6YVP.js.map +7 -0
  237. package/dist/oncomatrix-C4RDUA2C.js +295 -0
  238. package/dist/oncomatrix.spec-QVD3XUTH.js +448 -0
  239. package/dist/plot.2dvaf-MNONDWFA.js +377 -0
  240. package/dist/plot.app-3T275PW5.js +41 -0
  241. package/dist/plot.barplot-LOLIPHXG.js +102 -0
  242. package/dist/plot.boxplot-I6CAYXPV.js +152 -0
  243. package/dist/plot.brainImaging-Y76KB6IC.js +51 -0
  244. package/dist/plot.disco-N5ISUUNQ.js +102 -0
  245. package/dist/plot.dzi-Q6K542P6.js +33 -0
  246. package/dist/plot.ssgq-OGLNOY4Q.js +139 -0
  247. package/dist/plot.vaf2cov-NXQ5D3KA.js +259 -0
  248. package/dist/plot.wsi-YMDUOZ57.js +36 -0
  249. package/dist/polar2-AQ2W3SNH.js +231 -0
  250. package/dist/profileForms-TCPZPI22.js +446 -0
  251. package/dist/profilePlot-4RKKICKC.js +54 -0
  252. package/dist/proteinView-5VJ6E2XT.js +1568 -0
  253. package/dist/proteinView-5VJ6E2XT.js.map +7 -0
  254. package/dist/purify.es-PPNYMKMJ.js +1457 -0
  255. package/dist/purify.es-PPNYMKMJ.js.map +7 -0
  256. package/dist/qualitative-NCFIVW6S.js +43 -0
  257. package/dist/radar2-UJFFZE7T.js +326 -0
  258. package/dist/radarFacility2-ATQBCF3N.js +334 -0
  259. package/dist/regression-4RSS7447.js +56 -0
  260. package/dist/regression.inputs-5XGUGNWV.js +48 -0
  261. package/dist/regression.inputs.term-LSJAZWE4.js +48 -0
  262. package/dist/regression.inputs.values.table-GNIJZETG.js +45 -0
  263. package/dist/regression.integration.spec-MV652K47.js +784 -0
  264. package/dist/regression.results-M3YH6ZD3.js +40 -0
  265. package/dist/regression.spec-455WPZHP.js +708 -0
  266. package/dist/report-MH3V7SHZ.js +222 -0
  267. package/dist/sampleScatter.spec-OTIL3JDG.js +202 -0
  268. package/dist/sampleView-DHACOCEG.js +48 -0
  269. package/dist/samplelst-F3AXOE2D.js +111 -0
  270. package/dist/samplematrix-M6CKKVNE.js +2198 -0
  271. package/dist/sc-S5XA37JJ.js +86 -0
  272. package/dist/scatter-IRPFNDHW.js +851 -0
  273. package/dist/scatter.integration.spec-5FWVHMVJ.js +1206 -0
  274. package/dist/selectGenomeWithTklst-NIOUX6MV.js +134 -0
  275. package/dist/singleCellCellType-FTGLNH2J.js +38 -0
  276. package/dist/singleCellCellType.unit.spec-BJ5YZAXF.js +160 -0
  277. package/dist/singleCellGeneExpression-56EDDG5H.js +38 -0
  278. package/dist/singleCellGeneExpression.unit.spec-XSQRWAI3.js +153 -0
  279. package/dist/singleCellPlot-TH77EJZ4.js +54 -0
  280. package/dist/singlecell-3QZQZM32.js +86 -0
  281. package/dist/singlecell-7KJMBASC.js +1572 -0
  282. package/dist/snp-YXG5O4U4.js +38 -0
  283. package/dist/snp.unit.spec-O27J7OOK.js +176 -0
  284. package/dist/snplocus-CQZSC7P6.js +208 -0
  285. package/dist/spliceevent.a53ss.diagram-K5ZDPZE6.js +151 -0
  286. package/dist/spliceevent.exonskip.diagram-A2VZ3TTF.js +277 -0
  287. package/dist/spliceevent.noeventdiagram-DJDA6ENK.js +460 -0
  288. package/dist/ssGSEA-3FTGRUTC.js +38 -0
  289. package/dist/ssGSEA.unit.spec-GF35KBTX.js +88 -0
  290. package/dist/summarizeCnvGeneexp-6IDTNOYE.js +163 -0
  291. package/dist/summarizeGeneexpSurvival-OWLUX2HO.js +114 -0
  292. package/dist/summarizeGeneexpSurvival-OWLUX2HO.js.map +7 -0
  293. package/dist/summarizeMutationCnv-BMEN3XNV.js +164 -0
  294. package/dist/summarizeMutationDiagnosis-LW6K6373.js +40 -0
  295. package/dist/summarizeMutationSurvival-E7REF2VY.js +99 -0
  296. package/dist/summary-MKA7OJKE.js +49 -0
  297. package/dist/summary.integration.spec-IV6I6SNJ.js +414 -0
  298. package/dist/summaryInput-NET6SPM4.js +235 -0
  299. package/dist/sunburst-CO3MXFTJ.js +284 -0
  300. package/dist/survival-MIPCEBS3.js +46 -0
  301. package/dist/survival-QQXTCNDU.js +58 -0
  302. package/dist/survival.integration.spec-6FH4S3EH.js +915 -0
  303. package/dist/survival.integration.spec-6FH4S3EH.js.map +7 -0
  304. package/dist/svg2pdf.es.min-P2F6SSVJ.js +3157 -0
  305. package/dist/svgraph-YF7BS7TN.js +1387 -0
  306. package/dist/svmr-J2JLQGEE.js +3842 -0
  307. package/dist/table-7YL7I4GH.js +200 -0
  308. package/dist/termCollection-LNEN72IV.js +38 -0
  309. package/dist/termCollection-SOLNYAZ4.js +179 -0
  310. package/dist/termCollection.unit.spec-LTX7UVYP.js +208 -0
  311. package/dist/tk-RZDP2YT5.js +46 -0
  312. package/dist/tp.ui-T6XXBHHD.js +1459 -0
  313. package/dist/tvs.dt-7APM37Y3.js +39 -0
  314. package/dist/tvs.dtcnv.categorical-YIPXQSIL.js +40 -0
  315. package/dist/tvs.dtcnv.continuous-ITNZE3SH.js +72 -0
  316. package/dist/tvs.dtfusion-2JIIPDTN.js +40 -0
  317. package/dist/tvs.dtsnvindel-HO2PUFN2.js +40 -0
  318. package/dist/tvs.dtsv-7KCWSUYO.js +40 -0
  319. package/dist/tvs.samplelst-KKWJQNLW.js +104 -0
  320. package/dist/tvs.termCollection-R2IGRG2U.js +159 -0
  321. package/dist/violin-OTPZQTGA.js +46 -0
  322. package/dist/violin.integration.spec-KESWDSBM.js +1425 -0
  323. package/dist/violin.interactivity-Q2WALZO3.js +38 -0
  324. package/dist/violin.renderer-WIRIV7QY.js +40 -0
  325. package/dist/vocabulary-XXDHHHPJ.js +41 -0
  326. package/package.json +9 -3
  327. package/dist/2dmaf-US2ZAJJJ.js +0 -1373
  328. package/dist/AIProjectAdmin-QQO2PNAJ.js +0 -958
  329. package/dist/AppHeader-UKB344GC.js +0 -835
  330. package/dist/BoxPlot-JEBLRKBY.js +0 -1217
  331. package/dist/CorrelationVolcano-J3IFVSZB.js +0 -619
  332. package/dist/DE-PAPJP6AH.js +0 -95
  333. package/dist/DEinput-YON466QQ.js +0 -301
  334. package/dist/DEinput-YON466QQ.js.map +0 -7
  335. package/dist/DifferentialAnalysis-DEUODXGG.js +0 -245
  336. package/dist/Disco-OZM4S7HF.js +0 -3297
  337. package/dist/Disco.UI-VIHYJGYU.js +0 -249
  338. package/dist/DmrPlot-DSELMC4E.js +0 -642
  339. package/dist/GB-MUPI6RL5.js +0 -1151
  340. package/dist/GB-MUPI6RL5.js.map +0 -7
  341. package/dist/GeneExpInput-3AQEPTFZ.js +0 -367
  342. package/dist/HicApp-BP7PSXY2.js +0 -2250
  343. package/dist/NumBinaryEditor-CHWQT445.js +0 -271
  344. package/dist/NumBinaryEditor.unit.spec-MXRNK7XH.js +0 -286
  345. package/dist/NumContEditor-XS3RA7GY.js +0 -109
  346. package/dist/NumContEditor.unit.spec-662MHSP4.js +0 -169
  347. package/dist/NumCustomBinEditor-LUVIAXMZ.js +0 -38
  348. package/dist/NumCustomBinEditor.unit.spec-3D3GY3F4.js +0 -284
  349. package/dist/NumDiscreteEditor-24W2A5IN.js +0 -179
  350. package/dist/NumDiscreteEditor.unit.spec-B5T42Z5S.js +0 -202
  351. package/dist/NumRegularBinEditor-AING4HZ5.js +0 -38
  352. package/dist/NumRegularBinEditor.unit.spec-UKSVZH2S.js +0 -227
  353. package/dist/NumSplineEditor-54KNKHJX.js +0 -198
  354. package/dist/NumSplineEditor.unit.spec-5FTST3Y5.js +0 -199
  355. package/dist/NumericDensity-C7DQZ5Q5.js +0 -38
  356. package/dist/NumericDensity.unit.spec-HV6SD3ZS.js +0 -221
  357. package/dist/NumericHandler-FV3L23EC.js +0 -39
  358. package/dist/NumericHandler.unit.spec-E72DXVBB.js +0 -219
  359. package/dist/ProteomeInput-3XTK74SN.js +0 -396
  360. package/dist/RunChart2-X5FBZVRX.js +0 -758
  361. package/dist/SC-WE5DG2CQ.js +0 -1127
  362. package/dist/Volcano-2USCTLKO.js +0 -1379
  363. package/dist/WSIViewer-U6VSJUFF.js +0 -48562
  364. package/dist/WsiSamplesPlot-VIKSG63U.js +0 -165
  365. package/dist/adSandbox-VXUJGPD3.js +0 -38
  366. package/dist/animatedBubbleChart-4P7XLKSB.js +0 -555
  367. package/dist/app-KHZT2BVF.js +0 -49
  368. package/dist/app-XLYH3YPL.js +0 -37
  369. package/dist/bam-C23ZARYE.js +0 -860
  370. package/dist/barchart-KGXLYEIP.js +0 -47
  371. package/dist/barchart.data-7OI5GZZ6.js +0 -22
  372. package/dist/barchart.events-3KDNIFBG.js +0 -47
  373. package/dist/barchart.integration.spec-OQYY54AQ.js +0 -2010
  374. package/dist/barchart.integration.spec-OQYY54AQ.js.map +0 -7
  375. package/dist/barchart2-AT5FXOUY.js +0 -314
  376. package/dist/block-TCWYUB4R.js +0 -6226
  377. package/dist/block.init-7FHXQJNE.js +0 -38
  378. package/dist/block.mds.expressionrank-UGZQK7Z3.js +0 -359
  379. package/dist/block.mds.geneboxplot-2CQLB4YN.js +0 -828
  380. package/dist/block.mds.junction-JHPHWVOS.js +0 -1545
  381. package/dist/block.mds.svcnv-E7P2SVKK.js +0 -6801
  382. package/dist/block.svg-MVRR3C6V.js +0 -164
  383. package/dist/block.tk.aicheck-KX46G4TR.js +0 -283
  384. package/dist/block.tk.ase-WMXI47BF.js +0 -365
  385. package/dist/block.tk.bam-KFEGVEQQ.js +0 -1906
  386. package/dist/block.tk.bedgraphdot-P4DBCWFK.js +0 -384
  387. package/dist/block.tk.bigwig.ui-WJPH2Z7F.js +0 -212
  388. package/dist/block.tk.hicstraw-RSD6I2NX.js +0 -823
  389. package/dist/block.tk.junction-VZS2DEDO.js +0 -2364
  390. package/dist/block.tk.junction-VZS2DEDO.js.map +0 -7
  391. package/dist/block.tk.junction.textmatrixui-UCWGHZDI.js +0 -199
  392. package/dist/block.tk.ld-ERSIIBM2.js +0 -99
  393. package/dist/block.tk.menu-2ZNXE7CE.js +0 -1029
  394. package/dist/block.tk.pgv-EJLACCFR.js +0 -944
  395. package/dist/brainImaging-BMZJY6OT.js +0 -423
  396. package/dist/brainRegions-RZEBXPAS.js +0 -221
  397. package/dist/bubbleHeatmap-ERJFMLPK.js +0 -383
  398. package/dist/bubbleHeatmap-ERJFMLPK.js.map +0 -7
  399. package/dist/chunk-27FPMFP2.js +0 -54
  400. package/dist/chunk-455XZIIA.js +0 -222
  401. package/dist/chunk-474DTKP7.js +0 -263
  402. package/dist/chunk-474DTKP7.js.map +0 -7
  403. package/dist/chunk-4AP3O3JW.js +0 -226
  404. package/dist/chunk-4AP3O3JW.js.map +0 -7
  405. package/dist/chunk-4JWN7E7Q.js +0 -117
  406. package/dist/chunk-55MOHL3P.js +0 -158
  407. package/dist/chunk-5TJQ6633.js +0 -291
  408. package/dist/chunk-5TJQ6633.js.map +0 -7
  409. package/dist/chunk-5X5LI5YM.js +0 -254
  410. package/dist/chunk-634MOGE3.js +0 -314
  411. package/dist/chunk-634MOGE3.js.map +0 -7
  412. package/dist/chunk-6G4YOMWW.js +0 -1825
  413. package/dist/chunk-6SCBPP4C.js +0 -95
  414. package/dist/chunk-6SCBPP4C.js.map +0 -7
  415. package/dist/chunk-6YVEYTNH.js +0 -4269
  416. package/dist/chunk-73R5BVCY.js +0 -5067
  417. package/dist/chunk-74XVBQF7.js +0 -55
  418. package/dist/chunk-7I3LST7R.js +0 -272
  419. package/dist/chunk-ATUYZWHV.js +0 -1289
  420. package/dist/chunk-B6U3EDAF.js +0 -448
  421. package/dist/chunk-BO47H3VP.js +0 -477
  422. package/dist/chunk-BOO4W7WD.js +0 -482
  423. package/dist/chunk-BOO4W7WD.js.map +0 -7
  424. package/dist/chunk-C6YT5EM2.js +0 -217
  425. package/dist/chunk-CDUNE45Q.js +0 -534
  426. package/dist/chunk-CLN7ANNL.js +0 -216
  427. package/dist/chunk-CLNSNNQU.js +0 -302
  428. package/dist/chunk-COYULNJF.js +0 -119
  429. package/dist/chunk-DBFKUPM6.js +0 -1275
  430. package/dist/chunk-DNVSEW6P.js +0 -170
  431. package/dist/chunk-E6XLLQCG.js +0 -299
  432. package/dist/chunk-EC3SKPQT.js +0 -446
  433. package/dist/chunk-EDXQKDVQ.js +0 -368
  434. package/dist/chunk-EY253UB7.js +0 -448
  435. package/dist/chunk-F5ONTCHE.js +0 -13624
  436. package/dist/chunk-FABY3ISP.js +0 -176
  437. package/dist/chunk-FOPHIWFD.js +0 -100
  438. package/dist/chunk-FVX76DZS.js +0 -203
  439. package/dist/chunk-FXGE233W.js +0 -2681
  440. package/dist/chunk-FXGE233W.js.map +0 -7
  441. package/dist/chunk-GBXX3AHJ.js +0 -343
  442. package/dist/chunk-GVCQGWN7.js +0 -34
  443. package/dist/chunk-HXNUQOGN.js +0 -234
  444. package/dist/chunk-HXZSSHEB.js +0 -37
  445. package/dist/chunk-IKDWQJZE.js +0 -736
  446. package/dist/chunk-IVXCWCKS.js +0 -317
  447. package/dist/chunk-IVXCWCKS.js.map +0 -7
  448. package/dist/chunk-JEZUPG4J.js +0 -617
  449. package/dist/chunk-JWHFMFF2.js +0 -142
  450. package/dist/chunk-K3OJJZCQ.js +0 -230
  451. package/dist/chunk-KM4JBR26.js +0 -815
  452. package/dist/chunk-KNOFEVOJ.js +0 -54
  453. package/dist/chunk-L7VDSIM7.js +0 -20881
  454. package/dist/chunk-L7VDSIM7.js.map +0 -7
  455. package/dist/chunk-LLX3NKB4.js +0 -148
  456. package/dist/chunk-MQJVDIQK.js +0 -2786
  457. package/dist/chunk-N25ENPO3.js +0 -14
  458. package/dist/chunk-N3JT3KCV.js +0 -399
  459. package/dist/chunk-N6QEVQZV.js +0 -194
  460. package/dist/chunk-NJDW6ZQP.js +0 -102
  461. package/dist/chunk-NLQQIVTC.js +0 -276
  462. package/dist/chunk-NU2W6B7I.js +0 -833
  463. package/dist/chunk-OR43PGBV.js +0 -98
  464. package/dist/chunk-PWUERAAF.js +0 -182
  465. package/dist/chunk-PXCFA4ZQ.js +0 -2327
  466. package/dist/chunk-QSEGY3U5.js +0 -129
  467. package/dist/chunk-QWOE5YTB.js +0 -11194
  468. package/dist/chunk-QWOE5YTB.js.map +0 -7
  469. package/dist/chunk-SC6IPDJR.js +0 -6364
  470. package/dist/chunk-SDMOLIEU.js +0 -1205
  471. package/dist/chunk-SDMOLIEU.js.map +0 -7
  472. package/dist/chunk-T46LHXJW.js +0 -283
  473. package/dist/chunk-T46LHXJW.js.map +0 -7
  474. package/dist/chunk-UDL2DEBB.js +0 -50
  475. package/dist/chunk-UXDVUCXU.js +0 -190
  476. package/dist/chunk-VDIVDU3T.js +0 -386
  477. package/dist/chunk-VRLC7DAU.js +0 -2833
  478. package/dist/chunk-XQSQQSGB.js +0 -1102
  479. package/dist/chunk-XVXAQ3FI.js +0 -1943
  480. package/dist/chunk-Y45JIQ5Y.js +0 -1219
  481. package/dist/chunk-Y45JIQ5Y.js.map +0 -7
  482. package/dist/chunk-YQMENK5H.js +0 -102
  483. package/dist/chunk-ZUC4XNWU.js +0 -514
  484. package/dist/condition-ZPFBPMEZ.js +0 -332
  485. package/dist/controls-LIVMV2GV.js +0 -41
  486. package/dist/controls.config-2EOMBN5E.js +0 -39
  487. package/dist/correlation-D6GAPOP5.js +0 -102
  488. package/dist/cuminc-GPFDRNUP.js +0 -1149
  489. package/dist/cuminc.integration.spec-V4JYKLA6.js +0 -678
  490. package/dist/customdata.inputui-DSEUS3CT.js +0 -289
  491. package/dist/dataDownload-KT6K3M7Q.js +0 -330
  492. package/dist/dataDownload.integration.spec-VEX2RTSA.js +0 -193
  493. package/dist/databrowser.ui-VJKNMIXA.js +0 -433
  494. package/dist/dictionary-B27BMR5H.js +0 -118
  495. package/dist/dnaMethylation-BWQGUXVR.js +0 -38
  496. package/dist/dnaMethylation.integration.spec-YMGT2HYZ.js +0 -203
  497. package/dist/dofetch-BMSZZAAQ.js +0 -51
  498. package/dist/e2pca-KSY4DP53.js +0 -350
  499. package/dist/ep-4PAYGMWK.js +0 -1256
  500. package/dist/expclust.gdc.spec-XXFP2HHE.js +0 -307
  501. package/dist/facet-VCJQ7QPE.js +0 -521
  502. package/dist/forms2-IUD2SNOQ.js +0 -539
  503. package/dist/gb-JDH242LG.js +0 -88
  504. package/dist/geneExpClustering-L23JB7XA.js +0 -249
  505. package/dist/geneExpression-P2ERCRXO.js +0 -313
  506. package/dist/geneExpression-QGPVFAN4.js +0 -38
  507. package/dist/geneExpression.unit.spec-6BQBM6VL.js +0 -102
  508. package/dist/geneORA-XIMJP665.js +0 -278
  509. package/dist/geneRanking-AJH5G22J.js +0 -551
  510. package/dist/geneRanking-AJH5G22J.js.map +0 -7
  511. package/dist/geneVariant-AUUZ7S2B.js +0 -41
  512. package/dist/geneVariant-H6BGRRON.js +0 -39
  513. package/dist/geneVariant.integration.spec-FRCH6VI4.js +0 -198
  514. package/dist/genefusion.ui-AAJ37VFA.js +0 -309
  515. package/dist/geneset-5ARBBUYH.js +0 -208
  516. package/dist/genomeBrowser.spec-RV7YBSMZ.js +0 -281
  517. package/dist/grin2-4MYLICII.js +0 -75
  518. package/dist/grin2-RBK4NI6W.js +0 -967
  519. package/dist/grin2-RBK4NI6W.js.map +0 -7
  520. package/dist/gsea-XUMCVLFK.js +0 -47
  521. package/dist/hierCluster-HXOTNMC5.js +0 -63
  522. package/dist/hierCluster-PEDY7OTZ.js +0 -59
  523. package/dist/hierCluster.config-RKYCGNWW.js +0 -40
  524. package/dist/hierCluster.integration.spec-YKMAT7UU.js +0 -395
  525. package/dist/hierCluster.integration.spec-YKMAT7UU.js.map +0 -7
  526. package/dist/hierCluster.interactivity-LPTHVWHR.js +0 -54
  527. package/dist/hierCluster.renderers-4XWKHCNW.js +0 -21
  528. package/dist/imagePlot-3DF7ZH3U.js +0 -163
  529. package/dist/importPlot-N74SV3TL.js +0 -8
  530. package/dist/isoformExpression-FU7Y4OGU.js +0 -40
  531. package/dist/isoformExpression.unit.spec-BLQDKV37.js +0 -208
  532. package/dist/jspdf.es.min-TFJHKUF5.js +0 -40
  533. package/dist/launch.adhoc-Y35FZV6H.js +0 -42
  534. package/dist/leftlabel.sample-ERJGAYTF.js +0 -264
  535. package/dist/lollipop-DU37Q5E2.js +0 -171
  536. package/dist/maf-NRLSNDOT.js +0 -452
  537. package/dist/maf-NRLSNDOT.js.map +0 -7
  538. package/dist/maftimeline-GRXGOOSJ.js +0 -593
  539. package/dist/matrix-G3BULZ7Y.js +0 -58
  540. package/dist/matrix-TCTX26A4.js +0 -63
  541. package/dist/matrix.cells-ED6RS5EC.js +0 -28
  542. package/dist/matrix.config-QHO2YNOT.js +0 -41
  543. package/dist/matrix.data-KQFMXWRX.js +0 -25
  544. package/dist/matrix.groups-RE74EFLY.js +0 -27
  545. package/dist/matrix.integration.spec-Y4FCZ2Q2.js +0 -3072
  546. package/dist/matrix.interactivity-3DW5WAM3.js +0 -42
  547. package/dist/matrix.layout-W57D765I.js +0 -44
  548. package/dist/matrix.legend-ZST44PIB.js +0 -22
  549. package/dist/matrix.renderers-NFRKXO7Y.js +0 -38
  550. package/dist/matrix.serieses-6ZKTFVWY.js +0 -21
  551. package/dist/matrix.sort-2UE47IOC.js +0 -27
  552. package/dist/matrix.sort.unit.spec-5CMWEXPE.js +0 -472
  553. package/dist/matrix.sorterUi.unit.spec-Y2HXWHJN.js +0 -342
  554. package/dist/mavb-BI4XKI5P.js +0 -732
  555. package/dist/mds.fimo-UJYESPNC.js +0 -518
  556. package/dist/mds.samplescatterplot-JKU5B4QR.js +0 -1550
  557. package/dist/mds.survivalplot-OP7Y4D3L.js +0 -483
  558. package/dist/numericDictTermCluster-DRIEJJSP.js +0 -72
  559. package/dist/numericDictTermCluster-DRIEJJSP.js.map +0 -7
  560. package/dist/oncomatrix-A3IE47HV.js +0 -295
  561. package/dist/oncomatrix.spec-TDWB2ROF.js +0 -448
  562. package/dist/plot.2dvaf-XY34TDSM.js +0 -377
  563. package/dist/plot.app-WRCBLYGO.js +0 -41
  564. package/dist/plot.barplot-RXGOUNHM.js +0 -102
  565. package/dist/plot.boxplot-GBZGSS3D.js +0 -152
  566. package/dist/plot.brainImaging-DYPKMNHL.js +0 -51
  567. package/dist/plot.disco-5K2SCKJ4.js +0 -102
  568. package/dist/plot.dzi-THJIFHIS.js +0 -33
  569. package/dist/plot.ssgq-FSIUIV3A.js +0 -139
  570. package/dist/plot.vaf2cov-HP6KEBVJ.js +0 -259
  571. package/dist/plot.wsi-MR6JMOXW.js +0 -36
  572. package/dist/polar2-IT3OF5DX.js +0 -231
  573. package/dist/profileForms-XXGJVF2T.js +0 -446
  574. package/dist/profilePlot-J2C35OEY.js +0 -54
  575. package/dist/proteinView-7FDCILPH.js +0 -1556
  576. package/dist/proteinView-7FDCILPH.js.map +0 -7
  577. package/dist/purify.es-OGN7FDEQ.js +0 -1038
  578. package/dist/purify.es-OGN7FDEQ.js.map +0 -7
  579. package/dist/qualitative-N7S2JHZM.js +0 -43
  580. package/dist/radar2-CDDOQGQX.js +0 -326
  581. package/dist/radarFacility2-ZQTHO2ON.js +0 -334
  582. package/dist/regression-PBGAMZAV.js +0 -56
  583. package/dist/regression.inputs-54E5YKI4.js +0 -48
  584. package/dist/regression.inputs.term-52MBTMVM.js +0 -48
  585. package/dist/regression.inputs.values.table-F3FOAYFV.js +0 -45
  586. package/dist/regression.integration.spec-M4RPJUE4.js +0 -784
  587. package/dist/regression.results-JOK6I2ZD.js +0 -40
  588. package/dist/regression.spec-O4HZB2HQ.js +0 -708
  589. package/dist/report-BDDTM7SV.js +0 -222
  590. package/dist/sampleScatter.spec-272GLYEK.js +0 -202
  591. package/dist/sampleView-E6OHEEP4.js +0 -48
  592. package/dist/samplelst-3LNF3DBG.js +0 -111
  593. package/dist/samplematrix-HL445X7I.js +0 -2198
  594. package/dist/sc-4LELHVIS.js +0 -86
  595. package/dist/scatter-IZIZURQD.js +0 -851
  596. package/dist/scatter.integration.spec-BBEWMA7M.js +0 -1206
  597. package/dist/selectGenomeWithTklst-5LQGT4Z7.js +0 -134
  598. package/dist/singleCellCellType-T3ZT64EK.js +0 -38
  599. package/dist/singleCellCellType.unit.spec-AE4IAHOF.js +0 -160
  600. package/dist/singleCellGeneExpression-SRJXSDEB.js +0 -38
  601. package/dist/singleCellGeneExpression.unit.spec-EPL73UUO.js +0 -153
  602. package/dist/singleCellPlot-P2BHFTYZ.js +0 -54
  603. package/dist/singlecell-32SSD7VN.js +0 -1572
  604. package/dist/singlecell-7KRD5DP7.js +0 -86
  605. package/dist/snp-LE5R377N.js +0 -38
  606. package/dist/snp.unit.spec-UY6KQ5NJ.js +0 -176
  607. package/dist/snplocus-CP34ABUJ.js +0 -208
  608. package/dist/spliceevent.a53ss.diagram-JWLWQDNJ.js +0 -151
  609. package/dist/spliceevent.exonskip.diagram-C5526P7P.js +0 -277
  610. package/dist/spliceevent.noeventdiagram-352M63YB.js +0 -460
  611. package/dist/ssGSEA-BFTCECV3.js +0 -38
  612. package/dist/ssGSEA.unit.spec-4OUCKRDQ.js +0 -88
  613. package/dist/summarizeCnvGeneexp-Y3AWFIZA.js +0 -163
  614. package/dist/summarizeGeneexpSurvival-U5JSPG22.js +0 -108
  615. package/dist/summarizeGeneexpSurvival-U5JSPG22.js.map +0 -7
  616. package/dist/summarizeMutationCnv-KCOVQEBC.js +0 -164
  617. package/dist/summarizeMutationDiagnosis-EQXEQABW.js +0 -40
  618. package/dist/summarizeMutationSurvival-4VGLG4SC.js +0 -99
  619. package/dist/summary-DXYCBNI4.js +0 -49
  620. package/dist/summary.integration.spec-MZTJISLP.js +0 -414
  621. package/dist/summaryInput-5Z3XVIL6.js +0 -235
  622. package/dist/sunburst-WVSQJYP2.js +0 -284
  623. package/dist/survival-3R3J2JBE.js +0 -46
  624. package/dist/survival-XQWFVGCJ.js +0 -58
  625. package/dist/survival.integration.spec-EBDPIBYM.js +0 -821
  626. package/dist/survival.integration.spec-EBDPIBYM.js.map +0 -7
  627. package/dist/svg2pdf.es.min-H4DXBG4O.js +0 -3157
  628. package/dist/svgraph-SY2HVMYL.js +0 -1387
  629. package/dist/svmr-TIIMFKG7.js +0 -3842
  630. package/dist/table-5RFTXIQL.js +0 -200
  631. package/dist/termCollection-23QXTZDN.js +0 -38
  632. package/dist/termCollection-7KXABWVW.js +0 -179
  633. package/dist/termCollection.unit.spec-4AN2Z4PQ.js +0 -208
  634. package/dist/tk-WW6PJGPQ.js +0 -46
  635. package/dist/tp.ui-S5PO3MPH.js +0 -1459
  636. package/dist/tvs.dt-O7LUM5TK.js +0 -39
  637. package/dist/tvs.dtcnv.categorical-2OUFOD3W.js +0 -40
  638. package/dist/tvs.dtcnv.continuous-NOOUY5SZ.js +0 -72
  639. package/dist/tvs.dtfusion-KXQMP3UF.js +0 -40
  640. package/dist/tvs.dtsnvindel-PWHFTWZU.js +0 -40
  641. package/dist/tvs.dtsv-25FLS572.js +0 -40
  642. package/dist/tvs.samplelst-FLXNJFIV.js +0 -104
  643. package/dist/tvs.termCollection-PSVOMJE4.js +0 -159
  644. package/dist/violin-SWMEFWRA.js +0 -46
  645. package/dist/violin.integration.spec-6EQ6GC2N.js +0 -1425
  646. package/dist/violin.interactivity-WBIWPLSM.js +0 -38
  647. package/dist/violin.renderer-3WARZUOH.js +0 -40
  648. package/dist/vocabulary-WLHYHDX7.js +0 -41
  649. /package/dist/{2dmaf-US2ZAJJJ.js.map → 2dmaf-GTD3AXGT.js.map} +0 -0
  650. /package/dist/{AIProjectAdmin-QQO2PNAJ.js.map → AIProjectAdmin-ALMSVHFX.js.map} +0 -0
  651. /package/dist/{AppHeader-UKB344GC.js.map → AppHeader-RK2YRITI.js.map} +0 -0
  652. /package/dist/{BoxPlot-JEBLRKBY.js.map → BoxPlot-6ZXLPA5Q.js.map} +0 -0
  653. /package/dist/{CorrelationVolcano-J3IFVSZB.js.map → CorrelationVolcano-PJB3QCXB.js.map} +0 -0
  654. /package/dist/{DE-PAPJP6AH.js.map → DE-MEWV5RTV.js.map} +0 -0
  655. /package/dist/{DifferentialAnalysis-DEUODXGG.js.map → DifferentialAnalysis-7L3CDPVB.js.map} +0 -0
  656. /package/dist/{Disco-OZM4S7HF.js.map → Disco-FCS7B5DO.js.map} +0 -0
  657. /package/dist/{Disco.UI-VIHYJGYU.js.map → Disco.UI-BFJ5XFAT.js.map} +0 -0
  658. /package/dist/{DmrPlot-DSELMC4E.js.map → DmrPlot-362PCE7L.js.map} +0 -0
  659. /package/dist/{GeneExpInput-3AQEPTFZ.js.map → GeneExpInput-EHWHQTRV.js.map} +0 -0
  660. /package/dist/{HicApp-BP7PSXY2.js.map → HicApp-UE4DCUKX.js.map} +0 -0
  661. /package/dist/{NumBinaryEditor-CHWQT445.js.map → NumBinaryEditor-3TAAJNYY.js.map} +0 -0
  662. /package/dist/{NumBinaryEditor.unit.spec-MXRNK7XH.js.map → NumBinaryEditor.unit.spec-6776472M.js.map} +0 -0
  663. /package/dist/{NumContEditor-XS3RA7GY.js.map → NumContEditor-WLFXTY4M.js.map} +0 -0
  664. /package/dist/{NumContEditor.unit.spec-662MHSP4.js.map → NumContEditor.unit.spec-KG5SCOIQ.js.map} +0 -0
  665. /package/dist/{NumCustomBinEditor-LUVIAXMZ.js.map → NumCustomBinEditor-EKKNCLKI.js.map} +0 -0
  666. /package/dist/{NumCustomBinEditor.unit.spec-3D3GY3F4.js.map → NumCustomBinEditor.unit.spec-LSLSKQDW.js.map} +0 -0
  667. /package/dist/{NumDiscreteEditor-24W2A5IN.js.map → NumDiscreteEditor-X2MLECNT.js.map} +0 -0
  668. /package/dist/{NumDiscreteEditor.unit.spec-B5T42Z5S.js.map → NumDiscreteEditor.unit.spec-BZG7P4C7.js.map} +0 -0
  669. /package/dist/{NumRegularBinEditor-AING4HZ5.js.map → NumRegularBinEditor-CAGJ4ZWD.js.map} +0 -0
  670. /package/dist/{NumRegularBinEditor.unit.spec-UKSVZH2S.js.map → NumRegularBinEditor.unit.spec-GJSJC4DK.js.map} +0 -0
  671. /package/dist/{NumSplineEditor-54KNKHJX.js.map → NumSplineEditor-ND3RC7R6.js.map} +0 -0
  672. /package/dist/{NumSplineEditor.unit.spec-5FTST3Y5.js.map → NumSplineEditor.unit.spec-F67JQKPY.js.map} +0 -0
  673. /package/dist/{NumericDensity-C7DQZ5Q5.js.map → NumericDensity-VW7NIZU7.js.map} +0 -0
  674. /package/dist/{NumericDensity.unit.spec-HV6SD3ZS.js.map → NumericDensity.unit.spec-YHIMU23C.js.map} +0 -0
  675. /package/dist/{NumericHandler-FV3L23EC.js.map → NumericHandler-HCU6B2XV.js.map} +0 -0
  676. /package/dist/{NumericHandler.unit.spec-E72DXVBB.js.map → NumericHandler.unit.spec-6GVWAUED.js.map} +0 -0
  677. /package/dist/{ProteomeInput-3XTK74SN.js.map → ProteomeInput-SONQSTVD.js.map} +0 -0
  678. /package/dist/{RunChart2-X5FBZVRX.js.map → RunChart2-ZLBNG4JF.js.map} +0 -0
  679. /package/dist/{SC-WE5DG2CQ.js.map → SC-YDRE37LP.js.map} +0 -0
  680. /package/dist/{Volcano-2USCTLKO.js.map → Volcano-27ZERHXI.js.map} +0 -0
  681. /package/dist/{WSIViewer-U6VSJUFF.js.map → WSIViewer-2P7ANPBV.js.map} +0 -0
  682. /package/dist/{WsiSamplesPlot-VIKSG63U.js.map → WsiSamplesPlot-FM4B657P.js.map} +0 -0
  683. /package/dist/{adSandbox-VXUJGPD3.js.map → adSandbox-M6TBRE5W.js.map} +0 -0
  684. /package/dist/{animatedBubbleChart-4P7XLKSB.js.map → animatedBubbleChart-VYSSX52K.js.map} +0 -0
  685. /package/dist/{app-KHZT2BVF.js.map → app-BLJT7ZDG.js.map} +0 -0
  686. /package/dist/{app-XLYH3YPL.js.map → app-LSFSUJHF.js.map} +0 -0
  687. /package/dist/{bam-C23ZARYE.js.map → bam-ZMHBTBB4.js.map} +0 -0
  688. /package/dist/{barchart-KGXLYEIP.js.map → barchart-EF75MNTN.js.map} +0 -0
  689. /package/dist/{barchart.data-7OI5GZZ6.js.map → barchart.data-VWZB3R2Z.js.map} +0 -0
  690. /package/dist/{barchart.events-3KDNIFBG.js.map → barchart.events-AMYQOMBQ.js.map} +0 -0
  691. /package/dist/{barchart2-AT5FXOUY.js.map → barchart2-LOHN6NSE.js.map} +0 -0
  692. /package/dist/{block-TCWYUB4R.js.map → block-23BH5TZ3.js.map} +0 -0
  693. /package/dist/{block.init-7FHXQJNE.js.map → block.init-3BF6L23D.js.map} +0 -0
  694. /package/dist/{block.mds.expressionrank-UGZQK7Z3.js.map → block.mds.expressionrank-DSHATA2M.js.map} +0 -0
  695. /package/dist/{block.mds.geneboxplot-2CQLB4YN.js.map → block.mds.geneboxplot-RXQUOE3Y.js.map} +0 -0
  696. /package/dist/{block.mds.junction-JHPHWVOS.js.map → block.mds.junction-PN776TCD.js.map} +0 -0
  697. /package/dist/{block.mds.svcnv-E7P2SVKK.js.map → block.mds.svcnv-SOWUBH4K.js.map} +0 -0
  698. /package/dist/{block.svg-MVRR3C6V.js.map → block.svg-ZPYMFAGC.js.map} +0 -0
  699. /package/dist/{block.tk.aicheck-KX46G4TR.js.map → block.tk.aicheck-E22ZJJFP.js.map} +0 -0
  700. /package/dist/{block.tk.ase-WMXI47BF.js.map → block.tk.ase-S54Z5A4G.js.map} +0 -0
  701. /package/dist/{block.tk.bam-KFEGVEQQ.js.map → block.tk.bam-YOELFYXU.js.map} +0 -0
  702. /package/dist/{block.tk.bedgraphdot-P4DBCWFK.js.map → block.tk.bedgraphdot-VFUWXPSL.js.map} +0 -0
  703. /package/dist/{block.tk.bigwig.ui-WJPH2Z7F.js.map → block.tk.bigwig.ui-2SJYUPR3.js.map} +0 -0
  704. /package/dist/{block.tk.hicstraw-RSD6I2NX.js.map → block.tk.hicstraw-GZVE4HQG.js.map} +0 -0
  705. /package/dist/{block.tk.junction.textmatrixui-UCWGHZDI.js.map → block.tk.junction.textmatrixui-A726SAAL.js.map} +0 -0
  706. /package/dist/{block.tk.ld-ERSIIBM2.js.map → block.tk.ld-THUOBW72.js.map} +0 -0
  707. /package/dist/{block.tk.menu-2ZNXE7CE.js.map → block.tk.menu-V3VGODVI.js.map} +0 -0
  708. /package/dist/{block.tk.pgv-EJLACCFR.js.map → block.tk.pgv-CNUGIK5J.js.map} +0 -0
  709. /package/dist/{brainImaging-BMZJY6OT.js.map → brainImaging-4PF74IEK.js.map} +0 -0
  710. /package/dist/{brainRegions-RZEBXPAS.js.map → brainRegions-U5K3KEQF.js.map} +0 -0
  711. /package/dist/{chunk-EDXQKDVQ.js.map → chunk-2FTXOPE2.js.map} +0 -0
  712. /package/dist/{chunk-5X5LI5YM.js.map → chunk-2MCUT32T.js.map} +0 -0
  713. /package/dist/{chunk-XQSQQSGB.js.map → chunk-2SZ2VLOG.js.map} +0 -0
  714. /package/dist/{chunk-HXZSSHEB.js.map → chunk-2XBWB6P2.js.map} +0 -0
  715. /package/dist/{chunk-HXNUQOGN.js.map → chunk-34VSTY2U.js.map} +0 -0
  716. /package/dist/{chunk-SC6IPDJR.js.map → chunk-44VQIATQ.js.map} +0 -0
  717. /package/dist/{chunk-LLX3NKB4.js.map → chunk-5B5FZPZI.js.map} +0 -0
  718. /package/dist/{chunk-NLQQIVTC.js.map → chunk-5DSLFEAN.js.map} +0 -0
  719. /package/dist/{chunk-UDL2DEBB.js.map → chunk-5DSQOV7M.js.map} +0 -0
  720. /package/dist/{chunk-455XZIIA.js.map → chunk-7CZI6SE7.js.map} +0 -0
  721. /package/dist/{chunk-KNOFEVOJ.js.map → chunk-7NABQ2JU.js.map} +0 -0
  722. /package/dist/{chunk-4JWN7E7Q.js.map → chunk-7VMFUE64.js.map} +0 -0
  723. /package/dist/{chunk-27FPMFP2.js.map → chunk-7WBS7ZUI.js.map} +0 -0
  724. /package/dist/{chunk-K3OJJZCQ.js.map → chunk-AK5Z4PLV.js.map} +0 -0
  725. /package/dist/{chunk-B6U3EDAF.js.map → chunk-B3XMNPZY.js.map} +0 -0
  726. /package/dist/{chunk-KM4JBR26.js.map → chunk-B4VBTVVQ.js.map} +0 -0
  727. /package/dist/{chunk-N6QEVQZV.js.map → chunk-CHUE5Y7Y.js.map} +0 -0
  728. /package/dist/{chunk-DNVSEW6P.js.map → chunk-CNBLRB4P.js.map} +0 -0
  729. /package/dist/{chunk-UXDVUCXU.js.map → chunk-CPMOBFFR.js.map} +0 -0
  730. /package/dist/{chunk-E6XLLQCG.js.map → chunk-D3TU3RDU.js.map} +0 -0
  731. /package/dist/{chunk-EC3SKPQT.js.map → chunk-E2KY2IZS.js.map} +0 -0
  732. /package/dist/{chunk-ZUC4XNWU.js.map → chunk-FBMDK2UA.js.map} +0 -0
  733. /package/dist/{chunk-YQMENK5H.js.map → chunk-FSWSZZTG.js.map} +0 -0
  734. /package/dist/{chunk-N3JT3KCV.js.map → chunk-GPGCGFFS.js.map} +0 -0
  735. /package/dist/{chunk-C6YT5EM2.js.map → chunk-H5DR6OYM.js.map} +0 -0
  736. /package/dist/{chunk-OR43PGBV.js.map → chunk-HVZQYGQN.js.map} +0 -0
  737. /package/dist/{chunk-NU2W6B7I.js.map → chunk-HYIDLSEL.js.map} +0 -0
  738. /package/dist/{chunk-N25ENPO3.js.map → chunk-IDX6WU4U.js.map} +0 -0
  739. /package/dist/{chunk-COYULNJF.js.map → chunk-IQTEW3SK.js.map} +0 -0
  740. /package/dist/{chunk-74XVBQF7.js.map → chunk-JVVOJREJ.js.map} +0 -0
  741. /package/dist/{chunk-CLN7ANNL.js.map → chunk-KIGAMN3Z.js.map} +0 -0
  742. /package/dist/{chunk-F5ONTCHE.js.map → chunk-LAQZX5PA.js.map} +0 -0
  743. /package/dist/{chunk-MQJVDIQK.js.map → chunk-LRPQBMQE.js.map} +0 -0
  744. /package/dist/{chunk-73R5BVCY.js.map → chunk-M7JGRSFA.js.map} +0 -0
  745. /package/dist/{chunk-JWHFMFF2.js.map → chunk-MAACMLMN.js.map} +0 -0
  746. /package/dist/{chunk-6G4YOMWW.js.map → chunk-MNPTPENH.js.map} +0 -0
  747. /package/dist/{chunk-NJDW6ZQP.js.map → chunk-MU3ZC4RW.js.map} +0 -0
  748. /package/dist/{chunk-FABY3ISP.js.map → chunk-N6ALTSJ2.js.map} +0 -0
  749. /package/dist/{chunk-XVXAQ3FI.js.map → chunk-N7326KA3.js.map} +0 -0
  750. /package/dist/{chunk-PXCFA4ZQ.js.map → chunk-O64WQLAV.js.map} +0 -0
  751. /package/dist/{chunk-FVX76DZS.js.map → chunk-OEOYTMMY.js.map} +0 -0
  752. /package/dist/{chunk-IKDWQJZE.js.map → chunk-P3QPMVML.js.map} +0 -0
  753. /package/dist/{chunk-ATUYZWHV.js.map → chunk-PJM6MUTT.js.map} +0 -0
  754. /package/dist/{chunk-6YVEYTNH.js.map → chunk-QPAZPA3N.js.map} +0 -0
  755. /package/dist/{chunk-7I3LST7R.js.map → chunk-RG222M4S.js.map} +0 -0
  756. /package/dist/{chunk-55MOHL3P.js.map → chunk-S46UPZFM.js.map} +0 -0
  757. /package/dist/{chunk-GVCQGWN7.js.map → chunk-UDTNSJY2.js.map} +0 -0
  758. /package/dist/{chunk-FOPHIWFD.js.map → chunk-UPNKFGTN.js.map} +0 -0
  759. /package/dist/{chunk-JEZUPG4J.js.map → chunk-UZKHBBWY.js.map} +0 -0
  760. /package/dist/{chunk-CLNSNNQU.js.map → chunk-VG6GVF6D.js.map} +0 -0
  761. /package/dist/{chunk-EY253UB7.js.map → chunk-VO4FCZOR.js.map} +0 -0
  762. /package/dist/{chunk-CDUNE45Q.js.map → chunk-VZBMCJBR.js.map} +0 -0
  763. /package/dist/{chunk-PWUERAAF.js.map → chunk-WR4UATTO.js.map} +0 -0
  764. /package/dist/{chunk-VRLC7DAU.js.map → chunk-XNYATA6C.js.map} +0 -0
  765. /package/dist/{chunk-QSEGY3U5.js.map → chunk-Y5FH3TEH.js.map} +0 -0
  766. /package/dist/{chunk-GBXX3AHJ.js.map → chunk-YIFCXFWE.js.map} +0 -0
  767. /package/dist/{chunk-BO47H3VP.js.map → chunk-YRXB3MKU.js.map} +0 -0
  768. /package/dist/{chunk-DBFKUPM6.js.map → chunk-Z7UVDJKK.js.map} +0 -0
  769. /package/dist/{chunk-VDIVDU3T.js.map → chunk-ZDEMAKRA.js.map} +0 -0
  770. /package/dist/{condition-ZPFBPMEZ.js.map → condition-6UUQ3AAI.js.map} +0 -0
  771. /package/dist/{controls-LIVMV2GV.js.map → controls-N2NIGPHY.js.map} +0 -0
  772. /package/dist/{controls.config-2EOMBN5E.js.map → controls.config-YYIMJHWN.js.map} +0 -0
  773. /package/dist/{correlation-D6GAPOP5.js.map → correlation-DYUMFMTU.js.map} +0 -0
  774. /package/dist/{cuminc-GPFDRNUP.js.map → cuminc-EUXCL53V.js.map} +0 -0
  775. /package/dist/{cuminc.integration.spec-V4JYKLA6.js.map → cuminc.integration.spec-ZQFMIBF6.js.map} +0 -0
  776. /package/dist/{customdata.inputui-DSEUS3CT.js.map → customdata.inputui-U2VXVWJ3.js.map} +0 -0
  777. /package/dist/{dataDownload-KT6K3M7Q.js.map → dataDownload-QK2VYWYW.js.map} +0 -0
  778. /package/dist/{dataDownload.integration.spec-VEX2RTSA.js.map → dataDownload.integration.spec-NG4ZASWC.js.map} +0 -0
  779. /package/dist/{databrowser.ui-VJKNMIXA.js.map → databrowser.ui-ALW4LSLA.js.map} +0 -0
  780. /package/dist/{dictionary-B27BMR5H.js.map → dictionary-F7BPXOBO.js.map} +0 -0
  781. /package/dist/{dnaMethylation-BWQGUXVR.js.map → dnaMethylation-XNRJIBAH.js.map} +0 -0
  782. /package/dist/{dnaMethylation.integration.spec-YMGT2HYZ.js.map → dnaMethylation.integration.spec-F5ODQTVL.js.map} +0 -0
  783. /package/dist/{dofetch-BMSZZAAQ.js.map → dofetch-IYEI7WSH.js.map} +0 -0
  784. /package/dist/{e2pca-KSY4DP53.js.map → e2pca-BHB7UMS5.js.map} +0 -0
  785. /package/dist/{ep-4PAYGMWK.js.map → ep-QRFUVFSK.js.map} +0 -0
  786. /package/dist/{expclust.gdc.spec-XXFP2HHE.js.map → expclust.gdc.spec-LMH7QAU4.js.map} +0 -0
  787. /package/dist/{facet-VCJQ7QPE.js.map → facet-34HXG7MO.js.map} +0 -0
  788. /package/dist/{forms2-IUD2SNOQ.js.map → forms2-ZQUPKXE5.js.map} +0 -0
  789. /package/dist/{gb-JDH242LG.js.map → gb-HWZ5KZXX.js.map} +0 -0
  790. /package/dist/{geneExpClustering-L23JB7XA.js.map → geneExpClustering-KFMP553E.js.map} +0 -0
  791. /package/dist/{geneExpression-P2ERCRXO.js.map → geneExpression-E2GIRM6Z.js.map} +0 -0
  792. /package/dist/{geneExpression-QGPVFAN4.js.map → geneExpression-QODFRNS4.js.map} +0 -0
  793. /package/dist/{geneExpression.unit.spec-6BQBM6VL.js.map → geneExpression.unit.spec-HV44ABGV.js.map} +0 -0
  794. /package/dist/{geneORA-XIMJP665.js.map → geneORA-MJ6MFW2K.js.map} +0 -0
  795. /package/dist/{geneVariant-AUUZ7S2B.js.map → geneVariant-QT6E7YZN.js.map} +0 -0
  796. /package/dist/{geneVariant-H6BGRRON.js.map → geneVariant-UYQ4XIOQ.js.map} +0 -0
  797. /package/dist/{geneVariant.integration.spec-FRCH6VI4.js.map → geneVariant.integration.spec-HQ5GJ7UM.js.map} +0 -0
  798. /package/dist/{genefusion.ui-AAJ37VFA.js.map → genefusion.ui-5KYGD7JL.js.map} +0 -0
  799. /package/dist/{geneset-5ARBBUYH.js.map → geneset-M6T24ZYZ.js.map} +0 -0
  800. /package/dist/{genomeBrowser.spec-RV7YBSMZ.js.map → genomeBrowser.spec-CVH4S5KZ.js.map} +0 -0
  801. /package/dist/{grin2-4MYLICII.js.map → grin2-QU2UCKKE.js.map} +0 -0
  802. /package/dist/{gsea-XUMCVLFK.js.map → gsea-EGWJAATJ.js.map} +0 -0
  803. /package/dist/{hierCluster-HXOTNMC5.js.map → hierCluster-4OJ7BHAB.js.map} +0 -0
  804. /package/dist/{hierCluster-PEDY7OTZ.js.map → hierCluster-P4HGGVK7.js.map} +0 -0
  805. /package/dist/{hierCluster.config-RKYCGNWW.js.map → hierCluster.config-5DGS5EH4.js.map} +0 -0
  806. /package/dist/{hierCluster.interactivity-LPTHVWHR.js.map → hierCluster.interactivity-VEHJHBKY.js.map} +0 -0
  807. /package/dist/{hierCluster.renderers-4XWKHCNW.js.map → hierCluster.renderers-OEVSBUBK.js.map} +0 -0
  808. /package/dist/{imagePlot-3DF7ZH3U.js.map → imagePlot-MMJYC4DX.js.map} +0 -0
  809. /package/dist/{importPlot-N74SV3TL.js.map → importPlot-4HJ6VR4P.js.map} +0 -0
  810. /package/dist/{isoformExpression-FU7Y4OGU.js.map → isoformExpression-EISYQF2S.js.map} +0 -0
  811. /package/dist/{isoformExpression.unit.spec-BLQDKV37.js.map → isoformExpression.unit.spec-YKBWVL7C.js.map} +0 -0
  812. /package/dist/{jspdf.es.min-TFJHKUF5.js.map → jspdf.es.min-NXISJ3W7.js.map} +0 -0
  813. /package/dist/{launch.adhoc-Y35FZV6H.js.map → launch.adhoc-U3KOGDIC.js.map} +0 -0
  814. /package/dist/{leftlabel.sample-ERJGAYTF.js.map → leftlabel.sample-LVF5WLMZ.js.map} +0 -0
  815. /package/dist/{lollipop-DU37Q5E2.js.map → lollipop-HX2WLD5J.js.map} +0 -0
  816. /package/dist/{maftimeline-GRXGOOSJ.js.map → maftimeline-VN6SYUPQ.js.map} +0 -0
  817. /package/dist/{matrix-G3BULZ7Y.js.map → matrix-6UASVMIW.js.map} +0 -0
  818. /package/dist/{matrix-TCTX26A4.js.map → matrix-FYYLVW7O.js.map} +0 -0
  819. /package/dist/{matrix.cells-ED6RS5EC.js.map → matrix.cells-3RUGV7XG.js.map} +0 -0
  820. /package/dist/{matrix.config-QHO2YNOT.js.map → matrix.config-ELBFN3JN.js.map} +0 -0
  821. /package/dist/{matrix.data-KQFMXWRX.js.map → matrix.data-MHFF47ZY.js.map} +0 -0
  822. /package/dist/{matrix.groups-RE74EFLY.js.map → matrix.groups-UJRFFG5J.js.map} +0 -0
  823. /package/dist/{matrix.integration.spec-Y4FCZ2Q2.js.map → matrix.integration.spec-5DUNUOQ3.js.map} +0 -0
  824. /package/dist/{matrix.interactivity-3DW5WAM3.js.map → matrix.interactivity-2TZ3ON4H.js.map} +0 -0
  825. /package/dist/{matrix.layout-W57D765I.js.map → matrix.layout-IGUBUCB2.js.map} +0 -0
  826. /package/dist/{matrix.legend-ZST44PIB.js.map → matrix.legend-UBQF6LMD.js.map} +0 -0
  827. /package/dist/{matrix.renderers-NFRKXO7Y.js.map → matrix.renderers-ON2EXXIS.js.map} +0 -0
  828. /package/dist/{matrix.serieses-6ZKTFVWY.js.map → matrix.serieses-5XH7NO23.js.map} +0 -0
  829. /package/dist/{matrix.sort-2UE47IOC.js.map → matrix.sort-QSWTVRJT.js.map} +0 -0
  830. /package/dist/{matrix.sort.unit.spec-5CMWEXPE.js.map → matrix.sort.unit.spec-7Y6D456I.js.map} +0 -0
  831. /package/dist/{matrix.sorterUi.unit.spec-Y2HXWHJN.js.map → matrix.sorterUi.unit.spec-3XNGEZZ2.js.map} +0 -0
  832. /package/dist/{mavb-BI4XKI5P.js.map → mavb-J4AUXBHZ.js.map} +0 -0
  833. /package/dist/{mds.fimo-UJYESPNC.js.map → mds.fimo-I6OALZRX.js.map} +0 -0
  834. /package/dist/{mds.samplescatterplot-JKU5B4QR.js.map → mds.samplescatterplot-XSWR37S5.js.map} +0 -0
  835. /package/dist/{mds.survivalplot-OP7Y4D3L.js.map → mds.survivalplot-Q3TE4A5P.js.map} +0 -0
  836. /package/dist/{oncomatrix-A3IE47HV.js.map → oncomatrix-C4RDUA2C.js.map} +0 -0
  837. /package/dist/{oncomatrix.spec-TDWB2ROF.js.map → oncomatrix.spec-QVD3XUTH.js.map} +0 -0
  838. /package/dist/{plot.2dvaf-XY34TDSM.js.map → plot.2dvaf-MNONDWFA.js.map} +0 -0
  839. /package/dist/{plot.app-WRCBLYGO.js.map → plot.app-3T275PW5.js.map} +0 -0
  840. /package/dist/{plot.barplot-RXGOUNHM.js.map → plot.barplot-LOLIPHXG.js.map} +0 -0
  841. /package/dist/{plot.boxplot-GBZGSS3D.js.map → plot.boxplot-I6CAYXPV.js.map} +0 -0
  842. /package/dist/{plot.brainImaging-DYPKMNHL.js.map → plot.brainImaging-Y76KB6IC.js.map} +0 -0
  843. /package/dist/{plot.disco-5K2SCKJ4.js.map → plot.disco-N5ISUUNQ.js.map} +0 -0
  844. /package/dist/{plot.dzi-THJIFHIS.js.map → plot.dzi-Q6K542P6.js.map} +0 -0
  845. /package/dist/{plot.ssgq-FSIUIV3A.js.map → plot.ssgq-OGLNOY4Q.js.map} +0 -0
  846. /package/dist/{plot.vaf2cov-HP6KEBVJ.js.map → plot.vaf2cov-NXQ5D3KA.js.map} +0 -0
  847. /package/dist/{plot.wsi-MR6JMOXW.js.map → plot.wsi-YMDUOZ57.js.map} +0 -0
  848. /package/dist/{polar2-IT3OF5DX.js.map → polar2-AQ2W3SNH.js.map} +0 -0
  849. /package/dist/{profileForms-XXGJVF2T.js.map → profileForms-TCPZPI22.js.map} +0 -0
  850. /package/dist/{profilePlot-J2C35OEY.js.map → profilePlot-4RKKICKC.js.map} +0 -0
  851. /package/dist/{qualitative-N7S2JHZM.js.map → qualitative-NCFIVW6S.js.map} +0 -0
  852. /package/dist/{radar2-CDDOQGQX.js.map → radar2-UJFFZE7T.js.map} +0 -0
  853. /package/dist/{radarFacility2-ZQTHO2ON.js.map → radarFacility2-ATQBCF3N.js.map} +0 -0
  854. /package/dist/{regression-PBGAMZAV.js.map → regression-4RSS7447.js.map} +0 -0
  855. /package/dist/{regression.inputs-54E5YKI4.js.map → regression.inputs-5XGUGNWV.js.map} +0 -0
  856. /package/dist/{regression.inputs.term-52MBTMVM.js.map → regression.inputs.term-LSJAZWE4.js.map} +0 -0
  857. /package/dist/{regression.inputs.values.table-F3FOAYFV.js.map → regression.inputs.values.table-GNIJZETG.js.map} +0 -0
  858. /package/dist/{regression.integration.spec-M4RPJUE4.js.map → regression.integration.spec-MV652K47.js.map} +0 -0
  859. /package/dist/{regression.results-JOK6I2ZD.js.map → regression.results-M3YH6ZD3.js.map} +0 -0
  860. /package/dist/{regression.spec-O4HZB2HQ.js.map → regression.spec-455WPZHP.js.map} +0 -0
  861. /package/dist/{report-BDDTM7SV.js.map → report-MH3V7SHZ.js.map} +0 -0
  862. /package/dist/{sampleScatter.spec-272GLYEK.js.map → sampleScatter.spec-OTIL3JDG.js.map} +0 -0
  863. /package/dist/{sampleView-E6OHEEP4.js.map → sampleView-DHACOCEG.js.map} +0 -0
  864. /package/dist/{samplelst-3LNF3DBG.js.map → samplelst-F3AXOE2D.js.map} +0 -0
  865. /package/dist/{samplematrix-HL445X7I.js.map → samplematrix-M6CKKVNE.js.map} +0 -0
  866. /package/dist/{sc-4LELHVIS.js.map → sc-S5XA37JJ.js.map} +0 -0
  867. /package/dist/{scatter-IZIZURQD.js.map → scatter-IRPFNDHW.js.map} +0 -0
  868. /package/dist/{scatter.integration.spec-BBEWMA7M.js.map → scatter.integration.spec-5FWVHMVJ.js.map} +0 -0
  869. /package/dist/{selectGenomeWithTklst-5LQGT4Z7.js.map → selectGenomeWithTklst-NIOUX6MV.js.map} +0 -0
  870. /package/dist/{singleCellCellType-T3ZT64EK.js.map → singleCellCellType-FTGLNH2J.js.map} +0 -0
  871. /package/dist/{singleCellCellType.unit.spec-AE4IAHOF.js.map → singleCellCellType.unit.spec-BJ5YZAXF.js.map} +0 -0
  872. /package/dist/{singleCellGeneExpression-SRJXSDEB.js.map → singleCellGeneExpression-56EDDG5H.js.map} +0 -0
  873. /package/dist/{singleCellGeneExpression.unit.spec-EPL73UUO.js.map → singleCellGeneExpression.unit.spec-XSQRWAI3.js.map} +0 -0
  874. /package/dist/{singleCellPlot-P2BHFTYZ.js.map → singleCellPlot-TH77EJZ4.js.map} +0 -0
  875. /package/dist/{singlecell-7KRD5DP7.js.map → singlecell-3QZQZM32.js.map} +0 -0
  876. /package/dist/{singlecell-32SSD7VN.js.map → singlecell-7KJMBASC.js.map} +0 -0
  877. /package/dist/{snp-LE5R377N.js.map → snp-YXG5O4U4.js.map} +0 -0
  878. /package/dist/{snp.unit.spec-UY6KQ5NJ.js.map → snp.unit.spec-O27J7OOK.js.map} +0 -0
  879. /package/dist/{snplocus-CP34ABUJ.js.map → snplocus-CQZSC7P6.js.map} +0 -0
  880. /package/dist/{spliceevent.a53ss.diagram-JWLWQDNJ.js.map → spliceevent.a53ss.diagram-K5ZDPZE6.js.map} +0 -0
  881. /package/dist/{spliceevent.exonskip.diagram-C5526P7P.js.map → spliceevent.exonskip.diagram-A2VZ3TTF.js.map} +0 -0
  882. /package/dist/{spliceevent.noeventdiagram-352M63YB.js.map → spliceevent.noeventdiagram-DJDA6ENK.js.map} +0 -0
  883. /package/dist/{ssGSEA-BFTCECV3.js.map → ssGSEA-3FTGRUTC.js.map} +0 -0
  884. /package/dist/{ssGSEA.unit.spec-4OUCKRDQ.js.map → ssGSEA.unit.spec-GF35KBTX.js.map} +0 -0
  885. /package/dist/{summarizeCnvGeneexp-Y3AWFIZA.js.map → summarizeCnvGeneexp-6IDTNOYE.js.map} +0 -0
  886. /package/dist/{summarizeMutationCnv-KCOVQEBC.js.map → summarizeMutationCnv-BMEN3XNV.js.map} +0 -0
  887. /package/dist/{summarizeMutationDiagnosis-EQXEQABW.js.map → summarizeMutationDiagnosis-LW6K6373.js.map} +0 -0
  888. /package/dist/{summarizeMutationSurvival-4VGLG4SC.js.map → summarizeMutationSurvival-E7REF2VY.js.map} +0 -0
  889. /package/dist/{summary-DXYCBNI4.js.map → summary-MKA7OJKE.js.map} +0 -0
  890. /package/dist/{summary.integration.spec-MZTJISLP.js.map → summary.integration.spec-IV6I6SNJ.js.map} +0 -0
  891. /package/dist/{summaryInput-5Z3XVIL6.js.map → summaryInput-NET6SPM4.js.map} +0 -0
  892. /package/dist/{sunburst-WVSQJYP2.js.map → sunburst-CO3MXFTJ.js.map} +0 -0
  893. /package/dist/{survival-3R3J2JBE.js.map → survival-MIPCEBS3.js.map} +0 -0
  894. /package/dist/{survival-XQWFVGCJ.js.map → survival-QQXTCNDU.js.map} +0 -0
  895. /package/dist/{svg2pdf.es.min-H4DXBG4O.js.map → svg2pdf.es.min-P2F6SSVJ.js.map} +0 -0
  896. /package/dist/{svgraph-SY2HVMYL.js.map → svgraph-YF7BS7TN.js.map} +0 -0
  897. /package/dist/{svmr-TIIMFKG7.js.map → svmr-J2JLQGEE.js.map} +0 -0
  898. /package/dist/{table-5RFTXIQL.js.map → table-7YL7I4GH.js.map} +0 -0
  899. /package/dist/{termCollection-23QXTZDN.js.map → termCollection-LNEN72IV.js.map} +0 -0
  900. /package/dist/{termCollection-7KXABWVW.js.map → termCollection-SOLNYAZ4.js.map} +0 -0
  901. /package/dist/{termCollection.unit.spec-4AN2Z4PQ.js.map → termCollection.unit.spec-LTX7UVYP.js.map} +0 -0
  902. /package/dist/{tk-WW6PJGPQ.js.map → tk-RZDP2YT5.js.map} +0 -0
  903. /package/dist/{tp.ui-S5PO3MPH.js.map → tp.ui-T6XXBHHD.js.map} +0 -0
  904. /package/dist/{tvs.dt-O7LUM5TK.js.map → tvs.dt-7APM37Y3.js.map} +0 -0
  905. /package/dist/{tvs.dtcnv.categorical-2OUFOD3W.js.map → tvs.dtcnv.categorical-YIPXQSIL.js.map} +0 -0
  906. /package/dist/{tvs.dtcnv.continuous-NOOUY5SZ.js.map → tvs.dtcnv.continuous-ITNZE3SH.js.map} +0 -0
  907. /package/dist/{tvs.dtfusion-KXQMP3UF.js.map → tvs.dtfusion-2JIIPDTN.js.map} +0 -0
  908. /package/dist/{tvs.dtsnvindel-PWHFTWZU.js.map → tvs.dtsnvindel-HO2PUFN2.js.map} +0 -0
  909. /package/dist/{tvs.dtsv-25FLS572.js.map → tvs.dtsv-7KCWSUYO.js.map} +0 -0
  910. /package/dist/{tvs.samplelst-FLXNJFIV.js.map → tvs.samplelst-KKWJQNLW.js.map} +0 -0
  911. /package/dist/{tvs.termCollection-PSVOMJE4.js.map → tvs.termCollection-R2IGRG2U.js.map} +0 -0
  912. /package/dist/{violin-SWMEFWRA.js.map → violin-OTPZQTGA.js.map} +0 -0
  913. /package/dist/{violin.integration.spec-6EQ6GC2N.js.map → violin.integration.spec-KESWDSBM.js.map} +0 -0
  914. /package/dist/{violin.interactivity-WBIWPLSM.js.map → violin.interactivity-Q2WALZO3.js.map} +0 -0
  915. /package/dist/{violin.renderer-3WARZUOH.js.map → violin.renderer-WIRIV7QY.js.map} +0 -0
  916. /package/dist/{vocabulary-WLHYHDX7.js.map → vocabulary-XXDHHHPJ.js.map} +0 -0
@@ -0,0 +1,2327 @@
1
+ import {
2
+ vcf2dstk
3
+ } from "./chunk-OEOYTMMY.js";
4
+ import {
5
+ getsjcharts
6
+ } from "./chunk-MKAF2BHB.js";
7
+ import {
8
+ parseheader,
9
+ parseline
10
+ } from "./chunk-5DSLFEAN.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-LYULXXGR.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-MNPTPENH.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-7KRS7L4U.js";
51
+ import {
52
+ category10_default
53
+ } from "./chunk-TJYRBEBK.js";
54
+ import {
55
+ ordinal
56
+ } from "./chunk-SOTB4FRE.js";
57
+ import {
58
+ select_default
59
+ } from "./chunk-I6Y4O3RR.js";
60
+
61
+ // ../shared/utils/dist/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("annovar_gene", "annovar_sj_gene", "gene", "genename", "gene_symbol", "hugo_symbol");
73
+ if (i == -1) return "gene missing from header";
74
+ header[i] = "gene";
75
+ i = htry("annovar_aachange", "amino_acid_change", "annovar_sj_aachange", "aachange", "protein_change", "variant");
76
+ if (i == -1) return "amino_acid_change missing from header";
77
+ header[i] = "mname";
78
+ i = htry("annovar_class", "class", "mclass", "variant_class", "variant_classification", "annovar_sj_class");
79
+ if (i == -1) return "variant_class missing from header";
80
+ header[i] = "class";
81
+ i = htry("chromosome", "chr");
82
+ if (i == -1) return "chromosome missing from header";
83
+ header[i] = "chr";
84
+ i = htry("wu_hg19_pos", "start", "start_position", "chr_position", "position");
85
+ if (i == -1) return "start missing from header";
86
+ header[i] = "pos";
87
+ i = htry(
88
+ "annovar_isoform",
89
+ "mrna_accession",
90
+ "mrna accession",
91
+ "refseq_mrna_id",
92
+ "annovar_sj_filter_isoform",
93
+ "refseq",
94
+ "isoform"
95
+ );
96
+ if (i == -1) return "isoform missing from header";
97
+ header[i] = "isoform";
98
+ i = htry("sample", "sample_name", "tumor_sample_barcode");
99
+ if (i != -1) header[i] = "sample";
100
+ i = htry("patient", "donor", "target_case_id");
101
+ if (i != -1) header[i] = "patient";
102
+ i = htry("quantitative_measurements");
103
+ if (i != -1) header[i] = "qmset";
104
+ i = htry("mutant_reads_in_case", "mutant_in_tumor", "tumor_readcount_alt");
105
+ if (i != -1) header[i] = "maf_tumor_v1";
106
+ i = htry("total_reads_in_case", "total_in_tumor", "tumor_readcount_total");
107
+ if (i != -1) header[i] = "maf_tumor_v2";
108
+ i = htry("mutant_reads_in_control", "mutant_in_normal", "normal_readcount_alt");
109
+ if (i != -1) header[i] = "maf_normal_v1";
110
+ i = htry("total_reads_in_control", "total_in_normal", "normal_readcount_total");
111
+ if (i != -1) header[i] = "maf_normal_v2";
112
+ i = htry("cdna_change");
113
+ if (i != -1) header[i] = "cdna_change";
114
+ i = htry("sampletype", "sample type", "sample_type");
115
+ if (i != -1) header[i] = "sampletype";
116
+ i = htry("origin");
117
+ if (i != -1) header[i] = "origin";
118
+ i = htry("cancer", "disease", "diagnosis");
119
+ if (i != -1) header[i] = "disease";
120
+ flag2.snv.header = header;
121
+ flag2.snv.loaded = true;
122
+ return false;
123
+ }
124
+ function parseline2(linei, line, flag2) {
125
+ if (line == "" || line[0] == "#") return;
126
+ const lst = line.split(" ");
127
+ const m = {};
128
+ for (let j = 0; j < flag2.snv.header.length; j++) {
129
+ if (lst[j] == void 0) break;
130
+ m[flag2.snv.header[j]] = lst[j];
131
+ }
132
+ if (!m.gene) {
133
+ flag2.snv.badlines.push([linei, "missing gene", lst]);
134
+ return;
135
+ }
136
+ if (m.gene.toUpperCase() == "UNKNOWN") {
137
+ flag2.snv.badlines.push([linei, "gene name is UNKNOWN", lst]);
138
+ return;
139
+ }
140
+ if (!m.isoform) {
141
+ flag2.snv.badlines.push([linei, "missing isoform", lst]);
142
+ return;
143
+ }
144
+ if (!m.mname) {
145
+ m.mname = m.cdna_change;
146
+ if (!m.mname) {
147
+ flag2.snv.badlines.push([linei, "missing amino acid change", lst]);
148
+ return;
149
+ }
150
+ } else {
151
+ if (m.mname.indexOf("p.") == 0) {
152
+ m.mname = m.mname.replace(/^p\./, "");
153
+ }
154
+ }
155
+ if (!m.class) {
156
+ flag2.snv.badlines.push([linei, "missing mutation class", lst]);
157
+ return;
158
+ }
159
+ let _c = flag2.mclasslabel2key[m.class.toUpperCase()];
160
+ if (_c) {
161
+ m.class = _c;
162
+ } else {
163
+ _c = mclasstester(m.class);
164
+ if (_c) {
165
+ m.class = _c;
166
+ } else {
167
+ flag2.snv.badlines.push([linei, "wrong mutation class: " + m.class, lst]);
168
+ return;
169
+ }
170
+ }
171
+ if (parsesample(m, flag2, linei, lst)) {
172
+ return;
173
+ }
174
+ if (!m.chr) {
175
+ flag2.snv.badlines.push([linei, "missing chromosome", lst]);
176
+ return;
177
+ }
178
+ if (m.chr.toLowerCase().indexOf("chr") != 0) {
179
+ m.chr = "chr" + m.chr;
180
+ }
181
+ if (!m.pos) {
182
+ flag2.snv.badlines.push([linei, "missing chromosome position", lst]);
183
+ return;
184
+ }
185
+ const v = Number.parseInt(m.pos);
186
+ if (Number.isNaN(v)) {
187
+ flag2.snv.badlines.push([linei, "invalid chromosome position", lst]);
188
+ return;
189
+ }
190
+ m.pos = v - 1;
191
+ if (m.maf_tumor_v2 != void 0 && m.maf_tumor_v1 != void 0) {
192
+ if (m.maf_tumor_v2 == "") {
193
+ } else {
194
+ const v1 = Number.parseInt(m.maf_tumor_v1), v2 = Number.parseInt(m.maf_tumor_v2);
195
+ if (Number.isNaN(v1) || Number.isNaN(v2)) {
196
+ flag2.snv.badlines.push([linei, "invalid maf_tumor mutant and/or total read count", lst]);
197
+ return;
198
+ }
199
+ m.maf_tumor = { f: v1 / v2, v1, v2 };
200
+ }
201
+ delete m.maf_tumor_v1;
202
+ delete m.maf_tumor_v2;
203
+ }
204
+ if (m.maf_normal_v1 != void 0 && m.maf_normal_v2 != void 0) {
205
+ if (m.maf_normal_v2 == "") {
206
+ } else {
207
+ const v1 = Number.parseInt(m.maf_normal_v1), v2 = Number.parseInt(m.maf_normal_v2);
208
+ if (Number.isNaN(v1) || Number.isNaN(v2)) {
209
+ flag2.snv.badlines.push([linei, "invalid maf_normal mutant and/or total read count", lst]);
210
+ return;
211
+ }
212
+ m.maf_normal = { f: v1 / v2, v1, v2 };
213
+ }
214
+ delete m.maf_normal_v1;
215
+ delete m.maf_normal_v2;
216
+ }
217
+ flag2.good++;
218
+ if (m.class == "M") {
219
+ flag2.snv.missense++;
220
+ } else if (m.class == "S") {
221
+ flag2.snv.silent++;
222
+ }
223
+ const n = flag2.geneToUpper ? m.gene.toUpperCase() : m.gene;
224
+ if (!flag2.data[n]) {
225
+ flag2.data[n] = [];
226
+ }
227
+ m.dt = dtsnvindel;
228
+ flag2.data[n].push(m);
229
+ }
230
+
231
+ // ../shared/utils/dist/src/bulk.svjson.js
232
+ function parseheader3(line) {
233
+ const header = line.toLowerCase().split(" ");
234
+ if (header.length <= 1) return "invalid file header for svjson";
235
+ const htry = (...lst) => {
236
+ for (const a of lst) {
237
+ const j = header.indexOf(a);
238
+ if (j != -1) return j;
239
+ }
240
+ return -1;
241
+ };
242
+ let i = htry("sample");
243
+ if (i != -1) header[i] = "sample";
244
+ i = htry("sampletype");
245
+ if (i != -1) header[i] = "sampletype";
246
+ i = htry("patient");
247
+ if (i != -1) header[i] = "patient";
248
+ i = htry("json", "jsontext");
249
+ if (i == -1) return ["json missing from header"];
250
+ header[i] = "jsontext";
251
+ return [null, header];
252
+ }
253
+ function parseline3(i, line, flag2, header) {
254
+ if (line == "" || line[0] == "#") return;
255
+ const lst = line.split(" ");
256
+ const m = {};
257
+ const badlines = flag2.svjson.badlines;
258
+ for (let j = 0; j < header.length; j++) {
259
+ m[header[j]] = lst[j];
260
+ }
261
+ if (!m.jsontext) {
262
+ badlines.push([i, "missing jsontext", lst]);
263
+ return;
264
+ }
265
+ if (parsesample(m, flag2, i, lst)) {
266
+ return;
267
+ }
268
+ let json;
269
+ try {
270
+ json = JSON.parse(m.jsontext);
271
+ } catch (_) {
272
+ badlines.push([i, "invalid JSON text", lst]);
273
+ return;
274
+ }
275
+ if (Array.isArray(json)) {
276
+ for (const pair of json) {
277
+ if (pair.a && pair.a.name && pair.a.isoform) {
278
+ flag2.good++;
279
+ const m2 = {
280
+ dt: dtfusionrna,
281
+ class: mclassfusionrna,
282
+ isoform: pair.a.isoform,
283
+ mname: pair.b.name
284
+ };
285
+ for (const k in m) {
286
+ if (k != "jsontext") m2[k] = m[k];
287
+ }
288
+ m2.pairlst = duplicate(json);
289
+ const n = pair.a.name.toUpperCase();
290
+ if (!flag2.data[n]) {
291
+ flag2.data[n] = [];
292
+ }
293
+ flag2.data[n].push(m2);
294
+ }
295
+ if (pair.b && pair.b.name && pair.b.isoform) {
296
+ flag2.good++;
297
+ const m2 = {
298
+ dt: dtfusionrna,
299
+ class: mclassfusionrna,
300
+ isoform: pair.b.isoform,
301
+ mname: pair.a.name
302
+ };
303
+ for (const k in m) {
304
+ if (k != "jsontext") m2[k] = m[k];
305
+ }
306
+ m2.pairlst = duplicate(json);
307
+ const n = pair.b.name.toUpperCase();
308
+ if (!flag2.data[n]) {
309
+ flag2.data[n] = [];
310
+ }
311
+ flag2.data[n].push(m2);
312
+ }
313
+ }
314
+ } else {
315
+ json.dt = json.typecode;
316
+ delete json.typecode;
317
+ switch (json.dt) {
318
+ case dtitd:
319
+ json.class = mclassitd;
320
+ json.mname = "ITD";
321
+ break;
322
+ case dtnloss:
323
+ json.class = mclassnloss;
324
+ json.mname = "N-loss";
325
+ break;
326
+ case dtcloss:
327
+ json.class = mclasscloss;
328
+ json.mname = "C-loss";
329
+ break;
330
+ case dtdel:
331
+ json.class = mclassdel;
332
+ json.mname = "Del";
333
+ break;
334
+ case dtsv:
335
+ json.class = mclasssv;
336
+ json.mname = "SV";
337
+ break;
338
+ default:
339
+ badlines.push([i, "unknown datatype", lst]);
340
+ return;
341
+ }
342
+ if (!json.gene) {
343
+ badlines.push([i, "json.gene missing", lst]);
344
+ return;
345
+ }
346
+ flag2.good++;
347
+ for (const k in m) {
348
+ if (k != "jsontext") {
349
+ json[k] = m[k];
350
+ }
351
+ }
352
+ const n = flag2.geneToUpper ? json.gene.toUpperCase() : json.gene.toUpperCase();
353
+ if (!flag2.data[n]) {
354
+ flag2.data[n] = [];
355
+ }
356
+ flag2.data[n].push(json);
357
+ }
358
+ }
359
+ function duplicate(lst) {
360
+ const d = [];
361
+ for (const pair of lst) {
362
+ const p = { a: {}, b: {} };
363
+ for (const k in pair) {
364
+ if (k != "a" && k != "b") p[k] = pair[k];
365
+ }
366
+ for (const k in pair.a) {
367
+ p.a[k] = pair.a[k];
368
+ }
369
+ for (const k in pair.b) {
370
+ p.b[k] = pair.b[k];
371
+ }
372
+ d.push(p);
373
+ }
374
+ return d;
375
+ }
376
+
377
+ // ../shared/utils/dist/src/bulk.cnv.js
378
+ function parseheader4(line, flag2) {
379
+ const header = line.toLowerCase().split(" ");
380
+ if (header.length <= 1) return "invalid file header for CNV";
381
+ const htry = (...lst) => {
382
+ for (const i2 of lst) {
383
+ const j = header.indexOf(i2);
384
+ if (j != -1) return j;
385
+ }
386
+ return -1;
387
+ };
388
+ let i = htry("gene");
389
+ if (i == -1) return "gene missing from header";
390
+ header[i] = "gene";
391
+ i = htry("cnv");
392
+ if (i == -1) return "CNV missing from header";
393
+ header[i] = "cnv";
394
+ i = htry("sample", "sample_name", "tumor_sample_barcode");
395
+ if (i != -1) header[i] = "sample";
396
+ i = htry("patient", "donor", "target_case_id");
397
+ if (i != -1) header[i] = "patient";
398
+ i = htry("disease");
399
+ if (i != -1) header[i] = "disease";
400
+ i = htry("origin");
401
+ if (i != -1) header[i] = "origin";
402
+ i = htry("sampletype", "sample type", "sample_type");
403
+ if (i != -1) header[i] = "sampletype";
404
+ flag2.cnv.header = header;
405
+ flag2.cnv.loaded = true;
406
+ return false;
407
+ }
408
+ function parseline4(i, line, flag2) {
409
+ if (line == "" || line[0] == "#") return;
410
+ const lst = line.split(" ");
411
+ const m = {};
412
+ for (let j = 0; j < flag2.cnv.header.length; j++) {
413
+ m[flag2.cnv.header[j]] = lst[j];
414
+ }
415
+ if (!m.gene) {
416
+ flag2.cnv.badlines.push([i, "missing gene", lst]);
417
+ return;
418
+ }
419
+ if (!m.cnv) {
420
+ flag2.cnv.badlines.push([i, "missing cnv value", lst]);
421
+ return;
422
+ }
423
+ const value = m.cnv.toLowerCase();
424
+ switch (value) {
425
+ case "amplification":
426
+ case "gain":
427
+ m.class = mclasscnvgain;
428
+ break;
429
+ case "deletion":
430
+ case "loss":
431
+ m.class = mclasscnvloss;
432
+ break;
433
+ case "loh":
434
+ m.class = mclasscnvloh;
435
+ break;
436
+ default:
437
+ flag2.cnv.badlines.push([i, "invalid cnv value: " + m.cnv, lst]);
438
+ m.class = null;
439
+ }
440
+ if (!m.class) {
441
+ return;
442
+ }
443
+ if (parsesample(m, flag2, i, lst)) {
444
+ return;
445
+ }
446
+ m.dt = dtcnv;
447
+ flag2.good++;
448
+ const n = flag2.geneToUpper ? m.gene.toUpperCase() : m.gene;
449
+ if (!(n in flag2.data)) {
450
+ flag2.data[n] = [];
451
+ }
452
+ flag2.data[n].push(m);
453
+ }
454
+
455
+ // ../shared/utils/dist/src/bulk.itd.js
456
+ function parseheader5(line, flag2) {
457
+ const header = line.toLowerCase().split(" ");
458
+ if (header.length <= 1) return "invalid header line for ITD";
459
+ const htry = (...lst) => {
460
+ for (const i2 of lst) {
461
+ const j = header.indexOf(i2);
462
+ if (j != -1) return j;
463
+ }
464
+ return -1;
465
+ };
466
+ let i = htry("gene");
467
+ if (i == -1) return "gene missing from header";
468
+ header[i] = "gene";
469
+ i = htry(
470
+ "annovar_isoform",
471
+ "mrna_accession",
472
+ "mrna accession",
473
+ "refseq_mrna_id",
474
+ "annovar_sj_filter_isoform",
475
+ "refseq",
476
+ "isoform"
477
+ );
478
+ if (i == -1) return "isoform missing from header";
479
+ header[i] = "isoform";
480
+ i = htry("rnaposition");
481
+ if (i != -1) {
482
+ header[i] = "rnaposition";
483
+ i = htry("rnaduplength");
484
+ if (i == -1) return "rnaduplength is required when rnaposition is present";
485
+ header[i] = "rnaduplength";
486
+ }
487
+ i = htry("chromosome", "chr");
488
+ if (i != -1) {
489
+ header[i] = "chr";
490
+ i = htry("chr_start");
491
+ if (i == -1) return "chr_start is required when chr is present";
492
+ header[i] = "chrpos1";
493
+ i = htry("chr_stop");
494
+ if (i == -1) return "chr_stop is required when chr is present";
495
+ header[i] = "chrpos2";
496
+ }
497
+ i = htry("sample", "sample_name", "tumor_sample_barcode");
498
+ if (i != -1) header[i] = "sample";
499
+ i = htry("patient", "donor", "target_case_id");
500
+ if (i != -1) header[i] = "patient";
501
+ i = htry("disease");
502
+ if (i != -1) header[i] = "disease";
503
+ i = htry("origin");
504
+ if (i != -1) header[i] = "origin";
505
+ i = htry("sampletype", "sample type", "sample_type");
506
+ if (i != -1) header[i] = "sampletype";
507
+ flag2.itd.header = header;
508
+ flag2.itd.loaded = true;
509
+ return false;
510
+ }
511
+ function parseline5(i, line, flag2) {
512
+ if (line == "" || line[0] == "#") return;
513
+ const lst = line.split(" ");
514
+ const m = {};
515
+ for (let j = 0; j < flag2.itd.header.length; j++) {
516
+ if (lst[j] == void 0) break;
517
+ m[flag2.itd.header[j]] = lst[j];
518
+ }
519
+ if (!m.gene) {
520
+ flag2.itd.badlines.push([i, "missing gene", lst]);
521
+ return;
522
+ }
523
+ if (m.rnaposition) {
524
+ let v = Number.parseInt(m.rnaposition);
525
+ if (Number.isNaN(v) || v < 0) {
526
+ flag2.itd.badlines.push([i, "invalid rnaPosition value", lst]);
527
+ return;
528
+ }
529
+ m.rnaposition = v;
530
+ if (!m.rnaduplength) {
531
+ flag2.itd.badlines.push([i, "missing rnaDuplength value", lst]);
532
+ return;
533
+ }
534
+ v = Number.parseInt(m.rnaduplength);
535
+ if (Number.isNaN(v) || v < 0) {
536
+ flag2.itd.badlines.push([i, "invalid rnaDuplength value", lst]);
537
+ return;
538
+ }
539
+ m.rnaduplength = v;
540
+ }
541
+ if (m.chr) {
542
+ let v = Number.parseInt(m.chrpos1);
543
+ if (Number.isNaN(v) || v < 0) {
544
+ flag2.itd.badlines.push([i, "invalid chr_start value", lst]);
545
+ return;
546
+ }
547
+ m.chrpos1 = v;
548
+ v = Number.parseInt(m.chrpos2);
549
+ if (Number.isNaN(v) || v < 0) {
550
+ flag2.itd.badlines.push([i, "invalid chr_stop value", lst]);
551
+ return;
552
+ }
553
+ m.chrpos2 = v;
554
+ }
555
+ if (parsesample(m, flag2, i, lst)) {
556
+ return;
557
+ }
558
+ m.dt = dtitd;
559
+ m.class = mclassitd;
560
+ m.mname = "ITD";
561
+ flag2.good++;
562
+ const n = flag2.geneToUpper ? m.gene.toUpperCase() : m.gene;
563
+ if (!(n in flag2.data)) {
564
+ flag2.data[n] = [];
565
+ }
566
+ flag2.data[n].push(m);
567
+ }
568
+
569
+ // ../shared/utils/dist/src/bulk.del.js
570
+ function parseheader6(line, flag2) {
571
+ const header = line.toLowerCase().split(" ");
572
+ if (header.length <= 1) return "invalid header line for intragenic deletion";
573
+ const htry = (...lst) => {
574
+ for (const i2 of lst) {
575
+ const j = header.indexOf(i2);
576
+ if (j != -1) return j;
577
+ }
578
+ return -1;
579
+ };
580
+ let i = htry("gene");
581
+ if (i == -1) return "gene missing from header";
582
+ header[i] = "gene";
583
+ i = htry(
584
+ "annovar_isoform",
585
+ "mrna_accession",
586
+ "mrna accession",
587
+ "refseq_mrna_id",
588
+ "annovar_sj_filter_isoform",
589
+ "refseq",
590
+ "isoform"
591
+ );
592
+ if (i == -1) return "isoform missing from header";
593
+ header[i] = "isoform";
594
+ i = htry("rnaposition");
595
+ if (i != -1) {
596
+ header[i] = "rnaposition";
597
+ i = htry("rnadellength");
598
+ if (i == -1) return "rnadellength is required when rnaPosition is used";
599
+ header[i] = "rnadellength";
600
+ }
601
+ i = htry("chromosome", "chr");
602
+ if (i != -1) {
603
+ header[i] = "chr";
604
+ i = htry("chr_start");
605
+ if (i == -1) return "chr_start is required when chr is used";
606
+ header[i] = "chrpos1";
607
+ i = htry("chr_stop");
608
+ if (i == -1) return "chr_stop is required when chr is used";
609
+ header[i] = "chrpos2";
610
+ }
611
+ i = htry("sample", "sample_name", "tumor_sample_barcode");
612
+ if (i != -1) header[i] = "sample";
613
+ i = htry("patient", "donor", "target_case_id");
614
+ if (i != -1) header[i] = "patient";
615
+ i = htry("disease");
616
+ if (i != -1) header[i] = "disease";
617
+ i = htry("origin");
618
+ if (i != -1) header[i] = "origin";
619
+ i = htry("sampletype", "sample type", "sample_type");
620
+ if (i != -1) header[i] = "sampletype";
621
+ flag2.del.header = header;
622
+ flag2.del.loaded = true;
623
+ return false;
624
+ }
625
+ function parseline6(i, line, flag2) {
626
+ if (line == "" || line[0] == "#") return;
627
+ const lst = line.split(" ");
628
+ const m = {};
629
+ for (let j = 0; j < flag2.del.header.length; j++) {
630
+ if (lst[j] == void 0) break;
631
+ m[flag2.del.header[j]] = lst[j];
632
+ }
633
+ if (!m.gene) {
634
+ flag2.del.badlines.push([i, "missing gene", lst]);
635
+ return;
636
+ }
637
+ if (m.rnaposition) {
638
+ let v = Number.parseInt(m.rnaposition);
639
+ if (Number.isNaN(v) || v < 0) {
640
+ flag2.del.badlines.push([i, "invalid rnaPosition value", lst]);
641
+ return;
642
+ }
643
+ m.rnaposition = v;
644
+ if (!m.rnadellength) {
645
+ flag2.del.badlines.push([i, "missing rnaDellength value", lst]);
646
+ return;
647
+ }
648
+ v = Number.parseInt(m.rnadellength);
649
+ if (Number.isNaN(v) || v < 0) {
650
+ flag2.del.badlines.push([i, "invalid rnaDellength value", lst]);
651
+ return;
652
+ }
653
+ m.rnadellength = v;
654
+ }
655
+ if (m.chr) {
656
+ let v = Number.parseInt(m.chrpos1);
657
+ if (Number.isNaN(v) || v < 0) {
658
+ flag2.del.badlines.push([i, "invalid chr_start value", lst]);
659
+ return;
660
+ }
661
+ m.chrpos1 = v;
662
+ v = Number.parseInt(m.chrpos2);
663
+ if (Number.isNaN(v) || v < 0) {
664
+ flag2.del.badlines.push([i, "invalid chr_stop value", lst]);
665
+ return;
666
+ }
667
+ m.chrpos2 = v;
668
+ }
669
+ if (parsesample(m, flag2, i, lst)) {
670
+ return;
671
+ }
672
+ m.dt = dtdel;
673
+ m.class = mclassdel;
674
+ m.mname = "DEL";
675
+ flag2.good++;
676
+ const n = flag2.geneToUpper ? m.gene.toUpperCase() : m.gene;
677
+ if (!(n in flag2.data)) {
678
+ flag2.data[n] = [];
679
+ }
680
+ flag2.data[n].push(m);
681
+ }
682
+
683
+ // ../shared/utils/dist/src/bulk.trunc.js
684
+ function parseheader7(line, flag2) {
685
+ const header = line.toLowerCase().split(" ");
686
+ if (header.length <= 1) return "invalid header line for truncation";
687
+ const htry = (...lst) => {
688
+ for (const e of lst) {
689
+ const j = header.indexOf(e);
690
+ if (j != -1) return j;
691
+ }
692
+ return -1;
693
+ };
694
+ let i = htry("gene");
695
+ if (i == -1) return "gene missing from header";
696
+ header[i] = "gene";
697
+ i = htry(
698
+ "annovar_isoform",
699
+ "mrna_accession",
700
+ "mrna accession",
701
+ "refseq_mrna_id",
702
+ "annovar_sj_filter_isoform",
703
+ "refseq",
704
+ "isoform"
705
+ );
706
+ if (i == -1) return "isoform missing from header";
707
+ header[i] = "isoform";
708
+ let hasrnapos = false;
709
+ i = htry("rnaposition");
710
+ if (i != -1) {
711
+ header[i] = "rnaposition";
712
+ hasrnapos = true;
713
+ }
714
+ i = htry("losstype");
715
+ if (i == -1) return "lossType missing from header";
716
+ header[i] = "losstype";
717
+ let hasgenomic = false;
718
+ i = htry("chromosome", "chr");
719
+ if (i != -1) {
720
+ header[i] = "chr";
721
+ i = htry("start", "start_position", "wu_hg19_pos", "chr_position", "position");
722
+ if (i == -1) {
723
+ return "genomic position missing from header";
724
+ }
725
+ header[i] = "pos";
726
+ hasgenomic = true;
727
+ }
728
+ if (!hasrnapos && !hasgenomic) {
729
+ return "neither rnaposition nor genomic position is given";
730
+ }
731
+ i = htry("sample", "sample_name", "tumor_sample_barcode");
732
+ if (i != -1) header[i] = "sample";
733
+ i = htry("patient", "donor", "target_case_id");
734
+ if (i != -1) header[i] = "patient";
735
+ i = htry("disease");
736
+ if (i != -1) header[i] = "disease";
737
+ i = htry("origin");
738
+ if (i != -1) header[i] = "origin";
739
+ i = htry("sampletype", "sample type", "sample_type");
740
+ if (i != -1) header[i] = "sampletype";
741
+ flag2.truncation.header = header;
742
+ flag2.truncation.loaded = true;
743
+ return false;
744
+ }
745
+ function parseline7(i, line, flag2) {
746
+ if (line == "" || line[0] == "#") return;
747
+ const lst = line.split(" ");
748
+ const m = {};
749
+ for (let j = 0; j < flag2.truncation.header.length; j++) {
750
+ m[flag2.truncation.header[j]] = lst[j];
751
+ }
752
+ if (!m.gene) {
753
+ flag2.truncation.badlines.push([i, "missing gene", lst]);
754
+ return;
755
+ }
756
+ if (m.rnaposition) {
757
+ const v = Number.parseInt(m.rnaposition);
758
+ if (Number.isNaN(v) || v < 0) {
759
+ flag2.truncation.badlines.push([i, "invalid rnaPosition value", lst]);
760
+ return;
761
+ }
762
+ m.rnaposition = v;
763
+ }
764
+ if (m.pos) {
765
+ const v = Number.parseInt(m.pos);
766
+ if (Number.isNaN(v) || v < 0) {
767
+ flag2.truncation.badlines.push([i, "invalid genomic position", lst]);
768
+ return;
769
+ }
770
+ m.pos = v;
771
+ }
772
+ if (!m.losstype) {
773
+ flag2.truncation.badlines.push([i, "missing lossType value", lst]);
774
+ return;
775
+ }
776
+ if (m.losstype != "n" && m.losstype != "c") {
777
+ flag2.truncation.badlines.push([i, 'lossType value not "n" or "c"', lst]);
778
+ return;
779
+ }
780
+ if (parsesample(m, flag2, i, lst)) {
781
+ return;
782
+ }
783
+ if (m.losstype == "n") {
784
+ m.dt = dtnloss;
785
+ m.class = mclassnloss;
786
+ m.mname = "N-loss";
787
+ } else {
788
+ m.dt = dtcloss;
789
+ m.class = mclasscloss;
790
+ m.mname = "C-loss";
791
+ }
792
+ flag2.good++;
793
+ const n = flag2.geneToUpper ? m.gene.toUpperCase() : m.gene;
794
+ if (!(n in flag2.data)) {
795
+ flag2.data[n] = [];
796
+ }
797
+ flag2.data[n].push(m);
798
+ }
799
+
800
+ // src/bulk.project.js
801
+ var schemaNames = ["heatmapJSON", "piebarJSON", "survivalJSON", "discoJSON", "riverJSON"];
802
+ var typeIndex = {
803
+ snvindel: 0,
804
+ si: 0,
805
+ sv: 1,
806
+ fusion: 2,
807
+ itd: 3,
808
+ deletion: 4,
809
+ truncation: 5,
810
+ cnv: 6
811
+ };
812
+ var urlProjectLoaded = false;
813
+ var ProjectHandler = class {
814
+ /*
815
+ Create a handler for multiple uploaded or fetched
816
+ files in a project
817
+
818
+ bt = {
819
+ flag: closured flag inside bulkui.bulkui,
820
+ bulkin: bulkui.bulkin,
821
+ content2flag: bulkui.content2flag,
822
+ flag2tp: closured flat2tp,
823
+ filediv: (optional) d3-wrapped container for file-input
824
+ }
825
+ */
826
+ constructor(bt) {
827
+ this.bt = bt;
828
+ this.err = this.errHandler();
829
+ if (!urlProjectLoaded) {
830
+ const params = getParams();
831
+ if (params.project) {
832
+ this.getData(params.project);
833
+ urlProjectLoaded = true;
834
+ }
835
+ }
836
+ if (bt.filediv) {
837
+ this.projectByInput(bt.filediv);
838
+ }
839
+ }
840
+ /*
841
+ Process data files sequentially for rendering
842
+ into a TP div
843
+
844
+ data = {
845
+ schemas: object {
846
+ heatmapJSON (optional),
847
+ piebarJSON (optional),
848
+ survivalJSON (optional)
849
+ },
850
+ files: [] array of {
851
+ name: string
852
+ typeL one of the typeIndex values
853
+ content: string
854
+ }
855
+ }
856
+ */
857
+ processData(data) {
858
+ const file = data.files.pop();
859
+ const i = data.expectedFileNames.indexOf(file.name);
860
+ if (i == -1) {
861
+ if (data.files.length)
862
+ setTimeout(() => {
863
+ this.processData(data);
864
+ }, 1);
865
+ return;
866
+ }
867
+ data.expectedFileNames.splice(i, 1);
868
+ this.cohort = {
869
+ name: "project",
870
+ genome: this.bt.genomes[this.bt.gselect.options[this.bt.gselect.selectedIndex].innerHTML]
871
+ };
872
+ if (!this.flag) {
873
+ this.flag = this.bt.init_bulk_flag(this.cohort.genome);
874
+ }
875
+ const error = this.bt.content2flag(file.content, file.type, this.flag);
876
+ if (error) {
877
+ this.err(error);
878
+ this.processData(data);
879
+ } else if (!data.files.length) {
880
+ if (data.expectedFileNames.length) {
881
+ this.err('These referenced files were not found: "' + data.expectedFileNames.join('", "') + '".');
882
+ }
883
+ this.bt.flag2tp(this.flag, { name: "project" }, Object.assign(this.cohort, data.schema), this.ds);
884
+ return;
885
+ } else {
886
+ if (!this.ds) {
887
+ for (const k in this.cohort.dsset) {
888
+ this.ds = this.cohort.dsset[k];
889
+ break;
890
+ }
891
+ }
892
+ const error1 = this.bt.bulkin(
893
+ {
894
+ flag: this.flag,
895
+ cohort: this.cohort,
896
+ flag2thisds: this.ds,
897
+ filename: "project"
898
+ },
899
+ () => {
900
+ this.processData(data);
901
+ }
902
+ );
903
+ if (error1) {
904
+ this.err("Error with " + file.name + ": " + error1);
905
+ return;
906
+ }
907
+ if (this.flag.good === 0) {
908
+ this.err(file.name + ": no data loaded");
909
+ return;
910
+ }
911
+ }
912
+ }
913
+ getData(project) {
914
+ const [projectname, _refname] = project.split("/");
915
+ const refname = _refname && _refname.trim() ? _refname.trim() : "ref.txt";
916
+ this.gettext("/data/projects/" + projectname + "/" + refname, (text) => {
917
+ const fileNameToType = {};
918
+ const nameToSchemaType = {};
919
+ const data = { schema: {}, files: [], expectedFileNames: [] };
920
+ let schemaFileName = "";
921
+ let numProcessedFiles = 0;
922
+ let numFiles = 0;
923
+ text.trim().split("\n").forEach((line) => {
924
+ const [type, filename] = line.trim().split(" ");
925
+ if (schemaNames.includes(type)) {
926
+ nameToSchemaType[filename] = type;
927
+ numFiles += 1;
928
+ } else if (!typeIndex[type] && typeIndex[type] !== 0) {
929
+ this.err("Unrecognized type " + type + " for file " + filename + " in reference.txt.");
930
+ } else {
931
+ fileNameToType[filename] = typeIndex[type];
932
+ numFiles += 1;
933
+ }
934
+ });
935
+ data.expectedFileNames = Object.keys(fileNameToType);
936
+ const tracker = this.getTracker(numFiles, () => this.processData(data));
937
+ Object.keys(nameToSchemaType).forEach((filename) => {
938
+ this.getjson("/data/projects/" + projectname + "/" + filename, (json) => {
939
+ data.schema[nameToSchemaType[filename]] = json;
940
+ tracker();
941
+ });
942
+ });
943
+ Object.keys(fileNameToType).forEach((filename) => {
944
+ this.gettext("/data/projects/" + projectname + "/" + filename, (text2) => {
945
+ data.files.push({
946
+ name: filename,
947
+ type: fileNameToType[filename],
948
+ content: text2
949
+ });
950
+ tracker();
951
+ });
952
+ });
953
+ });
954
+ }
955
+ gettext(url, callback) {
956
+ fetch(url).then((response) => {
957
+ if (response.ok) return response.text();
958
+ else this.err("File request error: " + url);
959
+ }).then(callback).catch((error) => this.err("File request error: " + url + " " + error));
960
+ }
961
+ getjson(url, callback) {
962
+ fetch(url).then((response) => {
963
+ if (response.ok) return response.json();
964
+ else this.err("Network error for " + url);
965
+ }).then(callback).catch((error) => this.err("file request error: " + url + " " + error));
966
+ }
967
+ getTracker(numFiles, callback) {
968
+ let numProcessedFiles = 0;
969
+ return function tracker() {
970
+ numProcessedFiles += 1;
971
+ if (numProcessedFiles == numFiles) {
972
+ callback();
973
+ }
974
+ };
975
+ }
976
+ projectByInput(filediv) {
977
+ this.tp = null;
978
+ const advancedDiv = filediv.append("div");
979
+ advancedDiv.append("span").html("Project: reference &nbsp;");
980
+ this.refNameInput = advancedDiv.append("input").attr("type", "text").property("value", "ref.txt").style("margin-right", "20px").style("padding-left", "7px");
981
+ const buttlabel = advancedDiv.append("label").attr("for", "sja-pp-bulk-ui-project-btn").attr("class", "sja_btn").style("padding", "3px 5px").html("Choose folder");
982
+ 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));
983
+ 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> |
984
+ <a href='https://proteinpaint.stjude.org/ppdemo/projects/target-tall-project/ref.txt' target=_blank>Example project reference file</a>`);
985
+ advancedDiv.append("div").style("margin", "20px").style("width", "100%").html("-- OR --");
986
+ }
987
+ /* to be used as a file input (FileList) handler */
988
+ readFiles(event) {
989
+ const self = this;
990
+ const refFileName = self.refNameInput.property("value");
991
+ const files = Array.from(event.target.files);
992
+ const ref = files.filter((f) => f.name == refFileName)[0];
993
+ if (!ref) {
994
+ self.err("Missing reference file='" + refFileName + "'.");
995
+ return;
996
+ }
997
+ const fileNameToType = {};
998
+ const nameToSchemaType = {};
999
+ const data = { schema: {}, files: [], expectedFileNames: [] };
1000
+ const reader = new FileReader();
1001
+ let schemaFileName = "";
1002
+ let numProcessedFiles = 0;
1003
+ reader.onload = (event2) => {
1004
+ event2.target.result.trim().split("\n").forEach((line) => {
1005
+ const [type, filename] = line.trim().split(" ");
1006
+ if (schemaNames.includes(type)) {
1007
+ nameToSchemaType[filename] = type;
1008
+ } else if (!typeIndex[type] && typeIndex[type] !== 0) {
1009
+ self.err("Unrecognized type " + type + " for file " + filename + " in reference.txt.");
1010
+ } else {
1011
+ fileNameToType[filename] = typeIndex[type];
1012
+ }
1013
+ });
1014
+ data.expectedFileNames = Object.keys(fileNameToType);
1015
+ const schemaFiles = files.filter((file) => file.name in nameToSchemaType);
1016
+ let numProcessedSchemas = 0;
1017
+ if (!schemaFiles.length) {
1018
+ files.forEach(processFile);
1019
+ } else {
1020
+ schemaFiles.forEach((file) => {
1021
+ const reader2 = new FileReader();
1022
+ reader2.onload = (event3) => {
1023
+ const schema = JSON.parse(event3.target.result);
1024
+ numProcessedSchemas += 1;
1025
+ if (!schema) {
1026
+ self.err('Unable to parse schema file="' + file.name + '".');
1027
+ } else {
1028
+ data.schema[nameToSchemaType[file.name]] = schema;
1029
+ }
1030
+ if (numProcessedSchemas == schemaFiles.length) {
1031
+ files.forEach(processFile);
1032
+ }
1033
+ };
1034
+ reader2.onerror = () => {
1035
+ self.err("Error reading schema.txt.");
1036
+ };
1037
+ reader2.readAsText(file, "utf8");
1038
+ });
1039
+ }
1040
+ function processFile(file) {
1041
+ if (!data.expectedFileNames.includes(file.name)) {
1042
+ numProcessedFiles += 1;
1043
+ return;
1044
+ }
1045
+ if (!file) {
1046
+ self.err("Error reading file.");
1047
+ numProcessedFiles += 1;
1048
+ return;
1049
+ }
1050
+ if (file.size == 0) {
1051
+ self.err("Wrong file: " + file.name);
1052
+ numProcessedFiles += 1;
1053
+ return;
1054
+ }
1055
+ if (!fileNameToType[file.name] && fileNameToType[file.name] !== 0 && file.name != schemaFileName) {
1056
+ self.err("Missing or invalid type assigned to file " + file.name + ".");
1057
+ numProcessedFiles += 1;
1058
+ return;
1059
+ }
1060
+ const reader2 = new FileReader();
1061
+ reader2.onload = (event3) => {
1062
+ numProcessedFiles += 1;
1063
+ data.files.push({
1064
+ name: file.name,
1065
+ type: fileNameToType[file.name],
1066
+ content: event3.target.result
1067
+ });
1068
+ if (numProcessedFiles == files.length) {
1069
+ self.processData(data);
1070
+ }
1071
+ };
1072
+ reader2.onerror = () => {
1073
+ numProcessedFiles += 1;
1074
+ self.err("Error reading file " + file.name);
1075
+ if (numProcessedFiles == files.length) {
1076
+ self.processData(data);
1077
+ }
1078
+ };
1079
+ reader2.readAsText(file, "utf8");
1080
+ }
1081
+ };
1082
+ reader.onerror = () => {
1083
+ self.err("Error reading reference.txt.");
1084
+ };
1085
+ reader.readAsText(ref, "utf8");
1086
+ }
1087
+ // function to track and display accumulated error messages
1088
+ errHandler() {
1089
+ const errdiv = select_default("body").append("div");
1090
+ let mssg = "";
1091
+ return function(m) {
1092
+ if (!m) return;
1093
+ sayerror(errdiv, m);
1094
+ };
1095
+ }
1096
+ };
1097
+ function getParams() {
1098
+ const params = {};
1099
+ window.location.search.substr(1).split("&").forEach((kv) => {
1100
+ const [key, value] = kv.split("=");
1101
+ params[key] = value;
1102
+ });
1103
+ return params;
1104
+ }
1105
+
1106
+ // src/bulk.ui.js
1107
+ function bulkui(x, y, genomes, hostURL, holder, header) {
1108
+ let pane, inputdiv, gselect, filediv, saydiv, visualdiv;
1109
+ if (holder !== void 0) [inputdiv, gselect, filediv, saydiv, visualdiv] = renderSandboxFormDiv(holder, genomes);
1110
+ else {
1111
+ ;
1112
+ [pane, inputdiv, gselect, filediv, saydiv, visualdiv] = newpane3(x, y, genomes);
1113
+ pane.header.text("Load mutation from text files");
1114
+ }
1115
+ inputdiv.append("div").style("margin", "20px 0px").style("color", "#858585").html(`
1116
+ <p>Choose one file and upload to initiate the display panel.<br>From there you can add additional files.</p>
1117
+ <div>Supported data types:</div>
1118
+ <ul>
1119
+ <li>SNV and indel</li>
1120
+ <ul>
1121
+ <li><a href=https://drive.google.com/open?id=1OJ9aXq2_-a3BfIQdKLYCYzrJRTpu4_9i3gephTY-Z38 target=_blank>Format</a>,
1122
+ <a href=https://proteinpaint.stjude.org/ppdemo/hg19/heatmap/exampleFiles/example.snvindel.txt target=_blank>example file</a></li>
1123
+ </ul>
1124
+ <li>SV or fusion transcript</li>
1125
+ <ul>
1126
+ <li><a href=https://drive.google.com/open?id=1klDZ0MHVkQTW2-lCu_AvpRE4_FcbhdB-yI17wNdPaOM target=_blank>Tabular format</a>,
1127
+ <a href=https://proteinpaint.stjude.org/ppdemo/hg19/heatmap/exampleFiles/example.svfusion.txt target=_blank>example file</a>
1128
+ </li>
1129
+ <li>JSON-format, to come</li>
1130
+ </ul>
1131
+ <li>CNV, gene-level</li>
1132
+ <ul>
1133
+ <li><a href=https://drive.google.com/open?id=1WHptqOWNf96V0bYEDpj-EsKZGYnbBNc9aQIrhzdEJaU target=_blank>Format</a>,
1134
+ <a href=https://proteinpaint.stjude.org/ppdemo/hg19/heatmap/exampleFiles/example.cnv.txt target=_blank>example file</a>
1135
+ </li>
1136
+ </ul>
1137
+ <li>ITD</li>
1138
+ <ul>
1139
+ <li>Internal tandem duplication, in-frame</li>
1140
+ <li><a href=https://drive.google.com/open?id=1Bh9awBsraoHbV8iWXv_3oDeXMsjIAHaOKHr973IJyZc target=_blank>Format</a>,
1141
+ <a href=https://proteinpaint.stjude.org/ppdemo/hg19/heatmap/exampleFiles/example.itd.txt target=_blank>example file</a>
1142
+ </li>
1143
+ </ul>
1144
+ <li>Intragenic deletion, in-frame</li>
1145
+ <ul>
1146
+ <li><a href=https://drive.google.com/open?id=1tWbf3rg3BmVIZPGGPk023P0aBkDw_ry5XuZLGyGodyg target=_blank>Format</a>,
1147
+ <a href=https://proteinpaint.stjude.org/ppdemo/hg19/heatmap/exampleFiles/example.deletion.txt target=_blank>example file</a>
1148
+ </li>
1149
+ </ul>
1150
+ <li>Truncation</li>
1151
+ <ul>
1152
+ <li>Either N-terminus loss or C-terminus loss</li>
1153
+ <li><a href=https://drive.google.com/open?id=1P1g-Y8r30pSKfan1BhYZcsUtSk7wRb4plaO1S-JCJr4 target=_blank>Format</a>,
1154
+ <a href=https://proteinpaint.stjude.org/ppdemo/hg19/heatmap/exampleFiles/example.truncation.txt target=_blank>example file</a>
1155
+ </li>
1156
+ </ul>
1157
+ </ul>`);
1158
+ const fileui = () => {
1159
+ filediv.selectAll("*").remove();
1160
+ new ProjectHandler({
1161
+ bulkin,
1162
+ genomes,
1163
+ gselect,
1164
+ content2flag,
1165
+ flag2tp,
1166
+ filediv,
1167
+ init_bulk_flag
1168
+ });
1169
+ filediv.append("span").html("Select data type&nbsp;");
1170
+ const typeselect = filetypeselect(filediv).style("margin-right", "20px");
1171
+ const butt = filediv.append("input").attr("type", "file").on("change", (event) => {
1172
+ const flag2 = init_bulk_flag(genomes[gselect.options[gselect.selectedIndex].innerHTML]);
1173
+ flag2.geneToUpper = geneToUpper.property("checked");
1174
+ saydiv.text("");
1175
+ const file = event.target.files[0];
1176
+ if (!file) {
1177
+ fileui();
1178
+ return;
1179
+ }
1180
+ if (file.size == 0) {
1181
+ saydiv.text("Wrong file: " + file.name);
1182
+ fileui();
1183
+ return;
1184
+ }
1185
+ const reader = new FileReader();
1186
+ reader.onload = (event2) => {
1187
+ const error = content2flag(event2.target.result, typeselect.node().selectedIndex, flag2);
1188
+ if (error) {
1189
+ saydiv.text("Error: " + error);
1190
+ fileui();
1191
+ return;
1192
+ }
1193
+ flag2tp(flag2, file);
1194
+ };
1195
+ reader.onerror = function() {
1196
+ saydiv.text("Error reading file " + file.name);
1197
+ fileui();
1198
+ return;
1199
+ };
1200
+ saydiv.text("Parsing file " + file.name + " ...");
1201
+ reader.readAsText(file, "utf8");
1202
+ });
1203
+ setTimeout(() => butt.node().focus(), 1100);
1204
+ };
1205
+ fileui();
1206
+ filediv.append("span").html("<br/>Convert gene name to uppercase &nbsp;");
1207
+ const geneToUpper = filediv.append("span").append("input").attr("type", "checkbox").property("checked", true);
1208
+ function flag2tp(flag2, file, _cohort = null, ds = null) {
1209
+ if (typeof flag2 == "string") {
1210
+ saydiv.text(flag2);
1211
+ fileui();
1212
+ return;
1213
+ }
1214
+ saydiv.text("");
1215
+ fileui();
1216
+ const cohort = _cohort ? _cohort : Object.assign({
1217
+ genome: flag2.genome,
1218
+ name: file.name
1219
+ });
1220
+ const err2 = bulkin({
1221
+ flag: flag2,
1222
+ filename: file.name,
1223
+ cohort,
1224
+ flag2thisds: ds
1225
+ });
1226
+ if (err2) {
1227
+ saydiv.text("Error with " + file.name + ": " + err2);
1228
+ return;
1229
+ }
1230
+ if (flag2.good == 0) {
1231
+ saydiv.text("No mutations can be loaded");
1232
+ return;
1233
+ }
1234
+ let visual_holder;
1235
+ if (pane) {
1236
+ disappear(pane.pane);
1237
+ const pane2 = newpane({ x: 100, y: 100, toshrink: true });
1238
+ pane2.header.html('<span style="opacity:.5">FILE</span> ' + file.name);
1239
+ visual_holder = pane2.body;
1240
+ }
1241
+ if (holder !== void 0) {
1242
+ visual_holder = visualdiv.append("div").html('<span style="opacity:.5">FILE</span> ' + file.name);
1243
+ }
1244
+ inputdiv.selectAll("*").remove();
1245
+ import("./tp.ui-T6XXBHHD.js").then((tpui) => {
1246
+ tpui.default(cohort, visual_holder, hostURL);
1247
+ });
1248
+ return cohort;
1249
+ }
1250
+ return function content2flag2tp(file, type) {
1251
+ const error = content2flag(file.content, type, flag);
1252
+ if (error) {
1253
+ saydiv.text("Error: " + error);
1254
+ fileui();
1255
+ return;
1256
+ }
1257
+ flag2tp(flag, file);
1258
+ };
1259
+ }
1260
+ function content2flag(text, type, flag2) {
1261
+ if (!flag2) return "should not happen!";
1262
+ let err2;
1263
+ switch (type) {
1264
+ case 0:
1265
+ err2 = parse_snvindel(text, flag2);
1266
+ if (err2) return err2;
1267
+ break;
1268
+ case 1:
1269
+ err2 = parse_sv(text, flag2, true);
1270
+ if (err2) return err2;
1271
+ break;
1272
+ case 2:
1273
+ err2 = parse_sv(text, flag2, false);
1274
+ if (err2) return err2;
1275
+ break;
1276
+ case 3:
1277
+ err2 = parse_itd(text, flag2);
1278
+ if (err2) return err2;
1279
+ break;
1280
+ case 4:
1281
+ err2 = parse_del(text, flag2);
1282
+ if (err2) return err2;
1283
+ break;
1284
+ case 5:
1285
+ err2 = parse_trunc(text, flag2);
1286
+ if (err2) return err2;
1287
+ break;
1288
+ case 6:
1289
+ err2 = parse_cnv(text, flag2);
1290
+ if (err2) return err2;
1291
+ break;
1292
+ default:
1293
+ return "unknown option array index from file type <select>: " + type;
1294
+ }
1295
+ }
1296
+ function bulkin(p, callback = null) {
1297
+ const flag2 = p.flag;
1298
+ const cohort = p.cohort;
1299
+ if (!cohort.p2st) {
1300
+ cohort.p2st = {};
1301
+ }
1302
+ if (!cohort.dsset) {
1303
+ cohort.dsset = {};
1304
+ }
1305
+ if (!cohort.assaylst) {
1306
+ cohort.assaylst = [];
1307
+ }
1308
+ if (flag2.variantgene) {
1309
+ if (cohort.variantgene) {
1310
+ return "variantgene already set for this cohort";
1311
+ }
1312
+ cohort.variantgene = flag2.variantgene;
1313
+ }
1314
+ if (flag2.snv.badlines.length > 0) {
1315
+ bulk_badline(flag2.snv.header, flag2.snv.badlines);
1316
+ }
1317
+ if (flag2.fusion.badlines.length > 0) {
1318
+ bulk_badline(flag2.fusion.header, flag2.fusion.badlines);
1319
+ }
1320
+ if (flag2.sv.badlines.length > 0) {
1321
+ bulk_badline(flag2.sv.header, flag2.sv.badlines);
1322
+ }
1323
+ if (flag2.cnv.badlines.length > 0) {
1324
+ bulk_badline(flag2.cnv.header, flag2.cnv.badlines);
1325
+ }
1326
+ if (flag2.itd.badlines.length > 0) {
1327
+ bulk_badline(flag2.itd.header, flag2.itd.badlines);
1328
+ }
1329
+ if (flag2.del.badlines.length > 0) {
1330
+ bulk_badline(flag2.del.header, flag2.del.badlines);
1331
+ }
1332
+ if (flag2.truncation.badlines.length > 0) {
1333
+ bulk_badline(flag2.truncation.header, flag2.truncation.badlines);
1334
+ }
1335
+ if (flag2.good == 0) {
1336
+ return false;
1337
+ }
1338
+ const tmp = {};
1339
+ let hastumormaf = false;
1340
+ if (flag2.snv.loaded) {
1341
+ for (const i of flag2.snv.header) {
1342
+ tmp[i] = 1;
1343
+ }
1344
+ if ("maf_tumor_v1" in tmp && "maf_tumor_v2" in tmp) {
1345
+ hastumormaf = true;
1346
+ }
1347
+ }
1348
+ if (flag2.cnv.loaded) {
1349
+ for (const i of flag2.cnv.header) {
1350
+ tmp[i] = 1;
1351
+ }
1352
+ }
1353
+ if (flag2.fusion.loaded) {
1354
+ for (const i of flag2.fusion.header) {
1355
+ tmp[i] = 1;
1356
+ }
1357
+ }
1358
+ if (flag2.sv.loaded) {
1359
+ for (const i of flag2.sv.header) {
1360
+ tmp[i] = 1;
1361
+ }
1362
+ }
1363
+ if (flag2.itd.loaded) {
1364
+ for (const i of flag2.itd.header) {
1365
+ tmp[i] = 1;
1366
+ }
1367
+ }
1368
+ if (flag2.del.loaded) {
1369
+ for (const i of flag2.del.header) {
1370
+ tmp[i] = 1;
1371
+ }
1372
+ }
1373
+ if (flag2.truncation.loaded) {
1374
+ for (const i of flag2.truncation.header) {
1375
+ tmp[i] = 1;
1376
+ }
1377
+ }
1378
+ const hassample = "sample" in tmp || "patient" in tmp;
1379
+ const hasdisease = "disease" in tmp;
1380
+ const hasst = "sampletype" in tmp;
1381
+ let dsc;
1382
+ if (p.flag2thisds) {
1383
+ dsc = p.flag2thisds;
1384
+ if (hassample && !dsc.hassample) {
1385
+ return '"sample" column found in new data but not in existing data';
1386
+ }
1387
+ if (!hassample && dsc.hassample) {
1388
+ return '"sample" column found in existing data but not in new data';
1389
+ }
1390
+ if (hasdisease && !dsc.hasdisease) {
1391
+ return '"disease" column found in new data but not in existing data';
1392
+ }
1393
+ if (!hasdisease && dsc.hasdisease) {
1394
+ return '"disease" column found in existing data but not in new data';
1395
+ }
1396
+ if (hasst && !dsc.hasst) {
1397
+ return '"sampletype" column found in new data but not in existing data';
1398
+ }
1399
+ if (!hasst && dsc.hasst) {
1400
+ return '"sampletype" column found in existing data but not in new data';
1401
+ }
1402
+ for (const genename in flag2.data) {
1403
+ const lst = dsc.bulkdata[genename];
1404
+ if (lst) {
1405
+ dsc.bulkdata[genename] = lst.concat(flag2.data[genename]);
1406
+ } else {
1407
+ dsc.bulkdata[genename] = flag2.data[genename];
1408
+ }
1409
+ }
1410
+ } else {
1411
+ let dsname = p.filename + (flag2.tpsetname ? "_" + flag2.tpsetname : "");
1412
+ if (dsname in flag2.genome.datasets) {
1413
+ let j = 1;
1414
+ let n2 = dsname + " " + j;
1415
+ while (n2 in flag2.genome.datasets) {
1416
+ j++;
1417
+ n2 = dsname + " " + j;
1418
+ }
1419
+ dsname = n2;
1420
+ }
1421
+ dsc = {
1422
+ label: dsname,
1423
+ bulkdata: flag2.data,
1424
+ // official dataset don't have this
1425
+ hassample,
1426
+ hasdisease,
1427
+ hastumormaf,
1428
+ hasst,
1429
+ genome: cohort.genome,
1430
+ import: {},
1431
+ imported: {},
1432
+ importsilent: flag2.snv.silent == 0 ? false : flag2.snv.missense / flag2.snv.silent >= 5 ? false : true
1433
+ };
1434
+ flag2.genome.datasets[dsname] = dsc;
1435
+ cohort.dsset[dsname] = dsc;
1436
+ if (cohort.dbexpression) {
1437
+ if (cohort.dbexpression.tidy) {
1438
+ try {
1439
+ cohort.dbexpression.tidy = new Function(...cohort.dbexpression.tidy);
1440
+ } catch (e) {
1441
+ err("invalid JavaScript for dbexpression.tidy");
1442
+ delete cohort.dbexpression;
1443
+ }
1444
+ }
1445
+ dsc.dbexpression = cohort.dbexpression;
1446
+ }
1447
+ if (hasdisease) {
1448
+ dsc.stratify = [
1449
+ {
1450
+ label: "disease",
1451
+ attr1: { k: "disease", label: "disease" }
1452
+ }
1453
+ ];
1454
+ }
1455
+ }
1456
+ if (hassample) {
1457
+ for (const gene in flag2.data) {
1458
+ for (const m of flag2.data[gene]) {
1459
+ let pn = m.patient;
1460
+ if (!pn) {
1461
+ pn = m.sample;
1462
+ if (!pn) {
1463
+ continue;
1464
+ }
1465
+ }
1466
+ if (!cohort.p2st[pn]) {
1467
+ cohort.p2st[pn] = {};
1468
+ }
1469
+ let st = m.sampletype;
1470
+ if (!st) {
1471
+ st = pn;
1472
+ }
1473
+ if (!cohort.p2st[pn][st]) {
1474
+ cohort.p2st[pn][st] = {
1475
+ dsset: {},
1476
+ tktemplate: []
1477
+ };
1478
+ }
1479
+ if (!cohort.p2st[pn][st].dsset[dsc.label]) {
1480
+ cohort.p2st[pn][st].dsset[dsc.label] = [];
1481
+ }
1482
+ cohort.p2st[pn][st].dsset[dsc.label].push(m);
1483
+ }
1484
+ }
1485
+ }
1486
+ if (callback) callback();
1487
+ return false;
1488
+ }
1489
+ function bulkembed(arg) {
1490
+ if (!arg.name) arg.name = "Unnamed dataset";
1491
+ let holder = arg.holder;
1492
+ if (!holder) {
1493
+ const pane = newpane({ x: 100, y: 100 });
1494
+ holder = pane.body;
1495
+ }
1496
+ const saydiv = holder.append("div");
1497
+ new Promise((resolve, reject) => {
1498
+ const cohort = {
1499
+ dsset: {}
1500
+ };
1501
+ for (const k in arg) {
1502
+ if (k == "snvindel" || k == "svjson" || k == "cnv" || k == "sv" || k == "mutationset") {
1503
+ continue;
1504
+ }
1505
+ cohort[k] = arg[k];
1506
+ }
1507
+ resolve(cohort);
1508
+ }).then((cohort) => {
1509
+ if (!arg.snvindel && !arg.svjson && !arg.cnv && !arg.sv) return cohort;
1510
+ const flag2 = init_bulk_flag(cohort.genome);
1511
+ if (arg.snvindel) {
1512
+ const e = parse_snvindel(arg.snvindel, flag2);
1513
+ if (e) throw { message: "error in snvindel data: " + e };
1514
+ delete arg.snvindel;
1515
+ }
1516
+ if (arg.svjson) {
1517
+ const e = parse_svjson(arg.svjson, flag2);
1518
+ if (e) throw { message: "error in svjson data: " + e };
1519
+ delete arg.svjson;
1520
+ }
1521
+ if (arg.sv) {
1522
+ const e = parse_sv(arg.sv, flag2);
1523
+ if (e) throw { message: "error in svjson data: " + e };
1524
+ delete arg.sv;
1525
+ }
1526
+ if (arg.cnv) {
1527
+ const e = parse_cnv(arg.cnv, flag2);
1528
+ if (e) throw { message: "error in cnv data: " + e };
1529
+ delete arg.cnv;
1530
+ }
1531
+ const err2 = bulkin({
1532
+ flag: flag2,
1533
+ filename: arg.name,
1534
+ cohort
1535
+ });
1536
+ if (err2) throw { message: "Error parsing data: " + err2 };
1537
+ return cohort;
1538
+ }).then((cohort) => {
1539
+ if (!arg.mutationset) return cohort;
1540
+ if (!Array.isArray(arg.mutationset)) throw { message: "mutationset is not an array" };
1541
+ const tasks2 = [];
1542
+ for (const mset of arg.mutationset) {
1543
+ const flag2 = init_bulk_flag(cohort.genome);
1544
+ const tasks = [];
1545
+ if (mset.snvindel) {
1546
+ const req = new Request(arg.hostURL + "/textfile", {
1547
+ method: "POST",
1548
+ body: '{"file":"' + mset.snvindel + '"}'
1549
+ });
1550
+ const task = fetch(req).then((data) => {
1551
+ return data.json();
1552
+ }).then((data) => {
1553
+ if (data.error) throw { message: "error with snvindel file: " + data.error };
1554
+ const e = parse_snvindel(data.text, flag2);
1555
+ if (e) throw { message: "error with snvindel file: " + e };
1556
+ });
1557
+ tasks.push(task);
1558
+ }
1559
+ if (mset.snvindel_url) {
1560
+ tasks.push(
1561
+ dofetch("urltextfile", { url: mset.snvindel_url }).then((data) => {
1562
+ if (data.error) throw { message: "cannot get snvindel file from url" };
1563
+ const e = parse_snvindel(data.text, flag2);
1564
+ if (e) throw { message: "error with snvindel file: " + e };
1565
+ })
1566
+ );
1567
+ }
1568
+ if (mset.cnv) {
1569
+ const req = new Request(arg.hostURL + "/textfile", {
1570
+ method: "POST",
1571
+ body: '{"file":"' + mset.cnv + '"}'
1572
+ });
1573
+ const task = fetch(req).then((data) => {
1574
+ return data.json();
1575
+ }).then((data) => {
1576
+ if (data.error) throw { message: "error with cnv file: " + data.error };
1577
+ const e = parse_cnv(data.text, flag2);
1578
+ if (e) throw { message: "error with cnv file: " + e };
1579
+ });
1580
+ tasks.push(task);
1581
+ }
1582
+ if (mset.cnv_url) {
1583
+ tasks.push(
1584
+ dofetch("urltextfile", { url: mset.cnv_url }).then((data) => {
1585
+ if (data.error) throw { message: "cannot get cnv file from url" };
1586
+ const e = parse_cnv(data.text, flag2);
1587
+ if (e) throw { message: "error with cnv file: " + e };
1588
+ })
1589
+ );
1590
+ }
1591
+ if (mset.sv) {
1592
+ const req = new Request(arg.hostURL + "/textfile", {
1593
+ method: "POST",
1594
+ body: '{"file":"' + mset.sv + '"}'
1595
+ });
1596
+ const task = fetch(req).then((data) => {
1597
+ return data.json();
1598
+ }).then((data) => {
1599
+ if (data.error) throw { message: "error with sv file: " + data.error };
1600
+ const e = parse_sv(data.text, flag2, true);
1601
+ if (e) throw { message: "error with sv file: " + e };
1602
+ });
1603
+ tasks.push(task);
1604
+ }
1605
+ if (mset.sv_url) {
1606
+ tasks.push(
1607
+ dofetch("urltextfile", { url: mset.sv_url }).then((data) => {
1608
+ if (data.error) throw { message: "cannot get sv file from url" };
1609
+ const e = parse_sv(data.text, flag2);
1610
+ if (e) throw { message: "error with sv file: " + e };
1611
+ })
1612
+ );
1613
+ }
1614
+ if (mset.fusion) {
1615
+ const req = new Request(arg.hostURL + "/textfile", {
1616
+ method: "POST",
1617
+ body: '{"file":"' + mset.fusion + '"}'
1618
+ });
1619
+ const task = fetch(req).then((data) => {
1620
+ return data.json();
1621
+ }).then((data) => {
1622
+ if (data.error) throw { message: "error with fusion file: " + data.error };
1623
+ const e = parse_sv(data.text, flag2, false);
1624
+ if (e) throw { message: "error with fusion file: " + e };
1625
+ });
1626
+ tasks.push(task);
1627
+ }
1628
+ if (mset.svjson) {
1629
+ const req = new Request(arg.hostURL + "/textfile", {
1630
+ method: "POST",
1631
+ body: '{"file":"' + mset.svjson + '"}'
1632
+ });
1633
+ const task = fetch(req).then((data) => {
1634
+ return data.json();
1635
+ }).then((data) => {
1636
+ if (data.error) throw { message: "error with svjson file: " + data.error };
1637
+ const e = parse_svjson(data.text, flag2, false);
1638
+ if (e) throw { message: "error with svjson file: " + e };
1639
+ });
1640
+ tasks.push(task);
1641
+ }
1642
+ if (mset.deletion) {
1643
+ const req = new Request(arg.hostURL + "/textfile", {
1644
+ method: "POST",
1645
+ body: '{"file":"' + mset.deletion + '"}'
1646
+ });
1647
+ const task = fetch(req).then((data) => {
1648
+ return data.json();
1649
+ }).then((data) => {
1650
+ if (data.error) throw { message: "error with deletion file: " + data.error };
1651
+ const e = parse_del(data.text, flag2, false);
1652
+ if (e) throw { message: "error with deletion file: " + e };
1653
+ });
1654
+ tasks.push(task);
1655
+ }
1656
+ if (mset.deletion_url) {
1657
+ tasks.push(
1658
+ dofetch("urltextfile", { url: mset.deletion_url }).then((data) => {
1659
+ if (data.error) throw { message: "cannot get deletion file from url" };
1660
+ const e = parse_del(data.text, flag2);
1661
+ if (e) throw { message: "error with deletion file: " + e };
1662
+ })
1663
+ );
1664
+ }
1665
+ if (mset.truncation) {
1666
+ const req = new Request(arg.hostURL + "/textfile", {
1667
+ method: "POST",
1668
+ body: '{"file":"' + mset.truncation + '"}'
1669
+ });
1670
+ const task = fetch(req).then((data) => {
1671
+ return data.json();
1672
+ }).then((data) => {
1673
+ if (data.error) throw { message: "error with truncation file: " + data.error };
1674
+ const e = parse_trunc(data.text, flag2, false);
1675
+ if (e) throw { message: "error with truncation file: " + e };
1676
+ });
1677
+ tasks.push(task);
1678
+ }
1679
+ if (mset.truncation_url) {
1680
+ tasks.push(
1681
+ dofetch("urltextfile", { url: mset.truncation_url }).then((data) => {
1682
+ if (data.error) throw { message: "cannot get truncation file from url" };
1683
+ const e = parse_trunc(data.text, flag2, false);
1684
+ if (e) throw { message: "error with truncation file: " + e };
1685
+ })
1686
+ );
1687
+ }
1688
+ if (mset.itd) {
1689
+ const req = new Request(arg.hostURL + "/textfile", {
1690
+ method: "POST",
1691
+ body: '{"file":"' + mset.itd + '"}'
1692
+ });
1693
+ const task = fetch(req).then((data) => {
1694
+ return data.json();
1695
+ }).then((data) => {
1696
+ if (data.error) throw { message: "error with itd file: " + data.error };
1697
+ const e = parse_itd(data.text, flag2, false);
1698
+ if (e) throw { message: "error with itd file: " + e };
1699
+ });
1700
+ tasks.push(task);
1701
+ }
1702
+ if (mset.itd_url) {
1703
+ tasks.push(
1704
+ dofetch("urltextfile", { url: mset.itd_url }).then((data) => {
1705
+ if (data.error) throw { message: "cannot get itd file from url" };
1706
+ const e = parse_itd(data.text, flag2, false);
1707
+ if (e) throw { message: "error with itd file: " + e };
1708
+ })
1709
+ );
1710
+ }
1711
+ const task2 = Promise.all(tasks).then((data) => {
1712
+ const err2 = bulkin({
1713
+ flag: flag2,
1714
+ filename: arg.name,
1715
+ cohort
1716
+ });
1717
+ if (err2) throw { message: "Error parsing data from " + mset.name + ": " + err2 };
1718
+ });
1719
+ tasks2.push(task2);
1720
+ }
1721
+ return Promise.all(tasks2).then((data) => {
1722
+ return cohort;
1723
+ });
1724
+ }).then((cohort) => {
1725
+ const err2 = tpinit(cohort);
1726
+ if (err2) throw { message: "Error parsing study: " + err2 };
1727
+ saydiv.text("");
1728
+ import("./tp.ui-T6XXBHHD.js").then((p) => {
1729
+ p.default(cohort, holder, arg.hostURL);
1730
+ });
1731
+ }).catch((err2) => {
1732
+ saydiv.text(err2.message);
1733
+ if (err2.stack) {
1734
+ console.log(err2.stack);
1735
+ }
1736
+ });
1737
+ }
1738
+ function parse_snvindel(text, flag2) {
1739
+ const lines = text.trim().split(/\r?\n/);
1740
+ let headerline = lines[0];
1741
+ let lineidx = 0;
1742
+ while (headerline[0] == "#") {
1743
+ lineidx++;
1744
+ headerline = lines[lineidx];
1745
+ }
1746
+ if (!headerline) return "no header line";
1747
+ const err2 = parseheader2(headerline, flag2);
1748
+ if (err2) return "header error: " + err2;
1749
+ for (let i = lineidx + 1; i < lines.length; i++) {
1750
+ if (lines[i] == "") continue;
1751
+ if (lines[i][0] == "#") continue;
1752
+ parseline2(i, lines[i], flag2);
1753
+ }
1754
+ }
1755
+ function parse_svjson(text, flag2) {
1756
+ const lines = text.split(/\r?\n/);
1757
+ let headerline = lines[0];
1758
+ let lineidx = 0;
1759
+ while (headerline[0] == "#") {
1760
+ lineidx++;
1761
+ headerline = lines[lineidx];
1762
+ }
1763
+ if (!headerline) return "no header line";
1764
+ const [err2, header] = parseheader3(headerline, flag2);
1765
+ if (err2) return "header error: " + err2;
1766
+ for (let i = lineidx + 1; i < lines.length; i++) {
1767
+ if (lines[i] == "") continue;
1768
+ if (lines[i][0] == "#") continue;
1769
+ parseline3(i, lines[i], flag2, header);
1770
+ }
1771
+ }
1772
+ function parse_cnv(text, flag2) {
1773
+ const lines = text.split(/\r?\n/);
1774
+ let headerline = lines[0];
1775
+ let lineidx = 0;
1776
+ while (headerline[0] == "#") {
1777
+ lineidx++;
1778
+ headerline = lines[lineidx];
1779
+ }
1780
+ if (!headerline) return "no header line";
1781
+ const err2 = parseheader4(headerline, flag2);
1782
+ if (err2) return "header error: " + err2;
1783
+ for (let i = lineidx + 1; i < lines.length; i++) {
1784
+ if (lines[i] == "") continue;
1785
+ if (lines[i][0] == "#") continue;
1786
+ parseline4(i, lines[i], flag2);
1787
+ }
1788
+ }
1789
+ function parse_itd(text, flag2) {
1790
+ const lines = text.split(/\r?\n/);
1791
+ let headerline = lines[0];
1792
+ let lineidx = 0;
1793
+ while (headerline[0] == "#") {
1794
+ lineidx++;
1795
+ headerline = lines[lineidx];
1796
+ }
1797
+ if (!headerline) return "no header line";
1798
+ const err2 = parseheader5(headerline, flag2);
1799
+ if (err2) return "header error: " + err2;
1800
+ for (let i = lineidx + 1; i < lines.length; i++) {
1801
+ if (lines[i] == "") continue;
1802
+ if (lines[i][0] == "#") continue;
1803
+ parseline5(i, lines[i], flag2);
1804
+ }
1805
+ }
1806
+ function parse_del(text, flag2) {
1807
+ const lines = text.split(/\r?\n/);
1808
+ let headerline = lines[0];
1809
+ let lineidx = 0;
1810
+ while (headerline[0] == "#") {
1811
+ lineidx++;
1812
+ headerline = lines[lineidx];
1813
+ }
1814
+ if (!headerline) return "no header line";
1815
+ const err2 = parseheader6(headerline, flag2);
1816
+ if (err2) return "header error: " + err2;
1817
+ for (let i = lineidx + 1; i < lines.length; i++) {
1818
+ if (lines[i] == "") continue;
1819
+ if (lines[i][0] == "#") continue;
1820
+ parseline6(i, lines[i], flag2);
1821
+ }
1822
+ }
1823
+ function parse_trunc(text, flag2) {
1824
+ const lines = text.split(/\r?\n/);
1825
+ let headerline = lines[0];
1826
+ let lineidx = 0;
1827
+ while (headerline[0] == "#") {
1828
+ lineidx++;
1829
+ headerline = lines[lineidx];
1830
+ }
1831
+ if (!headerline) return "no header line";
1832
+ const err2 = parseheader7(headerline, flag2);
1833
+ if (err2) return "header error: " + err2;
1834
+ for (let i = lineidx + 1; i < lines.length; i++) {
1835
+ if (lines[i] == "") continue;
1836
+ if (lines[i][0] == "#") continue;
1837
+ parseline7(i, lines[i], flag2);
1838
+ }
1839
+ }
1840
+ function parse_sv(text, flag2, isSv) {
1841
+ const lines = text.split(/\r?\n/);
1842
+ let headerline = lines[0];
1843
+ let lineidx = 0;
1844
+ while (headerline[0] == "#") {
1845
+ lineidx++;
1846
+ headerline = lines[lineidx];
1847
+ }
1848
+ if (!headerline) return "no header line";
1849
+ const err2 = parseheader(headerline, flag2, isSv);
1850
+ if (err2) return "header error: " + err2;
1851
+ for (let i = lineidx + 1; i < lines.length; i++) {
1852
+ if (lines[i] == "") continue;
1853
+ if (lines[i][0] == "#") continue;
1854
+ parseline(i, lines[i], flag2, isSv);
1855
+ }
1856
+ }
1857
+
1858
+ // src/tp.init.js
1859
+ function tpinit(cohort) {
1860
+ if (!cohort.p2st) {
1861
+ cohort.p2st = {};
1862
+ }
1863
+ if (!cohort.assays) {
1864
+ cohort.assays = [];
1865
+ }
1866
+ if (!Array.isArray(cohort.assays)) {
1867
+ return ".assays should be an array";
1868
+ }
1869
+ cohort.assaylst = [];
1870
+ let assaynum = 0;
1871
+ for (const assayname of cohort.assays) {
1872
+ const rawassay = cohort[assayname];
1873
+ if (!rawassay) {
1874
+ return 'Assay "' + assayname + '" not found in cohort';
1875
+ }
1876
+ const config = rawassay.config;
1877
+ if (!config) {
1878
+ return '.config object missing for assay "' + assayname + '"';
1879
+ }
1880
+ delete rawassay.config;
1881
+ if (!config.type) {
1882
+ return '.config.type missing for assay "' + assayname + '"';
1883
+ }
1884
+ if (config.type.toLowerCase() == "vcf") {
1885
+ config.type = tkt.ds;
1886
+ config.isvcf = true;
1887
+ } else {
1888
+ if (!validtkt(config.type)) {
1889
+ return 'unknown .config.type "' + config.type + '" for assay "' + assayname + '"';
1890
+ }
1891
+ }
1892
+ config.id = (++assaynum).toString();
1893
+ if (!config.name) {
1894
+ config.name = assayname;
1895
+ }
1896
+ if (config.type == tkt.junction) {
1897
+ if (config.readcountcutoff) {
1898
+ if (!Number.isInteger(config.readcountcutoff) || config.readcountcutoff < 0) {
1899
+ return 'invalid .config.readcountcutoff for assay "' + assayname + '"';
1900
+ }
1901
+ }
1902
+ }
1903
+ cohort.assaylst.push(config);
1904
+ for (const pn in rawassay) {
1905
+ if (!cohort.p2st[pn]) {
1906
+ cohort.p2st[pn] = {};
1907
+ }
1908
+ for (const st in rawassay[pn]) {
1909
+ if (!cohort.p2st[pn][st]) {
1910
+ cohort.p2st[pn][st] = {
1911
+ tktemplate: []
1912
+ };
1913
+ }
1914
+ if (config.type == tkt.vafs1) {
1915
+ for (const name in rawassay[pn][st]) {
1916
+ const tk = rawassay[pn][st][name];
1917
+ if (!tk.file && !tk.url) {
1918
+ return "no file or URL for " + name + " vafs1 of " + pn + ", " + st;
1919
+ }
1920
+ tk.type = tkt.vafs1;
1921
+ tk.patient = pn;
1922
+ tk.sampletype = st;
1923
+ tk.assayname = assayname;
1924
+ tk.id = config.id;
1925
+ tk.tkid = Math.random().toString();
1926
+ if (!tk.name) {
1927
+ tk.name = name + " vaf";
1928
+ }
1929
+ cohort.p2st[pn][st].tktemplate.push(tk);
1930
+ }
1931
+ continue;
1932
+ }
1933
+ let rawtklst = [];
1934
+ if (Array.isArray(rawassay[pn][st])) {
1935
+ rawtklst = rawassay[pn][st];
1936
+ } else {
1937
+ rawtklst.push(rawassay[pn][st]);
1938
+ }
1939
+ for (const _tk of rawtklst) {
1940
+ let tk = _tk;
1941
+ if (!tk.file && !tk.url) {
1942
+ return "track has no file or url (sample: " + pn + ", assay: " + assayname + ")";
1943
+ }
1944
+ if (tk.name) {
1945
+ } else if (tk.partname) {
1946
+ tk.name = pn + (st == pn ? "" : " " + st) + " " + assayname + " " + tk.partname;
1947
+ } else {
1948
+ tk.name = pn + (st == pn ? "" : " " + st) + " " + assayname;
1949
+ }
1950
+ if (config.isvcf) {
1951
+ const [err2, tk2] = vcf2dstk({
1952
+ name: tk.name,
1953
+ file: tk.file,
1954
+ url: tk.url
1955
+ });
1956
+ if (err2) {
1957
+ return "VCF track error: " + err2;
1958
+ }
1959
+ tk = tk2;
1960
+ } else {
1961
+ if (tk.type) {
1962
+ if (!validtkt(tk.type)) {
1963
+ return 'invalid track type "' + tk.type + '" (sample: ' + pn + ", assay: " + assayname + ")";
1964
+ }
1965
+ } else {
1966
+ tk.type = config.type;
1967
+ }
1968
+ }
1969
+ tk.patient = pn;
1970
+ tk.sampletype = st;
1971
+ tk.assayname = assayname;
1972
+ tk.id = config.id;
1973
+ tk.tkid = Math.random().toString();
1974
+ cohort.p2st[pn][st].tktemplate.push(tk);
1975
+ switch (config.type) {
1976
+ case tkt.bigwig:
1977
+ const e = tidy_qtk(tk, config);
1978
+ if (e) {
1979
+ return "Assay " + assayname + ": " + config.type + " track error: " + e;
1980
+ }
1981
+ break;
1982
+ case tkt.junction:
1983
+ tk.categories = config.categories;
1984
+ tk.readcountcutoff = config.readcountcutoff;
1985
+ break;
1986
+ }
1987
+ }
1988
+ }
1989
+ }
1990
+ }
1991
+ delete cohort.assays;
1992
+ {
1993
+ const err2 = cohort2genometkset(cohort);
1994
+ if (err2) {
1995
+ return "Error: " + err2;
1996
+ }
1997
+ }
1998
+ if (cohort.patientannotation) {
1999
+ const err2 = parse_patientannotation(cohort);
2000
+ if (err2) return err2;
2001
+ }
2002
+ if (cohort.browserview) {
2003
+ const err2 = parse_browserview(cohort);
2004
+ if (err2) return err2;
2005
+ }
2006
+ if (cohort.e2pca) {
2007
+ if (!cohort.e2pca.list) return ".list missing from e2pca";
2008
+ if (!Array.isArray(cohort.e2pca.list)) return "e2pca.list should be an array";
2009
+ if (cohort.e2pca.list.length == 0) return "e2pca.list[] length 0";
2010
+ if (!cohort.e2pca.label) {
2011
+ cohort.e2pca.label = "Expression - PCA";
2012
+ }
2013
+ for (const obj of cohort.e2pca.list) {
2014
+ if (!obj.vectorfile) return "vectorfile missing from e2pca";
2015
+ if (!obj.dbfile) return "dbfile missing from e2pca";
2016
+ }
2017
+ }
2018
+ return;
2019
+ }
2020
+ function loadstudycohort(genomes, file, holder, hostURL, jwt, noshow, app) {
2021
+ const wait = holder.append("div").style("color", "#858585");
2022
+ wait.text("Loading " + file + " ...");
2023
+ return fetch(hostURL + "/study", {
2024
+ method: "POST",
2025
+ body: JSON.stringify({ file, jwt })
2026
+ }).then((res) => res.json()).then((data) => {
2027
+ if (!data) {
2028
+ wait.text("Server error!");
2029
+ return;
2030
+ }
2031
+ if (data.error) {
2032
+ wait.text("Error loading study: " + data.error);
2033
+ return;
2034
+ }
2035
+ const cohort = data.cohort;
2036
+ if (!cohort) {
2037
+ wait.text(".cohort missing");
2038
+ return;
2039
+ }
2040
+ if (!cohort.genome) {
2041
+ wait.text("No genome specified in the cohort JSON content");
2042
+ return;
2043
+ }
2044
+ const g = genomes[cohort.genome];
2045
+ if (!g) {
2046
+ wait.text("Invalid genome from cohort: " + cohort.genome);
2047
+ return;
2048
+ }
2049
+ cohort.genome = g;
2050
+ cohort.jwt = jwt;
2051
+ if (!data.flagset) {
2052
+ wait.text(".flagset missing");
2053
+ return;
2054
+ }
2055
+ wait.text("");
2056
+ cohort.dsset = {};
2057
+ for (const k in data.flagset) {
2058
+ const flag2 = data.flagset[k];
2059
+ flag2.genome = g;
2060
+ bulkin({
2061
+ flag: flag2,
2062
+ filename: file,
2063
+ cohort,
2064
+ err: (m) => sayerror(wait, m)
2065
+ });
2066
+ }
2067
+ const err2 = tpinit(cohort);
2068
+ if (err2) {
2069
+ sayerror(wait, err2);
2070
+ }
2071
+ if (!noshow) {
2072
+ return import("./tp.ui-T6XXBHHD.js").then(async (p) => {
2073
+ getsjcharts().catch(console.error);
2074
+ p.default(cohort, holder, hostURL, app);
2075
+ return app;
2076
+ });
2077
+ }
2078
+ });
2079
+ }
2080
+ function tidy_qtk(tk, config) {
2081
+ if (!config) {
2082
+ config = {};
2083
+ }
2084
+ if (!tk.file && !tk.url) {
2085
+ return "no file or url";
2086
+ }
2087
+ if (!tk.pcolor) {
2088
+ tk.pcolor = config.pcolor || "#0066CC";
2089
+ }
2090
+ if (!tk.pcolor2) {
2091
+ tk.pcolor2 = config.pcolor2 || "#CC0000";
2092
+ }
2093
+ if (!tk.ncolor) {
2094
+ tk.ncolor = config.ncolor || "#FF850A";
2095
+ }
2096
+ if (!tk.ncolor2) {
2097
+ tk.ncolor2 = config.ncolor2 || "#0A85FF";
2098
+ }
2099
+ if (!tk.height) {
2100
+ tk.height = config.height || 50;
2101
+ }
2102
+ const scale = {};
2103
+ if (config.scale) {
2104
+ for (const k in config.scale) {
2105
+ scale[k] = config.scale[k];
2106
+ }
2107
+ }
2108
+ if (tk.scale) {
2109
+ for (const k in tk.scale) {
2110
+ scale[k] = tk.scale[k];
2111
+ }
2112
+ }
2113
+ scale.auto = true;
2114
+ if (Number.isFinite(scale.min) && Number.isFinite(scale.max)) {
2115
+ delete scale.auto;
2116
+ } else if (Number.isFinite(scale.percentile)) {
2117
+ delete scale.auto;
2118
+ }
2119
+ tk.scale = scale;
2120
+ }
2121
+ function cohort2genometkset(cohort) {
2122
+ const lst = [];
2123
+ for (const pn in cohort.p2st) {
2124
+ for (const st in cohort.p2st[pn]) {
2125
+ const templates = cohort.p2st[pn][st].tktemplate;
2126
+ if (!templates) continue;
2127
+ for (const t of templates) {
2128
+ lst.push(t);
2129
+ }
2130
+ }
2131
+ }
2132
+ if (cohort.browserview && cohort.browserview.assays) {
2133
+ for (const assayname in cohort.browserview.assays) {
2134
+ const assayview = cohort.browserview.assays[assayname];
2135
+ if (assayview.combined && assayview.combinetk) {
2136
+ lst.push(assayview.combinetk);
2137
+ }
2138
+ }
2139
+ }
2140
+ if (!cohort.genome.tkset) {
2141
+ cohort.genome.tkset = [];
2142
+ }
2143
+ const thisset = {
2144
+ name: cohort.name,
2145
+ tklst: lst
2146
+ };
2147
+ if (cohort.trackfacets) {
2148
+ if (!Array.isArray(cohort.trackfacets)) {
2149
+ return ".trackfacets is not an array";
2150
+ }
2151
+ const lst2 = [];
2152
+ for (const fc of cohort.trackfacets) {
2153
+ if (!fc.samples) {
2154
+ return "trackfacets: .samples missing from facet " + fc.name;
2155
+ }
2156
+ if (!Array.isArray(fc.samples)) {
2157
+ return "trackfacets: .samples is not array from facet " + fc.name;
2158
+ }
2159
+ if (!fc.assays) {
2160
+ return "trackfacets: .assays missing from a facet " + fc.name;
2161
+ }
2162
+ if (!Array.isArray(fc.assays)) {
2163
+ return "trackfacets: .assays is not array from a facet " + fc.name;
2164
+ }
2165
+ lst2.push(fc);
2166
+ }
2167
+ if (lst2.length) {
2168
+ thisset.facetlst = lst2;
2169
+ }
2170
+ }
2171
+ cohort.genome.tkset.push(thisset);
2172
+ return null;
2173
+ }
2174
+ function parse_browserview(cohort) {
2175
+ if (cohort.browserview.position) {
2176
+ let pos;
2177
+ if (typeof cohort.browserview.position == "string") {
2178
+ pos = string2pos(cohort.browserview.position, cohort.genome);
2179
+ if (!pos) {
2180
+ return ".browserview.position invalid value";
2181
+ }
2182
+ } else {
2183
+ pos = cohort.browserview.position;
2184
+ }
2185
+ const e = invalidcoord(cohort.genome, pos.chr, pos.start, pos.stop);
2186
+ if (e) {
2187
+ return ".browserview.position error: " + e;
2188
+ }
2189
+ cohort.browserview.position = pos;
2190
+ } else {
2191
+ cohort.browserview.position = {
2192
+ chr: cohort.genome.defaultcoord.chr,
2193
+ start: cohort.genome.defaultcoord.start,
2194
+ stop: cohort.genome.defaultcoord.stop
2195
+ };
2196
+ }
2197
+ if (cohort.browserview.assays) {
2198
+ for (const assayname in cohort.browserview.assays) {
2199
+ if (typeof cohort.browserview.assays[assayname] != "object") {
2200
+ cohort.browserview.assays[assayname] = {};
2201
+ }
2202
+ const assayview = cohort.browserview.assays[assayname];
2203
+ for (const a of cohort.assaylst) {
2204
+ if (a.name == assayname) {
2205
+ assayview.assayobj = a;
2206
+ break;
2207
+ }
2208
+ }
2209
+ if (!assayview.assayobj) {
2210
+ console.log("missing assayobj for assayview of " + assayname);
2211
+ continue;
2212
+ }
2213
+ if (assayview.sum_view) {
2214
+ delete assayview.sum_view;
2215
+ assayview.combined = true;
2216
+ }
2217
+ if (assayview.combined) {
2218
+ const combinetk = {};
2219
+ for (const k in assayview.assayobj) {
2220
+ combinetk[k] = assayview.assayobj[k];
2221
+ }
2222
+ for (const k in assayview) {
2223
+ if (k == "assayobj") continue;
2224
+ combinetk[k] = assayview[k];
2225
+ }
2226
+ if (!combinetk.name) {
2227
+ combinetk.name = assayname;
2228
+ }
2229
+ combinetk.tracks = [];
2230
+ for (const pn in cohort.p2st) {
2231
+ for (const st in cohort.p2st[pn]) {
2232
+ for (const t of cohort.p2st[pn][st].tktemplate) {
2233
+ if (t.id == assayview.assayobj.id) {
2234
+ t.patient = pn;
2235
+ t.sampletype = st;
2236
+ combinetk.tracks.push(t);
2237
+ }
2238
+ }
2239
+ }
2240
+ }
2241
+ if (combinetk.isvcf) {
2242
+ combinetk.ds = {
2243
+ id2vcf: {},
2244
+ label: combinetk.name
2245
+ };
2246
+ for (const t of combinetk.tracks) {
2247
+ for (const i in t.ds.id2vcf) {
2248
+ t.__vcfobj = t.ds.id2vcf[i];
2249
+ }
2250
+ combinetk.ds.id2vcf[t.__vcfobj.vcfid] = t.__vcfobj;
2251
+ }
2252
+ }
2253
+ assayview.combinetk = combinetk;
2254
+ }
2255
+ }
2256
+ }
2257
+ if (cohort.browserview.defaultassaytracks) {
2258
+ if (!Array.isArray(cohort.browserview.defaultassaytracks)) return ".browserview.defaultassaytracks must be array";
2259
+ for (let i = 0; i < cohort.browserview.defaultassaytracks.length; i++) {
2260
+ const t = cohort.browserview.defaultassaytracks[i];
2261
+ if (!t.assay) return ".assay missing from .defaultassaytracks #" + (i + 1);
2262
+ if (!cohort[t.assay]) return "unknown assay name from .defaultassaytracks #" + (i + 1) + ": " + t.assay;
2263
+ if (!t.level1) return ".level1 missing from .defaultassaytracks #" + (i + 1);
2264
+ if (!cohort[t.assay][t.level1])
2265
+ return "level1 not exist in assay from .defaultassaytracks #" + (i + 1) + ": " + t.level1;
2266
+ if (t.level2) {
2267
+ if (!cohort[t.assay][t.level1][t.level2])
2268
+ return "level2 not exist in assay from .defaultassaytracks #" + (i + 1) + ": " + t.level2;
2269
+ }
2270
+ }
2271
+ }
2272
+ return null;
2273
+ }
2274
+ function parse_patientannotation(cohort) {
2275
+ if (!cohort.patientannotation.annotation) {
2276
+ return ".patientannotation.annotation missing";
2277
+ }
2278
+ if (!cohort.patientannotation.metadata) {
2279
+ return ".patientannotation.metadata missing";
2280
+ }
2281
+ if (!Array.isArray(cohort.patientannotation.metadata)) {
2282
+ return ".patientannotation.metadata should be an array";
2283
+ }
2284
+ const mdh = {};
2285
+ for (const md of cohort.patientannotation.metadata) {
2286
+ if (md.key == void 0) {
2287
+ return "patientannotation: key missing for a metadata term";
2288
+ }
2289
+ if (!md.values) {
2290
+ return "patientannotation: values missing for metadata term " + md.key;
2291
+ }
2292
+ if (!Array.isArray(md.values)) {
2293
+ return "patientannotation: .values not an array for metadata term " + md.key;
2294
+ }
2295
+ if (!md.label) {
2296
+ md.label = md.key;
2297
+ }
2298
+ mdh[md.key] = {
2299
+ label: md.label,
2300
+ values: {}
2301
+ };
2302
+ const colorfunc = ordinal(category10_default);
2303
+ for (const at of md.values) {
2304
+ if (at.key == void 0) {
2305
+ return "key missing for an attribute of term " + md.key;
2306
+ }
2307
+ if (!at.label) {
2308
+ at.label = at.key;
2309
+ }
2310
+ if (!at.color) {
2311
+ at.color = colorfunc(at.key);
2312
+ }
2313
+ mdh[md.key].values[at.key] = at;
2314
+ }
2315
+ }
2316
+ cohort.patientannotation.mdh = mdh;
2317
+ return null;
2318
+ }
2319
+
2320
+ export {
2321
+ loadstudycohort,
2322
+ bulkui,
2323
+ content2flag,
2324
+ bulkin,
2325
+ bulkembed
2326
+ };
2327
+ //# sourceMappingURL=chunk-O64WQLAV.js.map