diff --git a/notebooks/MEMM_05_project.ipynb b/notebooks/MEMM_05_project.ipynb new file mode 100644 index 0000000..f203aef --- /dev/null +++ b/notebooks/MEMM_05_project.ipynb @@ -0,0 +1,196 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# MEMM project: NaCL umbrella sampling" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "import matplotlib as mpl\n", + "import numpy as np\n", + "import pyemma\n", + "import mdshare\n", + "\n", + "mpl.rcParams.update({'font.size': 14})" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now it is your turn. Below you will find a dataset of a Na-Cl-dimer in TiP3P water; the dataset includes Na-Cl-distance timeseries from NN biased simulations which incrementally pull the ions apart and 20 unbiased simulations started at a Na-Cl-distance of approximately 3.5 Angstrom. The umbrella sampling parameters and the kT value are also given.\n", + "\n", + "All distances in the dataset are in Angstrom, energies in kcal/mol, and the trajectory timestep is 1 ps." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "with np.load(mdshare.load('pyemma-tutorial-us-nacl.npz', working_directory='data')) as fh:\n", + " us_trajs = [fh['us_traj_%03d' % i] for i in range(60)]\n", + " us_centers = fh['us_centers'].tolist()\n", + " us_force_constants = fh['us_force_constants'].tolist()\n", + " md_trajs = [fh['md_traj_%03d' % i] for i in range(20)]\n", + " kT = float(fh['kT'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Step 1\n", + "\n", + "You can experiment with visualizations of the raw data or jump straight into the discretization." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# FIXME" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Step 2\n", + "Try to apply WHAM to get a quick estimate of the stationary properties of the system. Try only the biased data or use both biased and unbiased." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# FIXME" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Step 3\n", + "Now apply DTRAM and estimate the kinetic properties of the system. Remember: kinetics require unbiased data!" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "# FIXME" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Step 4\n", + "We have unbiased data, so let's build a regular MSM and compare with the MEMM results." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "# FIXME" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "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.1" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}