From e62c652a8b6cd415250b6703d79be6564d089ec3 Mon Sep 17 00:00:00 2001
From: Phil Darnowsky <pdarnows@broadinstitute.org>
Date: Tue, 11 Jun 2024 11:06:47 -0400
Subject: [PATCH] Add hemizygous count to structural variant tables

---
 browser/src/GenePage/StructuralVariantsInGene.tsx      |  1 +
 browser/src/RegionPage/StructuralVariantsInRegion.tsx  |  1 +
 .../structuralVariantTableColumns.tsx                  | 10 ++++++++++
 3 files changed, 12 insertions(+)

diff --git a/browser/src/GenePage/StructuralVariantsInGene.tsx b/browser/src/GenePage/StructuralVariantsInGene.tsx
index be1e99a5c..7e4c9dc9f 100644
--- a/browser/src/GenePage/StructuralVariantsInGene.tsx
+++ b/browser/src/GenePage/StructuralVariantsInGene.tsx
@@ -29,6 +29,7 @@ const StructuralVariantsInGene = ({ datasetId, gene, zoomRegion, ...rest }: Prop
       gene(gene_id: $geneId, reference_genome: $referenceGenome) {
         structural_variants(dataset: $datasetId) {
           ac
+	  ac_hemi
           ac_hom
           an
           af
diff --git a/browser/src/RegionPage/StructuralVariantsInRegion.tsx b/browser/src/RegionPage/StructuralVariantsInRegion.tsx
index 36b49e573..250ba8be9 100644
--- a/browser/src/RegionPage/StructuralVariantsInRegion.tsx
+++ b/browser/src/RegionPage/StructuralVariantsInRegion.tsx
@@ -30,6 +30,7 @@ const StructuralVariantsInRegion = ({ datasetId, region, zoomRegion, ...rest }:
       region(chrom: $chrom, start: $start, stop: $stop, reference_genome: $referenceGenome) {
         structural_variants(dataset: $datasetId) {
           ac
+	  ac_hemi
           ac_hom
           an
           af
diff --git a/browser/src/StructuralVariantList/structuralVariantTableColumns.tsx b/browser/src/StructuralVariantList/structuralVariantTableColumns.tsx
index aa0a7fa74..ad5e37255 100644
--- a/browser/src/StructuralVariantList/structuralVariantTableColumns.tsx
+++ b/browser/src/StructuralVariantList/structuralVariantTableColumns.tsx
@@ -102,6 +102,16 @@ const structuralVariantTableColumns = [
     shouldShowInContext: (context: Context) => context.chrom !== 'Y',
   },
 
+  {
+    key: 'hemizygote_count',
+    heading: 'Number of Hemizygotes',
+    contextNotes: 'Not shown when viewing Y chromosome',
+    minWidth: 100,
+    compareFunction: makeNumericCompareFunction('ac_hemi'),
+    render: (variant: any) => renderAlleleCountCell(variant, 'ac_hemi'),
+    shouldShowInContext: (context: Context) => context.chrom !== 'Y',
+  },
+
   {
     key: 'length',
     heading: 'Size',