Skip to content

Instantly share code, notes, and snippets.

@sjdv1982
Last active January 28, 2020 13:07
Show Gist options
  • Save sjdv1982/2f1f8114426b733143354216a0902862 to your computer and use it in GitHub Desktop.
Save sjdv1982/2f1f8114426b733143354216a0902862 to your computer and use it in GitHub Desktop.
MDFF-like (Wilson-regime) cross-correlation for simulated cryo-EM density maps of beta-galactosidase
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import Bio.PDB, io\n",
"from urllib.request import urlopen\n",
"with urlopen(\"https://files.rcsb.org/download/6TTE.pdb\") as pdb_handle:\n",
" pdb_handle2 = io.StringIO(pdb_handle.read().decode())\n",
" struc = Bio.PDB.PDBParser(PERMISSIVE=True, QUIET=True).get_structure(\"galactosidase\", pdb_handle2)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"coors = np.array([a.coord for a in struc.get_atoms()])\n",
"coors -= coors.min(axis=0)\n",
"coors += 15 # 15 A around the protein"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"def atomcount_in_voxel_linear_interpolation(coors, voxelsize):\n",
" dim = np.ceil(np.max(np.round((coors+15)/voxelsize),axis=0)+1).astype(int) # 15 A around the protein\n",
" coors2 = coors/voxelsize + 0.5\n",
" grid = np.zeros(dim)\n",
" \n",
" coors_discrete = []\n",
" for n in range(3):\n",
" c = coors2[:, n]\n",
" c0 = np.floor(c).astype(np.uint16)\n",
" c1 = np.ceil(c).astype(np.uint16) \n",
" w1 = (c - c0)\n",
" w0 = 1 - w1\n",
" coors_discrete.append(((c0, w0), (c1, w1)))\n",
" \n",
" for dx, wx in coors_discrete[0]:\n",
" for dy, wy in coors_discrete[1]:\n",
" for dz, wz in coors_discrete[2]:\n",
" w = wx * wy * wz\n",
" np.add.at(grid, (dx, dy, dz), w)\n",
" return grid\n",
" "
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"def mdff_cross_correlation(x, y):\n",
" yprime = y - y.min()\n",
" xprime = x / x.sum() * yprime.sum()\n",
" xysum = (xprime*yprime).sum()\n",
" xxsum = (xprime*xprime).sum()\n",
" return xysum/xxsum"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"import scipy.ndimage\n",
"\n",
"resolutions = np.array([np.round(100*r)/100 for r in np.arange(1.8, 24, 0.12)])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"cross_correlations = {\n",
" 2: [],\n",
" 3: [],\n",
" 4: [],\n",
" 6: [0,0,0,0,0,0,0,0],\n",
"}\n",
"for voxelsize in np.arange(0.45, 12, 0.01):\n",
" grid = None\n",
" for voxels_per_resolution in 2,3,4,6:\n",
" resolution = np.round(100*voxels_per_resolution * voxelsize)/100\n",
" if resolution not in resolutions:\n",
" continue\n",
" if grid is None:\n",
" grid = atomcount_in_voxel_linear_interpolation(coors, voxelsize)\n",
" print(resolution, voxels_per_resolution)\n",
" cryo_map = scipy.ndimage.gaussian_filter(grid, sigma=0.5*voxels_per_resolution, mode=\"constant\")\n",
" cc = mdff_cross_correlation(grid, cryo_map)\n",
" cross_correlations[voxels_per_resolution].append(cc)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"185\n",
"185\n",
"185\n",
"185\n",
"185\n"
]
}
],
"source": [
"print(len(resolutions))\n",
"print(len(cross_correlations[2]))\n",
"print(len(cross_correlations[3]))\n",
"print(len(cross_correlations[4]))\n",
"print(len(cross_correlations[6]))"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"from matplotlib import pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f51c2392ba8>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"ax = plt.subplot(111)\n",
"box = ax.get_position()\n",
"ax.set_position([box.x0, box.y0 + box.height * 0.1,\n",
" box.width, box.height * 0.9])\n",
"\n",
"ax.plot(resolutions, cross_correlations[2], color=\"red\", label=\"voxelsize = resolution / 2\")\n",
"ax.plot(resolutions, cross_correlations[3], color=\"orange\", label=\"voxelsize = resolution / 3\")\n",
"ax.plot(resolutions, cross_correlations[4], color=\"green\", label=\"voxelsize = resolution / 4\")\n",
"ax.plot(resolutions[8:], cross_correlations[6][8:], color=\"blue\", label=\"voxelsize = resolution / 6\")\n",
"\n",
"ax.legend(loc='upper left', bbox_to_anchor=(1.0, 0.9),\n",
" fancybox=True, shadow=True, ncol=1)\n",
"\n",
"ax.set_xlabel(\"Resolution (A)\")\n",
"ax.set_ylabel(\"MDFF-like cross-correlation\")\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f51c0314e10>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"ax = plt.subplot(111)\n",
"box = ax.get_position()\n",
"ax.set_position([box.x0, box.y0 + box.height * 0.1,\n",
" box.width, box.height * 0.9])\n",
"\n",
"plt.plot((resolutions/2)[:120], cross_correlations[2][:120], color=\"red\", label=\"resolution = 2 * voxelsize\")\n",
"plt.plot(resolutions/3, cross_correlations[3], color=\"orange\", label=\"resolution = 3 * voxelsize\")\n",
"plt.plot(resolutions/4, cross_correlations[4], color=\"green\", label=\"resolution = 4 * voxelsize\")\n",
"plt.plot((resolutions/6)[8:], cross_correlations[6][8:], color=\"blue\", label=\"resolution = 6 * voxelsize\")\n",
"\n",
"ax.legend(loc='upper left', bbox_to_anchor=(1.0, 0.9),\n",
" fancybox=True, shadow=True, ncol=1)\n",
"\n",
"ax.set_xlabel(\"Voxel size (A)\")\n",
"ax.set_ylabel(\"MDFF-like cross-correlation\")\n",
"\n",
"plt.show()"
]
}
],
"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.9"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment