@sjcrh/proteinpaint-client 2.190.2 → 2.191.2

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 (932) hide show
  1. package/dist/2dmaf-V4WJ2LEK.js +1373 -0
  2. package/dist/AIProjectAdmin-JMN5O6YU.js +829 -0
  3. package/dist/AppHeader-Y4SEKCEF.js +835 -0
  4. package/dist/BoxPlot-ZXQZGCR3.js +1211 -0
  5. package/dist/BoxPlot-ZXQZGCR3.js.map +7 -0
  6. package/dist/CorrelationVolcano-R5IWD6WA.js +619 -0
  7. package/dist/DE-ZV6O7B6Y.js +95 -0
  8. package/dist/DEinput-FTOALZKN.js +301 -0
  9. package/dist/DifferentialAnalysis-NLCA766A.js +245 -0
  10. package/dist/Disco-Y5Z4A7GN.js +3237 -0
  11. package/dist/Disco.UI-GSWZYIUT.js +245 -0
  12. package/dist/DmrPlot-FEFUCIGT.js +642 -0
  13. package/dist/DziViewer-6737GC22.js +16332 -0
  14. package/dist/GB-AOXF2JJB.js +1130 -0
  15. package/dist/GeneExpInput-CXYRKQU7.js +366 -0
  16. package/dist/HicApp-GLNNZ4H5.js +2250 -0
  17. package/dist/NumBinaryEditor-6ZAL6CCP.js +271 -0
  18. package/dist/NumBinaryEditor-6ZAL6CCP.js.map +7 -0
  19. package/dist/NumBinaryEditor.unit.spec-3VTJLILH.js +286 -0
  20. package/dist/NumContEditor-3LOAR676.js +109 -0
  21. package/dist/NumContEditor-3LOAR676.js.map +7 -0
  22. package/dist/NumContEditor.unit.spec-WIMYCOVO.js +169 -0
  23. package/dist/NumCustomBinEditor-XIOAYWOD.js +38 -0
  24. package/dist/NumCustomBinEditor.unit.spec-N5OV6MKR.js +284 -0
  25. package/dist/NumDiscreteEditor-AT6FKYGI.js +179 -0
  26. package/dist/NumDiscreteEditor.unit.spec-BDR5GZ46.js +202 -0
  27. package/dist/NumRegularBinEditor-Z4NBS4VZ.js +38 -0
  28. package/dist/NumRegularBinEditor.unit.spec-BRWYNQ55.js +227 -0
  29. package/dist/NumSplineEditor-B45BAWQ2.js +198 -0
  30. package/dist/NumSplineEditor-B45BAWQ2.js.map +7 -0
  31. package/dist/NumSplineEditor.unit.spec-5RDBCZ4N.js +199 -0
  32. package/dist/NumericDensity-L7HIVV7D.js +38 -0
  33. package/dist/NumericDensity.unit.spec-PL3XDJCV.js +221 -0
  34. package/dist/NumericHandler-KJYZOCCG.js +39 -0
  35. package/dist/NumericHandler.unit.spec-VC7NPLJW.js +219 -0
  36. package/dist/ProteomeInput-A3GRPIAH.js +396 -0
  37. package/dist/RunChart2-MSNU3ZNT.js +758 -0
  38. package/dist/SC-FNKG2FK5.js +936 -0
  39. package/dist/Volcano-IRJMPHXJ.js +1379 -0
  40. package/dist/WSIViewer-KITT7I67.js +48475 -0
  41. package/dist/WsiSamplesPlot-G3YZ6SIE.js +165 -0
  42. package/dist/adSandbox-GIQTJ4VA.js +38 -0
  43. package/dist/app-MGNEMS2K.js +49 -0
  44. package/dist/app-UQTHPQFD.js +37 -0
  45. package/dist/app.js +17 -17
  46. package/dist/bam-5PROQBRT.js +860 -0
  47. package/dist/barchart-BQYJ73Z4.js +47 -0
  48. package/dist/barchart.data-VFULOIHY.js +22 -0
  49. package/dist/barchart.events-W2CIDD4B.js +47 -0
  50. package/dist/barchart.integration.spec-JF2IHFQE.js +1980 -0
  51. package/dist/barchart.integration.spec-JF2IHFQE.js.map +7 -0
  52. package/dist/barchart2-V6W4UAFH.js +311 -0
  53. package/dist/block-5V2FCT7Q.js +6202 -0
  54. package/dist/block.init-43IUNDNB.js +38 -0
  55. package/dist/block.mds.expressionrank-LI6MZPBE.js +359 -0
  56. package/dist/block.mds.geneboxplot-673AIJMJ.js +828 -0
  57. package/dist/block.mds.junction-UWNVNV3X.js +1545 -0
  58. package/dist/block.mds.svcnv-Z5VFCUUE.js +6801 -0
  59. package/dist/block.svg-MGK4GWLL.js +164 -0
  60. package/dist/block.tk.aicheck-OFNDGG7Q.js +283 -0
  61. package/dist/block.tk.ase-IDZQY7MW.js +365 -0
  62. package/dist/block.tk.bam-K7A2Q5NI.js +1906 -0
  63. package/dist/block.tk.bedgraphdot-PPTKCCPK.js +384 -0
  64. package/dist/block.tk.bigwig.ui-PI6EAU43.js +212 -0
  65. package/dist/block.tk.hicstraw-EZ2GS2K4.js +823 -0
  66. package/dist/block.tk.junction-4WSLQGSQ.js +2364 -0
  67. package/dist/block.tk.junction.textmatrixui-7EJUSVMB.js +199 -0
  68. package/dist/block.tk.ld-KLVO7M37.js +99 -0
  69. package/dist/block.tk.menu-KZSL7BAR.js +1029 -0
  70. package/dist/block.tk.pgv-NYWGB4VH.js +944 -0
  71. package/dist/brainImaging-MTIIMJHW.js +423 -0
  72. package/dist/chunk-2NQLAH3L.js +443 -0
  73. package/dist/chunk-2Q6PBSPS.js +1943 -0
  74. package/dist/chunk-2TCCXOAV.js +1170 -0
  75. package/dist/chunk-2TCCXOAV.js.map +7 -0
  76. package/dist/chunk-3D5GZIGG.js +1210 -0
  77. package/dist/chunk-3TPAIXNL.js +263 -0
  78. package/dist/chunk-42EBECOD.js +95 -0
  79. package/dist/chunk-4B42QV34.js +2786 -0
  80. package/dist/chunk-4FKWINMK.js +184 -0
  81. package/dist/chunk-4FKWINMK.js.map +7 -0
  82. package/dist/chunk-4KY4XKJV.js +143 -0
  83. package/dist/chunk-52RORO74.js +158 -0
  84. package/dist/chunk-52RORO74.js.map +7 -0
  85. package/dist/chunk-5SXCIKYV.js +100 -0
  86. package/dist/chunk-647P2I4Q.js +482 -0
  87. package/dist/chunk-67HSIHPP.js +2327 -0
  88. package/dist/chunk-6GZJCSA6.js +1102 -0
  89. package/dist/chunk-6VKTEMFV.js +1815 -0
  90. package/dist/chunk-6VKTEMFV.js.map +7 -0
  91. package/dist/chunk-7JEKUSEL.js +102 -0
  92. package/dist/chunk-BMO6KSVC.js +477 -0
  93. package/dist/chunk-CKA52OEA.js +399 -0
  94. package/dist/chunk-CKA52OEA.js.map +7 -0
  95. package/dist/chunk-CKDC326M.js +50 -0
  96. package/dist/chunk-CRUBP5PT.js +446 -0
  97. package/dist/chunk-CW2Q5EA7.js +283 -0
  98. package/dist/chunk-CYHUNQMS.js +6364 -0
  99. package/dist/chunk-DC4KD6FJ.js +458 -0
  100. package/dist/chunk-DC4KD6FJ.js.map +7 -0
  101. package/dist/chunk-DHPLHIVP.js +498 -0
  102. package/dist/chunk-DJQTUDJM.js +414 -0
  103. package/dist/chunk-DJQTUDJM.js.map +7 -0
  104. package/dist/chunk-DWCVGCBX.js +381 -0
  105. package/dist/chunk-EIBNV236.js +339 -0
  106. package/dist/chunk-EZ3WMXYT.js +217 -0
  107. package/dist/chunk-F5QIZOPL.js +736 -0
  108. package/dist/chunk-F6N6JBZR.js +37 -0
  109. package/dist/chunk-FXMHSVBS.js +54 -0
  110. package/dist/chunk-FZ63VOSX.js +226 -0
  111. package/dist/chunk-GMT2GNQY.js +1332 -0
  112. package/dist/chunk-IIT367QZ.js +473 -0
  113. package/dist/chunk-IL5QT2FI.js +293 -0
  114. package/dist/chunk-J6GLTYGJ.js +2681 -0
  115. package/dist/chunk-JEZIKGZI.js +386 -0
  116. package/dist/chunk-JJOLDYSQ.js +824 -0
  117. package/dist/chunk-KSCJWPTJ.js +34 -0
  118. package/dist/chunk-L4TUTGTA.js +20787 -0
  119. package/dist/chunk-L4TUTGTA.js.map +7 -0
  120. package/dist/chunk-LT5XPBIX.js +272 -0
  121. package/dist/chunk-M3J4MINX.js +783 -0
  122. package/dist/chunk-M3J4MINX.js.map +7 -0
  123. package/dist/chunk-MEGBYD4U.js +182 -0
  124. package/dist/chunk-MEY5OBDJ.js +170 -0
  125. package/dist/chunk-MYWV64P5.js +1275 -0
  126. package/dist/chunk-MYWV64P5.js.map +7 -0
  127. package/dist/chunk-NKTBR5SK.js +613 -0
  128. package/dist/chunk-NKTBR5SK.js.map +7 -0
  129. package/dist/chunk-NVX26LFC.js +148 -0
  130. package/dist/chunk-O7NFSCEW.js +291 -0
  131. package/dist/chunk-P4QGOUDH.js +368 -0
  132. package/dist/chunk-PGBKZ76Y.js +129 -0
  133. package/dist/chunk-PQNVPSQR.js +205 -0
  134. package/dist/chunk-PQZ3A27I.js +54 -0
  135. package/dist/chunk-QNMB7LYW.js +5010 -0
  136. package/dist/chunk-RZGEKL77.js +117 -0
  137. package/dist/chunk-RZY34QRF.js +158 -0
  138. package/dist/chunk-S4JLRRKK.js +287 -0
  139. package/dist/chunk-S4JLRRKK.js.map +7 -0
  140. package/dist/chunk-SDACELDR.js +14 -0
  141. package/dist/chunk-SQWEREGE.js +222 -0
  142. package/dist/chunk-SQWEREGE.js.map +7 -0
  143. package/dist/chunk-TVADJLMF.js +317 -0
  144. package/dist/chunk-TVADJLMF.js.map +7 -0
  145. package/dist/chunk-UCLROZRF.js +142 -0
  146. package/dist/chunk-VIHUKORE.js +216 -0
  147. package/dist/chunk-VIHUKORE.js.map +7 -0
  148. package/dist/chunk-VMLSRKIB.js +276 -0
  149. package/dist/chunk-VXKO2ONI.js +534 -0
  150. package/dist/chunk-WET4LPLO.js +117 -0
  151. package/dist/chunk-WMELUFVS.js +254 -0
  152. package/dist/chunk-WS3NUPNV.js +119 -0
  153. package/dist/chunk-X5X5T3AJ.js +230 -0
  154. package/dist/chunk-X5X5T3AJ.js.map +7 -0
  155. package/dist/chunk-X63AAJGT.js +514 -0
  156. package/dist/chunk-XRAFQKOF.js +4274 -0
  157. package/dist/chunk-XRAFQKOF.js.map +7 -0
  158. package/dist/chunk-XVZ5UJWU.js +815 -0
  159. package/dist/chunk-YNBT4N6T.js +2824 -0
  160. package/dist/chunk-YVCTEEVQ.js +55 -0
  161. package/dist/chunk-YWZCJMHS.js +203 -0
  162. package/dist/chunk-Z3SC67OA.js +102 -0
  163. package/dist/chunk-ZK226W6V.js +194 -0
  164. package/dist/chunk-ZLREFIZB.js +302 -0
  165. package/dist/chunk-ZX2ISBEF.js +95 -0
  166. package/dist/condition-P2XD32QM.js +332 -0
  167. package/dist/controls-FZUTJPKV.js +41 -0
  168. package/dist/controls.btns-AP67YWKW.js +9 -0
  169. package/dist/controls.config-TEFY3NTE.js +39 -0
  170. package/dist/correlation-HS2WJFXN.js +99 -0
  171. package/dist/correlation-HS2WJFXN.js.map +7 -0
  172. package/dist/cuminc-42GBJHD3.js +1149 -0
  173. package/dist/cuminc.integration.spec-BAY4JHVL.js +678 -0
  174. package/dist/customdata.inputui-IPM5K56K.js +289 -0
  175. package/dist/dataDownload-D7VCYBDT.js +330 -0
  176. package/dist/dataDownload.integration.spec-SEBY2BIX.js +193 -0
  177. package/dist/databrowser.ui-5OC5MPZB.js +433 -0
  178. package/dist/dictionary-VVRWVLJX.js +111 -0
  179. package/dist/dnaMethylation-72IS3FRI.js +38 -0
  180. package/dist/dnaMethylation.integration.spec-U2LLSDGE.js +203 -0
  181. package/dist/dofetch-5ZRAQH5F.js +51 -0
  182. package/dist/e2pca-AR6EKEJA.js +350 -0
  183. package/dist/ep-JS5UUJQX.js +1256 -0
  184. package/dist/expclust.gdc.spec-73MGQ7RN.js +307 -0
  185. package/dist/facet-AR3QKHCY.js +521 -0
  186. package/dist/forms2-UXEI7MUP.js +534 -0
  187. package/dist/gb-RHDVYU2V.js +88 -0
  188. package/dist/geneExpClustering-L6KLCMPH.js +249 -0
  189. package/dist/geneExpression-GYT2XRE6.js +313 -0
  190. package/dist/geneExpression-SKIU3NEP.js +38 -0
  191. package/dist/geneExpression.unit.spec-CWR6KDVK.js +102 -0
  192. package/dist/geneORA-C3TALK5P.js +278 -0
  193. package/dist/geneRanking-LLYLDPLV.js +551 -0
  194. package/dist/geneVariant-PUSKBHPY.js +39 -0
  195. package/dist/geneVariant-YFMU6PHM.js +41 -0
  196. package/dist/geneVariant.integration.spec-EJ5V46OQ.js +198 -0
  197. package/dist/genefusion.ui-XUHSKQKW.js +309 -0
  198. package/dist/geneset-DEL5LXFZ.js +208 -0
  199. package/dist/genomeBrowser.spec-W5TVHOUJ.js +281 -0
  200. package/dist/grin2-FXAEGECD.js +1560 -0
  201. package/dist/grin2-U2FKULLC.js +821 -0
  202. package/dist/grin2-U2FKULLC.js.map +7 -0
  203. package/dist/gsea-CNL6SHH5.js +47 -0
  204. package/dist/hierCluster-7V65PMIW.js +59 -0
  205. package/dist/hierCluster-C44GHM4B.js +63 -0
  206. package/dist/hierCluster.config-RU5JDPWM.js +40 -0
  207. package/dist/hierCluster.integration.spec-6YH5KE4H.js +395 -0
  208. package/dist/hierCluster.interactivity-PK2L7BSW.js +54 -0
  209. package/dist/hierCluster.renderers-G3274UYA.js +21 -0
  210. package/dist/imagePlot-5SEDMPBP.js +163 -0
  211. package/dist/importPlot-M3MKWRON.js +8 -0
  212. package/dist/isoformExpression-PPMISWKT.js +40 -0
  213. package/dist/isoformExpression.unit.spec-ENHCCQRZ.js +208 -0
  214. package/dist/launch.adhoc-XAG6H42J.js +42 -0
  215. package/dist/leftlabel.sample-BSPCI6GR.js +260 -0
  216. package/dist/lollipop-IZJ7E3YO.js +171 -0
  217. package/dist/maf-54XWBQ73.js +452 -0
  218. package/dist/maftimeline-3AJKAFS6.js +593 -0
  219. package/dist/matrix-AJPMHUXG.js +63 -0
  220. package/dist/matrix-ZMXNOESU.js +58 -0
  221. package/dist/matrix.cells-E3LEVA7U.js +28 -0
  222. package/dist/matrix.config-4WLSFMTY.js +41 -0
  223. package/dist/matrix.data-WMOTOB6C.js +25 -0
  224. package/dist/matrix.dom-F7AN3QGE.js +11 -0
  225. package/dist/matrix.groups-BGMZZ6CM.js +27 -0
  226. package/dist/matrix.integration.spec-ENRPVB7R.js +3072 -0
  227. package/dist/matrix.interactivity-IMWERCZF.js +42 -0
  228. package/dist/matrix.layout-5DDZWLNX.js +44 -0
  229. package/dist/matrix.legend-RJAFOZHQ.js +22 -0
  230. package/dist/matrix.renderers-VFQZG5JP.js +38 -0
  231. package/dist/matrix.serieses-GJWHSBG4.js +21 -0
  232. package/dist/matrix.sort-KIJENIT2.js +27 -0
  233. package/dist/matrix.sort.unit.spec-ZA5DRNL6.js +472 -0
  234. package/dist/matrix.sorterUi-3KEDVLGW.js +18 -0
  235. package/dist/matrix.sorterUi.unit.spec-7TPOJ46U.js +342 -0
  236. package/dist/mavb-73BXZ7MO.js +732 -0
  237. package/dist/mds.fimo-L7VVAOXQ.js +518 -0
  238. package/dist/mds.samplescatterplot-6P75XEWB.js +1550 -0
  239. package/dist/mds.survivalplot-GCVE7XGO.js +483 -0
  240. package/dist/numericDictTermCluster-OMXIURRD.js +72 -0
  241. package/dist/oncomatrix-BFWV2IC4.js +295 -0
  242. package/dist/oncomatrix.spec-J6IAY3O6.js +448 -0
  243. package/dist/plot.2dvaf-ESJAB2F3.js +377 -0
  244. package/dist/plot.app-T7CQMBRV.js +41 -0
  245. package/dist/plot.barplot-HAWPMPPU.js +102 -0
  246. package/dist/plot.boxplot-4QUORFXY.js +152 -0
  247. package/dist/plot.brainImaging-HG6I3GJW.js +51 -0
  248. package/dist/plot.disco-LPH7F6YW.js +102 -0
  249. package/dist/plot.dzi-DYAY4D4E.js +33 -0
  250. package/dist/plot.ssgq-CF5VIGYJ.js +139 -0
  251. package/dist/plot.vaf2cov-7HZCKNK6.js +259 -0
  252. package/dist/plot.wsi-MU6AXOWO.js +36 -0
  253. package/dist/polar2-G636L5TB.js +226 -0
  254. package/dist/polar2-G636L5TB.js.map +7 -0
  255. package/dist/profileForms-TIT4JUEJ.js +441 -0
  256. package/dist/profilePlot-QFGRAZQA.js +54 -0
  257. package/dist/proteinView-RZ56F45C.js +1320 -0
  258. package/dist/proteinView-RZ56F45C.js.map +7 -0
  259. package/dist/qualitative-YWP4YUPF.js +43 -0
  260. package/dist/radar2-TKSHL54E.js +321 -0
  261. package/dist/radarFacility2-FHRFLBLF.js +329 -0
  262. package/dist/regression-5XG5LXP7.js +56 -0
  263. package/dist/regression.inputs-QHXK7ZYY.js +48 -0
  264. package/dist/regression.inputs.term-YYO3CR2D.js +48 -0
  265. package/dist/regression.inputs.values.table-3I2FCON2.js +45 -0
  266. package/dist/regression.integration.spec-QVDGCKVT.js +784 -0
  267. package/dist/regression.results-B7LVT2WG.js +40 -0
  268. package/dist/regression.spec-ISYKKQOM.js +708 -0
  269. package/dist/report-TF6Z3Y44.js +222 -0
  270. package/dist/sampleScatter.spec-2VW55XIZ.js +202 -0
  271. package/dist/sampleView-DNNJRAMU.js +48 -0
  272. package/dist/samplelst-726II3LN.js +111 -0
  273. package/dist/samplematrix-TBPW4URH.js +2198 -0
  274. package/dist/sc-GBYH3W4S.js +86 -0
  275. package/dist/scatter-ATUM7AEW.js +849 -0
  276. package/dist/scatter-ATUM7AEW.js.map +7 -0
  277. package/dist/scatter.integration.spec-PDM454O3.js +1197 -0
  278. package/dist/scatter.integration.spec-PDM454O3.js.map +7 -0
  279. package/dist/selectGenomeWithTklst-RCAYDV6D.js +134 -0
  280. package/dist/singleCellCellType-IQYCKUT6.js +38 -0
  281. package/dist/singleCellCellType.unit.spec-ZEWA2IFI.js +160 -0
  282. package/dist/singleCellGeneExpression-STLTBXJQ.js +38 -0
  283. package/dist/singleCellGeneExpression.unit.spec-W6FPS5ZU.js +153 -0
  284. package/dist/singleCellPlot-7XH7NIL4.js +54 -0
  285. package/dist/singlecell-IDZB2MXW.js +86 -0
  286. package/dist/singlecell-JCXR7X5U.js +1572 -0
  287. package/dist/snp-QOKI26PO.js +38 -0
  288. package/dist/snp.unit.spec-DTPZAALW.js +176 -0
  289. package/dist/snplocus-BKUJYANW.js +208 -0
  290. package/dist/spliceevent.a53ss.diagram-4O54ORKZ.js +151 -0
  291. package/dist/spliceevent.exonskip.diagram-KOIOS6IV.js +277 -0
  292. package/dist/spliceevent.noeventdiagram-YGUGQMVE.js +460 -0
  293. package/dist/ssGSEA-UZMBIHVD.js +38 -0
  294. package/dist/ssGSEA.unit.spec-4YO4E3T7.js +88 -0
  295. package/dist/stattable-MDABSW3F.js +90 -0
  296. package/dist/summarizeCnvGeneexp-HV3DHIW4.js +163 -0
  297. package/dist/summarizeGeneexpSurvival-VGPRWYQ5.js +108 -0
  298. package/dist/summarizeMutationCnv-N3JEB4DJ.js +164 -0
  299. package/dist/summarizeMutationDiagnosis-6U4DBLG5.js +40 -0
  300. package/dist/summarizeMutationSurvival-S7NLAVEI.js +99 -0
  301. package/dist/summary-NPR56I4S.js +49 -0
  302. package/dist/summary.integration.spec-HWNJWLKT.js +414 -0
  303. package/dist/summaryInput-DO73NGDQ.js +235 -0
  304. package/dist/sunburst-MMXSGJSL.js +284 -0
  305. package/dist/survival-7AIKFGV5.js +58 -0
  306. package/dist/survival-UK332X6L.js +46 -0
  307. package/dist/survival.integration.spec-YMTEKEGB.js +821 -0
  308. package/dist/svgraph-MLLAYO4A.js +1387 -0
  309. package/dist/svmr-PYW4PLT3.js +3842 -0
  310. package/dist/table-Y3ED2444.js +200 -0
  311. package/dist/termCollection-3XVL75II.js +38 -0
  312. package/dist/termCollection-VAB53YGO.js +179 -0
  313. package/dist/termCollection.unit.spec-DYPWNVEZ.js +208 -0
  314. package/dist/termInfo-6MJDJSDW.js +9 -0
  315. package/dist/tk-GUGJYKJ2.js +46 -0
  316. package/dist/tp.ui-WGETBYJQ.js +1459 -0
  317. package/dist/tvs.dt-JWF4I3KY.js +39 -0
  318. package/dist/tvs.dtcnv.categorical-72Y5QMPL.js +40 -0
  319. package/dist/tvs.dtcnv.continuous-73LHWTU5.js +72 -0
  320. package/dist/tvs.dtfusion-LP6HUMZU.js +40 -0
  321. package/dist/tvs.dtsnvindel-23N2CFZJ.js +40 -0
  322. package/dist/tvs.dtsv-DILQVKYM.js +40 -0
  323. package/dist/tvs.samplelst-GV4VSCRF.js +104 -0
  324. package/dist/tvs.termCollection-KBDNXK7X.js +159 -0
  325. package/dist/violin-TYUP7FB5.js +46 -0
  326. package/dist/violin.integration.spec-ULRFK2A6.js +1425 -0
  327. package/dist/violin.interactivity-2QZVQWQJ.js +38 -0
  328. package/dist/violin.renderer-HCDSN62Z.js +40 -0
  329. package/dist/vocabulary-I4CMPN2Z.js +41 -0
  330. package/package.json +3 -3
  331. package/dist/2dmaf-ZCIOFNSJ.js +0 -1373
  332. package/dist/AIProjectAdmin-Z7EA2Y74.js +0 -829
  333. package/dist/AppHeader-4AZ76NN3.js +0 -835
  334. package/dist/BoxPlot-BFVBNQNR.js +0 -1217
  335. package/dist/BoxPlot-BFVBNQNR.js.map +0 -7
  336. package/dist/CorrelationVolcano-L5VSJWJF.js +0 -619
  337. package/dist/DE-7TPZWAKI.js +0 -95
  338. package/dist/DEinput-WQJEXWGY.js +0 -301
  339. package/dist/DifferentialAnalysis-FPG7RDNN.js +0 -245
  340. package/dist/Disco-WP2BBL5V.js +0 -3237
  341. package/dist/Disco.UI-ZYSUA57E.js +0 -245
  342. package/dist/DmrPlot-V3E7JMPN.js +0 -642
  343. package/dist/DziViewer-ZHAPJ457.js +0 -16332
  344. package/dist/GB-BKLVGYWP.js +0 -1130
  345. package/dist/GeneExpInput-7V72SRDT.js +0 -366
  346. package/dist/HicApp-IT5YNABL.js +0 -2250
  347. package/dist/NumBinaryEditor-7E37MVQO.js +0 -270
  348. package/dist/NumBinaryEditor-7E37MVQO.js.map +0 -7
  349. package/dist/NumBinaryEditor.unit.spec-C3WVAXMY.js +0 -286
  350. package/dist/NumContEditor-FEVZJUB4.js +0 -107
  351. package/dist/NumContEditor-FEVZJUB4.js.map +0 -7
  352. package/dist/NumContEditor.unit.spec-4IGP657P.js +0 -169
  353. package/dist/NumCustomBinEditor-QC4D63Y5.js +0 -38
  354. package/dist/NumCustomBinEditor.unit.spec-USLECMWI.js +0 -284
  355. package/dist/NumDiscreteEditor-PRAI76XQ.js +0 -179
  356. package/dist/NumDiscreteEditor.unit.spec-IWL3OCTC.js +0 -202
  357. package/dist/NumRegularBinEditor-ESL2HAD7.js +0 -38
  358. package/dist/NumRegularBinEditor.unit.spec-7LLZAW4Z.js +0 -227
  359. package/dist/NumSplineEditor-JZOROO36.js +0 -197
  360. package/dist/NumSplineEditor-JZOROO36.js.map +0 -7
  361. package/dist/NumSplineEditor.unit.spec-3SHSXTC7.js +0 -199
  362. package/dist/NumericDensity-SGYRBDCQ.js +0 -38
  363. package/dist/NumericDensity.unit.spec-Y6JMH6IR.js +0 -221
  364. package/dist/NumericHandler-YG7AMINA.js +0 -39
  365. package/dist/NumericHandler.unit.spec-CABSMERN.js +0 -219
  366. package/dist/ProteomeInput-2WPCK72Z.js +0 -396
  367. package/dist/RunChart2-PJWMDWJR.js +0 -758
  368. package/dist/SC-WVVUFPNU.js +0 -936
  369. package/dist/Volcano-7JI4LUSF.js +0 -1379
  370. package/dist/WSIViewer-GDSOEEA6.js +0 -48475
  371. package/dist/WsiSamplesPlot-Z5C3NPF7.js +0 -165
  372. package/dist/adSandbox-KQKENDNQ.js +0 -38
  373. package/dist/alphaGenome-PN2SEPCK.js +0 -175
  374. package/dist/alphaGenome-PN2SEPCK.js.map +0 -7
  375. package/dist/app-4OEY56FN.js +0 -49
  376. package/dist/app-TGMYXJ4E.js +0 -37
  377. package/dist/bam-3IMX42G5.js +0 -860
  378. package/dist/barchart-44HOJWVS.js +0 -47
  379. package/dist/barchart.data-CHNR4XL2.js +0 -22
  380. package/dist/barchart.events-XW5OZ5MR.js +0 -47
  381. package/dist/barchart.integration.spec-M5PACARH.js +0 -1923
  382. package/dist/barchart.integration.spec-M5PACARH.js.map +0 -7
  383. package/dist/barchart2-4NU7NWJZ.js +0 -311
  384. package/dist/block-OYSZ2JXC.js +0 -6202
  385. package/dist/block.init-WSIQLW7A.js +0 -38
  386. package/dist/block.mds.expressionrank-2KWOWDW4.js +0 -359
  387. package/dist/block.mds.geneboxplot-6ZAD6A5K.js +0 -828
  388. package/dist/block.mds.junction-VQDLHFNG.js +0 -1545
  389. package/dist/block.mds.svcnv-7OIRG7DQ.js +0 -6801
  390. package/dist/block.svg-HXAIFHXM.js +0 -164
  391. package/dist/block.tk.aicheck-GTGHCUEN.js +0 -283
  392. package/dist/block.tk.ase-TAEE2ZHN.js +0 -365
  393. package/dist/block.tk.bam-6A26AZ7S.js +0 -1906
  394. package/dist/block.tk.bedgraphdot-6MYIVRBC.js +0 -384
  395. package/dist/block.tk.bigwig.ui-GJ7JXRH3.js +0 -212
  396. package/dist/block.tk.hicstraw-3TCDZ2GM.js +0 -823
  397. package/dist/block.tk.junction-WDBIP7DK.js +0 -2364
  398. package/dist/block.tk.junction.textmatrixui-QOV3U7AN.js +0 -199
  399. package/dist/block.tk.ld-GCPH66C3.js +0 -99
  400. package/dist/block.tk.menu-YDAIYUGC.js +0 -1029
  401. package/dist/block.tk.pgv-RWOZAUGA.js +0 -944
  402. package/dist/brainImaging-ZAFU6U2Y.js +0 -423
  403. package/dist/chunk-34SAHEQU.js +0 -291
  404. package/dist/chunk-3I7TUGLD.js +0 -226
  405. package/dist/chunk-3JL2HBGE.js +0 -2824
  406. package/dist/chunk-3L32ZXRS.js +0 -117
  407. package/dist/chunk-5GMXV4VC.js +0 -5010
  408. package/dist/chunk-5ITQVR2P.js +0 -102
  409. package/dist/chunk-5TKVUSMQ.js +0 -217
  410. package/dist/chunk-5V43Y2RC.js +0 -774
  411. package/dist/chunk-5V43Y2RC.js.map +0 -7
  412. package/dist/chunk-5X6J6UAT.js +0 -473
  413. package/dist/chunk-5YF3LGLX.js +0 -2327
  414. package/dist/chunk-76PGYH5J.js +0 -203
  415. package/dist/chunk-7JXLWRVZ.js +0 -2681
  416. package/dist/chunk-7YWFO7CJ.js +0 -6364
  417. package/dist/chunk-B3M3AZPL.js +0 -215
  418. package/dist/chunk-B3M3AZPL.js.map +0 -7
  419. package/dist/chunk-B4VRYXOQ.js +0 -288
  420. package/dist/chunk-B4VRYXOQ.js.map +0 -7
  421. package/dist/chunk-BLKF2SE6.js +0 -37
  422. package/dist/chunk-CA2AOIHR.js +0 -142
  423. package/dist/chunk-DBFPAZG3.js +0 -1943
  424. package/dist/chunk-DCJUDSRM.js +0 -446
  425. package/dist/chunk-DNM2DKYE.js +0 -1332
  426. package/dist/chunk-DVH6K2NP.js +0 -14
  427. package/dist/chunk-DYVY7D67.js +0 -263
  428. package/dist/chunk-E4IHE23N.js +0 -398
  429. package/dist/chunk-E4IHE23N.js.map +0 -7
  430. package/dist/chunk-G6WVVRDA.js +0 -339
  431. package/dist/chunk-GERVYIL4.js +0 -1210
  432. package/dist/chunk-GKBMGKYN.js +0 -117
  433. package/dist/chunk-GRNZWYOJ.js +0 -815
  434. package/dist/chunk-GS7SQKJT.js +0 -102
  435. package/dist/chunk-H5NNQO2V.js +0 -55
  436. package/dist/chunk-HONXMORI.js +0 -368
  437. package/dist/chunk-HURY7IJE.js +0 -4272
  438. package/dist/chunk-HURY7IJE.js.map +0 -7
  439. package/dist/chunk-HWVEN2MK.js +0 -498
  440. package/dist/chunk-I2RRWDYV.js +0 -514
  441. package/dist/chunk-IFA3COXY.js +0 -185
  442. package/dist/chunk-IFA3COXY.js.map +0 -7
  443. package/dist/chunk-IOQV2VX3.js +0 -2786
  444. package/dist/chunk-IWMWT7O7.js +0 -276
  445. package/dist/chunk-JSEMZPAO.js +0 -34
  446. package/dist/chunk-K7UIR22L.js +0 -229
  447. package/dist/chunk-K7UIR22L.js.map +0 -7
  448. package/dist/chunk-L75HW457.js +0 -824
  449. package/dist/chunk-LO6OYUDE.js +0 -158
  450. package/dist/chunk-LO6OYUDE.js.map +0 -7
  451. package/dist/chunk-LRZ463XM.js +0 -612
  452. package/dist/chunk-LRZ463XM.js.map +0 -7
  453. package/dist/chunk-MQQRTH4U.js +0 -302
  454. package/dist/chunk-NPEQHLVG.js +0 -158
  455. package/dist/chunk-NPTHYZY4.js +0 -205
  456. package/dist/chunk-NZDQV7ZO.js +0 -50
  457. package/dist/chunk-O7Z7SQCS.js +0 -534
  458. package/dist/chunk-OSWTQVAX.js +0 -477
  459. package/dist/chunk-OY4NTIUQ.js +0 -1272
  460. package/dist/chunk-OY4NTIUQ.js.map +0 -7
  461. package/dist/chunk-PKDJVK2F.js +0 -381
  462. package/dist/chunk-PSQETQZZ.js +0 -182
  463. package/dist/chunk-QWOZ2QDM.js +0 -386
  464. package/dist/chunk-QZVCFDJ7.js +0 -736
  465. package/dist/chunk-R4BCNWKE.js +0 -54
  466. package/dist/chunk-RRWP2LM4.js +0 -143
  467. package/dist/chunk-S6H6OUOA.js +0 -283
  468. package/dist/chunk-S6OIEQXG.js +0 -443
  469. package/dist/chunk-SDMZUHN7.js +0 -482
  470. package/dist/chunk-SKZ37PND.js +0 -129
  471. package/dist/chunk-STQU7XZV.js +0 -1814
  472. package/dist/chunk-STQU7XZV.js.map +0 -7
  473. package/dist/chunk-SY63VCQB.js +0 -95
  474. package/dist/chunk-TEQ2PC7Z.js +0 -100
  475. package/dist/chunk-TRY57CMI.js +0 -148
  476. package/dist/chunk-TXJTOTIQ.js +0 -1102
  477. package/dist/chunk-UK3PTE3P.js +0 -20752
  478. package/dist/chunk-UK3PTE3P.js.map +0 -7
  479. package/dist/chunk-UT2PKKQ4.js +0 -254
  480. package/dist/chunk-VDPQ2ZV2.js +0 -95
  481. package/dist/chunk-VJH3NP42.js +0 -54
  482. package/dist/chunk-W3LVNVG3.js +0 -272
  483. package/dist/chunk-WC62ZAWT.js +0 -293
  484. package/dist/chunk-WKMZ4ZQ3.js +0 -407
  485. package/dist/chunk-WKMZ4ZQ3.js.map +0 -7
  486. package/dist/chunk-X27TRPIZ.js +0 -119
  487. package/dist/chunk-XIIAQQ4T.js +0 -1179
  488. package/dist/chunk-XIIAQQ4T.js.map +0 -7
  489. package/dist/chunk-XOCO3LVN.js +0 -317
  490. package/dist/chunk-XOCO3LVN.js.map +0 -7
  491. package/dist/chunk-XUFWJJM5.js +0 -454
  492. package/dist/chunk-XUFWJJM5.js.map +0 -7
  493. package/dist/chunk-Y2Z4XDHA.js +0 -170
  494. package/dist/chunk-YFKJ2TMX.js +0 -194
  495. package/dist/chunk-YPVFTNLG.js +0 -228
  496. package/dist/chunk-YPVFTNLG.js.map +0 -7
  497. package/dist/condition-XKEW2LCM.js +0 -332
  498. package/dist/controls-4RFWTHFH.js +0 -41
  499. package/dist/controls.btns-3QQ5FOKQ.js +0 -9
  500. package/dist/controls.config-VHH2IGCI.js +0 -39
  501. package/dist/correlation-HGAMIIPH.js +0 -99
  502. package/dist/correlation-HGAMIIPH.js.map +0 -7
  503. package/dist/cuminc-EHW6IH6V.js +0 -1149
  504. package/dist/cuminc.integration.spec-B3EOIE4K.js +0 -678
  505. package/dist/customdata.inputui-IPJHL7BX.js +0 -289
  506. package/dist/dataDownload-GYFEC6XG.js +0 -330
  507. package/dist/dataDownload.integration.spec-V7WQ6AMV.js +0 -193
  508. package/dist/databrowser.ui-TFAJVFFF.js +0 -433
  509. package/dist/dictionary-2ZSMOJCN.js +0 -111
  510. package/dist/dnaMethylation-RHNO5DAC.js +0 -38
  511. package/dist/dnaMethylation.integration.spec-ET7OLMNC.js +0 -203
  512. package/dist/dofetch-UGCQ3OVW.js +0 -51
  513. package/dist/e2pca-SLRCDKF5.js +0 -350
  514. package/dist/ep-FOFTKVBH.js +0 -1256
  515. package/dist/expclust.gdc.spec-FNOOSLCC.js +0 -307
  516. package/dist/facet-UO5A7AGS.js +0 -521
  517. package/dist/forms2-SFV4HHBA.js +0 -534
  518. package/dist/gb-3KR6MAGB.js +0 -88
  519. package/dist/geneExpClustering-BCDXKSNU.js +0 -249
  520. package/dist/geneExpression-5UPKETEZ.js +0 -313
  521. package/dist/geneExpression-CXQ5HFEP.js +0 -38
  522. package/dist/geneExpression.unit.spec-7FVVD4UF.js +0 -102
  523. package/dist/geneORA-UC45CL2U.js +0 -278
  524. package/dist/geneRanking-OOQWVUIG.js +0 -551
  525. package/dist/geneVariant-BQFB7LKZ.js +0 -39
  526. package/dist/geneVariant-BYN7EWTT.js +0 -41
  527. package/dist/geneVariant.integration.spec-OESHXKBV.js +0 -198
  528. package/dist/genefusion.ui-TOSPIGTE.js +0 -309
  529. package/dist/geneset-57DECCND.js +0 -208
  530. package/dist/genomeBrowser.spec-CQP5JG35.js +0 -281
  531. package/dist/grin2-3RDGRV4Z.js +0 -846
  532. package/dist/grin2-3RDGRV4Z.js.map +0 -7
  533. package/dist/grin2-G4MBI5UC.js +0 -1560
  534. package/dist/gsea-VYAXSBM4.js +0 -47
  535. package/dist/hierCluster-4QKMY7GP.js +0 -59
  536. package/dist/hierCluster-GFPFVB3Q.js +0 -63
  537. package/dist/hierCluster.config-3A24DEKA.js +0 -40
  538. package/dist/hierCluster.integration.spec-6NTJYVN4.js +0 -395
  539. package/dist/hierCluster.interactivity-B2T6WS5R.js +0 -54
  540. package/dist/hierCluster.renderers-R3RLK6BI.js +0 -21
  541. package/dist/imagePlot-YZBZRENG.js +0 -163
  542. package/dist/importPlot-LIXKD3WJ.js +0 -8
  543. package/dist/isoformExpression-ZZ5DL6AE.js +0 -40
  544. package/dist/isoformExpression.unit.spec-IH4247TT.js +0 -208
  545. package/dist/launch.adhoc-3YWVAF7R.js +0 -42
  546. package/dist/leftlabel.sample-XFM45ZKO.js +0 -260
  547. package/dist/lollipop-7K5R5KHB.js +0 -171
  548. package/dist/maf-SQVJHNUY.js +0 -452
  549. package/dist/maftimeline-RCPASNN2.js +0 -593
  550. package/dist/matrix-KHTDB56P.js +0 -63
  551. package/dist/matrix-YTHWIMBP.js +0 -58
  552. package/dist/matrix.cells-KNDVYI2S.js +0 -28
  553. package/dist/matrix.config-6BHBCTXE.js +0 -41
  554. package/dist/matrix.data-VWJQ7N4L.js +0 -25
  555. package/dist/matrix.dom-2SU4EYLI.js +0 -11
  556. package/dist/matrix.groups-5AUHEO52.js +0 -27
  557. package/dist/matrix.integration.spec-Q2BXNCUO.js +0 -3072
  558. package/dist/matrix.interactivity-FEEWY34M.js +0 -42
  559. package/dist/matrix.layout-FWWM6QQO.js +0 -44
  560. package/dist/matrix.legend-QT3PMREX.js +0 -22
  561. package/dist/matrix.renderers-M6MJO5IU.js +0 -38
  562. package/dist/matrix.serieses-NTKMKT22.js +0 -21
  563. package/dist/matrix.sort-TTHPJ4XC.js +0 -27
  564. package/dist/matrix.sort.unit.spec-XZI2KPNC.js +0 -472
  565. package/dist/matrix.sorterUi-FFLYKBGC.js +0 -18
  566. package/dist/matrix.sorterUi.unit.spec-6FVHTGSN.js +0 -342
  567. package/dist/mavb-FZDN27QY.js +0 -732
  568. package/dist/mds.fimo-SSFKQ3BH.js +0 -518
  569. package/dist/mds.samplescatterplot-BMTTX3TB.js +0 -1550
  570. package/dist/mds.survivalplot-PL75RDYI.js +0 -483
  571. package/dist/numericDictTermCluster-NJUXCQYH.js +0 -72
  572. package/dist/oncomatrix-BZDCCEWH.js +0 -295
  573. package/dist/oncomatrix.spec-5A4A4JLV.js +0 -448
  574. package/dist/plot.2dvaf-AC7LW56S.js +0 -377
  575. package/dist/plot.app-DOOWDQ3U.js +0 -41
  576. package/dist/plot.barplot-RNJWREG5.js +0 -102
  577. package/dist/plot.boxplot-CRAEUBQF.js +0 -152
  578. package/dist/plot.brainImaging-ZESEULN6.js +0 -51
  579. package/dist/plot.disco-B4KBP6RK.js +0 -102
  580. package/dist/plot.dzi-2UMRV6IF.js +0 -33
  581. package/dist/plot.ssgq-FVZ27Z2K.js +0 -139
  582. package/dist/plot.vaf2cov-3OXCIEAX.js +0 -259
  583. package/dist/plot.wsi-UKTLZSYW.js +0 -36
  584. package/dist/polar2-D6T34ONJ.js +0 -226
  585. package/dist/polar2-D6T34ONJ.js.map +0 -7
  586. package/dist/profileForms-SBNPRIFT.js +0 -441
  587. package/dist/profilePlot-PPI4IDP4.js +0 -54
  588. package/dist/proteinView-URQEZSH5.js +0 -1320
  589. package/dist/proteinView-URQEZSH5.js.map +0 -7
  590. package/dist/qualitative-4O6KAGEA.js +0 -43
  591. package/dist/radar2-ICKCJY4T.js +0 -321
  592. package/dist/radarFacility2-HEBBSM3T.js +0 -329
  593. package/dist/regression-YFQJE2EP.js +0 -56
  594. package/dist/regression.inputs-A2JVBVZ7.js +0 -48
  595. package/dist/regression.inputs.term-CTVNS5MO.js +0 -48
  596. package/dist/regression.inputs.values.table-X7SI6EDO.js +0 -45
  597. package/dist/regression.integration.spec-NRDEVBWS.js +0 -784
  598. package/dist/regression.results-XVB6CIGW.js +0 -40
  599. package/dist/regression.spec-TNB5HBY5.js +0 -708
  600. package/dist/report-5VDIBC2W.js +0 -222
  601. package/dist/sampleScatter.spec-XDW7SCYA.js +0 -202
  602. package/dist/sampleView-FLUSGZCM.js +0 -48
  603. package/dist/samplelst-4WPG5UBN.js +0 -111
  604. package/dist/samplematrix-YJGMSXUJ.js +0 -2198
  605. package/dist/sc-DHU5KSEJ.js +0 -86
  606. package/dist/scatter-UZMWX3DU.js +0 -854
  607. package/dist/scatter-UZMWX3DU.js.map +0 -7
  608. package/dist/scatter.integration.spec-YX5OC3L2.js +0 -1196
  609. package/dist/scatter.integration.spec-YX5OC3L2.js.map +0 -7
  610. package/dist/selectGenomeWithTklst-BVBMVRMQ.js +0 -134
  611. package/dist/singleCellCellType-DADK5UKZ.js +0 -38
  612. package/dist/singleCellCellType.unit.spec-X25RMBJ3.js +0 -160
  613. package/dist/singleCellGeneExpression-3UEZWI4E.js +0 -38
  614. package/dist/singleCellGeneExpression.unit.spec-5GU3JWE6.js +0 -153
  615. package/dist/singleCellPlot-TFRZG73T.js +0 -54
  616. package/dist/singlecell-HQH6EWJO.js +0 -1572
  617. package/dist/singlecell-KR6JYFAY.js +0 -86
  618. package/dist/snp-ACIZ7D5X.js +0 -38
  619. package/dist/snp.unit.spec-653HGJBM.js +0 -176
  620. package/dist/snplocus-AH6KJCVN.js +0 -208
  621. package/dist/spliceevent.a53ss.diagram-MKJLJDOG.js +0 -151
  622. package/dist/spliceevent.exonskip.diagram-PSEVCDH4.js +0 -277
  623. package/dist/spliceevent.noeventdiagram-T2LHGFN7.js +0 -460
  624. package/dist/ssGSEA-QFMYBITZ.js +0 -38
  625. package/dist/ssGSEA.unit.spec-SQW7KFWE.js +0 -88
  626. package/dist/stattable-QDIUQCMG.js +0 -90
  627. package/dist/summarizeCnvGeneexp-EVRTBY3L.js +0 -163
  628. package/dist/summarizeGeneexpSurvival-O3MGRS6K.js +0 -108
  629. package/dist/summarizeMutationCnv-RZ2DZ2XO.js +0 -164
  630. package/dist/summarizeMutationDiagnosis-V2DISQTC.js +0 -40
  631. package/dist/summarizeMutationSurvival-FTTWJBUG.js +0 -99
  632. package/dist/summary-QKBTZINC.js +0 -49
  633. package/dist/summary.integration.spec-54HA7BC2.js +0 -414
  634. package/dist/summaryInput-4RLZT6RW.js +0 -235
  635. package/dist/sunburst-SMKD45XD.js +0 -284
  636. package/dist/survival-BAW5ME6J.js +0 -46
  637. package/dist/survival-YQNA3WP7.js +0 -58
  638. package/dist/survival.integration.spec-2AHXNMH2.js +0 -821
  639. package/dist/svgraph-5Z7VAIVR.js +0 -1387
  640. package/dist/svmr-PHD76RV4.js +0 -3842
  641. package/dist/table-GMRAOIWZ.js +0 -200
  642. package/dist/termCollection-MEBY34TJ.js +0 -179
  643. package/dist/termCollection-QLKTRXUR.js +0 -38
  644. package/dist/termCollection.unit.spec-6B53SW2Q.js +0 -208
  645. package/dist/termInfo-2Z4V2QLE.js +0 -9
  646. package/dist/tk-X46SEOL7.js +0 -46
  647. package/dist/tp.ui-XV7CL7CA.js +0 -1459
  648. package/dist/tvs.dt-U6SIZTXW.js +0 -39
  649. package/dist/tvs.dtcnv.categorical-6YGEKMHW.js +0 -40
  650. package/dist/tvs.dtcnv.continuous-CQFEENBO.js +0 -72
  651. package/dist/tvs.dtfusion-NOBT2JPI.js +0 -40
  652. package/dist/tvs.dtsnvindel-6GTCSVAV.js +0 -40
  653. package/dist/tvs.dtsv-PMI4YVI5.js +0 -40
  654. package/dist/tvs.samplelst-HVNYKHXG.js +0 -104
  655. package/dist/tvs.termCollection-EWGTT75Z.js +0 -159
  656. package/dist/violin-MKWRB25Z.js +0 -46
  657. package/dist/violin.integration.spec-CNWJ43SD.js +0 -1425
  658. package/dist/violin.interactivity-UXOMTGSD.js +0 -38
  659. package/dist/violin.renderer-67Q6YGYQ.js +0 -40
  660. package/dist/vocabulary-AKXE7SNU.js +0 -41
  661. /package/dist/{2dmaf-ZCIOFNSJ.js.map → 2dmaf-V4WJ2LEK.js.map} +0 -0
  662. /package/dist/{AIProjectAdmin-Z7EA2Y74.js.map → AIProjectAdmin-JMN5O6YU.js.map} +0 -0
  663. /package/dist/{AppHeader-4AZ76NN3.js.map → AppHeader-Y4SEKCEF.js.map} +0 -0
  664. /package/dist/{CorrelationVolcano-L5VSJWJF.js.map → CorrelationVolcano-R5IWD6WA.js.map} +0 -0
  665. /package/dist/{DE-7TPZWAKI.js.map → DE-ZV6O7B6Y.js.map} +0 -0
  666. /package/dist/{DEinput-WQJEXWGY.js.map → DEinput-FTOALZKN.js.map} +0 -0
  667. /package/dist/{DifferentialAnalysis-FPG7RDNN.js.map → DifferentialAnalysis-NLCA766A.js.map} +0 -0
  668. /package/dist/{Disco-WP2BBL5V.js.map → Disco-Y5Z4A7GN.js.map} +0 -0
  669. /package/dist/{Disco.UI-ZYSUA57E.js.map → Disco.UI-GSWZYIUT.js.map} +0 -0
  670. /package/dist/{DmrPlot-V3E7JMPN.js.map → DmrPlot-FEFUCIGT.js.map} +0 -0
  671. /package/dist/{DziViewer-ZHAPJ457.js.map → DziViewer-6737GC22.js.map} +0 -0
  672. /package/dist/{GB-BKLVGYWP.js.map → GB-AOXF2JJB.js.map} +0 -0
  673. /package/dist/{GeneExpInput-7V72SRDT.js.map → GeneExpInput-CXYRKQU7.js.map} +0 -0
  674. /package/dist/{HicApp-IT5YNABL.js.map → HicApp-GLNNZ4H5.js.map} +0 -0
  675. /package/dist/{NumBinaryEditor.unit.spec-C3WVAXMY.js.map → NumBinaryEditor.unit.spec-3VTJLILH.js.map} +0 -0
  676. /package/dist/{NumContEditor.unit.spec-4IGP657P.js.map → NumContEditor.unit.spec-WIMYCOVO.js.map} +0 -0
  677. /package/dist/{NumCustomBinEditor-QC4D63Y5.js.map → NumCustomBinEditor-XIOAYWOD.js.map} +0 -0
  678. /package/dist/{NumCustomBinEditor.unit.spec-USLECMWI.js.map → NumCustomBinEditor.unit.spec-N5OV6MKR.js.map} +0 -0
  679. /package/dist/{NumDiscreteEditor-PRAI76XQ.js.map → NumDiscreteEditor-AT6FKYGI.js.map} +0 -0
  680. /package/dist/{NumDiscreteEditor.unit.spec-IWL3OCTC.js.map → NumDiscreteEditor.unit.spec-BDR5GZ46.js.map} +0 -0
  681. /package/dist/{NumRegularBinEditor-ESL2HAD7.js.map → NumRegularBinEditor-Z4NBS4VZ.js.map} +0 -0
  682. /package/dist/{NumRegularBinEditor.unit.spec-7LLZAW4Z.js.map → NumRegularBinEditor.unit.spec-BRWYNQ55.js.map} +0 -0
  683. /package/dist/{NumSplineEditor.unit.spec-3SHSXTC7.js.map → NumSplineEditor.unit.spec-5RDBCZ4N.js.map} +0 -0
  684. /package/dist/{NumericDensity-SGYRBDCQ.js.map → NumericDensity-L7HIVV7D.js.map} +0 -0
  685. /package/dist/{NumericDensity.unit.spec-Y6JMH6IR.js.map → NumericDensity.unit.spec-PL3XDJCV.js.map} +0 -0
  686. /package/dist/{NumericHandler-YG7AMINA.js.map → NumericHandler-KJYZOCCG.js.map} +0 -0
  687. /package/dist/{NumericHandler.unit.spec-CABSMERN.js.map → NumericHandler.unit.spec-VC7NPLJW.js.map} +0 -0
  688. /package/dist/{ProteomeInput-2WPCK72Z.js.map → ProteomeInput-A3GRPIAH.js.map} +0 -0
  689. /package/dist/{RunChart2-PJWMDWJR.js.map → RunChart2-MSNU3ZNT.js.map} +0 -0
  690. /package/dist/{SC-WVVUFPNU.js.map → SC-FNKG2FK5.js.map} +0 -0
  691. /package/dist/{Volcano-7JI4LUSF.js.map → Volcano-IRJMPHXJ.js.map} +0 -0
  692. /package/dist/{WSIViewer-GDSOEEA6.js.map → WSIViewer-KITT7I67.js.map} +0 -0
  693. /package/dist/{WsiSamplesPlot-Z5C3NPF7.js.map → WsiSamplesPlot-G3YZ6SIE.js.map} +0 -0
  694. /package/dist/{adSandbox-KQKENDNQ.js.map → adSandbox-GIQTJ4VA.js.map} +0 -0
  695. /package/dist/{app-4OEY56FN.js.map → app-MGNEMS2K.js.map} +0 -0
  696. /package/dist/{app-TGMYXJ4E.js.map → app-UQTHPQFD.js.map} +0 -0
  697. /package/dist/{bam-3IMX42G5.js.map → bam-5PROQBRT.js.map} +0 -0
  698. /package/dist/{barchart-44HOJWVS.js.map → barchart-BQYJ73Z4.js.map} +0 -0
  699. /package/dist/{barchart.data-CHNR4XL2.js.map → barchart.data-VFULOIHY.js.map} +0 -0
  700. /package/dist/{barchart.events-XW5OZ5MR.js.map → barchart.events-W2CIDD4B.js.map} +0 -0
  701. /package/dist/{barchart2-4NU7NWJZ.js.map → barchart2-V6W4UAFH.js.map} +0 -0
  702. /package/dist/{block-OYSZ2JXC.js.map → block-5V2FCT7Q.js.map} +0 -0
  703. /package/dist/{block.init-WSIQLW7A.js.map → block.init-43IUNDNB.js.map} +0 -0
  704. /package/dist/{block.mds.expressionrank-2KWOWDW4.js.map → block.mds.expressionrank-LI6MZPBE.js.map} +0 -0
  705. /package/dist/{block.mds.geneboxplot-6ZAD6A5K.js.map → block.mds.geneboxplot-673AIJMJ.js.map} +0 -0
  706. /package/dist/{block.mds.junction-VQDLHFNG.js.map → block.mds.junction-UWNVNV3X.js.map} +0 -0
  707. /package/dist/{block.mds.svcnv-7OIRG7DQ.js.map → block.mds.svcnv-Z5VFCUUE.js.map} +0 -0
  708. /package/dist/{block.svg-HXAIFHXM.js.map → block.svg-MGK4GWLL.js.map} +0 -0
  709. /package/dist/{block.tk.aicheck-GTGHCUEN.js.map → block.tk.aicheck-OFNDGG7Q.js.map} +0 -0
  710. /package/dist/{block.tk.ase-TAEE2ZHN.js.map → block.tk.ase-IDZQY7MW.js.map} +0 -0
  711. /package/dist/{block.tk.bam-6A26AZ7S.js.map → block.tk.bam-K7A2Q5NI.js.map} +0 -0
  712. /package/dist/{block.tk.bedgraphdot-6MYIVRBC.js.map → block.tk.bedgraphdot-PPTKCCPK.js.map} +0 -0
  713. /package/dist/{block.tk.bigwig.ui-GJ7JXRH3.js.map → block.tk.bigwig.ui-PI6EAU43.js.map} +0 -0
  714. /package/dist/{block.tk.hicstraw-3TCDZ2GM.js.map → block.tk.hicstraw-EZ2GS2K4.js.map} +0 -0
  715. /package/dist/{block.tk.junction-WDBIP7DK.js.map → block.tk.junction-4WSLQGSQ.js.map} +0 -0
  716. /package/dist/{block.tk.junction.textmatrixui-QOV3U7AN.js.map → block.tk.junction.textmatrixui-7EJUSVMB.js.map} +0 -0
  717. /package/dist/{block.tk.ld-GCPH66C3.js.map → block.tk.ld-KLVO7M37.js.map} +0 -0
  718. /package/dist/{block.tk.menu-YDAIYUGC.js.map → block.tk.menu-KZSL7BAR.js.map} +0 -0
  719. /package/dist/{block.tk.pgv-RWOZAUGA.js.map → block.tk.pgv-NYWGB4VH.js.map} +0 -0
  720. /package/dist/{brainImaging-ZAFU6U2Y.js.map → brainImaging-MTIIMJHW.js.map} +0 -0
  721. /package/dist/{chunk-S6OIEQXG.js.map → chunk-2NQLAH3L.js.map} +0 -0
  722. /package/dist/{chunk-DBFPAZG3.js.map → chunk-2Q6PBSPS.js.map} +0 -0
  723. /package/dist/{chunk-GERVYIL4.js.map → chunk-3D5GZIGG.js.map} +0 -0
  724. /package/dist/{chunk-DYVY7D67.js.map → chunk-3TPAIXNL.js.map} +0 -0
  725. /package/dist/{chunk-SY63VCQB.js.map → chunk-42EBECOD.js.map} +0 -0
  726. /package/dist/{chunk-IOQV2VX3.js.map → chunk-4B42QV34.js.map} +0 -0
  727. /package/dist/{chunk-RRWP2LM4.js.map → chunk-4KY4XKJV.js.map} +0 -0
  728. /package/dist/{chunk-TEQ2PC7Z.js.map → chunk-5SXCIKYV.js.map} +0 -0
  729. /package/dist/{chunk-SDMZUHN7.js.map → chunk-647P2I4Q.js.map} +0 -0
  730. /package/dist/{chunk-5YF3LGLX.js.map → chunk-67HSIHPP.js.map} +0 -0
  731. /package/dist/{chunk-TXJTOTIQ.js.map → chunk-6GZJCSA6.js.map} +0 -0
  732. /package/dist/{chunk-GS7SQKJT.js.map → chunk-7JEKUSEL.js.map} +0 -0
  733. /package/dist/{chunk-OSWTQVAX.js.map → chunk-BMO6KSVC.js.map} +0 -0
  734. /package/dist/{chunk-NZDQV7ZO.js.map → chunk-CKDC326M.js.map} +0 -0
  735. /package/dist/{chunk-DCJUDSRM.js.map → chunk-CRUBP5PT.js.map} +0 -0
  736. /package/dist/{chunk-S6H6OUOA.js.map → chunk-CW2Q5EA7.js.map} +0 -0
  737. /package/dist/{chunk-7YWFO7CJ.js.map → chunk-CYHUNQMS.js.map} +0 -0
  738. /package/dist/{chunk-HWVEN2MK.js.map → chunk-DHPLHIVP.js.map} +0 -0
  739. /package/dist/{chunk-PKDJVK2F.js.map → chunk-DWCVGCBX.js.map} +0 -0
  740. /package/dist/{chunk-G6WVVRDA.js.map → chunk-EIBNV236.js.map} +0 -0
  741. /package/dist/{chunk-5TKVUSMQ.js.map → chunk-EZ3WMXYT.js.map} +0 -0
  742. /package/dist/{chunk-QZVCFDJ7.js.map → chunk-F5QIZOPL.js.map} +0 -0
  743. /package/dist/{chunk-BLKF2SE6.js.map → chunk-F6N6JBZR.js.map} +0 -0
  744. /package/dist/{chunk-VJH3NP42.js.map → chunk-FXMHSVBS.js.map} +0 -0
  745. /package/dist/{chunk-3I7TUGLD.js.map → chunk-FZ63VOSX.js.map} +0 -0
  746. /package/dist/{chunk-DNM2DKYE.js.map → chunk-GMT2GNQY.js.map} +0 -0
  747. /package/dist/{chunk-5X6J6UAT.js.map → chunk-IIT367QZ.js.map} +0 -0
  748. /package/dist/{chunk-WC62ZAWT.js.map → chunk-IL5QT2FI.js.map} +0 -0
  749. /package/dist/{chunk-7JXLWRVZ.js.map → chunk-J6GLTYGJ.js.map} +0 -0
  750. /package/dist/{chunk-QWOZ2QDM.js.map → chunk-JEZIKGZI.js.map} +0 -0
  751. /package/dist/{chunk-L75HW457.js.map → chunk-JJOLDYSQ.js.map} +0 -0
  752. /package/dist/{chunk-JSEMZPAO.js.map → chunk-KSCJWPTJ.js.map} +0 -0
  753. /package/dist/{chunk-W3LVNVG3.js.map → chunk-LT5XPBIX.js.map} +0 -0
  754. /package/dist/{chunk-PSQETQZZ.js.map → chunk-MEGBYD4U.js.map} +0 -0
  755. /package/dist/{chunk-Y2Z4XDHA.js.map → chunk-MEY5OBDJ.js.map} +0 -0
  756. /package/dist/{chunk-TRY57CMI.js.map → chunk-NVX26LFC.js.map} +0 -0
  757. /package/dist/{chunk-34SAHEQU.js.map → chunk-O7NFSCEW.js.map} +0 -0
  758. /package/dist/{chunk-HONXMORI.js.map → chunk-P4QGOUDH.js.map} +0 -0
  759. /package/dist/{chunk-SKZ37PND.js.map → chunk-PGBKZ76Y.js.map} +0 -0
  760. /package/dist/{chunk-NPTHYZY4.js.map → chunk-PQNVPSQR.js.map} +0 -0
  761. /package/dist/{chunk-R4BCNWKE.js.map → chunk-PQZ3A27I.js.map} +0 -0
  762. /package/dist/{chunk-5GMXV4VC.js.map → chunk-QNMB7LYW.js.map} +0 -0
  763. /package/dist/{chunk-3L32ZXRS.js.map → chunk-RZGEKL77.js.map} +0 -0
  764. /package/dist/{chunk-NPEQHLVG.js.map → chunk-RZY34QRF.js.map} +0 -0
  765. /package/dist/{chunk-DVH6K2NP.js.map → chunk-SDACELDR.js.map} +0 -0
  766. /package/dist/{chunk-CA2AOIHR.js.map → chunk-UCLROZRF.js.map} +0 -0
  767. /package/dist/{chunk-IWMWT7O7.js.map → chunk-VMLSRKIB.js.map} +0 -0
  768. /package/dist/{chunk-O7Z7SQCS.js.map → chunk-VXKO2ONI.js.map} +0 -0
  769. /package/dist/{chunk-GKBMGKYN.js.map → chunk-WET4LPLO.js.map} +0 -0
  770. /package/dist/{chunk-UT2PKKQ4.js.map → chunk-WMELUFVS.js.map} +0 -0
  771. /package/dist/{chunk-X27TRPIZ.js.map → chunk-WS3NUPNV.js.map} +0 -0
  772. /package/dist/{chunk-I2RRWDYV.js.map → chunk-X63AAJGT.js.map} +0 -0
  773. /package/dist/{chunk-GRNZWYOJ.js.map → chunk-XVZ5UJWU.js.map} +0 -0
  774. /package/dist/{chunk-3JL2HBGE.js.map → chunk-YNBT4N6T.js.map} +0 -0
  775. /package/dist/{chunk-H5NNQO2V.js.map → chunk-YVCTEEVQ.js.map} +0 -0
  776. /package/dist/{chunk-76PGYH5J.js.map → chunk-YWZCJMHS.js.map} +0 -0
  777. /package/dist/{chunk-5ITQVR2P.js.map → chunk-Z3SC67OA.js.map} +0 -0
  778. /package/dist/{chunk-YFKJ2TMX.js.map → chunk-ZK226W6V.js.map} +0 -0
  779. /package/dist/{chunk-MQQRTH4U.js.map → chunk-ZLREFIZB.js.map} +0 -0
  780. /package/dist/{chunk-VDPQ2ZV2.js.map → chunk-ZX2ISBEF.js.map} +0 -0
  781. /package/dist/{condition-XKEW2LCM.js.map → condition-P2XD32QM.js.map} +0 -0
  782. /package/dist/{controls-4RFWTHFH.js.map → controls-FZUTJPKV.js.map} +0 -0
  783. /package/dist/{controls.btns-3QQ5FOKQ.js.map → controls.btns-AP67YWKW.js.map} +0 -0
  784. /package/dist/{controls.config-VHH2IGCI.js.map → controls.config-TEFY3NTE.js.map} +0 -0
  785. /package/dist/{cuminc-EHW6IH6V.js.map → cuminc-42GBJHD3.js.map} +0 -0
  786. /package/dist/{cuminc.integration.spec-B3EOIE4K.js.map → cuminc.integration.spec-BAY4JHVL.js.map} +0 -0
  787. /package/dist/{customdata.inputui-IPJHL7BX.js.map → customdata.inputui-IPM5K56K.js.map} +0 -0
  788. /package/dist/{dataDownload-GYFEC6XG.js.map → dataDownload-D7VCYBDT.js.map} +0 -0
  789. /package/dist/{dataDownload.integration.spec-V7WQ6AMV.js.map → dataDownload.integration.spec-SEBY2BIX.js.map} +0 -0
  790. /package/dist/{databrowser.ui-TFAJVFFF.js.map → databrowser.ui-5OC5MPZB.js.map} +0 -0
  791. /package/dist/{dictionary-2ZSMOJCN.js.map → dictionary-VVRWVLJX.js.map} +0 -0
  792. /package/dist/{dnaMethylation-RHNO5DAC.js.map → dnaMethylation-72IS3FRI.js.map} +0 -0
  793. /package/dist/{dnaMethylation.integration.spec-ET7OLMNC.js.map → dnaMethylation.integration.spec-U2LLSDGE.js.map} +0 -0
  794. /package/dist/{dofetch-UGCQ3OVW.js.map → dofetch-5ZRAQH5F.js.map} +0 -0
  795. /package/dist/{e2pca-SLRCDKF5.js.map → e2pca-AR6EKEJA.js.map} +0 -0
  796. /package/dist/{ep-FOFTKVBH.js.map → ep-JS5UUJQX.js.map} +0 -0
  797. /package/dist/{expclust.gdc.spec-FNOOSLCC.js.map → expclust.gdc.spec-73MGQ7RN.js.map} +0 -0
  798. /package/dist/{facet-UO5A7AGS.js.map → facet-AR3QKHCY.js.map} +0 -0
  799. /package/dist/{forms2-SFV4HHBA.js.map → forms2-UXEI7MUP.js.map} +0 -0
  800. /package/dist/{gb-3KR6MAGB.js.map → gb-RHDVYU2V.js.map} +0 -0
  801. /package/dist/{geneExpClustering-BCDXKSNU.js.map → geneExpClustering-L6KLCMPH.js.map} +0 -0
  802. /package/dist/{geneExpression-5UPKETEZ.js.map → geneExpression-GYT2XRE6.js.map} +0 -0
  803. /package/dist/{geneExpression-CXQ5HFEP.js.map → geneExpression-SKIU3NEP.js.map} +0 -0
  804. /package/dist/{geneExpression.unit.spec-7FVVD4UF.js.map → geneExpression.unit.spec-CWR6KDVK.js.map} +0 -0
  805. /package/dist/{geneORA-UC45CL2U.js.map → geneORA-C3TALK5P.js.map} +0 -0
  806. /package/dist/{geneRanking-OOQWVUIG.js.map → geneRanking-LLYLDPLV.js.map} +0 -0
  807. /package/dist/{geneVariant-BQFB7LKZ.js.map → geneVariant-PUSKBHPY.js.map} +0 -0
  808. /package/dist/{geneVariant-BYN7EWTT.js.map → geneVariant-YFMU6PHM.js.map} +0 -0
  809. /package/dist/{geneVariant.integration.spec-OESHXKBV.js.map → geneVariant.integration.spec-EJ5V46OQ.js.map} +0 -0
  810. /package/dist/{genefusion.ui-TOSPIGTE.js.map → genefusion.ui-XUHSKQKW.js.map} +0 -0
  811. /package/dist/{geneset-57DECCND.js.map → geneset-DEL5LXFZ.js.map} +0 -0
  812. /package/dist/{genomeBrowser.spec-CQP5JG35.js.map → genomeBrowser.spec-W5TVHOUJ.js.map} +0 -0
  813. /package/dist/{grin2-G4MBI5UC.js.map → grin2-FXAEGECD.js.map} +0 -0
  814. /package/dist/{gsea-VYAXSBM4.js.map → gsea-CNL6SHH5.js.map} +0 -0
  815. /package/dist/{hierCluster-4QKMY7GP.js.map → hierCluster-7V65PMIW.js.map} +0 -0
  816. /package/dist/{hierCluster-GFPFVB3Q.js.map → hierCluster-C44GHM4B.js.map} +0 -0
  817. /package/dist/{hierCluster.config-3A24DEKA.js.map → hierCluster.config-RU5JDPWM.js.map} +0 -0
  818. /package/dist/{hierCluster.integration.spec-6NTJYVN4.js.map → hierCluster.integration.spec-6YH5KE4H.js.map} +0 -0
  819. /package/dist/{hierCluster.interactivity-B2T6WS5R.js.map → hierCluster.interactivity-PK2L7BSW.js.map} +0 -0
  820. /package/dist/{hierCluster.renderers-R3RLK6BI.js.map → hierCluster.renderers-G3274UYA.js.map} +0 -0
  821. /package/dist/{imagePlot-YZBZRENG.js.map → imagePlot-5SEDMPBP.js.map} +0 -0
  822. /package/dist/{importPlot-LIXKD3WJ.js.map → importPlot-M3MKWRON.js.map} +0 -0
  823. /package/dist/{isoformExpression-ZZ5DL6AE.js.map → isoformExpression-PPMISWKT.js.map} +0 -0
  824. /package/dist/{isoformExpression.unit.spec-IH4247TT.js.map → isoformExpression.unit.spec-ENHCCQRZ.js.map} +0 -0
  825. /package/dist/{launch.adhoc-3YWVAF7R.js.map → launch.adhoc-XAG6H42J.js.map} +0 -0
  826. /package/dist/{leftlabel.sample-XFM45ZKO.js.map → leftlabel.sample-BSPCI6GR.js.map} +0 -0
  827. /package/dist/{lollipop-7K5R5KHB.js.map → lollipop-IZJ7E3YO.js.map} +0 -0
  828. /package/dist/{maf-SQVJHNUY.js.map → maf-54XWBQ73.js.map} +0 -0
  829. /package/dist/{maftimeline-RCPASNN2.js.map → maftimeline-3AJKAFS6.js.map} +0 -0
  830. /package/dist/{matrix-KHTDB56P.js.map → matrix-AJPMHUXG.js.map} +0 -0
  831. /package/dist/{matrix-YTHWIMBP.js.map → matrix-ZMXNOESU.js.map} +0 -0
  832. /package/dist/{matrix.cells-KNDVYI2S.js.map → matrix.cells-E3LEVA7U.js.map} +0 -0
  833. /package/dist/{matrix.config-6BHBCTXE.js.map → matrix.config-4WLSFMTY.js.map} +0 -0
  834. /package/dist/{matrix.data-VWJQ7N4L.js.map → matrix.data-WMOTOB6C.js.map} +0 -0
  835. /package/dist/{matrix.dom-2SU4EYLI.js.map → matrix.dom-F7AN3QGE.js.map} +0 -0
  836. /package/dist/{matrix.groups-5AUHEO52.js.map → matrix.groups-BGMZZ6CM.js.map} +0 -0
  837. /package/dist/{matrix.integration.spec-Q2BXNCUO.js.map → matrix.integration.spec-ENRPVB7R.js.map} +0 -0
  838. /package/dist/{matrix.interactivity-FEEWY34M.js.map → matrix.interactivity-IMWERCZF.js.map} +0 -0
  839. /package/dist/{matrix.layout-FWWM6QQO.js.map → matrix.layout-5DDZWLNX.js.map} +0 -0
  840. /package/dist/{matrix.legend-QT3PMREX.js.map → matrix.legend-RJAFOZHQ.js.map} +0 -0
  841. /package/dist/{matrix.renderers-M6MJO5IU.js.map → matrix.renderers-VFQZG5JP.js.map} +0 -0
  842. /package/dist/{matrix.serieses-NTKMKT22.js.map → matrix.serieses-GJWHSBG4.js.map} +0 -0
  843. /package/dist/{matrix.sort-TTHPJ4XC.js.map → matrix.sort-KIJENIT2.js.map} +0 -0
  844. /package/dist/{matrix.sort.unit.spec-XZI2KPNC.js.map → matrix.sort.unit.spec-ZA5DRNL6.js.map} +0 -0
  845. /package/dist/{matrix.sorterUi-FFLYKBGC.js.map → matrix.sorterUi-3KEDVLGW.js.map} +0 -0
  846. /package/dist/{matrix.sorterUi.unit.spec-6FVHTGSN.js.map → matrix.sorterUi.unit.spec-7TPOJ46U.js.map} +0 -0
  847. /package/dist/{mavb-FZDN27QY.js.map → mavb-73BXZ7MO.js.map} +0 -0
  848. /package/dist/{mds.fimo-SSFKQ3BH.js.map → mds.fimo-L7VVAOXQ.js.map} +0 -0
  849. /package/dist/{mds.samplescatterplot-BMTTX3TB.js.map → mds.samplescatterplot-6P75XEWB.js.map} +0 -0
  850. /package/dist/{mds.survivalplot-PL75RDYI.js.map → mds.survivalplot-GCVE7XGO.js.map} +0 -0
  851. /package/dist/{numericDictTermCluster-NJUXCQYH.js.map → numericDictTermCluster-OMXIURRD.js.map} +0 -0
  852. /package/dist/{oncomatrix-BZDCCEWH.js.map → oncomatrix-BFWV2IC4.js.map} +0 -0
  853. /package/dist/{oncomatrix.spec-5A4A4JLV.js.map → oncomatrix.spec-J6IAY3O6.js.map} +0 -0
  854. /package/dist/{plot.2dvaf-AC7LW56S.js.map → plot.2dvaf-ESJAB2F3.js.map} +0 -0
  855. /package/dist/{plot.app-DOOWDQ3U.js.map → plot.app-T7CQMBRV.js.map} +0 -0
  856. /package/dist/{plot.barplot-RNJWREG5.js.map → plot.barplot-HAWPMPPU.js.map} +0 -0
  857. /package/dist/{plot.boxplot-CRAEUBQF.js.map → plot.boxplot-4QUORFXY.js.map} +0 -0
  858. /package/dist/{plot.brainImaging-ZESEULN6.js.map → plot.brainImaging-HG6I3GJW.js.map} +0 -0
  859. /package/dist/{plot.disco-B4KBP6RK.js.map → plot.disco-LPH7F6YW.js.map} +0 -0
  860. /package/dist/{plot.dzi-2UMRV6IF.js.map → plot.dzi-DYAY4D4E.js.map} +0 -0
  861. /package/dist/{plot.ssgq-FVZ27Z2K.js.map → plot.ssgq-CF5VIGYJ.js.map} +0 -0
  862. /package/dist/{plot.vaf2cov-3OXCIEAX.js.map → plot.vaf2cov-7HZCKNK6.js.map} +0 -0
  863. /package/dist/{plot.wsi-UKTLZSYW.js.map → plot.wsi-MU6AXOWO.js.map} +0 -0
  864. /package/dist/{profileForms-SBNPRIFT.js.map → profileForms-TIT4JUEJ.js.map} +0 -0
  865. /package/dist/{profilePlot-PPI4IDP4.js.map → profilePlot-QFGRAZQA.js.map} +0 -0
  866. /package/dist/{qualitative-4O6KAGEA.js.map → qualitative-YWP4YUPF.js.map} +0 -0
  867. /package/dist/{radar2-ICKCJY4T.js.map → radar2-TKSHL54E.js.map} +0 -0
  868. /package/dist/{radarFacility2-HEBBSM3T.js.map → radarFacility2-FHRFLBLF.js.map} +0 -0
  869. /package/dist/{regression-YFQJE2EP.js.map → regression-5XG5LXP7.js.map} +0 -0
  870. /package/dist/{regression.inputs-A2JVBVZ7.js.map → regression.inputs-QHXK7ZYY.js.map} +0 -0
  871. /package/dist/{regression.inputs.term-CTVNS5MO.js.map → regression.inputs.term-YYO3CR2D.js.map} +0 -0
  872. /package/dist/{regression.inputs.values.table-X7SI6EDO.js.map → regression.inputs.values.table-3I2FCON2.js.map} +0 -0
  873. /package/dist/{regression.integration.spec-NRDEVBWS.js.map → regression.integration.spec-QVDGCKVT.js.map} +0 -0
  874. /package/dist/{regression.results-XVB6CIGW.js.map → regression.results-B7LVT2WG.js.map} +0 -0
  875. /package/dist/{regression.spec-TNB5HBY5.js.map → regression.spec-ISYKKQOM.js.map} +0 -0
  876. /package/dist/{report-5VDIBC2W.js.map → report-TF6Z3Y44.js.map} +0 -0
  877. /package/dist/{sampleScatter.spec-XDW7SCYA.js.map → sampleScatter.spec-2VW55XIZ.js.map} +0 -0
  878. /package/dist/{sampleView-FLUSGZCM.js.map → sampleView-DNNJRAMU.js.map} +0 -0
  879. /package/dist/{samplelst-4WPG5UBN.js.map → samplelst-726II3LN.js.map} +0 -0
  880. /package/dist/{samplematrix-YJGMSXUJ.js.map → samplematrix-TBPW4URH.js.map} +0 -0
  881. /package/dist/{sc-DHU5KSEJ.js.map → sc-GBYH3W4S.js.map} +0 -0
  882. /package/dist/{selectGenomeWithTklst-BVBMVRMQ.js.map → selectGenomeWithTklst-RCAYDV6D.js.map} +0 -0
  883. /package/dist/{singleCellCellType-DADK5UKZ.js.map → singleCellCellType-IQYCKUT6.js.map} +0 -0
  884. /package/dist/{singleCellCellType.unit.spec-X25RMBJ3.js.map → singleCellCellType.unit.spec-ZEWA2IFI.js.map} +0 -0
  885. /package/dist/{singleCellGeneExpression-3UEZWI4E.js.map → singleCellGeneExpression-STLTBXJQ.js.map} +0 -0
  886. /package/dist/{singleCellGeneExpression.unit.spec-5GU3JWE6.js.map → singleCellGeneExpression.unit.spec-W6FPS5ZU.js.map} +0 -0
  887. /package/dist/{singleCellPlot-TFRZG73T.js.map → singleCellPlot-7XH7NIL4.js.map} +0 -0
  888. /package/dist/{singlecell-KR6JYFAY.js.map → singlecell-IDZB2MXW.js.map} +0 -0
  889. /package/dist/{singlecell-HQH6EWJO.js.map → singlecell-JCXR7X5U.js.map} +0 -0
  890. /package/dist/{snp-ACIZ7D5X.js.map → snp-QOKI26PO.js.map} +0 -0
  891. /package/dist/{snp.unit.spec-653HGJBM.js.map → snp.unit.spec-DTPZAALW.js.map} +0 -0
  892. /package/dist/{snplocus-AH6KJCVN.js.map → snplocus-BKUJYANW.js.map} +0 -0
  893. /package/dist/{spliceevent.a53ss.diagram-MKJLJDOG.js.map → spliceevent.a53ss.diagram-4O54ORKZ.js.map} +0 -0
  894. /package/dist/{spliceevent.exonskip.diagram-PSEVCDH4.js.map → spliceevent.exonskip.diagram-KOIOS6IV.js.map} +0 -0
  895. /package/dist/{spliceevent.noeventdiagram-T2LHGFN7.js.map → spliceevent.noeventdiagram-YGUGQMVE.js.map} +0 -0
  896. /package/dist/{ssGSEA-QFMYBITZ.js.map → ssGSEA-UZMBIHVD.js.map} +0 -0
  897. /package/dist/{ssGSEA.unit.spec-SQW7KFWE.js.map → ssGSEA.unit.spec-4YO4E3T7.js.map} +0 -0
  898. /package/dist/{stattable-QDIUQCMG.js.map → stattable-MDABSW3F.js.map} +0 -0
  899. /package/dist/{summarizeCnvGeneexp-EVRTBY3L.js.map → summarizeCnvGeneexp-HV3DHIW4.js.map} +0 -0
  900. /package/dist/{summarizeGeneexpSurvival-O3MGRS6K.js.map → summarizeGeneexpSurvival-VGPRWYQ5.js.map} +0 -0
  901. /package/dist/{summarizeMutationCnv-RZ2DZ2XO.js.map → summarizeMutationCnv-N3JEB4DJ.js.map} +0 -0
  902. /package/dist/{summarizeMutationDiagnosis-V2DISQTC.js.map → summarizeMutationDiagnosis-6U4DBLG5.js.map} +0 -0
  903. /package/dist/{summarizeMutationSurvival-FTTWJBUG.js.map → summarizeMutationSurvival-S7NLAVEI.js.map} +0 -0
  904. /package/dist/{summary-QKBTZINC.js.map → summary-NPR56I4S.js.map} +0 -0
  905. /package/dist/{summary.integration.spec-54HA7BC2.js.map → summary.integration.spec-HWNJWLKT.js.map} +0 -0
  906. /package/dist/{summaryInput-4RLZT6RW.js.map → summaryInput-DO73NGDQ.js.map} +0 -0
  907. /package/dist/{sunburst-SMKD45XD.js.map → sunburst-MMXSGJSL.js.map} +0 -0
  908. /package/dist/{survival-YQNA3WP7.js.map → survival-7AIKFGV5.js.map} +0 -0
  909. /package/dist/{survival-BAW5ME6J.js.map → survival-UK332X6L.js.map} +0 -0
  910. /package/dist/{survival.integration.spec-2AHXNMH2.js.map → survival.integration.spec-YMTEKEGB.js.map} +0 -0
  911. /package/dist/{svgraph-5Z7VAIVR.js.map → svgraph-MLLAYO4A.js.map} +0 -0
  912. /package/dist/{svmr-PHD76RV4.js.map → svmr-PYW4PLT3.js.map} +0 -0
  913. /package/dist/{table-GMRAOIWZ.js.map → table-Y3ED2444.js.map} +0 -0
  914. /package/dist/{termCollection-QLKTRXUR.js.map → termCollection-3XVL75II.js.map} +0 -0
  915. /package/dist/{termCollection-MEBY34TJ.js.map → termCollection-VAB53YGO.js.map} +0 -0
  916. /package/dist/{termCollection.unit.spec-6B53SW2Q.js.map → termCollection.unit.spec-DYPWNVEZ.js.map} +0 -0
  917. /package/dist/{termInfo-2Z4V2QLE.js.map → termInfo-6MJDJSDW.js.map} +0 -0
  918. /package/dist/{tk-X46SEOL7.js.map → tk-GUGJYKJ2.js.map} +0 -0
  919. /package/dist/{tp.ui-XV7CL7CA.js.map → tp.ui-WGETBYJQ.js.map} +0 -0
  920. /package/dist/{tvs.dt-U6SIZTXW.js.map → tvs.dt-JWF4I3KY.js.map} +0 -0
  921. /package/dist/{tvs.dtcnv.categorical-6YGEKMHW.js.map → tvs.dtcnv.categorical-72Y5QMPL.js.map} +0 -0
  922. /package/dist/{tvs.dtcnv.continuous-CQFEENBO.js.map → tvs.dtcnv.continuous-73LHWTU5.js.map} +0 -0
  923. /package/dist/{tvs.dtfusion-NOBT2JPI.js.map → tvs.dtfusion-LP6HUMZU.js.map} +0 -0
  924. /package/dist/{tvs.dtsnvindel-6GTCSVAV.js.map → tvs.dtsnvindel-23N2CFZJ.js.map} +0 -0
  925. /package/dist/{tvs.dtsv-PMI4YVI5.js.map → tvs.dtsv-DILQVKYM.js.map} +0 -0
  926. /package/dist/{tvs.samplelst-HVNYKHXG.js.map → tvs.samplelst-GV4VSCRF.js.map} +0 -0
  927. /package/dist/{tvs.termCollection-EWGTT75Z.js.map → tvs.termCollection-KBDNXK7X.js.map} +0 -0
  928. /package/dist/{violin-MKWRB25Z.js.map → violin-TYUP7FB5.js.map} +0 -0
  929. /package/dist/{violin.integration.spec-CNWJ43SD.js.map → violin.integration.spec-ULRFK2A6.js.map} +0 -0
  930. /package/dist/{violin.interactivity-UXOMTGSD.js.map → violin.interactivity-2QZVQWQJ.js.map} +0 -0
  931. /package/dist/{violin.renderer-67Q6YGYQ.js.map → violin.renderer-HCDSN62Z.js.map} +0 -0
  932. /package/dist/{vocabulary-AKXE7SNU.js.map → vocabulary-I4CMPN2Z.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../shared/types/src/routes/aiProjectSelectedWSImages.ts", "../../shared/types/src/routes/hicgenome.ts", "../../shared/types/src/routes/samplewsimages.ts", "../../shared/types/src/routes/termdb.categories.ts", "../../shared/types/src/routes/termdb.chat.ts", "../../shared/types/src/routes/termdb.descrstats.ts", "../../shared/types/src/routes/termdb.percentile.ts", "../../shared/types/src/routes/termdb.runChart.ts", "../../shared/types/src/routes/termdb.rootterm.ts", "../../shared/types/src/routes/termdb.termchildren.ts", "../../shared/types/src/routes/termdb.violinBox.ts", "../../shared/types/src/terms/constants.ts", "../../shared/utils/src/terms.ts"],
4
+ "sourcesContent": ["import type { WSImage } from './samplewsimages.ts'\n\nexport const FlagStatus = {\n\tNormal: 0,\n\tSkipped: 1,\n\tFlagged: 2,\n\tDeleted: 3\n} as const\n\nexport type FlagStatusValues = (typeof FlagStatus)[keyof typeof FlagStatus]\n\nexport const FeaturePrefixes = {\n\tStar: 'annotation-star-',\n\tSquare: 'annotation-square-',\n\tBorder: 'annotation-border-',\n\tPredBorder: 'prediction-border-'\n} as const\n\nexport type FeaturePrefixValues = (typeof FeaturePrefixes)[keyof typeof FeaturePrefixes]\n\nexport const SelectionPrefixes = {\n\tTileSelection: 'ts_',\n\tPrediction: 'pred_',\n\tAnnotation: 'anno_'\n} as const\n\nexport type SelectionPrefixValues = (typeof SelectionPrefixes)[keyof typeof SelectionPrefixes]\n\nexport const FlagStatusMessages = {\n\t[FlagStatus.Normal]: '',\n\t[FlagStatus.Skipped]: '(Skipped)',\n\t[FlagStatus.Flagged]: '(Flagged)'\n\t// Didn't add Deleted to FlagStatusMessages because deleted annotations dont exist\n\t// and deleted predictons are filtered out in proteinpaint/server/routes/aiProjectSelectedWSImages.ts around line 119\n}\n\nexport type AiProjectSelectedWSImagesRequest = {\n\tgenome: string\n\tdslabel: string\n\tprojectId: number\n\twsimagesFilenames: Array<string>\n}\n\nexport type AiProjectSelectedWSImagesResponse = {\n\t// TODO create a type for WSImage with AI project specific fields\n\twsimages: WSImage[]\n}\n\nexport interface FlagPredictionInfo {\n\tflag: FlagStatusValues\n\ttimestamp: string\n}\n\n// TODO move to another class\nexport interface TileSelection {\n\tzoomCoordinates: [number, number]\n\tclass?: string\n\tflag: FlagStatusValues\n\tid: string\n\ttimestamp: string\n}\n\nexport interface Annotation extends TileSelection {\n\tclass: string\n}\n\nexport interface Prediction extends TileSelection {\n\tclass: string\n\tuncertainty: number\n}\n\nexport function createSelectionID(prefix: SelectionPrefixValues, coordinates: [number, number]): string {\n\treturn prefix + JSON.stringify(coordinates)\n}\n\nexport function checkSelectionType(tileSelection: TileSelection, suspectedPrefix: SelectionPrefixValues): boolean {\n\treturn tileSelection.id.startsWith(suspectedPrefix)\n}\n\nexport function createFeatureID(featurePrefix: FeaturePrefixValues, coords: [number, number]) {\n\treturn featurePrefix + JSON.stringify(coords)\n}\n\n// TODO: write payload examples to help with automated testing and documentation, for non-prod use only\n", "import type { BaseHicRequest, XYZCoord } from './hicdata.ts'\n\nexport type HicGenomeRequest = BaseHicRequest & {\n\t/** Entire chromosome list read from the file (see hicstate) */\n\tchrlst: string[]\n\t/** window location */\n\tembedder: string\n\t/** whether or not the file contains 'chr' for the chromosomes */\n\tnochr: boolean\n}\n\nexport type HicGenomeResponse = {\n\tdata: {\n\t\t/** First chromosome */\n\t\tlead: string\n\t\t/** Second chromosome */\n\t\tfollow: string\n\t\titems: XYZCoord[]\n\t}[]\n\t/** Error message to display on the client, if applicable */\n\terror?: string\n}\n\n// TODO: write payload examples to help with automated testing and documentation, for non-prod use only\n// The example below will not work in github CI where only termdb test\nexport const hicGenomePayloadExample = {\n\texamples: [\n\t\t{\n\t\t\trequest: {\n\t\t\t\tbody: {\n\t\t\t\t\tembedder: 'localhost',\n\t\t\t\t\turl: 'https://proteinpaint.stjude.org/ppdemo/hg19/hic/hic_demo.hic',\n\t\t\t\t\tmatrixType: 'observed',\n\t\t\t\t\tnmeth: 'NONE',\n\t\t\t\t\tpos1: '3',\n\t\t\t\t\tpos2: '2',\n\t\t\t\t\tresolution: 1000000\n\t\t\t\t} // satisfies HicGenomeRequest // TODO: fix the type or example\n\t\t\t},\n\t\t\tresponse: {\n\t\t\t\theader: { status: 200 }\n\t\t\t}\n\t\t}\n\t]\n}\n", "import type { WSIClass } from '../dataset.ts'\nimport type { Annotation, Prediction } from './aiProjectSelectedWSImages.ts'\n\nexport type SampleWSImagesRequest = {\n\tgenome: string\n\tdslabel: string\n\tsample_id: string\n\twsimage: string\n}\n\nexport type SampleWSImagesResponse = {\n\tsampleWSImages: WSImage[]\n}\n\nexport class WSImage {\n\tid?: number\n\tfilename: string\n\tmetadata?: string\n\tpredictionLayers?: Array<string>\n\tannotations?: Array<Annotation>\n\tpredictions?: Array<Prediction>\n\tclasses?: Array<WSIClass>\n\t/** ds defined uncertainity labels and colors */\n\tuncertainty?: any\n\t/** Color to highlight active patches */\n\tactivePatchColor?: string\n\t/** Tile size in pixels needed for AI scripts */\n\ttileSize?: number\n\n\tconstructor(filename: string) {\n\t\tthis.filename = filename\n\t}\n}\n\n// TODO: write payload examples to help with automated testing and documentation, for non-prod use only\n", "import type { Filter } from '../filter.ts'\nimport type { TermWrapper } from '../terms/tw.ts'\n\nexport type CategoriesRequest = {\n\tgenome: string\n\tdslabel: string\n\tembedder: string\n\t/** termwrapper object */\n\ttw: TermWrapper\n\tfilter?: Filter\n\tfilter0?: any\n\t/** quick fix only for gdc */\n\tcurrentGeneNames?: string[]\n\t/** optional property added by mds3 tk, to limit to cases mutated in this region */\n\trglst?: any\n}\n\ninterface Entries {\n\tsamplecount: number\n\tkey: string\n\tlabel: string\n}\n\nexport type CategoriesResponse = {\n\tlst: Entries[]\n\torderedLabels?: []\n}\n\n// TODO: write more payload examples to help with automated testing and documentation, for non-prod use only\n\nexport const termdbCategoriesPayloadExamples = {\n\trequest: {\n\t\ttypeId: 'CategoriesRequest'\n\t},\n\tresponse: {\n\t\ttypeId: 'CategoriesResponse'\n\t},\n\texamples: [\n\t\t{\n\t\t\trequest: {\n\t\t\t\tbody: {\n\t\t\t\t\tgenome: 'hg38-test',\n\t\t\t\t\tdslabel: 'TermdbTest',\n\t\t\t\t\tembedder: 'localhost',\n\t\t\t\t\ttw: { id: 'diaggrp' },\n\t\t\t\t\tfilter: {\n\t\t\t\t\t\ttype: 'tvslst',\n\t\t\t\t\t\tin: true,\n\t\t\t\t\t\tjoin: '',\n\t\t\t\t\t\tlst: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t//tag: 'cohortFilter',\n\t\t\t\t\t\t\t\ttype: 'tvs',\n\t\t\t\t\t\t\t\ttvs: {\n\t\t\t\t\t\t\t\t\tterm: {\n\t\t\t\t\t\t\t\t\t\tname: 'Cohort',\n\t\t\t\t\t\t\t\t\t\ttype: 'categorical',\n\t\t\t\t\t\t\t\t\t\tvalues: { ABC: { label: 'ABC' }, XYZ: { label: 'XYZ' } },\n\t\t\t\t\t\t\t\t\t\tid: 'subcohort',\n\t\t\t\t\t\t\t\t\t\tisleaf: false,\n\t\t\t\t\t\t\t\t\t\tgroupsetting: { disabled: true }\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tvalues: [{ key: 'ABC', label: 'ABC' }]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t} // satisfies CategoriesRequest // TODO: use the type definition\n\t\t\t},\n\t\t\tresponse: {\n\t\t\t\theader: { status: 200 }\n\t\t\t}\n\t\t}\n\t]\n}\n", "import type { TermTypes } from '../terms/constants.ts'\nimport type { Filter } from '../filter.ts'\n\n/** */\n// Helps track ambiguous points in the LLM reasoning process for debugging and improvement purposes.\n// Create a fresh array per request/pipeline run to avoid sharing mutable state across module consumers.\nexport const createAmbiguousPoints = (): string[] => []\n\nexport type ChatRequest = {\n\tgenome: string\n\tdslabel: string\n\tfilter?: Filter\n\t/** user prompt */\n\tprompt: string\n\t__protected__?: any\n}\n\nexport type TextResponse = {\n\ttype: 'text'\n\t/** Plain text message to display in the chat */\n\ttext: string\n}\nexport type HtmlResponse = {\n\ttype: 'html'\n\t/** Pre-approved HTML from the dataset JSON resources array */\n\thtml: string\n}\nexport type PlotResponse = {\n\ttype: 'plot'\n\tplot: object\n\tmsg?: string\n\t/** Specifies what action to take e.g. Summary plot or no action. Will add more chart types later */\n}\n\nexport type LlmConfig = {\n\tprovider: 'SJ' | 'ollama' | 'huggingface' | 'azure'\n\tEmbeddingProvider: 'SJ' | 'ollama' | 'huggingface'\n\tEmbeddingProviderApi: string\n\tapi: string\n\tapiToken?: string\n\tEmbeddingProviderApiToken?: string\n\tmodelName: string\n\tembeddingModelName: string\n\t/** Whether to load the embedding model locally (via transformers.js) or call a remote API. Defaults to 'api'. */\n\tembeddingModelAccess?: 'local' | 'api'\n\t/** Smaller model to use for LLM classification fallback. Defaults to modelName if not set. */\n\tclassifierModelName?: string\n\t/** Log verbose debug output (e.g. raw embedding arrays) to the terminal. Defaults to false. */\n\tverbose?: boolean\n}\n\nexport interface GeneDataTypeResult {\n\tgene: string\n\tdataType: string\n}\n\nexport interface GeneSetDataTypeResult {\n\tgeneSet: string\n\tdataType: typeof TermTypes.SSGSEA | typeof TermTypes.GENE_VARIANT | 'ambiguous' | typeof TermTypes.GENE_EXPRESSION\n}\n\nexport type ChatResponse = TextResponse | HtmlResponse | PlotResponse\n\nexport type SummaryType = {\n\t/** Name of 1st term */\n\tterm: string\n\t/** Name of 2nd term */\n\tterm2?: string\n\t/** Optional simple filter terms */\n\tsimpleFilter: FilterTerm[]\n\t/** Optional explicit child type requested by the user. If omitted, the logic of the data types picks the child type. */\n\tchildType?: 'violin' | 'boxplot' | 'sampleScatter' | 'barchart'\n}\n\nexport type FilterTerm =\n\t| CategoricalFilterTerm\n\t| NumericFilterTerm /** FilterTerm can either be numeric or categorical */\n\nexport type CategoricalFilterTerm = {\n\t/** Name of categorical term */\n\tterm: string\n\t/** The category of the term */\n\tcategory: string\n\t/** join term to be used only when there is more than one filter term and should be placed from the 2nd filter term onwards describing how it connects to the previous term */\n\tjoin?: 'and' | 'or'\n}\n\nexport type NumericFilterTerm = {\n\t/** Name of numeric term */\n\tterm: string\n\t/** start position (or lower limit) of numeric term */\n\tstart?: number\n\t/** stop position (or upper limit) of numeric term */\n\tstop?: number\n\t/** join term to be used only when there is more than one filter term and should be placed from the 2nd filter term onwards describing how it connects to the previous term */\n\tjoin?: 'and' | 'or'\n}\n\nexport type DbRows = {\n\t/** Name of the term */\n\tname: string\n\t/** Description of the term in plain language */\n\tdescription: string\n\t/** The type of variable stored in the DB (e.g. categorical, float) */\n\tterm_type: string\n\t/** Array of {key,value} terms storing the possible categories for a categorical variable */\n\tvalues: DbValue[]\n}\n\nexport type DbValue = {\n\t/** Name of the key */\n\tkey: string\n\t/** Object of values corresponding to the key */\n\tvalue: any\n}\n\nexport type ClassificationType =\n\t| plot_type\n\t| resource_type\n\t| none_type /** Variable containing the type of action the UI needs to take */\n\nexport type plot_type = {\n\t/** When type == plot, show the corresponding plot in the plot field */\n\ttype: 'plot'\n\t/** The type of plot to be displayed on the UI.\n\t * Standard categories are listed; datasets may define additional custom categories. */\n\tplot: 'summary' | 'dge' | 'survival' | 'matrix' | 'sampleScatter' | 'hierCluster' | 'genomeBrowser'\n}\n\nexport type resource_type = {\n\t/** When type == resource, invoke the resource agent to return a matching resource link */\n\ttype: 'resource'\n}\n\nexport type none_type = {\n\t/** When type == none, the query did not match any known category */\n\ttype: 'none'\n}\n\n/** Top-level classification returned by classifyQuery: plot or notplot (subtype determined separately by plot.ts) */\nexport type QueryClassification = { type: 'plot' } | { type: 'notplot' } | { type: 'binaryQuery' }\n\n/** Specific plot type returned by classifyPlotType in plot.ts */\nexport type PlotType = 'summary' | 'dge' | 'survival' | 'matrix' | 'prebuiltscatter' | 'hiercluster' | 'genomeBrowser'\n\nexport type DEType = {\n\t/** Name of group1 which is an array of filter terms */\n\tgroup1: FilterTerm[]\n\t/** Name of group2 which is an array of filter terms */\n\tgroup2: FilterTerm[]\n\t/** Method used for carrying out differential gene expression analysis */\n\tmethod?: 'edgeR' | 'limma' | 'wilcoxon'\n}\n\nexport type MatrixType = {\n\t/** Names of dictionary terms to include as rows in the matrix (e.g. \"Diagnosis\", \"Gender\", \"Race\") */\n\tterms?: string[]\n\t/** Names of genes to include as gene variant rows in the matrix (e.g. \"TP53\", \"KRAS\", \"NRAS\") */\n\tgeneNames?: string[]\n\t/** Names of gene sets containing ssGSEA enrichment scores */\n\tgenesetNames?: string[]\n\t/** Optional simple filter terms to restrict the sample set */\n\tsimpleFilter?: FilterTerm[]\n}\n\nexport type HierClusterType = {\n\t/** Names of genes to include in the hierarchical clustering (e.g. \"TP53\", \"KRAS\", \"BCR\") */\n\tgeneNames?: string[]\n\t/** Names of gene sets containing list of genes to be used for hierarchical clustering */\n\tgenesetNames?: string[]\n\t/** Optional simple filter terms to restrict the sample set */\n\tsimpleFilter?: FilterTerm[]\n}\n\nexport type SampleScatterType = {\n\t/** Name of the pre-built plot (e.g. \"Transcriptome t-SNE\", \"Transcriptome UMAP\") */\n\tplotName: string\n\t/** Term or gene name to overlay as color, or null to remove color overlay */\n\tcolorTW?: string | null\n\t/** Term or gene name to overlay as shape, or null to remove shape overlay */\n\tshapeTW?: string | null\n\t/** Term or gene name to overlay as Z-divide, or null to remove divide overlay */\n\tterm0?: string | null\n\t/** Optional simple filter terms */\n\tsimpleFilter?: FilterTerm[]\n}\n", "import type { Filter } from '../filter.ts'\nimport type { TermWrapper } from '../terms/tw.ts'\n\nexport type DescrStatsRequest = {\n\t/** genome label in the serverconfig.json */\n\tgenome: string\n\t/** dataset label for the given genome */\n\tdslabel: string\n\tembedder: string\n\t/** wrapper of a numeric term, q.mode can be any as getData() will always pull sample-level values for summarizing */\n\ttw: TermWrapper\n\t/** if true, the (violin) plot is in log scale and must exclude 0-values from the stat */\n\tlogScale?: boolean\n\t/** optional pp filter */\n\tfilter?: Filter\n\t/** optional gdc filter */\n\tfilter0?: any\n}\n\nexport type DescrStats = {\n\t[key: string]: {\n\t\tkey: string\n\t\tlabel: string\n\t\tvalue: number\n\t}\n}\n\nexport type DescrStatsResponse = DescrStats\n\n// TODO: write more payload examples to help with automated testing and documentation, for non-prod use only\n\nexport const descrStatsPayloadExamples = {\n\trequest: {\n\t\ttypeId: 'DescrStatsRequest'\n\t},\n\tresponse: {\n\t\ttypeId: 'DescrStatsResponse'\n\t},\n\texamples: [\n\t\t{\n\t\t\trequest: {\n\t\t\t\tbody: {\n\t\t\t\t\tgenome: 'hg38-test',\n\t\t\t\t\tdslabel: 'TermdbTest',\n\t\t\t\t\tembedder: 'localhost',\n\t\t\t\t\ttw: { term: { id: 'hrtavg' }, q: { mode: 'continuous' } },\n\t\t\t\t\tfilter: {\n\t\t\t\t\t\ttype: 'tvslst',\n\t\t\t\t\t\tin: true,\n\t\t\t\t\t\tjoin: '',\n\t\t\t\t\t\tlst: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttag: 'cohortFilter',\n\t\t\t\t\t\t\t\ttype: 'tvs',\n\t\t\t\t\t\t\t\ttvs: {\n\t\t\t\t\t\t\t\t\tterm: {\n\t\t\t\t\t\t\t\t\t\tname: 'Cohort',\n\t\t\t\t\t\t\t\t\t\ttype: 'categorical',\n\t\t\t\t\t\t\t\t\t\tvalues: { ABC: { label: 'ABC' }, XYZ: { label: 'XYZ' } },\n\t\t\t\t\t\t\t\t\t\tid: 'subcohort',\n\t\t\t\t\t\t\t\t\t\tisleaf: false,\n\t\t\t\t\t\t\t\t\t\tgroupsetting: { disabled: true }\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tvalues: [{ key: 'ABC', label: 'ABC' }]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t} // satisfies DescrStatsRequest // TODO: enable type check\n\t\t\t},\n\t\t\tresponse: {\n\t\t\t\theader: { status: 200 }\n\t\t\t}\n\t\t}\n\t]\n}\n", "import type { Filter } from '../filter.ts'\nimport type { Term } from '../terms/term.ts'\n\nexport type PercentileRequest = {\n\t/** a user-defined genome label in the serverconfig.json, hg38, hg19, mm10, etc */\n\tgenome: string\n\t/** a user-defined dataset label in the serverconfig.json, such as ClinVar, SJLife, GDC, etc */\n\tdslabel: string\n\tembedder: string\n\tgetpercentile: number[]\n\t/** term id string */\n\tterm: Term\n\tfilter?: Filter\n\tfilter0?: any\n}\n\nexport type PercentileResponse = {\n\tvalues: number[]\n}\n\n// TODO: write more payload examples to help with automated testing and documentation, for non-prod use only\n\nexport const percentilePayloadExamples = {\n\trequest: {\n\t\ttypeId: 'PercentileRequest'\n\t},\n\tresponse: {\n\t\ttypeId: 'PercentileResponse'\n\t},\n\texamples: [\n\t\t{\n\t\t\trequest: {\n\t\t\t\tbody: {\n\t\t\t\t\tgenome: 'hg38-test',\n\t\t\t\t\tdslabel: 'TermdbTest',\n\t\t\t\t\tembedder: 'localhost',\n\t\t\t\t\tgetpercentile: [50],\n\t\t\t\t\tterm: { id: 'agedx' },\n\t\t\t\t\tfilter: {\n\t\t\t\t\t\ttype: 'tvslst',\n\t\t\t\t\t\tin: true,\n\t\t\t\t\t\tjoin: '',\n\t\t\t\t\t\tlst: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttag: 'cohortFilter',\n\t\t\t\t\t\t\t\ttype: 'tvs',\n\t\t\t\t\t\t\t\ttvs: {\n\t\t\t\t\t\t\t\t\tterm: {\n\t\t\t\t\t\t\t\t\t\tname: 'Cohort',\n\t\t\t\t\t\t\t\t\t\ttype: 'categorical',\n\t\t\t\t\t\t\t\t\t\tvalues: { ABC: { label: 'ABC' }, XYZ: { label: 'XYZ' } },\n\t\t\t\t\t\t\t\t\t\tid: 'subcohort',\n\t\t\t\t\t\t\t\t\t\tisleaf: false,\n\t\t\t\t\t\t\t\t\t\tgroupsetting: { disabled: true }\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tvalues: [{ key: 'ABC', label: 'ABC' }]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t} // satisfies PercentileRequest // TODO: enable type check\n\t\t\t},\n\t\t\tresponse: {\n\t\t\t\theader: { status: 200 }\n\t\t\t}\n\t\t}\n\t]\n}\n", "export type RunChartRequest = {\n\tgenome: string\n\tdslabel: string\n\t/**\n\t * term wrapper for x axis: { term, q }.\n\t * runChart2: q.mode='continuous' \u2192 1 series.\n\t * runChart2Period: q.mode='discrete' (with bins) \u2192 multiple series by period.\n\t */\n\txtw: { term: { id: string }; q?: { mode?: 'continuous' | 'discrete' }; $id?: string }\n\t/** term wrapper for y axis: { term, q }. When omitted, chart renders as frequency (count per time bucket). */\n\tytw?: { term: { id: string }; q?: { mode?: string }; $id?: string }\n\taggregation?: 'median'\n\t/** When true (frequency mode only), series Y values are cumulative counts. */\n\tshowCumulativeFrequency?: boolean\n\tfilter?: any\n\t__protected__?: any // auth token for accessing protected data\n}\n\nexport type RunChartSeries = {\n\t/** period/series identifier */\n\tseriesId?: string\n\t/** calculated Y median value for this curve */\n\tmedian: number\n\tpoints: Point[]\n}\n\nexport type RunChartSuccessResponse = {\n\tstatus: 'ok'\n\t/** each series is one curve, with a median. a runchart may show 1 or multiple curves */\n\tseries: RunChartSeries[]\n}\n\nexport type RunChartErrorResponse = {\n\terror: string\n\t/** Always empty on error; present so response shape is consistent for clients/checkers. */\n\tseries: RunChartSeries[]\n}\n\n/** Discriminated union: server returns success shape on 200 or error shape with series: []. */\nexport type RunChartResponse = RunChartSuccessResponse | RunChartErrorResponse\n\nexport function isRunChartSuccess(r: RunChartResponse): r is RunChartSuccessResponse {\n\treturn 'status' in r && r.status === 'ok'\n}\n\ntype Point = {\n\t/** decimal year, e.g. 2024.21321321 */\n\tx: number\n\t/** text of human-readable x value, e.g. \"Jan 2024\" which may be by the months, depends on dataset customization */\n\txName: string\n\t/** timeline, e.g. number of days */\n\ty: number\n\t/** number of samples with this timeline at this time point */\n\tsampleCount: number\n}\n\n// TODO: write payload examples to help with automated testing and documentation, for non-prod use only\n", "export type RootTermRequest = {\n\t/** a user-defined genome label in the serverconfig.json, hg38, hg19, mm10, etc */\n\tgenome: string\n\t/** a user-defined dataset label in the serverconfig.json, such as ClinVar, SJLife, GDC, etc */\n\tdslabel: string\n\tembedder: string\n\tdefault_rootterm: number\n\tcohortValues: string\n\ttreeFilter: string\n}\n\ninterface Entries {\n\tname: string\n\tid: string\n\tisleaf: boolean\n\tincluded_types: string[]\n\tchild_types: string[]\n}\n\nexport type RootTermResponse = {\n\tlst: Entries[]\n}\n\nexport const rootTermPayloadExamples = {\n\trequest: {\n\t\ttypeId: 'RootTermRequest'\n\t},\n\tresponse: {\n\t\ttypeId: 'RootTermResponse'\n\t},\n\texamples: [\n\t\t{\n\t\t\trequest: {\n\t\t\t\tbody: {\n\t\t\t\t\tgenome: 'hg38-test',\n\t\t\t\t\tdslabel: 'TermdbTest',\n\t\t\t\t\tembedder: 'localhost',\n\t\t\t\t\tdefault_rootterm: 1,\n\t\t\t\t\tcohortValues: 'ABC'\n\t\t\t\t} // satisfies RootTermRequest // TODO: enable type check\n\t\t\t},\n\t\t\tresponse: {\n\t\t\t\theader: { status: 200 }\n\t\t\t}\n\t\t}\n\t]\n}\n", "export type TermChildrenRequest = {\n\t/** a user-defined genome label in the serverconfig.json, hg38, hg19, mm10, etc */\n\tgenome: string\n\t/** a user-defined dataset label in the serverconfig.json, such as ClinVar, SJLife, GDC, etc */\n\tdslabel: string\n\tembedder: string\n\tget_children: number\n\tcohortValues?: string\n\ttid: string\n}\n\ninterface Entries {\n\tname: string\n\tid: string\n\tisleaf: boolean\n\tincluded_types: string[]\n\tchild_types: string[]\n}\n\nexport type TermChildrenResponse = {\n\tlst: Entries[]\n}\n\nexport const termChildrenPayloadExamples = {\n\trequest: {\n\t\ttypeId: 'TermChildrenRequest'\n\t},\n\tresponse: {\n\t\ttypeId: 'TermChildrenResponse'\n\t},\n\texamples: [\n\t\t{\n\t\t\trequest: {\n\t\t\t\tbody: {\n\t\t\t\t\tgenome: 'hg38-test',\n\t\t\t\t\tdslabel: 'TermdbTest',\n\t\t\t\t\tembedder: 'localhost',\n\t\t\t\t\tget_children: 1,\n\t\t\t\t\tcohortValues: 'ABC',\n\t\t\t\t\ttid: 'GO:0000001'\n\t\t\t\t} satisfies TermChildrenRequest // TODO: enable type check\n\t\t\t},\n\t\t\tresponse: {\n\t\t\t\theader: { status: 200 }\n\t\t\t}\n\t\t}\n\t]\n}\n", "import type { TermWrapper } from '../terms/tw.ts'\nimport type { Filter } from '../filter.ts'\nimport type { ErrorResponse } from './errorResponse.ts'\nimport type { DescrStats } from './termdb.descrstats.ts'\n\n/** Common properties shared by both violin and box plots */\ntype CommonProps = {\n\t/** numeric tw to fetch numeric data. tw.q.mode must be continuous */\n\ttw: TermWrapper\n\tdslabel: string\n\tgenome: string\n\t/** overlay tw for multiple violins/boxplots */\n\toverlayTw?: TermWrapper\n\t/** tw to divide to multiple charts */\n\tdivideTw?: TermWrapper\n\t/** mass filter */\n\tfilter?: Filter\n\t/** read-only invisible filter */\n\tfilter0?: any\n\t/** TODO: Needs description FIXME delete */\n\tcurrentGeneNames?: string[]\n\t/** if true, use log scale; if false or undefined, use linear scale */\n\tisLogScale?: boolean\n}\n\n/** Request type for violin plots with required violin-specific parameters */\nexport type ViolinRequest = CommonProps & {\n\t/** Indicates the type of chart to render */\n\tplotType: 'violin'\n\t/** A number representing the dimension perpendicular to the violin spread */\n\taxisHeight?: number\n\t/** A string representing the type of symbol used on the plot */\n\tdatasymbol?: string\n\t/** A number representing the device's pixel ratio */\n\tdevicePixelRatio: number\n\t/** If true, uses KDE method to build plot */\n\tisKDE?: boolean\n\t/** A string with two possible values: 'horizontal' or 'vertical' */\n\torientation: string\n\t/** A number representing the radius of the data symbols */\n\tradius: number\n\t/** A number representing the right margin */\n\trightMargin?: number\n\t/** Term may be scaled from regression analysis */\n\tscale?: any\n\t/** A number representing the width of the stroke */\n\tstrokeWidth?: number\n\t/** A number representing the width of the SVG box */\n\tsvgw: number\n\t/** Number of bins to build the plot. Default is 20. */\n\tticks?: number\n}\n\n/** Request type for box plots with required box-specific parameters */\nexport type BoxRequest = CommonProps & {\n\t/** Indicates the type of chart to render */\n\tplotType: 'box'\n\t/** sort plots by median value */\n\torderByMedian?: boolean\n\t/** Remove outliers from the plot */\n\tremoveOutliers?: boolean\n\t/** If true, show association tests table */\n\tshowAssocTests?: boolean\n}\n\n/**Unified request type for violin and boxplot - union of ViolinRequest and BoxRequest */\nexport type ViolinBoxRequest = ViolinRequest | BoxRequest\n\nexport type ViolinBoxResponse = ViolinResponse | BoxPlotResponse | ErrorResponse\n\n/** Type guard to check if response is an ErrorResponse */\nexport function isErrorResponse(response: ViolinBoxResponse): response is ErrorResponse {\n\treturn 'error' in response && 'status' in response\n}\n\n/** Type guard to check if response is a BoxPlotResponse */\nexport function isBoxPlotResponse(response: ViolinBoxResponse): response is BoxPlotResponse {\n\treturn !isErrorResponse(response) && 'charts' in response && 'descrStats' in response\n}\n\n/** Type guard to check if response is a ViolinResponse */\nexport function isViolinResponse(response: ViolinBoxResponse): response is ViolinResponse {\n\treturn !isErrorResponse(response) && 'min' in response && 'max' in response\n}\n\n/** Violin response types */\ninterface BinsEntries {\n\tx0: number\n\tx1: number\n\tdensity: number\n}\n\ninterface ValuesEntries {\n\tid: string\n\tlabel: string\n\tvalue: number\n}\n\ninterface PValueEntries {\n\tvalue?: string\n\thtml?: string\n}\n\ntype ViolinDensity = {\n\tbins: BinsEntries[]\n\tdensityMax: number\n\tdensityMin: number\n}\n\nexport type ViolinPlotEntry = {\n\tcolor: string\n\tchartId: string\n\tdensity: ViolinDensity\n\tlabel: string\n\tplotValueCount: number\n\tseriesId: string\n\tsrc: string\n\tsummaryStats: ValuesEntries[]\n}\n\nexport type ViolinResponse = {\n\tbins: { [index: string]: any }\n\tcharts: {\n\t\t[index: string]: {\n\t\t\tchartId: string\n\t\t\tplots: ViolinPlotEntry[]\n\t\t\tpvalues?: PValueEntries[][]\n\t\t}\n\t}\n\tmin: number\n\tmax: number\n\tuncomputableValues: { [index: string]: number }[] | null\n\tdescrStats?: DescrStats\n}\n\n/** Boxplot response types */\nexport type BoxPlotData = {\n\tw1: number | undefined\n\tw2: number | undefined\n\tp05: number\n\tp25: number\n\tp50: number\n\tp75: number\n\tp95: number\n\tiqr: number\n\tout: { value: number }[]\n}\n\nexport type BoxPlotEntry = {\n\tboxplot: BoxPlotData & { label: string }\n\tcolor?: string\n\tdescrStats: DescrStats\n\tisHidden?: boolean\n\tkey: string\n\tseriesId?: string\n}\n\nexport type BoxPlotChartEntry = {\n\tchartId: string\n\tplots: BoxPlotEntry[]\n\tsampleCount: number\n\twilcoxon?: [{ value: string }, { value: string }, { html: string }][]\n}\n\nexport type BoxPlotResponse = {\n\tabsMin?: number\n\tabsMax?: number\n\tbins?: {\n\t\t[index: string]: any\n\t}\n\tcharts: {\n\t\t[chartId: string]: BoxPlotChartEntry\n\t}\n\tdescrStats: DescrStats\n\tuncomputableValues: { label: string; value: number }[] | null\n}\n\n// TODO: write more payload examples to help with automated testing and documentation, for non-prod use only\n\nexport const violinBoxPayload = {\n\trequest: {\n\t\ttypeId: 'ViolinBoxRequest'\n\t},\n\tresponse: {\n\t\ttypeId: 'ViolinBoxResponse'\n\t},\n\texamples: [\n\t\t{\n\t\t\trequest: {\n\t\t\t\tbody: {\n\t\t\t\t\tplotType: 'violin',\n\t\t\t\t\tgenome: 'hg38-test',\n\t\t\t\t\tdslabel: 'TermdbTest',\n\t\t\t\t\ttw: {\n\t\t\t\t\t\tterm: { id: 'aaclassic_5', type: 'float' },\n\t\t\t\t\t\tq: { mode: 'continuous' }\n\t\t\t\t\t},\n\t\t\t\t\tdevicePixelRatio: 2,\n\t\t\t\t\tsvgw: 200,\n\t\t\t\t\torientation: 'horizontal',\n\t\t\t\t\tdatasymbol: 'rug',\n\t\t\t\t\tradius: 5,\n\t\t\t\t\tisLogScale: false\n\t\t\t\t} // satisfies ViolinBoxRequest // TODO: enable type check\n\t\t\t},\n\t\t\tresponse: {\n\t\t\t\theader: { status: 200 }\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\trequest: {\n\t\t\t\tbody: {\n\t\t\t\t\tplotType: 'box',\n\t\t\t\t\tgenome: 'hg38-test',\n\t\t\t\t\tdslabel: 'TermdbTest',\n\t\t\t\t\ttw: {\n\t\t\t\t\t\tterm: { id: 'agedx', type: 'float' },\n\t\t\t\t\t\tq: { mode: 'continuous' }\n\t\t\t\t\t},\n\t\t\t\t\toverlayTw: {\n\t\t\t\t\t\tterm: { id: 'sex', type: 'categorical' }\n\t\t\t\t\t},\n\t\t\t\t\torderByMedian: true\n\t\t\t\t} // satisfies ViolinBoxRequest // TODO: enable type check\n\t\t\t},\n\t\t\tresponse: {\n\t\t\t\theader: { status: 200 }\n\t\t\t}\n\t\t}\n\t]\n}\n", "export const CATEGORICAL = 'categorical'\nexport const CONDITION = 'condition'\nexport const DATE = 'date'\nexport const DNA_METHYLATION = 'dnaMethylation'\nexport const FLOAT = 'float'\nexport const GENE_VARIANT = 'geneVariant'\nexport const GENE_EXPRESSION = 'geneExpression'\nexport const ISOFORM_EXPRESSION = 'isoformExpression'\nexport const INTEGER = 'integer'\nexport const METABOLITE_INTENSITY = 'metaboliteIntensity'\nexport const MULTIVALUE = 'multivalue'\nexport const SAMPLELST = 'samplelst'\nexport const SINGLECELL_CELLTYPE = 'singleCellCellType'\nexport const SINGLECELL_GENE_EXPRESSION = 'singleCellGeneExpression'\nexport const SNP = 'snp'\nexport const SNP_LIST = 'snplst'\nexport const SNP_LOCUS = 'snplocus'\nexport const SSGSEA = 'ssGSEA'\nexport const SURVIVAL = 'survival'\nexport const TERM_COLLECTION = 'termCollection'\nexport const PROTEOME_ABUNDANCE = 'proteomeAbundance'\nexport const PROTEOME_DAP = 'proteomeDAP'\n\n//Term types should be used gradually using these constants instead of hardcoding the values,\n// eg: type == CATEGORICAL instead of type == 'categorical'\nexport const TermTypes: { [key: string]: string } = {\n\tGENE_VARIANT,\n\tGENE_EXPRESSION,\n\tISOFORM_EXPRESSION,\n\tSSGSEA,\n\tDNA_METHYLATION,\n\tCATEGORICAL,\n\tINTEGER,\n\tFLOAT,\n\tSNP,\n\tSNP_LIST,\n\tSNP_LOCUS,\n\tCONDITION,\n\tSURVIVAL,\n\tSAMPLELST,\n\tMETABOLITE_INTENSITY,\n\tPROTEOME_ABUNDANCE,\n\tSINGLECELL_CELLTYPE,\n\tSINGLECELL_GENE_EXPRESSION,\n\tMULTIVALUE,\n\tDATE,\n\tTERM_COLLECTION\n}\n", "import type { Term } from '#types'\nimport {\n\tdtgeneexpression,\n\tdtssgsea,\n\tdtdnamethylation,\n\tdtmetaboliteintensity,\n\tdtproteomeabundance,\n\tTermTypeGroups,\n\tdtTerms\n} from './common.js'\nimport {\n\tGENE_VARIANT,\n\tGENE_EXPRESSION,\n\tISOFORM_EXPRESSION,\n\tSSGSEA,\n\tDNA_METHYLATION,\n\tCATEGORICAL,\n\tINTEGER,\n\tFLOAT,\n\tSNP,\n\tSNP_LIST,\n\tSNP_LOCUS,\n\tCONDITION,\n\tSURVIVAL,\n\tSAMPLELST,\n\tMETABOLITE_INTENSITY,\n\tPROTEOME_ABUNDANCE,\n\tSINGLECELL_CELLTYPE,\n\tSINGLECELL_GENE_EXPRESSION,\n\tMULTIVALUE,\n\tDATE,\n\tTERM_COLLECTION,\n\tTermTypes\n} from '#types'\n\n// legacy support - comsumers should import directly from #types (aka @sjcrh/proteinpaint-types)\nexport {\n\tGENE_VARIANT,\n\tGENE_EXPRESSION,\n\tISOFORM_EXPRESSION,\n\tSSGSEA,\n\tDNA_METHYLATION,\n\tCATEGORICAL,\n\tINTEGER,\n\tFLOAT,\n\tSNP,\n\tSNP_LIST,\n\tSNP_LOCUS,\n\tCONDITION,\n\tSURVIVAL,\n\tSAMPLELST,\n\tMETABOLITE_INTENSITY,\n\tPROTEOME_ABUNDANCE,\n\tSINGLECELL_CELLTYPE,\n\tSINGLECELL_GENE_EXPRESSION,\n\tMULTIVALUE,\n\tDATE,\n\tTERM_COLLECTION,\n\tTermTypes\n} from '#types'\n\n// moved TermTypeGroups to `server/src/common.js`, so now has to re-export\nexport { TermTypeGroups } from './common.js'\n\n/*\nFor datasets with multiple types of samples the ROOT_SAMPLE_TYPE is used to represent the root sample type, for example, \nthe type patient, that has one or more samples associated to it. This should be the id used as sample_type, when generating the db to identify the root samples\nin sampleidmap or the terms annotating root samples in the terms table.\nThe samples associated to a patient have annotations that are specific to a timepoint, for example, the age of the patient,\nthe doses of the drugs the patient was taking at the time of the data collection, etc. These annotations are associated to a sample.\n*/\nexport const ROOT_SAMPLE_TYPE = 1\n\n//For datasets with one sample type the DEFAULT_SAMPLE_TYPE is used to represent the sample type\nexport const DEFAULT_SAMPLE_TYPE = 2\n\nexport const NumericModes = {\n\tcontinuous: 'continuous',\n\tdiscrete: 'discrete'\n}\n\nexport const dtTermTypes: Set<string> = new Set(dtTerms.map((t: any) => t.type))\nfor (const dtTermType of dtTermTypes) {\n\tTermTypes[dtTermType.toUpperCase()] = dtTermType\n}\n\nexport const NUMERIC_DICTIONARY_TERM = 'numericDictTerm'\n\nexport const TermTypes2Dt = {\n\t[GENE_EXPRESSION]: dtgeneexpression,\n\t[SSGSEA]: dtssgsea,\n\t[DNA_METHYLATION]: dtdnamethylation,\n\t[METABOLITE_INTENSITY]: dtmetaboliteintensity,\n\t[PROTEOME_ABUNDANCE]: dtproteomeabundance\n}\n\n// maps term type to group (as is shown as toggles in search ui)\nexport const typeGroup = {\n\t[CATEGORICAL]: TermTypeGroups.DICTIONARY_VARIABLES,\n\t[CONDITION]: TermTypeGroups.DICTIONARY_VARIABLES,\n\t[FLOAT]: TermTypeGroups.DICTIONARY_VARIABLES,\n\t[INTEGER]: TermTypeGroups.DICTIONARY_VARIABLES,\n\t[SAMPLELST]: TermTypeGroups.DICTIONARY_VARIABLES,\n\t[SURVIVAL]: TermTypeGroups.DICTIONARY_VARIABLES,\n\t[DATE]: TermTypeGroups.DICTIONARY_VARIABLES,\n\t[MULTIVALUE]: TermTypeGroups.DICTIONARY_VARIABLES,\n\t[GENE_VARIANT]: TermTypeGroups.MUTATION_CNV_FUSION,\n\t[SNP]: TermTypeGroups.SNP,\n\t[SNP_LIST]: TermTypeGroups.SNP_LIST,\n\t[SNP_LOCUS]: TermTypeGroups.SNP_LOCUS,\n\t[GENE_EXPRESSION]: TermTypeGroups.GENE_EXPRESSION,\n\t[ISOFORM_EXPRESSION]: TermTypeGroups.ISOFORM_EXPRESSION,\n\t[SSGSEA]: TermTypeGroups.SSGSEA,\n\t[DNA_METHYLATION]: TermTypeGroups.DNA_METHYLATION,\n\t[METABOLITE_INTENSITY]: TermTypeGroups.METABOLITE_INTENSITY,\n\t[PROTEOME_ABUNDANCE]: TermTypeGroups.PROTEOME_ABUNDANCE,\n\t[TERM_COLLECTION]: TermTypeGroups.TERM_COLLECTION,\n\t[SINGLECELL_CELLTYPE]: TermTypeGroups.SINGLECELL_CELLTYPE,\n\t[SINGLECELL_GENE_EXPRESSION]: TermTypeGroups.SINGLECELL_GENE_EXPRESSION\n}\n\nconst nonDictTypes = new Set([\n\tSNP,\n\tSNP_LIST,\n\tSNP_LOCUS,\n\tGENE_EXPRESSION,\n\tISOFORM_EXPRESSION,\n\tSSGSEA,\n\tDNA_METHYLATION,\n\tGENE_VARIANT,\n\tMETABOLITE_INTENSITY,\n\tPROTEOME_ABUNDANCE,\n\tSINGLECELL_CELLTYPE,\n\tSINGLECELL_GENE_EXPRESSION\n])\n\nfor (const dtTermType of dtTermTypes) {\n\tnonDictTypes.add(TermTypes[dtTermType.toUpperCase()])\n}\n\nexport const numericTypes = new Set([\n\tINTEGER,\n\tFLOAT,\n\tGENE_EXPRESSION,\n\tISOFORM_EXPRESSION,\n\tSSGSEA,\n\tDNA_METHYLATION,\n\tMETABOLITE_INTENSITY,\n\tPROTEOME_ABUNDANCE,\n\tSINGLECELL_GENE_EXPRESSION,\n\tDATE\n])\n\n// dictionary numeric term types, exists in db tables, exclude non-dictionary term types\nexport const dictionaryNumericTypes = new Set([INTEGER, FLOAT, DATE])\n\nconst categoricalTypes = new Set([CATEGORICAL, SNP])\n\nconst singleCellTerms = new Set([SINGLECELL_CELLTYPE, SINGLECELL_GENE_EXPRESSION])\n\nexport function isSingleCellTerm(term: any) {\n\tif (!term) return false\n\treturn singleCellTerms.has(term.type)\n}\nexport function isNumericTerm(term: Term) {\n\tif (!term) return false\n\treturn numericTypes.has(term.type)\n}\nexport function isCategoricalTerm(term: Term) {\n\tif (!term) return false\n\treturn categoricalTypes.has(term.type)\n}\n\nexport function isDictionaryType(type: string) {\n\treturn !isNonDictionaryType(type)\n}\n\nexport function isNonDictionaryType(type: string) {\n\tif (!type) throw new Error('Type is not defined')\n\treturn nonDictTypes.has(type)\n}\n\nexport function isNumTermCollection(term: Term) {\n\tif (!term || !term.type) throw new Error('Term or term type is not defined')\n\t//Enable this check when memberType is added to term collection\n\t// return term.type === TERM_COLLECTION && term.memberType == 'numeric'\n\treturn term.type === TERM_COLLECTION\n}\n\nexport function equals(t1: any, t2: any) {\n\tif (!t1) throw new Error('First term is not defined ')\n\tif (!t2) throw new Error('Second term is not defined ')\n\tif (t1.type !== t2.type) return false //term types are different\n\tif (isDictionaryType(t1.type) && isDictionaryType(t2.type) && t1.type != SAMPLELST) return t1.id === t2.id\n\tswitch (t1.type) {\n\t\tcase GENE_EXPRESSION:\n\t\t\treturn t1.gene == t2.gene\n\t\tcase ISOFORM_EXPRESSION:\n\t\t\treturn t1.isoform == t2.isoform\n\t\tcase SSGSEA:\n\t\t\treturn t1.id == t2.id\n\t\tcase DNA_METHYLATION:\n\t\t\treturn t1.chr == t2.chr && t1.start == t2.start && t1.stop == t2.stop\n\t\tcase METABOLITE_INTENSITY:\n\t\tcase PROTEOME_ABUNDANCE:\n\t\t\treturn t1.name == t2.name\n\t\tcase GENE_VARIANT:\n\t\t\treturn t1.gene == t2.gene || (t1.chr == t2.chr && t1.start == t2.start && t1.stop == t2.stop)\n\n\t\t// TO DO: Add more cases\n\t\t// case SNP_LIST:\n\t\t// case SNP_LOCUS:\n\t\t// case SAMPLELST:\n\n\t\tdefault:\n\t\t\treturn false\n\t}\n}\n\nexport function getBin(lst: any[], value: number) {\n\tlet bin = lst.findIndex(\n\t\tb => (b.startunbounded && value < b.stop) || (b.startunbounded && b.stopinclusive && value == b.stop)\n\t)\n\tif (bin == -1)\n\t\tbin = lst.findIndex(\n\t\t\tb => (b.stopunbounded && value > b.start) || (b.stopunbounded && b.startinclusive && value == b.start)\n\t\t)\n\tif (bin == -1)\n\t\tbin = lst.findIndex(\n\t\t\tb =>\n\t\t\t\t(value > b.start && value < b.stop) ||\n\t\t\t\t(b.startinclusive && value == b.start) ||\n\t\t\t\t(b.stopinclusive && value == b.stop)\n\t\t)\n\treturn bin\n}\n//Terms may have a sample type associated to them, in datasets with multiple types of samples.\n//For example the gender is associated to the patient while the age is associated to the type sample. This function is used\n//for example when calling getData or getFilter, to return either the parent or the child samples, depending on the use case.\nexport function getSampleType(term: any, ds: any) {\n\tif (!term) return null\n\t//non dict terms annotate only samples, eg: gene expression, metabolite intensity, gene variant.\n\t//Their sample type is the default sample type that may or may not have a parent type, depending on the dataset\n\tif (term.type && isNonDictionaryType(term.type)) return DEFAULT_SAMPLE_TYPE\n\t//dictionary terms may annotate different types of samples, eg: patient and sample or mouse and crop.\n\tif (term.id) return ds.cohort.termdb.term2SampleType.get(term.id)\n\tif (term.type == 'samplelst') {\n\t\tconst key = Object.keys(term.values)[0]\n\t\tconst sampleId = term.values[key].list[0]?.sampleId\n\t\tif (sampleId) return ds.sampleId2Type.get(Number(sampleId) || sampleId)\n\t\telse return DEFAULT_SAMPLE_TYPE\n\t}\n\t// samplelst or non dict terms\n\treturn DEFAULT_SAMPLE_TYPE //later own term needs to know what type annotates based on the samples\n}\n\nexport function getParentType(types: Set<string>, ds: any) {\n\tif (Object.keys(ds.cohort.termdb.sampleTypes).length == 0) return null //dataset only has one type of sample\n\tconst ids = Array.from(types)\n\tif (!ids || ids.length == 0) return null\n\tfor (const id of ids) {\n\t\tconst typeObj = ds.cohort.termdb.sampleTypes[id]\n\t\tif (!typeObj) continue\n\t\tif (typeObj.parent_id == null) return id //this is the root type\n\t\t//if my parent is in the list, then I am not the parent\n\t\tif (ids.includes(typeObj.parent_id)) continue\n\t\telse return typeObj.parent_id //my parent is not in the list, so I am the parent\n\t}\n\treturn null //no parent found\n}\n\n// whether the term annotates parent samples\nexport function isParentType(term: any, ds: any) {\n\tif (!ds.cohort.termdb.hasSampleAncestry) return false\n\tconst sampleType = getSampleType(term, ds)\n\tif (!sampleType) throw 'sample type is not defined'\n\tconst sampleTypeObj = ds.cohort.termdb.sampleTypes[sampleType]\n\tif (!sampleTypeObj) throw 'invalid sample type'\n\tif (Number.isInteger(sampleTypeObj.parent_id)) {\n\t\t// sample type has parent, so it is child sample type\n\t\treturn false\n\t} else {\n\t\t// sample type does not have parent, so it is parent sample type\n\t\treturn true\n\t}\n}\n\n//Returns human readable label for each term type; label is just for printing and not computing\nconst typeMap: { [key: string]: string } = {\n\tcategorical: 'Categorical',\n\tcondition: 'Condition',\n\tfloat: 'Numerical',\n\tinteger: 'Numerical',\n\tgeneExpression: 'Gene Expression',\n\tisoformExpression: 'Isoform Expression',\n\tssGSEA: 'Geneset Expression',\n\tdnaMethylation: 'DNA Methylation',\n\tgeneVariant: 'Gene Variant',\n\tmetaboliteIntensity: 'Metabolite Intensity',\n\tproteomeAbundance: 'Proteome Abundance',\n\tproteomeDAP: 'Proteome DAP',\n\tmultivalue: 'Multi Value',\n\tsingleCellGeneExpression: 'Single Cell, Gene Expression',\n\tsingleCellCellType: 'Single Cell, Cell Type',\n\tsnplocus: 'SNP Locus',\n\tsnp: 'SNP',\n\tsnplst: 'SNP List',\n\tnumericDictTerm: 'Numeric Dictionary Term',\n\ttermCollection: 'Term Collection'\n}\n\nexport function termType2label(type: string) {\n\treturn typeMap[type] || 'Unknown term type'\n}\n\nexport function getDateFromNumber(value: number) {\n\tconst year = Math.floor(value)\n\tconst january1st = new Date(year, 0, 1)\n\tconst totalDays = getDaysInYear(year)\n\tconst time = Math.round((value - year) * totalDays) * oneDayTime\n\tconst date = new Date(january1st.getTime() + time)\n\treturn date\n}\n/*\nValue is a decimal year.\nA decimal year is a way of expressing a date or time period as a year with a decimal part, where the decimal portion \nrepresents the fraction of the year that has elapsed. \nExample:\n2025.0 represents the beginning of the year 2025. \n2025.5 represents the middle of the year 2025. \n */\nconst oneDayTime = 24 * 60 * 60 * 1000\n\nexport function getDateStrFromNumber(value: number) {\n\tconst date = getDateFromNumber(value)\n\n\t//Omit day to deidentify the patients\n\treturn date.toLocaleDateString('en-US', {\n\t\tyear: 'numeric',\n\t\tmonth: 'long'\n\t})\n}\n\n//The value returned is a decimal year\n//A decimal year is a way of expressing a date or time period as a year with a decimal part, where the decimal portion\n//represents the fraction of the year that has elapsed.\nexport function getNumberFromDateStr(str: string) {\n\tconst date = new Date(str)\n\treturn getNumberFromDate(date)\n}\n\nexport function getNumberFromDate(date: Date) {\n\tconst year = date.getFullYear()\n\tconst january1st: Date = new Date(year, 0, 1)\n\tconst diffDays = (date.getTime() - january1st.getTime()) / oneDayTime\n\tconst daysTotal = getDaysInYear(year)\n\tconst decimal = diffDays / daysTotal\n\treturn year + decimal\n}\n\nexport function getDaysInYear(year: number) {\n\tconst isLeap = new Date(year, 1, 29).getMonth() === 1\n\tconst days = isLeap ? 366 : 365\n\treturn days\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,142 @@
1
+ import {
2
+ runproteinpaint
3
+ } from "./chunk-YNBT4N6T.js";
4
+
5
+ // test/front.helpers.js
6
+ var serverData = /* @__PURE__ */ Object.create(null);
7
+ function getRunPp(appname = "", defaultArgs = {}, _host = "http://localhost:3000") {
8
+ const host = window.testHost || _host;
9
+ const arg = {
10
+ host: window.testHost || _host,
11
+ noheader: 1,
12
+ nobox: true,
13
+ debug: 1,
14
+ norecover: true
15
+ };
16
+ if (appname == "mass" || appname == "termdb") {
17
+ defaultArgs.debounceInterval = 0;
18
+ }
19
+ if (appname) arg[appname] = defaultArgs;
20
+ else copyMerge(arg, defaultArgs);
21
+ const argStr = JSON.stringify(arg);
22
+ return function runpp(overrides = {}) {
23
+ const argCopy = JSON.parse(argStr);
24
+ if (appname) copyMerge(argCopy[appname], overrides);
25
+ else copyMerge(argCopy, overrides);
26
+ if (appname && defaultArgs.fetchOpts) {
27
+ argCopy[appname].fetchOpts = defaultArgs.fetchOpts;
28
+ }
29
+ return runproteinpaint(Object.assign(argCopy, { serverData }));
30
+ };
31
+ }
32
+ function copyMerge(base, ...args) {
33
+ const target = typeof base == "string" ? JSON.parse(base) : base;
34
+ for (const arg of args) {
35
+ if (arg) {
36
+ const source = typeof base == "string" ? JSON.parse(JSON.stringify(arg)) : arg;
37
+ for (const key in source) {
38
+ if (!target[key] || Array.isArray(target[key]) || typeof target[key] !== "object") target[key] = source[key];
39
+ else copyMerge(target[key], source[key]);
40
+ }
41
+ }
42
+ }
43
+ return target;
44
+ }
45
+ function rideInit(opts = {}) {
46
+ const self = new Ride(opts);
47
+ const rideApi = {
48
+ // ride on the default event bus
49
+ to(callback, sub = {}) {
50
+ self.addToThen(callback, Object.assign({}, opts, sub));
51
+ return rideApi;
52
+ },
53
+ use(triggerFxn, sub = {}) {
54
+ self.addUseThen(triggerFxn, Object.assign({}, opts, sub));
55
+ return rideApi;
56
+ },
57
+ change(sub = {}) {
58
+ Object.assign(opts, sub);
59
+ return rideApi;
60
+ },
61
+ // run callback without using bus, with or without timeout
62
+ run(callback, after = 0) {
63
+ self.addRunThen(callback, after, opts);
64
+ return rideApi;
65
+ },
66
+ // close the event bus
67
+ done(test) {
68
+ if (opts.bus) self.resolved.then(() => opts.bus.on(opts.eventType, null));
69
+ self.resolved.then(() => {
70
+ test.end();
71
+ if (!opts.preserve && test._ok && opts.arg.Inner.app && typeof opts.arg.Inner.app.destroy == "function") {
72
+ opts.arg.Inner.app.destroy();
73
+ }
74
+ }).catch(console.log);
75
+ return rideApi;
76
+ }
77
+ };
78
+ return Object.freeze(rideApi);
79
+ }
80
+ var Ride = class {
81
+ // mutable but private access props and methods
82
+ // when used inside rideInit()
83
+ constructor(opts) {
84
+ this.validateOpts(opts);
85
+ this.resolved = Promise.resolve();
86
+ }
87
+ validateOpts(opts) {
88
+ try {
89
+ if (opts.eventType && !opts.bus) {
90
+ if (!opts.arg) throw "must specify opts.bus or opts.arg for rideInit() argument";
91
+ opts.bus = opts.arg;
92
+ }
93
+ if (opts.bus) {
94
+ if (typeof opts.eventType !== "string") throw "invalid default.eventType";
95
+ opts.bus.on(opts.eventType, null);
96
+ return opts;
97
+ }
98
+ } catch (e) {
99
+ console.log(e);
100
+ }
101
+ }
102
+ addToThen(callback, opts) {
103
+ this.resolved = this.resolved.then(async (triggerFxn) => {
104
+ opts.bus.on(opts.eventType, null);
105
+ return new Promise(async (resolve, reject) => {
106
+ opts.bus.on(opts.eventType, async () => {
107
+ await sleep(opts.wait);
108
+ callback(opts.arg);
109
+ resolve();
110
+ });
111
+ if (triggerFxn) await triggerFxn();
112
+ });
113
+ });
114
+ }
115
+ // prepare a trigger function for use in the pattern
116
+ // rideInit().use(triggerFxn).to(...)
117
+ //
118
+ // .use() enables setting a different opts.arg to be used for triggerFxn
119
+ //
120
+ addUseThen(triggerFxn, opts) {
121
+ this.resolved = this.resolved.then(async (prevTriggerFxn) => {
122
+ if (typeof prevTriggerFxn == "function") await prevTriggerFxn();
123
+ await sleep(isNaN(opts.wait) ? 0 : opts.wait);
124
+ return () => triggerFxn(opts.arg);
125
+ });
126
+ }
127
+ addRunThen(callback, after, opts) {
128
+ this.resolved = this.resolved.then(async () => {
129
+ await sleep(typeof after == "number" ? after : 0);
130
+ callback(opts.arg);
131
+ });
132
+ }
133
+ };
134
+ function sleep(ms) {
135
+ return new Promise((resolve) => setTimeout(resolve, ms));
136
+ }
137
+
138
+ export {
139
+ getRunPp,
140
+ rideInit
141
+ };
142
+ //# sourceMappingURL=chunk-UCLROZRF.js.map
@@ -0,0 +1,216 @@
1
+ import {
2
+ make_radios
3
+ } from "./chunk-L4TUTGTA.js";
4
+ import {
5
+ initBinConfig
6
+ } from "./chunk-6VKTEMFV.js";
7
+ import {
8
+ format
9
+ } from "./chunk-OAWQ6LOO.js";
10
+
11
+ // termsetting/handlers/NumRegularBinEditor.ts
12
+ var NumRegularBinEditor = class {
13
+ constructor(editHandler) {
14
+ this.dom = {};
15
+ this.editHandler = editHandler;
16
+ this.opts = editHandler.opts;
17
+ this.tw = editHandler.tw;
18
+ this.termsetting = editHandler.termsetting;
19
+ }
20
+ render(div) {
21
+ this.tw = this.editHandler.tw;
22
+ this.q = this.getDefaultQ();
23
+ this.editHandler.handler.density.setBinLines(this.getBoundaryOpts());
24
+ if (this.dom.binsTable) {
25
+ if (this.editHandler.dom.binsDiv?.node().contains(this.dom.binsTable.node())) return;
26
+ else {
27
+ this.dom.binsTable.remove();
28
+ delete this.dom.binsTable;
29
+ }
30
+ }
31
+ const binsTable = div.append("table");
32
+ this.dom.binsTable = binsTable;
33
+ this.renderBinSizeInput(binsTable.append("tr"));
34
+ this.renderFirstBinInput(binsTable.append("tr"));
35
+ this.renderLastBinInputs(binsTable.append("tr"));
36
+ }
37
+ getDefaultQ() {
38
+ if (this.tw.q.type == "regular-bin") return JSON.parse(JSON.stringify(this.tw.q));
39
+ const t = this.tw.term;
40
+ const defaultQ = this.termsetting.opts.use_bins_less && t.bins?.less || t.bins?.default;
41
+ if (defaultQ) return JSON.parse(JSON.stringify(defaultQ));
42
+ const binConfig = initBinConfig(this.editHandler.handler.density_data);
43
+ return typeof binConfig == "string" ? JSON.parse(binConfig) : binConfig;
44
+ }
45
+ renderBinSizeInput(tr) {
46
+ const handler = this.editHandler.handler;
47
+ tr.append("td").style("margin", "5px").style("opacity", 0.5).text("Bin Size");
48
+ const { min, max } = handler.density_data;
49
+ const q = this.q;
50
+ const origBinSize = q.bin_size;
51
+ this.dom.bin_size_input = tr.append("td").append("input").attr("type", "number").attr("value", "rounding" in q ? format(q.rounding || ".0f")(q.bin_size) : q.bin_size).attr("data-testid", "sjpp-num-reg-bin-editor-size").style("margin-left", "15px").style("width", "100px").style("color", () => q.bin_size > Math.abs(max - min) ? "red" : "").on("change", (event) => {
52
+ const newValue = Number(event.target.value);
53
+ if (newValue <= 0) {
54
+ window.alert("Please enter non-negative bin size.");
55
+ event.target.value = origBinSize;
56
+ return;
57
+ }
58
+ if ((max - min) / newValue > 100) {
59
+ window.alert("Bin size too small. Try setting a bigger value.");
60
+ event.target.value = origBinSize;
61
+ return;
62
+ }
63
+ q.bin_size = newValue;
64
+ this.dom.bin_size_input.style("color", q.bin_size > max - min ? "red" : newValue != origBinSize ? "green" : "");
65
+ handler.density.setBinLines(this.getBoundaryOpts());
66
+ });
67
+ }
68
+ renderFirstBinInput(tr) {
69
+ const handler = this.editHandler.handler;
70
+ const q = this.q;
71
+ if (!q.first_bin) throw "missing q.first_bin";
72
+ tr.append("td").style("margin", "5px").style("opacity", 0.5).text("First Bin Stop");
73
+ const { min, max } = handler.density_data;
74
+ const origValue = q.first_bin.stop;
75
+ this.dom.first_stop_input = tr.append("td").append("input").attr("type", "number").property("value", origValue).style("width", "100px").style("margin-left", "15px").on("change", (event) => {
76
+ const newValue = Number(event.target.value);
77
+ if (newValue < min || newValue > max) {
78
+ window.alert("First bin stop value out of bound.");
79
+ event.target.value = origValue;
80
+ return;
81
+ }
82
+ this.q.first_bin.stop = newValue;
83
+ handler.density.setBinLines(this.getBoundaryOpts());
84
+ });
85
+ tr.append("td").append("div").style("font-size", ".6em").style("opacity", 0.5).style("display", handler.density.no_density_data ? "none" : "block").text("Indicated by left-most red line. Drag to change.");
86
+ }
87
+ renderLastBinInputs(tr) {
88
+ const handler = this.editHandler.handler;
89
+ const q = this.q;
90
+ const isAuto = !q.last_bin || !Number.isFinite(q.last_bin.start);
91
+ tr.append("td").style("padding-top", "4px").style("opacity", 0.5).style("vertical-align", "top").text("Last Bin Start");
92
+ const td1 = tr.append("td").style("padding-left", "15px").style("vertical-align", "top");
93
+ const radio_div = td1.append("div");
94
+ const radios = make_radios({
95
+ holder: radio_div,
96
+ options: [
97
+ { label: "Automatic", value: "auto", checked: isAuto },
98
+ { label: "Fixed", value: "fixed", checked: !isAuto }
99
+ ],
100
+ callback: (v) => {
101
+ if (v == "auto") {
102
+ delete q.last_bin;
103
+ edit_div.style("display", "none");
104
+ handler.density.setBinLines(this.getBoundaryOpts());
105
+ return;
106
+ }
107
+ edit_div.style("display", "inline-block");
108
+ if (this.dom.last_start_input.property("value") == "") {
109
+ this.dom.last_start_input.property("value", this.tw.q.last_bin?.start || handler.density_data.max);
110
+ }
111
+ this.setLastBinStart();
112
+ }
113
+ });
114
+ this.dom.fixed_radio = radios.inputs.filter((_, i) => i === 1);
115
+ const edit_div = tr.append("td").append("div").style("display", isAuto ? "none" : "inline-block");
116
+ this.dom.last_start_input = edit_div.append("input").attr("type", "number").property("value", q.last_bin?.start || "").style("width", "100px").on("change", () => this.setLastBinStart());
117
+ edit_div.append("div").style("font-size", ".6em").style("opacity", 0.5).style("display", handler.density.no_density_data ? "none" : "block").text("Indicated by right-most red line. Drag to change.");
118
+ }
119
+ setLastBinStart() {
120
+ const q = this.q;
121
+ const { max } = this.editHandler.handler.density_data;
122
+ const strInput = this.dom.last_start_input.property("value");
123
+ if (strInput === "") return;
124
+ const inputValue = Number(strInput);
125
+ if (q.first_bin && inputValue <= q.first_bin.stop) {
126
+ window.alert("Last bin start cannot be smaller than first bin stop.");
127
+ this.dom.last_start_input.property("value", max);
128
+ return;
129
+ }
130
+ if (inputValue > max) {
131
+ window.alert("Last bin start value out of bound.");
132
+ this.dom.last_start_input.property("value", max);
133
+ return;
134
+ }
135
+ if (q.last_bin) q.last_bin.start = inputValue;
136
+ else
137
+ q.last_bin = {
138
+ start: inputValue,
139
+ stopunbounded: true,
140
+ stopinclusive: false
141
+ };
142
+ this.editHandler.handler.density.setBinLines(this.getBoundaryOpts());
143
+ }
144
+ getBoundaryOpts() {
145
+ const { min, max } = this.editHandler.handler.density_data;
146
+ const binLinesStop = this.q.last_bin?.start ?? max + Math.abs(this.q.first_bin.stop) - Math.min(min, 0);
147
+ const boundaryValues = [];
148
+ for (let i = this.q.first_bin.stop; i <= binLinesStop; i = i + this.q.bin_size) {
149
+ if (this.q.last_bin?.start === i) break;
150
+ if (i > binLinesStop) boundaryValues[boundaryValues.length - 1].isLastVisibleLine = true;
151
+ const isDraggable = i === this.q.first_bin.stop || i === this.q.bin_size - 1;
152
+ boundaryValues.push({ x: i, isDraggable, movesWithLineIndex: !isDraggable ? 0 : -1 });
153
+ }
154
+ if (this.q.last_bin) {
155
+ boundaryValues.push({
156
+ x: this.q.last_bin.start,
157
+ isDraggable: true,
158
+ isLastVisibleLine: true,
159
+ movesWithLineIndex: -1
160
+ });
161
+ }
162
+ return {
163
+ values: boundaryValues,
164
+ callback: (d, value) => {
165
+ if (d.index === 0) {
166
+ this.dom.first_stop_input.property("value", value);
167
+ this.q.first_bin.stop = value;
168
+ } else {
169
+ this.editHandler.handler.dom.last_start_input.property("value", value);
170
+ if (this.q.last_bin) this.q.last_bin.start = value;
171
+ }
172
+ }
173
+ };
174
+ }
175
+ getEditedQ(destroyDom = true) {
176
+ const bin_size = this.dom.bin_size_input.property("value");
177
+ const config = {
178
+ mode: "discrete",
179
+ type: "regular-bin",
180
+ startinclusive: this.editHandler.boundaryInclusion == "startinclusive",
181
+ stopinclusive: this.editHandler.boundaryInclusion == "stopinclusive",
182
+ bin_size: Number(bin_size),
183
+ first_bin: {
184
+ startunbounded: true,
185
+ stop: Number(this.dom.first_stop_input.property("value"))
186
+ },
187
+ rounding: bin_size.includes(".") && !bin_size.endsWith(".") ? `.${bin_size.split(".")[1].length}f` : ".0f"
188
+ };
189
+ if (this.dom.fixed_radio.property("checked")) {
190
+ config.last_bin = {
191
+ start: Number(this.dom.last_start_input.property("value")),
192
+ stopunbounded: true
193
+ };
194
+ }
195
+ if (destroyDom) {
196
+ for (const name of Object.keys(this.dom)) {
197
+ this.dom[name].remove();
198
+ delete this.dom[name];
199
+ }
200
+ }
201
+ return config;
202
+ }
203
+ undoEdits() {
204
+ this.q = this.getDefaultQ();
205
+ this.dom.binsTable.selectAll("*").remove();
206
+ this.renderBinSizeInput(this.dom.binsTable.append("tr"));
207
+ this.renderFirstBinInput(this.dom.binsTable.append("tr"));
208
+ this.renderLastBinInputs(this.dom.binsTable.append("tr"));
209
+ this.editHandler.handler.density.setBinLines(this.getBoundaryOpts());
210
+ }
211
+ };
212
+
213
+ export {
214
+ NumRegularBinEditor
215
+ };
216
+ //# sourceMappingURL=chunk-VIHUKORE.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../termsetting/handlers/NumRegularBinEditor.ts"],
4
+ "sourcesContent": ["import { format } from 'd3-format'\n//import { setDensityPlot } from './density'\nimport { make_radios } from '#dom'\nimport initBinConfig from '#shared/termdb.initbinconfig.js'\nimport type { NumRegularBin } from '#tw'\nimport type { NumDiscreteEditor } from './NumDiscreteEditor.ts'\nimport type { BoundaryOpts, BoundaryValue, DraggedLineData } from './NumericDensity.ts'\nimport type { TermSetting } from '../TermSetting.ts'\nimport type { RegularNumericBinConfig } from '#types'\n\n// This is a bin editor for NumDiscreteEditor\n// NumericHandler (handler) -> NumDiscreteEditor (editor) -> NumRegularBinEditor (bin editor)\nexport class NumRegularBinEditor {\n\ttw: NumRegularBin\n\tq!: RegularNumericBinConfig\n\teditHandler: NumDiscreteEditor\n\ttermsetting: TermSetting\n\topts: any\n\tdom: {\n\t\t[elemName: string]: any\n\t} = {}\n\n\tconstructor(editHandler) {\n\t\tthis.editHandler = editHandler\n\t\tthis.opts = editHandler.opts\n\t\tthis.tw = editHandler.tw\n\t\tthis.termsetting = editHandler.termsetting\n\t}\n\n\trender(div) {\n\t\tthis.tw = this.editHandler.tw as NumRegularBin\n\t\tthis.q = this.getDefaultQ()\n\t\tthis.editHandler.handler.density.setBinLines(this.getBoundaryOpts())\n\t\tif (this.dom.binsTable) {\n\t\t\tif (this.editHandler.dom.binsDiv?.node().contains(this.dom.binsTable.node())) return\n\t\t\telse {\n\t\t\t\tthis.dom.binsTable.remove()\n\t\t\t\tdelete this.dom.binsTable\n\t\t\t}\n\t\t}\n\t\tconst binsTable = div.append('table')\n\t\tthis.dom.binsTable = binsTable\n\t\tthis.renderBinSizeInput(binsTable.append('tr'))\n\t\tthis.renderFirstBinInput(binsTable.append('tr'))\n\t\tthis.renderLastBinInputs(binsTable.append('tr'))\n\t}\n\n\tgetDefaultQ(): RegularNumericBinConfig {\n\t\tif (this.tw.q.type == 'regular-bin') return JSON.parse(JSON.stringify(this.tw.q))\n\t\tconst t = this.tw.term\n\t\tconst defaultQ = (this.termsetting.opts.use_bins_less && t.bins?.less) || t.bins?.default\n\t\tif (defaultQ) return JSON.parse(JSON.stringify(defaultQ))\n\t\tconst binConfig = initBinConfig(this.editHandler.handler.density_data)\n\t\treturn typeof binConfig == 'string' ? JSON.parse(binConfig) : binConfig\n\t}\n\n\trenderBinSizeInput(tr: any) {\n\t\tconst handler = this.editHandler.handler\n\t\ttr.append('td').style('margin', '5px').style('opacity', 0.5).text('Bin Size')\n\n\t\tconst { min, max } = handler.density_data\n\t\tconst q = this.q\n\t\tconst origBinSize = q.bin_size\n\n\t\tthis.dom.bin_size_input = tr\n\t\t\t.append('td')\n\t\t\t.append('input')\n\t\t\t.attr('type', 'number')\n\t\t\t.attr('value', 'rounding' in q ? format(q.rounding || '.0f')(q.bin_size) : q.bin_size)\n\t\t\t.attr('data-testid', 'sjpp-num-reg-bin-editor-size')\n\t\t\t.style('margin-left', '15px')\n\t\t\t.style('width', '100px')\n\t\t\t.style('color', () => (q.bin_size > Math.abs(max - min) ? 'red' : ''))\n\t\t\t.on('change', event => {\n\t\t\t\tconst newValue = Number(event.target.value)\n\t\t\t\t// must validate input value\n\t\t\t\tif (newValue <= 0) {\n\t\t\t\t\twindow.alert('Please enter non-negative bin size.')\n\t\t\t\t\t// must reset value in <input>, otherwise the wrong value will be recorded in self.q upon clicking Submit\n\t\t\t\t\tevent.target.value = origBinSize\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tif ((max - min) / newValue > 100) {\n\t\t\t\t\t// avoid rendering too many svg lines and lock up browser\n\t\t\t\t\twindow.alert('Bin size too small. Try setting a bigger value.')\n\t\t\t\t\tevent.target.value = origBinSize\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tq.bin_size = newValue\n\t\t\t\tthis.dom.bin_size_input.style('color', q.bin_size > max - min ? 'red' : newValue != origBinSize ? 'green' : '')\n\t\t\t\thandler.density.setBinLines(this.getBoundaryOpts())\n\t\t\t})\n\t}\n\n\trenderFirstBinInput(tr: any) {\n\t\tconst handler = this.editHandler.handler\n\t\tconst q = this.q\n\t\tif (!q.first_bin) throw 'missing q.first_bin'\n\n\t\ttr.append('td').style('margin', '5px').style('opacity', 0.5).text('First Bin Stop')\n\n\t\tconst { min, max } = handler.density_data\n\t\tconst origValue = q.first_bin.stop\n\n\t\tthis.dom.first_stop_input = tr\n\t\t\t.append('td')\n\t\t\t.append('input')\n\t\t\t.attr('type', 'number')\n\t\t\t.property('value', origValue)\n\t\t\t.style('width', '100px')\n\t\t\t.style('margin-left', '15px')\n\t\t\t.on('change', event => {\n\t\t\t\tconst newValue = Number(event.target.value)\n\t\t\t\tif (newValue < min || newValue > max) {\n\t\t\t\t\twindow.alert('First bin stop value out of bound.')\n\t\t\t\t\tevent.target.value = origValue\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\t// first_bin should have already been set; adding the check just to skip the tsc error...\n\t\t\t\tthis.q.first_bin.stop = newValue\n\t\t\t\thandler.density.setBinLines(this.getBoundaryOpts())\n\t\t\t})\n\n\t\ttr.append('td')\n\t\t\t.append('div')\n\t\t\t.style('font-size', '.6em')\n\t\t\t.style('opacity', 0.5)\n\t\t\t.style('display', handler.density.no_density_data ? 'none' : 'block')\n\t\t\t.text('Indicated by left-most red line. Drag to change.')\n\t}\n\n\trenderLastBinInputs(tr) {\n\t\tconst handler = this.editHandler.handler\n\t\tconst q = this.q\n\t\t// tell if last bin is automatic (not fixed)\n\t\tconst isAuto = !q.last_bin || !Number.isFinite(q.last_bin.start)\n\n\t\ttr.append('td')\n\t\t\t.style('padding-top', '4px')\n\t\t\t.style('opacity', 0.5)\n\t\t\t.style('vertical-align', 'top')\n\t\t\t.text('Last Bin Start')\n\n\t\tconst td1 = tr.append('td').style('padding-left', '15px').style('vertical-align', 'top')\n\t\tconst radio_div = td1.append('div')\n\n\t\tconst radios = make_radios({\n\t\t\tholder: radio_div,\n\t\t\toptions: [\n\t\t\t\t{ label: 'Automatic', value: 'auto', checked: isAuto },\n\t\t\t\t{ label: 'Fixed', value: 'fixed', checked: !isAuto }\n\t\t\t],\n\t\t\tcallback: v => {\n\t\t\t\tif (v == 'auto') {\n\t\t\t\t\tdelete q.last_bin\n\t\t\t\t\t// if just deleting last_bin.start and keeps q.last_bin{}, density plot may set last_bin.bin='last' and will break bin validation\n\t\t\t\t\tedit_div.style('display', 'none')\n\t\t\t\t\thandler.density.setBinLines(this.getBoundaryOpts())\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\t// v is \"fixed\", to assign a number to self.q.last_bin.start\n\t\t\t\tedit_div.style('display', 'inline-block')\n\t\t\t\tif (this.dom.last_start_input.property('value') == '') {\n\t\t\t\t\t// blank input, fill max\n\t\t\t\t\tthis.dom.last_start_input.property('value', this.tw.q.last_bin?.start || handler.density_data.max)\n\t\t\t\t}\n\t\t\t\tthis.setLastBinStart()\n\t\t\t}\n\t\t})\n\n\t\tthis.dom.fixed_radio = radios.inputs.filter((_, i) => i === 1)\n\n\t\tconst edit_div = tr\n\t\t\t.append('td')\n\t\t\t.append('div')\n\t\t\t.style('display', isAuto ? 'none' : 'inline-block')\n\n\t\tthis.dom.last_start_input = edit_div\n\t\t\t.append('input')\n\t\t\t.attr('type', 'number')\n\t\t\t.property('value', q.last_bin?.start || '')\n\t\t\t.style('width', '100px')\n\t\t\t.on('change', () => this.setLastBinStart())\n\n\t\tedit_div\n\t\t\t.append('div')\n\t\t\t.style('font-size', '.6em')\n\t\t\t.style('opacity', 0.5)\n\t\t\t.style('display', handler.density.no_density_data ? 'none' : 'block')\n\t\t\t.text('Indicated by right-most red line. Drag to change.')\n\t}\n\n\tsetLastBinStart() {\n\t\tconst q = this.q\n\t\tconst { max } = this.editHandler.handler.density_data\n\t\t// only get value from <input>\n\t\tconst strInput = this.dom.last_start_input.property('value')\n\t\tif (strInput === '') return\n\t\tconst inputValue = Number(strInput)\n\n\t\t// TODO first_bin should be required\n\t\tif (q.first_bin && inputValue <= q.first_bin.stop) {\n\t\t\twindow.alert('Last bin start cannot be smaller than first bin stop.')\n\t\t\tthis.dom.last_start_input.property('value', max)\n\t\t\treturn\n\t\t}\n\t\tif (inputValue > max) {\n\t\t\twindow.alert('Last bin start value out of bound.')\n\t\t\tthis.dom.last_start_input.property('value', max)\n\t\t\treturn\n\t\t}\n\t\tif (q.last_bin) q.last_bin.start = inputValue\n\t\telse\n\t\t\tq.last_bin = {\n\t\t\t\tstart: inputValue,\n\t\t\t\tstopunbounded: true,\n\t\t\t\tstopinclusive: false\n\t\t\t}\n\n\t\tthis.editHandler.handler.density.setBinLines(this.getBoundaryOpts())\n\t}\n\n\tgetBoundaryOpts(): BoundaryOpts {\n\t\tconst { min, max } = this.editHandler.handler.density_data\n\t\tconst binLinesStop = this.q.last_bin?.start ?? max + Math.abs(this.q.first_bin.stop) - Math.min(min, 0)\n\t\tconst boundaryValues: BoundaryValue[] = []\n\t\tfor (let i = this.q.first_bin.stop; i <= binLinesStop; i = i + this.q.bin_size) {\n\t\t\tif (this.q.last_bin?.start === i) break\n\t\t\tif (i > binLinesStop) boundaryValues[boundaryValues.length - 1].isLastVisibleLine = true\n\t\t\tconst isDraggable = i === this.q.first_bin.stop || i === this.q.bin_size - 1\n\t\t\t// non-draggable lines should move with the first bin boundary line\n\t\t\tboundaryValues.push({ x: i, isDraggable, movesWithLineIndex: !isDraggable ? 0 : -1 })\n\t\t}\n\t\tif (this.q.last_bin) {\n\t\t\tboundaryValues.push({\n\t\t\t\tx: this.q.last_bin.start,\n\t\t\t\tisDraggable: true,\n\t\t\t\tisLastVisibleLine: true,\n\t\t\t\tmovesWithLineIndex: -1\n\t\t\t})\n\t\t}\n\n\t\treturn {\n\t\t\tvalues: boundaryValues,\n\t\t\tcallback: (d: DraggedLineData, value) => {\n\t\t\t\t//d.scaledX = Math.round(xscale(value))\n\t\t\t\tif (d.index === 0) {\n\t\t\t\t\tthis.dom.first_stop_input.property('value', value)\n\t\t\t\t\tthis.q.first_bin.stop = value as number\n\t\t\t\t} else {\n\t\t\t\t\tthis.editHandler.handler.dom.last_start_input.property('value', value)\n\t\t\t\t\t//if (!this.q.last_bin) this.q.last_bin = {}\n\t\t\t\t\tif (this.q.last_bin) this.q.last_bin.start = value\n\t\t\t\t\t//middleLines.style('display', (c: any) => (d.draggedX && c.scaledX >= d.draggedX ? 'none' : ''))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tgetEditedQ(destroyDom = true): RegularNumericBinConfig {\n\t\tconst bin_size = this.dom.bin_size_input.property('value')\n\t\tconst config: RegularNumericBinConfig = {\n\t\t\tmode: 'discrete',\n\t\t\ttype: 'regular-bin',\n\t\t\tstartinclusive: this.editHandler.boundaryInclusion == 'startinclusive',\n\t\t\tstopinclusive: this.editHandler.boundaryInclusion == 'stopinclusive',\n\t\t\tbin_size: Number(bin_size),\n\t\t\tfirst_bin: {\n\t\t\t\tstartunbounded: true,\n\t\t\t\tstop: Number(this.dom.first_stop_input.property('value'))\n\t\t\t},\n\t\t\trounding: bin_size.includes('.') && !bin_size.endsWith('.') ? `.${bin_size.split('.')[1].length}f` : '.0f'\n\t\t}\n\n\t\tif (this.dom.fixed_radio.property('checked')) {\n\t\t\tconfig.last_bin = {\n\t\t\t\tstart: Number(this.dom.last_start_input.property('value')),\n\t\t\t\tstopunbounded: true\n\t\t\t}\n\t\t}\n\n\t\tif (destroyDom) {\n\t\t\tfor (const name of Object.keys(this.dom)) {\n\t\t\t\tthis.dom[name].remove()\n\t\t\t\tdelete this.dom[name]\n\t\t\t}\n\t\t}\n\n\t\treturn config\n\t}\n\n\tundoEdits() {\n\t\tthis.q = this.getDefaultQ()\n\t\tthis.dom.binsTable.selectAll('*').remove()\n\t\tthis.renderBinSizeInput(this.dom.binsTable.append('tr'))\n\t\tthis.renderFirstBinInput(this.dom.binsTable.append('tr'))\n\t\tthis.renderLastBinInputs(this.dom.binsTable.append('tr'))\n\t\tthis.editHandler.handler.density.setBinLines(this.getBoundaryOpts())\n\t}\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }