Skip to content

Commit 20ff742

Browse files
committed
Make var_c shifts easier to get from the assembly mapper
1 parent ded59ae commit 20ff742

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

src/hgvs/assemblymapper.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,14 @@ def _maybe_normalize(self, var):
285285
# fall through to return unnormalized variant
286286
return var
287287

288+
def _var_c_shifts(self, var_c):
289+
"""Try to shift c. variants to find alternative representations."""
290+
alt_ac = self._alt_ac_for_tx_ac(var_c.ac)
291+
yield from super(AssemblyMapper, self)._var_c_shifts(
292+
var_c, alt_ac, alt_aln_method=self.alt_aln_method
293+
)
294+
295+
288296

289297
# <LICENSE>
290298
# Copyright 2018 HGVS Contributors (https://github.com/biocommons/hgvs)

src/hgvs/variantmapper.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -454,7 +454,7 @@ def c_to_p(self, var_c, pro_ac=None, alt_ac=None, alt_aln_method=hgvs.global_con
454454
):
455455
if alt_ac is None:
456456
raise HGVSUnsupportedOperationError(f'mapping specific variant {var_c} requires alt_ac')
457-
for shifted_var_c in self._var_c_shifts(var_c, alt_ac, alt_aln_method):
457+
for shifted_var_c in VariantMapper._var_c_shifts(self, var_c, alt_ac, alt_aln_method):
458458
shifted_reference_data = RefTranscriptData(self.hdp, shifted_var_c.ac, pro_ac)
459459
shifted_builder = altseqbuilder.AltSeqBuilder(shifted_var_c, shifted_reference_data)
460460
shifted_region = shifted_builder.get_variant_region()
@@ -665,6 +665,8 @@ def _update_gene_symbol(self, var, symbol):
665665

666666
def _var_c_shifts(self, var_c, alt_ac, alt_aln_method):
667667
"""Try to shift c. variants to find alternative representations."""
668+
if not var_c.posedit or var_c.posedit.edit.type not in ("ins", "dup"):
669+
return
668670
strand = self._fetch_AlignmentMapper(tx_ac=var_c.ac, alt_ac=alt_ac, alt_aln_method=alt_aln_method).strand
669671
var_g = VariantMapper.c_to_g(self, var_c, alt_ac=alt_ac, alt_aln_method=alt_aln_method)
670672
for shifted_var_g in self._var_g_shifts(var_g, strand=strand, alt_aln_method=alt_aln_method):

0 commit comments

Comments
 (0)