@sjcrh/proteinpaint-client 2.181.0 → 2.182.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 (950) hide show
  1. package/dist/2dmaf-SLBAWGPG.js +1371 -0
  2. package/dist/AIProjectAdmin-6SH5X3AF.js +830 -0
  3. package/dist/AppHeader-MVYNRMC7.js +833 -0
  4. package/dist/BoxPlot-HLGWW3IK.js +1295 -0
  5. package/dist/CorrelationVolcano-TZCYC3NI.js +617 -0
  6. package/dist/DE-2J2SK5UT.js +93 -0
  7. package/dist/DE-2J2SK5UT.js.map +7 -0
  8. package/dist/DEinput-QM3GOQHM.js +297 -0
  9. package/dist/DEinput-QM3GOQHM.js.map +7 -0
  10. package/dist/DifferentialAnalysis-DS7CQOT6.js +238 -0
  11. package/dist/Disco-U5I6NJUT.js +3199 -0
  12. package/dist/Disco.UI-J2B7GGEZ.js +242 -0
  13. package/dist/DmrPlot-D5W76QPY.js +640 -0
  14. package/dist/GB-LM5SGUG4.js +1125 -0
  15. package/dist/HicApp-YNBGAGKM.js +2248 -0
  16. package/dist/NumBinaryEditor-4QA5DQJT.js +268 -0
  17. package/dist/NumBinaryEditor-4QA5DQJT.js.map +7 -0
  18. package/dist/NumBinaryEditor.unit.spec-YWSIFTOJ.js +284 -0
  19. package/dist/NumContEditor-ZPLVZFLH.js +105 -0
  20. package/dist/NumContEditor.unit.spec-NBCFOCOX.js +167 -0
  21. package/dist/NumCustomBinEditor-TXEYRVPL.js +36 -0
  22. package/dist/NumCustomBinEditor.unit.spec-SQM63H4B.js +282 -0
  23. package/dist/NumDiscreteEditor-6C4OWX62.js +177 -0
  24. package/dist/NumDiscreteEditor-6C4OWX62.js.map +7 -0
  25. package/dist/NumDiscreteEditor.unit.spec-4HC4AGAM.js +200 -0
  26. package/dist/NumRegularBinEditor-VQAS3OXK.js +36 -0
  27. package/dist/NumRegularBinEditor.unit.spec-RGVEPB3Z.js +225 -0
  28. package/dist/NumSplineEditor-SXOJICHU.js +190 -0
  29. package/dist/NumSplineEditor-SXOJICHU.js.map +7 -0
  30. package/dist/NumSplineEditor.unit.spec-HF5E6ANH.js +197 -0
  31. package/dist/NumericDensity-LMLPMOSE.js +36 -0
  32. package/dist/NumericDensity.unit.spec-3ZI5EVON.js +219 -0
  33. package/dist/NumericHandler-Q6F6ANOS.js +37 -0
  34. package/dist/NumericHandler.unit.spec-E6Z5HUNZ.js +217 -0
  35. package/dist/RunChart2-XSNWNAIL.js +756 -0
  36. package/dist/SC-RA46YM57.js +733 -0
  37. package/dist/Volcano-75UDYPVB.js +1187 -0
  38. package/dist/WSIViewer-GYUUXCSJ.js +47933 -0
  39. package/dist/WsiSamplesPlot-KMI5S2EL.js +163 -0
  40. package/dist/adSandbox-JTK5XEQL.js +36 -0
  41. package/dist/alphaGenome-JRAV6WIY.js +173 -0
  42. package/dist/app-JKDZL23V.js +35 -0
  43. package/dist/app-OEARXM6E.js +47 -0
  44. package/dist/app.js +20 -20
  45. package/dist/bam-CYEPLBK4.js +857 -0
  46. package/dist/bam-CYEPLBK4.js.map +7 -0
  47. package/dist/barchart-GG5UFDG4.js +45 -0
  48. package/dist/barchart.data-KXA66FAL.js +22 -0
  49. package/dist/barchart.events-P2USOIR7.js +45 -0
  50. package/dist/barchart.integration.spec-5QSPQQLJ.js +1675 -0
  51. package/dist/block-6DVPQBSH.js +6200 -0
  52. package/dist/block-6DVPQBSH.js.map +7 -0
  53. package/dist/block.init-ZHX6DFWF.js +36 -0
  54. package/dist/block.mds.expressionrank-YMGYXXYT.js +357 -0
  55. package/dist/block.mds.geneboxplot-IAILQYX4.js +826 -0
  56. package/dist/block.mds.junction-BRNFNQMU.js +1543 -0
  57. package/dist/block.mds.svcnv-OHKC7YPO.js +6799 -0
  58. package/dist/block.svg-PNGK45HW.js +162 -0
  59. package/dist/block.tk.aicheck-SCIOJ4WN.js +281 -0
  60. package/dist/block.tk.ase-BABJ73GG.js +363 -0
  61. package/dist/block.tk.bam-LZWJ5BCQ.js +1904 -0
  62. package/dist/block.tk.bedgraphdot-7NQLC3XJ.js +382 -0
  63. package/dist/block.tk.bigwig.ui-VNY4SFD5.js +209 -0
  64. package/dist/block.tk.hicstraw-36A7VDRM.js +821 -0
  65. package/dist/block.tk.junction-D373YEMK.js +2362 -0
  66. package/dist/block.tk.junction.textmatrixui-FFII7J3X.js +197 -0
  67. package/dist/block.tk.ld-XGB6KMDO.js +97 -0
  68. package/dist/block.tk.menu-PEZANZBZ.js +1027 -0
  69. package/dist/block.tk.pgv-MU5BPTT2.js +942 -0
  70. package/dist/brainImaging-LVJON47N.js +421 -0
  71. package/dist/chat-5FDIAQJ4.js +148 -0
  72. package/dist/chunk-22NJUYET.js +281 -0
  73. package/dist/chunk-22NJUYET.js.map +7 -0
  74. package/dist/chunk-2J3566TA.js +215 -0
  75. package/dist/chunk-2J3566TA.js.map +7 -0
  76. package/dist/chunk-2OSEZCWZ.js +205 -0
  77. package/dist/chunk-5OHXYXLD.js +46 -0
  78. package/dist/chunk-5OHXYXLD.js.map +7 -0
  79. package/dist/chunk-6MSCYO7K.js +119 -0
  80. package/dist/chunk-7A7NMCQ3.js +534 -0
  81. package/dist/chunk-7FEHI46K.js +20456 -0
  82. package/dist/chunk-7FEHI46K.js.map +7 -0
  83. package/dist/chunk-AETE4F7R.js +252 -0
  84. package/dist/chunk-AZYDW5T7.js +441 -0
  85. package/dist/chunk-B6HCIAM3.js +34 -0
  86. package/dist/chunk-BEWDIM6H.js +42 -0
  87. package/dist/chunk-BEWDIM6H.js.map +7 -0
  88. package/dist/chunk-CCIZJAXB.js +2815 -0
  89. package/dist/chunk-DHZL3FBC.js +107 -0
  90. package/dist/chunk-DONWY7TP.js +39 -0
  91. package/dist/chunk-DVDDXOWT.js +815 -0
  92. package/dist/chunk-E6DRQJJT.js +480 -0
  93. package/dist/chunk-ESKU6LNC.js +36 -0
  94. package/dist/chunk-F6V4AYWP.js +177 -0
  95. package/dist/chunk-FBAJTPBU.js +302 -0
  96. package/dist/chunk-FGMPKWT5.js +371 -0
  97. package/dist/chunk-FK4MYVW2.js +261 -0
  98. package/dist/chunk-FMBJ4SKC.js +98 -0
  99. package/dist/chunk-FOEZG4VX.js +505 -0
  100. package/dist/chunk-FOEZG4VX.js.map +7 -0
  101. package/dist/chunk-FQRLSKJC.js +226 -0
  102. package/dist/chunk-G6ELKVBG.js +629 -0
  103. package/dist/chunk-GKK3CZ6H.js +4207 -0
  104. package/dist/chunk-GKK3CZ6H.js.map +7 -0
  105. package/dist/chunk-GO5SIPFE.js +194 -0
  106. package/dist/chunk-GPOECA3V.js +386 -0
  107. package/dist/chunk-GTOY3JJO.js +288 -0
  108. package/dist/chunk-GTOY3JJO.js.map +7 -0
  109. package/dist/chunk-GW7DHJYH.js +439 -0
  110. package/dist/chunk-H2D7EVUA.js +158 -0
  111. package/dist/chunk-H2D7EVUA.js.map +7 -0
  112. package/dist/chunk-H2K5KZP7.js +95 -0
  113. package/dist/chunk-H5XFH3FV.js +153 -0
  114. package/dist/chunk-HAMDFQIX.js +228 -0
  115. package/dist/chunk-HH4QLSTK.js +4952 -0
  116. package/dist/chunk-IBTPGSYI.js +526 -0
  117. package/dist/chunk-IGEQI6MR.js +1561 -0
  118. package/dist/chunk-IGEQI6MR.js.map +7 -0
  119. package/dist/chunk-IIRU6VK2.js +2672 -0
  120. package/dist/chunk-ILF2GKBY.js +1205 -0
  121. package/dist/chunk-ILF2GKBY.js.map +7 -0
  122. package/dist/chunk-IP4T477W.js +92 -0
  123. package/dist/chunk-IQIXGTQV.js +84 -0
  124. package/dist/chunk-IQIXGTQV.js.map +7 -0
  125. package/dist/chunk-IXT4U5CE.js +91 -0
  126. package/dist/chunk-IXT4U5CE.js.map +7 -0
  127. package/dist/chunk-JHOGX5VE.js +272 -0
  128. package/dist/chunk-JOXUBWN3.js +381 -0
  129. package/dist/chunk-K57RR3FD.js +142 -0
  130. package/dist/chunk-K6JLCMVL.js +129 -0
  131. package/dist/chunk-KSFSM46X.js +100 -0
  132. package/dist/chunk-KVG7FTTK.js +470 -0
  133. package/dist/chunk-LEDPPLQK.js +158 -0
  134. package/dist/chunk-LUTT3MBZ.js +1150 -0
  135. package/dist/chunk-MDL2HG3N.js +257 -0
  136. package/dist/chunk-MDL2HG3N.js.map +7 -0
  137. package/dist/chunk-MNRYCG2S.js +1271 -0
  138. package/dist/chunk-MNRYCG2S.js.map +7 -0
  139. package/dist/chunk-MPJHDHBA.js +2784 -0
  140. package/dist/chunk-MXI3NXRB.js +407 -0
  141. package/dist/chunk-MXI3NXRB.js.map +7 -0
  142. package/dist/chunk-O4PXELXF.js +615 -0
  143. package/dist/chunk-ORPCSG6T.js +14 -0
  144. package/dist/chunk-OUKDZKSZ.js +334 -0
  145. package/dist/chunk-P5HLYAHP.js +1087 -0
  146. package/dist/chunk-PIACSJPH.js +148 -0
  147. package/dist/chunk-PQABAAEZ.js +31 -0
  148. package/dist/chunk-PSMDCZET.js +46 -0
  149. package/dist/chunk-RFIVPTMS.js +217 -0
  150. package/dist/chunk-RSU37SVQ.js +54 -0
  151. package/dist/chunk-RTC4U4PH.js +2327 -0
  152. package/dist/chunk-RTC4U4PH.js.map +7 -0
  153. package/dist/chunk-RZ5JP44H.js +276 -0
  154. package/dist/chunk-RZ5JP44H.js.map +7 -0
  155. package/dist/chunk-SPAIFVM2.js +1155 -0
  156. package/dist/chunk-T2HYA2KL.js +55 -0
  157. package/dist/chunk-TCPU43TU.js +1741 -0
  158. package/dist/chunk-TCPU43TU.js.map +7 -0
  159. package/dist/chunk-TE3DK3A6.js +147 -0
  160. package/dist/chunk-TIQPSXFJ.js +237 -0
  161. package/dist/chunk-TN5GSG34.js +26 -0
  162. package/dist/chunk-UBGTQMOO.js +52 -0
  163. package/dist/chunk-UE5ZYM63.js +48 -0
  164. package/dist/chunk-UQACPOCM.js +102 -0
  165. package/dist/chunk-UR3C4SCH.js +446 -0
  166. package/dist/chunk-UWX7W22M.js +121 -0
  167. package/dist/chunk-VJ37HKM6.js +368 -0
  168. package/dist/chunk-VJ37HKM6.js.map +7 -0
  169. package/dist/chunk-VLTDUJRM.js +293 -0
  170. package/dist/chunk-W6UUEAEP.js +6364 -0
  171. package/dist/chunk-X6UPDFDX.js +229 -0
  172. package/dist/chunk-X6UPDFDX.js.map +7 -0
  173. package/dist/chunk-XD6BFNMR.js +172 -0
  174. package/dist/chunk-XD6BFNMR.js.map +7 -0
  175. package/dist/chunk-XOBD3EAM.js +1425 -0
  176. package/dist/chunk-XOBD3EAM.js.map +7 -0
  177. package/dist/chunk-Y3TDC7NU.js +170 -0
  178. package/dist/chunk-YOTWMCT5.js +824 -0
  179. package/dist/chunk-YUMPQ3CJ.js +203 -0
  180. package/dist/chunk-ZIBWLDQI.js +230 -0
  181. package/dist/chunk-ZIBWLDQI.js.map +7 -0
  182. package/dist/condition-VHP2L4GM.js +330 -0
  183. package/dist/controls-N5Q7U7JR.js +39 -0
  184. package/dist/controls.config-NJMW4SLR.js +37 -0
  185. package/dist/correlation-3LDASF5I.js +96 -0
  186. package/dist/cuminc-UWJ23W6C.js +1147 -0
  187. package/dist/cuminc.integration.spec-OZYYET3W.js +676 -0
  188. package/dist/customdata.inputui-2FVCVSE4.js +285 -0
  189. package/dist/dataDownload-4S4PE5HX.js +328 -0
  190. package/dist/dataDownload.integration.spec-B57LEKFZ.js +191 -0
  191. package/dist/databrowser.ui-N6GHEQ2P.js +419 -0
  192. package/dist/dictionary-UP46QRYZ.js +98 -0
  193. package/dist/dnaMethylation-BOGAUAWA.js +36 -0
  194. package/dist/dnaMethylation.integration.spec-UAHBJSSJ.js +179 -0
  195. package/dist/e2pca-L5EBQJNP.js +348 -0
  196. package/dist/ep-Z67ORKUX.js +1254 -0
  197. package/dist/expclust.gdc.spec-SP7VOL64.js +305 -0
  198. package/dist/facet-HDB4VDGU.js +519 -0
  199. package/dist/geneExpClustering-6ZPOLTDJ.js +246 -0
  200. package/dist/geneExpression-T6YIG4XQ.js +312 -0
  201. package/dist/geneExpression-T7QUHV5S.js +36 -0
  202. package/dist/geneExpression.unit.spec-DO52L5IB.js +100 -0
  203. package/dist/geneORA-KOUDUWUO.js +276 -0
  204. package/dist/geneVariant-FVR76F6I.js +39 -0
  205. package/dist/geneVariant-I5QUITKG.js +37 -0
  206. package/dist/geneVariant.integration.spec-D4IRM7B5.js +196 -0
  207. package/dist/genefusion.ui-35IYSZD7.js +249 -0
  208. package/dist/geneset-7ZHJ5KWK.js +194 -0
  209. package/dist/genomeBrowser.spec-VXASVLNH.js +279 -0
  210. package/dist/grin2-7NM56COO.js +1554 -0
  211. package/dist/grin2-IY26UUQI.js +1031 -0
  212. package/dist/gsea-TORO46C6.js +45 -0
  213. package/dist/hierCluster-3BKEGW6P.js +58 -0
  214. package/dist/hierCluster-HM3LOM6V.js +62 -0
  215. package/dist/hierCluster.config-LDO5IGQ5.js +38 -0
  216. package/dist/hierCluster.integration.spec-XO5R6CQT.js +374 -0
  217. package/dist/hierCluster.interactivity-NVQ6262K.js +52 -0
  218. package/dist/hierCluster.renderers-SWPPNBLU.js +21 -0
  219. package/dist/imagePlot-V4WLAPV6.js +139 -0
  220. package/dist/importPlot-NZKQEOX4.js +8 -0
  221. package/dist/isoformExpression-TIZBIGNL.js +38 -0
  222. package/dist/isoformExpression.unit.spec-WHH5LPFG.js +124 -0
  223. package/dist/isoformExpression.unit.spec-WHH5LPFG.js.map +7 -0
  224. package/dist/launch.adhoc-JYEN42NM.js +40 -0
  225. package/dist/leftlabel.sample-43DL3J3H.js +257 -0
  226. package/dist/legacyDataset-QRSNRVUA.js +119 -0
  227. package/dist/lollipop-NMWZ4FVF.js +166 -0
  228. package/dist/maf-DS3EOVGV.js +450 -0
  229. package/dist/maf-DS3EOVGV.js.map +7 -0
  230. package/dist/maftimeline-ZB2753S7.js +591 -0
  231. package/dist/matrix-RCGQWQ3C.js +57 -0
  232. package/dist/matrix-WTTEK4FT.js +62 -0
  233. package/dist/matrix.cells-UO5ASQ35.js +28 -0
  234. package/dist/matrix.config-3UQAT3QR.js +39 -0
  235. package/dist/matrix.controls-PRZ77K5L.js +37 -0
  236. package/dist/matrix.data-4W73RQ3H.js +25 -0
  237. package/dist/matrix.groups-5VMPI7SA.js +26 -0
  238. package/dist/matrix.integration.spec-2F5LDLC2.js +3070 -0
  239. package/dist/matrix.interactivity-MIPZ6ELV.js +40 -0
  240. package/dist/matrix.layout-EO5LVYRO.js +42 -0
  241. package/dist/matrix.legend-QBFBFEUG.js +22 -0
  242. package/dist/matrix.renderers-ERJXVCQL.js +36 -0
  243. package/dist/matrix.serieses-E23EPXHA.js +21 -0
  244. package/dist/matrix.sort-I4UGMEXR.js +27 -0
  245. package/dist/matrix.sort.unit.spec-CRGF6CSE.js +470 -0
  246. package/dist/matrix.sorterUi-YLSYTYLE.js +18 -0
  247. package/dist/matrix.sorterUi.unit.spec-ENG3ICOO.js +340 -0
  248. package/dist/mavb-5WR7OJHI.js +730 -0
  249. package/dist/mds.fimo-3ZRH7BBJ.js +516 -0
  250. package/dist/mds.samplescatterplot-RPXR2FVK.js +1548 -0
  251. package/dist/mds.survivalplot-WSSMYUZD.js +481 -0
  252. package/dist/oncomatrix-JKYPUJQR.js +293 -0
  253. package/dist/oncomatrix-JKYPUJQR.js.map +7 -0
  254. package/dist/oncomatrix.spec-OEGU4DYK.js +446 -0
  255. package/dist/plot.2dvaf-ZGARLQNK.js +375 -0
  256. package/dist/plot.app-TKUJH3LK.js +39 -0
  257. package/dist/plot.barplot-FEIPGDZ2.js +100 -0
  258. package/dist/plot.boxplot-6RASUMZB.js +150 -0
  259. package/dist/plot.brainImaging-ZJPFWX2W.js +51 -0
  260. package/dist/plot.disco-2KTKB3XX.js +101 -0
  261. package/dist/plot.dzi-PC34YI6Y.js +33 -0
  262. package/dist/plot.ssgq-Z4UNJKWO.js +137 -0
  263. package/dist/plot.vaf2cov-NZ4WULKT.js +257 -0
  264. package/dist/plot.wsi-YYXFAZWY.js +36 -0
  265. package/dist/polar-X2GPIBLB.js +184 -0
  266. package/dist/polar2-TZ553QQH.js +226 -0
  267. package/dist/profile.spec-VB6VMFLY.js +78 -0
  268. package/dist/profileBarchart-SKJSTC7B.js +265 -0
  269. package/dist/profileForms-RLOGSMAQ.js +438 -0
  270. package/dist/profilePlot-267ZS3RG.js +52 -0
  271. package/dist/profileRadar-KGOBHCSF.js +261 -0
  272. package/dist/profileRadarFacility-MCJKSHUM.js +261 -0
  273. package/dist/proteomeAbundance-JUYAYO5I.js +63 -0
  274. package/dist/proteomeAbundance-PGHZSVAF.js +19 -0
  275. package/dist/qualitative-3IECKKJM.js +41 -0
  276. package/dist/regression-J6FFRPXN.js +54 -0
  277. package/dist/regression.inputs-T7LWBSYZ.js +46 -0
  278. package/dist/regression.inputs.term-TT7PNX6G.js +46 -0
  279. package/dist/regression.inputs.values.table-SHFUNKCS.js +43 -0
  280. package/dist/regression.integration.spec-QKHMJTHA.js +784 -0
  281. package/dist/regression.results-D4WX6VIV.js +38 -0
  282. package/dist/regression.spec-7SW55L7X.js +706 -0
  283. package/dist/report-QYOZ4BRF.js +220 -0
  284. package/dist/sampleScatter.spec-JCHFMGNF.js +200 -0
  285. package/dist/sampleView-7RPKNAZC.js +46 -0
  286. package/dist/samplelst-4WNPHZVG.js +109 -0
  287. package/dist/samplematrix-CG52DSXJ.js +2196 -0
  288. package/dist/sc-OJSWILSA.js +84 -0
  289. package/dist/scatter-LG2RMMEC.js +800 -0
  290. package/dist/scatter.integration.spec-QPANYTKW.js +1194 -0
  291. package/dist/selectGenomeWithTklst-QXRVE6N4.js +132 -0
  292. package/dist/singleCellCellType-XBSRL33U.js +36 -0
  293. package/dist/singleCellCellType.unit.spec-YZX4CSXA.js +177 -0
  294. package/dist/singleCellGeneExpression-64ECP62X.js +36 -0
  295. package/dist/singleCellGeneExpression.unit.spec-CFHFXMA6.js +163 -0
  296. package/dist/singleCellPlot-E5F62JY6.js +51 -0
  297. package/dist/singlecell-FCY5EOUV.js +84 -0
  298. package/dist/singlecell-S7B5V7NK.js +1570 -0
  299. package/dist/snp-ACKX4GRX.js +36 -0
  300. package/dist/snp.unit.spec-QBGHKKUD.js +174 -0
  301. package/dist/snplocus-7EUOW7J7.js +206 -0
  302. package/dist/spliceevent.a53ss.diagram-ALQZA35Z.js +149 -0
  303. package/dist/spliceevent.exonskip.diagram-UF7WJA5R.js +275 -0
  304. package/dist/spliceevent.noeventdiagram-4HPGRNRR.js +458 -0
  305. package/dist/ssGSEA-FDRBBBLJ.js +36 -0
  306. package/dist/ssGSEA.unit.spec-EZEOWJVV.js +86 -0
  307. package/dist/summarizeCnvGeneexp-FTL2MGAJ.js +158 -0
  308. package/dist/summarizeGeneexpSurvival-DDIF4UW6.js +105 -0
  309. package/dist/summarizeMutationCnv-L3GL5YDY.js +159 -0
  310. package/dist/summarizeMutationDiagnosis-LALOJTHV.js +38 -0
  311. package/dist/summarizeMutationSurvival-TSNTSOBZ.js +97 -0
  312. package/dist/summary-YRHVS64T.js +47 -0
  313. package/dist/summary.integration.spec-766YQLQA.js +412 -0
  314. package/dist/summaryInput-VQ2X6GSX.js +218 -0
  315. package/dist/sunburst-XFOONS6K.js +282 -0
  316. package/dist/survival-FQXZH2MM.js +44 -0
  317. package/dist/survival-TVA3ZWVP.js +56 -0
  318. package/dist/survival.integration.spec-WFIOPD6A.js +787 -0
  319. package/dist/svgraph-4BFBO7EL.js +1385 -0
  320. package/dist/svmr-ML7GAIIA.js +3840 -0
  321. package/dist/table-SMLMUWPP.js +198 -0
  322. package/dist/termCollection-22CPTISZ.js +36 -0
  323. package/dist/termCollection-EE6AOIVA.js +177 -0
  324. package/dist/termCollection.unit.spec-4DIW3CJ3.js +206 -0
  325. package/dist/tk-ITZCKOQ5.js +44 -0
  326. package/dist/tp.ui-R6HVKCBC.js +1457 -0
  327. package/dist/tvs.density-AQ5GD437.js +18 -0
  328. package/dist/tvs.dt-2263TBEJ.js +37 -0
  329. package/dist/tvs.dtcnv.categorical-TRRHL33N.js +38 -0
  330. package/dist/tvs.dtcnv.continuous-GREYNF52.js +70 -0
  331. package/dist/tvs.dtfusion-XOX46L3M.js +38 -0
  332. package/dist/tvs.dtsnvindel-IDMXT53F.js +38 -0
  333. package/dist/tvs.dtsv-ZDWFYH2C.js +38 -0
  334. package/dist/tvs.numeric-ZN2R7BH3.js +21 -0
  335. package/dist/tvs.samplelst-GAP76HRH.js +102 -0
  336. package/dist/tvs.termCollection-GQ65UKSI.js +151 -0
  337. package/dist/violin-JGDL62YA.js +44 -0
  338. package/dist/violin.integration.spec-W4NN7LBY.js +1417 -0
  339. package/dist/violin.interactivity-H4RP4K5U.js +36 -0
  340. package/dist/violin.renderer-QPHLACDC.js +38 -0
  341. package/dist/vocabulary-7JACY4J2.js +39 -0
  342. package/package.json +2 -2
  343. package/dist/2dmaf-PFPBHIUI.js +0 -1371
  344. package/dist/AIProjectAdmin-H2GB5ZOX.js +0 -830
  345. package/dist/AppHeader-FCWML6WH.js +0 -833
  346. package/dist/BoxPlot-QKXGF76K.js +0 -1295
  347. package/dist/CorrelationVolcano-ZJ7Q6JBC.js +0 -617
  348. package/dist/DifferentialAnalysis-PWCFCWFY.js +0 -238
  349. package/dist/Disco-IE5JKIF2.js +0 -3199
  350. package/dist/Disco.UI-SR7LSJE3.js +0 -242
  351. package/dist/DmrPlot-UDY7GOSY.js +0 -640
  352. package/dist/GB-GNTOP5C6.js +0 -1125
  353. package/dist/HicApp-FZTJL3OA.js +0 -2248
  354. package/dist/NumBinaryEditor-R5QVG3C4.js +0 -266
  355. package/dist/NumBinaryEditor-R5QVG3C4.js.map +0 -7
  356. package/dist/NumBinaryEditor.unit.spec-BMVRI24W.js +0 -284
  357. package/dist/NumContEditor-6JT5D6IW.js +0 -105
  358. package/dist/NumContEditor.unit.spec-XBQF2SW6.js +0 -167
  359. package/dist/NumCustomBinEditor-MEKEFOQI.js +0 -36
  360. package/dist/NumCustomBinEditor.unit.spec-LEMQJHDT.js +0 -282
  361. package/dist/NumDiscreteEditor-U3N37XRQ.js +0 -170
  362. package/dist/NumDiscreteEditor-U3N37XRQ.js.map +0 -7
  363. package/dist/NumDiscreteEditor.unit.spec-WQM4DLKO.js +0 -200
  364. package/dist/NumRegularBinEditor-HQR5Y6P7.js +0 -36
  365. package/dist/NumRegularBinEditor.unit.spec-FL4IFT7L.js +0 -225
  366. package/dist/NumSplineEditor-OESWMWP5.js +0 -188
  367. package/dist/NumSplineEditor-OESWMWP5.js.map +0 -7
  368. package/dist/NumSplineEditor.unit.spec-HYOXO45B.js +0 -197
  369. package/dist/NumericDensity-GJZ4BBJS.js +0 -36
  370. package/dist/NumericDensity.unit.spec-6LXWAXW7.js +0 -219
  371. package/dist/NumericHandler-LZIMPOHS.js +0 -37
  372. package/dist/NumericHandler.unit.spec-ZSU35AMD.js +0 -217
  373. package/dist/RunChart2-7XV6TIFO.js +0 -756
  374. package/dist/SC-E4EYAG26.js +0 -733
  375. package/dist/Volcano-Z7TJK6PW.js +0 -1187
  376. package/dist/WSIViewer-ZH2XABLC.js +0 -47933
  377. package/dist/WsiSamplesPlot-BL47MDHQ.js +0 -163
  378. package/dist/adSandbox-V3NTKVBC.js +0 -36
  379. package/dist/alphaGenome-IQVFCSWQ.js +0 -173
  380. package/dist/app-GJLZ2G2U.js +0 -47
  381. package/dist/app-YSD2U64Q.js +0 -35
  382. package/dist/bam-TRIF3AIQ.js +0 -849
  383. package/dist/bam-TRIF3AIQ.js.map +0 -7
  384. package/dist/barchart-GLLUYTAJ.js +0 -45
  385. package/dist/barchart.data-FRYRGKH3.js +0 -22
  386. package/dist/barchart.events-WODVSHRN.js +0 -45
  387. package/dist/barchart.integration.spec-6POS3V3T.js +0 -1675
  388. package/dist/block-2QM37YSE.js +0 -6300
  389. package/dist/block-2QM37YSE.js.map +0 -7
  390. package/dist/block.init-7HDLKQVX.js +0 -36
  391. package/dist/block.mds.expressionrank-UIB25S6E.js +0 -357
  392. package/dist/block.mds.geneboxplot-4PQYO3MR.js +0 -826
  393. package/dist/block.mds.junction-DWFYZEC2.js +0 -1543
  394. package/dist/block.mds.svcnv-N3KJJ4GQ.js +0 -6799
  395. package/dist/block.svg-2HBDI7BT.js +0 -162
  396. package/dist/block.tk.aicheck-2M4522IQ.js +0 -281
  397. package/dist/block.tk.ase-URIKF6JD.js +0 -363
  398. package/dist/block.tk.bam-HTDMASHX.js +0 -1904
  399. package/dist/block.tk.bedgraphdot-RVKMSFCQ.js +0 -382
  400. package/dist/block.tk.bigwig.ui-7JPEOIKM.js +0 -209
  401. package/dist/block.tk.hicstraw-72J7UJ2J.js +0 -821
  402. package/dist/block.tk.junction-GGFMBCV5.js +0 -2362
  403. package/dist/block.tk.junction.textmatrixui-44SAYYWE.js +0 -197
  404. package/dist/block.tk.ld-XDKJFEOL.js +0 -97
  405. package/dist/block.tk.menu-46FOTM7H.js +0 -1027
  406. package/dist/block.tk.pgv-ZVONRT4B.js +0 -942
  407. package/dist/brainImaging-CSLO7ODJ.js +0 -421
  408. package/dist/chat-GMD22F3K.js +0 -148
  409. package/dist/chunk-22KWZOCN.js +0 -153
  410. package/dist/chunk-2K5DSRBJ.js +0 -84
  411. package/dist/chunk-2K5DSRBJ.js.map +0 -7
  412. package/dist/chunk-2NQ4TM74.js +0 -48
  413. package/dist/chunk-2TIYJ3PH.js +0 -815
  414. package/dist/chunk-2UWHV2SB.js +0 -261
  415. package/dist/chunk-2UWHV2SB.js.map +0 -7
  416. package/dist/chunk-3656ZY4T.js +0 -237
  417. package/dist/chunk-3TU6TRLQ.js +0 -98
  418. package/dist/chunk-4FJ5GS6P.js +0 -4202
  419. package/dist/chunk-4FJ5GS6P.js.map +0 -7
  420. package/dist/chunk-4FO7KZY2.js +0 -534
  421. package/dist/chunk-4OEOQX4L.js +0 -334
  422. package/dist/chunk-5HCB4HNL.js +0 -147
  423. package/dist/chunk-5ZICCKEH.js +0 -4952
  424. package/dist/chunk-6UU7VPDO.js +0 -272
  425. package/dist/chunk-6YLQN7FF.js +0 -441
  426. package/dist/chunk-74QJDBIP.js +0 -480
  427. package/dist/chunk-7FXPMQRW.js +0 -34
  428. package/dist/chunk-A2Y3GEUH.js +0 -228
  429. package/dist/chunk-AAEXTQT3.js +0 -330
  430. package/dist/chunk-AAEXTQT3.js.map +0 -7
  431. package/dist/chunk-AG6HVFQY.js +0 -504
  432. package/dist/chunk-AG6HVFQY.js.map +0 -7
  433. package/dist/chunk-AHLUW2BN.js +0 -129
  434. package/dist/chunk-AQ4OP4GR.js +0 -39
  435. package/dist/chunk-AYDXOUFX.js +0 -1275
  436. package/dist/chunk-AYDXOUFX.js.map +0 -7
  437. package/dist/chunk-BBIPZ2UF.js +0 -52
  438. package/dist/chunk-BBVOZ5BY.js +0 -230
  439. package/dist/chunk-BBVOZ5BY.js.map +0 -7
  440. package/dist/chunk-BHVDOW3W.js +0 -470
  441. package/dist/chunk-BNN32RI2.js +0 -36
  442. package/dist/chunk-BQLC6QOH.js +0 -368
  443. package/dist/chunk-BQLC6QOH.js.map +0 -7
  444. package/dist/chunk-C5QOWZK6.js +0 -629
  445. package/dist/chunk-CJJ6LDZM.js +0 -170
  446. package/dist/chunk-CJJ6LDZM.js.map +0 -7
  447. package/dist/chunk-D4U5X2QQ.js +0 -261
  448. package/dist/chunk-DV444SFD.js +0 -26
  449. package/dist/chunk-DWWAB4YQ.js +0 -102
  450. package/dist/chunk-FP5VKE3Z.js +0 -170
  451. package/dist/chunk-FVWCYGJL.js +0 -121
  452. package/dist/chunk-G2MAZI6I.js +0 -205
  453. package/dist/chunk-HLRNIO5K.js +0 -158
  454. package/dist/chunk-HTHH2B6D.js +0 -46
  455. package/dist/chunk-I7X6K4OL.js +0 -217
  456. package/dist/chunk-ITYEOGLB.js +0 -302
  457. package/dist/chunk-J6XKDYNZ.js +0 -276
  458. package/dist/chunk-J6XKDYNZ.js.map +0 -7
  459. package/dist/chunk-JDX4E7ZO.js +0 -381
  460. package/dist/chunk-JWX7GYHP.js +0 -95
  461. package/dist/chunk-KLFROH3F.js +0 -203
  462. package/dist/chunk-KQSN7PUK.js +0 -215
  463. package/dist/chunk-KQSN7PUK.js.map +0 -7
  464. package/dist/chunk-L2ED35QZ.js +0 -2815
  465. package/dist/chunk-L4QG7XZE.js +0 -46
  466. package/dist/chunk-L4QG7XZE.js.map +0 -7
  467. package/dist/chunk-LI7FE335.js +0 -371
  468. package/dist/chunk-LLPFFNLV.js +0 -526
  469. package/dist/chunk-LRV4VWRF.js +0 -94
  470. package/dist/chunk-LRV4VWRF.js.map +0 -7
  471. package/dist/chunk-M464GTNI.js +0 -615
  472. package/dist/chunk-MDN3K2BG.js +0 -229
  473. package/dist/chunk-MDN3K2BG.js.map +0 -7
  474. package/dist/chunk-N46WTUX7.js +0 -286
  475. package/dist/chunk-N46WTUX7.js.map +0 -7
  476. package/dist/chunk-NBMJ2UMA.js +0 -194
  477. package/dist/chunk-NI7VSKJI.js +0 -293
  478. package/dist/chunk-NTVM4ZPG.js +0 -2784
  479. package/dist/chunk-O64UTRAC.js +0 -252
  480. package/dist/chunk-OM326NV3.js +0 -100
  481. package/dist/chunk-P4ENJUBN.js +0 -386
  482. package/dist/chunk-PEKVBCIH.js +0 -824
  483. package/dist/chunk-PF6MKI4X.js +0 -92
  484. package/dist/chunk-PJTQP6RL.js +0 -54
  485. package/dist/chunk-PVSRVJBE.js +0 -1201
  486. package/dist/chunk-PVSRVJBE.js.map +0 -7
  487. package/dist/chunk-PZ3L3KM6.js +0 -55
  488. package/dist/chunk-QEHUEG4X.js +0 -1788
  489. package/dist/chunk-QEHUEG4X.js.map +0 -7
  490. package/dist/chunk-QXCVG66S.js +0 -2672
  491. package/dist/chunk-RIGZHHCP.js +0 -119
  492. package/dist/chunk-SEIANPCX.js +0 -142
  493. package/dist/chunk-SEQLC4AD.js +0 -177
  494. package/dist/chunk-SK7YVOQN.js +0 -148
  495. package/dist/chunk-SPPZB5ZQ.js +0 -158
  496. package/dist/chunk-SPPZB5ZQ.js.map +0 -7
  497. package/dist/chunk-T5KFRIP4.js +0 -1087
  498. package/dist/chunk-TTSNECVD.js +0 -1413
  499. package/dist/chunk-TTSNECVD.js.map +0 -7
  500. package/dist/chunk-TV74I3Y5.js +0 -43
  501. package/dist/chunk-TV74I3Y5.js.map +0 -7
  502. package/dist/chunk-TVXESYIR.js +0 -439
  503. package/dist/chunk-U3UR3U3F.js +0 -446
  504. package/dist/chunk-UFYU7AKL.js +0 -107
  505. package/dist/chunk-VIYGTRUZ.js +0 -6364
  506. package/dist/chunk-WCTH7CB3.js +0 -31
  507. package/dist/chunk-WGSWVYHY.js +0 -1155
  508. package/dist/chunk-WYZ4COTF.js +0 -226
  509. package/dist/chunk-WZRXJ5LL.js +0 -2370
  510. package/dist/chunk-WZRXJ5LL.js.map +0 -7
  511. package/dist/chunk-XZZLEHWC.js +0 -20328
  512. package/dist/chunk-XZZLEHWC.js.map +0 -7
  513. package/dist/chunk-Y7JAPSMG.js +0 -406
  514. package/dist/chunk-Y7JAPSMG.js.map +0 -7
  515. package/dist/chunk-YJ2HC4CP.js +0 -1150
  516. package/dist/chunk-ZLH4PJKX.js +0 -1658
  517. package/dist/chunk-ZLH4PJKX.js.map +0 -7
  518. package/dist/chunk-ZZSDYKD5.js +0 -14
  519. package/dist/condition-S52W57ZO.js +0 -330
  520. package/dist/controls-B4MTTPWO.js +0 -39
  521. package/dist/controls.config-6KBCTIPN.js +0 -37
  522. package/dist/correlation-VSBCBFFP.js +0 -96
  523. package/dist/cuminc-T5ZPAGVB.js +0 -1147
  524. package/dist/cuminc.integration.spec-2QT3IPHU.js +0 -676
  525. package/dist/customdata.inputui-5MHQQHJL.js +0 -285
  526. package/dist/dataDownload-S4EBNHMW.js +0 -328
  527. package/dist/dataDownload.integration.spec-OVSIWI34.js +0 -191
  528. package/dist/databrowser.ui-EAJS3NXV.js +0 -419
  529. package/dist/dictionary-CQHSMVYF.js +0 -98
  530. package/dist/dnaMethylation-G3F2INDH.js +0 -36
  531. package/dist/dnaMethylation.integration.spec-FWF4353K.js +0 -179
  532. package/dist/e2pca-SLXGPVHP.js +0 -348
  533. package/dist/ep-4HGUSDGJ.js +0 -1254
  534. package/dist/expclust.gdc.spec-JJ42ESKE.js +0 -305
  535. package/dist/facet-6WVTVKDV.js +0 -519
  536. package/dist/geneExpClustering-5LOZPD5X.js +0 -246
  537. package/dist/geneExpression-BJ46UGXW.js +0 -312
  538. package/dist/geneExpression-PTSZWKCM.js +0 -36
  539. package/dist/geneExpression.unit.spec-NW5HTO7F.js +0 -100
  540. package/dist/geneORA-H65EZ7QO.js +0 -276
  541. package/dist/geneVariant-T6GWOVZD.js +0 -39
  542. package/dist/geneVariant-WTDFZTXG.js +0 -37
  543. package/dist/geneVariant.integration.spec-OPSBRUM3.js +0 -196
  544. package/dist/genefusion.ui-RSBCC37C.js +0 -249
  545. package/dist/geneset-B67PAZVL.js +0 -194
  546. package/dist/genomeBrowser.spec-AUTULF4C.js +0 -279
  547. package/dist/grin2-CMBP7XVH.js +0 -1031
  548. package/dist/grin2-JVCNH3KW.js +0 -1554
  549. package/dist/gsea-H774WVPQ.js +0 -45
  550. package/dist/hierCluster-IQTXQUMI.js +0 -58
  551. package/dist/hierCluster-ZQJDXYBD.js +0 -62
  552. package/dist/hierCluster.config-ZHJTZK5L.js +0 -38
  553. package/dist/hierCluster.integration.spec-MSJ5GHHK.js +0 -374
  554. package/dist/hierCluster.interactivity-H2GNO6AA.js +0 -52
  555. package/dist/hierCluster.renderers-2TE6HMK2.js +0 -21
  556. package/dist/imagePlot-FMNMB7JZ.js +0 -139
  557. package/dist/importPlot-N66G43XX.js +0 -8
  558. package/dist/isoformExpression-B64WLO3H.js +0 -38
  559. package/dist/isoformExpression.unit.spec-D2R6CRKO.js +0 -126
  560. package/dist/isoformExpression.unit.spec-D2R6CRKO.js.map +0 -7
  561. package/dist/launch.adhoc-MPRAJ3GN.js +0 -40
  562. package/dist/leftlabel.sample-4JCKYXED.js +0 -257
  563. package/dist/legacyDataset-PBCPC5I7.js +0 -119
  564. package/dist/lollipop-25ADHT7O.js +0 -166
  565. package/dist/maf-POYTGXT4.js +0 -442
  566. package/dist/maf-POYTGXT4.js.map +0 -7
  567. package/dist/maftimeline-FOQF6O3X.js +0 -591
  568. package/dist/matrix-LHLAYDTQ.js +0 -57
  569. package/dist/matrix-ZKF7NRAD.js +0 -62
  570. package/dist/matrix.cells-H4TS74FJ.js +0 -28
  571. package/dist/matrix.config-HE7QUDER.js +0 -39
  572. package/dist/matrix.controls-VILCLNSC.js +0 -37
  573. package/dist/matrix.data-2OUWYD35.js +0 -25
  574. package/dist/matrix.groups-5BGJIOOJ.js +0 -26
  575. package/dist/matrix.integration.spec-DSXZHAEY.js +0 -3070
  576. package/dist/matrix.interactivity-VK3NWX5M.js +0 -40
  577. package/dist/matrix.layout-PUNMMNCC.js +0 -42
  578. package/dist/matrix.legend-QMERGVYU.js +0 -22
  579. package/dist/matrix.renderers-2KQ2NXSQ.js +0 -36
  580. package/dist/matrix.serieses-24G3XPJD.js +0 -21
  581. package/dist/matrix.sort-HTVT4K7C.js +0 -27
  582. package/dist/matrix.sort.unit.spec-EUVL76NB.js +0 -470
  583. package/dist/matrix.sorterUi-PJPFXWOJ.js +0 -18
  584. package/dist/matrix.sorterUi.unit.spec-QWL5Y4DQ.js +0 -340
  585. package/dist/mavb-UGM5SHEF.js +0 -730
  586. package/dist/mds.fimo-64US7RTE.js +0 -516
  587. package/dist/mds.samplescatterplot-JMXLXVIE.js +0 -1548
  588. package/dist/mds.survivalplot-RJ5UD3IU.js +0 -481
  589. package/dist/oncomatrix-ZFT3DRAP.js +0 -293
  590. package/dist/oncomatrix-ZFT3DRAP.js.map +0 -7
  591. package/dist/oncomatrix.spec-4YLKDGFE.js +0 -446
  592. package/dist/plot.2dvaf-DYSU6BBN.js +0 -375
  593. package/dist/plot.app-NFBVLAXZ.js +0 -39
  594. package/dist/plot.barplot-DBGTDK7J.js +0 -100
  595. package/dist/plot.boxplot-MCKZUROP.js +0 -150
  596. package/dist/plot.brainImaging-BBAVUEB4.js +0 -51
  597. package/dist/plot.disco-VGOEQYRL.js +0 -101
  598. package/dist/plot.dzi-YQIFOTZQ.js +0 -33
  599. package/dist/plot.ssgq-MU3BRTMC.js +0 -137
  600. package/dist/plot.vaf2cov-KDHZ7JXJ.js +0 -257
  601. package/dist/plot.wsi-G2TUGQF7.js +0 -36
  602. package/dist/polar-RCCZXZIU.js +0 -184
  603. package/dist/polar2-COQ3WIGW.js +0 -226
  604. package/dist/profile.spec-A4ZASR2T.js +0 -78
  605. package/dist/profileBarchart-GB4RK5DF.js +0 -265
  606. package/dist/profileForms-O5KBHRF6.js +0 -438
  607. package/dist/profilePlot-COCLCP5B.js +0 -52
  608. package/dist/profileRadar-4EE3YDOH.js +0 -261
  609. package/dist/profileRadarFacility-JYTSGA5H.js +0 -261
  610. package/dist/proteomeAbundance-JBVXUSD6.js +0 -19
  611. package/dist/proteomeAbundance-NQVU4DOW.js +0 -63
  612. package/dist/qualitative-QROOPDSI.js +0 -41
  613. package/dist/regression-7FQZ22OO.js +0 -54
  614. package/dist/regression.inputs-F62CES3A.js +0 -46
  615. package/dist/regression.inputs.term-BCGP7PX4.js +0 -46
  616. package/dist/regression.inputs.values.table-D3ZXZSH7.js +0 -43
  617. package/dist/regression.integration.spec-P2BBTT2O.js +0 -784
  618. package/dist/regression.results-JX6RJQQP.js +0 -38
  619. package/dist/regression.spec-ROME7T33.js +0 -706
  620. package/dist/report-B6MM4T6B.js +0 -220
  621. package/dist/sampleScatter.spec-EPCMC3SR.js +0 -200
  622. package/dist/sampleView-77EAJ75T.js +0 -46
  623. package/dist/samplelst-CX4NQWA7.js +0 -109
  624. package/dist/samplematrix-PYQFAH64.js +0 -2196
  625. package/dist/sc-X6SI5VVI.js +0 -84
  626. package/dist/scatter-ZFFHAI4F.js +0 -800
  627. package/dist/scatter.integration.spec-NN43OXRN.js +0 -1194
  628. package/dist/selectGenomeWithTklst-CZMVTBMD.js +0 -132
  629. package/dist/singleCellCellType-GOBX7JKV.js +0 -36
  630. package/dist/singleCellCellType.unit.spec-F344QMTQ.js +0 -177
  631. package/dist/singleCellGeneExpression-BLMNMEAI.js +0 -36
  632. package/dist/singleCellGeneExpression.unit.spec-6ZEPUFWC.js +0 -163
  633. package/dist/singleCellPlot-HLD7PLQH.js +0 -51
  634. package/dist/singlecell-HL4GLGIA.js +0 -1570
  635. package/dist/singlecell-JQFPINRS.js +0 -84
  636. package/dist/snp-EAUNFDAV.js +0 -36
  637. package/dist/snp.unit.spec-AVLPMAWI.js +0 -174
  638. package/dist/snplocus-2J7OA6OL.js +0 -206
  639. package/dist/spliceevent.a53ss.diagram-4DU2U7NW.js +0 -149
  640. package/dist/spliceevent.exonskip.diagram-GG5FGXOK.js +0 -275
  641. package/dist/spliceevent.noeventdiagram-T6RNIMCM.js +0 -458
  642. package/dist/ssGSEA-XJWLRVFQ.js +0 -36
  643. package/dist/ssGSEA.unit.spec-MQ23ODYO.js +0 -86
  644. package/dist/summarizeCnvGeneexp-CJPC76RM.js +0 -158
  645. package/dist/summarizeGeneexpSurvival-FGCFZTVG.js +0 -105
  646. package/dist/summarizeMutationCnv-4E7R2NHQ.js +0 -159
  647. package/dist/summarizeMutationDiagnosis-ZVX7AZK7.js +0 -38
  648. package/dist/summarizeMutationSurvival-EWXD7TCT.js +0 -97
  649. package/dist/summary-VUYBKQOC.js +0 -47
  650. package/dist/summary.integration.spec-EPBV5XCT.js +0 -412
  651. package/dist/summaryInput-YX5IRGWM.js +0 -218
  652. package/dist/sunburst-HPDML45I.js +0 -282
  653. package/dist/survival-E6SRRXBB.js +0 -44
  654. package/dist/survival-XOXDPXZR.js +0 -56
  655. package/dist/survival.integration.spec-SJBPJZGJ.js +0 -787
  656. package/dist/svgraph-D23WG3UE.js +0 -1385
  657. package/dist/svmr-UFC4TKWV.js +0 -3840
  658. package/dist/table-US2K6IYZ.js +0 -198
  659. package/dist/termCollection-E7S57CIN.js +0 -177
  660. package/dist/termCollection-ZMP3VE2G.js +0 -36
  661. package/dist/termCollection.unit.spec-MDWK6XH3.js +0 -206
  662. package/dist/tk-TLQJK6R4.js +0 -44
  663. package/dist/tp.ui-NQEAKWUH.js +0 -1457
  664. package/dist/tvs.density-HSVPDDGA.js +0 -18
  665. package/dist/tvs.dt-U2MINIBH.js +0 -37
  666. package/dist/tvs.dtcnv.categorical-2OOAZJKC.js +0 -38
  667. package/dist/tvs.dtcnv.continuous-5ETKBJ52.js +0 -70
  668. package/dist/tvs.dtfusion-EB4PPR3Y.js +0 -38
  669. package/dist/tvs.dtsnvindel-IRQPTKQF.js +0 -38
  670. package/dist/tvs.dtsv-TOVXZJCR.js +0 -38
  671. package/dist/tvs.numeric-ICUGA4WY.js +0 -21
  672. package/dist/tvs.samplelst-4SCH543Y.js +0 -102
  673. package/dist/tvs.termCollection-GGN5F6HC.js +0 -151
  674. package/dist/violin-7D7DN74I.js +0 -44
  675. package/dist/violin.integration.spec-KE76AL54.js +0 -1417
  676. package/dist/violin.interactivity-YPJ2H6SQ.js +0 -36
  677. package/dist/violin.renderer-UK7WSA2Z.js +0 -38
  678. package/dist/vocabulary-KLWZ6LRP.js +0 -39
  679. /package/dist/{2dmaf-PFPBHIUI.js.map → 2dmaf-SLBAWGPG.js.map} +0 -0
  680. /package/dist/{AIProjectAdmin-H2GB5ZOX.js.map → AIProjectAdmin-6SH5X3AF.js.map} +0 -0
  681. /package/dist/{AppHeader-FCWML6WH.js.map → AppHeader-MVYNRMC7.js.map} +0 -0
  682. /package/dist/{BoxPlot-QKXGF76K.js.map → BoxPlot-HLGWW3IK.js.map} +0 -0
  683. /package/dist/{CorrelationVolcano-ZJ7Q6JBC.js.map → CorrelationVolcano-TZCYC3NI.js.map} +0 -0
  684. /package/dist/{DifferentialAnalysis-PWCFCWFY.js.map → DifferentialAnalysis-DS7CQOT6.js.map} +0 -0
  685. /package/dist/{Disco-IE5JKIF2.js.map → Disco-U5I6NJUT.js.map} +0 -0
  686. /package/dist/{Disco.UI-SR7LSJE3.js.map → Disco.UI-J2B7GGEZ.js.map} +0 -0
  687. /package/dist/{DmrPlot-UDY7GOSY.js.map → DmrPlot-D5W76QPY.js.map} +0 -0
  688. /package/dist/{GB-GNTOP5C6.js.map → GB-LM5SGUG4.js.map} +0 -0
  689. /package/dist/{HicApp-FZTJL3OA.js.map → HicApp-YNBGAGKM.js.map} +0 -0
  690. /package/dist/{NumBinaryEditor.unit.spec-BMVRI24W.js.map → NumBinaryEditor.unit.spec-YWSIFTOJ.js.map} +0 -0
  691. /package/dist/{NumContEditor-6JT5D6IW.js.map → NumContEditor-ZPLVZFLH.js.map} +0 -0
  692. /package/dist/{NumContEditor.unit.spec-XBQF2SW6.js.map → NumContEditor.unit.spec-NBCFOCOX.js.map} +0 -0
  693. /package/dist/{NumCustomBinEditor-MEKEFOQI.js.map → NumCustomBinEditor-TXEYRVPL.js.map} +0 -0
  694. /package/dist/{NumCustomBinEditor.unit.spec-LEMQJHDT.js.map → NumCustomBinEditor.unit.spec-SQM63H4B.js.map} +0 -0
  695. /package/dist/{NumDiscreteEditor.unit.spec-WQM4DLKO.js.map → NumDiscreteEditor.unit.spec-4HC4AGAM.js.map} +0 -0
  696. /package/dist/{NumRegularBinEditor-HQR5Y6P7.js.map → NumRegularBinEditor-VQAS3OXK.js.map} +0 -0
  697. /package/dist/{NumRegularBinEditor.unit.spec-FL4IFT7L.js.map → NumRegularBinEditor.unit.spec-RGVEPB3Z.js.map} +0 -0
  698. /package/dist/{NumSplineEditor.unit.spec-HYOXO45B.js.map → NumSplineEditor.unit.spec-HF5E6ANH.js.map} +0 -0
  699. /package/dist/{NumericDensity-GJZ4BBJS.js.map → NumericDensity-LMLPMOSE.js.map} +0 -0
  700. /package/dist/{NumericDensity.unit.spec-6LXWAXW7.js.map → NumericDensity.unit.spec-3ZI5EVON.js.map} +0 -0
  701. /package/dist/{NumericHandler-LZIMPOHS.js.map → NumericHandler-Q6F6ANOS.js.map} +0 -0
  702. /package/dist/{NumericHandler.unit.spec-ZSU35AMD.js.map → NumericHandler.unit.spec-E6Z5HUNZ.js.map} +0 -0
  703. /package/dist/{RunChart2-7XV6TIFO.js.map → RunChart2-XSNWNAIL.js.map} +0 -0
  704. /package/dist/{SC-E4EYAG26.js.map → SC-RA46YM57.js.map} +0 -0
  705. /package/dist/{Volcano-Z7TJK6PW.js.map → Volcano-75UDYPVB.js.map} +0 -0
  706. /package/dist/{WSIViewer-ZH2XABLC.js.map → WSIViewer-GYUUXCSJ.js.map} +0 -0
  707. /package/dist/{WsiSamplesPlot-BL47MDHQ.js.map → WsiSamplesPlot-KMI5S2EL.js.map} +0 -0
  708. /package/dist/{adSandbox-V3NTKVBC.js.map → adSandbox-JTK5XEQL.js.map} +0 -0
  709. /package/dist/{alphaGenome-IQVFCSWQ.js.map → alphaGenome-JRAV6WIY.js.map} +0 -0
  710. /package/dist/{app-GJLZ2G2U.js.map → app-JKDZL23V.js.map} +0 -0
  711. /package/dist/{app-YSD2U64Q.js.map → app-OEARXM6E.js.map} +0 -0
  712. /package/dist/{barchart-GLLUYTAJ.js.map → barchart-GG5UFDG4.js.map} +0 -0
  713. /package/dist/{barchart.data-FRYRGKH3.js.map → barchart.data-KXA66FAL.js.map} +0 -0
  714. /package/dist/{barchart.events-WODVSHRN.js.map → barchart.events-P2USOIR7.js.map} +0 -0
  715. /package/dist/{barchart.integration.spec-6POS3V3T.js.map → barchart.integration.spec-5QSPQQLJ.js.map} +0 -0
  716. /package/dist/{block.init-7HDLKQVX.js.map → block.init-ZHX6DFWF.js.map} +0 -0
  717. /package/dist/{block.mds.expressionrank-UIB25S6E.js.map → block.mds.expressionrank-YMGYXXYT.js.map} +0 -0
  718. /package/dist/{block.mds.geneboxplot-4PQYO3MR.js.map → block.mds.geneboxplot-IAILQYX4.js.map} +0 -0
  719. /package/dist/{block.mds.junction-DWFYZEC2.js.map → block.mds.junction-BRNFNQMU.js.map} +0 -0
  720. /package/dist/{block.mds.svcnv-N3KJJ4GQ.js.map → block.mds.svcnv-OHKC7YPO.js.map} +0 -0
  721. /package/dist/{block.svg-2HBDI7BT.js.map → block.svg-PNGK45HW.js.map} +0 -0
  722. /package/dist/{block.tk.aicheck-2M4522IQ.js.map → block.tk.aicheck-SCIOJ4WN.js.map} +0 -0
  723. /package/dist/{block.tk.ase-URIKF6JD.js.map → block.tk.ase-BABJ73GG.js.map} +0 -0
  724. /package/dist/{block.tk.bam-HTDMASHX.js.map → block.tk.bam-LZWJ5BCQ.js.map} +0 -0
  725. /package/dist/{block.tk.bedgraphdot-RVKMSFCQ.js.map → block.tk.bedgraphdot-7NQLC3XJ.js.map} +0 -0
  726. /package/dist/{block.tk.bigwig.ui-7JPEOIKM.js.map → block.tk.bigwig.ui-VNY4SFD5.js.map} +0 -0
  727. /package/dist/{block.tk.hicstraw-72J7UJ2J.js.map → block.tk.hicstraw-36A7VDRM.js.map} +0 -0
  728. /package/dist/{block.tk.junction-GGFMBCV5.js.map → block.tk.junction-D373YEMK.js.map} +0 -0
  729. /package/dist/{block.tk.junction.textmatrixui-44SAYYWE.js.map → block.tk.junction.textmatrixui-FFII7J3X.js.map} +0 -0
  730. /package/dist/{block.tk.ld-XDKJFEOL.js.map → block.tk.ld-XGB6KMDO.js.map} +0 -0
  731. /package/dist/{block.tk.menu-46FOTM7H.js.map → block.tk.menu-PEZANZBZ.js.map} +0 -0
  732. /package/dist/{block.tk.pgv-ZVONRT4B.js.map → block.tk.pgv-MU5BPTT2.js.map} +0 -0
  733. /package/dist/{brainImaging-CSLO7ODJ.js.map → brainImaging-LVJON47N.js.map} +0 -0
  734. /package/dist/{chat-GMD22F3K.js.map → chat-5FDIAQJ4.js.map} +0 -0
  735. /package/dist/{chunk-G2MAZI6I.js.map → chunk-2OSEZCWZ.js.map} +0 -0
  736. /package/dist/{chunk-RIGZHHCP.js.map → chunk-6MSCYO7K.js.map} +0 -0
  737. /package/dist/{chunk-4FO7KZY2.js.map → chunk-7A7NMCQ3.js.map} +0 -0
  738. /package/dist/{chunk-O64UTRAC.js.map → chunk-AETE4F7R.js.map} +0 -0
  739. /package/dist/{chunk-6YLQN7FF.js.map → chunk-AZYDW5T7.js.map} +0 -0
  740. /package/dist/{chunk-7FXPMQRW.js.map → chunk-B6HCIAM3.js.map} +0 -0
  741. /package/dist/{chunk-L2ED35QZ.js.map → chunk-CCIZJAXB.js.map} +0 -0
  742. /package/dist/{chunk-UFYU7AKL.js.map → chunk-DHZL3FBC.js.map} +0 -0
  743. /package/dist/{chunk-AQ4OP4GR.js.map → chunk-DONWY7TP.js.map} +0 -0
  744. /package/dist/{chunk-2TIYJ3PH.js.map → chunk-DVDDXOWT.js.map} +0 -0
  745. /package/dist/{chunk-74QJDBIP.js.map → chunk-E6DRQJJT.js.map} +0 -0
  746. /package/dist/{chunk-BNN32RI2.js.map → chunk-ESKU6LNC.js.map} +0 -0
  747. /package/dist/{chunk-SEQLC4AD.js.map → chunk-F6V4AYWP.js.map} +0 -0
  748. /package/dist/{chunk-ITYEOGLB.js.map → chunk-FBAJTPBU.js.map} +0 -0
  749. /package/dist/{chunk-LI7FE335.js.map → chunk-FGMPKWT5.js.map} +0 -0
  750. /package/dist/{chunk-D4U5X2QQ.js.map → chunk-FK4MYVW2.js.map} +0 -0
  751. /package/dist/{chunk-3TU6TRLQ.js.map → chunk-FMBJ4SKC.js.map} +0 -0
  752. /package/dist/{chunk-WYZ4COTF.js.map → chunk-FQRLSKJC.js.map} +0 -0
  753. /package/dist/{chunk-C5QOWZK6.js.map → chunk-G6ELKVBG.js.map} +0 -0
  754. /package/dist/{chunk-NBMJ2UMA.js.map → chunk-GO5SIPFE.js.map} +0 -0
  755. /package/dist/{chunk-P4ENJUBN.js.map → chunk-GPOECA3V.js.map} +0 -0
  756. /package/dist/{chunk-TVXESYIR.js.map → chunk-GW7DHJYH.js.map} +0 -0
  757. /package/dist/{chunk-JWX7GYHP.js.map → chunk-H2K5KZP7.js.map} +0 -0
  758. /package/dist/{chunk-22KWZOCN.js.map → chunk-H5XFH3FV.js.map} +0 -0
  759. /package/dist/{chunk-A2Y3GEUH.js.map → chunk-HAMDFQIX.js.map} +0 -0
  760. /package/dist/{chunk-5ZICCKEH.js.map → chunk-HH4QLSTK.js.map} +0 -0
  761. /package/dist/{chunk-LLPFFNLV.js.map → chunk-IBTPGSYI.js.map} +0 -0
  762. /package/dist/{chunk-QXCVG66S.js.map → chunk-IIRU6VK2.js.map} +0 -0
  763. /package/dist/{chunk-PF6MKI4X.js.map → chunk-IP4T477W.js.map} +0 -0
  764. /package/dist/{chunk-6UU7VPDO.js.map → chunk-JHOGX5VE.js.map} +0 -0
  765. /package/dist/{chunk-JDX4E7ZO.js.map → chunk-JOXUBWN3.js.map} +0 -0
  766. /package/dist/{chunk-SEIANPCX.js.map → chunk-K57RR3FD.js.map} +0 -0
  767. /package/dist/{chunk-AHLUW2BN.js.map → chunk-K6JLCMVL.js.map} +0 -0
  768. /package/dist/{chunk-OM326NV3.js.map → chunk-KSFSM46X.js.map} +0 -0
  769. /package/dist/{chunk-BHVDOW3W.js.map → chunk-KVG7FTTK.js.map} +0 -0
  770. /package/dist/{chunk-HLRNIO5K.js.map → chunk-LEDPPLQK.js.map} +0 -0
  771. /package/dist/{chunk-YJ2HC4CP.js.map → chunk-LUTT3MBZ.js.map} +0 -0
  772. /package/dist/{chunk-NTVM4ZPG.js.map → chunk-MPJHDHBA.js.map} +0 -0
  773. /package/dist/{chunk-M464GTNI.js.map → chunk-O4PXELXF.js.map} +0 -0
  774. /package/dist/{chunk-ZZSDYKD5.js.map → chunk-ORPCSG6T.js.map} +0 -0
  775. /package/dist/{chunk-4OEOQX4L.js.map → chunk-OUKDZKSZ.js.map} +0 -0
  776. /package/dist/{chunk-T5KFRIP4.js.map → chunk-P5HLYAHP.js.map} +0 -0
  777. /package/dist/{chunk-SK7YVOQN.js.map → chunk-PIACSJPH.js.map} +0 -0
  778. /package/dist/{chunk-WCTH7CB3.js.map → chunk-PQABAAEZ.js.map} +0 -0
  779. /package/dist/{chunk-HTHH2B6D.js.map → chunk-PSMDCZET.js.map} +0 -0
  780. /package/dist/{chunk-I7X6K4OL.js.map → chunk-RFIVPTMS.js.map} +0 -0
  781. /package/dist/{chunk-PJTQP6RL.js.map → chunk-RSU37SVQ.js.map} +0 -0
  782. /package/dist/{chunk-WGSWVYHY.js.map → chunk-SPAIFVM2.js.map} +0 -0
  783. /package/dist/{chunk-PZ3L3KM6.js.map → chunk-T2HYA2KL.js.map} +0 -0
  784. /package/dist/{chunk-5HCB4HNL.js.map → chunk-TE3DK3A6.js.map} +0 -0
  785. /package/dist/{chunk-3656ZY4T.js.map → chunk-TIQPSXFJ.js.map} +0 -0
  786. /package/dist/{chunk-DV444SFD.js.map → chunk-TN5GSG34.js.map} +0 -0
  787. /package/dist/{chunk-BBIPZ2UF.js.map → chunk-UBGTQMOO.js.map} +0 -0
  788. /package/dist/{chunk-2NQ4TM74.js.map → chunk-UE5ZYM63.js.map} +0 -0
  789. /package/dist/{chunk-DWWAB4YQ.js.map → chunk-UQACPOCM.js.map} +0 -0
  790. /package/dist/{chunk-U3UR3U3F.js.map → chunk-UR3C4SCH.js.map} +0 -0
  791. /package/dist/{chunk-FVWCYGJL.js.map → chunk-UWX7W22M.js.map} +0 -0
  792. /package/dist/{chunk-NI7VSKJI.js.map → chunk-VLTDUJRM.js.map} +0 -0
  793. /package/dist/{chunk-VIYGTRUZ.js.map → chunk-W6UUEAEP.js.map} +0 -0
  794. /package/dist/{chunk-FP5VKE3Z.js.map → chunk-Y3TDC7NU.js.map} +0 -0
  795. /package/dist/{chunk-PEKVBCIH.js.map → chunk-YOTWMCT5.js.map} +0 -0
  796. /package/dist/{chunk-KLFROH3F.js.map → chunk-YUMPQ3CJ.js.map} +0 -0
  797. /package/dist/{condition-S52W57ZO.js.map → condition-VHP2L4GM.js.map} +0 -0
  798. /package/dist/{controls-B4MTTPWO.js.map → controls-N5Q7U7JR.js.map} +0 -0
  799. /package/dist/{controls.config-6KBCTIPN.js.map → controls.config-NJMW4SLR.js.map} +0 -0
  800. /package/dist/{correlation-VSBCBFFP.js.map → correlation-3LDASF5I.js.map} +0 -0
  801. /package/dist/{cuminc-T5ZPAGVB.js.map → cuminc-UWJ23W6C.js.map} +0 -0
  802. /package/dist/{cuminc.integration.spec-2QT3IPHU.js.map → cuminc.integration.spec-OZYYET3W.js.map} +0 -0
  803. /package/dist/{customdata.inputui-5MHQQHJL.js.map → customdata.inputui-2FVCVSE4.js.map} +0 -0
  804. /package/dist/{dataDownload-S4EBNHMW.js.map → dataDownload-4S4PE5HX.js.map} +0 -0
  805. /package/dist/{dataDownload.integration.spec-OVSIWI34.js.map → dataDownload.integration.spec-B57LEKFZ.js.map} +0 -0
  806. /package/dist/{databrowser.ui-EAJS3NXV.js.map → databrowser.ui-N6GHEQ2P.js.map} +0 -0
  807. /package/dist/{dictionary-CQHSMVYF.js.map → dictionary-UP46QRYZ.js.map} +0 -0
  808. /package/dist/{dnaMethylation-G3F2INDH.js.map → dnaMethylation-BOGAUAWA.js.map} +0 -0
  809. /package/dist/{dnaMethylation.integration.spec-FWF4353K.js.map → dnaMethylation.integration.spec-UAHBJSSJ.js.map} +0 -0
  810. /package/dist/{e2pca-SLXGPVHP.js.map → e2pca-L5EBQJNP.js.map} +0 -0
  811. /package/dist/{ep-4HGUSDGJ.js.map → ep-Z67ORKUX.js.map} +0 -0
  812. /package/dist/{expclust.gdc.spec-JJ42ESKE.js.map → expclust.gdc.spec-SP7VOL64.js.map} +0 -0
  813. /package/dist/{facet-6WVTVKDV.js.map → facet-HDB4VDGU.js.map} +0 -0
  814. /package/dist/{geneExpClustering-5LOZPD5X.js.map → geneExpClustering-6ZPOLTDJ.js.map} +0 -0
  815. /package/dist/{geneExpression-BJ46UGXW.js.map → geneExpression-T6YIG4XQ.js.map} +0 -0
  816. /package/dist/{geneExpression-PTSZWKCM.js.map → geneExpression-T7QUHV5S.js.map} +0 -0
  817. /package/dist/{geneExpression.unit.spec-NW5HTO7F.js.map → geneExpression.unit.spec-DO52L5IB.js.map} +0 -0
  818. /package/dist/{geneORA-H65EZ7QO.js.map → geneORA-KOUDUWUO.js.map} +0 -0
  819. /package/dist/{geneVariant-T6GWOVZD.js.map → geneVariant-FVR76F6I.js.map} +0 -0
  820. /package/dist/{geneVariant-WTDFZTXG.js.map → geneVariant-I5QUITKG.js.map} +0 -0
  821. /package/dist/{geneVariant.integration.spec-OPSBRUM3.js.map → geneVariant.integration.spec-D4IRM7B5.js.map} +0 -0
  822. /package/dist/{genefusion.ui-RSBCC37C.js.map → genefusion.ui-35IYSZD7.js.map} +0 -0
  823. /package/dist/{geneset-B67PAZVL.js.map → geneset-7ZHJ5KWK.js.map} +0 -0
  824. /package/dist/{genomeBrowser.spec-AUTULF4C.js.map → genomeBrowser.spec-VXASVLNH.js.map} +0 -0
  825. /package/dist/{grin2-JVCNH3KW.js.map → grin2-7NM56COO.js.map} +0 -0
  826. /package/dist/{grin2-CMBP7XVH.js.map → grin2-IY26UUQI.js.map} +0 -0
  827. /package/dist/{gsea-H774WVPQ.js.map → gsea-TORO46C6.js.map} +0 -0
  828. /package/dist/{hierCluster-IQTXQUMI.js.map → hierCluster-3BKEGW6P.js.map} +0 -0
  829. /package/dist/{hierCluster-ZQJDXYBD.js.map → hierCluster-HM3LOM6V.js.map} +0 -0
  830. /package/dist/{hierCluster.config-ZHJTZK5L.js.map → hierCluster.config-LDO5IGQ5.js.map} +0 -0
  831. /package/dist/{hierCluster.integration.spec-MSJ5GHHK.js.map → hierCluster.integration.spec-XO5R6CQT.js.map} +0 -0
  832. /package/dist/{hierCluster.interactivity-H2GNO6AA.js.map → hierCluster.interactivity-NVQ6262K.js.map} +0 -0
  833. /package/dist/{hierCluster.renderers-2TE6HMK2.js.map → hierCluster.renderers-SWPPNBLU.js.map} +0 -0
  834. /package/dist/{imagePlot-FMNMB7JZ.js.map → imagePlot-V4WLAPV6.js.map} +0 -0
  835. /package/dist/{importPlot-N66G43XX.js.map → importPlot-NZKQEOX4.js.map} +0 -0
  836. /package/dist/{isoformExpression-B64WLO3H.js.map → isoformExpression-TIZBIGNL.js.map} +0 -0
  837. /package/dist/{launch.adhoc-MPRAJ3GN.js.map → launch.adhoc-JYEN42NM.js.map} +0 -0
  838. /package/dist/{leftlabel.sample-4JCKYXED.js.map → leftlabel.sample-43DL3J3H.js.map} +0 -0
  839. /package/dist/{legacyDataset-PBCPC5I7.js.map → legacyDataset-QRSNRVUA.js.map} +0 -0
  840. /package/dist/{lollipop-25ADHT7O.js.map → lollipop-NMWZ4FVF.js.map} +0 -0
  841. /package/dist/{maftimeline-FOQF6O3X.js.map → maftimeline-ZB2753S7.js.map} +0 -0
  842. /package/dist/{matrix-LHLAYDTQ.js.map → matrix-RCGQWQ3C.js.map} +0 -0
  843. /package/dist/{matrix-ZKF7NRAD.js.map → matrix-WTTEK4FT.js.map} +0 -0
  844. /package/dist/{matrix.cells-H4TS74FJ.js.map → matrix.cells-UO5ASQ35.js.map} +0 -0
  845. /package/dist/{matrix.config-HE7QUDER.js.map → matrix.config-3UQAT3QR.js.map} +0 -0
  846. /package/dist/{matrix.controls-VILCLNSC.js.map → matrix.controls-PRZ77K5L.js.map} +0 -0
  847. /package/dist/{matrix.data-2OUWYD35.js.map → matrix.data-4W73RQ3H.js.map} +0 -0
  848. /package/dist/{matrix.groups-5BGJIOOJ.js.map → matrix.groups-5VMPI7SA.js.map} +0 -0
  849. /package/dist/{matrix.integration.spec-DSXZHAEY.js.map → matrix.integration.spec-2F5LDLC2.js.map} +0 -0
  850. /package/dist/{matrix.interactivity-VK3NWX5M.js.map → matrix.interactivity-MIPZ6ELV.js.map} +0 -0
  851. /package/dist/{matrix.layout-PUNMMNCC.js.map → matrix.layout-EO5LVYRO.js.map} +0 -0
  852. /package/dist/{matrix.legend-QMERGVYU.js.map → matrix.legend-QBFBFEUG.js.map} +0 -0
  853. /package/dist/{matrix.renderers-2KQ2NXSQ.js.map → matrix.renderers-ERJXVCQL.js.map} +0 -0
  854. /package/dist/{matrix.serieses-24G3XPJD.js.map → matrix.serieses-E23EPXHA.js.map} +0 -0
  855. /package/dist/{matrix.sort-HTVT4K7C.js.map → matrix.sort-I4UGMEXR.js.map} +0 -0
  856. /package/dist/{matrix.sort.unit.spec-EUVL76NB.js.map → matrix.sort.unit.spec-CRGF6CSE.js.map} +0 -0
  857. /package/dist/{matrix.sorterUi-PJPFXWOJ.js.map → matrix.sorterUi-YLSYTYLE.js.map} +0 -0
  858. /package/dist/{matrix.sorterUi.unit.spec-QWL5Y4DQ.js.map → matrix.sorterUi.unit.spec-ENG3ICOO.js.map} +0 -0
  859. /package/dist/{mavb-UGM5SHEF.js.map → mavb-5WR7OJHI.js.map} +0 -0
  860. /package/dist/{mds.fimo-64US7RTE.js.map → mds.fimo-3ZRH7BBJ.js.map} +0 -0
  861. /package/dist/{mds.samplescatterplot-JMXLXVIE.js.map → mds.samplescatterplot-RPXR2FVK.js.map} +0 -0
  862. /package/dist/{mds.survivalplot-RJ5UD3IU.js.map → mds.survivalplot-WSSMYUZD.js.map} +0 -0
  863. /package/dist/{oncomatrix.spec-4YLKDGFE.js.map → oncomatrix.spec-OEGU4DYK.js.map} +0 -0
  864. /package/dist/{plot.2dvaf-DYSU6BBN.js.map → plot.2dvaf-ZGARLQNK.js.map} +0 -0
  865. /package/dist/{plot.app-NFBVLAXZ.js.map → plot.app-TKUJH3LK.js.map} +0 -0
  866. /package/dist/{plot.barplot-DBGTDK7J.js.map → plot.barplot-FEIPGDZ2.js.map} +0 -0
  867. /package/dist/{plot.boxplot-MCKZUROP.js.map → plot.boxplot-6RASUMZB.js.map} +0 -0
  868. /package/dist/{plot.brainImaging-BBAVUEB4.js.map → plot.brainImaging-ZJPFWX2W.js.map} +0 -0
  869. /package/dist/{plot.disco-VGOEQYRL.js.map → plot.disco-2KTKB3XX.js.map} +0 -0
  870. /package/dist/{plot.dzi-YQIFOTZQ.js.map → plot.dzi-PC34YI6Y.js.map} +0 -0
  871. /package/dist/{plot.ssgq-MU3BRTMC.js.map → plot.ssgq-Z4UNJKWO.js.map} +0 -0
  872. /package/dist/{plot.vaf2cov-KDHZ7JXJ.js.map → plot.vaf2cov-NZ4WULKT.js.map} +0 -0
  873. /package/dist/{plot.wsi-G2TUGQF7.js.map → plot.wsi-YYXFAZWY.js.map} +0 -0
  874. /package/dist/{polar-RCCZXZIU.js.map → polar-X2GPIBLB.js.map} +0 -0
  875. /package/dist/{polar2-COQ3WIGW.js.map → polar2-TZ553QQH.js.map} +0 -0
  876. /package/dist/{profile.spec-A4ZASR2T.js.map → profile.spec-VB6VMFLY.js.map} +0 -0
  877. /package/dist/{profileBarchart-GB4RK5DF.js.map → profileBarchart-SKJSTC7B.js.map} +0 -0
  878. /package/dist/{profileForms-O5KBHRF6.js.map → profileForms-RLOGSMAQ.js.map} +0 -0
  879. /package/dist/{profilePlot-COCLCP5B.js.map → profilePlot-267ZS3RG.js.map} +0 -0
  880. /package/dist/{profileRadar-4EE3YDOH.js.map → profileRadar-KGOBHCSF.js.map} +0 -0
  881. /package/dist/{profileRadarFacility-JYTSGA5H.js.map → profileRadarFacility-MCJKSHUM.js.map} +0 -0
  882. /package/dist/{proteomeAbundance-NQVU4DOW.js.map → proteomeAbundance-JUYAYO5I.js.map} +0 -0
  883. /package/dist/{proteomeAbundance-JBVXUSD6.js.map → proteomeAbundance-PGHZSVAF.js.map} +0 -0
  884. /package/dist/{qualitative-QROOPDSI.js.map → qualitative-3IECKKJM.js.map} +0 -0
  885. /package/dist/{regression-7FQZ22OO.js.map → regression-J6FFRPXN.js.map} +0 -0
  886. /package/dist/{regression.inputs-F62CES3A.js.map → regression.inputs-T7LWBSYZ.js.map} +0 -0
  887. /package/dist/{regression.inputs.term-BCGP7PX4.js.map → regression.inputs.term-TT7PNX6G.js.map} +0 -0
  888. /package/dist/{regression.inputs.values.table-D3ZXZSH7.js.map → regression.inputs.values.table-SHFUNKCS.js.map} +0 -0
  889. /package/dist/{regression.integration.spec-P2BBTT2O.js.map → regression.integration.spec-QKHMJTHA.js.map} +0 -0
  890. /package/dist/{regression.results-JX6RJQQP.js.map → regression.results-D4WX6VIV.js.map} +0 -0
  891. /package/dist/{regression.spec-ROME7T33.js.map → regression.spec-7SW55L7X.js.map} +0 -0
  892. /package/dist/{report-B6MM4T6B.js.map → report-QYOZ4BRF.js.map} +0 -0
  893. /package/dist/{sampleScatter.spec-EPCMC3SR.js.map → sampleScatter.spec-JCHFMGNF.js.map} +0 -0
  894. /package/dist/{sampleView-77EAJ75T.js.map → sampleView-7RPKNAZC.js.map} +0 -0
  895. /package/dist/{samplelst-CX4NQWA7.js.map → samplelst-4WNPHZVG.js.map} +0 -0
  896. /package/dist/{samplematrix-PYQFAH64.js.map → samplematrix-CG52DSXJ.js.map} +0 -0
  897. /package/dist/{sc-X6SI5VVI.js.map → sc-OJSWILSA.js.map} +0 -0
  898. /package/dist/{scatter-ZFFHAI4F.js.map → scatter-LG2RMMEC.js.map} +0 -0
  899. /package/dist/{scatter.integration.spec-NN43OXRN.js.map → scatter.integration.spec-QPANYTKW.js.map} +0 -0
  900. /package/dist/{selectGenomeWithTklst-CZMVTBMD.js.map → selectGenomeWithTklst-QXRVE6N4.js.map} +0 -0
  901. /package/dist/{singleCellCellType-GOBX7JKV.js.map → singleCellCellType-XBSRL33U.js.map} +0 -0
  902. /package/dist/{singleCellCellType.unit.spec-F344QMTQ.js.map → singleCellCellType.unit.spec-YZX4CSXA.js.map} +0 -0
  903. /package/dist/{singleCellGeneExpression-BLMNMEAI.js.map → singleCellGeneExpression-64ECP62X.js.map} +0 -0
  904. /package/dist/{singleCellGeneExpression.unit.spec-6ZEPUFWC.js.map → singleCellGeneExpression.unit.spec-CFHFXMA6.js.map} +0 -0
  905. /package/dist/{singleCellPlot-HLD7PLQH.js.map → singleCellPlot-E5F62JY6.js.map} +0 -0
  906. /package/dist/{singlecell-JQFPINRS.js.map → singlecell-FCY5EOUV.js.map} +0 -0
  907. /package/dist/{singlecell-HL4GLGIA.js.map → singlecell-S7B5V7NK.js.map} +0 -0
  908. /package/dist/{snp-EAUNFDAV.js.map → snp-ACKX4GRX.js.map} +0 -0
  909. /package/dist/{snp.unit.spec-AVLPMAWI.js.map → snp.unit.spec-QBGHKKUD.js.map} +0 -0
  910. /package/dist/{snplocus-2J7OA6OL.js.map → snplocus-7EUOW7J7.js.map} +0 -0
  911. /package/dist/{spliceevent.a53ss.diagram-4DU2U7NW.js.map → spliceevent.a53ss.diagram-ALQZA35Z.js.map} +0 -0
  912. /package/dist/{spliceevent.exonskip.diagram-GG5FGXOK.js.map → spliceevent.exonskip.diagram-UF7WJA5R.js.map} +0 -0
  913. /package/dist/{spliceevent.noeventdiagram-T6RNIMCM.js.map → spliceevent.noeventdiagram-4HPGRNRR.js.map} +0 -0
  914. /package/dist/{ssGSEA-XJWLRVFQ.js.map → ssGSEA-FDRBBBLJ.js.map} +0 -0
  915. /package/dist/{ssGSEA.unit.spec-MQ23ODYO.js.map → ssGSEA.unit.spec-EZEOWJVV.js.map} +0 -0
  916. /package/dist/{summarizeCnvGeneexp-CJPC76RM.js.map → summarizeCnvGeneexp-FTL2MGAJ.js.map} +0 -0
  917. /package/dist/{summarizeGeneexpSurvival-FGCFZTVG.js.map → summarizeGeneexpSurvival-DDIF4UW6.js.map} +0 -0
  918. /package/dist/{summarizeMutationCnv-4E7R2NHQ.js.map → summarizeMutationCnv-L3GL5YDY.js.map} +0 -0
  919. /package/dist/{summarizeMutationDiagnosis-ZVX7AZK7.js.map → summarizeMutationDiagnosis-LALOJTHV.js.map} +0 -0
  920. /package/dist/{summarizeMutationSurvival-EWXD7TCT.js.map → summarizeMutationSurvival-TSNTSOBZ.js.map} +0 -0
  921. /package/dist/{summary-VUYBKQOC.js.map → summary-YRHVS64T.js.map} +0 -0
  922. /package/dist/{summary.integration.spec-EPBV5XCT.js.map → summary.integration.spec-766YQLQA.js.map} +0 -0
  923. /package/dist/{summaryInput-YX5IRGWM.js.map → summaryInput-VQ2X6GSX.js.map} +0 -0
  924. /package/dist/{sunburst-HPDML45I.js.map → sunburst-XFOONS6K.js.map} +0 -0
  925. /package/dist/{survival-E6SRRXBB.js.map → survival-FQXZH2MM.js.map} +0 -0
  926. /package/dist/{survival-XOXDPXZR.js.map → survival-TVA3ZWVP.js.map} +0 -0
  927. /package/dist/{survival.integration.spec-SJBPJZGJ.js.map → survival.integration.spec-WFIOPD6A.js.map} +0 -0
  928. /package/dist/{svgraph-D23WG3UE.js.map → svgraph-4BFBO7EL.js.map} +0 -0
  929. /package/dist/{svmr-UFC4TKWV.js.map → svmr-ML7GAIIA.js.map} +0 -0
  930. /package/dist/{table-US2K6IYZ.js.map → table-SMLMUWPP.js.map} +0 -0
  931. /package/dist/{termCollection-ZMP3VE2G.js.map → termCollection-22CPTISZ.js.map} +0 -0
  932. /package/dist/{termCollection-E7S57CIN.js.map → termCollection-EE6AOIVA.js.map} +0 -0
  933. /package/dist/{termCollection.unit.spec-MDWK6XH3.js.map → termCollection.unit.spec-4DIW3CJ3.js.map} +0 -0
  934. /package/dist/{tk-TLQJK6R4.js.map → tk-ITZCKOQ5.js.map} +0 -0
  935. /package/dist/{tp.ui-NQEAKWUH.js.map → tp.ui-R6HVKCBC.js.map} +0 -0
  936. /package/dist/{tvs.density-HSVPDDGA.js.map → tvs.density-AQ5GD437.js.map} +0 -0
  937. /package/dist/{tvs.dt-U2MINIBH.js.map → tvs.dt-2263TBEJ.js.map} +0 -0
  938. /package/dist/{tvs.dtcnv.categorical-2OOAZJKC.js.map → tvs.dtcnv.categorical-TRRHL33N.js.map} +0 -0
  939. /package/dist/{tvs.dtcnv.continuous-5ETKBJ52.js.map → tvs.dtcnv.continuous-GREYNF52.js.map} +0 -0
  940. /package/dist/{tvs.dtfusion-EB4PPR3Y.js.map → tvs.dtfusion-XOX46L3M.js.map} +0 -0
  941. /package/dist/{tvs.dtsnvindel-IRQPTKQF.js.map → tvs.dtsnvindel-IDMXT53F.js.map} +0 -0
  942. /package/dist/{tvs.dtsv-TOVXZJCR.js.map → tvs.dtsv-ZDWFYH2C.js.map} +0 -0
  943. /package/dist/{tvs.numeric-ICUGA4WY.js.map → tvs.numeric-ZN2R7BH3.js.map} +0 -0
  944. /package/dist/{tvs.samplelst-4SCH543Y.js.map → tvs.samplelst-GAP76HRH.js.map} +0 -0
  945. /package/dist/{tvs.termCollection-GGN5F6HC.js.map → tvs.termCollection-GQ65UKSI.js.map} +0 -0
  946. /package/dist/{violin-7D7DN74I.js.map → violin-JGDL62YA.js.map} +0 -0
  947. /package/dist/{violin.integration.spec-KE76AL54.js.map → violin.integration.spec-W4NN7LBY.js.map} +0 -0
  948. /package/dist/{violin.interactivity-YPJ2H6SQ.js.map → violin.interactivity-H4RP4K5U.js.map} +0 -0
  949. /package/dist/{violin.renderer-UK7WSA2Z.js.map → violin.renderer-QPHLACDC.js.map} +0 -0
  950. /package/dist/{vocabulary-KLWZ6LRP.js.map → vocabulary-7JACY4J2.js.map} +0 -0
@@ -1,2196 +0,0 @@
1
- import {
2
- appear2 as appear,
3
- disappear2 as disappear,
4
- export_data,
5
- first_genetrack_tolist,
6
- font,
7
- make_table_2col,
8
- newpane,
9
- sayerror
10
- } from "./chunk-XZZLEHWC.js";
11
- import {
12
- invalidcoord,
13
- string2pos
14
- } from "./chunk-HJ6L54YS.js";
15
- import "./chunk-CJJ6LDZM.js";
16
- import {
17
- Menu
18
- } from "./chunk-2SRMRC6L.js";
19
- import {
20
- dofetch,
21
- dofetch2,
22
- dofetch3,
23
- vcfparsemeta
24
- } from "./chunk-QEHUEG4X.js";
25
- import "./chunk-XDI4UFCZ.js";
26
- import "./chunk-FN5XPUPH.js";
27
- import "./chunk-LSEFWW72.js";
28
- import "./chunk-5EF5U7MX.js";
29
- import "./chunk-2K5DSRBJ.js";
30
- import "./chunk-UCLS2SVB.js";
31
- import "./chunk-MVTCBVSX.js";
32
- import "./chunk-SEQLC4AD.js";
33
- import "./chunk-L4QG7XZE.js";
34
- import "./chunk-DQC5FFGV.js";
35
- import "./chunk-2TIYJ3PH.js";
36
- import "./chunk-RIGZHHCP.js";
37
- import "./chunk-AAEXTQT3.js";
38
- import "./chunk-2UWHV2SB.js";
39
- import {
40
- bplen,
41
- dt2label,
42
- dtcnv,
43
- dtfusionrna,
44
- dtitd,
45
- dtloh,
46
- dtsnvindel,
47
- dtsv,
48
- getMax_byiqr,
49
- mclass,
50
- mclassitd,
51
- tkt,
52
- validtkt
53
- } from "./chunk-ZLH4PJKX.js";
54
- import "./chunk-TV74I3Y5.js";
55
- import {
56
- category10_default
57
- } from "./chunk-IH7ILDJS.js";
58
- import "./chunk-LOZEKOES.js";
59
- import "./chunk-TOU7EVFQ.js";
60
- import {
61
- linear,
62
- ordinal
63
- } from "./chunk-OAWQ6LOO.js";
64
- import "./chunk-SEEYV6P2.js";
65
- import "./chunk-NDWTN4U5.js";
66
- import "./chunk-OMR2DT66.js";
67
- import "./chunk-HFNDKYVF.js";
68
-
69
- // src/samplematrix.featuremenu.js
70
- function showMenu_isgenevalue(smat, f) {
71
- smat.menu.d.append("div").attr("class", "sja_menuoption").text("Sort").on("click", () => {
72
- smat.menu.hide();
73
- if (f.sort) {
74
- return;
75
- }
76
- for (const f2 of smat.features) {
77
- if (f2.isgenevalue) delete f2.sort;
78
- }
79
- f.sort = 1;
80
- smat.draw_matrix();
81
- });
82
- }
83
- function showMenu_iscnv(smat, f, obj) {
84
- {
85
- const row = smat.menu.d.append("div").style("margin", "10px");
86
- row.append("span").html("CNV log2(ratio) cutoff ");
87
- row.append("input").property("value", obj.valuecutoff || 0).attr("type", "number").style("width", "50px").on("keyup", (event2) => {
88
- if (event2.code != "Enter" && event2.code != "NumpadEnter") return;
89
- let v = Number.parseFloat(event2.target.value);
90
- if (!v || v < 0) {
91
- v = 0;
92
- }
93
- if (v == 0) {
94
- if (obj.valuecutoff) {
95
- obj.valuecutoff = 0;
96
- smat.update_singlefeature(f);
97
- } else {
98
- }
99
- return;
100
- }
101
- if (obj.valuecutoff) {
102
- if (obj.valuecutoff == v) {
103
- } else {
104
- obj.valuecutoff = v;
105
- smat.update_singlefeature(f);
106
- }
107
- } else {
108
- obj.valuecutoff = v;
109
- smat.update_singlefeature(f);
110
- }
111
- });
112
- row.append("div").style("font-size", ".7em").style("opacity", 0.5).html("Only show CNV with absolute log2(ratio) no less than cutoff.<br>Set to 0 to cancel.");
113
- }
114
- {
115
- const row = smat.menu.d.append("div").style("margin", "10px");
116
- row.append("span").html("CNV segment size limit&nbsp;");
117
- row.append("input").property("value", obj.focalsizelimit || 0).attr("type", "number").style("width", "100px").on("keyup", (event2) => {
118
- if (event2.code != "Enter" && event2.code != "NumpadEnter") return;
119
- let v = Number.parseInt(event2.target.value);
120
- if (!v || v < 0) {
121
- v = 0;
122
- }
123
- if (v == 0) {
124
- if (obj.focalsizelimit) {
125
- obj.focalsizelimit = 0;
126
- smat.update_singlefeature(f);
127
- } else {
128
- }
129
- return;
130
- }
131
- if (obj.focalsizelimit) {
132
- if (obj.focalsizelimit == v) {
133
- } else {
134
- obj.focalsizelimit = v;
135
- smat.update_singlefeature(f);
136
- }
137
- } else {
138
- obj.focalsizelimit = v;
139
- smat.update_singlefeature(f);
140
- }
141
- });
142
- row.append("span").text("bp");
143
- row.append("div").style("font-size", ".7em").style("opacity", 0.5).html("Limit the CNV segment length to show only focal events.<br>Set to 0 to cancel.");
144
- }
145
- }
146
- function showMenu_isloh(smat, f, obj) {
147
- {
148
- const row = smat.menu.d.append("div").style("margin", "10px");
149
- row.append("span").html("LOH segmean cutoff&nbsp;");
150
- row.append("input").property("value", obj.valuecutoff || 0).attr("type", "number").style("width", "50px").on("keyup", (event2) => {
151
- if (event2.code != "Enter" && event2.code != "NumpadEnter") return;
152
- let v = Number.parseFloat(event2.target.value);
153
- if (!v || v < 0) {
154
- v = 0;
155
- }
156
- if (v == 0) {
157
- if (obj.valuecutoff) {
158
- obj.valuecutoff = 0;
159
- smat.update_singlefeature(f);
160
- } else {
161
- }
162
- return;
163
- }
164
- if (obj.valuecutoff) {
165
- if (obj.valuecutoff == v) {
166
- } else {
167
- obj.valuecutoff = v;
168
- smat.update_singlefeature(f);
169
- }
170
- } else {
171
- obj.valuecutoff = v;
172
- smat.update_singlefeature(f);
173
- }
174
- });
175
- row.append("div").style("font-size", ".7em").style("opacity", 0.5).html("Only show LOH with segmean no less than cutoff.<br>Set to 0 to cancel.");
176
- }
177
- {
178
- const row = smat.menu.d.append("div").style("margin", "10px");
179
- row.append("span").html("LOH segment size limit&nbsp;");
180
- row.append("input").property("value", obj.focalsizelimit || 0).attr("type", "number").style("width", "100px").on("keyup", (event2) => {
181
- if (event2.code != "Enter" && event2.code != "NumpadEnter") return;
182
- let v = Number.parseInt(event2.target.value);
183
- if (!v || v < 0) {
184
- v = 0;
185
- }
186
- if (v == 0) {
187
- if (obj.focalsizelimit) {
188
- obj.focalsizelimit = 0;
189
- smat.update_singlefeature(f);
190
- } else {
191
- }
192
- return;
193
- }
194
- if (obj.focalsizelimit) {
195
- if (obj.focalsizelimit == v) {
196
- } else {
197
- obj.focalsizelimit = v;
198
- smat.update_singlefeature(f);
199
- }
200
- } else {
201
- obj.focalsizelimit = v;
202
- smat.update_singlefeature(f);
203
- }
204
- });
205
- row.append("span").text("bp");
206
- row.append("div").style("font-size", ".7em").style("opacity", 0.5).html("Limit the LOH segment length to show only focal events.<br>Set to 0 to cancel.");
207
- }
208
- }
209
- function showMenu_ismutation(smat, f) {
210
- {
211
- const div = smat.menu.d.append("div").style("margin", "10px").style("border", "solid 1px #ededed");
212
- const update = () => {
213
- smat.update_singlefeature(f);
214
- smat.menu.hide();
215
- };
216
- const table = div.append("table").style("margin", "10px").style("border-spacing", "1px");
217
- const tbody = table.append("tbody");
218
- {
219
- const tr = tbody.append("tr");
220
- tr.append("td").style("opacity", 0.5).text("CNV");
221
- tr.append("td").attr("class", "sja_menuoption").text(f.cnv.hidden ? "Show" : "Hide").on("click", () => {
222
- f.cnv.hidden = !f.cnv.hidden;
223
- update();
224
- });
225
- tr.append("td").attr("class", "sja_menuoption").text("Show only").on("click", () => {
226
- ismutation_hideallclass(f);
227
- delete f.cnv.hidden;
228
- update();
229
- });
230
- const td = tr.append("td");
231
- if (!f.cnv.hidden) {
232
- td.attr("class", "sja_menuoption").style("font-size", ".8em").text("CONFIG").on("click", () => {
233
- smat.menu.clear();
234
- showMenu_iscnv(smat, f, f.cnv);
235
- });
236
- }
237
- }
238
- {
239
- const tr = tbody.append("tr");
240
- tr.append("td").style("opacity", 0.5).text("LOH");
241
- tr.append("td").attr("class", "sja_menuoption").text(f.loh.hidden ? "Show" : "Hide").on("click", () => {
242
- f.loh.hidden = !f.loh.hidden;
243
- update();
244
- });
245
- tr.append("td").attr("class", "sja_menuoption").text("Show only").on("click", () => {
246
- ismutation_hideallclass(f);
247
- delete f.loh.hidden;
248
- update();
249
- });
250
- const td = tr.append("td");
251
- if (!f.loh.hidden) {
252
- td.attr("class", "sja_menuoption").style("font-size", ".8em").text("CONFIG").on("click", () => {
253
- smat.menu.clear();
254
- showMenu_isloh(smat, f, f.loh);
255
- });
256
- }
257
- }
258
- {
259
- const tr = tbody.append("tr");
260
- tr.append("td").style("opacity", 0.5).text("ITD");
261
- tr.append("td").attr("class", "sja_menuoption").text(f.itd.hidden ? "Show" : "Hide").on("click", () => {
262
- f.itd.hidden = !f.itd.hidden;
263
- update();
264
- });
265
- tr.append("td").attr("class", "sja_menuoption").text("Show only").on("click", () => {
266
- ismutation_hideallclass(f);
267
- delete f.itd.hidden;
268
- update();
269
- });
270
- const td = tr.append("td");
271
- if (!f.itd.hidden) {
272
- }
273
- }
274
- {
275
- const tr = tbody.append("tr");
276
- tr.append("td").style("opacity", 0.5).text("SV");
277
- tr.append("td").attr("class", "sja_menuoption").text(f.sv.hidden ? "Show" : "Hide").on("click", () => {
278
- f.sv.hidden = !f.sv.hidden;
279
- update();
280
- });
281
- tr.append("td").attr("class", "sja_menuoption").text("Show only").on("click", () => {
282
- ismutation_hideallclass(f);
283
- delete f.sv.hidden;
284
- update();
285
- });
286
- const td = tr.append("td");
287
- if (!f.sv.hidden) {
288
- }
289
- }
290
- {
291
- const tr = tbody.append("tr");
292
- tr.append("td").style("opacity", 0.5).text("Fusion");
293
- tr.append("td").attr("class", "sja_menuoption").text(f.fusion.hidden ? "show" : "hide").on("click", () => {
294
- f.fusion.hidden = !f.fusion.hidden;
295
- update();
296
- });
297
- tr.append("td").attr("class", "sja_menuoption").text("show only").on("click", () => {
298
- ismutation_hideallclass(f);
299
- delete f.fusion.hidden;
300
- update();
301
- });
302
- const td = tr.append("td");
303
- if (!f.fusion.hidden) {
304
- }
305
- }
306
- table.append("tbody").append("tr").append("td").attr("colspan", 4).style("padding-top", "10px").append("span").style("font-size", ".8em").text("List SNV/indel").attr("class", "sja_clbtext").on("click", () => {
307
- if (tbody2.style("display") == "none") {
308
- tbody2.style("display", "table-row-group");
309
- } else {
310
- tbody2.style("display", "none");
311
- }
312
- });
313
- const tbody2 = table.append("tbody").style("display", "none");
314
- for (const k in mclass) {
315
- const c = mclass[k];
316
- if (c.dt != dtsnvindel) {
317
- continue;
318
- }
319
- const tr = tbody2.append("tr");
320
- tr.append("td").style("opacity", 0.5).text(c.label);
321
- tr.append("td").attr("class", "sja_menuoption").text(f.snvindel.excludeclasses[k] ? "Show" : "Hide").on("click", () => {
322
- if (f.snvindel.excludeclasses[k]) {
323
- delete f.snvindel.excludeclasses[k];
324
- } else {
325
- f.snvindel.excludeclasses[k] = 1;
326
- }
327
- update();
328
- });
329
- tr.append("td").attr("class", "sja_menuoption").text("Show only").on("click", () => {
330
- ismutation_hideallclass(f);
331
- delete f.snvindel.excludeclasses[k];
332
- update();
333
- });
334
- const td = tr.append("td");
335
- }
336
- div.append("div").style("margin", "10px").append("span").style("font-size", ".8em").text("Show all classes").attr("class", "sja_clbtext").on("click", () => {
337
- f.cnv.hidden = false;
338
- f.loh.hidden = false;
339
- f.itd.hidden = false;
340
- f.sv.hidden = false;
341
- f.fusion.hidden = false;
342
- f.snvindel.excludeclasses = {};
343
- update();
344
- });
345
- }
346
- }
347
- function ismutation_hideallclass(f) {
348
- f.cnv.hidden = true;
349
- f.loh.hidden = true;
350
- f.itd.hidden = true;
351
- f.sv.hidden = true;
352
- f.fusion.hidden = true;
353
- f.snvindel.excludeclasses = {};
354
- for (const k in mclass) {
355
- if (mclass[k].dt == dtsnvindel) f.snvindel.excludeclasses[k] = 1;
356
- }
357
- }
358
-
359
- // src/samplematrix.kmplot.js
360
- function may_add_kmplotbutton(smat, buttonrow) {
361
- if (!smat.mds || !smat.mds.survivalplot) return;
362
- buttonrow.append("span").style("margin-right", "20px").style("font-size", ".8em").text("SURVIVAL PLOT").attr("class", "sja_clbtext").on("click", (event2) => {
363
- smat.menu.clear().showunder(event2.target);
364
- kmplot_menu(smat);
365
- });
366
- }
367
- async function kmplot_menu(smat) {
368
- const mutation_features = smat.features.filter((i) => i.ismutation);
369
- try {
370
- if (mutation_features.length != 2) throw "only works with two genomic features.";
371
- await kmplot_do(smat, mutation_features[0], mutation_features[1]);
372
- } catch (e) {
373
- smat.menu.d.append("div").style("margin", "20px").text("Cannot make survival plot: " + (e.message || e));
374
- }
375
- }
376
- async function kmplot_do(smat, f1, f2) {
377
- const s1 = [], s2 = [], s12 = [];
378
- for (const i of smat.samples) {
379
- const in1 = f1.items.find((j) => j.sample == i.name);
380
- const in2 = f2.items.find((j) => j.sample == i.name);
381
- if (in1) {
382
- if (in2) s12.push(i.name);
383
- else s1.push(i.name);
384
- } else {
385
- s2.push(i.name);
386
- }
387
- }
388
- const plot = {
389
- renderplot: 1,
390
- samplerule: {
391
- full: {},
392
- mutated_sets: [
393
- { name: f1.label + " mutated (n=" + s1.length + ")", samplenames: s1 },
394
- { name: f2.label + " mutated (n=" + s2.length + ")", samplenames: s2 },
395
- { name: f1.label + " and " + f2.label + " mutated (n=" + s12.length + ")", samplenames: s12 }
396
- ]
397
- }
398
- };
399
- if (smat.limitsamplebyeitherannotation) {
400
- plot.samplerule.full = {
401
- byattr: 1,
402
- key: smat.limitsamplebyeitherannotation[0].key,
403
- value: smat.limitsamplebyeitherannotation[0].value,
404
- immutable: 1
405
- };
406
- }
407
- const pane = newpane({ x: 100, y: 100 });
408
- pane.header.text(
409
- (smat.limitsamplebyeitherannotation ? smat.limitsamplebyeitherannotation[0].value + " " : "") + "survival by " + f1.label + " and " + f2.label + " mutation status"
410
- );
411
- const _ = await import("./mds.survivalplot-RJ5UD3IU.js");
412
- _.init(
413
- {
414
- mds: smat.mds,
415
- genome: smat.genome,
416
- plotlist: [plot]
417
- },
418
- pane.body
419
- );
420
- }
421
-
422
- // src/samplematrix.js
423
- var saynovalue = "na";
424
- var default_cnvgaincolor = "#D6683C";
425
- var default_cnvlosscolor = "#67a9cf";
426
- var default_genevaluecolor = "#095873";
427
- var default_lohcolor = "#858585";
428
- var default_svcolor = "#858585";
429
- var minheight2showname = 8;
430
- var Samplematrix = class {
431
- /*
432
- init ui
433
- */
434
- constructor(p) {
435
- for (const k in p) {
436
- this[k] = p[k];
437
- }
438
- if (this.debugmode) window.smat = this;
439
- this.tip = new Menu({ padding: "0px", hideXmute: 1, hideYmute: 1 });
440
- this.menu = new Menu({ padding: "0px" });
441
- this.errdiv = this.holder.append("div");
442
- if (!this.iscustom) {
443
- try {
444
- if (!this.dslabel) throw "not custom data but dslabel is missing";
445
- this.mds = this.genome.datasets[this.dslabel];
446
- if (!this.mds) throw "invalid dataset name: " + this.dslabel;
447
- if (!this.mds.isMds) throw "improper dataset: " + this.dslabel;
448
- } catch (e) {
449
- this.error(e);
450
- }
451
- }
452
- init_controlui(this);
453
- if (this.header) {
454
- this.holder.append("div").style("margin-bottom", "20px").html(this.header);
455
- }
456
- this.wait_div = this.holder.append("div");
457
- this.wait_div.style("display", "block").text("Loading...");
458
- this.svg = this.holder.append("svg");
459
- this.validate_config().then(() => {
460
- return this.get_features();
461
- }).catch((err) => {
462
- if (typeof err == "string") {
463
- this.error(err);
464
- } else {
465
- this.error(err.message);
466
- if (err.stack) console.log(err.stack);
467
- }
468
- });
469
- }
470
- error(m) {
471
- sayerror(this.errdiv, m);
472
- }
473
- async validate_config() {
474
- if (this.iscustom) {
475
- if (!this.querykey2tracks) throw "querykey2tracks missing for custom dataset";
476
- let novalidtk = true;
477
- for (const key in this.querykey2tracks) {
478
- const tk = this.querykey2tracks[key];
479
- if (!tk.file && !tk.url) throw "no file or url for a custom track by key " + key;
480
- if (!tk.type) throw "missing type for member track by key " + key;
481
- if (!validtkt(tk.type)) throw "invalid type for a member track: " + tk.type;
482
- novalidtk = false;
483
- }
484
- if (novalidtk) throw "no custom tracks from querykey2tracks";
485
- let vcftk;
486
- for (const key in this.querykey2tracks) {
487
- const tk = this.querykey2tracks[key];
488
- if (tk.type == tkt.mdsvcf) {
489
- vcftk = tk;
490
- }
491
- }
492
- if (vcftk) {
493
- await this.may_init_customvcf(vcftk);
494
- }
495
- } else {
496
- if (this.mds.mdsIsUninitiated) {
497
- const d = await dofetch3(`getDataset?genome=${this.genome.name}&dsname=${this.mds.label}`);
498
- if (d.error) throw d.error;
499
- if (!d.ds) throw "ds missing";
500
- Object.assign(this.mds, d.ds);
501
- delete this.mds.mdsIsUninitiated;
502
- }
503
- }
504
- if (this.limitsamplebyeitherannotation) {
505
- if (!Array.isArray(this.limitsamplebyeitherannotation)) throw "limitsamplebyeitherannotation must be an array";
506
- const tr = this.legendtable.append("tr");
507
- for (const anno of this.limitsamplebyeitherannotation) {
508
- if (!anno.key) throw ".key missing from an element of limitsamplebyeitherannotation";
509
- if (!anno.value) throw ".value missing from an element of limitsamplebyeitherannotation";
510
- }
511
- this.showlegend_limitsample();
512
- }
513
- const cnv_tr = this.legendtable.append("tr");
514
- cnv_tr.append("td").style("opacity", 0.5).style("text-align", "right").text("CNV cutoff");
515
- this.legendtable.cnv_td = cnv_tr.append("td");
516
- const loh_tr = this.legendtable.append("tr");
517
- loh_tr.append("td").style("opacity", 0.5).style("text-align", "right").text("LOH cutoff");
518
- this.legendtable.loh_td = loh_tr.append("td");
519
- if (this.limitbysamplesetgroup) {
520
- if (!Array.isArray(this.limitbysamplesetgroup.samples)) throw ".limitbysamplesetgroup.samples is not array";
521
- }
522
- if (!this.rowspace) this.rowspace = 1;
523
- if (!this.colspace) this.colspace = 1;
524
- if (!this.rowlabspace) this.rowlabspace = 5;
525
- if (!this.collabspace) this.collabspace = 5;
526
- if (!this.rowlabticksize) this.rowlabticksize = 5;
527
- if (!this.collabticksize) this.collabticksize = 5;
528
- if (!this.features) throw "missing features[]";
529
- if (!Array.isArray(this.features)) throw "features must be an array";
530
- if (this.features[0].height) this.ori_feature_height = this.features[0].height;
531
- if (this.features[0].width) this.ori_feature_width = this.features[0].width;
532
- for (const f of this.features) {
533
- await this.validate_feature(f);
534
- }
535
- }
536
- showlegend_limitsample() {
537
- if (!this.limitsamplebyeitherannotation) return;
538
- }
539
- feature_parseposition_maygene(f) {
540
- return Promise.resolve().then(() => {
541
- if (f.position) {
542
- const o = string2pos(f.position, this.genome);
543
- if (o) {
544
- f.chr = o.chr;
545
- f.start = o.start;
546
- f.stop = o.stop;
547
- }
548
- }
549
- if (f.chr) {
550
- const err = invalidcoord(this.genome, f.chr, f.start, f.stop);
551
- if (err) {
552
- throw 'feature "' + f.label + '" position error: ' + err;
553
- } else {
554
- return;
555
- }
556
- }
557
- if (!f.genename) throw "position required for a feature: no position or genename given";
558
- return dofetch("/genelookup", {
559
- input: f.genename,
560
- genome: this.genome.name,
561
- deep: 1
562
- }).then((data) => {
563
- if (data.error) throw data.error;
564
- if (!data.gmlst || data.gmlst.length == 0) throw "no gene can be found for " + f.genename;
565
- const regions = [];
566
- for (const gm of data.gmlst) {
567
- let nooverlap = true;
568
- for (const region of regions) {
569
- if (gm.chr == region.chr && Math.max(gm.start, region.start) < Math.min(gm.stop, region.stop)) {
570
- nooverlap = false;
571
- region.start = Math.min(region.start, gm.start);
572
- region.stop = Math.max(region.stop, gm.stop);
573
- break;
574
- }
575
- }
576
- if (nooverlap) {
577
- regions.push({
578
- chr: gm.chr,
579
- start: gm.start,
580
- stop: gm.stop
581
- });
582
- }
583
- }
584
- if (regions.length > 1) {
585
- sayerror(
586
- this.errdiv,
587
- "multiple regions found for gene " + f.genename + " you'd better specify one in feature"
588
- );
589
- }
590
- f.chr = regions[0].chr;
591
- f.start = regions[0].start;
592
- f.stop = regions[0].stop;
593
- });
594
- });
595
- }
596
- validate_feature(f) {
597
- return Promise.resolve().then(() => {
598
- f.id = Math.random().toString();
599
- const tr = this.legendtable.append("tr");
600
- f.legend_tr = tr;
601
- if (f.isgenevalue) {
602
- if (!f.genename) throw ".genename missing for isgenevalue feature";
603
- f.label = f.genename + " expression";
604
- if (this.dslabel) {
605
- if (!f.querykey) throw ".querykey missing for isgenevalue feature while loading from official dataset";
606
- } else {
607
- }
608
- if (!f.scale) f.scale = { auto: 1 };
609
- if (f.missingvalue == void 0) f.missingvalue = 0;
610
- tr.append("td").text(f.label).style("opacity", 0.5).style("text-align", "right");
611
- f.legendholder = tr.append("td");
612
- if (!f.width) f.width = 20;
613
- if (!f.color) f.color = default_genevaluecolor;
614
- return this.feature_parseposition_maygene(f);
615
- }
616
- if (f.iscnv) {
617
- if (this.dslabel) {
618
- if (!f.querykey) throw ".querykey missing for iscnv feature while loading from official dataset";
619
- } else {
620
- }
621
- if (!f.label && f.genename) {
622
- f.label = f.genename + " CNV";
623
- }
624
- tr.append("td").text(f.label).style("opacity", 0.5).style("text-align", "right");
625
- f.legendholder = tr.append("td");
626
- if (!f.width) f.width = 40;
627
- if (!f.colorgain) f.colorgain = default_cnvgaincolor;
628
- if (!f.colorloss) f.colorloss = default_cnvlosscolor;
629
- return this.feature_parseposition_maygene(f).then(() => {
630
- if (!f.label) f.label = f.chr + ":" + f.start + "-" + f.stop + " CNV";
631
- f.coordscale = linear().domain([f.start, f.stop]).range([0, this.features_on_rows ? f.height : f.width]);
632
- });
633
- }
634
- if (f.isloh) {
635
- if (this.dslabel) {
636
- if (!f.querykey) throw ".querykey missing for isloh feature while loading from official dataset";
637
- } else {
638
- }
639
- if (!f.label && f.genename) {
640
- f.label = f.genename + " LOH";
641
- }
642
- tr.append("td").text(f.label).style("opacity", 0.5).style("text-align", "right");
643
- f.legendholder = tr.append("td");
644
- if (!f.width) f.width = 40;
645
- if (!f.color) f.color = default_lohcolor;
646
- return this.feature_parseposition_maygene(f).then(() => {
647
- if (!f.label) f.label = f.chr + ":" + f.start + "-" + f.stop + " LOH";
648
- f.coordscale = linear().domain([f.start, f.stop]).range([0, this.features_on_rows ? f.height : f.width]);
649
- });
650
- }
651
- if (f.isvcf) {
652
- if (this.dslabel) {
653
- if (!f.querykey) throw ".querykey missing for isvcf feature while loading from official dataset";
654
- } else {
655
- }
656
- if (!f.label && f.genename) {
657
- f.label = f.genename + " SNV/indel";
658
- }
659
- tr.append("td").text(f.label).style("opacity", 0.5).style("text-align", "right");
660
- f.legendholder = tr.append("td");
661
- if (!f.width) f.width = 20;
662
- if (!f.snvindel) f.snvindel = {};
663
- return this.feature_parseposition_maygene(f).then(() => {
664
- if (!f.label) f.label = f.chr + ":" + f.start + "-" + f.stop + " SNV/indel";
665
- });
666
- }
667
- if (f.isitd) {
668
- if (this.dslabel) {
669
- if (!f.querykey) throw ".querykey missing for isitd feature while loading from official dataset";
670
- } else {
671
- }
672
- if (!f.label && f.genename) {
673
- f.label = f.genename + " ITD";
674
- }
675
- if (!f.width) f.width = 20;
676
- if (!f.color) f.color = mclass[mclassitd].color;
677
- tr.append("td").text(f.label).style("opacity", 0.5).style("text-align", "right");
678
- f.legendholder = tr.append("td");
679
- f.legendholder.append("div").style("width", "20px").html("&nbsp;").style("background", f.color);
680
- return this.feature_parseposition_maygene(f).then(() => {
681
- if (!f.label) f.label = f.chr + ":" + f.start + "-" + f.stop + " ITD";
682
- });
683
- }
684
- if (f.issvfusion) {
685
- if (this.dslabel) {
686
- if (!f.querykey) throw ".querykey missing for issvfusion feature while loading from official dataset";
687
- } else {
688
- }
689
- if (!f.label && f.genename) {
690
- f.label = f.genename + " SV/fusion";
691
- }
692
- if (!f.width) f.width = 20;
693
- if (!f.color) f.color = default_svcolor;
694
- tr.append("td").text(f.label).style("opacity", 0.5).style("text-align", "right");
695
- f.legendholder = tr.append("td");
696
- return this.feature_parseposition_maygene(f).then(() => {
697
- if (!f.label) f.label = f.chr + ":" + f.start + "-" + f.stop + " SV/fusion";
698
- });
699
- }
700
- if (f.issvcnv) {
701
- if (this.dslabel) {
702
- if (!f.querykey) throw ".querykey missing for issvcnv feature while loading from official dataset";
703
- } else {
704
- }
705
- if (!f.label && f.genename) {
706
- f.label = f.genename + " CNV/SV";
707
- }
708
- tr.append("td").text(f.label).style("color", "#858585").style("text-align", "right");
709
- f.legendholder = tr.append("td");
710
- initfeature_polymutation(f);
711
- return this.feature_parseposition_maygene(f).then(() => {
712
- if (!f.label) f.label = f.chr + ":" + f.start + "-" + f.stop + " CNV/SV";
713
- });
714
- }
715
- if (f.ismutation) {
716
- if (this.dslabel) {
717
- if (!f.querykeylst) throw ".querykeylst missing for ismutation feature";
718
- if (!Array.isArray(f.querykeylst)) throw ".querykeylst[] should be array for ismutation feature";
719
- if (f.querykeylst.length == 0) throw "querykeylst[] empty array for ismutation feature";
720
- } else {
721
- }
722
- if (!f.label && f.genename) {
723
- f.label = f.genename + " mutation";
724
- }
725
- tr.append("td").text(f.label).style("opacity", 0.5).style("text-align", "right");
726
- f.legendholder = tr.append("td");
727
- initfeature_polymutation(f);
728
- return this.feature_parseposition_maygene(f).then(() => {
729
- if (!f.label) f.label = f.chr + ":" + f.start + "-" + f.stop + " mutation";
730
- f.coordscale = linear().domain([f.start, f.stop]).range([0, this.features_on_rows ? f.height : f.width]);
731
- });
732
- }
733
- if (f.issampleattribute) {
734
- if (!this.dslabel) throw ".dslabel missing: sampleattribute only works for official dataset";
735
- if (!f.key) throw ".key missing for issampleattribute feature";
736
- if (!f.label) f.label = f.key;
737
- if (this.mds && this.mds.sampleAttribute && this.mds.sampleAttribute.attributes) {
738
- const registry = this.mds.sampleAttribute.attributes[f.key];
739
- if (registry) {
740
- f.values = registry.values;
741
- }
742
- }
743
- if (!f.values) {
744
- f.values = {};
745
- }
746
- f.assignmissingcolor = ordinal(category10_default);
747
- if (!f.width && !this.features_on_rows) f.width = 20;
748
- else if (!f.height && this.features_on_rows) f.height = 50;
749
- tr.append("td").text(f.label).style("opacity", 0.5).style("text-align", "right");
750
- f.legendholder = tr.append("td");
751
- return Promise.resolve();
752
- }
753
- throw "unknown feature type in validating feature";
754
- });
755
- }
756
- get_features(featureset) {
757
- this.max_cnv = 0;
758
- this.min_cnv = 0;
759
- this.max_loh = 0;
760
- this.min_loh = 0;
761
- const arg = {
762
- genome: this.genome.name,
763
- limitsamplebyeitherannotation: this.limitsamplebyeitherannotation,
764
- features: (featureset || this.features).map(feature2arg)
765
- };
766
- if (this.limitbysamplesetgroup) {
767
- arg.sampleset = this.limitbysamplesetgroup.samples;
768
- }
769
- if (this.iscustom) {
770
- arg.iscustom = 1;
771
- arg.querykey2tracks = {};
772
- for (const f of arg.features) {
773
- if (f.querykey) {
774
- arg.querykey2tracks[f.querykey] = this.querykey2tracks[f.querykey];
775
- } else if (f.querykeylst) {
776
- for (const k of f.querykeylst) arg.querykey2tracks[k] = this.querykey2tracks[k];
777
- }
778
- }
779
- } else {
780
- arg.dslabel = this.mds.label;
781
- }
782
- return dofetch("/samplematrix", arg).then((data) => {
783
- if (data.error) {
784
- for (const f0 of arg.features) {
785
- const f = this.features.find((f2) => f2.id == f0.id);
786
- if (f) f.items = [];
787
- }
788
- throw data.error;
789
- }
790
- for (const dat of data.results) {
791
- const f = this.features.find((f2) => f2.id == dat.id);
792
- if (!f) throw "feature not found: " + f.id;
793
- f.items = dat.items;
794
- this.prep_featuredata(f);
795
- }
796
- this.draw_matrix();
797
- this.make_legend();
798
- this.wait_div.style("display", "none");
799
- });
800
- }
801
- update_singlefeature(f) {
802
- this.get_features([f]).catch((err) => {
803
- if (typeof err == "string") {
804
- this.error(err);
805
- } else {
806
- this.error(err.message);
807
- if (err.stack) console.log(err.stack);
808
- }
809
- });
810
- }
811
- addnewfeature_update(f) {
812
- this.features.push(f);
813
- this.validate_feature(f).then(() => {
814
- return this.get_features([f]);
815
- }).catch((err) => {
816
- this.error(typeof err == "string" ? err : err.message);
817
- if (err.stack) console.log(err.stack);
818
- });
819
- }
820
- prep_featuredata(f) {
821
- if (f.isgenevalue) {
822
- f.scale.maxv = 0;
823
- f.scale.minv = 0;
824
- for (const i of f.items) {
825
- f.scale.maxv = Math.max(f.scale.maxv, i.value);
826
- }
827
- return;
828
- }
829
- if (f.iscnv) {
830
- const gain = [], loss = [];
831
- for (const i of f.items) {
832
- if (i.value > 0) {
833
- gain.push(i.value);
834
- } else {
835
- loss.push(-i.value);
836
- }
837
- }
838
- const gmax = getMax_byiqr(gain, 0);
839
- const lmax = getMax_byiqr(loss, 0);
840
- f.maxabslogratio = Math.max(gmax, lmax);
841
- if (f.maxabslogratio > this.max_cnv) this.max_cnv = f.maxabslogratio;
842
- return;
843
- }
844
- if (f.isloh) {
845
- const values = f.items.map((i) => i.segmean);
846
- f.minvalue = 0;
847
- f.maxvalue = Math.max(...values);
848
- if (f.maxvalue > this.max_loh) this.max_loh = f.maxvalue;
849
- return;
850
- }
851
- if (f.isvcf) {
852
- return;
853
- }
854
- if (f.isitd) {
855
- return;
856
- }
857
- if (f.issvfusion) {
858
- return;
859
- }
860
- if (f.issvcnv || f.ismutation) {
861
- const cnvgain = [], cnvloss = [];
862
- let lohmax = 0;
863
- for (const i of f.items) {
864
- if (i.dt == dtcnv) {
865
- if (i.value > 0) {
866
- cnvgain.push(i.value);
867
- } else {
868
- cnvloss.push(-i.value);
869
- }
870
- } else if (i.dt == dtloh) {
871
- lohmax = Math.max(i.segmean, lohmax);
872
- }
873
- }
874
- if (cnvgain.length + cnvloss.length > 0) {
875
- const gmax = getMax_byiqr(cnvgain, 0);
876
- const lmax = getMax_byiqr(cnvloss, 0);
877
- f.cnv.maxabslogratio = Math.max(gmax, lmax);
878
- if (f.cnv.maxabslogratio > this.max_cnv) {
879
- this.max_cnv = f.cnv.maxabslogratio;
880
- this.min_cnv = -f.cnv.maxabslogratio;
881
- this.cnv_colorloss = f.cnv.colorloss;
882
- this.cnv_colorgain = f.cnv.colorgain;
883
- }
884
- }
885
- if (lohmax) {
886
- f.loh.minvalue = 0;
887
- f.loh.maxvalue = lohmax;
888
- if (f.loh.maxvalue > this.max_loh) this.max_loh = f.loh.maxvalue;
889
- this.loh_color = f.loh.color;
890
- }
891
- return;
892
- }
893
- if (f.issampleattribute) {
894
- for (const i of f.items) {
895
- if (!f.values[i.value]) {
896
- f.values[i.value] = {
897
- name: i.value,
898
- color: f.assignmissingcolor(i.value)
899
- };
900
- }
901
- }
902
- return;
903
- }
904
- throw "unknown feature type in preparing feature data";
905
- }
906
- make_legend() {
907
- for (const f of this.features) {
908
- const h = f.legendholder;
909
- h.selectAll("*").remove();
910
- if (f.isgenevalue) {
911
- h.append("span").text(f.scale.minv.toFixed(3));
912
- h.append("div").style("margin", "2px 10px").style("display", "inline-block").style("width", "100px").style("height", "15px").style("background", "linear-gradient( to right, white, " + f.color + ")");
913
- h.append("span").text(f.scale.maxv.toFixed(3));
914
- continue;
915
- }
916
- if (f.iscnv) {
917
- h.append("span").html(
918
- 'Gain <span style="background:' + f.colorgain + ';color:white;padding:1px 5px">' + f.maxabslogratio.toFixed(3) + '</span> &nbsp; Loss <span style="background:' + f.colorloss + ';color:white;padding:1px 5px">-' + f.maxabslogratio.toFixed(3) + "</span>"
919
- );
920
- continue;
921
- }
922
- if (f.isloh) {
923
- h.append("span").text(f.minvalue.toFixed(3));
924
- h.append("div").style("margin", "2px 10px").style("display", "inline-block").style("width", "100px").style("height", "15px").style("background", "linear-gradient( to right, white, " + f.color + ")");
925
- h.append("span").text(f.maxvalue.toFixed(3));
926
- continue;
927
- }
928
- if (f.isvcf) {
929
- const classes = /* @__PURE__ */ new Set();
930
- for (const m of f.items) {
931
- if (m.class) {
932
- classes.add(m.class);
933
- } else {
934
- }
935
- }
936
- for (const c of classes) {
937
- const cell = h.append("div").style("display", "inline-block").style("margin-right", "10px");
938
- cell.append("span").style("background", mclass[c].color).style("margin-right", "2px").html("&nbsp;&nbsp;&nbsp;");
939
- cell.append("span").text(mclass[c].label).style("color", mclass[c].color);
940
- }
941
- continue;
942
- }
943
- if (f.isitd) {
944
- continue;
945
- }
946
- if (f.issvfusion) {
947
- continue;
948
- }
949
- if (f.issvcnv || f.ismutation) {
950
- const vcfclass2count = /* @__PURE__ */ new Map();
951
- let itdcount = 0;
952
- let svcount = 0;
953
- let fusioncount = 0;
954
- for (const i of f.items) {
955
- if (i.dt == dtsnvindel) {
956
- if (i.class && i.sampledata) {
957
- if (!vcfclass2count.has(i.class)) {
958
- vcfclass2count.set(i.class, 0);
959
- }
960
- vcfclass2count.set(i.class, vcfclass2count.get(i.class) + i.sampledata.length);
961
- } else {
962
- }
963
- } else if (i.dt == dtitd) {
964
- itdcount++;
965
- } else if (i.dt == dtsv) {
966
- svcount++;
967
- } else if (i.dt == dtfusionrna) {
968
- fusioncount++;
969
- }
970
- }
971
- if (vcfclass2count.size + itdcount + svcount + fusioncount > 0) {
972
- const row = h.append("div").style("margin-bottom", "5px").style("white-space", "nowrap");
973
- for (const [classname, count] of vcfclass2count) {
974
- const c = mclass[classname];
975
- const cell = row.append("div").style("display", "inline-block").style("margin-right", "20px");
976
- cell.append("span").attr("class", "sja_mcdot").style("background", c.color).text(count);
977
- cell.append("span").text(c.label).style("color", c.color);
978
- }
979
- if (itdcount) {
980
- const cell = row.append("div").style("display", "inline-block").style("margin-right", "20px");
981
- cell.append("span").attr("class", "sja_mcdot").style("background", f.itd.color).text(itdcount);
982
- cell.append("span").text("ITD");
983
- }
984
- if (svcount) {
985
- const cell = row.append("div").style("display", "inline-block").style("margin-right", "20px");
986
- cell.append("span").attr("class", "sja_mcdot").style("background", f.sv.color).text(svcount);
987
- cell.append("span").text("SV");
988
- }
989
- if (fusioncount) {
990
- const cell = row.append("div").style("display", "inline-block").style("margin-right", "20px");
991
- cell.append("span").attr("class", "sja_mcdot").style("background", f.fusion.color).text(fusioncount);
992
- cell.append("span").text("Fusion");
993
- }
994
- }
995
- continue;
996
- }
997
- if (f.issampleattribute) {
998
- const value2count = /* @__PURE__ */ new Map();
999
- for (const sample of this.samples) {
1000
- const anno = f.items.find((i) => i.sample == sample.name);
1001
- if (anno) {
1002
- value2count.set(anno.value, (value2count.get(anno.value) || 0) + 1);
1003
- }
1004
- }
1005
- for (const [value, count] of value2count) {
1006
- const cell = h.append("div").style("display", "inline-block").style("margin-right", "20px");
1007
- cell.append("span").attr("class", "sja_mcdot").style("background", f.values[value].color).text(count);
1008
- cell.append("span").text(f.values[value].name);
1009
- }
1010
- continue;
1011
- }
1012
- throw "unknown feature type in making legend";
1013
- }
1014
- this.makeGlobalCnvLohLegend();
1015
- }
1016
- makeGlobalCnvLohLegend() {
1017
- const legend_data = [
1018
- { type: "cnv", legend_label: "CNV log2(ratio): " },
1019
- { type: "loh", legend_label: "LOH seg.mean: " }
1020
- ];
1021
- const min_cnv_orig = parseFloat(this.min_cnv.toFixed(3));
1022
- const max_cnv_orig = parseFloat(this.max_cnv.toFixed(3));
1023
- const min_loh_orig = parseFloat(this.min_loh.toFixed(3));
1024
- const max_loh_orig = parseFloat(this.max_loh.toFixed(3));
1025
- let changed_flag = false;
1026
- legend_data.forEach((data) => {
1027
- let min_cutoff = data.type == "cnv" ? this.min_cnv : this.min_loh;
1028
- let max_cutoff = data.type == "cnv" ? this.max_cnv : this.max_loh;
1029
- const td = data.type == "cnv" ? this.legendtable.cnv_td : this.legendtable.loh_td;
1030
- const row = td.append("div").style("margin-bottom", "5px");
1031
- row.append("span").text(data.legend_label);
1032
- const lower_range_txt = row.append("span").text(min_cutoff.toFixed(3));
1033
- const lower_range_input = row.append("input").attr("type", "text").attr("size", 8).style("display", "none").property("value", min_cutoff.toFixed(3));
1034
- if (data.type == "cnv") {
1035
- row.append("div").style("margin", "4px 0 1px 10px").style("display", "inline-block").style("width", "50px").style("height", "15px").style("background", "linear-gradient( to right," + this.cnv_colorloss + ",white)");
1036
- }
1037
- row.append("div").style("margin", "4px 10px 1px 10px").style("margin-left", data.type == "cnv" ? "0" : "10px").style("display", "inline-block").style("width", data.type == "cnv" ? "50px" : "100px").style("height", "15px").style(
1038
- "background",
1039
- "linear-gradient( to right, white, " + (data.type == "cnv" ? this.cnv_colorgain : this.loh_color) + ")"
1040
- );
1041
- const upper_range_txt = row.append("span").text(max_cutoff.toFixed(3));
1042
- const upper_range_input = row.append("input").attr("type", "text").attr("size", 8).style("display", "none").property("value", max_cutoff.toFixed(3));
1043
- const edit_btn = row.append("button").style("margin", "2px 5px").style("padding", "3px 10px").text("Edit").on("click", () => {
1044
- lower_range_txt.style("display", "none");
1045
- upper_range_txt.style("display", "none");
1046
- lower_range_input.style("display", "inline-block");
1047
- upper_range_input.style("display", "inline-block");
1048
- edit_btn.style("display", "none");
1049
- submit_btn.style("display", "inline-block");
1050
- });
1051
- const submit_btn = row.append("button").style("display", "none").style("margin", "2px 5px").style("padding", "3px 10px").text("Submit").on("click", () => {
1052
- if (data.type == "cnv") {
1053
- this.min_cnv = min_cutoff = lower_range_input.property("value");
1054
- this.max_cnv = max_cutoff = upper_range_input.property("value");
1055
- if (this.min_cnv != min_cnv_orig || this.max_cnv != max_cnv_orig) changed_flag = true;
1056
- } else {
1057
- this.min_loh = min_cutoff = parseFloat(lower_range_input.property("value"));
1058
- this.max_loh = max_cutoff = parseFloat(upper_range_input.property("value"));
1059
- if (this.min_loh != min_loh_orig || this.max_loh != max_loh_orig) changed_flag = true;
1060
- }
1061
- lower_range_txt.style("display", "inline-block").text(parseFloat(min_cutoff).toFixed(3));
1062
- upper_range_txt.style("display", "inline-block").text(parseFloat(max_cutoff).toFixed(3));
1063
- lower_range_input.style("display", "none");
1064
- upper_range_input.style("display", "none");
1065
- edit_btn.style("display", "inline-block");
1066
- submit_btn.style("display", "none");
1067
- reset_btn.style("display", changed_flag ? "inline-block" : "none");
1068
- this.draw_matrix();
1069
- });
1070
- const reset_btn = row.append("button").style("display", "none").style("margin", "2px 5px").style("padding", "3px 10px").text("Reset").on("click", () => {
1071
- if (data.type == "cnv") {
1072
- this.min_cnv = min_cutoff = min_cnv_orig;
1073
- this.max_cnv = max_cutoff = max_cnv_orig;
1074
- } else {
1075
- this.min_loh = min_cutoff = min_loh_orig;
1076
- this.max_loh = max_cutoff = max_loh_orig;
1077
- }
1078
- lower_range_txt.text(parseFloat(min_cutoff).toFixed(3));
1079
- upper_range_txt.text(parseFloat(max_cutoff).toFixed(3));
1080
- lower_range_input.property("value", parseFloat(min_cutoff).toFixed(3));
1081
- upper_range_input.property("value", parseFloat(max_cutoff).toFixed(3));
1082
- reset_btn.style("display", "none");
1083
- changed_flag = false;
1084
- this.draw_matrix();
1085
- });
1086
- reset_btn.style("display", "none");
1087
- });
1088
- }
1089
- gatherSamplesFromFeatureData() {
1090
- const name2sample = /* @__PURE__ */ new Map();
1091
- for (const feature of this.features) {
1092
- if (feature.donotaddsample) {
1093
- continue;
1094
- }
1095
- if (feature.isgenevalue || feature.iscnv || feature.isloh || feature.isitd || feature.issvfusion || feature.issvcnv) {
1096
- for (const item of feature.items) {
1097
- if (!name2sample.has(item.sample)) {
1098
- name2sample.set(item.sample, {});
1099
- }
1100
- }
1101
- } else if (feature.isvcf) {
1102
- for (const m of feature.items) {
1103
- if (m.dt == dtsnvindel) {
1104
- if (!m.sampledata) continue;
1105
- for (const s of m.sampledata) {
1106
- if (!name2sample.has(s.sampleobj.name)) {
1107
- name2sample.set(s.sampleobj.name, {});
1108
- }
1109
- }
1110
- } else {
1111
- console.error("unsupported dt from isvcf: " + m.dt);
1112
- }
1113
- }
1114
- } else if (feature.ismutation) {
1115
- for (const m of feature.items) {
1116
- if (m.dt == dtsnvindel) {
1117
- if (!m.sampledata) continue;
1118
- for (const s of m.sampledata) {
1119
- if (!name2sample.has(s.sampleobj.name)) {
1120
- name2sample.set(s.sampleobj.name, {});
1121
- }
1122
- }
1123
- } else {
1124
- if (!m.sample) continue;
1125
- if (!name2sample.has(m.sample)) {
1126
- name2sample.set(m.sample, {});
1127
- }
1128
- }
1129
- }
1130
- } else if (feature.issampleattribute) {
1131
- for (const i of feature.items) {
1132
- if (!name2sample.has(i.sample)) {
1133
- name2sample.set(i.sample, {});
1134
- }
1135
- }
1136
- } else {
1137
- console.error("unknown feature type from this.data");
1138
- }
1139
- }
1140
- const uniformheight = Math.min(18, Math.max(1, Math.ceil(800 / name2sample.size)));
1141
- this.samples = [];
1142
- for (const [n, sample] of name2sample) {
1143
- if (!this.features_on_rows) sample.height = uniformheight;
1144
- else sample.width = uniformheight;
1145
- sample.name = n;
1146
- this.samples.push(sample);
1147
- }
1148
- }
1149
- /*********** __draw *****/
1150
- draw_matrix() {
1151
- this.svg.selectAll("*").remove();
1152
- const svgg = this.svg.append("g");
1153
- this.gatherSamplesFromFeatureData();
1154
- this.sortsamplesbyfeatures();
1155
- const rows_lst = this.features_on_rows ? this.features : this.samples;
1156
- const cols_lst = this.features_on_rows ? this.samples : this.features;
1157
- let y = 0, samplenamemaxwidth = 0;
1158
- for (const r of rows_lst) {
1159
- r.g = svgg.append("g").attr("transform", "translate(0," + y + ")");
1160
- y += r.height + this.rowspace;
1161
- if (r.height >= minheight2showname) {
1162
- r.g.append("text").attr("font-family", font).attr("font-size", Math.min(16, r.height)).attr("text-anchor", "end").attr("dominant-baseline", "central").attr("x", -this.rowlabspace - this.rowlabticksize).attr("y", r.height / 2).text(this.features_on_rows ? r.label + (r.count ? " (" + r.count + ")" : "") : r.name).each(function() {
1163
- samplenamemaxwidth = Math.max(samplenamemaxwidth, this.getBBox().width);
1164
- }).attr("class", "sja_clbtext").on("mouseover", () => {
1165
- this.features_on_rows ? this.showTip_feature(r) : this.showTip_sample(r);
1166
- }).on("mouseout", () => {
1167
- this.tip.hide();
1168
- }).on("click", () => {
1169
- if (this.features_on_rows) this.showMenu_feature(r);
1170
- });
1171
- r.g.append("line").attr("x1", -this.rowlabticksize).attr("y1", r.height / 2).attr("y2", r.height / 2).attr("stroke", "black").attr("shape-rendering", "crispEdges");
1172
- }
1173
- }
1174
- let x = 0, featurenamemaxwidth = 0;
1175
- for (const c of cols_lst) {
1176
- const g = svgg.append("g").attr("transform", "translate(" + (x + c.width / 2) + ",-" + (this.collabspace + this.collabticksize) + ")");
1177
- x += c.width + this.colspace;
1178
- const label = g.append("text").attr("font-family", font).attr("font-size", Math.min(16, c.width - 2)).attr("dominant-baseline", "central").attr("transform", "rotate(-90)").text(this.features_on_rows ? c.name : c.label + (c.count ? " (" + c.count + ")" : "")).each(function() {
1179
- featurenamemaxwidth = Math.max(featurenamemaxwidth, this.getBBox().width);
1180
- }).on("mouseover", () => {
1181
- this.features_on_rows ? this.showTip_sample(c) : this.showTip_feature(c);
1182
- }).on("mouseout", () => {
1183
- this.tip.hide();
1184
- }).on("click", () => {
1185
- if (!this.features_on_rows) this.showMenu_feature(c);
1186
- });
1187
- if (c.isgenevalue) {
1188
- label.attr("fill", c.color);
1189
- }
1190
- g.append("line").attr("y1", this.collabspace).attr("y2", this.collabspace + this.collabticksize).attr("stroke", "black").attr("shape-rendering", "crispEdges");
1191
- }
1192
- for (const r of rows_lst) {
1193
- let x2 = 0;
1194
- for (const c of cols_lst) {
1195
- const sample = this.features_on_rows ? c : r;
1196
- const feature = this.features_on_rows ? r : c;
1197
- const cell = r.g.append("g").attr("transform", "translate(" + x2 + ",0)");
1198
- x2 += c.width + this.colspace;
1199
- if (feature.isgenevalue) {
1200
- this.drawCell_isgenevalue(sample, feature, cell);
1201
- } else if (feature.iscnv) {
1202
- this.drawCell_iscnv(sample, feature, cell);
1203
- } else if (feature.isloh) {
1204
- this.drawCell_isloh(sample, feature, cell);
1205
- } else if (feature.isvcf) {
1206
- this.drawCell_isvcf(sample, feature, cell);
1207
- } else if (feature.isitd) {
1208
- this.drawCell_isitd(sample, feature, cell);
1209
- } else if (feature.issvfusion) {
1210
- this.drawCell_issvfusion(sample, feature, cell);
1211
- } else if (feature.issvcnv || feature.ismutation) {
1212
- this.drawCell_ismutation(sample, feature, cell);
1213
- } else if (feature.issampleattribute) {
1214
- this.drawCell_issampleattribute(sample, feature, cell);
1215
- } else {
1216
- console.error("unknown feature type when drawing cell");
1217
- }
1218
- }
1219
- }
1220
- svgg.attr(
1221
- "transform",
1222
- "translate(" + (samplenamemaxwidth + this.rowlabspace + this.rowlabticksize) + "," + (featurenamemaxwidth + this.collabspace + this.collabticksize) + ")"
1223
- );
1224
- this.svg.attr(
1225
- "width",
1226
- samplenamemaxwidth + this.rowlabspace + this.rowlabticksize + cols_lst.reduce((i, j) => i + j.width, 0) + cols_lst.length * this.colspace
1227
- ).attr(
1228
- "height",
1229
- featurenamemaxwidth + this.collabspace + this.collabticksize + rows_lst.reduce((i, j) => i + j.height, 0) + rows_lst.length * this.rowspace
1230
- );
1231
- }
1232
- drawCell_isgenevalue(sample, feature, g) {
1233
- const height = this.features_on_rows ? feature.height : sample.height;
1234
- const width = this.features_on_rows ? sample.width : feature.width;
1235
- const item = feature.items.find((i) => i.sample == sample.name);
1236
- if (!item) {
1237
- this.drawEmptycell(sample, feature, g);
1238
- return;
1239
- }
1240
- const rect = g.append("rect").attr("width", width).attr("height", height).attr("fill", feature.color).attr("stroke", "#ccc").attr("stroke-opacity", 0).attr("shape-rendering", "crispEdges").on("mouseover", (event2) => {
1241
- event2.target.setAttribute("stroke-opacity", 1);
1242
- this.showTip_cell(sample, feature);
1243
- }).on("mouseout", (event2) => {
1244
- event2.target.setAttribute("stroke-opacity", 0);
1245
- this.tip.hide();
1246
- }).on("click", () => {
1247
- this.click_cell(sample, feature);
1248
- });
1249
- if (item.value < feature.scale.maxv) {
1250
- rect.attr("fill-opacity", item.value / feature.scale.maxv);
1251
- }
1252
- }
1253
- drawCell_iscnv(sample, feature, g) {
1254
- const height = this.features_on_rows ? feature.height : sample.height;
1255
- const width = this.features_on_rows ? sample.width : feature.width;
1256
- const items = feature.items.filter((i) => i.sample == sample.name);
1257
- if (items.length == 0) {
1258
- this.drawEmptycell(sample, feature, g);
1259
- return;
1260
- }
1261
- for (const item of items) {
1262
- const x1 = feature.coordscale(Math.max(feature.start, item.start));
1263
- const x2 = feature.coordscale(Math.min(feature.stop, item.stop));
1264
- const maxabslogratio = this.max_cnv;
1265
- g.append("rect").attr("x", x1).attr("width", Math.max(1, x2 - x1)).attr("height", sample.height).attr("fill", item.value > 0 ? feature.colorgain : feature.colorloss).attr("fill-opacity", Math.abs(item.value / maxabslogratio)).attr("shape-rendering", "crispEdges");
1266
- }
1267
- g.append("rect").attr("fill", "white").attr("fill-opacity", 0).attr("width", width).attr("height", height).attr("stroke", "#ccc").attr("stroke-opacity", 0).attr("shape-rendering", "crispEdges").on("mouseover", (event2) => {
1268
- event2.target.setAttribute("stroke-opacity", 1);
1269
- this.showTip_cell(sample, feature);
1270
- }).on("mouseout", (event2) => {
1271
- event2.target.setAttribute("stroke-opacity", 0);
1272
- this.tip.hide();
1273
- }).on("click", () => {
1274
- this.click_cell(sample, feature);
1275
- });
1276
- }
1277
- drawCell_isloh(sample, feature, g) {
1278
- const height = this.features_on_rows ? feature.height : sample.height;
1279
- const width = this.features_on_rows ? sample.width : feature.width;
1280
- const items = feature.items.filter((i) => i.sample == sample.name);
1281
- if (items.length == 0) {
1282
- this.drawEmptycell(sample, feature, g);
1283
- return;
1284
- }
1285
- for (const item of items) {
1286
- const x1 = feature.coordscale(Math.max(feature.start, item.start));
1287
- const x2 = feature.coordscale(Math.min(feature.stop, item.stop));
1288
- const loh_range = this.max_loh - this.min_loh;
1289
- g.append("rect").attr("x", this.features_on_rows ? 0 : x1).attr("y", this.features_on_rows ? x1 : 0).attr("width", this.features_on_rows ? width : Math.max(1, x2 - x1)).attr("height", this.features_on_rows ? Math.max(1, x2 - x1) : height).attr("fill", feature.color).attr("fill-opacity", (item.segmean - this.min_loh) / loh_range).attr("shape-rendering", "crispEdges");
1290
- }
1291
- g.append("rect").attr("fill", "white").attr("fill-opacity", 0).attr("width", width).attr("height", height).attr("stroke", "#ccc").attr("stroke-opacity", 0).attr("shape-rendering", "crispEdges").on("mouseover", (event2) => {
1292
- event2.target.setAttribute("stroke-opacity", 1);
1293
- this.showTip_cell(sample, feature);
1294
- }).on("mouseout", (event2) => {
1295
- event2.target.setAttribute("stroke-opacity", 0);
1296
- this.tip.hide();
1297
- }).on("click", () => {
1298
- this.click_cell(sample, feature);
1299
- });
1300
- }
1301
- drawCell_isvcf(sample, feature, g) {
1302
- const height = this.features_on_rows ? feature.height : sample.height;
1303
- const width = this.features_on_rows ? sample.width : feature.width;
1304
- const mlst = getitemforsample_vcf(feature, sample);
1305
- if (mlst.length == 0) {
1306
- this.drawEmptycell(sample, feature, g);
1307
- return;
1308
- }
1309
- const class2count = /* @__PURE__ */ new Map();
1310
- for (const m of mlst) {
1311
- if (!class2count.has(m.class)) {
1312
- class2count.set(m.class, 0);
1313
- }
1314
- class2count.set(m.class, class2count.get(m.class) + 1);
1315
- }
1316
- let start = 0;
1317
- for (const [cname, count] of class2count) {
1318
- const span = count / mlst.length * this.features_on_rows ? height : width;
1319
- g.append("rect").attr("x", this.features_on_rows ? 0 : start).attr("y", this.features_on_rows ? start : 0).attr("width", this.features_on_rows ? width : span).attr("height", this.features_on_rows ? span : height).attr("fill", mclass[cname].color).attr("shape-rendering", "crispEdges");
1320
- start += span;
1321
- }
1322
- g.append("rect").attr("fill", "white").attr("fill-opacity", 0).attr("width", width).attr("height", height).attr("stroke", "#ccc").attr("stroke-opacity", 0).attr("shape-rendering", "crispEdges").on("mouseover", (event2) => {
1323
- event2.target.setAttribute("stroke-opacity", 1);
1324
- this.showTip_cell(sample, feature);
1325
- }).on("mouseout", (event2) => {
1326
- event2.target.setAttribute("stroke-opacity", 0);
1327
- this.tip.hide();
1328
- }).on("click", () => {
1329
- this.click_cell(sample, feature);
1330
- });
1331
- }
1332
- drawCell_isitd(sample, feature, g) {
1333
- const height = this.features_on_rows ? feature.height : sample.height;
1334
- const width = this.features_on_rows ? sample.width : feature.width;
1335
- const item = feature.items.find((i) => i.sample == sample.name);
1336
- if (!item) {
1337
- this.drawEmptycell(sample, feature, g);
1338
- return;
1339
- }
1340
- g.append("rect").attr("width", width).attr("height", height).attr("fill", feature.color).attr("stroke", "#ccc").attr("stroke-opacity", 0).attr("shape-rendering", "crispEdges").on("mouseover", (event2) => {
1341
- event2.target.setAttribute("stroke-opacity", 1);
1342
- this.showTip_cell(sample, feature);
1343
- }).on("mouseout", (event2) => {
1344
- event2.target.setAttribute("stroke-opacity", 0);
1345
- this.tip.hide();
1346
- }).on("click", () => {
1347
- this.click_cell(sample, feature);
1348
- });
1349
- }
1350
- drawCell_issampleattribute(sample, feature, g) {
1351
- const height = this.features_on_rows ? feature.height : sample.height;
1352
- const width = this.features_on_rows ? sample.width : feature.width;
1353
- const item = feature.items.find((i) => i.sample == sample.name);
1354
- if (!item) {
1355
- this.drawEmptycell(sample, feature, g);
1356
- return;
1357
- }
1358
- g.append("rect").attr("width", width).attr("height", height).attr("fill", feature.values[item.value].color).attr("stroke", "#ccc").attr("stroke-opacity", 0).attr("shape-rendering", "crispEdges").on("mouseover", (event2) => {
1359
- event2.target.setAttribute("stroke-opacity", 1);
1360
- this.showTip_cell(sample, feature);
1361
- }).on("mouseout", (event2) => {
1362
- event2.target.setAttribute("stroke-opacity", 0);
1363
- this.tip.hide();
1364
- }).on("click", () => {
1365
- this.click_cell(sample, feature);
1366
- });
1367
- }
1368
- drawCell_issvfusion(sample, feature, g) {
1369
- const height = this.features_on_rows ? feature.height : sample.height;
1370
- const width = this.features_on_rows ? sample.width : feature.width;
1371
- const item = feature.items.find((i) => i.sample == sample.name);
1372
- if (!item) {
1373
- this.drawEmptycell(sample, feature, g);
1374
- return;
1375
- }
1376
- g.append("rect").attr("width", width).attr("height", height).attr("fill", feature.color).attr("stroke", "#ccc").attr("stroke-opacity", 0).attr("shape-rendering", "crispEdges").on("mouseover", (event2) => {
1377
- event2.target.setAttribute("stroke-opacity", 1);
1378
- this.showTip_cell(sample, feature);
1379
- }).on("mouseout", (event2) => {
1380
- event2.target.setAttribute("stroke-opacity", 0);
1381
- this.tip.hide();
1382
- }).on("click", () => {
1383
- this.click_cell(sample, feature);
1384
- });
1385
- }
1386
- drawCell_ismutation(sample, feature, g) {
1387
- const [cnv, loh, itd, sv, fusion, snvindel] = getitemforsample_compound(feature, sample);
1388
- const height = this.features_on_rows ? feature.height : sample.height;
1389
- const width = this.features_on_rows ? sample.width : feature.width;
1390
- if (cnv.length + loh.length + itd.length + sv.length + fusion.length + snvindel.length == 0) {
1391
- this.drawEmptycell(sample, feature, g);
1392
- return;
1393
- }
1394
- let is_symbolic = false;
1395
- if (this.ismutation_allsymbolic) {
1396
- is_symbolic = true;
1397
- } else if (this.ismutation_allnotsymbolic) {
1398
- } else {
1399
- if (height <= 4) {
1400
- is_symbolic = true;
1401
- }
1402
- }
1403
- if (is_symbolic) {
1404
- this.drawCell_ismutation_symbolic(sample, feature, g, cnv, loh, itd, sv, fusion, snvindel);
1405
- } else {
1406
- if (loh.length) {
1407
- for (const item of loh) {
1408
- const x1 = feature.coordscale(Math.max(feature.start, item.start));
1409
- const x2 = feature.coordscale(Math.min(feature.stop, item.stop));
1410
- const loh_range = this.max_loh - this.min_loh;
1411
- g.append("rect").attr("x", this.features_on_rows ? 0 : x1).attr("y", this.features_on_rows ? x1 : 0).attr("width", this.features_on_rows ? width : Math.max(1, x2 - x1)).attr("height", this.features_on_rows ? Math.max(1, x2 - x1) : height).attr("fill", feature.loh.color).attr("fill-opacity", (item.segmean - this.min_loh) / loh_range).attr("shape-rendering", "crispEdges");
1412
- }
1413
- }
1414
- if (cnv.length) {
1415
- for (const item of cnv) {
1416
- const x1 = feature.coordscale(Math.max(feature.start, item.start));
1417
- const x2 = feature.coordscale(Math.min(feature.stop, item.stop));
1418
- const maxabslogratio = item.value > 0 ? this.max_cnv : this.min_cnv;
1419
- g.append("rect").attr("x", this.features_on_rows ? 0 : x1).attr("y", this.features_on_rows ? x1 : 0).attr("width", this.features_on_rows ? width : Math.max(1, x2 - x1)).attr("height", this.features_on_rows ? Math.max(1, x2 - x1) : height).attr("fill", item.value > 0 ? feature.cnv.colorgain : feature.cnv.colorloss).attr("fill-opacity", Math.abs(item.value / maxabslogratio)).attr("shape-rendering", "crispEdges");
1420
- }
1421
- }
1422
- if (itd.length) {
1423
- for (const item of itd) {
1424
- const x1 = feature.coordscale(Math.max(feature.start, item.start));
1425
- const x2 = feature.coordscale(Math.min(feature.stop, item.stop));
1426
- g.append("rect").attr("x", this.features_on_rows ? 0 : x1).attr("y", this.features_on_rows ? x1 : 0).attr("width", this.features_on_rows ? width : Math.max(1, x2 - x1)).attr("height", this.features_on_rows ? Math.max(1, x2 - x1) : height).attr("fill", feature.itd.color).attr("shape-rendering", "crispEdges");
1427
- }
1428
- }
1429
- if (sv.length) {
1430
- g.append("circle").attr("cx", width / 2).attr("cy", height / 2).attr("r", Math.min(width, height) / 2).attr("stroke", feature.sv.color).attr("fill", "none");
1431
- }
1432
- if (fusion.length) {
1433
- g.append("circle").attr("cx", width / 2).attr("cy", height / 2).attr("r", Math.min(width, height) / 2).attr("stroke", feature.fusion.color).attr("fill", "none");
1434
- }
1435
- if (snvindel.length) {
1436
- const m = snvindel[0];
1437
- const g2 = g.append("g").attr("transform", "translate(" + width / 2 + "," + height / 2 + ")");
1438
- const color = mclass[m.m.class].color;
1439
- const w = Math.min(width, height) / 2;
1440
- g2.append("line").attr("x1", -w).attr("x2", w).attr("y1", -w).attr("y2", w).attr("stroke", "white").attr("stroke-width", 3);
1441
- g2.append("line").attr("x1", -w).attr("x2", w).attr("y1", w).attr("y2", -w).attr("stroke", "white").attr("stroke-width", 3);
1442
- g2.append("line").attr("x1", -w).attr("x2", w).attr("y1", -w).attr("y2", w).attr("stroke", color);
1443
- g2.append("line").attr("x1", -w).attr("x2", w).attr("y1", w).attr("y2", -w).attr("stroke", color);
1444
- }
1445
- }
1446
- g.append("rect").attr("width", width).attr("height", height).attr("fill", "white").attr("fill-opacity", 0).attr("stroke", "#ccc").attr("stroke-opacity", 0).attr("shape-rendering", "crispEdges").on("mouseover", (event2) => {
1447
- event2.target.setAttribute("stroke-opacity", 1);
1448
- this.showTip_cell(sample, feature);
1449
- }).on("mouseout", (event2) => {
1450
- event2.target.setAttribute("stroke-opacity", 0);
1451
- this.tip.hide();
1452
- }).on("click", () => {
1453
- this.click_cell(sample, feature);
1454
- });
1455
- }
1456
- drawCell_ismutation_symbolic(sample, feature, g, cnv, loh, itd, sv, fusion, snvindel) {
1457
- const height = this.features_on_rows ? feature.height : sample.height;
1458
- const width = this.features_on_rows ? sample.width : feature.width;
1459
- const loh_range = this.max_loh - this.min_loh;
1460
- const lst = [];
1461
- if (cnv.length) {
1462
- for (const i of cnv) {
1463
- const maxabslogratio = i.value > 0 ? this.max_cnv : this.min_cnv;
1464
- let k;
1465
- if (i.value > 0) {
1466
- k = { color: feature.cnv.colorgain };
1467
- } else {
1468
- k = { color: feature.cnv.colorloss };
1469
- }
1470
- k.opacity = Math.abs(i.value / maxabslogratio);
1471
- lst.push(k);
1472
- }
1473
- }
1474
- if (loh.length) {
1475
- for (const i of loh) {
1476
- lst.push({
1477
- color: feature.loh.color,
1478
- opacity: (i.segmean - this.min_loh) / loh_range
1479
- });
1480
- }
1481
- }
1482
- if (itd.length) {
1483
- for (const i of itd) {
1484
- lst.push({ color: feature.itd.color });
1485
- }
1486
- }
1487
- if (sv.length) {
1488
- for (const i of sv) {
1489
- lst.push({ color: feature.sv.color });
1490
- }
1491
- }
1492
- if (fusion.length) {
1493
- for (const i of fusion) {
1494
- lst.push({ color: feature.fusion.color });
1495
- }
1496
- }
1497
- if (snvindel.length) {
1498
- for (const i of snvindel) {
1499
- lst.push({ color: mclass[i.m.class].color });
1500
- }
1501
- }
1502
- const f_len = this.features_on_rows ? height / lst.length : width / lst.length;
1503
- let f_start = 0;
1504
- for (const i of lst) {
1505
- const r = g.append("rect").attr("x", this.features_on_rows ? 0 : f_start).attr("y", this.features_on_rows ? f_start : 0).attr("width", this.features_on_rows ? width : f_len).attr("height", this.features_on_rows ? f_len : height).attr("fill", i.color).attr("shape-rendering", "crispEdges");
1506
- if (i.opacity) r.attr("opacity", i.opacity);
1507
- f_start += f_len;
1508
- }
1509
- }
1510
- // __newattr draw cell for new feature
1511
- /*********** __draw ends *****/
1512
- async click_cell(sample, feature) {
1513
- try {
1514
- let svcnvtk;
1515
- if (this.iscustom) {
1516
- svcnvtk = {
1517
- iscustom: true,
1518
- type: tkt.mdssvcnv,
1519
- singlesample: {
1520
- name: sample.name
1521
- }
1522
- };
1523
- for (const k in this.querykey2tracks) {
1524
- const t = this.querykey2tracks[k];
1525
- if (t.type == tkt.mdssvcnv) {
1526
- svcnvtk.name = t.name || "Custom tk";
1527
- svcnvtk.file = t.file;
1528
- svcnvtk.url = t.url;
1529
- svcnvtk.indexURL = t.indexURL;
1530
- } else if (t.type == tkt.mdsvcf) {
1531
- svcnvtk.checkvcf = {
1532
- file: t.file,
1533
- url: t.url,
1534
- indexURL: t.indexURL
1535
- };
1536
- } else if (t.type == tkt.mdsexpression) {
1537
- svcnvtk.checkexpressionrank = {
1538
- file: t.file,
1539
- url: t.url,
1540
- indexURL: t.indexURL
1541
- };
1542
- }
1543
- }
1544
- } else {
1545
- if (!this.mds) throw "not custom but .mds{} missing";
1546
- for (const querykey in this.mds.queries) {
1547
- const tk = this.mds.queries[querykey];
1548
- if (tk.type == tkt.mdssvcnv) {
1549
- svcnvtk = {
1550
- mds: this.mds,
1551
- querykey,
1552
- singlesample: {
1553
- name: sample.name
1554
- }
1555
- };
1556
- for (const k in tk) svcnvtk[k] = tk[k];
1557
- break;
1558
- }
1559
- }
1560
- }
1561
- if (!svcnvtk) throw "cannot find a svcnv tk";
1562
- svcnvtk.bplengthUpperLimit = 0;
1563
- const pane = newpane({ x: 100, y: 100 });
1564
- const blockarg = {
1565
- jwt: this.jwt,
1566
- hostURL: this.hostURL,
1567
- nobox: 1,
1568
- genome: this.genome,
1569
- holder: pane.body,
1570
- chr: feature.chr,
1571
- start: feature.start,
1572
- stop: feature.stop,
1573
- tklst: []
1574
- };
1575
- first_genetrack_tolist(this.genome, blockarg.tklst);
1576
- blockarg.tklst.push(svcnvtk);
1577
- if (!this.iscustom) {
1578
- if (!this.dslabel) throw "not custom but dslabel missing";
1579
- const par = {
1580
- genome: this.genome.name,
1581
- dslabel: this.dslabel,
1582
- querykey: svcnvtk.querykey,
1583
- gettrack4singlesample: sample.name
1584
- };
1585
- const data = await dofetch("/mdssvcnv", par);
1586
- if (data.error) throw "Error checking for assay track: " + data.error;
1587
- if (data.tracks) {
1588
- for (const t of data.tracks) blockarg.tklst.push(t);
1589
- }
1590
- }
1591
- const _ = await import("./block-2QM37YSE.js");
1592
- new _.Block(blockarg);
1593
- } catch (e) {
1594
- window.alert(e.message || e);
1595
- if (e.stack) console.log(e.stack);
1596
- }
1597
- }
1598
- /********** __menu and tooltip **********/
1599
- showTip_feature(f) {
1600
- this.tip.clear();
1601
- this.tipContent_feature(f, this.tip.d);
1602
- this.tip.showunder(event.target);
1603
- }
1604
- showMenu_feature(f) {
1605
- this.menu.showunder(event.target).clear();
1606
- this.tipContent_feature(f, this.menu.d);
1607
- this.menu.d.append("div").attr("class", "sja_menuoption").text("Remove this feature").on("click", () => {
1608
- this.menu.hide();
1609
- f.legend_tr.remove();
1610
- this.features.splice(
1611
- this.features.findIndex((i) => i.id == f.id),
1612
- 1
1613
- );
1614
- this.draw_matrix();
1615
- });
1616
- if (f.isgenevalue) return showMenu_isgenevalue(this, f);
1617
- if (f.iscnv) return showMenu_iscnv(this, f, f);
1618
- if (f.isloh) return showMenu_isloh(this, f, f);
1619
- if (f.ismutation) return showMenu_ismutation(this, f);
1620
- if (f.isitd) {
1621
- return;
1622
- }
1623
- if (f.issvfusion) {
1624
- return;
1625
- }
1626
- if (f.issvcnv) {
1627
- return;
1628
- }
1629
- if (f.issampleattribute) {
1630
- return;
1631
- }
1632
- }
1633
- tipContent_feature(f, holder) {
1634
- holder.append("div").text(f.label).style("opacity", 0.5).style("font-size", ".7em").style("margin", "10px");
1635
- if (f.isgenevalue || f.iscnv || f.isloh || f.isitd || f.issvfusion) {
1636
- holder.append("div").html(f.chr + ":" + f.start + "-" + f.stop + " &nbsp; " + bplen(f.stop - f.start)).style("font-size", ".7em").style("opacity", 0.5).style("margin", "0px 10px 10px 10px");
1637
- } else if (f.issvcnv || f.ismutation) {
1638
- if (!f.genename) {
1639
- holder.append("div").html(f.chr + ":" + f.start + "-" + f.stop + " &nbsp; " + bplen(f.stop - f.start)).style("font-size", ".7em").style("opacity", 0.5).style("margin", "0px 10px 10px 10px");
1640
- }
1641
- } else if (f.issampleattribute) {
1642
- holder.append("div").text(f.label);
1643
- }
1644
- if (f.isgenevalue) {
1645
- holder.append("div").text("Min: " + f.scale.minv + ", max: " + f.scale.maxv).style("font-size", ".7em").style("opacity", 0.5).style("margin", "0px 10px 10px 10px");
1646
- }
1647
- }
1648
- showTip_sample(sample) {
1649
- this.tip.clear().d.append("div").text(sample.name).style("padding", "10px").style("font-size", ".7em");
1650
- const lst = [];
1651
- for (const f of this.features) {
1652
- if (lst.length > 10) {
1653
- lst.push({ k: "more", v: "..." });
1654
- break;
1655
- }
1656
- if (f.isgenevalue) {
1657
- const v = f.items.find((i) => i.sample == sample.name);
1658
- lst.push({ k: f.label, v: v ? v.value : saynovalue });
1659
- continue;
1660
- }
1661
- if (f.iscnv) {
1662
- const items = f.items.filter((i) => i.sample == sample.name);
1663
- let text;
1664
- if (items.length == 0) {
1665
- text = saynovalue;
1666
- } else {
1667
- const lst2 = items.map((i) => {
1668
- return "<div>" + i.chr + ":" + i.start + "-" + i.stop + ' <span style="font-size:.7em">' + bplen(i.stop - i.start) + '</span> <span style="font-size:.8em;background:' + (i.value > 0 ? f.colorgain : f.colorloss) + ';color:white;padding:1px 5px">' + i.value + "</span></div>";
1669
- });
1670
- text = lst2.join("");
1671
- }
1672
- lst.push({ k: f.label, v: text });
1673
- continue;
1674
- }
1675
- if (f.isloh) {
1676
- const items = f.items.filter((i) => i.sample == sample.name);
1677
- let text;
1678
- if (items.length == 0) {
1679
- text = saynovalue;
1680
- } else {
1681
- const lst2 = items.map((i) => {
1682
- return "<div>" + i.chr + ":" + i.start + "-" + i.stop + ' <span style="font-size:.7em">' + bplen(i.stop - i.start) + '</span> <span style="font-size:.8em;background:' + f.color + ';color:white;padding:1px 5px">' + i.segmean + "</span></div>";
1683
- });
1684
- text = lst2.join("");
1685
- }
1686
- lst.push({ k: f.label, v: text });
1687
- continue;
1688
- }
1689
- if (f.isvcf) {
1690
- const mlst = getitemforsample_vcf(f, sample);
1691
- let text;
1692
- if (mlst.length == 0) {
1693
- text = saynovalue;
1694
- } else {
1695
- text = mlst.map((m) => {
1696
- return '<div><span style="color:' + mclass[m.class].color + '">' + m.mname + '</span> <span style="font-size:.7em;opacity:.5">' + mclass[m.class].label + "</span></div>";
1697
- }).join("");
1698
- }
1699
- lst.push({ k: f.label, v: text });
1700
- continue;
1701
- }
1702
- if (f.isitd) {
1703
- const items = f.items.filter((i) => i.sample == sample.name);
1704
- let text;
1705
- if (items.length == 0) {
1706
- text = saynovalue;
1707
- } else {
1708
- text = '<div style="background:' + f.color + ';width:20px">&nbsp;</div>';
1709
- }
1710
- lst.push({ k: f.label, v: text });
1711
- continue;
1712
- }
1713
- if (f.issvfusion) {
1714
- const items = f.items.filter((i) => i.sample == sample.name);
1715
- let text;
1716
- if (items.length == 0) {
1717
- text = saynovalue;
1718
- } else {
1719
- text = '<div style="background:' + f.color + ';width:20px">&nbsp;</div>';
1720
- }
1721
- lst.push({ k: f.label, v: text });
1722
- continue;
1723
- }
1724
- if (f.issvcnv) {
1725
- continue;
1726
- }
1727
- if (f.ismutation) {
1728
- continue;
1729
- }
1730
- if (f.issampleattribute) {
1731
- const item = f.items.find((i) => i.sample == sample.name);
1732
- if (item) {
1733
- lst.push({ k: f.label, v: item.value });
1734
- }
1735
- continue;
1736
- }
1737
- console.error("sample tooltip: Unknown feature type");
1738
- }
1739
- make_table_2col(this.tip.d, lst);
1740
- this.tip.show(event.clientX, event.clientY);
1741
- }
1742
- showTip_cell(sample, f) {
1743
- const lst = [{ k: "sample", v: sample.name }];
1744
- if (f.isgenevalue) {
1745
- const v = f.items.find((i) => i.sample == sample.name);
1746
- lst.push({ k: f.label, v: v ? v.value : saynovalue });
1747
- } else if (f.iscnv) {
1748
- const items = f.items.filter((i) => i.sample == sample.name);
1749
- let text;
1750
- if (items.length == 0) {
1751
- text = saynovalue;
1752
- } else {
1753
- const lst2 = items.map((i) => {
1754
- return "<div>" + i.chr + ":" + i.start + "-" + i.stop + ' <span style="font-size:.7em">' + bplen(i.stop - i.start) + '</span> <span style="font-size:.8em;background:' + (i.value > 0 ? f.colorgain : f.colorloss) + ';color:white;padding:1px 5px">' + i.value + "</span></div>";
1755
- });
1756
- text = lst2.join("");
1757
- }
1758
- lst.push({ k: f.label, v: text });
1759
- } else if (f.isloh) {
1760
- const items = f.items.filter((i) => i.sample == sample.name);
1761
- let text;
1762
- if (items.length == 0) {
1763
- text = saynovalue;
1764
- } else {
1765
- const lst2 = items.map((i) => {
1766
- return "<div>" + i.chr + ":" + i.start + "-" + i.stop + ' <span style="font-size:.7em">' + bplen(i.stop - i.start) + '</span> <span style="font-size:.8em;background:' + f.color + ';color:white;padding:1px 5px">' + i.segmean + "</span></div>";
1767
- });
1768
- text = lst2.join("");
1769
- }
1770
- lst.push({ k: f.label, v: text });
1771
- } else if (f.isvcf) {
1772
- const mlst = getitemforsample_vcf(f, sample);
1773
- let text;
1774
- if (mlst.length == 0) {
1775
- text = saynovalue;
1776
- } else {
1777
- text = mlst.map((m) => {
1778
- return '<div><span style="color:' + mclass[m.class].color + '">' + m.mname + '</span> <span style="font-size:.7em;opacity:.5">' + mclass[m.class].label + "</span></div>";
1779
- }).join("");
1780
- }
1781
- lst.push({ k: f.label, v: text });
1782
- } else if (f.isitd) {
1783
- const items = f.items.filter((i) => i.sample == sample.name);
1784
- let text;
1785
- if (items.length == 0) {
1786
- text = saynovalue;
1787
- } else {
1788
- const lst2 = items.map((i) => {
1789
- return "<div>" + i.chr + ":" + i.start + "-" + i.stop + " </div>";
1790
- });
1791
- text = lst2.join("");
1792
- }
1793
- lst.push({ k: f.label, v: text });
1794
- } else if (f.issvfusion) {
1795
- const items = f.items.filter((i) => i.sample == sample.name);
1796
- let text;
1797
- if (items.length == 0) {
1798
- text = saynovalue;
1799
- } else {
1800
- const lst2 = items.map((i) => {
1801
- return "<div>" + i.chrA + ":" + i.posA + " - " + i.chrB + ":" + i.posB + " </div>";
1802
- });
1803
- text = lst2.join("");
1804
- }
1805
- lst.push({ k: f.label, v: text });
1806
- } else if (f.issvcnv || f.ismutation) {
1807
- const [cnv, loh, itd, sv, fusion, snvindel] = getitemforsample_compound(f, sample);
1808
- if (cnv.length) {
1809
- lst.push({
1810
- k: (f.genename || f.label) + " CNV",
1811
- v: cnv.map((i) => {
1812
- return '<div><span style="background:' + (i.value > 0 ? f.cnv.colorgain : f.cnv.colorloss) + ';color:white;padding:0px 3px">' + i.value + '</span> <span style="font-size:.8em">' + i.chr + ":" + i.start + "-" + i.stop + " &nbsp;&nbsp;" + bplen(i.stop - i.start) + "</span></div>";
1813
- }).join("")
1814
- });
1815
- }
1816
- if (loh.length) {
1817
- lst.push({
1818
- k: (f.genename || f.label) + " LOH",
1819
- v: loh.map((i) => {
1820
- return '<div><span style="background:' + f.loh.color + ';color:white;padding:0px 3px">' + i.segmean + '</span> <span style="font-size:.8em">' + i.chr + ":" + i.start + "-" + i.stop + " &nbsp;&nbsp;" + bplen(i.stop - i.start) + "</span></div>";
1821
- }).join("")
1822
- });
1823
- }
1824
- if (itd.length) {
1825
- lst.push({
1826
- k: (f.genename || f.label) + " ITD",
1827
- v: itd.map((i) => {
1828
- return '<div style="font-size:.8em">' + i.chr + ":" + i.start + "-" + i.stop + "</div>";
1829
- }).join("")
1830
- });
1831
- }
1832
- if (sv.length) {
1833
- lst.push({
1834
- k: (f.genename || f.label) + " SV",
1835
- v: sv.map((i) => {
1836
- return "<div>" + i.chrA + ":" + i.posA + "," + i.strandA + " &gt; " + i.chrB + ":" + i.posB + "," + i.strandB + "</div>";
1837
- }).join("")
1838
- });
1839
- }
1840
- if (fusion.length) {
1841
- lst.push({
1842
- k: (f.genename || f.label) + " fusion",
1843
- v: fusion.map((i) => {
1844
- return "<div>" + i.chrA + ":" + i.posA + "," + i.strandA + " &gt; " + i.chrB + ":" + i.posB + "," + i.strandB + "</div>";
1845
- }).join("")
1846
- });
1847
- }
1848
- if (snvindel.length) {
1849
- lst.push({
1850
- k: (f.genename || f.label) + " SNV/indel",
1851
- v: snvindel.map((m) => {
1852
- const c = mclass[m.m.class];
1853
- return '<div><span style="color:' + c.color + '">' + (m.m.mname || "") + '</span> <span style="font-size:.7em;opacity:.5">' + c.label + "</span></div>";
1854
- }).join("")
1855
- });
1856
- }
1857
- } else if (f.issampleattribute) {
1858
- const item = f.items.find((i) => i.sample == sample.name);
1859
- if (item) {
1860
- lst.push({
1861
- k: f.label,
1862
- v: item.value
1863
- });
1864
- }
1865
- } else {
1866
- console.error("cell tooltip: unknown feature type");
1867
- }
1868
- this.tip.clear();
1869
- make_table_2col(this.tip.d, lst);
1870
- this.tip.show(event.clientX, event.clientY);
1871
- }
1872
- /********** __menu ends **********/
1873
- sortsamplesbyfeatures() {
1874
- const sortbygenevalue = this.features.find((f) => f.isgenevalue && f.sort);
1875
- if (sortbygenevalue && sortbygenevalue.items) {
1876
- const sample2value = /* @__PURE__ */ new Map();
1877
- for (const i of sortbygenevalue.items) {
1878
- sample2value.set(i.sample, i.value);
1879
- }
1880
- this.samples.sort((i, j) => {
1881
- const vi = sample2value.has(i.name) ? sample2value.get(i.name) : sortbygenevalue.missingvalue;
1882
- const vj = sample2value.has(j.name) ? sample2value.get(j.name) : sortbygenevalue.missingvalue;
1883
- return vj - vi;
1884
- });
1885
- }
1886
- }
1887
- may_init_customvcf(tk) {
1888
- if (tk.info) return;
1889
- const arg = ["genome=" + this.genome.name];
1890
- if (tk.file) {
1891
- arg.push("file=" + tk.file);
1892
- } else {
1893
- arg.push("url=" + tk.url);
1894
- if (tk.indexURL) arg.push("indexURL=" + tk.indexURL);
1895
- }
1896
- return dofetch2("vcfheader?" + arg.join("&")).then((data) => {
1897
- const [info, format, samples, errs] = vcfparsemeta(data.metastr.split("\n"));
1898
- if (errs) throw "Error parsing VCF meta lines: " + errs.join("; ");
1899
- tk.info = info;
1900
- tk.format = format;
1901
- tk.samples = samples;
1902
- tk.nochr = data.nochr;
1903
- });
1904
- }
1905
- drawEmptycell(sample, feature, g) {
1906
- const height = this.features_on_rows ? feature.height : sample.height;
1907
- const width = this.features_on_rows ? sample.width : feature.width;
1908
- if (height < 5) return;
1909
- g.append("line").attr("x2", width).attr("y2", height).attr("stroke", "#ededed");
1910
- }
1911
- // end of class
1912
- };
1913
- function feature2arg(f) {
1914
- if (f.isgenevalue) {
1915
- return {
1916
- id: f.id,
1917
- isgenevalue: 1,
1918
- querykey: f.querykey,
1919
- genename: f.genename,
1920
- chr: f.chr,
1921
- start: f.start,
1922
- stop: f.stop
1923
- };
1924
- }
1925
- if (f.iscnv) {
1926
- return {
1927
- id: f.id,
1928
- iscnv: 1,
1929
- querykey: f.querykey,
1930
- chr: f.chr,
1931
- start: f.start,
1932
- stop: f.stop,
1933
- valuecutoff: f.valuecutoff,
1934
- focalsizelimit: f.focalsizelimit
1935
- };
1936
- }
1937
- if (f.isloh) {
1938
- return {
1939
- id: f.id,
1940
- isloh: 1,
1941
- querykey: f.querykey,
1942
- chr: f.chr,
1943
- start: f.start,
1944
- stop: f.stop,
1945
- valuecutoff: f.valuecutoff,
1946
- focalsizelimit: f.focalsizelimit
1947
- };
1948
- }
1949
- if (f.isvcf) {
1950
- return {
1951
- id: f.id,
1952
- isvcf: 1,
1953
- querykey: f.querykey,
1954
- chr: f.chr,
1955
- start: f.start,
1956
- stop: f.stop,
1957
- snvindel: {
1958
- excludeclasses: f.snvindel.excludeclasses
1959
- }
1960
- };
1961
- }
1962
- if (f.isitd) {
1963
- return {
1964
- id: f.id,
1965
- isitd: 1,
1966
- querykey: f.querykey,
1967
- chr: f.chr,
1968
- start: f.start,
1969
- stop: f.stop
1970
- };
1971
- }
1972
- if (f.issvfusion) {
1973
- return {
1974
- id: f.id,
1975
- issvfusion: 1,
1976
- querykey: f.querykey,
1977
- chr: f.chr,
1978
- start: f.start,
1979
- stop: f.stop
1980
- };
1981
- }
1982
- if (f.issvcnv || f.ismutation) {
1983
- const arg = {
1984
- id: f.id,
1985
- chr: f.chr,
1986
- start: f.start,
1987
- stop: f.stop,
1988
- cnv: {
1989
- hidden: f.cnv.hidden,
1990
- valuecutoff: f.cnv.valuecutoff,
1991
- focalsizelimit: f.cnv.focalsizelimit
1992
- },
1993
- loh: {
1994
- hidden: f.loh.hidden,
1995
- valuecutoff: f.loh.valuecutoff,
1996
- focalsizelimit: f.loh.focalsizelimit
1997
- },
1998
- itd: {
1999
- hidden: f.itd.hidden
2000
- },
2001
- sv: {
2002
- hidden: f.sv.hidden
2003
- },
2004
- fusion: {
2005
- hidden: f.fusion.hidden
2006
- },
2007
- snvindel: {
2008
- excludeclasses: f.snvindel.excludeclasses
2009
- }
2010
- };
2011
- if (f.issvcnv) {
2012
- arg.issvcnv = 1;
2013
- arg.querykey = f.querykey;
2014
- } else {
2015
- arg.ismutation = 1;
2016
- arg.querykeylst = f.querykeylst;
2017
- }
2018
- return arg;
2019
- }
2020
- if (f.issampleattribute) {
2021
- return {
2022
- id: f.id,
2023
- issampleattribute: 1,
2024
- key: f.key
2025
- };
2026
- }
2027
- throw "unknown feature type in making request parameter";
2028
- }
2029
- function getitemforsample_vcf(feature, sample) {
2030
- const mlst = [];
2031
- for (const m of feature.items) {
2032
- if (m.dt == dtsnvindel) {
2033
- if (m.sampledata.findIndex((i) => i.sampleobj.name == sample.name) != -1) {
2034
- mlst.push(m);
2035
- }
2036
- } else {
2037
- console.error("getitemforsample_vcf: unknown dt");
2038
- }
2039
- }
2040
- return mlst;
2041
- }
2042
- function getitemforsample_compound(feature, sample) {
2043
- const cnv = [], loh = [], itd = [], sv = [], fusion = [], snvindel = [];
2044
- for (const item of feature.items) {
2045
- if (item.dt == dtsnvindel) {
2046
- if (!item.sampledata) continue;
2047
- const m_sample = item.sampledata.find((s) => s.sampleobj.name == sample.name);
2048
- if (!m_sample) continue;
2049
- snvindel.push({
2050
- m: item,
2051
- m_sample
2052
- });
2053
- continue;
2054
- }
2055
- if (item.sample != sample.name) continue;
2056
- if (item.dt == dtcnv) {
2057
- cnv.push(item);
2058
- } else if (item.dt == dtloh) {
2059
- loh.push(item);
2060
- } else if (item.dt == dtitd) {
2061
- itd.push(item);
2062
- } else if (item.dt == dtsv) {
2063
- sv.push(item);
2064
- } else if (item.dt == dtfusionrna) {
2065
- fusion.push(item);
2066
- } else {
2067
- console.error("unknown dt: " + item.dt);
2068
- }
2069
- }
2070
- return [cnv, loh, itd, sv, fusion, snvindel];
2071
- }
2072
- function initfeature_polymutation(f) {
2073
- if (!f.width) f.width = 20;
2074
- if (!f.cnv) f.cnv = {};
2075
- if (!f.cnv.valuecutoff) f.cnv.valuecutoff = 0.2;
2076
- if (!Number.isInteger(f.cnv.focalsizelimit)) f.cnv.focalsizelimit = 2e6;
2077
- if (!f.cnv.colorgain) f.cnv.colorgain = default_cnvgaincolor;
2078
- if (!f.cnv.colorloss) f.cnv.colorloss = default_cnvlosscolor;
2079
- if (!f.loh) f.loh = {};
2080
- if (!f.loh.valuecutoff) f.loh.valuecutoff = 0.1;
2081
- if (!Number.isInteger(f.loh.focalsizelimit)) f.loh.focalsizelimit = 2e6;
2082
- if (!f.loh.color) f.loh.color = default_lohcolor;
2083
- if (!f.itd) f.itd = {};
2084
- if (!f.itd.color) f.itd.color = mclass[mclassitd].color;
2085
- if (!f.sv) f.sv = {};
2086
- if (!f.sv.color) f.sv.color = default_svcolor;
2087
- if (!f.fusion) f.fusion = {};
2088
- if (!f.fusion.color) f.fusion.color = default_svcolor;
2089
- if (!f.snvindel) f.snvindel = {};
2090
- if (!f.snvindel.excludeclasses) f.snvindel.excludeclasses = {};
2091
- }
2092
- function init_controlui(o) {
2093
- const buttonrow = o.holder.append("div").style("margin-bottom", "5px");
2094
- const folderdiv = o.holder.append("div").style("margin-bottom", "20px");
2095
- buttonrow.append("span").style("margin-right", "20px").style("font-size", ".8em").text("LEGEND").attr("class", "sja_clbtext").on("click", () => {
2096
- if (o.legendtable.style("display") == "none") {
2097
- appear(o.legendtable);
2098
- } else {
2099
- disappear(o.legendtable);
2100
- }
2101
- });
2102
- o.legendtable = folderdiv.append("table").style("border-top", "solid 1px #ededed").style("border-bottom", "solid 1px #ededed").style("border-spacing", "10px").style("display", "none");
2103
- buttonrow.append("span").style("margin-right", "20px").style("font-size", ".8em").text("CONFIG").attr("class", "sja_clbtext").on("click", () => {
2104
- if (generalconfig.style("display") == "none") {
2105
- appear(generalconfig);
2106
- } else {
2107
- disappear(generalconfig);
2108
- }
2109
- });
2110
- const generalconfig = folderdiv.append("div").style("border-top", "solid 1px #ededed").style("border-bottom", "solid 1px #ededed").style("display", "none");
2111
- const row = generalconfig.append("div").style("margin", "5px");
2112
- row.append("div").style("vertical-align", "top").style("display", "inline-block").html("Show features as &nbsp;&nbsp;");
2113
- const opts_div = row.append("div").style("display", "inline-block");
2114
- const mutation_opts = [
2115
- { value: "symbol", text: "CNV on genomic location, others as symbol" },
2116
- { value: "proportion", text: "All features as porportion" }
2117
- ];
2118
- mutation_opts.forEach((opt) => {
2119
- const opt_div = opts_div.append("div");
2120
- opt_div.append("input").attr("type", "radio").attr("id", opt.value).attr("name", "mutaion_display").attr("value", opt.value).property(
2121
- "checked",
2122
- opt.value == "symbol" && o.ismutation_allsymbolic === void 0 && o.ismutation_allnotsymbolic === void 0 ? 1 : opt.value == "symbol" && o.ismutation_allnotsymbolic ? 1 : opt.value == "proportion" && o.ismutation_allsymbolic ? 1 : 0
2123
- ).on("change", function() {
2124
- if (opt.value == "symbol" && o.ismutation_allnotsymbolic) return;
2125
- else if (opt.value == "proportion" && o.ismutation_allsymbolic) return;
2126
- else if (opt.value == "symbol") {
2127
- delete o.ismutation_allsymbolic;
2128
- o.ismutation_allnotsymbolic = true;
2129
- } else if (opt.value == "proportion") {
2130
- o.ismutation_allsymbolic = true;
2131
- delete o.ismutation_allnotsymbolic;
2132
- } else {
2133
- return;
2134
- }
2135
- o.draw_matrix();
2136
- });
2137
- opt_div.append("label").attr("for", opt.value).text(opt.text);
2138
- });
2139
- const row2 = generalconfig.append("div").style("margin", "5px");
2140
- row2.append("div").style("vertical-align", "top").style("display", "inline-block").html("Layout of Matrix &nbsp;&nbsp;");
2141
- const opts_div2 = row2.append("div").style("display", "inline-block");
2142
- const layout_opts = [
2143
- { value: "gene_on_row", text: "Genes as Rows" },
2144
- { value: "sam_on_row", text: "Samples as Rows" }
2145
- ];
2146
- layout_opts.forEach((opt) => {
2147
- const opt_div = opts_div2.append("div");
2148
- opt_div.append("input").attr("type", "radio").attr("id", opt.value).attr("name", "layout").attr("value", opt.value).property(
2149
- "checked",
2150
- opt.value == "gene_on_row" && o.features_on_rows ? 1 : opt.value == "sam_on_row" && !o.features_on_rows ? 1 : 0
2151
- ).on("change", function() {
2152
- if (opt.value == "gene_on_row" && o.features_on_rows) return;
2153
- else if (opt.value == "sam_on_row" && !o.features_on_rows) return;
2154
- else if (opt.value == "gene_on_row") {
2155
- o.features_on_rows = true;
2156
- if (o.ori_feature_width) o.features.forEach((f) => f.height = o.ori_feature_width);
2157
- } else {
2158
- o.features_on_rows = false;
2159
- if (o.ori_feature_height) o.features.forEach((f) => f.width = o.ori_feature_height);
2160
- }
2161
- o.draw_matrix();
2162
- });
2163
- opt_div.append("label").attr("for", opt.value).text(opt.text);
2164
- });
2165
- buttonrow.append("span").style("margin-right", "20px").style("font-size", ".8em").text("DATA").attr("class", "sja_clbtext").on("click", () => {
2166
- printData(o);
2167
- });
2168
- may_add_kmplotbutton(o, buttonrow);
2169
- }
2170
- function printData(o) {
2171
- const lst = ["sample feature varianttype variant"];
2172
- for (const s of o.samples) {
2173
- for (const f of o.features) {
2174
- for (const i of f.items) {
2175
- if (i.sample && i.sample == s.name || i.sampledata && i.sampledata.findIndex((i2) => i2.sampleobj.name == s.name) != -1) {
2176
- lst.push(s.name + " " + f.label + " " + dt2label[i.dt] + " " + item2string(i));
2177
- }
2178
- }
2179
- }
2180
- }
2181
- export_data("Matrix data", [{ text: lst.join("\n") }]);
2182
- }
2183
- function item2string(i) {
2184
- if (i.dt == dtsnvindel)
2185
- return i.mname + " " + mclass[i.class].label + " " + i.chr + "." + i.pos + "." + i.ref + "." + i.alt;
2186
- if (i.dt == dtfusionrna || i.dt == dtsv)
2187
- return i.chrA + "." + i.posA + "." + (i.strandA || "") + " > " + i.chrB + "." + i.posB + "." + (i.strandB || "");
2188
- if (i.dt == dtcnv) return i.chr + ":" + i.start + "-" + i.stop + ", log2(ratio): " + i.value;
2189
- if (i.dt == dtloh) return i.chr + ":" + i.start + "-" + i.stop + ", log2(ratio): " + i.segmean;
2190
- if (i.dt == dtitd) return i.chr + ":" + i.start + "-" + i.stop;
2191
- return "";
2192
- }
2193
- export {
2194
- Samplematrix
2195
- };
2196
- //# sourceMappingURL=samplematrix-PYQFAH64.js.map