Skip to content

Instantly share code, notes, and snippets.

@cplaisier
Forked from Dbyrum/task1part2.ipynb
Last active July 25, 2018 15:48
Show Gist options
  • Select an option

  • Save cplaisier/a26da2b2b9da8fcff9c4bcf33a0862db to your computer and use it in GitHub Desktop.

Select an option

Save cplaisier/a26da2b2b9da8fcff9c4bcf33a0862db to your computer and use it in GitHub Desktop.
adding a new file to the task in order to pull new information and create another network
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"74\n"
]
}
],
"source": [
"# Import libraries up front\n",
"import json\n",
"\n",
"# From Table S13 in Plaisier et al., Cell Systems 2016\n",
"# These are Entrez IDs (https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3013746/)\n",
"input = ['430', '1052', '1053', '1385', '84699', '9586', '1871', '1874', '144455', '79733', '1960', '1997', '2002', '2004', '80712', '2114', '2115', '2120', '51513', '2551', '2623', '2624', '2625', '9421', '3232', '10320', '3659', '3662', '3670', '91464', '3726', '10661', '11278', '128209', '10365', '9314', '1316', '51176', '9935', '23269', '4602', '4774', '4790', '7025', '9480', '5468', '5914', '5916', '3516', '5971', '864', '6257', '4093', '6659', '6660', '6662', '25803', '347853', '30009', '9496', '6929', '6925', '8463', '7022', '29842', '10155', '6935', '132625', '23051', '85416', '7707', '7764', '23528', '201516']\n",
"print(len(input))\n",
"# Loading JSON file\n",
"# https://www.safaribooksonline.com/library/view/python-cookbook-3rd/9781449357337/ch06s02.html\n",
"# Example:\n",
"# import json\n",
"#\n",
"# # Reading data back\n",
"# with open('data.json', 'r') as f:\n",
"# data = json.load(f)\n",
"\n",
"# Reading TF regulator to TF target gene relationships into Python\n",
"# The json library we import takes care of most of the work\n",
"with open('tfbsDb_plus_and_minus_5000_entrez.json', 'r') as f:\n",
" tfbsDb = json.load(f)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['SOX10_HMG_full_dimeric_16_1', 'V_AP2ALPHA_01_M00469', 'V_SIX6_01_M01345', 'Pitx1.1', 'ELF1_ETS_full_monomeric_12_1']\n"
]
}
],
"source": [
"# Example set of keys in tfbsDb, they are Motif IDs (http://jaspar.genereg.net/search?q=Homo%20sapiens&collection=CORE&tax_group=vertebrates)\n",
"print(list(tfbsDb.keys())[0:5])"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['10', '100131211', '100288797', '100302736', '10057']\n"
]
}
],
"source": [
"# Example set of values under a specific Motif ID, they are Entrez IDs\n",
"print(tfbsDb[list(tfbsDb.keys())[1]][0:5])"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1185\n"
]
}
],
"source": [
"print(len(tfbsDb[list(tfbsDb.keys())[0]]))"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"Family2Id = {}\n",
"Id2Family = {}\n",
"with open('id_conversion/tfFamilies.csv','r', encoding='iso-8859-1') as openFile: # opening file \n",
" header = openFile.readline().strip().split(',') # reading in first line of file as header\n",
" #print(header)\n",
" while 1:\n",
" inLine = openFile.readline()\n",
" if not inLine:\n",
" break\n",
" strip = inLine.strip().split(',')\n",
" strip2 = strip[2].split(' ') # strip2 to seperate Entrez id values \n",
" Family2Id[strip[0]] = strip2 # adding keys and values to Family2Id dictionary from file\n",
" \n",
" for IdList in strip2:\n",
" Id2Family[IdList] = []\n",
" Id2Family[IdList] = strip[0]\n",
"\n",
" \n",
"#print (Id2Family.keys()) \n",
"#print (Family2Id.values())"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['Motif Name', 'Gene Symbol', 'Entrez ID']\n"
]
}
],
"source": [
"# Read in humanTFs file\n",
" \n",
"id2motif = {}\n",
"motif2id = {}\n",
"with open('id_conversion/humanTFs_All.csv','r') as inFile:\n",
" # Use the readline() function to read in a single line\n",
" # strip() gets rid of the newline character at the end of the line\n",
" # split(',') splits up the line into columns based on commas\n",
" header = inFile.readline().strip().split(',')\n",
" print (header)\n",
" while 1:\n",
" inLine = inFile.readline()\n",
" if not inLine:\n",
" break\n",
" split = inLine.strip().split(',') \n",
" \n",
" # TODO Fill out the id2motif dictionary (key = Entrez ID, value = Motif Name)\n",
" # if split[2]\n",
" \n",
" if not split[2] in id2motif:\n",
" id2motif[split[2]] = []\n",
" id2motif[split[2]].append(split[0]) \n",
" # TODO Fill out the motif2id dictionary (key = Motif Name, value = Entrez ID)\n",
" motif2id[split[0]]=split[2]\n",
" \n",
" \n",
" \n",
"\n",
"#print(len(motif2id))\n",
"#print(len(id2motif.keys()))\n",
"#print(id2motif)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"\n",
"## To build a TF regulator to TF target gene network (constrained to TFs within the input list).\n",
"## This will require mapping from:\n",
"## 1. Input list of potential TF regulator Entrez Gene IDs (input) \n",
"## 2. List of Motif IDs for an Entrez Gene ID in the input list (either id2motif or motif2id)\n",
"## 3. TF target genes that are Entrez Gene IDs that are the values under a specific Motif ID in tfbsDb\n",
"## 4. Restrict TF target genes to only those in the input list\n",
"## 5. Add new entry to tfNetwor dictionary that has as the key the TF regulator and the values all the TF target genes\n",
"tfNetwork = {}\n",
"tfFamilies = {}\n",
"\n",
"for eachTfReg in input: # for loop that assigns each iteration to eachTfReg\n",
" if eachTfReg in id2motif:\n",
" for eachMotif in id2motif[eachTfReg]: # loop function that checks motif2id in id2motif[eachTfReg]\n",
" if eachMotif in tfbsDb:\n",
" targets = tfbsDb[eachMotif] # assign targets from id2motif[eachTfReg]/eachTfreg\n",
" for eachTarget in targets:\n",
" if not eachTfReg in tfNetwork:\n",
" tfNetwork[eachTfReg] = []\n",
" if eachTarget in input and not eachTarget in tfNetwork[eachTfReg]:\n",
" tfNetwork[eachTfReg].append(eachTarget)\n",
" else:\n",
" for eachFamily in Family2Id:\n",
" if eachTfReg in Family2Id[eachFamily]:\n",
" for eachId in Family2Id[eachFamily]:\n",
" if eachId in id2motif:\n",
" for eachMotif in id2motif[eachId]: # loop function that checks motif2id in id2motif[eachTfReg]\n",
" if eachMotif in tfbsDb:\n",
" targets = tfbsDb[eachMotif] # assign targets from id2motif[eachTfReg]/eachTfreg\n",
" for eachTarget in targets:\n",
" if not eachTfReg in tfNetwork:\n",
" tfNetwork[eachTfReg] = []\n",
" if eachTarget in input and not eachTarget in tfNetwork[eachTfReg]:\n",
" tfNetwork[eachTfReg].append(eachTarget)\n",
" \n"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x24774482860>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import networkx as nx\n",
"import matplotlib.pyplot as plt\n",
"\n",
"netConnections = []\n",
"for TFreg in tfNetwork:\n",
" for TFtarg in tfNetwork[TFreg]:\n",
" netConnections.append((TFreg,TFtarg))\n",
"\n",
" \n",
"#print(netConnections)\n",
"\n",
"G = nx.DiGraph()\n",
"G.add_edges_from(netConnections)\n",
"#print(G)\n",
"pos = nx.spring_layout(G)\n",
"nx.draw_networkx_nodes(G, pos, cmap=plt.get_cmap('jet'), node_size = 500)\n",
"nx.draw_networkx_labels(G, pos)\n",
"nx.draw_networkx_edges(G, pos)\n",
"plt.show()\n"
]
},
{
"cell_type": "code",
"execution_count": 111,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"12\n",
"['84699', '9421', '3726', '128209', '10365', '1316', '5971', '4093', '347853', '8463', '23051', '85416']\n"
]
}
],
"source": [
"l1 = []\n",
"for eachTfReg in input:\n",
" if not eachTfReg in tfNetwork:\n",
" #print (eachTfReg)\n",
" l1.append(eachTfReg)\n",
" \n",
"print(len(l1))\n",
"print(l1)"
]
},
{
"cell_type": "code",
"execution_count": 118,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 118,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"'84699' in Family2Id['CREB-3-like factors']"
]
},
{
"cell_type": "code",
"execution_count": 103,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"False"
]
},
"execution_count": 103,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"'142' in tfbsDb['Ascl2.1']"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment