@sjcrh/proteinpaint-client 2.220.0 → 2.222.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (864) hide show
  1. package/dist/2dmaf-QFXSYOYN.js +1362 -0
  2. package/dist/AggMatrixInput-7D4ZUYJK.js +402 -0
  3. package/dist/AggregateMatrix-NVSFZEW3.js +37 -0
  4. package/dist/AppHeader-5YJWBQP6.js +826 -0
  5. package/dist/BoxPlot-52WWBGKN.js +1229 -0
  6. package/dist/CorrelationVolcano-WS23O2JT.js +613 -0
  7. package/dist/Cuminc-5LJQYFEE.js +1217 -0
  8. package/dist/DE-Z5GBDXDU.js +85 -0
  9. package/dist/DEinput-3EAIVG5U.js +479 -0
  10. package/dist/DM-24NZPPS6.js +86 -0
  11. package/dist/DifferentialAnalysis-LRAPDIXB.js +236 -0
  12. package/dist/Disco-IDOTCKSD.js +3384 -0
  13. package/dist/Disco.UI-SLJKAA6N.js +239 -0
  14. package/dist/DmrPlot-5CRGQNM3.js +361 -0
  15. package/dist/GB-YCDIORF3.js +1388 -0
  16. package/dist/GSEA-IGWX3AG7.js +870 -0
  17. package/dist/GeneExpInput-PPOTCILZ.js +38 -0
  18. package/dist/Geomap-D5JPCJ5L.js +80 -0
  19. package/dist/HicApp-BNMMISAR.js +2240 -0
  20. package/dist/IDCViewer-IUPPLC5B.js +10808 -0
  21. package/dist/NumBinaryEditor-45I5YNHI.js +274 -0
  22. package/dist/NumBinaryEditor.unit.spec-5CJPIDH4.js +308 -0
  23. package/dist/NumContEditor-VMCE5LUM.js +100 -0
  24. package/dist/NumContEditor.unit.spec-DKNXTVXT.js +160 -0
  25. package/dist/NumCustomBinEditor-3EESV7PW.js +29 -0
  26. package/dist/NumCustomBinEditor.unit.spec-JPOK7BWZ.js +393 -0
  27. package/dist/NumDiscreteEditor-YZ3Q4J4M.js +165 -0
  28. package/dist/NumDiscreteEditor.unit.spec-V6NSX72E.js +229 -0
  29. package/dist/NumRegularBinEditor-6GI63X5V.js +29 -0
  30. package/dist/NumRegularBinEditor.unit.spec-KCGZLQ6T.js +274 -0
  31. package/dist/NumSplineEditor-OMJUFDSC.js +205 -0
  32. package/dist/NumSplineEditor.unit.spec-KUB2OITH.js +220 -0
  33. package/dist/NumericDensity-M4BIVIB3.js +29 -0
  34. package/dist/NumericDensity.unit.spec-G3GJMO4S.js +414 -0
  35. package/dist/NumericHandler-AMV4BETD.js +30 -0
  36. package/dist/NumericHandler.unit.spec-OJDMQQHX.js +225 -0
  37. package/dist/ProteomeInput-KB7YRARQ.js +610 -0
  38. package/dist/Regression-5KSKHUEJ.js +1412 -0
  39. package/dist/RunChart2-JJ4GQF44.js +744 -0
  40. package/dist/SC-LKCBWZQX.js +1290 -0
  41. package/dist/Violin-JRP7R53K.js +1092 -0
  42. package/dist/Volcano-BDD3PZ4T.js +2661 -0
  43. package/dist/Wsi-3C3ERYSG.js +636 -0
  44. package/dist/aboutSunburst-2T5SLCCB.js +93 -0
  45. package/dist/aboutSunburst-2T5SLCCB.js.map +7 -0
  46. package/dist/adSandbox-GFF6ZCRM.js +29 -0
  47. package/dist/animatedBubbleChart-PUPXCFJW.js +542 -0
  48. package/dist/app-EICBB32X.js +28 -0
  49. package/dist/app-Z7M3CFWA.js +38 -0
  50. package/dist/app.js +9 -9
  51. package/dist/bam-KQ5F34X5.js +872 -0
  52. package/dist/bam-KQ5F34X5.js.map +7 -0
  53. package/dist/barchart-WRAEMD7B.js +38 -0
  54. package/dist/barchart2-5CX3CO4K.js +305 -0
  55. package/dist/block-53QIZEH3.js +6203 -0
  56. package/dist/block.init-4V3SIUNX.js +29 -0
  57. package/dist/block.mds.expressionrank-5YNTX35V.js +350 -0
  58. package/dist/block.mds.geneboxplot-X5OHLSWT.js +819 -0
  59. package/dist/block.mds.junction-QBJF6MFG.js +1534 -0
  60. package/dist/block.mds.svcnv-BNCMHJJB.js +6413 -0
  61. package/dist/block.svg-KQELYSEO.js +155 -0
  62. package/dist/block.tk.aicheck-5EDNNXGL.js +274 -0
  63. package/dist/block.tk.bam-FRPCGSAE.js +1906 -0
  64. package/dist/block.tk.bam-FRPCGSAE.js.map +7 -0
  65. package/dist/block.tk.bigwig.ui-XUJPSA6D.js +202 -0
  66. package/dist/block.tk.hicstraw-MVLZALFC.js +814 -0
  67. package/dist/block.tk.junction-DLZNHWSA.js +2353 -0
  68. package/dist/block.tk.junction.textmatrixui-J3EODITY.js +190 -0
  69. package/dist/block.tk.ld-4GEJ2Y2K.js +90 -0
  70. package/dist/block.tk.menu-NM7KA5GZ.js +1050 -0
  71. package/dist/block.tk.pgv-XFOJACVC.js +934 -0
  72. package/dist/brainImaging-WFRZQANN.js +550 -0
  73. package/dist/brainRegions-66KWCUF2.js +213 -0
  74. package/dist/bubbleHeatmap-VKLIJOMM.js +374 -0
  75. package/dist/cellTypeBubbleHeatmap-ZPCXC52I.js +274 -0
  76. package/dist/chunk-2NDFMFNM.js +134 -0
  77. package/dist/chunk-34AGCF72.js +203 -0
  78. package/dist/chunk-3KKI63GB.js +96 -0
  79. package/dist/chunk-3LUHZYIN.js +14 -0
  80. package/dist/chunk-4ASBDE27.js +26731 -0
  81. package/dist/chunk-4ASBDE27.js.map +7 -0
  82. package/dist/chunk-5XXYEKE2.js +237 -0
  83. package/dist/chunk-6C3USAU5.js +848 -0
  84. package/dist/chunk-7F2FBQRP.js +35 -0
  85. package/dist/chunk-7F2FBQRP.js.map +7 -0
  86. package/dist/chunk-7TRD7A2U.js +141 -0
  87. package/dist/chunk-AG2PISH4.js +257 -0
  88. package/dist/chunk-BGYZJXYZ.js +2799 -0
  89. package/dist/chunk-BVSVFCKB.js +2102 -0
  90. package/dist/chunk-BVSVFCKB.js.map +7 -0
  91. package/dist/chunk-BY5CLUY5.js +5214 -0
  92. package/dist/chunk-C6PMNLN4.js +54 -0
  93. package/dist/chunk-CSYXTB7F.js +418 -0
  94. package/dist/chunk-CSYXTB7F.js.map +7 -0
  95. package/dist/chunk-DFKTWNCC.js +55 -0
  96. package/dist/chunk-FQHE7CLH.js +692 -0
  97. package/dist/chunk-FRLAPBYW.js +299 -0
  98. package/dist/chunk-HKYUCYOQ.js +266 -0
  99. package/dist/chunk-HMTQ4M66.js +305 -0
  100. package/dist/chunk-HMTQ4M66.js.map +7 -0
  101. package/dist/chunk-IQO3VZCP.js +255 -0
  102. package/dist/chunk-J5XV35LN.js +468 -0
  103. package/dist/chunk-JMWCL3QQ.js +56 -0
  104. package/dist/chunk-K3Q3KTBT.js +102 -0
  105. package/dist/chunk-LHM4UVYZ.js +550 -0
  106. package/dist/chunk-LMVYPBT4.js +626 -0
  107. package/dist/chunk-LUGZE4FR.js +56 -0
  108. package/dist/chunk-LXSBSJUL.js +2334 -0
  109. package/dist/chunk-MOAHKBYO.js +379 -0
  110. package/dist/chunk-MU7GTJYA.js +1219 -0
  111. package/dist/chunk-MXZYJ7WN.js +182 -0
  112. package/dist/chunk-NZB6RZK2.js +176 -0
  113. package/dist/chunk-OF6FDDKV.js +184 -0
  114. package/dist/chunk-OPMEDR4F.js +50 -0
  115. package/dist/chunk-ORYAOIVF.js +4389 -0
  116. package/dist/chunk-OZUF7O2S.js +133 -0
  117. package/dist/chunk-PHKA5BP7.js +263 -0
  118. package/dist/chunk-PWYMHUXY.js +116 -0
  119. package/dist/chunk-PWYMHUXY.js.map +7 -0
  120. package/dist/chunk-QI4EZK7S.js +2941 -0
  121. package/dist/chunk-QNSB6O4W.js +70 -0
  122. package/dist/chunk-QPRSVLI7.js +240 -0
  123. package/dist/chunk-R55JRVX7.js +652 -0
  124. package/dist/chunk-R55JRVX7.js.map +7 -0
  125. package/dist/chunk-RSMASA5S.js +340 -0
  126. package/dist/chunk-S2BMWHFY.js +54 -0
  127. package/dist/chunk-SKL52OWF.js +466 -0
  128. package/dist/chunk-TRWUXFVB.js +102 -0
  129. package/dist/chunk-URCFNXAK.js +2008 -0
  130. package/dist/chunk-V2D7DA2M.js +194 -0
  131. package/dist/chunk-V2ZVMDBY.js +480 -0
  132. package/dist/chunk-VIFY62YA.js +243 -0
  133. package/dist/chunk-VZ2JWFSX.js +296 -0
  134. package/dist/chunk-W5GR42L2.js +159 -0
  135. package/dist/chunk-WDOX6A6T.js +1339 -0
  136. package/dist/chunk-XPL54FXR.js +6375 -0
  137. package/dist/chunk-XV3KWMG3.js +103 -0
  138. package/dist/chunk-YFFQ7JTJ.js +123 -0
  139. package/dist/chunk-ZD6AIFTS.js +1253 -0
  140. package/dist/chunk-ZDVYAOWC.js +516 -0
  141. package/dist/chunk-ZKIC65KR.js +2685 -0
  142. package/dist/chunk-ZPRI5XCE.js +82 -0
  143. package/dist/cohort-CI22KICX.js +66 -0
  144. package/dist/cohortSunburst-Z5DANXVS.js +402 -0
  145. package/dist/condition-GZOA7BZJ.js +323 -0
  146. package/dist/controls-OWC25VQN.js +30 -0
  147. package/dist/controls.config-UVC4Q7BS.js +30 -0
  148. package/dist/correlation-EBA5YVXA.js +91 -0
  149. package/dist/customdata.inputui-FZRZCPS3.js +280 -0
  150. package/dist/dataDownload-WIPQU33P.js +326 -0
  151. package/dist/databrowser.ui-6L6Q72W4.js +421 -0
  152. package/dist/dictionary-4VZEPGW5.js +109 -0
  153. package/dist/dnaMethylation-LN6THRNZ.js +29 -0
  154. package/dist/dnaMethylation.integration.spec-BXC6EPUV.js +194 -0
  155. package/dist/e2pca-EXFI4Q2Y.js +340 -0
  156. package/dist/ep-T7EZ34XV.js +1247 -0
  157. package/dist/expclust.gdc.spec-NAN4M75R.js +298 -0
  158. package/dist/facet-BJFUIWHK.js +556 -0
  159. package/dist/gb-CBC3PDKZ.js +77 -0
  160. package/dist/geneExpClustering-7JFY7TQT.js +240 -0
  161. package/dist/geneExpression-FOQOKD34.js +29 -0
  162. package/dist/geneExpression.unit.spec-XSFC5ZJP.js +151 -0
  163. package/dist/geneORA-KYPN66QU.js +269 -0
  164. package/dist/geneRanking-VEHFMRFL.js +544 -0
  165. package/dist/geneVariant-77V6FNJX.js +289 -0
  166. package/dist/geneVariant-BS3XZFYM.js +32 -0
  167. package/dist/geneVariant.integration.spec-US4OY3S5.js +672 -0
  168. package/dist/genefusion.ui-YNVTTLDE.js +299 -0
  169. package/dist/geneset-BH5MWNJQ.js +199 -0
  170. package/dist/genomeBrowser.spec-BFTGLRHG.js +272 -0
  171. package/dist/grin2-4AXUYJIL.js +66 -0
  172. package/dist/grin2-5T557HKM.js +945 -0
  173. package/dist/hierCluster-IJHBVO2N.js +55 -0
  174. package/dist/hierCluster-POJBHBN6.js +51 -0
  175. package/dist/hierCluster.config-UUQEFTIG.js +32 -0
  176. package/dist/hierCluster.integration.spec-PZFUAOHX.js +479 -0
  177. package/dist/hierCluster.interactivity-6CN5PNFR.js +45 -0
  178. package/dist/imagePlot-HKPPACFV.js +152 -0
  179. package/dist/importPlot-EMI6BVPR.js +8 -0
  180. package/dist/isoformExpression-SFBA3SY7.js +31 -0
  181. package/dist/isoformExpression.unit.spec-JKYWHGRN.js +233 -0
  182. package/dist/junction-PJPOCKK7.js +32 -0
  183. package/dist/junction.unit.spec-CVYLAHZF.js +178 -0
  184. package/dist/launch.adhoc-R7SYX6GF.js +33 -0
  185. package/dist/leftlabel.sample-XJUDFAKS.js +253 -0
  186. package/dist/lollipop-V43BWGBT.js +162 -0
  187. package/dist/maf-KU44HXN3.js +451 -0
  188. package/dist/maftimeline-JPHVYTTU.js +583 -0
  189. package/dist/matrix-EABQEAMC.js +50 -0
  190. package/dist/matrix-HMLF5MDD.js +55 -0
  191. package/dist/matrix.config-RX5GWHTM.js +33 -0
  192. package/dist/matrix.integration.spec-MZPSYXTF.js +3156 -0
  193. package/dist/matrix.interactivity-6AJ5BGEP.js +33 -0
  194. package/dist/matrix.layout-CTHRQE7U.js +35 -0
  195. package/dist/matrix.renderers-UGQXONTG.js +30 -0
  196. package/dist/matrix.sort.unit.spec-FJKIBDTU.js +464 -0
  197. package/dist/matrix.sorterUi.unit.spec-6DQ6KGXT.js +334 -0
  198. package/dist/matrix.unit.spec-7Y3BKFNQ.js +146 -0
  199. package/dist/mavb-ADD57P2Q.js +726 -0
  200. package/dist/mds.fimo-7WH5GVFZ.js +509 -0
  201. package/dist/mds.samplescatterplot-JYFOORUG.js +1545 -0
  202. package/dist/mds.survivalplot-2V4H3YZY.js +472 -0
  203. package/dist/multivalue-GLS3RPQ5.js +79 -0
  204. package/dist/oncomatrix-QA267TP2.js +286 -0
  205. package/dist/oncomatrix.spec-H6AAIP7H.js +439 -0
  206. package/dist/plot.2dvaf-JW3Z25M3.js +368 -0
  207. package/dist/plot.app-CUCDOVC5.js +32 -0
  208. package/dist/plot.barplot-KBVYKICH.js +93 -0
  209. package/dist/plot.boxplot-BTS6ZWCQ.js +142 -0
  210. package/dist/plot.brainImaging-GGUARYRT.js +51 -0
  211. package/dist/plot.disco-EP274JEW.js +98 -0
  212. package/dist/plot.ssgq-4VUH3ZWV.js +130 -0
  213. package/dist/plot.vaf2cov-2FPWA2FS.js +249 -0
  214. package/dist/polar2-7W5JRMB5.js +228 -0
  215. package/dist/profileForms-2IKL3SZU.js +937 -0
  216. package/dist/profilePlot-IURW2HQN.js +45 -0
  217. package/dist/proteinView-4ZRODQN3.js +1346 -0
  218. package/dist/proteomeCohortCompare-BK3FLW4Z.js +866 -0
  219. package/dist/pseudbulk.unit.spec-QGQCCHNF.js +82 -0
  220. package/dist/pseudobulk-7HEOBIFO.js +31 -0
  221. package/dist/qualitative-6HWIG5NU.js +34 -0
  222. package/dist/qualitative-WGEEUNH6.js +241 -0
  223. package/dist/radar2-VXP322F7.js +323 -0
  224. package/dist/radarFacility2-IJGJ3AJB.js +331 -0
  225. package/dist/render-MMCUV7QI.js +29 -0
  226. package/dist/report-F22EFD7C.js +213 -0
  227. package/dist/sampleView-3DVB2PQT.js +39 -0
  228. package/dist/samplelst-LNAI33IW.js +114 -0
  229. package/dist/samplematrix-RGXPBRW5.js +2188 -0
  230. package/dist/sc-UR66YB27.js +77 -0
  231. package/dist/scatter-3K6XBJIM.js +84 -0
  232. package/dist/scatter-IFP5NTZU.js +919 -0
  233. package/dist/selectGenomeWithTklst-LGBKEN3T.js +125 -0
  234. package/dist/singleCellCellType-ACQACM6W.js +29 -0
  235. package/dist/singleCellCellType.unit.spec-WLGTJKOM.js +150 -0
  236. package/dist/singleCellGeneExpression-M4RPITJW.js +29 -0
  237. package/dist/singleCellGeneExpression.unit.spec-N3VD6PUW.js +144 -0
  238. package/dist/singleCellNumericValue-W6F44FJN.js +29 -0
  239. package/dist/singleCellNumericValue.unit.spec-JZNMY77I.js +412 -0
  240. package/dist/singleCellPlot-CCG2KSCO.js +44 -0
  241. package/dist/singlecell-32P47E4I.js +1562 -0
  242. package/dist/singlecell-I6H3Z7FT.js +77 -0
  243. package/dist/snp-7X2BXRQP.js +29 -0
  244. package/dist/snp.unit.spec-BJGWNSVR.js +167 -0
  245. package/dist/snplocus-UOVS2GD6.js +200 -0
  246. package/dist/snplst-JFVP4NG2.js +36 -0
  247. package/dist/spliceevent.a53ss.diagram-ETXJX57W.js +142 -0
  248. package/dist/spliceevent.exonskip.diagram-C4JCEOXQ.js +274 -0
  249. package/dist/spliceevent.noeventdiagram-4DD3Z4OM.js +451 -0
  250. package/dist/ssGSEA-GOZOYROM.js +29 -0
  251. package/dist/ssGSEA.unit.spec-J4DPFU4D.js +79 -0
  252. package/dist/stattable-ICUZQHUF.js +112 -0
  253. package/dist/studyCatalog-PCFXVOI3.js +457 -0
  254. package/dist/summarizeCnvGeneexp-DK6HNUFE.js +154 -0
  255. package/dist/summarizeGeneexpSurvival-JLCR2VIX.js +101 -0
  256. package/dist/summarizeMutationCnv-CFAKT6IP.js +155 -0
  257. package/dist/summarizeMutationDiagnosis-5HMVSYMI.js +31 -0
  258. package/dist/summarizeMutationSurvival-GP2OQMUS.js +95 -0
  259. package/dist/summary-6K553VNS.js +40 -0
  260. package/dist/summary.integration.spec-MXERZOVY.js +405 -0
  261. package/dist/summaryInput-V2G6HFJS.js +238 -0
  262. package/dist/sunburst-6GKVNIRF.js +34 -0
  263. package/dist/sunburst-YOVKC5G2.js +274 -0
  264. package/dist/survival-GHTV2ZPX.js +1248 -0
  265. package/dist/survival-KF2QUWSM.js +49 -0
  266. package/dist/survival.integration.spec-GVSQL4VB.js +609 -0
  267. package/dist/svgraph-WN3JLEOC.js +1377 -0
  268. package/dist/svmr-ZZKBQFQK.js +3834 -0
  269. package/dist/swimmer-XHORJEVI.js +993 -0
  270. package/dist/table-XQCTNHSZ.js +192 -0
  271. package/dist/termCollection-DXZQT7YT.js +29 -0
  272. package/dist/termCollection-HRM2NHLA.js +247 -0
  273. package/dist/termCollection.unit.spec-BGULSLH6.js +295 -0
  274. package/dist/termCollectionFractionSelection-TPNNP2ER.js +38 -0
  275. package/dist/termCollectionFractionSelection.unit.spec-VONXAGZH.js +184 -0
  276. package/dist/tk-KPD6HTHR.js +1193 -0
  277. package/dist/tk-RCTQPQH7.js +37 -0
  278. package/dist/tp.ui-MVNQLMAD.js +1453 -0
  279. package/dist/tvs.categorical-4TKKU6HO.js +28 -0
  280. package/dist/tvs.condition-SARY3O5Y.js +160 -0
  281. package/dist/tvs.density-IGO4I4T2.js +19 -0
  282. package/dist/tvs.dt-XJ2MW2AP.js +34 -0
  283. package/dist/tvs.dtcnv.categorical-H7FKTXH4.js +31 -0
  284. package/dist/tvs.dtcnv.continuous-JQ62ZHER.js +72 -0
  285. package/dist/tvs.dtfusion-GC3DZ2BO.js +31 -0
  286. package/dist/tvs.dtitd-3SHGIDIB.js +31 -0
  287. package/dist/tvs.dtsnvindel-BEDWZ4A2.js +31 -0
  288. package/dist/tvs.dtsv-HRIMULVD.js +31 -0
  289. package/dist/tvs.multivalue-5VC7BLSZ.js +84 -0
  290. package/dist/tvs.numeric-TGEC7G6A.js +32 -0
  291. package/dist/tvs.samplelst-Q6EYAUQZ.js +95 -0
  292. package/dist/tvs.survival-NJ3DTZIG.js +110 -0
  293. package/dist/tvs.termCollection-TVVLPSTG.js +118 -0
  294. package/dist/vocabulary-A7ZBBU65.js +32 -0
  295. package/dist/wsi.direct-JJGIAH6A.js +11514 -0
  296. package/package.json +3 -3
  297. package/dist/2dmaf-KRIX5DBS.js +0 -1362
  298. package/dist/AggMatrixInput-GBQD74NV.js +0 -402
  299. package/dist/AggregateMatrix-U2MOQOSZ.js +0 -37
  300. package/dist/AppHeader-OBZWUCOD.js +0 -826
  301. package/dist/BoxPlot-ZK6Q5JGE.js +0 -1229
  302. package/dist/CorrelationVolcano-WGR4JIGK.js +0 -613
  303. package/dist/Cuminc-I6D6YSIL.js +0 -1217
  304. package/dist/DE-HO7UBKPC.js +0 -85
  305. package/dist/DEinput-6LX4I65N.js +0 -479
  306. package/dist/DM-WYKLX4IC.js +0 -86
  307. package/dist/DifferentialAnalysis-L5VVBCVZ.js +0 -236
  308. package/dist/Disco-HLARIYXU.js +0 -3384
  309. package/dist/Disco.UI-W64WFVC3.js +0 -239
  310. package/dist/DmrPlot-BKQOT4JM.js +0 -361
  311. package/dist/GB-WKFGDJYW.js +0 -1388
  312. package/dist/GSEA-DCCJI5JE.js +0 -870
  313. package/dist/GeneExpInput-APLFNE6N.js +0 -38
  314. package/dist/Geomap-FTKWCV4J.js +0 -80
  315. package/dist/HicApp-ZGZKO4Y4.js +0 -2240
  316. package/dist/IDCViewer-MXB3OZUZ.js +0 -10808
  317. package/dist/NumBinaryEditor-S3MHUVZ5.js +0 -274
  318. package/dist/NumBinaryEditor.unit.spec-264X5ULG.js +0 -308
  319. package/dist/NumContEditor-MKEZCZMR.js +0 -100
  320. package/dist/NumContEditor.unit.spec-KBRAIU7M.js +0 -160
  321. package/dist/NumCustomBinEditor-OSF64BFC.js +0 -29
  322. package/dist/NumCustomBinEditor.unit.spec-T2SRBXTV.js +0 -393
  323. package/dist/NumDiscreteEditor-PVW5HRRQ.js +0 -165
  324. package/dist/NumDiscreteEditor.unit.spec-GUK7VWMR.js +0 -229
  325. package/dist/NumRegularBinEditor-757VRGFQ.js +0 -29
  326. package/dist/NumRegularBinEditor.unit.spec-JUIGEH3Z.js +0 -274
  327. package/dist/NumSplineEditor-U6MVFSCZ.js +0 -205
  328. package/dist/NumSplineEditor.unit.spec-PSH6YENX.js +0 -220
  329. package/dist/NumericDensity-YIP25Z4Y.js +0 -29
  330. package/dist/NumericDensity.unit.spec-3OSIZJHH.js +0 -414
  331. package/dist/NumericHandler-D2CO3FTS.js +0 -30
  332. package/dist/NumericHandler.unit.spec-RNFVGO2I.js +0 -225
  333. package/dist/ProteomeInput-ZOBJ2VU6.js +0 -610
  334. package/dist/Regression-ABKJOOMQ.js +0 -1412
  335. package/dist/RunChart2-D5CEEFEE.js +0 -744
  336. package/dist/SC-RLVEECU5.js +0 -1290
  337. package/dist/Violin-PCNX2CWV.js +0 -1092
  338. package/dist/Volcano-NVFNO7NE.js +0 -2661
  339. package/dist/Wsi-MAMCK5YZ.js +0 -636
  340. package/dist/aboutSunburst-VSQADTFD.js +0 -86
  341. package/dist/aboutSunburst-VSQADTFD.js.map +0 -7
  342. package/dist/adSandbox-5YFAQZO6.js +0 -29
  343. package/dist/animatedBubbleChart-GM2GXDP3.js +0 -542
  344. package/dist/app-FNNCH37H.js +0 -28
  345. package/dist/app-ID5S5FUP.js +0 -38
  346. package/dist/bam-JZLYXHMF.js +0 -872
  347. package/dist/bam-JZLYXHMF.js.map +0 -7
  348. package/dist/barchart-EAXXILCH.js +0 -38
  349. package/dist/barchart2-E6A4UMUB.js +0 -305
  350. package/dist/block-VMVJH77F.js +0 -6203
  351. package/dist/block.init-TUCGKLXG.js +0 -29
  352. package/dist/block.mds.expressionrank-YVROHZVX.js +0 -350
  353. package/dist/block.mds.geneboxplot-TQNEWBJY.js +0 -819
  354. package/dist/block.mds.junction-ZOSTZQF5.js +0 -1534
  355. package/dist/block.mds.svcnv-XSTSJ4ZD.js +0 -6413
  356. package/dist/block.svg-D6HXL4SC.js +0 -155
  357. package/dist/block.tk.aicheck-7RNC4HRR.js +0 -274
  358. package/dist/block.tk.bam-L3U5YH3F.js +0 -1897
  359. package/dist/block.tk.bam-L3U5YH3F.js.map +0 -7
  360. package/dist/block.tk.bigwig.ui-UVSZ7LWQ.js +0 -202
  361. package/dist/block.tk.hicstraw-YFBJR5LO.js +0 -814
  362. package/dist/block.tk.junction-DNRK2JNQ.js +0 -2353
  363. package/dist/block.tk.junction.textmatrixui-EN4ADCAU.js +0 -190
  364. package/dist/block.tk.ld-I5CTAJ4K.js +0 -90
  365. package/dist/block.tk.menu-HUZBY7OM.js +0 -1050
  366. package/dist/block.tk.pgv-KA6BFYPY.js +0 -934
  367. package/dist/brainImaging-OQB2ZHCU.js +0 -550
  368. package/dist/brainRegions-2CRVMS24.js +0 -213
  369. package/dist/bubbleHeatmap-MANNFEG2.js +0 -374
  370. package/dist/cellTypeBubbleHeatmap-LRK4R4EC.js +0 -274
  371. package/dist/chunk-2NB5HVXB.js +0 -159
  372. package/dist/chunk-3E26ITYK.js +0 -55
  373. package/dist/chunk-3H4FCRAN.js +0 -266
  374. package/dist/chunk-4ENIOXIT.js +0 -133
  375. package/dist/chunk-4GKC43U3.js +0 -480
  376. package/dist/chunk-4NQS45KH.js +0 -302
  377. package/dist/chunk-4NQS45KH.js.map +0 -7
  378. package/dist/chunk-4ZV6SE4B.js +0 -240
  379. package/dist/chunk-5TA5LHPW.js +0 -54
  380. package/dist/chunk-5YQXNW6Y.js +0 -1339
  381. package/dist/chunk-67MD4UES.js +0 -848
  382. package/dist/chunk-6BBUIRHA.js +0 -123
  383. package/dist/chunk-6DESNDD5.js +0 -468
  384. package/dist/chunk-6DRRN5XP.js +0 -243
  385. package/dist/chunk-6XKAOSQE.js +0 -116
  386. package/dist/chunk-6XKAOSQE.js.map +0 -7
  387. package/dist/chunk-7TLUQH7J.js +0 -82
  388. package/dist/chunk-7YMZSVWW.js +0 -1219
  389. package/dist/chunk-AENUJ7UO.js +0 -299
  390. package/dist/chunk-AZSWQWKL.js +0 -263
  391. package/dist/chunk-B5IJAQG4.js +0 -2054
  392. package/dist/chunk-B5IJAQG4.js.map +0 -7
  393. package/dist/chunk-BOCU6PXO.js +0 -257
  394. package/dist/chunk-C7ZPDNOJ.js +0 -70
  395. package/dist/chunk-DEQREL5P.js +0 -692
  396. package/dist/chunk-DXKZBSSD.js +0 -2799
  397. package/dist/chunk-DZBPF5QI.js +0 -550
  398. package/dist/chunk-DZDK64XY.js +0 -516
  399. package/dist/chunk-E6C2EWHU.js +0 -176
  400. package/dist/chunk-GK5QS5BR.js +0 -2685
  401. package/dist/chunk-GLAR6VNF.js +0 -626
  402. package/dist/chunk-H6YM4NKS.js +0 -134
  403. package/dist/chunk-HJKVYTYK.js +0 -379
  404. package/dist/chunk-HN67TOA7.js +0 -2008
  405. package/dist/chunk-IXV7FX5B.js +0 -255
  406. package/dist/chunk-IZ4IPYQY.js +0 -466
  407. package/dist/chunk-JPPNQVKA.js +0 -56
  408. package/dist/chunk-KCVBFXGO.js +0 -2941
  409. package/dist/chunk-LOX5GAVG.js +0 -103
  410. package/dist/chunk-M6OSJMVD.js +0 -536
  411. package/dist/chunk-M6OSJMVD.js.map +0 -7
  412. package/dist/chunk-PEKCVKJK.js +0 -26621
  413. package/dist/chunk-PEKCVKJK.js.map +0 -7
  414. package/dist/chunk-PIGTIWSK.js +0 -34
  415. package/dist/chunk-PIGTIWSK.js.map +0 -7
  416. package/dist/chunk-PIN5YUVJ.js +0 -6375
  417. package/dist/chunk-PV7AYYRZ.js +0 -50
  418. package/dist/chunk-QI7OWVFY.js +0 -54
  419. package/dist/chunk-QWBNQYIF.js +0 -182
  420. package/dist/chunk-S6WRMFWQ.js +0 -418
  421. package/dist/chunk-S6WRMFWQ.js.map +0 -7
  422. package/dist/chunk-SUOEFEJO.js +0 -96
  423. package/dist/chunk-TVSNHVWX.js +0 -194
  424. package/dist/chunk-U3CWWOHL.js +0 -340
  425. package/dist/chunk-VGC4STKW.js +0 -56
  426. package/dist/chunk-VHC4FDEJ.js +0 -141
  427. package/dist/chunk-VSDJEPDN.js +0 -5214
  428. package/dist/chunk-WTWHUZ4O.js +0 -203
  429. package/dist/chunk-XHZ723K4.js +0 -2334
  430. package/dist/chunk-XP4P55IC.js +0 -14
  431. package/dist/chunk-XVPPM25G.js +0 -1253
  432. package/dist/chunk-XYUERIZ6.js +0 -4389
  433. package/dist/chunk-YDIIKD7O.js +0 -102
  434. package/dist/chunk-YLGSRK75.js +0 -102
  435. package/dist/chunk-YR6EXI2K.js +0 -184
  436. package/dist/chunk-Z53VY5JV.js +0 -296
  437. package/dist/chunk-Z7Q2O5Y7.js +0 -237
  438. package/dist/cohort-ERDL7EJU.js +0 -66
  439. package/dist/cohortSunburst-KSTVS3OQ.js +0 -402
  440. package/dist/condition-CTJYHRJG.js +0 -323
  441. package/dist/controls-MMMRBTZL.js +0 -30
  442. package/dist/controls.config-ZKMQI27Q.js +0 -30
  443. package/dist/correlation-NEQNBQTT.js +0 -91
  444. package/dist/customdata.inputui-THUR7DF5.js +0 -280
  445. package/dist/dataDownload-ZMAJUKBX.js +0 -326
  446. package/dist/databrowser.ui-A6ZSIUG4.js +0 -421
  447. package/dist/dictionary-TQUVCHIN.js +0 -109
  448. package/dist/dnaMethylation-ZMJYY3ML.js +0 -29
  449. package/dist/dnaMethylation.integration.spec-5DTBGTYB.js +0 -194
  450. package/dist/e2pca-DNWBF545.js +0 -340
  451. package/dist/ep-JNH3HMY4.js +0 -1247
  452. package/dist/expclust.gdc.spec-2NJ7JVJW.js +0 -298
  453. package/dist/facet-RWQFAVVU.js +0 -556
  454. package/dist/gb-OT2Z3Y7J.js +0 -77
  455. package/dist/geneExpClustering-TPYGSTMO.js +0 -240
  456. package/dist/geneExpression-4K3OTXBZ.js +0 -29
  457. package/dist/geneExpression.unit.spec-26MCGRAP.js +0 -151
  458. package/dist/geneORA-GNXKCN45.js +0 -269
  459. package/dist/geneRanking-LV6W6TT7.js +0 -544
  460. package/dist/geneVariant-B2SYTHG6.js +0 -289
  461. package/dist/geneVariant-O4XG5VEM.js +0 -32
  462. package/dist/geneVariant.integration.spec-YYVPAFXT.js +0 -672
  463. package/dist/genefusion.ui-CVGGYVV3.js +0 -299
  464. package/dist/geneset-MBMCJNXT.js +0 -199
  465. package/dist/genomeBrowser.spec-OVXFKEIU.js +0 -272
  466. package/dist/grin2-OXRU465E.js +0 -945
  467. package/dist/grin2-YCJGBRFG.js +0 -66
  468. package/dist/hierCluster-KNPWL5KD.js +0 -51
  469. package/dist/hierCluster-L3LYQZQL.js +0 -55
  470. package/dist/hierCluster.config-VZBV5QIO.js +0 -32
  471. package/dist/hierCluster.integration.spec-ZM7K7WI4.js +0 -479
  472. package/dist/hierCluster.interactivity-EA7WVIQR.js +0 -45
  473. package/dist/imagePlot-OLVI26S5.js +0 -152
  474. package/dist/importPlot-3SSCNROC.js +0 -8
  475. package/dist/isoformExpression-BTMJNAAO.js +0 -31
  476. package/dist/isoformExpression.unit.spec-S2W5T42Z.js +0 -233
  477. package/dist/junction-GIS5OCRO.js +0 -32
  478. package/dist/junction.unit.spec-MSILW6QZ.js +0 -178
  479. package/dist/launch.adhoc-LLJY4LA5.js +0 -33
  480. package/dist/leftlabel.sample-P6DDVCOW.js +0 -253
  481. package/dist/lollipop-J34YCYIP.js +0 -162
  482. package/dist/maf-MFEEYT5P.js +0 -451
  483. package/dist/maftimeline-TGJ37QYA.js +0 -583
  484. package/dist/matrix-A6BNFCIH.js +0 -55
  485. package/dist/matrix-XTKRVPMQ.js +0 -50
  486. package/dist/matrix.config-RMDDMOZ5.js +0 -33
  487. package/dist/matrix.integration.spec-2DVRXVNH.js +0 -3156
  488. package/dist/matrix.interactivity-MGOYEKDN.js +0 -33
  489. package/dist/matrix.layout-T7EC5ZC2.js +0 -35
  490. package/dist/matrix.renderers-GR77V3RL.js +0 -30
  491. package/dist/matrix.sort.unit.spec-YUCV7G5L.js +0 -464
  492. package/dist/matrix.sorterUi.unit.spec-FESIQ2RC.js +0 -334
  493. package/dist/matrix.unit.spec-6QF3WKM7.js +0 -146
  494. package/dist/mavb-UXJBITZM.js +0 -726
  495. package/dist/mds.fimo-IPNWVBO4.js +0 -509
  496. package/dist/mds.samplescatterplot-KEG7RSN3.js +0 -1545
  497. package/dist/mds.survivalplot-LJF2CD33.js +0 -472
  498. package/dist/multivalue-YRQZ73DI.js +0 -79
  499. package/dist/oncomatrix-TIMH5JKS.js +0 -286
  500. package/dist/oncomatrix.spec-MUOKKCJN.js +0 -439
  501. package/dist/plot.2dvaf-3OL4S6QG.js +0 -368
  502. package/dist/plot.app-CMLHZV5F.js +0 -32
  503. package/dist/plot.barplot-NRYMIPK6.js +0 -93
  504. package/dist/plot.boxplot-ANGW3WUC.js +0 -142
  505. package/dist/plot.brainImaging-YUDBYKX5.js +0 -51
  506. package/dist/plot.disco-LV7RE3YO.js +0 -98
  507. package/dist/plot.ssgq-F2LOQFYD.js +0 -130
  508. package/dist/plot.vaf2cov-5OKC7X6D.js +0 -249
  509. package/dist/polar2-BGJA2GHZ.js +0 -228
  510. package/dist/profileForms-BKP3OBKV.js +0 -937
  511. package/dist/profilePlot-5PRRNUKD.js +0 -45
  512. package/dist/proteinView-VZIWIZZY.js +0 -1346
  513. package/dist/proteomeCohortCompare-XZI5OI4X.js +0 -866
  514. package/dist/pseudbulk.unit.spec-DXJQV7JQ.js +0 -82
  515. package/dist/pseudobulk-FCH3WW6O.js +0 -31
  516. package/dist/qualitative-ATX53V44.js +0 -34
  517. package/dist/qualitative-BRKLVRKW.js +0 -241
  518. package/dist/radar2-6BBT2FBT.js +0 -323
  519. package/dist/radarFacility2-76Q3IYP2.js +0 -331
  520. package/dist/render-KUC3QH36.js +0 -29
  521. package/dist/report-KB4K7ZXC.js +0 -213
  522. package/dist/sampleView-QD2JLZ4T.js +0 -39
  523. package/dist/samplelst-6R5RYHNV.js +0 -114
  524. package/dist/samplematrix-NGORNBTR.js +0 -2188
  525. package/dist/sc-27AHZZDK.js +0 -77
  526. package/dist/scatter-FXLZMWD6.js +0 -84
  527. package/dist/scatter-OWFYLMSJ.js +0 -919
  528. package/dist/selectGenomeWithTklst-ZTGABCXC.js +0 -125
  529. package/dist/singleCellCellType-7XXJ5NWC.js +0 -29
  530. package/dist/singleCellCellType.unit.spec-Y3TEYYCF.js +0 -150
  531. package/dist/singleCellGeneExpression-EUAIEIYJ.js +0 -29
  532. package/dist/singleCellGeneExpression.unit.spec-JVHPFLML.js +0 -144
  533. package/dist/singleCellNumericValue-FHIECJDK.js +0 -29
  534. package/dist/singleCellNumericValue.unit.spec-ZFG56MIO.js +0 -412
  535. package/dist/singleCellPlot-NDGIW32L.js +0 -44
  536. package/dist/singlecell-JPWVPZEF.js +0 -1562
  537. package/dist/singlecell-N7RJMWZ2.js +0 -77
  538. package/dist/snp-APUTOL2F.js +0 -29
  539. package/dist/snp.unit.spec-4AN7AJKO.js +0 -167
  540. package/dist/snplocus-WIMFAMBE.js +0 -200
  541. package/dist/snplst-SUJ5AK4E.js +0 -36
  542. package/dist/spliceevent.a53ss.diagram-4UBI7PFJ.js +0 -142
  543. package/dist/spliceevent.exonskip.diagram-NVEXVRIC.js +0 -274
  544. package/dist/spliceevent.noeventdiagram-CKEWNLVF.js +0 -451
  545. package/dist/ssGSEA-CJOVXTAW.js +0 -29
  546. package/dist/ssGSEA.unit.spec-A7VRVJSF.js +0 -79
  547. package/dist/stattable-JBJVVLQE.js +0 -112
  548. package/dist/studyCatalog-NEL7XSIP.js +0 -457
  549. package/dist/summarizeCnvGeneexp-BZSCTA5W.js +0 -154
  550. package/dist/summarizeGeneexpSurvival-743KXNV7.js +0 -101
  551. package/dist/summarizeMutationCnv-CALMSQGV.js +0 -155
  552. package/dist/summarizeMutationDiagnosis-OTE7O4AS.js +0 -31
  553. package/dist/summarizeMutationSurvival-VOZOFTFM.js +0 -95
  554. package/dist/summary-XJKCD35N.js +0 -40
  555. package/dist/summary.integration.spec-OOEU6WNB.js +0 -405
  556. package/dist/summaryInput-JSOXVSMY.js +0 -238
  557. package/dist/sunburst-J3QHMYKW.js +0 -34
  558. package/dist/sunburst-LZPP6NPV.js +0 -274
  559. package/dist/survival-5GWRVTQ6.js +0 -49
  560. package/dist/survival-FW7N3YXZ.js +0 -1248
  561. package/dist/survival.integration.spec-WN36VUHL.js +0 -609
  562. package/dist/svgraph-N35EMK3G.js +0 -1377
  563. package/dist/svmr-EWL5WDDD.js +0 -3834
  564. package/dist/swimmer-Z6FUH4CD.js +0 -993
  565. package/dist/table-EI2OIRGE.js +0 -192
  566. package/dist/termCollection-K3EX5P3F.js +0 -29
  567. package/dist/termCollection-TBTAHLVH.js +0 -247
  568. package/dist/termCollection.unit.spec-ZVNAIPHZ.js +0 -295
  569. package/dist/termCollectionFractionSelection-ATNIPWVX.js +0 -38
  570. package/dist/termCollectionFractionSelection.unit.spec-VBRWWBML.js +0 -184
  571. package/dist/tk-P3RPLUVH.js +0 -1193
  572. package/dist/tk-U6CYISBH.js +0 -37
  573. package/dist/tp.ui-KBFYUSWS.js +0 -1453
  574. package/dist/tvs.categorical-5USP772O.js +0 -28
  575. package/dist/tvs.condition-652MAA2Z.js +0 -160
  576. package/dist/tvs.density-CB24PXDE.js +0 -19
  577. package/dist/tvs.dt-7BTARQUS.js +0 -34
  578. package/dist/tvs.dtcnv.categorical-GAOO3DGO.js +0 -31
  579. package/dist/tvs.dtcnv.continuous-P2QRD45O.js +0 -72
  580. package/dist/tvs.dtfusion-L3I65W7L.js +0 -31
  581. package/dist/tvs.dtitd-B3JPW6OL.js +0 -31
  582. package/dist/tvs.dtsnvindel-6Y6CJBZV.js +0 -31
  583. package/dist/tvs.dtsv-GL7CPATL.js +0 -31
  584. package/dist/tvs.multivalue-75IM23FZ.js +0 -84
  585. package/dist/tvs.numeric-XB3GBPHE.js +0 -32
  586. package/dist/tvs.samplelst-QUA45UE7.js +0 -95
  587. package/dist/tvs.survival-EKSDZZIO.js +0 -110
  588. package/dist/tvs.termCollection-5ATMDC7O.js +0 -118
  589. package/dist/vocabulary-5QBBQAYC.js +0 -32
  590. package/dist/wsi.direct-BU6BL5UR.js +0 -11514
  591. /package/dist/{2dmaf-KRIX5DBS.js.map → 2dmaf-QFXSYOYN.js.map} +0 -0
  592. /package/dist/{AggMatrixInput-GBQD74NV.js.map → AggMatrixInput-7D4ZUYJK.js.map} +0 -0
  593. /package/dist/{AggregateMatrix-U2MOQOSZ.js.map → AggregateMatrix-NVSFZEW3.js.map} +0 -0
  594. /package/dist/{AppHeader-OBZWUCOD.js.map → AppHeader-5YJWBQP6.js.map} +0 -0
  595. /package/dist/{BoxPlot-ZK6Q5JGE.js.map → BoxPlot-52WWBGKN.js.map} +0 -0
  596. /package/dist/{CorrelationVolcano-WGR4JIGK.js.map → CorrelationVolcano-WS23O2JT.js.map} +0 -0
  597. /package/dist/{Cuminc-I6D6YSIL.js.map → Cuminc-5LJQYFEE.js.map} +0 -0
  598. /package/dist/{DE-HO7UBKPC.js.map → DE-Z5GBDXDU.js.map} +0 -0
  599. /package/dist/{DEinput-6LX4I65N.js.map → DEinput-3EAIVG5U.js.map} +0 -0
  600. /package/dist/{DM-WYKLX4IC.js.map → DM-24NZPPS6.js.map} +0 -0
  601. /package/dist/{DifferentialAnalysis-L5VVBCVZ.js.map → DifferentialAnalysis-LRAPDIXB.js.map} +0 -0
  602. /package/dist/{Disco-HLARIYXU.js.map → Disco-IDOTCKSD.js.map} +0 -0
  603. /package/dist/{Disco.UI-W64WFVC3.js.map → Disco.UI-SLJKAA6N.js.map} +0 -0
  604. /package/dist/{DmrPlot-BKQOT4JM.js.map → DmrPlot-5CRGQNM3.js.map} +0 -0
  605. /package/dist/{GB-WKFGDJYW.js.map → GB-YCDIORF3.js.map} +0 -0
  606. /package/dist/{GSEA-DCCJI5JE.js.map → GSEA-IGWX3AG7.js.map} +0 -0
  607. /package/dist/{GeneExpInput-APLFNE6N.js.map → GeneExpInput-PPOTCILZ.js.map} +0 -0
  608. /package/dist/{Geomap-FTKWCV4J.js.map → Geomap-D5JPCJ5L.js.map} +0 -0
  609. /package/dist/{HicApp-ZGZKO4Y4.js.map → HicApp-BNMMISAR.js.map} +0 -0
  610. /package/dist/{IDCViewer-MXB3OZUZ.js.map → IDCViewer-IUPPLC5B.js.map} +0 -0
  611. /package/dist/{NumBinaryEditor-S3MHUVZ5.js.map → NumBinaryEditor-45I5YNHI.js.map} +0 -0
  612. /package/dist/{NumBinaryEditor.unit.spec-264X5ULG.js.map → NumBinaryEditor.unit.spec-5CJPIDH4.js.map} +0 -0
  613. /package/dist/{NumContEditor-MKEZCZMR.js.map → NumContEditor-VMCE5LUM.js.map} +0 -0
  614. /package/dist/{NumContEditor.unit.spec-KBRAIU7M.js.map → NumContEditor.unit.spec-DKNXTVXT.js.map} +0 -0
  615. /package/dist/{NumCustomBinEditor-OSF64BFC.js.map → NumCustomBinEditor-3EESV7PW.js.map} +0 -0
  616. /package/dist/{NumCustomBinEditor.unit.spec-T2SRBXTV.js.map → NumCustomBinEditor.unit.spec-JPOK7BWZ.js.map} +0 -0
  617. /package/dist/{NumDiscreteEditor-PVW5HRRQ.js.map → NumDiscreteEditor-YZ3Q4J4M.js.map} +0 -0
  618. /package/dist/{NumDiscreteEditor.unit.spec-GUK7VWMR.js.map → NumDiscreteEditor.unit.spec-V6NSX72E.js.map} +0 -0
  619. /package/dist/{NumRegularBinEditor-757VRGFQ.js.map → NumRegularBinEditor-6GI63X5V.js.map} +0 -0
  620. /package/dist/{NumRegularBinEditor.unit.spec-JUIGEH3Z.js.map → NumRegularBinEditor.unit.spec-KCGZLQ6T.js.map} +0 -0
  621. /package/dist/{NumSplineEditor-U6MVFSCZ.js.map → NumSplineEditor-OMJUFDSC.js.map} +0 -0
  622. /package/dist/{NumSplineEditor.unit.spec-PSH6YENX.js.map → NumSplineEditor.unit.spec-KUB2OITH.js.map} +0 -0
  623. /package/dist/{NumericDensity-YIP25Z4Y.js.map → NumericDensity-M4BIVIB3.js.map} +0 -0
  624. /package/dist/{NumericDensity.unit.spec-3OSIZJHH.js.map → NumericDensity.unit.spec-G3GJMO4S.js.map} +0 -0
  625. /package/dist/{NumericHandler-D2CO3FTS.js.map → NumericHandler-AMV4BETD.js.map} +0 -0
  626. /package/dist/{NumericHandler.unit.spec-RNFVGO2I.js.map → NumericHandler.unit.spec-OJDMQQHX.js.map} +0 -0
  627. /package/dist/{ProteomeInput-ZOBJ2VU6.js.map → ProteomeInput-KB7YRARQ.js.map} +0 -0
  628. /package/dist/{Regression-ABKJOOMQ.js.map → Regression-5KSKHUEJ.js.map} +0 -0
  629. /package/dist/{RunChart2-D5CEEFEE.js.map → RunChart2-JJ4GQF44.js.map} +0 -0
  630. /package/dist/{SC-RLVEECU5.js.map → SC-LKCBWZQX.js.map} +0 -0
  631. /package/dist/{Violin-PCNX2CWV.js.map → Violin-JRP7R53K.js.map} +0 -0
  632. /package/dist/{Volcano-NVFNO7NE.js.map → Volcano-BDD3PZ4T.js.map} +0 -0
  633. /package/dist/{Wsi-MAMCK5YZ.js.map → Wsi-3C3ERYSG.js.map} +0 -0
  634. /package/dist/{adSandbox-5YFAQZO6.js.map → adSandbox-GFF6ZCRM.js.map} +0 -0
  635. /package/dist/{animatedBubbleChart-GM2GXDP3.js.map → animatedBubbleChart-PUPXCFJW.js.map} +0 -0
  636. /package/dist/{app-FNNCH37H.js.map → app-EICBB32X.js.map} +0 -0
  637. /package/dist/{app-ID5S5FUP.js.map → app-Z7M3CFWA.js.map} +0 -0
  638. /package/dist/{barchart-EAXXILCH.js.map → barchart-WRAEMD7B.js.map} +0 -0
  639. /package/dist/{barchart2-E6A4UMUB.js.map → barchart2-5CX3CO4K.js.map} +0 -0
  640. /package/dist/{block-VMVJH77F.js.map → block-53QIZEH3.js.map} +0 -0
  641. /package/dist/{block.init-TUCGKLXG.js.map → block.init-4V3SIUNX.js.map} +0 -0
  642. /package/dist/{block.mds.expressionrank-YVROHZVX.js.map → block.mds.expressionrank-5YNTX35V.js.map} +0 -0
  643. /package/dist/{block.mds.geneboxplot-TQNEWBJY.js.map → block.mds.geneboxplot-X5OHLSWT.js.map} +0 -0
  644. /package/dist/{block.mds.junction-ZOSTZQF5.js.map → block.mds.junction-QBJF6MFG.js.map} +0 -0
  645. /package/dist/{block.mds.svcnv-XSTSJ4ZD.js.map → block.mds.svcnv-BNCMHJJB.js.map} +0 -0
  646. /package/dist/{block.svg-D6HXL4SC.js.map → block.svg-KQELYSEO.js.map} +0 -0
  647. /package/dist/{block.tk.aicheck-7RNC4HRR.js.map → block.tk.aicheck-5EDNNXGL.js.map} +0 -0
  648. /package/dist/{block.tk.bigwig.ui-UVSZ7LWQ.js.map → block.tk.bigwig.ui-XUJPSA6D.js.map} +0 -0
  649. /package/dist/{block.tk.hicstraw-YFBJR5LO.js.map → block.tk.hicstraw-MVLZALFC.js.map} +0 -0
  650. /package/dist/{block.tk.junction-DNRK2JNQ.js.map → block.tk.junction-DLZNHWSA.js.map} +0 -0
  651. /package/dist/{block.tk.junction.textmatrixui-EN4ADCAU.js.map → block.tk.junction.textmatrixui-J3EODITY.js.map} +0 -0
  652. /package/dist/{block.tk.ld-I5CTAJ4K.js.map → block.tk.ld-4GEJ2Y2K.js.map} +0 -0
  653. /package/dist/{block.tk.menu-HUZBY7OM.js.map → block.tk.menu-NM7KA5GZ.js.map} +0 -0
  654. /package/dist/{block.tk.pgv-KA6BFYPY.js.map → block.tk.pgv-XFOJACVC.js.map} +0 -0
  655. /package/dist/{brainImaging-OQB2ZHCU.js.map → brainImaging-WFRZQANN.js.map} +0 -0
  656. /package/dist/{brainRegions-2CRVMS24.js.map → brainRegions-66KWCUF2.js.map} +0 -0
  657. /package/dist/{bubbleHeatmap-MANNFEG2.js.map → bubbleHeatmap-VKLIJOMM.js.map} +0 -0
  658. /package/dist/{cellTypeBubbleHeatmap-LRK4R4EC.js.map → cellTypeBubbleHeatmap-ZPCXC52I.js.map} +0 -0
  659. /package/dist/{chunk-H6YM4NKS.js.map → chunk-2NDFMFNM.js.map} +0 -0
  660. /package/dist/{chunk-WTWHUZ4O.js.map → chunk-34AGCF72.js.map} +0 -0
  661. /package/dist/{chunk-SUOEFEJO.js.map → chunk-3KKI63GB.js.map} +0 -0
  662. /package/dist/{chunk-XP4P55IC.js.map → chunk-3LUHZYIN.js.map} +0 -0
  663. /package/dist/{chunk-Z7Q2O5Y7.js.map → chunk-5XXYEKE2.js.map} +0 -0
  664. /package/dist/{chunk-67MD4UES.js.map → chunk-6C3USAU5.js.map} +0 -0
  665. /package/dist/{chunk-VHC4FDEJ.js.map → chunk-7TRD7A2U.js.map} +0 -0
  666. /package/dist/{chunk-BOCU6PXO.js.map → chunk-AG2PISH4.js.map} +0 -0
  667. /package/dist/{chunk-DXKZBSSD.js.map → chunk-BGYZJXYZ.js.map} +0 -0
  668. /package/dist/{chunk-VSDJEPDN.js.map → chunk-BY5CLUY5.js.map} +0 -0
  669. /package/dist/{chunk-5TA5LHPW.js.map → chunk-C6PMNLN4.js.map} +0 -0
  670. /package/dist/{chunk-3E26ITYK.js.map → chunk-DFKTWNCC.js.map} +0 -0
  671. /package/dist/{chunk-DEQREL5P.js.map → chunk-FQHE7CLH.js.map} +0 -0
  672. /package/dist/{chunk-AENUJ7UO.js.map → chunk-FRLAPBYW.js.map} +0 -0
  673. /package/dist/{chunk-3H4FCRAN.js.map → chunk-HKYUCYOQ.js.map} +0 -0
  674. /package/dist/{chunk-IXV7FX5B.js.map → chunk-IQO3VZCP.js.map} +0 -0
  675. /package/dist/{chunk-6DESNDD5.js.map → chunk-J5XV35LN.js.map} +0 -0
  676. /package/dist/{chunk-JPPNQVKA.js.map → chunk-JMWCL3QQ.js.map} +0 -0
  677. /package/dist/{chunk-YDIIKD7O.js.map → chunk-K3Q3KTBT.js.map} +0 -0
  678. /package/dist/{chunk-DZBPF5QI.js.map → chunk-LHM4UVYZ.js.map} +0 -0
  679. /package/dist/{chunk-GLAR6VNF.js.map → chunk-LMVYPBT4.js.map} +0 -0
  680. /package/dist/{chunk-VGC4STKW.js.map → chunk-LUGZE4FR.js.map} +0 -0
  681. /package/dist/{chunk-XHZ723K4.js.map → chunk-LXSBSJUL.js.map} +0 -0
  682. /package/dist/{chunk-HJKVYTYK.js.map → chunk-MOAHKBYO.js.map} +0 -0
  683. /package/dist/{chunk-7YMZSVWW.js.map → chunk-MU7GTJYA.js.map} +0 -0
  684. /package/dist/{chunk-QWBNQYIF.js.map → chunk-MXZYJ7WN.js.map} +0 -0
  685. /package/dist/{chunk-E6C2EWHU.js.map → chunk-NZB6RZK2.js.map} +0 -0
  686. /package/dist/{chunk-YR6EXI2K.js.map → chunk-OF6FDDKV.js.map} +0 -0
  687. /package/dist/{chunk-PV7AYYRZ.js.map → chunk-OPMEDR4F.js.map} +0 -0
  688. /package/dist/{chunk-XYUERIZ6.js.map → chunk-ORYAOIVF.js.map} +0 -0
  689. /package/dist/{chunk-4ENIOXIT.js.map → chunk-OZUF7O2S.js.map} +0 -0
  690. /package/dist/{chunk-AZSWQWKL.js.map → chunk-PHKA5BP7.js.map} +0 -0
  691. /package/dist/{chunk-KCVBFXGO.js.map → chunk-QI4EZK7S.js.map} +0 -0
  692. /package/dist/{chunk-C7ZPDNOJ.js.map → chunk-QNSB6O4W.js.map} +0 -0
  693. /package/dist/{chunk-4ZV6SE4B.js.map → chunk-QPRSVLI7.js.map} +0 -0
  694. /package/dist/{chunk-U3CWWOHL.js.map → chunk-RSMASA5S.js.map} +0 -0
  695. /package/dist/{chunk-QI7OWVFY.js.map → chunk-S2BMWHFY.js.map} +0 -0
  696. /package/dist/{chunk-IZ4IPYQY.js.map → chunk-SKL52OWF.js.map} +0 -0
  697. /package/dist/{chunk-YLGSRK75.js.map → chunk-TRWUXFVB.js.map} +0 -0
  698. /package/dist/{chunk-HN67TOA7.js.map → chunk-URCFNXAK.js.map} +0 -0
  699. /package/dist/{chunk-TVSNHVWX.js.map → chunk-V2D7DA2M.js.map} +0 -0
  700. /package/dist/{chunk-4GKC43U3.js.map → chunk-V2ZVMDBY.js.map} +0 -0
  701. /package/dist/{chunk-6DRRN5XP.js.map → chunk-VIFY62YA.js.map} +0 -0
  702. /package/dist/{chunk-Z53VY5JV.js.map → chunk-VZ2JWFSX.js.map} +0 -0
  703. /package/dist/{chunk-2NB5HVXB.js.map → chunk-W5GR42L2.js.map} +0 -0
  704. /package/dist/{chunk-5YQXNW6Y.js.map → chunk-WDOX6A6T.js.map} +0 -0
  705. /package/dist/{chunk-PIN5YUVJ.js.map → chunk-XPL54FXR.js.map} +0 -0
  706. /package/dist/{chunk-LOX5GAVG.js.map → chunk-XV3KWMG3.js.map} +0 -0
  707. /package/dist/{chunk-6BBUIRHA.js.map → chunk-YFFQ7JTJ.js.map} +0 -0
  708. /package/dist/{chunk-XVPPM25G.js.map → chunk-ZD6AIFTS.js.map} +0 -0
  709. /package/dist/{chunk-DZDK64XY.js.map → chunk-ZDVYAOWC.js.map} +0 -0
  710. /package/dist/{chunk-GK5QS5BR.js.map → chunk-ZKIC65KR.js.map} +0 -0
  711. /package/dist/{chunk-7TLUQH7J.js.map → chunk-ZPRI5XCE.js.map} +0 -0
  712. /package/dist/{cohort-ERDL7EJU.js.map → cohort-CI22KICX.js.map} +0 -0
  713. /package/dist/{cohortSunburst-KSTVS3OQ.js.map → cohortSunburst-Z5DANXVS.js.map} +0 -0
  714. /package/dist/{condition-CTJYHRJG.js.map → condition-GZOA7BZJ.js.map} +0 -0
  715. /package/dist/{controls-MMMRBTZL.js.map → controls-OWC25VQN.js.map} +0 -0
  716. /package/dist/{controls.config-ZKMQI27Q.js.map → controls.config-UVC4Q7BS.js.map} +0 -0
  717. /package/dist/{correlation-NEQNBQTT.js.map → correlation-EBA5YVXA.js.map} +0 -0
  718. /package/dist/{customdata.inputui-THUR7DF5.js.map → customdata.inputui-FZRZCPS3.js.map} +0 -0
  719. /package/dist/{dataDownload-ZMAJUKBX.js.map → dataDownload-WIPQU33P.js.map} +0 -0
  720. /package/dist/{databrowser.ui-A6ZSIUG4.js.map → databrowser.ui-6L6Q72W4.js.map} +0 -0
  721. /package/dist/{dictionary-TQUVCHIN.js.map → dictionary-4VZEPGW5.js.map} +0 -0
  722. /package/dist/{dnaMethylation-ZMJYY3ML.js.map → dnaMethylation-LN6THRNZ.js.map} +0 -0
  723. /package/dist/{dnaMethylation.integration.spec-5DTBGTYB.js.map → dnaMethylation.integration.spec-BXC6EPUV.js.map} +0 -0
  724. /package/dist/{e2pca-DNWBF545.js.map → e2pca-EXFI4Q2Y.js.map} +0 -0
  725. /package/dist/{ep-JNH3HMY4.js.map → ep-T7EZ34XV.js.map} +0 -0
  726. /package/dist/{expclust.gdc.spec-2NJ7JVJW.js.map → expclust.gdc.spec-NAN4M75R.js.map} +0 -0
  727. /package/dist/{facet-RWQFAVVU.js.map → facet-BJFUIWHK.js.map} +0 -0
  728. /package/dist/{gb-OT2Z3Y7J.js.map → gb-CBC3PDKZ.js.map} +0 -0
  729. /package/dist/{geneExpClustering-TPYGSTMO.js.map → geneExpClustering-7JFY7TQT.js.map} +0 -0
  730. /package/dist/{geneExpression-4K3OTXBZ.js.map → geneExpression-FOQOKD34.js.map} +0 -0
  731. /package/dist/{geneExpression.unit.spec-26MCGRAP.js.map → geneExpression.unit.spec-XSFC5ZJP.js.map} +0 -0
  732. /package/dist/{geneORA-GNXKCN45.js.map → geneORA-KYPN66QU.js.map} +0 -0
  733. /package/dist/{geneRanking-LV6W6TT7.js.map → geneRanking-VEHFMRFL.js.map} +0 -0
  734. /package/dist/{geneVariant-B2SYTHG6.js.map → geneVariant-77V6FNJX.js.map} +0 -0
  735. /package/dist/{geneVariant-O4XG5VEM.js.map → geneVariant-BS3XZFYM.js.map} +0 -0
  736. /package/dist/{geneVariant.integration.spec-YYVPAFXT.js.map → geneVariant.integration.spec-US4OY3S5.js.map} +0 -0
  737. /package/dist/{genefusion.ui-CVGGYVV3.js.map → genefusion.ui-YNVTTLDE.js.map} +0 -0
  738. /package/dist/{geneset-MBMCJNXT.js.map → geneset-BH5MWNJQ.js.map} +0 -0
  739. /package/dist/{genomeBrowser.spec-OVXFKEIU.js.map → genomeBrowser.spec-BFTGLRHG.js.map} +0 -0
  740. /package/dist/{grin2-YCJGBRFG.js.map → grin2-4AXUYJIL.js.map} +0 -0
  741. /package/dist/{grin2-OXRU465E.js.map → grin2-5T557HKM.js.map} +0 -0
  742. /package/dist/{hierCluster-KNPWL5KD.js.map → hierCluster-IJHBVO2N.js.map} +0 -0
  743. /package/dist/{hierCluster-L3LYQZQL.js.map → hierCluster-POJBHBN6.js.map} +0 -0
  744. /package/dist/{hierCluster.config-VZBV5QIO.js.map → hierCluster.config-UUQEFTIG.js.map} +0 -0
  745. /package/dist/{hierCluster.integration.spec-ZM7K7WI4.js.map → hierCluster.integration.spec-PZFUAOHX.js.map} +0 -0
  746. /package/dist/{hierCluster.interactivity-EA7WVIQR.js.map → hierCluster.interactivity-6CN5PNFR.js.map} +0 -0
  747. /package/dist/{imagePlot-OLVI26S5.js.map → imagePlot-HKPPACFV.js.map} +0 -0
  748. /package/dist/{importPlot-3SSCNROC.js.map → importPlot-EMI6BVPR.js.map} +0 -0
  749. /package/dist/{isoformExpression-BTMJNAAO.js.map → isoformExpression-SFBA3SY7.js.map} +0 -0
  750. /package/dist/{isoformExpression.unit.spec-S2W5T42Z.js.map → isoformExpression.unit.spec-JKYWHGRN.js.map} +0 -0
  751. /package/dist/{junction-GIS5OCRO.js.map → junction-PJPOCKK7.js.map} +0 -0
  752. /package/dist/{junction.unit.spec-MSILW6QZ.js.map → junction.unit.spec-CVYLAHZF.js.map} +0 -0
  753. /package/dist/{launch.adhoc-LLJY4LA5.js.map → launch.adhoc-R7SYX6GF.js.map} +0 -0
  754. /package/dist/{leftlabel.sample-P6DDVCOW.js.map → leftlabel.sample-XJUDFAKS.js.map} +0 -0
  755. /package/dist/{lollipop-J34YCYIP.js.map → lollipop-V43BWGBT.js.map} +0 -0
  756. /package/dist/{maf-MFEEYT5P.js.map → maf-KU44HXN3.js.map} +0 -0
  757. /package/dist/{maftimeline-TGJ37QYA.js.map → maftimeline-JPHVYTTU.js.map} +0 -0
  758. /package/dist/{matrix-A6BNFCIH.js.map → matrix-EABQEAMC.js.map} +0 -0
  759. /package/dist/{matrix-XTKRVPMQ.js.map → matrix-HMLF5MDD.js.map} +0 -0
  760. /package/dist/{matrix.config-RMDDMOZ5.js.map → matrix.config-RX5GWHTM.js.map} +0 -0
  761. /package/dist/{matrix.integration.spec-2DVRXVNH.js.map → matrix.integration.spec-MZPSYXTF.js.map} +0 -0
  762. /package/dist/{matrix.interactivity-MGOYEKDN.js.map → matrix.interactivity-6AJ5BGEP.js.map} +0 -0
  763. /package/dist/{matrix.layout-T7EC5ZC2.js.map → matrix.layout-CTHRQE7U.js.map} +0 -0
  764. /package/dist/{matrix.renderers-GR77V3RL.js.map → matrix.renderers-UGQXONTG.js.map} +0 -0
  765. /package/dist/{matrix.sort.unit.spec-YUCV7G5L.js.map → matrix.sort.unit.spec-FJKIBDTU.js.map} +0 -0
  766. /package/dist/{matrix.sorterUi.unit.spec-FESIQ2RC.js.map → matrix.sorterUi.unit.spec-6DQ6KGXT.js.map} +0 -0
  767. /package/dist/{matrix.unit.spec-6QF3WKM7.js.map → matrix.unit.spec-7Y3BKFNQ.js.map} +0 -0
  768. /package/dist/{mavb-UXJBITZM.js.map → mavb-ADD57P2Q.js.map} +0 -0
  769. /package/dist/{mds.fimo-IPNWVBO4.js.map → mds.fimo-7WH5GVFZ.js.map} +0 -0
  770. /package/dist/{mds.samplescatterplot-KEG7RSN3.js.map → mds.samplescatterplot-JYFOORUG.js.map} +0 -0
  771. /package/dist/{mds.survivalplot-LJF2CD33.js.map → mds.survivalplot-2V4H3YZY.js.map} +0 -0
  772. /package/dist/{multivalue-YRQZ73DI.js.map → multivalue-GLS3RPQ5.js.map} +0 -0
  773. /package/dist/{oncomatrix-TIMH5JKS.js.map → oncomatrix-QA267TP2.js.map} +0 -0
  774. /package/dist/{oncomatrix.spec-MUOKKCJN.js.map → oncomatrix.spec-H6AAIP7H.js.map} +0 -0
  775. /package/dist/{plot.2dvaf-3OL4S6QG.js.map → plot.2dvaf-JW3Z25M3.js.map} +0 -0
  776. /package/dist/{plot.app-CMLHZV5F.js.map → plot.app-CUCDOVC5.js.map} +0 -0
  777. /package/dist/{plot.barplot-NRYMIPK6.js.map → plot.barplot-KBVYKICH.js.map} +0 -0
  778. /package/dist/{plot.boxplot-ANGW3WUC.js.map → plot.boxplot-BTS6ZWCQ.js.map} +0 -0
  779. /package/dist/{plot.brainImaging-YUDBYKX5.js.map → plot.brainImaging-GGUARYRT.js.map} +0 -0
  780. /package/dist/{plot.disco-LV7RE3YO.js.map → plot.disco-EP274JEW.js.map} +0 -0
  781. /package/dist/{plot.ssgq-F2LOQFYD.js.map → plot.ssgq-4VUH3ZWV.js.map} +0 -0
  782. /package/dist/{plot.vaf2cov-5OKC7X6D.js.map → plot.vaf2cov-2FPWA2FS.js.map} +0 -0
  783. /package/dist/{polar2-BGJA2GHZ.js.map → polar2-7W5JRMB5.js.map} +0 -0
  784. /package/dist/{profileForms-BKP3OBKV.js.map → profileForms-2IKL3SZU.js.map} +0 -0
  785. /package/dist/{profilePlot-5PRRNUKD.js.map → profilePlot-IURW2HQN.js.map} +0 -0
  786. /package/dist/{proteinView-VZIWIZZY.js.map → proteinView-4ZRODQN3.js.map} +0 -0
  787. /package/dist/{proteomeCohortCompare-XZI5OI4X.js.map → proteomeCohortCompare-BK3FLW4Z.js.map} +0 -0
  788. /package/dist/{pseudbulk.unit.spec-DXJQV7JQ.js.map → pseudbulk.unit.spec-QGQCCHNF.js.map} +0 -0
  789. /package/dist/{pseudobulk-FCH3WW6O.js.map → pseudobulk-7HEOBIFO.js.map} +0 -0
  790. /package/dist/{qualitative-ATX53V44.js.map → qualitative-6HWIG5NU.js.map} +0 -0
  791. /package/dist/{qualitative-BRKLVRKW.js.map → qualitative-WGEEUNH6.js.map} +0 -0
  792. /package/dist/{radar2-6BBT2FBT.js.map → radar2-VXP322F7.js.map} +0 -0
  793. /package/dist/{radarFacility2-76Q3IYP2.js.map → radarFacility2-IJGJ3AJB.js.map} +0 -0
  794. /package/dist/{render-KUC3QH36.js.map → render-MMCUV7QI.js.map} +0 -0
  795. /package/dist/{report-KB4K7ZXC.js.map → report-F22EFD7C.js.map} +0 -0
  796. /package/dist/{sampleView-QD2JLZ4T.js.map → sampleView-3DVB2PQT.js.map} +0 -0
  797. /package/dist/{samplelst-6R5RYHNV.js.map → samplelst-LNAI33IW.js.map} +0 -0
  798. /package/dist/{samplematrix-NGORNBTR.js.map → samplematrix-RGXPBRW5.js.map} +0 -0
  799. /package/dist/{sc-27AHZZDK.js.map → sc-UR66YB27.js.map} +0 -0
  800. /package/dist/{scatter-FXLZMWD6.js.map → scatter-3K6XBJIM.js.map} +0 -0
  801. /package/dist/{scatter-OWFYLMSJ.js.map → scatter-IFP5NTZU.js.map} +0 -0
  802. /package/dist/{selectGenomeWithTklst-ZTGABCXC.js.map → selectGenomeWithTklst-LGBKEN3T.js.map} +0 -0
  803. /package/dist/{singleCellCellType-7XXJ5NWC.js.map → singleCellCellType-ACQACM6W.js.map} +0 -0
  804. /package/dist/{singleCellCellType.unit.spec-Y3TEYYCF.js.map → singleCellCellType.unit.spec-WLGTJKOM.js.map} +0 -0
  805. /package/dist/{singleCellGeneExpression-EUAIEIYJ.js.map → singleCellGeneExpression-M4RPITJW.js.map} +0 -0
  806. /package/dist/{singleCellGeneExpression.unit.spec-JVHPFLML.js.map → singleCellGeneExpression.unit.spec-N3VD6PUW.js.map} +0 -0
  807. /package/dist/{singleCellNumericValue-FHIECJDK.js.map → singleCellNumericValue-W6F44FJN.js.map} +0 -0
  808. /package/dist/{singleCellNumericValue.unit.spec-ZFG56MIO.js.map → singleCellNumericValue.unit.spec-JZNMY77I.js.map} +0 -0
  809. /package/dist/{singleCellPlot-NDGIW32L.js.map → singleCellPlot-CCG2KSCO.js.map} +0 -0
  810. /package/dist/{singlecell-JPWVPZEF.js.map → singlecell-32P47E4I.js.map} +0 -0
  811. /package/dist/{singlecell-N7RJMWZ2.js.map → singlecell-I6H3Z7FT.js.map} +0 -0
  812. /package/dist/{snp-APUTOL2F.js.map → snp-7X2BXRQP.js.map} +0 -0
  813. /package/dist/{snp.unit.spec-4AN7AJKO.js.map → snp.unit.spec-BJGWNSVR.js.map} +0 -0
  814. /package/dist/{snplocus-WIMFAMBE.js.map → snplocus-UOVS2GD6.js.map} +0 -0
  815. /package/dist/{snplst-SUJ5AK4E.js.map → snplst-JFVP4NG2.js.map} +0 -0
  816. /package/dist/{spliceevent.a53ss.diagram-4UBI7PFJ.js.map → spliceevent.a53ss.diagram-ETXJX57W.js.map} +0 -0
  817. /package/dist/{spliceevent.exonskip.diagram-NVEXVRIC.js.map → spliceevent.exonskip.diagram-C4JCEOXQ.js.map} +0 -0
  818. /package/dist/{spliceevent.noeventdiagram-CKEWNLVF.js.map → spliceevent.noeventdiagram-4DD3Z4OM.js.map} +0 -0
  819. /package/dist/{ssGSEA-CJOVXTAW.js.map → ssGSEA-GOZOYROM.js.map} +0 -0
  820. /package/dist/{ssGSEA.unit.spec-A7VRVJSF.js.map → ssGSEA.unit.spec-J4DPFU4D.js.map} +0 -0
  821. /package/dist/{stattable-JBJVVLQE.js.map → stattable-ICUZQHUF.js.map} +0 -0
  822. /package/dist/{studyCatalog-NEL7XSIP.js.map → studyCatalog-PCFXVOI3.js.map} +0 -0
  823. /package/dist/{summarizeCnvGeneexp-BZSCTA5W.js.map → summarizeCnvGeneexp-DK6HNUFE.js.map} +0 -0
  824. /package/dist/{summarizeGeneexpSurvival-743KXNV7.js.map → summarizeGeneexpSurvival-JLCR2VIX.js.map} +0 -0
  825. /package/dist/{summarizeMutationCnv-CALMSQGV.js.map → summarizeMutationCnv-CFAKT6IP.js.map} +0 -0
  826. /package/dist/{summarizeMutationDiagnosis-OTE7O4AS.js.map → summarizeMutationDiagnosis-5HMVSYMI.js.map} +0 -0
  827. /package/dist/{summarizeMutationSurvival-VOZOFTFM.js.map → summarizeMutationSurvival-GP2OQMUS.js.map} +0 -0
  828. /package/dist/{summary-XJKCD35N.js.map → summary-6K553VNS.js.map} +0 -0
  829. /package/dist/{summary.integration.spec-OOEU6WNB.js.map → summary.integration.spec-MXERZOVY.js.map} +0 -0
  830. /package/dist/{summaryInput-JSOXVSMY.js.map → summaryInput-V2G6HFJS.js.map} +0 -0
  831. /package/dist/{sunburst-J3QHMYKW.js.map → sunburst-6GKVNIRF.js.map} +0 -0
  832. /package/dist/{sunburst-LZPP6NPV.js.map → sunburst-YOVKC5G2.js.map} +0 -0
  833. /package/dist/{survival-FW7N3YXZ.js.map → survival-GHTV2ZPX.js.map} +0 -0
  834. /package/dist/{survival-5GWRVTQ6.js.map → survival-KF2QUWSM.js.map} +0 -0
  835. /package/dist/{survival.integration.spec-WN36VUHL.js.map → survival.integration.spec-GVSQL4VB.js.map} +0 -0
  836. /package/dist/{svgraph-N35EMK3G.js.map → svgraph-WN3JLEOC.js.map} +0 -0
  837. /package/dist/{svmr-EWL5WDDD.js.map → svmr-ZZKBQFQK.js.map} +0 -0
  838. /package/dist/{swimmer-Z6FUH4CD.js.map → swimmer-XHORJEVI.js.map} +0 -0
  839. /package/dist/{table-EI2OIRGE.js.map → table-XQCTNHSZ.js.map} +0 -0
  840. /package/dist/{termCollection-K3EX5P3F.js.map → termCollection-DXZQT7YT.js.map} +0 -0
  841. /package/dist/{termCollection-TBTAHLVH.js.map → termCollection-HRM2NHLA.js.map} +0 -0
  842. /package/dist/{termCollection.unit.spec-ZVNAIPHZ.js.map → termCollection.unit.spec-BGULSLH6.js.map} +0 -0
  843. /package/dist/{termCollectionFractionSelection-ATNIPWVX.js.map → termCollectionFractionSelection-TPNNP2ER.js.map} +0 -0
  844. /package/dist/{termCollectionFractionSelection.unit.spec-VBRWWBML.js.map → termCollectionFractionSelection.unit.spec-VONXAGZH.js.map} +0 -0
  845. /package/dist/{tk-P3RPLUVH.js.map → tk-KPD6HTHR.js.map} +0 -0
  846. /package/dist/{tk-U6CYISBH.js.map → tk-RCTQPQH7.js.map} +0 -0
  847. /package/dist/{tp.ui-KBFYUSWS.js.map → tp.ui-MVNQLMAD.js.map} +0 -0
  848. /package/dist/{tvs.categorical-5USP772O.js.map → tvs.categorical-4TKKU6HO.js.map} +0 -0
  849. /package/dist/{tvs.condition-652MAA2Z.js.map → tvs.condition-SARY3O5Y.js.map} +0 -0
  850. /package/dist/{tvs.density-CB24PXDE.js.map → tvs.density-IGO4I4T2.js.map} +0 -0
  851. /package/dist/{tvs.dt-7BTARQUS.js.map → tvs.dt-XJ2MW2AP.js.map} +0 -0
  852. /package/dist/{tvs.dtcnv.categorical-GAOO3DGO.js.map → tvs.dtcnv.categorical-H7FKTXH4.js.map} +0 -0
  853. /package/dist/{tvs.dtcnv.continuous-P2QRD45O.js.map → tvs.dtcnv.continuous-JQ62ZHER.js.map} +0 -0
  854. /package/dist/{tvs.dtfusion-L3I65W7L.js.map → tvs.dtfusion-GC3DZ2BO.js.map} +0 -0
  855. /package/dist/{tvs.dtitd-B3JPW6OL.js.map → tvs.dtitd-3SHGIDIB.js.map} +0 -0
  856. /package/dist/{tvs.dtsnvindel-6Y6CJBZV.js.map → tvs.dtsnvindel-BEDWZ4A2.js.map} +0 -0
  857. /package/dist/{tvs.dtsv-GL7CPATL.js.map → tvs.dtsv-HRIMULVD.js.map} +0 -0
  858. /package/dist/{tvs.multivalue-75IM23FZ.js.map → tvs.multivalue-5VC7BLSZ.js.map} +0 -0
  859. /package/dist/{tvs.numeric-XB3GBPHE.js.map → tvs.numeric-TGEC7G6A.js.map} +0 -0
  860. /package/dist/{tvs.samplelst-QUA45UE7.js.map → tvs.samplelst-Q6EYAUQZ.js.map} +0 -0
  861. /package/dist/{tvs.survival-EKSDZZIO.js.map → tvs.survival-NJ3DTZIG.js.map} +0 -0
  862. /package/dist/{tvs.termCollection-5ATMDC7O.js.map → tvs.termCollection-TVVLPSTG.js.map} +0 -0
  863. /package/dist/{vocabulary-5QBBQAYC.js.map → vocabulary-A7ZBBU65.js.map} +0 -0
  864. /package/dist/{wsi.direct-BU6BL5UR.js.map → wsi.direct-JJGIAH6A.js.map} +0 -0
@@ -1,1562 +0,0 @@
1
- import {
2
- BufferGeometry,
3
- Color,
4
- EventDispatcher,
5
- FileLoader,
6
- Float32BufferAttribute,
7
- Int32BufferAttribute,
8
- LinearSRGBColorSpace,
9
- Loader,
10
- MOUSE,
11
- MathUtils,
12
- NoToneMapping,
13
- PerspectiveCamera,
14
- Points,
15
- PointsMaterial,
16
- Quaternion,
17
- Scene,
18
- Vector2,
19
- Vector3,
20
- WebGLRenderer
21
- } from "./chunk-72PLI3GC.js";
22
- import {
23
- legend_newrow
24
- } from "./chunk-PIN5YUVJ.js";
25
- import {
26
- schemeCategory20
27
- } from "./chunk-V2OJLJSK.js";
28
- import {
29
- findgenemodel_bysymbol,
30
- gene_searchbox
31
- } from "./chunk-SUOEFEJO.js";
32
- import "./chunk-VLIOMJDR.js";
33
- import {
34
- appear2 as appear,
35
- disappear2 as disappear,
36
- font,
37
- newpane,
38
- sayerror
39
- } from "./chunk-PEKCVKJK.js";
40
- import "./chunk-HJ6L54YS.js";
41
- import "./chunk-YR6EXI2K.js";
42
- import {
43
- Menu
44
- } from "./chunk-CNFTQSNE.js";
45
- import "./chunk-RIHO7ZD5.js";
46
- import "./chunk-TVJOSRCH.js";
47
- import "./chunk-3CIL7KH7.js";
48
- import "./chunk-T4XPCSLP.js";
49
- import {
50
- dofetch,
51
- dofetch2
52
- } from "./chunk-4TJO2DGU.js";
53
- import "./chunk-W5J3LTYS.js";
54
- import "./chunk-MHWYRNGA.js";
55
- import "./chunk-JHLF2ZC2.js";
56
- import {
57
- area_default,
58
- axisBottom,
59
- axisLeft,
60
- axisTop,
61
- line_default,
62
- monotoneX,
63
- plasma
64
- } from "./chunk-WJLRU5OF.js";
65
- import "./chunk-HBNB5TRH.js";
66
- import "./chunk-PF4DSFDR.js";
67
- import {
68
- band,
69
- linear,
70
- ordinal,
71
- sequential
72
- } from "./chunk-4OLM3KSB.js";
73
- import "./chunk-6XKAOSQE.js";
74
- import "./chunk-TLT4YIG3.js";
75
- import "./chunk-5R63Q5KH.js";
76
- import {
77
- pointer_default
78
- } from "./chunk-I6Y4O3RR.js";
79
- import "./chunk-Q5RDQNIT.js";
80
- import "./chunk-HS5PO5ZQ.js";
81
-
82
- // ../node_modules/three/examples/jsm/loaders/PCDLoader.js
83
- var PCDLoader = class extends Loader {
84
- constructor(manager) {
85
- super(manager);
86
- this.littleEndian = true;
87
- }
88
- load(url, onLoad, onProgress, onError) {
89
- const scope = this;
90
- const loader = new FileLoader(scope.manager);
91
- loader.setPath(scope.path);
92
- loader.setResponseType("arraybuffer");
93
- loader.setRequestHeader(scope.requestHeader);
94
- loader.setWithCredentials(scope.withCredentials);
95
- loader.load(url, function(data) {
96
- try {
97
- onLoad(scope.parse(data));
98
- } catch (e) {
99
- if (onError) {
100
- onError(e);
101
- } else {
102
- console.error(e);
103
- }
104
- scope.manager.itemError(url);
105
- }
106
- }, onProgress, onError);
107
- }
108
- parse(data) {
109
- function decompressLZF(inData, outLength) {
110
- const inLength = inData.length;
111
- const outData = new Uint8Array(outLength);
112
- let inPtr = 0;
113
- let outPtr = 0;
114
- let ctrl;
115
- let len;
116
- let ref;
117
- do {
118
- ctrl = inData[inPtr++];
119
- if (ctrl < 1 << 5) {
120
- ctrl++;
121
- if (outPtr + ctrl > outLength) throw new Error("Output buffer is not large enough");
122
- if (inPtr + ctrl > inLength) throw new Error("Invalid compressed data");
123
- do {
124
- outData[outPtr++] = inData[inPtr++];
125
- } while (--ctrl);
126
- } else {
127
- len = ctrl >> 5;
128
- ref = outPtr - ((ctrl & 31) << 8) - 1;
129
- if (inPtr >= inLength) throw new Error("Invalid compressed data");
130
- if (len === 7) {
131
- len += inData[inPtr++];
132
- if (inPtr >= inLength) throw new Error("Invalid compressed data");
133
- }
134
- ref -= inData[inPtr++];
135
- if (outPtr + len + 2 > outLength) throw new Error("Output buffer is not large enough");
136
- if (ref < 0) throw new Error("Invalid compressed data");
137
- if (ref >= outPtr) throw new Error("Invalid compressed data");
138
- do {
139
- outData[outPtr++] = outData[ref++];
140
- } while (--len + 2);
141
- }
142
- } while (inPtr < inLength);
143
- return outData;
144
- }
145
- function parseHeader(data2) {
146
- const PCDheader2 = {};
147
- const result1 = data2.search(/[\r\n]DATA\s(\S*)\s/i);
148
- const result2 = /[\r\n]DATA\s(\S*)\s/i.exec(data2.slice(result1 - 1));
149
- PCDheader2.data = result2[1];
150
- PCDheader2.headerLen = result2[0].length + result1;
151
- PCDheader2.str = data2.slice(0, PCDheader2.headerLen);
152
- PCDheader2.str = PCDheader2.str.replace(/#.*/gi, "");
153
- PCDheader2.version = /VERSION (.*)/i.exec(PCDheader2.str);
154
- PCDheader2.fields = /FIELDS (.*)/i.exec(PCDheader2.str);
155
- PCDheader2.size = /SIZE (.*)/i.exec(PCDheader2.str);
156
- PCDheader2.type = /TYPE (.*)/i.exec(PCDheader2.str);
157
- PCDheader2.count = /COUNT (.*)/i.exec(PCDheader2.str);
158
- PCDheader2.width = /WIDTH (.*)/i.exec(PCDheader2.str);
159
- PCDheader2.height = /HEIGHT (.*)/i.exec(PCDheader2.str);
160
- PCDheader2.viewpoint = /VIEWPOINT (.*)/i.exec(PCDheader2.str);
161
- PCDheader2.points = /POINTS (.*)/i.exec(PCDheader2.str);
162
- if (PCDheader2.version !== null)
163
- PCDheader2.version = parseFloat(PCDheader2.version[1]);
164
- PCDheader2.fields = PCDheader2.fields !== null ? PCDheader2.fields[1].split(" ") : [];
165
- if (PCDheader2.type !== null)
166
- PCDheader2.type = PCDheader2.type[1].split(" ");
167
- if (PCDheader2.width !== null)
168
- PCDheader2.width = parseInt(PCDheader2.width[1]);
169
- if (PCDheader2.height !== null)
170
- PCDheader2.height = parseInt(PCDheader2.height[1]);
171
- if (PCDheader2.viewpoint !== null)
172
- PCDheader2.viewpoint = PCDheader2.viewpoint[1];
173
- if (PCDheader2.points !== null)
174
- PCDheader2.points = parseInt(PCDheader2.points[1], 10);
175
- if (PCDheader2.points === null)
176
- PCDheader2.points = PCDheader2.width * PCDheader2.height;
177
- if (PCDheader2.size !== null) {
178
- PCDheader2.size = PCDheader2.size[1].split(" ").map(function(x) {
179
- return parseInt(x, 10);
180
- });
181
- }
182
- if (PCDheader2.count !== null) {
183
- PCDheader2.count = PCDheader2.count[1].split(" ").map(function(x) {
184
- return parseInt(x, 10);
185
- });
186
- } else {
187
- PCDheader2.count = [];
188
- for (let i = 0, l = PCDheader2.fields.length; i < l; i++) {
189
- PCDheader2.count.push(1);
190
- }
191
- }
192
- PCDheader2.offset = {};
193
- let sizeSum = 0;
194
- for (let i = 0, l = PCDheader2.fields.length; i < l; i++) {
195
- if (PCDheader2.data === "ascii") {
196
- PCDheader2.offset[PCDheader2.fields[i]] = i;
197
- } else {
198
- PCDheader2.offset[PCDheader2.fields[i]] = sizeSum;
199
- sizeSum += PCDheader2.size[i] * PCDheader2.count[i];
200
- }
201
- }
202
- PCDheader2.rowSize = sizeSum;
203
- return PCDheader2;
204
- }
205
- const textData = new TextDecoder().decode(data);
206
- const PCDheader = parseHeader(textData);
207
- const position = [];
208
- const normal = [];
209
- const color = [];
210
- const intensity = [];
211
- const label = [];
212
- if (PCDheader.data === "ascii") {
213
- const offset = PCDheader.offset;
214
- const pcdData = textData.slice(PCDheader.headerLen);
215
- const lines = pcdData.split("\n");
216
- for (let i = 0, l = lines.length; i < l; i++) {
217
- if (lines[i] === "") continue;
218
- const line = lines[i].split(" ");
219
- if (offset.x !== void 0) {
220
- position.push(parseFloat(line[offset.x]));
221
- position.push(parseFloat(line[offset.y]));
222
- position.push(parseFloat(line[offset.z]));
223
- }
224
- if (offset.rgb !== void 0) {
225
- const rgb_field_index = PCDheader.fields.findIndex((field) => field === "rgb");
226
- const rgb_type = PCDheader.type[rgb_field_index];
227
- const float = parseFloat(line[offset.rgb]);
228
- let rgb = float;
229
- if (rgb_type === "F") {
230
- const farr = new Float32Array(1);
231
- farr[0] = float;
232
- rgb = new Int32Array(farr.buffer)[0];
233
- }
234
- const r = rgb >> 16 & 255;
235
- const g = rgb >> 8 & 255;
236
- const b = rgb >> 0 & 255;
237
- color.push(r / 255, g / 255, b / 255);
238
- }
239
- if (offset.normal_x !== void 0) {
240
- normal.push(parseFloat(line[offset.normal_x]));
241
- normal.push(parseFloat(line[offset.normal_y]));
242
- normal.push(parseFloat(line[offset.normal_z]));
243
- }
244
- if (offset.intensity !== void 0) {
245
- intensity.push(parseFloat(line[offset.intensity]));
246
- }
247
- if (offset.label !== void 0) {
248
- label.push(parseInt(line[offset.label]));
249
- }
250
- }
251
- }
252
- if (PCDheader.data === "binary_compressed") {
253
- const sizes = new Uint32Array(data.slice(PCDheader.headerLen, PCDheader.headerLen + 8));
254
- const compressedSize = sizes[0];
255
- const decompressedSize = sizes[1];
256
- const decompressed = decompressLZF(new Uint8Array(data, PCDheader.headerLen + 8, compressedSize), decompressedSize);
257
- const dataview = new DataView(decompressed.buffer);
258
- const offset = PCDheader.offset;
259
- for (let i = 0; i < PCDheader.points; i++) {
260
- if (offset.x !== void 0) {
261
- const xIndex = PCDheader.fields.indexOf("x");
262
- const yIndex = PCDheader.fields.indexOf("y");
263
- const zIndex = PCDheader.fields.indexOf("z");
264
- position.push(dataview.getFloat32(PCDheader.points * offset.x + PCDheader.size[xIndex] * i, this.littleEndian));
265
- position.push(dataview.getFloat32(PCDheader.points * offset.y + PCDheader.size[yIndex] * i, this.littleEndian));
266
- position.push(dataview.getFloat32(PCDheader.points * offset.z + PCDheader.size[zIndex] * i, this.littleEndian));
267
- }
268
- if (offset.rgb !== void 0) {
269
- const rgbIndex = PCDheader.fields.indexOf("rgb");
270
- color.push(dataview.getUint8(PCDheader.points * offset.rgb + PCDheader.size[rgbIndex] * i + 2) / 255);
271
- color.push(dataview.getUint8(PCDheader.points * offset.rgb + PCDheader.size[rgbIndex] * i + 1) / 255);
272
- color.push(dataview.getUint8(PCDheader.points * offset.rgb + PCDheader.size[rgbIndex] * i + 0) / 255);
273
- }
274
- if (offset.normal_x !== void 0) {
275
- const xIndex = PCDheader.fields.indexOf("normal_x");
276
- const yIndex = PCDheader.fields.indexOf("normal_y");
277
- const zIndex = PCDheader.fields.indexOf("normal_z");
278
- normal.push(dataview.getFloat32(PCDheader.points * offset.normal_x + PCDheader.size[xIndex] * i, this.littleEndian));
279
- normal.push(dataview.getFloat32(PCDheader.points * offset.normal_y + PCDheader.size[yIndex] * i, this.littleEndian));
280
- normal.push(dataview.getFloat32(PCDheader.points * offset.normal_z + PCDheader.size[zIndex] * i, this.littleEndian));
281
- }
282
- if (offset.intensity !== void 0) {
283
- const intensityIndex = PCDheader.fields.indexOf("intensity");
284
- intensity.push(dataview.getFloat32(PCDheader.points * offset.intensity + PCDheader.size[intensityIndex] * i, this.littleEndian));
285
- }
286
- if (offset.label !== void 0) {
287
- const labelIndex = PCDheader.fields.indexOf("label");
288
- label.push(dataview.getInt32(PCDheader.points * offset.label + PCDheader.size[labelIndex] * i, this.littleEndian));
289
- }
290
- }
291
- }
292
- if (PCDheader.data === "binary") {
293
- const dataview = new DataView(data, PCDheader.headerLen);
294
- const offset = PCDheader.offset;
295
- for (let i = 0, row = 0; i < PCDheader.points; i++, row += PCDheader.rowSize) {
296
- if (offset.x !== void 0) {
297
- position.push(dataview.getFloat32(row + offset.x, this.littleEndian));
298
- position.push(dataview.getFloat32(row + offset.y, this.littleEndian));
299
- position.push(dataview.getFloat32(row + offset.z, this.littleEndian));
300
- }
301
- if (offset.rgb !== void 0) {
302
- color.push(dataview.getUint8(row + offset.rgb + 2) / 255);
303
- color.push(dataview.getUint8(row + offset.rgb + 1) / 255);
304
- color.push(dataview.getUint8(row + offset.rgb + 0) / 255);
305
- }
306
- if (offset.normal_x !== void 0) {
307
- normal.push(dataview.getFloat32(row + offset.normal_x, this.littleEndian));
308
- normal.push(dataview.getFloat32(row + offset.normal_y, this.littleEndian));
309
- normal.push(dataview.getFloat32(row + offset.normal_z, this.littleEndian));
310
- }
311
- if (offset.intensity !== void 0) {
312
- intensity.push(dataview.getFloat32(row + offset.intensity, this.littleEndian));
313
- }
314
- if (offset.label !== void 0) {
315
- label.push(dataview.getInt32(row + offset.label, this.littleEndian));
316
- }
317
- }
318
- }
319
- const geometry = new BufferGeometry();
320
- if (position.length > 0) geometry.setAttribute("position", new Float32BufferAttribute(position, 3));
321
- if (normal.length > 0) geometry.setAttribute("normal", new Float32BufferAttribute(normal, 3));
322
- if (color.length > 0) geometry.setAttribute("color", new Float32BufferAttribute(color, 3));
323
- if (intensity.length > 0) geometry.setAttribute("intensity", new Float32BufferAttribute(intensity, 1));
324
- if (label.length > 0) geometry.setAttribute("label", new Int32BufferAttribute(label, 1));
325
- geometry.computeBoundingSphere();
326
- const material = new PointsMaterial({ size: 5e-3 });
327
- if (color.length > 0) {
328
- material.vertexColors = true;
329
- }
330
- return new Points(geometry, material);
331
- }
332
- };
333
-
334
- // ../public/static/js/WebGL.js
335
- function isWebGLAvailable() {
336
- try {
337
- var canvas = document.createElement("canvas");
338
- return !!(window.WebGLRenderingContext && (canvas.getContext("webgl") || canvas.getContext("experimental-webgl")));
339
- } catch (e) {
340
- return false;
341
- }
342
- }
343
- function getWebGLErrorMessage() {
344
- return this.getErrorMessage(1);
345
- }
346
-
347
- // ../node_modules/three/examples/jsm/controls/TrackballControls.js
348
- var _changeEvent = { type: "change" };
349
- var _startEvent = { type: "start" };
350
- var _endEvent = { type: "end" };
351
- var TrackballControls = class extends EventDispatcher {
352
- constructor(object, domElement) {
353
- super();
354
- const scope = this;
355
- const STATE = { NONE: -1, ROTATE: 0, ZOOM: 1, PAN: 2, TOUCH_ROTATE: 3, TOUCH_ZOOM_PAN: 4 };
356
- this.object = object;
357
- this.domElement = domElement;
358
- this.domElement.style.touchAction = "none";
359
- this.enabled = true;
360
- this.screen = { left: 0, top: 0, width: 0, height: 0 };
361
- this.rotateSpeed = 1;
362
- this.zoomSpeed = 1.2;
363
- this.panSpeed = 0.3;
364
- this.noRotate = false;
365
- this.noZoom = false;
366
- this.noPan = false;
367
- this.staticMoving = false;
368
- this.dynamicDampingFactor = 0.2;
369
- this.minDistance = 0;
370
- this.maxDistance = Infinity;
371
- this.minZoom = 0;
372
- this.maxZoom = Infinity;
373
- this.keys = [
374
- "KeyA",
375
- "KeyS",
376
- "KeyD"
377
- /*D*/
378
- ];
379
- this.mouseButtons = { LEFT: MOUSE.ROTATE, MIDDLE: MOUSE.DOLLY, RIGHT: MOUSE.PAN };
380
- this.target = new Vector3();
381
- const EPS = 1e-6;
382
- const lastPosition = new Vector3();
383
- let lastZoom = 1;
384
- let _state = STATE.NONE, _keyState = STATE.NONE, _touchZoomDistanceStart = 0, _touchZoomDistanceEnd = 0, _lastAngle = 0;
385
- const _eye = new Vector3(), _movePrev = new Vector2(), _moveCurr = new Vector2(), _lastAxis = new Vector3(), _zoomStart = new Vector2(), _zoomEnd = new Vector2(), _panStart = new Vector2(), _panEnd = new Vector2(), _pointers = [], _pointerPositions = {};
386
- this.target0 = this.target.clone();
387
- this.position0 = this.object.position.clone();
388
- this.up0 = this.object.up.clone();
389
- this.zoom0 = this.object.zoom;
390
- this.handleResize = function() {
391
- const box = scope.domElement.getBoundingClientRect();
392
- const d = scope.domElement.ownerDocument.documentElement;
393
- scope.screen.left = box.left + window.pageXOffset - d.clientLeft;
394
- scope.screen.top = box.top + window.pageYOffset - d.clientTop;
395
- scope.screen.width = box.width;
396
- scope.screen.height = box.height;
397
- };
398
- const getMouseOnScreen = (function() {
399
- const vector = new Vector2();
400
- return function getMouseOnScreen2(pageX, pageY) {
401
- vector.set(
402
- (pageX - scope.screen.left) / scope.screen.width,
403
- (pageY - scope.screen.top) / scope.screen.height
404
- );
405
- return vector;
406
- };
407
- })();
408
- const getMouseOnCircle = (function() {
409
- const vector = new Vector2();
410
- return function getMouseOnCircle2(pageX, pageY) {
411
- vector.set(
412
- (pageX - scope.screen.width * 0.5 - scope.screen.left) / (scope.screen.width * 0.5),
413
- (scope.screen.height + 2 * (scope.screen.top - pageY)) / scope.screen.width
414
- // screen.width intentional
415
- );
416
- return vector;
417
- };
418
- })();
419
- this.rotateCamera = (function() {
420
- const axis = new Vector3(), quaternion = new Quaternion(), eyeDirection = new Vector3(), objectUpDirection = new Vector3(), objectSidewaysDirection = new Vector3(), moveDirection = new Vector3();
421
- return function rotateCamera() {
422
- moveDirection.set(_moveCurr.x - _movePrev.x, _moveCurr.y - _movePrev.y, 0);
423
- let angle = moveDirection.length();
424
- if (angle) {
425
- _eye.copy(scope.object.position).sub(scope.target);
426
- eyeDirection.copy(_eye).normalize();
427
- objectUpDirection.copy(scope.object.up).normalize();
428
- objectSidewaysDirection.crossVectors(objectUpDirection, eyeDirection).normalize();
429
- objectUpDirection.setLength(_moveCurr.y - _movePrev.y);
430
- objectSidewaysDirection.setLength(_moveCurr.x - _movePrev.x);
431
- moveDirection.copy(objectUpDirection.add(objectSidewaysDirection));
432
- axis.crossVectors(moveDirection, _eye).normalize();
433
- angle *= scope.rotateSpeed;
434
- quaternion.setFromAxisAngle(axis, angle);
435
- _eye.applyQuaternion(quaternion);
436
- scope.object.up.applyQuaternion(quaternion);
437
- _lastAxis.copy(axis);
438
- _lastAngle = angle;
439
- } else if (!scope.staticMoving && _lastAngle) {
440
- _lastAngle *= Math.sqrt(1 - scope.dynamicDampingFactor);
441
- _eye.copy(scope.object.position).sub(scope.target);
442
- quaternion.setFromAxisAngle(_lastAxis, _lastAngle);
443
- _eye.applyQuaternion(quaternion);
444
- scope.object.up.applyQuaternion(quaternion);
445
- }
446
- _movePrev.copy(_moveCurr);
447
- };
448
- })();
449
- this.zoomCamera = function() {
450
- let factor;
451
- if (_state === STATE.TOUCH_ZOOM_PAN) {
452
- factor = _touchZoomDistanceStart / _touchZoomDistanceEnd;
453
- _touchZoomDistanceStart = _touchZoomDistanceEnd;
454
- if (scope.object.isPerspectiveCamera) {
455
- _eye.multiplyScalar(factor);
456
- } else if (scope.object.isOrthographicCamera) {
457
- scope.object.zoom = MathUtils.clamp(scope.object.zoom / factor, scope.minZoom, scope.maxZoom);
458
- if (lastZoom !== scope.object.zoom) {
459
- scope.object.updateProjectionMatrix();
460
- }
461
- } else {
462
- console.warn("THREE.TrackballControls: Unsupported camera type");
463
- }
464
- } else {
465
- factor = 1 + (_zoomEnd.y - _zoomStart.y) * scope.zoomSpeed;
466
- if (factor !== 1 && factor > 0) {
467
- if (scope.object.isPerspectiveCamera) {
468
- _eye.multiplyScalar(factor);
469
- } else if (scope.object.isOrthographicCamera) {
470
- scope.object.zoom = MathUtils.clamp(scope.object.zoom / factor, scope.minZoom, scope.maxZoom);
471
- if (lastZoom !== scope.object.zoom) {
472
- scope.object.updateProjectionMatrix();
473
- }
474
- } else {
475
- console.warn("THREE.TrackballControls: Unsupported camera type");
476
- }
477
- }
478
- if (scope.staticMoving) {
479
- _zoomStart.copy(_zoomEnd);
480
- } else {
481
- _zoomStart.y += (_zoomEnd.y - _zoomStart.y) * this.dynamicDampingFactor;
482
- }
483
- }
484
- };
485
- this.panCamera = (function() {
486
- const mouseChange = new Vector2(), objectUp = new Vector3(), pan = new Vector3();
487
- return function panCamera() {
488
- mouseChange.copy(_panEnd).sub(_panStart);
489
- if (mouseChange.lengthSq()) {
490
- if (scope.object.isOrthographicCamera) {
491
- const scale_x = (scope.object.right - scope.object.left) / scope.object.zoom / scope.domElement.clientWidth;
492
- const scale_y = (scope.object.top - scope.object.bottom) / scope.object.zoom / scope.domElement.clientWidth;
493
- mouseChange.x *= scale_x;
494
- mouseChange.y *= scale_y;
495
- }
496
- mouseChange.multiplyScalar(_eye.length() * scope.panSpeed);
497
- pan.copy(_eye).cross(scope.object.up).setLength(mouseChange.x);
498
- pan.add(objectUp.copy(scope.object.up).setLength(mouseChange.y));
499
- scope.object.position.add(pan);
500
- scope.target.add(pan);
501
- if (scope.staticMoving) {
502
- _panStart.copy(_panEnd);
503
- } else {
504
- _panStart.add(mouseChange.subVectors(_panEnd, _panStart).multiplyScalar(scope.dynamicDampingFactor));
505
- }
506
- }
507
- };
508
- })();
509
- this.checkDistances = function() {
510
- if (!scope.noZoom || !scope.noPan) {
511
- if (_eye.lengthSq() > scope.maxDistance * scope.maxDistance) {
512
- scope.object.position.addVectors(scope.target, _eye.setLength(scope.maxDistance));
513
- _zoomStart.copy(_zoomEnd);
514
- }
515
- if (_eye.lengthSq() < scope.minDistance * scope.minDistance) {
516
- scope.object.position.addVectors(scope.target, _eye.setLength(scope.minDistance));
517
- _zoomStart.copy(_zoomEnd);
518
- }
519
- }
520
- };
521
- this.update = function() {
522
- _eye.subVectors(scope.object.position, scope.target);
523
- if (!scope.noRotate) {
524
- scope.rotateCamera();
525
- }
526
- if (!scope.noZoom) {
527
- scope.zoomCamera();
528
- }
529
- if (!scope.noPan) {
530
- scope.panCamera();
531
- }
532
- scope.object.position.addVectors(scope.target, _eye);
533
- if (scope.object.isPerspectiveCamera) {
534
- scope.checkDistances();
535
- scope.object.lookAt(scope.target);
536
- if (lastPosition.distanceToSquared(scope.object.position) > EPS) {
537
- scope.dispatchEvent(_changeEvent);
538
- lastPosition.copy(scope.object.position);
539
- }
540
- } else if (scope.object.isOrthographicCamera) {
541
- scope.object.lookAt(scope.target);
542
- if (lastPosition.distanceToSquared(scope.object.position) > EPS || lastZoom !== scope.object.zoom) {
543
- scope.dispatchEvent(_changeEvent);
544
- lastPosition.copy(scope.object.position);
545
- lastZoom = scope.object.zoom;
546
- }
547
- } else {
548
- console.warn("THREE.TrackballControls: Unsupported camera type");
549
- }
550
- };
551
- this.reset = function() {
552
- _state = STATE.NONE;
553
- _keyState = STATE.NONE;
554
- scope.target.copy(scope.target0);
555
- scope.object.position.copy(scope.position0);
556
- scope.object.up.copy(scope.up0);
557
- scope.object.zoom = scope.zoom0;
558
- scope.object.updateProjectionMatrix();
559
- _eye.subVectors(scope.object.position, scope.target);
560
- scope.object.lookAt(scope.target);
561
- scope.dispatchEvent(_changeEvent);
562
- lastPosition.copy(scope.object.position);
563
- lastZoom = scope.object.zoom;
564
- };
565
- function onPointerDown(event) {
566
- if (scope.enabled === false) return;
567
- if (_pointers.length === 0) {
568
- scope.domElement.setPointerCapture(event.pointerId);
569
- scope.domElement.addEventListener("pointermove", onPointerMove);
570
- scope.domElement.addEventListener("pointerup", onPointerUp);
571
- }
572
- addPointer(event);
573
- if (event.pointerType === "touch") {
574
- onTouchStart(event);
575
- } else {
576
- onMouseDown(event);
577
- }
578
- }
579
- function onPointerMove(event) {
580
- if (scope.enabled === false) return;
581
- if (event.pointerType === "touch") {
582
- onTouchMove(event);
583
- } else {
584
- onMouseMove(event);
585
- }
586
- }
587
- function onPointerUp(event) {
588
- if (scope.enabled === false) return;
589
- if (event.pointerType === "touch") {
590
- onTouchEnd(event);
591
- } else {
592
- onMouseUp();
593
- }
594
- removePointer(event);
595
- if (_pointers.length === 0) {
596
- scope.domElement.releasePointerCapture(event.pointerId);
597
- scope.domElement.removeEventListener("pointermove", onPointerMove);
598
- scope.domElement.removeEventListener("pointerup", onPointerUp);
599
- }
600
- }
601
- function onPointerCancel(event) {
602
- removePointer(event);
603
- }
604
- function keydown(event) {
605
- if (scope.enabled === false) return;
606
- window.removeEventListener("keydown", keydown);
607
- if (_keyState !== STATE.NONE) {
608
- return;
609
- } else if (event.code === scope.keys[STATE.ROTATE] && !scope.noRotate) {
610
- _keyState = STATE.ROTATE;
611
- } else if (event.code === scope.keys[STATE.ZOOM] && !scope.noZoom) {
612
- _keyState = STATE.ZOOM;
613
- } else if (event.code === scope.keys[STATE.PAN] && !scope.noPan) {
614
- _keyState = STATE.PAN;
615
- }
616
- }
617
- function keyup() {
618
- if (scope.enabled === false) return;
619
- _keyState = STATE.NONE;
620
- window.addEventListener("keydown", keydown);
621
- }
622
- function onMouseDown(event) {
623
- if (_state === STATE.NONE) {
624
- switch (event.button) {
625
- case scope.mouseButtons.LEFT:
626
- _state = STATE.ROTATE;
627
- break;
628
- case scope.mouseButtons.MIDDLE:
629
- _state = STATE.ZOOM;
630
- break;
631
- case scope.mouseButtons.RIGHT:
632
- _state = STATE.PAN;
633
- break;
634
- }
635
- }
636
- const state = _keyState !== STATE.NONE ? _keyState : _state;
637
- if (state === STATE.ROTATE && !scope.noRotate) {
638
- _moveCurr.copy(getMouseOnCircle(event.pageX, event.pageY));
639
- _movePrev.copy(_moveCurr);
640
- } else if (state === STATE.ZOOM && !scope.noZoom) {
641
- _zoomStart.copy(getMouseOnScreen(event.pageX, event.pageY));
642
- _zoomEnd.copy(_zoomStart);
643
- } else if (state === STATE.PAN && !scope.noPan) {
644
- _panStart.copy(getMouseOnScreen(event.pageX, event.pageY));
645
- _panEnd.copy(_panStart);
646
- }
647
- scope.dispatchEvent(_startEvent);
648
- }
649
- function onMouseMove(event) {
650
- const state = _keyState !== STATE.NONE ? _keyState : _state;
651
- if (state === STATE.ROTATE && !scope.noRotate) {
652
- _movePrev.copy(_moveCurr);
653
- _moveCurr.copy(getMouseOnCircle(event.pageX, event.pageY));
654
- } else if (state === STATE.ZOOM && !scope.noZoom) {
655
- _zoomEnd.copy(getMouseOnScreen(event.pageX, event.pageY));
656
- } else if (state === STATE.PAN && !scope.noPan) {
657
- _panEnd.copy(getMouseOnScreen(event.pageX, event.pageY));
658
- }
659
- }
660
- function onMouseUp() {
661
- _state = STATE.NONE;
662
- scope.dispatchEvent(_endEvent);
663
- }
664
- function onMouseWheel(event) {
665
- if (scope.enabled === false) return;
666
- if (scope.noZoom === true) return;
667
- event.preventDefault();
668
- switch (event.deltaMode) {
669
- case 2:
670
- _zoomStart.y -= event.deltaY * 0.025;
671
- break;
672
- case 1:
673
- _zoomStart.y -= event.deltaY * 0.01;
674
- break;
675
- default:
676
- _zoomStart.y -= event.deltaY * 25e-5;
677
- break;
678
- }
679
- scope.dispatchEvent(_startEvent);
680
- scope.dispatchEvent(_endEvent);
681
- }
682
- function onTouchStart(event) {
683
- trackPointer(event);
684
- switch (_pointers.length) {
685
- case 1:
686
- _state = STATE.TOUCH_ROTATE;
687
- _moveCurr.copy(getMouseOnCircle(_pointers[0].pageX, _pointers[0].pageY));
688
- _movePrev.copy(_moveCurr);
689
- break;
690
- default:
691
- _state = STATE.TOUCH_ZOOM_PAN;
692
- const dx = _pointers[0].pageX - _pointers[1].pageX;
693
- const dy = _pointers[0].pageY - _pointers[1].pageY;
694
- _touchZoomDistanceEnd = _touchZoomDistanceStart = Math.sqrt(dx * dx + dy * dy);
695
- const x = (_pointers[0].pageX + _pointers[1].pageX) / 2;
696
- const y = (_pointers[0].pageY + _pointers[1].pageY) / 2;
697
- _panStart.copy(getMouseOnScreen(x, y));
698
- _panEnd.copy(_panStart);
699
- break;
700
- }
701
- scope.dispatchEvent(_startEvent);
702
- }
703
- function onTouchMove(event) {
704
- trackPointer(event);
705
- switch (_pointers.length) {
706
- case 1:
707
- _movePrev.copy(_moveCurr);
708
- _moveCurr.copy(getMouseOnCircle(event.pageX, event.pageY));
709
- break;
710
- default:
711
- const position = getSecondPointerPosition(event);
712
- const dx = event.pageX - position.x;
713
- const dy = event.pageY - position.y;
714
- _touchZoomDistanceEnd = Math.sqrt(dx * dx + dy * dy);
715
- const x = (event.pageX + position.x) / 2;
716
- const y = (event.pageY + position.y) / 2;
717
- _panEnd.copy(getMouseOnScreen(x, y));
718
- break;
719
- }
720
- }
721
- function onTouchEnd(event) {
722
- switch (_pointers.length) {
723
- case 0:
724
- _state = STATE.NONE;
725
- break;
726
- case 1:
727
- _state = STATE.TOUCH_ROTATE;
728
- _moveCurr.copy(getMouseOnCircle(event.pageX, event.pageY));
729
- _movePrev.copy(_moveCurr);
730
- break;
731
- case 2:
732
- _state = STATE.TOUCH_ZOOM_PAN;
733
- for (let i = 0; i < _pointers.length; i++) {
734
- if (_pointers[i].pointerId !== event.pointerId) {
735
- const position = _pointerPositions[_pointers[i].pointerId];
736
- _moveCurr.copy(getMouseOnCircle(position.x, position.y));
737
- _movePrev.copy(_moveCurr);
738
- break;
739
- }
740
- }
741
- break;
742
- }
743
- scope.dispatchEvent(_endEvent);
744
- }
745
- function contextmenu(event) {
746
- if (scope.enabled === false) return;
747
- event.preventDefault();
748
- }
749
- function addPointer(event) {
750
- _pointers.push(event);
751
- }
752
- function removePointer(event) {
753
- delete _pointerPositions[event.pointerId];
754
- for (let i = 0; i < _pointers.length; i++) {
755
- if (_pointers[i].pointerId == event.pointerId) {
756
- _pointers.splice(i, 1);
757
- return;
758
- }
759
- }
760
- }
761
- function trackPointer(event) {
762
- let position = _pointerPositions[event.pointerId];
763
- if (position === void 0) {
764
- position = new Vector2();
765
- _pointerPositions[event.pointerId] = position;
766
- }
767
- position.set(event.pageX, event.pageY);
768
- }
769
- function getSecondPointerPosition(event) {
770
- const pointer = event.pointerId === _pointers[0].pointerId ? _pointers[1] : _pointers[0];
771
- return _pointerPositions[pointer.pointerId];
772
- }
773
- this.dispose = function() {
774
- scope.domElement.removeEventListener("contextmenu", contextmenu);
775
- scope.domElement.removeEventListener("pointerdown", onPointerDown);
776
- scope.domElement.removeEventListener("pointercancel", onPointerCancel);
777
- scope.domElement.removeEventListener("wheel", onMouseWheel);
778
- scope.domElement.removeEventListener("pointermove", onPointerMove);
779
- scope.domElement.removeEventListener("pointerup", onPointerUp);
780
- window.removeEventListener("keydown", keydown);
781
- window.removeEventListener("keyup", keyup);
782
- };
783
- this.domElement.addEventListener("contextmenu", contextmenu);
784
- this.domElement.addEventListener("pointerdown", onPointerDown);
785
- this.domElement.addEventListener("pointercancel", onPointerCancel);
786
- this.domElement.addEventListener("wheel", onMouseWheel, { passive: false });
787
- window.addEventListener("keydown", keydown);
788
- window.addEventListener("keyup", keyup);
789
- this.handleResize();
790
- this.update();
791
- }
792
- };
793
-
794
- // src/singlecell.js
795
- async function init(arg, holder) {
796
- try {
797
- const obj = await load_json(arg);
798
- validate_obj(obj);
799
- obj.genome = arg.genome;
800
- obj.holder = holder.style("position", "relative");
801
- await init_view(obj);
802
- init_controlpanel(obj);
803
- await pcd_pipeline(obj);
804
- make_legend(arg, obj);
805
- } catch (e) {
806
- sayerror(holder, e.message || e);
807
- }
808
- }
809
- async function load_json(arg) {
810
- if (!arg.jsonfile) throw ".jsonfile missing";
811
- const tmp = await dofetch("textfile", { file: arg.jsonfile });
812
- if (tmp.error) throw tmp.error;
813
- return JSON.parse(tmp.text);
814
- }
815
- function validate_obj(obj) {
816
- if (!obj.cells) throw ".cells{} missing";
817
- if (!obj.cells.file) throw ".cells.file missing";
818
- if (!obj.cells.axis2columnidx) throw ".cells.axis2columnidx missing";
819
- if (obj.cells.categories) {
820
- if (!Array.isArray(obj.cells.categories)) throw ".cells.categories should be an array";
821
- if (obj.cells.categories.length == 0) throw ".cells.categories[] is empty array";
822
- for (const c of obj.cells.categories) {
823
- if (!Number.isInteger(c.columnidx)) throw "columnidx missing from category " + c;
824
- if (c.autocolor) {
825
- c.autocolor = ordinal(schemeCategory20);
826
- }
827
- }
828
- if (!Number.isInteger(obj.use_category_index)) {
829
- obj.use_category_index = 0;
830
- }
831
- if (!obj.cells.categories[obj.use_category_index]) throw "use_category_index out of bound";
832
- if (!obj.cells.categories[obj.use_category_index].hidden_types)
833
- obj.cells.categories[obj.use_category_index].hidden_types = [];
834
- }
835
- if (obj.gene_expression) {
836
- if (!obj.gene_expression.file) throw ".gene_expression.file missing";
837
- if (!Number.isInteger(obj.cells.barcodecolumnidx))
838
- throw ".gene_expression in use but .cells.barcodecolumnidx is missing";
839
- }
840
- if (!obj.width) obj.width = window.innerWidth * 0.9;
841
- if (!obj.height) obj.height = window.innerHeight * 0.9;
842
- }
843
- async function pcd_pipeline(obj) {
844
- if (Number.isInteger(obj.use_category_index)) {
845
- if (!obj.cells.categories[obj.use_category_index].hidden_types)
846
- obj.cells.categories[obj.use_category_index].hidden_types = [];
847
- }
848
- const data = await load_cell_pcd(obj);
849
- obj.data_sphere_r = data.data_sphere_r;
850
- if (!obj.camera.position.z) {
851
- obj.camera.position.z = obj.data_sphere_r * 3;
852
- obj.controls.maxDistance = obj.data_sphere_r * 4;
853
- obj.controls.minDistance = obj.data_sphere_r / 10;
854
- }
855
- const enc = new TextEncoder();
856
- const pcd_buffer = enc.encode(data.pcddata).buffer;
857
- render_cloud(obj, pcd_buffer);
858
- render_controlpanel(obj, data);
859
- animate();
860
- function animate() {
861
- requestAnimationFrame(animate);
862
- obj.controls.update();
863
- obj.renderer.render(obj.scene, obj.camera);
864
- }
865
- }
866
- async function load_cell_pcd(obj) {
867
- const wait = obj.holder.append("div").style("position", "absolute").style("top", 0).style("left", 0).style("padding", "10px").style("font-size", "1.5rem").text("Loading data...");
868
- const arg = {
869
- genome: obj.genome.name,
870
- textfile: obj.cells.file,
871
- delimiter: obj.cells.delimiter || " ",
872
- getpcd: {
873
- coord: obj.cells.axis2columnidx
874
- }
875
- };
876
- if (Number.isInteger(obj.use_category_index)) {
877
- if (!obj.cells.categories) throw "using category index but cells.categories[] missing";
878
- const cat = obj.cells.categories[obj.use_category_index];
879
- if (!cat) throw "category array index out of bound";
880
- arg.getpcd.category_index = cat.columnidx;
881
- if (cat.autocolor) {
882
- arg.getpcd.category_autocolor = true;
883
- if (cat.values_count) arg.getpcd.values_count = cat.values_count;
884
- } else if (cat.values) {
885
- arg.getpcd.category_customcolor = true;
886
- arg.getpcd.cat_values = cat.values;
887
- } else {
888
- if (!cat.autocolor && !cat.values) throw "categories.values[] are not defined";
889
- throw "unknow coloring scheme for category " + cat.name;
890
- }
891
- if (cat.hidden_types) {
892
- arg.hidden_types = cat.hidden_types;
893
- }
894
- if (obj.background_color) {
895
- arg.background_color = obj.background_color;
896
- }
897
- if (!cat.customorder) {
898
- arg.getpcd.category_autoorder = true;
899
- } else if (cat.customorder && cat.values) {
900
- arg.getpcd.category_customorder = true;
901
- arg.getpcd.cat_values = cat.values;
902
- } else {
903
- if (cat.customorder && !cat.values) throw "categories.values[] are not defined";
904
- throw "unknow ordering scheme for category " + cat.name;
905
- }
906
- obj.menu_button.html(cat.name + "&nbsp;&nbsp;&#9660;");
907
- } else if (Number.isInteger(obj.use_gene_index)) {
908
- const gene = obj.gene_expression.genes[obj.use_gene_index];
909
- obj.menu_button.html("Gene : " + gene.gene + "&nbsp;&nbsp;&#9660;");
910
- arg.getpcd.gene_expression = {
911
- file: obj.gene_expression.file,
912
- barcodecolumnidx: obj.cells.barcodecolumnidx,
913
- chr: gene.chr,
914
- start: gene.start,
915
- stop: gene.stop,
916
- autoscale: true,
917
- genename: gene.gene,
918
- color_min: obj.gene_expression.color_min,
919
- color_max: obj.gene_expression.color_max
920
- };
921
- if (obj.gene_expression.color_no_exp) arg.getpcd.gene_expression.color_no_exp = obj.gene_expression.color_no_exp;
922
- } else {
923
- throw "unknown method to color the cells";
924
- }
925
- return dofetch("singlecell", arg).then((data) => {
926
- if (data.error) throw data.error;
927
- wait.remove();
928
- return data;
929
- });
930
- }
931
- async function init_view(obj) {
932
- if (isWebGLAvailable() === false) {
933
- obj.holder.node().appendChild(getWebGLErrorMessage());
934
- return;
935
- }
936
- obj.scene = new Scene();
937
- if (obj.background_color) {
938
- obj.scene.background = new Color(obj.background_color);
939
- } else {
940
- obj.scene.background = new Color(16777215);
941
- }
942
- const default_zoom = obj.default_zoom ? 100 - obj.default_zoom : 45;
943
- obj.camera = new PerspectiveCamera(default_zoom, obj.width / obj.height, 0.1, 1e3);
944
- obj.camera.position.x = obj.canvas_2d ? 0 : 20;
945
- obj.camera.position.y = obj.canvas_2d ? 0 : -10;
946
- if (obj.canvas_2d) {
947
- obj.camera.up.set(0, 1, 0);
948
- } else {
949
- obj.camera.up.set(0, 0, 1);
950
- }
951
- obj.renderer = new WebGLRenderer({ antialias: true, preserveDrawingBuffer: true });
952
- obj.renderer.setPixelRatio(window.devicePixelRatio);
953
- obj.renderer.setSize(obj.width, obj.height);
954
- obj.renderer.domElement.style.backgroundColor = "#ffffff";
955
- obj.renderer.domElement.style.border = "solid #dddddd 2px";
956
- obj.renderer.outputColorSpace = LinearSRGBColorSpace;
957
- obj.renderer.toneMapping = NoToneMapping;
958
- obj.holder.style("display", "inline-block").style("position", "relative").node().appendChild(obj.renderer.domElement);
959
- obj.controls = new TrackballControls(obj.camera, obj.renderer.domElement);
960
- obj.controls.rotateSpeed = obj.canvas_2d ? 0 : 2;
961
- obj.controls.zoomSpeed = obj.canvas_2d ? 3 : 0.7;
962
- obj.controls.panSpeed = obj.canvas_2d ? 3 : 0.7;
963
- obj.controls.noZoom = true;
964
- obj.controls.noPan = false;
965
- obj.controls.staticMoving = true;
966
- obj.controls.dynamicDampingFactor = 0.3;
967
- obj.scene.add(obj.camera);
968
- obj.renderer.render(obj.scene, obj.camera);
969
- obj.controls.update();
970
- }
971
- function render_cloud(obj, pcd_buffer) {
972
- obj.scene.children.forEach(function(v, i) {
973
- if (v.material) {
974
- v.material.dispose();
975
- v.geometry.dispose();
976
- obj.scene.remove(v);
977
- }
978
- });
979
- const loader = new PCDLoader();
980
- const points = loader.parse(pcd_buffer, "");
981
- const newMat = new PointsMaterial({
982
- size: points.material.size,
983
- vertexColors: true,
984
- color: 16777215
985
- });
986
- points.material = newMat;
987
- points.material.vertexColors = true;
988
- points.material.color.set(16777215);
989
- points.material.needsUpdate = true;
990
- if (obj.point_size) {
991
- points.material.size = obj.point_size;
992
- } else {
993
- points.material.size = obj.canvas_2d ? 0.3 : 0.05;
994
- }
995
- obj.scene.add(points);
996
- obj.center = points.geometry.boundingSphere.center;
997
- obj.controls.target.set(obj.center.x, obj.center.y, obj.center.z);
998
- obj.controls.update();
999
- }
1000
- function init_controlpanel(obj) {
1001
- obj.menu = new Menu();
1002
- obj.menu.d.style("padding", "3px");
1003
- obj.settings = new Menu();
1004
- obj.settings.d.style("padding", "3px");
1005
- const panel = obj.holder.append("div").style("padding", "10px").style("position", "absolute").style("border-radius", "5px").style("top", "20px").style("right", "20px").style("background-color", "#dddddd");
1006
- obj.menu_button = panel.append("button").style("display", "inline-block").style("padding", "4px").on("click", () => make_menu(obj));
1007
- const minimize_btn = obj.minimize_btn = panel.append("div").style("margin-left", "10px").style("display", "inline-block").style("padding-left", "0px").style("padding-right", "2px").style("float", "right").style("font-size", ".6em").classed("active", obj.menu_minimized ? true : false).text(obj.menu_minimized ? " SHOW" : " HIDE").on("click", () => {
1008
- obj.minimize_btn.classed("active", obj.minimize_btn.classed("active") ? false : true);
1009
- if (obj.minimize_btn.classed("active")) {
1010
- obj.minimize_btn.text(" SHOW");
1011
- obj.menu_output.style("display", "none");
1012
- } else {
1013
- obj.minimize_btn.text(" HIDE");
1014
- obj.menu_output.style("display", "block");
1015
- }
1016
- }).on("mouseover", () => {
1017
- minimize_btn.style("text-decoration", "underline");
1018
- }).on("mouseout", () => {
1019
- minimize_btn.style("text-decoration", "none");
1020
- });
1021
- obj.use_background_color = 0;
1022
- const config_btn = obj.settings_btn = panel.append("div").style("margin-left", "10px").style("display", "inline-block").style("padding-left", "3px").style("padding-right", "3px").style("float", "right").style("font-size", ".6em").text("CONFIG").on("click", () => make_settings(obj)).on("mouseover", () => {
1023
- config_btn.style("text-decoration", "underline");
1024
- }).on("mouseout", () => {
1025
- config_btn.style("text-decoration", "none");
1026
- });
1027
- obj.menu_output = panel.append("div").style("margin-top", "10px").style("display", obj.menu_minimized ? "none" : "block");
1028
- obj.show_zoom = true;
1029
- }
1030
- function render_controlpanel(obj, data) {
1031
- obj.menu_output.selectAll("*").remove();
1032
- if (data.category2color) {
1033
- const top_row = obj.menu_output.append("div").style("margin", "2px");
1034
- const select_all_checkbox = top_row.append("input").attr("type", "checkbox").style("margin-right", "10px").style("vertical-align", "top").style("display", "inline-block").on("change", () => {
1035
- if (select_all_checkbox.node().checked) {
1036
- obj.cells.categories[obj.use_category_index].hidden_types = [];
1037
- pcd_pipeline(obj);
1038
- } else {
1039
- for (const type in data.category2color) {
1040
- obj.cells.categories[obj.use_category_index].hidden_types.push(type);
1041
- }
1042
- pcd_pipeline(obj);
1043
- }
1044
- });
1045
- if (obj.cells.categories[obj.use_category_index].hidden_types.length == 0) {
1046
- select_all_checkbox.property("checked", 1);
1047
- }
1048
- top_row.append("span").text("Select All").style("font-size", ".8em").attr("font-family", font);
1049
- for (const type in data.category2color) {
1050
- const row = obj.menu_output.append("div").style("margin", "2px");
1051
- const checkbox = row.append("input").attr("type", "checkbox").property("checked", 1).style("margin-right", "10px").style("vertical-align", "top").style("display", "inline-block").on("change", () => {
1052
- if (obj.cells.categories[obj.use_category_index].hidden_types.includes(type)) {
1053
- const index = obj.cells.categories[obj.use_category_index].hidden_types.indexOf(type);
1054
- if (index !== -1) obj.cells.categories[obj.use_category_index].hidden_types.splice(index, 1);
1055
- checkbox.property("checked", 1);
1056
- } else {
1057
- obj.cells.categories[obj.use_category_index].hidden_types.push(type);
1058
- }
1059
- pcd_pipeline(obj);
1060
- });
1061
- if (obj.cells.categories[obj.use_category_index].hidden_types.includes(type)) {
1062
- checkbox.property("checked", 0);
1063
- }
1064
- row.append("div").style("display", "inline-block").style("height", "15px").style("width", "15px").style("background-color", data.category2color[type]).style("margin-right", "10px");
1065
- row.append("span").text(type).attr("font-family", font);
1066
- row.append("span").html("&nbsp;n=" + data.categorycount[type]).attr("font-family", font).style("font-size", ".8em").style("float", "right").style("color", "#777");
1067
- }
1068
- } else if (data.maxexpvalue) {
1069
- const scale_height = 30;
1070
- const scale_width = 150;
1071
- const scale_div = obj.menu_output.append("div").style("margin", "10px").style("width", "120px").style("height", "100px");
1072
- scale_div.append("div").text("Gene Expression " + obj.gene_expression.datatype).style("text-align", "center").style("width", "150px").style("margin-bottom", "20px");
1073
- const svg = scale_div.append("svg").append("g");
1074
- const colorRange = [obj.gene_expression.color_max, obj.gene_expression.color_min];
1075
- const colorScale = linear().range(colorRange).domain([data.minexpvalue, data.maxexpvalue]);
1076
- const defs = svg.append("defs");
1077
- const linearGradient = defs.append("linearGradient").attr("id", "linear-gradient");
1078
- linearGradient.append("stop").attr("offset", "0%").attr("stop-color", colorScale(data.maxexpvalue));
1079
- linearGradient.append("stop").attr("offset", "100%").attr("stop-color", colorScale(data.minexpvalue));
1080
- svg.append("rect").attr("x", 0).attr("y", 0).attr("width", scale_width).attr("height", scale_height).attr("transform", "translate(12, 0)").style("fill", "url(#linear-gradient)");
1081
- const y = linear().range([0, scale_width]).domain([data.minexpvalue, data.maxexpvalue]);
1082
- const legendAxis = axisBottom().scale(y).ticks(5);
1083
- svg.append("g").attr("class", "legend axis").attr("transform", "translate(12," + scale_height + ")").call(legendAxis);
1084
- const stats_div = obj.menu_output.append("div").style("padding-bottom", "20px").style("text-align", "center");
1085
- stats_div.append("p").style("font-size", "13px").style("margin", "2px 0").html("<b>Cells with Expression Data</b> ");
1086
- stats_div.append("p").style("font-size", "13px").style("margin", "2px 0").html(data.numbercellwithgeneexp + " / " + data.numbercelltotal);
1087
- const no_exp_div = stats_div.append("div").style("display", "block").style("margin-top", "10px");
1088
- no_exp_div.append("div").style("display", "inline-block").style("height", "15px").style("width", "15px").style("background-color", obj.gene_expression.color_no_exp ? obj.gene_expression.color_no_exp : "#2C2C2C").style("margin-right", "10px");
1089
- no_exp_div.append("div").style("display", "inline-block").style("font-size", "13px").html(" Cells without Expression");
1090
- const boxplot_div = obj.menu_output.append("div");
1091
- boxplot_div.append("div").style("display", "block").style("padding", "5px").html("Violinplot / Boxplot of </br> Expression by");
1092
- const boxplot_cat_select = boxplot_div.append("select").style("display", "block");
1093
- boxplot_cat_select.append("option").attr("value", "none").text("-- Select--");
1094
- if (obj.cells.categories) {
1095
- obj.cells.categories.forEach((category, i) => {
1096
- boxplot_cat_select.append("option").attr("value", category.columnidx).text(category.name);
1097
- });
1098
- }
1099
- boxplot_cat_select.on("change", () => {
1100
- const gene = obj.gene_expression.genes[obj.use_gene_index];
1101
- const cat = obj.cells.categories[parseInt(boxplot_cat_select.node().selectedIndex) - 1];
1102
- const arg = {
1103
- genome: obj.genome.name,
1104
- getgeneboxplot: {
1105
- expfile: obj.gene_expression.file,
1106
- chr: gene.chr,
1107
- start: gene.start,
1108
- stop: gene.stop,
1109
- genename: gene.gene,
1110
- cellfile: obj.cells.file,
1111
- barcodecolumnidx: obj.cells.barcodecolumnidx,
1112
- categorycolumnidx: parseInt(boxplot_cat_select.node().value),
1113
- delimiter: obj.cells.delimiter || " ",
1114
- category_customorder: cat.customorder && cat.values ? true : false,
1115
- category_autoorder: !cat.customorder ? true : false,
1116
- cat_values: cat.values,
1117
- values_count: cat.values_count
1118
- }
1119
- };
1120
- dofetch("singlecell", arg).then((data2) => {
1121
- if (data2.error) throw data2.error;
1122
- obj.box_plot = new Menu();
1123
- make_plot(data2, obj, boxplot_cat_select.node().value);
1124
- });
1125
- });
1126
- }
1127
- make_zoom_panel(obj);
1128
- }
1129
- function make_zoom_panel(obj) {
1130
- if (obj.show_zoom) {
1131
- const zoom_div = obj.menu_output.append("div").style("display", "block").text("Zoom").style("margin", "10px 5px 5px 5px").style("padding-top", "10px").style("border-top", "1px solid #929292");
1132
- const zoom_hide_btn = zoom_div.append("div").style("margin-left", "10px").style("display", "inline-block").style("padding-left", "0px").style("padding-right", "2px").style("float", "right").style("font-size", ".6em").text("MOVE TO CONFIG").on("click", () => {
1133
- zoom_div.node().remove();
1134
- obj.show_zoom = false;
1135
- }).on("mouseover", () => {
1136
- zoom_hide_btn.style("text-decoration", "underline");
1137
- }).on("mouseout", () => {
1138
- zoom_hide_btn.style("text-decoration", "none");
1139
- });
1140
- obj.zoom_slider = zoom_div.append("input").style("display", "block").style("padding", "5px").attr("type", "range").attr("min", 1).attr("max", 100).attr("value", obj.camera.fov).style("direction", "rtl").on("change", () => {
1141
- obj.camera.fov = parseInt(obj.zoom_slider.node().value);
1142
- obj.camera.updateProjectionMatrix();
1143
- }).on("mousedown", (event) => {
1144
- event.stopPropagation();
1145
- });
1146
- }
1147
- }
1148
- function make_menu(obj) {
1149
- obj.menu.clear().showunder(obj.menu_button.node());
1150
- if (obj.cells.categories) {
1151
- obj.cells.categories.forEach((category, i) => {
1152
- if (i != obj.use_category_index) {
1153
- obj.menu.d.append("div").text(category.name).attr("class", "sja_menuoption").on("click", async () => {
1154
- obj.menu.hide();
1155
- obj.use_category_index = i;
1156
- pcd_pipeline(obj);
1157
- }).append("span").attr("font-family", font).style("display", category.values_count ? "inline-block" : "none").style("font-size", ".8em").style("float", "right").style("color", "#777").style("padding", "3px 5px").html(category.values_count ? "&nbsp;n=" + category.values_count : "");
1158
- }
1159
- });
1160
- }
1161
- if (obj.gene_expression) {
1162
- obj.menu.d.append("div").text("Gene expression").attr("class", "sja_menuoption").on("click", () => {
1163
- obj.menu.clear();
1164
- const gene_search_div = obj.menu.d.append("div").style("padding", "10px");
1165
- gene_searchbox({
1166
- div: gene_search_div.append("div"),
1167
- resultdiv: gene_search_div.append("div"),
1168
- genome: obj.genome.name,
1169
- callback: async (genename) => {
1170
- const gmlst = await findgenemodel_bysymbol(obj.genome.name, genename);
1171
- if (gmlst && gmlst[0]) {
1172
- const gm = gmlst[0];
1173
- if (!obj.gene_expression.genes) obj.gene_expression.genes = [];
1174
- const geneidx = obj.gene_expression.genes.findIndex((i) => i.gene == genename);
1175
- if (geneidx == -1) {
1176
- obj.gene_expression.genes.push({
1177
- gene: genename,
1178
- chr: gm.chr,
1179
- start: gm.start,
1180
- stop: gm.stop
1181
- });
1182
- obj.use_gene_index = obj.gene_expression.genes.length - 1;
1183
- } else {
1184
- obj.use_gene_index = geneidx;
1185
- }
1186
- }
1187
- obj.use_category_index = null;
1188
- obj.menu.hide();
1189
- pcd_pipeline(obj);
1190
- }
1191
- });
1192
- });
1193
- obj.menu.d.append("div").text("Multi-Gene Heatmap").attr("class", "sja_menuoption").on("click", () => {
1194
- heatmap_menu(obj);
1195
- });
1196
- if (obj.gene_expression.genes) {
1197
- if (obj.gene_expression.genes.length > 1) {
1198
- obj.menu.d.append("div").style("padding", "5px 10px").text("Previously Selected");
1199
- }
1200
- obj.gene_expression.genes.forEach((gene, i) => {
1201
- if (i != obj.use_gene_index) {
1202
- obj.menu.d.append("div").text("Gene : " + gene.gene).attr("class", "sja_menuoption").on("click", async () => {
1203
- obj.menu.hide();
1204
- obj.use_category_index = null;
1205
- obj.use_gene_index = i;
1206
- pcd_pipeline(obj);
1207
- });
1208
- }
1209
- });
1210
- }
1211
- }
1212
- }
1213
- function make_settings(obj) {
1214
- obj.settings.clear().showunder(obj.settings_btn.node());
1215
- const back_color_div = obj.settings.d.append("div").style("display", "block").text("Background Color").style("margin", "5px");
1216
- const black_div = back_color_div.append("div").style("margin", "5px").style("display", "block");
1217
- const name = Math.random(), idblack = Math.random(), idwhite = Math.random();
1218
- const inputblack = black_div.append("input").attr("type", "radio").style("display", "inline-block").attr("name", name).attr("id", idblack).on("change", toggle_background);
1219
- black_div.append("label").style("display", "inline-block").style("font-size", ".8em").text("Black").style("padding-left", "10px").attr("for", idblack);
1220
- const white_div = back_color_div.append("div").style("margin", "5px").style("display", "block");
1221
- const inputwhite = white_div.append("input").attr("type", "radio").style("display", "inline-block").attr("name", name).attr("id", idwhite).on("change", toggle_background);
1222
- white_div.append("label").style("display", "inline-block").style("font-size", ".8em").text("White").style("padding-left", "10px").attr("for", idwhite);
1223
- if (obj.use_background_color == 0) {
1224
- inputwhite.property("checked", 1);
1225
- } else {
1226
- inputblack.property("checked", 1);
1227
- }
1228
- function toggle_background() {
1229
- const isblack = obj.background_color == "black";
1230
- obj.scene.background = new Color(isblack ? 16777215 : 0);
1231
- obj.use_background_color = isblack ? 0 : 1;
1232
- obj.background_color = isblack ? "white" : "black";
1233
- }
1234
- const point_size_div = obj.settings.d.append("div").style("display", "block").text("Point Size").style("margin", "20px 5px");
1235
- const point_size_slider = point_size_div.append("input").style("display", "block").style("padding", "5px").attr("type", "range").attr("min", 1).attr("max", 70).attr("value", obj.scene.children[1].material.size * 100).on("change", () => {
1236
- obj.scene.children[1].material.size = point_size_slider.node().value / 100;
1237
- });
1238
- if (obj.show_zoom == false) {
1239
- const zoom_div = obj.settings.d.append("div").style("display", "block").text("Zoom").style("margin", "20px 5px");
1240
- const zoom_hide_btn = zoom_div.append("div").style("margin-left", "10px").style("display", "inline-block").style("padding-left", "0px").style("padding-right", "2px").style("float", "right").style("font-size", ".6em").html("MOVE TO </br>LEGEND PANEL").on("click", () => {
1241
- zoom_div.node().remove();
1242
- obj.show_zoom = true;
1243
- make_zoom_panel(obj);
1244
- }).on("mouseover", () => {
1245
- zoom_hide_btn.style("text-decoration", "underline");
1246
- }).on("mouseout", () => {
1247
- zoom_hide_btn.style("text-decoration", "none");
1248
- });
1249
- obj.zoom_slider = zoom_div.append("input").style("display", "block").style("padding", "5px").attr("type", "range").attr("min", 5).attr("max", 70).attr("value", obj.camera.fov).style("direction", "rtl").on("change", () => {
1250
- obj.camera.fov = parseInt(obj.zoom_slider.node().value);
1251
- obj.camera.updateProjectionMatrix();
1252
- });
1253
- }
1254
- obj.settings.d.append("div").style("margin", "5px").text("Panning");
1255
- obj.settings.d.append("div").style("font-size", ".8em").style("text-align", "center").style("margin-bottom", "10px").html('<p style="margin:3px;">Right mouse click </br>+ Mouse move</p>');
1256
- if (!obj.canvas_2d) {
1257
- obj.settings.d.append("div").style("margin", "5px").text("Rotate");
1258
- obj.settings.d.append("div").style("font-size", ".8em").style("text-align", "center").style("margin-bottom", "10px").html('<p style="margin:3px;">Left mouse click </br>+ Mouse move</p>');
1259
- }
1260
- obj.settings.d.append("div").attr("class", "sja_menuoption").text("Reset view").style("width", "80px").style("margin", "auto").style("margin-top", "15px").style("margin-bottom", "15px").on("click", () => {
1261
- inputwhite.property("checked", 1);
1262
- obj.scene.background = new Color(obj.background_color ? obj.background_color : 16777215);
1263
- point_size_slider.node().value = obj.point_size ? obj.point_size * 100 : obj.canvas_2d ? 30 : 5;
1264
- obj.scene.children[1].material.size = obj.point_size ? obj.point_size : obj.canvas_2d ? 0.3 : 0.05;
1265
- obj.camera.position.z = obj.data_sphere_r * 3;
1266
- obj.camera.position.x = obj.canvas_2d ? 0 : 20;
1267
- obj.camera.position.y = obj.canvas_2d ? 0 : -10;
1268
- const cam_fov_default = 45;
1269
- obj.camera.fov = parseInt(cam_fov_default);
1270
- obj.camera.updateProjectionMatrix();
1271
- obj.zoom_slider.node().value = cam_fov_default;
1272
- if (obj.canvas_2d) {
1273
- obj.camera.up.set(0, 1, 0);
1274
- } else {
1275
- obj.camera.up.set(0, 0, 1);
1276
- }
1277
- obj.controls.target.set(obj.center.x, obj.center.y, obj.center.z);
1278
- });
1279
- const screenshot_btn = obj.settings.d.append("div").attr("class", "sja_menuoption").style("padding", "5px").style("width", "80px").style("margin", "auto").style("margin-top", "15px").style("margin-bottom", "15px").html("<b>&#10697;</b> Capture").on("mousedown", () => {
1280
- const imgData = obj.renderer.domElement.toDataURL();
1281
- let imgNode = document.createElement("img");
1282
- imgNode.src = imgData;
1283
- screenshot_btn.append("span").style("display", "none").html(
1284
- '<a download="scRNA_' + (/* @__PURE__ */ new Date()).toLocaleString() + '.png" href="' + imgNode.src + '" title="ImageName">Camera</a>'
1285
- );
1286
- }).on("mouseup", () => {
1287
- screenshot_btn.select("a").node().click();
1288
- screenshot_btn.selectAll("span").remove();
1289
- });
1290
- }
1291
- function heatmap_menu(obj) {
1292
- obj.menu.clear();
1293
- obj.gene_expression.heatmap_genes = [];
1294
- obj.use_heatmap_category_index = null;
1295
- const heatmap_menu_div = obj.menu.d.append("div").style("display", "block").style("padding", "10px");
1296
- const genes_div = heatmap_menu_div.append("div").style("display", "block");
1297
- const gene_search_div = genes_div.append("div").style("display", "inline-block").style("vertical-align", "top").style("padding", "10px");
1298
- gene_search_div.append("div").style("display", "block").style("padding-bottom", "5px").text("Add Genes");
1299
- gene_search_div.append("textarea").attr("rows", "4").attr("cols", "20").attr("placeholder", "Type gene names seperated by space");
1300
- const catagory_div = heatmap_menu_div.append("div");
1301
- catagory_div.append("div").style("display", "block").style("padding-bottom", "5px").style("padding-left", "10px").text("Heatmap by");
1302
- const cat_select = catagory_div.append("select").style("display", "block").style("margin-left", "10px");
1303
- cat_select.append("option").attr("value", "none").text("-- Select--");
1304
- if (obj.cells.categories) {
1305
- obj.cells.categories.forEach((category, i) => {
1306
- cat_select.append("option").attr("value", category.columnidx).text(category.name);
1307
- });
1308
- }
1309
- cat_select.on("change", () => {
1310
- obj.use_heatmap_category_index = parseInt(cat_select.node().value);
1311
- });
1312
- heatmap_menu_div.append("button").text("Heatmap").style("display", "block").style("float", "right").style("margin", "5px").on("click", async () => {
1313
- const input_genelist = gene_search_div.select("textarea").node().value;
1314
- const genelist = input_genelist.split(" ");
1315
- for (const gene of genelist) {
1316
- const gmlst = await findgenemodel_bysymbol(obj.genome.name, gene);
1317
- if (gmlst && gmlst[0]) {
1318
- const gm = gmlst[0];
1319
- if (!obj.gene_expression.heatmap_genes) obj.gene_expression.heatmap_genes = [];
1320
- const geneidx = obj.gene_expression.heatmap_genes.findIndex((i) => i.gene == gene);
1321
- if (geneidx == -1) {
1322
- obj.gene_expression.heatmap_genes.push({
1323
- gene,
1324
- chr: gm.chr,
1325
- start: gm.start,
1326
- stop: gm.stop
1327
- });
1328
- }
1329
- }
1330
- }
1331
- const arg = {
1332
- genome: obj.genome.name,
1333
- getheatmap: {
1334
- expfile: obj.gene_expression.file,
1335
- gene_list: obj.gene_expression.heatmap_genes,
1336
- cellfile: obj.cells.file,
1337
- barcodecolumnidx: obj.cells.barcodecolumnidx,
1338
- categorycolumnidx: parseInt(cat_select.node().value),
1339
- delimiter: obj.cells.delimiter || " "
1340
- }
1341
- };
1342
- dofetch("singlecell", arg).then((data) => {
1343
- if (data.error) throw data.error;
1344
- obj.menu.hide();
1345
- make_heatmap(data, obj, cat_select.node().value);
1346
- });
1347
- });
1348
- }
1349
- function make_plot(data, obj, colidx) {
1350
- const gene = obj.gene_expression.genes[obj.use_gene_index];
1351
- const pane = newpane({ x: 600, y: 400 });
1352
- const cat = obj.cells.categories.find((x) => x.columnidx == colidx);
1353
- pane.header.text("Violinplot/Boxplot for " + gene.gene + " Expression by " + cat.name);
1354
- const control_panel = pane.pane.append("div").style("margin", "10px 10px 10px 15px");
1355
- const svg = pane.pane.append("svg").style("margin", "10px");
1356
- const plot_select = control_panel.append("select").style("display", "inline-block");
1357
- plot_select.append("option").attr("value", "violin").text("Violin Plot");
1358
- plot_select.append("option").attr("value", "box").text("Box Plot");
1359
- plot_select.on("change", () => {
1360
- apply();
1361
- });
1362
- const cell_select_div = control_panel.append("div").style("display", "inline-block").style("padding-left", "15px").text("Cells without expression");
1363
- const cell_select = cell_select_div.append("select").style("display", "inline-block").style("margin-left", "5px");
1364
- cell_select.append("option").attr("value", "include").text("Include");
1365
- cell_select.append("option").attr("value", "exclude").text("Exclude");
1366
- cell_select.on("change", () => {
1367
- apply();
1368
- });
1369
- make_violin_plot(data, svg);
1370
- function apply() {
1371
- const gene2 = obj.gene_expression.genes[obj.use_gene_index];
1372
- const arg = {
1373
- genome: obj.genome.name,
1374
- getgeneboxplot: {
1375
- expfile: obj.gene_expression.file,
1376
- chr: gene2.chr,
1377
- start: gene2.start,
1378
- stop: gene2.stop,
1379
- genename: gene2.gene,
1380
- cellfile: obj.cells.file,
1381
- barcodecolumnidx: obj.cells.barcodecolumnidx,
1382
- categorycolumnidx: parseInt(colidx),
1383
- delimiter: obj.cells.delimiter || " ",
1384
- category_customorder: cat.customorder && cat.values ? true : false,
1385
- category_autoorder: !cat.customorder ? true : false,
1386
- cat_values: cat.values,
1387
- values_count: cat.values_count
1388
- }
1389
- };
1390
- if (cell_select.node().value == "exclude") {
1391
- arg.getgeneboxplot.exclude_cells = true;
1392
- }
1393
- dofetch("singlecell", arg).then((data2) => {
1394
- if (data2.error) throw data2.error;
1395
- if (plot_select.node().value == "box") make_box_plot(data2, svg);
1396
- else if (plot_select.node().value == "violin") make_violin_plot(data2, svg);
1397
- });
1398
- }
1399
- }
1400
- function make_violin_plot(data, svg) {
1401
- svg.selectAll("*").remove();
1402
- let box_height = 50, box_width = 200, barspace = 2, axis_height = 30;
1403
- const label_width = get_max_labelwidth(data.boxplots, svg);
1404
- const x_scale = linear().range([0, box_width]).domain([data.minexpvalue, data.maxexpvalue]);
1405
- const y_scale = linear().range([box_height, 0]).domain([0, 1]);
1406
- const svg_height = data.boxplots.length * (box_height + barspace) + axis_height;
1407
- const svg_width = box_width + label_width + 20;
1408
- svg.transition().attr("width", svg_width).attr("height", svg_height);
1409
- if (data.boxplots) {
1410
- data.boxplots.forEach((boxplot, i) => {
1411
- const g = svg.append("g").attr("transform", "translate(" + label_width + "," + (i * (box_height + barspace) + axis_height) + ")");
1412
- const xlabel = g.append("text").text(boxplot.category + " (" + boxplot.numberofcells + ")").attr("transform", "translate(-4," + box_height / 2 + ")").attr("text-anchor", "end").attr("font-size", 15).attr("font-family", font).attr("dominant-baseline", "central");
1413
- if (boxplot.density) {
1414
- const density_max = Math.max(...boxplot.density);
1415
- const line = line_default().x(function(d, j) {
1416
- return x_scale(j * data.maxexpvalue / boxplot.density.length);
1417
- }).y(function(d) {
1418
- return y_scale(d / density_max) / 2;
1419
- }).curve(monotoneX);
1420
- const area = area_default().x(function(d, j) {
1421
- return x_scale(j * data.maxexpvalue / boxplot.density.length);
1422
- }).y0(function(d) {
1423
- const temp = y_scale(d / density_max) / 2;
1424
- return box_height - temp;
1425
- }).y1(function(d) {
1426
- return y_scale(d / density_max) / 2;
1427
- }).curve(monotoneX);
1428
- g.append("path").datum(boxplot.density).attr("class", "area").attr("d", area).style("fill", boxplot.color).style("stroke", "black").style("stroke-width", 0.5);
1429
- }
1430
- });
1431
- const legendAxis = axisTop().scale(x_scale).ticks(5);
1432
- svg.append("g").attr("class", "legend axis").attr("transform", "translate(" + label_width + "," + (axis_height - 10) + ")").call(legendAxis);
1433
- }
1434
- }
1435
- function make_box_plot(data, svg) {
1436
- svg.selectAll("*").remove();
1437
- let box_height = 36, box_width = 200, barspace = 16, axis_height = 30;
1438
- const label_width = get_max_labelwidth(data.boxplots, svg);
1439
- const x_scale = linear().range([0, box_width]).domain([data.minexpvalue, data.maxexpvalue]);
1440
- const y_scale = linear().range([box_height, 0]).domain([0, 1]);
1441
- const svg_height = data.boxplots.length * (box_height + barspace) + axis_height;
1442
- const svg_width = box_width + label_width + 20;
1443
- svg.transition().attr("width", svg_width).attr("height", svg_height);
1444
- if (data.boxplots) {
1445
- data.boxplots.forEach((boxplot, i) => {
1446
- const g = svg.append("g").attr("transform", "translate(" + label_width + "," + (i * (box_height + barspace) + axis_height) + ")");
1447
- const xlabel = g.append("text").text(boxplot.category + " (" + boxplot.numberofcells + ")").attr("transform", "translate(-4," + box_height / 2 + ")").attr("text-anchor", "end").attr("font-size", 15).attr("font-family", font).attr("dominant-baseline", "central");
1448
- if (boxplot.p75) {
1449
- g.append("line").attr("x1", x_scale(boxplot.w1)).attr("y1", box_height / 2).attr("x2", x_scale(boxplot.w2)).attr("y2", box_height / 2).attr("stroke-width", 2).attr("stroke", "black");
1450
- g.append("rect").attr("x", x_scale(boxplot.p25)).attr("y", 0).attr("width", x_scale(boxplot.p75 - boxplot.p25)).attr("height", box_height).attr("fill", boxplot.color);
1451
- g.append("line").attr("x1", x_scale(boxplot.w1)).attr("y1", 0).attr("x2", x_scale(boxplot.w1)).attr("y2", box_height).attr("stroke-width", 2).attr("stroke", "black");
1452
- g.append("line").attr("x1", x_scale(boxplot.p50)).attr("y1", 0).attr("x2", x_scale(boxplot.p50)).attr("y2", box_height).attr("stroke-width", 2).attr("stroke", "white");
1453
- g.append("line").attr("x1", x_scale(boxplot.w2)).attr("y1", 0).attr("x2", x_scale(boxplot.w2)).attr("y2", box_height).attr("stroke-width", 2).attr("stroke", "black");
1454
- if (boxplot.out) {
1455
- for (const outlier of boxplot.out) {
1456
- g.append("circle").attr("cx", x_scale(outlier.value)).attr("cy", box_height / 2).attr("r", 2).attr("fill", "#901739");
1457
- }
1458
- }
1459
- }
1460
- });
1461
- const legendAxis = axisTop().scale(x_scale).ticks(5);
1462
- svg.append("g").attr("class", "legend axis").attr("transform", "translate(" + label_width + "," + (axis_height - 10) + ")").call(legendAxis);
1463
- }
1464
- }
1465
- function make_heatmap(data, obj, colidx) {
1466
- const pane = newpane({ x: 600, y: 400 });
1467
- const cat = obj.cells.categories.find((x) => x.columnidx == colidx);
1468
- pane.header.text("Heatmap for Gene Expression by " + cat.name);
1469
- const svg = pane.pane.append("svg").style("margin", "10px");
1470
- let gene_list = [];
1471
- for (const gene of data.gene_heatmap) gene_list.push(gene.genename);
1472
- let means = [];
1473
- data.gene_heatmap.forEach((gene, i) => {
1474
- data.gene_heatmap[i].heatmap.forEach((category) => {
1475
- means.push(category.mean);
1476
- });
1477
- });
1478
- const max_mean = Math.max(...means);
1479
- let categories = [];
1480
- for (const category of data.gene_heatmap[0].heatmap)
1481
- categories.push(category.category + " (" + category.numberofcells + ")");
1482
- let box_height = 20, box_width = 80, barspace = 2, gene_lable_height = 30, legend_width = 60;
1483
- const label_width = get_max_labelwidth(data.gene_heatmap[0].heatmap, svg);
1484
- const svg_height = (box_height + barspace) * categories.length + gene_lable_height;
1485
- const svg_width = (box_width + barspace) * gene_list.length + label_width + legend_width + 20;
1486
- svg.transition().attr("width", svg_width).attr("height", svg_height);
1487
- const x_scale = band().range([0, (box_width + barspace) * gene_list.length]).domain(gene_list).padding(0.05);
1488
- svg.append("g").style("font-size", 15).attr("transform", "translate(" + label_width + ",0)").call(axisBottom(x_scale).tickSize(0)).select(".domain").remove();
1489
- const y_scale = band().range([(box_height + barspace) * categories.length, 0]).domain(categories).padding(0.05);
1490
- svg.append("g").style("font-size", 15).attr("transform", "translate(" + label_width + "," + gene_lable_height + ")").call(axisLeft(y_scale).tickSize(0)).select(".domain").remove();
1491
- var myColor = sequential().interpolator(plasma).domain([0, max_mean]);
1492
- const div = pane.pane.append("div").style("position", "absolute").attr("class", "tooltip").style("background-color", "white").style("border", "solid").style("border-width", "2px").style("border-radius", "5px").style("padding", "5px").style("opacity", 0);
1493
- data.gene_heatmap.forEach((gene, i) => {
1494
- data.gene_heatmap[i].heatmap.forEach((category, j) => {
1495
- const g = svg.append("g").attr("transform", "translate(" + label_width + "," + gene_lable_height + ")");
1496
- g.append("rect").attr("x", x_scale(gene.genename)).attr("y", y_scale(category.category + " (" + category.numberofcells + ")")).attr("width", x_scale.bandwidth()).attr("height", y_scale.bandwidth()).style("fill", myColor(category.mean)).style("stroke-width", 4).style("stroke", "none").style("opacity", 0.8).on("mouseover", function(event) {
1497
- div.transition().duration(200).style("opacity", 0.9);
1498
- div.html("Mean Expression: " + category.mean).style("left", pointer_default(event, this)[0] + 70 + "px").style("top", pointer_default(event, this)[1] + 20 + "px");
1499
- }).on("mouseout", function() {
1500
- div.transition().duration(500).style("opacity", 0);
1501
- });
1502
- });
1503
- });
1504
- const legend_data = myColor.ticks(10).reverse();
1505
- legend_data.unshift(max_mean.toFixed(2));
1506
- const legend = svg.selectAll(".legend").data(legend_data).enter().append("g").attr("class", "legend").attr("transform", function(d, i) {
1507
- return "translate(" + (svg_width - legend_width) + "," + (30 + i * 20) + ")";
1508
- });
1509
- legend.append("rect").attr("width", 20).attr("height", 20).style("fill", myColor).style("opacity", 0.8);
1510
- legend.append("text").attr("x", 26).attr("y", 10).attr("dy", ".35em").text(String);
1511
- }
1512
- function get_max_labelwidth(items, svg) {
1513
- let textwidth = 0;
1514
- for (const i of items) {
1515
- svg.append("text").text(i.category + " (" + i.numberofcells + ")").attr("font-family", font).attr("font-size", 15).each(function() {
1516
- textwidth = Math.max(textwidth, this.getBBox().width);
1517
- }).remove();
1518
- }
1519
- return textwidth + 4;
1520
- }
1521
- async function make_legend(arg, obj) {
1522
- if (!arg.legendimg) return;
1523
- const img_div = obj.holder.append("div").style("margin-top", "5px");
1524
- obj.legendimg = arg.legendimg;
1525
- obj.legend = {
1526
- holder: img_div,
1527
- legendcolor: "#7D6836"
1528
- };
1529
- let shown = !arg.foldlegend;
1530
- img_div.append("div").text("LEGEND").attr("class", "sja_clb").style("display", "inline-block").style("font-size", ".7em").style("color", obj.legend.legendcolor).style("font-family", font).on("click", () => {
1531
- if (shown) {
1532
- shown = false;
1533
- disappear(div2);
1534
- } else {
1535
- shown = true;
1536
- appear(div2);
1537
- }
1538
- });
1539
- const div2 = obj.holder.append("div").style("border-top", "solid 1px " + obj.legend.legendcolor).style("background-color", "#FCFBF7");
1540
- obj.legend.holder = div2.append("table").style("border-spacing", "15px").style("border-collapse", "separate");
1541
- const [tr, td] = legend_newrow(obj, obj.legendimg.name || "");
1542
- const data = await dofetch2("img?file=" + obj.legendimg.file);
1543
- if (data.error) {
1544
- td.text(data.error);
1545
- return;
1546
- }
1547
- let fold = true;
1548
- const img = td.append("img").attr("class", "sja_clbb").attr("src", data.src).style("height", "80px");
1549
- img.on("click", () => {
1550
- if (fold) {
1551
- fold = false;
1552
- img.transition().style("height", obj.legendimg.height ? obj.legendimg.height + "px" : "auto");
1553
- } else {
1554
- fold = true;
1555
- img.transition().style("height", "80px");
1556
- }
1557
- });
1558
- }
1559
- export {
1560
- init
1561
- };
1562
- //# sourceMappingURL=singlecell-JPWVPZEF.js.map