Skip to content

Instantly share code, notes, and snippets.

@sujitpal
Last active August 29, 2015 13:57
Show Gist options
  • Save sujitpal/9727298 to your computer and use it in GitHub Desktop.
Save sujitpal/9727298 to your computer and use it in GitHub Desktop.
Using Correlation Coefficients to select most predictive Gene Expressions in Lung Cancer Data
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": ""
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Using Correlation Coefficients to select most predictive Gene Expressions in Lung Cancer Data ###\n",
"\n",
"We use Lung Cancer data from the Dana Farber Cancer Institute, available from the [Kent Ridge Bio-Medical Datasets](http://datam.i2r.a-star.edu.sg/datasets/krbd/) page.\n",
"\n",
"The data contains gene expression data for 203 individuals. Each record has 12,600 gene expressions so its a very wide record. The target variable (ie, the type of Lung Cancer) can be one of 5 values each corresponding to one type of Lung Cancer - Adenocarcinoma of Lung (ADEN), Squamous Cell Carcinoma (SQUA), Carcinoid (COID), Small Cell Lung Cancer (SCLC) and Normal (NORMAL).\n",
"\n",
"Our objective is to analyze this data and find interesting information about Lung Cancer and different gene expressions from it.\n",
"\n",
"We will do our analysis with Python so we first import the necessary libraries."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from sklearn import preprocessing\n",
"from operator import itemgetter\n",
"%matplotlib inline"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Next we read the data into memory. The data is provided as a comma-separated set of 12,600 continuous variables, one line for each individual. The column names (the names of the gene expressions) are provided in a separate file, so we first import that. We also build a targets map that maps the response variable to a number between 0 and 4."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"colf = open(\"../data/lung-harvard.names\", 'rb')\n",
"targets = {}\n",
"colnames = []\n",
"for col in colf:\n",
" col = col.strip()\n",
" if len(targets) == 0:\n",
" targets = {key:value for value, key in enumerate(col.split(\",\"))}\n",
" continue\n",
" if len(col) == 0: continue\n",
" colnames.append(col.split(\":\")[0].strip())\n",
"colnames.append(\"clazz\")\n",
"colf.close()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We then read in the data into a Pandas DataFrame object, passing in the column names that we just extracted."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data = pd.read_csv(\"../data/lung-harvard.data\", names=colnames)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 3
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Since we are going to use algorithms in Scikits-Learn to analyze our data, we need to convert this to a form that can be used by them. X is a 203x12600 matrix that contains all our features and y is a 203 element array containing all our response variables. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"X = data.values[:, 0:-1]\n",
"y = np.array([targets[v] for v in list(data[\"clazz\"].values)])\n",
"X, y"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 4,
"text": [
"(array([[-18.6, 10.54, 0.01, ..., 13.78, -103.49, 76.98],\n",
" [9.12, 9.12, 10.18, ..., -24.85, -34.41, 105.73],\n",
" [-2.175, -2.21, -0.0599999, ..., 10.465, -42.63, 73.735],\n",
" ..., \n",
" [-28.39, -6.2, -19.35, ..., 62.83, -66.2, 96.52],\n",
" [13.66, 16.82, -6.11, ..., 88.81, -89.93, 104.64],\n",
" [-14.29, -1.17, -0.23, ..., 100.11, -121.13, 87.92]], dtype=object),\n",
" array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
" 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
" 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
" 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
" 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
" 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
" 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3,\n",
" 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4]))"
]
}
],
"prompt_number": 4
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Given that the data has been generated from gene sequencers, it is very likely that they are in the same units and comparable, but for purposes of comparison we will just scale them so that they all have a mean of 0 and standard deviation of 1."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"scaler = preprocessing.StandardScaler()\n",
"X_scaled = scaler.fit_transform(X)\n",
"X_scaled"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 11,
"text": [
"array([[-0.5227063 , 0.24721654, -0.02648143, ..., -0.40856216,\n",
" -0.988903 , 0.1873709 ],\n",
" [ 0.82877933, 0.18378862, 0.50429811, ..., -1.27053044,\n",
" 0.60904894, 1.18361986],\n",
" [ 0.27809282, -0.32229469, -0.03013477, ..., -0.48253122,\n",
" 0.41890469, 0.07492472],\n",
" ..., \n",
" [-1.0000167 , -0.5005182 , -1.03689362, ..., 0.6859122 ,\n",
" -0.12631429, 0.86447367],\n",
" [ 1.05012654, 0.52772873, -0.34588859, ..., 1.26561544,\n",
" -0.67523438, 1.14584903],\n",
" [-0.31257271, -0.27584044, -0.0390072 , ..., 1.51775734,\n",
" -1.39694979, 0.56646529]])"
]
}
],
"prompt_number": 11
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We now try to find the features that are most important to decide the type of lung cancer, given the data. To do this, let us find the features that are most highly correlated (positively or negatively) with the target variable."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"corrs = []\n",
"for col in range(0, np.shape(X)[1]):\n",
" corrs.append(np.abs(np.corrcoef(y, X_scaled[:, col])[0,1]))\n",
"corrs_sorted = sorted(enumerate(corrs), key=itemgetter(1), reverse=True)\n",
"print \"Top Gene Expression Features\"\n",
"for corr in corrs_sorted[0:10]:\n",
" print \"%s: %f\" % (colnames[corr[0]], corr[1])"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Top Gene Expression Features\n",
"40841_at: 0.704324\n",
"32542_at: 0.700063\n",
"36569_at: 0.673899\n",
"35868_at: 0.673499\n",
"607_s_at: 0.670205\n",
"32780_at: 0.660389\n",
"38177_at: 0.659326\n",
"36207_at: 0.658311\n",
"38995_at: 0.656257\n",
"40607_at: 0.654112\n"
]
}
],
"prompt_number": 6
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Scatterplots of the top 2 features. Both variables are positively correlated."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"plt.scatter(X[:,corrs_sorted[0][0]], y)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 7,
"text": [
"<matplotlib.collections.PathCollection at 0x9920890>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x5763c90>"
]
}
],
"prompt_number": 7
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"plt.scatter(X[:,corrs_sorted[1][0]], y)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 8,
"text": [
"<matplotlib.collections.PathCollection at 0x7610c10>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x98791d0>"
]
}
],
"prompt_number": 8
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Another way to look at the data is to look at the distribution of the features for each target variable. As before, we choose only the top 2 features and construct box plots for subsets of the data corresponding to the output variable."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def make_box_plot(feat_col):\n",
" distribs = []\n",
" for target in targets.keys():\n",
" data_filt = data[data[\"clazz\"] == target]\n",
" feats = list(data_filt[colnames[feat_col]])\n",
" distribs.append(feats)\n",
" bp = plt.boxplot(distribs)\n",
"\n",
"make_box_plot(corrs_sorted[0][0])"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\nRU5ErkJggg==\n",
"text": [
"<matplotlib.figure.Figure at 0x993fed0>"
]
}
],
"prompt_number": 9
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"make_box_plot(corrs_sorted[1][0])"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x75f7f50>"
]
}
],
"prompt_number": 10
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As can be seen in the box plots for the two genes, both genes seem to be under-expressed for lung cancer patients. The 3rd boxplot represents NORMAL, and as you can see, in both cases, the distributions of values of expressions for the two genes we considered are on average much higher for NORMAL (ie not lung cancer patients)."
]
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment