From 1d5a47fd0ac2c657510077d672a369469e05256d Mon Sep 17 00:00:00 2001 From: Reece Hart Date: Wed, 8 Apr 2020 16:36:52 -0700 Subject: [PATCH] fix broken misc/experimental/vcf-add-hgvs --- hgvs/assemblymapper.py | 2 +- hgvs/sequencevariant.py | 1 + hgvs/variantmapper.py | 2 -- misc/experimental/vcf-add-hgvs | 28 ++++++++++++++-------------- 4 files changed, 16 insertions(+), 17 deletions(-) diff --git a/hgvs/assemblymapper.py b/hgvs/assemblymapper.py index 6837a46e..af743e37 100644 --- a/hgvs/assemblymapper.py +++ b/hgvs/assemblymapper.py @@ -234,7 +234,7 @@ def _maybe_normalize(self, var): try: return self._norm.normalize(var) except HGVSUnsupportedOperationError as e: - _logger.warning(str(e) + "; returning unnormalized variant") + _logger.info(str(e) + "; returning unnormalized variant") # fall through to return unnormalized variant return var diff --git a/hgvs/sequencevariant.py b/hgvs/sequencevariant.py index 5d0f4d6d..949836fb 100644 --- a/hgvs/sequencevariant.py +++ b/hgvs/sequencevariant.py @@ -59,6 +59,7 @@ def __repr__(self): def fill_ref(self, hdp): # TODO: Refactor. SVs should not operate on themselves when # external resources are required + # replace_reference should be moved outside function vm = hgvs.variantmapper.VariantMapper(hdp) type = None if isinstance(self.posedit, hgvs.posedit.PosEdit) and isinstance( diff --git a/hgvs/variantmapper.py b/hgvs/variantmapper.py index ea45b841..d26b98ff 100644 --- a/hgvs/variantmapper.py +++ b/hgvs/variantmapper.py @@ -1,8 +1,6 @@ # -*- coding: utf-8 -*- """Projects variants between sequences using AlignmentMapper. - - """ from __future__ import absolute_import, division, print_function, unicode_literals diff --git a/misc/experimental/vcf-add-hgvs b/misc/experimental/vcf-add-hgvs index 866c9bc4..49eb40d9 100755 --- a/misc/experimental/vcf-add-hgvs +++ b/misc/experimental/vcf-add-hgvs @@ -24,7 +24,7 @@ import hgvs.posedit import hgvs.sequencevariant import hgvs.parser import hgvs.dataproviders.uta -import hgvs.variantmapper +import hgvs.assemblymapper _logger = logging.getLogger(__name__) @@ -36,10 +36,10 @@ def parse_args(argv): ap.add_argument('--assembly', '-A', default='GRCh37') ap.add_argument('--in-filename', '-i', default='-') ap.add_argument('--out-filename', '-o', default='-') - ap.add_argument('--with-c-dot', - '-c', + ap.add_argument('--add-transcript-variants', + '-t', default=False, - help="add transcript variant projections to c", + help="add transcript variant projections", action='store_true') args = ap.parse_args(argv) return args @@ -89,7 +89,7 @@ def alts_as_genomic_hgvs(contig_ac_map, r, keep_left_anchor=False): if __name__ == '__main__': - logging.basicConfig(level=logging.INFO) + logging.basicConfig(level=logging.WARNING) try: import vcf @@ -100,12 +100,12 @@ if __name__ == '__main__': opts = parse_args(sys.argv[1:]) - if opts.with_c_dot: + if opts.add_transcript_variants: hp = hgvs.parser.Parser() hdp = hgvs.dataproviders.uta.connect() - evm = easyvariantmapper = hgvs.variantmapper.AssemblyMapper(hdp, - assembly_name=opts.assembly, - alt_aln_method='splign') + am = hgvs.assemblymapper.AssemblyMapper(hdp, + assembly_name=opts.assembly, + alt_aln_method='splign') assemblies = get_assemblies() assert opts.assembly in assemblies, "{} not in known assemblies (known: {}".format( @@ -124,12 +124,12 @@ if __name__ == '__main__': for r in vr: genomic_hgvs = alts_as_genomic_hgvs(contig_ac_map, r) hgvs_variants = genomic_hgvs - if opts.with_c_dot: - coding_hgvs = [] + if opts.add_transcript_variants: + transcript_hgvs = [] for hv in hgvs_variants: g_var = hp.parse_hgvs_variant(hv) - c_vars = [evm.g_to_c(g_var, ac) for ac in evm.relevant_transcripts(g_var)] - coding_hgvs += [str(c_var) for c_var in c_vars] - hgvs_variants += coding_hgvs + t_vars = [am.g_to_t(g_var, ac) for ac in am.relevant_transcripts(g_var)] + transcript_hgvs += [str(t_var) for t_var in t_vars] + hgvs_variants += transcript_hgvs r.add_info('HGVS', '|'.join(hgvs_variants)) vw.write_record(r)