def test_variant_identity2(self):
     """ Will test that the reference is not removed """
     stringvar = 'NM_015120.4:c.34C='
     var = self.hp.parse_hgvs_variant(stringvar)
     output = utils.valstr(var)
     self.assertEqual(var.posedit.edit.type, 'identity')
     self.assertEqual(output, 'NM_015120.4:c.34C=')
 def test_variant_sub(self):
     """ Will test that reference isn't removed """
     stringvar = 'NM_015120.4:c.34C>T'
     var = self.hp.parse_hgvs_variant(stringvar)
     output = utils.valstr(var)
     self.assertEqual(var.posedit.edit.type, 'sub')
     self.assertEqual(output, stringvar)
Beispiel #3
0
def get_ucsc_link(validator, output):

    try:
        if output['genome'] == 'GRCh37':
            ucsc_assembly = 'hg19'
        else:
            ucsc_assembly = 'hg38'

        hgvs_genomic = validator.hp.parse_hgvs_variant(
            output['results'][0]['primary_assembly_loci'][ucsc_assembly]['hgvs_genomic_description'])

        chromosome = to_chr_num_ucsc(hgvs_genomic.ac, ucsc_assembly)
        vcf_varsome = output['results'][0]['primary_assembly_loci'][ucsc_assembly]['vcfstr_alt']

        if chromosome is not None:
            vcf_components = output['genomes'][ucsc_assembly].split('-')
            vcf_components[0] = chromosome
            vcf_varsome = '-'.join(vcf_components)

        browser_start = str(hgvs_genomic.posedit.pos.start.base - 11)
        browser_end = str(hgvs_genomic.posedit.pos.end.base + 11)
        ucsc_browser_position = '%s:%s-%s' % (chromosome, browser_start, browser_end)
        coding = output['results'][0]['hgvs_transcript_variant']
        current_site = Site.objects.get_current()
        ucsc_link = 'http://genome.ucsc.edu/cgi-bin/hgTracks?' \
                    'db=%s&position=%s&hgt.customText=http://%s/bed/?variant=%s|%s|%s|%s|%s' % \
                    (
                     ucsc_assembly,
                     ucsc_browser_position,
                     current_site.domain,
                     coding,
                     hgvs_genomic.ac,
                     output['genome'],
                     valstr(hgvs_genomic),
                     vcf_varsome
                    )
        return ucsc_link
    except Exception:
        # This exception picks up variants with no primary assembly for the selected genome e.g. HLA-DRB4
        pass
 def test_string(self):
     var = ''
     with self.assertRaises(AttributeError):
         utils.valstr(var)