From 3230acf108989a940688a70ac13d63b87da6f15b Mon Sep 17 00:00:00 2001 From: Syed Nakib Hossain Date: Thu, 26 Sep 2024 12:33:34 +0100 Subject: [PATCH 1/2] Fix hgvsg for insertion --- modules/Bio/EnsEMBL/Variation/VariationFeature.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Bio/EnsEMBL/Variation/VariationFeature.pm b/modules/Bio/EnsEMBL/Variation/VariationFeature.pm index 4a7b84bdf..fea2dc754 100755 --- a/modules/Bio/EnsEMBL/Variation/VariationFeature.pm +++ b/modules/Bio/EnsEMBL/Variation/VariationFeature.pm @@ -1967,7 +1967,7 @@ sub hgvs_genomic { if ($is_multi_allelic) { # fix for multi-allelic variants my $old_chr_start = $chr_start; - ($ref_allele, $allele, $chr_start, $chr_end) = @{trim_sequences($original_ref_allele, $allele, $chr_start)}; + ($ref_allele, $allele, $chr_start, $chr_end) = @{trim_sequences($original_ref_allele, $allele, $chr_start, $chr_end)}; $allele ||= '-'; $offset = $chr_start - $old_chr_start; $ref_start = $original_ref_start + $offset; From e5165b7b35309f8ada3bbee6de87fcb760776d69 Mon Sep 17 00:00:00 2001 From: Syed Nakib Hossain Date: Fri, 27 Sep 2024 11:52:02 +0100 Subject: [PATCH 2/2] Fix for reverse trim --- modules/Bio/EnsEMBL/Variation/VariationFeature.pm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/Bio/EnsEMBL/Variation/VariationFeature.pm b/modules/Bio/EnsEMBL/Variation/VariationFeature.pm index fea2dc754..965583793 100755 --- a/modules/Bio/EnsEMBL/Variation/VariationFeature.pm +++ b/modules/Bio/EnsEMBL/Variation/VariationFeature.pm @@ -1929,7 +1929,7 @@ sub hgvs_genomic { my @all_alleles = split(/\//,$tr_vf->allele_string()); my $ref_allele = shift @all_alleles; ## remove reference allele - not useful for HGVS my $original_ref_allele = $ref_allele; - my $original_ref_start = $ref_start; + my ($original_ref_start, $original_ref_end) = ($ref_start, $ref_end); my $is_multi_allelic = scalar @all_alleles > 1; foreach my $original_allele ( @all_alleles ) { @@ -1966,11 +1966,12 @@ sub hgvs_genomic { if ($is_multi_allelic) { # fix for multi-allelic variants - my $old_chr_start = $chr_start; + my ($old_chr_start, $old_chr_end) = ($chr_start, $chr_end); ($ref_allele, $allele, $chr_start, $chr_end) = @{trim_sequences($original_ref_allele, $allele, $chr_start, $chr_end)}; $allele ||= '-'; - $offset = $chr_start - $old_chr_start; - $ref_start = $original_ref_start + $offset; + + $ref_start = $original_ref_start + ($chr_start - $old_chr_start); + $ref_end = $original_ref_end + ($chr_end - $old_chr_end); $ref_allele ||= '-'; } my $var_class = $self->var_allele_class($ref_allele . '/' . $allele);