gene_hgnc_id = 'HGNC:' + row[3] gene_entrez_id = int(row[4]) gene_entrez_id = 'Entrez:' + str(gene_entrez_id) pmid = int(row[8]) pmid = str(pmid) with io.open(mirna_to_URS_mapping_file, 'r', encoding='utf-8', newline='') as mapping_file: mapping_reader = csv.reader(mapping_file, delimiter='\t') next(mapping_reader, None) for mapping_row in mapping_reader: if mirna_name == mapping_row[2]: mirna_rnacentral_id = mapping_row[0] mirna = MiRNA([mirna_rnacentral_id], [mirna_name]) network.add_node(mirna) gene = Gene([gene_hgnc_id, gene_entrez_id], []) network.add_node(gene) if (mirna_rnacentral_id + '$' + gene_hgnc_id) in edge_source_target_lookup: edges = network.get_edges_from_to(mirna, gene, 'REGULATES') for edge in edges: pmid = edge.attributes['pmid'] + ', ' + str(pmid) network.delete_edge(edge) e = Edge(mirna, gene, 'REGULATES', {'source': 'miRTarBase', 'pmid': pmid}) network.add_edge(e) edge_source_target_lookup.append(mirna_rnacentral_id + '$' + gene_hgnc_id) else: e = Edge(mirna, gene, 'REGULATES', {'source': 'miRTarBase', 'pmid': pmid}) network.add_edge(e) edge_source_target_lookup.append(mirna_rnacentral_id + '$' + gene_hgnc_id) break network.save('data/miRTarBase/graph.json')
gene_hgnc_id = 'HGNC:' + gene_mapping_row[1] break if gene_hgnc_id != 'None' and 'gene' in row[21]: gene_uniprotkb_id = re.split('[:(]', row[5]) gene_uniprotkb_id = 'UniProtKB:' + gene_uniprotkb_id[1] gene_ensembl_id = 'Ensembl:' + gene_ensembl_id gene = Gene([gene_hgnc_id, gene_uniprotkb_id, gene_ensembl_id], []) network.add_node(gene) pmid = row[8].split(':') pmid = pmid[1] source_database = row[12] source_database = source_database.replace('\"', '') if (mirna_rnacentral_id + '$' + gene_hgnc_id) in edge_source_target_lookup: reg_edges = network.get_edges_from_to( mirna, gene, 'REGULATES') for reg_edge in reg_edges: if reg_edge.attributes['source'] == ( 'EBI-GOA-miRNA, ' + source_database): pmid = reg_edge.attributes['pmid'] + ', ' + pmid network.delete_edge(reg_edge) e = Edge( mirna, gene, 'REGULATES', { 'source': 'EBI-GOA-miRNA, ' + source_database, 'pmid': pmid }) network.add_edge(e) edge_source_target_lookup.append( mirna_rnacentral_id + '$' + gene_hgnc_id) else:
drug, 'CONTRAINDICATES') } if not indications.isdisjoint(contraindications): drug_check_failed_count += 1 for intersection in indications.intersection( contraindications): disease = network.get_node_by_id(intersection, 'Disease') drug_text = '%s<br/>%s' % (node_ids_to_links( drug.ids), '<br/>'.join(drug.names)) indications_text = '<br/>'.join([ '%s: %s -> %s' % (x.attributes['source'], node_ids_to_links([x.source_node_id]), node_ids_to_links([x.target_node_id])) for x in network.get_edges_from_to( drug, disease, 'INDICATES') ]) contraindications_text = '<br/>'.join([ '%s: %s -> %s' % (x.attributes['source'], node_ids_to_links([x.source_node_id]), node_ids_to_links([x.target_node_id])) for x in network.get_edges_from_to( drug, disease, 'CONTRAINDICATES') ]) f.write( '<tr><td>%s</td><td style="white-space: nowrap;">%s</td><td style="white-space: nowrap;">%s</td></tr>\n' % (drug_text, indications_text, contraindications_text)) f.write('</tbody>\n</table>\n')