scout/server/blueprints/genes/controllers.py
def gene(store, hgnc_id):
    """Parse information about a gene."""
    res = {'builds': {'37': None, '38': None}, 'symbol': None, 'description': None, 'ensembl_id': None, 'record': None}

    for build in res['builds']:
        record = store.hgnc_gene(hgnc_id, build=build)
        if record:

            record['position'] = "{this[chromosome]}:{this[start]}-{this[end]}".format(this=record)
            res['aliases'] = record['aliases']
            res['hgnc_id'] = record['hgnc_id']
            res['description'] = record['description']
            res['builds'][build] = record
            res['symbol'] = record['hgnc_symbol']
            res['description'] = record['description']
            res['entrez_id'] = record.get('entrez_id')
            res['pli_score'] = record.get('pli_score')

            add_gene_links(record, int(build))

            res['omim_id'] = record.get('omim_id')
            res['incomplete_penetrance'] = record.get('incomplete_penetrance',False)
            res['inheritance_models'] = record.get('inheritance_models',[])
            for transcript in record['transcripts']:
                transcript['position'] = ("{this[chrom]}:{this[start]}-{this[end]}"
                                          .format(this=transcript))
                add_tx_links(transcript, build)

            for phenotype in record.get('phenotypes',[]):
                phenotype['omim_link'] = omim(phenotype.get('mim_number'))

            if not res['record']:
                res['record'] = record

    # If none of the genes where found
    if not any(res.values()):
        raise ValueError

    return res
def gene(store, hgnc_id):
    res = {'builds': {'37': None, '38': None}, 'symbol': None, 'description': None, 'ensembl_id': None, 'record': None}

    for build in res['builds']:
        record = store.hgnc_gene(hgnc_id, build=build)
        if record:

            record['position'] = "{this[chromosome]}:{this[start]}-{this[end]}".format(this=record)
            res['aliases'] = record['aliases']
            res['hgnc_id'] = record['hgnc_id']
            res['description'] = record['description']
            res['builds'][build] = record
            res['symbol'] = record['hgnc_symbol']
            res['description'] = record['description']
            res['entrez_id'] = record.get('entrez_id')
            res['pli_score'] = record.get('pli_score')

            add_gene_links(record, int(build))

            res['omim_id'] = record.get('omim_id')
            res['incomplete_penetrance'] = record.get('incomplete_penetrance',False)
            res['inheritance_models'] = record.get('inheritance_models',[])
            for transcript in record['transcripts']:
                transcript['position'] = ("{this[chrom]}:{this[start]}-{this[end]}"
                                          .format(this=transcript))
                add_tx_links(transcript, build)

            for phenotype in record.get('phenotypes',[]):
                phenotype['omim_link'] = omim(phenotype.get('mim_number'))

            if not res['record']:
                res['record'] = record

    # If none of the genes where found
    if not any(res.values()):
        raise ValueError

    return res
def gene ( store , hgnc_id ) : res = { 'builds' : { '37' : None , '38' : None } , 'symbol' : None , 'description' : None , 'ensembl_id' : None , 'record' : None } for build in res [ 'builds' ] : record = store . hgnc_gene ( hgnc_id , build = build ) if record : record [ 'position' ] = "{this[chromosome]}:{this[start]}-{this[end]}" . format ( this = record ) res [ 'aliases' ] = record [ 'aliases' ] res [ 'hgnc_id' ] = record [ 'hgnc_id' ] res [ 'description' ] = record [ 'description' ] res [ 'builds' ] [ build ] = record res [ 'symbol' ] = record [ 'hgnc_symbol' ] res [ 'description' ] = record [ 'description' ] res [ 'entrez_id' ] = record . get ( 'entrez_id' ) res [ 'pli_score' ] = record . get ( 'pli_score' ) add_gene_links ( record , int ( build ) ) res [ 'omim_id' ] = record . get ( 'omim_id' ) res [ 'incomplete_penetrance' ] = record . get ( 'incomplete_penetrance' , False ) res [ 'inheritance_models' ] = record . get ( 'inheritance_models' , [ ] ) for transcript in record [ 'transcripts' ] : transcript [ 'position' ] = ( "{this[chrom]}:{this[start]}-{this[end]}" . format ( this = transcript ) ) add_tx_links ( transcript , build ) for phenotype in record . get ( 'phenotypes' , [ ] ) : phenotype [ 'omim_link' ] = omim ( phenotype . get ( 'mim_number' ) ) if not res [ 'record' ] : res [ 'record' ] = record # If none of the genes where found if not any ( res . values ( ) ) : raise ValueError return res
Parse information about a gene.
Parse information about a gene .