From c93e0a07e93730eefb3799eb670a6f32fd6e6240 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucy=20Jim=C3=A9nez?= Date: Fri, 14 Aug 2020 04:23:59 -0500 Subject: [PATCH] Update notebook --- HandsOn_MDAnalysis.ipynb | 615 ++++++++++++++++++++++++++++----------- 1 file changed, 443 insertions(+), 172 deletions(-) diff --git a/HandsOn_MDAnalysis.ipynb b/HandsOn_MDAnalysis.ipynb index 830b48f..5fc240c 100644 --- a/HandsOn_MDAnalysis.ipynb +++ b/HandsOn_MDAnalysis.ipynb @@ -29,7 +29,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 1, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -45,31 +45,42 @@ "output_type": "stream", "text": [ "Requirement already up-to-date: MDAnalysis[analysis] in /srv/conda/envs/notebook/lib/python3.7/site-packages (1.0.0)\n", - "Requirement already satisfied, skipping upgrade: mmtf-python>=1.0.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis[analysis]) (1.1.2)\n", + "Requirement already satisfied, skipping upgrade: numpy>=1.13.3 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis[analysis]) (1.18.5)\n", "Requirement already satisfied, skipping upgrade: matplotlib>=1.5.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis[analysis]) (3.2.2)\n", + "Requirement already satisfied, skipping upgrade: six>=1.4.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis[analysis]) (1.15.0)\n", + "Requirement already satisfied, skipping upgrade: networkx>=1.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis[analysis]) (2.4)\n", + "Requirement already satisfied, skipping upgrade: mmtf-python>=1.0.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis[analysis]) (1.1.2)\n", + "Requirement already satisfied, skipping upgrade: tqdm>=4.43.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis[analysis]) (4.48.2)\n", "Requirement already satisfied, skipping upgrade: gsd>=1.4.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis[analysis]) (2.2.0)\n", "Requirement already satisfied, skipping upgrade: joblib>=0.12 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis[analysis]) (0.16.0)\n", - "Requirement already satisfied, skipping upgrade: biopython>=1.71 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis[analysis]) (1.77)\n", - "Requirement already satisfied, skipping upgrade: numpy>=1.13.3 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis[analysis]) (1.18.5)\n", "Requirement already satisfied, skipping upgrade: scipy>=1.0.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis[analysis]) (1.5.2)\n", - "Requirement already satisfied, skipping upgrade: mock in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis[analysis]) (4.0.2)\n", - "Requirement already satisfied, skipping upgrade: tqdm>=4.43.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis[analysis]) (4.48.2)\n", - "Requirement already satisfied, skipping upgrade: networkx>=1.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis[analysis]) (2.4)\n", "Requirement already satisfied, skipping upgrade: GridDataFormats>=0.4.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis[analysis]) (0.5.0)\n", - "Requirement already satisfied, skipping upgrade: six>=1.4.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis[analysis]) (1.15.0)\n", - "Requirement already satisfied, skipping upgrade: sklearn; extra == \"analysis\" in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis[analysis]) (0.0)\n", + "Requirement already satisfied, skipping upgrade: biopython>=1.71 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis[analysis]) (1.77)\n", + "Requirement already satisfied, skipping upgrade: mock in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis[analysis]) (4.0.2)\n", "Requirement already satisfied, skipping upgrade: seaborn; extra == \"analysis\" in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis[analysis]) (0.10.1)\n", - "Requirement already satisfied, skipping upgrade: msgpack>=0.5.6 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from mmtf-python>=1.0.0->MDAnalysis[analysis]) (1.0.0)\n", - "Requirement already satisfied, skipping upgrade: kiwisolver>=1.0.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from matplotlib>=1.5.1->MDAnalysis[analysis]) (1.2.0)\n", - "Requirement already satisfied, skipping upgrade: cycler>=0.10 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from matplotlib>=1.5.1->MDAnalysis[analysis]) (0.10.0)\n", + "Collecting sklearn; extra == \"analysis\"\n", + " Downloading sklearn-0.0.tar.gz (1.1 kB)\n", "Requirement already satisfied, skipping upgrade: python-dateutil>=2.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from matplotlib>=1.5.1->MDAnalysis[analysis]) (2.8.1)\n", "Requirement already satisfied, skipping upgrade: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from matplotlib>=1.5.1->MDAnalysis[analysis]) (2.4.7)\n", - "Requirement already satisfied, skipping upgrade: cython in /srv/conda/envs/notebook/lib/python3.7/site-packages (from gsd>=1.4.0->MDAnalysis[analysis]) (0.29.21)\n", + "Requirement already satisfied, skipping upgrade: kiwisolver>=1.0.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from matplotlib>=1.5.1->MDAnalysis[analysis]) (1.2.0)\n", + "Requirement already satisfied, skipping upgrade: cycler>=0.10 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from matplotlib>=1.5.1->MDAnalysis[analysis]) (0.10.0)\n", "Requirement already satisfied, skipping upgrade: decorator>=4.3.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from networkx>=1.0->MDAnalysis[analysis]) (4.4.2)\n", - "Requirement already satisfied, skipping upgrade: scikit-learn in /srv/conda/envs/notebook/lib/python3.7/site-packages (from sklearn; extra == \"analysis\"->MDAnalysis[analysis]) (0.23.2)\n", + "Requirement already satisfied, skipping upgrade: msgpack>=0.5.6 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from mmtf-python>=1.0.0->MDAnalysis[analysis]) (1.0.0)\n", + "Requirement already satisfied, skipping upgrade: cython in /srv/conda/envs/notebook/lib/python3.7/site-packages (from gsd>=1.4.0->MDAnalysis[analysis]) (0.29.21)\n", "Requirement already satisfied, skipping upgrade: pandas>=0.22.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from seaborn; extra == \"analysis\"->MDAnalysis[analysis]) (1.0.5)\n", - "Requirement already satisfied, skipping upgrade: threadpoolctl>=2.0.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from scikit-learn->sklearn; extra == \"analysis\"->MDAnalysis[analysis]) (2.1.0)\n", - "Requirement already satisfied, skipping upgrade: pytz>=2017.2 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from pandas>=0.22.0->seaborn; extra == \"analysis\"->MDAnalysis[analysis]) (2020.1)\n" + "Collecting scikit-learn\n", + " Downloading scikit_learn-0.23.2-cp37-cp37m-manylinux1_x86_64.whl (6.8 MB)\n", + "\u001b[K |████████████████████████████████| 6.8 MB 5.3 MB/s eta 0:00:01\n", + "\u001b[?25hRequirement already satisfied, skipping upgrade: pytz>=2017.2 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from pandas>=0.22.0->seaborn; extra == \"analysis\"->MDAnalysis[analysis]) (2020.1)\n", + "Collecting threadpoolctl>=2.0.0\n", + " Downloading threadpoolctl-2.1.0-py3-none-any.whl (12 kB)\n", + "Building wheels for collected packages: sklearn\n", + " Building wheel for sklearn (setup.py) ... \u001b[?25ldone\n", + "\u001b[?25h Created wheel for sklearn: filename=sklearn-0.0-py2.py3-none-any.whl size=1315 sha256=9d503dce42a51f588b53b47eebb6d435987c64fd346149baf6e93f42380b65f2\n", + " Stored in directory: /home/jovyan/.cache/pip/wheels/46/ef/c3/157e41f5ee1372d1be90b09f74f82b10e391eaacca8f22d33e\n", + "Successfully built sklearn\n", + "Installing collected packages: threadpoolctl, scikit-learn, sklearn\n", + "Successfully installed scikit-learn-0.23.2 sklearn-0.0 threadpoolctl-2.1.0\n" ] } ], @@ -79,7 +90,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 2, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -94,40 +105,61 @@ "name": "stdout", "output_type": "stream", "text": [ - "Requirement already up-to-date: MDAnalysisTests in /srv/conda/envs/notebook/lib/python3.7/site-packages (1.0.0)\n", - "Requirement already satisfied, skipping upgrade: hypothesis in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysisTests) (5.24.3)\n", - "Requirement already satisfied, skipping upgrade: psutil>=4.0.2 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysisTests) (5.7.2)\n", - "Requirement already satisfied, skipping upgrade: pytest>=3.3.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysisTests) (6.0.1)\n", - "Requirement already satisfied, skipping upgrade: MDAnalysis==1.0.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysisTests) (1.0.0)\n", + "Collecting MDAnalysisTests\n", + " Downloading MDAnalysisTests-1.0.0.tar.gz (47.7 MB)\n", + "\u001b[K |████████████████████████████████| 47.7 MB 40.6 MB/s eta 0:00:01\n", + "\u001b[?25hRequirement already satisfied, skipping upgrade: MDAnalysis==1.0.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysisTests) (1.0.0)\n", + "Collecting pytest>=3.3.0\n", + " Downloading pytest-6.0.1-py3-none-any.whl (270 kB)\n", + "\u001b[K |████████████████████████████████| 270 kB 29.4 MB/s eta 0:00:01\n", + "\u001b[?25hCollecting hypothesis\n", + " Downloading hypothesis-5.24.3-py3-none-any.whl (321 kB)\n", + "\u001b[K |████████████████████████████████| 321 kB 27.7 MB/s eta 0:00:01\n", + "\u001b[?25hRequirement already satisfied, skipping upgrade: psutil>=4.0.2 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysisTests) (5.7.2)\n", "Requirement already satisfied, skipping upgrade: mock>=2.0.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysisTests) (4.0.2)\n", - "Requirement already satisfied, skipping upgrade: attrs>=19.2.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from hypothesis->MDAnalysisTests) (19.3.0)\n", - "Requirement already satisfied, skipping upgrade: sortedcontainers<3.0.0,>=2.1.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from hypothesis->MDAnalysisTests) (2.2.2)\n", - "Requirement already satisfied, skipping upgrade: pluggy<1.0,>=0.12 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from pytest>=3.3.0->MDAnalysisTests) (0.13.1)\n", - "Requirement already satisfied, skipping upgrade: py>=1.8.2 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from pytest>=3.3.0->MDAnalysisTests) (1.9.0)\n", - "Requirement already satisfied, skipping upgrade: importlib-metadata>=0.12; python_version < \"3.8\" in /srv/conda/envs/notebook/lib/python3.7/site-packages (from pytest>=3.3.0->MDAnalysisTests) (1.7.0)\n", - "Requirement already satisfied, skipping upgrade: packaging in /srv/conda/envs/notebook/lib/python3.7/site-packages (from pytest>=3.3.0->MDAnalysisTests) (20.4)\n", - "Requirement already satisfied, skipping upgrade: iniconfig in /srv/conda/envs/notebook/lib/python3.7/site-packages (from pytest>=3.3.0->MDAnalysisTests) (1.0.1)\n", - "Requirement already satisfied, skipping upgrade: toml in /srv/conda/envs/notebook/lib/python3.7/site-packages (from pytest>=3.3.0->MDAnalysisTests) (0.10.1)\n", - "Requirement already satisfied, skipping upgrade: more-itertools>=4.0.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from pytest>=3.3.0->MDAnalysisTests) (8.4.0)\n", - "Requirement already satisfied, skipping upgrade: joblib>=0.12 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis==1.0.0->MDAnalysisTests) (0.16.0)\n", - "Requirement already satisfied, skipping upgrade: scipy>=1.0.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis==1.0.0->MDAnalysisTests) (1.5.2)\n", "Requirement already satisfied, skipping upgrade: six>=1.4.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis==1.0.0->MDAnalysisTests) (1.15.0)\n", + "Requirement already satisfied, skipping upgrade: gsd>=1.4.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis==1.0.0->MDAnalysisTests) (2.2.0)\n", "Requirement already satisfied, skipping upgrade: tqdm>=4.43.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis==1.0.0->MDAnalysisTests) (4.48.2)\n", - "Requirement already satisfied, skipping upgrade: biopython>=1.71 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis==1.0.0->MDAnalysisTests) (1.77)\n", - "Requirement already satisfied, skipping upgrade: mmtf-python>=1.0.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis==1.0.0->MDAnalysisTests) (1.1.2)\n", "Requirement already satisfied, skipping upgrade: GridDataFormats>=0.4.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis==1.0.0->MDAnalysisTests) (0.5.0)\n", - "Requirement already satisfied, skipping upgrade: numpy>=1.13.3 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis==1.0.0->MDAnalysisTests) (1.18.5)\n", - "Requirement already satisfied, skipping upgrade: matplotlib>=1.5.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis==1.0.0->MDAnalysisTests) (3.2.2)\n", - "Requirement already satisfied, skipping upgrade: gsd>=1.4.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis==1.0.0->MDAnalysisTests) (2.2.0)\n", + "Requirement already satisfied, skipping upgrade: joblib>=0.12 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis==1.0.0->MDAnalysisTests) (0.16.0)\n", "Requirement already satisfied, skipping upgrade: networkx>=1.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis==1.0.0->MDAnalysisTests) (2.4)\n", - "Requirement already satisfied, skipping upgrade: zipp>=0.5 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from importlib-metadata>=0.12; python_version < \"3.8\"->pytest>=3.3.0->MDAnalysisTests) (3.1.0)\n", - "Requirement already satisfied, skipping upgrade: pyparsing>=2.0.2 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from packaging->pytest>=3.3.0->MDAnalysisTests) (2.4.7)\n", - "Requirement already satisfied, skipping upgrade: msgpack>=0.5.6 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from mmtf-python>=1.0.0->MDAnalysis==1.0.0->MDAnalysisTests) (1.0.0)\n", - "Requirement already satisfied, skipping upgrade: kiwisolver>=1.0.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from matplotlib>=1.5.1->MDAnalysis==1.0.0->MDAnalysisTests) (1.2.0)\n", - "Requirement already satisfied, skipping upgrade: python-dateutil>=2.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from matplotlib>=1.5.1->MDAnalysis==1.0.0->MDAnalysisTests) (2.8.1)\n", - "Requirement already satisfied, skipping upgrade: cycler>=0.10 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from matplotlib>=1.5.1->MDAnalysis==1.0.0->MDAnalysisTests) (0.10.0)\n", + "Requirement already satisfied, skipping upgrade: scipy>=1.0.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis==1.0.0->MDAnalysisTests) (1.5.2)\n", + "Requirement already satisfied, skipping upgrade: matplotlib>=1.5.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis==1.0.0->MDAnalysisTests) (3.2.2)\n", + "Requirement already satisfied, skipping upgrade: biopython>=1.71 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis==1.0.0->MDAnalysisTests) (1.77)\n", + "Requirement already satisfied, skipping upgrade: numpy>=1.13.3 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis==1.0.0->MDAnalysisTests) (1.18.5)\n", + "Requirement already satisfied, skipping upgrade: mmtf-python>=1.0.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from MDAnalysis==1.0.0->MDAnalysisTests) (1.1.2)\n", + "Collecting pluggy<1.0,>=0.12\n", + " Downloading pluggy-0.13.1-py2.py3-none-any.whl (18 kB)\n", + "Collecting py>=1.8.2\n", + " Downloading py-1.9.0-py2.py3-none-any.whl (99 kB)\n", + "\u001b[K |████████████████████████████████| 99 kB 12.7 MB/s eta 0:00:01\n", + "\u001b[?25hRequirement already satisfied, skipping upgrade: attrs>=17.4.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from pytest>=3.3.0->MDAnalysisTests) (19.3.0)\n", + "Collecting iniconfig\n", + " Downloading iniconfig-1.0.1-py3-none-any.whl (4.2 kB)\n", + "Collecting toml\n", + " Downloading toml-0.10.1-py2.py3-none-any.whl (19 kB)\n", + "Collecting more-itertools>=4.0.0\n", + " Downloading more_itertools-8.4.0-py3-none-any.whl (43 kB)\n", + "\u001b[K |████████████████████████████████| 43 kB 2.6 MB/s eta 0:00:01\n", + "\u001b[?25hRequirement already satisfied, skipping upgrade: importlib-metadata>=0.12; python_version < \"3.8\" in /srv/conda/envs/notebook/lib/python3.7/site-packages (from pytest>=3.3.0->MDAnalysisTests) (1.7.0)\n", + "Requirement already satisfied, skipping upgrade: packaging in /srv/conda/envs/notebook/lib/python3.7/site-packages (from pytest>=3.3.0->MDAnalysisTests) (20.4)\n", + "Collecting sortedcontainers<3.0.0,>=2.1.0\n", + " Downloading sortedcontainers-2.2.2-py2.py3-none-any.whl (29 kB)\n", "Requirement already satisfied, skipping upgrade: cython in /srv/conda/envs/notebook/lib/python3.7/site-packages (from gsd>=1.4.0->MDAnalysis==1.0.0->MDAnalysisTests) (0.29.21)\n", - "Requirement already satisfied, skipping upgrade: decorator>=4.3.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from networkx>=1.0->MDAnalysis==1.0.0->MDAnalysisTests) (4.4.2)\n" + "Requirement already satisfied, skipping upgrade: decorator>=4.3.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from networkx>=1.0->MDAnalysis==1.0.0->MDAnalysisTests) (4.4.2)\n", + "Requirement already satisfied, skipping upgrade: cycler>=0.10 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from matplotlib>=1.5.1->MDAnalysis==1.0.0->MDAnalysisTests) (0.10.0)\n", + "Requirement already satisfied, skipping upgrade: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from matplotlib>=1.5.1->MDAnalysis==1.0.0->MDAnalysisTests) (2.4.7)\n", + "Requirement already satisfied, skipping upgrade: python-dateutil>=2.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from matplotlib>=1.5.1->MDAnalysis==1.0.0->MDAnalysisTests) (2.8.1)\n", + "Requirement already satisfied, skipping upgrade: kiwisolver>=1.0.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from matplotlib>=1.5.1->MDAnalysis==1.0.0->MDAnalysisTests) (1.2.0)\n", + "Requirement already satisfied, skipping upgrade: msgpack>=0.5.6 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from mmtf-python>=1.0.0->MDAnalysis==1.0.0->MDAnalysisTests) (1.0.0)\n", + "Requirement already satisfied, skipping upgrade: zipp>=0.5 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from importlib-metadata>=0.12; python_version < \"3.8\"->pytest>=3.3.0->MDAnalysisTests) (3.1.0)\n", + "Building wheels for collected packages: MDAnalysisTests\n", + " Building wheel for MDAnalysisTests (setup.py) ... \u001b[?25ldone\n", + "\u001b[?25h Created wheel for MDAnalysisTests: filename=MDAnalysisTests-1.0.0-py2.py3-none-any.whl size=47955245 sha256=ffcd7b6b9b036ffbd60a51ca44463f54d15eadf8ce9f7db33a9cf7dd3dfde944\n", + " Stored in directory: /home/jovyan/.cache/pip/wheels/f0/58/3d/f4d2f56341e54af77657939a2076403c3575f14acea4159d9b\n", + "Successfully built MDAnalysisTests\n", + "Installing collected packages: pluggy, py, iniconfig, toml, more-itertools, pytest, sortedcontainers, hypothesis, MDAnalysisTests\n", + "Successfully installed MDAnalysisTests-1.0.0 hypothesis-5.24.3 iniconfig-1.0.1 more-itertools-8.4.0 pluggy-0.13.1 py-1.9.0 pytest-6.0.1 sortedcontainers-2.2.2 toml-0.10.1\n" ] } ], @@ -147,7 +179,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 3, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -165,44 +197,44 @@ "Requirement already satisfied: nglview in /srv/conda/envs/notebook/lib/python3.7/site-packages (2.7.7)\n", "Requirement already satisfied: ipywidgets>=7 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nglview) (7.5.1)\n", "Requirement already satisfied: numpy in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nglview) (1.18.5)\n", - "Requirement already satisfied: widgetsnbextension~=3.5.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipywidgets>=7->nglview) (3.5.1)\n", - "Requirement already satisfied: ipython>=4.0.0; python_version >= \"3.3\" in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipywidgets>=7->nglview) (7.16.1)\n", "Requirement already satisfied: ipykernel>=4.5.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipywidgets>=7->nglview) (5.3.4)\n", + "Requirement already satisfied: widgetsnbextension~=3.5.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipywidgets>=7->nglview) (3.5.1)\n", "Requirement already satisfied: traitlets>=4.3.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipywidgets>=7->nglview) (4.3.3)\n", + "Requirement already satisfied: ipython>=4.0.0; python_version >= \"3.3\" in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipywidgets>=7->nglview) (7.16.1)\n", "Requirement already satisfied: nbformat>=4.2.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipywidgets>=7->nglview) (5.0.7)\n", + "Requirement already satisfied: jupyter-client in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipykernel>=4.5.1->ipywidgets>=7->nglview) (6.1.6)\n", + "Requirement already satisfied: tornado>=4.2 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipykernel>=4.5.1->ipywidgets>=7->nglview) (6.0.4)\n", "Requirement already satisfied: notebook>=4.4.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (6.0.3)\n", - "Requirement already satisfied: decorator in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=7->nglview) (4.4.2)\n", - "Requirement already satisfied: setuptools>=18.5 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=7->nglview) (49.2.0.post20200712)\n", + "Requirement already satisfied: decorator in /srv/conda/envs/notebook/lib/python3.7/site-packages (from traitlets>=4.3.1->ipywidgets>=7->nglview) (4.4.2)\n", + "Requirement already satisfied: six in /srv/conda/envs/notebook/lib/python3.7/site-packages (from traitlets>=4.3.1->ipywidgets>=7->nglview) (1.15.0)\n", + "Requirement already satisfied: ipython-genutils in /srv/conda/envs/notebook/lib/python3.7/site-packages (from traitlets>=4.3.1->ipywidgets>=7->nglview) (0.2.0)\n", "Requirement already satisfied: pygments in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=7->nglview) (2.6.1)\n", + "Requirement already satisfied: backcall in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=7->nglview) (0.2.0)\n", "Requirement already satisfied: pickleshare in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=7->nglview) (0.7.5)\n", "Requirement already satisfied: pexpect; sys_platform != \"win32\" in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=7->nglview) (4.8.0)\n", - "Requirement already satisfied: backcall in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=7->nglview) (0.2.0)\n", - "Requirement already satisfied: jedi>=0.10 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=7->nglview) (0.17.2)\n", "Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=7->nglview) (3.0.5)\n", - "Requirement already satisfied: tornado>=4.2 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipykernel>=4.5.1->ipywidgets>=7->nglview) (6.0.4)\n", - "Requirement already satisfied: jupyter-client in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipykernel>=4.5.1->ipywidgets>=7->nglview) (6.1.6)\n", - "Requirement already satisfied: six in /srv/conda/envs/notebook/lib/python3.7/site-packages (from traitlets>=4.3.1->ipywidgets>=7->nglview) (1.15.0)\n", - "Requirement already satisfied: ipython-genutils in /srv/conda/envs/notebook/lib/python3.7/site-packages (from traitlets>=4.3.1->ipywidgets>=7->nglview) (0.2.0)\n", - "Requirement already satisfied: jsonschema!=2.5.0,>=2.4 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbformat>=4.2.0->ipywidgets>=7->nglview) (3.2.0)\n", + "Requirement already satisfied: setuptools>=18.5 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=7->nglview) (49.2.0.post20200712)\n", + "Requirement already satisfied: jedi>=0.10 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=7->nglview) (0.17.2)\n", "Requirement already satisfied: jupyter-core in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbformat>=4.2.0->ipywidgets>=7->nglview) (4.6.3)\n", - "Requirement already satisfied: nbconvert in /srv/conda/envs/notebook/lib/python3.7/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (5.6.1)\n", + "Requirement already satisfied: jsonschema!=2.5.0,>=2.4 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbformat>=4.2.0->ipywidgets>=7->nglview) (3.2.0)\n", + "Requirement already satisfied: pyzmq>=13 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jupyter-client->ipykernel>=4.5.1->ipywidgets>=7->nglview) (19.0.1)\n", + "Requirement already satisfied: python-dateutil>=2.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jupyter-client->ipykernel>=4.5.1->ipywidgets>=7->nglview) (2.8.1)\n", "Requirement already satisfied: terminado>=0.8.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (0.8.3)\n", + "Requirement already satisfied: nbconvert in /srv/conda/envs/notebook/lib/python3.7/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (5.6.1)\n", "Requirement already satisfied: prometheus-client in /srv/conda/envs/notebook/lib/python3.7/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (0.8.0)\n", - "Requirement already satisfied: Send2Trash in /srv/conda/envs/notebook/lib/python3.7/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (1.5.0)\n", "Requirement already satisfied: jinja2 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (2.11.2)\n", - "Requirement already satisfied: pyzmq>=17 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (19.0.1)\n", + "Requirement already satisfied: Send2Trash in /srv/conda/envs/notebook/lib/python3.7/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (1.5.0)\n", "Requirement already satisfied: ptyprocess>=0.5 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from pexpect; sys_platform != \"win32\"->ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=7->nglview) (0.6.0)\n", - "Requirement already satisfied: parso<0.8.0,>=0.7.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jedi>=0.10->ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=7->nglview) (0.7.1)\n", "Requirement already satisfied: wcwidth in /srv/conda/envs/notebook/lib/python3.7/site-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=7->nglview) (0.2.5)\n", - "Requirement already satisfied: python-dateutil>=2.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jupyter-client->ipykernel>=4.5.1->ipywidgets>=7->nglview) (2.8.1)\n", + "Requirement already satisfied: parso<0.8.0,>=0.7.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jedi>=0.10->ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=7->nglview) (0.7.1)\n", "Requirement already satisfied: attrs>=17.4.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat>=4.2.0->ipywidgets>=7->nglview) (19.3.0)\n", - "Requirement already satisfied: importlib-metadata; python_version < \"3.8\" in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat>=4.2.0->ipywidgets>=7->nglview) (1.7.0)\n", "Requirement already satisfied: pyrsistent>=0.14.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat>=4.2.0->ipywidgets>=7->nglview) (0.16.0)\n", + "Requirement already satisfied: importlib-metadata; python_version < \"3.8\" in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat>=4.2.0->ipywidgets>=7->nglview) (1.7.0)\n", "Requirement already satisfied: pandocfilters>=1.4.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (1.4.2)\n", - "Requirement already satisfied: entrypoints>=0.2.2 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (0.3)\n", + "Requirement already satisfied: bleach in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (3.1.5)\n", "Requirement already satisfied: defusedxml in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (0.6.0)\n", "Requirement already satisfied: mistune<2,>=0.8.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (0.8.4)\n", - "Requirement already satisfied: bleach in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (3.1.5)\n", + "Requirement already satisfied: entrypoints>=0.2.2 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (0.3)\n", "Requirement already satisfied: testpath in /srv/conda/envs/notebook/lib/python3.7/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (0.4.4)\n", "Requirement already satisfied: MarkupSafe>=0.23 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from jinja2->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7->nglview) (1.1.1)\n", "Requirement already satisfied: zipp>=0.5 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from importlib-metadata; python_version < \"3.8\"->jsonschema!=2.5.0,>=2.4->nbformat>=4.2.0->ipywidgets>=7->nglview) (3.1.0)\n", @@ -218,7 +250,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 4, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -255,13 +287,26 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 5, "metadata": { "colab": {}, "colab_type": "code", "id": "VDy7Jm1ClRyQ" }, - "outputs": [], + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "559659fc072c4a5fa1c6ed9bff259cc3", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "import MDAnalysis as mda\n", "\n", @@ -285,7 +330,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 6, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -329,7 +374,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -339,7 +384,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -356,7 +401,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -403,56 +448,24 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/srv/conda/envs/notebook/lib/python3.7/site-packages/MDAnalysis/topology/PDBParser.py:330: UserWarning: Element information is absent or missing for a few atoms. Elements attributes will not be populated.\n", - " warnings.warn(\"Element information is absent or missing for a few \"\n" - ] - } - ], - "source": [ - "from MDAnalysisTests.datafiles import PDB, XTC\n", - "v = mda.Universe(PDB, XTC)" - ] + "outputs": [], + "source": [] }, { "cell_type": "code", - "execution_count": 49, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - ", , , ..., , , ]>\n" - ] - } - ], - "source": [ - "print(v.atoms)" - ] + "outputs": [], + "source": [] }, { "cell_type": "code", - "execution_count": 50, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n" - ] - } - ], - "source": [ - "print(v.trajectory)" - ] + "outputs": [], + "source": [] }, { "cell_type": "markdown", @@ -471,7 +484,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ @@ -487,7 +500,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 16, "metadata": {}, "outputs": [], "source": [ @@ -503,7 +516,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -526,7 +539,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -535,7 +548,7 @@ "" ] }, - "execution_count": 54, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -548,7 +561,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 19, "metadata": {}, "outputs": [ { @@ -565,7 +578,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -1702,7 +1715,7 @@ }, { "cell_type": "code", - "execution_count": 96, + "execution_count": 21, "metadata": {}, "outputs": [], "source": [ @@ -1713,7 +1726,7 @@ }, { "cell_type": "code", - "execution_count": 98, + "execution_count": 22, "metadata": {}, "outputs": [ { @@ -1722,7 +1735,7 @@ "28.20178579474479" ] }, - "execution_count": 98, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -1735,7 +1748,7 @@ }, { "cell_type": "code", - "execution_count": 99, + "execution_count": 23, "metadata": {}, "outputs": [ { @@ -1744,7 +1757,7 @@ "21.892591663632704" ] }, - "execution_count": 99, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } @@ -1755,7 +1768,7 @@ }, { "cell_type": "code", - "execution_count": 100, + "execution_count": 24, "metadata": {}, "outputs": [ { @@ -1764,7 +1777,7 @@ "6.809396586471815" ] }, - "execution_count": 100, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -1776,7 +1789,7 @@ }, { "cell_type": "code", - "execution_count": 102, + "execution_count": 25, "metadata": {}, "outputs": [ { @@ -1800,7 +1813,7 @@ }, { "cell_type": "code", - "execution_count": 104, + "execution_count": 27, "metadata": {}, "outputs": [], "source": [ @@ -1819,7 +1832,7 @@ }, { "cell_type": "code", - "execution_count": 105, + "execution_count": 28, "metadata": {}, "outputs": [ { @@ -1828,7 +1841,7 @@ "(21.892591663632704, 6.809396586471809)" ] }, - "execution_count": 105, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -1841,16 +1854,16 @@ }, { "cell_type": "code", - "execution_count": 107, + "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 107, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } @@ -1917,7 +1930,7 @@ }, { "cell_type": "code", - "execution_count": 110, + "execution_count": 30, "metadata": {}, "outputs": [], "source": [ @@ -1929,7 +1942,7 @@ }, { "cell_type": "code", - "execution_count": 111, + "execution_count": 31, "metadata": {}, "outputs": [], "source": [ @@ -1946,7 +1959,7 @@ }, { "cell_type": "code", - "execution_count": 112, + "execution_count": 32, "metadata": {}, "outputs": [ { @@ -1971,26 +1984,24 @@ }, { "cell_type": "code", - "execution_count": 120, + "execution_count": 35, "metadata": {}, "outputs": [ { - "name": "stderr", - "output_type": "stream", - "text": [ - "/srv/conda/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:2: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`).\n", - " \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "/bin/bash: -c: line 1: syntax error: unexpected end of file\r\n" - ] + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" } ], "source": [ + "%matplotlib inline\n", "# plot time series q(t)\n", "fig, ax = plt.subplots()\n", "ax.plot(ca1.timeseries[:, 0], ca1.timeseries[:, 1])\n", @@ -1999,6 +2010,13 @@ "fig.show()" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Distance analysis — MDAnalysis.analysis.distances" + ] + }, { "cell_type": "code", "execution_count": null, @@ -2007,12 +2025,60 @@ "source": [] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 40, "metadata": {}, + "outputs": [], "source": [ - "## Distance analysis — MDAnalysis.analysis.distances" + "CA_1 = u.select_atoms(\"resid 1 and name CA\") # Atom selection lig1-1\n", + "CA_30 = u.select_atoms(\"resid 30 and name CA\") # Atom selection nad-1\n", + "\n", + "DIS = []\n", + "for ts in u.trajectory: # iterate through all frames\n", + " C1 = CA_1.positions[0] # Coordinates lig1-1\n", + " C30 = CA_30.positions[0] # Coordinates nad-1\n", + " d = C1 - C30 # vector from atom positions\n", + " dist = np.linalg.norm(d) # end-to-end distance\n", + " DIS.append((ts.frame, dist))\n", + "# print(ts.frame, distNAD)\n", + "\n", + "DIS_a = np.array(DIS)\n", + "#print(DIS_a)" ] }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "ax = plt.plot(DIS_a[:,0], DIS_a[:,1], 'c', lw=1.5)\n", + "plt.xlabel(\"frame\")\n", + "plt.ylabel(\"Distance ($\\AA$)\")\n", + "plt.title('Distance CA_1 & CA30')\n", + "plt.savefig(\"dist.png\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, { "cell_type": "markdown", "metadata": {}, @@ -2020,9 +2086,21 @@ "## Calculating root mean square quantities — MDAnalysis.analysis.rms" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Calculating RMSD for multiple domains\n", + "In this example we will globally fit a protein to a reference structure and investigate the relative movements of domains by computing the RMSD of the domains to the reference. The example is a DIMS trajectory of adenylate kinase, which samples a large closed-to-open transition. The protein consists of the CORE, LID, and NMP domain. \n", + "\n", + "superimpose on the closed structure (frame 0 of the trajectory), using backbone atoms\n", + "calculate the backbone RMSD and RMSD for CORE, LID, NMP (backbone atoms)\n", + "The trajectory is included with the test data files. The data in RMSD.rmsd is plotted with matplotlib.pyplot.plot():" + ] + }, { "cell_type": "code", - "execution_count": 122, + "execution_count": 36, "metadata": {}, "outputs": [], "source": [ @@ -2034,16 +2112,16 @@ }, { "cell_type": "code", - "execution_count": 123, + "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 123, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } @@ -2061,21 +2139,26 @@ }, { "cell_type": "code", - "execution_count": 124, + "execution_count": 39, "metadata": { "scrolled": true }, "outputs": [ { - "name": "stderr", - "output_type": "stream", - "text": [ - "/srv/conda/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:3: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`).\n", - " This is separate from the ipykernel package so we can avoid doing imports until\n" - ] + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" } ], "source": [ + "%matplotlib inline\n", "rmsd = R.rmsd.T # transpose makes it easier for plotting\n", "time = rmsd[1]\n", "fig = plt.figure(figsize=(4,4))\n", @@ -2091,6 +2174,140 @@ "plt.show()" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Residue RMSF fluctuations" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this example we calculate the residue RMSF fluctuations by analyzing the Cα atoms." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "First we need to fit the trajectory to the average structure as a reference. That requires calculating the average structure first. Because we need to analyze and manipulate the same trajectory multiple times, we are going to load it into memory using the MemoryReader. (If your trajectory does not fit into memory, you will need to write out intermediate trajectories to disk or generate an in-memory universe that only contains, say, the protein):" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [], + "source": [ + "from MDAnalysis.analysis import align\n", + "from MDAnalysisTests.datafiles import TPR, XTC\n", + "\n", + "\n", + "u = mda.Universe(TPR, XTC, in_memory=True)\n", + "protein = u.select_atoms(\"protein\")" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [], + "source": [ + "# 1) need a step to center and make whole: this trajectory\n", + "# contains the protein being split across periodic boundaries\n", + "#\n", + "# TODO\n", + "\n", + "# 2) fit to the initial frame to get a better average structure\n", + "# (the trajectory is changed in memory)\n", + "#prealigner = align.AlignTraj(u, select=\"protein and name CA\", in_memory=True).run()\n", + "\n", + "\n", + "# 3) reference = average structure\n", + "reference_coordinates = u.trajectory.timeseries(asel=protein).mean(axis=1)\n", + "# make a reference structure (need to reshape into a 1-frame \"trajectory\")\n", + "reference = mda.Merge(protein).load_new(\n", + " reference_coordinates[:, None, :], order=\"afc\")" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": {}, + "outputs": [], + "source": [ + "aligner = align.AlignTraj(u, reference, select=\"protein and name CA\", in_memory=True).run()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "861af08b99ca4a1791f65620701860e8", + "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": 58, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "plt.plot(calphas.resnums, rmsfer.rmsf)" + ] + }, { "cell_type": "markdown", "metadata": { @@ -2098,43 +2315,97 @@ "colab_type": "code", "id": "cdnXz8UfU64r" }, + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, "source": [ - "## Calculating path similarity — MDAnalysis.analysis.psa" + "# 5.2 Hydrogen bonding" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## ENCORE Ensemble Similarity Calculations — MDAnalysis.analysis.encore" + "## Hydrogen Bond Analysis — MDAnalysis.analysis.hydrogenbonds.hbond_analysis" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Bond-Angle-Torsion coordinates analysis — MDAnalysis.analysis.bat" + "The simplest use case is to allow HydrogenBondAnalysis to guess the acceptor and hydrogen atoms, and to identify donor-hydrogen pairs via the bonding information in the topology:" ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 62, "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# 5.2 Hydrogen bonding" + "from MDAnalysis.analysis.hydrogenbonds.hbond_analysis import HydrogenBondAnalysis as HBA\n", + "\n", + "u = mda.Universe(PSF, DCD)\n", + "\n", + "hbonds = HBA(universe=u)\n", + "hbonds.run()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Hydrogen Bond Analysis — MDAnalysis.analysis.hydrogenbonds.hbond_analysis" + "It is also possible to specify which hydrogens and acceptors to use in the analysis. For example, to find all hydrogen bonds in water:" ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 65, "metadata": {}, + "outputs": [ + { + "ename": "AttributeError", + "evalue": "'int' object has no attribute 'positions'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mhbonds\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mHBA\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0muniverse\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mu\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mhydrogens_sel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"resname TIP3 and name H1 H2\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0macceptors_sel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"resname TIP3 and name OH2\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 6\u001b[0;31m \u001b[0mhbonds\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrun\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m/srv/conda/envs/notebook/lib/python3.7/site-packages/MDAnalysis/analysis/base.py\u001b[0m in \u001b[0;36mrun\u001b[0;34m(self, start, stop, step, verbose)\u001b[0m\n\u001b[1;32m 195\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtimes\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mts\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtime\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 196\u001b[0m \u001b[0;31m# logger.info(\"--> Doing frame {} of {}\".format(i+1, self.n_frames))\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 197\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_single_frame\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 198\u001b[0m \u001b[0mlogger\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minfo\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Finishing up\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 199\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_conclude\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/srv/conda/envs/notebook/lib/python3.7/site-packages/MDAnalysis/analysis/hydrogenbonds/hbond_analysis.py\u001b[0m in \u001b[0;36m_single_frame\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 456\u001b[0m \u001b[0;31m# min_cutoff = 1.0 as an atom cannot form a hydrogen bond with itself\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 457\u001b[0m d_a_indices, d_a_distances = capped_distance(\n\u001b[0;32m--> 458\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_donors\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpositions\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 459\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_acceptors\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpositions\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 460\u001b[0m \u001b[0mmax_cutoff\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0md_a_cutoff\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mAttributeError\u001b[0m: 'int' object has no attribute 'positions'" + ] + } + ], "source": [ - "## Hydrogen bond autocorrelation — MDAnalysis.analysis.hbonds.hbond_autocorrel" + "from MDAnalysis.analysis.hydrogenbonds.hbond_analysis import HydrogenBondAnalysis as HBA\n", + "\n", + "u = mda.Universe(PSF, DCD)\n", + "\n", + "hbonds = HBA(universe=u, hydrogens_sel=\"resname TIP3 and name H1 H2\", acceptors_sel=\"resname TIP3 and name OH2\")\n", + "hbonds.run()" ] }, {