{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Microstate Analysis Library Illustrated by Examples" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Part one: Loading the library and query monte carlo sampling environment\n", "Load microstate analysis library. This library provides the following variables and functions:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from ms_analysis import *" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "### Universal constants:\n", "Once the library is loaded, you can view some constants used by the library.\n", "\n", "These are energy unit conversion constants at temperature 298.15 K" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1 ph unit = 1.364 Kcal\n", "1 Kcal = 1.688 kT at 298.15K:\n" ] } ], "source": [ "print(\"1 ph unit = %.3f Kcal\" % ph2Kcal)\n", "print(\"1 Kcal = %.3f kT at 298.15K:\" % Kcal2kT)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Load a microstate file from Monte Carlo sampling output\n", "\n", "Go to a working directory. The essential files for microstate analysis are:\n", "* head3.lst file\n", "* ms_out folder that contains Monte Carlo sanoling microstate output\n", "\n", "Since Monte Carlo sampling was generally carried out at multiple pH or Ehs, you need to specify which file to load.\n", "\n", "A monte carlo object is reqired to be initilized to hold the microstates.\n", "\n", "Finally, read the data into the object." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/home/jupyter-jmao/ms_analysis/4lzt\n", "Reading MC:0\n" ] } ], "source": [ "%cd ~/ms_analysis/4lzt\n", "msfile = \"ms_out/pH5eH0ms.txt\"\n", "mc = MC()\n", "mc.readms(msfile)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A Monte Carlo sampling has 6 independent tuns. It's possible to read selected runs from microstate file.\n", "\n", "Any call of function readms() will overwrite previously loaded microstates instead of appending the microstates.\n", "\n", "\n", "Reading partial Monte Carlo sampling microstates is supported. \n", "\n", "By default, a Monte Carlo sampling is carried out 6 times and is numbered as 0, 1, 2, ..., 5." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reading MC:1\n", "Reading MC:2\n" ] } ], "source": [ "mc.readms(msfile, MC=[1,2])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Microstate environment:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "MC temperature = 298.150\n", "MC pH = 5.00\n", "MC Eh = 0.00\n", "MC Method (Monte Carlo sampling or Analytical solution): MONTERUNS\n" ] } ], "source": [ "print(\"MC temperature = %.3f\" % mc.T)\n", "print(\"MC pH = %.2f\" % mc.pH)\n", "print(\"MC Eh = %.2f\" % mc.Eh)\n", "print(\"MC Method (Monte Carlo sampling or Analytical solution): %s\" % mc.method)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Monte Carlo sampling basic information\n", "\n", "The basic information of the Monte Carlo sampling includes:\n", "- Total number of microstates (this is also the Monte Carlo sampling steps)\n", "- Number of unique microstates (one microstate may be visited and retained multiple times)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "MC total number of microstates = 2200000\n", "Number of unique microstates = 710067\n" ] } ], "source": [ "print(\"MC total number of microstates = %d\" % mc.counts)\n", "print(\"Number of unique microstates = %d\" % len(mc.microstates))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Part two: Query conformer and residue information\n", "\n", "### Query conformer information\n", "Conformers are in a list of conformer records. Each conformer record contains a conformer id, serial number, residue id and charge. The conformer index iconf starts with 0, so it is 1 less than that in head3.lst." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "NTR01A0001_001: iconf= 0, Residue=NTRA0001_, charge= 0.000\n", "NTR+1A0001_002: iconf= 1, Residue=NTRA0001_, charge= 1.000\n", "LYS01A0001_001: iconf= 2, Residue=LYSA0001_, charge= 0.000\n", "LYS01A0001_002: iconf= 3, Residue=LYSA0001_, charge= 0.000\n", "LYS01A0001_003: iconf= 4, Residue=LYSA0001_, charge= 0.000\n", "LYS01A0001_004: iconf= 5, Residue=LYSA0001_, charge= 0.000\n", "LYS+1A0001_005: iconf= 6, Residue=LYSA0001_, charge= 1.000\n", "LYS+1A0001_006: iconf= 7, Residue=LYSA0001_, charge= 1.000\n", "LYS+1A0001_007: iconf= 8, Residue=LYSA0001_, charge= 1.000\n", "LYS+1A0001_008: iconf= 9, Residue=LYSA0001_, charge= 1.000\n", "VAL01A0002_001: iconf= 10, Residue=VALA0002_, charge= 0.000\n", "PHE01A0003_001: iconf= 11, Residue=PHEA0003_, charge= 0.000\n", "PHE01A0003_002: iconf= 12, Residue=PHEA0003_, charge= 0.000\n", "ARG01A0005_001: iconf= 13, Residue=ARGA0005_, charge= 0.000\n", "ARG01A0005_002: iconf= 14, Residue=ARGA0005_, charge= 0.000\n", "ARG01A0005_003: iconf= 15, Residue=ARGA0005_, charge= 0.000\n", "ARG01A0005_004: iconf= 16, Residue=ARGA0005_, charge= 0.000\n", "ARG01A0005_005: iconf= 17, Residue=ARGA0005_, charge= 0.000\n", "ARG01A0005_006: iconf= 18, Residue=ARGA0005_, charge= 0.000\n", "ARG01A0005_007: iconf= 19, Residue=ARGA0005_, charge= 0.000\n", "ARG02A0005_008: iconf= 20, Residue=ARGA0005_, charge= 0.000\n", "ARG02A0005_009: iconf= 21, Residue=ARGA0005_, charge= 0.000\n", "ARG02A0005_010: iconf= 22, Residue=ARGA0005_, charge= 0.000\n", "ARG02A0005_011: iconf= 23, Residue=ARGA0005_, charge= 0.000\n", "ARG02A0005_012: iconf= 24, Residue=ARGA0005_, charge= 0.000\n", "ARG02A0005_013: iconf= 25, Residue=ARGA0005_, charge= 0.000\n", "ARG02A0005_014: iconf= 26, Residue=ARGA0005_, charge= 0.000\n", "ARG02A0005_015: iconf= 27, Residue=ARGA0005_, charge= 0.000\n", "ARG02A0005_016: iconf= 28, Residue=ARGA0005_, charge= 0.000\n", "ARG02A0005_017: iconf= 29, Residue=ARGA0005_, charge= 0.000\n", "ARG03A0005_018: iconf= 30, Residue=ARGA0005_, charge= 0.000\n", "ARG03A0005_019: iconf= 31, Residue=ARGA0005_, charge= 0.000\n", "ARG03A0005_020: iconf= 32, Residue=ARGA0005_, charge= 0.000\n", "ARG03A0005_021: iconf= 33, Residue=ARGA0005_, charge= 0.000\n", "ARG03A0005_022: iconf= 34, Residue=ARGA0005_, charge= 0.000\n", "ARG03A0005_023: iconf= 35, Residue=ARGA0005_, charge= 0.000\n", "ARG03A0005_024: iconf= 36, Residue=ARGA0005_, charge= 0.000\n", "ARG03A0005_025: iconf= 37, Residue=ARGA0005_, charge= 0.000\n", "ARG03A0005_026: iconf= 38, Residue=ARGA0005_, charge= 0.000\n", "ARG03A0005_027: iconf= 39, Residue=ARGA0005_, charge= 0.000\n", "ARG+1A0005_028: iconf= 40, Residue=ARGA0005_, charge= 1.000\n", "ARG+1A0005_029: iconf= 41, Residue=ARGA0005_, charge= 1.000\n", "ARG+1A0005_030: iconf= 42, Residue=ARGA0005_, charge= 1.000\n", "ARG+1A0005_031: iconf= 43, Residue=ARGA0005_, charge= 1.000\n", "ARG+1A0005_032: iconf= 44, Residue=ARGA0005_, charge= 1.000\n", "ARG+1A0005_033: iconf= 45, Residue=ARGA0005_, charge= 1.000\n", "ARG+1A0005_034: iconf= 46, Residue=ARGA0005_, charge= 1.000\n", "CYD01A0006_001: iconf= 47, Residue=CYDA0006_, charge= 0.000\n", "GLU01A0007_001: iconf= 48, Residue=GLUA0007_, charge= 0.000\n", "GLU01A0007_002: iconf= 49, Residue=GLUA0007_, charge= 0.000\n", "GLU01A0007_003: iconf= 50, Residue=GLUA0007_, charge= 0.000\n", "GLU01A0007_004: iconf= 51, Residue=GLUA0007_, charge= 0.000\n", "GLU01A0007_005: iconf= 52, Residue=GLUA0007_, charge= 0.000\n", "GLU01A0007_006: iconf= 53, Residue=GLUA0007_, charge= 0.000\n", "GLU01A0007_007: iconf= 54, Residue=GLUA0007_, charge= 0.000\n", "GLU01A0007_008: iconf= 55, Residue=GLUA0007_, charge= 0.000\n", "GLU01A0007_009: iconf= 56, Residue=GLUA0007_, charge= 0.000\n", "GLU01A0007_010: iconf= 57, Residue=GLUA0007_, charge= 0.000\n", "GLU01A0007_011: iconf= 58, Residue=GLUA0007_, charge= 0.000\n", "GLU01A0007_012: iconf= 59, Residue=GLUA0007_, charge= 0.000\n", "GLU01A0007_013: iconf= 60, Residue=GLUA0007_, charge= 0.000\n", "GLU01A0007_014: iconf= 61, Residue=GLUA0007_, charge= 0.000\n", "GLU01A0007_015: iconf= 62, Residue=GLUA0007_, charge= 0.000\n", "GLU01A0007_016: iconf= 63, Residue=GLUA0007_, charge= 0.000\n", "GLU02A0007_017: iconf= 64, Residue=GLUA0007_, charge= 0.000\n", "GLU02A0007_018: iconf= 65, Residue=GLUA0007_, charge= 0.000\n", "GLU02A0007_019: iconf= 66, Residue=GLUA0007_, charge= 0.000\n", "GLU02A0007_020: iconf= 67, Residue=GLUA0007_, charge= 0.000\n", "GLU02A0007_021: iconf= 68, Residue=GLUA0007_, charge= 0.000\n", "GLU02A0007_022: iconf= 69, Residue=GLUA0007_, charge= 0.000\n", "GLU02A0007_023: iconf= 70, Residue=GLUA0007_, charge= 0.000\n", "GLU02A0007_024: iconf= 71, Residue=GLUA0007_, charge= 0.000\n", "GLU02A0007_025: iconf= 72, Residue=GLUA0007_, charge= 0.000\n", "GLU02A0007_026: iconf= 73, Residue=GLUA0007_, charge= 0.000\n", "GLU02A0007_027: iconf= 74, Residue=GLUA0007_, charge= 0.000\n", "GLU02A0007_028: iconf= 75, Residue=GLUA0007_, charge= 0.000\n", "GLU02A0007_029: iconf= 76, Residue=GLUA0007_, charge= 0.000\n", "GLU02A0007_030: iconf= 77, Residue=GLUA0007_, charge= 0.000\n", "GLU02A0007_031: iconf= 78, Residue=GLUA0007_, charge= 0.000\n", "GLU-1A0007_032: iconf= 79, Residue=GLUA0007_, charge=-1.000\n", "GLU-1A0007_033: iconf= 80, Residue=GLUA0007_, charge=-1.000\n", "GLU-1A0007_034: iconf= 81, Residue=GLUA0007_, charge=-1.000\n", "GLU-1A0007_035: iconf= 82, Residue=GLUA0007_, charge=-1.000\n", "GLU-1A0007_036: iconf= 83, Residue=GLUA0007_, charge=-1.000\n", "GLU-1A0007_037: iconf= 84, Residue=GLUA0007_, charge=-1.000\n", "LEU01A0008_001: iconf= 85, Residue=LEUA0008_, charge= 0.000\n", "LEU01A0008_002: iconf= 86, Residue=LEUA0008_, charge= 0.000\n", "ALA01A0009_001: iconf= 87, Residue=ALAA0009_, charge= 0.000\n", "ALA01A0010_001: iconf= 88, Residue=ALAA0010_, charge= 0.000\n", "ALA01A0011_001: iconf= 89, Residue=ALAA0011_, charge= 0.000\n", "MET01A0012_001: iconf= 90, Residue=META0012_, charge= 0.000\n", "MET01A0012_002: iconf= 91, Residue=META0012_, charge= 0.000\n", "MET01A0012_003: iconf= 92, Residue=META0012_, charge= 0.000\n", "MET01A0012_004: iconf= 93, Residue=META0012_, charge= 0.000\n", "MET01A0012_005: iconf= 94, Residue=META0012_, charge= 0.000\n", "MET01A0012_006: iconf= 95, Residue=META0012_, charge= 0.000\n", "LYS01A0013_001: iconf= 96, Residue=LYSA0013_, charge= 0.000\n", "LYS01A0013_002: iconf= 97, Residue=LYSA0013_, charge= 0.000\n", "LYS01A0013_003: iconf= 98, Residue=LYSA0013_, charge= 0.000\n", "LYS01A0013_004: iconf= 99, Residue=LYSA0013_, charge= 0.000\n", "LYS01A0013_005: iconf= 100, Residue=LYSA0013_, charge= 0.000\n", "LYS+1A0013_006: iconf= 101, Residue=LYSA0013_, charge= 1.000\n", "LYS+1A0013_007: iconf= 102, Residue=LYSA0013_, charge= 1.000\n", "LYS+1A0013_008: iconf= 103, Residue=LYSA0013_, charge= 1.000\n", "LYS+1A0013_009: iconf= 104, Residue=LYSA0013_, charge= 1.000\n", "LYS+1A0013_010: iconf= 105, Residue=LYSA0013_, charge= 1.000\n", "ARG01A0014_001: iconf= 106, Residue=ARGA0014_, charge= 0.000\n", "ARG01A0014_002: iconf= 107, Residue=ARGA0014_, charge= 0.000\n", "ARG01A0014_003: iconf= 108, Residue=ARGA0014_, charge= 0.000\n", "ARG01A0014_004: iconf= 109, Residue=ARGA0014_, charge= 0.000\n", "ARG01A0014_005: iconf= 110, Residue=ARGA0014_, charge= 0.000\n", "ARG01A0014_006: iconf= 111, Residue=ARGA0014_, charge= 0.000\n", "ARG02A0014_007: iconf= 112, Residue=ARGA0014_, charge= 0.000\n", "ARG02A0014_008: iconf= 113, Residue=ARGA0014_, charge= 0.000\n", "ARG02A0014_009: iconf= 114, Residue=ARGA0014_, charge= 0.000\n", "ARG02A0014_010: iconf= 115, Residue=ARGA0014_, charge= 0.000\n", "ARG02A0014_011: iconf= 116, Residue=ARGA0014_, charge= 0.000\n", "ARG02A0014_012: iconf= 117, Residue=ARGA0014_, charge= 0.000\n", "ARG02A0014_013: iconf= 118, Residue=ARGA0014_, charge= 0.000\n", "ARG03A0014_014: iconf= 119, Residue=ARGA0014_, charge= 0.000\n", "ARG03A0014_015: iconf= 120, Residue=ARGA0014_, charge= 0.000\n", "ARG03A0014_016: iconf= 121, Residue=ARGA0014_, charge= 0.000\n", "ARG03A0014_017: iconf= 122, Residue=ARGA0014_, charge= 0.000\n", "ARG03A0014_018: iconf= 123, Residue=ARGA0014_, charge= 0.000\n", "ARG03A0014_019: iconf= 124, Residue=ARGA0014_, charge= 0.000\n", "ARG+1A0014_020: iconf= 125, Residue=ARGA0014_, charge= 1.000\n", "ARG+1A0014_021: iconf= 126, Residue=ARGA0014_, charge= 1.000\n", "ARG+1A0014_022: iconf= 127, Residue=ARGA0014_, charge= 1.000\n", "ARG+1A0014_023: iconf= 128, Residue=ARGA0014_, charge= 1.000\n", "ARG+1A0014_024: iconf= 129, Residue=ARGA0014_, charge= 1.000\n", "ARG+1A0014_025: iconf= 130, Residue=ARGA0014_, charge= 1.000\n", "HIS01A0015_001: iconf= 131, Residue=HISA0015_, charge= 0.000\n", "HIS01A0015_002: iconf= 132, Residue=HISA0015_, charge= 0.000\n", "HIS01A0015_003: iconf= 133, Residue=HISA0015_, charge= 0.000\n", "HIS01A0015_004: iconf= 134, Residue=HISA0015_, charge= 0.000\n", "HIS01A0015_005: iconf= 135, Residue=HISA0015_, charge= 0.000\n", "HIS01A0015_006: iconf= 136, Residue=HISA0015_, charge= 0.000\n", "HIS01A0015_007: iconf= 137, Residue=HISA0015_, charge= 0.000\n", "HIS01A0015_008: iconf= 138, Residue=HISA0015_, charge= 0.000\n", "HIS01A0015_009: iconf= 139, Residue=HISA0015_, charge= 0.000\n", "HIS02A0015_010: iconf= 140, Residue=HISA0015_, charge= 0.000\n", "HIS02A0015_011: iconf= 141, Residue=HISA0015_, charge= 0.000\n", "HIS02A0015_012: iconf= 142, Residue=HISA0015_, charge= 0.000\n", "HIS02A0015_013: iconf= 143, Residue=HISA0015_, charge= 0.000\n", "HIS02A0015_014: iconf= 144, Residue=HISA0015_, charge= 0.000\n", "HIS02A0015_015: iconf= 145, Residue=HISA0015_, charge= 0.000\n", "HIS02A0015_016: iconf= 146, Residue=HISA0015_, charge= 0.000\n", "HIS02A0015_017: iconf= 147, Residue=HISA0015_, charge= 0.000\n", "HIS+1A0015_018: iconf= 148, Residue=HISA0015_, charge= 1.000\n", "HIS+1A0015_019: iconf= 149, Residue=HISA0015_, charge= 1.000\n", "HIS+1A0015_020: iconf= 150, Residue=HISA0015_, charge= 1.000\n", "HIS+1A0015_021: iconf= 151, Residue=HISA0015_, charge= 1.000\n", "HIS+1A0015_022: iconf= 152, Residue=HISA0015_, charge= 1.000\n", "HIS+1A0015_023: iconf= 153, Residue=HISA0015_, charge= 1.000\n", "HIS+1A0015_024: iconf= 154, Residue=HISA0015_, charge= 1.000\n", "HIS+1A0015_025: iconf= 155, Residue=HISA0015_, charge= 1.000\n", "HIS+1A0015_026: iconf= 156, Residue=HISA0015_, charge= 1.000\n", "LEU01A0017_001: iconf= 157, Residue=LEUA0017_, charge= 0.000\n", "LEU01A0017_002: iconf= 158, Residue=LEUA0017_, charge= 0.000\n", "LEU01A0017_003: iconf= 159, Residue=LEUA0017_, charge= 0.000\n", "ASP01A0018_001: iconf= 160, Residue=ASPA0018_, charge= 0.000\n", "ASP01A0018_002: iconf= 161, Residue=ASPA0018_, charge= 0.000\n", "ASP01A0018_003: iconf= 162, Residue=ASPA0018_, charge= 0.000\n", "ASP01A0018_004: iconf= 163, Residue=ASPA0018_, charge= 0.000\n", "ASP02A0018_005: iconf= 164, Residue=ASPA0018_, charge= 0.000\n", "ASP02A0018_006: iconf= 165, Residue=ASPA0018_, charge= 0.000\n", "ASP02A0018_007: iconf= 166, Residue=ASPA0018_, charge= 0.000\n", "ASP02A0018_008: iconf= 167, Residue=ASPA0018_, charge= 0.000\n", "ASP-1A0018_009: iconf= 168, Residue=ASPA0018_, charge=-1.000\n", "ASP-1A0018_010: iconf= 169, Residue=ASPA0018_, charge=-1.000\n", "ASN01A0019_001: iconf= 170, Residue=ASNA0019_, charge= 0.000\n", "ASN01A0019_002: iconf= 171, Residue=ASNA0019_, charge= 0.000\n", "TYR01A0020_001: iconf= 172, Residue=TYRA0020_, charge= 0.000\n", "TYR01A0020_002: iconf= 173, Residue=TYRA0020_, charge= 0.000\n", "TYR01A0020_003: iconf= 174, Residue=TYRA0020_, charge= 0.000\n", "TYR01A0020_004: iconf= 175, Residue=TYRA0020_, charge= 0.000\n", "TYR01A0020_005: iconf= 176, Residue=TYRA0020_, charge= 0.000\n", "TYR-1A0020_006: iconf= 177, Residue=TYRA0020_, charge=-1.000\n", "TYR-1A0020_007: iconf= 178, Residue=TYRA0020_, charge=-1.000\n", "TYR-1A0020_008: iconf= 179, Residue=TYRA0020_, charge=-1.000\n", "ARG01A0021_001: iconf= 180, Residue=ARGA0021_, charge= 0.000\n", "ARG01A0021_002: iconf= 181, Residue=ARGA0021_, charge= 0.000\n", "ARG01A0021_003: iconf= 182, Residue=ARGA0021_, charge= 0.000\n", "ARG02A0021_004: iconf= 183, Residue=ARGA0021_, charge= 0.000\n", "ARG02A0021_005: iconf= 184, Residue=ARGA0021_, charge= 0.000\n", "ARG02A0021_006: iconf= 185, Residue=ARGA0021_, charge= 0.000\n", "ARG03A0021_007: iconf= 186, Residue=ARGA0021_, charge= 0.000\n", "ARG03A0021_008: iconf= 187, Residue=ARGA0021_, charge= 0.000\n", "ARG03A0021_009: iconf= 188, Residue=ARGA0021_, charge= 0.000\n", "ARG+1A0021_010: iconf= 189, Residue=ARGA0021_, charge= 1.000\n", "ARG+1A0021_011: iconf= 190, Residue=ARGA0021_, charge= 1.000\n", "ARG+1A0021_012: iconf= 191, Residue=ARGA0021_, charge= 1.000\n", "TYR01A0023_001: iconf= 192, Residue=TYRA0023_, charge= 0.000\n", "TYR01A0023_002: iconf= 193, Residue=TYRA0023_, charge= 0.000\n", "TYR-1A0023_003: iconf= 194, Residue=TYRA0023_, charge=-1.000\n", "TYR-1A0023_004: iconf= 195, Residue=TYRA0023_, charge=-1.000\n", "SER01A0024_001: iconf= 196, Residue=SERA0024_, charge= 0.000\n", "SER01A0024_002: iconf= 197, Residue=SERA0024_, charge= 0.000\n", "SER01A0024_003: iconf= 198, Residue=SERA0024_, charge= 0.000\n", "SER01A0024_004: iconf= 199, Residue=SERA0024_, charge= 0.000\n", "SER01A0024_005: iconf= 200, Residue=SERA0024_, charge= 0.000\n", "LEU01A0025_001: iconf= 201, Residue=LEUA0025_, charge= 0.000\n", "LEU01A0025_002: iconf= 202, Residue=LEUA0025_, charge= 0.000\n", "ASN01A0027_001: iconf= 203, Residue=ASNA0027_, charge= 0.000\n", "ASN01A0027_002: iconf= 204, Residue=ASNA0027_, charge= 0.000\n", "ASN01A0027_003: iconf= 205, Residue=ASNA0027_, charge= 0.000\n", "ASN01A0027_004: iconf= 206, Residue=ASNA0027_, charge= 0.000\n", "ASN01A0027_005: iconf= 207, Residue=ASNA0027_, charge= 0.000\n", "TRP01A0028_001: iconf= 208, Residue=TRPA0028_, charge= 0.000\n", "TRP01A0028_002: iconf= 209, Residue=TRPA0028_, charge= 0.000\n", "VAL01A0029_001: iconf= 210, Residue=VALA0029_, charge= 0.000\n", "CYD01A0030_001: iconf= 211, Residue=CYDA0030_, charge= 0.000\n", "ALA01A0031_001: iconf= 212, Residue=ALAA0031_, charge= 0.000\n", "ALA01A0032_001: iconf= 213, Residue=ALAA0032_, charge= 0.000\n", "LYS01A0033_001: iconf= 214, Residue=LYSA0033_, charge= 0.000\n", "LYS01A0033_002: iconf= 215, Residue=LYSA0033_, charge= 0.000\n", "LYS01A0033_003: iconf= 216, Residue=LYSA0033_, charge= 0.000\n", "LYS01A0033_004: iconf= 217, Residue=LYSA0033_, charge= 0.000\n", "LYS01A0033_005: iconf= 218, Residue=LYSA0033_, charge= 0.000\n", "LYS01A0033_006: iconf= 219, Residue=LYSA0033_, charge= 0.000\n", "LYS01A0033_007: iconf= 220, Residue=LYSA0033_, charge= 0.000\n", "LYS01A0033_008: iconf= 221, Residue=LYSA0033_, charge= 0.000\n", "LYS01A0033_009: iconf= 222, Residue=LYSA0033_, charge= 0.000\n", "LYS01A0033_010: iconf= 223, Residue=LYSA0033_, charge= 0.000\n", "LYS01A0033_011: iconf= 224, Residue=LYSA0033_, charge= 0.000\n", "LYS01A0033_012: iconf= 225, Residue=LYSA0033_, charge= 0.000\n", "LYS01A0033_013: iconf= 226, Residue=LYSA0033_, charge= 0.000\n", "LYS01A0033_014: iconf= 227, Residue=LYSA0033_, charge= 0.000\n", "LYS01A0033_015: iconf= 228, Residue=LYSA0033_, charge= 0.000\n", "LYS01A0033_016: iconf= 229, Residue=LYSA0033_, charge= 0.000\n", "LYS01A0033_017: iconf= 230, Residue=LYSA0033_, charge= 0.000\n", "LYS01A0033_018: iconf= 231, Residue=LYSA0033_, charge= 0.000\n", "LYS01A0033_019: iconf= 232, Residue=LYSA0033_, charge= 0.000\n", "LYS+1A0033_020: iconf= 233, Residue=LYSA0033_, charge= 1.000\n", "LYS+1A0033_021: iconf= 234, Residue=LYSA0033_, charge= 1.000\n", "LYS+1A0033_022: iconf= 235, Residue=LYSA0033_, charge= 1.000\n", "LYS+1A0033_023: iconf= 236, Residue=LYSA0033_, charge= 1.000\n", "LYS+1A0033_024: iconf= 237, Residue=LYSA0033_, charge= 1.000\n", "LYS+1A0033_025: iconf= 238, Residue=LYSA0033_, charge= 1.000\n", "LYS+1A0033_026: iconf= 239, Residue=LYSA0033_, charge= 1.000\n", "LYS+1A0033_027: iconf= 240, Residue=LYSA0033_, charge= 1.000\n", "LYS+1A0033_028: iconf= 241, Residue=LYSA0033_, charge= 1.000\n", "LYS+1A0033_029: iconf= 242, Residue=LYSA0033_, charge= 1.000\n", "LYS+1A0033_030: iconf= 243, Residue=LYSA0033_, charge= 1.000\n", "LYS+1A0033_031: iconf= 244, Residue=LYSA0033_, charge= 1.000\n", "LYS+1A0033_032: iconf= 245, Residue=LYSA0033_, charge= 1.000\n", "LYS+1A0033_033: iconf= 246, Residue=LYSA0033_, charge= 1.000\n", "LYS+1A0033_034: iconf= 247, Residue=LYSA0033_, charge= 1.000\n", "LYS+1A0033_035: iconf= 248, Residue=LYSA0033_, charge= 1.000\n", "LYS+1A0033_036: iconf= 249, Residue=LYSA0033_, charge= 1.000\n", "LYS+1A0033_037: iconf= 250, Residue=LYSA0033_, charge= 1.000\n", "PHE01A0034_001: iconf= 251, Residue=PHEA0034_, charge= 0.000\n", "PHE01A0034_002: iconf= 252, Residue=PHEA0034_, charge= 0.000\n", "GLU01A0035_001: iconf= 253, Residue=GLUA0035_, charge= 0.000\n", "GLU01A0035_002: iconf= 254, Residue=GLUA0035_, charge= 0.000\n", "GLU01A0035_003: iconf= 255, Residue=GLUA0035_, charge= 0.000\n", "GLU01A0035_004: iconf= 256, Residue=GLUA0035_, charge= 0.000\n", "GLU01A0035_005: iconf= 257, Residue=GLUA0035_, charge= 0.000\n", "GLU01A0035_006: iconf= 258, Residue=GLUA0035_, charge= 0.000\n", "GLU02A0035_007: iconf= 259, Residue=GLUA0035_, charge= 0.000\n", "GLU02A0035_008: iconf= 260, Residue=GLUA0035_, charge= 0.000\n", "GLU02A0035_009: iconf= 261, Residue=GLUA0035_, charge= 0.000\n", "GLU02A0035_010: iconf= 262, Residue=GLUA0035_, charge= 0.000\n", "GLU-1A0035_011: iconf= 263, Residue=GLUA0035_, charge=-1.000\n", "GLU-1A0035_012: iconf= 264, Residue=GLUA0035_, charge=-1.000\n", "GLU-1A0035_013: iconf= 265, Residue=GLUA0035_, charge=-1.000\n", "GLU-1A0035_014: iconf= 266, Residue=GLUA0035_, charge=-1.000\n", "SER01A0036_001: iconf= 267, Residue=SERA0036_, charge= 0.000\n", "SER01A0036_002: iconf= 268, Residue=SERA0036_, charge= 0.000\n", "SER01A0036_003: iconf= 269, Residue=SERA0036_, charge= 0.000\n", "ASN01A0037_001: iconf= 270, Residue=ASNA0037_, charge= 0.000\n", "ASN01A0037_002: iconf= 271, Residue=ASNA0037_, charge= 0.000\n", "ASN01A0037_003: iconf= 272, Residue=ASNA0037_, charge= 0.000\n", "ASN01A0037_004: iconf= 273, Residue=ASNA0037_, charge= 0.000\n", "ASN01A0037_005: iconf= 274, Residue=ASNA0037_, charge= 0.000\n", "PHE01A0038_001: iconf= 275, Residue=PHEA0038_, charge= 0.000\n", "PHE01A0038_002: iconf= 276, Residue=PHEA0038_, charge= 0.000\n", "PHE01A0038_003: iconf= 277, Residue=PHEA0038_, charge= 0.000\n", "ASN01A0039_001: iconf= 278, Residue=ASNA0039_, charge= 0.000\n", "ASN01A0039_002: iconf= 279, Residue=ASNA0039_, charge= 0.000\n", "THR01A0040_001: iconf= 280, Residue=THRA0040_, charge= 0.000\n", "THR01A0040_002: iconf= 281, Residue=THRA0040_, charge= 0.000\n", "GLN01A0041_001: iconf= 282, Residue=GLNA0041_, charge= 0.000\n", "GLN01A0041_002: iconf= 283, Residue=GLNA0041_, charge= 0.000\n", "GLN01A0041_003: iconf= 284, Residue=GLNA0041_, charge= 0.000\n", "GLN01A0041_004: iconf= 285, Residue=GLNA0041_, charge= 0.000\n", "ALA01A0042_001: iconf= 286, Residue=ALAA0042_, charge= 0.000\n", "THR01A0043_001: iconf= 287, Residue=THRA0043_, charge= 0.000\n", "THR01A0043_002: iconf= 288, Residue=THRA0043_, charge= 0.000\n", "THR01A0043_003: iconf= 289, Residue=THRA0043_, charge= 0.000\n", "THR01A0043_004: iconf= 290, Residue=THRA0043_, charge= 0.000\n", "THR01A0043_005: iconf= 291, Residue=THRA0043_, charge= 0.000\n", "THR01A0043_006: iconf= 292, Residue=THRA0043_, charge= 0.000\n", "THR01A0043_007: iconf= 293, Residue=THRA0043_, charge= 0.000\n", "THR01A0043_008: iconf= 294, Residue=THRA0043_, charge= 0.000\n", "THR01A0043_009: iconf= 295, Residue=THRA0043_, charge= 0.000\n", "ASN01A0044_001: iconf= 296, Residue=ASNA0044_, charge= 0.000\n", "ASN01A0044_002: iconf= 297, Residue=ASNA0044_, charge= 0.000\n", "ASN01A0044_003: iconf= 298, Residue=ASNA0044_, charge= 0.000\n", "ASN01A0044_004: iconf= 299, Residue=ASNA0044_, charge= 0.000\n", "ASN01A0044_005: iconf= 300, Residue=ASNA0044_, charge= 0.000\n", "ASN01A0044_006: iconf= 301, Residue=ASNA0044_, charge= 0.000\n", "ARG01A0045_001: iconf= 302, Residue=ARGA0045_, charge= 0.000\n", "ARG01A0045_002: iconf= 303, Residue=ARGA0045_, charge= 0.000\n", "ARG01A0045_003: iconf= 304, Residue=ARGA0045_, charge= 0.000\n", "ARG01A0045_004: iconf= 305, Residue=ARGA0045_, charge= 0.000\n", "ARG01A0045_005: iconf= 306, Residue=ARGA0045_, charge= 0.000\n", "ARG01A0045_006: iconf= 307, Residue=ARGA0045_, charge= 0.000\n", "ARG01A0045_007: iconf= 308, Residue=ARGA0045_, charge= 0.000\n", "ARG01A0045_008: iconf= 309, Residue=ARGA0045_, charge= 0.000\n", "ARG01A0045_009: iconf= 310, Residue=ARGA0045_, charge= 0.000\n", "ARG01A0045_010: iconf= 311, Residue=ARGA0045_, charge= 0.000\n", "ARG01A0045_011: iconf= 312, Residue=ARGA0045_, charge= 0.000\n", "ARG01A0045_012: iconf= 313, Residue=ARGA0045_, charge= 0.000\n", "ARG01A0045_013: iconf= 314, Residue=ARGA0045_, charge= 0.000\n", "ARG01A0045_014: iconf= 315, Residue=ARGA0045_, charge= 0.000\n", "ARG01A0045_015: iconf= 316, Residue=ARGA0045_, charge= 0.000\n", "ARG01A0045_016: iconf= 317, Residue=ARGA0045_, charge= 0.000\n", "ARG01A0045_017: iconf= 318, Residue=ARGA0045_, charge= 0.000\n", "ARG01A0045_018: iconf= 319, Residue=ARGA0045_, charge= 0.000\n", "ARG02A0045_019: iconf= 320, Residue=ARGA0045_, charge= 0.000\n", "ARG02A0045_020: iconf= 321, Residue=ARGA0045_, charge= 0.000\n", "ARG02A0045_021: iconf= 322, Residue=ARGA0045_, charge= 0.000\n", "ARG02A0045_022: iconf= 323, Residue=ARGA0045_, charge= 0.000\n", "ARG02A0045_023: iconf= 324, Residue=ARGA0045_, charge= 0.000\n", "ARG02A0045_024: iconf= 325, Residue=ARGA0045_, charge= 0.000\n", "ARG02A0045_025: iconf= 326, Residue=ARGA0045_, charge= 0.000\n", "ARG02A0045_026: iconf= 327, Residue=ARGA0045_, charge= 0.000\n", "ARG02A0045_027: iconf= 328, Residue=ARGA0045_, charge= 0.000\n", "ARG02A0045_028: iconf= 329, Residue=ARGA0045_, charge= 0.000\n", "ARG02A0045_029: iconf= 330, Residue=ARGA0045_, charge= 0.000\n", "ARG02A0045_030: iconf= 331, Residue=ARGA0045_, charge= 0.000\n", "ARG02A0045_031: iconf= 332, Residue=ARGA0045_, charge= 0.000\n", "ARG02A0045_032: iconf= 333, Residue=ARGA0045_, charge= 0.000\n", "ARG02A0045_033: iconf= 334, Residue=ARGA0045_, charge= 0.000\n", "ARG02A0045_034: iconf= 335, Residue=ARGA0045_, charge= 0.000\n", "ARG02A0045_035: iconf= 336, Residue=ARGA0045_, charge= 0.000\n", "ARG02A0045_036: iconf= 337, Residue=ARGA0045_, charge= 0.000\n", "ARG02A0045_037: iconf= 338, Residue=ARGA0045_, charge= 0.000\n", "ARG02A0045_038: iconf= 339, Residue=ARGA0045_, charge= 0.000\n", "ARG02A0045_039: iconf= 340, Residue=ARGA0045_, charge= 0.000\n", "ARG02A0045_040: iconf= 341, Residue=ARGA0045_, charge= 0.000\n", "ARG02A0045_041: iconf= 342, Residue=ARGA0045_, charge= 0.000\n", "ARG02A0045_042: iconf= 343, Residue=ARGA0045_, charge= 0.000\n", "ARG02A0045_043: iconf= 344, Residue=ARGA0045_, charge= 0.000\n", "ARG02A0045_044: iconf= 345, Residue=ARGA0045_, charge= 0.000\n", "ARG02A0045_045: iconf= 346, Residue=ARGA0045_, charge= 0.000\n", "ARG02A0045_046: iconf= 347, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_047: iconf= 348, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_048: iconf= 349, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_049: iconf= 350, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_050: iconf= 351, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_051: iconf= 352, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_052: iconf= 353, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_053: iconf= 354, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_054: iconf= 355, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_055: iconf= 356, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_056: iconf= 357, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_057: iconf= 358, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_058: iconf= 359, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_059: iconf= 360, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_060: iconf= 361, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_061: iconf= 362, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_062: iconf= 363, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_063: iconf= 364, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_064: iconf= 365, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_065: iconf= 366, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_066: iconf= 367, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_067: iconf= 368, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_068: iconf= 369, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_069: iconf= 370, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_070: iconf= 371, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_071: iconf= 372, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_072: iconf= 373, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_073: iconf= 374, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_074: iconf= 375, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_075: iconf= 376, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_076: iconf= 377, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_077: iconf= 378, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_078: iconf= 379, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_079: iconf= 380, Residue=ARGA0045_, charge= 0.000\n", "ARG03A0045_080: iconf= 381, Residue=ARGA0045_, charge= 0.000\n", "ARG+1A0045_081: iconf= 382, Residue=ARGA0045_, charge= 1.000\n", "ARG+1A0045_082: iconf= 383, Residue=ARGA0045_, charge= 1.000\n", "ARG+1A0045_083: iconf= 384, Residue=ARGA0045_, charge= 1.000\n", "ARG+1A0045_084: iconf= 385, Residue=ARGA0045_, charge= 1.000\n", "ARG+1A0045_085: iconf= 386, Residue=ARGA0045_, charge= 1.000\n", "ARG+1A0045_086: iconf= 387, Residue=ARGA0045_, charge= 1.000\n", "ARG+1A0045_087: iconf= 388, Residue=ARGA0045_, charge= 1.000\n", "ARG+1A0045_088: iconf= 389, Residue=ARGA0045_, charge= 1.000\n", "ARG+1A0045_089: iconf= 390, Residue=ARGA0045_, charge= 1.000\n", "ARG+1A0045_090: iconf= 391, Residue=ARGA0045_, charge= 1.000\n", "ARG+1A0045_091: iconf= 392, Residue=ARGA0045_, charge= 1.000\n", "ARG+1A0045_092: iconf= 393, Residue=ARGA0045_, charge= 1.000\n", "ARG+1A0045_093: iconf= 394, Residue=ARGA0045_, charge= 1.000\n", "ARG+1A0045_094: iconf= 395, Residue=ARGA0045_, charge= 1.000\n", "ARG+1A0045_095: iconf= 396, Residue=ARGA0045_, charge= 1.000\n", "ARG+1A0045_096: iconf= 397, Residue=ARGA0045_, charge= 1.000\n", "ARG+1A0045_097: iconf= 398, Residue=ARGA0045_, charge= 1.000\n", "ARG+1A0045_098: iconf= 399, Residue=ARGA0045_, charge= 1.000\n", "ARG+1A0045_099: iconf= 400, Residue=ARGA0045_, charge= 1.000\n", "ARG+1A0045_100: iconf= 401, Residue=ARGA0045_, charge= 1.000\n", "ASN01A0046_001: iconf= 402, Residue=ASNA0046_, charge= 0.000\n", "ASN01A0046_002: iconf= 403, Residue=ASNA0046_, charge= 0.000\n", "ASN01A0046_003: iconf= 404, Residue=ASNA0046_, charge= 0.000\n", "ASN01A0046_004: iconf= 405, Residue=ASNA0046_, charge= 0.000\n", "ASN01A0046_005: iconf= 406, Residue=ASNA0046_, charge= 0.000\n", "ASN01A0046_006: iconf= 407, Residue=ASNA0046_, charge= 0.000\n", "ASN01A0046_007: iconf= 408, Residue=ASNA0046_, charge= 0.000\n", "ASN01A0046_008: iconf= 409, Residue=ASNA0046_, charge= 0.000\n", "ASN01A0046_009: iconf= 410, Residue=ASNA0046_, charge= 0.000\n", "THR01A0047_001: iconf= 411, Residue=THRA0047_, charge= 0.000\n", "THR01A0047_002: iconf= 412, Residue=THRA0047_, charge= 0.000\n", "THR01A0047_003: iconf= 413, Residue=THRA0047_, charge= 0.000\n", "ASP01A0048_001: iconf= 414, Residue=ASPA0048_, charge= 0.000\n", "ASP01A0048_002: iconf= 415, Residue=ASPA0048_, charge= 0.000\n", "ASP01A0048_003: iconf= 416, Residue=ASPA0048_, charge= 0.000\n", "ASP01A0048_004: iconf= 417, Residue=ASPA0048_, charge= 0.000\n", "ASP01A0048_005: iconf= 418, Residue=ASPA0048_, charge= 0.000\n", "ASP01A0048_006: iconf= 419, Residue=ASPA0048_, charge= 0.000\n", "ASP01A0048_007: iconf= 420, Residue=ASPA0048_, charge= 0.000\n", "ASP01A0048_008: iconf= 421, Residue=ASPA0048_, charge= 0.000\n", "ASP01A0048_009: iconf= 422, Residue=ASPA0048_, charge= 0.000\n", "ASP01A0048_010: iconf= 423, Residue=ASPA0048_, charge= 0.000\n", "ASP01A0048_011: iconf= 424, Residue=ASPA0048_, charge= 0.000\n", "ASP01A0048_012: iconf= 425, Residue=ASPA0048_, charge= 0.000\n", "ASP01A0048_013: iconf= 426, Residue=ASPA0048_, charge= 0.000\n", "ASP01A0048_014: iconf= 427, Residue=ASPA0048_, charge= 0.000\n", "ASP01A0048_015: iconf= 428, Residue=ASPA0048_, charge= 0.000\n", "ASP01A0048_016: iconf= 429, Residue=ASPA0048_, charge= 0.000\n", "ASP01A0048_017: iconf= 430, Residue=ASPA0048_, charge= 0.000\n", "ASP01A0048_018: iconf= 431, Residue=ASPA0048_, charge= 0.000\n", "ASP01A0048_019: iconf= 432, Residue=ASPA0048_, charge= 0.000\n", "ASP01A0048_020: iconf= 433, Residue=ASPA0048_, charge= 0.000\n", "ASP01A0048_021: iconf= 434, Residue=ASPA0048_, charge= 0.000\n", "ASP01A0048_022: iconf= 435, Residue=ASPA0048_, charge= 0.000\n", "ASP01A0048_023: iconf= 436, Residue=ASPA0048_, charge= 0.000\n", "ASP01A0048_024: iconf= 437, Residue=ASPA0048_, charge= 0.000\n", "ASP02A0048_025: iconf= 438, Residue=ASPA0048_, charge= 0.000\n", "ASP02A0048_026: iconf= 439, Residue=ASPA0048_, charge= 0.000\n", "ASP02A0048_027: iconf= 440, Residue=ASPA0048_, charge= 0.000\n", "ASP02A0048_028: iconf= 441, Residue=ASPA0048_, charge= 0.000\n", "ASP02A0048_029: iconf= 442, Residue=ASPA0048_, charge= 0.000\n", "ASP02A0048_030: iconf= 443, Residue=ASPA0048_, charge= 0.000\n", "ASP02A0048_031: iconf= 444, Residue=ASPA0048_, charge= 0.000\n", "ASP02A0048_032: iconf= 445, Residue=ASPA0048_, charge= 0.000\n", "ASP02A0048_033: iconf= 446, Residue=ASPA0048_, charge= 0.000\n", "ASP02A0048_034: iconf= 447, Residue=ASPA0048_, charge= 0.000\n", "ASP02A0048_035: iconf= 448, Residue=ASPA0048_, charge= 0.000\n", "ASP02A0048_036: iconf= 449, Residue=ASPA0048_, charge= 0.000\n", "ASP02A0048_037: iconf= 450, Residue=ASPA0048_, charge= 0.000\n", "ASP02A0048_038: iconf= 451, Residue=ASPA0048_, charge= 0.000\n", "ASP02A0048_039: iconf= 452, Residue=ASPA0048_, charge= 0.000\n", "ASP02A0048_040: iconf= 453, Residue=ASPA0048_, charge= 0.000\n", "ASP02A0048_041: iconf= 454, Residue=ASPA0048_, charge= 0.000\n", "ASP02A0048_042: iconf= 455, Residue=ASPA0048_, charge= 0.000\n", "ASP02A0048_043: iconf= 456, Residue=ASPA0048_, charge= 0.000\n", "ASP02A0048_044: iconf= 457, Residue=ASPA0048_, charge= 0.000\n", "ASP-1A0048_045: iconf= 458, Residue=ASPA0048_, charge=-1.000\n", "ASP-1A0048_046: iconf= 459, Residue=ASPA0048_, charge=-1.000\n", "ASP-1A0048_047: iconf= 460, Residue=ASPA0048_, charge=-1.000\n", "ASP-1A0048_048: iconf= 461, Residue=ASPA0048_, charge=-1.000\n", "ASP-1A0048_049: iconf= 462, Residue=ASPA0048_, charge=-1.000\n", "ASP-1A0048_050: iconf= 463, Residue=ASPA0048_, charge=-1.000\n", "ASP-1A0048_051: iconf= 464, Residue=ASPA0048_, charge=-1.000\n", "ASP-1A0048_052: iconf= 465, Residue=ASPA0048_, charge=-1.000\n", "ASP-1A0048_053: iconf= 466, Residue=ASPA0048_, charge=-1.000\n", "ASP-1A0048_054: iconf= 467, Residue=ASPA0048_, charge=-1.000\n", "SER01A0050_001: iconf= 468, Residue=SERA0050_, charge= 0.000\n", "SER01A0050_002: iconf= 469, Residue=SERA0050_, charge= 0.000\n", "SER01A0050_003: iconf= 470, Residue=SERA0050_, charge= 0.000\n", "SER01A0050_004: iconf= 471, Residue=SERA0050_, charge= 0.000\n", "SER01A0050_005: iconf= 472, Residue=SERA0050_, charge= 0.000\n", "SER01A0050_006: iconf= 473, Residue=SERA0050_, charge= 0.000\n", "SER01A0050_007: iconf= 474, Residue=SERA0050_, charge= 0.000\n", "SER01A0050_008: iconf= 475, Residue=SERA0050_, charge= 0.000\n", "SER01A0050_009: iconf= 476, Residue=SERA0050_, charge= 0.000\n", "SER01A0050_010: iconf= 477, Residue=SERA0050_, charge= 0.000\n", "SER01A0050_011: iconf= 478, Residue=SERA0050_, charge= 0.000\n", "SER01A0050_012: iconf= 479, Residue=SERA0050_, charge= 0.000\n", "THR01A0051_001: iconf= 480, Residue=THRA0051_, charge= 0.000\n", "THR01A0051_002: iconf= 481, Residue=THRA0051_, charge= 0.000\n", "THR01A0051_003: iconf= 482, Residue=THRA0051_, charge= 0.000\n", "THR01A0051_004: iconf= 483, Residue=THRA0051_, charge= 0.000\n", "THR01A0051_005: iconf= 484, Residue=THRA0051_, charge= 0.000\n", "THR01A0051_006: iconf= 485, Residue=THRA0051_, charge= 0.000\n", "THR01A0051_007: iconf= 486, Residue=THRA0051_, charge= 0.000\n", "THR01A0051_008: iconf= 487, Residue=THRA0051_, charge= 0.000\n", "THR01A0051_009: iconf= 488, Residue=THRA0051_, charge= 0.000\n", "THR01A0051_010: iconf= 489, Residue=THRA0051_, charge= 0.000\n", "THR01A0051_011: iconf= 490, Residue=THRA0051_, charge= 0.000\n", "THR01A0051_012: iconf= 491, Residue=THRA0051_, charge= 0.000\n", "THR01A0051_013: iconf= 492, Residue=THRA0051_, charge= 0.000\n", "THR01A0051_014: iconf= 493, Residue=THRA0051_, charge= 0.000\n", "THR01A0051_015: iconf= 494, Residue=THRA0051_, charge= 0.000\n", "THR01A0051_016: iconf= 495, Residue=THRA0051_, charge= 0.000\n", "THR01A0051_017: iconf= 496, Residue=THRA0051_, charge= 0.000\n", "THR01A0051_018: iconf= 497, Residue=THRA0051_, charge= 0.000\n", "THR01A0051_019: iconf= 498, Residue=THRA0051_, charge= 0.000\n", "THR01A0051_020: iconf= 499, Residue=THRA0051_, charge= 0.000\n", "ASP01A0052_001: iconf= 500, Residue=ASPA0052_, charge= 0.000\n", "ASP01A0052_002: iconf= 501, Residue=ASPA0052_, charge= 0.000\n", "ASP01A0052_003: iconf= 502, Residue=ASPA0052_, charge= 0.000\n", "ASP01A0052_004: iconf= 503, Residue=ASPA0052_, charge= 0.000\n", "ASP01A0052_005: iconf= 504, Residue=ASPA0052_, charge= 0.000\n", "ASP01A0052_006: iconf= 505, Residue=ASPA0052_, charge= 0.000\n", "ASP01A0052_007: iconf= 506, Residue=ASPA0052_, charge= 0.000\n", "ASP01A0052_008: iconf= 507, Residue=ASPA0052_, charge= 0.000\n", "ASP01A0052_009: iconf= 508, Residue=ASPA0052_, charge= 0.000\n", "ASP01A0052_010: iconf= 509, Residue=ASPA0052_, charge= 0.000\n", "ASP02A0052_011: iconf= 510, Residue=ASPA0052_, charge= 0.000\n", "ASP02A0052_012: iconf= 511, Residue=ASPA0052_, charge= 0.000\n", "ASP02A0052_013: iconf= 512, Residue=ASPA0052_, charge= 0.000\n", "ASP02A0052_014: iconf= 513, Residue=ASPA0052_, charge= 0.000\n", "ASP02A0052_015: iconf= 514, Residue=ASPA0052_, charge= 0.000\n", "ASP02A0052_016: iconf= 515, Residue=ASPA0052_, charge= 0.000\n", "ASP02A0052_017: iconf= 516, Residue=ASPA0052_, charge= 0.000\n", "ASP02A0052_018: iconf= 517, Residue=ASPA0052_, charge= 0.000\n", "ASP02A0052_019: iconf= 518, Residue=ASPA0052_, charge= 0.000\n", "ASP-1A0052_020: iconf= 519, Residue=ASPA0052_, charge=-1.000\n", "ASP-1A0052_021: iconf= 520, Residue=ASPA0052_, charge=-1.000\n", "ASP-1A0052_022: iconf= 521, Residue=ASPA0052_, charge=-1.000\n", "ASP-1A0052_023: iconf= 522, Residue=ASPA0052_, charge=-1.000\n", "ASP-1A0052_024: iconf= 523, Residue=ASPA0052_, charge=-1.000\n", "TYR01A0053_001: iconf= 524, Residue=TYRA0053_, charge= 0.000\n", "TYR01A0053_002: iconf= 525, Residue=TYRA0053_, charge= 0.000\n", "TYR01A0053_003: iconf= 526, Residue=TYRA0053_, charge= 0.000\n", "TYR01A0053_004: iconf= 527, Residue=TYRA0053_, charge= 0.000\n", "TYR01A0053_005: iconf= 528, Residue=TYRA0053_, charge= 0.000\n", "TYR01A0053_006: iconf= 529, Residue=TYRA0053_, charge= 0.000\n", "TYR01A0053_007: iconf= 530, Residue=TYRA0053_, charge= 0.000\n", "TYR01A0053_008: iconf= 531, Residue=TYRA0053_, charge= 0.000\n", "TYR01A0053_009: iconf= 532, Residue=TYRA0053_, charge= 0.000\n", "TYR01A0053_010: iconf= 533, Residue=TYRA0053_, charge= 0.000\n", "TYR01A0053_011: iconf= 534, Residue=TYRA0053_, charge= 0.000\n", "TYR01A0053_012: iconf= 535, Residue=TYRA0053_, charge= 0.000\n", "TYR01A0053_013: iconf= 536, Residue=TYRA0053_, charge= 0.000\n", "TYR01A0053_014: iconf= 537, Residue=TYRA0053_, charge= 0.000\n", "TYR01A0053_015: iconf= 538, Residue=TYRA0053_, charge= 0.000\n", "TYR-1A0053_016: iconf= 539, Residue=TYRA0053_, charge=-1.000\n", "TYR-1A0053_017: iconf= 540, Residue=TYRA0053_, charge=-1.000\n", "TYR-1A0053_018: iconf= 541, Residue=TYRA0053_, charge=-1.000\n", "TYR-1A0053_019: iconf= 542, Residue=TYRA0053_, charge=-1.000\n", "TYR-1A0053_020: iconf= 543, Residue=TYRA0053_, charge=-1.000\n", "TYR-1A0053_021: iconf= 544, Residue=TYRA0053_, charge=-1.000\n", "ILE01A0055_001: iconf= 545, Residue=ILEA0055_, charge= 0.000\n", "ILE01A0055_002: iconf= 546, Residue=ILEA0055_, charge= 0.000\n", "ILE01A0055_003: iconf= 547, Residue=ILEA0055_, charge= 0.000\n", "LEU01A0056_001: iconf= 548, Residue=LEUA0056_, charge= 0.000\n", "LEU01A0056_002: iconf= 549, Residue=LEUA0056_, charge= 0.000\n", "LEU01A0056_003: iconf= 550, Residue=LEUA0056_, charge= 0.000\n", "LEU01A0056_004: iconf= 551, Residue=LEUA0056_, charge= 0.000\n", "GLN01A0057_001: iconf= 552, Residue=GLNA0057_, charge= 0.000\n", "GLN01A0057_002: iconf= 553, Residue=GLNA0057_, charge= 0.000\n", "GLN01A0057_003: iconf= 554, Residue=GLNA0057_, charge= 0.000\n", "GLN01A0057_004: iconf= 555, Residue=GLNA0057_, charge= 0.000\n", "GLN01A0057_005: iconf= 556, Residue=GLNA0057_, charge= 0.000\n", "GLN01A0057_006: iconf= 557, Residue=GLNA0057_, charge= 0.000\n", "GLN01A0057_007: iconf= 558, Residue=GLNA0057_, charge= 0.000\n", "ILE01A0058_001: iconf= 559, Residue=ILEA0058_, charge= 0.000\n", "ILE01A0058_002: iconf= 560, Residue=ILEA0058_, charge= 0.000\n", "ILE01A0058_003: iconf= 561, Residue=ILEA0058_, charge= 0.000\n", "ILE01A0058_004: iconf= 562, Residue=ILEA0058_, charge= 0.000\n", "ASN01A0059_001: iconf= 563, Residue=ASNA0059_, charge= 0.000\n", "ASN01A0059_002: iconf= 564, Residue=ASNA0059_, charge= 0.000\n", "ASN01A0059_003: iconf= 565, Residue=ASNA0059_, charge= 0.000\n", "ASN01A0059_004: iconf= 566, Residue=ASNA0059_, charge= 0.000\n", "ASN01A0059_005: iconf= 567, Residue=ASNA0059_, charge= 0.000\n", "ASN01A0059_006: iconf= 568, Residue=ASNA0059_, charge= 0.000\n", "ASN01A0059_007: iconf= 569, Residue=ASNA0059_, charge= 0.000\n", "ASN01A0059_008: iconf= 570, Residue=ASNA0059_, charge= 0.000\n", "ASN01A0059_009: iconf= 571, Residue=ASNA0059_, charge= 0.000\n", "ASN01A0059_010: iconf= 572, Residue=ASNA0059_, charge= 0.000\n", "ASN01A0059_011: iconf= 573, Residue=ASNA0059_, charge= 0.000\n", "ASN01A0059_012: iconf= 574, Residue=ASNA0059_, charge= 0.000\n", "ASN01A0059_013: iconf= 575, Residue=ASNA0059_, charge= 0.000\n", "ASN01A0059_014: iconf= 576, Residue=ASNA0059_, charge= 0.000\n", "ASN01A0059_015: iconf= 577, Residue=ASNA0059_, charge= 0.000\n", "ASN01A0059_016: iconf= 578, Residue=ASNA0059_, charge= 0.000\n", "ASN01A0059_017: iconf= 579, Residue=ASNA0059_, charge= 0.000\n", "SER01A0060_001: iconf= 580, Residue=SERA0060_, charge= 0.000\n", "SER01A0060_002: iconf= 581, Residue=SERA0060_, charge= 0.000\n", "SER01A0060_003: iconf= 582, Residue=SERA0060_, charge= 0.000\n", "SER01A0060_004: iconf= 583, Residue=SERA0060_, charge= 0.000\n", "SER01A0060_005: iconf= 584, Residue=SERA0060_, charge= 0.000\n", "SER01A0060_006: iconf= 585, Residue=SERA0060_, charge= 0.000\n", "SER01A0060_007: iconf= 586, Residue=SERA0060_, charge= 0.000\n", "SER01A0060_008: iconf= 587, Residue=SERA0060_, charge= 0.000\n", "ARG01A0061_001: iconf= 588, Residue=ARGA0061_, charge= 0.000\n", "ARG01A0061_002: iconf= 589, Residue=ARGA0061_, charge= 0.000\n", "ARG01A0061_003: iconf= 590, Residue=ARGA0061_, charge= 0.000\n", "ARG01A0061_004: iconf= 591, Residue=ARGA0061_, charge= 0.000\n", "ARG01A0061_005: iconf= 592, Residue=ARGA0061_, charge= 0.000\n", "ARG01A0061_006: iconf= 593, Residue=ARGA0061_, charge= 0.000\n", "ARG01A0061_007: iconf= 594, Residue=ARGA0061_, charge= 0.000\n", "ARG01A0061_008: iconf= 595, Residue=ARGA0061_, charge= 0.000\n", "ARG01A0061_009: iconf= 596, Residue=ARGA0061_, charge= 0.000\n", "ARG01A0061_010: iconf= 597, Residue=ARGA0061_, charge= 0.000\n", "ARG01A0061_011: iconf= 598, Residue=ARGA0061_, charge= 0.000\n", "ARG01A0061_012: iconf= 599, Residue=ARGA0061_, charge= 0.000\n", "ARG01A0061_013: iconf= 600, Residue=ARGA0061_, charge= 0.000\n", "ARG01A0061_014: iconf= 601, Residue=ARGA0061_, charge= 0.000\n", "ARG01A0061_015: iconf= 602, Residue=ARGA0061_, charge= 0.000\n", "ARG01A0061_016: iconf= 603, Residue=ARGA0061_, charge= 0.000\n", "ARG01A0061_017: iconf= 604, Residue=ARGA0061_, charge= 0.000\n", "ARG01A0061_018: iconf= 605, Residue=ARGA0061_, charge= 0.000\n", "ARG01A0061_019: iconf= 606, Residue=ARGA0061_, charge= 0.000\n", "ARG01A0061_020: iconf= 607, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_021: iconf= 608, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_022: iconf= 609, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_023: iconf= 610, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_024: iconf= 611, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_025: iconf= 612, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_026: iconf= 613, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_027: iconf= 614, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_028: iconf= 615, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_029: iconf= 616, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_030: iconf= 617, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_031: iconf= 618, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_032: iconf= 619, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_033: iconf= 620, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_034: iconf= 621, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_035: iconf= 622, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_036: iconf= 623, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_037: iconf= 624, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_038: iconf= 625, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_039: iconf= 626, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_040: iconf= 627, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_041: iconf= 628, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_042: iconf= 629, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_043: iconf= 630, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_044: iconf= 631, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_045: iconf= 632, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_046: iconf= 633, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_047: iconf= 634, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_048: iconf= 635, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_049: iconf= 636, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_050: iconf= 637, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_051: iconf= 638, Residue=ARGA0061_, charge= 0.000\n", "ARG02A0061_052: iconf= 639, Residue=ARGA0061_, charge= 0.000\n", "ARG03A0061_053: iconf= 640, Residue=ARGA0061_, charge= 0.000\n", "ARG03A0061_054: iconf= 641, Residue=ARGA0061_, charge= 0.000\n", "ARG03A0061_055: iconf= 642, Residue=ARGA0061_, charge= 0.000\n", "ARG03A0061_056: iconf= 643, Residue=ARGA0061_, charge= 0.000\n", "ARG03A0061_057: iconf= 644, Residue=ARGA0061_, charge= 0.000\n", "ARG03A0061_058: iconf= 645, Residue=ARGA0061_, charge= 0.000\n", "ARG03A0061_059: iconf= 646, Residue=ARGA0061_, charge= 0.000\n", "ARG03A0061_060: iconf= 647, Residue=ARGA0061_, charge= 0.000\n", "ARG03A0061_061: iconf= 648, Residue=ARGA0061_, charge= 0.000\n", "ARG03A0061_062: iconf= 649, Residue=ARGA0061_, charge= 0.000\n", "ARG03A0061_063: iconf= 650, Residue=ARGA0061_, charge= 0.000\n", "ARG03A0061_064: iconf= 651, Residue=ARGA0061_, charge= 0.000\n", "ARG03A0061_065: iconf= 652, Residue=ARGA0061_, charge= 0.000\n", "ARG03A0061_066: iconf= 653, Residue=ARGA0061_, charge= 0.000\n", "ARG03A0061_067: iconf= 654, Residue=ARGA0061_, charge= 0.000\n", "ARG03A0061_068: iconf= 655, Residue=ARGA0061_, charge= 0.000\n", "ARG03A0061_069: iconf= 656, Residue=ARGA0061_, charge= 0.000\n", "ARG03A0061_070: iconf= 657, Residue=ARGA0061_, charge= 0.000\n", "ARG03A0061_071: iconf= 658, Residue=ARGA0061_, charge= 0.000\n", "ARG03A0061_072: iconf= 659, Residue=ARGA0061_, charge= 0.000\n", "ARG03A0061_073: iconf= 660, Residue=ARGA0061_, charge= 0.000\n", "ARG03A0061_074: iconf= 661, Residue=ARGA0061_, charge= 0.000\n", "ARG03A0061_075: iconf= 662, Residue=ARGA0061_, charge= 0.000\n", "ARG03A0061_076: iconf= 663, Residue=ARGA0061_, charge= 0.000\n", "ARG03A0061_077: iconf= 664, Residue=ARGA0061_, charge= 0.000\n", "ARG03A0061_078: iconf= 665, Residue=ARGA0061_, charge= 0.000\n", "ARG03A0061_079: iconf= 666, Residue=ARGA0061_, charge= 0.000\n", "ARG+1A0061_080: iconf= 667, Residue=ARGA0061_, charge= 1.000\n", "ARG+1A0061_081: iconf= 668, Residue=ARGA0061_, charge= 1.000\n", "ARG+1A0061_082: iconf= 669, Residue=ARGA0061_, charge= 1.000\n", "ARG+1A0061_083: iconf= 670, Residue=ARGA0061_, charge= 1.000\n", "ARG+1A0061_084: iconf= 671, Residue=ARGA0061_, charge= 1.000\n", "ARG+1A0061_085: iconf= 672, Residue=ARGA0061_, charge= 1.000\n", "ARG+1A0061_086: iconf= 673, Residue=ARGA0061_, charge= 1.000\n", "ARG+1A0061_087: iconf= 674, Residue=ARGA0061_, charge= 1.000\n", "ARG+1A0061_088: iconf= 675, Residue=ARGA0061_, charge= 1.000\n", "ARG+1A0061_089: iconf= 676, Residue=ARGA0061_, charge= 1.000\n", "ARG+1A0061_090: iconf= 677, Residue=ARGA0061_, charge= 1.000\n", "ARG+1A0061_091: iconf= 678, Residue=ARGA0061_, charge= 1.000\n", "ARG+1A0061_092: iconf= 679, Residue=ARGA0061_, charge= 1.000\n", "ARG+1A0061_093: iconf= 680, Residue=ARGA0061_, charge= 1.000\n", "ARG+1A0061_094: iconf= 681, Residue=ARGA0061_, charge= 1.000\n", "ARG+1A0061_095: iconf= 682, Residue=ARGA0061_, charge= 1.000\n", "ARG+1A0061_096: iconf= 683, Residue=ARGA0061_, charge= 1.000\n", "ARG+1A0061_097: iconf= 684, Residue=ARGA0061_, charge= 1.000\n", "ARG+1A0061_098: iconf= 685, Residue=ARGA0061_, charge= 1.000\n", "ARG+1A0061_099: iconf= 686, Residue=ARGA0061_, charge= 1.000\n", "TRP01A0062_001: iconf= 687, Residue=TRPA0062_, charge= 0.000\n", "TRP01A0062_002: iconf= 688, Residue=TRPA0062_, charge= 0.000\n", "TRP01A0062_003: iconf= 689, Residue=TRPA0062_, charge= 0.000\n", "TRP01A0062_004: iconf= 690, Residue=TRPA0062_, charge= 0.000\n", "TRP01A0062_005: iconf= 691, Residue=TRPA0062_, charge= 0.000\n", "TRP01A0062_006: iconf= 692, Residue=TRPA0062_, charge= 0.000\n", "TRP01A0062_007: iconf= 693, Residue=TRPA0062_, charge= 0.000\n", "TRP01A0063_001: iconf= 694, Residue=TRPA0063_, charge= 0.000\n", "TRP01A0063_002: iconf= 695, Residue=TRPA0063_, charge= 0.000\n", "CYD01A0064_001: iconf= 696, Residue=CYDA0064_, charge= 0.000\n", "ASN01A0065_001: iconf= 697, Residue=ASNA0065_, charge= 0.000\n", "ASN01A0065_002: iconf= 698, Residue=ASNA0065_, charge= 0.000\n", "ASN01A0065_003: iconf= 699, Residue=ASNA0065_, charge= 0.000\n", "ASP01A0066_001: iconf= 700, Residue=ASPA0066_, charge= 0.000\n", "ASP01A0066_002: iconf= 701, Residue=ASPA0066_, charge= 0.000\n", "ASP01A0066_003: iconf= 702, Residue=ASPA0066_, charge= 0.000\n", "ASP01A0066_004: iconf= 703, Residue=ASPA0066_, charge= 0.000\n", "ASP01A0066_005: iconf= 704, Residue=ASPA0066_, charge= 0.000\n", "ASP01A0066_006: iconf= 705, Residue=ASPA0066_, charge= 0.000\n", "ASP01A0066_007: iconf= 706, Residue=ASPA0066_, charge= 0.000\n", "ASP01A0066_008: iconf= 707, Residue=ASPA0066_, charge= 0.000\n", "ASP01A0066_009: iconf= 708, Residue=ASPA0066_, charge= 0.000\n", "ASP01A0066_010: iconf= 709, Residue=ASPA0066_, charge= 0.000\n", "ASP01A0066_011: iconf= 710, Residue=ASPA0066_, charge= 0.000\n", "ASP01A0066_012: iconf= 711, Residue=ASPA0066_, charge= 0.000\n", "ASP01A0066_013: iconf= 712, Residue=ASPA0066_, charge= 0.000\n", "ASP01A0066_014: iconf= 713, Residue=ASPA0066_, charge= 0.000\n", "ASP01A0066_015: iconf= 714, Residue=ASPA0066_, charge= 0.000\n", "ASP02A0066_016: iconf= 715, Residue=ASPA0066_, charge= 0.000\n", "ASP02A0066_017: iconf= 716, Residue=ASPA0066_, charge= 0.000\n", "ASP02A0066_018: iconf= 717, Residue=ASPA0066_, charge= 0.000\n", "ASP02A0066_019: iconf= 718, Residue=ASPA0066_, charge= 0.000\n", "ASP02A0066_020: iconf= 719, Residue=ASPA0066_, charge= 0.000\n", "ASP02A0066_021: iconf= 720, Residue=ASPA0066_, charge= 0.000\n", "ASP02A0066_022: iconf= 721, Residue=ASPA0066_, charge= 0.000\n", "ASP02A0066_023: iconf= 722, Residue=ASPA0066_, charge= 0.000\n", "ASP02A0066_024: iconf= 723, Residue=ASPA0066_, charge= 0.000\n", "ASP02A0066_025: iconf= 724, Residue=ASPA0066_, charge= 0.000\n", "ASP02A0066_026: iconf= 725, Residue=ASPA0066_, charge= 0.000\n", "ASP02A0066_027: iconf= 726, Residue=ASPA0066_, charge= 0.000\n", "ASP02A0066_028: iconf= 727, Residue=ASPA0066_, charge= 0.000\n", "ASP-1A0066_029: iconf= 728, Residue=ASPA0066_, charge=-1.000\n", "ASP-1A0066_030: iconf= 729, Residue=ASPA0066_, charge=-1.000\n", "ASP-1A0066_031: iconf= 730, Residue=ASPA0066_, charge=-1.000\n", "ASP-1A0066_032: iconf= 731, Residue=ASPA0066_, charge=-1.000\n", "ASP-1A0066_033: iconf= 732, Residue=ASPA0066_, charge=-1.000\n", "ASP-1A0066_034: iconf= 733, Residue=ASPA0066_, charge=-1.000\n", "ARG01A0068_001: iconf= 734, Residue=ARGA0068_, charge= 0.000\n", "ARG01A0068_002: iconf= 735, Residue=ARGA0068_, charge= 0.000\n", "ARG01A0068_003: iconf= 736, Residue=ARGA0068_, charge= 0.000\n", "ARG01A0068_004: iconf= 737, Residue=ARGA0068_, charge= 0.000\n", "ARG01A0068_005: iconf= 738, Residue=ARGA0068_, charge= 0.000\n", "ARG01A0068_006: iconf= 739, Residue=ARGA0068_, charge= 0.000\n", "ARG01A0068_007: iconf= 740, Residue=ARGA0068_, charge= 0.000\n", "ARG01A0068_008: iconf= 741, Residue=ARGA0068_, charge= 0.000\n", "ARG01A0068_009: iconf= 742, Residue=ARGA0068_, charge= 0.000\n", "ARG01A0068_010: iconf= 743, Residue=ARGA0068_, charge= 0.000\n", "ARG01A0068_011: iconf= 744, Residue=ARGA0068_, charge= 0.000\n", "ARG01A0068_012: iconf= 745, Residue=ARGA0068_, charge= 0.000\n", "ARG01A0068_013: iconf= 746, Residue=ARGA0068_, charge= 0.000\n", "ARG01A0068_014: iconf= 747, Residue=ARGA0068_, charge= 0.000\n", "ARG01A0068_015: iconf= 748, Residue=ARGA0068_, charge= 0.000\n", "ARG01A0068_016: iconf= 749, Residue=ARGA0068_, charge= 0.000\n", "ARG01A0068_017: iconf= 750, Residue=ARGA0068_, charge= 0.000\n", "ARG01A0068_018: iconf= 751, Residue=ARGA0068_, charge= 0.000\n", "ARG01A0068_019: iconf= 752, Residue=ARGA0068_, charge= 0.000\n", "ARG01A0068_020: iconf= 753, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_021: iconf= 754, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_022: iconf= 755, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_023: iconf= 756, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_024: iconf= 757, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_025: iconf= 758, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_026: iconf= 759, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_027: iconf= 760, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_028: iconf= 761, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_029: iconf= 762, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_030: iconf= 763, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_031: iconf= 764, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_032: iconf= 765, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_033: iconf= 766, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_034: iconf= 767, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_035: iconf= 768, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_036: iconf= 769, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_037: iconf= 770, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_038: iconf= 771, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_039: iconf= 772, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_040: iconf= 773, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_041: iconf= 774, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_042: iconf= 775, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_043: iconf= 776, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_044: iconf= 777, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_045: iconf= 778, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_046: iconf= 779, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_047: iconf= 780, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_048: iconf= 781, Residue=ARGA0068_, charge= 0.000\n", "ARG02A0068_049: iconf= 782, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_050: iconf= 783, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_051: iconf= 784, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_052: iconf= 785, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_053: iconf= 786, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_054: iconf= 787, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_055: iconf= 788, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_056: iconf= 789, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_057: iconf= 790, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_058: iconf= 791, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_059: iconf= 792, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_060: iconf= 793, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_061: iconf= 794, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_062: iconf= 795, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_063: iconf= 796, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_064: iconf= 797, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_065: iconf= 798, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_066: iconf= 799, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_067: iconf= 800, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_068: iconf= 801, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_069: iconf= 802, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_070: iconf= 803, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_071: iconf= 804, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_072: iconf= 805, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_073: iconf= 806, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_074: iconf= 807, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_075: iconf= 808, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_076: iconf= 809, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_077: iconf= 810, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_078: iconf= 811, Residue=ARGA0068_, charge= 0.000\n", "ARG03A0068_079: iconf= 812, Residue=ARGA0068_, charge= 0.000\n", "ARG+1A0068_080: iconf= 813, Residue=ARGA0068_, charge= 1.000\n", "ARG+1A0068_081: iconf= 814, Residue=ARGA0068_, charge= 1.000\n", "ARG+1A0068_082: iconf= 815, Residue=ARGA0068_, charge= 1.000\n", "ARG+1A0068_083: iconf= 816, Residue=ARGA0068_, charge= 1.000\n", "ARG+1A0068_084: iconf= 817, Residue=ARGA0068_, charge= 1.000\n", "ARG+1A0068_085: iconf= 818, Residue=ARGA0068_, charge= 1.000\n", "ARG+1A0068_086: iconf= 819, Residue=ARGA0068_, charge= 1.000\n", "ARG+1A0068_087: iconf= 820, Residue=ARGA0068_, charge= 1.000\n", "ARG+1A0068_088: iconf= 821, Residue=ARGA0068_, charge= 1.000\n", "ARG+1A0068_089: iconf= 822, Residue=ARGA0068_, charge= 1.000\n", "ARG+1A0068_090: iconf= 823, Residue=ARGA0068_, charge= 1.000\n", "ARG+1A0068_091: iconf= 824, Residue=ARGA0068_, charge= 1.000\n", "ARG+1A0068_092: iconf= 825, Residue=ARGA0068_, charge= 1.000\n", "ARG+1A0068_093: iconf= 826, Residue=ARGA0068_, charge= 1.000\n", "ARG+1A0068_094: iconf= 827, Residue=ARGA0068_, charge= 1.000\n", "ARG+1A0068_095: iconf= 828, Residue=ARGA0068_, charge= 1.000\n", "ARG+1A0068_096: iconf= 829, Residue=ARGA0068_, charge= 1.000\n", "ARG+1A0068_097: iconf= 830, Residue=ARGA0068_, charge= 1.000\n", "ARG+1A0068_098: iconf= 831, Residue=ARGA0068_, charge= 1.000\n", "ARG+1A0068_099: iconf= 832, Residue=ARGA0068_, charge= 1.000\n", "THR01A0069_001: iconf= 833, Residue=THRA0069_, charge= 0.000\n", "THR01A0069_002: iconf= 834, Residue=THRA0069_, charge= 0.000\n", "THR01A0069_003: iconf= 835, Residue=THRA0069_, charge= 0.000\n", "THR01A0069_004: iconf= 836, Residue=THRA0069_, charge= 0.000\n", "THR01A0069_005: iconf= 837, Residue=THRA0069_, charge= 0.000\n", "THR01A0069_006: iconf= 838, Residue=THRA0069_, charge= 0.000\n", "THR01A0069_007: iconf= 839, Residue=THRA0069_, charge= 0.000\n", "THR01A0069_008: iconf= 840, Residue=THRA0069_, charge= 0.000\n", "THR01A0069_009: iconf= 841, Residue=THRA0069_, charge= 0.000\n", "PRO01A0070_001: iconf= 842, Residue=PROA0070_, charge= 0.000\n", "SER01A0072_001: iconf= 843, Residue=SERA0072_, charge= 0.000\n", "SER01A0072_002: iconf= 844, Residue=SERA0072_, charge= 0.000\n", "SER01A0072_003: iconf= 845, Residue=SERA0072_, charge= 0.000\n", "SER01A0072_004: iconf= 846, Residue=SERA0072_, charge= 0.000\n", "SER01A0072_005: iconf= 847, Residue=SERA0072_, charge= 0.000\n", "SER01A0072_006: iconf= 848, Residue=SERA0072_, charge= 0.000\n", "ARG01A0073_001: iconf= 849, Residue=ARGA0073_, charge= 0.000\n", "ARG01A0073_002: iconf= 850, Residue=ARGA0073_, charge= 0.000\n", "ARG01A0073_003: iconf= 851, Residue=ARGA0073_, charge= 0.000\n", "ARG01A0073_004: iconf= 852, Residue=ARGA0073_, charge= 0.000\n", "ARG01A0073_005: iconf= 853, Residue=ARGA0073_, charge= 0.000\n", "ARG01A0073_006: iconf= 854, Residue=ARGA0073_, charge= 0.000\n", "ARG01A0073_007: iconf= 855, Residue=ARGA0073_, charge= 0.000\n", "ARG01A0073_008: iconf= 856, Residue=ARGA0073_, charge= 0.000\n", "ARG01A0073_009: iconf= 857, Residue=ARGA0073_, charge= 0.000\n", "ARG01A0073_010: iconf= 858, Residue=ARGA0073_, charge= 0.000\n", "ARG01A0073_011: iconf= 859, Residue=ARGA0073_, charge= 0.000\n", "ARG02A0073_012: iconf= 860, Residue=ARGA0073_, charge= 0.000\n", "ARG02A0073_013: iconf= 861, Residue=ARGA0073_, charge= 0.000\n", "ARG02A0073_014: iconf= 862, Residue=ARGA0073_, charge= 0.000\n", "ARG02A0073_015: iconf= 863, Residue=ARGA0073_, charge= 0.000\n", "ARG02A0073_016: iconf= 864, Residue=ARGA0073_, charge= 0.000\n", "ARG02A0073_017: iconf= 865, Residue=ARGA0073_, charge= 0.000\n", "ARG02A0073_018: iconf= 866, Residue=ARGA0073_, charge= 0.000\n", "ARG02A0073_019: iconf= 867, Residue=ARGA0073_, charge= 0.000\n", "ARG02A0073_020: iconf= 868, Residue=ARGA0073_, charge= 0.000\n", "ARG02A0073_021: iconf= 869, Residue=ARGA0073_, charge= 0.000\n", "ARG03A0073_022: iconf= 870, Residue=ARGA0073_, charge= 0.000\n", "ARG03A0073_023: iconf= 871, Residue=ARGA0073_, charge= 0.000\n", "ARG03A0073_024: iconf= 872, Residue=ARGA0073_, charge= 0.000\n", "ARG03A0073_025: iconf= 873, Residue=ARGA0073_, charge= 0.000\n", "ARG03A0073_026: iconf= 874, Residue=ARGA0073_, charge= 0.000\n", "ARG03A0073_027: iconf= 875, Residue=ARGA0073_, charge= 0.000\n", "ARG03A0073_028: iconf= 876, Residue=ARGA0073_, charge= 0.000\n", "ARG03A0073_029: iconf= 877, Residue=ARGA0073_, charge= 0.000\n", "ARG03A0073_030: iconf= 878, Residue=ARGA0073_, charge= 0.000\n", "ARG03A0073_031: iconf= 879, Residue=ARGA0073_, charge= 0.000\n", "ARG03A0073_032: iconf= 880, Residue=ARGA0073_, charge= 0.000\n", "ARG+1A0073_033: iconf= 881, Residue=ARGA0073_, charge= 1.000\n", "ARG+1A0073_034: iconf= 882, Residue=ARGA0073_, charge= 1.000\n", "ARG+1A0073_035: iconf= 883, Residue=ARGA0073_, charge= 1.000\n", "ARG+1A0073_036: iconf= 884, Residue=ARGA0073_, charge= 1.000\n", "ARG+1A0073_037: iconf= 885, Residue=ARGA0073_, charge= 1.000\n", "ARG+1A0073_038: iconf= 886, Residue=ARGA0073_, charge= 1.000\n", "ARG+1A0073_039: iconf= 887, Residue=ARGA0073_, charge= 1.000\n", "ARG+1A0073_040: iconf= 888, Residue=ARGA0073_, charge= 1.000\n", "ARG+1A0073_041: iconf= 889, Residue=ARGA0073_, charge= 1.000\n", "ARG+1A0073_042: iconf= 890, Residue=ARGA0073_, charge= 1.000\n", "ASN01A0074_001: iconf= 891, Residue=ASNA0074_, charge= 0.000\n", "ASN01A0074_002: iconf= 892, Residue=ASNA0074_, charge= 0.000\n", "ASN01A0074_003: iconf= 893, Residue=ASNA0074_, charge= 0.000\n", "LEU01A0075_001: iconf= 894, Residue=LEUA0075_, charge= 0.000\n", "LEU01A0075_002: iconf= 895, Residue=LEUA0075_, charge= 0.000\n", "LEU01A0075_003: iconf= 896, Residue=LEUA0075_, charge= 0.000\n", "LEU01A0075_004: iconf= 897, Residue=LEUA0075_, charge= 0.000\n", "LEU01A0075_005: iconf= 898, Residue=LEUA0075_, charge= 0.000\n", "CYD01A0076_001: iconf= 899, Residue=CYDA0076_, charge= 0.000\n", "ASN01A0077_001: iconf= 900, Residue=ASNA0077_, charge= 0.000\n", "ASN01A0077_002: iconf= 901, Residue=ASNA0077_, charge= 0.000\n", "ILE01A0078_001: iconf= 902, Residue=ILEA0078_, charge= 0.000\n", "ILE01A0078_002: iconf= 903, Residue=ILEA0078_, charge= 0.000\n", "PRO01A0079_001: iconf= 904, Residue=PROA0079_, charge= 0.000\n", "CYD01A0080_001: iconf= 905, Residue=CYDA0080_, charge= 0.000\n", "SER01A0081_001: iconf= 906, Residue=SERA0081_, charge= 0.000\n", "SER01A0081_002: iconf= 907, Residue=SERA0081_, charge= 0.000\n", "SER01A0081_003: iconf= 908, Residue=SERA0081_, charge= 0.000\n", "SER01A0081_004: iconf= 909, Residue=SERA0081_, charge= 0.000\n", "SER01A0081_005: iconf= 910, Residue=SERA0081_, charge= 0.000\n", "ALA01A0082_001: iconf= 911, Residue=ALAA0082_, charge= 0.000\n", "LEU01A0083_001: iconf= 912, Residue=LEUA0083_, charge= 0.000\n", "LEU01A0083_002: iconf= 913, Residue=LEUA0083_, charge= 0.000\n", "LEU01A0084_001: iconf= 914, Residue=LEUA0084_, charge= 0.000\n", "LEU01A0084_002: iconf= 915, Residue=LEUA0084_, charge= 0.000\n", "LEU01A0084_003: iconf= 916, Residue=LEUA0084_, charge= 0.000\n", "SER01A0085_001: iconf= 917, Residue=SERA0085_, charge= 0.000\n", "SER01A0085_002: iconf= 918, Residue=SERA0085_, charge= 0.000\n", "SER01A0085_003: iconf= 919, Residue=SERA0085_, charge= 0.000\n", "SER01A0085_004: iconf= 920, Residue=SERA0085_, charge= 0.000\n", "SER01A0085_005: iconf= 921, Residue=SERA0085_, charge= 0.000\n", "SER01A0085_006: iconf= 922, Residue=SERA0085_, charge= 0.000\n", "SER01A0085_007: iconf= 923, Residue=SERA0085_, charge= 0.000\n", "SER01A0085_008: iconf= 924, Residue=SERA0085_, charge= 0.000\n", "SER01A0085_009: iconf= 925, Residue=SERA0085_, charge= 0.000\n", "SER01A0085_010: iconf= 926, Residue=SERA0085_, charge= 0.000\n", "SER01A0085_011: iconf= 927, Residue=SERA0085_, charge= 0.000\n", "SER01A0085_012: iconf= 928, Residue=SERA0085_, charge= 0.000\n", "SER01A0086_001: iconf= 929, Residue=SERA0086_, charge= 0.000\n", "SER01A0086_002: iconf= 930, Residue=SERA0086_, charge= 0.000\n", "SER01A0086_003: iconf= 931, Residue=SERA0086_, charge= 0.000\n", "SER01A0086_004: iconf= 932, Residue=SERA0086_, charge= 0.000\n", "SER01A0086_005: iconf= 933, Residue=SERA0086_, charge= 0.000\n", "SER01A0086_006: iconf= 934, Residue=SERA0086_, charge= 0.000\n", "ASP01A0087_001: iconf= 935, Residue=ASPA0087_, charge= 0.000\n", "ASP01A0087_002: iconf= 936, Residue=ASPA0087_, charge= 0.000\n", "ASP01A0087_003: iconf= 937, Residue=ASPA0087_, charge= 0.000\n", "ASP01A0087_004: iconf= 938, Residue=ASPA0087_, charge= 0.000\n", "ASP01A0087_005: iconf= 939, Residue=ASPA0087_, charge= 0.000\n", "ASP01A0087_006: iconf= 940, Residue=ASPA0087_, charge= 0.000\n", "ASP01A0087_007: iconf= 941, Residue=ASPA0087_, charge= 0.000\n", "ASP01A0087_008: iconf= 942, Residue=ASPA0087_, charge= 0.000\n", "ASP01A0087_009: iconf= 943, Residue=ASPA0087_, charge= 0.000\n", "ASP02A0087_010: iconf= 944, Residue=ASPA0087_, charge= 0.000\n", "ASP02A0087_011: iconf= 945, Residue=ASPA0087_, charge= 0.000\n", "ASP02A0087_012: iconf= 946, Residue=ASPA0087_, charge= 0.000\n", "ASP02A0087_013: iconf= 947, Residue=ASPA0087_, charge= 0.000\n", "ASP02A0087_014: iconf= 948, Residue=ASPA0087_, charge= 0.000\n", "ASP02A0087_015: iconf= 949, Residue=ASPA0087_, charge= 0.000\n", "ASP02A0087_016: iconf= 950, Residue=ASPA0087_, charge= 0.000\n", "ASP02A0087_017: iconf= 951, Residue=ASPA0087_, charge= 0.000\n", "ASP-1A0087_018: iconf= 952, Residue=ASPA0087_, charge=-1.000\n", "ASP-1A0087_019: iconf= 953, Residue=ASPA0087_, charge=-1.000\n", "ASP-1A0087_020: iconf= 954, Residue=ASPA0087_, charge=-1.000\n", "ASP-1A0087_021: iconf= 955, Residue=ASPA0087_, charge=-1.000\n", "ILE01A0088_001: iconf= 956, Residue=ILEA0088_, charge= 0.000\n", "ILE01A0088_002: iconf= 957, Residue=ILEA0088_, charge= 0.000\n", "ILE01A0088_003: iconf= 958, Residue=ILEA0088_, charge= 0.000\n", "ILE01A0088_004: iconf= 959, Residue=ILEA0088_, charge= 0.000\n", "THR01A0089_001: iconf= 960, Residue=THRA0089_, charge= 0.000\n", "THR01A0089_002: iconf= 961, Residue=THRA0089_, charge= 0.000\n", "THR01A0089_003: iconf= 962, Residue=THRA0089_, charge= 0.000\n", "THR01A0089_004: iconf= 963, Residue=THRA0089_, charge= 0.000\n", "THR01A0089_005: iconf= 964, Residue=THRA0089_, charge= 0.000\n", "THR01A0089_006: iconf= 965, Residue=THRA0089_, charge= 0.000\n", "THR01A0089_007: iconf= 966, Residue=THRA0089_, charge= 0.000\n", "THR01A0089_008: iconf= 967, Residue=THRA0089_, charge= 0.000\n", "THR01A0089_009: iconf= 968, Residue=THRA0089_, charge= 0.000\n", "THR01A0089_010: iconf= 969, Residue=THRA0089_, charge= 0.000\n", "THR01A0089_011: iconf= 970, Residue=THRA0089_, charge= 0.000\n", "THR01A0089_012: iconf= 971, Residue=THRA0089_, charge= 0.000\n", "THR01A0089_013: iconf= 972, Residue=THRA0089_, charge= 0.000\n", "THR01A0089_014: iconf= 973, Residue=THRA0089_, charge= 0.000\n", "ALA01A0090_001: iconf= 974, Residue=ALAA0090_, charge= 0.000\n", "SER01A0091_001: iconf= 975, Residue=SERA0091_, charge= 0.000\n", "SER01A0091_002: iconf= 976, Residue=SERA0091_, charge= 0.000\n", "SER01A0091_003: iconf= 977, Residue=SERA0091_, charge= 0.000\n", "SER01A0091_004: iconf= 978, Residue=SERA0091_, charge= 0.000\n", "SER01A0091_005: iconf= 979, Residue=SERA0091_, charge= 0.000\n", "VAL01A0092_001: iconf= 980, Residue=VALA0092_, charge= 0.000\n", "VAL01A0092_002: iconf= 981, Residue=VALA0092_, charge= 0.000\n", "ASN01A0093_001: iconf= 982, Residue=ASNA0093_, charge= 0.000\n", "ASN01A0093_002: iconf= 983, Residue=ASNA0093_, charge= 0.000\n", "ASN01A0093_003: iconf= 984, Residue=ASNA0093_, charge= 0.000\n", "ASN01A0093_004: iconf= 985, Residue=ASNA0093_, charge= 0.000\n", "ASN01A0093_005: iconf= 986, Residue=ASNA0093_, charge= 0.000\n", "ASN01A0093_006: iconf= 987, Residue=ASNA0093_, charge= 0.000\n", "ASN01A0093_007: iconf= 988, Residue=ASNA0093_, charge= 0.000\n", "ASN01A0093_008: iconf= 989, Residue=ASNA0093_, charge= 0.000\n", "ASN01A0093_009: iconf= 990, Residue=ASNA0093_, charge= 0.000\n", "ASN01A0093_010: iconf= 991, Residue=ASNA0093_, charge= 0.000\n", "ASN01A0093_011: iconf= 992, Residue=ASNA0093_, charge= 0.000\n", "ASN01A0093_012: iconf= 993, Residue=ASNA0093_, charge= 0.000\n", "ASN01A0093_013: iconf= 994, Residue=ASNA0093_, charge= 0.000\n", "CYD01A0094_001: iconf= 995, Residue=CYDA0094_, charge= 0.000\n", "ALA01A0095_001: iconf= 996, Residue=ALAA0095_, charge= 0.000\n", "LYS01A0096_001: iconf= 997, Residue=LYSA0096_, charge= 0.000\n", "LYS01A0096_002: iconf= 998, Residue=LYSA0096_, charge= 0.000\n", "LYS01A0096_003: iconf= 999, Residue=LYSA0096_, charge= 0.000\n", "LYS01A0096_004: iconf=1000, Residue=LYSA0096_, charge= 0.000\n", "LYS01A0096_005: iconf=1001, Residue=LYSA0096_, charge= 0.000\n", "LYS01A0096_006: iconf=1002, Residue=LYSA0096_, charge= 0.000\n", "LYS01A0096_007: iconf=1003, Residue=LYSA0096_, charge= 0.000\n", "LYS01A0096_008: iconf=1004, Residue=LYSA0096_, charge= 0.000\n", "LYS01A0096_009: iconf=1005, Residue=LYSA0096_, charge= 0.000\n", "LYS01A0096_010: iconf=1006, Residue=LYSA0096_, charge= 0.000\n", "LYS01A0096_011: iconf=1007, Residue=LYSA0096_, charge= 0.000\n", "LYS01A0096_012: iconf=1008, Residue=LYSA0096_, charge= 0.000\n", "LYS01A0096_013: iconf=1009, Residue=LYSA0096_, charge= 0.000\n", "LYS01A0096_014: iconf=1010, Residue=LYSA0096_, charge= 0.000\n", "LYS01A0096_015: iconf=1011, Residue=LYSA0096_, charge= 0.000\n", "LYS+1A0096_016: iconf=1012, Residue=LYSA0096_, charge= 1.000\n", "LYS+1A0096_017: iconf=1013, Residue=LYSA0096_, charge= 1.000\n", "LYS+1A0096_018: iconf=1014, Residue=LYSA0096_, charge= 1.000\n", "LYS+1A0096_019: iconf=1015, Residue=LYSA0096_, charge= 1.000\n", "LYS+1A0096_020: iconf=1016, Residue=LYSA0096_, charge= 1.000\n", "LYS+1A0096_021: iconf=1017, Residue=LYSA0096_, charge= 1.000\n", "LYS+1A0096_022: iconf=1018, Residue=LYSA0096_, charge= 1.000\n", "LYS+1A0096_023: iconf=1019, Residue=LYSA0096_, charge= 1.000\n", "LYS+1A0096_024: iconf=1020, Residue=LYSA0096_, charge= 1.000\n", "LYS+1A0096_025: iconf=1021, Residue=LYSA0096_, charge= 1.000\n", "LYS+1A0096_026: iconf=1022, Residue=LYSA0096_, charge= 1.000\n", "LYS+1A0096_027: iconf=1023, Residue=LYSA0096_, charge= 1.000\n", "LYS+1A0096_028: iconf=1024, Residue=LYSA0096_, charge= 1.000\n", "LYS+1A0096_029: iconf=1025, Residue=LYSA0096_, charge= 1.000\n", "LYS01A0097_001: iconf=1026, Residue=LYSA0097_, charge= 0.000\n", "LYS01A0097_002: iconf=1027, Residue=LYSA0097_, charge= 0.000\n", "LYS01A0097_003: iconf=1028, Residue=LYSA0097_, charge= 0.000\n", "LYS01A0097_004: iconf=1029, Residue=LYSA0097_, charge= 0.000\n", "LYS01A0097_005: iconf=1030, Residue=LYSA0097_, charge= 0.000\n", "LYS01A0097_006: iconf=1031, Residue=LYSA0097_, charge= 0.000\n", "LYS01A0097_007: iconf=1032, Residue=LYSA0097_, charge= 0.000\n", "LYS01A0097_008: iconf=1033, Residue=LYSA0097_, charge= 0.000\n", "LYS01A0097_009: iconf=1034, Residue=LYSA0097_, charge= 0.000\n", "LYS01A0097_010: iconf=1035, Residue=LYSA0097_, charge= 0.000\n", "LYS01A0097_011: iconf=1036, Residue=LYSA0097_, charge= 0.000\n", "LYS01A0097_012: iconf=1037, Residue=LYSA0097_, charge= 0.000\n", "LYS+1A0097_013: iconf=1038, Residue=LYSA0097_, charge= 1.000\n", "LYS+1A0097_014: iconf=1039, Residue=LYSA0097_, charge= 1.000\n", "LYS+1A0097_015: iconf=1040, Residue=LYSA0097_, charge= 1.000\n", "LYS+1A0097_016: iconf=1041, Residue=LYSA0097_, charge= 1.000\n", "LYS+1A0097_017: iconf=1042, Residue=LYSA0097_, charge= 1.000\n", "LYS+1A0097_018: iconf=1043, Residue=LYSA0097_, charge= 1.000\n", "LYS+1A0097_019: iconf=1044, Residue=LYSA0097_, charge= 1.000\n", "LYS+1A0097_020: iconf=1045, Residue=LYSA0097_, charge= 1.000\n", "LYS+1A0097_021: iconf=1046, Residue=LYSA0097_, charge= 1.000\n", "LYS+1A0097_022: iconf=1047, Residue=LYSA0097_, charge= 1.000\n", "LYS+1A0097_023: iconf=1048, Residue=LYSA0097_, charge= 1.000\n", "LYS+1A0097_024: iconf=1049, Residue=LYSA0097_, charge= 1.000\n", "ILE01A0098_001: iconf=1050, Residue=ILEA0098_, charge= 0.000\n", "ILE01A0098_002: iconf=1051, Residue=ILEA0098_, charge= 0.000\n", "ILE01A0098_003: iconf=1052, Residue=ILEA0098_, charge= 0.000\n", "VAL01A0099_001: iconf=1053, Residue=VALA0099_, charge= 0.000\n", "SER01A0100_001: iconf=1054, Residue=SERA0100_, charge= 0.000\n", "SER01A0100_002: iconf=1055, Residue=SERA0100_, charge= 0.000\n", "SER01A0100_003: iconf=1056, Residue=SERA0100_, charge= 0.000\n", "SER01A0100_004: iconf=1057, Residue=SERA0100_, charge= 0.000\n", "SER01A0100_005: iconf=1058, Residue=SERA0100_, charge= 0.000\n", "SER01A0100_006: iconf=1059, Residue=SERA0100_, charge= 0.000\n", "ASP01A0101_001: iconf=1060, Residue=ASPA0101_, charge= 0.000\n", "ASP01A0101_002: iconf=1061, Residue=ASPA0101_, charge= 0.000\n", "ASP01A0101_003: iconf=1062, Residue=ASPA0101_, charge= 0.000\n", "ASP01A0101_004: iconf=1063, Residue=ASPA0101_, charge= 0.000\n", "ASP01A0101_005: iconf=1064, Residue=ASPA0101_, charge= 0.000\n", "ASP02A0101_006: iconf=1065, Residue=ASPA0101_, charge= 0.000\n", "ASP02A0101_007: iconf=1066, Residue=ASPA0101_, charge= 0.000\n", "ASP02A0101_008: iconf=1067, Residue=ASPA0101_, charge= 0.000\n", "ASP02A0101_009: iconf=1068, Residue=ASPA0101_, charge= 0.000\n", "ASP02A0101_010: iconf=1069, Residue=ASPA0101_, charge= 0.000\n", "ASP-1A0101_011: iconf=1070, Residue=ASPA0101_, charge=-1.000\n", "ASP-1A0101_012: iconf=1071, Residue=ASPA0101_, charge=-1.000\n", "ASP-1A0101_013: iconf=1072, Residue=ASPA0101_, charge=-1.000\n", "ASN01A0103_001: iconf=1073, Residue=ASNA0103_, charge= 0.000\n", "ASN01A0103_002: iconf=1074, Residue=ASNA0103_, charge= 0.000\n", "ASN01A0103_003: iconf=1075, Residue=ASNA0103_, charge= 0.000\n", "ASN01A0103_004: iconf=1076, Residue=ASNA0103_, charge= 0.000\n", "MET01A0105_001: iconf=1077, Residue=META0105_, charge= 0.000\n", "MET01A0105_002: iconf=1078, Residue=META0105_, charge= 0.000\n", "MET01A0105_003: iconf=1079, Residue=META0105_, charge= 0.000\n", "MET01A0105_004: iconf=1080, Residue=META0105_, charge= 0.000\n", "MET01A0105_005: iconf=1081, Residue=META0105_, charge= 0.000\n", "MET01A0105_006: iconf=1082, Residue=META0105_, charge= 0.000\n", "MET01A0105_007: iconf=1083, Residue=META0105_, charge= 0.000\n", "MET01A0105_008: iconf=1084, Residue=META0105_, charge= 0.000\n", "MET01A0105_009: iconf=1085, Residue=META0105_, charge= 0.000\n", "ASN01A0106_001: iconf=1086, Residue=ASNA0106_, charge= 0.000\n", "ASN01A0106_002: iconf=1087, Residue=ASNA0106_, charge= 0.000\n", "ASN01A0106_003: iconf=1088, Residue=ASNA0106_, charge= 0.000\n", "ASN01A0106_004: iconf=1089, Residue=ASNA0106_, charge= 0.000\n", "ASN01A0106_005: iconf=1090, Residue=ASNA0106_, charge= 0.000\n", "ASN01A0106_006: iconf=1091, Residue=ASNA0106_, charge= 0.000\n", "ASN01A0106_007: iconf=1092, Residue=ASNA0106_, charge= 0.000\n", "ALA01A0107_001: iconf=1093, Residue=ALAA0107_, charge= 0.000\n", "TRP01A0108_001: iconf=1094, Residue=TRPA0108_, charge= 0.000\n", "TRP01A0108_002: iconf=1095, Residue=TRPA0108_, charge= 0.000\n", "TRP01A0108_003: iconf=1096, Residue=TRPA0108_, charge= 0.000\n", "VAL01A0109_001: iconf=1097, Residue=VALA0109_, charge= 0.000\n", "VAL01A0109_002: iconf=1098, Residue=VALA0109_, charge= 0.000\n", "VAL01A0109_003: iconf=1099, Residue=VALA0109_, charge= 0.000\n", "ALA01A0110_001: iconf=1100, Residue=ALAA0110_, charge= 0.000\n", "TRP01A0111_001: iconf=1101, Residue=TRPA0111_, charge= 0.000\n", "TRP01A0111_002: iconf=1102, Residue=TRPA0111_, charge= 0.000\n", "TRP01A0111_003: iconf=1103, Residue=TRPA0111_, charge= 0.000\n", "TRP01A0111_004: iconf=1104, Residue=TRPA0111_, charge= 0.000\n", "ARG01A0112_001: iconf=1105, Residue=ARGA0112_, charge= 0.000\n", "ARG01A0112_002: iconf=1106, Residue=ARGA0112_, charge= 0.000\n", "ARG01A0112_003: iconf=1107, Residue=ARGA0112_, charge= 0.000\n", "ARG01A0112_004: iconf=1108, Residue=ARGA0112_, charge= 0.000\n", "ARG01A0112_005: iconf=1109, Residue=ARGA0112_, charge= 0.000\n", "ARG01A0112_006: iconf=1110, Residue=ARGA0112_, charge= 0.000\n", "ARG02A0112_007: iconf=1111, Residue=ARGA0112_, charge= 0.000\n", "ARG02A0112_008: iconf=1112, Residue=ARGA0112_, charge= 0.000\n", "ARG02A0112_009: iconf=1113, Residue=ARGA0112_, charge= 0.000\n", "ARG02A0112_010: iconf=1114, Residue=ARGA0112_, charge= 0.000\n", "ARG02A0112_011: iconf=1115, Residue=ARGA0112_, charge= 0.000\n", "ARG02A0112_012: iconf=1116, Residue=ARGA0112_, charge= 0.000\n", "ARG02A0112_013: iconf=1117, Residue=ARGA0112_, charge= 0.000\n", "ARG02A0112_014: iconf=1118, Residue=ARGA0112_, charge= 0.000\n", "ARG03A0112_015: iconf=1119, Residue=ARGA0112_, charge= 0.000\n", "ARG03A0112_016: iconf=1120, Residue=ARGA0112_, charge= 0.000\n", "ARG03A0112_017: iconf=1121, Residue=ARGA0112_, charge= 0.000\n", "ARG03A0112_018: iconf=1122, Residue=ARGA0112_, charge= 0.000\n", "ARG03A0112_019: iconf=1123, Residue=ARGA0112_, charge= 0.000\n", "ARG03A0112_020: iconf=1124, Residue=ARGA0112_, charge= 0.000\n", "ARG03A0112_021: iconf=1125, Residue=ARGA0112_, charge= 0.000\n", "ARG03A0112_022: iconf=1126, Residue=ARGA0112_, charge= 0.000\n", "ARG+1A0112_023: iconf=1127, Residue=ARGA0112_, charge= 1.000\n", "ARG+1A0112_024: iconf=1128, Residue=ARGA0112_, charge= 1.000\n", "ARG+1A0112_025: iconf=1129, Residue=ARGA0112_, charge= 1.000\n", "ARG+1A0112_026: iconf=1130, Residue=ARGA0112_, charge= 1.000\n", "ARG+1A0112_027: iconf=1131, Residue=ARGA0112_, charge= 1.000\n", "ARG+1A0112_028: iconf=1132, Residue=ARGA0112_, charge= 1.000\n", "ASN01A0113_001: iconf=1133, Residue=ASNA0113_, charge= 0.000\n", "ASN01A0113_002: iconf=1134, Residue=ASNA0113_, charge= 0.000\n", "ASN01A0113_003: iconf=1135, Residue=ASNA0113_, charge= 0.000\n", "ASN01A0113_004: iconf=1136, Residue=ASNA0113_, charge= 0.000\n", "ARG01A0114_001: iconf=1137, Residue=ARGA0114_, charge= 0.000\n", "ARG01A0114_002: iconf=1138, Residue=ARGA0114_, charge= 0.000\n", "ARG01A0114_003: iconf=1139, Residue=ARGA0114_, charge= 0.000\n", "ARG01A0114_004: iconf=1140, Residue=ARGA0114_, charge= 0.000\n", "ARG02A0114_005: iconf=1141, Residue=ARGA0114_, charge= 0.000\n", "ARG02A0114_006: iconf=1142, Residue=ARGA0114_, charge= 0.000\n", "ARG02A0114_007: iconf=1143, Residue=ARGA0114_, charge= 0.000\n", "ARG02A0114_008: iconf=1144, Residue=ARGA0114_, charge= 0.000\n", "ARG03A0114_009: iconf=1145, Residue=ARGA0114_, charge= 0.000\n", "ARG03A0114_010: iconf=1146, Residue=ARGA0114_, charge= 0.000\n", "ARG03A0114_011: iconf=1147, Residue=ARGA0114_, charge= 0.000\n", "ARG03A0114_012: iconf=1148, Residue=ARGA0114_, charge= 0.000\n", "ARG+1A0114_013: iconf=1149, Residue=ARGA0114_, charge= 1.000\n", "ARG+1A0114_014: iconf=1150, Residue=ARGA0114_, charge= 1.000\n", "ARG+1A0114_015: iconf=1151, Residue=ARGA0114_, charge= 1.000\n", "ARG+1A0114_016: iconf=1152, Residue=ARGA0114_, charge= 1.000\n", "CYD01A0115_001: iconf=1153, Residue=CYDA0115_, charge= 0.000\n", "LYS01A0116_001: iconf=1154, Residue=LYSA0116_, charge= 0.000\n", "LYS01A0116_002: iconf=1155, Residue=LYSA0116_, charge= 0.000\n", "LYS01A0116_003: iconf=1156, Residue=LYSA0116_, charge= 0.000\n", "LYS01A0116_004: iconf=1157, Residue=LYSA0116_, charge= 0.000\n", "LYS01A0116_005: iconf=1158, Residue=LYSA0116_, charge= 0.000\n", "LYS01A0116_006: iconf=1159, Residue=LYSA0116_, charge= 0.000\n", "LYS01A0116_007: iconf=1160, Residue=LYSA0116_, charge= 0.000\n", "LYS01A0116_008: iconf=1161, Residue=LYSA0116_, charge= 0.000\n", "LYS+1A0116_009: iconf=1162, Residue=LYSA0116_, charge= 1.000\n", "LYS+1A0116_010: iconf=1163, Residue=LYSA0116_, charge= 1.000\n", "LYS+1A0116_011: iconf=1164, Residue=LYSA0116_, charge= 1.000\n", "LYS+1A0116_012: iconf=1165, Residue=LYSA0116_, charge= 1.000\n", "LYS+1A0116_013: iconf=1166, Residue=LYSA0116_, charge= 1.000\n", "LYS+1A0116_014: iconf=1167, Residue=LYSA0116_, charge= 1.000\n", "LYS+1A0116_015: iconf=1168, Residue=LYSA0116_, charge= 1.000\n", "LYS+1A0116_016: iconf=1169, Residue=LYSA0116_, charge= 1.000\n", "THR01A0118_001: iconf=1170, Residue=THRA0118_, charge= 0.000\n", "THR01A0118_002: iconf=1171, Residue=THRA0118_, charge= 0.000\n", "THR01A0118_003: iconf=1172, Residue=THRA0118_, charge= 0.000\n", "ASP01A0119_001: iconf=1173, Residue=ASPA0119_, charge= 0.000\n", "ASP01A0119_002: iconf=1174, Residue=ASPA0119_, charge= 0.000\n", "ASP01A0119_003: iconf=1175, Residue=ASPA0119_, charge= 0.000\n", "ASP01A0119_004: iconf=1176, Residue=ASPA0119_, charge= 0.000\n", "ASP01A0119_005: iconf=1177, Residue=ASPA0119_, charge= 0.000\n", "ASP01A0119_006: iconf=1178, Residue=ASPA0119_, charge= 0.000\n", "ASP01A0119_007: iconf=1179, Residue=ASPA0119_, charge= 0.000\n", "ASP02A0119_008: iconf=1180, Residue=ASPA0119_, charge= 0.000\n", "ASP02A0119_009: iconf=1181, Residue=ASPA0119_, charge= 0.000\n", "ASP02A0119_010: iconf=1182, Residue=ASPA0119_, charge= 0.000\n", "ASP02A0119_011: iconf=1183, Residue=ASPA0119_, charge= 0.000\n", "ASP02A0119_012: iconf=1184, Residue=ASPA0119_, charge= 0.000\n", "ASP02A0119_013: iconf=1185, Residue=ASPA0119_, charge= 0.000\n", "ASP-1A0119_014: iconf=1186, Residue=ASPA0119_, charge=-1.000\n", "ASP-1A0119_015: iconf=1187, Residue=ASPA0119_, charge=-1.000\n", "VAL01A0120_001: iconf=1188, Residue=VALA0120_, charge= 0.000\n", "VAL01A0120_002: iconf=1189, Residue=VALA0120_, charge= 0.000\n", "GLN01A0121_001: iconf=1190, Residue=GLNA0121_, charge= 0.000\n", "GLN01A0121_002: iconf=1191, Residue=GLNA0121_, charge= 0.000\n", "GLN01A0121_003: iconf=1192, Residue=GLNA0121_, charge= 0.000\n", "GLN01A0121_004: iconf=1193, Residue=GLNA0121_, charge= 0.000\n", "GLN01A0121_005: iconf=1194, Residue=GLNA0121_, charge= 0.000\n", "GLN01A0121_006: iconf=1195, Residue=GLNA0121_, charge= 0.000\n", "GLN01A0121_007: iconf=1196, Residue=GLNA0121_, charge= 0.000\n", "GLN01A0121_008: iconf=1197, Residue=GLNA0121_, charge= 0.000\n", "GLN01A0121_009: iconf=1198, Residue=GLNA0121_, charge= 0.000\n", "ALA01A0122_001: iconf=1199, Residue=ALAA0122_, charge= 0.000\n", "TRP01A0123_001: iconf=1200, Residue=TRPA0123_, charge= 0.000\n", "TRP01A0123_002: iconf=1201, Residue=TRPA0123_, charge= 0.000\n", "TRP01A0123_003: iconf=1202, Residue=TRPA0123_, charge= 0.000\n", "TRP01A0123_004: iconf=1203, Residue=TRPA0123_, charge= 0.000\n", "ILE01A0124_001: iconf=1204, Residue=ILEA0124_, charge= 0.000\n", "ILE01A0124_002: iconf=1205, Residue=ILEA0124_, charge= 0.000\n", "ILE01A0124_003: iconf=1206, Residue=ILEA0124_, charge= 0.000\n", "ILE01A0124_004: iconf=1207, Residue=ILEA0124_, charge= 0.000\n", "ARG01A0125_001: iconf=1208, Residue=ARGA0125_, charge= 0.000\n", "ARG01A0125_002: iconf=1209, Residue=ARGA0125_, charge= 0.000\n", "ARG01A0125_003: iconf=1210, Residue=ARGA0125_, charge= 0.000\n", "ARG01A0125_004: iconf=1211, Residue=ARGA0125_, charge= 0.000\n", "ARG01A0125_005: iconf=1212, Residue=ARGA0125_, charge= 0.000\n", "ARG01A0125_006: iconf=1213, Residue=ARGA0125_, charge= 0.000\n", "ARG01A0125_007: iconf=1214, Residue=ARGA0125_, charge= 0.000\n", "ARG01A0125_008: iconf=1215, Residue=ARGA0125_, charge= 0.000\n", "ARG01A0125_009: iconf=1216, Residue=ARGA0125_, charge= 0.000\n", "ARG02A0125_010: iconf=1217, Residue=ARGA0125_, charge= 0.000\n", "ARG02A0125_011: iconf=1218, Residue=ARGA0125_, charge= 0.000\n", "ARG02A0125_012: iconf=1219, Residue=ARGA0125_, charge= 0.000\n", "ARG02A0125_013: iconf=1220, Residue=ARGA0125_, charge= 0.000\n", "ARG02A0125_014: iconf=1221, Residue=ARGA0125_, charge= 0.000\n", "ARG02A0125_015: iconf=1222, Residue=ARGA0125_, charge= 0.000\n", "ARG02A0125_016: iconf=1223, Residue=ARGA0125_, charge= 0.000\n", "ARG02A0125_017: iconf=1224, Residue=ARGA0125_, charge= 0.000\n", "ARG02A0125_018: iconf=1225, Residue=ARGA0125_, charge= 0.000\n", "ARG03A0125_019: iconf=1226, Residue=ARGA0125_, charge= 0.000\n", "ARG03A0125_020: iconf=1227, Residue=ARGA0125_, charge= 0.000\n", "ARG03A0125_021: iconf=1228, Residue=ARGA0125_, charge= 0.000\n", "ARG03A0125_022: iconf=1229, Residue=ARGA0125_, charge= 0.000\n", "ARG03A0125_023: iconf=1230, Residue=ARGA0125_, charge= 0.000\n", "ARG03A0125_024: iconf=1231, Residue=ARGA0125_, charge= 0.000\n", "ARG03A0125_025: iconf=1232, Residue=ARGA0125_, charge= 0.000\n", "ARG03A0125_026: iconf=1233, Residue=ARGA0125_, charge= 0.000\n", "ARG03A0125_027: iconf=1234, Residue=ARGA0125_, charge= 0.000\n", "ARG03A0125_028: iconf=1235, Residue=ARGA0125_, charge= 0.000\n", "ARG03A0125_029: iconf=1236, Residue=ARGA0125_, charge= 0.000\n", "ARG+1A0125_030: iconf=1237, Residue=ARGA0125_, charge= 1.000\n", "ARG+1A0125_031: iconf=1238, Residue=ARGA0125_, charge= 1.000\n", "ARG+1A0125_032: iconf=1239, Residue=ARGA0125_, charge= 1.000\n", "ARG+1A0125_033: iconf=1240, Residue=ARGA0125_, charge= 1.000\n", "ARG+1A0125_034: iconf=1241, Residue=ARGA0125_, charge= 1.000\n", "ARG+1A0125_035: iconf=1242, Residue=ARGA0125_, charge= 1.000\n", "ARG+1A0125_036: iconf=1243, Residue=ARGA0125_, charge= 1.000\n", "ARG+1A0125_037: iconf=1244, Residue=ARGA0125_, charge= 1.000\n", "ARG+1A0125_038: iconf=1245, Residue=ARGA0125_, charge= 1.000\n", "CYD01A0127_001: iconf=1246, Residue=CYDA0127_, charge= 0.000\n", "ARG01A0128_001: iconf=1247, Residue=ARGA0128_, charge= 0.000\n", "ARG01A0128_002: iconf=1248, Residue=ARGA0128_, charge= 0.000\n", "ARG01A0128_003: iconf=1249, Residue=ARGA0128_, charge= 0.000\n", "ARG01A0128_004: iconf=1250, Residue=ARGA0128_, charge= 0.000\n", "ARG01A0128_005: iconf=1251, Residue=ARGA0128_, charge= 0.000\n", "ARG01A0128_006: iconf=1252, Residue=ARGA0128_, charge= 0.000\n", "ARG01A0128_007: iconf=1253, Residue=ARGA0128_, charge= 0.000\n", "ARG01A0128_008: iconf=1254, Residue=ARGA0128_, charge= 0.000\n", "ARG01A0128_009: iconf=1255, Residue=ARGA0128_, charge= 0.000\n", "ARG01A0128_010: iconf=1256, Residue=ARGA0128_, charge= 0.000\n", "ARG01A0128_011: iconf=1257, Residue=ARGA0128_, charge= 0.000\n", "ARG01A0128_012: iconf=1258, Residue=ARGA0128_, charge= 0.000\n", "ARG01A0128_013: iconf=1259, Residue=ARGA0128_, charge= 0.000\n", "ARG01A0128_014: iconf=1260, Residue=ARGA0128_, charge= 0.000\n", "ARG01A0128_015: iconf=1261, Residue=ARGA0128_, charge= 0.000\n", "ARG01A0128_016: iconf=1262, Residue=ARGA0128_, charge= 0.000\n", "ARG01A0128_017: iconf=1263, Residue=ARGA0128_, charge= 0.000\n", "ARG01A0128_018: iconf=1264, Residue=ARGA0128_, charge= 0.000\n", "ARG01A0128_019: iconf=1265, Residue=ARGA0128_, charge= 0.000\n", "ARG01A0128_020: iconf=1266, Residue=ARGA0128_, charge= 0.000\n", "ARG01A0128_021: iconf=1267, Residue=ARGA0128_, charge= 0.000\n", "ARG02A0128_022: iconf=1268, Residue=ARGA0128_, charge= 0.000\n", "ARG02A0128_023: iconf=1269, Residue=ARGA0128_, charge= 0.000\n", "ARG02A0128_024: iconf=1270, Residue=ARGA0128_, charge= 0.000\n", "ARG02A0128_025: iconf=1271, Residue=ARGA0128_, charge= 0.000\n", "ARG02A0128_026: iconf=1272, Residue=ARGA0128_, charge= 0.000\n", "ARG02A0128_027: iconf=1273, Residue=ARGA0128_, charge= 0.000\n", "ARG02A0128_028: iconf=1274, Residue=ARGA0128_, charge= 0.000\n", "ARG02A0128_029: iconf=1275, Residue=ARGA0128_, charge= 0.000\n", "ARG02A0128_030: iconf=1276, Residue=ARGA0128_, charge= 0.000\n", "ARG02A0128_031: iconf=1277, Residue=ARGA0128_, charge= 0.000\n", "ARG02A0128_032: iconf=1278, Residue=ARGA0128_, charge= 0.000\n", "ARG02A0128_033: iconf=1279, Residue=ARGA0128_, charge= 0.000\n", "ARG02A0128_034: iconf=1280, Residue=ARGA0128_, charge= 0.000\n", "ARG02A0128_035: iconf=1281, Residue=ARGA0128_, charge= 0.000\n", "ARG02A0128_036: iconf=1282, Residue=ARGA0128_, charge= 0.000\n", "ARG02A0128_037: iconf=1283, Residue=ARGA0128_, charge= 0.000\n", "ARG02A0128_038: iconf=1284, Residue=ARGA0128_, charge= 0.000\n", "ARG02A0128_039: iconf=1285, Residue=ARGA0128_, charge= 0.000\n", "ARG02A0128_040: iconf=1286, Residue=ARGA0128_, charge= 0.000\n", "ARG02A0128_041: iconf=1287, Residue=ARGA0128_, charge= 0.000\n", "ARG02A0128_042: iconf=1288, Residue=ARGA0128_, charge= 0.000\n", "ARG03A0128_043: iconf=1289, Residue=ARGA0128_, charge= 0.000\n", "ARG03A0128_044: iconf=1290, Residue=ARGA0128_, charge= 0.000\n", "ARG03A0128_045: iconf=1291, Residue=ARGA0128_, charge= 0.000\n", "ARG03A0128_046: iconf=1292, Residue=ARGA0128_, charge= 0.000\n", "ARG03A0128_047: iconf=1293, Residue=ARGA0128_, charge= 0.000\n", "ARG03A0128_048: iconf=1294, Residue=ARGA0128_, charge= 0.000\n", "ARG03A0128_049: iconf=1295, Residue=ARGA0128_, charge= 0.000\n", "ARG03A0128_050: iconf=1296, Residue=ARGA0128_, charge= 0.000\n", "ARG03A0128_051: iconf=1297, Residue=ARGA0128_, charge= 0.000\n", "ARG03A0128_052: iconf=1298, Residue=ARGA0128_, charge= 0.000\n", "ARG03A0128_053: iconf=1299, Residue=ARGA0128_, charge= 0.000\n", "ARG03A0128_054: iconf=1300, Residue=ARGA0128_, charge= 0.000\n", "ARG03A0128_055: iconf=1301, Residue=ARGA0128_, charge= 0.000\n", "ARG03A0128_056: iconf=1302, Residue=ARGA0128_, charge= 0.000\n", "ARG03A0128_057: iconf=1303, Residue=ARGA0128_, charge= 0.000\n", "ARG03A0128_058: iconf=1304, Residue=ARGA0128_, charge= 0.000\n", "ARG03A0128_059: iconf=1305, Residue=ARGA0128_, charge= 0.000\n", "ARG03A0128_060: iconf=1306, Residue=ARGA0128_, charge= 0.000\n", "ARG03A0128_061: iconf=1307, Residue=ARGA0128_, charge= 0.000\n", "ARG03A0128_062: iconf=1308, Residue=ARGA0128_, charge= 0.000\n", "ARG+1A0128_063: iconf=1309, Residue=ARGA0128_, charge= 1.000\n", "ARG+1A0128_064: iconf=1310, Residue=ARGA0128_, charge= 1.000\n", "ARG+1A0128_065: iconf=1311, Residue=ARGA0128_, charge= 1.000\n", "ARG+1A0128_066: iconf=1312, Residue=ARGA0128_, charge= 1.000\n", "ARG+1A0128_067: iconf=1313, Residue=ARGA0128_, charge= 1.000\n", "ARG+1A0128_068: iconf=1314, Residue=ARGA0128_, charge= 1.000\n", "ARG+1A0128_069: iconf=1315, Residue=ARGA0128_, charge= 1.000\n", "ARG+1A0128_070: iconf=1316, Residue=ARGA0128_, charge= 1.000\n", "ARG+1A0128_071: iconf=1317, Residue=ARGA0128_, charge= 1.000\n", "ARG+1A0128_072: iconf=1318, Residue=ARGA0128_, charge= 1.000\n", "ARG+1A0128_073: iconf=1319, Residue=ARGA0128_, charge= 1.000\n", "ARG+1A0128_074: iconf=1320, Residue=ARGA0128_, charge= 1.000\n", "ARG+1A0128_075: iconf=1321, Residue=ARGA0128_, charge= 1.000\n", "ARG+1A0128_076: iconf=1322, Residue=ARGA0128_, charge= 1.000\n", "ARG+1A0128_077: iconf=1323, Residue=ARGA0128_, charge= 1.000\n", "ARG+1A0128_078: iconf=1324, Residue=ARGA0128_, charge= 1.000\n", "ARG+1A0128_079: iconf=1325, Residue=ARGA0128_, charge= 1.000\n", "ARG+1A0128_080: iconf=1326, Residue=ARGA0128_, charge= 1.000\n", "ARG+1A0128_081: iconf=1327, Residue=ARGA0128_, charge= 1.000\n", "ARG+1A0128_082: iconf=1328, Residue=ARGA0128_, charge= 1.000\n", "LEU01A0129_001: iconf=1329, Residue=LEUA0129_, charge= 0.000\n", "CTR01A0129_001: iconf=1330, Residue=CTRA0129_, charge= 0.000\n", "CTR01A0129_002: iconf=1331, Residue=CTRA0129_, charge= 0.000\n", "CTR02A0129_003: iconf=1332, Residue=CTRA0129_, charge= 0.000\n", "CTR-1A0129_004: iconf=1333, Residue=CTRA0129_, charge=-1.000\n" ] } ], "source": [ "for conf in mc.conformers:\n", " print(\"%s: iconf=%4d, Residue=%s, charge=%6.3f\" % (conf.confid, conf.iconf, conf.resid, conf.crg))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Get fixed conformer information\n", "\n", "In Monte Carlo sampling, some conformers are \"fixed\", that is, never selected or always selected. This is due to the energy constraints (energy too high) or choice limit (single conformer in a residue).\n", "\n", "MC.fixedconfs itself is a list of conformer indices. To know the fixed conformer details, one needs to look up from conformer records by the indices." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "index= 10: VAL01A0002_001, iconf= 10, Residue=VALA0002_, charge= 0.000\n", "index= 47: CYD01A0006_001, iconf= 47, Residue=CYDA0006_, charge= 0.000\n", "index= 87: ALA01A0009_001, iconf= 87, Residue=ALAA0009_, charge= 0.000\n", "index= 88: ALA01A0010_001, iconf= 88, Residue=ALAA0010_, charge= 0.000\n", "index= 89: ALA01A0011_001, iconf= 89, Residue=ALAA0011_, charge= 0.000\n", "index= 192: TYR01A0023_001, iconf= 192, Residue=TYRA0023_, charge= 0.000\n", "index= 201: LEU01A0025_001, iconf= 201, Residue=LEUA0025_, charge= 0.000\n", "index= 210: VAL01A0029_001, iconf= 210, Residue=VALA0029_, charge= 0.000\n", "index= 211: CYD01A0030_001, iconf= 211, Residue=CYDA0030_, charge= 0.000\n", "index= 212: ALA01A0031_001, iconf= 212, Residue=ALAA0031_, charge= 0.000\n", "index= 213: ALA01A0032_001, iconf= 213, Residue=ALAA0032_, charge= 0.000\n", "index= 251: PHE01A0034_001, iconf= 251, Residue=PHEA0034_, charge= 0.000\n", "index= 278: ASN01A0039_001, iconf= 278, Residue=ASNA0039_, charge= 0.000\n", "index= 286: ALA01A0042_001, iconf= 286, Residue=ALAA0042_, charge= 0.000\n", "index= 694: TRP01A0063_001, iconf= 694, Residue=TRPA0063_, charge= 0.000\n", "index= 696: CYD01A0064_001, iconf= 696, Residue=CYDA0064_, charge= 0.000\n", "index= 842: PRO01A0070_001, iconf= 842, Residue=PROA0070_, charge= 0.000\n", "index= 891: ASN01A0074_001, iconf= 891, Residue=ASNA0074_, charge= 0.000\n", "index= 899: CYD01A0076_001, iconf= 899, Residue=CYDA0076_, charge= 0.000\n", "index= 904: PRO01A0079_001, iconf= 904, Residue=PROA0079_, charge= 0.000\n", "index= 905: CYD01A0080_001, iconf= 905, Residue=CYDA0080_, charge= 0.000\n", "index= 911: ALA01A0082_001, iconf= 911, Residue=ALAA0082_, charge= 0.000\n", "index= 974: ALA01A0090_001, iconf= 974, Residue=ALAA0090_, charge= 0.000\n", "index= 980: VAL01A0092_001, iconf= 980, Residue=VALA0092_, charge= 0.000\n", "index= 995: CYD01A0094_001, iconf= 995, Residue=CYDA0094_, charge= 0.000\n", "index= 996: ALA01A0095_001, iconf= 996, Residue=ALAA0095_, charge= 0.000\n", "index=1053: VAL01A0099_001, iconf=1053, Residue=VALA0099_, charge= 0.000\n", "index=1093: ALA01A0107_001, iconf=1093, Residue=ALAA0107_, charge= 0.000\n", "index=1100: ALA01A0110_001, iconf=1100, Residue=ALAA0110_, charge= 0.000\n", "index=1153: CYD01A0115_001, iconf=1153, Residue=CYDA0115_, charge= 0.000\n", "index=1199: ALA01A0122_001, iconf=1199, Residue=ALAA0122_, charge= 0.000\n", "index=1246: CYD01A0127_001, iconf=1246, Residue=CYDA0127_, charge= 0.000\n", "index=1329: LEU01A0129_001, iconf=1329, Residue=LEUA0129_, charge= 0.000\n" ] } ], "source": [ "for iconf in mc.fixedconfs:\n", " conf = mc.conformers[iconf]\n", " print(\"index=%4d: %s, iconf=%4d, Residue=%s, charge=%6.3f\" % (iconf, conf.confid, conf.iconf, conf.resid, conf.crg))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Query the conformer from index number and vise versa" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "TRP01A0123_001\n" ] } ], "source": [ "conf = mc.conformers[1200]\n", "print(conf.confid)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1200\n" ] } ], "source": [ "iconf = mc.iconf_by_confname[\"TRP01A0123_001\"]\n", "print(iconf)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Query free residue\n", "\n", "Residues that don't have choice of conformers are fixed residues, and other residues may have multiple selectable conformers. They are \"free\" residues and participating the composition of microstate.\n", "\n", "A microstate is a selection of one conformer from each free residue. Therefore what residues are free residues (meaning sampled by MC), and what conformers are the selection candidates in the free residues are important to know. A free residue has at least two conformers to choose from.\n", "\n", "Free residues (MC.free_residues) are in a list and each free residue is a list of conformer candidates.\n", "\n", "Free residues are also listed as names (MC.free_residue_names)." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0 NTRA0001_ [0, 1]\n", " 1 LYSA0001_ [6, 7, 8, 9]\n", " 2 PHEA0003_ [11, 12]\n", " 3 ARGA0005_ [40, 41, 43, 44, 45]\n", " 4 GLUA0007_ [50, 55, 57, 59, 60, 61, 63, 64, 65, 70, 73, 75, 79, 80, 81, 82, 83, 84]\n", " 5 LEUA0008_ [85, 86]\n", " 6 META0012_ [90, 91, 92]\n", " 7 LYSA0013_ [101, 102, 103, 104, 105]\n", " 8 ARGA0014_ [125, 127, 128, 130]\n", " 9 HISA0015_ [131, 133, 135, 137, 140, 141, 142, 143, 144, 145, 146, 148, 149, 150, 151, 152, 153, 155, 156]\n", " 10 LEUA0017_ [157, 158, 159]\n", " 11 ASPA0018_ [162, 164, 165, 168, 169]\n", " 12 ASNA0019_ [170, 171]\n", " 13 TYRA0020_ [172, 174, 175, 176]\n", " 14 ARGA0021_ [189, 190, 191]\n", " 15 SERA0024_ [196, 197, 198, 199, 200]\n", " 16 ASNA0027_ [203, 204, 205, 206, 207]\n", " 17 TRPA0028_ [208, 209]\n", " 18 LYSA0033_ [233, 234, 237, 239, 241, 242, 243]\n", " 19 GLUA0035_ [253, 254, 258, 259, 261, 263, 264]\n", " 20 SERA0036_ [267, 268, 269]\n", " 21 ASNA0037_ [270, 271, 272, 273, 274]\n", " 22 PHEA0038_ [275, 277]\n", " 23 THRA0040_ [280, 281]\n", " 24 GLNA0041_ [282, 283, 284, 285]\n", " 25 THRA0043_ [287, 288, 289, 290, 291, 292, 293, 294, 295]\n", " 26 ASNA0044_ [296, 297, 298, 299, 300, 301]\n", " 27 ARGA0045_ [382, 383, 384, 386, 388, 389, 390, 392, 393, 394, 395, 396, 397, 398, 399]\n", " 28 ASNA0046_ [402, 403, 404, 405, 407, 408, 409, 410]\n", " 29 THRA0047_ [411, 412, 413]\n", " 30 ASPA0048_ [424, 458, 459, 460, 464, 465, 466]\n", " 31 SERA0050_ [468, 469, 471, 475]\n", " 32 THRA0051_ [480, 481, 482, 486, 490, 493]\n", " 33 ASPA0052_ [501, 502, 503, 505, 508, 509, 510, 511, 512, 513, 515, 516, 517, 518, 519, 520, 521, 522, 523]\n", " 34 TYRA0053_ [524, 525, 527, 528, 529, 532, 534, 538]\n", " 35 ILEA0055_ [545, 547]\n", " 36 LEUA0056_ [548, 549, 550, 551]\n", " 37 GLNA0057_ [552, 553, 554, 555, 556, 557, 558]\n", " 38 ILEA0058_ [559, 560, 561, 562]\n", " 39 ASNA0059_ [563, 565, 570, 572, 574, 575, 578, 579]\n", " 40 SERA0060_ [581, 582, 583, 584, 585]\n", " 41 ARGA0061_ [667, 668, 671, 672, 673, 674, 680, 681, 682, 685, 686]\n", " 42 TRPA0062_ [687, 688, 689, 690, 691, 692, 693]\n", " 43 ASNA0065_ [697, 698, 699]\n", " 44 ASPA0066_ [703, 704, 715, 722, 728, 729]\n", " 45 ARGA0068_ [813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832]\n", " 46 THRA0069_ [833, 834, 835, 839, 840, 841]\n", " 47 SERA0072_ [843, 844, 845, 846, 847, 848]\n", " 48 ARGA0073_ [881, 882, 884, 885, 886, 887, 888, 889, 890]\n", " 49 LEUA0075_ [894, 895, 896, 898]\n", " 50 ASNA0077_ [900, 901]\n", " 51 ILEA0078_ [902, 903]\n", " 52 SERA0081_ [906, 907, 908, 909, 910]\n", " 53 LEUA0083_ [912, 913]\n", " 54 LEUA0084_ [914, 915, 916]\n", " 55 SERA0085_ [917, 918, 919, 920, 921, 923, 925, 926, 927, 928]\n", " 56 SERA0086_ [929, 930, 931, 932, 933, 934]\n", " 57 ASPA0087_ [938, 940, 941, 944, 947, 949, 950, 952, 953, 954]\n", " 58 ILEA0088_ [956, 957]\n", " 59 THRA0089_ [960, 962, 963, 964, 965, 966, 968, 969, 970, 972, 973]\n", " 60 SERA0091_ [975, 976, 977, 978, 979]\n", " 61 ASNA0093_ [982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994]\n", " 62 LYSA0096_ [1012, 1013, 1014, 1015, 1016, 1017, 1018, 1022, 1023]\n", " 63 LYSA0097_ [1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049]\n", " 64 ILEA0098_ [1050, 1052]\n", " 65 SERA0100_ [1054, 1055, 1056, 1057, 1058, 1059]\n", " 66 ASPA0101_ [1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072]\n", " 67 ASNA0103_ [1073, 1074, 1075, 1076]\n", " 68 META0105_ [1077, 1079, 1080, 1081, 1082]\n", " 69 ASNA0106_ [1086, 1087, 1088, 1090, 1091, 1092]\n", " 70 TRPA0108_ [1094, 1095]\n", " 71 VALA0109_ [1097, 1098, 1099]\n", " 72 TRPA0111_ [1101, 1103, 1104]\n", " 73 ARGA0112_ [1127, 1128, 1129, 1130, 1131, 1132]\n", " 74 ASNA0113_ [1133, 1134, 1135, 1136]\n", " 75 ARGA0114_ [1149, 1150, 1151]\n", " 76 LYSA0116_ [1162, 1163, 1164, 1165, 1166, 1167, 1169]\n", " 77 THRA0118_ [1170, 1171, 1172]\n", " 78 ASPA0119_ [1174, 1175, 1177, 1178, 1180, 1181, 1182, 1183, 1186, 1187]\n", " 79 VALA0120_ [1188, 1189]\n", " 80 GLNA0121_ [1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198]\n", " 81 TRPA0123_ [1200, 1203]\n", " 82 ILEA0124_ [1204, 1205, 1206, 1207]\n", " 83 ARGA0125_ [1237, 1238, 1239, 1240, 1241, 1243, 1244, 1245]\n", " 84 ARGA0128_ [1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1328]\n", " 85 CTRA0129_ [1330, 1331, 1332, 1333]\n" ] } ], "source": [ "# free residues and its conformers\n", "for ires in range(len(mc.free_residues)):\n", " print(\"%3d %s %s\" % (ires, mc.free_residue_names[ires], mc.free_residues[ires]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Knowing the conformer index number, you can find the free residue index number it belongs to." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "81\n", "TRPA0123_\n" ] } ], "source": [ "ic = 1200 # pick 1200th conformer \n", "ir = mc.ires_by_iconf[ic] # find the index number of the free residue this conformer belongs\n", "print(mc.ires_by_iconf[1200]) # print the residue index\n", "print(mc.free_residue_names[ir]) # print the residue name" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Q: What happens if we query a conformer that is not in free residue?\n", "\n", "It will return a key error.\n", "\n", "If we want to avoid program exit due to this error, we need to capture the error by try block and handle it accordingly." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[10, 47, 87, 88, 89, 192, 201, 210, 211, 212, 213, 251, 278, 286, 694, 696, 842, 891, 899, 904, 905, 911, 974, 980, 995, 996, 1053, 1093, 1100, 1153, 1199, 1246, 1329]\n", "10 VAL01A0002_001\n", "47 CYD01A0006_001\n", "87 ALA01A0009_001\n", "88 ALA01A0010_001\n", "89 ALA01A0011_001\n", "192 TYR01A0023_001\n", "201 LEU01A0025_001\n", "210 VAL01A0029_001\n", "211 CYD01A0030_001\n", "212 ALA01A0031_001\n", "213 ALA01A0032_001\n", "251 PHE01A0034_001\n", "278 ASN01A0039_001\n", "286 ALA01A0042_001\n", "694 TRP01A0063_001\n", "696 CYD01A0064_001\n", "842 PRO01A0070_001\n", "891 ASN01A0074_001\n", "899 CYD01A0076_001\n", "904 PRO01A0079_001\n", "905 CYD01A0080_001\n", "911 ALA01A0082_001\n", "974 ALA01A0090_001\n", "980 VAL01A0092_001\n", "995 CYD01A0094_001\n", "996 ALA01A0095_001\n", "1053 VAL01A0099_001\n", "1093 ALA01A0107_001\n", "1100 ALA01A0110_001\n", "1153 CYD01A0115_001\n", "1199 ALA01A0122_001\n", "1246 CYD01A0127_001\n", "1329 LEU01A0129_001\n" ] } ], "source": [ "print(mc.fixedconfs) # show fixed conformers\n", "for ic in mc.fixedconfs:\n", " print(ic, mc.conformers[ic].confid) # show conformer names of each fixed conformer" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Could not find the free residue index for this conformer: ALA01A0031_001\n" ] } ], "source": [ "ic = 212 # This is a fixed residue ALA A31\n", "\n", "try:\n", " ir = mc.ires_by_iconf[ic] # find the index number of the free residue this conformer belongs\n", "except KeyError:\n", " print(\"Could not find the free residue index for this conformer: %s\" % mc.conformers[ic].confid)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Q: Given a conformer name, how to find the free residue index and other conformers in this residue?" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "GLN01A0057_001\n" ] } ], "source": [ "# GLNA0057_ [552, 553, 554, 555, 556, 557, 558]\n", "print(mc.conformers[552].confid) # Get a conformer name" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[552, 553, 554, 555, 556, 557, 558]\n" ] } ], "source": [ "# from the name GLN01A0057_001, we are going to get other flippable conformers of this residue\n", "confname = \"GLN01A0057_001\"\n", "ic = mc.iconf_by_confname[confname]\n", "ir = mc.ires_by_iconf[ic]\n", "conf_candidates = mc.free_residues[ir]\n", "print(conf_candidates)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Part three: Query microstates" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of unique microstates = 710067\n", "Number of total microstates = 2200000\n", "Average energy of microstates = -202.383\n" ] } ], "source": [ "print(\"Number of unique microstates = %d\" % len(mc.microstates))\n", "print(\"Number of total microstates = %d\" % mc.counts)\n", "print(\"Average energy of microstates = %.3f\" % average_e(mc.microstates))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### What information is inside a microstate?\n", "\n", "* stateid: this is a compressed string of microstate identification, which can be expanded to a list of chosen conformers.\n", "* energy: microstate energy\n", "* count: how many times this microstate is accepted" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "b'x\\x9c\\x1d\\x90\\xdb\\x01@!\\x08BWa\\x04\\xb1,\\xdd\\x7f\\xb1{\\xba\\x1f\\xe0##\\xcc\\x1a\\xd9\\xda\\xa1;\\xea\\xd2\\xa4\\x1c\\x96\\xb3\\xe5\\r\\xea\\xca\\x87x\\xe9\\xdd#7\\xe33\\xcaX\\xa0\\x95\\x8bx\\x0c\\xae\\xf2\\x92\\xdfR6u\\xbfHo\\x8e\\x16wv\\xa4\\xb6\\xc1\\t@=\\xa1\\xf2\\xa8\\xb2T\\xfb\\xa1U\\x95\\x80\\xdeY\\xaa\\xde:h\\x1e\\xfc\\x1c\\xde\\xbb\\xf8io\\xf5\\x02{\\xa9;\\xd5hO\\x04H\\xd0\\x1a\\xf4\\x87\\x99As\\xf05\\xe8M1\\x83\\xde\\xe0}\\x9e\\xf7\\xf0\\x82X\\xd7Q?\\xb1[\\x9c\\r\\xe1\\xdc\\x81u\\x88\\x9dc^o\\xde\\xe7\\x04\\x99\\xf3e\\x88\\xda\\xfbeX\\xb3/\\x02\\xee\\xf3\\x08\\x15\\xbf\\x1b\\xef_ NsS.#\\xba\\xd6\\xfa\\x00N\\x97B;'\n", "4\n", "-202.497375\n" ] } ], "source": [ "microstate = mc.microstates[0] # pick a microstate from all microstates list\n", "print(microstate.stateid) # microstate ID \n", "print(microstate.count) # counts, how mane times this microstate has been chosen\n", "print(microstate.E) # microstate energy" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To convert the encoded microstate to a list of conformer selections, use this microstate internal method state():" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 9, 11, 40, 79, 85, 92, 101, 128, 148, 157, 168, 171, 176, 189, 199, 203, 208, 233, 261, 267, 273, 275, 281, 285, 287, 296, 389, 402, 412, 460, 469, 490, 519, 525, 545, 548, 552, 559, 563, 584, 667, 692, 699, 728, 814, 834, 843, 882, 896, 900, 902, 908, 912, 914, 925, 933, 952, 956, 963, 976, 989, 1013, 1040, 1050, 1058, 1064, 1075, 1081, 1087, 1094, 1099, 1104, 1129, 1133, 1149, 1167, 1170, 1186, 1188, 1194, 1203, 1207, 1244, 1315, 1333]\n", "Memeory usage of encoded state ID: 215\n", "Memeory usage of list form of state ID: 776\n" ] } ], "source": [ "ms_selection = microstate.state()\n", "print(ms_selection)\n", "print(\"Memeory usage of encoded state ID:\", microstate.stateid.__sizeof__())\n", "print(\"Memeory usage of list form of state ID:\", ms_selection.__sizeof__())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Summary about ways to access microstates information\n", "\n", "So far, what do we have?\n", "\n", "* Basic information about the Monte Carlo sampling condition, such as pH, Eh and temperature\n", "* Which conformers are fixed\n", "* Which residues have flippable conformers to make up a microstate\n", "* Methods to find conformers and free residues from their index numbers and vice versa\n", "* A list of microstates. Within each microstate, we have the microstate ID, its count and microstate energy" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Part four: Microstate Analysis - Overview\n", "\n", "### Conformer occupancy based on selected microstates\n", "\n", "Let's look at a Glutamine: GLNA0041_ \\[282, 283, 284, 285\\]\n", "\n", "Given a list of selected microstates, what are the individual conformer's occupancy. Obviousely, the total occupancy of the 4 conformees of above GLUA0041 will have to be 1, as this residue has to be on one of the 4 conformers at all times.\n", "\n", "The function to get the occupancy is MC.getocc()." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "all_microstates = mc.microstates # select all microstates\n", "confocc = mc.get_occ(all_microstates)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Check GLNA0041 occupancy" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 282 GLN01A0041_001 0.206\n", " 283 GLN01A0041_002 0.126\n", " 284 GLN01A0041_003 0.382\n", " 285 GLN01A0041_004 0.285\n", "Sum Occ = 1.000\n" ] } ], "source": [ "occ_sum = 0.0\n", "for iconf in range(len(confocc)):\n", " if mc.conformers[iconf].resid == \"GLNA0041_\":\n", " print(\"%4d %s %.3f\" % (iconf, mc.conformers[iconf].confid, confocc[iconf]))\n", " occ_sum += confocc[iconf]\n", "print(\"Sum Occ = %.3f\" % occ_sum)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The lowest energy microstates" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "E=-216.562 : [1, 8, 12, 40, 79, 85, 90, 101, 130, 156, 157, 168, 170, 174, 191, 200, 204, 208, 233, 254, 267, 270, 275, 281, 284, 287, 296, 398, 410, 411, 459, 468, 486, 519, 525, 545, 548, 552, 559, 563, 582, 667, 693, 697, 729, 830, 834, 845, 885, 894, 901, 902, 907, 912, 914, 921, 933, 952, 956, 963, 976, 990, 1018, 1038, 1050, 1055, 1070, 1073, 1077, 1087, 1094, 1097, 1104, 1131, 1133, 1149, 1163, 1170, 1187, 1188, 1194, 1200, 1205, 1244, 1312, 1333]\n", "E=-216.542 : [1, 7, 12, 40, 79, 85, 90, 101, 130, 156, 157, 168, 170, 172, 191, 200, 203, 208, 233, 261, 267, 270, 275, 281, 282, 287, 296, 384, 402, 412, 458, 469, 481, 519, 525, 545, 548, 552, 562, 563, 582, 667, 689, 697, 728, 817, 834, 844, 885, 894, 900, 902, 908, 912, 914, 925, 933, 952, 956, 963, 976, 982, 1018, 1038, 1050, 1058, 1070, 1073, 1082, 1086, 1094, 1099, 1104, 1128, 1133, 1149, 1163, 1170, 1187, 1188, 1191, 1200, 1205, 1245, 1322, 1333]\n", "E=-216.532 : [1, 6, 11, 40, 79, 85, 90, 101, 130, 150, 157, 168, 170, 176, 189, 198, 203, 208, 233, 254, 267, 273, 275, 281, 285, 287, 296, 394, 402, 412, 458, 469, 480, 519, 525, 545, 548, 552, 562, 563, 582, 667, 691, 697, 728, 817, 840, 845, 890, 894, 901, 902, 910, 912, 914, 921, 933, 952, 956, 963, 976, 982, 1017, 1040, 1050, 1055, 1070, 1073, 1077, 1087, 1094, 1098, 1104, 1131, 1133, 1149, 1163, 1170, 1187, 1188, 1191, 1203, 1207, 1238, 1310, 1333]\n", "E=-216.502 : [1, 7, 12, 40, 79, 85, 90, 101, 130, 156, 157, 168, 170, 172, 191, 200, 203, 208, 233, 261, 267, 270, 275, 281, 282, 287, 296, 384, 402, 412, 458, 469, 486, 519, 525, 545, 548, 552, 562, 563, 582, 667, 689, 697, 728, 817, 834, 844, 885, 894, 900, 902, 908, 912, 914, 925, 933, 952, 956, 963, 976, 982, 1018, 1038, 1050, 1058, 1070, 1073, 1082, 1086, 1094, 1099, 1104, 1128, 1133, 1149, 1163, 1170, 1187, 1188, 1191, 1200, 1205, 1245, 1322, 1333]\n", "E=-216.419 : [1, 6, 11, 40, 79, 85, 90, 101, 130, 150, 157, 168, 170, 176, 189, 198, 203, 208, 233, 254, 267, 273, 275, 281, 285, 287, 296, 394, 402, 413, 458, 469, 480, 519, 525, 545, 548, 552, 562, 563, 582, 667, 691, 697, 728, 817, 840, 845, 890, 894, 901, 902, 910, 912, 914, 921, 933, 952, 956, 963, 976, 982, 1017, 1040, 1050, 1055, 1070, 1073, 1077, 1087, 1094, 1098, 1104, 1131, 1133, 1149, 1163, 1170, 1187, 1188, 1191, 1200, 1207, 1238, 1310, 1333]\n", "E=-216.409 : [1, 6, 11, 40, 79, 85, 90, 101, 125, 150, 157, 168, 170, 174, 189, 200, 203, 208, 233, 261, 267, 270, 275, 281, 283, 287, 296, 383, 402, 412, 460, 468, 482, 519, 525, 545, 551, 552, 559, 563, 582, 681, 693, 697, 728, 817, 839, 845, 882, 894, 901, 902, 910, 912, 914, 920, 933, 954, 956, 963, 976, 989, 1018, 1038, 1050, 1059, 1070, 1073, 1082, 1087, 1094, 1097, 1104, 1129, 1134, 1149, 1164, 1170, 1187, 1188, 1191, 1200, 1204, 1244, 1309, 1333]\n", "E=-216.355 : [1, 8, 11, 40, 79, 85, 90, 101, 125, 150, 157, 168, 170, 174, 189, 200, 203, 208, 233, 254, 267, 270, 275, 281, 283, 287, 296, 383, 402, 412, 460, 468, 482, 519, 525, 545, 551, 552, 559, 563, 582, 681, 693, 697, 728, 817, 839, 845, 882, 894, 901, 902, 910, 912, 914, 920, 933, 954, 956, 963, 976, 989, 1018, 1038, 1050, 1059, 1070, 1073, 1082, 1087, 1094, 1097, 1104, 1129, 1134, 1149, 1164, 1170, 1187, 1188, 1191, 1200, 1204, 1244, 1309, 1333]\n", "E=-216.350 : [1, 8, 12, 40, 79, 85, 90, 101, 130, 156, 157, 168, 170, 174, 191, 200, 204, 208, 233, 254, 267, 270, 275, 281, 284, 287, 296, 398, 410, 411, 459, 468, 486, 519, 525, 545, 548, 552, 559, 563, 582, 667, 693, 697, 729, 830, 834, 844, 885, 894, 901, 902, 907, 912, 914, 921, 933, 952, 956, 963, 976, 990, 1018, 1038, 1050, 1055, 1070, 1073, 1077, 1087, 1094, 1097, 1104, 1131, 1133, 1149, 1163, 1170, 1187, 1188, 1194, 1200, 1205, 1244, 1312, 1333]\n", "E=-216.345 : [1, 6, 12, 40, 82, 85, 90, 101, 130, 150, 158, 168, 170, 174, 189, 198, 203, 208, 233, 261, 267, 270, 275, 281, 285, 287, 296, 395, 402, 411, 460, 468, 481, 519, 525, 545, 548, 552, 562, 563, 581, 667, 688, 697, 728, 814, 834, 844, 882, 894, 900, 902, 910, 912, 914, 921, 930, 952, 956, 963, 976, 989, 1018, 1038, 1050, 1058, 1070, 1075, 1077, 1087, 1094, 1098, 1104, 1131, 1134, 1149, 1162, 1170, 1187, 1188, 1190, 1203, 1205, 1244, 1321, 1333]\n", "E=-216.343 : [1, 8, 12, 40, 79, 85, 90, 101, 130, 156, 157, 168, 170, 174, 191, 200, 204, 208, 233, 254, 267, 270, 275, 281, 284, 287, 296, 398, 410, 411, 459, 468, 486, 519, 525, 545, 548, 552, 559, 563, 582, 667, 693, 697, 729, 830, 834, 844, 885, 894, 901, 902, 907, 912, 914, 921, 933, 952, 956, 963, 976, 990, 1018, 1038, 1050, 1055, 1070, 1073, 1077, 1087, 1094, 1097, 1104, 1131, 1133, 1149, 1163, 1170, 1187, 1188, 1197, 1200, 1205, 1244, 1312, 1333]\n" ] } ], "source": [ "# sort by energy\n", "all_microstates.sort(key=lambda x: x.E)\n", "\n", "# print the lowest 10 microstates\n", "for ms in all_microstates[:10]:\n", " print(\"E=%.3f : %s\" % (ms.E, str(ms.state())))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The 10 most occupied microstates" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "count=39 : [1, 9, 12, 40, 79, 85, 90, 102, 125, 150, 157, 168, 170, 174, 190, 199, 203, 208, 233, 261, 267, 270, 275, 281, 285, 288, 296, 397, 402, 411, 460, 469, 481, 519, 525, 545, 549, 558, 559, 563, 584, 686, 688, 697, 728, 829, 834, 847, 882, 894, 900, 902, 910, 912, 914, 926, 933, 954, 956, 963, 979, 989, 1018, 1047, 1050, 1055, 1061, 1073, 1077, 1087, 1094, 1098, 1104, 1129, 1134, 1149, 1163, 1170, 1187, 1188, 1195, 1200, 1204, 1238, 1312, 1333]\n", "count=34 : [1, 8, 11, 41, 81, 85, 90, 101, 130, 156, 157, 168, 170, 172, 191, 199, 204, 208, 233, 254, 267, 270, 275, 281, 284, 287, 298, 390, 410, 412, 465, 469, 480, 521, 525, 545, 549, 552, 562, 563, 582, 667, 690, 697, 728, 817, 840, 845, 882, 896, 900, 903, 910, 912, 914, 918, 932, 952, 956, 963, 976, 989, 1018, 1040, 1050, 1054, 1070, 1073, 1077, 1087, 1094, 1099, 1103, 1131, 1135, 1149, 1163, 1170, 1186, 1188, 1193, 1203, 1204, 1244, 1310, 1333]\n", "count=33 : [1, 9, 12, 45, 82, 85, 90, 101, 127, 148, 158, 168, 170, 174, 190, 199, 203, 208, 233, 261, 267, 270, 275, 281, 283, 291, 296, 384, 402, 411, 458, 469, 493, 519, 525, 545, 548, 552, 562, 563, 581, 667, 691, 697, 729, 817, 840, 845, 882, 894, 900, 902, 910, 912, 914, 921, 930, 952, 956, 962, 979, 982, 1017, 1038, 1050, 1059, 1061, 1074, 1077, 1087, 1094, 1097, 1104, 1131, 1134, 1149, 1164, 1170, 1186, 1188, 1192, 1200, 1204, 1243, 1318, 1333]\n", "count=33 : [1, 6, 11, 40, 79, 86, 90, 101, 125, 148, 158, 168, 170, 174, 190, 199, 203, 208, 233, 254, 267, 272, 275, 281, 284, 287, 296, 393, 402, 411, 458, 469, 481, 519, 525, 545, 549, 555, 562, 563, 581, 667, 691, 697, 729, 829, 834, 848, 885, 894, 900, 902, 910, 912, 915, 928, 933, 952, 956, 963, 976, 987, 1012, 1040, 1050, 1057, 1067, 1073, 1080, 1087, 1094, 1099, 1104, 1128, 1133, 1149, 1169, 1170, 1186, 1188, 1197, 1200, 1204, 1244, 1326, 1333]\n", "count=33 : [1, 6, 11, 43, 81, 85, 90, 101, 125, 148, 157, 168, 170, 174, 191, 200, 203, 208, 241, 254, 267, 274, 275, 281, 284, 294, 298, 382, 410, 411, 464, 469, 481, 523, 525, 545, 549, 556, 562, 563, 583, 667, 693, 697, 728, 816, 840, 844, 890, 894, 901, 903, 909, 912, 914, 920, 933, 952, 957, 963, 976, 982, 1017, 1038, 1050, 1057, 1070, 1073, 1077, 1087, 1094, 1098, 1103, 1128, 1133, 1150, 1162, 1170, 1187, 1188, 1191, 1203, 1204, 1244, 1326, 1333]\n", "count=32 : [1, 6, 11, 40, 79, 85, 90, 101, 125, 148, 157, 168, 171, 174, 189, 199, 203, 208, 234, 261, 267, 270, 275, 281, 285, 287, 296, 389, 402, 411, 460, 468, 490, 519, 525, 545, 548, 552, 559, 563, 584, 667, 691, 698, 728, 815, 834, 843, 886, 898, 900, 902, 910, 912, 914, 925, 933, 952, 956, 963, 976, 989, 1018, 1047, 1050, 1058, 1071, 1075, 1082, 1087, 1094, 1097, 1103, 1129, 1133, 1149, 1163, 1170, 1187, 1188, 1194, 1203, 1207, 1244, 1312, 1333]\n", "count=32 : [1, 9, 12, 40, 79, 85, 90, 101, 125, 152, 157, 168, 170, 175, 191, 199, 203, 208, 233, 263, 267, 274, 275, 281, 285, 287, 298, 383, 405, 412, 458, 469, 493, 511, 525, 545, 548, 552, 559, 563, 582, 680, 692, 697, 728, 815, 840, 844, 885, 894, 900, 902, 907, 912, 914, 923, 930, 954, 956, 963, 976, 992, 1018, 1040, 1050, 1059, 1061, 1073, 1082, 1087, 1094, 1098, 1104, 1131, 1134, 1149, 1164, 1170, 1187, 1188, 1191, 1200, 1204, 1244, 1318, 1333]\n", "count=32 : [1, 9, 12, 43, 79, 85, 90, 101, 127, 149, 157, 168, 170, 175, 189, 197, 203, 208, 234, 254, 267, 273, 275, 281, 283, 287, 296, 388, 402, 413, 458, 469, 486, 501, 525, 545, 550, 552, 562, 578, 582, 667, 687, 699, 729, 827, 834, 848, 882, 894, 900, 902, 908, 912, 914, 925, 930, 952, 957, 969, 976, 982, 1013, 1042, 1050, 1057, 1063, 1073, 1080, 1092, 1094, 1098, 1101, 1131, 1135, 1149, 1163, 1170, 1186, 1188, 1196, 1203, 1205, 1237, 1310, 1333]\n", "count=31 : [1, 6, 12, 40, 82, 85, 90, 104, 125, 156, 157, 168, 170, 175, 191, 196, 204, 208, 233, 261, 267, 270, 275, 281, 282, 287, 296, 382, 402, 412, 458, 469, 481, 519, 525, 545, 549, 552, 562, 563, 581, 672, 690, 697, 729, 828, 834, 844, 890, 894, 901, 902, 908, 912, 914, 925, 931, 952, 956, 962, 976, 990, 1018, 1038, 1050, 1059, 1070, 1073, 1082, 1090, 1094, 1098, 1103, 1128, 1133, 1150, 1165, 1170, 1186, 1188, 1191, 1200, 1204, 1244, 1320, 1333]\n", "count=31 : [1, 6, 12, 40, 80, 85, 90, 101, 128, 152, 158, 168, 170, 174, 189, 200, 207, 208, 233, 261, 267, 270, 275, 281, 285, 291, 296, 395, 402, 412, 460, 468, 482, 521, 525, 545, 548, 556, 559, 563, 581, 667, 691, 697, 729, 819, 839, 845, 890, 894, 900, 903, 908, 912, 914, 926, 933, 952, 956, 962, 979, 989, 1012, 1041, 1050, 1057, 1070, 1073, 1077, 1087, 1094, 1099, 1103, 1131, 1135, 1149, 1163, 1170, 1180, 1188, 1194, 1203, 1204, 1238, 1317, 1333]\n" ] } ], "source": [ "# sort by microstate count\n", "all_microstates.sort(key=lambda x: x.count, reverse=True)\n", "\n", "# print the most occupied 10 microstates\n", "for ms in all_microstates[:10]:\n", " print(\"count=%d : %s\" % (ms.count, str(ms.state())))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Get average energy of microstates:" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-202.38313528866024\n" ] } ], "source": [ "H = average_e(all_microstates)\n", "print(H)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Get energy range of microstates:" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-216.56189 -183.014282\n" ] } ], "source": [ "low, high = get_erange(all_microstates)\n", "print(low, high)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Part five: Case study\n", "### Example 1: Bin microstates based on energy\n", "\n", "A function bin_mscounts_total() is given to divide input microstates into groups that are sorted by energy,\n", "\n", "The return values are two:\n", "* the lower end of the energy range\n", "* the accepted counts of microstates in that range\n", "\n", "The default bin number is 100." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Energy #total #uniq\n", "-216.562 57 14\n", "-216.226 50 15\n", "-215.891 94 25\n", "-215.555 97 26\n", "-215.220 139 43\n", "-214.884 369 99\n", "-214.548 398 108\n", "-214.213 764 178\n", "-213.877 697 193\n", "-213.542 991 278\n", "-213.206 1274 355\n", "-212.871 2061 540\n", "-212.535 2379 704\n", "-212.199 3639 989\n", "-211.864 4158 1218\n", "-211.528 5162 1474\n", "-211.193 6560 1833\n", "-210.857 7972 2193\n", "-210.522 10076 2812\n", "-210.186 12111 3466\n", "-209.850 14051 4043\n", "-209.515 17294 4927\n", "-209.179 19073 5725\n", "-208.844 21942 6488\n", "-208.508 26156 7723\n", "-208.172 29124 8721\n", "-207.837 33587 9901\n", "-207.501 37172 11062\n", "-207.166 41425 12411\n", "-206.830 45681 13766\n", "-206.495 49066 14651\n", "-206.159 52695 16078\n", "-205.823 56045 17281\n", "-205.488 59922 18484\n", "-205.152 62064 19376\n", "-204.817 66243 20525\n", "-204.481 68300 21459\n", "-204.146 69912 22093\n", "-203.810 72406 23008\n", "-203.474 73321 23282\n", "-203.139 73041 23454\n", "-202.803 72368 23465\n", "-202.468 71500 23116\n", "-202.132 70504 22870\n", "-201.797 67893 22230\n", "-201.461 66628 21939\n", "-201.125 63229 20931\n", "-200.790 61425 20239\n", "-200.454 59167 19615\n", "-200.119 56272 18780\n", "-199.783 52509 17654\n", "-199.448 49258 16704\n", "-199.112 46677 15908\n", "-198.776 42949 14782\n", "-198.441 40207 13862\n", "-198.105 36898 12643\n", "-197.770 34468 11830\n", "-197.434 31714 11002\n", "-197.098 28861 9971\n", "-196.763 25923 8964\n", "-196.427 23455 8189\n", "-196.092 20815 7341\n", "-195.756 18346 6495\n", "-195.421 16453 5826\n", "-195.085 14883 5324\n", "-194.749 12555 4517\n", "-194.414 10203 3675\n", "-194.078 9241 3412\n", "-193.743 7583 2779\n", "-193.407 6555 2433\n", "-193.072 5916 2177\n", "-192.736 4764 1772\n", "-192.400 4500 1616\n", "-192.065 3678 1316\n", "-191.729 2819 1054\n", "-191.394 2290 865\n", "-191.058 1840 719\n", "-190.723 1676 630\n", "-190.387 1311 477\n", "-190.051 1079 393\n", "-189.716 819 310\n", "-189.380 665 265\n", "-189.045 516 201\n", "-188.709 526 180\n", "-188.373 322 124\n", "-188.038 228 89\n", "-187.702 220 83\n", "-187.367 224 74\n", "-187.031 115 43\n", "-186.696 71 35\n", "-186.360 66 28\n", "-186.024 36 19\n", "-185.689 59 22\n", "-185.353 34 13\n", "-185.018 26 16\n", "-184.682 32 13\n", "-184.347 14 4\n", "-184.011 27 7\n", "-183.675 12 3\n", "-183.340 8 2\n" ] } ], "source": [ "# bin whole range\n", "erange, total_counts = bin_mscounts_total(mc.microstates)\n", "_, uniq_counts = bin_mscounts_unique(mc.microstates)\n", "\n", "print(\"%8s %6s %6s\" % (\"Energy\", \"#total\", \"#uniq\"))\n", "for i in range(len(erange)):\n", " print(\"%8.3f %6d %6d\" % (erange[i], total_counts[i], uniq_counts[i]))\n", " \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It's possible to divide the microstates into bins with custom range. A custom range is an array of the lower bound of the bin, with the next number being the upper bound. The last bin had no upper bound, thus the bin includs all microstates with energy higher than the last number.\n", "\n", "A similar function bin_mscounts_unique() gives counts the unique microstates. This is, one microstate is counted only once, regardless of how many times it was accpeted.\n" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Energy #total #uniq\n", "-210.000 1546892 487197\n", "-200.000 594974 206115\n", "-190.000 4926 1859\n", "-180.000 0 0\n" ] } ], "source": [ "# bin a customized range\n", "bin_range = [-210, -200, -190, -180]\n", "erange, total_counts = bin_mscounts_total(mc.microstates, erange=bin_range)\n", "_, uniq_counts = bin_mscounts_unique(mc.microstates, erange=bin_range)\n", "print(\"%8s %6s %6s\" % (\"Energy\", \"#total\", \"#uniq\"))\n", "for i in range(len(erange)):\n", " print(\"%8.3f %6d %6d\" % (erange[i], total_counts[i], uniq_counts[i]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Select microstates within an energy range\n", "\n", "The above demonstrated how to get the counts of microstates based on energy range. How to get the actual microstates within an energy range?" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Lowest energy microstate E=-210.000, [1, 6, 12, 40, 79, 86, 90, 101, 130, 156, 157, 168, 170, 176, 191, 198, 203, 208, 241, 261, 267, 274, 275, 281, 285, 287, 296, 383, 402, 413, 458, 469, 486, 521, 525, 545, 548, 555, 559, 563, 582, 667, 690, 697, 728, 817, 834, 845, 886, 894, 900, 902, 909, 912, 914, 921, 933, 952, 956, 963, 976, 986, 1018, 1042, 1050, 1057, 1070, 1075, 1077, 1087, 1094, 1099, 1104, 1131, 1136, 1149, 1164, 1170, 1187, 1188, 1194, 1203, 1204, 1244, 1309, 1333]\n", "Highest energy microstate E=-200.000, [1, 6, 11, 40, 79, 85, 91, 101, 130, 156, 158, 168, 170, 176, 189, 198, 204, 208, 233, 263, 267, 272, 275, 281, 283, 287, 296, 397, 402, 412, 460, 469, 493, 519, 525, 545, 549, 552, 559, 563, 581, 671, 692, 698, 728, 826, 839, 848, 882, 894, 900, 903, 908, 912, 914, 928, 933, 954, 957, 970, 979, 989, 1017, 1044, 1050, 1057, 1061, 1073, 1082, 1087, 1094, 1099, 1104, 1130, 1136, 1149, 1165, 1170, 1187, 1188, 1194, 1203, 1205, 1238, 1323, 1333]\n" ] } ], "source": [ "selected_ms, _ = mc.select_by_energy(all_microstates, [-210, -200])\n", "print(\"Lowest energy microstate E=%.3f, %s\" % (selected_ms[0].E, selected_ms[0].state()))\n", "print(\"Highest energy microstate E=%.3f, %s\" % (selected_ms[-1].E, selected_ms[-1].state()))\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example 2. Microstates selection - Cause and effect\n", "\n", "In this example, we are going to use select_by_conformer to group microstates into two groups: one with GLU35 ionized and one neutral. By analyzing these two groups of microstates, we can learn how other residues respond to the GLU35 ionization." ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "GLUA0035_, d= 100.000\n" ] }, { "data": { "image/png": "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GydJuu2223TbbbfZ+95777366KOP9NRTT6lHjx5atmyZtm7dqszMTId+OTk5io6OVp8+fTRx4kR99913mjdvnm677TZ9+umn9n7r1q3TL37xCyUnJ2vmzJn29j//+c967LHHdPfddys2NlYbNmzQX//6V7300kt67rnn7P1KS0s1YMAAlZaWavLkyWratKnmz58vq9Wq3NxctW/f/qrHBIBac+ELGwCgQVu/fr0tLCzMZjabbd26dbOlp6c77Q1gF8ep7pOcnOzQ94cffrBNnjzZ5ufnZ/Pw8LANHDjQlpGRUe24GzZssEVHR9s8PT1t7du3tz322GO2kpIShz6fffZZtcex2Wy2xYsX23r16mUzm8227t2721555RVbZWVllX6HDx+23X333TYvLy9by5Ytbb/+9a9t+/btq7amKx0TAGqDK7MAAAAwLB4AAwAAgGERZgEAAGBYhFkAAAAYFmEWAAAAhkWYBQAAgGERZgEAAGBYTVxdQH2rrKzU0aNH1apVK5lMJleXAwAAgJ+x2WwqLS1VQECA3Nwufe31uguzR48eVWBgoKvLAAAAwGUcPnxYnTp1umSf6y7MXnxf+eHDh+Xl5eXiagAAAPBzJSUlCgwMtOe2S7nuwuzFWwu8vLwIswAA1KG0tDTNmTNHBQUFCgkJ0YIFCxQREVFt36VLlyoxMdGhzcPDQ+fOnbN//eCDD2rZsmUOfWJjY5WRkWH/+q677lJubq6OHz+uNm3aKCYmRi+//LICAgKceGaoL1dySygPgAEAAKdbsWKFLBaLkpOTlZOTo5CQEMXGxur48eM17uPl5aVjx47ZP4cOHarSZ9iwYQ59/v73vzts/8UvfqH33ntPeXl5+uCDD3TgwAHdfffdTj8/NBzX3ZVZAABQ9+bPn68JEybYr7amp6fr448/1pIlSzR16tRq9zGZTPLz87vkuB4eHpfs89RTT9l/3aVLF02dOlWjRo3S+fPn1bRp01qcCRo6rswCAACnqqioUHZ2tmJiYuxtbm5uiomJUVZWVo37nTlzRl26dFFgYKBGjhyp3bt3V+mzbt06dejQQb169dIjjzyikydP1jjeqVOn9M477yg6Opog24hxZRYAADjViRMnZLVa5evr69Du6+urvXv3VrtPr169tGTJEvXv31/FxcWaO3euoqOjtXv3bvvT7MOGDdNvf/tbde3aVQcOHNBzzz2n4cOHKysrS+7u7vaxnn32WS1cuFBnz57VzTffrNWrV1d7TKvVqvPnzzvprHG1zGbzZZfduhImm81mc0I9hlFSUiJvb28VFxfzABgAAHXg6NGj6tixozZv3qyoqCh7+zPPPKP169dry5Ytlx3j/PnzCg4O1pgxYzRr1qxq+3zzzTfq3r27/vOf/2jo0KH29hMnTujUqVM6dOiQXnjhBXl7e2v16tX2h4lsNpsKCgp0+vTpaztRXBM3Nzd17dpVZrO5yraryWtcmQUAAE7l4+Mjd3d3FRYWOrQXFhZe9p7Yi5o2baoBAwZo//79Nfbp1q2bfHx8tH//focw6+PjIx8fH91www0KDg5WYGCgvvjiC3uwvhhkO3TooObNm/MSJRe4+BKrY8eOqXPnztf0e0CYBQAATmU2mxUWFqbMzEyNGjVK0o/hJTMzU0lJSVc0htVq1c6dO/WrX/2qxj7fffedTp48KX9//xr7VFZWSpLKy8vt414Msu3atbvCM0JdaN++vY4ePaoLFy5c0z3NhFkAAOB0FotFCQkJCg8PV0REhFJTU1VWVmZf3SA+Pl4dO3ZUSkqKJOnFF1/UzTffrB49euj06dOaM2eODh06pPHjx0v68eGwF154QaNHj5afn58OHDigZ555Rj169FBsbKwkacuWLdq2bZtuueUWtWnTRgcOHND06dPVvXt3+1XZi/fINm/evL6nBD9z8fYCq9VKmAUAAA1LXFycioqKNGPGDBUUFCg0NFQZGRn2h8Ly8/MdHv75/vvvNWHCBBUUFKhNmzYKCwvT5s2b1adPH0mSu7u7vvzySy1btkynT59WQECA7rjjDs2aNUseHh6SfgyoH374oZKTk1VWViZ/f38NGzZMzz//vL3PRdxa4HrO+j3gATAAAHDdOHfunL799lt17dpVnp6eri7nunap34uryWusMwsAAADD4jYDAAAASUFTP663Yx2cPaLejlVfnnjiCW3atEm7du1ScHCwcnNz6+W4XJkFAABohCoqKur9mA899JDi4uLq9ZiEWQAAAAMoLS3V2LFj1aJFC/n7++uVV17RkCFD9OSTT0qSgoKCNGvWLMXHx8vLy0sTJ06UJH3wwQe68cYb5eHhoaCgIM2bN89hXJPJpJUrVzq0tW7dWkuXLpUkHTx4UCaTScuXL1d0dLQ8PT3Vt29frV+/3mGf1157TY899pi6detWJ+dfE8IsAACAAVgsFm3atEmrVq3SmjVrtGHDBuXk5Dj0mTt3rkJCQrRjxw5Nnz5d2dnZuvfee3Xfffdp586dmjlzpqZPn24PqldjypQpevrpp7Vjxw5FRUXpzjvv1MmTJ510drXHPbMAAAANXGlpqZYtW6Z3333X/razt956SwEBAQ79br/9dj399NP2r8eOHauhQ4dq+vTpkqQbbrhBX331lebMmaMHH3zwqmpISkrS6NGjJUmLFi1SRkaG3nzzTT3zzDPXcGbXjjALAADq3kxvFxyzuP6PWUe++eYbnT9/XhEREfY2b29v9erVy6FfeHi4w9d79uzRyJEjHdoGDRqk1NRUWa1Wubu7X3ENF188IUlNmjRReHi49uzZczWnUSe4zQAA0CClpaUpKChInp6eioyM1NatW2vsu3TpUplMJofPT9etPH/+vJ599ln169dPLVq0UEBAgOLj43X06NEqY3388ceKjIxUs2bN1KZNG/vrWAEjaNGixVXvYzKZ9PPXDlx8U5oREGYBAA3OihUrZLFYlJycrJycHIWEhCg2NlbHjx+vcR8vLy8dO3bM/jl06JB929mzZ5WTk6Pp06crJydHH374ofLy8nTXXXc5jPHBBx/ogQceUGJiov773/9q06ZNuv/+++vsPIEr1a1bNzVt2lTbtm2ztxUXF+vrr7++5H7BwcHatGmTQ9umTZt0ww032K/Ktm/fXseOHbNv37dvn86ePVtlrC+++ML+6wsXLig7O1vBwcG1Oh9n4jYDAECDM3/+fE2YMEGJiYmSpPT0dH388cdasmSJpk6dWu0+JpNJfn5+1W7z9vbWmjVrHNoWLlyoiIgI5efnq3Pnzrpw4YImTZqkOXPmaNy4cfZ+F1+nCrhSq1atlJCQoClTpqht27bq0KGDkpOT5ebmdsnXwj799NMaOHCgZs2apbi4OGVlZWnhwoX685//bO9z++23a+HChYqKipLVatWzzz6rpk2bVhkrLS1NPXv2VHBwsF555RV9//33euihh+zb9+/frzNnzqigoEA//PCDfZ3ZPn36yGw2O28yfoYrswCABqWiokLZ2dmKiYmxt7m5uSkmJkZZWVk17nfmzBl16dJFgYGBGjlypHbv3n3J4xQXF8tkMql169aSpJycHB05ckRubm4aMGCA/P39NXz4cO3atcsp5wVcq/nz5ysqKkq//vWvFRMTo0GDBik4OPiSr+W96aab9N5772n58uXq27evZsyYoRdffNHh4a958+YpMDBQt956q+6//35NnjxZzZs3rzLW7NmzNXv2bIWEhGjjxo1atWqVfHx87NvHjx+vAQMG6PXXX9fXX3+tAQMGaMCAAdXezuNMXJkFADQoJ06ckNVqla+vr0O7r6+v9u7dW+0+vXr10pIlS9S/f38VFxdr7ty5io6O1u7du9WpU6cq/c+dO6dnn31WY8aMsb/3/ZtvvpEkzZw5U/Pnz7evxzlkyBB9/fXXatu2rZPPFA1NQ38rV6tWrfTOO+/Yvy4rK9MLL7xgX0/24MGD1e43evRo+yoE1QkICNCnn37q0Hb69Okq/YKDg7Vly5Yax1m3bl3NxdchrswCAAwvKipK8fHxCg0N1eDBg/Xhhx+qffv2ev3116v0PX/+vO69917ZbDYtWrTI3l5ZWSlJ+v3vf6/Ro0crLCxMb731lkwmk95///16OxegJjt27NDf//53HThwQDk5ORo7dqwkVVmt4HrDlVkAQIPi4+Mjd3d3FRYWOrQXFhbWeE/szzVt2lQDBgzQ/v37HdovBtlDhw5p7dq19quykuTv7y/J8R5ZDw8PdevWTfn5+bU9HcCp5s6dq7y8PJnNZoWFhWnDhg0OP+q/HnFlFgDQoFz8n3RmZqa9rbKyUpmZmQ7rXF6K1WrVzp077QFV+l+Q3bdvn/7zn/+oXbt2DvuEhYXJw8NDeXl5DvscPHhQXbp0ucazAq7dgAEDlJ2drTNnzujUqVNas2aN+vXrV+fHDQoKks1mU2hoaJ0fqza4MgsAaHAsFosSEhIUHh6uiIgIpaamqqyszL66QXx8vDp27KiUlBRJ0osvvqibb75ZPXr00OnTpzVnzhwdOnRI48ePl/RjKL377ruVk5Oj1atXy2q1qqCgQJLUtm1bmc1meXl56eGHH1ZycrICAwPVpUsXzZkzR5J0zz33uGAWAFwJwiwAoMGJi4tTUVGRZsyYoYKCAoWGhiojI8P+UFh+fr7c3P73w8Xvv/9eEyZMUEFBgdq0aaOwsDBt3rzZfsvAkSNHtGrVKkmqcnXps88+05AhQyRJc+bMUZMmTfTAAw/ohx9+UGRkpNauXas2bdrU/UkDqBWT7eevfGjkSkpK5O3treLiYod7pQAAQB1qIK+zPXfunL799lt17dr1kktaoe5d6vfiavIa98wCAADAsAizAAAAMCzCLAAAAAyLMAsAAADDYjUDAAAAqX4fUqvm4TQj++9//6vZs2dr48aNOnHihIKCgvTwww9r0qRJdX5swiwAAEAjVFFRIbPZXC/Hys7OVocOHfT2228rMDBQmzdv1sSJE+Xu7q6kpKQ6PTZhFgDQoAVN/bjej3lw9oh6PyZwOaWlpXr44Ye1cuVKeXl56ZlnntE///lPhYaGKjU1VUFBQRo3bpz27dunlStX6re//a2WLl2qDz74QDNmzND+/fvl7++vxx9/XE8//bR9XJPJpI8++kijRo2yt7Vu3Vqpqal68MEHdfDgQXXt2lV///vf9dprryknJ0c9evRQWlqaBg8eLEl66KGHHGrt1q2bsrKy9OGHH9Z5mOWeWQAAAAOwWCzatGmTVq1apTVr1mjDhg3Kyclx6DN37lyFhIRox44dmj59urKzs3Xvvffqvvvu086dOzVz5kxNnz5dS5cuverjT5kyRU8//bR27NihqKgo3XnnnTp58mSN/YuLi9W2bdurPs7V4sosAABAA1daWqply5bp3Xff1dChQyVJb731lgICAhz63X777Q5XXceOHauhQ4dq+vTpkqQbbrhBX331lebMmaMHH3zwqmpISkrS6NGjJUmLFi1SRkaG3nzzTT3zzDNV+m7evFkrVqzQxx/X/U9WuDILAADQwH3zzTc6f/68IiIi7G3e3t7q1auXQ7/w8HCHr/fs2aNBgwY5tA0aNEj79u2T1Wq9qhqioqLsv27SpInCw8O1Z8+eKv127dqlkSNHKjk5WXfcccdVHaM2CLMAAACNRIsWLa56H5PJJJvN5tB2/vz5Wh3/q6++0tChQzVx4kQ9//zztRrjahFmAQAAGrhu3bqpadOm2rZtm72tuLhYX3/99SX3Cw4O1qZNmxzaNm3apBtuuEHu7u6SpPbt2+vYsWP27fv27dPZs2erjPXFF1/Yf33hwgVlZ2crODjY3rZ792794he/UEJCgl566aWrO8FrwD2zAAAADVyrVq2UkJCgKVOmqG3bturQoYOSk5Pl5uYmk8lU435PP/20Bg4cqFmzZikuLk5ZWVlauHCh/vznP9v73H777Vq4cKGioqJktVr17LPPqmnTplXGSktLU8+ePRUcHKxXXnlF33//vX0Vg127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pszMTI0aNUqSVFlZqczMTCUlJV3xOJWVlSovL7+qcwAAAIDx1SrMStIjjzyiRx55REVFRWrWrJlatmxZq3EsFosSEhIUHh6uiIgIpaamqqysTImJiZKk+Ph4dezYUSkpKZJ+vAc2PDxc3bt3V3l5uT755BP97W9/06JFi2p7KgAAADCoWoXZb7/9VhcuXFDPnj3Vvn17e/u+ffvUtGlTBQUFXfFYcXFxKioq0owZM1RQUKDQ0FBlZGTYHwrLz8+Xm9v/bu0tKyvTo48+qu+++07NmjVT79699fbbbysuLq42pwIAAAADq1WYffDBB/XQQw+pZ8+eDu1btmzRX/7ylxofxqpJUlJSjbcV/HysP/zhD/rDH/5wVeMDAACgcarVagY7duyodp3Zm2++Wbm5uddaEwAAAHBFahVmTSaTSktLq7QXFxfLarVec1EAAADAlahVmL3tttuUkpLiEFytVqtSUlJ0yy23OK04AAAA4FJqdc/syy+/rNtuu029evXSrbfeKknasGGDSkpKtHbtWqcWCAAAANSkVldm+/Tpoy+//FJxcXE6fvy4SktLFR8fr71796pv377OrhEAAACoVq3XmW3evLnatm0rf39/SVLLli3l7u7utMIAAACAy6nVldnt27ere/fueuWVV3Tq1CmdOnVKr7zyirp3766cnBxn1wgAAABUq1ZXZp966indddddeuONN9SkyY9DXLhwQePHj9eTTz6pzz//3KlFAgAAANWpVZjdvn27Q5CVpCZNmuiZZ55ReHi404oDAAAALqVWtxl4eXkpPz+/Svvhw4fVqlWray4KAAAAuBK1CrNxcXEaN26cVqxYocOHD+vw4cNavny5xo8frzFjxji7RgAAAKBatbrNYO7cuTKZTIqPj9eFCxckSU2bNtUjjzyi2bNnO7VAAAAAoCa1CrNms1mvvvqqUlJSdODAAUlS9+7d1bx5c6cWBwAAAFxKrdeZlX5ca7Zfv37OqgUAAAC4KrW6ZxYAAABoCAizAAAAMCzCLAAAAAyLMAsAAADDIswCAADAsAizAAAAMCzCLAAAAAyLMAsAAADDIswCAADAsAizAAAAMCzCLAAAAAyLMAsAAADDIswCAADAsAizAAAAMCzCLAAAAAyLMAsAAADDIswCAADAsAizAAAAMCzCLAAAAAyLMAsAAADDIswCAADAsAizAAAA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n5+fi6oCqkpKStLq1av12WefqVOnTq4ux9DMZrN69OihsLAwpaSkKCQkRK+++qqryzKk7OxsHT9+XDfddJOaNGmiJk2aaP369XrttdfUpEkTWa1WV5doaK1bt9YNN9yg/fv3u7oUQ/L396/yj9Tg4GBu3RBhtlExm80KCwtTZmamva2yslKZmZncQ4cGwWazKSkpSR999JHWrl2rrl27urqkRqeyslLl5eWuLsOQhg4dqp07dyo3N9f+CQ8P19ixY5Wbmyt3d3dXl2hoZ86c0YEDB+Tv7+/qUgxp0KBBVZYy/Prrr9WlSxcXVdRwcJtBI2OxWJSQkKDw8HBFREQoNTVVZWVlSkxMdHVphnTmzBmHqwjffvutcnNz1bZtW3Xu3NmFlRnTY489pnfffVf//Oc/1apVK/u93N7e3mrWrJmLqzOeadOmafjw4ercubNKS0v17rvvat26dfr0009dXZohtWrVqsr92y1atFC7du24r7sWJk+erDvvvFNdunTR0aNHlZycLHd3d40ZM8bVpRnSU089pejoaP3xj3/Uvffeq61bt2rx4sVavHixq0tzPRsanQULFtg6d+5sM5vNtoiICNsXX3zh6pIM67PPPrNJqvJJSEhwdWmGVN1cSrK99dZbri7NkB566CFbly5dbGaz2da+fXvb0KFDbf/+979dXVajMnjwYNukSZNcXYYhxcXF2fz9/W1ms9nWsWNHW1xcnG3//v2uLsvQ/u///s/Wt29fm4eHh6137962xYsXu7qkBoF1ZgEAAGBY3DMLAAAAwyLMAgAAwLAIswAAADAswiwAAAAMizALAAAAwyLMAgAAwLAIswAAADAswiwAAAAMizALAAAAwyLMAgAAwLAIswAAADAswiwAAAAM6/8B0JYAAR2TRSQAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "GLU01A0035_001 0.029 0.000\n", "GLU01A0035_002 0.384 0.000\n", "GLU01A0035_006 0.011 0.000\n", "GLU02A0035_007 0.050 0.000\n", "GLU02A0035_009 0.526 0.000\n", "GLU-1A0035_011 0.000 0.553\n", "GLU-1A0035_012 0.000 0.447\n", "\n", "ASNA0044_, d= 0.013\n" ] }, { "data": { "image/png": "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Yb8Wi0WrVq1yaKtbt64WL14sSTp06JAsFouWLVumLl26yM3NTR06dNCmTZsctnnrrbc0cuTIQnPelzdDw+yf52AtUDAHa1hY2FW3/eijj3Tx4kU9/vjj5V0mAACA4WJiYvTNN99ozZo12rBhg7766ivt2LHDoc+MGTMUEBCgnTt3auLEiUpLS9MjjzyiRx99VLt27dKkSZM0ceJEe1AtiXHjxun555/Xzp07FRYWpr59++q3334ro7MrPcOn5oqJiVF0dLSCg4PVuXNnJSQkFJqDtXHjxoqPj3fYbsGCBerfvz8THgMAgJvemTNntGTJEi1dulT33HOPJGnRokXy8fFx6NezZ089//zz9u8HDRqke+65RxMnTpQktWnTRj/88IOmT5+uwYMHl6iGUaNGacCAAZKkuXPnKjk5WQsWLNCLL754A2d24wwPsyWdg1WS9u3bp6+//lqfffaZESWXWEUOKL+Wm3HAOQAAN7uff/5Zly5dcnhOyMPDQ23btnXoFxwc7PD9nj171K9fP4e2rl27KiEhQXl5eXJ2dr7uGv78V/Nq1aopODhYe/bsKclplAvDw6x0JekX92rXjRs3Fmpr27atDJ4eFwAAoNK5njn3/5vFYimUqwrelGYGpp7NAAAAoCpo0aKFqlevrm3bttnbsrKy9OOPP151O39/f33zzTcObd98843atGljvyvbsGFDZWRk2Nfv379f586dK7Svb7/91v715cuXlZaWJn9//1KdT1mqFHdmAQAAULw6deooOjpa48aNU7169dSoUSPFxcXJycnpqq+Fff755xUSEqKpU6cqMjJSqampSkxM1DvvvGPv07NnTyUmJiosLEx5eXl66aWXVL169UL7mjNnjlq3bi1/f3+9+eab+v333/Xkk0/a1x84cEBnz56V1WrV+fPn7fPMtm/fXi4uLmX3YfwXwiwAAIAJzJo1S08//bTuv/9+ubu768UXX9SRI0eu+lre22+/XR9++KFiY2M1depUeXt7a8qUKQ4Pf82cOVNDhgzRXXfdJR8fH82ePVtpaWmF9jVt2jRNmzZN6enpatWqldasWaMGDRrY1z/11FMO03V16tRJknTw4EH5+fnd+AdQDIutig0+Lcm7fssKD4ABAFA5XLhwQQcPHlTz5s2vGgLNICcnR40bN9bMmTOvOe/+jTh06JCaN2+unTt3KjAw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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "ASN01A0044_001 0.692 0.577\n", "ASN01A0044_002 0.009 0.012\n", "ASN01A0044_003 0.150 0.133\n", "ASN01A0044_004 0.061 0.115\n", "ASN01A0044_005 0.004 0.003\n", "ASN01A0044_006 0.084 0.160\n", "\n", "ASNA0046_, d= 0.011\n" ] }, { "data": { "image/png": "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bLkp7MSJE1bh7/Tp0+revbvl69mzZ2v27Nm65557tHXr1jLte3t7S7p6U9evVWUpQylXV1e1adNGkhQSEqIvvvhCb7zxht555x1J0oABA/TNN98oNzdXLi4uql+/vvz8/NSqVasq9VsdCLMAAADVZMKECZowYUK57/02oAYGBspsNt90266ururZs6cCAwMtZaVLGX7dZ0XavJaSkhIVFhaWKS8N1Js3b9aZM2f0wAMPVLmvqiLMAgAAGER1L2WQpClTpmjgwIFq3ry5Lly4oOXLl2vr1q3auHGjpd+lS5eqY8eOaty4sVJTUzVx4kQ9/fTTat++vY2vQFmEWQAAAIOoiaUMZ86c0ciRI5WVlSUvLy9169ZNGzduVP/+/S3HZWZmasqUKTp37pwCAwP14osv6umnn7bNSd+AyVwdc9EGkp+fLy8vL+Xl5Vn2SqtpgZM/skk/x92H26QfTc+zTT8AAOC2VJG8Zv9b0AAAAIBKIswCAADAsAizAAAAMCzCLAAAAAyL3QwAAABqiC1uAj8+c1CN9+HImJkFAACAYTEzCwAAYGTTvWzUj2NuzcnMLAAAAAyLMAsAAADDIswCAADAsAizAAAAMCzCLAAAAAyLMAsAAADDIswCAADAsAizAADAYcyfP1+BgYFyd3dXWFiYdu/efd36q1atUocOHeTu7q6uXbtqw4YNVu/n5ORo1KhRatKkiWrXrq17771XR44csarz888/a/z48WrUqJHq1q2rIUOGKCcnp9rPDTWDMAsAABzCypUrFRcXp4SEBKWnpysoKEiRkZE6c+ZMufV37dqlRx55RGPGjNHevXsVFRWlqKgoHThwQJJkNpsVFRWlb7/9Vh9++KH27t2rFi1aKCIiQgUFBZZ2nn76af33v//VqlWrtG3bNp0+fVoPPvigTc4ZVWcym81mew/ClvLz8+Xl5aW8vDx5enrapE9bPJdZko67D7dJP476BBAAgLGFhYWpR48emjdvniSppKREAQEBeuqppzR58uQy9aOjo1VQUKD169dbyu68804FBwdr4cKFOnz4sNq3b68DBw6oc+fOljb9/Pz06quv6rHHHlNeXp4aN26s5cuX66GHHpIkHTp0SB07dlRqaqruvPPOKp2TLTLArfjvf0XyGjOzAADA7oqKipSWlqaIiAhLmZOTkyIiIpSamlruMampqVb1JSky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/aNAf1h+SXc1d9ai+z1se/JwaNwABrsonelauHChwsLClJSUpMjISGVmZsrHx6dM/dKZrsTERN13331avny5oqKilJ6ebvlgLJ3patWqlX766Se9/vrrGjBggI4eParGjRvr0KFDKikp0TvvvKM2bdrowIEDGjt2rAoKCjR79mxbXwIYROmWRL+ecbqZLYni4uKsyiIjI7V27dpr9rFo0SJ5eXlZ7jBPT0/XqVOn5OTkpO7du1vufp81a5blex6wNXvcwNbQw6TlQ2pXaJy4vTAzC7uwx0zXvffeq6VLl2rAgAFq1aqVHnjgAT377LNas2aNTc4ZNaM6Z/gvX76s559/Xl27dlWdOnXUpEkTDR8+vMyWRIcPH9bOnTu1YcMGeXp66q677tKWLVss79/MlkSStH79etWtW1fu7u56/fXXtWnTJnl7e0uSvv32W0lXf+MwdepUrV+/Xg0aNFCfPn107ty5yl0sALgFMTMLm7PXTJckabqXVb28zT+r4c9XypRX2fS86m0P5aruGf5Lly4pPT1d06ZNU1BQkH788UeNGzeuTDv33XefzGazOnTooDVr1igpKUn33Xefvvnmm+veqf1bv//975WRkaHc3Fy9++67Gjp0qD7//HP5+PhYns704osvasiQIZKkpUuXqlmzZlq1apX+/Oc/V/KqoTzz58/XrFmzlJ2draCgIL311lvq2bPnNeuvWrVK06ZN0/Hjx9W2bVu99tpr+sMf/iDp6g9FU6dO1YYNG/Ttt9/Ky8tLERERmjlzppo0aWLVzkfDa+vlTwv1ZU6J3F2ke1q4aO2wGpiF5DMJtzBmZmFz19t8+7czV6WqY6brt46eK9Fbu4v05xDXKpwN7Km6Z/i9vLy0adMmDR06VO3bt9edd96p+fPnS5Ll5q3c3FwdOXJEbdu2VatWrdS2bVvNnDlTly5dstS52S2J6tSpozZt2ujOO+/U4sWL5eLiosWLF0uS5W7uTp06Weq7ubmpVatWOnHiRFUvHX6lum/w+/UPRenp6VqzZo0yMzP1wAMPWLXzn//8R49+8JNig12174k62jm6joZ3rVXj5wvcagizuKWUznTt2rVL9957r4YOHVruP0in8kt07/sFerhTLY0lzBpSTT5e89dKn22/Z88eSVKjRo3Url07bd++XSEhIbpy5Yreeecd+fj4KCQkRFLltiSS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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "ASN01A0046_001 0.716 0.613\n", "ASN01A0046_002 0.032 0.059\n", "ASN01A0046_003 0.004 0.004\n", "ASN01A0046_004 0.028 0.036\n", "ASN01A0046_006 0.000 0.001\n", "ASN01A0046_007 0.026 0.058\n", "ASN01A0046_008 0.050 0.090\n", "ASN01A0046_009 0.144 0.139\n", "\n", "ASPA0052_, d= 0.080\n" ] }, { "data": { "image/png": "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jcUwS0REREQai2GWiIiIiDQWwywRERERaSyGWSIiIiLSWAyzRERERKSxGGaJiIiISGMxzBIRERGRxmKYJSIiIiKNxTBLRERERBqLYZaIiIiINBbDLBERERFpLIZZIiIiItJYDLNEREREpLEYZomIiIhIYzHMEhEREZHGYpglIiIiIo3FMEtEREREGothloiIiIg0FsMsEREREWkshlkiIiIi0lgMs0RERESksRhmiYiIiEhjMcwSERERkcZimCUiIiIijcUwS0REREQai2GWiIiIiDQWwywRERERaSyGWSIiIiLSWAyzRERERKSxGGaJiIiISGMxzBIRERGRxmKYJSIiIiKNxTBLRERUh4SHh+Pe6g9xJ+QdJP8YgLykhBLL5iScgqurK0xNTWFoaAhnZ2f89NNPSmWePn0Kf39/NG7cGPr6+mjbti0iIiKUyvTq1QsSiUTp9cknn1RJ+6juqafuBSAiIqLqsXXrVgQEBMC0zyRIbVsj69wePNg2D7YT1kDb0LRYeS19I8yePRtt2rSBVCrFvn374OfnB0tLS3h5eQEAAgICcPjwYWzcuBH29vb4448/MHnyZNja2mLw4MFiXRMmTMCCBQvEvw0MDKq8vVQ3sGeWiIiojli2bBkmTJgAo45vQ2reBA29pkCio4unlw6qLK/XpCPeeecdODo6onnz5pg6dSo6duyIEydOiGVOnTqFsWPHolevXrC3t8fEiRPh5OSEs2fPKtVlYGAAa2tr8WVsbFylbaW6o0aE2fDwcNjb20NPTw/u7u7FvgAl2bJlCyQSCYYOHVq1C0hERKTh8vPzERsbC09PT3GaRKIFPXtn5N2/9sr5BUFAdHQ0EhIS0KNHD3F6t27dsHfvXty/fx+CIODIkSP4559/0LdvX6X5N23aBHNzc7Rv3x6BgYHIycmpvMZRnab2YQaKUx4RERFwd3dHaGgovLy8kJCQAEtLyxLnu337Nr744gu8+eab1bi0REREmunhw4eQyWSwsrIC8Ficrm1gioJH90qcLyMjA40aNUJeXh60tbXx3Xff4e233xbfX7VqFSZOnIjGjRujXr160NLSwvfff68UeN9//300bdoUtra2uHjxImbOnImEhATs3LmzStpKdYvaw6zilIefnx8AICIiAvv378e6deswa9YslfPIZDKMHj0aX3/9NY4fP4709PRqXGIiIqK6o379+oiPj8fTp08RHR2NgIAANGvWDL169QJQGGZPnz6NvXv3omnTpvjzzz8xZcoU2Nrair3AEydOFOvr0KEDbGxs0KdPH9y8eRPNmzdXR7OoFlFrmFWc8ggMDBSnaWlpwdPTEzExMSXOt2DBAlhaWmL8+PE4fvx4dSwqERGRRjM3N4e2tjZSU1MB6IjTZTnp0DZsUOJ8WlpaaNGiBQDA2dkZV69eRXBwMHr16oVnz57hq6++wq5duzBgwAAAQMeOHREfH4+QkBClIQ1Fubu7AwBu3LjBMEuvTa1hVvmUxwtWVla4dk31+J0TJ07ghx9+QHx8fJk+Iy8vD3l5eeLfmZmZFV5eIiIiTSWVSuHi4oLo6GjA0BsAIAhy5N6+gPouA8tcj1wuF/erBQUFKCgogJaW8iU42trakMvlJdah2Ifb2NiUsxVExal9mEF5ZGVlYcyYMfj+++9hbm5epnmCg4Px9ddfV/GSERER1XwBAQEYO3YsjProQNemFTLP7YFQkAujDoU9qA/3LYV2fTM06DkOAJARsw0HD0rRvHlz5OXl4cCBA/jpp5+wevVqAICxsTF69uyJGTNmQF9fH02bNsWxY8fw448/YtmyZQCAmzdvYvPmzejfvz/MzMxw8eJFTJ8+HT169EDHjh3Vsh6odlFrmFU+5fFCamoqrK2ti5W/efMmbt++jUGDBonTFEd+9erVQ0JCQrHTFYGBgQgICBD/zszMhJ2dXWU2g4iISCP4+PggLS0N02YvgCz7CaSWzWA5coE4zOB5ZhogedHLKi/Iw+TJk3Hv3j3o6+ujTZs22LhxI3x8fMQyW7ZsQWBgIEaPHo3Hjx+jadOmWLRokfhQBKlUikOHDiE0NBTZ2dmws7PD8OHDMWfOnOptPNVaEkEQBHUugLu7O9zc3LBq1SoAheG0SZMm8Pf3L3YBWG5uLm7cuKE0bc6cOcjKysKKFSvQqlUrSKXSUj8vMzMTJiYmyMjI4D3uiIioTrKftb/MZW8vHlCFS0KkWnnymtqHGShOebi6usLNzU08clPc3cDX1xeNGjVCcHAw9PT00L59e6X5TU1NAaDYdCIiIiKq/dQeZhWnPObNm4eUlBQ4OzsjKipKvCgsMTGx2MByIiIiIiKgBgwzqG4cZkBERHUdhxlQTVeevMYuTyIiIiLSWAyzRERERKSxGGaJiIiISGOp/QIwIiIiqsHmm5SjbEbVLQdRCdgzS0REREQai2GWiIiIiDQWwywRERERaSyGWSIiIiLSWAyzRERERKSxGGaJiIiISGMxzBIRERGRxmKYJSIiIiKNxTBLRERERBqLYZaIiIiINBbDLBERERFpLIZZIiIiItJYDLNEREREpLEYZomIiIhIYzHMEhEREZHGYpglIiIiIo3FMEtEREREGothloiIiIg0FsMsEREREWkshlkiIiIi0lgMs0RERESksRhmiYiIiEhjMcwSERERkcZimCUiIiIijcUwS0REREQai2GWiIiIiDQWwywRERERaSyGWSIiIiLSWAyzRERERKSxGGaJiIiISGMxzBIRERGRxmKYJSIiIiKNxTBLRERERBqLYZaIiIiINBbDLBERERFpLIZZIiIiItJYDLNEREREpLEYZomIiIhIYzHMEhEREZHGYpglIiIiIo3FMEtEREREGothloiIiIg0FsMsEREREWkshlkiIiIi0lgMs0RERESksRhmiYiIiEhjMcwSERERkcZimCUiIiIijVWhMPvZZ59h5cqVxaaHhYVh2rRpr7tMRERERERlUqEwu2PHDrzxxhvFpnfr1g2//PLLay8UEREREVFZVCjMPnr0CCYmJsWmGxsb4+HDh+WuLzw8HPb29tDT04O7uzvOnj1bYtmdO3fC1dUVpqamMDQ0hLOzM3766adyfyYRERERab4KhdkWLVogKiqq2PTffvsNzZo1K1ddW7duRUBAAIKCghAXFwcnJyd4eXnhwYMHKss3bNgQs2fPRkxMDC5evAg/Pz/4+fnh999/r0hTiIiIiEiD1avITAEBAfD390daWhp69+4NAIiOjsbSpUsRGhparrqWLVuGCRMmwM/PDwAQERGB/fv3Y926dZg1a1ax8r169VL6e+rUqdiwYQNOnDgBLy+vijSHiIiIiDRUhcLshx9+iLy8PCxatAgLFy4EANjb22P16tXw9fUtcz35+fmIjY1FYGCgOE1LSwuenp6IiYl55fyCIODw4cNISEjAf//7X5Vl8vLykJeXJ/6dmZlZ5uUjIiIiopqtQmEWACZNmoRJkyYhLS0N+vr6MDIyKncdDx8+hEwmg5WVldJ0KysrXLt2rcT5MjIy0KhRI+Tl5UFbWxvfffcd3n77bZVlg4OD8fXXX5d72YiIiIio5qvQmNlbt27h+vXrAAALCwsxyF6/fh23b9+utIUrSf369REfH4+//voLixYtQkBAAI4ePaqybGBgIDIyMsTX3bt3q3z5iIiIiKh6VCjMjhs3DqdOnSo2/cyZMxg3blyZ6zE3N4e2tjZSU1OVpqempsLa2rrE+bS0tNCiRQs4Ozvj888/x7vvvovg4GCVZXV1dWFsbKz0IiIiIqLaoUJh9vz58yrvM9u1a1fEx8eXuR6pVAoXFxdER0eL0+RyOaKjo+Hh4VHmeuRyudK4WCIiIiKqGyo0ZlYikSArK6vY9IyMDMhksnLVFRAQgLFjx8LV1RVubm4IDQ1Fdna2eHcDX19fNGrUSOx5DQ4OhqurK5o3b468vDwcOHAAP/30E1avXl2RphARERGRBqtQmO3RoweCg4Px888/Q1tbGwAgk8kQHByM7t27l6suHx8fpKWlYd68eUhJSYGzszOioqLEi8ISExOhpfWiAzk7OxuTJ0/GvXv3oK+vjzZt2mDjxo3w8fGpSFOIiIiISINJBEEQyjvT33//jR49esDU1BRvvvkmAOD48ePIzMzE4cOH0b59+0pf0MqSmZkJExMTZGRkcPwsERHVSfaz9pe57G2998te8fyMCiwNUXHlyWsVGjPbtm1bXLx4ET4+Pnjw4AGysrLg6+uLa9eu1eggS0RERES1S4XvM2tgYICGDRvCxsYGAGBkZCQOOSAiIiIiqg4V6pk9d+4cmjdvjuXLl+Px48d4/Pgxli9fjubNmyMuLq6yl5GIiIiISKUK9cxOnz4dgwcPxvfff4969QqreP78OT766CNMmzYNf/75Z6UuJBERERGRKhUKs+fOnVMKsgBQr149fPnll3B1da20hSMiIiIiKk2FhhkYGxsjMTGx2PS7d++ifv36r71QRERERERlUaEw6+Pjg/Hjx2Pr1q24e/cu7t69iy1btuCjjz7CqFGjKnsZiYiIiIhUqtAwg5CQEEgkEvj6+uL58+cAAB0dHUyaNAmLFy+u1AUkIiIiIipJhcKsVCrFihUrEBwcjJs3bwIAmjdvDgMDg0pdOCIiIiKi0lT4PrNA4b1mO3ToUFnLQkRERERULhUaM0tEREREVBMwzBIRERGRxmKYJSIiIiKNxTBLRERERBqLYZaIiIiINBbDLBERERFpLIZZIiIiItJYDLNEREREpLEYZomIiIhIYzHMEhEREZHGYpglIiIiIo3FMEtEREREGothloiIiIg0FsMsEREREWkshlkiIiIi0lgMs0RERESksRhmiYiIiEhjMcwSERERkcZimCUiIiIijcUwS0REREQai2GWiIiIiDQWwywRERERaSyGWSIiIiLSWAyzRERERKSxGGaJiIiISGMxzBIRERGRxmKYJSIiIiKNxTBLRERERBqLYZaIiIiINBbDLBERERFpLIZZIiIiItJYDLNEREREpLEYZomIiIhIYzHMEhEREZHGYpglIiIiIo3FMEtEREREGothloiIiIg0FsMsEREREWkshlkiIiIi0lgMs0RERESksRhmiYiIiEhjMcwSERERkcZimCUiIiIijcUwS0REREQaq0aE2fDwcNjb20NPTw/u7u44e/ZsiWW///57vPnmm2jQoAEaNGgAT0/PUssTERERUe2l9jC7detWBAQEICgoCHFxcXBycoKXlxcePHigsvzRo0cxatQoHDlyBDExMbCzs0Pfvn1x//79al5yIiIiIlI3iSAIgjoXwN3dHV26dEFYWBgAQC6Xw87ODp9++ilmzZr1yvllMhkaNGiAsLAw+Pr6vrJ8ZmYmTExMkJGRAWNj49defiIiIk1jP2t/mcve1nu/7BXPz6jA0hAVV568ptae2fz8fMTGxsLT01OcpqWlBU9PT8TExJSpjpycHBQUFKBhw4Yq38/Ly0NmZqbSi4iIiIhqB7WG2YcPH0Imk8HKykppupWVFVJSUspUx8yZM2Fra6sUiIsKDg6GiYmJ+LKzs3vt5SYiIiKimkHtY2Zfx+LFi7Flyxbs2rULenp6KssEBgYiIyNDfN29e7eal5KIiIiIqko9dX64ubk5tLW1kZqaqjQ9NTUV1tbWpc4bEhKCxYsX49ChQ+jYsWOJ5XR1daGrq1spy0tERERENYtae2alUilcXFwQHR0tTpPL5YiOjoaHh0eJ83377bdYuHAhoqKi4OrqWh2LSkREREQ1kFp7ZgEgICAAY8eOhaurK9zc3BAaGors7Gz4+fkBAHx9fdGoUSMEBwcDAP773/9i3rx52Lx5M+zt7cWxtUZGRjAyMlJbO4iIiIio+qk9zPr4+CAtLQ3z5s1DSkoKnJ2dERUVJV4UlpiYCC2tFx3Iq1evRn5+Pt59912leoKCgjB//vzqXHQiIiIiUjO132e2uvE+s0REVNfxPrNU02nMfWaJiIiI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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "ASP01A0052_002 0.006 0.020\n", "ASP01A0052_003 0.006 0.017\n", "ASP01A0052_004 0.002 0.006\n", "ASP01A0052_006 0.008 0.052\n", "ASP01A0052_009 0.002 0.004\n", "ASP01A0052_010 0.003 0.009\n", "ASP02A0052_011 0.022 0.079\n", "ASP02A0052_012 0.020 0.073\n", "ASP02A0052_013 0.003 0.024\n", "ASP02A0052_014 0.014 0.088\n", "ASP02A0052_016 0.002 0.010\n", "ASP02A0052_017 0.005 0.018\n", "ASP02A0052_018 0.010 0.027\n", "ASP02A0052_019 0.001 0.002\n", "ASP-1A0052_020 0.565 0.385\n", "ASP-1A0052_021 0.029 0.011\n", "ASP-1A0052_022 0.159 0.090\n", "ASP-1A0052_023 0.020 0.016\n", "ASP-1A0052_024 0.123 0.071\n", "\n" ] } ], "source": [ "# Example 2: When GLU35 is ionized, what residues change conformation?\n", "glu_charged_confs = [\"GLU-1A0035_011\", \"GLU-1A0035_012\", \"GLU-1A0035_013\", \"GLU-1A0035_014\"]\n", "glu_charged_ms, glu_neutral_ms = mc.select_by_conformer(mc.microstates, conformer_in=glu_charged_confs)\n", "conf_occ_glu_charged = mc.get_occ(glu_charged_ms)\n", "conf_occ_glu_neutral = mc.get_occ(glu_neutral_ms)\n", "for res in mc.free_residues:\n", " resid = mc.conformers[res[0]].resid\n", " prob1 = [conf_occ_glu_neutral[ic] for ic in res]\n", " prob2 = [conf_occ_glu_charged[ic] for ic in res]\n", " d = bhata_distance(prob1, prob2)\n", " if d > 0.01:\n", " print(\"%s, d= %.3f\" % (resid, d))\n", " plot_prob(prob1, prob2, d)\n", " for ic in res:\n", " print(\"%s %6.3f %6.3f\" % (mc.conformers[ic].confid, conf_occ_glu_neutral[ic], conf_occ_glu_charged[ic]))\n", " print()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example 3. Microstates selection - Thermaldynamic box\n", "\n", "GLU35 and ASP52 ionization\n", "\n", "
\n",
    "Group A: GLU35-H | ASP52-H \n",
    "Group B: GLU35-H | ASP52-\n",
    "Group C: GLU35-  | ASP52-H \n",
    "Group D: GLU35-  | ASP52-\n",
    "
\n", "\n", "The reaction is A to D, there are two paths A to B to D, and A to C to D.\n", "\n", "This example will calculate the energy change of the two paths. In the example, we will see microstates selection can be on selected microstates." ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['GLU-1A0035_011', 'GLU-1A0035_012', 'GLU-1A0035_013', 'GLU-1A0035_014']\n", "['ASP-1A0052_020', 'ASP-1A0052_021', 'ASP-1A0052_022', 'ASP-1A0052_023', 'ASP-1A0052_024']\n" ] } ], "source": [ "# find charged GLU35 and ASP52 conformers:\n", "GLU35_ionized = [x.confid for x in mc.conformers if x.confid.find(\"GLU-1A0035\") ==0]\n", "print(GLU35_ionized)\n", "\n", "ASP52_ionized = [x.confid for x in mc.conformers if x.confid.find(\"ASP-1A0052\") ==0]\n", "print(ASP52_ionized)" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "GLU35_ionized_ms, GLU35_neutral_ms = mc.select_by_conformer(mc.microstates, conformer_in=GLU35_ionized)" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "GLU35_ionized_ASP52_ionized_ms, GLU35_ionized_ASP52_neutral_ms = mc.select_by_conformer(GLU35_ionized_ms, conformer_in=ASP52_ionized) " ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [], "source": [ "GLU35_neutral_ASP52_ionized_ms, GLU35_neutral_ASP52_neutral_ms = mc.select_by_conformer(GLU35_neutral_ms, conformer_in=ASP52_ionized) " ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [], "source": [ "Group_A_ms = GLU35_neutral_ASP52_neutral_ms\n", "Group_B_ms = GLU35_neutral_ASP52_ionized_ms\n", "Group_C_ms = GLU35_ionized_ASP52_neutral_ms\n", "Group_D_ms = GLU35_ionized_ASP52_ionized_ms" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [], "source": [ "Group_A_E = average_e(Group_A_ms)\n", "Group_B_E = average_e(Group_B_ms)\n", "Group_C_E = average_e(Group_C_ms)\n", "Group_D_E = average_e(Group_D_ms)" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Box with E:\n", "\n", "dE from A -> B -2.646 Kcal/mol\n", "dE from B -> D 0.889 Kcal/mol\n", "\n", "dE from A -> C -0.412 Kcal/mol\n", "dE from C -> D -1.345 Kcal/mol\n", "\n", "dE from A -> D -1.758 Kcal/mol\n" ] } ], "source": [ "print(\"Box with E:\\n\")\n", "print(\"dE from A -> B %8.3f Kcal/mol\" % (Group_B_E - Group_A_E))\n", "print(\"dE from B -> D %8.3f Kcal/mol\" % (Group_D_E - Group_B_E))\n", "print()\n", "print(\"dE from A -> C %8.3f Kcal/mol\" % (Group_C_E - Group_A_E))\n", "print(\"dE from C -> D %8.3f Kcal/mol\" % (Group_D_E - Group_C_E))\n", "print()\n", "print(\"dE from A -> D %8.3f Kcal/mol\" % (Group_D_E - Group_A_E))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The energies of the 4 corners calculated here are internal energy, or enthalpy H if PV (pressure, Volume) remains constant.\n", "\n", "If one wants to know the free energy change of the thermal dynamic box, use the population at each state." ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [], "source": [ "G_AB = -math.log(get_count(Group_B_ms)/get_count(Group_A_ms))/Kcal2kT\n", "G_BD = -math.log(get_count(Group_D_ms)/get_count(Group_B_ms))/Kcal2kT\n", "G_AC = -math.log(get_count(Group_C_ms)/get_count(Group_A_ms))/Kcal2kT\n", "G_CD = -math.log(get_count(Group_D_ms)/get_count(Group_C_ms))/Kcal2kT" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Box with dG:\n", "\n", "dG from A -> B -1.274 Kcal/mol\n", "dG from B -> D 1.055 Kcal/mol\n", "dG from A -> B -> D -0.219 Kcal/mol\n", "\n", "dG from A -> C -0.046 Kcal/mol\n", "dG from C -> D -0.173 Kcal/mol\n", "dG from A -> C -> D -0.219 Kcal/mol\n" ] } ], "source": [ "print(\"Box with dG:\\n\")\n", "print(\"dG from A -> B %8.3f Kcal/mol\" % (G_AB))\n", "print(\"dG from B -> D %8.3f Kcal/mol\" % (G_BD))\n", "print(\"dG from A -> B -> D %8.3f Kcal/mol\" % (G_AB + G_BD))\n", "print()\n", "print(\"dG from A -> C %8.3f Kcal/mol\" % (G_AC))\n", "print(\"dG from C -> D %8.3f Kcal/mol\" % (G_CD))\n", "print(\"dG from A -> C -> D %8.3f Kcal/mol\" % (G_AC + G_CD))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is not accurate to calculate entropy from microstate counts as the counts are generally too small on high energy microstates." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Microstates in reduced expression\n", "\n", "The original microstate is composed by one conformer from each free residue. There are times we only need \"reduced\" microstates. For example, we may only care about ionizable residue and the ionization state of these residues. At other times, we only want to know the conformational changes of certain residues instead of all free residues.\n", "\n", "In either case, we can reduce the microstate expression and make the number of microstates significantly smaller.\n", "\n", "\n", "### Example 1. Charge microstates\n", "\n", "Charge microstates have the similar structure as native microstate. It has elements:\n", "* crg_stateid instead of stateid\n", "* average_E instead of E\n", "* count the same as count\n", "\n", "It has a function of state() the same as native microstate.\n", "\n", "To convert the from native microstates to charge states, use function in MC class MC.convert_to_chargems(). The charge microstate id has the same array length as native microstate so that they both match the number of free residues." ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total number of charge microstates = 427\n" ] } ], "source": [ "# Convert to charge microstates\n", "charge_microstates = mc.convert_to_charge_ms()\n", "\n", "print(\"Total number of charge microstates = %d\" % len(charge_microstates))" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "b'x\\x9c3T0T0\\x00b]\\x10\\x05b\\x18\\x82\\x05\\xe0\\\\\\x03\\x14\\x1a\\x01!\"\\xba(\\x14\\x16YC\\x1c\\xda\\x91t\\x18*`5\\xc4\\x10.\\x85\\xa6V\\xd7\\x10\\x00\\x0e\\x93\\x1cr'\n", "[1, 1, 0, 1, -1, 0, 0, 1, 1, 1, 0, -1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, -1, 0, 0, 0, 0, 1, 1, -1]\n", "344917\n", "-204.51025260997434\n" ] } ], "source": [ "crg_ms0 = charge_microstates[0] # pick a microstate from charge microstates list\n", "print(crg_ms0.crg_stateid) # microstate ID \n", "print(crg_ms0.state()) # microstate ID human readable form \n", "print(crg_ms0.count) # counts, how mane times this microstate has been chosen\n", "print(crg_ms0.average_E) # microstate energy" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 1, 0, 1, -1, 0, 0, 1, 1, 1, 0, -1, 0, 0, 1, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, -1, 0, 0, 0, 0, 1, 1, -1] 50978 -203.57749330689668\n", "[1, 1, 0, 1, -1, 0, 0, 1, 1, 1, 0, -1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, -1, 0, 0, 0, 0, 1, 1, -1] 58882 -202.47910099254497\n", "[1, 1, 0, 1, -1, 0, 0, 1, 1, 1, 0, -1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, -1] 61471 -201.8789185458995\n", "[1, 1, 0, 1, -1, 0, 0, 1, 1, 1, 0, -1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, -1, 0, 0, 0, 0, 1, 1, -1] 67983 -200.71804274226\n", "[1, 1, 0, 1, -1, 0, 0, 1, 1, 1, 0, -1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, -1, 0, 0, 0, 0, 1, 1, 0] 72865 -201.47805382378422\n", "[1, 1, 0, 1, -1, 0, 0, 1, 1, 1, 0, -1, 0, 0, 1, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, -1, 0, 0, 0, 0, 1, 1, -1] 74470 -201.10773355333745\n", "[1, 1, 0, 1, -1, 0, 0, 1, 1, 0, 0, -1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, -1, 0, 0, 0, 0, 1, 1, -1] 86232 -201.60794728353827\n", "[1, 1, 0, 1, -1, 0, 0, 1, 1, 1, 0, -1, 0, 0, 1, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, -1, 0, 0, 0, 0, 1, 1, -1] 99015 -202.43797522412828\n", "[1, 1, 0, 1, -1, 0, 0, 1, 1, 1, 0, -1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, -1, 0, 0, 0, 0, 1, 1, -1] 344917 -204.51025260997434\n", "[1, 1, 0, 1, -1, 0, 0, 1, 1, 1, 0, -1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, -1, 0, 0, 0, 0, 1, 1, -1] 529489 -203.6102097518604\n", "427 charge microstates\n", "2200000 total microstates\n" ] } ], "source": [ "# Which charge microstate is the most dominant?\n", "\n", "charge_microstates.sort(key=lambda x: x.count)\n", "total_crgms = 0\n", "\n", "for crg_ms in charge_microstates:\n", " total_crgms += crg_ms.count\n", "\n", "for crg_ms in charge_microstates[-10:]:\n", " print(crg_ms.state(), crg_ms.count, crg_ms.average_E)\n", "print(\"%d charge microstates\" % len(charge_microstates))\n", "print(\"%d total microstates\" % total_crgms)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### How do top charge microstates dominate the ms population" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "## Counts % Accum % Energy\n", " 1 529489 0.241 0.241 -203.61\n", " 2 344917 0.157 0.397 -204.51\n", " 3 99015 0.045 0.442 -202.44\n", " 4 86232 0.039 0.482 -201.61\n", " 5 74470 0.034 0.516 -201.11\n", " 6 72865 0.033 0.549 -201.48\n", " 7 67983 0.031 0.580 -200.72\n", " 8 61471 0.028 0.607 -201.88\n", " 9 58882 0.027 0.634 -202.48\n", "10 50978 0.023 0.657 -203.58\n", "11 46268 0.021 0.678 -202.57\n", "12 46071 0.021 0.699 -203.08\n", "13 44289 0.020 0.720 -201.83\n", "14 42522 0.019 0.739 -202.27\n", "15 41954 0.019 0.758 -202.27\n", "16 39670 0.018 0.776 -202.52\n", "17 22483 0.010 0.786 -201.92\n", "18 19815 0.009 0.795 -202.80\n", "19 14581 0.007 0.802 -201.65\n", "20 14460 0.007 0.808 -201.01\n", "21 13377 0.006 0.814 -201.37\n", "22 12633 0.006 0.820 -199.28\n", "23 12361 0.006 0.826 -200.67\n", "24 12030 0.005 0.831 -200.39\n", "25 10144 0.005 0.836 -200.09\n", "26 9988 0.005 0.840 -202.82\n", "27 9934 0.005 0.845 -202.21\n", "28 9839 0.004 0.849 -201.16\n", "29 9431 0.004 0.854 -199.97\n", "30 9423 0.004 0.858 -199.94\n", "31 8989 0.004 0.862 -199.11\n", "32 8035 0.004 0.866 -200.29\n", "33 7076 0.003 0.869 -199.33\n", "34 6765 0.003 0.872 -200.88\n", "35 6699 0.003 0.875 -200.40\n", "36 6604 0.003 0.878 -198.78\n", "37 6530 0.003 0.881 -199.30\n", "38 6423 0.003 0.884 -199.91\n", "39 6338 0.003 0.887 -201.50\n", "40 6236 0.003 0.890 -199.12\n", "41 5966 0.003 0.892 -200.07\n", "42 5861 0.003 0.895 -201.12\n", "43 5743 0.003 0.898 -201.18\n", "44 5505 0.003 0.900 -200.19\n", "45 5480 0.002 0.903 -199.82\n", "46 5414 0.002 0.905 -199.62\n", "47 5347 0.002 0.908 -199.03\n", "48 5155 0.002 0.910 -201.15\n", "49 5134 0.002 0.912 -201.19\n", "50 5029 0.002 0.915 -200.69\n" ] } ], "source": [ "top_picks = 50\n", "top_crgms = charge_microstates[-top_picks:]\n", "top_crgms.sort(key=lambda x: x.count, reverse=True)\n", "top_counts = [x.count for x in top_crgms]\n", "top_averageE = [x.average_E for x in top_crgms]\n", "top_percentage = [x.count/total_crgms for x in top_crgms]\n", "\n", "print(\"## %8s %8s %8s %8s\" % (\"Counts\", \"%\", \"Accum %\", \"Energy\"))\n", "accum_pct = 0.0\n", "top_accum = []\n", "for i in range(top_picks):\n", " accum_pct += top_percentage[i]\n", " top_accum.append(accum_pct)\n", " print(\"%2d %8d %8.3f %8.3f %8.2f\" % (i+1, top_counts[i], top_percentage[i], accum_pct, top_averageE[i]))" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure(figsize=(10,6))\n", "ax1 = fig.add_subplot(111)\n", "ax1.set_ylim([0, 1])\n", "ax1.scatter(range(top_picks), top_percentage, s=10, c='b', marker = \".\")\n", "ax1.scatter(range(top_picks), top_accum, s=10, c='r', marker=\"x\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "NTRA0001_ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1\n", "GLUA0007_ -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 0 -1 -1 -1\n", "HISA0015_ 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1 1 0 0\n", "GLUA0035_ 0 0 -1 0 -1 0 0 0 0 -1 0 0 0 -1 0 0 0 0 -1 0 -1 -1 -1 0 0 -1 0 -1 -1 0\n", "ASPA0052_ -1 -1 -1 -1 0 -1 0 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 0 -1\n", "ASPA0066_ -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 0 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1\n", "ASPA0101_ 0 -1 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 0 -1 0 0 0 0 0 0 0 -1 -1 0 0 0\n", "ASPA0119_ -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 0 -1 0\n", "CTRA0129_ -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1\n" ] } ], "source": [ "# Top 30 charge microstates charge comparison\n", "# print(len(mc.free_residue_names))\n", "# print(len(top_crgms[0].state()))\n", "for i_res in range(len(mc.free_residue_names)):\n", " resname = mc.free_residue_names[i_res]\n", " charges = []\n", " for i in range(30):\n", " charges.append(top_crgms[i].state()[i_res])\n", " charges_str = \" \".join([\"%2d\" % x for x in charges])\n", " if len(set(charges))>1: # only print the residues that have changed ionization\n", " print(resname, charges_str)\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example 2: Reduce to selected residues\n", "\n", "Let's say we are only interested in residues:\n", "* ASNA0046_\n", "* GLUA0035_\n", "* ASPA0052_\n", "\n", "The microstates will use the iconf selection of these residues only. The actual microstates will be grouped based on the conformer selection of these three residues.\n", "\n", "Compare with the native microstate\n", "* sub_stateid instead of stateid\n", "* average_E instead of E\n", "* count the same as count\n", "\n", "It has a function of state() the same as native microstate.\n", "\n", "To convert the from native microstates to charge states, use function in MC class MC.convert_to_subset_ms(). The subset microstate id has the length of residues of interest provided.\n" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [], "source": [ "res_of_interest = [\"ASNA0046_\", \"GLUA0035_\", \"ASPA0052_\"]" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [], "source": [ "# Convert to subset microstates\n", "subset_microstates = mc.convert_to_subset_ms(res_of_interest)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Check basic information\n", "* how many microstates\n", "* count of each microstate\n", "* average energy of the microstate" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total number of subset microstates 677\n" ] } ], "source": [ "print(\"Total number of subset microstates %d\" % len(subset_microstates))" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ASNA0046_ [402, 403, 404, 405, 407, 408, 409, 410]\n", "GLUA0035_ [253, 254, 258, 259, 261, 263, 264]\n", "ASPA0052_ [501, 502, 503, 505, 508, 509, 510, 511, 512, 513, 515, 516, 517, 518, 519, 520, 521, 522, 523]\n", "Maximum possible microstates: 1064\n" ] } ], "source": [ "# Show selectable conformers\n", "Total_max = 1\n", "for res in res_of_interest:\n", " ires = mc.free_residue_names.index(res)\n", " confs = mc.free_residues[ires]\n", " print(res, confs)\n", " Total_max *= len(confs)\n", " \n", "print(\"Maximum possible microstates: %d\" % Total_max)" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[402, 261, 519]: count = 414555, E_average = -203.893\n", "[402, 254, 519]: count = 298812, E_average = -203.901\n", "[402, 261, 521]: count = 107210, E_average = -202.987\n", "[402, 254, 521]: count = 81293, E_average = -202.702\n", "[402, 263, 519]: count = 78448, E_average = -202.603\n", "[402, 261, 523]: count = 76403, E_average = -202.637\n", "[410, 261, 519]: count = 71473, E_average = -202.688\n", "[402, 264, 519]: count = 66635, E_average = -202.485\n", "[402, 254, 523]: count = 62482, E_average = -202.439\n", "[410, 254, 519]: count = 57355, E_average = -202.505\n", "[402, 259, 519]: count = 34525, E_average = -202.629\n", "[402, 253, 519]: count = 22081, E_average = -202.000\n", "[410, 261, 523]: count = 21582, E_average = -201.657\n", "[402, 261, 520]: count = 20059, E_average = -201.899\n", "[410, 261, 521]: count = 19911, E_average = -201.432\n", "[402, 263, 521]: count = 16709, E_average = -201.686\n", "[402, 264, 521]: count = 14852, E_average = -201.477\n", "[402, 263, 513]: count = 14337, E_average = -201.182\n", "[410, 254, 521]: count = 14045, E_average = -201.811\n", "[402, 254, 520]: count = 13790, E_average = -201.067\n", "[410, 254, 523]: count = 13767, E_average = -201.127\n", "[410, 263, 519]: count = 13232, E_average = -201.928\n", "[402, 263, 523]: count = 12809, E_average = -201.699\n", "[402, 264, 523]: count = 12462, E_average = -202.440\n", "[402, 254, 522]: count = 12399, E_average = -201.348\n", "[402, 261, 522]: count = 11573, E_average = -200.923\n", "[409, 261, 519]: count = 10820, E_average = -201.731\n", "[405, 261, 519]: count = 10310, E_average = -202.177\n", "[410, 264, 519]: count = 10201, E_average = -201.456\n", "[402, 259, 521]: count = 9533, E_average = -202.001\n", "[402, 264, 513]: count = 9288, E_average = -201.330\n", "[402, 258, 519]: count = 9033, E_average = -201.364\n", "[402, 263, 505]: count = 7864, E_average = -201.320\n", "[410, 259, 519]: count = 7730, E_average = -201.694\n", "[402, 261, 513]: count = 7556, E_average = -200.756\n", "[409, 261, 521]: count = 7542, E_average = -201.444\n", "[402, 259, 523]: count = 7082, E_average = -201.249\n", "[409, 254, 519]: count = 7019, E_average = -201.187\n", "[403, 261, 519]: count = 6856, E_average = -202.092\n", "[409, 261, 510]: count = 6204, E_average = -201.248\n", "[402, 264, 505]: count = 6202, E_average = -200.403\n", "[403, 261, 521]: count = 5889, E_average = -200.707\n", "[402, 253, 523]: count = 5671, E_average = -200.562\n", "[410, 263, 513]: count = 5636, E_average = -200.518\n", "[405, 254, 519]: count = 5504, E_average = -202.027\n", "[409, 263, 511]: count = 5302, E_average = -203.413\n", "[409, 263, 510]: count = 5160, E_average = -201.486\n", "[408, 263, 510]: count = 5031, E_average = -201.051\n", "[402, 261, 511]: count = 5008, E_average = -200.082\n", "[409, 261, 511]: count = 4986, E_average = -201.745\n", "[410, 253, 519]: count = 4916, E_average = -200.864\n", "[408, 261, 519]: count = 4837, E_average = -202.155\n", "[408, 261, 510]: count = 4821, E_average = -201.692\n", "[403, 263, 510]: count = 4757, E_average = -201.597\n", "[402, 253, 521]: count = 4752, E_average = -201.533\n", "[402, 254, 513]: count = 4696, E_average = -202.306\n", "[409, 264, 510]: count = 4549, E_average = -200.894\n", "[409, 254, 521]: count = 4355, E_average = -200.589\n", "[403, 254, 519]: count = 4310, E_average = -200.326\n", "[409, 261, 523]: count = 4152, E_average = -200.925\n", "[403, 254, 510]: count = 4145, E_average = -202.154\n", "[405, 261, 521]: count = 4039, E_average = -199.476\n", "[409, 254, 523]: count = 4004, E_average = -199.846\n", "[408, 264, 510]: count = 3952, E_average = -201.441\n", "[409, 264, 511]: count = 3928, E_average = -202.157\n", "[408, 263, 511]: count = 3749, E_average = -200.972\n", "[403, 261, 510]: count = 3671, E_average = -202.051\n", "[402, 263, 512]: count = 3567, E_average = -198.433\n", "[409, 254, 511]: count = 3548, E_average = -201.018\n", "[408, 254, 519]: count = 3413, E_average = -199.994\n", "[402, 263, 522]: count = 3396, E_average = -201.677\n", "[410, 264, 513]: count = 3258, E_average = -201.643\n", "[402, 263, 511]: count = 3255, E_average = -201.085\n", "[410, 263, 521]: count = 3235, E_average = -201.326\n", "[403, 263, 511]: count = 3190, E_average = -201.740\n", "[405, 261, 511]: count = 3145, E_average = -200.266\n", "[403, 254, 521]: count = 3127, E_average = -200.951\n", "[408, 254, 510]: count = 3106, E_average = -200.772\n", "[402, 263, 516]: count = 3050, E_average = -199.804\n", "[410, 261, 520]: count = 2922, E_average = -201.676\n", "[402, 263, 510]: count = 2915, E_average = -200.597\n", "[410, 264, 521]: count = 2888, E_average = -200.763\n", "[410, 263, 505]: count = 2881, E_average = -202.468\n", "[409, 254, 517]: count = 2766, E_average = -199.112\n", "[410, 263, 523]: count = 2764, E_average = -200.848\n", "[409, 254, 510]: count = 2736, E_average = -201.598\n", "[408, 261, 511]: count = 2728, E_average = -201.687\n", "[410, 254, 520]: count = 2726, E_average = -201.059\n", "[405, 263, 510]: count = 2717, E_average = -201.129\n", "[402, 264, 522]: count = 2680, E_average = -199.596\n", "[405, 261, 510]: count = 2630, E_average = -200.845\n", "[408, 264, 511]: count = 2628, E_average = -200.476\n", "[402, 261, 505]: count = 2582, E_average = -201.543\n", "[410, 261, 522]: count = 2536, E_average = -201.083\n", "[402, 254, 505]: count = 2524, E_average = -201.433\n", "[402, 263, 520]: count = 2489, E_average = -201.042\n", "[402, 264, 511]: count = 2485, E_average = -200.309\n", "[408, 261, 521]: count = 2479, E_average = -199.493\n", "[409, 263, 513]: count = 2468, E_average = -201.159\n", "[402, 259, 522]: count = 2452, E_average = -201.090\n", "[410, 264, 523]: count = 2414, E_average = -200.415\n", "[405, 261, 523]: count = 2403, E_average = -199.640\n", "[408, 254, 511]: count = 2387, E_average = -201.403\n", "[409, 261, 517]: count = 2273, E_average = -198.776\n", "[403, 264, 510]: count = 2250, E_average = -200.943\n", "[410, 264, 505]: count = 2248, E_average = -200.038\n", "[410, 254, 513]: count = 2242, E_average = -201.338\n", "[410, 261, 513]: count = 2224, E_average = -201.247\n", "[408, 263, 517]: count = 2210, E_average = -201.324\n", "[402, 258, 521]: count = 2192, E_average = -199.500\n", "[404, 261, 519]: count = 2188, E_average = -202.931\n", "[402, 261, 516]: count = 2186, E_average = -199.178\n", "[405, 254, 523]: count = 2161, E_average = -200.474\n", "[403, 261, 523]: count = 2158, E_average = -201.110\n", "[403, 261, 517]: count = 2152, E_average = -201.318\n", "[408, 254, 521]: count = 2066, E_average = -200.469\n", "[402, 261, 501]: count = 2063, E_average = -199.550\n", "[403, 261, 511]: count = 2047, E_average = -200.751\n", "[403, 254, 523]: count = 1978, E_average = -200.851\n", "[405, 263, 511]: count = 1969, E_average = -200.855\n", "[410, 261, 511]: count = 1966, E_average = -199.880\n", "[408, 261, 523]: count = 1863, E_average = -201.262\n", "[410, 263, 512]: count = 1839, E_average = -200.415\n", "[405, 254, 521]: count = 1791, E_average = -200.370\n", "[402, 264, 510]: count = 1774, E_average = -199.466\n", "[410, 263, 511]: count = 1772, E_average = -202.646\n", "[402, 254, 511]: count = 1742, E_average = -200.904\n", "[402, 264, 520]: count = 1727, E_average = -200.079\n", "[410, 261, 505]: count = 1709, E_average = -201.212\n", "[409, 263, 517]: count = 1708, E_average = -200.540\n", "[402, 261, 510]: count = 1707, E_average = -198.935\n", "[402, 264, 512]: count = 1707, E_average = -199.936\n", "[409, 263, 519]: count = 1697, E_average = -200.555\n", "[410, 264, 511]: count = 1663, E_average = -200.909\n", "[402, 263, 501]: count = 1661, E_average = -199.889\n", "[402, 264, 516]: count = 1644, E_average = -196.668\n", "[402, 259, 520]: count = 1622, E_average = -200.969\n", "[408, 261, 517]: count = 1619, E_average = -200.040\n", "[402, 264, 502]: count = 1592, E_average = -199.485\n", "[409, 261, 520]: count = 1570, E_average = -201.182\n", "[410, 261, 502]: count = 1568, E_average = -198.664\n", "[408, 264, 517]: count = 1548, E_average = -199.518\n", "[409, 264, 513]: count = 1533, E_average = -201.606\n", "[402, 258, 523]: count = 1531, E_average = -200.802\n", "[409, 264, 519]: count = 1512, E_average = -200.533\n", "[410, 259, 521]: count = 1499, E_average = -201.128\n", "[408, 254, 523]: count = 1496, E_average = -200.579\n", "[410, 253, 523]: count = 1486, E_average = -199.694\n", "[405, 254, 511]: count = 1468, E_average = -200.992\n", "[409, 261, 513]: count = 1462, E_average = -199.700\n", "[409, 254, 520]: count = 1438, E_average = -200.573\n", "[405, 264, 510]: count = 1436, E_average = -201.433\n", "[408, 263, 509]: count = 1436, E_average = -198.944\n", "[405, 254, 510]: count = 1418, E_average = -199.906\n", "[405, 263, 519]: count = 1390, E_average = -200.401\n", "[403, 264, 511]: count = 1385, E_average = -199.282\n", "[410, 254, 522]: count = 1379, E_average = -199.764\n", "[402, 254, 516]: count = 1378, E_average = -200.029\n", "[410, 254, 511]: count = 1330, E_average = -201.500\n", "[403, 264, 517]: count = 1293, E_average = -201.110\n", "[403, 264, 513]: count = 1291, E_average = -200.726\n", "[410, 259, 523]: count = 1285, E_average = -199.979\n", "[402, 264, 501]: count = 1275, E_average = -199.364\n", "[405, 259, 519]: count = 1268, E_average = -201.272\n", "[410, 254, 505]: count = 1264, E_average = -199.339\n", "[402, 264, 515]: count = 1249, E_average = -201.411\n", "[403, 254, 511]: count = 1244, E_average = -199.459\n", "[405, 264, 511]: count = 1239, E_average = -201.746\n", "[402, 263, 517]: count = 1229, E_average = -199.951\n", "[410, 264, 501]: count = 1189, E_average = -199.300\n", "[410, 258, 521]: count = 1187, E_average = -198.411\n", "[402, 254, 502]: count = 1166, E_average = -200.238\n", "[402, 254, 510]: count = 1149, E_average = -199.992\n", "[409, 259, 510]: count = 1146, E_average = -198.871\n", "[409, 261, 505]: count = 1146, E_average = -200.612\n", "[402, 261, 512]: count = 1125, E_average = -200.073\n", "[409, 261, 501]: count = 1078, E_average = -199.097\n", "[410, 261, 510]: count = 1075, E_average = -198.303\n", "[409, 263, 501]: count = 1045, E_average = -200.017\n", "[402, 253, 522]: count = 1044, E_average = -200.821\n", "[409, 264, 501]: count = 1042, E_average = -201.277\n", "[409, 254, 513]: count = 1040, E_average = -201.704\n", "[403, 263, 502]: count = 1039, E_average = -199.730\n", "[408, 261, 502]: count = 1039, E_average = -199.176\n", "[409, 263, 505]: count = 1027, E_average = -200.565\n", "[403, 263, 517]: count = 1026, E_average = -200.781\n", "[403, 263, 513]: count = 1021, E_average = -200.804\n", "[402, 254, 501]: count = 1019, E_average = -198.666\n", "[402, 263, 502]: count = 1017, E_average = -198.535\n", "[410, 263, 510]: count = 1015, E_average = -200.687\n", "[410, 261, 512]: count = 1014, E_average = -201.601\n", "[409, 264, 505]: count = 1010, E_average = -200.462\n", "[402, 264, 517]: count = 1005, E_average = -198.308\n", "[408, 254, 517]: count = 993, E_average = -198.931\n", "[403, 259, 510]: count = 990, E_average = -198.455\n", "[402, 253, 520]: count = 987, E_average = -201.876\n", "[409, 261, 502]: count = 986, E_average = -201.494\n", "[403, 254, 517]: count = 981, E_average = -200.677\n", "[408, 254, 508]: count = 972, E_average = -199.043\n", "[402, 263, 515]: count = 961, E_average = -199.181\n", "[409, 263, 512]: count = 955, E_average = -200.699\n", "[403, 261, 509]: count = 942, E_average = -200.368\n", "[403, 254, 513]: count = 941, E_average = -201.410\n", "[403, 264, 519]: count = 939, E_average = -200.098\n", "[409, 254, 505]: count = 935, E_average = -200.420\n", "[410, 264, 502]: count = 930, E_average = -198.705\n", "[409, 261, 508]: count = 916, E_average = -202.081\n", "[402, 261, 517]: count = 908, E_average = -201.454\n", "[409, 259, 519]: count = 906, E_average = -201.284\n", "[402, 261, 502]: count = 897, E_average = -199.008\n", "[403, 254, 520]: count = 887, E_average = -197.917\n", "[403, 264, 501]: count = 873, E_average = -200.584\n", "[405, 261, 520]: count = 870, E_average = -198.827\n", "[405, 264, 519]: count = 869, E_average = -200.608\n", "[409, 261, 516]: count = 857, E_average = -202.135\n", "[410, 264, 512]: count = 847, E_average = -198.312\n", "[403, 261, 502]: count = 845, E_average = -199.090\n", "[410, 254, 501]: count = 845, E_average = -199.292\n", "[403, 261, 501]: count = 835, E_average = -198.555\n", "[409, 254, 516]: count = 816, E_average = -200.263\n", "[408, 264, 509]: count = 805, E_average = -199.955\n", "[405, 253, 519]: count = 796, E_average = -200.452\n", "[409, 259, 517]: count = 779, E_average = -197.369\n", "[405, 254, 517]: count = 777, E_average = -200.446\n", "[403, 261, 513]: count = 772, E_average = -203.479\n", "[402, 254, 517]: count = 760, E_average = -197.797\n", "[404, 254, 519]: count = 749, E_average = -199.293\n", "[409, 259, 521]: count = 746, E_average = -202.062\n", "[403, 263, 509]: count = 739, E_average = -199.064\n", "[410, 263, 515]: count = 718, E_average = -199.337\n", "[409, 254, 515]: count = 715, E_average = -197.235\n", "[402, 258, 522]: count = 706, E_average = -200.348\n", "[409, 264, 517]: count = 690, E_average = -200.739\n", "[405, 261, 505]: count = 684, E_average = -200.120\n", "[409, 263, 521]: count = 682, E_average = -200.577\n", "[408, 261, 503]: count = 682, E_average = -200.734\n", "[409, 264, 502]: count = 682, E_average = -199.567\n", "[408, 259, 517]: count = 678, E_average = -201.754\n", "[409, 254, 501]: count = 677, E_average = -199.622\n", "[409, 263, 523]: count = 674, E_average = -198.736\n", "[408, 261, 508]: count = 673, E_average = -199.999\n", "[410, 261, 501]: count = 671, E_average = -199.892\n", "[410, 264, 516]: count = 670, E_average = -202.066\n", "[405, 264, 505]: count = 668, E_average = -201.355\n", "[410, 253, 521]: count = 653, E_average = -199.592\n", "[405, 263, 505]: count = 652, E_average = -201.123\n", "[403, 263, 519]: count = 652, E_average = -201.567\n", "[408, 261, 501]: count = 649, E_average = -199.184\n", "[403, 259, 519]: count = 639, E_average = -200.709\n", "[403, 261, 505]: count = 631, E_average = -199.527\n", "[403, 254, 501]: count = 625, E_average = -201.427\n", "[408, 254, 502]: count = 606, E_average = -200.512\n", "[403, 263, 521]: count = 601, E_average = -200.111\n", "[403, 264, 505]: count = 593, E_average = -200.552\n", "[408, 264, 519]: count = 591, E_average = -200.607\n", "[402, 261, 503]: count = 588, E_average = -199.060\n", "[408, 263, 501]: count = 585, E_average = -200.658\n", "[408, 261, 509]: count = 585, E_average = -196.558\n", "[402, 259, 513]: count = 583, E_average = -200.010\n", "[409, 263, 509]: count = 579, E_average = -200.538\n", "[410, 261, 517]: count = 579, E_average = -198.280\n", "[409, 253, 510]: count = 576, E_average = -197.328\n", "[403, 263, 505]: count = 573, E_average = -200.274\n", "[410, 263, 516]: count = 570, E_average = -198.975\n", "[409, 264, 512]: count = 568, E_average = -196.652\n", "[410, 254, 517]: count = 566, E_average = -199.866\n", "[408, 254, 509]: count = 564, E_average = -197.675\n", "[410, 258, 519]: count = 560, E_average = -201.237\n", "[405, 264, 513]: count = 559, E_average = -199.460\n", "[404, 261, 523]: count = 554, E_average = -200.059\n", "[409, 261, 509]: count = 549, E_average = -197.908\n", "[408, 264, 502]: count = 546, E_average = -200.601\n", "[409, 264, 521]: count = 542, E_average = -201.810\n", "[409, 254, 503]: count = 537, E_average = -200.283\n", "[409, 253, 511]: count = 536, E_average = -200.579\n", "[408, 254, 501]: count = 536, E_average = -193.484\n", "[410, 254, 516]: count = 534, E_average = -199.280\n", "[405, 259, 510]: count = 534, E_average = -199.537\n", "[405, 261, 516]: count = 532, E_average = -197.002\n", "[410, 264, 510]: count = 515, E_average = -201.413\n", "[408, 259, 502]: count = 513, E_average = -199.238\n", "[405, 264, 517]: count = 510, E_average = -197.639\n", "[409, 263, 503]: count = 506, E_average = -201.611\n", "[409, 259, 511]: count = 504, E_average = -200.527\n", "[405, 263, 521]: count = 502, E_average = -199.885\n", "[402, 258, 520]: count = 502, E_average = -199.133\n", "[410, 264, 517]: count = 499, E_average = -197.306\n", "[410, 254, 510]: count = 498, E_average = -200.787\n", "[408, 263, 502]: count = 484, E_average = -200.629\n", "[405, 261, 522]: count = 481, E_average = -200.428\n", "[410, 258, 523]: count = 480, E_average = -198.708\n", "[405, 264, 502]: count = 470, E_average = -201.093\n", "[403, 261, 508]: count = 468, E_average = -199.976\n", "[404, 259, 519]: count = 460, E_average = -203.111\n", "[403, 253, 519]: count = 454, E_average = -200.140\n", "[403, 261, 520]: count = 453, E_average = -199.646\n", "[408, 261, 516]: count = 451, E_average = -196.396\n", "[403, 254, 509]: count = 450, E_average = -197.621\n", "[404, 263, 511]: count = 449, E_average = -199.852\n", "[405, 261, 502]: count = 449, E_average = -197.632\n", "[403, 264, 509]: count = 447, E_average = -200.310\n", "[404, 254, 521]: count = 447, E_average = -199.377\n", "[405, 259, 511]: count = 442, E_average = -198.698\n", "[402, 254, 512]: count = 440, E_average = -198.775\n", "[403, 259, 517]: count = 436, E_average = -200.060\n", "[402, 261, 515]: count = 433, E_average = -198.881\n", "[409, 253, 519]: count = 432, E_average = -200.413\n", "[410, 264, 515]: count = 432, E_average = -197.781\n", "[409, 259, 512]: count = 432, E_average = -200.394\n", "[403, 259, 521]: count = 430, E_average = -200.760\n", "[410, 263, 501]: count = 429, E_average = -199.493\n", "[405, 261, 513]: count = 429, E_average = -197.308\n", "[402, 254, 515]: count = 422, E_average = -200.111\n", "[408, 263, 513]: count = 418, E_average = -199.811\n", "[410, 254, 512]: count = 416, E_average = -199.647\n", "[409, 263, 502]: count = 411, E_average = -199.991\n", "[405, 264, 521]: count = 407, E_average = -198.581\n", "[403, 264, 521]: count = 404, E_average = -196.686\n", "[404, 254, 523]: count = 402, E_average = -198.106\n", "[405, 261, 517]: count = 402, E_average = -197.907\n", "[405, 264, 523]: count = 401, E_average = -200.135\n", "[403, 261, 503]: count = 398, E_average = -200.160\n", "[403, 259, 523]: count = 396, E_average = -203.110\n", "[402, 264, 503]: count = 392, E_average = -198.138\n", "[402, 263, 503]: count = 392, E_average = -198.267\n", "[405, 261, 509]: count = 387, E_average = -200.579\n", "[409, 263, 516]: count = 386, E_average = -204.585\n", "[410, 261, 503]: count = 379, E_average = -197.561\n", "[409, 259, 520]: count = 368, E_average = -196.202\n", "[410, 261, 515]: count = 365, E_average = -200.714\n", "[409, 264, 515]: count = 365, E_average = -199.337\n", "[408, 261, 520]: count = 361, E_average = -200.828\n", "[405, 263, 513]: count = 358, E_average = -201.358\n", "[405, 254, 513]: count = 357, E_average = -200.395\n", "[409, 263, 508]: count = 356, E_average = -201.210\n", "[409, 254, 509]: count = 354, E_average = -200.441\n", "[403, 264, 512]: count = 354, E_average = -196.637\n", "[409, 259, 513]: count = 354, E_average = -198.263\n", "[402, 259, 515]: count = 348, E_average = -200.370\n", "[410, 261, 516]: count = 347, E_average = -200.130\n", "[409, 254, 522]: count = 345, E_average = -203.815\n", "[403, 263, 516]: count = 343, E_average = -199.995\n", "[410, 264, 503]: count = 334, E_average = -199.518\n", "[409, 264, 516]: count = 333, E_average = -196.914\n", "[403, 254, 502]: count = 325, E_average = -199.691\n", "[402, 259, 517]: count = 321, E_average = -194.437\n", "[403, 253, 510]: count = 318, E_average = -199.914\n", "[410, 263, 517]: count = 315, E_average = -200.260\n", "[409, 254, 502]: count = 314, E_average = -203.221\n", "[405, 263, 502]: count = 311, E_average = -198.853\n", "[408, 261, 513]: count = 310, E_average = -202.031\n", "[409, 261, 522]: count = 310, E_average = -199.357\n", "[405, 264, 516]: count = 308, E_average = -194.135\n", "[408, 259, 510]: count = 307, E_average = -201.439\n", "[403, 263, 508]: count = 307, E_average = -197.903\n", "[405, 253, 510]: count = 304, E_average = -200.250\n", "[410, 263, 522]: count = 303, E_average = -201.105\n", "[402, 254, 503]: count = 303, E_average = -201.237\n", "[408, 261, 518]: count = 301, E_average = -199.155\n", "[410, 259, 511]: count = 300, E_average = -200.584\n", "[408, 254, 520]: count = 298, E_average = -198.026\n", "[410, 259, 505]: count = 298, E_average = -199.372\n", "[405, 264, 501]: count = 297, E_average = -199.731\n", "[409, 261, 512]: count = 296, E_average = -200.952\n", "[402, 253, 513]: count = 296, E_average = -201.303\n", "[403, 254, 505]: count = 296, E_average = -199.472\n", "[403, 263, 503]: count = 295, E_average = -201.003\n", "[403, 264, 516]: count = 292, E_average = -203.095\n", "[403, 264, 522]: count = 285, E_average = -202.270\n", "[408, 264, 501]: count = 282, E_average = -197.759\n", "[403, 263, 501]: count = 281, E_average = -199.814\n", "[404, 264, 519]: count = 280, E_average = -196.907\n", "[403, 261, 512]: count = 280, E_average = -202.352\n", "[405, 254, 505]: count = 279, E_average = -202.184\n", "[409, 253, 521]: count = 278, E_average = -198.047\n", "[402, 253, 505]: count = 277, E_average = -198.380\n", "[408, 259, 508]: count = 277, E_average = -196.807\n", "[408, 263, 512]: count = 273, E_average = -196.444\n", "[409, 261, 515]: count = 272, E_average = -199.662\n", "[402, 259, 516]: count = 271, E_average = -200.964\n", "[410, 258, 520]: count = 269, E_average = -196.016\n", "[403, 253, 501]: count = 267, E_average = -199.638\n", "[408, 259, 509]: count = 266, E_average = -199.904\n", "[403, 264, 515]: count = 260, E_average = -198.960\n", "[403, 264, 502]: count = 257, E_average = -199.117\n", "[405, 259, 521]: count = 256, E_average = -199.709\n", "[407, 254, 521]: count = 255, E_average = -195.505\n", "[409, 254, 512]: count = 254, E_average = -202.086\n", "[404, 261, 521]: count = 251, E_average = -201.116\n", "[402, 259, 502]: count = 248, E_average = -196.813\n", "[408, 259, 511]: count = 247, E_average = -199.269\n", "[402, 253, 512]: count = 246, E_average = -200.201\n", "[408, 261, 505]: count = 245, E_average = -196.488\n", "[410, 254, 502]: count = 240, E_average = -197.992\n", "[405, 258, 519]: count = 238, E_average = -196.208\n", "[403, 263, 512]: count = 238, E_average = -201.557\n", "[402, 259, 511]: count = 238, E_average = -201.933\n", "[408, 264, 508]: count = 236, E_average = -201.399\n", "[410, 253, 505]: count = 232, E_average = -196.933\n", "[405, 254, 520]: count = 231, E_average = -200.624\n", "[410, 254, 503]: count = 231, E_average = -200.726\n", "[410, 259, 522]: count = 231, E_average = -196.400\n", "[403, 264, 508]: count = 231, E_average = -196.113\n", "[403, 253, 511]: count = 230, E_average = -203.418\n", "[409, 259, 523]: count = 230, E_average = -200.175\n", "[402, 259, 505]: count = 230, E_average = -200.418\n", "[409, 264, 503]: count = 230, E_average = -200.068\n", "[405, 254, 516]: count = 226, E_average = -198.607\n", "[409, 264, 523]: count = 224, E_average = -198.868\n", "[409, 259, 501]: count = 221, E_average = -201.799\n", "[409, 263, 515]: count = 220, E_average = -203.248\n", "[408, 261, 522]: count = 219, E_average = -199.670\n", "[409, 259, 505]: count = 219, E_average = -197.200\n", "[408, 263, 508]: count = 217, E_average = -198.432\n", "[403, 253, 523]: count = 217, E_average = -198.741\n", "[408, 259, 518]: count = 215, E_average = -200.141\n", "[410, 254, 515]: count = 214, E_average = -199.277\n", "[403, 254, 516]: count = 211, E_average = -198.084\n", "[405, 263, 517]: count = 210, E_average = -198.368\n", "[402, 259, 501]: count = 210, E_average = -196.274\n", "[410, 263, 502]: count = 209, E_average = -202.352\n", "[409, 258, 510]: count = 208, E_average = -195.103\n", "[408, 254, 513]: count = 207, E_average = -200.433\n", "[409, 254, 518]: count = 206, E_average = -200.166\n", "[410, 259, 520]: count = 205, E_average = -200.479\n", "[409, 264, 509]: count = 203, E_average = -199.724\n", "[410, 263, 503]: count = 201, E_average = -199.176\n", "[410, 264, 522]: count = 200, E_average = -197.628\n", "[405, 261, 501]: count = 197, E_average = -196.827\n", "[404, 263, 523]: count = 197, E_average = -199.069\n", "[410, 263, 520]: count = 194, E_average = -197.884\n", "[403, 264, 518]: count = 192, E_average = -198.542\n", "[405, 258, 510]: count = 191, E_average = -197.201\n", "[403, 254, 512]: count = 191, E_average = -199.475\n", "[403, 261, 516]: count = 190, E_average = -197.690\n", "[404, 258, 519]: count = 190, E_average = -199.378\n", "[404, 264, 521]: count = 188, E_average = -201.396\n", "[410, 259, 515]: count = 187, E_average = -192.652\n", "[405, 253, 523]: count = 185, E_average = -199.407\n", "[405, 254, 501]: count = 185, E_average = -198.581\n", "[409, 261, 503]: count = 181, E_average = -199.802\n", "[410, 263, 508]: count = 181, E_average = -197.502\n", "[409, 258, 519]: count = 180, E_average = -200.779\n", "[404, 261, 522]: count = 180, E_average = -197.820\n", "[408, 263, 519]: count = 179, E_average = -199.164\n", "[405, 254, 508]: count = 179, E_average = -195.873\n", "[405, 258, 523]: count = 178, E_average = -198.142\n", "[408, 253, 519]: count = 178, E_average = -195.102\n", "[405, 264, 512]: count = 174, E_average = -205.043\n", "[405, 263, 512]: count = 171, E_average = -201.554\n", "[408, 253, 517]: count = 170, E_average = -195.195\n", "[408, 254, 503]: count = 169, E_average = -201.623\n", "[409, 264, 520]: count = 169, E_average = -197.003\n", "[405, 263, 503]: count = 169, E_average = -196.442\n", "[403, 258, 510]: count = 168, E_average = -204.370\n", "[405, 264, 503]: count = 168, E_average = -195.822\n", "[410, 259, 517]: count = 167, E_average = -198.679\n", "[408, 263, 523]: count = 166, E_average = -198.543\n", "[408, 254, 516]: count = 165, E_average = -196.750\n", "[409, 263, 522]: count = 163, E_average = -199.104\n", "[408, 264, 516]: count = 161, E_average = -201.281\n", "[405, 259, 505]: count = 159, E_average = -196.312\n", "[408, 259, 521]: count = 158, E_average = -200.696\n", "[404, 264, 511]: count = 158, E_average = -196.799\n", "[408, 264, 521]: count = 157, E_average = -197.860\n", "[405, 253, 521]: count = 154, E_average = -198.664\n", "[402, 259, 510]: count = 152, E_average = -198.383\n", "[409, 258, 505]: count = 151, E_average = -202.560\n", "[408, 259, 516]: count = 150, E_average = -200.814\n", "[403, 261, 518]: count = 149, E_average = -196.239\n", "[409, 253, 520]: count = 147, E_average = -197.486\n", "[409, 253, 513]: count = 146, E_average = -201.672\n", "[403, 258, 523]: count = 146, E_average = -200.591\n", "[403, 259, 512]: count = 144, E_average = -200.952\n", "[403, 259, 502]: count = 144, E_average = -200.011\n", "[408, 253, 509]: count = 144, E_average = -193.227\n", "[403, 253, 521]: count = 143, E_average = -198.708\n", "[405, 263, 516]: count = 142, E_average = -200.127\n", "[408, 259, 519]: count = 142, E_average = -199.646\n", "[404, 263, 516]: count = 142, E_average = -198.095\n", "[408, 253, 523]: count = 142, E_average = -197.342\n", "[404, 264, 523]: count = 141, E_average = -197.813\n", "[409, 263, 520]: count = 140, E_average = -201.713\n", "[408, 264, 513]: count = 140, E_average = -200.392\n", "[408, 264, 515]: count = 140, E_average = -197.479\n", "[405, 254, 503]: count = 139, E_average = -196.980\n", "[405, 261, 508]: count = 138, E_average = -198.649\n", "[403, 258, 521]: count = 137, E_average = -198.286\n", "[404, 254, 513]: count = 136, E_average = -200.449\n", "[408, 264, 518]: count = 135, E_average = -200.494\n", "[410, 253, 517]: count = 134, E_average = -198.615\n", "[403, 264, 520]: count = 134, E_average = -196.968\n", "[403, 258, 520]: count = 134, E_average = -193.965\n", "[409, 261, 518]: count = 131, E_average = -195.333\n", "[405, 261, 518]: count = 130, E_average = -198.066\n", "[408, 261, 512]: count = 126, E_average = -201.047\n", "[403, 263, 518]: count = 126, E_average = -198.511\n", "[403, 263, 515]: count = 124, E_average = -195.034\n", "[405, 261, 503]: count = 124, E_average = -192.937\n", "[408, 254, 512]: count = 123, E_average = -197.168\n", "[409, 253, 523]: count = 120, E_average = -202.904\n", "[402, 259, 512]: count = 120, E_average = -196.997\n", "[409, 264, 508]: count = 119, E_average = -200.285\n", "[410, 259, 512]: count = 117, E_average = -199.200\n", "[403, 254, 508]: count = 117, E_average = -202.815\n", "[409, 259, 508]: count = 116, E_average = -200.629\n", "[410, 259, 513]: count = 115, E_average = -200.571\n", "[408, 259, 523]: count = 115, E_average = -200.573\n", "[408, 253, 512]: count = 113, E_average = -195.282\n", "[408, 253, 510]: count = 112, E_average = -198.851\n", "[404, 263, 519]: count = 112, E_average = -204.566\n", "[409, 259, 522]: count = 112, E_average = -193.924\n", "[404, 253, 521]: count = 109, E_average = -206.130\n", "[408, 264, 512]: count = 109, E_average = -201.737\n", "[403, 253, 516]: count = 109, E_average = -199.755\n", "[402, 261, 508]: count = 107, E_average = -199.793\n", "[408, 253, 513]: count = 107, E_average = -199.511\n", "[410, 264, 520]: count = 106, E_average = -199.952\n", "[403, 253, 515]: count = 105, E_average = -196.012\n", "[405, 259, 502]: count = 105, E_average = -195.849\n", "[405, 253, 505]: count = 105, E_average = -195.132\n", "[408, 263, 503]: count = 104, E_average = -203.157\n", "[405, 259, 517]: count = 104, E_average = -197.181\n", "[402, 258, 516]: count = 104, E_average = -196.676\n", "[403, 253, 522]: count = 102, E_average = -203.785\n", "[407, 254, 519]: count = 102, E_average = -197.971\n", "[403, 258, 508]: count = 102, E_average = -196.824\n", "[405, 264, 509]: count = 101, E_average = -197.066\n", "[403, 253, 505]: count = 99, E_average = -200.267\n", "[403, 259, 513]: count = 99, E_average = -196.300\n", "[407, 261, 521]: count = 98, E_average = -195.407\n", "[407, 263, 511]: count = 98, E_average = -193.152\n", "[404, 264, 513]: count = 96, E_average = -201.726\n", "[408, 263, 518]: count = 95, E_average = -198.092\n", "[407, 263, 510]: count = 95, E_average = -197.948\n", "[407, 258, 521]: count = 94, E_average = -191.380\n", "[404, 254, 522]: count = 89, E_average = -202.762\n", "[408, 258, 509]: count = 89, E_average = -198.526\n", "[408, 259, 513]: count = 88, E_average = -199.623\n", "[403, 259, 505]: count = 88, E_average = -194.493\n", "[405, 258, 521]: count = 87, E_average = -196.186\n", "[403, 261, 515]: count = 86, E_average = -200.718\n", "[410, 258, 505]: count = 85, E_average = -203.636\n", "[404, 254, 505]: count = 85, E_average = -201.573\n", "[407, 254, 511]: count = 85, E_average = -200.466\n", "[409, 254, 508]: count = 85, E_average = -200.252\n", "[407, 263, 521]: count = 85, E_average = -195.602\n", "[405, 261, 512]: count = 84, E_average = -197.965\n", "[405, 264, 518]: count = 84, E_average = -190.795\n", "[408, 264, 523]: count = 81, E_average = -205.698\n", "[403, 253, 512]: count = 81, E_average = -199.254\n", "[405, 254, 509]: count = 79, E_average = -201.258\n", "[407, 263, 505]: count = 79, E_average = -197.757\n", "[405, 254, 502]: count = 79, E_average = -197.302\n", "[403, 259, 518]: count = 79, E_average = -195.242\n", "[410, 261, 508]: count = 78, E_average = -193.333\n", "[410, 259, 510]: count = 77, E_average = -197.213\n", "[402, 264, 508]: count = 75, E_average = -203.355\n", "[402, 253, 511]: count = 75, E_average = -198.837\n", "[403, 259, 511]: count = 75, E_average = -197.502\n", "[403, 263, 523]: count = 74, E_average = -198.305\n", "[408, 264, 503]: count = 71, E_average = -202.273\n", "[410, 253, 511]: count = 70, E_average = -198.477\n", "[407, 264, 511]: count = 70, E_average = -195.597\n", "[410, 258, 510]: count = 68, E_average = -196.397\n", "[409, 258, 508]: count = 68, E_average = -194.466\n", "[408, 254, 518]: count = 67, E_average = -197.670\n", "[402, 263, 508]: count = 66, E_average = -199.833\n", "[409, 259, 509]: count = 66, E_average = -198.147\n", "[402, 253, 515]: count = 66, E_average = -199.932\n", "[410, 258, 513]: count = 66, E_average = -198.910\n", "[405, 259, 523]: count = 66, E_average = -195.216\n", "[409, 259, 502]: count = 65, E_average = -205.421\n", "[408, 259, 501]: count = 65, E_average = -200.117\n", "[408, 263, 505]: count = 65, E_average = -199.613\n", "[410, 258, 517]: count = 65, E_average = -195.440\n", "[402, 261, 509]: count = 64, E_average = -194.590\n", "[407, 261, 519]: count = 63, E_average = -203.670\n", "[408, 253, 521]: count = 63, E_average = -199.431\n", "[405, 261, 515]: count = 63, E_average = -201.446\n", "[405, 263, 515]: count = 63, E_average = -200.258\n", "[403, 259, 520]: count = 63, E_average = -197.261\n", "[403, 258, 519]: count = 63, E_average = -195.290\n", "[402, 253, 516]: count = 60, E_average = -199.016\n", "[408, 259, 512]: count = 59, E_average = -197.179\n", "[405, 253, 509]: count = 58, E_average = -195.770\n", "[405, 263, 508]: count = 58, E_average = -192.750\n", "[408, 258, 510]: count = 58, E_average = -192.068\n", "[404, 254, 501]: count = 57, E_average = -192.117\n", "[405, 253, 503]: count = 57, E_average = -193.289\n", "[402, 258, 513]: count = 56, E_average = -205.035\n", "[409, 258, 511]: count = 55, E_average = -201.161\n", "[409, 264, 522]: count = 54, E_average = -200.813\n", "[408, 263, 516]: count = 53, E_average = -198.866\n", "[409, 253, 522]: count = 53, E_average = -206.009\n", "[408, 264, 522]: count = 52, E_average = -197.535\n", "[403, 258, 502]: count = 50, E_average = -206.175\n", "[404, 261, 511]: count = 50, E_average = -199.745\n", "[405, 253, 515]: count = 48, E_average = -198.890\n", "[404, 254, 520]: count = 47, E_average = -204.460\n", "[409, 264, 518]: count = 47, E_average = -199.191\n", "[409, 253, 515]: count = 47, E_average = -195.634\n", "[408, 253, 501]: count = 47, E_average = -196.510\n", "[405, 259, 501]: count = 47, E_average = -193.606\n", "[404, 261, 513]: count = 46, E_average = -196.827\n", "[408, 258, 519]: count = 45, E_average = -200.829\n", "[405, 254, 512]: count = 45, E_average = -201.642\n", "[404, 259, 501]: count = 43, E_average = -195.417\n", "[410, 259, 501]: count = 41, E_average = -190.386\n", "[408, 258, 518]: count = 41, E_average = -198.025\n", "[410, 253, 515]: count = 40, E_average = -196.190\n", "[407, 259, 521]: count = 40, E_average = -193.630\n", "[410, 259, 516]: count = 39, E_average = -202.253\n", "[408, 254, 522]: count = 38, E_average = -202.842\n", "[405, 263, 501]: count = 38, E_average = -194.784\n", "[407, 261, 505]: count = 37, E_average = -207.727\n", "[403, 264, 523]: count = 37, E_average = -206.301\n", "[410, 253, 520]: count = 37, E_average = -197.549\n", "[404, 264, 510]: count = 36, E_average = -206.446\n", "[410, 253, 510]: count = 36, E_average = -198.965\n", "[403, 259, 509]: count = 35, E_average = -189.557\n", "[405, 263, 518]: count = 34, E_average = -195.860\n", "[408, 253, 520]: count = 33, E_average = -199.728\n", "[404, 264, 503]: count = 32, E_average = -196.460\n", "[405, 263, 523]: count = 32, E_average = -193.506\n", "[404, 254, 510]: count = 31, E_average = -203.027\n", "[408, 253, 508]: count = 31, E_average = -194.308\n", "[403, 259, 516]: count = 30, E_average = -199.106\n", "[403, 258, 512]: count = 28, E_average = -194.976\n", "[404, 261, 501]: count = 27, E_average = -192.620\n", "[405, 253, 516]: count = 27, E_average = -194.301\n", "[405, 258, 505]: count = 26, E_average = -193.933\n", "[402, 253, 502]: count = 25, E_average = -199.223\n", "[403, 261, 522]: count = 24, E_average = -203.597\n", "[409, 258, 523]: count = 24, E_average = -201.488\n", "[403, 263, 520]: count = 23, E_average = -197.942\n", "[404, 261, 505]: count = 22, E_average = -196.592\n", "[405, 263, 509]: count = 21, E_average = -193.602\n", "[403, 258, 511]: count = 19, E_average = -197.313\n", "[403, 254, 515]: count = 19, E_average = -198.546\n", "[405, 259, 520]: count = 18, E_average = -198.313\n", "[408, 263, 521]: count = 18, E_average = -194.405\n", "[403, 264, 503]: count = 16, E_average = -197.972\n", "[410, 253, 512]: count = 16, E_average = -196.725\n", "[403, 259, 503]: count = 15, E_average = -199.117\n", "[407, 261, 508]: count = 14, E_average = -206.636\n", "[405, 264, 508]: count = 13, E_average = -196.820\n", "[405, 254, 522]: count = 13, E_average = -195.764\n", "[410, 258, 501]: count = 13, E_average = -192.717\n", "[410, 261, 509]: count = 13, E_average = -192.205\n", "[404, 263, 501]: count = 13, E_average = -191.178\n", "[408, 253, 511]: count = 12, E_average = -202.288\n", "[404, 264, 522]: count = 12, E_average = -199.906\n", "[402, 258, 510]: count = 12, E_average = -193.385\n", "[410, 253, 513]: count = 11, E_average = -196.897\n", "[410, 264, 508]: count = 11, E_average = -197.133\n", "[405, 264, 522]: count = 11, E_average = -194.828\n", "[402, 253, 510]: count = 10, E_average = -203.108\n", "[408, 253, 502]: count = 10, E_average = -198.438\n", "[410, 258, 512]: count = 10, E_average = -196.356\n", "[404, 253, 519]: count = 9, E_average = -200.855\n", "[404, 254, 511]: count = 9, E_average = -199.396\n", "[410, 254, 508]: count = 9, E_average = -194.011\n", "[408, 258, 511]: count = 7, E_average = -203.281\n", "[410, 258, 502]: count = 7, E_average = -201.084\n", "[404, 258, 523]: count = 6, E_average = -201.931\n", "[407, 264, 521]: count = 6, E_average = -194.624\n", "[402, 258, 501]: count = 6, E_average = -193.680\n", "[409, 253, 517]: count = 6, E_average = -192.727\n", "[403, 254, 503]: count = 3, E_average = -206.926\n", "[408, 261, 515]: count = 3, E_average = -192.611\n", "[403, 263, 522]: count = 2, E_average = -202.476\n", "[404, 264, 501]: count = 2, E_average = -199.399\n", "[409, 259, 503]: count = 2, E_average = -198.957\n", "[405, 259, 513]: count = 2, E_average = -192.950\n", "[404, 261, 510]: count = 1, E_average = -206.998\n", "[404, 259, 521]: count = 1, E_average = -205.715\n" ] } ], "source": [ "# Sort from most occupied to least occupied\n", "subset_microstates.sort(key=lambda x: x.count, reverse=True)\n", "for ms in subset_microstates:\n", " print(\"%s: count = %4d, E_average = %.3f\" % (str(ms.state()), ms.count, ms.average_E))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Top microstates (subset microstates)" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "## Counts % Accum % Energy\n", " 1 414555 0.188 0.188 -203.89\n", " 2 298812 0.136 0.324 -203.90\n", " 3 107210 0.049 0.373 -202.99\n", " 4 81293 0.037 0.410 -202.70\n", " 5 78448 0.036 0.446 -202.60\n", " 6 76403 0.035 0.480 -202.64\n", " 7 71473 0.032 0.513 -202.69\n", " 8 66635 0.030 0.543 -202.48\n", " 9 62482 0.028 0.572 -202.44\n", "10 57355 0.026 0.598 -202.50\n", "11 34525 0.016 0.613 -202.63\n", "12 22081 0.010 0.623 -202.00\n", "13 21582 0.010 0.633 -201.66\n", "14 20059 0.009 0.642 -201.90\n", "15 19911 0.009 0.651 -201.43\n", "16 16709 0.008 0.659 -201.69\n", "17 14852 0.007 0.666 -201.48\n", "18 14337 0.007 0.672 -201.18\n", "19 14045 0.006 0.679 -201.81\n", "20 13790 0.006 0.685 -201.07\n", "21 13767 0.006 0.691 -201.13\n", "22 13232 0.006 0.697 -201.93\n", "23 12809 0.006 0.703 -201.70\n", "24 12462 0.006 0.709 -202.44\n", "25 12399 0.006 0.714 -201.35\n", "26 11573 0.005 0.719 -200.92\n", "27 10820 0.005 0.724 -201.73\n", "28 10310 0.005 0.729 -202.18\n", "29 10201 0.005 0.734 -201.46\n", "30 9533 0.004 0.738 -202.00\n", "31 9288 0.004 0.742 -201.33\n", "32 9033 0.004 0.746 -201.36\n", "33 7864 0.004 0.750 -201.32\n", "34 7730 0.004 0.753 -201.69\n", "35 7556 0.003 0.757 -200.76\n", "36 7542 0.003 0.760 -201.44\n", "37 7082 0.003 0.764 -201.25\n", "38 7019 0.003 0.767 -201.19\n", "39 6856 0.003 0.770 -202.09\n", "40 6204 0.003 0.773 -201.25\n", "41 6202 0.003 0.775 -200.40\n", "42 5889 0.003 0.778 -200.71\n", "43 5671 0.003 0.781 -200.56\n", "44 5636 0.003 0.783 -200.52\n", "45 5504 0.003 0.786 -202.03\n", "46 5302 0.002 0.788 -203.41\n", "47 5160 0.002 0.791 -201.49\n", "48 5031 0.002 0.793 -201.05\n", "49 5008 0.002 0.795 -200.08\n", "50 4986 0.002 0.797 -201.75\n" ] } ], "source": [ "total_subms = sum([x.count for x in subset_microstates])\n", "\n", "top_picks = 50\n", "top_subms = subset_microstates[:top_picks]\n", "top_counts = [x.count for x in top_subms]\n", "top_averageE = [x.average_E for x in top_subms]\n", "top_percentage = [x.count/total_subms for x in top_subms]\n", "\n", "print(\"## %8s %8s %8s %8s\" % (\"Counts\", \"%\", \"Accum %\", \"Energy\"))\n", "accum_pct = 0.0\n", "top_accum = []\n", "for i in range(top_picks):\n", " accum_pct += top_percentage[i]\n", " top_accum.append(accum_pct)\n", " print(\"%2d %8d %8.3f %8.3f %8.2f\" % (i+1, top_counts[i], top_percentage[i], accum_pct, top_averageE[i]))" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "image/png": "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TNjZZ58dr371q+PJJ58s698eQWcCamtrY/ny5dHd3T3aNjw8HN3d3dHS0lLGkVFtLrzwwli4cOGYZ2lgYCB+8IMfeJaIiPz24x/4wAfi7rvvjp07d8aFF1445vvLly+PM844Y8wz9MQTT8TBgwc9Q4xreHg4jh496tnhlK666qp4+OGHY//+/aOvFStWxLve9a7Rrz0/TNQvf/nL+MlPfhKLFi0q698epWsT1NHREddee22sWLEiVq5cGbfddlsMDg7Ghg0byj00Kswvf/nLePLJJ0c/P/XUU7F///4455xz4oILLojrr78+Pv7xj8dFF10UF154Ydx0002xePHiuOaaa8o3aCrGxo0b484774x/+Zd/ibPOOmu0fnn+/PlRX18f8+fPj3e/+93R0dER55xzTsybNy8++MEPRktLS/zWb/1WmUdPuW3atCne9ra3xQUXXBDPP/983HnnndHT0xPf/va3PTuc0llnnTW6FnBEQ0NDnHvuuaPtnh9O5kMf+lCsXbs2XvnKV8bPf/7z2LJlS9TU1MQ73vGO8v7tmdY93RLz93//97kLLrggV1tbm1u5cmXu+9//frmHRAX6zne+k4uIl7yuvfbaXC6X32L6pptuyjU1NeXq6upyV111Ve6JJ54o76CpGOM9OxGR+8d//MfRa44cOZL78z//89yCBQtyL3vZy3Jvf/vbc4cOHSrfoKkYf/qnf5p75Stfmautrc29/OUvz1111VW5//zP/xz9vmeHQpy4vXQu5/nh5NatW5dbtGhRrra2Nnf++efn1q1bl3vyySdHv1+uZ2dWLpfLTW+UAgAAKC1rdAAAgOQIOgAAQHIEHQAAIDmCDgAAkBxBBwAASI6gAwAAJEfQAQAAkiPoAAAAyRF0AACA5Ag6AABAcgQdAAAgOYIOAACQnP8HUgDWaA3u958AAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure(figsize=(10,6))\n", "ax1 = fig.add_subplot(111)\n", "ax1.set_ylim([0, 1])\n", "ax1.scatter(range(top_picks), top_percentage, s=10, c='b', marker = \".\")\n", "ax1.scatter(range(top_picks), top_accum, s=10, c='r', marker=\"x\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Bin microstates (subset microstates) by energy" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Energy #total #uniq\n", "-207.727 340 9\n", "-205.909 1090 9\n", "-204.091 1383040 43\n", "-202.273 607454 212\n", "-200.455 162763 204\n", "-198.637 31655 102\n", "-196.819 10483 55\n", "-195.001 2262 26\n", "-193.183 740 13\n", "-191.365 173 4\n" ] } ], "source": [ "nbins = 10\n", "erange, total_counts = bin_mscounts_total(subset_microstates, nbins=nbins)\n", "_, uniq_counts = bin_mscounts_unique(subset_microstates, nbins=nbins)\n", "\n", "print(\"%8s %6s %6s\" % (\"Energy\", \" #total\", \"#uniq\"))\n", "for i in range(len(erange)):\n", " print(\"%8.3f %10d %6d\" % (erange[i], total_counts[i], uniq_counts[i]))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.9.7" } }, "nbformat": 4, "nbformat_minor": 4 }