def generate_genemap2(genes, api_key): """Generate a reduced file with omim genemap2 information Args: genes(dict): A dictionary with hgnc_symbol as key and hgnc_id as value api_key(str) Yields: print_line(str): Lines from the reduced file """ mim_files = fetch_mim_files(api_key, genemap2=True) genemap2_lines = mim_files['genemap2'] # Yield the header lines for line in genemap2_lines: if line.startswith('#'): yield line else: break for gene_info in parse_genemap2(genemap2_lines): hgnc_symbol = gene_info.get('hgnc_symbol') if not hgnc_symbol: continue if hgnc_symbol in genes: yield gene_info['raw']
def test_parse_genemap_file(genemap_handle): # WHEN parsing a valid genemap handle i = 0 for i, res in enumerate(parse_genemap2(genemap_handle)): assert "mim_number" in res # THEN items are returned assert i > 0
def test_parse_genemap(): for res in parse_genemap2(GENEMAP_LINES): assert res['Chromosome'] == 'chr1' assert res['mim_number'] == 615291 assert res['hgnc_symbol'] == 'B3GALT6' assert res['inheritance'] == set(['AR']) for phenotype in res['phenotypes']: assert phenotype['mim_number'] assert phenotype['inheritance']
def test_parse_genemap(genemap_lines): for res in parse_genemap2(genemap_lines): assert res["Chromosome"] == "chr1" assert res["mim_number"] == 615291 assert res["hgnc_symbol"] == "B3GALT6" assert res["inheritance"] == set(["AR"]) for phenotype in res["phenotypes"]: assert phenotype["mim_number"] assert phenotype["inheritance"]
def test_parse_genemap_file(genemap_handle): for i, res in enumerate(parse_genemap2(genemap_handle)): assert 'mim_number' in res assert i > 0
def test_parse_genemap_file(genemap_handle): for i,res in enumerate(parse_genemap2(genemap_handle)): assert 'mim_number' in res assert i > 0