@sjcrh/proteinpaint-client 2.187.0 → 2.188.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 (963) hide show
  1. package/dist/2dmaf-6YIEXAIG.js +1372 -0
  2. package/dist/AIProjectAdmin-5K5NIQNT.js +828 -0
  3. package/dist/AppHeader-4SN5M6SZ.js +834 -0
  4. package/dist/BoxPlot-DBJA6TQF.js +1218 -0
  5. package/dist/CorrelationVolcano-MDMTMTT5.js +618 -0
  6. package/dist/DE-S5AFNI4I.js +94 -0
  7. package/dist/DEinput-XVBBA74N.js +300 -0
  8. package/dist/DifferentialAnalysis-TUBGPAB2.js +244 -0
  9. package/dist/DifferentialAnalysis-TUBGPAB2.js.map +7 -0
  10. package/dist/Disco-VV7FQ7WW.js +3236 -0
  11. package/dist/Disco.UI-JDJFJFEY.js +244 -0
  12. package/dist/DmrPlot-XOG67W74.js +641 -0
  13. package/dist/GB-K3AWZQFF.js +1129 -0
  14. package/dist/GeneExpInput-Y7MDS2CA.js +365 -0
  15. package/dist/HicApp-53OTZ3YU.js +2249 -0
  16. package/dist/NumBinaryEditor-SB4YR3JM.js +269 -0
  17. package/dist/NumBinaryEditor.unit.spec-V2W2OZYP.js +285 -0
  18. package/dist/NumContEditor-RZZBM7PR.js +106 -0
  19. package/dist/NumContEditor.unit.spec-GAAW3ZZN.js +168 -0
  20. package/dist/NumCustomBinEditor-GFCGPRPI.js +37 -0
  21. package/dist/NumCustomBinEditor.unit.spec-24MXSO3L.js +283 -0
  22. package/dist/NumDiscreteEditor-HAHIOFNC.js +178 -0
  23. package/dist/NumDiscreteEditor.unit.spec-JYN2CWSI.js +201 -0
  24. package/dist/NumRegularBinEditor-7DOE64RB.js +37 -0
  25. package/dist/NumRegularBinEditor.unit.spec-2WU4GGNT.js +226 -0
  26. package/dist/NumSplineEditor-JLRD5TVX.js +191 -0
  27. package/dist/NumSplineEditor.unit.spec-LOG7CECJ.js +198 -0
  28. package/dist/NumericDensity-IDOP7I34.js +37 -0
  29. package/dist/NumericDensity.unit.spec-HTJQRPVH.js +220 -0
  30. package/dist/NumericHandler-DWVVGLLB.js +38 -0
  31. package/dist/NumericHandler.unit.spec-BDDFTHOF.js +218 -0
  32. package/dist/ProteomeInput-PK4ZM3SZ.js +395 -0
  33. package/dist/ProteomeInput-PK4ZM3SZ.js.map +7 -0
  34. package/dist/RunChart2-PBJ56YX3.js +757 -0
  35. package/dist/SC-UC3HP2MY.js +830 -0
  36. package/dist/SC-UC3HP2MY.js.map +7 -0
  37. package/dist/Volcano-BZJCA53R.js +1314 -0
  38. package/dist/Volcano-BZJCA53R.js.map +7 -0
  39. package/dist/WSIViewer-OHOP2DZT.js +48475 -0
  40. package/dist/WSIViewer-OHOP2DZT.js.map +7 -0
  41. package/dist/WsiSamplesPlot-FOMPMEXK.js +164 -0
  42. package/dist/adSandbox-SRPPCYYR.js +37 -0
  43. package/dist/alphaGenome-IS2WAJCK.js +174 -0
  44. package/dist/app-GTHYSGWI.js +36 -0
  45. package/dist/app-XEKETNLG.js +48 -0
  46. package/dist/app.js +20 -20
  47. package/dist/bam-GQBFL6A7.js +859 -0
  48. package/dist/barchart-AESC4JSX.js +46 -0
  49. package/dist/barchart.data-RE34IC4G.js +22 -0
  50. package/dist/barchart.events-KM4J5ISO.js +46 -0
  51. package/dist/barchart.integration.spec-DFVSBGO3.js +1676 -0
  52. package/dist/barchart2-NNTL4RQZ.js +310 -0
  53. package/dist/block-EHZM3FUX.js +6201 -0
  54. package/dist/block.init-EAEFNNF6.js +37 -0
  55. package/dist/block.mds.expressionrank-ZBHA2CFE.js +358 -0
  56. package/dist/block.mds.geneboxplot-4ZU3QUAK.js +827 -0
  57. package/dist/block.mds.junction-PDH55JXO.js +1544 -0
  58. package/dist/block.mds.svcnv-QWBU54XQ.js +6800 -0
  59. package/dist/block.svg-HUGBYWXU.js +163 -0
  60. package/dist/block.tk.aicheck-SDCWXQZF.js +282 -0
  61. package/dist/block.tk.ase-HMUTHCJS.js +364 -0
  62. package/dist/block.tk.bam-Q7B2YQLI.js +1905 -0
  63. package/dist/block.tk.bedgraphdot-QBGBSVHN.js +383 -0
  64. package/dist/block.tk.bigwig.ui-767A3MUH.js +211 -0
  65. package/dist/block.tk.hicstraw-LEZUZHLF.js +822 -0
  66. package/dist/block.tk.junction-GQHCZOYR.js +2363 -0
  67. package/dist/block.tk.junction.textmatrixui-D5QUO7KQ.js +198 -0
  68. package/dist/block.tk.ld-E3MHZOG5.js +98 -0
  69. package/dist/block.tk.menu-XE7PFYGR.js +1028 -0
  70. package/dist/block.tk.pgv-MPPMPDED.js +943 -0
  71. package/dist/brainImaging-YQ443NOL.js +422 -0
  72. package/dist/chunk-26WXJBSR.js +228 -0
  73. package/dist/chunk-2P6Z7JFC.js +119 -0
  74. package/dist/chunk-2QQO4RRD.js +2681 -0
  75. package/dist/chunk-2T7VYQLY.js +281 -0
  76. package/dist/chunk-2T7VYQLY.js.map +7 -0
  77. package/dist/chunk-2XPDA6NL.js +20652 -0
  78. package/dist/chunk-2XPDA6NL.js.map +7 -0
  79. package/dist/chunk-37ARSZOI.js +2815 -0
  80. package/dist/chunk-42Q53PXE.js +381 -0
  81. package/dist/chunk-46ASPS5Y.js +386 -0
  82. package/dist/chunk-4KPI7PB5.js +142 -0
  83. package/dist/chunk-4MDNMCGZ.js +102 -0
  84. package/dist/chunk-5IG3E4DT.js +272 -0
  85. package/dist/chunk-5MIR7IHI.js +52 -0
  86. package/dist/chunk-5MZVXJVA.js +55 -0
  87. package/dist/chunk-66D5GRS5.js +263 -0
  88. package/dist/chunk-6ATE2TRC.js +534 -0
  89. package/dist/chunk-6BFR6MK3.js +158 -0
  90. package/dist/chunk-6NJMCO4X.js +335 -0
  91. package/dist/chunk-6ON5KAMO.js +54 -0
  92. package/dist/chunk-76GPYMHZ.js +102 -0
  93. package/dist/chunk-7AAFBFOH.js +147 -0
  94. package/dist/chunk-7OOZHEUC.js +302 -0
  95. package/dist/chunk-A4VLWLYF.js +226 -0
  96. package/dist/chunk-A6EFWGWD.js +444 -0
  97. package/dist/chunk-ALW5XXVW.js +170 -0
  98. package/dist/chunk-ANCT2BGO.js +34 -0
  99. package/dist/chunk-AROMXWCY.js +291 -0
  100. package/dist/chunk-AY4UBGLC.js +815 -0
  101. package/dist/chunk-B43MTEYB.js +84 -0
  102. package/dist/chunk-B43MTEYB.js.map +7 -0
  103. package/dist/chunk-BMVLR3TM.js +1210 -0
  104. package/dist/chunk-BR7JA2EO.js +621 -0
  105. package/dist/chunk-C3SYSMNE.js +42 -0
  106. package/dist/chunk-C3SYSMNE.js.map +7 -0
  107. package/dist/chunk-D3HJXMTH.js +17 -0
  108. package/dist/chunk-DKUEZ4XD.js +205 -0
  109. package/dist/chunk-DT3MMC5U.js +31 -0
  110. package/dist/chunk-DYVKN7EE.js +5000 -0
  111. package/dist/chunk-EF37UZY6.js +37 -0
  112. package/dist/chunk-ESXMS7FW.js +229 -0
  113. package/dist/chunk-FDK4UJMN.js +263 -0
  114. package/dist/chunk-FDK4UJMN.js.map +7 -0
  115. package/dist/chunk-FUSVXQ6C.js +368 -0
  116. package/dist/chunk-G7JRRTS5.js +170 -0
  117. package/dist/chunk-G7JRRTS5.js.map +7 -0
  118. package/dist/chunk-GHWHLSUX.js +192 -0
  119. package/dist/chunk-GHWHLSUX.js.map +7 -0
  120. package/dist/chunk-GXKVAPGP.js +2786 -0
  121. package/dist/chunk-H4JIENLQ.js +39 -0
  122. package/dist/chunk-H7YJG4YM.js +470 -0
  123. package/dist/chunk-I24KPIDD.js +148 -0
  124. package/dist/chunk-IENFDUWD.js +203 -0
  125. package/dist/chunk-IKHIY6IZ.js +2327 -0
  126. package/dist/chunk-IKHIY6IZ.js.map +7 -0
  127. package/dist/chunk-J7BISJTL.js +50 -0
  128. package/dist/chunk-J7KYOSEK.js +824 -0
  129. package/dist/chunk-JGPZ5254.js +371 -0
  130. package/dist/chunk-JUIPCWAM.js +194 -0
  131. package/dist/chunk-LO4NMQ7W.js +293 -0
  132. package/dist/chunk-LSSLS5HV.js +95 -0
  133. package/dist/chunk-MDLRB3MR.js +407 -0
  134. package/dist/chunk-MJLKGZ27.js +129 -0
  135. package/dist/chunk-MYWJQRTD.js +1849 -0
  136. package/dist/chunk-MYWJQRTD.js.map +7 -0
  137. package/dist/chunk-NL5T3SBK.js +4209 -0
  138. package/dist/chunk-NMBIT4IK.js +46 -0
  139. package/dist/chunk-NMBIT4IK.js.map +7 -0
  140. package/dist/chunk-ONAYJVN2.js +217 -0
  141. package/dist/chunk-PP7K4R2E.js +141 -0
  142. package/dist/chunk-PP7K4R2E.js.map +7 -0
  143. package/dist/chunk-PSMFOARZ.js +14 -0
  144. package/dist/chunk-QX3GF2IA.js +514 -0
  145. package/dist/chunk-QZ2U4BOS.js +1159 -0
  146. package/dist/chunk-RBZBBNLL.js +1087 -0
  147. package/dist/chunk-RQ2ZJ66W.js +276 -0
  148. package/dist/chunk-RQ2ZJ66W.js.map +7 -0
  149. package/dist/chunk-RZTFQXWV.js +117 -0
  150. package/dist/chunk-SJC2C77V.js +177 -0
  151. package/dist/chunk-THUXB7EE.js +698 -0
  152. package/dist/chunk-THUXB7EE.js.map +7 -0
  153. package/dist/chunk-TVXVP4M6.js +215 -0
  154. package/dist/chunk-UTDPKDIY.js +482 -0
  155. package/dist/chunk-UVIUB7QI.js +280 -0
  156. package/dist/chunk-VAUSRBL5.js +6364 -0
  157. package/dist/chunk-VP3IZVQA.js +54 -0
  158. package/dist/chunk-VP3IZVQA.js.map +7 -0
  159. package/dist/chunk-WP22GYZ2.js +446 -0
  160. package/dist/chunk-WUNX3VST.js +1271 -0
  161. package/dist/chunk-X7GDCYND.js +1561 -0
  162. package/dist/chunk-X7GDCYND.js.map +7 -0
  163. package/dist/chunk-XB3V6S2X.js +1230 -0
  164. package/dist/chunk-XB3V6S2X.js.map +7 -0
  165. package/dist/chunk-XD4TBJK2.js +455 -0
  166. package/dist/chunk-Y6DSXMPB.js +121 -0
  167. package/dist/chunk-YBIZRASR.js +252 -0
  168. package/dist/chunk-YI2YH7ZK.js +158 -0
  169. package/dist/chunk-YLDE3PVC.js +1943 -0
  170. package/dist/chunk-Z736NYXL.js +26 -0
  171. package/dist/chunk-ZEJB7CPC.js +95 -0
  172. package/dist/chunk-ZGWEBKZ4.js +100 -0
  173. package/dist/condition-FSF6ROJV.js +331 -0
  174. package/dist/controls-OPSBFDFZ.js +40 -0
  175. package/dist/controls.config-3QRV5363.js +38 -0
  176. package/dist/correlation-WLOI7Z35.js +97 -0
  177. package/dist/cuminc-G2UGJUUA.js +1148 -0
  178. package/dist/cuminc.integration.spec-X5NEZ6S5.js +677 -0
  179. package/dist/customdata.inputui-RNW3AO3Z.js +288 -0
  180. package/dist/dataDownload-4U3TGDMH.js +329 -0
  181. package/dist/dataDownload.integration.spec-6FUI2SJ4.js +192 -0
  182. package/dist/databrowser.ui-4GVJVJWG.js +432 -0
  183. package/dist/dictionary-NSDS7Z4K.js +110 -0
  184. package/dist/dnaMethylation-OYQB75LD.js +37 -0
  185. package/dist/dnaMethylation.integration.spec-6TTLV34N.js +202 -0
  186. package/dist/dofetch-4TO3QMT6.js +50 -0
  187. package/dist/e2pca-NYBVR6PL.js +349 -0
  188. package/dist/ep-RTDVEA4D.js +1255 -0
  189. package/dist/expclust.gdc.spec-JVIRESTP.js +306 -0
  190. package/dist/facet-OVBF2QMO.js +520 -0
  191. package/dist/forms2-HTLS54CX.js +533 -0
  192. package/dist/gb-Y3546HMZ.js +87 -0
  193. package/dist/geneExpClustering-PH3PWH3K.js +248 -0
  194. package/dist/geneExpression-2Z2EV3XM.js +37 -0
  195. package/dist/geneExpression-6CFXOCGW.js +312 -0
  196. package/dist/geneExpression.unit.spec-WKUTHRHC.js +101 -0
  197. package/dist/geneORA-SHLZESLB.js +277 -0
  198. package/dist/geneVariant-FHZUIFPM.js +38 -0
  199. package/dist/geneVariant-Y7ZUBEOX.js +40 -0
  200. package/dist/geneVariant.integration.spec-N7TZUOY3.js +197 -0
  201. package/dist/genefusion.ui-7PDVZPZ2.js +308 -0
  202. package/dist/geneset-HLVOGYUI.js +202 -0
  203. package/dist/genomeBrowser.spec-7IVIMUR5.js +280 -0
  204. package/dist/grin2-2GNWIYFU.js +845 -0
  205. package/dist/grin2-2GNWIYFU.js.map +7 -0
  206. package/dist/grin2-Z5O7254R.js +1555 -0
  207. package/dist/gsea-TFC3MBRW.js +46 -0
  208. package/dist/hierCluster-ERSE5I4I.js +62 -0
  209. package/dist/hierCluster-QQZQU5ZG.js +58 -0
  210. package/dist/hierCluster.config-WPINWW37.js +39 -0
  211. package/dist/hierCluster.integration.spec-Y6OHSKPW.js +394 -0
  212. package/dist/hierCluster.interactivity-HS3G5QC5.js +53 -0
  213. package/dist/hierCluster.renderers-W63ZKZTT.js +21 -0
  214. package/dist/imagePlot-QFVN25PM.js +162 -0
  215. package/dist/importPlot-MIDM5APH.js +8 -0
  216. package/dist/isoformExpression-L4TRNT4A.js +39 -0
  217. package/dist/isoformExpression.unit.spec-QQG323LA.js +207 -0
  218. package/dist/launch.adhoc-4NQ6GGGL.js +41 -0
  219. package/dist/leftlabel.sample-JU7AIPZL.js +259 -0
  220. package/dist/legacyDataset-TT4CHF23.js +119 -0
  221. package/dist/lollipop-JG74M6PJ.js +170 -0
  222. package/dist/maf-PDL2EGHI.js +451 -0
  223. package/dist/maftimeline-V43NQEEE.js +592 -0
  224. package/dist/matrix-EB2EFP4S.js +57 -0
  225. package/dist/matrix-Q57FU5FE.js +62 -0
  226. package/dist/matrix.cells-NJIMPD32.js +28 -0
  227. package/dist/matrix.config-GLDEQD3H.js +40 -0
  228. package/dist/matrix.data-6SHAKOQU.js +25 -0
  229. package/dist/matrix.groups-MTDEANQA.js +26 -0
  230. package/dist/matrix.integration.spec-JCZ5VQJU.js +3071 -0
  231. package/dist/matrix.interactivity-SVRNWL6V.js +41 -0
  232. package/dist/matrix.layout-2HREO42N.js +43 -0
  233. package/dist/matrix.legend-QHVKT3MP.js +22 -0
  234. package/dist/matrix.renderers-IYR3ZY6V.js +37 -0
  235. package/dist/matrix.serieses-2VMTQXL2.js +21 -0
  236. package/dist/matrix.sort-PWA2RQQR.js +27 -0
  237. package/dist/matrix.sort.unit.spec-3OYIPTFY.js +471 -0
  238. package/dist/matrix.sorterUi-Y5QLO75X.js +18 -0
  239. package/dist/matrix.sorterUi.unit.spec-BNEXQHLP.js +341 -0
  240. package/dist/mavb-IZDDU4KK.js +731 -0
  241. package/dist/mds.fimo-FWBL7JE6.js +517 -0
  242. package/dist/mds.samplescatterplot-T47C7DJB.js +1549 -0
  243. package/dist/mds.survivalplot-MFZJCGS6.js +482 -0
  244. package/dist/numericDictTermCluster-I2W67RGA.js +72 -0
  245. package/dist/oncomatrix-6W7IBAED.js +294 -0
  246. package/dist/oncomatrix.spec-CEFH5IGH.js +447 -0
  247. package/dist/plot.2dvaf-BN6CFLNU.js +376 -0
  248. package/dist/plot.app-7EYWUCZV.js +40 -0
  249. package/dist/plot.barplot-MDIARSQD.js +101 -0
  250. package/dist/plot.boxplot-RUHGXC54.js +151 -0
  251. package/dist/plot.brainImaging-JEE32ZBV.js +51 -0
  252. package/dist/plot.disco-2RPNPX6E.js +101 -0
  253. package/dist/plot.dzi-7VTYYGGW.js +33 -0
  254. package/dist/plot.ssgq-FHE5KU5C.js +138 -0
  255. package/dist/plot.vaf2cov-WDJJM5Q4.js +258 -0
  256. package/dist/plot.wsi-FQZWHNSF.js +36 -0
  257. package/dist/polar-M7EGINN4.js +185 -0
  258. package/dist/polar2-JFYY43K2.js +227 -0
  259. package/dist/profile.spec-SIOHASOX.js +79 -0
  260. package/dist/profileBarchart-6JLEKVJV.js +266 -0
  261. package/dist/profileForms-G6CH73RV.js +440 -0
  262. package/dist/profilePlot-NQYJOBVV.js +53 -0
  263. package/dist/profileRadar-4TNWIXDB.js +262 -0
  264. package/dist/profileRadarFacility-XPH3LCBQ.js +262 -0
  265. package/dist/proteinView-OZLHO45J.js +1222 -0
  266. package/dist/proteinView-OZLHO45J.js.map +7 -0
  267. package/dist/proteomeAbundance-NQ4635NL.js +12 -0
  268. package/dist/proteomeAbundance-OV24UTZN.js +59 -0
  269. package/dist/proteomeAbundance-OV24UTZN.js.map +7 -0
  270. package/dist/qualitative-DL4WJG3O.js +42 -0
  271. package/dist/radar2-YNOQWHBT.js +315 -0
  272. package/dist/radarFacility2-24UPSI7S.js +324 -0
  273. package/dist/regression-URAUTLTD.js +55 -0
  274. package/dist/regression.inputs-UDVOU7FB.js +47 -0
  275. package/dist/regression.inputs.term-BWW6W34R.js +47 -0
  276. package/dist/regression.inputs.values.table-UKGIZTXG.js +44 -0
  277. package/dist/regression.integration.spec-EBHQTNA3.js +783 -0
  278. package/dist/regression.results-XTOSWIP6.js +39 -0
  279. package/dist/regression.spec-KG2I53VR.js +707 -0
  280. package/dist/report-KH7SNPVF.js +221 -0
  281. package/dist/sampleScatter.spec-PIXGS3LG.js +201 -0
  282. package/dist/sampleView-TWS6VT55.js +47 -0
  283. package/dist/samplelst-6AB5Y4WR.js +110 -0
  284. package/dist/samplematrix-AJAF555E.js +2197 -0
  285. package/dist/sc-PMNYZKXA.js +85 -0
  286. package/dist/scatter-Q2GH3ZJD.js +801 -0
  287. package/dist/scatter.integration.spec-SMMYKWH3.js +1195 -0
  288. package/dist/selectGenomeWithTklst-VE4SDYY7.js +133 -0
  289. package/dist/singleCellCellType-S324GCKW.js +37 -0
  290. package/dist/singleCellCellType.unit.spec-NXC2GELH.js +159 -0
  291. package/dist/singleCellGeneExpression-6H4HRKIA.js +37 -0
  292. package/dist/singleCellGeneExpression.unit.spec-HIJXVUWJ.js +152 -0
  293. package/dist/singleCellPlot-H7PCZ2DP.js +52 -0
  294. package/dist/singlecell-4LH3MQVL.js +85 -0
  295. package/dist/singlecell-MOSYT3RI.js +1571 -0
  296. package/dist/snp-IKLGTD4Q.js +37 -0
  297. package/dist/snp.unit.spec-GC74MUVM.js +175 -0
  298. package/dist/snplocus-RIABFSBQ.js +207 -0
  299. package/dist/spliceevent.a53ss.diagram-4E2IYYHL.js +150 -0
  300. package/dist/spliceevent.exonskip.diagram-C56R6XLQ.js +276 -0
  301. package/dist/spliceevent.noeventdiagram-SIPMAKXI.js +459 -0
  302. package/dist/ssGSEA-5QNHLSOI.js +37 -0
  303. package/dist/ssGSEA.unit.spec-KVPN553B.js +87 -0
  304. package/dist/summarizeCnvGeneexp-K4VGJSW6.js +162 -0
  305. package/dist/summarizeGeneexpSurvival-HGHX65FN.js +107 -0
  306. package/dist/summarizeMutationCnv-3K4Z6R2X.js +163 -0
  307. package/dist/summarizeMutationDiagnosis-M2MHUPRT.js +39 -0
  308. package/dist/summarizeMutationSurvival-WVBUP3GA.js +98 -0
  309. package/dist/summary-RZHZXCU5.js +48 -0
  310. package/dist/summary.integration.spec-FGZP7DY7.js +413 -0
  311. package/dist/summaryInput-UGM7MMCR.js +234 -0
  312. package/dist/sunburst-L27U7LV7.js +283 -0
  313. package/dist/survival-5ZMEBV6O.js +57 -0
  314. package/dist/survival-JWRRGTJT.js +45 -0
  315. package/dist/survival.integration.spec-Z5542I4V.js +801 -0
  316. package/dist/svgraph-O6ZVLNNN.js +1386 -0
  317. package/dist/svmr-ULFV7OSH.js +3841 -0
  318. package/dist/table-CHRQH2GH.js +199 -0
  319. package/dist/termCollection-FAO6ZA6F.js +178 -0
  320. package/dist/termCollection-GBXS3GOY.js +37 -0
  321. package/dist/termCollection.unit.spec-4WRTOV6E.js +207 -0
  322. package/dist/tk-KNUBWRNK.js +45 -0
  323. package/dist/tp.ui-2PPYOQYL.js +1458 -0
  324. package/dist/tvs.density-BZ5SKDQS.js +18 -0
  325. package/dist/tvs.dt-TDNSTGQR.js +38 -0
  326. package/dist/tvs.dtcnv.categorical-P2IGIE4I.js +39 -0
  327. package/dist/tvs.dtcnv.continuous-2XUCRBDR.js +71 -0
  328. package/dist/tvs.dtfusion-PRHZVMOG.js +39 -0
  329. package/dist/tvs.dtsnvindel-KGKBW5JS.js +39 -0
  330. package/dist/tvs.dtsv-M3CY5TZF.js +39 -0
  331. package/dist/tvs.numeric-W74JCC5P.js +21 -0
  332. package/dist/tvs.samplelst-BTWFBBAN.js +103 -0
  333. package/dist/tvs.termCollection-Y64QIKOA.js +158 -0
  334. package/dist/violin-3LLHHV3L.js +45 -0
  335. package/dist/violin.integration.spec-6NF5FDLQ.js +1424 -0
  336. package/dist/violin.interactivity-W2AKZ24D.js +37 -0
  337. package/dist/violin.renderer-CRFYYZRI.js +39 -0
  338. package/dist/vocabulary-AUJOAVYS.js +40 -0
  339. package/package.json +4 -3
  340. package/dist/2dmaf-DTWWXOZC.js +0 -1372
  341. package/dist/AIProjectAdmin-BCYIWOXD.js +0 -828
  342. package/dist/AppHeader-H3L2MRWP.js +0 -834
  343. package/dist/BoxPlot-INZ6IN3V.js +0 -1218
  344. package/dist/CorrelationVolcano-AK3XW4ZH.js +0 -618
  345. package/dist/DE-IBSFUKNG.js +0 -94
  346. package/dist/DEinput-H4GMQWDY.js +0 -300
  347. package/dist/DifferentialAnalysis-3DSL5LQC.js +0 -243
  348. package/dist/DifferentialAnalysis-3DSL5LQC.js.map +0 -7
  349. package/dist/Disco-5PXXMGGQ.js +0 -3236
  350. package/dist/Disco.UI-23LOT2U6.js +0 -244
  351. package/dist/DmrPlot-PBCU2XNF.js +0 -641
  352. package/dist/GB-HIEPWNPV.js +0 -1129
  353. package/dist/GeneExpInput-A4JNX7PU.js +0 -365
  354. package/dist/HicApp-IDH2A4BC.js +0 -2249
  355. package/dist/NumBinaryEditor-CZ54X7J3.js +0 -269
  356. package/dist/NumBinaryEditor.unit.spec-QLBRM7MJ.js +0 -285
  357. package/dist/NumContEditor-Z5MGLQ2I.js +0 -106
  358. package/dist/NumContEditor.unit.spec-TR7D7ULV.js +0 -168
  359. package/dist/NumCustomBinEditor-B7JID42Y.js +0 -37
  360. package/dist/NumCustomBinEditor.unit.spec-GZJIVY4K.js +0 -283
  361. package/dist/NumDiscreteEditor-LWHZ36T6.js +0 -178
  362. package/dist/NumDiscreteEditor.unit.spec-QCQCMEWO.js +0 -201
  363. package/dist/NumRegularBinEditor-IATRIUKD.js +0 -37
  364. package/dist/NumRegularBinEditor.unit.spec-J6UTQO76.js +0 -226
  365. package/dist/NumSplineEditor-2KMU6SRO.js +0 -191
  366. package/dist/NumSplineEditor.unit.spec-MX7Y4MTD.js +0 -198
  367. package/dist/NumericDensity-JCH7F5FV.js +0 -37
  368. package/dist/NumericDensity.unit.spec-4TKKRKHF.js +0 -220
  369. package/dist/NumericHandler-7FB3RJM7.js +0 -38
  370. package/dist/NumericHandler.unit.spec-U6DCADZY.js +0 -218
  371. package/dist/RunChart2-VQTIVMKM.js +0 -757
  372. package/dist/SC-XW272KAP.js +0 -827
  373. package/dist/SC-XW272KAP.js.map +0 -7
  374. package/dist/Volcano-Y4U3L6D2.js +0 -1352
  375. package/dist/Volcano-Y4U3L6D2.js.map +0 -7
  376. package/dist/WSIViewer-UFB7TI2D.js +0 -47972
  377. package/dist/WSIViewer-UFB7TI2D.js.map +0 -7
  378. package/dist/WsiSamplesPlot-2OAR57YB.js +0 -164
  379. package/dist/adSandbox-IKKFYRF7.js +0 -37
  380. package/dist/alphaGenome-WJNFQGGK.js +0 -174
  381. package/dist/app-UHGTFH6D.js +0 -48
  382. package/dist/app-YETYAR45.js +0 -36
  383. package/dist/bam-S6U7VNJP.js +0 -859
  384. package/dist/barchart-3NJDGHXU.js +0 -46
  385. package/dist/barchart.data-MVVKPDLE.js +0 -22
  386. package/dist/barchart.events-WQGA4CGB.js +0 -46
  387. package/dist/barchart.integration.spec-E6CJTWRN.js +0 -1676
  388. package/dist/barchart2-UNHFOYKB.js +0 -310
  389. package/dist/block-2XHZLY26.js +0 -6201
  390. package/dist/block.init-CMG4V6RB.js +0 -37
  391. package/dist/block.mds.expressionrank-QX2JOEMV.js +0 -358
  392. package/dist/block.mds.geneboxplot-USVQSDBT.js +0 -827
  393. package/dist/block.mds.junction-R6GJO75N.js +0 -1544
  394. package/dist/block.mds.svcnv-MRISSDAX.js +0 -6800
  395. package/dist/block.svg-Z5KKZTDB.js +0 -163
  396. package/dist/block.tk.aicheck-SOFJYYZX.js +0 -282
  397. package/dist/block.tk.ase-EHX5FV2Y.js +0 -364
  398. package/dist/block.tk.bam-DJS6LODM.js +0 -1905
  399. package/dist/block.tk.bedgraphdot-R2YHPXZA.js +0 -383
  400. package/dist/block.tk.bigwig.ui-VPEEQJLS.js +0 -211
  401. package/dist/block.tk.hicstraw-BDYN573B.js +0 -822
  402. package/dist/block.tk.junction-BONB4BXU.js +0 -2363
  403. package/dist/block.tk.junction.textmatrixui-Y5R6KY4N.js +0 -198
  404. package/dist/block.tk.ld-EGVVSXCB.js +0 -98
  405. package/dist/block.tk.menu-4YBMB5JT.js +0 -1028
  406. package/dist/block.tk.pgv-SBHGL6UH.js +0 -943
  407. package/dist/brainImaging-G3WZDYG6.js +0 -422
  408. package/dist/chunk-2K5DSRBJ.js +0 -84
  409. package/dist/chunk-2K5DSRBJ.js.map +0 -7
  410. package/dist/chunk-2O6JF76T.js +0 -121
  411. package/dist/chunk-2QULGYVE.js +0 -368
  412. package/dist/chunk-2VLGHVOL.js +0 -215
  413. package/dist/chunk-32TTOWY6.js +0 -1210
  414. package/dist/chunk-43PMSEMV.js +0 -50
  415. package/dist/chunk-4KSU6NBP.js +0 -194
  416. package/dist/chunk-4SFX42S7.js +0 -1271
  417. package/dist/chunk-4Y444IRJ.js +0 -272
  418. package/dist/chunk-56AN5PPQ.js +0 -679
  419. package/dist/chunk-56AN5PPQ.js.map +0 -7
  420. package/dist/chunk-5FO3NKA4.js +0 -155
  421. package/dist/chunk-5FO3NKA4.js.map +0 -7
  422. package/dist/chunk-5HOR6JQ2.js +0 -100
  423. package/dist/chunk-5LZKQFLO.js +0 -180
  424. package/dist/chunk-5LZKQFLO.js.map +0 -7
  425. package/dist/chunk-5RE3J6HK.js +0 -293
  426. package/dist/chunk-5SMOOFRW.js +0 -386
  427. package/dist/chunk-64Z22QAH.js +0 -14
  428. package/dist/chunk-6NMH6WPB.js +0 -446
  429. package/dist/chunk-7FKIAQ4K.js +0 -17
  430. package/dist/chunk-7NOKTEHK.js +0 -407
  431. package/dist/chunk-7UHUOC6F.js +0 -119
  432. package/dist/chunk-AMYSEKPF.js +0 -1658
  433. package/dist/chunk-AMYSEKPF.js.map +0 -7
  434. package/dist/chunk-ANGDY7VC.js +0 -170
  435. package/dist/chunk-AQ4OP4GR.js +0 -39
  436. package/dist/chunk-AQVOYTLS.js +0 -177
  437. package/dist/chunk-ARINZFQG.js +0 -276
  438. package/dist/chunk-ARINZFQG.js.map +0 -7
  439. package/dist/chunk-BQJVLXEL.js +0 -55
  440. package/dist/chunk-BRMASRRS.js +0 -455
  441. package/dist/chunk-BT4OOYPT.js +0 -280
  442. package/dist/chunk-BTJFVY3R.js +0 -190
  443. package/dist/chunk-BTJFVY3R.js.map +0 -7
  444. package/dist/chunk-C62CSWMV.js +0 -335
  445. package/dist/chunk-CAWDQURD.js +0 -6364
  446. package/dist/chunk-DMAHNBGN.js +0 -1230
  447. package/dist/chunk-DMAHNBGN.js.map +0 -7
  448. package/dist/chunk-EGWVYY7K.js +0 -264
  449. package/dist/chunk-EGWVYY7K.js.map +0 -7
  450. package/dist/chunk-ENWVV6EU.js +0 -2681
  451. package/dist/chunk-EPOELG75.js +0 -56
  452. package/dist/chunk-EPOELG75.js.map +0 -7
  453. package/dist/chunk-FA44G3GZ.js +0 -470
  454. package/dist/chunk-GD7FKXOA.js +0 -148
  455. package/dist/chunk-GF4OSOYW.js +0 -2815
  456. package/dist/chunk-GQOBT2W7.js +0 -203
  457. package/dist/chunk-GTBL7UHX.js +0 -2786
  458. package/dist/chunk-HE7CD7BD.js +0 -482
  459. package/dist/chunk-I7JDV4ZC.js +0 -226
  460. package/dist/chunk-IABWKPRK.js +0 -534
  461. package/dist/chunk-IPDH4FHY.js +0 -54
  462. package/dist/chunk-JNOOLCYB.js +0 -1159
  463. package/dist/chunk-JPKYHLNI.js +0 -158
  464. package/dist/chunk-KMQ6GQ3I.js +0 -1943
  465. package/dist/chunk-KTCW3JA6.js +0 -4209
  466. package/dist/chunk-L4QG7XZE.js +0 -46
  467. package/dist/chunk-L4QG7XZE.js.map +0 -7
  468. package/dist/chunk-LGUE54VX.js +0 -302
  469. package/dist/chunk-LJ4AUJXC.js +0 -95
  470. package/dist/chunk-LN3QYBGI.js +0 -20495
  471. package/dist/chunk-LN3QYBGI.js.map +0 -7
  472. package/dist/chunk-LQQSRNR5.js +0 -228
  473. package/dist/chunk-LSV4Z473.js +0 -31
  474. package/dist/chunk-LTSR7SLO.js +0 -514
  475. package/dist/chunk-LY7GD74F.js +0 -381
  476. package/dist/chunk-MHCTLVGE.js +0 -26
  477. package/dist/chunk-MSAMGAQF.js +0 -2370
  478. package/dist/chunk-MSAMGAQF.js.map +0 -7
  479. package/dist/chunk-NYX4B5CO.js +0 -291
  480. package/dist/chunk-OPPNZXYG.js +0 -129
  481. package/dist/chunk-P6TPXUMP.js +0 -117
  482. package/dist/chunk-PL2CM7RY.js +0 -621
  483. package/dist/chunk-PSGQWZN4.js +0 -147
  484. package/dist/chunk-PZLYNNST.js +0 -371
  485. package/dist/chunk-RA4RQYXQ.js +0 -142
  486. package/dist/chunk-RAJZYWFN.js +0 -95
  487. package/dist/chunk-ROLVOPVR.js +0 -252
  488. package/dist/chunk-RQZJIBIH.js +0 -34
  489. package/dist/chunk-RSE2FOKW.js +0 -217
  490. package/dist/chunk-SDLRTORS.js +0 -263
  491. package/dist/chunk-TF4EDNQO.js +0 -158
  492. package/dist/chunk-TV74I3Y5.js +0 -43
  493. package/dist/chunk-TV74I3Y5.js.map +0 -7
  494. package/dist/chunk-UPPBAFUK.js +0 -5000
  495. package/dist/chunk-UVPAZM3G.js +0 -52
  496. package/dist/chunk-UWYCEYML.js +0 -815
  497. package/dist/chunk-VB3SRNBK.js +0 -37
  498. package/dist/chunk-W6XQR5UL.js +0 -444
  499. package/dist/chunk-XBBUQW52.js +0 -824
  500. package/dist/chunk-XSA3VIEQ.js +0 -205
  501. package/dist/chunk-XZ6MGJQ3.js +0 -102
  502. package/dist/chunk-YC6ZJ7RP.js +0 -1842
  503. package/dist/chunk-YC6ZJ7RP.js.map +0 -7
  504. package/dist/chunk-YEMIL6QU.js +0 -1087
  505. package/dist/chunk-ZD47FENE.js +0 -229
  506. package/dist/chunk-ZYBM24FU.js +0 -102
  507. package/dist/chunk-ZYY54HBU.js +0 -330
  508. package/dist/chunk-ZYY54HBU.js.map +0 -7
  509. package/dist/condition-ARCN26MF.js +0 -331
  510. package/dist/controls-PKWN2JGN.js +0 -40
  511. package/dist/controls.config-NFRPXFUJ.js +0 -38
  512. package/dist/correlation-DPT6XL2U.js +0 -97
  513. package/dist/cuminc-M4U7LQD5.js +0 -1148
  514. package/dist/cuminc.integration.spec-MH4OFYDJ.js +0 -677
  515. package/dist/customdata.inputui-6TAHAMSV.js +0 -288
  516. package/dist/dataDownload-7GZEYSUT.js +0 -329
  517. package/dist/dataDownload.integration.spec-NAIJRFTV.js +0 -192
  518. package/dist/databrowser.ui-LLXHZ5O6.js +0 -432
  519. package/dist/dictionary-MUAURMYE.js +0 -110
  520. package/dist/dnaMethylation-AU5D3U3E.js +0 -37
  521. package/dist/dnaMethylation.integration.spec-JIDBRA6P.js +0 -202
  522. package/dist/dofetch-WSYK5OTB.js +0 -50
  523. package/dist/e2pca-ICG35YR5.js +0 -349
  524. package/dist/ep-CSSSQOUP.js +0 -1255
  525. package/dist/expclust.gdc.spec-4WPQUXH4.js +0 -306
  526. package/dist/facet-JAGILNY6.js +0 -520
  527. package/dist/forms2-IMVDB6AT.js +0 -533
  528. package/dist/gb-36LTYICV.js +0 -87
  529. package/dist/geneExpClustering-CGMENTHI.js +0 -248
  530. package/dist/geneExpression-AD2L46J4.js +0 -37
  531. package/dist/geneExpression-G2FHBDUQ.js +0 -312
  532. package/dist/geneExpression.unit.spec-XWCB7K5L.js +0 -101
  533. package/dist/geneORA-GVHQF7DF.js +0 -277
  534. package/dist/geneVariant-HE22CH76.js +0 -40
  535. package/dist/geneVariant-SQD5QUFH.js +0 -38
  536. package/dist/geneVariant.integration.spec-66XFLDNN.js +0 -197
  537. package/dist/genefusion.ui-TD32NWD4.js +0 -308
  538. package/dist/geneset-NSYPDXS3.js +0 -202
  539. package/dist/genomeBrowser.spec-CYFONLNQ.js +0 -280
  540. package/dist/grin2-3QB57OPH.js +0 -1555
  541. package/dist/grin2-FLQNWPMZ.js +0 -851
  542. package/dist/grin2-FLQNWPMZ.js.map +0 -7
  543. package/dist/gsea-RMTU5I3U.js +0 -46
  544. package/dist/hierCluster-LSQL6PGC.js +0 -58
  545. package/dist/hierCluster-XTEBDEVO.js +0 -62
  546. package/dist/hierCluster.config-SHXFSPOH.js +0 -39
  547. package/dist/hierCluster.integration.spec-KNMIYWV3.js +0 -394
  548. package/dist/hierCluster.interactivity-6NAKTUR5.js +0 -53
  549. package/dist/hierCluster.renderers-FWOV4Q47.js +0 -21
  550. package/dist/imagePlot-3IVG4SFN.js +0 -162
  551. package/dist/importPlot-HEMDRIVF.js +0 -8
  552. package/dist/isoformExpression-FJ3GEU6D.js +0 -39
  553. package/dist/isoformExpression.unit.spec-L7D22UDB.js +0 -207
  554. package/dist/launch.adhoc-PDGQF2UP.js +0 -41
  555. package/dist/leftlabel.sample-ZBI4NHCV.js +0 -259
  556. package/dist/legacyDataset-PBCPC5I7.js +0 -119
  557. package/dist/lollipop-K7S6ASFE.js +0 -170
  558. package/dist/maf-JEW6PPJB.js +0 -451
  559. package/dist/maftimeline-7URL27MC.js +0 -592
  560. package/dist/matrix-6EK5WGIG.js +0 -57
  561. package/dist/matrix-DKBD5RIL.js +0 -62
  562. package/dist/matrix.cells-KEIOXJQ7.js +0 -28
  563. package/dist/matrix.config-FGJB4VVM.js +0 -40
  564. package/dist/matrix.data-QGCGFLD7.js +0 -25
  565. package/dist/matrix.groups-HBPLZ2QX.js +0 -26
  566. package/dist/matrix.integration.spec-R4PF67KF.js +0 -3071
  567. package/dist/matrix.interactivity-M3SY33ET.js +0 -41
  568. package/dist/matrix.layout-H6WQ3ZMW.js +0 -43
  569. package/dist/matrix.legend-UCL7HM26.js +0 -22
  570. package/dist/matrix.renderers-3PPFSS7Z.js +0 -37
  571. package/dist/matrix.serieses-S2TJ3E6P.js +0 -21
  572. package/dist/matrix.sort-CFA4UWBJ.js +0 -27
  573. package/dist/matrix.sort.unit.spec-562VIWDS.js +0 -471
  574. package/dist/matrix.sorterUi-FT7K5664.js +0 -18
  575. package/dist/matrix.sorterUi.unit.spec-GAHHUN3K.js +0 -341
  576. package/dist/mavb-HPW5X55U.js +0 -731
  577. package/dist/mds.fimo-HSBKLIOX.js +0 -517
  578. package/dist/mds.samplescatterplot-DE27OMJE.js +0 -1549
  579. package/dist/mds.survivalplot-IW22UGCE.js +0 -482
  580. package/dist/numericDictTermCluster-DOD66G3A.js +0 -72
  581. package/dist/oncomatrix-BZCVCPR4.js +0 -294
  582. package/dist/oncomatrix.spec-IHYCIAP4.js +0 -447
  583. package/dist/plot.2dvaf-QLOZ54VC.js +0 -376
  584. package/dist/plot.app-XDVDR23J.js +0 -40
  585. package/dist/plot.barplot-XOESF7OQ.js +0 -101
  586. package/dist/plot.boxplot-VNOC2CHT.js +0 -151
  587. package/dist/plot.brainImaging-7ZEOY4UR.js +0 -51
  588. package/dist/plot.disco-6GVDYK7A.js +0 -101
  589. package/dist/plot.dzi-TEFPPPL6.js +0 -33
  590. package/dist/plot.ssgq-OG4TODLO.js +0 -138
  591. package/dist/plot.vaf2cov-VMZRJULA.js +0 -258
  592. package/dist/plot.wsi-2CHZZ7AC.js +0 -36
  593. package/dist/polar-QUYQRQOQ.js +0 -185
  594. package/dist/polar2-OXXLAXJC.js +0 -227
  595. package/dist/profile.spec-TI6PRHNJ.js +0 -79
  596. package/dist/profileBarchart-GEK77XEB.js +0 -266
  597. package/dist/profileForms-NR3VNHKM.js +0 -440
  598. package/dist/profilePlot-GGKO3IW5.js +0 -53
  599. package/dist/profileRadar-MN3LX5ER.js +0 -262
  600. package/dist/profileRadarFacility-3G2HWB2L.js +0 -262
  601. package/dist/proteinView-TZ5BGOTA.js +0 -1188
  602. package/dist/proteinView-TZ5BGOTA.js.map +0 -7
  603. package/dist/proteomeAbundance-JXNECXF7.js +0 -68
  604. package/dist/proteomeAbundance-JXNECXF7.js.map +0 -7
  605. package/dist/proteomeAbundance-O4BB55O3.js +0 -21
  606. package/dist/qualitative-Q3TT73O7.js +0 -42
  607. package/dist/radar2-LSD3VPZT.js +0 -315
  608. package/dist/radarFacility2-LZGIXY7A.js +0 -324
  609. package/dist/regression-J3XDAPAZ.js +0 -55
  610. package/dist/regression.inputs-BBZYI5OI.js +0 -47
  611. package/dist/regression.inputs.term-7BW6XGLG.js +0 -47
  612. package/dist/regression.inputs.values.table-DYX2YU4H.js +0 -44
  613. package/dist/regression.integration.spec-WLXZYKWW.js +0 -783
  614. package/dist/regression.results-K5Q2N2KW.js +0 -39
  615. package/dist/regression.spec-VT7T6KBY.js +0 -707
  616. package/dist/report-3D3L573D.js +0 -221
  617. package/dist/sampleScatter.spec-6IPJQLM2.js +0 -201
  618. package/dist/sampleView-5JMFI4HF.js +0 -47
  619. package/dist/samplelst-SUCB5WOZ.js +0 -110
  620. package/dist/samplematrix-A5SZBKO6.js +0 -2197
  621. package/dist/sc-NAA6ESO6.js +0 -85
  622. package/dist/scatter-EQCN2HYE.js +0 -801
  623. package/dist/scatter.integration.spec-7NXIYS67.js +0 -1195
  624. package/dist/selectGenomeWithTklst-KXODNCY6.js +0 -133
  625. package/dist/singleCellCellType-HMIW76YB.js +0 -37
  626. package/dist/singleCellCellType.unit.spec-ZCZET56X.js +0 -159
  627. package/dist/singleCellGeneExpression-IUCUHF6R.js +0 -37
  628. package/dist/singleCellGeneExpression.unit.spec-J4D6F2N3.js +0 -152
  629. package/dist/singleCellPlot-L6W3MDGG.js +0 -52
  630. package/dist/singlecell-A6ECAAPI.js +0 -85
  631. package/dist/singlecell-KBABNXC5.js +0 -1571
  632. package/dist/snp-RO7ATG6E.js +0 -37
  633. package/dist/snp.unit.spec-ZJLRGJD4.js +0 -175
  634. package/dist/snplocus-N3CU6NRP.js +0 -207
  635. package/dist/spliceevent.a53ss.diagram-7PHT4COB.js +0 -150
  636. package/dist/spliceevent.exonskip.diagram-3CZTY6QD.js +0 -276
  637. package/dist/spliceevent.noeventdiagram-GQE256DT.js +0 -459
  638. package/dist/ssGSEA-4I3L5MX2.js +0 -37
  639. package/dist/ssGSEA.unit.spec-PZCC5YU7.js +0 -87
  640. package/dist/summarizeCnvGeneexp-ASXUQW56.js +0 -162
  641. package/dist/summarizeGeneexpSurvival-ULGUOW5V.js +0 -107
  642. package/dist/summarizeMutationCnv-VDUCIUGM.js +0 -163
  643. package/dist/summarizeMutationDiagnosis-FMAAMCZC.js +0 -39
  644. package/dist/summarizeMutationSurvival-GZ4NGDJT.js +0 -98
  645. package/dist/summary-2WNZ6JSB.js +0 -48
  646. package/dist/summary.integration.spec-XPMYB6GM.js +0 -413
  647. package/dist/summaryInput-2UGXEA5C.js +0 -234
  648. package/dist/sunburst-76WCQLTT.js +0 -283
  649. package/dist/survival-23IZM4ML.js +0 -45
  650. package/dist/survival-3EAMPHSX.js +0 -57
  651. package/dist/survival.integration.spec-YNVAKBV3.js +0 -801
  652. package/dist/svgraph-G2M5LXEP.js +0 -1386
  653. package/dist/svmr-BUDBVU34.js +0 -3841
  654. package/dist/table-QJSZ6YFK.js +0 -199
  655. package/dist/termCollection-2YAY3RLZ.js +0 -178
  656. package/dist/termCollection-MAMDMEDD.js +0 -37
  657. package/dist/termCollection.unit.spec-UY7G2BHG.js +0 -207
  658. package/dist/tk-GFGP3F76.js +0 -45
  659. package/dist/tp.ui-OQ757UIE.js +0 -1458
  660. package/dist/tvs.density-BJK23JYJ.js +0 -18
  661. package/dist/tvs.dt-TOYEFKNT.js +0 -38
  662. package/dist/tvs.dtcnv.categorical-EO2VLFL2.js +0 -39
  663. package/dist/tvs.dtcnv.continuous-ZAHTKZ4Y.js +0 -71
  664. package/dist/tvs.dtfusion-BY3AHBL3.js +0 -39
  665. package/dist/tvs.dtsnvindel-UM5LQ4FR.js +0 -39
  666. package/dist/tvs.dtsv-H7ZVHLS5.js +0 -39
  667. package/dist/tvs.numeric-66FP6RRH.js +0 -21
  668. package/dist/tvs.samplelst-Q5ECTZOY.js +0 -103
  669. package/dist/tvs.termCollection-FYNMKZTR.js +0 -158
  670. package/dist/violin-EGWLAJVM.js +0 -45
  671. package/dist/violin.integration.spec-3P4TYHBR.js +0 -1424
  672. package/dist/violin.interactivity-VWDR4LYB.js +0 -37
  673. package/dist/violin.renderer-WWTU6J7X.js +0 -39
  674. package/dist/vocabulary-JG4ZITOH.js +0 -40
  675. /package/dist/{2dmaf-DTWWXOZC.js.map → 2dmaf-6YIEXAIG.js.map} +0 -0
  676. /package/dist/{AIProjectAdmin-BCYIWOXD.js.map → AIProjectAdmin-5K5NIQNT.js.map} +0 -0
  677. /package/dist/{AppHeader-H3L2MRWP.js.map → AppHeader-4SN5M6SZ.js.map} +0 -0
  678. /package/dist/{BoxPlot-INZ6IN3V.js.map → BoxPlot-DBJA6TQF.js.map} +0 -0
  679. /package/dist/{CorrelationVolcano-AK3XW4ZH.js.map → CorrelationVolcano-MDMTMTT5.js.map} +0 -0
  680. /package/dist/{DE-IBSFUKNG.js.map → DE-S5AFNI4I.js.map} +0 -0
  681. /package/dist/{DEinput-H4GMQWDY.js.map → DEinput-XVBBA74N.js.map} +0 -0
  682. /package/dist/{Disco-5PXXMGGQ.js.map → Disco-VV7FQ7WW.js.map} +0 -0
  683. /package/dist/{Disco.UI-23LOT2U6.js.map → Disco.UI-JDJFJFEY.js.map} +0 -0
  684. /package/dist/{DmrPlot-PBCU2XNF.js.map → DmrPlot-XOG67W74.js.map} +0 -0
  685. /package/dist/{GB-HIEPWNPV.js.map → GB-K3AWZQFF.js.map} +0 -0
  686. /package/dist/{GeneExpInput-A4JNX7PU.js.map → GeneExpInput-Y7MDS2CA.js.map} +0 -0
  687. /package/dist/{HicApp-IDH2A4BC.js.map → HicApp-53OTZ3YU.js.map} +0 -0
  688. /package/dist/{NumBinaryEditor-CZ54X7J3.js.map → NumBinaryEditor-SB4YR3JM.js.map} +0 -0
  689. /package/dist/{NumBinaryEditor.unit.spec-QLBRM7MJ.js.map → NumBinaryEditor.unit.spec-V2W2OZYP.js.map} +0 -0
  690. /package/dist/{NumContEditor-Z5MGLQ2I.js.map → NumContEditor-RZZBM7PR.js.map} +0 -0
  691. /package/dist/{NumContEditor.unit.spec-TR7D7ULV.js.map → NumContEditor.unit.spec-GAAW3ZZN.js.map} +0 -0
  692. /package/dist/{NumCustomBinEditor-B7JID42Y.js.map → NumCustomBinEditor-GFCGPRPI.js.map} +0 -0
  693. /package/dist/{NumCustomBinEditor.unit.spec-GZJIVY4K.js.map → NumCustomBinEditor.unit.spec-24MXSO3L.js.map} +0 -0
  694. /package/dist/{NumDiscreteEditor-LWHZ36T6.js.map → NumDiscreteEditor-HAHIOFNC.js.map} +0 -0
  695. /package/dist/{NumDiscreteEditor.unit.spec-QCQCMEWO.js.map → NumDiscreteEditor.unit.spec-JYN2CWSI.js.map} +0 -0
  696. /package/dist/{NumRegularBinEditor-IATRIUKD.js.map → NumRegularBinEditor-7DOE64RB.js.map} +0 -0
  697. /package/dist/{NumRegularBinEditor.unit.spec-J6UTQO76.js.map → NumRegularBinEditor.unit.spec-2WU4GGNT.js.map} +0 -0
  698. /package/dist/{NumSplineEditor-2KMU6SRO.js.map → NumSplineEditor-JLRD5TVX.js.map} +0 -0
  699. /package/dist/{NumSplineEditor.unit.spec-MX7Y4MTD.js.map → NumSplineEditor.unit.spec-LOG7CECJ.js.map} +0 -0
  700. /package/dist/{NumericDensity-JCH7F5FV.js.map → NumericDensity-IDOP7I34.js.map} +0 -0
  701. /package/dist/{NumericDensity.unit.spec-4TKKRKHF.js.map → NumericDensity.unit.spec-HTJQRPVH.js.map} +0 -0
  702. /package/dist/{NumericHandler-7FB3RJM7.js.map → NumericHandler-DWVVGLLB.js.map} +0 -0
  703. /package/dist/{NumericHandler.unit.spec-U6DCADZY.js.map → NumericHandler.unit.spec-BDDFTHOF.js.map} +0 -0
  704. /package/dist/{RunChart2-VQTIVMKM.js.map → RunChart2-PBJ56YX3.js.map} +0 -0
  705. /package/dist/{WsiSamplesPlot-2OAR57YB.js.map → WsiSamplesPlot-FOMPMEXK.js.map} +0 -0
  706. /package/dist/{adSandbox-IKKFYRF7.js.map → adSandbox-SRPPCYYR.js.map} +0 -0
  707. /package/dist/{alphaGenome-WJNFQGGK.js.map → alphaGenome-IS2WAJCK.js.map} +0 -0
  708. /package/dist/{app-UHGTFH6D.js.map → app-GTHYSGWI.js.map} +0 -0
  709. /package/dist/{app-YETYAR45.js.map → app-XEKETNLG.js.map} +0 -0
  710. /package/dist/{bam-S6U7VNJP.js.map → bam-GQBFL6A7.js.map} +0 -0
  711. /package/dist/{barchart-3NJDGHXU.js.map → barchart-AESC4JSX.js.map} +0 -0
  712. /package/dist/{barchart.data-MVVKPDLE.js.map → barchart.data-RE34IC4G.js.map} +0 -0
  713. /package/dist/{barchart.events-WQGA4CGB.js.map → barchart.events-KM4J5ISO.js.map} +0 -0
  714. /package/dist/{barchart.integration.spec-E6CJTWRN.js.map → barchart.integration.spec-DFVSBGO3.js.map} +0 -0
  715. /package/dist/{barchart2-UNHFOYKB.js.map → barchart2-NNTL4RQZ.js.map} +0 -0
  716. /package/dist/{block-2XHZLY26.js.map → block-EHZM3FUX.js.map} +0 -0
  717. /package/dist/{block.init-CMG4V6RB.js.map → block.init-EAEFNNF6.js.map} +0 -0
  718. /package/dist/{block.mds.expressionrank-QX2JOEMV.js.map → block.mds.expressionrank-ZBHA2CFE.js.map} +0 -0
  719. /package/dist/{block.mds.geneboxplot-USVQSDBT.js.map → block.mds.geneboxplot-4ZU3QUAK.js.map} +0 -0
  720. /package/dist/{block.mds.junction-R6GJO75N.js.map → block.mds.junction-PDH55JXO.js.map} +0 -0
  721. /package/dist/{block.mds.svcnv-MRISSDAX.js.map → block.mds.svcnv-QWBU54XQ.js.map} +0 -0
  722. /package/dist/{block.svg-Z5KKZTDB.js.map → block.svg-HUGBYWXU.js.map} +0 -0
  723. /package/dist/{block.tk.aicheck-SOFJYYZX.js.map → block.tk.aicheck-SDCWXQZF.js.map} +0 -0
  724. /package/dist/{block.tk.ase-EHX5FV2Y.js.map → block.tk.ase-HMUTHCJS.js.map} +0 -0
  725. /package/dist/{block.tk.bam-DJS6LODM.js.map → block.tk.bam-Q7B2YQLI.js.map} +0 -0
  726. /package/dist/{block.tk.bedgraphdot-R2YHPXZA.js.map → block.tk.bedgraphdot-QBGBSVHN.js.map} +0 -0
  727. /package/dist/{block.tk.bigwig.ui-VPEEQJLS.js.map → block.tk.bigwig.ui-767A3MUH.js.map} +0 -0
  728. /package/dist/{block.tk.hicstraw-BDYN573B.js.map → block.tk.hicstraw-LEZUZHLF.js.map} +0 -0
  729. /package/dist/{block.tk.junction-BONB4BXU.js.map → block.tk.junction-GQHCZOYR.js.map} +0 -0
  730. /package/dist/{block.tk.junction.textmatrixui-Y5R6KY4N.js.map → block.tk.junction.textmatrixui-D5QUO7KQ.js.map} +0 -0
  731. /package/dist/{block.tk.ld-EGVVSXCB.js.map → block.tk.ld-E3MHZOG5.js.map} +0 -0
  732. /package/dist/{block.tk.menu-4YBMB5JT.js.map → block.tk.menu-XE7PFYGR.js.map} +0 -0
  733. /package/dist/{block.tk.pgv-SBHGL6UH.js.map → block.tk.pgv-MPPMPDED.js.map} +0 -0
  734. /package/dist/{brainImaging-G3WZDYG6.js.map → brainImaging-YQ443NOL.js.map} +0 -0
  735. /package/dist/{chunk-LQQSRNR5.js.map → chunk-26WXJBSR.js.map} +0 -0
  736. /package/dist/{chunk-7UHUOC6F.js.map → chunk-2P6Z7JFC.js.map} +0 -0
  737. /package/dist/{chunk-ENWVV6EU.js.map → chunk-2QQO4RRD.js.map} +0 -0
  738. /package/dist/{chunk-GF4OSOYW.js.map → chunk-37ARSZOI.js.map} +0 -0
  739. /package/dist/{chunk-LY7GD74F.js.map → chunk-42Q53PXE.js.map} +0 -0
  740. /package/dist/{chunk-5SMOOFRW.js.map → chunk-46ASPS5Y.js.map} +0 -0
  741. /package/dist/{chunk-RA4RQYXQ.js.map → chunk-4KPI7PB5.js.map} +0 -0
  742. /package/dist/{chunk-XZ6MGJQ3.js.map → chunk-4MDNMCGZ.js.map} +0 -0
  743. /package/dist/{chunk-4Y444IRJ.js.map → chunk-5IG3E4DT.js.map} +0 -0
  744. /package/dist/{chunk-UVPAZM3G.js.map → chunk-5MIR7IHI.js.map} +0 -0
  745. /package/dist/{chunk-BQJVLXEL.js.map → chunk-5MZVXJVA.js.map} +0 -0
  746. /package/dist/{chunk-SDLRTORS.js.map → chunk-66D5GRS5.js.map} +0 -0
  747. /package/dist/{chunk-IABWKPRK.js.map → chunk-6ATE2TRC.js.map} +0 -0
  748. /package/dist/{chunk-JPKYHLNI.js.map → chunk-6BFR6MK3.js.map} +0 -0
  749. /package/dist/{chunk-C62CSWMV.js.map → chunk-6NJMCO4X.js.map} +0 -0
  750. /package/dist/{chunk-IPDH4FHY.js.map → chunk-6ON5KAMO.js.map} +0 -0
  751. /package/dist/{chunk-ZYBM24FU.js.map → chunk-76GPYMHZ.js.map} +0 -0
  752. /package/dist/{chunk-PSGQWZN4.js.map → chunk-7AAFBFOH.js.map} +0 -0
  753. /package/dist/{chunk-LGUE54VX.js.map → chunk-7OOZHEUC.js.map} +0 -0
  754. /package/dist/{chunk-I7JDV4ZC.js.map → chunk-A4VLWLYF.js.map} +0 -0
  755. /package/dist/{chunk-W6XQR5UL.js.map → chunk-A6EFWGWD.js.map} +0 -0
  756. /package/dist/{chunk-ANGDY7VC.js.map → chunk-ALW5XXVW.js.map} +0 -0
  757. /package/dist/{chunk-RQZJIBIH.js.map → chunk-ANCT2BGO.js.map} +0 -0
  758. /package/dist/{chunk-NYX4B5CO.js.map → chunk-AROMXWCY.js.map} +0 -0
  759. /package/dist/{chunk-UWYCEYML.js.map → chunk-AY4UBGLC.js.map} +0 -0
  760. /package/dist/{chunk-32TTOWY6.js.map → chunk-BMVLR3TM.js.map} +0 -0
  761. /package/dist/{chunk-PL2CM7RY.js.map → chunk-BR7JA2EO.js.map} +0 -0
  762. /package/dist/{chunk-7FKIAQ4K.js.map → chunk-D3HJXMTH.js.map} +0 -0
  763. /package/dist/{chunk-XSA3VIEQ.js.map → chunk-DKUEZ4XD.js.map} +0 -0
  764. /package/dist/{chunk-LSV4Z473.js.map → chunk-DT3MMC5U.js.map} +0 -0
  765. /package/dist/{chunk-UPPBAFUK.js.map → chunk-DYVKN7EE.js.map} +0 -0
  766. /package/dist/{chunk-VB3SRNBK.js.map → chunk-EF37UZY6.js.map} +0 -0
  767. /package/dist/{chunk-ZD47FENE.js.map → chunk-ESXMS7FW.js.map} +0 -0
  768. /package/dist/{chunk-2QULGYVE.js.map → chunk-FUSVXQ6C.js.map} +0 -0
  769. /package/dist/{chunk-GTBL7UHX.js.map → chunk-GXKVAPGP.js.map} +0 -0
  770. /package/dist/{chunk-AQ4OP4GR.js.map → chunk-H4JIENLQ.js.map} +0 -0
  771. /package/dist/{chunk-FA44G3GZ.js.map → chunk-H7YJG4YM.js.map} +0 -0
  772. /package/dist/{chunk-GD7FKXOA.js.map → chunk-I24KPIDD.js.map} +0 -0
  773. /package/dist/{chunk-GQOBT2W7.js.map → chunk-IENFDUWD.js.map} +0 -0
  774. /package/dist/{chunk-43PMSEMV.js.map → chunk-J7BISJTL.js.map} +0 -0
  775. /package/dist/{chunk-XBBUQW52.js.map → chunk-J7KYOSEK.js.map} +0 -0
  776. /package/dist/{chunk-PZLYNNST.js.map → chunk-JGPZ5254.js.map} +0 -0
  777. /package/dist/{chunk-4KSU6NBP.js.map → chunk-JUIPCWAM.js.map} +0 -0
  778. /package/dist/{chunk-5RE3J6HK.js.map → chunk-LO4NMQ7W.js.map} +0 -0
  779. /package/dist/{chunk-RAJZYWFN.js.map → chunk-LSSLS5HV.js.map} +0 -0
  780. /package/dist/{chunk-7NOKTEHK.js.map → chunk-MDLRB3MR.js.map} +0 -0
  781. /package/dist/{chunk-OPPNZXYG.js.map → chunk-MJLKGZ27.js.map} +0 -0
  782. /package/dist/{chunk-KTCW3JA6.js.map → chunk-NL5T3SBK.js.map} +0 -0
  783. /package/dist/{chunk-RSE2FOKW.js.map → chunk-ONAYJVN2.js.map} +0 -0
  784. /package/dist/{chunk-64Z22QAH.js.map → chunk-PSMFOARZ.js.map} +0 -0
  785. /package/dist/{chunk-LTSR7SLO.js.map → chunk-QX3GF2IA.js.map} +0 -0
  786. /package/dist/{chunk-JNOOLCYB.js.map → chunk-QZ2U4BOS.js.map} +0 -0
  787. /package/dist/{chunk-YEMIL6QU.js.map → chunk-RBZBBNLL.js.map} +0 -0
  788. /package/dist/{chunk-P6TPXUMP.js.map → chunk-RZTFQXWV.js.map} +0 -0
  789. /package/dist/{chunk-AQVOYTLS.js.map → chunk-SJC2C77V.js.map} +0 -0
  790. /package/dist/{chunk-2VLGHVOL.js.map → chunk-TVXVP4M6.js.map} +0 -0
  791. /package/dist/{chunk-HE7CD7BD.js.map → chunk-UTDPKDIY.js.map} +0 -0
  792. /package/dist/{chunk-BT4OOYPT.js.map → chunk-UVIUB7QI.js.map} +0 -0
  793. /package/dist/{chunk-CAWDQURD.js.map → chunk-VAUSRBL5.js.map} +0 -0
  794. /package/dist/{chunk-6NMH6WPB.js.map → chunk-WP22GYZ2.js.map} +0 -0
  795. /package/dist/{chunk-4SFX42S7.js.map → chunk-WUNX3VST.js.map} +0 -0
  796. /package/dist/{chunk-BRMASRRS.js.map → chunk-XD4TBJK2.js.map} +0 -0
  797. /package/dist/{chunk-2O6JF76T.js.map → chunk-Y6DSXMPB.js.map} +0 -0
  798. /package/dist/{chunk-ROLVOPVR.js.map → chunk-YBIZRASR.js.map} +0 -0
  799. /package/dist/{chunk-TF4EDNQO.js.map → chunk-YI2YH7ZK.js.map} +0 -0
  800. /package/dist/{chunk-KMQ6GQ3I.js.map → chunk-YLDE3PVC.js.map} +0 -0
  801. /package/dist/{chunk-MHCTLVGE.js.map → chunk-Z736NYXL.js.map} +0 -0
  802. /package/dist/{chunk-LJ4AUJXC.js.map → chunk-ZEJB7CPC.js.map} +0 -0
  803. /package/dist/{chunk-5HOR6JQ2.js.map → chunk-ZGWEBKZ4.js.map} +0 -0
  804. /package/dist/{condition-ARCN26MF.js.map → condition-FSF6ROJV.js.map} +0 -0
  805. /package/dist/{controls-PKWN2JGN.js.map → controls-OPSBFDFZ.js.map} +0 -0
  806. /package/dist/{controls.config-NFRPXFUJ.js.map → controls.config-3QRV5363.js.map} +0 -0
  807. /package/dist/{correlation-DPT6XL2U.js.map → correlation-WLOI7Z35.js.map} +0 -0
  808. /package/dist/{cuminc-M4U7LQD5.js.map → cuminc-G2UGJUUA.js.map} +0 -0
  809. /package/dist/{cuminc.integration.spec-MH4OFYDJ.js.map → cuminc.integration.spec-X5NEZ6S5.js.map} +0 -0
  810. /package/dist/{customdata.inputui-6TAHAMSV.js.map → customdata.inputui-RNW3AO3Z.js.map} +0 -0
  811. /package/dist/{dataDownload-7GZEYSUT.js.map → dataDownload-4U3TGDMH.js.map} +0 -0
  812. /package/dist/{dataDownload.integration.spec-NAIJRFTV.js.map → dataDownload.integration.spec-6FUI2SJ4.js.map} +0 -0
  813. /package/dist/{databrowser.ui-LLXHZ5O6.js.map → databrowser.ui-4GVJVJWG.js.map} +0 -0
  814. /package/dist/{dictionary-MUAURMYE.js.map → dictionary-NSDS7Z4K.js.map} +0 -0
  815. /package/dist/{dnaMethylation-AU5D3U3E.js.map → dnaMethylation-OYQB75LD.js.map} +0 -0
  816. /package/dist/{dnaMethylation.integration.spec-JIDBRA6P.js.map → dnaMethylation.integration.spec-6TTLV34N.js.map} +0 -0
  817. /package/dist/{dofetch-WSYK5OTB.js.map → dofetch-4TO3QMT6.js.map} +0 -0
  818. /package/dist/{e2pca-ICG35YR5.js.map → e2pca-NYBVR6PL.js.map} +0 -0
  819. /package/dist/{ep-CSSSQOUP.js.map → ep-RTDVEA4D.js.map} +0 -0
  820. /package/dist/{expclust.gdc.spec-4WPQUXH4.js.map → expclust.gdc.spec-JVIRESTP.js.map} +0 -0
  821. /package/dist/{facet-JAGILNY6.js.map → facet-OVBF2QMO.js.map} +0 -0
  822. /package/dist/{forms2-IMVDB6AT.js.map → forms2-HTLS54CX.js.map} +0 -0
  823. /package/dist/{gb-36LTYICV.js.map → gb-Y3546HMZ.js.map} +0 -0
  824. /package/dist/{geneExpClustering-CGMENTHI.js.map → geneExpClustering-PH3PWH3K.js.map} +0 -0
  825. /package/dist/{geneExpression-AD2L46J4.js.map → geneExpression-2Z2EV3XM.js.map} +0 -0
  826. /package/dist/{geneExpression-G2FHBDUQ.js.map → geneExpression-6CFXOCGW.js.map} +0 -0
  827. /package/dist/{geneExpression.unit.spec-XWCB7K5L.js.map → geneExpression.unit.spec-WKUTHRHC.js.map} +0 -0
  828. /package/dist/{geneORA-GVHQF7DF.js.map → geneORA-SHLZESLB.js.map} +0 -0
  829. /package/dist/{geneVariant-HE22CH76.js.map → geneVariant-FHZUIFPM.js.map} +0 -0
  830. /package/dist/{geneVariant-SQD5QUFH.js.map → geneVariant-Y7ZUBEOX.js.map} +0 -0
  831. /package/dist/{geneVariant.integration.spec-66XFLDNN.js.map → geneVariant.integration.spec-N7TZUOY3.js.map} +0 -0
  832. /package/dist/{genefusion.ui-TD32NWD4.js.map → genefusion.ui-7PDVZPZ2.js.map} +0 -0
  833. /package/dist/{geneset-NSYPDXS3.js.map → geneset-HLVOGYUI.js.map} +0 -0
  834. /package/dist/{genomeBrowser.spec-CYFONLNQ.js.map → genomeBrowser.spec-7IVIMUR5.js.map} +0 -0
  835. /package/dist/{grin2-3QB57OPH.js.map → grin2-Z5O7254R.js.map} +0 -0
  836. /package/dist/{gsea-RMTU5I3U.js.map → gsea-TFC3MBRW.js.map} +0 -0
  837. /package/dist/{hierCluster-LSQL6PGC.js.map → hierCluster-ERSE5I4I.js.map} +0 -0
  838. /package/dist/{hierCluster-XTEBDEVO.js.map → hierCluster-QQZQU5ZG.js.map} +0 -0
  839. /package/dist/{hierCluster.config-SHXFSPOH.js.map → hierCluster.config-WPINWW37.js.map} +0 -0
  840. /package/dist/{hierCluster.integration.spec-KNMIYWV3.js.map → hierCluster.integration.spec-Y6OHSKPW.js.map} +0 -0
  841. /package/dist/{hierCluster.interactivity-6NAKTUR5.js.map → hierCluster.interactivity-HS3G5QC5.js.map} +0 -0
  842. /package/dist/{hierCluster.renderers-FWOV4Q47.js.map → hierCluster.renderers-W63ZKZTT.js.map} +0 -0
  843. /package/dist/{imagePlot-3IVG4SFN.js.map → imagePlot-QFVN25PM.js.map} +0 -0
  844. /package/dist/{importPlot-HEMDRIVF.js.map → importPlot-MIDM5APH.js.map} +0 -0
  845. /package/dist/{isoformExpression-FJ3GEU6D.js.map → isoformExpression-L4TRNT4A.js.map} +0 -0
  846. /package/dist/{isoformExpression.unit.spec-L7D22UDB.js.map → isoformExpression.unit.spec-QQG323LA.js.map} +0 -0
  847. /package/dist/{launch.adhoc-PDGQF2UP.js.map → launch.adhoc-4NQ6GGGL.js.map} +0 -0
  848. /package/dist/{leftlabel.sample-ZBI4NHCV.js.map → leftlabel.sample-JU7AIPZL.js.map} +0 -0
  849. /package/dist/{legacyDataset-PBCPC5I7.js.map → legacyDataset-TT4CHF23.js.map} +0 -0
  850. /package/dist/{lollipop-K7S6ASFE.js.map → lollipop-JG74M6PJ.js.map} +0 -0
  851. /package/dist/{maf-JEW6PPJB.js.map → maf-PDL2EGHI.js.map} +0 -0
  852. /package/dist/{maftimeline-7URL27MC.js.map → maftimeline-V43NQEEE.js.map} +0 -0
  853. /package/dist/{matrix-6EK5WGIG.js.map → matrix-EB2EFP4S.js.map} +0 -0
  854. /package/dist/{matrix-DKBD5RIL.js.map → matrix-Q57FU5FE.js.map} +0 -0
  855. /package/dist/{matrix.cells-KEIOXJQ7.js.map → matrix.cells-NJIMPD32.js.map} +0 -0
  856. /package/dist/{matrix.config-FGJB4VVM.js.map → matrix.config-GLDEQD3H.js.map} +0 -0
  857. /package/dist/{matrix.data-QGCGFLD7.js.map → matrix.data-6SHAKOQU.js.map} +0 -0
  858. /package/dist/{matrix.groups-HBPLZ2QX.js.map → matrix.groups-MTDEANQA.js.map} +0 -0
  859. /package/dist/{matrix.integration.spec-R4PF67KF.js.map → matrix.integration.spec-JCZ5VQJU.js.map} +0 -0
  860. /package/dist/{matrix.interactivity-M3SY33ET.js.map → matrix.interactivity-SVRNWL6V.js.map} +0 -0
  861. /package/dist/{matrix.layout-H6WQ3ZMW.js.map → matrix.layout-2HREO42N.js.map} +0 -0
  862. /package/dist/{matrix.legend-UCL7HM26.js.map → matrix.legend-QHVKT3MP.js.map} +0 -0
  863. /package/dist/{matrix.renderers-3PPFSS7Z.js.map → matrix.renderers-IYR3ZY6V.js.map} +0 -0
  864. /package/dist/{matrix.serieses-S2TJ3E6P.js.map → matrix.serieses-2VMTQXL2.js.map} +0 -0
  865. /package/dist/{matrix.sort-CFA4UWBJ.js.map → matrix.sort-PWA2RQQR.js.map} +0 -0
  866. /package/dist/{matrix.sort.unit.spec-562VIWDS.js.map → matrix.sort.unit.spec-3OYIPTFY.js.map} +0 -0
  867. /package/dist/{matrix.sorterUi-FT7K5664.js.map → matrix.sorterUi-Y5QLO75X.js.map} +0 -0
  868. /package/dist/{matrix.sorterUi.unit.spec-GAHHUN3K.js.map → matrix.sorterUi.unit.spec-BNEXQHLP.js.map} +0 -0
  869. /package/dist/{mavb-HPW5X55U.js.map → mavb-IZDDU4KK.js.map} +0 -0
  870. /package/dist/{mds.fimo-HSBKLIOX.js.map → mds.fimo-FWBL7JE6.js.map} +0 -0
  871. /package/dist/{mds.samplescatterplot-DE27OMJE.js.map → mds.samplescatterplot-T47C7DJB.js.map} +0 -0
  872. /package/dist/{mds.survivalplot-IW22UGCE.js.map → mds.survivalplot-MFZJCGS6.js.map} +0 -0
  873. /package/dist/{numericDictTermCluster-DOD66G3A.js.map → numericDictTermCluster-I2W67RGA.js.map} +0 -0
  874. /package/dist/{oncomatrix-BZCVCPR4.js.map → oncomatrix-6W7IBAED.js.map} +0 -0
  875. /package/dist/{oncomatrix.spec-IHYCIAP4.js.map → oncomatrix.spec-CEFH5IGH.js.map} +0 -0
  876. /package/dist/{plot.2dvaf-QLOZ54VC.js.map → plot.2dvaf-BN6CFLNU.js.map} +0 -0
  877. /package/dist/{plot.app-XDVDR23J.js.map → plot.app-7EYWUCZV.js.map} +0 -0
  878. /package/dist/{plot.barplot-XOESF7OQ.js.map → plot.barplot-MDIARSQD.js.map} +0 -0
  879. /package/dist/{plot.boxplot-VNOC2CHT.js.map → plot.boxplot-RUHGXC54.js.map} +0 -0
  880. /package/dist/{plot.brainImaging-7ZEOY4UR.js.map → plot.brainImaging-JEE32ZBV.js.map} +0 -0
  881. /package/dist/{plot.disco-6GVDYK7A.js.map → plot.disco-2RPNPX6E.js.map} +0 -0
  882. /package/dist/{plot.dzi-TEFPPPL6.js.map → plot.dzi-7VTYYGGW.js.map} +0 -0
  883. /package/dist/{plot.ssgq-OG4TODLO.js.map → plot.ssgq-FHE5KU5C.js.map} +0 -0
  884. /package/dist/{plot.vaf2cov-VMZRJULA.js.map → plot.vaf2cov-WDJJM5Q4.js.map} +0 -0
  885. /package/dist/{plot.wsi-2CHZZ7AC.js.map → plot.wsi-FQZWHNSF.js.map} +0 -0
  886. /package/dist/{polar-QUYQRQOQ.js.map → polar-M7EGINN4.js.map} +0 -0
  887. /package/dist/{polar2-OXXLAXJC.js.map → polar2-JFYY43K2.js.map} +0 -0
  888. /package/dist/{profile.spec-TI6PRHNJ.js.map → profile.spec-SIOHASOX.js.map} +0 -0
  889. /package/dist/{profileBarchart-GEK77XEB.js.map → profileBarchart-6JLEKVJV.js.map} +0 -0
  890. /package/dist/{profileForms-NR3VNHKM.js.map → profileForms-G6CH73RV.js.map} +0 -0
  891. /package/dist/{profilePlot-GGKO3IW5.js.map → profilePlot-NQYJOBVV.js.map} +0 -0
  892. /package/dist/{profileRadar-MN3LX5ER.js.map → profileRadar-4TNWIXDB.js.map} +0 -0
  893. /package/dist/{profileRadarFacility-3G2HWB2L.js.map → profileRadarFacility-XPH3LCBQ.js.map} +0 -0
  894. /package/dist/{proteomeAbundance-O4BB55O3.js.map → proteomeAbundance-NQ4635NL.js.map} +0 -0
  895. /package/dist/{qualitative-Q3TT73O7.js.map → qualitative-DL4WJG3O.js.map} +0 -0
  896. /package/dist/{radar2-LSD3VPZT.js.map → radar2-YNOQWHBT.js.map} +0 -0
  897. /package/dist/{radarFacility2-LZGIXY7A.js.map → radarFacility2-24UPSI7S.js.map} +0 -0
  898. /package/dist/{regression-J3XDAPAZ.js.map → regression-URAUTLTD.js.map} +0 -0
  899. /package/dist/{regression.inputs-BBZYI5OI.js.map → regression.inputs-UDVOU7FB.js.map} +0 -0
  900. /package/dist/{regression.inputs.term-7BW6XGLG.js.map → regression.inputs.term-BWW6W34R.js.map} +0 -0
  901. /package/dist/{regression.inputs.values.table-DYX2YU4H.js.map → regression.inputs.values.table-UKGIZTXG.js.map} +0 -0
  902. /package/dist/{regression.integration.spec-WLXZYKWW.js.map → regression.integration.spec-EBHQTNA3.js.map} +0 -0
  903. /package/dist/{regression.results-K5Q2N2KW.js.map → regression.results-XTOSWIP6.js.map} +0 -0
  904. /package/dist/{regression.spec-VT7T6KBY.js.map → regression.spec-KG2I53VR.js.map} +0 -0
  905. /package/dist/{report-3D3L573D.js.map → report-KH7SNPVF.js.map} +0 -0
  906. /package/dist/{sampleScatter.spec-6IPJQLM2.js.map → sampleScatter.spec-PIXGS3LG.js.map} +0 -0
  907. /package/dist/{sampleView-5JMFI4HF.js.map → sampleView-TWS6VT55.js.map} +0 -0
  908. /package/dist/{samplelst-SUCB5WOZ.js.map → samplelst-6AB5Y4WR.js.map} +0 -0
  909. /package/dist/{samplematrix-A5SZBKO6.js.map → samplematrix-AJAF555E.js.map} +0 -0
  910. /package/dist/{sc-NAA6ESO6.js.map → sc-PMNYZKXA.js.map} +0 -0
  911. /package/dist/{scatter-EQCN2HYE.js.map → scatter-Q2GH3ZJD.js.map} +0 -0
  912. /package/dist/{scatter.integration.spec-7NXIYS67.js.map → scatter.integration.spec-SMMYKWH3.js.map} +0 -0
  913. /package/dist/{selectGenomeWithTklst-KXODNCY6.js.map → selectGenomeWithTklst-VE4SDYY7.js.map} +0 -0
  914. /package/dist/{singleCellCellType-HMIW76YB.js.map → singleCellCellType-S324GCKW.js.map} +0 -0
  915. /package/dist/{singleCellCellType.unit.spec-ZCZET56X.js.map → singleCellCellType.unit.spec-NXC2GELH.js.map} +0 -0
  916. /package/dist/{singleCellGeneExpression-IUCUHF6R.js.map → singleCellGeneExpression-6H4HRKIA.js.map} +0 -0
  917. /package/dist/{singleCellGeneExpression.unit.spec-J4D6F2N3.js.map → singleCellGeneExpression.unit.spec-HIJXVUWJ.js.map} +0 -0
  918. /package/dist/{singleCellPlot-L6W3MDGG.js.map → singleCellPlot-H7PCZ2DP.js.map} +0 -0
  919. /package/dist/{singlecell-A6ECAAPI.js.map → singlecell-4LH3MQVL.js.map} +0 -0
  920. /package/dist/{singlecell-KBABNXC5.js.map → singlecell-MOSYT3RI.js.map} +0 -0
  921. /package/dist/{snp-RO7ATG6E.js.map → snp-IKLGTD4Q.js.map} +0 -0
  922. /package/dist/{snp.unit.spec-ZJLRGJD4.js.map → snp.unit.spec-GC74MUVM.js.map} +0 -0
  923. /package/dist/{snplocus-N3CU6NRP.js.map → snplocus-RIABFSBQ.js.map} +0 -0
  924. /package/dist/{spliceevent.a53ss.diagram-7PHT4COB.js.map → spliceevent.a53ss.diagram-4E2IYYHL.js.map} +0 -0
  925. /package/dist/{spliceevent.exonskip.diagram-3CZTY6QD.js.map → spliceevent.exonskip.diagram-C56R6XLQ.js.map} +0 -0
  926. /package/dist/{spliceevent.noeventdiagram-GQE256DT.js.map → spliceevent.noeventdiagram-SIPMAKXI.js.map} +0 -0
  927. /package/dist/{ssGSEA-4I3L5MX2.js.map → ssGSEA-5QNHLSOI.js.map} +0 -0
  928. /package/dist/{ssGSEA.unit.spec-PZCC5YU7.js.map → ssGSEA.unit.spec-KVPN553B.js.map} +0 -0
  929. /package/dist/{summarizeCnvGeneexp-ASXUQW56.js.map → summarizeCnvGeneexp-K4VGJSW6.js.map} +0 -0
  930. /package/dist/{summarizeGeneexpSurvival-ULGUOW5V.js.map → summarizeGeneexpSurvival-HGHX65FN.js.map} +0 -0
  931. /package/dist/{summarizeMutationCnv-VDUCIUGM.js.map → summarizeMutationCnv-3K4Z6R2X.js.map} +0 -0
  932. /package/dist/{summarizeMutationDiagnosis-FMAAMCZC.js.map → summarizeMutationDiagnosis-M2MHUPRT.js.map} +0 -0
  933. /package/dist/{summarizeMutationSurvival-GZ4NGDJT.js.map → summarizeMutationSurvival-WVBUP3GA.js.map} +0 -0
  934. /package/dist/{summary-2WNZ6JSB.js.map → summary-RZHZXCU5.js.map} +0 -0
  935. /package/dist/{summary.integration.spec-XPMYB6GM.js.map → summary.integration.spec-FGZP7DY7.js.map} +0 -0
  936. /package/dist/{summaryInput-2UGXEA5C.js.map → summaryInput-UGM7MMCR.js.map} +0 -0
  937. /package/dist/{sunburst-76WCQLTT.js.map → sunburst-L27U7LV7.js.map} +0 -0
  938. /package/dist/{survival-3EAMPHSX.js.map → survival-5ZMEBV6O.js.map} +0 -0
  939. /package/dist/{survival-23IZM4ML.js.map → survival-JWRRGTJT.js.map} +0 -0
  940. /package/dist/{survival.integration.spec-YNVAKBV3.js.map → survival.integration.spec-Z5542I4V.js.map} +0 -0
  941. /package/dist/{svgraph-G2M5LXEP.js.map → svgraph-O6ZVLNNN.js.map} +0 -0
  942. /package/dist/{svmr-BUDBVU34.js.map → svmr-ULFV7OSH.js.map} +0 -0
  943. /package/dist/{table-QJSZ6YFK.js.map → table-CHRQH2GH.js.map} +0 -0
  944. /package/dist/{termCollection-2YAY3RLZ.js.map → termCollection-FAO6ZA6F.js.map} +0 -0
  945. /package/dist/{termCollection-MAMDMEDD.js.map → termCollection-GBXS3GOY.js.map} +0 -0
  946. /package/dist/{termCollection.unit.spec-UY7G2BHG.js.map → termCollection.unit.spec-4WRTOV6E.js.map} +0 -0
  947. /package/dist/{tk-GFGP3F76.js.map → tk-KNUBWRNK.js.map} +0 -0
  948. /package/dist/{tp.ui-OQ757UIE.js.map → tp.ui-2PPYOQYL.js.map} +0 -0
  949. /package/dist/{tvs.density-BJK23JYJ.js.map → tvs.density-BZ5SKDQS.js.map} +0 -0
  950. /package/dist/{tvs.dt-TOYEFKNT.js.map → tvs.dt-TDNSTGQR.js.map} +0 -0
  951. /package/dist/{tvs.dtcnv.categorical-EO2VLFL2.js.map → tvs.dtcnv.categorical-P2IGIE4I.js.map} +0 -0
  952. /package/dist/{tvs.dtcnv.continuous-ZAHTKZ4Y.js.map → tvs.dtcnv.continuous-2XUCRBDR.js.map} +0 -0
  953. /package/dist/{tvs.dtfusion-BY3AHBL3.js.map → tvs.dtfusion-PRHZVMOG.js.map} +0 -0
  954. /package/dist/{tvs.dtsnvindel-UM5LQ4FR.js.map → tvs.dtsnvindel-KGKBW5JS.js.map} +0 -0
  955. /package/dist/{tvs.dtsv-H7ZVHLS5.js.map → tvs.dtsv-M3CY5TZF.js.map} +0 -0
  956. /package/dist/{tvs.numeric-66FP6RRH.js.map → tvs.numeric-W74JCC5P.js.map} +0 -0
  957. /package/dist/{tvs.samplelst-Q5ECTZOY.js.map → tvs.samplelst-BTWFBBAN.js.map} +0 -0
  958. /package/dist/{tvs.termCollection-FYNMKZTR.js.map → tvs.termCollection-Y64QIKOA.js.map} +0 -0
  959. /package/dist/{violin-EGWLAJVM.js.map → violin-3LLHHV3L.js.map} +0 -0
  960. /package/dist/{violin.integration.spec-3P4TYHBR.js.map → violin.integration.spec-6NF5FDLQ.js.map} +0 -0
  961. /package/dist/{violin.interactivity-VWDR4LYB.js.map → violin.interactivity-W2AKZ24D.js.map} +0 -0
  962. /package/dist/{violin.renderer-WWTU6J7X.js.map → violin.renderer-CRFYYZRI.js.map} +0 -0
  963. /package/dist/{vocabulary-JG4ZITOH.js.map → vocabulary-AUJOAVYS.js.map} +0 -0
@@ -0,0 +1,2249 @@
1
+ import {
2
+ blocklazyload
3
+ } from "./chunk-PSMFOARZ.js";
4
+ import {
5
+ hicParseFile
6
+ } from "./chunk-ONAYJVN2.js";
7
+ import {
8
+ AppBase,
9
+ ColorScale,
10
+ axisstyle,
11
+ first_genetrack_tolist,
12
+ font,
13
+ newpane,
14
+ showErrorsWithCounter,
15
+ tkt
16
+ } from "./chunk-2XPDA6NL.js";
17
+ import "./chunk-HJ6L54YS.js";
18
+ import "./chunk-LSEFWW72.js";
19
+ import "./chunk-GHWHLSUX.js";
20
+ import {
21
+ Menu
22
+ } from "./chunk-HYOEWQ5P.js";
23
+ import "./chunk-HBW42TDT.js";
24
+ import "./chunk-G6O3URDN.js";
25
+ import "./chunk-FN5XPUPH.js";
26
+ import "./chunk-KWM6B3NL.js";
27
+ import "./chunk-UCLS2SVB.js";
28
+ import "./chunk-AY4UBGLC.js";
29
+ import "./chunk-2P6Z7JFC.js";
30
+ import {
31
+ dofetch3
32
+ } from "./chunk-MYWJQRTD.js";
33
+ import {
34
+ StoreBase,
35
+ getAppInit,
36
+ getCompInit,
37
+ getStoreInit
38
+ } from "./chunk-MVTCBVSX.js";
39
+ import "./chunk-B43MTEYB.js";
40
+ import "./chunk-2T7VYQLY.js";
41
+ import "./chunk-FDK4UJMN.js";
42
+ import {
43
+ bplen
44
+ } from "./chunk-X7GDCYND.js";
45
+ import "./chunk-SJC2C77V.js";
46
+ import "./chunk-C3SYSMNE.js";
47
+ import "./chunk-KSGA62R2.js";
48
+ import {
49
+ axisBottom,
50
+ axisRight
51
+ } from "./chunk-LOZEKOES.js";
52
+ import "./chunk-TOU7EVFQ.js";
53
+ import {
54
+ format,
55
+ linear
56
+ } from "./chunk-OAWQ6LOO.js";
57
+ import "./chunk-NMBIT4IK.js";
58
+ import "./chunk-KYBIQBXE.js";
59
+ import {
60
+ pointer_default,
61
+ select_default
62
+ } from "./chunk-I6Y4O3RR.js";
63
+ import "./chunk-OMR2DT66.js";
64
+ import "./chunk-DQC5FFGV.js";
65
+ import "./chunk-HFNDKYVF.js";
66
+
67
+ // tracks/hic/HicStore.ts
68
+ var HicStore = class _HicStore extends StoreBase {
69
+ constructor(opts) {
70
+ super(opts);
71
+ this.views = ["genome", "chrpair", "detail", "horizontal"];
72
+ this.type = _HicStore.type;
73
+ this.defaultState = {
74
+ defaultNmeth: "NONE",
75
+ loading: true,
76
+ minBinNum_bp: 200,
77
+ minFragSpan: 200,
78
+ initialBinNum: 20,
79
+ settings: {
80
+ widthHeightPx: 800
81
+ }
82
+ };
83
+ }
84
+ static {
85
+ this.type = "store";
86
+ }
87
+ init() {
88
+ this.state = Object.assign({}, this.defaultState, this.state);
89
+ }
90
+ };
91
+ var hicStoreInit = getStoreInit(HicStore);
92
+ HicStore.prototype.actions = {
93
+ view_create(action) {
94
+ if (!action.view) throw Error("view_create: missing view");
95
+ if (!this.views.some((v) => v == action.view)) throw Error(`view_create: unknown view = ${action.view}`);
96
+ this.state.currView = action.view;
97
+ const opts = Object.assign(this.state, action.config);
98
+ this.state = opts;
99
+ },
100
+ view_update(action) {
101
+ if (action.view) {
102
+ if (!this.views.some((v) => v == action.view)) throw Error(`view_update: unknown view = ${action.view}`);
103
+ const opts = Object.assign(this.state[action.view], action.config);
104
+ this.state[action.view] = opts;
105
+ } else {
106
+ const opts = Object.assign(this.state, action.config);
107
+ this.state = opts;
108
+ }
109
+ },
110
+ loading_active(action) {
111
+ this.state.loading = action.active;
112
+ }
113
+ };
114
+
115
+ // tracks/hic/dom/LoadingOverlay.ts
116
+ var LoadingOverlay = class _LoadingOverlay {
117
+ constructor(opts) {
118
+ this.hasStatePreMain = true;
119
+ this.type = _LoadingOverlay.type;
120
+ this.app = opts.app;
121
+ this.loadingDiv = opts.loadingDiv;
122
+ }
123
+ static {
124
+ this.type = "loadingOverlay";
125
+ }
126
+ reactsTo(action) {
127
+ if (action.type.startsWith("loading")) return true;
128
+ else return false;
129
+ }
130
+ getState(appState) {
131
+ return appState;
132
+ }
133
+ init() {
134
+ this.loadingDiv.append("div").attr("class", "sjpp-spinner").style("display", "");
135
+ }
136
+ main(appState) {
137
+ const loading = this.app.getState(appState).loading;
138
+ this.loadingDiv.style("display", loading ? "" : "none");
139
+ }
140
+ };
141
+ var loadingInit = getCompInit(LoadingOverlay);
142
+
143
+ // tracks/hic/dom/ColorizeElement.ts
144
+ var ColorizeElement = class {
145
+ colorizeElement(xCoord, yCoord, v, obj, width, height, bpMinV, bpMaxV, currView) {
146
+ if (v >= 0) {
147
+ const p = v >= bpMaxV ? 0 : v <= bpMinV ? 255 : Math.floor(255 * (bpMaxV - v) / bpMaxV);
148
+ const positiveFill = `rgb(255, ${p}, ${p})`;
149
+ if (currView === "genome") {
150
+ obj.ctx.fillStyle = positiveFill;
151
+ obj.ctx2.fillStyle = positiveFill;
152
+ } else {
153
+ obj.fillStyle = positiveFill;
154
+ }
155
+ } else {
156
+ const p = v <= bpMinV ? 255 : Math.floor(255 * (bpMaxV + v) / bpMaxV);
157
+ const negativeFill = `rgb(${p}, ${p}, 255)`;
158
+ if (currView === "genome") {
159
+ obj.ctx.fillStyle = negativeFill;
160
+ obj.ctx2.fillStyle = negativeFill;
161
+ } else {
162
+ obj.fillStyle = negativeFill;
163
+ }
164
+ }
165
+ if (currView === "genome") {
166
+ obj.ctx.fillRect(yCoord, xCoord, width, height);
167
+ obj.ctx2.fillRect(xCoord, yCoord, width, height);
168
+ } else {
169
+ obj.fillRect(xCoord, yCoord, width, height);
170
+ }
171
+ }
172
+ };
173
+
174
+ // tracks/hic/data/Resolution.ts
175
+ var Resolution = class {
176
+ constructor(error) {
177
+ this.error = error;
178
+ }
179
+ getResolution(state, hic) {
180
+ if (state.currView == "genome") return hic["bpresolution"][0];
181
+ if (state.currView == "chrpair") {
182
+ const resolution = this.getChrPairResolution(hic, state.x, state.y, state.minBinNum_bp);
183
+ return resolution;
184
+ } else if (state.currView == "detail") {
185
+ const maxBpWidth = Math.max(state.x.stop - state.x.start, state.y.stop - state.y.start);
186
+ let resolution = this.findResFromArray(maxBpWidth, state.minBinNum_bp, hic.bpresolution);
187
+ if (resolution == null && !hic.enzyme) {
188
+ resolution = hic.bpresolution[hic.bpresolution.length - 1];
189
+ }
190
+ return resolution;
191
+ } else {
192
+ this.error(`Unknown view: ${state.currView}`);
193
+ throw `Unknown view: ${state.currView}`;
194
+ }
195
+ }
196
+ getChrPairResolution(hic, x, y, minBinNum_bp) {
197
+ const chrxlen = hic.genome.chrlookup[x.chr.toUpperCase()].len;
198
+ const chrylen = hic.genome.chrlookup[y.chr.toUpperCase()].len;
199
+ const maxchrlen = Math.max(chrxlen, chrylen);
200
+ const resolution = this.findResFromArray(maxchrlen, minBinNum_bp, hic.bpresolution);
201
+ if (resolution == null) {
202
+ this.error(`No suitable resolution for ${x.chr}-${y.chr} pair.`);
203
+ return;
204
+ }
205
+ return resolution;
206
+ }
207
+ findResFromArray(max, defaultValue, resolutionArray, returnNum) {
208
+ let resolution = null;
209
+ for (const res of resolutionArray) {
210
+ if (max / res > defaultValue) {
211
+ resolution = res;
212
+ break;
213
+ }
214
+ }
215
+ if (returnNum && resolution == null) {
216
+ resolution = resolutionArray[resolutionArray.length - 1];
217
+ }
218
+ return resolution;
219
+ }
220
+ getDefaultViewSpan(hic, x, y, initialBinNum, minBinNum_bp) {
221
+ const chrpairResolution = this.getChrPairResolution(hic, x, y, minBinNum_bp);
222
+ if (!chrpairResolution) return;
223
+ return chrpairResolution * initialBinNum;
224
+ }
225
+ };
226
+
227
+ // tracks/hic/data/Positions.ts
228
+ var Positions = class {
229
+ constructor(error, minBinNum_bp) {
230
+ this.error = error;
231
+ this.resolution = new Resolution(this.error);
232
+ this.minBinNum_bp = minBinNum_bp;
233
+ }
234
+ /**
235
+ *
236
+ * @param x x coordinate of pointer
237
+ * @param y y coordinate of pointer
238
+ * @param binpx
239
+ * @param chrx x chr from state
240
+ * @param chry y chr from state
241
+ * @param hic
242
+ * @param initialBinNum Set in the state
243
+ * @returns
244
+ */
245
+ setPosition(x, y, binpx, chrx, chry, hic, initialBinNum) {
246
+ const resolution = this.resolution.getChrPairResolution(hic, chrx, chry, this.minBinNum_bp);
247
+ const viewrangebpw = resolution * initialBinNum;
248
+ let coordx = Math.max(1, Math.floor(x * resolution / binpx) - viewrangebpw / 2);
249
+ let coordy = Math.max(1, Math.floor(y * resolution / binpx) - viewrangebpw / 2);
250
+ {
251
+ const lenx = hic.genome.chrlookup[chrx.chr.toUpperCase()].len;
252
+ if (coordx + viewrangebpw >= lenx) {
253
+ coordx = lenx - viewrangebpw;
254
+ }
255
+ const leny = hic.genome.chrlookup[chry.chr.toUpperCase()].len;
256
+ if (coordy + viewrangebpw > leny) {
257
+ coordy = leny - viewrangebpw;
258
+ }
259
+ }
260
+ const xObj = {
261
+ chr: chrx.chr,
262
+ start: coordx,
263
+ stop: coordx + viewrangebpw
264
+ };
265
+ const yObj = {
266
+ chr: chry.chr,
267
+ start: coordy,
268
+ stop: coordy + viewrangebpw
269
+ };
270
+ return [xObj, yObj];
271
+ }
272
+ };
273
+
274
+ // tracks/hic/data/GridElementsFormattedData.ts
275
+ var GridElementsFormattedData = class {
276
+ /**
277
+ * Format the data for the grid elements.
278
+ * @param items The data to format.
279
+ * @param binpx The bin size in pixels.
280
+ * @param resolution The resolution.
281
+ * @param isFirstChrX Whether the first chromosome is X. Used for chrpair view.
282
+ * @param isIntraChr Whether the data is intra-chromosomal. Used for chrpair view
283
+ * @returns The formatted data.
284
+ */
285
+ formatData(view, items, binpx, resolution, isFirstChrX, isIntraChr) {
286
+ const formattedData = [];
287
+ for (const [xCoord, yCoord, value] of items) {
288
+ const xPx = Math.floor(xCoord / resolution) * binpx;
289
+ const yPx = Math.floor(yCoord / resolution) * binpx;
290
+ if (view == "genome") {
291
+ formattedData.push([xPx, yPx, value]);
292
+ }
293
+ if (view == "chrpair") {
294
+ const x = isFirstChrX ? xPx : yPx;
295
+ const y = isFirstChrX ? yPx : xPx;
296
+ formattedData.push([x, y, value]);
297
+ if (isIntraChr) {
298
+ formattedData.push([y, x, value]);
299
+ }
300
+ }
301
+ }
302
+ return formattedData;
303
+ }
304
+ };
305
+
306
+ // tracks/hic/data/FirstChrX.ts
307
+ var FirstChrX = class {
308
+ constructor(chrorder, chrx, chry) {
309
+ this.chrorder = chrorder;
310
+ this.chrx = chrx;
311
+ this.chry = chry;
312
+ }
313
+ isFirstX() {
314
+ if (this.chrx == this.chry) return true;
315
+ return this.chrorder.indexOf(this.chrx) < this.chrorder.indexOf(this.chry);
316
+ }
317
+ };
318
+
319
+ // tracks/hic/chrpair/ChrPairView.ts
320
+ var ChrPairView = class {
321
+ constructor(opts) {
322
+ this.binpx = 1;
323
+ /** padding on the ends of x/y chr coordinate axes */
324
+ this.axispad = 10;
325
+ this.axisLabelFontSize = 15;
326
+ this.calcResolution = null;
327
+ this.data = [];
328
+ this.app = opts.app;
329
+ this.hic = opts.hic;
330
+ this.plotDiv = opts.plotDiv;
331
+ this.items = opts.items;
332
+ this.parent = opts.parent;
333
+ this.chrxlen = this.hic.genome.chrlookup[this.parent("state").x.chr.toUpperCase()].len;
334
+ this.chrylen = this.hic.genome.chrlookup[this.parent("state").y.chr.toUpperCase()].len;
335
+ this.maxchrlen = Math.max(this.chrxlen, this.chrylen);
336
+ this.colorizeElement = new ColorizeElement();
337
+ this.positions = new Positions(opts.error, this.parent("state").minBinNum_bp);
338
+ this.formattedData = new GridElementsFormattedData();
339
+ }
340
+ setDefaultBinpx() {
341
+ if (this.calcResolution == null) return;
342
+ while (this.binpx * this.maxchrlen / this.calcResolution < 600) {
343
+ this.binpx++;
344
+ }
345
+ }
346
+ renderAxes() {
347
+ if (this.calcResolution == null) return;
348
+ const svgY = this.plotDiv.yAxis.append("svg");
349
+ const h = Math.ceil(this.chrylen / this.calcResolution) * this.binpx;
350
+ svgY.attr("width", 100).attr("height", this.axispad * 2 + h);
351
+ svgY.append("g").attr("data-testid", "sjpp-chrpair-svg-y").attr("transform", "translate(80," + (this.axispad + h / 2) + ")").append("text").text(this.parent("state").y.chr).attr("text-anchor", "middle").attr("font-size", this.axisLabelFontSize).attr("font-family", font).attr("dominant-baseline", "central").attr("transform", "rotate(90)");
352
+ axisstyle({
353
+ axis: svgY.append("g").attr("transform", `translate(1, ${this.axispad})`).call(axisRight(linear().domain([0, this.chrylen]).range([0, h])).tickFormat(format(".2s"))),
354
+ showline: true
355
+ });
356
+ const svgX = this.plotDiv.xAxis.append("svg").style("margin-top", "-4px");
357
+ const w = Math.ceil(this.chrxlen / this.calcResolution) * this.binpx;
358
+ svgX.attr("height", 100).attr("width", this.axispad * 2 + w);
359
+ svgX.append("text").attr("data-testid", "sjpp-chrpair-svg-x").text(this.parent("state").x.chr).attr("font-size", this.axisLabelFontSize).attr("font-family", font).attr("x", this.axispad + w / 2).attr("text-anchor", "middle").attr("y", 60);
360
+ axisstyle({
361
+ axis: svgX.append("g").attr("transform", "translate(" + this.axispad + ",1)").call(axisBottom(linear().domain([0, this.chrxlen]).range([0, w])).tickFormat(format(".2s"))),
362
+ showline: true
363
+ });
364
+ }
365
+ renderCanvas() {
366
+ const initDetailView = this.initDetailView.bind(this);
367
+ this.canvas = this.plotDiv.plot.append("canvas").attr("data-testid", "sjpp-chrpair-canvas").style("margin", this.axispad + "px").on("click", async function(event) {
368
+ const [x, y] = pointer_default(event, this);
369
+ initDetailView(x, y);
370
+ }).node();
371
+ this.canvas.width = Math.ceil(this.chrxlen / this.calcResolution) * this.binpx;
372
+ this.canvas.height = Math.ceil(this.chrylen / this.calcResolution) * this.binpx;
373
+ this.ctx = this.canvas.getContext("2d");
374
+ }
375
+ initDetailView(x, y) {
376
+ const [xObj, yObj] = this.positions.setPosition(
377
+ x,
378
+ y,
379
+ this.binpx,
380
+ this.parent("state").x,
381
+ this.parent("state").y,
382
+ this.hic,
383
+ this.parent("state").initialBinNum
384
+ );
385
+ this.app.dispatch({
386
+ type: "view_create",
387
+ view: "detail",
388
+ config: {
389
+ x: xObj,
390
+ y: yObj
391
+ }
392
+ });
393
+ }
394
+ render() {
395
+ this.calcResolution = this.parent("calcResolution");
396
+ this.setDefaultBinpx();
397
+ this.renderAxes();
398
+ this.renderCanvas();
399
+ this.update(this.items);
400
+ }
401
+ update(items) {
402
+ this.items = items;
403
+ const firstisx = new FirstChrX(this.hic.chrorder, this.parent("state").x.chr, this.parent("state").y.chr).isFirstX();
404
+ const isintrachr = this.parent("state").x.chr === this.parent("state").y.chr;
405
+ this.data = this.formattedData.formatData(
406
+ "chrpair",
407
+ items.items,
408
+ this.binpx,
409
+ this.calcResolution,
410
+ firstisx,
411
+ isintrachr
412
+ );
413
+ this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
414
+ for (const [x, y, v] of this.data) {
415
+ this.colorizeElement.colorizeElement(
416
+ x,
417
+ y,
418
+ v,
419
+ this.ctx,
420
+ this.binpx,
421
+ //width
422
+ this.binpx,
423
+ //height
424
+ this.parent("min"),
425
+ this.parent("max"),
426
+ "chrpair"
427
+ );
428
+ }
429
+ this.app.dispatch({ type: "loading_active", active: false });
430
+ }
431
+ };
432
+
433
+ // tracks/hic/horizontal/HorizontalView.ts
434
+ var HorizontalView = class {
435
+ constructor(opts) {
436
+ /** Defaults*/
437
+ this.maxPercentage = 5;
438
+ this.subPanelPxWidth = 600;
439
+ this.borderColor = "rgba(200,0,0,.1)";
440
+ this.app = opts.app;
441
+ this.hic = opts.hic;
442
+ this.plotDiv = opts.plotDiv;
443
+ this.items = opts.items;
444
+ this.parent = opts.parent;
445
+ }
446
+ setRunPpTracks() {
447
+ const tracks = [
448
+ {
449
+ type: "hicstraw",
450
+ file: this.hic.file,
451
+ url: this.hic.url,
452
+ name: this.hic.name,
453
+ enzyme: this.hic.enzyme,
454
+ maxpercentage: this.maxPercentage,
455
+ pyramindup: 1
456
+ }
457
+ ];
458
+ if (this.hic.tklst) {
459
+ for (const t of this.hic.tklst) {
460
+ tracks.push(t);
461
+ }
462
+ }
463
+ first_genetrack_tolist(this.hic.genome, tracks);
464
+ return tracks;
465
+ }
466
+ setRunPpArgs(tracks) {
467
+ const arg = {
468
+ holder: this.plotDiv.plot,
469
+ hostURL: this.hic.hostURL,
470
+ jwt: this.hic.jwt,
471
+ genome: this.hic.genome,
472
+ nobox: 1,
473
+ tklst: tracks
474
+ };
475
+ const state = this.parent("state");
476
+ if (state.x.chr == state.y.chr && Math.max(state.x.start, state.y.start) < Math.min(state.x.stop, state.y.stop)) {
477
+ arg["chr"] = state.x.chr;
478
+ arg["start"] = Math.min(state.x.start, state.y.start);
479
+ arg["stop"] = Math.max(state.x.stop, state.y.stop);
480
+ } else {
481
+ arg["chr"] = state.x.chr;
482
+ arg["start"] = state.x.start;
483
+ arg["stop"] = state.x.stop;
484
+ arg["width"] = this.subPanelPxWidth;
485
+ arg["subpanels"] = [
486
+ {
487
+ chr: state.y.chr,
488
+ start: state.y.start,
489
+ stop: state.y.stop,
490
+ width: this.subPanelPxWidth,
491
+ leftpad: 10,
492
+ leftborder: this.borderColor
493
+ }
494
+ ];
495
+ }
496
+ return arg;
497
+ }
498
+ render() {
499
+ const tracks = this.setRunPpTracks();
500
+ const arg = this.setRunPpArgs(tracks);
501
+ blocklazyload(arg);
502
+ }
503
+ // update() {
504
+ // //Not required.
505
+ // //If controls are added back. Implement changes here.
506
+ // }
507
+ };
508
+
509
+ // tracks/hic/detail/DetailBlock.ts
510
+ var DetailBlock = class {
511
+ constructor(app, hic, blockwidth, bbmargin, holder, isYblock) {
512
+ /** Defaults */
513
+ this.leftheadw = 20;
514
+ this.rightheadw = 40;
515
+ this.lpad = 1;
516
+ this.rpad = 1;
517
+ this.firstRender = true;
518
+ this.app = app;
519
+ this.hic = hic;
520
+ this.width = blockwidth;
521
+ this.bbmargin = bbmargin;
522
+ this.holder = holder;
523
+ this.isYblock = isYblock;
524
+ this.bbw = this.leftheadw + this.lpad + this.width + this.rpad + this.rightheadw + 2 * this.bbmargin;
525
+ this.defaultLeft = this.bbmargin + this.leftheadw + this.lpad;
526
+ this.defaultTop = this.bbmargin + this.rightheadw + this.rpad;
527
+ }
528
+ setArgs(chrObj) {
529
+ const runPpArgs = {
530
+ hostURL: this.hic.hostURL,
531
+ genome: this.hic.genome,
532
+ holder: this.holder,
533
+ noresize: true,
534
+ nobox: true,
535
+ butrowbottom: true,
536
+ style: {
537
+ margin: `${this.bbmargin}px`
538
+ },
539
+ width: this.width,
540
+ leftheadw: this.leftheadw,
541
+ chr: chrObj.chr,
542
+ start: chrObj.start,
543
+ stop: chrObj.stop,
544
+ rightheadw: this.rightheadw,
545
+ tklst: [],
546
+ rotated: this.isYblock,
547
+ showreverse: this.isYblock
548
+ };
549
+ first_genetrack_tolist(this.hic.genome, runPpArgs.tklst);
550
+ return runPpArgs;
551
+ }
552
+ setMethods(canvasHolder, canvas, sheath) {
553
+ const runPpMethods = {
554
+ onloadalltk_always: () => {
555
+ this.onload(canvasHolder, canvas, sheath);
556
+ },
557
+ onpanning: (xoff) => this.onpanning(xoff, canvas)
558
+ };
559
+ if (this.isYblock) {
560
+ runPpMethods["onsetheight"] = (bbh) => {
561
+ this.holder.transition().style("left", `${bbh + this.bbmargin + 30}px`);
562
+ };
563
+ }
564
+ return runPpMethods;
565
+ }
566
+ onload(canvasHolder, canvas, sheath) {
567
+ this.bbw = this.block.leftheadw + this.block.lpad + this.block.width + this.block.rpad + this.block.rightheadw + 2 * this.bbmargin;
568
+ if (this.isYblock) {
569
+ sheath.transition().style("height", `${this.bbw}px`);
570
+ canvasHolder.style("height", `${this.bbw}px`);
571
+ } else canvasHolder.style("width", `${this.bbw}px`);
572
+ if (this.isYblock) {
573
+ this.defaultTop = this.bbmargin + this.block.rightheadw + this.block.rpad;
574
+ canvas.style("top", `${this.defaultTop}px`);
575
+ } else {
576
+ this.defaultLeft = this.bbmargin + this.block.leftheadw + this.block.lpad;
577
+ canvas.style("left", `${this.defaultLeft}px`);
578
+ }
579
+ const config = {
580
+ [this.isYblock ? "y" : "x"]: {
581
+ chr: this.block.rglst[0].chr,
582
+ start: this.block.rglst[0].start,
583
+ stop: this.block.rglst[0].stop
584
+ }
585
+ };
586
+ if (this.firstRender == false) {
587
+ this.app.dispatch({
588
+ type: "view_update",
589
+ config
590
+ });
591
+ } else {
592
+ this.firstRender = false;
593
+ }
594
+ }
595
+ onpanning(xoff, canvas) {
596
+ if (!this.isYblock) canvas.style("left", `${xoff + this.defaultLeft}px`);
597
+ else canvas.style("top", `${-xoff + this.defaultTop}px`);
598
+ }
599
+ async loadBlock(chrObj, canvasHolder, canvas, sheath) {
600
+ const runPpArgs = this.setArgs(chrObj);
601
+ const runPpMethods = this.isYblock ? this.setMethods(canvasHolder, canvas, sheath) : this.setMethods(canvasHolder, canvas);
602
+ const args = Object.assign(runPpArgs, runPpMethods);
603
+ await blocklazyload(args).then(async (block) => {
604
+ this.block = block;
605
+ });
606
+ }
607
+ };
608
+
609
+ // tracks/hic/data/DetailDataFetcher.ts
610
+ var DetailDataFetcher = class {
611
+ constructor(errList) {
612
+ this.obj = {
613
+ rglst: []
614
+ };
615
+ this.errList = errList;
616
+ }
617
+ isFragData(hic, resolution) {
618
+ if (resolution != null) return;
619
+ if (!hic.enzyme) {
620
+ resolution = hic.bpresolution[hic.bpresolution.length - 1];
621
+ return;
622
+ }
623
+ }
624
+ formatFragArgs(enzymefile, chr) {
625
+ const arg = {
626
+ getdata: 1,
627
+ getBED: 1,
628
+ file: enzymefile,
629
+ rglst: [chr]
630
+ };
631
+ return arg;
632
+ }
633
+ /**
634
+ * @param arg Formated obj from either fn above
635
+ * @param errList
636
+ * @returns
637
+ */
638
+ async getBedData(arg) {
639
+ try {
640
+ return await dofetch3("tkbedj", { method: "POST", body: JSON.stringify(arg) });
641
+ } catch (e) {
642
+ this.errList.push(e.message || e);
643
+ if (e.stack) console.error(e.stack);
644
+ }
645
+ }
646
+ async getXFragData(hic, resolution, chrx) {
647
+ this.isFragData(hic, resolution);
648
+ if (!hic.enzymefile) return;
649
+ const reqArgs = this.formatFragArgs(hic.enzymefile, chrx);
650
+ return await this.getBedData(reqArgs);
651
+ }
652
+ async getYFragData(hic, chry) {
653
+ const reqArgs = this.formatFragArgs(hic.enzymefile, chry);
654
+ return await this.getBedData(reqArgs);
655
+ }
656
+ /**
657
+ * Separate request from data fetch
658
+ * Returns the additional fragment data
659
+ * @param fragCoords
660
+ */
661
+ async fetchData(hic, detailView, resolution, x, y, fragCoords) {
662
+ const fragStrawArgs = {
663
+ matrixType: detailView.matrixType,
664
+ file: hic.file,
665
+ url: hic.url,
666
+ pos1: this.determinePosition(hic, x, fragCoords?.x),
667
+ pos2: this.determinePosition(hic, y, fragCoords?.y),
668
+ nmeth: detailView.nmeth,
669
+ resolution
670
+ };
671
+ if (fragCoords) fragStrawArgs["isfrag"] = true;
672
+ try {
673
+ const data = dofetch3("hicdata?", {
674
+ method: "POST",
675
+ body: JSON.stringify(fragStrawArgs)
676
+ });
677
+ if (data.error) {
678
+ this.errList.push(data.error);
679
+ }
680
+ return data;
681
+ } catch (e) {
682
+ this.errList.push(e.message || e);
683
+ if (e.stack) console.error(e.stack);
684
+ }
685
+ }
686
+ determinePosition(hic, chr, fragCoord) {
687
+ if (fragCoord) {
688
+ return `${hic.nochr ? chr.chr.replace("chr", "") : chr.chr}:${fragCoord.start}:${fragCoord.stop}`;
689
+ } else {
690
+ return `${hic.nochr ? chr.chr.replace("chr", "") : chr.chr}:${chr.start}:${chr.stop}`;
691
+ }
692
+ }
693
+ };
694
+
695
+ // tracks/hic/data/ParseFragData.ts
696
+ var ParseFragData = class {
697
+ constructor(errLst, items) {
698
+ this.id2coord = /* @__PURE__ */ new Map();
699
+ this.min = null;
700
+ this.max = null;
701
+ this.items = [];
702
+ this.errLst = errLst;
703
+ for (const i of items) {
704
+ if (!i.rest || !i.rest[0]) {
705
+ this.errLst.push("items[].rest data problem");
706
+ }
707
+ const id = Number.parseInt(i.rest[0]);
708
+ if (Number.isNaN(id)) {
709
+ this.errLst.push(`${i.start}.${i.stop} invalid fragment id: ${i.rest[0]}`);
710
+ }
711
+ this.id2coord.set(id, [i.start, i.stop]);
712
+ if (this.min == null) {
713
+ this.min = id;
714
+ this.max = id;
715
+ } else {
716
+ this.min = Math.min(this.min, id);
717
+ this.max = Math.max(this.max, id);
718
+ }
719
+ }
720
+ }
721
+ };
722
+
723
+ // tracks/hic/data/DetailDataMapper.ts
724
+ var DetailDataMapper = class {
725
+ constructor(hic, errList, parent) {
726
+ this.frag = {
727
+ x: {},
728
+ y: {}
729
+ };
730
+ this.hic = hic;
731
+ this.errList = errList;
732
+ this.dataFetcher = new DetailDataFetcher(errList);
733
+ this.parent = parent;
734
+ }
735
+ async getFragData(chrx, chry) {
736
+ try {
737
+ const xFragData = await this.dataFetcher.getXFragData(this.hic, this.parent("calcResolution"), chrx);
738
+ if (xFragData) {
739
+ if (!xFragData.items) {
740
+ this.errList.push(`No fragment data returned for ${chrx.chr}:${chrx.start}-${chrx.stop}`);
741
+ return;
742
+ }
743
+ const xParse = new ParseFragData(this.errList, xFragData.items);
744
+ if (this.errList.length) return;
745
+ this.frag.x = {
746
+ id2coord: xParse.id2coord,
747
+ start: xParse.min,
748
+ stop: xParse.max
749
+ };
750
+ const yFragData = await this.dataFetcher.getYFragData(this.hic, chry);
751
+ if (this.errList.length) return;
752
+ if (yFragData) {
753
+ if (!yFragData.items) {
754
+ this.errList.push(`No fragment data returned for ${chry.chr}:${chry.start}-${chry.stop}`);
755
+ return;
756
+ }
757
+ const yParse = new ParseFragData(this.errList, yFragData.items);
758
+ if (this.errList.length) return;
759
+ this.frag.y = {
760
+ id2coord: /* @__PURE__ */ new Map(),
761
+ start: yParse.min,
762
+ stop: yParse.max
763
+ };
764
+ this.determineMap(yParse.id2coord, chrx, chry);
765
+ }
766
+ }
767
+ } catch (e) {
768
+ this.errList.push(e.message || e);
769
+ if (e.stack) console.error(e.stack);
770
+ }
771
+ }
772
+ determineMap(map, chrx, chry) {
773
+ if (chrx.chr == chry.chr) {
774
+ for (const [id, pos] of map) {
775
+ this.frag.x["id2coord"].set(id, pos);
776
+ }
777
+ this.frag.y["id2coord"] = this.frag.x["id2coord"];
778
+ } else {
779
+ this.frag.y["id2coord"] = map;
780
+ }
781
+ }
782
+ async getData(chrx, chry, fragCoords) {
783
+ return await this.dataFetcher.fetchData(
784
+ this.hic,
785
+ this.parent("state")["detail"],
786
+ this.parent("calcResolution"),
787
+ chrx,
788
+ chry,
789
+ fragCoords
790
+ );
791
+ }
792
+ };
793
+
794
+ // tracks/hic/data/DetailCoodinates.ts
795
+ var DetailCoordinates = class {
796
+ constructor(hic, errlist) {
797
+ this.hic = hic;
798
+ this.errlist = errlist;
799
+ }
800
+ getCoordinates(chrx, chry, data, resolution, widthHeightPx, fragData) {
801
+ const isFirstX = new FirstChrX(this.hic.chrorder, chrx.chr, chry.chr).isFirstX();
802
+ const isintrachr = chrx.chr == chry.chr;
803
+ const xpxbp = widthHeightPx / (chrx.stop - chrx.start);
804
+ const ypxbp = widthHeightPx / (chry.stop - chry.start);
805
+ const list = this.calculateCoordinates(isFirstX, isintrachr, xpxbp, ypxbp, resolution, chrx, chry, data, fragData);
806
+ return list;
807
+ }
808
+ calculateCoordinates(isFirstX, isintrachr, xpxbp, ypxbp, resolution, chrx, chry, data, fragData) {
809
+ const list = [];
810
+ for (const [xCoord, yCoord, value] of data.items) {
811
+ let coord1, coord2, span1, span2;
812
+ if (fragData) {
813
+ const idx_start = isFirstX ? xCoord : yCoord;
814
+ const idy_start = isFirstX ? yCoord : xCoord;
815
+ if (fragData.x.id2coord.has(idx_start)) {
816
+ const [a, b] = fragData.x.id2coord.get(idx_start);
817
+ coord1 = a;
818
+ span1 = b - a;
819
+ } else {
820
+ this.errlist.push(`[x id error] x: ${idx_start} y: ${idy_start}`);
821
+ continue;
822
+ }
823
+ {
824
+ const id_stop = idx_start + resolution;
825
+ if (fragData.x.id2coord.has(id_stop)) {
826
+ const ab = fragData.x.id2coord.get(id_stop);
827
+ span1 = ab[1] - coord1;
828
+ }
829
+ }
830
+ if (fragData.y.id2coord.has(idy_start)) {
831
+ const [a, b] = fragData.y.id2coord.get(idy_start);
832
+ coord2 = a;
833
+ span2 = b - a;
834
+ } else {
835
+ this.errlist.push(`[y id error] x: ${idx_start} y: ${idy_start}`);
836
+ continue;
837
+ }
838
+ {
839
+ const id_stop = idy_start + resolution;
840
+ if (fragData.y.id2coord.has(id_stop)) {
841
+ const ab = fragData.y.id2coord.get(id_stop);
842
+ span2 = ab[1] - coord2;
843
+ }
844
+ }
845
+ } else {
846
+ coord1 = isFirstX ? xCoord : yCoord;
847
+ coord2 = isFirstX ? yCoord : xCoord;
848
+ span1 = resolution;
849
+ span2 = resolution;
850
+ }
851
+ if (isintrachr) {
852
+ if (coord1 > chrx.start - span1 && coord1 < chrx.stop && coord2 > chry.start - span2 && coord2 < chry.stop) {
853
+ list.push([
854
+ Math.floor((coord1 - chrx.start) * xpxbp),
855
+ Math.floor((coord2 - chry.start) * ypxbp),
856
+ Math.ceil(span1 * xpxbp),
857
+ Math.ceil(span2 * ypxbp),
858
+ value
859
+ ]);
860
+ }
861
+ if (coord2 > chrx.start - span2 && coord2 < chrx.stop && coord1 > chry.start && coord1 < chry.stop) {
862
+ list.push([
863
+ Math.floor((coord2 - chrx.start) * xpxbp),
864
+ Math.floor((coord1 - chry.start) * ypxbp),
865
+ Math.ceil(span2 * xpxbp),
866
+ Math.ceil(span1 * ypxbp),
867
+ value
868
+ ]);
869
+ }
870
+ continue;
871
+ }
872
+ list.push([
873
+ Math.floor((coord1 - chrx.start) * xpxbp),
874
+ Math.floor((coord2 - chry.start) * ypxbp),
875
+ Math.ceil(span1 * xpxbp),
876
+ Math.ceil(span2 * ypxbp),
877
+ value
878
+ ]);
879
+ }
880
+ return list;
881
+ }
882
+ };
883
+
884
+ // tracks/hic/detail/DetailView.ts
885
+ var DetailView = class {
886
+ constructor(opts) {
887
+ this.calcResolution = null;
888
+ /** Defaults **/
889
+ this.binpx = 2;
890
+ this.bbmargin = 1;
891
+ this.app = opts.app;
892
+ this.hic = opts.hic;
893
+ this.plotDiv = opts.plotDiv;
894
+ this.sheath = opts.plotDiv.yAxis.append("div").style("position", "relative").style("width", "200px").style("height", "800px");
895
+ this.rotor = this.sheath.append("div").style("position", "absolute").style("bottom", "0px").style("transform", "rotate(-90deg)").style("transform-origin", "left bottom");
896
+ this.data = opts.data;
897
+ this.parent = opts.parent;
898
+ this.errList = this.parent("errList");
899
+ this.resolution = new Resolution(opts.error);
900
+ this.colorizeElement = new ColorizeElement();
901
+ this.viewRangeBpW = this.resolution.getDefaultViewSpan(
902
+ this.hic,
903
+ this.parent("state").x,
904
+ this.parent("state").y,
905
+ this.parent("state").initialBinNum,
906
+ this.parent("state").minBinNum_bp
907
+ );
908
+ this.dataMapper = new DetailDataMapper(this.hic, opts.error, opts.parent);
909
+ this.coordinates = new DetailCoordinates(this.hic, this.errList);
910
+ }
911
+ renderCanvas(blockwidth) {
912
+ this.canvasHolder = this.plotDiv.plot.append("div").style("position", "relative").style("width", `${this.xBlock.bbw}px`).style("height", `${this.yBlock.bbw}px`).style("overflow", "hidden");
913
+ this.canvas = this.canvasHolder.append("canvas").style("display", "block").style("position", "absolute").attr("data-testid", "sjpp-hic-detail-canvas").attr("width", blockwidth).attr("height", blockwidth).on("mousedown", (event) => {
914
+ const body = select_default(document.body);
915
+ const x = event.clientX;
916
+ const y = event.clientY;
917
+ const oldx = Number.parseInt(this.canvas.style("left"));
918
+ const oldy = Number.parseInt(this.canvas.style("top"));
919
+ body.on("mousemove", (event2) => {
920
+ const xoff = event2.clientX - x;
921
+ const yoff = event2.clientY - y;
922
+ this.xBlock.block.panning(xoff);
923
+ this.yBlock.block.panning(yoff);
924
+ this.canvas.style("left", `${oldx + xoff}px`).style("top", `${oldy + yoff}px`);
925
+ });
926
+ body.on("mouseup", (event2) => {
927
+ body.on("mousemove", null).on("mouseup", null);
928
+ const xoff = event2.clientX - x;
929
+ const yoff = event2.clientY - y;
930
+ this.xBlock.block.pannedby(xoff);
931
+ this.yBlock.block.pannedby(yoff);
932
+ });
933
+ });
934
+ }
935
+ async render() {
936
+ this.calcResolution = this.parent("calcResolution");
937
+ const state = this.parent("state");
938
+ this.xBlock = new DetailBlock(
939
+ this.app,
940
+ this.hic,
941
+ state.settings.widthHeightPx,
942
+ this.bbmargin,
943
+ this.plotDiv.xAxis,
944
+ false
945
+ );
946
+ this.yBlock = new DetailBlock(this.app, this.hic, state.settings.widthHeightPx, this.bbmargin, this.rotor, true);
947
+ this.renderCanvas(state.settings.widthHeightPx);
948
+ await this.xBlock.loadBlock(state.x, this.canvasHolder, this.canvas);
949
+ await this.yBlock.loadBlock(state.y, this.canvasHolder, this.canvas, this.sheath);
950
+ this.update(this.data);
951
+ }
952
+ async update(data) {
953
+ if (data.items.length == 0) {
954
+ this.app.dispatch({ type: "loading_active", active: false });
955
+ return;
956
+ }
957
+ this.data = data;
958
+ const state = this.parent("state");
959
+ const initialWidth = Number.parseInt(this.canvas.attr("width"));
960
+ const holderChange = Number.parseInt(this.canvasHolder.style("width")) - initialWidth + state.settings.widthHeightPx;
961
+ this.canvasHolder.style("width", `${holderChange}px`).style("height", `${holderChange}px`);
962
+ this.canvas.attr("width", `${state.settings.widthHeightPx}px`).attr("height", `${state.settings.widthHeightPx}px`);
963
+ if (this.xBlock.block.width != state.settings.widthHeightPx) {
964
+ this.xBlock.block.width = state.settings.widthHeightPx;
965
+ this.yBlock.block.width = state.settings.widthHeightPx;
966
+ this.xBlock.block.zoom2px(0, initialWidth);
967
+ this.yBlock.block.zoom2px(0, initialWidth);
968
+ }
969
+ this.ctx = this.canvas.node().getContext("2d");
970
+ const coords = this.coordinates.getCoordinates(
971
+ state.x,
972
+ state.y,
973
+ this.parent("data"),
974
+ this.parent("calcResolution"),
975
+ state.settings.widthHeightPx,
976
+ this.parent("fragData")
977
+ );
978
+ this.coords = coords;
979
+ this.ctx.clearRect(0, 0, state.settings.widthHeightPx, state.settings.widthHeightPx);
980
+ for (const [xCoord, yCoord, width, height, value] of this.coords) {
981
+ this.colorizeElement.colorizeElement(
982
+ xCoord,
983
+ yCoord,
984
+ value,
985
+ this.ctx,
986
+ width,
987
+ height,
988
+ this.parent("min"),
989
+ this.parent("max"),
990
+ "detail"
991
+ );
992
+ }
993
+ this.app.dispatch({ type: "loading_active", active: false });
994
+ }
995
+ };
996
+
997
+ // tracks/hic/axes/Chromosome.ts
998
+ var Chromosome = class {
999
+ constructor(chr, width) {
1000
+ this.label = chr;
1001
+ this.width = width;
1002
+ }
1003
+ };
1004
+
1005
+ // tracks/hic/grid/Grid.ts
1006
+ var Grid = class _Grid {
1007
+ constructor(chrlst, resolution, chrlookup, binpx) {
1008
+ this.chromosomeMatrix = /* @__PURE__ */ new Map();
1009
+ this.chromosomeList = [];
1010
+ this.xoff = 0;
1011
+ this.yoff = 0;
1012
+ this.chr2px = [];
1013
+ this.chrlst = chrlst;
1014
+ let totalpx = this.chrlst.length;
1015
+ for (const chr of this.chrlst) {
1016
+ const w = Math.ceil(chrlookup[chr.toUpperCase()].len / resolution) * binpx;
1017
+ const chromosome = new Chromosome(chr, w);
1018
+ this.chromosomeList.push(chromosome);
1019
+ this.chr2px[chr] = w;
1020
+ totalpx += w;
1021
+ }
1022
+ this.totalpx = totalpx;
1023
+ for (let i = 0; i < this.chrlst.length; i++) {
1024
+ const chrx = this.chrlst[i];
1025
+ this.chromosomeMatrix.set(chrx, /* @__PURE__ */ new Map());
1026
+ let yoff = 0;
1027
+ for (let j = 0; j <= i; j++) {
1028
+ const chry = this.chrlst[j];
1029
+ const chrxChrLen = chrlookup[chrx.toUpperCase()].len;
1030
+ const chryChrLen = chrlookup[chry.toUpperCase()].len;
1031
+ const xbins = Math.ceil(chrxChrLen / resolution) * binpx;
1032
+ const ybins = Math.ceil(chryChrLen / resolution) * binpx;
1033
+ this.chromosomeMatrix.get(chrx).set(chry, {
1034
+ x: this.xoff,
1035
+ y: yoff,
1036
+ xbins,
1037
+ ybins,
1038
+ data: []
1039
+ //Empty array of data to fill later
1040
+ });
1041
+ yoff += this.chr2px[chry] + _Grid.borderWidth;
1042
+ }
1043
+ this.yoff = yoff;
1044
+ this.xoff += this.chr2px[chrx] + _Grid.borderWidth;
1045
+ }
1046
+ }
1047
+ static {
1048
+ this.checkerFill = "#DEF3FA";
1049
+ }
1050
+ static {
1051
+ this.spaceColor = "#CCC";
1052
+ }
1053
+ static {
1054
+ this.fontSize = 15;
1055
+ }
1056
+ static {
1057
+ this.font = font;
1058
+ }
1059
+ static {
1060
+ this.borderWidth = 1;
1061
+ }
1062
+ static {
1063
+ this.defaultChrLabWidth = 100;
1064
+ }
1065
+ };
1066
+
1067
+ // tracks/hic/viewmodel/GridViewModel.ts
1068
+ var GridViewModel = class {
1069
+ constructor(opts) {
1070
+ this.grid = new Grid(opts.hic.chrlst, opts.resolution || opts.hic.bpresolution[0], opts.hic.genome.chrlookup, 1);
1071
+ }
1072
+ };
1073
+
1074
+ // tracks/hic/grid/GridRenderer.ts
1075
+ var GridRenderer = class {
1076
+ constructor(svg, layerMap, layerSv, grid) {
1077
+ this.svg = svg;
1078
+ this.layerMap = layerMap.attr("transform", `translate(${Grid.defaultChrLabWidth}, ${Grid.fontSize})`);
1079
+ this.layerSv = layerSv.attr("transform", `translate(${Grid.defaultChrLabWidth}, ${Grid.fontSize})`);
1080
+ this.grid = grid;
1081
+ }
1082
+ render() {
1083
+ this.renderAxisX(this.grid);
1084
+ this.renderAxisY(this.grid);
1085
+ this.svg.attr("width", Grid.defaultChrLabWidth + this.grid.xoff).attr("height", Grid.fontSize + this.grid.yoff);
1086
+ }
1087
+ renderAxisX(grid) {
1088
+ let xoff = 0;
1089
+ this.grid.chromosomeList.forEach((chr, index) => {
1090
+ const chrw = chr.width;
1091
+ if (index % 2 === 0) {
1092
+ this.layerMap.append("rect").attr("x", xoff).attr("width", chrw).attr("height", Grid.fontSize).attr("y", -Grid.fontSize).attr("fill", Grid.checkerFill);
1093
+ }
1094
+ this.layerMap.append("text").attr("data-testid", `sjpp-hic-chr-xAxis-label`).attr("font-family", Grid.font).attr("text-anchor", "middle").attr("font-size", 12).attr("x", xoff + chrw / 2).text(chr.label);
1095
+ xoff += chrw;
1096
+ this.layerSv.append("line").attr("x1", xoff).attr("x2", xoff).attr("y2", grid.totalpx).attr("stroke", Grid.spaceColor).attr("shape-rendering", "crispEdges");
1097
+ xoff += Grid.borderWidth;
1098
+ });
1099
+ }
1100
+ renderAxisY(grid) {
1101
+ let yoff = 0;
1102
+ this.grid.chromosomeList.forEach((chr, index) => {
1103
+ const chrh = chr.width;
1104
+ if (index % 2 === 0) {
1105
+ this.layerMap.append("rect").attr("x", -Grid.defaultChrLabWidth).attr("width", Grid.defaultChrLabWidth).attr("height", chrh).attr("y", yoff).attr("fill", Grid.checkerFill);
1106
+ }
1107
+ this.layerMap.append("text").attr("data-testid", `sjpp-hic-chr-yAxis-label`).attr("font-family", Grid.font).attr("text-anchor", "end").attr("dominant-baseline", "central").attr("font-size", 12).attr("y", yoff + chrh / 2).text(chr.label);
1108
+ yoff += chrh;
1109
+ this.layerSv.append("line").attr("x2", grid.totalpx).attr("y1", yoff).attr("y2", yoff).attr("stroke", Grid.spaceColor).attr("shape-rendering", "crispEdges");
1110
+ yoff += Grid.borderWidth;
1111
+ });
1112
+ }
1113
+ };
1114
+
1115
+ // tracks/hic/genome/ChrsTooltips.ts
1116
+ var ChrsTooltips = class {
1117
+ constructor() {
1118
+ this.chrx_tip = new Menu({ border: "solid 1px #ccc", padding: "0px", offsetX: 0, offsetY: 0 });
1119
+ this.chry_tip = new Menu({ border: "solid 1px #ccc", padding: "0px", offsetX: 0, offsetY: 0 });
1120
+ }
1121
+ render(img, chrx, chry) {
1122
+ const p = img.node().getBoundingClientRect();
1123
+ this.chrx_tip.clear().show(p.left, p.top).d.style("top", null).attr("data-testid", "sjpp-hic-chrx-tooltip").style("bottom", window.innerHeight - p.top - window.pageYOffset + "px").text(chrx);
1124
+ this.chry_tip.clear().show(p.left, p.top).d.style("left", null).attr("data-testid", "sjpp-hic-chry-tooltip").style("right", document.body.clientWidth - p.left - window.pageXOffset + "px").text(chry);
1125
+ }
1126
+ };
1127
+
1128
+ // tracks/hic/grid/GridElementRenderer.ts
1129
+ var GridElementRenderer = class {
1130
+ constructor(layerMap, app) {
1131
+ this.app = app;
1132
+ this.layerMap = layerMap;
1133
+ this.tooltips = new ChrsTooltips();
1134
+ }
1135
+ render(obj, lead, follow, holder) {
1136
+ obj.canvas = holder.append("canvas").style("display", "none").node();
1137
+ obj.ctx = obj.canvas.getContext("2d");
1138
+ obj.canvas.width = obj.xbins;
1139
+ obj.canvas.height = obj.ybins;
1140
+ obj.img = this.layerMap.append("image").attr("width", obj.canvas.width).attr("height", obj.canvas.height).attr("x", obj.x).attr("y", obj.y).on("click", async () => {
1141
+ await this.app.dispatch({
1142
+ type: "view_create",
1143
+ view: "chrpair",
1144
+ config: {
1145
+ x: {
1146
+ chr: lead
1147
+ },
1148
+ y: {
1149
+ chr: follow
1150
+ }
1151
+ }
1152
+ });
1153
+ }).on("mouseover", () => {
1154
+ this.tooltips.render(obj.img, lead, follow);
1155
+ });
1156
+ if (lead != follow) {
1157
+ obj.canvas2 = holder.append("canvas").style("display", "none").node();
1158
+ obj.canvas2.width = obj.ybins;
1159
+ obj.canvas2.height = obj.xbins;
1160
+ obj.ctx2 = obj.canvas2.getContext("2d");
1161
+ obj.img2 = this.layerMap.append("image").attr("width", obj.canvas2.width).attr("height", obj.canvas2.height).attr("x", obj.y).attr("y", obj.x).on("click", async () => {
1162
+ await this.app.dispatch({
1163
+ type: "view_create",
1164
+ view: "chrpair",
1165
+ config: {
1166
+ x: {
1167
+ chr: follow
1168
+ },
1169
+ y: {
1170
+ chr: lead
1171
+ }
1172
+ }
1173
+ });
1174
+ }).on("mouseover", () => {
1175
+ this.tooltips.render(obj.img2, follow, lead);
1176
+ });
1177
+ } else {
1178
+ obj.ctx2 = obj.ctx;
1179
+ }
1180
+ }
1181
+ };
1182
+
1183
+ // tracks/hic/grid/GridElementsRenderer.ts
1184
+ var GridElementsRenderer = class {
1185
+ constructor(grid, layerMap, app) {
1186
+ this.grid = grid;
1187
+ this.gridElementRenderer = new GridElementRenderer(layerMap, app);
1188
+ }
1189
+ render(holder) {
1190
+ for (const [chrx, chryMap] of this.grid.chromosomeMatrix) {
1191
+ for (const [chry, gridElem] of chryMap) {
1192
+ this.gridElementRenderer.render(gridElem, chrx, chry, holder);
1193
+ }
1194
+ }
1195
+ }
1196
+ };
1197
+
1198
+ // tracks/hic/genome/GenomeView.ts
1199
+ var GenomeView = class {
1200
+ constructor(opts) {
1201
+ /** Dom */
1202
+ this.tip = new Menu();
1203
+ this.pica_x = new Menu({ border: "solid 1px #ccc", padding: "0px", offsetX: 0, offsetY: 0 });
1204
+ this.pica_y = new Menu({ border: "solid 1px #ccc", padding: "0px", offsetX: 0, offsetY: 0 });
1205
+ /** Data */
1206
+ /** px width for each chr */
1207
+ this.chr2px = {};
1208
+ this.lead2follow = /* @__PURE__ */ new Map();
1209
+ this.values = [];
1210
+ /** Defaults */
1211
+ this.defaultChrLabWidth = 100;
1212
+ this.borderwidth = 1;
1213
+ this.default_maxVPerc = 5;
1214
+ this.fontsize = 15;
1215
+ this.xoff = 0;
1216
+ this.yoff = 0;
1217
+ this.binpx = 1;
1218
+ this.atdev_chrnum = 8;
1219
+ this.min = 0;
1220
+ this.max = 0;
1221
+ this.app = opts.app;
1222
+ this.hic = opts.hic;
1223
+ this.plotDiv = opts.plotDiv;
1224
+ this.data = opts.data;
1225
+ this.parent = opts.parent;
1226
+ this.resolution = opts.resolution || opts.hic.bpresolution[0];
1227
+ this.svg = this.plotDiv.plot.append("svg").attr("data-testid", "sjpp-hic-genome-svg");
1228
+ this.layer_map = this.svg.append("g").attr("data-testid", "sjpp-hic-layerMap-g");
1229
+ this.layer_sv = this.svg.append("g").attr("data-testid", "sjpp-hic-layerSv-g");
1230
+ this.colorizeElement = new ColorizeElement();
1231
+ this.viewModel = new GridViewModel(opts);
1232
+ this.viewRender = new GridRenderer(this.svg, this.layer_map, this.layer_sv, this.viewModel.grid);
1233
+ this.gridElementsRenderer = new GridElementsRenderer(this.viewModel.grid, this.layer_map, this.app);
1234
+ this.gridFormattedData = new GridElementsFormattedData();
1235
+ }
1236
+ makeSv() {
1237
+ const unknownchr = /* @__PURE__ */ new Set();
1238
+ const radius = 8;
1239
+ for (const item of this.hic.sv.items) {
1240
+ const _o = this.lead2follow.get(item.chr1);
1241
+ if (!_o) {
1242
+ unknownchr.add(item.chr1);
1243
+ continue;
1244
+ }
1245
+ const obj = _o.get(item.chr2);
1246
+ if (!obj) {
1247
+ unknownchr.add(item.chr2);
1248
+ continue;
1249
+ }
1250
+ const p1 = item.position1 / this.resolution;
1251
+ const p2 = item.position2 / this.resolution;
1252
+ this.layer_sv.append("circle").attr("data-testid", "sjpp-hic-genome-view-sv-circle").attr("stroke", "black").attr("fill", "white").attr("fill-opacity", 0).attr("cx", obj.x + p1).attr("cy", obj.y + p2).attr("r", radius).on("mouseover", (event) => {
1253
+ this.tooltipSv(event, item);
1254
+ }).on("mouseout", () => {
1255
+ this.tip.hide();
1256
+ }).on("click", () => {
1257
+ this.clickSv(item);
1258
+ });
1259
+ if (obj.img2) {
1260
+ this.layer_sv.append("circle").attr("data-testid", "sjpp-hic-genome-view-sv-circle-2").attr("stroke", "black").attr("fill", "white").attr("fill-opacity", 0).attr("cy", obj.x + p1).attr("cx", obj.y + p2).attr("r", radius).on("mouseover", (event) => {
1261
+ this.tooltipSv(event, item);
1262
+ }).on("mouseout", () => {
1263
+ this.tip.hide();
1264
+ }).on("click", () => {
1265
+ this.clickSv(item);
1266
+ });
1267
+ }
1268
+ }
1269
+ }
1270
+ tooltipSv(event, item) {
1271
+ this.tip.clear().show(event.clientX, event.clientY).d.append("div").text(
1272
+ item.chr1 == item.chr2 ? `${item.chr1}:${item.position1}-${item.position2}` : `${item.chr1}:${item.position1}>${item.chr2}:${item.position2}`
1273
+ );
1274
+ }
1275
+ clickSv(item) {
1276
+ const default_svpointspan = 5e5;
1277
+ const default_subpanelpxwidth = 600;
1278
+ const subpanel_bordercolor = "rgba(200,0,0,.1)";
1279
+ const pane = newpane({ x: 100, y: 100 });
1280
+ pane.header.text(
1281
+ this.hic.name + " " + (item.chr1 == item.chr2 ? `${item.chr1}:${item.position1}-${item.position2}` : `${item.chr1}:${item.position1}>${item.chr2}:${item.position2}`)
1282
+ );
1283
+ const tracks = [
1284
+ {
1285
+ type: tkt.hicstraw,
1286
+ file: this.hic.file,
1287
+ enzyme: this.hic.enzyme,
1288
+ maxpercentage: this.default_maxVPerc,
1289
+ pyramidup: 1,
1290
+ name: this.hic.name
1291
+ }
1292
+ ];
1293
+ if (this.hic.tklst) {
1294
+ for (const t of this.hic.tklst) {
1295
+ tracks.push(t);
1296
+ }
1297
+ }
1298
+ first_genetrack_tolist(this.hic.genome, tracks);
1299
+ const arg = {
1300
+ holder: pane.body,
1301
+ hostURL: this.hic.hostURL,
1302
+ jwt: this.hic.jwt,
1303
+ genome: this.hic.genome,
1304
+ nobox: 1,
1305
+ tklst: tracks
1306
+ };
1307
+ if (item.chr1 == item.chr2 && Math.abs(item.position2 - item.position1) < default_svpointspan * 2) {
1308
+ arg.chr = item.chr1;
1309
+ const w = Math.abs(item.position2 - item.position1);
1310
+ arg.start = Math.max(1, Math.min(item.position1, item.position2) - w);
1311
+ arg.stop = Math.min(
1312
+ this.hic.genome.chrlookup[item.chr1.toUpperCase()].len,
1313
+ Math.max(item.position1, item.position2) + w
1314
+ );
1315
+ } else {
1316
+ arg.chr = item.chr1;
1317
+ arg.start = Math.max(1, item.position1 - default_svpointspan / 2);
1318
+ arg.stop = Math.min(
1319
+ this.hic.genome.chrlookup[item.chr1.toUpperCase()].len,
1320
+ item.position1 + default_svpointspan / 2
1321
+ );
1322
+ arg.width = default_subpanelpxwidth;
1323
+ arg.subpanels = [
1324
+ {
1325
+ chr: item.chr2,
1326
+ start: Math.max(1, item.position2 - default_svpointspan / 2),
1327
+ stop: Math.min(
1328
+ this.hic.genome.chrlookup[item.chr2.toUpperCase()].len,
1329
+ item.position2 + default_svpointspan / 2
1330
+ ),
1331
+ width: default_subpanelpxwidth,
1332
+ leftpad: 10,
1333
+ leftborder: subpanel_bordercolor
1334
+ }
1335
+ ];
1336
+ }
1337
+ blocklazyload(arg);
1338
+ }
1339
+ render() {
1340
+ this.viewRender.render();
1341
+ this.gridElementsRenderer.render(this.hic.holder);
1342
+ if (this.hic.sv && this.hic.sv.items) {
1343
+ this.makeSv();
1344
+ }
1345
+ this.update(this.data);
1346
+ }
1347
+ update(data) {
1348
+ this.data = data;
1349
+ this.min = this.parent("min");
1350
+ this.max = this.parent("max");
1351
+ for (const data2 of this.data) {
1352
+ if (!this.hic.chrlst.includes(data2.lead) || !this.hic.chrlst.includes(data2.follow)) continue;
1353
+ const obj = this.viewModel.grid.chromosomeMatrix.get(data2.lead).get(data2.follow);
1354
+ if (!obj) continue;
1355
+ obj.ctx.clearRect(0, 0, obj.canvas.width, obj.canvas.height);
1356
+ if (obj.canvas2) {
1357
+ obj.ctx2.clearRect(0, 0, obj.canvas2.width, obj.canvas.height);
1358
+ }
1359
+ obj.data = this.gridFormattedData.formatData("genome", data2.items, this.binpx, this.resolution);
1360
+ for (const [xPx, yPx, value] of obj.data) {
1361
+ this.colorizeElement.colorizeElement(xPx, yPx, value, obj, this.binpx, this.binpx, this.min, this.max, "genome");
1362
+ }
1363
+ obj.img.attr("xlink:href", obj.canvas.toDataURL());
1364
+ if (obj.canvas2) {
1365
+ obj.img2.attr("xlink:href", obj.canvas2.toDataURL());
1366
+ }
1367
+ }
1368
+ this.app.dispatch({ type: "loading_active", active: false });
1369
+ }
1370
+ };
1371
+
1372
+ // tracks/hic/controls/NormalizationMethodControl.ts
1373
+ var NormalizationMethodControl = class {
1374
+ constructor(holder, normalization, defaultNmeth, callback) {
1375
+ this.holder = holder;
1376
+ this.normalization = normalization;
1377
+ this.defaultNmeth = defaultNmeth;
1378
+ this.callback = callback;
1379
+ }
1380
+ render() {
1381
+ if (!this.normalization?.length) {
1382
+ this.nmethSelect = this.holder.text(this.defaultNmeth);
1383
+ } else {
1384
+ this.nmethSelect = this.holder.attr("data-testid", "sjpp-hic-nmeth-select").style("margin-right", "10px").append("select").on("change", async () => {
1385
+ const nmeth = this.nmethSelect.node().value;
1386
+ this.callback(nmeth, "nmeth");
1387
+ });
1388
+ for (const n of this.normalization) {
1389
+ this.nmethSelect.append("option").text(n);
1390
+ }
1391
+ }
1392
+ }
1393
+ update(option) {
1394
+ const options = this.nmethSelect.node().options;
1395
+ if (!options) return;
1396
+ const selectedNmeth = Array.from(options).find((o) => o.value === option);
1397
+ if (!selectedNmeth) throw `Invalid normalization method: ${option}`;
1398
+ selectedNmeth.selected = true;
1399
+ }
1400
+ };
1401
+
1402
+ // tracks/hic/controls/CutoffControl.ts
1403
+ var CutoffControl = class {
1404
+ constructor(holder, value, callback) {
1405
+ this.holder = holder;
1406
+ this.value = value;
1407
+ this.callback = callback;
1408
+ }
1409
+ render(opts) {
1410
+ const cutoffDiv = this.holder.attr("data-testid", "sjpp-hic-cutoff-control").style("margin-right", "10px").append("input").attr("type", "number").style("width", opts && "width" in opts ? opts.width : "80px").style("margin-left", "0px").attr("type", "number").property("value", this.value).on("keyup", async (event) => {
1411
+ if (event.code != "Enter") return;
1412
+ const v = event.target.value;
1413
+ this.callback(v);
1414
+ });
1415
+ return cutoffDiv;
1416
+ }
1417
+ };
1418
+
1419
+ // tracks/hic/controls/MatrixTypeControl.ts
1420
+ var MatrixTypeControl = class {
1421
+ constructor(holder, callback) {
1422
+ this.values = [
1423
+ { label: "Observed", value: "observed" },
1424
+ { label: "Expected", value: "expected" },
1425
+ { label: "Observed/Expected", value: "oe" },
1426
+ { label: "Log(Observed/Expected)", value: "log(oe)" }
1427
+ // TODO: add server side logic to support these options
1428
+ // { label: 'Log(Observed + 1)', value: 'log(obs+1)'},
1429
+ // { label: 'Observed Pearson', value: 'op'}
1430
+ ];
1431
+ this.holder = holder;
1432
+ this.callback = callback;
1433
+ }
1434
+ render() {
1435
+ this.matrixSelect = this.holder.attr("data-testid", "sjpp-hic-matrix-type-select").style("margin-right", "10px").append("select").on("change", async () => {
1436
+ this.callback(this.matrixSelect.node().value, "matrixType");
1437
+ });
1438
+ for (const matrixType of this.values) {
1439
+ this.matrixSelect.append("option").text(matrixType.label).attr("value", matrixType.value);
1440
+ }
1441
+ }
1442
+ update(option) {
1443
+ const options = this.matrixSelect.node().options;
1444
+ if (!options) return;
1445
+ const selectedNmeth = Array.from(options).find((o) => o.value === option);
1446
+ if (!selectedNmeth) throw `Invalid normalization method: ${option}`;
1447
+ selectedNmeth.selected = true;
1448
+ }
1449
+ };
1450
+
1451
+ // tracks/hic/controls/ControlPanel.ts
1452
+ var ControlPanel = class _ControlPanel {
1453
+ constructor(opts) {
1454
+ this.zoomBlockCallback = (bool) => {
1455
+ const detailView = this.parent("detail");
1456
+ detailView.xBlock.block.zoomblock(2, bool);
1457
+ detailView.yBlock.block.zoomblock(2, bool);
1458
+ };
1459
+ this.minCallback = (v) => {
1460
+ if (Number(v) > Number(this.parent("max"))) {
1461
+ this.error("Min cutoff cannot be greater than max cutoff");
1462
+ } else {
1463
+ this.parent("min", Number(v));
1464
+ this.reColorHeatmap();
1465
+ this.parent("infoBar").update();
1466
+ }
1467
+ };
1468
+ this.maxCallback = (v) => {
1469
+ if (Number(v) < Number(this.parent("min"))) {
1470
+ this.error(`Max cutoff cannot be less than min cutoff`);
1471
+ } else if (Number(v) < 0) {
1472
+ this.error(`Max cutoff cannot be less than 0`);
1473
+ } else {
1474
+ this.parent("max", Number(v));
1475
+ this.reColorHeatmap();
1476
+ this.parent("infoBar").update();
1477
+ }
1478
+ };
1479
+ this.reColorHeatmap = () => {
1480
+ if (this.parent("activeView") == "genome") {
1481
+ const genomeView = this.parent("genome");
1482
+ const chrMatrix = genomeView.viewRender.grid.chromosomeMatrix;
1483
+ if (!chrMatrix) return;
1484
+ for (const map of chrMatrix) {
1485
+ const yMap = map[1];
1486
+ for (const obj of yMap) {
1487
+ const canvasObj = obj[1];
1488
+ if (!canvasObj) continue;
1489
+ for (const [leadpx, followpx, val] of canvasObj.data) {
1490
+ this.colorizeElement.colorizeElement(
1491
+ leadpx,
1492
+ followpx,
1493
+ val,
1494
+ canvasObj,
1495
+ 1,
1496
+ 1,
1497
+ this.parent("min"),
1498
+ this.parent("max"),
1499
+ "genome"
1500
+ );
1501
+ }
1502
+ canvasObj.img.attr("xlink:href", canvasObj.canvas.toDataURL());
1503
+ if (canvasObj.canvas2) {
1504
+ canvasObj.img2.attr("xlink:href", canvasObj.canvas2.toDataURL());
1505
+ }
1506
+ }
1507
+ }
1508
+ } else if (this.parent("activeView") == "chrpair") {
1509
+ const view = this.parent("chrpair");
1510
+ for (const [xCoord, yCoord, val] of view.data) {
1511
+ this.colorizeElement.colorizeElement(
1512
+ xCoord,
1513
+ yCoord,
1514
+ val,
1515
+ view.ctx,
1516
+ view.binpx,
1517
+ view.binpx,
1518
+ this.parent("min"),
1519
+ this.parent("max"),
1520
+ "chrpair"
1521
+ );
1522
+ }
1523
+ } else if (this.parent("activeView") == "detail") {
1524
+ const view = this.parent("detail");
1525
+ for (const [xCoord, yCoord, width, height, value] of view.coords) {
1526
+ this.colorizeElement.colorizeElement(
1527
+ xCoord,
1528
+ yCoord,
1529
+ value,
1530
+ view.ctx,
1531
+ width,
1532
+ height,
1533
+ this.parent("min"),
1534
+ this.parent("max"),
1535
+ "detail"
1536
+ );
1537
+ }
1538
+ }
1539
+ };
1540
+ this.dropdownCallback = (v, prop) => {
1541
+ const state = this.app.getState();
1542
+ this.app.dispatch({
1543
+ type: "view_update",
1544
+ view: state.currView,
1545
+ config: { [prop]: v }
1546
+ });
1547
+ };
1548
+ this.type = _ControlPanel.type;
1549
+ this.controls = {};
1550
+ this.app = opts.app;
1551
+ this.controlsDiv = opts.controlsDiv;
1552
+ this.hic = opts.hic;
1553
+ this.colorizeElement = new ColorizeElement();
1554
+ this.parent = opts.parent;
1555
+ this.error = opts.error;
1556
+ }
1557
+ static {
1558
+ this.type = "controlPanel";
1559
+ }
1560
+ getState(appState) {
1561
+ return appState;
1562
+ }
1563
+ addLabel(tr, text) {
1564
+ return tr.append("td").style("color", "#858585").style("font-size", ".8em").style("vertical-align", text.toUpperCase() == "VIEW" ? "top" : "middle").text(text.toUpperCase());
1565
+ }
1566
+ init() {
1567
+ const state = this.app.getState();
1568
+ const menuWrapper = this.controlsDiv.attr("data-testid", "sjpp-hic-control-panel").style("background", "rgb(253, 250, 244)").style("vertical-align", "top").style("padding", "5px").style("border", "solid 0.5px #ccc");
1569
+ let menuVisible = true;
1570
+ this.controlsDiv.append("button").attr("data-testid", "sjpp-hic-burger-btn").style("display", "block").style("border", "none").style("font-size", "1.5em").style("background", "none").html("&#8801;").on("click", () => {
1571
+ menuVisible = !menuVisible;
1572
+ menu.style("display", menuVisible ? "block" : "none");
1573
+ });
1574
+ const menu = menuWrapper.append("div").attr("class", "sjpp-hic-menu").attr("data-testid", "sjpp-hic-menu").style("display", menuVisible ? "block" : "none");
1575
+ const menuTable = menu.append("table").style("border-spacing", "3px");
1576
+ this.controls.normalizationRow = menuTable.append("tr");
1577
+ this.addLabel(this.controls.normalizationRow, "NORMALIZATION");
1578
+ this.controls.nmeth = new NormalizationMethodControl(
1579
+ this.controls.normalizationRow.append("td").attr("class", "sjpp-nmeth-select"),
1580
+ this.hic.normalization,
1581
+ state.defaultNmeth,
1582
+ this.dropdownCallback
1583
+ );
1584
+ this.controls.nmeth.render();
1585
+ this.controls.minCutoffRow = menuTable.append("tr");
1586
+ this.controls.minCutoffLabel = this.addLabel(this.controls.minCutoffRow, "");
1587
+ this.controls.inputBpMinV = new CutoffControl(
1588
+ this.controls.minCutoffRow.append("td"),
1589
+ this.parent("min"),
1590
+ this.minCallback
1591
+ ).render({ width: "120px" });
1592
+ this.controls.maxCutoffRow = menuTable.append("tr");
1593
+ this.controls.maxCutoffLabel = this.addLabel(this.controls.maxCutoffRow, "");
1594
+ this.controls.inputBpMaxV = new CutoffControl(
1595
+ this.controls.maxCutoffRow.append("td"),
1596
+ this.parent("max"),
1597
+ this.maxCallback
1598
+ ).render({ width: "120px" });
1599
+ this.controls.matrixTypeRow = menuTable.append("tr");
1600
+ this.addLabel(this.controls.matrixTypeRow, "matrix type");
1601
+ this.controls.matrixType = new MatrixTypeControl(this.controls.matrixTypeRow.append("td"), this.dropdownCallback);
1602
+ this.controls.matrixType.render();
1603
+ this.controls.widthRow = menuTable.append("tr");
1604
+ this.addLabel(this.controls.widthRow, "WIDTH / height");
1605
+ this.controls.width = this.controls.widthRow.append("td");
1606
+ this.controls.width.attr("data-testid", "sjpp-hic-block-size-input").style("margin-right", "10px").append("input").attr("type", "number").style("width", "80px").style("margin-left", "0px").attr("type", "number").property("value", state.width).on("keyup", async (event) => {
1607
+ if (event.code != "Enter") return;
1608
+ const v = event.target.value;
1609
+ this.app.dispatch({
1610
+ type: "view_update",
1611
+ config: {
1612
+ settings: { widthHeightPx: Number.parseInt(v) }
1613
+ }
1614
+ });
1615
+ });
1616
+ const viewRow = menuTable.append("tr");
1617
+ this.addLabel(viewRow, "VIEW");
1618
+ const viewBtnDiv = viewRow.append("td");
1619
+ this.controls.view = viewBtnDiv.append("span").attr("data-testid", "sjpp-hic-view-span").style("padding-right", "5px").style("display", "block");
1620
+ this.controls.genomeViewBtn = viewBtnDiv.append("button").attr("data-testid", "sjpp-hic-genome-view-btn").style("display", "none").style("padding", "2px").style("margin-top", "4px").html("&#8810; Genome").on("click", async () => {
1621
+ await this.app.dispatch({
1622
+ type: "view_create",
1623
+ view: "genome",
1624
+ config: {
1625
+ x: {},
1626
+ y: {}
1627
+ }
1628
+ });
1629
+ });
1630
+ this.controls.chrpairViewBtn = viewBtnDiv.append("button").attr("data-testid", "sjpp-hic-chrpair-view-btn").style("display", "none").style("padding", "2px").style("margin", "4px 0px").on("click", async () => {
1631
+ const currState = this.app.getState();
1632
+ await this.app.dispatch({
1633
+ type: "view_create",
1634
+ view: "chrpair",
1635
+ config: {
1636
+ x: {
1637
+ chr: currState.x.chr
1638
+ },
1639
+ y: {
1640
+ chr: currState.y.chr
1641
+ }
1642
+ }
1643
+ });
1644
+ });
1645
+ this.controls.horizontalViewBtn = viewBtnDiv.append("button").attr("data-testid", "sjpp-hic-horizontal-view-btn").style("display", "none").style("padding", "2px").style("margin", "4px 0px").html("Horizontal View &#8811;").on("click", async () => {
1646
+ await this.app.dispatch({
1647
+ type: "view_create",
1648
+ view: "horizontal"
1649
+ });
1650
+ });
1651
+ this.controls.detailViewBtn = viewBtnDiv.append("button").attr("data-testid", "sjpp-hic-detail-view-btn").style("display", "none").style("padding", "2px").style("margin", "4px 0px").html("&#8810; Detailed View").on("click", async () => {
1652
+ await this.app.dispatch({
1653
+ type: "view_create",
1654
+ view: "detail"
1655
+ });
1656
+ });
1657
+ this.controls.zoomDiv = menuTable.append("tr").attr("data-testid", "sjpp-hic-zoom-div").style("display", state.currView == "detail" ? "contents" : "none");
1658
+ this.addLabel(this.controls.zoomDiv, "ZOOM");
1659
+ const zoomDiv = this.controls.zoomDiv.append("td");
1660
+ this.controls.zoomIn = zoomDiv.append("button").attr("data-testid", "sjpp-hic-zoom-in-btn").style("margin-right", "10px").text("In").on("click", () => {
1661
+ this.zoomBlockCallback(false);
1662
+ });
1663
+ this.controls.zoomOut = zoomDiv.append("button").attr("data-testid", "sjpp-hic-zoom-out-btn").style("margin-right", "10px").text("Out").on("click", () => {
1664
+ this.zoomBlockCallback(true);
1665
+ });
1666
+ }
1667
+ showBtns() {
1668
+ const state = this.app.getState();
1669
+ this.controls.genomeViewBtn.style("display", state.currView === "genome" ? "none" : "inline-block");
1670
+ if (state.currView === "detail") {
1671
+ this.controls.chrpairViewBtn.html(`&#8810; Entire ${state.x.chr}-${state.y.chr}`).style("display", "block");
1672
+ this.controls.horizontalViewBtn.style("display", "block");
1673
+ this.controls.zoomDiv.style("display", "contents");
1674
+ this.controls.detailViewBtn.style("display", "none");
1675
+ } else if (state.currView === "horizontal") {
1676
+ this.controls.chrpairViewBtn.html(`&#8810; Entire ${state.x.chr}-${state.y.chr}`).style("display", "block");
1677
+ this.controls.detailViewBtn.style("display", "block");
1678
+ this.controls.horizontalViewBtn.style("display", "none");
1679
+ this.controls.zoomDiv.style("display", "none");
1680
+ } else {
1681
+ this.controls.chrpairViewBtn.style("display", "none");
1682
+ this.controls.horizontalViewBtn.style("display", "none");
1683
+ this.controls.detailViewBtn.style("display", "none");
1684
+ this.controls.zoomDiv.style("display", "none");
1685
+ this.controls.widthRow.style("display", "none");
1686
+ }
1687
+ }
1688
+ showHideControls() {
1689
+ const state = this.app.getState();
1690
+ this.controls.normalizationRow.style("display", state.currView == "horizontal" ? "none" : "");
1691
+ this.controls.minCutoffRow.style("display", state.currView == "horizontal" ? "none" : "");
1692
+ this.controls.maxCutoffRow.style("display", state.currView == "horizontal" ? "none" : "");
1693
+ this.controls.matrixTypeRow.style("display", state.currView == "horizontal" ? "none" : "");
1694
+ this.controls.widthRow.style("display", state.currView == "detail" ? "contents" : "none");
1695
+ }
1696
+ main(appState) {
1697
+ const state = this.app.getState(appState);
1698
+ this.controls.nmeth.update(state[state.currView].nmeth);
1699
+ this.controls.matrixType.update(state[state.currView].matrixType);
1700
+ this.controls.zoomDiv.style("display", state.currView == "detail" ? "contents" : "none");
1701
+ if (state.currView == "chrpair") {
1702
+ this.controls.view.text(`${state.x.chr}-${state.y.chr} Pair`);
1703
+ } else {
1704
+ this.controls.view.text(state.currView.charAt(0).toUpperCase() + state.currView.slice(1));
1705
+ }
1706
+ const formatAbsMin = this.parent("absMin") < 1e-5 ? Number(this.parent("absMin")).toExponential(1) : Number(this.parent("absMin").toFixed(6));
1707
+ const formatAbsMax = this.parent("absMax") < 1e-5 ? Number(this.parent("absMax")).toExponential(1) : Number(this.parent("absMax").toFixed(6));
1708
+ this.controls.width.select("input").property("value", state.settings.widthHeightPx);
1709
+ this.controls.inputBpMinV.property("value", this.parent("min"));
1710
+ this.controls.inputBpMaxV.property("value", this.parent("max"));
1711
+ this.controls.minCutoffLabel.html(`MIN CUTOFF <br>(>= ${formatAbsMin})`);
1712
+ this.controls.maxCutoffLabel.html(`MAX CUTOFF <br>(<= ${formatAbsMax})`);
1713
+ this.showBtns();
1714
+ this.showHideControls();
1715
+ }
1716
+ };
1717
+ var controlPanelInit = getCompInit(ControlPanel);
1718
+
1719
+ // tracks/hic/dom/InfoBar.ts
1720
+ var InfoBar = class {
1721
+ constructor(opts) {
1722
+ /** Defaults **/
1723
+ //Color shown on the left of the color scale
1724
+ this.startColor = "white";
1725
+ //Color shown on the right of the color scale
1726
+ this.endColor = "red";
1727
+ this.addLabel = (text) => {
1728
+ return this.labelRow.append("td").attr("data-testid", `sjpp-hic-infobar-${text.toLowerCase().replace(/\s/g, "-")}-label`).style("color", "#858585").style("font-size", ".8em").style("text-align", "center").style("vertical-align", "middle").text(text.toUpperCase());
1729
+ };
1730
+ this.addValue = (text) => {
1731
+ return this.valueRow.append("td").attr("data-testid", `sjpp-hic-infobar-${text.toString().toLowerCase().replace(/\s/g, "-")}-value`).style("font-size", "1em").style("text-align", "center").style("vertical-align", "middle").text(text);
1732
+ };
1733
+ this.type = "infoBar";
1734
+ this.app = opts.app;
1735
+ this.hic = opts.hic;
1736
+ const table = opts.infoBarDiv;
1737
+ this.labelRow = table.append("tr");
1738
+ this.valueRow = table.append("tr");
1739
+ this.parent = opts.parent;
1740
+ }
1741
+ async render() {
1742
+ this.addLabel("Version");
1743
+ this.addValue(this.hic.version);
1744
+ this.addLabel("Enzyme");
1745
+ this.addValue(this.hic.enzyme || "N/A");
1746
+ this.addLabel("Resolution");
1747
+ this.resolutionDiv = this.addValue("");
1748
+ this.colorScaleLabel = this.addLabel("Scale");
1749
+ this.colorScaleDiv = this.valueRow.append("td").attr("data-testid", "sjpp-hic-color-scale");
1750
+ const min = this.parent("min");
1751
+ let max = this.parent("max");
1752
+ if (min == max) max = max + 0.01;
1753
+ this.colorScale = new ColorScale({
1754
+ barheight: 20,
1755
+ barwidth: 100,
1756
+ domain: [min, max],
1757
+ fontSize: 12,
1758
+ height: 40,
1759
+ width: 150,
1760
+ holder: this.colorScaleDiv,
1761
+ colors: [this.startColor, this.endColor],
1762
+ position: "20,0",
1763
+ ticks: 3,
1764
+ tickSize: 5,
1765
+ //Do not use min value here on initialization. It's 0 and will not update later.
1766
+ markedValue: 1
1767
+ });
1768
+ }
1769
+ update() {
1770
+ const res = this.parent("calcResolution");
1771
+ let resolutionText;
1772
+ if (res < this.hic.bpresolution[this.hic.bpresolution.length - 1]) {
1773
+ resolutionText = `${res} fragment${res > 1 ? "s" : ""}`;
1774
+ } else {
1775
+ resolutionText = bplen(res);
1776
+ }
1777
+ this.resolutionDiv.text(resolutionText);
1778
+ if (this.parent("state").currView == "horizontal") {
1779
+ this.colorScaleLabel.style("display", "none");
1780
+ this.colorScaleDiv.style("display", "none");
1781
+ } else {
1782
+ this.colorScaleLabel.style("display", "");
1783
+ this.colorScaleDiv.style("display", "");
1784
+ const min = this.parent("min");
1785
+ const max = this.parent("max");
1786
+ if (min < 0) {
1787
+ this.colorScale.colors = ["blue", "white", "red"];
1788
+ this.colorScale.domain = [min, 0, max];
1789
+ } else {
1790
+ this.colorScale.colors = ["white", "red"];
1791
+ this.colorScale.domain = [0, max];
1792
+ }
1793
+ this.colorScale.markedValue = min;
1794
+ this.colorScale.updateScale();
1795
+ }
1796
+ }
1797
+ };
1798
+
1799
+ // tracks/hic/data/DataMapper.ts
1800
+ var DataMapper = class {
1801
+ constructor(hic, percentile) {
1802
+ this.hic = hic;
1803
+ this.percentile = percentile ? percentile / 100 : 0.99;
1804
+ }
1805
+ sortData(data) {
1806
+ const vlst = [];
1807
+ if (data?.items && data?.items.length) {
1808
+ for (const i of data.items) {
1809
+ vlst.push(i[2]);
1810
+ }
1811
+ } else {
1812
+ const blankChrs = /* @__PURE__ */ new Set();
1813
+ for (const d of data) {
1814
+ if (d.lead == "chrM" && !d.items.length || d.lead == "chrY" && !d.items.length) {
1815
+ blankChrs.add(d.lead);
1816
+ continue;
1817
+ }
1818
+ for (const i of d.items) {
1819
+ vlst.push(i[2]);
1820
+ }
1821
+ }
1822
+ if (blankChrs.size) {
1823
+ for (const c of blankChrs) {
1824
+ const idx = this.hic.chrlst.indexOf(c);
1825
+ this.hic.chrlst.splice(idx, 1);
1826
+ }
1827
+ }
1828
+ }
1829
+ const sortedVlst = vlst.sort((a, b) => a - b);
1830
+ const max = sortedVlst[Math.floor(sortedVlst.length * this.percentile)];
1831
+ const min = sortedVlst[0];
1832
+ return [min, max, sortedVlst[sortedVlst.length - 1]];
1833
+ }
1834
+ };
1835
+
1836
+ // tracks/hic/data/GenomeDataFetcher.ts
1837
+ var GenomeDataFetcher = class {
1838
+ constructor(hic, debugmode, errList = []) {
1839
+ this.data = [];
1840
+ this.hic = hic;
1841
+ this.debugmode = debugmode;
1842
+ this.errList = errList || [];
1843
+ }
1844
+ async getData(obj) {
1845
+ if (this.data.length) this.data = [];
1846
+ if (!obj?.matrixType) obj.matrixType = "observed";
1847
+ try {
1848
+ const res = await dofetch3("hicgenome?", {
1849
+ method: "POST",
1850
+ body: JSON.stringify({
1851
+ chrlst: this.hic.chrlst,
1852
+ nmeth: obj.nmeth,
1853
+ resolution: obj.resolution,
1854
+ matrixType: obj.matrixType,
1855
+ file: this.hic.file,
1856
+ url: this.hic.url,
1857
+ nochr: this.hic.nochr
1858
+ })
1859
+ });
1860
+ if (res.error) {
1861
+ const errs = res.error.split("\n");
1862
+ for (const e of errs) {
1863
+ this.errList.push(e);
1864
+ }
1865
+ }
1866
+ return res.data;
1867
+ } catch (e) {
1868
+ this.errList.push(e.message || e);
1869
+ if (e.stack) console.error(e.stack);
1870
+ }
1871
+ }
1872
+ };
1873
+
1874
+ // tracks/hic/data/DataFetcher.ts
1875
+ var DataFetcher = class {
1876
+ constructor(hic, debugmode, errList = []) {
1877
+ this.hic = hic;
1878
+ this.debugmode = debugmode;
1879
+ this.errList = errList || [];
1880
+ }
1881
+ async getData(obj) {
1882
+ if (!obj?.matrixType) obj.matrixType = "observed";
1883
+ const arg = {
1884
+ matrixType: obj.matrixType,
1885
+ file: this.hic.file,
1886
+ url: this.hic.url,
1887
+ pos1: this.hic.nochr ? obj.lead.replace("chr", "") : obj.lead,
1888
+ pos2: this.hic.nochr ? obj.follow.replace("chr", "") : obj.follow,
1889
+ nmeth: obj.nmeth,
1890
+ resolution: obj.resolution
1891
+ };
1892
+ try {
1893
+ const data = await dofetch3("hicdata?", {
1894
+ method: "POST",
1895
+ body: JSON.stringify(arg)
1896
+ });
1897
+ if (data.error) {
1898
+ throw Error(`${obj.lead} - ${obj.follow}: ${data.error.error}`);
1899
+ }
1900
+ if (!data.items || data.items.length == 0) return;
1901
+ return data;
1902
+ } catch (e) {
1903
+ this.errList.push(e.message || e);
1904
+ if (e.stack) console.error(e.stack);
1905
+ }
1906
+ }
1907
+ };
1908
+
1909
+ // tracks/hic/HicComponent.ts
1910
+ var HicComponent = class _HicComponent {
1911
+ constructor(opts) {
1912
+ this.genomeData = [];
1913
+ this.calcResolution = null;
1914
+ this.firstRender = true;
1915
+ this.min = 0;
1916
+ this.absMin = 0;
1917
+ this.max = 0;
1918
+ this.absMax = 0;
1919
+ this.hasStatePreMain = true;
1920
+ this.type = _HicComponent.type;
1921
+ this.hic = opts.hic;
1922
+ this.state = opts.state;
1923
+ this.dom = opts.dom;
1924
+ this.errList = opts.errList;
1925
+ this.plotDiv = this.dom.plotDiv.append("table").classed("sjpp-hic-plot-main", true);
1926
+ const tr1 = this.plotDiv.append("tr");
1927
+ const tr2 = this.plotDiv.append("tr");
1928
+ this.plotDiv = {
1929
+ plot: tr1.append("td").classed("sjpp-hic-plot", true).attr("data-testid", "sjpp-hic-plot"),
1930
+ yAxis: tr1.append("td").classed("sjpp-hic-plot-yaxis", true).attr("data-testid", "sjpp-hic-yaxis"),
1931
+ xAxis: tr2.append("td").classed("sjpp-hic-plot-xaxis", true).attr("data-testid", "sjpp-hic-xaxis"),
1932
+ blank: tr2.append("td")
1933
+ };
1934
+ this.app = opts.app;
1935
+ this.dataMapper = new DataMapper(this.hic, opts.state.maxCutoffPercentile);
1936
+ this.activeView = this.state.currView;
1937
+ this.error = opts.error;
1938
+ this.resolution = new Resolution(this.error);
1939
+ this.parent = (prop) => {
1940
+ return this[prop];
1941
+ };
1942
+ this.detailDataMapper = new DetailDataMapper(this.hic, this.errList, this.parent);
1943
+ }
1944
+ static {
1945
+ this.type = "view";
1946
+ }
1947
+ getState(appState) {
1948
+ return appState;
1949
+ }
1950
+ reactsTo(action) {
1951
+ if (action.type.startsWith("view")) return true;
1952
+ else return false;
1953
+ }
1954
+ initView() {
1955
+ const opts = {
1956
+ plotDiv: this.plotDiv,
1957
+ hic: this.hic,
1958
+ app: this.app,
1959
+ parent: (prop) => {
1960
+ return this[prop];
1961
+ }
1962
+ };
1963
+ if (this.state.currView == "genome") {
1964
+ opts["data"] = this.data;
1965
+ this.genome = new GenomeView(opts);
1966
+ this.genome.render();
1967
+ } else if (this.state.currView === "chrpair") {
1968
+ opts["items"] = this.data;
1969
+ this.chrpair = new ChrPairView(opts);
1970
+ this.chrpair.render();
1971
+ } else if (this.state.currView === "detail") {
1972
+ opts["data"] = this.data;
1973
+ this.detail = new DetailView(opts);
1974
+ this.detail.render();
1975
+ } else if (this.state.currView === "horizontal") {
1976
+ this.horizontal = new HorizontalView(opts);
1977
+ this.horizontal.render();
1978
+ } else {
1979
+ throw Error(`Unknown view: ${this.state.currView}`);
1980
+ }
1981
+ }
1982
+ async fetchData(obj) {
1983
+ if (this.data?.length) this.data = [];
1984
+ if (this.state.currView == "genome") {
1985
+ if (this.activeView != "genome" && this.genomeData?.length) this.data = this.genomeData;
1986
+ else {
1987
+ const genomeFetcher = new GenomeDataFetcher(this.hic, true, this.errList);
1988
+ this.genomeData = await genomeFetcher.getData(obj);
1989
+ this.data = this.genomeData;
1990
+ }
1991
+ } else if (this.state.currView == "detail") {
1992
+ this.data = await this.detailDataMapper.getData(this.state.x, this.state.y, this.fragData);
1993
+ } else {
1994
+ if (!this.state?.x?.chr || !this.state?.y?.chr) {
1995
+ this.errList.push(`No positions provided for ${this.activeView} view.`);
1996
+ return;
1997
+ } else {
1998
+ const chrx = this.state.x;
1999
+ const chry = this.state.y;
2000
+ obj["lead"] = `${chrx.start && chrx.stop ? `${chrx.chr}:${chrx.start}-${chrx.stop}` : chrx.chr}`;
2001
+ obj["follow"] = `${chry.start && chry.stop ? `${chry.chr}:${chry.start}-${chry.stop}` : chry.chr}`;
2002
+ }
2003
+ const dataFetcher = new DataFetcher(this.hic, true, this.errList);
2004
+ this.data = await dataFetcher.getData(obj);
2005
+ }
2006
+ }
2007
+ async setResolution(appState) {
2008
+ const state = this.app.getState(appState);
2009
+ this.calcResolution = this.resolution.getResolution(state, this.hic);
2010
+ if (state.currView == "detail" && this.calcResolution == null) {
2011
+ await this.detailDataMapper.getFragData(state.x, state.y);
2012
+ this.fragData = this.detailDataMapper.frag;
2013
+ const maxFragSpan = Math.min(
2014
+ this.fragData.x.stop - this.fragData.x.start,
2015
+ this.fragData.y.stop - this.fragData.y.start
2016
+ );
2017
+ this.calcResolution = this.resolution.findResFromArray(
2018
+ maxFragSpan,
2019
+ state.minFragSpan,
2020
+ this.hic.fragresolution,
2021
+ true
2022
+ );
2023
+ } else {
2024
+ this.fragData = null;
2025
+ }
2026
+ return this.calcResolution;
2027
+ }
2028
+ async setDataArgs(appState) {
2029
+ const state = this.app.getState(appState);
2030
+ const currView = state[state.currView];
2031
+ const args = {
2032
+ nmeth: currView.nmeth,
2033
+ resolution: await this.setResolution(appState),
2034
+ matrixType: currView.matrixType
2035
+ };
2036
+ if (state.currView == "chrpair") {
2037
+ args["lead"] = state.x.chr;
2038
+ args["follow"] = state.y.chr;
2039
+ }
2040
+ return args;
2041
+ }
2042
+ async getViewData(appState) {
2043
+ const args = await this.setDataArgs(appState);
2044
+ await this.fetchData(args);
2045
+ if (this.data?.length > 0 || this.data?.items?.length > 0) {
2046
+ const [min, max, absMax] = this.dataMapper.sortData(this.data);
2047
+ this.min = this.absMin = min;
2048
+ this.max = max;
2049
+ this.absMax = absMax;
2050
+ } else {
2051
+ if (this.state.currView != "genome") {
2052
+ const state = this.app.getState(appState);
2053
+ const xPosMessage = state.x?.start ? `${state.x.chr}:${state.x.start}-${state.x.stop}` : state.x.chr;
2054
+ const yPosMessage = state.y?.start ? `${state.y.chr}:${state.y.start}-${state.y.stop}` : state.y.chr;
2055
+ this.errList.push(`No data returned for ${xPosMessage} and ${yPosMessage}`);
2056
+ }
2057
+ }
2058
+ }
2059
+ async init() {
2060
+ this.components = {
2061
+ controls: await controlPanelInit({
2062
+ app: this.app,
2063
+ controlsDiv: this.dom.controlsDiv,
2064
+ hic: this.hic,
2065
+ parent: (prop, value) => {
2066
+ if (value) this[prop] = value;
2067
+ return this[prop];
2068
+ },
2069
+ error: this.error.bind(this)
2070
+ })
2071
+ };
2072
+ this.infoBar = new InfoBar({
2073
+ app: this.app,
2074
+ infoBarDiv: this.dom.infoBarDiv.append("table").style("border-spacing", "3px"),
2075
+ hic: this.hic,
2076
+ parent: (prop) => {
2077
+ return this[prop];
2078
+ }
2079
+ });
2080
+ this.infoBar.render();
2081
+ }
2082
+ async main(appState) {
2083
+ if (this.errList.length) {
2084
+ this.app.dispatch({ type: "loading_active", active: false });
2085
+ return;
2086
+ }
2087
+ const state = this.app.getState(appState);
2088
+ if (this.firstRender == true) {
2089
+ this.firstRender = false;
2090
+ await this.getViewData(appState);
2091
+ this.initView();
2092
+ } else {
2093
+ if (state.currView != "horizontal") {
2094
+ this.app.dispatch({ type: "loading_active", active: true });
2095
+ await this.getViewData(appState);
2096
+ }
2097
+ if (this.activeView != state.currView) {
2098
+ if (this.activeView == "genome") {
2099
+ this.genome.svg.remove();
2100
+ } else {
2101
+ this.plotDiv.xAxis.selectAll("*").remove();
2102
+ this.plotDiv.yAxis.selectAll("*").remove();
2103
+ this.plotDiv.plot.selectAll("*").remove();
2104
+ }
2105
+ this.activeView = state.currView;
2106
+ this.initView();
2107
+ } else {
2108
+ this[state.currView].update(this.data);
2109
+ }
2110
+ }
2111
+ this.infoBar.update();
2112
+ if (this.errList.length) {
2113
+ this.error(this.errList);
2114
+ this.app.dispatch({ type: "loading_active", active: false });
2115
+ }
2116
+ }
2117
+ };
2118
+ var viewCompInit = getCompInit(HicComponent);
2119
+
2120
+ // tracks/hic/HicApp.ts
2121
+ var HicApp = class _HicApp extends AppBase {
2122
+ constructor(opts) {
2123
+ super(opts);
2124
+ this.views = ["genome", "chrpair", "detail", "horizontal"];
2125
+ this.errList = [];
2126
+ /** Required for rx but not in use */
2127
+ this.wasDestroyed = false;
2128
+ this.type = _HicApp.type;
2129
+ this.hic = {
2130
+ enzyme: opts.enzyme,
2131
+ file: opts.file,
2132
+ url: opts.url,
2133
+ genome: opts.genome,
2134
+ holder: opts.holder,
2135
+ hostUrl: opts.hostUrl,
2136
+ jwt: opts.jwt,
2137
+ position1: opts.position1,
2138
+ position2: opts.position2,
2139
+ maxCutoffPercentile: opts.maxCutoffPercentile,
2140
+ name: "name" in opts ? opts.name : "Hi-C",
2141
+ tklist: "tklst" in opts ? opts.tklst : [],
2142
+ state: "state" in opts ? opts.state : {}
2143
+ };
2144
+ this.dom = {
2145
+ errorDiv: opts.holder.append("div").classed("sjpp-hic-error", true),
2146
+ controlsDiv: opts.holder.append("div").classed("sjpp-hic-controls", true).style("display", "inline-block"),
2147
+ infoBarDiv: opts.holder.append("div").classed("sjpp-hic-infobar", true).style("display", "inline-block").style("vertical-align", "top").style("padding", "5px").style("border", "solid 0.5px #ccc"),
2148
+ loadingDiv: select_default("body").append("div").attr("id", "sjpp-loading-overlay"),
2149
+ plotDiv: opts.holder.append("div").classed("sjpp-hic-main", true).style("display", "inline-block"),
2150
+ tip: new Menu()
2151
+ };
2152
+ }
2153
+ static {
2154
+ this.type = "app";
2155
+ }
2156
+ async error(err) {
2157
+ if (err && typeof err == "string") this.errList.push(err);
2158
+ showErrorsWithCounter(this.errList, this.dom.errorDiv);
2159
+ this.errList = [];
2160
+ }
2161
+ determineView() {
2162
+ if (!this.hic.position1 && !this.hic.position2 && !this.hic.state.currView) this.hic.state.currView = "genome";
2163
+ if (!this.hic.position1 && this.hic.position2) this.errList.push("Missing first position");
2164
+ if (this.hic.position1 && !this.hic.position2) this.errList.push("Missing second position");
2165
+ if (this.hic.position1 && this.hic.position2) {
2166
+ const pos1 = this.hic.position1.split(/[:-]/);
2167
+ const pos2 = this.hic.position2.split(/[:-]/);
2168
+ this.hic.state.x = { chr: pos1[0] };
2169
+ this.hic.state.y = { chr: pos2[0] };
2170
+ if (!Number.isNaN(+pos1[1]) && !Number.isNaN(+pos1[2])) {
2171
+ this.hic.state.x.start = +pos1[1];
2172
+ this.hic.state.x.stop = +pos1[2];
2173
+ this.hic.state.y.start = +pos2[1];
2174
+ this.hic.state.y.stop = +pos2[2];
2175
+ this.hic.state.currView = "detail";
2176
+ } else {
2177
+ this.hic.state.currView = "chrpair";
2178
+ }
2179
+ } else {
2180
+ if (!this.views.some((v) => v === this.hic.state.currView)) this.error(`Unknown view: ${this.hic.state.currView}`);
2181
+ else return this.hic.state.currView;
2182
+ }
2183
+ }
2184
+ getViewsConfig() {
2185
+ if (this.hic.maxCutoffPercentile) this.hic.state.maxCutoffPercentile = this.hic.maxCutoffPercentile;
2186
+ let nmeth;
2187
+ if (this.hic["normalization"]?.length > 0) {
2188
+ if (!this.hic["normalization"].includes("NONE")) this.hic["normalization"].unshift("NONE");
2189
+ nmeth = this.hic["normalization"][0];
2190
+ } else {
2191
+ nmeth = "NONE";
2192
+ }
2193
+ if (this.hic.state.currView) {
2194
+ if (!this.hic.state[this.hic.state.currView]) this.hic.state[this.hic.state.currView] = {};
2195
+ if (!this.hic.state[this.hic.state.currView]?.matrixType) {
2196
+ this.hic.state[this.hic.state.currView].matrixType = "observed";
2197
+ }
2198
+ if (!this.hic.state[this.hic.state.currView]?.nmeth) {
2199
+ this.hic.state[this.hic.state.currView].nmeth = nmeth;
2200
+ }
2201
+ }
2202
+ for (const v of this.views) {
2203
+ if (!this.hic.state[v]) {
2204
+ this.hic.state[v] = {
2205
+ matrixType: "observed",
2206
+ nmeth
2207
+ };
2208
+ }
2209
+ }
2210
+ }
2211
+ async init() {
2212
+ this.determineView();
2213
+ try {
2214
+ await hicParseFile(this.hic, true, this.errList);
2215
+ this.getViewsConfig();
2216
+ this.store = await hicStoreInit({ app: this.api, state: this.hic.state });
2217
+ this.state = await this.store.copyState();
2218
+ this.components = {
2219
+ loadingOverlay: await loadingInit({
2220
+ app: this.api,
2221
+ loadingDiv: this.dom.loadingDiv
2222
+ }),
2223
+ view: await viewCompInit({
2224
+ app: this.api,
2225
+ state: this.state,
2226
+ dom: this.dom,
2227
+ hic: this.hic,
2228
+ errList: this.errList,
2229
+ error: this.error
2230
+ })
2231
+ };
2232
+ await this.api.dispatch();
2233
+ } catch (e) {
2234
+ console.error(e.stack || e);
2235
+ }
2236
+ }
2237
+ main() {
2238
+ if (this.errList.length) {
2239
+ this.error(this.errList);
2240
+ this.dom.loadingDiv.style("display", "none");
2241
+ return;
2242
+ }
2243
+ }
2244
+ };
2245
+ var hicInit = getAppInit(HicApp);
2246
+ export {
2247
+ hicInit
2248
+ };
2249
+ //# sourceMappingURL=HicApp-53OTZ3YU.js.map