Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save yuxuanzhuang/937863d018621ad1fd9446c1f4a2bf3b to your computer and use it in GitHub Desktop.
Save yuxuanzhuang/937863d018621ad1fd9446c1f4a2bf3b to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"from pmda.parallel import ParallelAnalysisBase"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"import pmda.rms"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"import pmda.density"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"import MDAnalysis as mda\n",
"from MDAnalysis.tests.datafiles import *\n",
"\n",
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Density Test Case"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<pmda.density.DensityAnalysis at 0x7f38e1df1580>"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"U = mda.Universe(TPR, XTC)\n",
"ow = U.select_atoms(\"name OW\")\n",
"D = pmda.density.DensityAnalysis(ow, delta=1.0)\n",
"D.run(n_blocks=2)\n",
"#D.convert_density('TIP4P')"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"D.density.export(\"water_new_pmda.dx\", type=\"double\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Reference from MDAnlaysis"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"import MDAnalysis.analysis.density"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<MDAnalysis.analysis.density.DensityAnalysis at 0x7f38e1d5bb80>"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"U = mda.Universe(TPR, XTC)\n",
"ow = U.select_atoms(\"name OW\")\n",
"D = MDAnalysis.analysis.density.DensityAnalysis(ow, delta=1.0)\n",
"D.run()"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"D.density.export(\"water.dx\", type=\"double\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# RMSD Test Case"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/scottzhuang/mdanalysis/package/MDAnalysis/topology/guessers.py:146: UserWarning: Failed to guess the mass for the following atom types: D\n",
" warnings.warn(\"Failed to guess the mass for the following atom types: {}\".format(atom_type))\n",
"/home/scottzhuang/mdanalysis/package/MDAnalysis/topology/guessers.py:146: UserWarning: Failed to guess the mass for the following atom types: Z\n",
" warnings.warn(\"Failed to guess the mass for the following atom types: {}\".format(atom_type))\n",
"/home/scottzhuang/mdanalysis/package/MDAnalysis/topology/PDBParser.py:324: UserWarning: Invalid elements found in the PDB file, elements attributes will not be populated.\n",
" warnings.warn(\"Invalid elements found in the PDB file, \"\n"
]
},
{
"data": {
"text/plain": [
"<pmda.rms.rmsd.RMSD at 0x7f38e57eb3a0>"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"u = mda.Universe('serialize_mda/benchmarking/YiiP_system.pdb','serialize_mda/benchmarking/YiiP_system_90ns_center.xtc')\n",
"ref = mda.Universe('serialize_mda/benchmarking/YiiP_system.pdb')\n",
"rmsd_ana = pmda.rms.RMSD(u.atoms,ref.atoms)\n",
"rmsd_ana.run(n_jobs=-1)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f38d21f5df0>]"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(rmsd_ana.rmsd.T[2])"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'_io': array([0.00676775, 0.00662255, 0.00932765, ..., 0.00831914, 0.00690699,\n",
" 0.00726438]),\n",
" '_io_block': array([9.31544232, 9.39644957, 9.02168822, 9.53881145, 9.31421804,\n",
" 9.25225568, 9.37462187, 9.42316318, 8.59592557, 9.34390759,\n",
" 9.38294578, 9.71854758]),\n",
" '_compute': array([0.00965405, 0.00861764, 0.01093006, ..., 0.00922823, 0.01036048,\n",
" 0.00986409]),\n",
" '_compute_block': array([14.63490558, 14.40958953, 13.90932822, 14.91411972, 14.4689908 ,\n",
" 14.36733603, 14.66522384, 14.65229058, 13.36331201, 14.07873464,\n",
" 13.66098166, 14.71827006]),\n",
" '_total': 29.20208477973938,\n",
" '_cumulate': 283.52105951309204,\n",
" '_prepare': 1.6450881958007812e-05,\n",
" '_prepare_dask': 0.0007977485656738281,\n",
" '_conclude': 0.00015234947204589844,\n",
" '_wait': array([1.47012448, 3.43076015, 5.49760127, 2.35931659, 3.92123652,\n",
" 3.24577713, 1.95975161, 1.76997232, 6.99621868, 4.65604734,\n",
" 6.10469723, 2.83764458])}"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"rmsd_ana.timing.__dict__"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# RMSF Test Case"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"import MDAnalysis as mda\n",
"from MDAnalysis.analysis import align\n",
"from MDAnalysis.tests.datafiles import TPR, XTC\n"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"u = mda.Universe(TPR, XTC, in_memory=True)\n",
"protein = u.select_atoms(\"protein\")\n",
"\n",
"\n",
"prealigner = align.AlignTraj(u, u, select=\"protein and name CA\", in_memory=True).run()\n",
"\n",
"reference_coordinates = u.trajectory.timeseries(asel=protein).mean(axis=1)\n",
"\n",
"reference = mda.Merge(protein).load_new(\n",
" reference_coordinates[:, None, :], order=\"afc\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Reference from MDAnalysis"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "fa15c4f65738404ba9282aaf85a14eb0",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"HBox(children=(FloatProgress(value=0.0, max=10.0), HTML(value='')))"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n"
]
}
],
"source": [
"from MDAnalysis.analysis.rms import RMSF\n",
"\n",
"calphas = protein.select_atoms(\"name CA\")\n",
"rmsfer = RMSF(calphas, verbose=True).run()"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f38d2780b50>]"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"plt.plot(calphas.resnums, rmsfer.rmsf)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Different n_blocks "
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<pmda.rms.rmsf.RMSF at 0x7f38d1f9aaf0>"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from pmda.rms import rmsf\n",
"calphas = protein.select_atoms(\"name CA\")\n",
"rmsfer = rmsf.RMSF(calphas)\n",
"rmsfer.run(n_blocks=2)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f38d2bb1c10>]"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"plt.plot(calphas.resnums, rmsfer.rmsf)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<pmda.rms.rmsf.RMSF at 0x7f38d2be9dc0>"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from pmda.rms import rmsf\n",
"calphas = protein.select_atoms(\"name CA\")\n",
"rmsfer = rmsf.RMSF(calphas)\n",
"rmsfer.run(n_blocks=10)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f38d2b43370>]"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXAAAAD4CAYAAAD1jb0+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO2dd3xb5b3/318N29nTGSQhOyEhQAIhzIS9aQNtodAB7QVCBxcobX+3tECht71dlzJ6SyGspkCZBUKhzDBCIAMnZO9BdmI7O3ZiS+c8vz+kI0uytiz5KPm+Xy+/bB8dSU9O5I8efZ7P9/uIMQZFURSl9PC09gAURVGU3FABVxRFKVFUwBVFUUoUFXBFUZQSRQVcURSlRPEV88m6d+9uBgwYUMynVBRFKXnmzp1ba4ypjD9eVAEfMGAAVVVVxXxKRVGUkkdE1ic6rhaKoihKiaICriiKUqKogCuKopQoKuCKoigligq4oihKiaICriiKUqKogCuKopQoKuCKojTDGMMrn29id31jaw9FSYEKuKIozVi4aQ8/en4Bbyza2tpDUVKgAq4oSjPeX14NwP6DwVYeiZIKFXBFUZrhCHh9o9XKI1FSoQKuKEoM1XsPsmjzHgAOBFTA3YwKuKIoMXy4oibyc32jWihupqjdCBVFcT9ra+so83qo7FCuForL0Rm4oigxBC0bv1doW+blgAq4q0kr4CJSISJzRGSBiCwRkXvCx/8mIutEZH74a3Thh6sopc3m3Qe4fspnXPaXT1p7KEkJ2gavJyTgOgN3N5lYKA3A2caY/SLiB2aIyJvh235qjHmpcMNTlEOLqyfPYsPOeiDkL3+wvIba/Q1ce+qA1h1YFEHbxu/10EZn4K4n7QzchNgf/tUf/jIFHZWiHIIELZsNO+vp26UNALX7Gnlm9nqenpVws5VWw4rMwH3UB3QR081k5IGLiFdE5gPVwLvGmNnhm34jIgtF5D4RKU9y30kiUiUiVTU1NYlOUZTDgvpwJG9g93YA1Ow/yPa9Bwna7poPBSwTmYGrheJuMhJwY4xljBkN9AXGicgo4HbgKOBEoCvwX0nuO9kYM9YYM7aystmenIpy2FDXEJrNDugWEvDqvQ1s39tAwLJbc1jNiMzA/WqhuJ2sUijGmN3AB8CFxpitYXulAXgSGFeIASrKoUJdQ0gMB4Rn4Ot21LG/Ieg6AQ/aBp8uYpYEmaRQKkWkc/jnNsB5wHIR6R0+JsBlwOJCDlRRSh1nBt63Sxs8Aku27AUgaLnLQglaNj6v0KbMpzNwl5NJCqU3MEVEvIQE/wVjzOsi8r6IVAICzAe+V8BxKkrJUxeuauxY4adb+3IWh8vV3TgD93o8tC3z0mjZYUHXkhE3klbAjTELgTEJjp9dkBEpyiFKfdhCaVfupbJ9OUu3hmbgARfOwJ1CHggtvnZUAXcl+r+iKEXCmYG3K/fRo2NTaCto5zcD/2BFNT95cUHKc+6aupjfvrmMnXXpN2hwCnnahAVcbRT3ogKuKEXCWcRsV+ajsn2TgAcsgzG5z8JnrdnBS3M30RhM/EbQGLT5+8z1PPLRWq58ZGbax7OiFjFBW8q6GRVwRSkSziJmu3IvlR1iyybyyYJb4fvuSrL9Wc3+BgC6titjbc3+hOfEjMUy+Dwe2vhDDqt2JHQvKuCKUiQcC6Vtma+5gOfhg1vh2fuO/YkFvHrvQSCUfrEN2GneLIJ2KIXSVi0U16MCrihFoq4hSBu/F69H6NGhIua2QB4+uOO+JJuBV+8LzcCP6BQq4U832w+qhVIyqIArSpGoa7RoVx4SRWcG3sYf+j2QxL/OBMdC2ZFkgdIR8N6dQ28a6RZNg1YoRthGBdz1qIArSpGoawjStizkKzsC3qdLZrPiVNjhKfiuJAJes/cgItCroyPgqZ+raREzNNYD2tDKtaiAK0qRqGuwaFceEsUB3dryi4tH8NXj+wL5FfM4Ap5qBt6tXTnlvtCfezq/PRDngesM3L2ogCtKkahvDNIuLIoiwg0TBtGrU2gmnk8xTySFkkLAe3Qoj1RTprNQnBm45sDdjwq4ohSJuoZgZAbu4PM4s+J8ZuCh78mKdKr3HaRHx3J8Hgk/V5pFTMvg83po69cZuNtRAVeUIhG9iOngD8+K85mBO7HAZAK+fW/cDDydgNs2Po/g83oo83pUwF2MCriiFIm6hiDtymJn4H5vaFbcEh54IgG3bMOO/Q306FARea7MUiihc0PbqukipltRAVeUIpHQQsnQl06FM6FOtIi5Y38DtoGeHcsjopxJDtz5ZNDGrz3B3Uwm7WQVRckTY0wSC8WZgedvoeyqb8QYQ6hFfwgnA14ZVTiUbrbv7MgDhDZ1CKiAuxWdgStKEWgI2li2iWSrHZo88PwtFMs27D0Qa3dU7wuV0UcvYlppZuCB8IYOgO5M73JUwBWlCDiNrNo3S6FklgxJRbQgr6ndz5bdByK/14b7o1S2L4+IcrrZvhMjhPAMXD1w16ICrihFwPGRneIYh5aZgTf9fO3jc/j+M/MivzeES/Qr/N7Ic6WKLBpjIjvyALqtmstRAVeUIhC9mUM0LRIjNIbwhJl9DUH2HghEbnN6rPi9EvG1U1kozm1+Zwbu93JAPXDXogKuKEWgqRd4fAols2hfKizbxHQ3jN7YwZnZ+72epgXTFALuJFS84XO9XknrmSutRya70leIyBwRWSAiS0TknvDxgSIyW0RWi8jzIlJW+OEqSmnStBtPrIVS1kIz8F6dKnjqunF8+bgjYuyYaAF3qj6tFG8WwcgMPHSuRwTVb/eSyQy8ATjbGHMcMBq4UEROBn4P3GeMGQLsAq4r3DAVpbRJNwPPN4Xi9Qjjh1bSqY0/TsDDghxloaR6s7DCtznneqUp5aK4j7QCbkI4+zD5w18GOBt4KXx8CnBZQUaoKIcAdY1N+2FG0yK9UGzwhrPffq8nRqADVqgsXkSiFjGTC7KzsYTzxuIRtVDcTEYeuIh4RWQ+UA28C6wBdhtjnHzRJqBPkvtOEpEqEamqqalpiTErSsnREAwJeLk/9k+uJSwUyxic2h2/T2iMs1Ac4c7Eb3fE2nlj8Xgk7RZsSuuRkYAbYyxjzGigLzAOOCrTJzDGTDbGjDXGjK2srMxxmIpS2jgi6ImqkoQWslCiKifLvJ5mFoqzeJlJ5jwYEXBnBo564C4mqxSKMWY38AFwCtBZRJzPg32BzS08NkU5ZHBmto7QOjTNivONETZZKMY0PV/AsinzOTPw9H1XHCvHGZfXI5FNkxX3kUkKpVJEOod/bgOcBywjJORfC592LTC1UINUlFLHmfR642bgTtojnxm4ZUJWBzQvDAp54GEBz6CZVTDujcYjglEBdy2ZNLPqDUwRES8hwX/BGPO6iCwFnhORXwOfA48XcJyKUtJELJS4KZPHE0qH5CPgxhi8jgce/qHRsqnwe0MWii8LCyWSWmmKEeoipntJK+DGmIXAmATH1xLywxVFSYMTxYu3UCAkrPn2QnEsFMcucSowYxcx08/2HXslEiP0aA7czWglpqIUAcdHjl/EBGfhMU8Bb2ahNHng/jgLJdWM2nkjcc4VQVMoLkYFXFGKQLIUCoQWDPOzUGJz4BDtgUdZKBksmEZSKOHH8YouYroZFXBFKQKOPie0ULyePHfkMRFvPdoDh1gLxe9JX8hjxccIPaKVmC5GBVxRikCThdL8tnwtlOgYYVmCFEpkQdIjiGQYI4xKoeTx3qIUGBVwRSkCth1q+SoFsFBsOzYHDhAIOh54UyEPhGbhqd4smiwUZxFTe6G4GRVwRSkCTsOpROSbQrFNkzXjD6dQElkoEC7MSdmN0EmhRMUIVcBdiwq4ohQBK26z4Wj8ceXvWT92zAw8tjS/MRgr4KHZfuYplFAhD1rM41JUwBWlCNi2aVaF6ZCvgEfvyBOfQgnaJuKLO7dn1Mwqqhth6DlyHp5SQFTAFaUIWHbiBAqExDLfXijeVKX0UR54yEJJ1U42thuho/3qg7sTFXBFKQLRs+R48rdQmhZHIzFCZxEzzkLxe1JbKI4/3lTIk774R2k9VMAVpQhYdvJFTH8aXzodxpjITDk+RthomTgP3JN6Bh6/I4/HsVBUwN2ICriiFIHUKRRPXjvyWMYkrcQM2jZlURaKL03jrMiu9JFmVs74cx6eUkBUwBWlCNhpUyj59UKJWCi+OA88aEfK4iHst2eQA49uJ+s8h+I+VMAVpQhYKVMoLdALxRPngVvRhTxRAu7xpO6FEtnFPtZC0RihO1EBV5QikDqFklpU0z920wJpxAMP2hhjCMRbKF7JKEaoM/DSQAVcUYqAHdVwKh5/nhs6hB67uQdu2QZjiJuBp7ZQAlZsjNDj0Ry4m1EBV5QikNpCyb+QJ9EiZkSMm1koqWbgsXtiNi1iqoK7ERVwRSkC0bPkeNItLKYjcSm9ifRD8cdbKBnNwMMeuFooriaTTY37icgHIrJURJaIyC3h43eLyGYRmR/+urjww1WU0iS65Ws8+c/Am6wOEYksijoLks42axCajQdSiLGTV3dSLU2l9CrgbiSTTY2DwI+NMfNEpAMwV0TeDd92nzHmfws3PEU5NEifQslNIJt2+ol+PE+MhRLvgafuRhibV4944NoT3JVksqnxVmBr+Od9IrIM6FPogSnKoYRlk8JCyX1HnshmyVFvDk6uPBC3OYPzc+pd6e2Y87UXirvJygMXkQGEdqifHT50k4gsFJEnRKRLC49NUQ4Z7Khy93ic/iS5ZK0jO/14YgW80bIjHni0heJPE1kM2iZGwCMxQhVwV5KxgItIe+CfwK3GmL3AX4HBwGhCM/R7k9xvkohUiUhVTU1NCwxZUUqPdCkU55xscSbu0f56mVcIBO3ITDt+Q4dUZftBO7Zy03lcLeRxJxkJuIj4CYn3M8aYlwGMMduNMZYxxgYeBcYluq8xZrIxZqwxZmxlZWVLjVtRSorUKRQn+peDgDsWStRfst/neOBOCiXzDR2sZDNw9cBdSSYpFAEeB5YZY/4Udbx31GmXA4tbfniKcmiQOoUSjv7l4IM3bZbc3AN3LBRf3J6YqWb6QcuoB15CZJJCOQ34NrBIROaHj/0cuFpERgMG+AK4sSAjVJRDgEwslFyy4CaBheJ44IFg2AOPtlDSlNIHbYM3SvC1H7i7ySSFMgNI9Mr7d8sPR1EOTWybpKX0vrh9LLPBilgocR64ZUcWK7PZ0CFoG/xRA/VqDtzVaCWmohQBK0U/cEcwcxLwFDnwRJWY3rQWih0zTq/2QnE1KuCKUgSiy93j8ftCx3OyUJLECANBE7FQYmbgaVrXBm0Tk0JxhqwWijtRAVeUImDS7MgD+VkoMR64L+SBJ7JQ0m2gHJ9C0X7g7kYFXFGKgJVJCiWnGGHouzc+Bx4TI2xuoSQT5ECchaL9wN2NCriiFAHLJmUzKyCncvpIL5R4C8WyaUxkoYTPSzYLt2wTI/hNzayyHppSBFTAFaUI2HbyUvqmQp6WXMQ0iZtZpan6DFpxzay0H7irUQFXlCKQOoWSj4XSPEbo8wqNQTsyo/fH7Uofeq7EbxZB225Weg9qobgVFXBFKQJ2ihRKullxyscNC7jEeOBxFoovdhETkide4tvJiubAXY0KuKIUATvFDNybZlac+nHDj9GslD6qH7inuYWSzAMPldI3n4GrgLsTFXBFKQKWSb2hA+Q2A2/aRT768WL7gSeyUJItmDaLETozcG1m5UpUwBWlCNh2rM0RjTdNMiQVjoBLTA68aUs1kTh/3JPaQgnYdlwvlPDz6AzclaiAK0oRsFKlUDx5NLNKmAN3SukNfq8nRtwjHniqGKEW8pQMKuCKUgRSpVC8aWyNdI8LsY2y/F4PtoGDAStGjCH6zSJJCsUyeKMeTPuBuxsVcEUpAqlSKPl44HaSfuAA9Y3BmARK9HMlXcS07bjKzdjnUdyFCriiFIFMUii5eOC23TwH7ghwfaMVk+kOnZfarrE0RlhSqIArShFI1Y0wHw+8qRIzygP3OTNwK2YzB4jqPZ7ErgnE78ijvVBcjQq4ohQB2yTvheKLWCi558ATWSh1DcGY7dSgKROeSJCNCUUPfQkqMVW/3YkKuKIUgdQplDwslIgH3nSsyQNPZKEkLxp6ds5G6hstjj6iY+SY875gq4K7EhVwRSkCVopd6b1pstmpSNQLpckDDzYTcH+SUvotuw/wmzeWcvqQ7lw+pk+zsakH7k4y2ZW+n4h8ICJLRWSJiNwSPt5VRN4VkVXh710KP1xFKU3sFJsaRzzwPAp5ot8cyrzRHnjscyZrTvXxqhrqGi3uvHRkTG48EiNUAXclmczAg8CPjTEjgZOBH4rISOBnwDRjzFBgWvh3RVESkCqFkp8HnjxGGPLA42fgiVvXOo2vurcvizmu/cDdTVoBN8ZsNcbMC/+8D1gG9AEmAlPCp00BLivUIBWllDHGpFzEdGbmucUIYx8DmroPHghYMZluSF6J2eg0vorLjXvUA3c1WXngIjIAGAPMBnoaY7aGb9oG9Exyn0kiUiUiVTU1NXkMVVFKk0RJkWg8HsEjOcYII+1km45Fb9EW74EnWzB1ZuDxsUPtB+5uMhZwEWkP/BO41RizN/o2E2qUkPB/2Bgz2Rgz1hgztrKyMq/BKkopkqhjYDw+ryenGbhJsIh5TJ9O9O/WFmguyMlK6Zs6F8aer4U87iYjARcRPyHxfsYY83L48HYR6R2+vTdQXZghKkppE/Gpk3jgEJoZ5+KBOzocLeAdKvw8P+kUhvRoT7+ubWOfJ4mFErBsPHGdC6MfVwXcnfjSnSCht+DHgWXGmD9F3fQacC3wu/D3qQUZoaKUOJEZeBILBUJCmcuWalaCHDhAr04VvH3rhGbHnRl4s0VMy242+44eszoo7iStgAOnAd8GFonI/PCxnxMS7hdE5DpgPXBlYYaoKKVNoqx2PH6vJyef2SRIoTgkej6nzD4QjLNQgqaZ3QJR/cBVwV1JWgE3xswAkr3yzmnZ4SjKoYfjjCRbxISQ2OaVA0/x2NE4At6YwAOPT6A44wLtB+5WtBJTUQpMMpsjmlw98MiemKkePIrysEg3BBIIuLf5Y2g/cHejAq4oBaYphZJmBp5LKX2CSsxU+DyCSPMZeDIPPJID1xm4K1EBV5QCk0kKxZ9jjDCT2X00IkKZ1xPJfTsErGQeeEjwVcDdiQq4ohSYTFMo+ezIk+qx4yn3eWhotoiZeAbuPLYuYroTFXBFKTCZ5sATtXhN+9gJdqVPR5nP21zALRu/L3mlqOq3O1EBV5QCk6hfSTw+b64z8PBjZ+qhEJqBx1soyTxwCNkzaqG4ExVwRSkwiXaOj8frydEDz8CeiafM50kcI0xhoWgzK3eiAq4oBSaTrLbPIwTzaCcrWfwlh2bgVsyxZIuYEBq39gN3JyrgilJgMqnEzDlGmMMiZlmiRcwkOXAIeeCq3+5EBVxRCkwmNoc/Rw/cyqDKM55EMcLGFCkUj2gpvVtRAVeUApNJCiVXD9zOwF+Pp9yfKAeeuJQ+NDa1UNyKCriiFJiMUii5euC5LGJ6E1kohvIkM3AR0V4oLkUFXFEKjJWBB+7L0QO3UnQjTEZZghhhuhSKWijuRAVcUQqMFSm2SX5OvjnwTHuhQKiQp1kvlGDyQh6vFvK4FhVwRSkwmaVQcvTAbZNxHxSHbAt5RHRTY7eiAq4oBSajFEoeOfBsqjDBiRHG58DtpDnw0AxcBdyNqIArSoHJLIUiWDl64Nn435B8ETN5jFDIYWhKEVABV5QCYyfYeDgenze3HXmMyW4BE5rHCC3bYNmpBFx7obgVFXBFKTCZJEXy2VItWwulPDwDd6KBThfEpN0ItReKa0kr4CLyhIhUi8jiqGN3i8hmEZkf/rq4sMNUlNIlsmtOyi3VPARzaCdr5bCIGdnY2IoV8FQeuMYI3UkmM/C/ARcmOH6fMWZ0+OvfLTssRTl0yGRLNV+OImmMySpCCFDu8wJN26o5Qp7KA1f9didpBdwYMx3YWYSxKMohSUYWilcI5LilWjZVmBC1M33QEfCwhZJMwD3qgbuVfDzwm0RkYdhi6ZLsJBGZJCJVIlJVU1OTx9MpSmliMsiB+z2enAt5stmNB5oE3IkSOkKerBuhVzRG6FZyFfC/AoOB0cBW4N5kJxpjJhtjxhpjxlZWVub4dIpSulgZpFAcnznbniO2bUgycU6K43XHz8DLkjSzEi2ldy05CbgxZrsxxjLG2MCjwLiWHZaiHDpkYqH4wuKerVBadvYWSrk/XsBTe+Be7QfuWnIScBHpHfXr5cDiZOcqyuFOJikUb9i+yDZKmJOF4nUslAw9cO0H7lp86U4QkWeBM4HuIrIJ+CVwpoiMBgzwBXBjAceoKCVNJikUf7ihd/YCnlspPTQJeKOV2gPXLdXcS1oBN8ZcneDw4wUYi6IckmRayANkXU5vm1yaWYVjhM4MPJg+Bx7IIaOuFB6txFSUApNJCsUXnv0GsmxoZdnZ58AjMcL4HHiSRUyPLmK6FhVwRSkwmaRQfGELJVuhtHPIgZc7FkogFCNMnwPXQh63ogKuKAUmmxRK1h64nUMzq7gZeHoPXAt53IoKuKIUmIxSKI6AZ+k1WzmU0ierxEzqgWshj2tRAVeUApNRL5QcY4Qmh0XMeAFvqsRMVciT3XMoxUEFXFEKTCYbOuTqgefSTjZpDjzJIqbXg+5K71JUwBWlwET2xMwgRpjtzvRWThs6xMYIGyOVmCly4LqK6UpUwBWlwGSWQnEslOy8ipwsFG9cjDBNDtzj0UIet6ICrigFxs4khZKjB56LheLMtDONEXpFe6G4FRVwRSkwVgYplHxy4Nn2QhERyn0eGizthVLqqIArSoHJJIXi3JZtybptp/bWk1Hm82TugXs0RuhWVMAVpcCEZsmpuwY64pl1CiWHZlYQKuaJzoH7vZJ0fLqpsXtRAVeUApNJubs310rM8JtDtpT7vE0xwqCddAETnEKe7J9DKTwq4IpSYCw7dQYcojzwbLsR5rCICbEWSsCyk2bAIbQnpqZQ3IkKuKIUmOxm4Fl64DnkwCEUGYz2wJMtYIJaKG5GBVxRCoxlp89q+/OIEeYk4D5PZFPjgJXGQtFFTNeiAq4oBSaTnt2RDR1y2pEn+zGV+zxR/cDtpAkU0EpMN6MCrigFxmSQFHE88EBOO/K0gAeexkLRCbg7UQFXlAJjZeCB+yIxwsLvyANxOfBgOg9cFzHdSloBF5EnRKRaRBZHHesqIu+KyKrw9y6FHaailC6ZpVBybSeb2yJmuc/DvoYgkD6Foh64e8lkBv434MK4Yz8DphljhgLTwr8ripIA2848hZJTIU8OOfATB3RlbU0dCzbuDi9iJn8QESHLDwZKkUgr4MaY6cDOuMMTgSnhn6cAl7XwuBTlkCGTakmfNzcPPFcL5esn9qNDuY9HP16b1gP3ag7cteTqgfc0xmwN/7wN6JnsRBGZJCJVIlJVU1OT49MpSuli2+mrJX2e3DzwXC2UDhV+vnHSkby5eBvrauvT58BVwF1J3ouYJrRVR9L/XWPMZGPMWGPM2MrKynyfTlFKDjuDGXiupfRWBvZMMq4fP4ihPdpTu7+BCn/6FIruyuM+fDneb7uI9DbGbBWR3kB1Sw5KUQ4lLJO+Y6Avxx15bGPw5DgNq+xQzhs3j+fdpdsZ2L1d0vOcNxfbkJPfrhSOXGfgrwHXhn++FpjaMsNRlEMPO4tCnlyaWeVioUQ/74WjejG8V4ek5zhD12Ie95FJjPBZYCYwXEQ2ich1wO+A80RkFXBu+HdFURKQic0hIvg8klMOPJdmVtngiczAVcDdRloLxRhzdZKbzmnhsSjKIYllMkuKeD2Swww8t0XMbHAeXwXcfWglpqIUGDuDZlYQ2tIsaw88x2ZW2eCVJg9ccRcq4IpSYDJJoUBoBp5LM6sCOyiRCKR64O5DBVxRCoyVoc3h80hW/cAPNFo0BG3KUpTBtwSRFIoKuOtQAVeUApPprjlej2RlobyzdBtB2zB+aGHrK7y6iOlaVMAVpcBkWmzj93qyWsR8ed5m+nRuw0kDu+YzvLQ4mx1rOb37UAFXlAJjZVhsk40HXr3vIB+vquGyMUfk1AslG5w3H9Vv96ECrigFJtOkiM8jBKz0Hnhj0ObnLy/GNnD5mL4tMcSUaCGPe1EBV5QCk2kKxecVDjRaac/72csLeW/Zdn418WiG9GjfEkNMiRbyuBcVcEUpMJmmUMYN7Mr0VTWs31GX9JyNO+t55fPNTJowiGtOGdCCo0xOpJBHe4K7DhVwRSkwmaZQbj57KD6Ph1ufn8/Z937IUzO/aHbOP+ZsQIDvnDqgpYeZFKfTrC5iug8VcEUpMFaGHniPjhVcP34gn2/YzZbdB7j/vVUxlsrBgMULn23knBE9OaJzm0IOOQYtpXcvubaTVRQlQ0IeeGbn3nLOUC44uhf1jRZXPjKTn7y0gM/W7eTIrm2p3d/AjrrGos6+IdpCUQF3GyrgilJA9h0MsLamjtOGdM/ofJ/Xw6g+nQAY278LbyzcyjF9OrG/IUi7ch9T/mNcxo/VUkT3A1fchQq4ohSQ95dX02jZXDSqV9b3/d1Xj+WT1bV846QjU255Vmg0RuheVMAVpYC8tXgbPTqUc/yRXbK+75Ae7YsSE0yHeuDuRRcxFaVA1DUE+WBFNRcc3avg1ZKFRAXcvaiAK0oBWLBxN1/68wwOBmwmjj6itYeTF+qBwyufb2Lx5j2tPYxmqIArSgH4+SuLqG+0+Nt3T2TsgMI2myo0h3s/8H8t2MKPnl/A1x+Zyey1OyLHV23fx1WTZ7KmZn+rjS0vAReRL0RkkYjMF5GqlhqUopQyq6v3sWTLXm48YxBnDu/R2sPJm8O5neystTu4/eVFHNevM706VXDdlCr21AdoCFrc/Nx8Zq3dyeSP1qZ8jIBl8/mGXQQz6HOTLS0xAz/LGDPaGDO2BR5LUUqeqfO34BG45NjerT2UFsHpRhiwbMxhJOK/eGURV02eRccKH3/5xhj+7xvHs78hyDNz1nPvOytZtnUvRx/RkVfnb2ZXXSOWbbjogY85+q63uHryrEhufuGm3Vz+0Ke8u3R7i9uLfSAAABj3SURBVI9RLZRDlIMBi7nrd7b2MA47jDFMnb+F04Z0p0eHitYeTovg9AO/5vE5nPm/H/LRyppWHlHhmb6yhmdmb+CaU/oz7cdn0rdLW0b07sj4od156IM1TJ6+lm+edCT3XnkcDUGb56s28snqWpZt3cuQnh2YuXYHS7fuBWDGqh2IwCmDu7X4OPMVcAO8IyJzRWRSSwxIaRl+8cpivvrXmTz/2YbWHsphxbRl1WzYWc9lo/u09lBajL5d2tC+3MfZR/XAK8J3npzDwk27W3tYBaMxaHP3a0sY0K0tv7hkBG3KvJHbbhg/iP0NQY7t24k7Lx3JUb06ctqQbjz80Roem7GOTm38PPTN4wEib3SfrK7lmD6d6Ny2rMXHmq+An26MOR64CPihiEyIP0FEJolIlYhU1dQc+u/cbmDmmh38c94mOrXxc8eri5m/8dD9Y2tt9tQH+PvML3ixaiPrd9Txh7eXM7B7O75c4smTaPp1bcviey5g8jVjmXrTaXRq4+e+d1e29rAKxhOfrGNtbR2//PLRlPu8MbeNH9qdB64azWPXjqXCH7rt7i8dTV1DkOkra5g4+gj6dG7DiN4dmb6yhrqGIPM27CpY9WxeAm6M2Rz+Xg28AoxLcM5kY8xYY8zYysrC7t2XDfsbgjw18wv2NwTTnnswkL5Hs5v47ZvL6NulDW/fOoEubcu4950VrT2kQ5YH31/FXVOX8NOXFnLGHz9k5fb9/OT84a1aOVlIOlT4mTRhEB+sqGHu+l2tPZwWZ+ueAzw4bRXnjujJWQkWoEWEiaP7xNhjQ3t24MYJgwG4cmw/ACYM6868Dbt4f3k1Qdtw2mCXCbiItBORDs7PwPnA4pYaWCFZuX0fFz/wMXdOXcIzs9YnPc8Yw+Mz1jHql29z/3ulMePYWdfIwk17uHrckfTqVMG1pw7g41W1rNq+r7WHdsjgLOTtOxjg+c82csmxvXnvtjO46awhXHNK/5zK5kuJa08ZQGWHcm557nOq9x5s7eHEYIzhk9W1/OCZuby9ZFvW9/3l1CUEbcNdl47M6r4/Om8Yb986IdLHZsLQSgKW4e7XllDm8zB2QPaVuJmQzzShJzBDRBYAc4A3jDFvtcywCsuD01axu76RIzpVMH1Vk62zefcB9h4MRH5/ZPpa/vv1pfTsWMH9763ib5+sa43hZsWcdaGcqrPR7dXjjqTc5+HJT79oxVEdGgQsm0l/r+JrD88MtXat2sT+hiA3ThjEkB7t+ckFw/nVxFElXXWZCe3KfTx2zVh21jVy1aOz+HR1bWsPKcIf3l7BNx+bzb8XbeOXU5dk9en5uc828s7S7fz4vGEc2a1tVs/r9QjDe3WI/H7igK6cO6IHQ3u257bzhkXslpYmZwE3xqw1xhwX/jraGPOblhxYS2GM4bGP1zJjVdOLbN76XUwYVsklx/bms3W7qG8MsnFnPRfcN52vPzKLxqBNwLJ5YsY6xg/tzoc/PZPzR/bk7n8t5dXPN7fivyY9s9bupMLv4di+nQHo2q6MiaOP4JV5m1vFCtq25yDj//B+zPUvRYwx/PK1JbyzdDtz1+/ie0/P5f53VzJuQNfItT6cOK5fZx6/9kQaAjbfeGw2d01dXJCcczY8PmMdf/1wDVePO5Inv3Mi2/Ye5Lk56RfxA5bNwx+t4ZevLeH0Id25YfygvMdS5vPw2LUn8tykU/jeGYPzfrxkHJpGHaH/lJp9DTz04Rp+/cYy7pq6GGMMW3YfYMueg4zt34UJwypptGxmrKrl1ufnE7Rtlm3dywPTVvL+8mqq9zVwzSkD8Hs9PHj1GE4Z1I0fv7jAVfG8+sYg9/xrSaQabPa6nZzQvwtlvqb/2kuOPYIDAYtP1xRfRB+ZvoaNOw/wtxL/BPDRyhr+MXsD3ztjMNedPpAPV9QwsLId9101urWH1mqcMrgb0358BjeMH8jfZ67nthcWtNpYlm3dy2//vYzzR/bk15eN4szhlYwb2JW/fLiGXXWNSe93MGBx3ZQqfvfmcs4cVskDV40uqU9QJdGNcPrKGhZt3sMPzxqS8X1+8My8SHC+f7e2rK2tY154pxOAE/p3ZWjP9lT4Pdz07Oc0Bm0euGo0n6yu5S8frKFruzJ6diznrOGhhdcKv5fJ15zAhfd/zE9eXMi/bx4fEy9qLZ6etZ4nP/mCeet38eR3x7F8215+dO6wmHNOHtSV9uU+3l26nbOP6lm0sdXub+DZORuo8Hv4cEU1O+sa6dqu5aNUhaC+MchLczextqaO04d05953V9KvaxtuO28YIiGLasKwyoJ9NC4VKvxefnHJSNqU+Xhw2iq+dXJ/xg0sbuuAoGXzX/9cSOe2fn7/1WMjlaN3XTqSyx/6hB+9MJ8ubcso83r4/deOjdyvIWhx/ZQqPllTy2+/cgxXjzuyqONuCUpiBv7Jmlr+9O5KavY1ZHT+nvoAHyyv5uyjevDry0bxyg9Oo43fy0tzNzF3/S7a+L0c1bsDFX4v547oSac2fh7+1glMHN2HX00cxU1nDWHfwQDfPrk/vqg0QYcKP3+84ljW1dZx/7TWX9Q8GLCYPH0dPTuWs2DTHs6/bzrGhKJO0ZT7vJwxrJL3llUXfFeVPQcCkU8oj89YR0PQ5t4rRhO0Da8v3FLQ586UTJJHd7yymLumLuEfszdw/d+rWLZ1Lz85fzhlPg9+r4fzj+512It3NN8/YzCVHcr549vLi1qtaYzhzqlLWLhpD/d8eRRdoiYIo/p04vaLRvDhihpe+Xwzz1dtZNGmPcxYVcsLVRv56YsLmbG6lj9+7biSFG8okRn4FSf05ZGP1vLq55u5YUJ6f2ra8u0EbcN/nj2EMeE+zBcd04vX5m+mQ4Wf4/p1isS87vv6aDwikXftCr+Xn1wwnO+dOZi2Cf5ATx3cnYmjj+Dpmev54VlD6Fjhb8F/aWg24fVIpPotFS9UbaR2fwPPTzqZKTO/YNnWffxq4tGRf3M0547swRuLtrJw8x5G9yuMZ/vW4m3c8eoiavc38sBVo3lq5nouOaY3lxzbmz+/34GX520u2k7qyZjy6Rf86vWl3P3lo/n2yf0TnjN9ZQ0vf76ZH541mFvOGcajH69l4856vnTsoZPtbmnalHm5+ewh3Dl1CX98ewU/OX94wa2I6r0HufedlTxftZEfnDk4YeuC7542gG7tyxjaowNXPPwpd722mMWb9xCwQm8yP71gOF87oW9Bx1lISkLAh/TowOh+nXlx7kauHz8wrbi9tXgbvTpWcFzU4tLNZw9lbU0d8zfujnm3TZbXbV+e/NJcf/ogps7fwvNzNmb0hpKKxqDNjU9Vsas+QJ/ObXh32XbuuGRERkL35qJtDO/ZgZMGdWPcwK4pr8tZw3vg9QjvLt1WEAH/oraOm5/7nGE929Oxws+tz8/HGCK21+Vj+vDbN5eztmY/gyoLt0nB0i176du1DR0r/KyrraN/17aIwPyNuxlU2Z4Hpq3C7xXufHUxGMO3o67z6up9XDelivU76hnQrS3/efZQynyerKy7w5mrxx3J0q17eejDNazYto/7rhrd4hMch6Vb9nLlIzM5ELC4YfxAfnrB8ITnObltgCtP7MeTn3xB3y5t+PPVY9h9IMCZw9xTm5ILJWGhAFwxti8rt+9n9rrUC4h1DUE+WlnDhaNim+gP6N6OV35wKu/ddgY3npGf6B7TtxMnDezKk5+soyGYX7Lj928t54MVNTQEbWau3UGFz8O0ZdUJz12/o45Nu+qBkEc7d/0uzgh79One1Dq3LePEAV14b2nix84WYwz/mL2Be/61hPvfW8kdry7G7xEev/ZE/ucrx2AMnDuiJyN6dwRg4ug+iFDQFM/CTbu59M8f863HZvPUrPWc9b8fcv+0VTwzewOXP/QpZ/7xA3bWNfKPG07mlEHdeGDaag4GLD5eVcPegwHu+ddSdtU1cvtFR/HMDSerRZIlPq+H/7n8GP77slF8tLKGy//yCbvrky8g5squukYmPVVFu3Iv7912Br+4ZGRGn1gnTRjEWcMrefhbJzDmyC6cNbxHRvdzMyUxAwf48nFH8NAHa7jpH/P45/dPpX+3dgnPeyLsu142pnkvChFpsS2q/vPsoXzr8dk8OG0VP73gqIzu0xC02HsgSGWHcgA+XVPL4zPWce0p/bln4igAbn95Ea8v3IJtm5g3oKBlc8XDM9lR18hVJ/bjrOE9aLRsTs+iRPfcET359RvL2LCjPuucazwzVtfy81cW0a7MS33Awhi445IR9OxYQc+OFfzj+pMi4g3Qq1MFpw3uzivzN/Oj84a1+B9OwLL5fy8tpEOFn4Wb9rBw0x7KfR4e+WgN7cp9DOvZnp11AS49tjfHH9mFW84dylWTZ/HVv37Kki176d6+jNr9jdx56UiuO31gi47tcEJE+PbJ/Rlc2Y5rHp/DXVOX8ODVY1r0OW5/eRHVext44XunMLB7Yh1IRO9ObXjyu82KxUuakpmBd6jwM+U/xmHZhu89PS/hYtyO/Q08Mn0t54/sWTCf1+H0od254oS+PPzR2owb+/z69WWc+Jv3uPLhmSzftpc/vr2C3p0quP3iEZFzTujfhX0Hg6yqjm0SP2vtTqr3NXDSwK48M3sDP39lEWU+T1Yr/ueNDCVQ3l2Wf1vLZ+dsoEtbP/PuOo+ZPzuHh791PN89rUn4Th3SPWZBCeArx/cpWKTwmVnrWb5tH3/82rH88ksjGT+0O1NvOg0IVaf+7xXHMfvn5/DAVSExOWlgV8b278KSLXv5ypg+tCnzMrRH+6S+uJIdpw7uzs3nDOW1BVtadPH6rcVbeWvJNm49b2jB/8ZLgZKZgUNok9d7Jo7i5mc/Z+qCzYzu14VObfy0L/dx33sreW3+Fg4ELP7fhZnNiPPljktH8v7yav78/moevSZ1O/S6hiAvz9vEsX07sW5HHV956FPqGy3+5/JjYj6qj+0fWoCcu35XTGXX6wu30L7cxxPfOZEfv7iANxZu5bQh3bL6mN+/WzuG9WzPM7PXc9GoXhzRuU2W/+IQNfsaeGfJdr572gDKfV56dfJyYaf0va+/dNwRvLl4G/f8ayntynxceWK/nJ4f4L2l25m+qoYhPdrztRP68tiMdZw4oAvnHx0qY3feTP7wtWOp2dfQrNhGRLj3yuOYu34Xl4/pQ9A2BC0Tk59X8uMHZw5m2vJq7nh1MeMGdKVHx/za627cWc8dry5mZO+OLVJscyhQcq/WS4/pzag+Hbnz1SWcfe+HnPenj7jmidn89cM1DO/VgYe/dULRdvLu1MbP10/sx7Rl29kczpc77KkP8J0n5/DAe6sAeGPhVuoaLX75pZG8cOMpdKzw079bW64YG7sC3r9bW7q3L6Nq/U4C4cq2xqDNm4u3cf7InlT4vfx64iiG9GgfWZzJhjsuGUn13gYu/fMMvqity+nf/fSs9QRtw1VZRq/8Xg9/+cbxjBvYld+/tTznytCDAYufvbyQZ2Zv4K6pS7j4gY/ZtOtAwj/qiaP7cH2SP/b+3drxleP7IiL4vR5X5PoPJXxeD/decRwHGi1ufX4+2/Pom7Jl9wGueWIOAcvw4NWjD9lmYdlSclfB4xHuuGQkFX4P/3HaQCo7lDNr7U7++7JRPPGdEyM2QbH4xklHYoBnZzeV7O49GOAbj83iwxU1PDBtJQs27ubp2esZ0qM9xx/ZhYHd2/H2jybw8vdPbfZCFBGOP7ILr3y+mRF3vsWj09fyt0/XsedAgC8dF4qxdWlXxnu3nRHpfJYNE4ZVMvWm0whYNre/vIiafQ28v3x72nz4tj0HeeSjNXywvJqHPlzNJcf0ZnAOaZIyn4fbzhvGjrpGXpy7KaP7GGN4etb6SEOuVz/fTO3+Rp76j3H89ivH8MWOegZ1b8e5I4r7f6+kZ0iP9tzz5aOZs24nE/7wAS9Wbczq/gcaLR7+aA3n/ukjtu05yBPfGcuQHh3S3/EwQYoZuh87dqypqmrZrTMbghabdx0oaDQtHddP+YzpK2u5bMwR/OyiETz68Voe/mgN9105ml+9vpS9BwIEbcMfvnpsRrZB1Rc7+ee8TWzadYCPV9UiAheM7MVD3zy+xbK1z87ZwO0vL6LM66HRsjl1cDfu//rohB9zjTFc/egsZq0NJYB6dazgrVvH59yg3hjDZQ99yuZdBzihf2e+c+rAlLuV/O7N5Tz80Rr6dG7DP79/Kt96fDblPg+v/+fpiAgzVtXSvUMZR/XqmPQxlNZlw456bn9lIZ+s3sFPLxjOdacPTGv/bdxZzxUPz2Tb3oOcc1QP7v7y0fTrmt/ie6kiInMTbVtZ8gLuBqr3HuSBaat4sWoTR/fpyIpt+zhnRE/+fPUYXluwhf99ewV3XDIi4s9mSkPQ4gdPz2NfQ5Ap3x3Xoh/xbdvwoxfmE7QNY/p15t53VnJs3048e8PJeDxCwLKxbEOF38vzn23gv/65iNvOG0ZdY5CLR/XmuDwXkGasquXOqYvZcyBA0LJ54+bxCf84X5q7iZ+8uIBzR/TkwxWhCGTQNvz1m8dz0TGHxp6ThwsNQYtbnp3PW0u20bNjOY9dcyLH9O2U9PwfPT+fNxdvZcp3x3HSoJbfjqyUUAEvAlPnb+aW5+bjEXj3tjNyshgSYYwpeF7VEWmnleYf3gptAnHLuUO5a+pijuvbOSLuLcn6HXVc+uAMBvdozws3nhKziFi97yDn3vsRR/XqyLOTTua5zzbw2vwt/Pj84UXvt6G0DMYYZq7ZwU9fWkhD0Obl759Kny5teHPxVqq+2IXfK9xy7jC27j7A+fdPZ9L4QTEprcMVFfAi8feZX9AYtJMunLkVYwzXPDGHj8NtX0O56UZq9zcyuLIdz994Ct3blxfkuf+9aCs/eGYeN4wfyC8uCTXS31XXyM3Pfc7sdTt585bxLfZmqLiD1dX7+MpDn3IgYNGjQwWbdx+gbZmXgwGLI7u2pb7Roq4hyMf/dXbJNEArJCrgSloOBizmrNtJuc/D8f27sHlXKLP9vTMG06tTYXdYv/PVxTw1az19OrfB5xV21jVyoNHi7i8fzbc0m31I8kVtHU+H8/vfPOlILji6FzPX7uCuqYvp360dN04YdNhbJw4q4IqrORiw+L/3V7NlzwGClsHv9XD9+IEx1ZyKcriSTMBLqpBHOXRxukAqipI5JZcDVxRFUULkJeAicqGIrBCR1SLys5YalKIoipKenAVcRLzAX4CLgJHA1SIysqUGpiiKoqQmnxn4OGB1eHf6RuA5YGLLDEtRFEVJRz4C3geIbmywKXwsBhGZJCJVIlJVU1OTx9MpiqIo0RR8EdMYM9kYM9YYM7aysrS3L1IURXET+Qj4ZiC6M1Pf8DFFURSlCOQj4J8BQ0VkoIiUAVcBr7XMsBRFUZR05FWJKSIXA/cDXuAJY8xv0pxfA6zP8em6A7U53vdwQK9PcvTapEavT3Lccm36G2OaedBFLaXPBxGpSlRKqoTQ65McvTap0euTHLdfG63EVBRFKVFUwBVFUUqUUhLwya09AJej1yc5em1So9cnOa6+NiXjgSuKoiixlNIMXFEURYlCBVxRFKVEKQkB17a1sYjIFyKySETmi0hV+FhXEXlXRFaFv3dp7XEWCxF5QkSqRWRx1LGE10NCPBh+LS0UkeNbb+SFJ8m1uVtENodfP/PD9RzObbeHr80KEbmgdUZdHESkn4h8ICJLRWSJiNwSPl4yrx3XC7i2rU3KWcaY0VEZ1Z8B04wxQ4Fp4d8PF/4GXBh3LNn1uAgYGv6aBPy1SGNsLf5G82sDcF/49TPaGPNvgPDf1VXA0eH7PBT++ztUCQI/NsaMBE4Gfhi+BiXz2nG9gKNtazNlIjAl/PMU4LJWHEtRMcZMB3bGHU52PSYCfzchZgGdRaR3cUZafJJcm2RMBJ4zxjQYY9YBqwn9/R2SGGO2GmPmhX/eBywj1FG1ZF47pSDgGbWtPcwwwDsiMldEJoWP9TTGbA3/vA3o2TpDcw3Jroe+nkLcFLYBnoiy2w7bayMiA4AxwGxK6LVTCgKuNOd0Y8zxhD7S/VBEJkTfaELZUM2HhtHr0Yy/AoOB0cBW4N7WHU7rIiLtgX8Ctxpj9kbf5vbXTikIuLatjcMYszn8vRp4hdDH3O3Ox7nw9+rWG6ErSHY9DvvXkzFmuzHGMsbYwKM02SSH3bURET8h8X7GGPNy+HDJvHZKQcC1bW0UItJORDo4PwPnA4sJXZNrw6ddC0xtnRG6hmTX4zXgmnCi4GRgT9TH5cOCON/2ckKvHwhdm6tEpFxEBhJarJtT7PEVCxER4HFgmTHmT1E3lc5rxxjj+i/gYmAlsAb4RWuPp5WvxSBgQfhriXM9gG6EVsxXAe8BXVt7rEW8Js8SsgIChHzJ65JdD0AIpZrWAIuAsa09/la4Nk+F/+0LCYlS76jzfxG+NiuAi1p7/AW+NqcTskcWAvPDXxeX0mtHS+kVRVFKlFKwUBRFUZQEqIAriqKUKCrgiqIoJYoKuKIoSomiAq4oilKiqIAriqKUKCrgiqIoJcr/B9N2DAsKQBAxAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"plt.plot(calphas.resnums, rmsfer.rmsf)"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<pmda.rms.rmsf.RMSF at 0x7f38d2778640>"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from pmda.rms import rmsf\n",
"calphas = protein.select_atoms(\"name CA\")\n",
"rmsfer = rmsf.RMSF(calphas)\n",
"rmsfer.run(n_blocks=5)"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f38d30ff2b0>]"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"plt.plot(calphas.resnums, rmsfer.rmsf)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# AnalysisFromFunc Test Case"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [],
"source": [
"def radgyr(atomgroup, masses, total_mass=None):\n",
" # coordinates change for each frame\n",
" coordinates = atomgroup.positions\n",
" center_of_mass = atomgroup.center_of_mass()\n",
"\n",
" # get squared distance from center\n",
" ri_sq = (coordinates-center_of_mass)**2\n",
" # sum the unweighted positions\n",
" sq = np.sum(ri_sq, axis=1)\n",
" sq_x = np.sum(ri_sq[:,[1,2]], axis=1) # sum over y and z\n",
" sq_y = np.sum(ri_sq[:,[0,2]], axis=1) # sum over x and z\n",
" sq_z = np.sum(ri_sq[:,[0,1]], axis=1) # sum over x and y\n",
"\n",
" # make into array\n",
" sq_rs = np.array([sq, sq_x, sq_y, sq_z])\n",
"\n",
" # weight positions\n",
" rog_sq = np.sum(masses*sq_rs, axis=1)/total_mass\n",
" # square root and return\n",
" return np.sqrt(rog_sq)"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [],
"source": [
"class RadiusOfGyration(ParallelAnalysisBase):\n",
"\n",
" def __init__(self, atomgroup):\n",
" \"\"\"\n",
" Set up the initial analysis parameters.\n",
" \"\"\"\n",
" trajectory = atomgroup.universe.trajectory\n",
" super().__init__(atomgroup.universe)\n",
" \n",
" self.atomgroup = atomgroup\n",
" self.masses = self.atomgroup.masses\n",
" self.total_mass = np.sum(self.masses)\n",
"\n",
" def _prepare(self):\n",
"\n",
" self._results = np.zeros((self.n_frames, 6))\n",
" \n",
"\n",
" def _single_frame(self):\n",
" \"\"\"\n",
" This function is called for every frame that we choose\n",
" in run().\n",
" \"\"\"\n",
" # call our earlier function\n",
" rogs = radgyr(self.atomgroup, self.masses,\n",
" total_mass=self.total_mass)\n",
" # save it into self.results\n",
" self._results[self._frame_index, 2:] = rogs\n",
" # the current timestep of the trajectory is self._ts\n",
" self._results[self._frame_index, 0] = self._ts.frame\n",
" # the actual trajectory is at self._trajectory\n",
" self._results[self._frame_index, 1] = self._trajectory.time\n",
"\n",
" def _conclude(self):\n",
" \"\"\"\n",
" Finish up by calculating an average and transforming our\n",
" results into a DataFrame.\n",
" \"\"\"\n",
" # by now self.result is fully populated\n",
" self.results = np.concatenate(self._results)\n",
" self.average = np.mean(self.results[:, 2:], axis=0)\n",
" columns = ['Frame', 'Time (ps)', 'Radius of Gyration',\n",
" 'Radius of Gyration (x-axis)',\n",
" 'Radius of Gyration (y-axis)',\n",
" 'Radius of Gyration (z-axis)',]\n",
" self.df = pd.DataFrame(self.results, columns=columns)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [],
"source": [
"u = mda.Universe(PSF, DCD)\n",
"protein = u.select_atoms('protein')"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [],
"source": [
"rsd = RadiusOfGyration(protein)"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<__main__.RadiusOfGyration at 0x7f38d21f27c0>"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"rsd.run(n_jobs=-1)"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 0, 'Frame')"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"labels = ['all', 'x-axis', 'y-axis', 'z-axis']\n",
"for col, label in zip(rsd.results.T[2:], labels):\n",
" plt.plot(col, label=label)\n",
"plt.legend()\n",
"plt.ylabel('Radius of gyration (Å)')\n",
"plt.xlabel('Frame')"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "gsoc",
"language": "python",
"name": "gsoc"
},
"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.8.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment