@sjcrh/proteinpaint-client 2.76.0 → 2.76.1

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 (218) hide show
  1. package/dist/{2dmaf-74b99126.js → 2dmaf-593951c7.js} +1 -1
  2. package/dist/{AppHeader-cecb39c2.js → AppHeader-29b88e14.js} +1 -1
  3. package/dist/{ColorScale-21cab8d2.js → ColorScale-3d3c42dc.js} +1 -1
  4. package/dist/{DEanalysis-95bad59a.js → DEanalysis-f81e0f19.js} +1 -1
  5. package/dist/{Disco-a6e921a0.js → Disco-db386f7a.js} +1 -1
  6. package/dist/{Disco.UI-9ad999ed.js → Disco.UI-8ed9cb39.js} +1 -1
  7. package/dist/{DragControls-e3b6a937.js → DragControls-d6250d18.js} +1 -1
  8. package/dist/{DziViewer-354a790d.js → DziViewer-9352e224.js} +1 -1
  9. package/dist/{FilterRxComp-701a1480.js → FilterRxComp-0f35b322.js} +1 -1
  10. package/dist/{FilterStateless-54c0b763.js → FilterStateless-b1c6ee04.js} +1 -1
  11. package/dist/{HicApp-d5a946bf.js → HicApp-14b94b20.js} +1 -1
  12. package/dist/{OrbitControls-694652cd.js → OrbitControls-45f56ed4.js} +1 -1
  13. package/dist/{WSIViewer-dc7f8eb0.js → WSIViewer-80f60272.js} +1 -1
  14. package/dist/{adSandbox-f438e388.js → adSandbox-94424b88.js} +1 -1
  15. package/dist/app-2cd97738.js +1 -0
  16. package/dist/{app-3320ab6f.js → app-686b9547.js} +1 -1
  17. package/dist/app-f031940d.js +1 -0
  18. package/dist/app.js +1 -1
  19. package/dist/{bam-431875ef.js → bam-6631640f.js} +1 -1
  20. package/dist/barchart-3c5d734c.js +1 -0
  21. package/dist/{barchart.events-da29c90d.js → barchart.events-df44e666.js} +1 -1
  22. package/dist/{bars.renderer-dcfdd59b.js → bars.renderer-b232d882.js} +1 -1
  23. package/dist/{block-6aedd569.js → block-4134e823.js} +1 -1
  24. package/dist/block.lazyload-eda77d9b.js +1 -0
  25. package/dist/{block.legend-d3f61ef7.js → block.legend-d2b7f1cb.js} +1 -1
  26. package/dist/{block.mds-3ad17dfa.js → block.mds-ebe7b58d.js} +1 -1
  27. package/dist/{block.mds.cnv-857ba868.js → block.mds.cnv-99f0a414.js} +1 -1
  28. package/dist/{block.mds.expressionrank-7e3b208c.js → block.mds.expressionrank-96bf864b.js} +1 -1
  29. package/dist/{block.mds.expressionstat-f2d31c86.js → block.mds.expressionstat-dcab3fd1.js} +1 -1
  30. package/dist/{block.mds.geneboxplot-f0fbaf12.js → block.mds.geneboxplot-e5b2a4ce.js} +1 -1
  31. package/dist/{block.mds.junction-7f87f48f.js → block.mds.junction-534eef9b.js} +1 -1
  32. package/dist/{block.mds.svcnv-ac035c12.js → block.mds.svcnv-de6a3c7d.js} +1 -1
  33. package/dist/{block.mds.svcnv.share-886d9479.js → block.mds.svcnv.share-2c2c16db.js} +1 -1
  34. package/dist/{block.mds2-7852c1ee.js → block.mds2-373fcb4d.js} +1 -1
  35. package/dist/{block.svg-9b916fa6.js → block.svg-be5d741d.js} +1 -1
  36. package/dist/{block.tk.aicheck-6770e333.js → block.tk.aicheck-f2da5e81.js} +1 -1
  37. package/dist/{block.tk.ase-ee807e59.js → block.tk.ase-ef848944.js} +1 -1
  38. package/dist/{block.tk.bam-00fba6e8.js → block.tk.bam-11fcba17.js} +1 -1
  39. package/dist/{block.tk.bedgraphdot-7fda78e9.js → block.tk.bedgraphdot-a81b0709.js} +1 -1
  40. package/dist/{block.tk.bigwig.ui-cc1a42f3.js → block.tk.bigwig.ui-f8e5ba71.js} +1 -1
  41. package/dist/{block.tk.hicstraw-526470e3.js → block.tk.hicstraw-e7072b25.js} +1 -1
  42. package/dist/{block.tk.junction-b43a4cda.js → block.tk.junction-1c9a7854.js} +1 -1
  43. package/dist/{block.tk.junction.textmatrixui-a60ed78a.js → block.tk.junction.textmatrixui-ffecbb16.js} +1 -1
  44. package/dist/{block.tk.ld-d15bde41.js → block.tk.ld-274c3a82.js} +1 -1
  45. package/dist/{block.tk.menu-3aeb93c6.js → block.tk.menu-e970cd4a.js} +1 -1
  46. package/dist/{block.tk.pgv-9af2bd64.js → block.tk.pgv-f4d4dbf7.js} +1 -1
  47. package/dist/{boxplot-e17a17b7.js → boxplot-44d3b48f.js} +1 -1
  48. package/dist/{brainImaging-bf2ceee9.js → brainImaging-2eaa419d.js} +1 -1
  49. package/dist/{brush-aa175142.js → brush-bb4ae2fb.js} +1 -1
  50. package/dist/{categorical-a52014a1.js → categorical-db9b0175.js} +1 -1
  51. package/dist/{condition-c646e357.js → condition-4e788f7d.js} +1 -1
  52. package/dist/{controls-287e6efa.js → controls-3c1691d7.js} +1 -1
  53. package/dist/{controls.btns-79b805dd.js → controls.btns-5b1240c8.js} +1 -1
  54. package/dist/controls.config-81cd5749.js +1 -0
  55. package/dist/cuminc-c4db28f0.js +1 -0
  56. package/dist/{customdata.inputui-dc49d94b.js → customdata.inputui-f9234d1f.js} +1 -1
  57. package/dist/{dataDownload-3a3d4f33.js → dataDownload-a4dfa2d0.js} +1 -1
  58. package/dist/{databrowser.ui-d8d3f8fd.js → databrowser.ui-a64bab0c.js} +1 -1
  59. package/dist/{density-a82a8b1c.js → density-69a732f6.js} +1 -1
  60. package/dist/{dictionary-c5a19d90.js → dictionary-e2232e84.js} +1 -1
  61. package/dist/{drag-7b30ba17.js → drag-d8daa62f.js} +1 -1
  62. package/dist/{e2pca-82765817.js → e2pca-f9324654.js} +1 -1
  63. package/dist/{ep-d017ec2f.js → ep-a5c1ee3a.js} +1 -1
  64. package/dist/{facet-a9b44ef3.js → facet-98971c68.js} +1 -1
  65. package/dist/{fusion.parse-d40d0b9d.js → fusion.parse-466ded6d.js} +1 -1
  66. package/dist/{geneExpClustering-34c3f518.js → geneExpClustering-66c05fb1.js} +1 -1
  67. package/dist/{geneExpression-0d1b7244.js → geneExpression-5685eae2.js} +1 -1
  68. package/dist/{geneExpression-589f485b.js → geneExpression-b5d0261f.js} +1 -1
  69. package/dist/{geneExpression-7d14983f.js → geneExpression-ff46a389.js} +1 -1
  70. package/dist/{geneORA-903a780f.js → geneORA-f1a90d02.js} +1 -1
  71. package/dist/{geneVariant-92c4e870.js → geneVariant-1cf17b3b.js} +1 -1
  72. package/dist/{geneVariant-89601b34.js → geneVariant-d0b9e1cb.js} +1 -1
  73. package/dist/{genefusion.ui-7e22e811.js → genefusion.ui-89a727ea.js} +1 -1
  74. package/dist/{genesearch-a4e19f0d.js → genesearch-41cb55ce.js} +1 -1
  75. package/dist/{geneset-108a39d2.js → geneset-b63496eb.js} +1 -1
  76. package/dist/{genomeBrowser-12f86a36.js → genomeBrowser-ec8fbddc.js} +1 -1
  77. package/dist/{genomeBrowser.controls-d5067811.js → genomeBrowser.controls-2dcaf4f5.js} +1 -1
  78. package/dist/{groupsetting-b4416a96.js → groupsetting-3fef59f9.js} +1 -1
  79. package/dist/{gsea-543dab25.js → gsea-3075c82c.js} +1 -1
  80. package/dist/{hierCluster-26e14090.js → hierCluster-33a828a1.js} +1 -1
  81. package/dist/hierCluster.config-fa799d06.js +1 -0
  82. package/dist/{hierCluster.interactivity-e56f6542.js → hierCluster.interactivity-6d453881.js} +1 -1
  83. package/dist/{hierCluster.renderers-74a64cf5.js → hierCluster.renderers-6279d7fb.js} +1 -1
  84. package/dist/{html.legend-a3f4ebfe.js → html.legend-fac5cb07.js} +1 -1
  85. package/dist/{imagePlot-b9eae4ae.js → imagePlot-38254245.js} +1 -1
  86. package/dist/{lasso-f767f634.js → lasso-e8b9500e.js} +1 -1
  87. package/dist/{launch.adhoc-abca6af3.js → launch.adhoc-2799109b.js} +1 -1
  88. package/dist/{leftlabel.sample-24c2388d.js → leftlabel.sample-afcdcefd.js} +1 -1
  89. package/dist/{legacyDataset-e0e201ab.js → legacyDataset-3b08c91a.js} +1 -1
  90. package/dist/{log-99af3443.js → log-4d84c357.js} +1 -1
  91. package/dist/{lollipop-806f8fa4.js → lollipop-64c5cdfc.js} +1 -1
  92. package/dist/{maf-b06579e4.js → maf-fd4ffbd0.js} +1 -1
  93. package/dist/{maftimeline-4840a380.js → maftimeline-3e892da7.js} +1 -1
  94. package/dist/{matrix-00bb50ff.js → matrix-e371888a.js} +1 -1
  95. package/dist/{matrix.cells-914dd0c6.js → matrix.cells-eb4110a7.js} +1 -1
  96. package/dist/{matrix.cluster-783ceab0.js → matrix.cluster-0df274ed.js} +1 -1
  97. package/dist/{matrix.config-6ce74dfe.js → matrix.config-3ef822b9.js} +1 -1
  98. package/dist/{matrix.controls-7b2a6f95.js → matrix.controls-42bb2063.js} +1 -1
  99. package/dist/{matrix.data-dac4f1b7.js → matrix.data-27b8e3a9.js} +1 -1
  100. package/dist/{matrix.dom-4e10bbe9.js → matrix.dom-1bbe1f39.js} +1 -1
  101. package/dist/{matrix.groups-b9fca14a.js → matrix.groups-67606700.js} +1 -1
  102. package/dist/{matrix.interactivity-84169b43.js → matrix.interactivity-cdcc56c9.js} +1 -1
  103. package/dist/{matrix.layout-dd5a44fd.js → matrix.layout-857cd336.js} +1 -1
  104. package/dist/{matrix.legend-ac6d45e6.js → matrix.legend-09f6dc57.js} +1 -1
  105. package/dist/{matrix.renderers-78010275.js → matrix.renderers-d392fb69.js} +1 -1
  106. package/dist/{matrix.serieses-9b4fd744.js → matrix.serieses-b03b62aa.js} +1 -1
  107. package/dist/{matrix.sort-014d798d.js → matrix.sort-9440c86a.js} +1 -1
  108. package/dist/{matrix.sorterUi-9bf7e6f9.js → matrix.sorterUi-2c5eb35f.js} +1 -1
  109. package/dist/{mavb-c6be46fc.js → mavb-9d86df89.js} +1 -1
  110. package/dist/{mds.fimo-bff6a1ed.js → mds.fimo-bffccb9f.js} +1 -1
  111. package/dist/{mds.samplescatterplot-9a02b9fb.js → mds.samplescatterplot-b3908cc7.js} +1 -1
  112. package/dist/{mds.survivalplot-055549f4.js → mds.survivalplot-9ad7dabc.js} +1 -1
  113. package/dist/{metaboliteIntensity-fac92f8b.js → metaboliteIntensity-ec3176f4.js} +1 -1
  114. package/dist/niceNumLabels-5f45218a.js +1 -0
  115. package/dist/{nodrag-16ad4b03.js → nodrag-ab7d5a9f.js} +1 -1
  116. package/dist/{notify-224cccbd.js → notify-59f61230.js} +1 -1
  117. package/dist/{numeric-b0b17185.js → numeric-4853b665.js} +1 -1
  118. package/dist/{numeric.binary-1f9e93f2.js → numeric.binary-1dd9a2b4.js} +1 -1
  119. package/dist/{numeric.continuous-ebcd0567.js → numeric.continuous-ed132eea.js} +1 -1
  120. package/dist/{numeric.discrete-7b97044a.js → numeric.discrete-d780d076.js} +1 -1
  121. package/dist/{numeric.spline-1be88f3d.js → numeric.spline-abe07708.js} +1 -1
  122. package/dist/{numeric.toggle-7fa2a770.js → numeric.toggle-647423dd.js} +1 -1
  123. package/dist/oncomatrix-7ac995a2.js +1 -0
  124. package/dist/{parseData-21fe9822.js → parseData-567f3d70.js} +1 -1
  125. package/dist/{plot.2dvaf-18a35e4b.js → plot.2dvaf-4016e75e.js} +1 -1
  126. package/dist/plot.app-d6fe76e2.js +1 -0
  127. package/dist/plot.barplot-d2fc5020.js +1 -0
  128. package/dist/{plot.boxplot-fe3046c6.js → plot.boxplot-76229491.js} +1 -1
  129. package/dist/{plot.brainImaging-2ceb6023.js → plot.brainImaging-39b80a1c.js} +1 -1
  130. package/dist/{plot.disco-6011f87f.js → plot.disco-9a544f9a.js} +1 -1
  131. package/dist/{plot.dzi-6728a7c8.js → plot.dzi-f1658ebf.js} +1 -1
  132. package/dist/{plot.ssgq-5581dc56.js → plot.ssgq-aeb2dabc.js} +1 -1
  133. package/dist/{plot.vaf2cov-b2284c64.js → plot.vaf2cov-ba8332ed.js} +1 -1
  134. package/dist/{plot.wsi-9a9d4034.js → plot.wsi-2d802557.js} +1 -1
  135. package/dist/{profileBarchart-0476f1f8.js → profileBarchart-72adc533.js} +1 -1
  136. package/dist/{profileHome-32eb9b50.js → profileHome-37fd52e5.js} +1 -1
  137. package/dist/{profilePlot-c7e099e8.js → profilePlot-0b897a05.js} +1 -1
  138. package/dist/profilePolar-a7248d48.js +1 -0
  139. package/dist/profileRadar-1ba5d8fd.js +1 -0
  140. package/dist/profileRadarFacility-452e76ef.js +1 -0
  141. package/dist/{profileSummary-b114204f.js → profileSummary-7f0eacf0.js} +1 -1
  142. package/dist/{recover-49e09de0.js → recover-74f2e965.js} +1 -1
  143. package/dist/{regression.inputs-a761f40d.js → regression.inputs-ff00f74e.js} +1 -1
  144. package/dist/{regression.inputs.values.table-5929d25a.js → regression.inputs.values.table-1753d56b.js} +1 -1
  145. package/dist/{regression.results-69bc42d0.js → regression.results-6f85a5dc.js} +1 -1
  146. package/dist/{renderPvalueTable-dc5d15f2.js → renderPvalueTable-17558d6a.js} +1 -1
  147. package/dist/{sampleScatter-2d0ed680.js → sampleScatter-97917406.js} +1 -1
  148. package/dist/{sampleScatter.rendererThree-0b12ac61.js → sampleScatter.rendererThree-4649d1ec.js} +2 -2
  149. package/dist/{sampleView-484ab133.js → sampleView-f86dc5ea.js} +1 -1
  150. package/dist/{samplelst-689796e6.js → samplelst-4a5512df.js} +1 -1
  151. package/dist/{samplematrix-2b137a05.js → samplematrix-1192e5e2.js} +1 -1
  152. package/dist/{scatter-205e013f.js → scatter-cc1b0d07.js} +1 -1
  153. package/dist/{select2Terms-b21e184a.js → select2Terms-d4f6ed9e.js} +1 -1
  154. package/dist/{selectGenomeWithTklst-466995b4.js → selectGenomeWithTklst-b5cfd153.js} +1 -1
  155. package/dist/{singleCellCellType-5db730bb.js → singleCellCellType-d8c58253.js} +1 -1
  156. package/dist/{singleCellGeneExpression-7147a2d0.js → singleCellGeneExpression-b7209531.js} +1 -1
  157. package/dist/{singleCellPlot-73b2738f.js → singleCellPlot-e6f83b2a.js} +1 -1
  158. package/dist/{singlecell-bca774ed.js → singlecell-321dd973.js} +1 -1
  159. package/dist/{singlecell-24409b72.js → singlecell-879235b3.js} +1 -1
  160. package/dist/snp-541ec14d.js +1 -0
  161. package/dist/{snp-a8388ce4.js → snp-b046b7e6.js} +1 -1
  162. package/dist/snplocus-61ff1c10.js +1 -0
  163. package/dist/{spliceevent.a53ss.diagram-e2eab72b.js → spliceevent.a53ss.diagram-1a84db58.js} +1 -1
  164. package/dist/{spliceevent.exonskip.diagram-4d5df3a1.js → spliceevent.exonskip.diagram-da10648b.js} +1 -1
  165. package/dist/{spliceevent.exonskip.getdefault-a94aad6e.js → spliceevent.exonskip.getdefault-8028e522.js} +1 -1
  166. package/dist/{spliceevent.noeventdiagram-ea97b0fb.js → spliceevent.noeventdiagram-1d6d790d.js} +1 -1
  167. package/dist/{spliceevent.phrase-c5832470.js → spliceevent.phrase-2ca0ce59.js} +1 -1
  168. package/dist/{stattable-7c5ecc2f.js → stattable-c5f12d9c.js} +1 -1
  169. package/dist/{style.gdc-131f3c77.js → style.gdc-5b7d90c6.js} +1 -1
  170. package/dist/summary-0624f5e6.js +1 -0
  171. package/dist/{sunburst-533902a7.js → sunburst-30295714.js} +1 -1
  172. package/dist/{survival-e16e068f.js → survival-816e055a.js} +1 -1
  173. package/dist/{survival-92250664.js → survival-fcc7719f.js} +1 -1
  174. package/dist/{svg.download-35926549.js → svg.download-e89a7369.js} +1 -1
  175. package/dist/{svg.legend-8d490df2.js → svg.legend-c93f2980.js} +1 -1
  176. package/dist/{svgraph-6fac8cbc.js → svgraph-6ab3011b.js} +1 -1
  177. package/dist/{svmr-d07ff695.js → svmr-3ad3d600.js} +1 -1
  178. package/dist/{table-ad744310.js → table-4d3a771e.js} +1 -1
  179. package/dist/{table-29d5a973.js → table-f50a9344.js} +1 -1
  180. package/dist/{termInfo-bf99a37e.js → termInfo-d0a9e65f.js} +1 -1
  181. package/dist/{termdb.bins-8b656cc3.js → termdb.bins-01e8cce6.js} +1 -1
  182. package/dist/{termsetting-33ea66f1.js → termsetting-ad8c4f3a.js} +1 -1
  183. package/dist/{tk-071a7550.js → tk-e74c9beb.js} +1 -1
  184. package/dist/{toggleButtons-dbdbad01.js → toggleButtons-04c5ad7c.js} +1 -1
  185. package/dist/{tp.ui-9c2e9fc5.js → tp.ui-7b24f0ef.js} +1 -1
  186. package/dist/{tvs.density-f6128793.js → tvs.density-b2790080.js} +1 -1
  187. package/dist/{tvs.geneVariant-ca4bdbb1.js → tvs.geneVariant-418ed4ff.js} +1 -1
  188. package/dist/{tvs.numeric-0260a825.js → tvs.numeric-de14101f.js} +1 -1
  189. package/dist/{tvs.samplelst-cb71b3bf.js → tvs.samplelst-15bb62f1.js} +1 -1
  190. package/dist/{uiUtils-f1bd2bcc.js → uiUtils-ff2d4a6a.js} +1 -1
  191. package/dist/{variantBrowser-7c540224.js → variantBrowser-261373bf.js} +1 -1
  192. package/dist/{vcf-5cc55588.js → vcf-145bf5dd.js} +1 -1
  193. package/dist/violin-e647aac9.js +1 -0
  194. package/dist/{violin.interactivity-4da6d7a9.js → violin.interactivity-30a239fe.js} +1 -1
  195. package/dist/{violin.renderer-ce024265.js → violin.renderer-e29d2700.js} +1 -1
  196. package/dist/{violinRenderer-f7c96a60.js → violinRenderer-08b3b58c.js} +1 -1
  197. package/dist/{viridis-01ab20c5.js → viridis-d86ad99b.js} +1 -1
  198. package/dist/{y-67939f83.js → y-06b0d47c.js} +1 -1
  199. package/dist/{zoom-25dce8b9.js → zoom-d6ef6f3f.js} +1 -1
  200. package/package.json +1 -1
  201. package/dist/app-649f8357.js +0 -1
  202. package/dist/app-b369b169.js +0 -1
  203. package/dist/barchart-8277ed43.js +0 -1
  204. package/dist/block.lazyload-87b12654.js +0 -1
  205. package/dist/controls.config-28d6d6a8.js +0 -1
  206. package/dist/cuminc-9e275854.js +0 -1
  207. package/dist/hierCluster.config-98e82dff.js +0 -1
  208. package/dist/niceNumLabels-238aabce.js +0 -1
  209. package/dist/oncomatrix-351af2a0.js +0 -1
  210. package/dist/plot.app-30c4b8e5.js +0 -1
  211. package/dist/plot.barplot-7c4865a2.js +0 -1
  212. package/dist/profilePolar-6b981e63.js +0 -1
  213. package/dist/profileRadar-bca1cc03.js +0 -1
  214. package/dist/profileRadarFacility-bbb1ecd8.js +0 -1
  215. package/dist/snp-37d06246.js +0 -1
  216. package/dist/snplocus-7a1ea8c9.js +0 -1
  217. package/dist/summary-5ec455d3.js +0 -1
  218. package/dist/violin-2ba509eb.js +0 -1
@@ -1 +1 @@
1
- import{getDefaultViolinSettings as t}from"./violin-2ba509eb.js";import{appInit as e}from"./plot.app-30c4b8e5.js";import{d as o}from"./app-b369b169.js";import"./controls-287e6efa.js";import"./controls.btns-79b805dd.js";import"./controls.config-28d6d6a8.js";import"./termsetting-33ea66f1.js";import"./tslib.es6-c3c2d88f.js";import"path";import"./violin.renderer-ce024265.js";import"./brush-aa175142.js";import"./pointer-c7475677.js";import"./nodrag-16ad4b03.js";import"./table-29d5a973.js";import"./axis-747c801e.js";import"./line-264f8f9e.js";import"./constant-426a1483.js";import"./basis-3870f5ba.js";import"./log-99af3443.js";import"./html.legend-a3f4ebfe.js";import"./violin.interactivity-4da6d7a9.js";import"./FilterRxComp-701a1480.js";import"./partjson.esm-b3f1fc21.js";import"./termdb.bins-8b656cc3.js";import"./niceNumLabels-238aabce.js";import"./recover-49e09de0.js";import"./FilterStateless-54c0b763.js";import"./app-3320ab6f.js";import"./termInfo-bf99a37e.js";import"./toggleButtons-dbdbad01.js";import"./genesearch-a4e19f0d.js";import"./checkbox-96437f4d.js";import"./rehydrateFilter-12d118cb.js";const i="#fff6dc";class l{constructor(t){this.opts=t;this.input=t.input;s(this);this.setDOM(t.holder)}main(){try{const t=this.input.term;if(!t||!this.input.termStatus){this.dom.holder.style("display","none");this.dom.loading_div.style("display","none");return}else if(t){this.dom.holder.style("display","block");this.dom.loading_div.style("display","block");this.updateValueCount();this.dom.loading_div.style("display","none");this.render();return}}catch(t){this.dom.loading_div.style("display","none");throw t}}updateValueCount(){const t=this.input;try{if(t.pill&&t.pill.validateQ){t.pill.validateQ({term:t.term.term,q:t.term.q,sampleCounts:t.termStatus.sampleCounts})}}catch(e){t.term.error=e}}}function s(l){l.setDOM=t=>{l.dom={holder:t.style("margin","10px").style("font-size",".8em").style("text-align","left").style("color","#999"),loading_div:t.append("div").text("Loading..").style("display","none"),top_info_div:t.append("div").style("padding-bottom","5px"),violin_div:t.append("div").style("color","black").style("padding-top","5px"),table_div:t.append("table").style("margin","5px 0px 15px 0px").style("border-collapse","collapse").style("color","black"),bottom_info_div:t.append("div"),excluded_div:t.append("table").style("display","none").style("margin","5px 10px").style("border-collapse","collapse")}};l.render=async()=>{const t=l.input;s(t);await n(t);p(t);a(t)};function s(t){if(t.termStatus.topInfoStatus?.length){l.dom.top_info_div.style("display","block").html(t.termStatus.topInfoStatus.join("<br>"))}else{l.dom.top_info_div.style("display","none")}}async function n(o){if(o.term.q.mode=="continuous"||o.term.q.mode=="spline"){l.dom.violin_div.style("display","block");l.dom.table_div.style("display","none");if(l.plotAppApi){const t={type:"app_refresh",state:{termfilter:{filter:l.input.parent.parent.filter}},subactions:[{type:"plot_edit",id:l.violinApi.id,config:{term:o.term}}]};l.plotAppApi.dispatch(t)}else{const i={holder:l.dom.violin_div,vocabApi:l.input.parent.app.vocabApi,state:{vocab:{genome:l.input.parent.app.vocabApi.genome,dslabel:l.input.parent.app.vocabApi.dslabel},termfilter:{filter:l.input.parent.parent.filter},plots:[{chartType:"violin",term:o.term,settings:{violin:t(null,{svgw:350,axisHeight:25,rightMargin:10,datasymbol:"rug",radius:3,plotThickness:100})}}]},violin:{mode:"minimal"}};l.plotAppApi=await e(i);const s=l.plotAppApi.getState().plots[0].id;l.violinApi=l.plotAppApi.getComponents(`plots.${s}`)}}else{l.dom.violin_div.style("display","none");const t=o.termStatus.sampleCounts;if(!t||!t.length){l.dom.table_div.style("display","none");return}l.dom.table_div.style("display","block");const e=l.input.orderedLabels;const i=e&&e.length?(t,o)=>e.indexOf(t.label)-e.indexOf(o.label):(t,e)=>e.samplecount-t.samplecount;const s=t.sort(i);const n=Math.max(...s.map((t=>t.samplecount)),0);s.forEach((t=>t.bar_width_frac=Number((1-(n-t.samplecount)/n).toFixed(4))));l.dom.table_div.selectAll("tr").remove();const p=l.dom.table_div.selectAll("tr").data(s,(t=>t.key));p.enter().append("tr").each(r)}}function p(t){if(t.termStatus.bottomSummaryStatus){l.dom.bottom_info_div.style("display","block").html(t.termStatus.bottomSummaryStatus)}else{l.dom.bottom_info_div.style("display","none")}}function a(t){const e=t.termStatus.excludeCounts;if(!e||!e.length){l.dom.excluded_div.style("display","none");return}l.dom.excluded_div.style("display","block").selectAll("tr").remove();const o=l.dom.excluded_div.selectAll("tr").data(e,(t=>t.key));o.enter().append("tr").each(r);l.dom.excluded_div.selectAll("td").style("color","#999")}function r(t){const e=o(this);const i=this.parentNode.__data__;i.term;const l=150;e.style("text-align","left").style("cursor",i.termStatus.allowToSelectRefGrp?"pointer":"default");const s="1px 10px 1px 0px";e.append("td").style("padding",s).style("text-align","left").style("color","black").text(t.samplecount!==undefined?"n="+t.samplecount:"");e.append("td").style("padding",s).style("text-align","left").style("color","black").text(t.label);const n=e.append("td").style("padding",s);const p=l*t.bar_width_frac;n.append("div").style("margin",s).style("width",p+"px").style("height","15px").style("background-color","#ddd");d({input:i,item:t,tr:e,rendered:false})}function d({input:t,item:e,tr:s,rendered:n}){if(!e.bar_width_frac)return;const p=t.term;const a=t.termStatus.allowToSelectRefGrp;let r;if(n){s.style("background","white");r=o(s.node().lastChild).select("div").style("display",e.key===p.refGrp&&a?"inline-block":"none").style("border",e.key===p.refGrp&&a?"1px solid #bbb":"")}else if(t.term.q.mode!="cutoff"){const t=s.append("td").style("padding","1px 5px").style("text-align","left");r=t.append("div").style("display",e.key===p.refGrp&&a?"inline-block":"none").style("padding","2px 10px").style("border",e.key===p.refGrp&&a?"1px solid #bbb":"").style("border-radius","10px").style("color","#999").style("font-size",".7em").text("REFERENCE");if(a){s.on("mouseover",(()=>{if(p.refGrp!==e.key){s.style("background",i);r.style("display","inline-block").style("border","").text("Set as reference")}else s.style("background","white")})).on("mouseout",(()=>{s.style("background","white");if(p.refGrp!==e.key)r.style("display","none")})).on("click",(()=>{p.refGrp=e.key;r.style("border","1px solid #bbb").text("REFERENCE");l.opts.callback(p)}))}}}}export{l as InputValuesTable};
1
+ import{getDefaultViolinSettings as t}from"./violin-e647aac9.js";import{appInit as e}from"./plot.app-d6fe76e2.js";import{d as o}from"./app-2cd97738.js";import"./controls-3c1691d7.js";import"./controls.btns-5b1240c8.js";import"./controls.config-81cd5749.js";import"./termsetting-ad8c4f3a.js";import"./tslib.es6-c3c2d88f.js";import"path";import"./violin.renderer-e29d2700.js";import"./brush-bb4ae2fb.js";import"./pointer-c7475677.js";import"./nodrag-ab7d5a9f.js";import"./table-f50a9344.js";import"./axis-747c801e.js";import"./line-264f8f9e.js";import"./constant-426a1483.js";import"./basis-3870f5ba.js";import"./log-4d84c357.js";import"./html.legend-fac5cb07.js";import"./violin.interactivity-30a239fe.js";import"./FilterRxComp-0f35b322.js";import"./partjson.esm-b3f1fc21.js";import"./termdb.bins-01e8cce6.js";import"./niceNumLabels-5f45218a.js";import"./recover-74f2e965.js";import"./FilterStateless-b1c6ee04.js";import"./app-686b9547.js";import"./termInfo-d0a9e65f.js";import"./toggleButtons-04c5ad7c.js";import"./genesearch-41cb55ce.js";import"./checkbox-96437f4d.js";import"./rehydrateFilter-12d118cb.js";const i="#fff6dc";class l{constructor(t){this.opts=t;this.input=t.input;s(this);this.setDOM(t.holder)}main(){try{const t=this.input.term;if(!t||!this.input.termStatus){this.dom.holder.style("display","none");this.dom.loading_div.style("display","none");return}else if(t){this.dom.holder.style("display","block");this.dom.loading_div.style("display","block");this.updateValueCount();this.dom.loading_div.style("display","none");this.render();return}}catch(t){this.dom.loading_div.style("display","none");throw t}}updateValueCount(){const t=this.input;try{if(t.pill&&t.pill.validateQ){t.pill.validateQ({term:t.term.term,q:t.term.q,sampleCounts:t.termStatus.sampleCounts})}}catch(e){t.term.error=e}}}function s(l){l.setDOM=t=>{l.dom={holder:t.style("margin","10px").style("font-size",".8em").style("text-align","left").style("color","#999"),loading_div:t.append("div").text("Loading..").style("display","none"),top_info_div:t.append("div").style("padding-bottom","5px"),violin_div:t.append("div").style("color","black").style("padding-top","5px"),table_div:t.append("table").style("margin","5px 0px 15px 0px").style("border-collapse","collapse").style("color","black"),bottom_info_div:t.append("div"),excluded_div:t.append("table").style("display","none").style("margin","5px 10px").style("border-collapse","collapse")}};l.render=async()=>{const t=l.input;s(t);await n(t);p(t);r(t)};function s(t){if(t.termStatus.topInfoStatus?.length){l.dom.top_info_div.style("display","block").html(t.termStatus.topInfoStatus.join("<br>"))}else{l.dom.top_info_div.style("display","none")}}async function n(o){if(o.term.q.mode=="continuous"||o.term.q.mode=="spline"){l.dom.violin_div.style("display","block");l.dom.table_div.style("display","none");if(l.plotAppApi){const t={type:"app_refresh",state:{termfilter:{filter:l.input.parent.parent.filter}},subactions:[{type:"plot_edit",id:l.violinApi.id,config:{term:o.term}}]};l.plotAppApi.dispatch(t)}else{const i={holder:l.dom.violin_div,vocabApi:l.input.parent.app.vocabApi,state:{vocab:{genome:l.input.parent.app.vocabApi.genome,dslabel:l.input.parent.app.vocabApi.dslabel},termfilter:{filter:l.input.parent.parent.filter},plots:[{chartType:"violin",term:o.term,settings:{violin:t(null,{svgw:350,axisHeight:25,rightMargin:10,datasymbol:"rug",radius:3,plotThickness:100})}}]},violin:{mode:"minimal"}};l.plotAppApi=await e(i);const s=l.plotAppApi.getState().plots[0].id;l.violinApi=l.plotAppApi.getComponents(`plots.${s}`)}}else{l.dom.violin_div.style("display","none");const t=o.termStatus.sampleCounts;if(!t||!t.length){l.dom.table_div.style("display","none");return}l.dom.table_div.style("display","block");const e=l.input.orderedLabels;const i=e&&e.length?(t,o)=>e.indexOf(t.label)-e.indexOf(o.label):(t,e)=>e.samplecount-t.samplecount;const s=t.sort(i);const n=Math.max(...s.map((t=>t.samplecount)),0);s.forEach((t=>t.bar_width_frac=Number((1-(n-t.samplecount)/n).toFixed(4))));l.dom.table_div.selectAll("tr").remove();const p=l.dom.table_div.selectAll("tr").data(s,(t=>t.key));p.enter().append("tr").each(a)}}function p(t){if(t.termStatus.bottomSummaryStatus){l.dom.bottom_info_div.style("display","block").html(t.termStatus.bottomSummaryStatus)}else{l.dom.bottom_info_div.style("display","none")}}function r(t){const e=t.termStatus.excludeCounts;if(!e||!e.length){l.dom.excluded_div.style("display","none");return}l.dom.excluded_div.style("display","block").selectAll("tr").remove();const o=l.dom.excluded_div.selectAll("tr").data(e,(t=>t.key));o.enter().append("tr").each(a);l.dom.excluded_div.selectAll("td").style("color","#999")}function a(t){const e=o(this);const i=this.parentNode.__data__;i.term;const l=150;e.style("text-align","left").style("cursor",i.termStatus.allowToSelectRefGrp?"pointer":"default");const s="1px 10px 1px 0px";e.append("td").style("padding",s).style("text-align","left").style("color","black").text(t.samplecount!==undefined?"n="+t.samplecount:"");e.append("td").style("padding",s).style("text-align","left").style("color","black").text(t.label);const n=e.append("td").style("padding",s);const p=l*t.bar_width_frac;n.append("div").style("margin",s).style("width",p+"px").style("height","15px").style("background-color","#ddd");d({input:i,item:t,tr:e,rendered:false})}function d({input:t,item:e,tr:s,rendered:n}){if(!e.bar_width_frac)return;const p=t.term;const r=t.termStatus.allowToSelectRefGrp;let a;if(n){s.style("background","white");a=o(s.node().lastChild).select("div").style("display",e.key===p.refGrp&&r?"inline-block":"none").style("border",e.key===p.refGrp&&r?"1px solid #bbb":"")}else if(t.term.q.mode!="cutoff"){const t=s.append("td").style("padding","1px 5px").style("text-align","left");a=t.append("div").style("display",e.key===p.refGrp&&r?"inline-block":"none").style("padding","2px 10px").style("border",e.key===p.refGrp&&r?"1px solid #bbb":"").style("border-radius","10px").style("color","#999").style("font-size",".7em").text("REFERENCE");if(r){s.on("mouseover",(()=>{if(p.refGrp!==e.key){s.style("background",i);a.style("display","inline-block").style("border","").text("Set as reference")}else s.style("background","white")})).on("mouseout",(()=>{s.style("background","white");if(p.refGrp!==e.key)a.style("display","none")})).on("click",(()=>{p.refGrp=e.key;a.style("border","1px solid #bbb").text("REFERENCE");l.opts.callback(p)}))}}}}export{l as InputValuesTable};
@@ -1 +1 @@
1
- import{bL as e,y as t,I as n,f as s}from"./app-b369b169.js";import{a as r}from"./axisstyle-fac7f76b.js";import{C as o}from"./ColorScale-21cab8d2.js";import{a as i}from"./axis-747c801e.js";import{l as a}from"./log-99af3443.js";function p({bp:e,g:t,color:n,scale:s,rowheight:r,labpad:o}){if(e.label){t.append("text").attr("font-family","Arial").attr("text-anchor","end").attr("dominant-baseline","central").attr("fill",n).attr("x",-o).attr("y",r/2).attr("font-size",Math.min(15,r)).text(e.label)}if(e.w1!=undefined){const o=s(e.w1);const i=s(e.w2);const a=s(e.p25);const p=s(e.p50);const l=s(e.p75);e.hline=t.append("line").attr("stroke",n).attr("shape-rendering","crispEdges").attr("x1",o).attr("x2",i).attr("y1",r/2).attr("y2",r/2);e.linew1=t.append("line").attr("stroke",n).attr("shape-rendering","crispEdges").attr("x1",o).attr("x2",o).attr("y1",0).attr("y2",r);e.linew2=t.append("line").attr("stroke",n).attr("shape-rendering","crispEdges").attr("x1",i).attr("x2",i).attr("y1",0).attr("y2",r);e.box=t.append("rect").attr("fill","white").attr("stroke",n).attr("shape-rendering","crispEdges").attr("x",a).attr("y",0).attr("width",l-a).attr("height",r);e.linep50=t.append("line").attr("stroke",n).attr("shape-rendering","crispEdges").attr("x1",p).attr("x2",p).attr("y1",0).attr("y2",r)}for(const o of e.out){t.append("circle").attr("stroke",n).attr("fill","white").attr("fill-opacity",0).attr("cx",s(o.value)).attr("cy",r/2).attr("r",r/3)}}function l(e,t,n,s){const r=[];if(Array.isArray(e)){for(const o of e){if(o.namekey=="regulomedb"){if(typeof t.chr=="string"&&t.pos!==undefined&&Number.isInteger(t.pos)){const e=`${t.chr}%3A${t.pos}-${t.pos+1}`;r.push(`<a href="${o.base}regions=${e}&genome=${s=="hg38"?"GRCh38":s}" target="_blank">${o.linkText}</a>`)}continue}c(o,t,n,r)}}else{c(e,t,n,r)}return r}function c(e,t,n,s){const r=t[e.namekey];if(r==undefined)return;const o=e.base+r;if(e.shownSeparately){s.push(`<a href="${o}" target="_blank">${e.linkText||r}</a>`);return}n.html(`<a href="${o}" target="_blank">${n.html()}</a>`)}const d="NA";const f="#126e08";const m=f;class u{constructor(e){this.opts=e;this.app=e.app;this.parent=e.parent;this.type="regression";g(this);const t=this.opts.holder;t.append("div").style("margin-top","10px").style("padding-top","20px").style("font-size","1.2em").style("opacity",.3).html("Results");this.dom={holder:t,err_div:t.append("div"),snplocusBlockDiv:t.append("div"),oneSetResultDiv:t.append("div").style("margin","10px")}}async main(){try{this.parent.inputs.dom.submitBtn.text("Running...");this.config=this.parent.config;this.state=this.parent.state;if(!this.state.formIsComplete||this.parent.inputs.hasError||this.config.hasUnsubmittedEdits&&!this.hasUnsubmittedEdits_nullify_singleuse){this.dom.holder.style("display","none");return}delete this.hasUnsubmittedEdits_nullify_singleuse;if(this.snplocusBlock){this.snplocusBlock.cloakOn()}const e=await this.app.vocabApi.getRegressionData(this.getDataRequestOpts());if(e.error)throw e.error;this.dom.err_div.style("display","none");this.dom.oneSetResultDiv.selectAll("*").remove();this.dom.holder.style("display","block");await this.displayResult(e);const t=this.dom.holder.node().getBoundingClientRect().top+window.scrollY;const n=document.querySelector(".sjpp-nav").getBoundingClientRect().height;window.scroll({behavior:"smooth",top:t-n})}catch(e){this.hasError=true;this.dom.holder.style("display","block");this.dom.err_div.style("display","block");t(this.dom.err_div,"Error: "+(e.error||e));this.parent.inputs.dom.submitBtn.property("disabled",true);console.error(e)}}getDataRequestOpts(){const e=this.config;const t={regressionType:e.regressionType,outcome:e.outcome,independent:e.independent};t.filter=this.parent.filter;return t}getIndependentInput(e){for(const t of this.parent.inputs.independent.inputLst){if(!t.term)continue;if(t.term.term.id==e||t.term.term.name==e)return t;if(t.term.term&&t.term.term.snps){for(const n of t.term.term.snps){if(n.snpid==e){const s={id:e,q:{geneticModel:t.term.q.geneticModel},term:{id:e,name:e},effectAllele:t.term.q.snp2effAle[e]};if(t.term.q.snp2refGrp){s.refGrp=t.term.q.snp2refGrp[e]}if(n.mlst){const r=n.mlst.find((n=>n.alt==t.term.q.snp2effAle[e]));if(r){s.term.name=r.mname}else{s.term.name=n.mlst[0].mname}}return{term:s}}}}}return{term:{id:e,q:{},term:{name:e}}}}}function g(e){e.displayResult=async t=>{const n=e.parent.inputs.independent.inputLst.find((e=>e.term&&e.term.term.type=="snplocus"));if(n){if(!e.snplocusBlock){e.dom.snplocusBlockDiv.append("div").style("margin-top","30px").style("opacity",.3).text("Click on a variant within the browser to view its regression results");e.snplocusBlock=await v(e,n,t.resultLst)}else{await b(e,n,t.resultLst)}return}delete e.snplocusBlock;e.dom.snplocusBlockDiv.selectAll("*").remove();if(!t.resultLst[0]||!t.resultLst[0].data)throw"result is not [ {data:{}} ]";e.displayResult_oneset(t.resultLst[0].data)};e.displayResult_oneset=t=>{e.dom.oneSetResultDiv.selectAll("*").remove();e.dom.LDresultDiv=e.dom.oneSetResultDiv.append("div");e.mayshow_warn(t);if(t.sampleSize)e.newDiv("Sample size:",t.sampleSize);if(t.eventCnt)e.newDiv("Number of events:",t.eventCnt);e.mayshow_headerRow(t);e.mayshow_splinePlots(t);e.mayshow_residuals(t);e.mayshow_coefficients(t);e.mayshow_totalSnpEffect(t);e.mayshow_type3(t);e.mayshow_tests(t);e.mayshow_other(t);e.mayshow_fisher(t);e.mayshow_wilcoxon(t);e.mayshow_cuminc(t)};e.newDiv=(t,n,s)=>{const r=e.dom.oneSetResultDiv.append("div").style("margin","20px 0px 10px 0px").attr("name",t);const o=r.append("div");o.append("span").style("text-decoration","underline").text(t);if(n){o.append("span").html(n).style("margin-left","5px")}return s?o:r.append("div").style("margin-left","20px")};e.mayshow_warn=t=>{if(!t.warnings)return;const n=e.newDiv("Warnings");const s=new Set(t.warnings);for(const e of s){n.append("p").style("margin","5px").text(e)}};e.mayshow_headerRow=t=>{if(!t.headerRow)return;const n=t.headerRow.k;const s=t.headerRow.v;const r=e.parent.inputs.independent.inputLst.find((e=>e.term&&e.term.term.type=="snplocus"));if(r){const t=r.term.term.snps.find((e=>e.snpid==s.snpid));const o=t.mlst[0];o.chr=t.chr;const i=e.newDiv(n,null,true);const a=i.append("span").text(`${o.chr}:${o.pos+1} ${o.ref&&o.alt?o.ref+">"+o.alt:""}`).style("margin-left","5px");const p=e.app.vocabApi.termdbConfig.urlTemplates?.ssm||e.app.vocabApi.termdbConfig.queries?.snvindel?.ssmUrl;if(p){const t=l(p,o,a,e.parent.genomeObj.name);if(t?.length){i.append("span").style("margin-left","10px").html(t.join(" "))}}let c;const d=`Genotypes: ${s.gtcounts.join(", ")}`;if(s.monomorphic){c=[d]}else{const e=`Effect allele: ${s.effAle}`;const t=`Allele frequency: ${s.af}`;c=[e,t,d]}i.append("span").html(`&nbsp;&#65372;&nbsp;${c.join("&nbsp;&#65372;&nbsp;")}`)}else{e.newDiv(n,s)}};e.mayshow_splinePlots=t=>{if(!t.splinePlots)return;const n=e.newDiv("Cubic spline plots");for(const e of t.splinePlots){n.append("img").attr("src",e.src).style("width",e.size.width).style("height",e.size.height)}};e.mayshow_residuals=t=>{if(!t.residuals)return;const n=e.newDiv(t.residuals.label);const s=n.append("table").style("border-spacing","8px").attr("name","sjpp-residuals-table");const r=s.append("tr").style("opacity",.4);const o=s.append("tr");for(let e=0;e<t.residuals.header.length;e++){r.append("td").text(t.residuals.header[e]);o.append("td").text(t.residuals.rows[e])}};e.mayshow_cuminc=async t=>{if(!t.cuminc)return;const n=e.newDiv("Cumulative incidence test:");const s=await import("./cuminc-9e275854.js");const r=new s.Cuminc({holder:n,config:{term:e.config.outcome,term2:{term:{name:"Variant",values:{1:{key:1,label:"Has minor allele"},2:{key:2,label:"No minor allele"}}}}}});if(t.cuminc.ci_data){r.main(t.cuminc.ci_data)}else{n.append("div").style("margin","20px").text(t.cuminc.msg)}};e.mayshow_wilcoxon=t=>{if(!t.wilcoxon)return;const s=e.newDiv("Wilcoxon rank sum test:","p-value = "+t.wilcoxon.pvalue);if(t.wilcoxon.boxplots){const o=t.wilcoxon.boxplots;const a=20,l=400,c=160,d=40,f=20,u=10;const g=n().domain([o.minv,o.maxv]).range([0,l]);const h=s.append("svg").style("margin-top","10px").attr("width",c+f+l+10).attr("height",u*3+a*2+d);const y=h.append("g").attr("transform",`translate(${c+f},${u})`);p({g:y.append("g"),bp:o.hasEff,scale:g,rowheight:a,color:m,labpad:f});p({g:y.append("g").attr("transform",`translate(0,${a+u})`),bp:o.noEff,scale:g,rowheight:a,color:m,labpad:f});{const t=y.append("g").attr("transform",`translate(0,${a*2+u*2})`);const n=i().scale(g);r({axis:t.call(n),color:m,showline:true});t.append("text").text(e.config.outcome.term.name).attr("font-size",15).attr("x",l/2).attr("y",d-5).attr("text-anchor","middle").attr("fill",m)}}};e.mayshow_fisher=t=>{if(!t.fisher)return;const n=e.newDiv(t.fisher.isChi?"Chi-square test:":"Fisher's exact test:","p-value = "+t.fisher.pvalue);const s=n.append("table").style("margin","20px").style("border-spacing","5px").style("border-collapse","separate");for(const e of t.fisher.rows){const t=s.append("tr");for(const n of e){t.append("td").text(n)}}};e.mayshow_coefficients=t=>{if(!t.coefficients)return;const n=e.newDiv(t.coefficients.label);const s=n.append("table").style("border-spacing","0px").attr("data-testid","sjpp_regression_resultCoefficientTable");const r=e.config.regressionType=="cox"&&e.app.vocabApi.termdbConfig.neuroOncRegression;{const e=s.append("tr").style("opacity",.4);t.coefficients.header.forEach(((t,n)=>{if(r&&(n==2||n==3))return;e.append("td").text(t).style("padding","8px");if(n===1)e.append("td")}))}if(e.config.regressionType!="cox"){const e=s.append("tr").style("background","#eee");t.coefficients.intercept.forEach(((t,n)=>{e.append("td").text(t).style("padding","8px");if(n===1)e.append("td")}))}const o=e.getForestPlotter(t.coefficients.terms,t.coefficients.interactions,r);let i=e.config.regressionType=="cox"?1:0;for(const n in t.coefficients.terms){const a=t.coefficients.terms[n];const p=e.getIndependentInput(n).term;let l=s.append("tr").style("background",i++%2?"#eee":"none");const c=l.append("td").style("padding","8px");y(p,c);if(a.fields){const e=a.fields;{const e=l.append("td").style("padding","8px");N(e,p)}if(r){e.shift();e.shift()}o(l.append("td"),e);for(const t of e){l.append("td").text(t).style("padding","8px")}}else if(a.categories){const t=[];const d=e.getIndependentInput(n);if(d.orderedLabels){for(const e of d.orderedLabels){if(a.categories[e])t.push(e)}}for(const e in a.categories){if(!t.includes(e))t.push(e)}c.attr("rowspan",t.length).style("vertical-align","top");let f=true;for(const e of t){if(!f){l=s.append("tr").style("background",i++%2?"#eee":"none")}const t=a.categories[e];const n=l.append("td").style("padding","8px");N(n,p,e);if(r){const[e,s]=t.shift().split("/");const[r,o]=t.shift().split("/");if(f){const t=c.select(".sjpcb-regression-results-refGrp");t.append("div").html(`n = ${e}<br>events = ${r}`)}n.append("div").style("font-size",".8em").html(`n = ${s}<br>events = ${o}`)}o(l.append("td"),t);for(const e of t){l.append("td").text(e).style("padding","8px")}f=false}}else{l.append("td").text("ERROR: no .fields[] or .categories{}")}}for(const n of t.coefficients.interactions){const t=s.append("tr").style("background",i++%2?"#eee":"none");const r=e.getIndependentInput(n.term1).term;const a=e.getIndependentInput(n.term2).term;{const e=t.append("td").style("padding","8px");h(e.append("div"),r?r.term.name+" : ":n.term1+" : ");h(e.append("div"),a?a.term.name:n.term2)}{const e=t.append("td").style("padding","8px");N(e.append("div"),r,n.category1);N(e.append("div"),a,n.category2)}o(t.append("td"),n.lst);for(const e of n.lst){t.append("td").text(e).style("padding","8px")}}const a=s.append("tr");a.append("td");a.append("td");o(a.append("td"));for(const e of t.coefficients.header)a.append("td")};e.mayshow_totalSnpEffect=t=>{if(!t.totalSnpEffect)return;const n=e.newDiv(t.totalSnpEffect.label);const s=n.append("table").style("border-spacing","0px");{const e=s.append("tr").style("opacity",.4);for(const n of t.totalSnpEffect.header){e.append("td").text(n).style("padding","8px")}}const r=s.append("tr").style("background","#eee");for(const e of t.totalSnpEffect.lst){r.append("td").text(e).style("padding","8px")}const o=e.getIndependentInput(t.totalSnpEffect.snp).term;const i=t.totalSnpEffect.interactions.map((t=>({t1:e.getIndependentInput(t.term1).term,t2:e.getIndependentInput(t.term2).term})));const a=`Total: total effect of removing the snp (${o.term.name}) and its interactions (${i.map((e=>e.t1.term.name+" : "+e.t2.term.name)).join(" ; ")}) from the model`;n.append("div").style("margin","20px 0px 20px 10px").style("font-size",".8em").style("text-align","left").style("color","#999").text(a)};e.mayshow_type3=t=>{if(!t.type3||e.parent.app.vocabApi.termdbConfig.neuroOncRegression)return;const n=e.newDiv(t.type3.label);const s=n.append("table").style("border-spacing","0px");{const e=s.append("tr").style("opacity",.4);for(const n of t.type3.header){e.append("td").text(n).style("padding","8px")}}if(e.config.regressionType!="cox"){const e=s.append("tr").style("background","#eee");for(const n of t.type3.intercept){e.append("td").text(n).style("padding","8px")}}let r=e.config.regressionType=="cox"?1:0;for(const n in t.type3.terms){const o=t.type3.terms[n];const i=e.getIndependentInput(n).term;let a=s.append("tr").style("background",r++%2?"#eee":"none");const p=a.append("td").style("padding","8px");h(p,i.term.name);for(const e of o){a.append("td").text(e).style("padding","8px")}}for(const n of t.type3.interactions){const t=s.append("tr").style("background",r++%2?"#eee":"none");const o=e.getIndependentInput(n.term1).term;const i=e.getIndependentInput(n.term2).term;const a=t.append("td").style("padding","8px");h(a.append("div"),o.term.name+" : ");h(a.append("div"),i.term.name);for(const e of n.lst){t.append("td").text(e).style("padding","8px")}}};e.mayshow_tests=t=>{if(!t.tests||e.parent.app.vocabApi.termdbConfig.neuroOncRegression)return;const n=e.newDiv(t.tests.label);const s=n.append("table").style("border-spacing","0px");const r=s.append("tr").style("opacity",.4);for(const e of t.tests.header){r.append("td").text(e).style("padding","8px")}let o=0;for(const e of t.tests.rows){const t=s.append("tr").style("background",o++%2?"none":"#eee");for(const n of e){t.append("td").text(n).style("padding","8px")}}};e.mayshow_other=t=>{if(!t.other)return;const n=e.newDiv(t.other.label);const s=n.append("table").style("border-spacing","8px");for(let e=0;e<t.other.header.length;e++){const n=s.append("tr");n.append("td").style("opacity",.4).text(t.other.header[e]);n.append("td").text(t.other.rows[e])}};e.getForestPlotter=(t,s,o)=>{let p,l,c,d,m,u,g;if(e.config.regressionType=="linear"){p=0;l=1;c=2;d="Beta value";m=0;u=null;g=null}else if(e.config.regressionType=="logistic"){p=0;l=1;c=2;d="Odds ratio";m=1;u=.1;g=10}else if(e.config.regressionType=="cox"){p=0;l=1;c=2;d="Hazard ratio";m=1;u=.1;g=10}else{throw"unknown regressionType"}const h=[];for(const e in t){const n=t[e];if(n.fields){k(n.fields)}else{for(const e in n.categories){k(n.categories[e])}}}for(const e of s){k(e.lst)}if(h.length==0){return()=>{}}h.sort(((e,t)=>e-t));if(u==null){u=h[0];g=h[h.length-1]}const y=150;const x=20;const v=10,b=10;const w=_(h);return(t,n)=>{if(!w){return}const s=t.append("svg").attr("width",y+v+b).attr("height",x);const o=s.append("g").attr("transform","translate("+v+",0)");if(!n){const t=e.config.regressionType=="logistic"?".1r":undefined;const n=i().ticks(4,t).scale(w);r({axis:o.call(n),color:f,showline:true});const a=12;o.append("text").attr("fill",f).text(d).attr("x",y/2).attr("y",x+a);s.attr("height",x+a);return}{const e=w(m);o.append("line").attr("x1",e).attr("y1",0).attr("x2",e).attr("y2",x).attr("stroke","#ccc")}const a=Number(n[p]),h=Number(n[l]),k=Number(n[c]);if(Number.isNaN(a)){return}o.append("circle").attr("cx",w(Math.min(Math.max(a,u),g))).attr("cy",x/2).attr("r",3).attr("fill",f);if(Number.isNaN(h)||Number.isNaN(k)){return}o.append("line").attr("x1",w(Math.min(Math.max(h,u),g))).attr("y1",x/2).attr("x2",w(Math.min(Math.max(k,u),g))).attr("y2",x/2).attr("stroke",f)};function k(e){const t=o?e.slice(2):e;const n=Number(t[p]);if(!Number.isNaN(n))h.push(n);const s=Number(t[l]),r=Number(t[c]);if(!Number.isNaN(s)&&!Number.isNaN(r)){h.push(s);h.push(r)}}function _(t){if(e.config.regressionType=="logistic"){let e=0;while(t[e]<=0){e++}if(e>=t.length||t[e]<=0){return}const n=t[e];const s=t[t.length-1];return a().domain([Math.max(n,u),Math.min(s,g)]).range([0,y]).nice()}if(e.config.regressionType=="linear"||e.config.regressionType=="cox"){return n().domain([Math.max(t[0],u),Math.min(t[t.length-1],g)]).range([0,y])}throw"unknown type"}}}function h(e,t){if(t.length<40){e.text(t)}else{e.text(t.substring(0,35)+" ...").attr("aria-label",t)}}function y(e,t){h(t,e.term.name||tid);if(e.q.mode!="spline"&&"refGrp"in e&&e.refGrp!=d){const n=t.append("div").style("margin-top","2px").style("font-size",".8em");n.append("div").style("display","inline-block").style("vertical-align","top").style("padding","1px 5px").style("border","1px solid #aaa").style("border-radius","10px").style("font-size",".7em").text("REF");n.append("div").attr("class","sjpcb-regression-results-refGrp").style("display","inline-block").style("vertical-align","top").style("margin-left","3px").text(e.term.values&&e.term.values[e.refGrp]?e.term.values[e.refGrp].label:e.refGrp)}if(e.effectAllele){t.append("div").style("font-size",".8em").style("opacity",.6).html('<span style="padding:1px 5px;border:1px solid #aaa;border-radius:10px;font-size:.7em">EFFECT ALLELE</span> '+e.effectAllele+"</span>")}}function x(e,t){const n=[];for(const s of e.term.snps){const r={chr:s.chr,pos:s.pos,ssm_id:s.snpid};n.push(r);const o=e.q.snp2effAle[s.snpid];const i=s.mlst.find((e=>e.alt==o));if(i){Object.assign(r,i)}else{Object.assign(r,s.mlst[0])}r.regressionPvalue="NA";r.mlpv=0;const a=t.find((e=>e.id==s.snpid));if(!a){r.regressionResult={data:{err:["No result for this variant at "+s.snpid]}};continue}r.regressionResult=a;const p=a.data;if(!p)throw".data{} missing";if(p.type3){const e=A(p,s.snpid);if(e==undefined);else{r.regressionPvalue=e;r.mlpv=-Math.log10(e)}if(!p.coefficients||!p.coefficients.terms)throw".data.coefficients.terms{} missing";const t=p.coefficients.terms[s.snpid];if(!t)throw"snp missing from data.coefficients.terms{}";if(Array.isArray(t.fields)){r.regressionEstimate=t.fields[0]}else if(t.categories){const e=[];for(const n in t.categories){e.push(n+":"+t.categories[n][0])}r.regressionEstimate=" "+e.join(" ")}else{throw"unknown way to get snp estimates from coefficients table"}}else if(p.fisher){r.regressionPvalue=p.fisher.pvalue;r.mlpv=-Math.log10(p.fisher.pvalue);r.shapeTriangle=true}else if(p.wilcoxon){r.regressionPvalue=p.wilcoxon.pvalue;r.mlpv=-Math.log10(p.wilcoxon.pvalue);r.shapeTriangle=true}else if(p.cuminc){r.regressionPvalue=p.cuminc.pvalue;r.mlpv=-Math.log10(p.cuminc.pvalue);r.shapeTriangle=true}else{r.shapeCircle=true}}return n}async function v(e,t,n){const r={holder:e.dom.snplocusBlockDiv,genome:e.parent.genomeObj,chr:t.term.q.chr,start:t.term.q.start,stop:t.term.q.stop,nobox:true,tklst:[],onCoordinateChange:async n=>{for(const t of e.snplocusBlock.tklst){if(t.type=="mds3")delete t.skewer.hlssmid}const{chr:s,start:r,stop:o}=n[0];const i={term:{id:t.term.term.id,type:"snplocus"},q:JSON.parse(JSON.stringify(t.term.q))};i.q.chr=s;i.q.start=r;i.q.stop=o;const a=await import("./snplocus-7a1ea8c9.js");await a.fillTW(i,e.app.vocabApi);e.hasUnsubmittedEdits_nullify_singleuse=true;t.pill.runCallback(i)}};r.tklst.push({type:"mds3",name:"Variants",skewerModes:[{type:"numeric",byAttribute:"mlpv",label:"-log10 p-value",inuse:true,tooltipPrintValue:t=>D(t,e.config.regressionType)}],custom_variants:x(t.term,n),variantShapeName:{dot:"common variants analyzed by model-fitting",triangle:"rare variants analyzed by "+(e.config.regressionType=="linear"?"Wilcoxon rank sum test":e.config.regressionType=="logistic"?"Fisher's exact test":"Cumulative incidence test"),circle:"monomorphic variants skipped"},click_snvindel:async n=>{e.displayResult_oneset(n.regressionResult.data);await R(n,t,e);const s=e.dom.oneSetResultDiv.node().getBoundingClientRect().top+window.scrollY;const r=document.querySelector(".sjpp-nav").getBoundingClientRect().height;window.scroll({behavior:"smooth",top:s-r})}});s(e.parent.genomeObj,r.tklst);const o=await import("./block-6aedd569.js").then((function(e){return e.c}));return new o.Block(r)}async function b(e,t,n){const s=e.snplocusBlock.tklst.find((e=>e.type=="mds3"));s.custom_variants=x(t.term,n);const r=e.snplocusBlock.rglst[0];if(r.chr==t.term.q.chr&&r.start==t.term.q.start&&r.stop==t.term.q.stop){s.load()}else{await e.snplocusBlock.jump_1basedcoordinate(t.term.q)}e.snplocusBlock.cloakOff()}const w="#2E6594",k="#ff0000",_=e(w,k);async function R(e,t,n){if(!t.term.q.restrictAncestry){return}const s=n.snplocusBlock.tklst.find((e=>e.type=="mds3"));if(!s||!s.skewer||!s.skewer.nmg)return;for(const e of s.custom_variants)delete e.regressionR2;const r=n.dom.LDresultDiv.append("span").text("Loading LD data...");try{const o=await n.app.vocabApi.getLDdata(t.term.q.restrictAncestry.name,e);if(o.error)throw o.error;if(o.nodata||!o.lst||o.lst.length==0){r.text("No LD data");s.skewer.nmg.selectAll(".sja_aa_disk_fill").attr("fill",(e=>e.shapeCircle?"none":s.color4disc(e)));return}s.skewer.nmg.selectAll(".sja_aa_disk_fill").attr("fill",(t=>{if(t.pos==e.pos&&t.ref==e.ref&&t.alt==e.alt){return k}for(const e of o.lst){if(e.pos==t.pos&&e.alleles==t.ref+"."+t.alt){t.regressionR2=e.r2;return _(e.r2)}}return _(0)}));r.html(t.term.q.restrictAncestry.name+" LD r<sup>2</sup>");E(n.dom.LDresultDiv,_)}catch(e){r.text("Error: "+(e.message||e))}}function E(e,t){const n=e.append("span").style("margin-left","10px");const s=[];for(let e=0;e<=1;e+=.1){s.push(t(e))}const r=20;const i=15;const a=10;const p=150;const l=new o({holder:n,data:[0,1],topTicks:true,width:a*2+p,height:r+i,barheight:i,barwidth:p,fontSize:12,startColor:s[0],midColor:s[s.length-1],endColor:s[s.length-1],position:`${a},${r}`,tickSize:6});l.render()}function D(e,t){const n=[{k:"p-value",v:e.regressionPvalue}];if(e.regressionResult.AFstr){n.push({k:"AF",v:e.regressionResult.AFstr})}if(e.regressionEstimate){if(t=="linear")n.push({k:"beta",v:e.regressionEstimate});else if(t=="logistic")n.push({k:"odds ratio",v:e.regressionEstimate});else if(t=="cox")n.push({k:"hazard ratio",v:e.regressionEstimate});else throw"unknown regression type"}if(e.regressionR2){n.push({k:"LD r2",v:e.regressionR2})}return n}function A(e,t){let n;if(e.totalSnpEffect){n=e.totalSnpEffect.lst[e.totalSnpEffect.lst.length-1]}else{if(!e.type3.terms)throw".data{type3:{terms}} missing";if(!e.type3.terms[t])throw t+" missing in type3.terms{}";if(!Array.isArray(e.type3.terms[t]))throw`type3.terms[${snp.snpid}] not array`;n=e.type3.terms[t][e.type3.terms[t].length-1]}const s=Number(n);if(Number.isFinite(s)){return s}return undefined}function N(e,t,n){if(n){e.text(t&&t.term.values&&t.term.values[n]?t.term.values[n].label:n);return}e.style("opacity",.3);if("geneticModel"in t.q){const n=t.q.geneticModel;e.text(n==0?"(additive)":n==1?"(dominant)":"(recessive)");return}if(t.q.mode){e.text("("+t.q.mode+")");return}}var q=Object.freeze({__proto__:null,RegressionResults:u,showLDlegend:E});export{u as R,l as m,q as r,E as s};
1
+ import{bL as e,y as t,I as n,f as s}from"./app-2cd97738.js";import{a as r}from"./axisstyle-fac7f76b.js";import{C as o}from"./ColorScale-3d3c42dc.js";import{a as i}from"./axis-747c801e.js";import{l as a}from"./log-4d84c357.js";function p({bp:e,g:t,color:n,scale:s,rowheight:r,labpad:o}){if(e.label){t.append("text").attr("font-family","Arial").attr("text-anchor","end").attr("dominant-baseline","central").attr("fill",n).attr("x",-o).attr("y",r/2).attr("font-size",Math.min(15,r)).text(e.label)}if(e.w1!=undefined){const o=s(e.w1);const i=s(e.w2);const a=s(e.p25);const p=s(e.p50);const l=s(e.p75);e.hline=t.append("line").attr("stroke",n).attr("shape-rendering","crispEdges").attr("x1",o).attr("x2",i).attr("y1",r/2).attr("y2",r/2);e.linew1=t.append("line").attr("stroke",n).attr("shape-rendering","crispEdges").attr("x1",o).attr("x2",o).attr("y1",0).attr("y2",r);e.linew2=t.append("line").attr("stroke",n).attr("shape-rendering","crispEdges").attr("x1",i).attr("x2",i).attr("y1",0).attr("y2",r);e.box=t.append("rect").attr("fill","white").attr("stroke",n).attr("shape-rendering","crispEdges").attr("x",a).attr("y",0).attr("width",l-a).attr("height",r);e.linep50=t.append("line").attr("stroke",n).attr("shape-rendering","crispEdges").attr("x1",p).attr("x2",p).attr("y1",0).attr("y2",r)}for(const o of e.out){t.append("circle").attr("stroke",n).attr("fill","white").attr("fill-opacity",0).attr("cx",s(o.value)).attr("cy",r/2).attr("r",r/3)}}function l(e,t,n,s){const r=[];if(Array.isArray(e)){for(const o of e){if(o.namekey=="regulomedb"){if(typeof t.chr=="string"&&t.pos!==undefined&&Number.isInteger(t.pos)){const e=`${t.chr}%3A${t.pos}-${t.pos+1}`;r.push(`<a href="${o.base}regions=${e}&genome=${s=="hg38"?"GRCh38":s}" target="_blank">${o.linkText}</a>`)}continue}c(o,t,n,r)}}else{c(e,t,n,r)}return r}function c(e,t,n,s){const r=t[e.namekey];if(r==undefined)return;const o=e.base+r;if(e.shownSeparately){s.push(`<a href="${o}" target="_blank">${e.linkText||r}</a>`);return}n.html(`<a href="${o}" target="_blank">${n.html()}</a>`)}const d="NA";const f="#126e08";const m=f;class u{constructor(e){this.opts=e;this.app=e.app;this.parent=e.parent;this.type="regression";g(this);const t=this.opts.holder;t.append("div").style("margin-top","10px").style("padding-top","20px").style("font-size","1.2em").style("opacity",.3).html("Results");this.dom={holder:t,err_div:t.append("div"),snplocusBlockDiv:t.append("div"),oneSetResultDiv:t.append("div").style("margin","10px")}}async main(){try{this.parent.inputs.dom.submitBtn.text("Running...");this.config=this.parent.config;this.state=this.parent.state;if(!this.state.formIsComplete||this.parent.inputs.hasError||this.config.hasUnsubmittedEdits&&!this.hasUnsubmittedEdits_nullify_singleuse){this.dom.holder.style("display","none");return}delete this.hasUnsubmittedEdits_nullify_singleuse;if(this.snplocusBlock){this.snplocusBlock.cloakOn()}const e=await this.app.vocabApi.getRegressionData(this.getDataRequestOpts());if(e.error)throw e.error;this.dom.err_div.style("display","none");this.dom.oneSetResultDiv.selectAll("*").remove();this.dom.holder.style("display","block");await this.displayResult(e);const t=this.dom.holder.node().getBoundingClientRect().top+window.scrollY;const n=document.querySelector(".sjpp-nav").getBoundingClientRect().height;window.scroll({behavior:"smooth",top:t-n})}catch(e){this.hasError=true;this.dom.holder.style("display","block");this.dom.err_div.style("display","block");t(this.dom.err_div,"Error: "+(e.error||e));this.parent.inputs.dom.submitBtn.property("disabled",true);console.error(e)}}getDataRequestOpts(){const e=this.config;const t={regressionType:e.regressionType,outcome:e.outcome,independent:e.independent};t.filter=this.parent.filter;return t}getIndependentInput(e){for(const t of this.parent.inputs.independent.inputLst){if(!t.term)continue;if(t.term.term.id==e||t.term.term.name==e)return t;if(t.term.term&&t.term.term.snps){for(const n of t.term.term.snps){if(n.snpid==e){const s={id:e,q:{geneticModel:t.term.q.geneticModel},term:{id:e,name:e},effectAllele:t.term.q.snp2effAle[e]};if(t.term.q.snp2refGrp){s.refGrp=t.term.q.snp2refGrp[e]}if(n.mlst){const r=n.mlst.find((n=>n.alt==t.term.q.snp2effAle[e]));if(r){s.term.name=r.mname}else{s.term.name=n.mlst[0].mname}}return{term:s}}}}}return{term:{id:e,q:{},term:{name:e}}}}}function g(e){e.displayResult=async t=>{const n=e.parent.inputs.independent.inputLst.find((e=>e.term&&e.term.term.type=="snplocus"));if(n){if(!e.snplocusBlock){e.dom.snplocusBlockDiv.append("div").style("margin-top","30px").style("opacity",.3).text("Click on a variant within the browser to view its regression results");e.snplocusBlock=await v(e,n,t.resultLst)}else{await b(e,n,t.resultLst)}return}delete e.snplocusBlock;e.dom.snplocusBlockDiv.selectAll("*").remove();if(!t.resultLst[0]||!t.resultLst[0].data)throw"result is not [ {data:{}} ]";e.displayResult_oneset(t.resultLst[0].data)};e.displayResult_oneset=t=>{e.dom.oneSetResultDiv.selectAll("*").remove();e.dom.LDresultDiv=e.dom.oneSetResultDiv.append("div");e.mayshow_warn(t);if(t.sampleSize)e.newDiv("Sample size:",t.sampleSize);if(t.eventCnt)e.newDiv("Number of events:",t.eventCnt);e.mayshow_headerRow(t);e.mayshow_splinePlots(t);e.mayshow_residuals(t);e.mayshow_coefficients(t);e.mayshow_totalSnpEffect(t);e.mayshow_type3(t);e.mayshow_tests(t);e.mayshow_other(t);e.mayshow_fisher(t);e.mayshow_wilcoxon(t);e.mayshow_cuminc(t)};e.newDiv=(t,n,s)=>{const r=e.dom.oneSetResultDiv.append("div").style("margin","20px 0px 10px 0px").attr("name",t);const o=r.append("div");o.append("span").style("text-decoration","underline").text(t);if(n){o.append("span").html(n).style("margin-left","5px")}return s?o:r.append("div").style("margin-left","20px")};e.mayshow_warn=t=>{if(!t.warnings)return;const n=e.newDiv("Warnings");const s=new Set(t.warnings);for(const e of s){n.append("p").style("margin","5px").text(e)}};e.mayshow_headerRow=t=>{if(!t.headerRow)return;const n=t.headerRow.k;const s=t.headerRow.v;const r=e.parent.inputs.independent.inputLst.find((e=>e.term&&e.term.term.type=="snplocus"));if(r){const t=r.term.term.snps.find((e=>e.snpid==s.snpid));const o=t.mlst[0];o.chr=t.chr;const i=e.newDiv(n,null,true);const a=i.append("span").text(`${o.chr}:${o.pos+1} ${o.ref&&o.alt?o.ref+">"+o.alt:""}`).style("margin-left","5px");const p=e.app.vocabApi.termdbConfig.urlTemplates?.ssm||e.app.vocabApi.termdbConfig.queries?.snvindel?.ssmUrl;if(p){const t=l(p,o,a,e.parent.genomeObj.name);if(t?.length){i.append("span").style("margin-left","10px").html(t.join(" "))}}let c;const d=`Genotypes: ${s.gtcounts.join(", ")}`;if(s.monomorphic){c=[d]}else{const e=`Effect allele: ${s.effAle}`;const t=`Allele frequency: ${s.af}`;c=[e,t,d]}i.append("span").html(`&nbsp;&#65372;&nbsp;${c.join("&nbsp;&#65372;&nbsp;")}`)}else{e.newDiv(n,s)}};e.mayshow_splinePlots=t=>{if(!t.splinePlots)return;const n=e.newDiv("Cubic spline plots");for(const e of t.splinePlots){n.append("img").attr("src",e.src).style("width",e.size.width).style("height",e.size.height)}};e.mayshow_residuals=t=>{if(!t.residuals)return;const n=e.newDiv(t.residuals.label);const s=n.append("table").style("border-spacing","8px").attr("name","sjpp-residuals-table");const r=s.append("tr").style("opacity",.4);const o=s.append("tr");for(let e=0;e<t.residuals.header.length;e++){r.append("td").text(t.residuals.header[e]);o.append("td").text(t.residuals.rows[e])}};e.mayshow_cuminc=async t=>{if(!t.cuminc)return;const n=e.newDiv("Cumulative incidence test:");const s=await import("./cuminc-c4db28f0.js");const r=new s.Cuminc({holder:n,config:{term:e.config.outcome,term2:{term:{name:"Variant",values:{1:{key:1,label:"Has minor allele"},2:{key:2,label:"No minor allele"}}}}}});if(t.cuminc.ci_data){r.main(t.cuminc.ci_data)}else{n.append("div").style("margin","20px").text(t.cuminc.msg)}};e.mayshow_wilcoxon=t=>{if(!t.wilcoxon)return;const s=e.newDiv("Wilcoxon rank sum test:","p-value = "+t.wilcoxon.pvalue);if(t.wilcoxon.boxplots){const o=t.wilcoxon.boxplots;const a=20,l=400,c=160,d=40,f=20,u=10;const g=n().domain([o.minv,o.maxv]).range([0,l]);const h=s.append("svg").style("margin-top","10px").attr("width",c+f+l+10).attr("height",u*3+a*2+d);const y=h.append("g").attr("transform",`translate(${c+f},${u})`);p({g:y.append("g"),bp:o.hasEff,scale:g,rowheight:a,color:m,labpad:f});p({g:y.append("g").attr("transform",`translate(0,${a+u})`),bp:o.noEff,scale:g,rowheight:a,color:m,labpad:f});{const t=y.append("g").attr("transform",`translate(0,${a*2+u*2})`);const n=i().scale(g);r({axis:t.call(n),color:m,showline:true});t.append("text").text(e.config.outcome.term.name).attr("font-size",15).attr("x",l/2).attr("y",d-5).attr("text-anchor","middle").attr("fill",m)}}};e.mayshow_fisher=t=>{if(!t.fisher)return;const n=e.newDiv(t.fisher.isChi?"Chi-square test:":"Fisher's exact test:","p-value = "+t.fisher.pvalue);const s=n.append("table").style("margin","20px").style("border-spacing","5px").style("border-collapse","separate");for(const e of t.fisher.rows){const t=s.append("tr");for(const n of e){t.append("td").text(n)}}};e.mayshow_coefficients=t=>{if(!t.coefficients)return;const n=e.newDiv(t.coefficients.label);const s=n.append("table").style("border-spacing","0px").attr("data-testid","sjpp_regression_resultCoefficientTable");const r=e.config.regressionType=="cox"&&e.app.vocabApi.termdbConfig.neuroOncRegression;{const e=s.append("tr").style("opacity",.4);t.coefficients.header.forEach(((t,n)=>{if(r&&(n==2||n==3))return;e.append("td").text(t).style("padding","8px");if(n===1)e.append("td")}))}if(e.config.regressionType!="cox"){const e=s.append("tr").style("background","#eee");t.coefficients.intercept.forEach(((t,n)=>{e.append("td").text(t).style("padding","8px");if(n===1)e.append("td")}))}const o=e.getForestPlotter(t.coefficients.terms,t.coefficients.interactions,r);let i=e.config.regressionType=="cox"?1:0;for(const n in t.coefficients.terms){const a=t.coefficients.terms[n];const p=e.getIndependentInput(n).term;let l=s.append("tr").style("background",i++%2?"#eee":"none");const c=l.append("td").style("padding","8px");y(p,c);if(a.fields){const e=a.fields;{const e=l.append("td").style("padding","8px");N(e,p)}if(r){e.shift();e.shift()}o(l.append("td"),e);for(const t of e){l.append("td").text(t).style("padding","8px")}}else if(a.categories){const t=[];const d=e.getIndependentInput(n);if(d.orderedLabels){for(const e of d.orderedLabels){if(a.categories[e])t.push(e)}}for(const e in a.categories){if(!t.includes(e))t.push(e)}c.attr("rowspan",t.length).style("vertical-align","top");let f=true;for(const e of t){if(!f){l=s.append("tr").style("background",i++%2?"#eee":"none")}const t=a.categories[e];const n=l.append("td").style("padding","8px");N(n,p,e);if(r){const[e,s]=t.shift().split("/");const[r,o]=t.shift().split("/");if(f){const t=c.select(".sjpcb-regression-results-refGrp");t.append("div").html(`n = ${e}<br>events = ${r}`)}n.append("div").style("font-size",".8em").html(`n = ${s}<br>events = ${o}`)}o(l.append("td"),t);for(const e of t){l.append("td").text(e).style("padding","8px")}f=false}}else{l.append("td").text("ERROR: no .fields[] or .categories{}")}}for(const n of t.coefficients.interactions){const t=s.append("tr").style("background",i++%2?"#eee":"none");const r=e.getIndependentInput(n.term1).term;const a=e.getIndependentInput(n.term2).term;{const e=t.append("td").style("padding","8px");h(e.append("div"),r?r.term.name+" : ":n.term1+" : ");h(e.append("div"),a?a.term.name:n.term2)}{const e=t.append("td").style("padding","8px");N(e.append("div"),r,n.category1);N(e.append("div"),a,n.category2)}o(t.append("td"),n.lst);for(const e of n.lst){t.append("td").text(e).style("padding","8px")}}const a=s.append("tr");a.append("td");a.append("td");o(a.append("td"));for(const e of t.coefficients.header)a.append("td")};e.mayshow_totalSnpEffect=t=>{if(!t.totalSnpEffect)return;const n=e.newDiv(t.totalSnpEffect.label);const s=n.append("table").style("border-spacing","0px");{const e=s.append("tr").style("opacity",.4);for(const n of t.totalSnpEffect.header){e.append("td").text(n).style("padding","8px")}}const r=s.append("tr").style("background","#eee");for(const e of t.totalSnpEffect.lst){r.append("td").text(e).style("padding","8px")}const o=e.getIndependentInput(t.totalSnpEffect.snp).term;const i=t.totalSnpEffect.interactions.map((t=>({t1:e.getIndependentInput(t.term1).term,t2:e.getIndependentInput(t.term2).term})));const a=`Total: total effect of removing the snp (${o.term.name}) and its interactions (${i.map((e=>e.t1.term.name+" : "+e.t2.term.name)).join(" ; ")}) from the model`;n.append("div").style("margin","20px 0px 20px 10px").style("font-size",".8em").style("text-align","left").style("color","#999").text(a)};e.mayshow_type3=t=>{if(!t.type3||e.parent.app.vocabApi.termdbConfig.neuroOncRegression)return;const n=e.newDiv(t.type3.label);const s=n.append("table").style("border-spacing","0px");{const e=s.append("tr").style("opacity",.4);for(const n of t.type3.header){e.append("td").text(n).style("padding","8px")}}if(e.config.regressionType!="cox"){const e=s.append("tr").style("background","#eee");for(const n of t.type3.intercept){e.append("td").text(n).style("padding","8px")}}let r=e.config.regressionType=="cox"?1:0;for(const n in t.type3.terms){const o=t.type3.terms[n];const i=e.getIndependentInput(n).term;let a=s.append("tr").style("background",r++%2?"#eee":"none");const p=a.append("td").style("padding","8px");h(p,i.term.name);for(const e of o){a.append("td").text(e).style("padding","8px")}}for(const n of t.type3.interactions){const t=s.append("tr").style("background",r++%2?"#eee":"none");const o=e.getIndependentInput(n.term1).term;const i=e.getIndependentInput(n.term2).term;const a=t.append("td").style("padding","8px");h(a.append("div"),o.term.name+" : ");h(a.append("div"),i.term.name);for(const e of n.lst){t.append("td").text(e).style("padding","8px")}}};e.mayshow_tests=t=>{if(!t.tests||e.parent.app.vocabApi.termdbConfig.neuroOncRegression)return;const n=e.newDiv(t.tests.label);const s=n.append("table").style("border-spacing","0px");const r=s.append("tr").style("opacity",.4);for(const e of t.tests.header){r.append("td").text(e).style("padding","8px")}let o=0;for(const e of t.tests.rows){const t=s.append("tr").style("background",o++%2?"none":"#eee");for(const n of e){t.append("td").text(n).style("padding","8px")}}};e.mayshow_other=t=>{if(!t.other)return;const n=e.newDiv(t.other.label);const s=n.append("table").style("border-spacing","8px");for(let e=0;e<t.other.header.length;e++){const n=s.append("tr");n.append("td").style("opacity",.4).text(t.other.header[e]);n.append("td").text(t.other.rows[e])}};e.getForestPlotter=(t,s,o)=>{let p,l,c,d,m,u,g;if(e.config.regressionType=="linear"){p=0;l=1;c=2;d="Beta value";m=0;u=null;g=null}else if(e.config.regressionType=="logistic"){p=0;l=1;c=2;d="Odds ratio";m=1;u=.1;g=10}else if(e.config.regressionType=="cox"){p=0;l=1;c=2;d="Hazard ratio";m=1;u=.1;g=10}else{throw"unknown regressionType"}const h=[];for(const e in t){const n=t[e];if(n.fields){k(n.fields)}else{for(const e in n.categories){k(n.categories[e])}}}for(const e of s){k(e.lst)}if(h.length==0){return()=>{}}h.sort(((e,t)=>e-t));if(u==null){u=h[0];g=h[h.length-1]}const y=150;const x=20;const v=10,b=10;const w=_(h);return(t,n)=>{if(!w){return}const s=t.append("svg").attr("width",y+v+b).attr("height",x);const o=s.append("g").attr("transform","translate("+v+",0)");if(!n){const t=e.config.regressionType=="logistic"?".1r":undefined;const n=i().ticks(4,t).scale(w);r({axis:o.call(n),color:f,showline:true});const a=12;o.append("text").attr("fill",f).text(d).attr("x",y/2).attr("y",x+a);s.attr("height",x+a);return}{const e=w(m);o.append("line").attr("x1",e).attr("y1",0).attr("x2",e).attr("y2",x).attr("stroke","#ccc")}const a=Number(n[p]),h=Number(n[l]),k=Number(n[c]);if(Number.isNaN(a)){return}o.append("circle").attr("cx",w(Math.min(Math.max(a,u),g))).attr("cy",x/2).attr("r",3).attr("fill",f);if(Number.isNaN(h)||Number.isNaN(k)){return}o.append("line").attr("x1",w(Math.min(Math.max(h,u),g))).attr("y1",x/2).attr("x2",w(Math.min(Math.max(k,u),g))).attr("y2",x/2).attr("stroke",f)};function k(e){const t=o?e.slice(2):e;const n=Number(t[p]);if(!Number.isNaN(n))h.push(n);const s=Number(t[l]),r=Number(t[c]);if(!Number.isNaN(s)&&!Number.isNaN(r)){h.push(s);h.push(r)}}function _(t){if(e.config.regressionType=="logistic"){let e=0;while(t[e]<=0){e++}if(e>=t.length||t[e]<=0){return}const n=t[e];const s=t[t.length-1];return a().domain([Math.max(n,u),Math.min(s,g)]).range([0,y]).nice()}if(e.config.regressionType=="linear"||e.config.regressionType=="cox"){return n().domain([Math.max(t[0],u),Math.min(t[t.length-1],g)]).range([0,y])}throw"unknown type"}}}function h(e,t){if(t.length<40){e.text(t)}else{e.text(t.substring(0,35)+" ...").attr("aria-label",t)}}function y(e,t){h(t,e.term.name||tid);if(e.q.mode!="spline"&&"refGrp"in e&&e.refGrp!=d){const n=t.append("div").style("margin-top","2px").style("font-size",".8em");n.append("div").style("display","inline-block").style("vertical-align","top").style("padding","1px 5px").style("border","1px solid #aaa").style("border-radius","10px").style("font-size",".7em").text("REF");n.append("div").attr("class","sjpcb-regression-results-refGrp").style("display","inline-block").style("vertical-align","top").style("margin-left","3px").text(e.term.values&&e.term.values[e.refGrp]?e.term.values[e.refGrp].label:e.refGrp)}if(e.effectAllele){t.append("div").style("font-size",".8em").style("opacity",.6).html('<span style="padding:1px 5px;border:1px solid #aaa;border-radius:10px;font-size:.7em">EFFECT ALLELE</span> '+e.effectAllele+"</span>")}}function x(e,t){const n=[];for(const s of e.term.snps){const r={chr:s.chr,pos:s.pos,ssm_id:s.snpid};n.push(r);const o=e.q.snp2effAle[s.snpid];const i=s.mlst.find((e=>e.alt==o));if(i){Object.assign(r,i)}else{Object.assign(r,s.mlst[0])}r.regressionPvalue="NA";r.mlpv=0;const a=t.find((e=>e.id==s.snpid));if(!a){r.regressionResult={data:{err:["No result for this variant at "+s.snpid]}};continue}r.regressionResult=a;const p=a.data;if(!p)throw".data{} missing";if(p.type3){const e=A(p,s.snpid);if(e==undefined);else{r.regressionPvalue=e;r.mlpv=-Math.log10(e)}if(!p.coefficients||!p.coefficients.terms)throw".data.coefficients.terms{} missing";const t=p.coefficients.terms[s.snpid];if(!t)throw"snp missing from data.coefficients.terms{}";if(Array.isArray(t.fields)){r.regressionEstimate=t.fields[0]}else if(t.categories){const e=[];for(const n in t.categories){e.push(n+":"+t.categories[n][0])}r.regressionEstimate=" "+e.join(" ")}else{throw"unknown way to get snp estimates from coefficients table"}}else if(p.fisher){r.regressionPvalue=p.fisher.pvalue;r.mlpv=-Math.log10(p.fisher.pvalue);r.shapeTriangle=true}else if(p.wilcoxon){r.regressionPvalue=p.wilcoxon.pvalue;r.mlpv=-Math.log10(p.wilcoxon.pvalue);r.shapeTriangle=true}else if(p.cuminc){r.regressionPvalue=p.cuminc.pvalue;r.mlpv=-Math.log10(p.cuminc.pvalue);r.shapeTriangle=true}else{r.shapeCircle=true}}return n}async function v(e,t,n){const r={holder:e.dom.snplocusBlockDiv,genome:e.parent.genomeObj,chr:t.term.q.chr,start:t.term.q.start,stop:t.term.q.stop,nobox:true,tklst:[],onCoordinateChange:async n=>{for(const t of e.snplocusBlock.tklst){if(t.type=="mds3")delete t.skewer.hlssmid}const{chr:s,start:r,stop:o}=n[0];const i={term:{id:t.term.term.id,type:"snplocus"},q:JSON.parse(JSON.stringify(t.term.q))};i.q.chr=s;i.q.start=r;i.q.stop=o;const a=await import("./snplocus-61ff1c10.js");await a.fillTW(i,e.app.vocabApi);e.hasUnsubmittedEdits_nullify_singleuse=true;t.pill.runCallback(i)}};r.tklst.push({type:"mds3",name:"Variants",skewerModes:[{type:"numeric",byAttribute:"mlpv",label:"-log10 p-value",inuse:true,tooltipPrintValue:t=>D(t,e.config.regressionType)}],custom_variants:x(t.term,n),variantShapeName:{dot:"common variants analyzed by model-fitting",triangle:"rare variants analyzed by "+(e.config.regressionType=="linear"?"Wilcoxon rank sum test":e.config.regressionType=="logistic"?"Fisher's exact test":"Cumulative incidence test"),circle:"monomorphic variants skipped"},click_snvindel:async n=>{e.displayResult_oneset(n.regressionResult.data);await R(n,t,e);const s=e.dom.oneSetResultDiv.node().getBoundingClientRect().top+window.scrollY;const r=document.querySelector(".sjpp-nav").getBoundingClientRect().height;window.scroll({behavior:"smooth",top:s-r})}});s(e.parent.genomeObj,r.tklst);const o=await import("./block-4134e823.js").then((function(e){return e.c}));return new o.Block(r)}async function b(e,t,n){const s=e.snplocusBlock.tklst.find((e=>e.type=="mds3"));s.custom_variants=x(t.term,n);const r=e.snplocusBlock.rglst[0];if(r.chr==t.term.q.chr&&r.start==t.term.q.start&&r.stop==t.term.q.stop){s.load()}else{await e.snplocusBlock.jump_1basedcoordinate(t.term.q)}e.snplocusBlock.cloakOff()}const w="#2E6594",k="#ff0000",_=e(w,k);async function R(e,t,n){if(!t.term.q.restrictAncestry){return}const s=n.snplocusBlock.tklst.find((e=>e.type=="mds3"));if(!s||!s.skewer||!s.skewer.nmg)return;for(const e of s.custom_variants)delete e.regressionR2;const r=n.dom.LDresultDiv.append("span").text("Loading LD data...");try{const o=await n.app.vocabApi.getLDdata(t.term.q.restrictAncestry.name,e);if(o.error)throw o.error;if(o.nodata||!o.lst||o.lst.length==0){r.text("No LD data");s.skewer.nmg.selectAll(".sja_aa_disk_fill").attr("fill",(e=>e.shapeCircle?"none":s.color4disc(e)));return}s.skewer.nmg.selectAll(".sja_aa_disk_fill").attr("fill",(t=>{if(t.pos==e.pos&&t.ref==e.ref&&t.alt==e.alt){return k}for(const e of o.lst){if(e.pos==t.pos&&e.alleles==t.ref+"."+t.alt){t.regressionR2=e.r2;return _(e.r2)}}return _(0)}));r.html(t.term.q.restrictAncestry.name+" LD r<sup>2</sup>");E(n.dom.LDresultDiv,_)}catch(e){r.text("Error: "+(e.message||e))}}function E(e,t){const n=e.append("span").style("margin-left","10px");const s=[];for(let e=0;e<=1;e+=.1){s.push(t(e))}const r=20;const i=15;const a=10;const p=150;const l=new o({holder:n,data:[0,1],topTicks:true,width:a*2+p,height:r+i,barheight:i,barwidth:p,fontSize:12,startColor:s[0],midColor:s[s.length-1],endColor:s[s.length-1],position:`${a},${r}`,tickSize:6});l.render()}function D(e,t){const n=[{k:"p-value",v:e.regressionPvalue}];if(e.regressionResult.AFstr){n.push({k:"AF",v:e.regressionResult.AFstr})}if(e.regressionEstimate){if(t=="linear")n.push({k:"beta",v:e.regressionEstimate});else if(t=="logistic")n.push({k:"odds ratio",v:e.regressionEstimate});else if(t=="cox")n.push({k:"hazard ratio",v:e.regressionEstimate});else throw"unknown regression type"}if(e.regressionR2){n.push({k:"LD r2",v:e.regressionR2})}return n}function A(e,t){let n;if(e.totalSnpEffect){n=e.totalSnpEffect.lst[e.totalSnpEffect.lst.length-1]}else{if(!e.type3.terms)throw".data{type3:{terms}} missing";if(!e.type3.terms[t])throw t+" missing in type3.terms{}";if(!Array.isArray(e.type3.terms[t]))throw`type3.terms[${snp.snpid}] not array`;n=e.type3.terms[t][e.type3.terms[t].length-1]}const s=Number(n);if(Number.isFinite(s)){return s}return undefined}function N(e,t,n){if(n){e.text(t&&t.term.values&&t.term.values[n]?t.term.values[n].label:n);return}e.style("opacity",.3);if("geneticModel"in t.q){const n=t.q.geneticModel;e.text(n==0?"(additive)":n==1?"(dominant)":"(recessive)");return}if(t.q.mode){e.text("("+t.q.mode+")");return}}var q=Object.freeze({__proto__:null,RegressionResults:u,showLDlegend:E});export{u as R,l as m,q as r,E as s};
@@ -1 +1 @@
1
- import{M as t,d as e}from"./app-b369b169.js";import{p as s}from"./pointer-c7475677.js";function i(t,e){this._context=t;this._t=e}i.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN;this._point=0},lineEnd:function(){if(0<this._t&&this._t<1&&this._point===2)this._context.lineTo(this._x,this._y);if(this._line||this._line!==0&&this._point===1)this._context.closePath();if(this._line>=0)this._t=1-this._t,this._line=1-this._line},point:function(t,e){t=+t,e=+e;switch(this._point){case 0:this._point=1;this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0){this._context.lineTo(this._x,e);this._context.lineTo(t,e)}else{var s=this._x*(1-this._t)+t*this._t;this._context.lineTo(s,this._y);this._context.lineTo(s,e)}break}}this._x=t,this._y=e}};function n(t){return new i(t,1)}function r(e,i,n=null){const r=n||new t({padding:"5px"});e.style("display","none");const o=i.style("fill","transparent").node();function a(t){const i=s(t,o);const n=i[0];const a=+l.xScale.invert(n).toFixed(l.decimals);const c=l.xScale(a);e.style("display","").attr("stroke","#aaa").attr("stroke-dasharray",4).attr("x1",c).attr("x2",c);const d=[];for(const t of l.serieses){const e=t.data;const s=e.map((t=>t.x));if(a>=Math.min(...s)&&a<=Math.max(...s)){const t=Math.max(...s.filter((t=>t<=a)));const i=e.find((e=>e.x==t));if(i)d.push(i.html)}}if(d.length){r.show(t.clientX,t.clientY).d.html(`${l.xTitleLabel}: ${a}<br>`+d.map((t=>t)).join(l.separator))}else{r.hide()}}i.on("mouseover",a).on("mousemove",a).on("mouseout",(()=>{e.style("display","none");r.hide()}));const l={separator:"<br>",decimals:1};return{update(t={}){Object.assign(l,t);const s=i.attr("x");const n=i.attr("y");e.attr("x1",s).attr("x2",s).attr("y1",n).attr("y2",i.attr("height")-n)},destroy(){i.on("mouseover",null).on("mousemove",null).on("mouseout",null)}}}function o({g:t,s:s,chart:i,term2values:n,term2toColor:r,onSerieClick:o}){const l={};const c=i.xTickValues.filter((t=>t>=i.xMin));for(const t of i.visibleSerieses){const e=[];let s=0,i=t.data[0],n=i,r=0;for(const o of c){while(i&&i.x<o){r+=i.ncensor;n=i;s++;i=t.data[s]}if(i&&i.x===o){e.push([o,i.nrisk,r])}else{e.push([o,n.nrisk-n.nevent-n.ncensor,r])}}l[t.seriesId]=e}const d=s.svgh-s.svgPadding.top-s.svgPadding.bottom+60;const p=i.serieses.map((t=>t.seriesId));if(n){p.sort(((t,e)=>{const s=n[t];const i=n[e];if(s&&i){if("order"in s&&"order"in i)return s.order-i.order;if(s.order)return s.order;if(i.order)return i.order;return 0}if(s)return s.order||0;if(i)return i.order||0;return 0}))}let h;t.selectAll(".sjpp-atrisk-title").remove();if(s.atRiskVisible){h=Object.keys(l).sort(((t,e)=>p.indexOf(t)-p.indexOf(e)));const e=i.serieses.length==1&&!i.serieses[0].seriesId;const n=t.append("text").attr("class","sjpp-atrisk-title").attr("transform",`translate(${s.atRiskLabelOffset}, ${e?2*s.axisTitleFontSize:0})`).attr("text-anchor","end").attr("font-size",`${s.axisTitleFontSize-4}px`).attr("cursor",i.serieses.length==1?"pointer":"default").text("Number at risk").on("click",i.serieses.length==1?t=>o({seriesId:""},t.clientX,t.clientY):null);if(r[""])n.style("fill",s.defaultColor);n.append("tspan").attr("x",0).attr("y",s.axisTitleFontSize-4).text("(# censored)")}else{h=[]}const f=t.attr("transform",`translate(0,${d})`).selectAll(":scope > g").data(h,(t=>t));f.exit().remove();f.each((function(t,n){const o=(n+1)*(2*s.axisTitleFontSize);const d=e(this).attr("transform",`translate(0,${o})`).attr("fill",r[""]?s.defaultColor:r[t].adjusted);a(d.select(":scope>g"),i,c,s,t,l[t])}));f.enter().append("g").each((function(t,n){const d=(n+1)*(2*s.axisTitleFontSize);const p=e(this).attr("transform",`translate(0,${d})`).attr("fill",r[""]?s.defaultColor:r[t].adjusted).on("click",(e=>o({seriesId:t},e.clientX,e.clientY)));const h=i.serieses.find((e=>e.seriesId===t));p.append("text").attr("transform",`translate(${s.atRiskLabelOffset}, 0)`).attr("text-anchor","end").attr("font-size",`${s.axisTitleFontSize-4}px`).attr("cursor","pointer").datum({seriesId:t}).text(t&&t!="*"?h.seriesLabel||t:"");a(p.append("g"),i,c,s,t,l[t])}))}function a(t,s,i,n,r,o){const a=o.slice().reverse();const l=i.map((t=>{if(t===0)return{seriesId:r,tickVal:t,atRisk:o[0][1],nCensored:o[0][2]};const e=a.find((e=>e[0]<=t));return{seriesId:r,tickVal:t,atRisk:e[1],nCensored:e[2]}}));const c=t.selectAll("text").data(l);c.exit().remove();c.attr("transform",(t=>`translate(${s.xScale(t.tickVal)},0)`)).attr("text-anchor","middle").attr("font-size",`${n.axisTitleFontSize-4}px`).attr("cursor","pointer").each(d);c.enter().append("text").attr("transform",(t=>`translate(${s.xScale(t.tickVal)},0)`)).attr("text-anchor","middle").attr("font-size",`${n.axisTitleFontSize-4}px`).attr("cursor","pointer").each(d);function d(t){const s=e(this).selectAll("tspan").data([t.atRisk,`(${t.nCensored})`]);s.exit().remove();s.attr("y",((t,e)=>e===0?0:e*(n.axisTitleFontSize-4))).text((t=>t));s.enter().append("tspan").attr("x",0).attr("y",((t,e)=>e===0?0:e*(n.axisTitleFontSize-4))).text((t=>t))}}function l({title:t,holder:s,plot:i,tests:n,s:r,bins:o,tip:a,setActiveMenu:l,updateHiddenPvalues:c}){let d;if(r.axisTitleFontSize){d=r.axisTitleFontSize-2}else d=15;const p=10;s.selectAll("*").remove();if(!i){throw`plot type '${i}' not recognized`}s.append("div").style("padding-bottom","5px").style("font-size",d+"px").style("font-weight","bold").text(t);const h=s.append("div").style("border","1px solid #ccc");if(i=="violin"&&n.pvalues.length>p||n.length>p){h.style("overflow","auto").style("height","220px")}const f=r.hiddenPvalues?n.filter((t=>!r.hiddenPvalues.find((e=>e.series1.id===t.series1.id&&e.series2.id===t.series2.id)))):n;if(i=="violin"?f.pvalues.length:f.length){const t=o&&o.length>0?o.map((t=>t.label)):null;if(t){for(const e of f){const s=[e.series1.id,e.series2.id].sort(((e,s)=>t.indexOf(e)-t.indexOf(s)));if(e.series2.id==s[0]){e.series1_new=e.series2;e.series2_new=e.series1;e.series1=e.series1_new;e.series2=e.series2_new;delete e.series1_new;delete e.series2_new}}f.sort(((e,s)=>t.indexOf(e.series1.id)-t.indexOf(s.series1.id)||t.indexOf(e.series2.id)-t.indexOf(s.series2.id)))}const e=h.append("table").style("width","100%");e.append("thead").append("tr").selectAll("td").data(["Group 1","Group 2","P-value"]).enter().append("td").style("padding","1px 8px 1px 2px").style("color","#858585").style("position","sticky").style("top","0px").style("background","white").style("font-size",d+"px").text((t=>t));const n=e.append("tbody");const a=n.selectAll("tr").data(i=="violin"?f.pvalues:f).enter().append("tr").attr("class",`pp-${i}-chartLegends-pvalue`);if(i=="survival"){a.on("click",((t,e)=>{const s=r.hiddenPvalues.slice();s.push(e);c(s)}))}a.selectAll("td").data((t=>[t.series1,t.series2,t.pvalue])).enter().append("td").attr("aria-label",i?"Click to hide a p-value":"").style("color",i=="violin"?"black":t=>t.color).style("padding","1px 8px 1px 2px").style("font-size",d+"px").style("cursor",i=="survival"?"pointer":"auto").text((t=>i=="violin"?t:t.text));if(i=="cuminc"){if(f.find((t=>t.permutation))){s.append("div").style("margin-top","10px").style("font-size",d-2+"px").text("*computed by permutation of Gray's test statistic")}}}if(i=="survival"){const t=n.filter((t=>r.hiddenPvalues.find((e=>e.series1.id===t.series1.id&&e.series2.id===t.series2.id))));if(t.length){s.append("div").style("color","#aaa").style("cursor","pointer").html(`<span style='color:#aaa; font-weight:400'><span>Hidden tests (${t.length})</span>`).on("click",(s=>{a.clear();const i=a.d.append("div").selectAll("div").data(t).enter().append("div").each((function(t){l(true);const s=e(this);s.append("input").attr("type","checkbox").style("margin-right","5px");s.append("span").html(`${t.series1.id} vs ${t.series2.id}`)}));a.d.append("button").html("Show checked test(s)").on("click",(()=>{const t=[];i.filter((function(){return!e(this.firstChild).property("checked")})).each((e=>t.push(e)));c(t);a.hide()}));a.show(s.clientX,s.clientY)}))}}}export{o as a,r as g,l as r,n as s};
1
+ import{M as t,d as e}from"./app-2cd97738.js";import{p as s}from"./pointer-c7475677.js";function i(t,e){this._context=t;this._t=e}i.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN;this._point=0},lineEnd:function(){if(0<this._t&&this._t<1&&this._point===2)this._context.lineTo(this._x,this._y);if(this._line||this._line!==0&&this._point===1)this._context.closePath();if(this._line>=0)this._t=1-this._t,this._line=1-this._line},point:function(t,e){t=+t,e=+e;switch(this._point){case 0:this._point=1;this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0){this._context.lineTo(this._x,e);this._context.lineTo(t,e)}else{var s=this._x*(1-this._t)+t*this._t;this._context.lineTo(s,this._y);this._context.lineTo(s,e)}break}}this._x=t,this._y=e}};function n(t){return new i(t,1)}function r(e,i,n=null){const r=n||new t({padding:"5px"});e.style("display","none");const o=i.style("fill","transparent").node();function a(t){const i=s(t,o);const n=i[0];const a=+l.xScale.invert(n).toFixed(l.decimals);const c=l.xScale(a);e.style("display","").attr("stroke","#aaa").attr("stroke-dasharray",4).attr("x1",c).attr("x2",c);const d=[];for(const t of l.serieses){const e=t.data;const s=e.map((t=>t.x));if(a>=Math.min(...s)&&a<=Math.max(...s)){const t=Math.max(...s.filter((t=>t<=a)));const i=e.find((e=>e.x==t));if(i)d.push(i.html)}}if(d.length){r.show(t.clientX,t.clientY).d.html(`${l.xTitleLabel}: ${a}<br>`+d.map((t=>t)).join(l.separator))}else{r.hide()}}i.on("mouseover",a).on("mousemove",a).on("mouseout",(()=>{e.style("display","none");r.hide()}));const l={separator:"<br>",decimals:1};return{update(t={}){Object.assign(l,t);const s=i.attr("x");const n=i.attr("y");e.attr("x1",s).attr("x2",s).attr("y1",n).attr("y2",i.attr("height")-n)},destroy(){i.on("mouseover",null).on("mousemove",null).on("mouseout",null)}}}function o({g:t,s:s,chart:i,term2values:n,term2toColor:r,onSerieClick:o}){const l={};const c=i.xTickValues.filter((t=>t>=i.xMin));for(const t of i.visibleSerieses){const e=[];let s=0,i=t.data[0],n=i,r=0;for(const o of c){while(i&&i.x<o){r+=i.ncensor;n=i;s++;i=t.data[s]}if(i&&i.x===o){e.push([o,i.nrisk,r])}else{e.push([o,n.nrisk-n.nevent-n.ncensor,r])}}l[t.seriesId]=e}const d=s.svgh-s.svgPadding.top-s.svgPadding.bottom+60;const p=i.serieses.map((t=>t.seriesId));if(n){p.sort(((t,e)=>{const s=n[t];const i=n[e];if(s&&i){if("order"in s&&"order"in i)return s.order-i.order;if(s.order)return s.order;if(i.order)return i.order;return 0}if(s)return s.order||0;if(i)return i.order||0;return 0}))}let h;t.selectAll(".sjpp-atrisk-title").remove();if(s.atRiskVisible){h=Object.keys(l).sort(((t,e)=>p.indexOf(t)-p.indexOf(e)));const e=i.serieses.length==1&&!i.serieses[0].seriesId;const n=t.append("text").attr("class","sjpp-atrisk-title").attr("transform",`translate(${s.atRiskLabelOffset}, ${e?2*s.axisTitleFontSize:0})`).attr("text-anchor","end").attr("font-size",`${s.axisTitleFontSize-4}px`).attr("cursor",i.serieses.length==1?"pointer":"default").text("Number at risk").on("click",i.serieses.length==1?t=>o({seriesId:""},t.clientX,t.clientY):null);if(r[""])n.style("fill",s.defaultColor);n.append("tspan").attr("x",0).attr("y",s.axisTitleFontSize-4).text("(# censored)")}else{h=[]}const f=t.attr("transform",`translate(0,${d})`).selectAll(":scope > g").data(h,(t=>t));f.exit().remove();f.each((function(t,n){const o=(n+1)*(2*s.axisTitleFontSize);const d=e(this).attr("transform",`translate(0,${o})`).attr("fill",r[""]?s.defaultColor:r[t].adjusted);a(d.select(":scope>g"),i,c,s,t,l[t])}));f.enter().append("g").each((function(t,n){const d=(n+1)*(2*s.axisTitleFontSize);const p=e(this).attr("transform",`translate(0,${d})`).attr("fill",r[""]?s.defaultColor:r[t].adjusted).on("click",(e=>o({seriesId:t},e.clientX,e.clientY)));const h=i.serieses.find((e=>e.seriesId===t));p.append("text").attr("transform",`translate(${s.atRiskLabelOffset}, 0)`).attr("text-anchor","end").attr("font-size",`${s.axisTitleFontSize-4}px`).attr("cursor","pointer").datum({seriesId:t}).text(t&&t!="*"?h.seriesLabel||t:"");a(p.append("g"),i,c,s,t,l[t])}))}function a(t,s,i,n,r,o){const a=o.slice().reverse();const l=i.map((t=>{if(t===0)return{seriesId:r,tickVal:t,atRisk:o[0][1],nCensored:o[0][2]};const e=a.find((e=>e[0]<=t));return{seriesId:r,tickVal:t,atRisk:e[1],nCensored:e[2]}}));const c=t.selectAll("text").data(l);c.exit().remove();c.attr("transform",(t=>`translate(${s.xScale(t.tickVal)},0)`)).attr("text-anchor","middle").attr("font-size",`${n.axisTitleFontSize-4}px`).attr("cursor","pointer").each(d);c.enter().append("text").attr("transform",(t=>`translate(${s.xScale(t.tickVal)},0)`)).attr("text-anchor","middle").attr("font-size",`${n.axisTitleFontSize-4}px`).attr("cursor","pointer").each(d);function d(t){const s=e(this).selectAll("tspan").data([t.atRisk,`(${t.nCensored})`]);s.exit().remove();s.attr("y",((t,e)=>e===0?0:e*(n.axisTitleFontSize-4))).text((t=>t));s.enter().append("tspan").attr("x",0).attr("y",((t,e)=>e===0?0:e*(n.axisTitleFontSize-4))).text((t=>t))}}function l({title:t,holder:s,plot:i,tests:n,s:r,bins:o,tip:a,setActiveMenu:l,updateHiddenPvalues:c}){let d;if(r.axisTitleFontSize){d=r.axisTitleFontSize-2}else d=15;const p=10;s.selectAll("*").remove();if(!i){throw`plot type '${i}' not recognized`}s.append("div").style("padding-bottom","5px").style("font-size",d+"px").style("font-weight","bold").text(t);const h=s.append("div").style("border","1px solid #ccc");if(i=="violin"&&n.pvalues.length>p||n.length>p){h.style("overflow","auto").style("height","220px")}const f=r.hiddenPvalues?n.filter((t=>!r.hiddenPvalues.find((e=>e.series1.id===t.series1.id&&e.series2.id===t.series2.id)))):n;if(i=="violin"?f.pvalues.length:f.length){const t=o&&o.length>0?o.map((t=>t.label)):null;if(t){for(const e of f){const s=[e.series1.id,e.series2.id].sort(((e,s)=>t.indexOf(e)-t.indexOf(s)));if(e.series2.id==s[0]){e.series1_new=e.series2;e.series2_new=e.series1;e.series1=e.series1_new;e.series2=e.series2_new;delete e.series1_new;delete e.series2_new}}f.sort(((e,s)=>t.indexOf(e.series1.id)-t.indexOf(s.series1.id)||t.indexOf(e.series2.id)-t.indexOf(s.series2.id)))}const e=h.append("table").style("width","100%");e.append("thead").append("tr").selectAll("td").data(["Group 1","Group 2","P-value"]).enter().append("td").style("padding","1px 8px 1px 2px").style("color","#858585").style("position","sticky").style("top","0px").style("background","white").style("font-size",d+"px").text((t=>t));const n=e.append("tbody");const a=n.selectAll("tr").data(i=="violin"?f.pvalues:f).enter().append("tr").attr("class",`pp-${i}-chartLegends-pvalue`);if(i=="survival"){a.on("click",((t,e)=>{const s=r.hiddenPvalues.slice();s.push(e);c(s)}))}a.selectAll("td").data((t=>[t.series1,t.series2,t.pvalue])).enter().append("td").attr("aria-label",i?"Click to hide a p-value":"").style("color",i=="violin"?"black":t=>t.color).style("padding","1px 8px 1px 2px").style("font-size",d+"px").style("cursor",i=="survival"?"pointer":"auto").text((t=>i=="violin"?t:t.text));if(i=="cuminc"){if(f.find((t=>t.permutation))){s.append("div").style("margin-top","10px").style("font-size",d-2+"px").text("*computed by permutation of Gray's test statistic")}}}if(i=="survival"){const t=n.filter((t=>r.hiddenPvalues.find((e=>e.series1.id===t.series1.id&&e.series2.id===t.series2.id))));if(t.length){s.append("div").style("color","#aaa").style("cursor","pointer").html(`<span style='color:#aaa; font-weight:400'><span>Hidden tests (${t.length})</span>`).on("click",(s=>{a.clear();const i=a.d.append("div").selectAll("div").data(t).enter().append("div").each((function(t){l(true);const s=e(this);s.append("input").attr("type","checkbox").style("margin-right","5px");s.append("span").html(`${t.series1.id} vs ${t.series2.id}`)}));a.d.append("button").html("Show checked test(s)").on("click",(()=>{const t=[];i.filter((function(){return!e(this.firstChild).property("checked")})).each((e=>t.push(e)));c(t);a.hide()}));a.show(s.clientX,s.clientY)}))}}}export{o as a,r as g,l as r,n as s};