{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 构象的模型表示(Representation of conformation)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "@Author: Jian Huang\n",
    "\n",
    "@email:jian.huang@xtalpi.com\n",
    "\n",
    "@pictures: partly from weikun.wu@xtalpi.com\n",
    "\n",
    "经过第一章的学习,我们知道在pyrosetta中通过Pose储存构象的所有信息。\n",
    "\n",
    "对于一个大分子构象而言,例如一个简单的含有一个蛋白Model的PDB文件,Rosetta对其中构象的处理主要分为**全原子描述**(Full atom representation)和**质心描述**(centriod representation)。\n",
    "\n",
    "**全原子描述**,即对蛋白的所有原子都采用精确(x, y, z)坐标进行描述的方法。相比之下,**质心描述**保留骨架部分的精确全原子描述,但简化了氨基酸残基的侧链,通过对残基整体性质(坐标、原子质量、体积等)计算构建出一个假原子(pseudo atom,又称CEN原子),以该假原子作为原本侧链剩余部分的描述。侧链质心的位置基于侧链整体的质心决定,而假原子的大小由侧链的平均大小决定。可见,这种处理方式简化了蛋白构象,或者说丢失了部分信息,是一种“**粗粒化**”的描述。\n",
    "\n",
    "***\n",
    "\n",
    "***问题一:为什么要费事进行“粗粒化”,而不全部采取精确全原子描述?***\n",
    "\n",
    "理想的情况而言,当我们拥有无尽的时间和无限的计算能力,我们当然是希望所有的体系优化的时候都能够使用全原子表示进行。但往往这是不切实际的,这是出现了简化的质心表示的第一个原因。其次,选择质心表示也可以让能量面比之于全原子表示更为平坦,更有效率地在空间中进行大规模采样,也更容易通过蒙特卡洛标准。(全原子表示的能量面非常崎岖,在执行蒙特卡洛搜索的时候,很多的搜索都会被蒙特卡洛规则拒绝掉而大概率陷入局域最小值)\n",
    "\n",
    "***问题二:质心模式的缺点是什么?***\n",
    "\n",
    "前文提过,质心描述以牺牲分辨率、丢失信息为代价而获得较快的构象空间搜索效率。这种信息的丢失,主要是侧链,例如侧链的氢键作用、侧链范式作用等细节,就没有被显式捕获到。相比之下,rosetta中会通过成对的统计学势能(pair-wise statistical potenhtial)和范式作用的范围型近似(VdW sphere approximation)去隐式捕获这些作用,但是这种处理是近似的、不精确的。\n",
    "***\n",
    "\n",
    "\n",
    "**总结**\n",
    "\n",
    "这种两种原子模型在rosetta大部分protocal中都会涉及到。基本思路:首先通过质心粗颗粒描述快速搜索大量的构象空间,称为“low-resolution/Coarse-grain phase”,这样可以快速在能量面上找到能量较低的范围;然后通过全原子描述在该范围内进一步精确、优化地寻找低能构象的细节,称为“high-resolution refinement phase”。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<center><img src=\"./img/lowRes-HighRes.jpg\" width = \"1000\" height = \"200\" align=center /></center>\n",
    "\n",
    "(图片来源: google搜索拼接)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 一、单个氨基酸全原子和质心描述的直观感受"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "在Rosetta中,PDB的读入默认采取全原子的方式进行表示。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "PyRosetta-4 2021 [Rosetta PyRosetta4.conda.mac.cxx11thread.serialization.python37.Release 2021.26+release.b308454c455dd04f6824cc8b23e54bbb9be2cdd7 2021-07-02T13:01:54] retrieved from: http://www.pyrosetta.org\n",
      "(C) Copyright Rosetta Commons Member Institutions. Created in JHU by Sergey Lyskov and PyRosetta Team.\n",
      "\u001b[0mcore.init: {0} \u001b[0mChecking for fconfig files in pwd and ./rosetta/flags\n",
      "\u001b[0mcore.init: {0} \u001b[0mRosetta version: PyRosetta4.conda.mac.cxx11thread.serialization.python37.Release r288 2021.26+release.b308454c455 b308454c455dd04f6824cc8b23e54bbb9be2cdd7 http://www.pyrosetta.org 2021-07-02T13:01:54\n",
      "\u001b[0mcore.init: {0} \u001b[0mcommand: PyRosetta -ex1 -ex2aro -database /opt/miniconda3/lib/python3.7/site-packages/pyrosetta/database\n",
      "\u001b[0mbasic.random.init_random_generator: {0} \u001b[0m'RNG device' seed mode, using '/dev/urandom', seed=-850433861 seed_offset=0 real_seed=-850433861 thread_index=0\n",
      "\u001b[0mbasic.random.init_random_generator: {0} \u001b[0mRandomGenerator:init: Normal mode, seed=-850433861 RG_type=mt19937\n"
     ]
    }
   ],
   "source": [
    "from pyrosetta import init, pose_from_sequence\n",
    "init()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[0mcore.chemical.GlobalResidueTypeSet: {0} \u001b[0mFinished initializing fa_standard residue type set.  Created 984 residue types\n",
      "\u001b[0mcore.chemical.GlobalResidueTypeSet: {0} \u001b[0mTotal time to initialize 0.692792 seconds.\n",
      "Is the pose a full-atom description?\n",
      " True\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 按照rosetta标准库模板,创建一个Trp氨基酸的pose\n",
    "pose = pose_from_sequence('W')\n",
    "\n",
    "# 判断一个pose是否为全原子描述\n",
    "print(\"Is the pose a full-atom description?\\n\", pose.is_fullatom())\n",
    "\n",
    "# 同样地,pose.is_centroid()可以判断是否为质心描述\n",
    "\n",
    "# 我们先将该构象储存为PDB文件\n",
    "pose.dump_pdb(\"./data/trp_fullatom.pdb\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "当Pose的表示形式需要转换时,可以使用相关的函数来实现(SwitchResidueTypeSetMover)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[0mcore.chemical.GlobalResidueTypeSet: {0} \u001b[0mFinished initializing centroid residue type set.  Created 69 residue types\n",
      "\u001b[0mcore.chemical.GlobalResidueTypeSet: {0} \u001b[0mTotal time to initialize 0.023072 seconds.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# TODO:转化全原子描述为质心描述\n",
    "from pyrosetta.rosetta.protocols.simple_moves import SwitchResidueTypeSetMover\n",
    "\n",
    "# 初始化一个SwitchResidueTypeSetMover对象用来操作我们的pose\n",
    "to_centroid = SwitchResidueTypeSetMover('centroid')\n",
    "# print(type(to_centroid))\n",
    "\n",
    "# 对pose进行操作\n",
    "to_centroid.apply(pose)\n",
    "\n",
    "# 储存质心描述的pose为PDB文件\n",
    "pose.dump_pdb(\"./data/trp_centroid.pdb\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**使用pymol查看两种描述的PDB文件**\n",
    "\n",
    "<center><img src=\"./img/Trp_centroid_fullatom.png\" width=\"500\" height=\"400\" align=\"center\"/></center>\n",
    "\n",
    "左:全原子描述;                          右:质心描述\n",
    "\n",
    "这里顺带强调一下PDB文件,我们用文本编辑器打开trp_centroid.pdb文件,如下:\n",
    "\n",
    "```\n",
    "ATOM      1  N   TRP A   1       0.000   0.000   0.000  1.00  0.00           N  \n",
    "ATOM      2  CA  TRP A   1       1.458   0.000   0.000  1.00  0.00           C  \n",
    "ATOM      3  C   TRP A   1       2.009   1.420   0.000  1.00  0.00           C  \n",
    "ATOM      4  O   TRP A   1       2.058   2.045   1.023  1.00  0.00           O  \n",
    "ATOM      5  CB  TRP A   1       1.991  -0.769  -1.210  1.00  0.00           C  \n",
    "ATOM      6  **CEN** TRP A   1       2.937  -2.180  -1.648  1.00  0.00           X  \n",
    "ATOM      7  H   TRP A   1      -0.500  -0.433  -0.750  1.00  0.00           H  \n",
    "TER\n",
    "```\n",
    "\n",
    "可以看到Trp侧链的假原子名字为**CEN**。(请打开trp_fullatom.pdb查看其中的ATOM描述,观察差别)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 二、一个更“有趣”的例子\n",
    "接下来的案例,我们将展示Rosetta对PDB->Pose过程中的处理逻辑,实现过程:\n",
    "1. 从PDB库中下载的1ubq.pdb文件,并进行简单处理\n",
    "2. 转化为质心描述,保存质心描述的构象为PDB\n",
    "3. 将该质心描述的构象再转化为全原子描述(称为new_fullatom)\n",
    "4. 比较从PDB库下载后简单处理的全原子描述的构象与再次转化后的全原子描述构象"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[0mcore.import_pose.import_pose: {0} \u001b[0mFile '1UBQ.clean.pdb' automatically determined to be of type PDB\n"
     ]
    }
   ],
   "source": [
    "from pyrosetta.toolbox.rcsb import pose_from_rcsb\n",
    "from pyrosetta import pose_from_pdb\n",
    "from pyrosetta.toolbox import cleanATOM\n",
    "\n",
    "origin_pose = pose_from_rcsb('1ubq')\n",
    "origin_pose.dump_pdb(\"./data/1ubq.pdb\")\n",
    "\n",
    "cleanATOM(\"./data/1ubq.pdb\", out_file=\"./data/1ubq_clean.pdb\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "PDB file name: 1UBQ.clean.pdb\n",
      "Total residues: 76\n",
      "Sequence: MQIFVKTLTGKTITLEVEPSDTIENVKAKIQDKEGIPPDQQRLIFAGKQLEDGRTLSDYNIQKESTLHLVLRLRGG\n",
      "Fold tree:\n",
      "FOLD_TREE  EDGE 1 76 -1 \n",
      "True\n"
     ]
    }
   ],
   "source": [
    "# 查看pose的信息\n",
    "print(origin_pose)\n",
    "print(origin_pose.is_fullatom())\n",
    "\n",
    "# 简要描述\n",
    "# print(\"Brief description about the origin_pose:\", origin_pose.pdb_info().short_desc())\n",
    "\n",
    "# 该输出打印了非常详细的信息,总的残基数、序列、Foldtree。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[0mcore.import_pose.import_pose: {0} \u001b[0mFile './data/1ubq_clean.pdb' automatically determined to be of type PDB\n"
     ]
    }
   ],
   "source": [
    "# 初始化两个SwitchResidueTypeSetMover对象\n",
    "to_centroid = SwitchResidueTypeSetMover('centroid')\n",
    "to_fullatom = SwitchResidueTypeSetMover('full_atom')\n",
    "\n",
    "# 读取pose,转化为质心描述\n",
    "pose_1ubq = pose_from_pdb(\"./data/1ubq_clean.pdb\")\n",
    "to_centroid.apply(pose_1ubq)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "True\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 是否是质心描述呢?\n",
    "print(pose_1ubq.is_centroid())\n",
    "pose_1ubq.dump_pdb(\"./data/1ubq_clean_centroid.pdb\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[0mcore.import_pose.import_pose: {0} \u001b[0mFile './data/1ubq_clean_centroid.pdb' automatically determined to be of type PDB\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 1 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  MET:NtermProteinFull\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 2 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  GLN\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 3 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  ILE\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 4 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  PHE\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 5 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  VAL\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 6 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  LYS\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 7 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  THR\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 8 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  LEU\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 9 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  THR\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 10 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  GLY\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 11 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  LYS\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 12 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  THR\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 13 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  ILE\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 14 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  THR\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 15 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  LEU\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 16 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  GLU\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 17 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  VAL\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 18 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  GLU\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 19 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  PRO\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 20 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  SER\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 21 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  ASP\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 22 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  THR\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 23 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  ILE\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 24 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  GLU\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 25 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  ASN\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 26 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  VAL\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 27 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  LYS\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 28 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  ALA\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 29 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  LYS\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 30 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  ILE\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 31 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  GLN\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 32 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  ASP\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 33 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  LYS\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 34 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  GLU\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 35 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  GLY\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 36 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  ILE\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 37 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  PRO\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 38 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  PRO\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 39 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  ASP\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 40 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  GLN\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 41 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  GLN\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 42 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  ARG\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 43 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  LEU\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 44 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  ILE\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 45 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  PHE\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 46 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  ALA\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 47 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  GLY\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 48 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  LYS\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 49 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  GLN\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 50 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  LEU\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 51 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  GLU\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 52 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  ASP\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 53 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  GLY\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 54 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  ARG\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 55 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  THR\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 56 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  LEU\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 57 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  SER\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 58 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  ASP\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 59 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  TYR\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 60 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  ASN\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 61 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  ILE\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 62 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  GLN\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 63 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  LYS\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 64 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  GLU\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 65 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  SER\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 66 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  THR\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 67 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  LEU\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 68 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  HIS\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 69 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  LEU\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 70 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  VAL\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 71 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  LEU\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 72 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  ARG\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 73 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  LEU\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 74 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  ARG\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 75 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  GLY\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m discarding 1 atoms at position 76 in file ./data/1ubq_clean_centroid.pdb. Best match rsd_type:  GLY:CtermProteinFull\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue MET:NtermProteinFull 1\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  SD  on residue MET:NtermProteinFull 1\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CE  on residue MET:NtermProteinFull 1\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue GLN 2\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD  on residue GLN 2\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OE1 on residue GLN 2\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  NE2 on residue GLN 2\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG1 on residue ILE 3\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG2 on residue ILE 3\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD1 on residue ILE 3\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue PHE 4\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD1 on residue PHE 4\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD2 on residue PHE 4\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CE1 on residue PHE 4\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CE2 on residue PHE 4\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CZ  on residue PHE 4\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG1 on residue VAL 5\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG2 on residue VAL 5\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue LYS 6\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD  on residue LYS 6\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CE  on residue LYS 6\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  NZ  on residue LYS 6\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OG1 on residue THR 7\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG2 on residue THR 7\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue LEU 8\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD1 on residue LEU 8\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD2 on residue LEU 8\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OG1 on residue THR 9\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG2 on residue THR 9\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue LYS 11\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD  on residue LYS 11\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CE  on residue LYS 11\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  NZ  on residue LYS 11\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OG1 on residue THR 12\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG2 on residue THR 12\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG1 on residue ILE 13\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG2 on residue ILE 13\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD1 on residue ILE 13\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OG1 on residue THR 14\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG2 on residue THR 14\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue LEU 15\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD1 on residue LEU 15\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD2 on residue LEU 15\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue GLU 16\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD  on residue GLU 16\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OE1 on residue GLU 16\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OE2 on residue GLU 16\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG1 on residue VAL 17\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG2 on residue VAL 17\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue GLU 18\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD  on residue GLU 18\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OE1 on residue GLU 18\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OE2 on residue GLU 18\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue PRO 19\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD  on residue PRO 19\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OG  on residue SER 20\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue ASP 21\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OD1 on residue ASP 21\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OD2 on residue ASP 21\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OG1 on residue THR 22\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG2 on residue THR 22\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG1 on residue ILE 23\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG2 on residue ILE 23\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD1 on residue ILE 23\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue GLU 24\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD  on residue GLU 24\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OE1 on residue GLU 24\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OE2 on residue GLU 24\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue ASN 25\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OD1 on residue ASN 25\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  ND2 on residue ASN 25\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG1 on residue VAL 26\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG2 on residue VAL 26\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue LYS 27\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD  on residue LYS 27\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CE  on residue LYS 27\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  NZ  on residue LYS 27\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue LYS 29\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD  on residue LYS 29\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CE  on residue LYS 29\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  NZ  on residue LYS 29\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG1 on residue ILE 30\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG2 on residue ILE 30\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD1 on residue ILE 30\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue GLN 31\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD  on residue GLN 31\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OE1 on residue GLN 31\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  NE2 on residue GLN 31\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue ASP 32\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OD1 on residue ASP 32\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OD2 on residue ASP 32\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue LYS 33\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD  on residue LYS 33\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CE  on residue LYS 33\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  NZ  on residue LYS 33\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue GLU 34\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD  on residue GLU 34\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OE1 on residue GLU 34\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OE2 on residue GLU 34\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG1 on residue ILE 36\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG2 on residue ILE 36\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD1 on residue ILE 36\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue PRO 37\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD  on residue PRO 37\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue PRO 38\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD  on residue PRO 38\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue ASP 39\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OD1 on residue ASP 39\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OD2 on residue ASP 39\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue GLN 40\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD  on residue GLN 40\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OE1 on residue GLN 40\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  NE2 on residue GLN 40\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue GLN 41\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD  on residue GLN 41\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OE1 on residue GLN 41\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  NE2 on residue GLN 41\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue ARG 42\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD  on residue ARG 42\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  NE  on residue ARG 42\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CZ  on residue ARG 42\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  NH1 on residue ARG 42\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  NH2 on residue ARG 42\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue LEU 43\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD1 on residue LEU 43\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD2 on residue LEU 43\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG1 on residue ILE 44\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG2 on residue ILE 44\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD1 on residue ILE 44\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue PHE 45\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD1 on residue PHE 45\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD2 on residue PHE 45\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CE1 on residue PHE 45\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CE2 on residue PHE 45\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CZ  on residue PHE 45\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue LYS 48\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD  on residue LYS 48\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CE  on residue LYS 48\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  NZ  on residue LYS 48\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue GLN 49\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD  on residue GLN 49\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OE1 on residue GLN 49\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  NE2 on residue GLN 49\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue LEU 50\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD1 on residue LEU 50\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD2 on residue LEU 50\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue GLU 51\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD  on residue GLU 51\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OE1 on residue GLU 51\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OE2 on residue GLU 51\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue ASP 52\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OD1 on residue ASP 52\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OD2 on residue ASP 52\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue ARG 54\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD  on residue ARG 54\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  NE  on residue ARG 54\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CZ  on residue ARG 54\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  NH1 on residue ARG 54\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  NH2 on residue ARG 54\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OG1 on residue THR 55\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG2 on residue THR 55\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue LEU 56\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD1 on residue LEU 56\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD2 on residue LEU 56\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OG  on residue SER 57\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue ASP 58\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OD1 on residue ASP 58\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OD2 on residue ASP 58\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue TYR 59\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD1 on residue TYR 59\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD2 on residue TYR 59\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CE1 on residue TYR 59\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CE2 on residue TYR 59\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CZ  on residue TYR 59\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OH  on residue TYR 59\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue ASN 60\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OD1 on residue ASN 60\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  ND2 on residue ASN 60\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG1 on residue ILE 61\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG2 on residue ILE 61\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD1 on residue ILE 61\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue GLN 62\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD  on residue GLN 62\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OE1 on residue GLN 62\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  NE2 on residue GLN 62\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue LYS 63\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD  on residue LYS 63\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CE  on residue LYS 63\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  NZ  on residue LYS 63\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue GLU 64\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD  on residue GLU 64\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OE1 on residue GLU 64\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OE2 on residue GLU 64\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OG  on residue SER 65\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OG1 on residue THR 66\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG2 on residue THR 66\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue LEU 67\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD1 on residue LEU 67\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD2 on residue LEU 67\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue HIS 68\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  ND1 on residue HIS 68\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD2 on residue HIS 68\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CE1 on residue HIS 68\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  NE2 on residue HIS 68\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue LEU 69\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD1 on residue LEU 69\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD2 on residue LEU 69\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG1 on residue VAL 70\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG2 on residue VAL 70\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue LEU 71\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD1 on residue LEU 71\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD2 on residue LEU 71\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue ARG 72\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD  on residue ARG 72\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  NE  on residue ARG 72\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CZ  on residue ARG 72\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  NH1 on residue ARG 72\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  NH2 on residue ARG 72\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue LEU 73\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD1 on residue LEU 73\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD2 on residue LEU 73\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CG  on residue ARG 74\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CD  on residue ARG 74\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  NE  on residue ARG 74\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  CZ  on residue ARG 74\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  NH1 on residue ARG 74\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  NH2 on residue ARG 74\n",
      "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom:  OXT on residue GLY:CtermProteinFull 76\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 1 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 2 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 3 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 4 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 5 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 6 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 7 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 8 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 9 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 10 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 11 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 12 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 13 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 14 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 15 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 16 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 17 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 18 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 19 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 20 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 21 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 22 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 23 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 24 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 25 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 26 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 27 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 28 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 29 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 30 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 31 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 32 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 33 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 34 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 35 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 36 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 37 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 38 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 39 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 40 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 41 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 42 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 43 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 44 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 45 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 46 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 47 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 48 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 49 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 50 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 51 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 52 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 53 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 54 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 55 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 56 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 57 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 58 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 59 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 60 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 61 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 62 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 63 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 64 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 65 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 66 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 67 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 68 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 69 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 70 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 71 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 72 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 73 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 74 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 75 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.io.pose_from_sfr.PoseFromSFRBuilder: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m can't find pose atom for file-residue 76 atom  CEN (trying to store temperature in PDBInfo)\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 1 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 2 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 3 because of missing atom number 6 atom name  CG1\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 4 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 5 because of missing atom number 6 atom name  CG1\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 6 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 7 because of missing atom number 6 atom name  OG1\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 8 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 9 because of missing atom number 6 atom name  OG1\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 11 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 12 because of missing atom number 6 atom name  OG1\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 13 because of missing atom number 6 atom name  CG1\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 14 because of missing atom number 6 atom name  OG1\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 15 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 16 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 17 because of missing atom number 6 atom name  CG1\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 18 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 19 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 20 because of missing atom number 6 atom name  OG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 21 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 22 because of missing atom number 6 atom name  OG1\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 23 because of missing atom number 6 atom name  CG1\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 24 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 25 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 26 because of missing atom number 6 atom name  CG1\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 27 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 29 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 30 because of missing atom number 6 atom name  CG1\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 31 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 32 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 33 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 34 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 36 because of missing atom number 6 atom name  CG1\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 37 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 38 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 39 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 40 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 41 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 42 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 43 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 44 because of missing atom number 6 atom name  CG1\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 45 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 48 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 49 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 50 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 51 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 52 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 54 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 55 because of missing atom number 6 atom name  OG1\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 56 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 57 because of missing atom number 6 atom name  OG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 58 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 59 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 60 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 61 because of missing atom number 6 atom name  CG1\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 62 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 63 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 64 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 65 because of missing atom number 6 atom name  OG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 66 because of missing atom number 6 atom name  OG1\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 67 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 68 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 69 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 70 because of missing atom number 6 atom name  CG1\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 71 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 72 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 73 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.pack_missing_sidechains: {0} \u001b[0mpacking residue number 74 because of missing atom number 6 atom name  CG\n",
      "\u001b[0mcore.pack.task: {0} \u001b[0mPacker task: initialize from command line()\n",
      "\u001b[0mcore.scoring.ScoreFunctionFactory: {0} \u001b[0mSCOREFUNCTION: \u001b[32mref2015\u001b[0m\n",
      "\u001b[0mcore.scoring.etable: {0} \u001b[0mStarting energy table calculation\n",
      "\u001b[0mcore.scoring.etable: {0} \u001b[0msmooth_etable: changing atr/rep split to bottom of energy well\n",
      "\u001b[0mcore.scoring.etable: {0} \u001b[0msmooth_etable: spline smoothing lj etables (maxdis = 6)\n",
      "\u001b[0mcore.scoring.etable: {0} \u001b[0msmooth_etable: spline smoothing solvation etables (max_dis = 6)\n",
      "\u001b[0mcore.scoring.etable: {0} \u001b[0mFinished calculating energy tables.\n",
      "\u001b[0mbasic.io.database: {0} \u001b[0mDatabase file opened: scoring/score_functions/hbonds/ref2015_params/HBPoly1D.csv\n",
      "\u001b[0mbasic.io.database: {0} \u001b[0mDatabase file opened: scoring/score_functions/hbonds/ref2015_params/HBFadeIntervals.csv\n",
      "\u001b[0mbasic.io.database: {0} \u001b[0mDatabase file opened: scoring/score_functions/hbonds/ref2015_params/HBEval.csv\n",
      "\u001b[0mbasic.io.database: {0} \u001b[0mDatabase file opened: scoring/score_functions/hbonds/ref2015_params/DonStrength.csv\n",
      "\u001b[0mbasic.io.database: {0} \u001b[0mDatabase file opened: scoring/score_functions/hbonds/ref2015_params/AccStrength.csv\n",
      "\u001b[0mbasic.io.database: {0} \u001b[0mDatabase file opened: scoring/score_functions/rama/fd/all.ramaProb\n",
      "\u001b[0mbasic.io.database: {0} \u001b[0mDatabase file opened: scoring/score_functions/rama/fd/prepro.ramaProb\n",
      "\u001b[0mbasic.io.database: {0} \u001b[0mDatabase file opened: scoring/score_functions/omega/omega_ppdep.all.txt\n",
      "\u001b[0mbasic.io.database: {0} \u001b[0mDatabase file opened: scoring/score_functions/omega/omega_ppdep.gly.txt\n",
      "\u001b[0mbasic.io.database: {0} \u001b[0mDatabase file opened: scoring/score_functions/omega/omega_ppdep.pro.txt\n",
      "\u001b[0mbasic.io.database: {0} \u001b[0mDatabase file opened: scoring/score_functions/omega/omega_ppdep.valile.txt\n",
      "\u001b[0mbasic.io.database: {0} \u001b[0mDatabase file opened: scoring/score_functions/P_AA_pp/P_AA\n",
      "\u001b[0mbasic.io.database: {0} \u001b[0mDatabase file opened: scoring/score_functions/P_AA_pp/P_AA_n\n",
      "\u001b[0mcore.scoring.P_AA: {0} \u001b[0mshapovalov_lib::shap_p_aa_pp_smooth_level of 1( aka low_smooth ) got activated.\n",
      "\u001b[0mbasic.io.database: {0} \u001b[0mDatabase file opened: scoring/score_functions/P_AA_pp/shapovalov/10deg/kappa131/a20.prop\n",
      "\u001b[0mbasic.io.database: {0} \u001b[0mDatabase file opened: scoring/score_functions/elec_cp_reps.dat\n",
      "\u001b[0mcore.scoring.elec.util: {0} \u001b[0mRead 40 countpair representative atoms\n",
      "\u001b[0mcore.pack.dunbrack.RotamerLibrary: {0} \u001b[0mshapovalov_lib_fixes_enable option is true.\n",
      "\u001b[0mcore.pack.dunbrack.RotamerLibrary: {0} \u001b[0mshapovalov_lib::shap_dun10_smooth_level of 1( aka lowest_smooth ) got activated.\n",
      "\u001b[0mcore.pack.dunbrack.RotamerLibrary: {0} \u001b[0mBinary rotamer library selected: /opt/miniconda3/lib/python3.7/site-packages/pyrosetta/database/rotamer/shapovalov/StpDwn_0-0-0/Dunbrack10.lib.bin\n",
      "\u001b[0mcore.pack.dunbrack.RotamerLibrary: {0} \u001b[0mUsing Dunbrack library binary file '/opt/miniconda3/lib/python3.7/site-packages/pyrosetta/database/rotamer/shapovalov/StpDwn_0-0-0/Dunbrack10.lib.bin'.\n",
      "\u001b[0mcore.pack.dunbrack.RotamerLibrary: {0} \u001b[0mDunbrack 2010 library took 0.195489 seconds to load from binary\n",
      "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 1391 rotamers at 68 positions.\n",
      "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mRequesting all available threads for interaction graph computation.\n",
      "\u001b[0mcore.pack.interaction_graph.interaction_graph_factory: {0} \u001b[0mInstantiating DensePDInteractionGraph\n",
      "\u001b[0mbasic.thread_manager.RosettaThreadManager: {?} \u001b[0mCreating a thread pool of 1 threads.\n",
      "\u001b[0mbasic.thread_manager.RosettaThreadPool: {?} \u001b[0mLaunched 0 new threads.\n",
      "\u001b[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n",
      "True\n"
     ]
    }
   ],
   "source": [
    "# 此时进行第三步,将质心描述转化为全原子描述\n",
    "# 可以直接从已经变成centroid描述的pose_1ubq开始操作\n",
    "to_fullatom.apply(pose_1ubq)\n",
    "\n",
    "# 也可以从./data/1ubq_clean_centroid.pdb重新读入\n",
    "pose_1ubq_centroid = pose_from_pdb(\"./data/1ubq_clean_centroid.pdb\")\n",
    "print(pose_1ubq_centroid.is_fullatom())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "在这里注意pose_from_pdb函数将会直接将原本为质心描述的构象转化为全原子描述!\n",
    "\n",
    "查看输出日志可以发现 [ WARNING ] discarding xx atoms at position xx in file\n",
    "\n",
    "这种信息经常出现,这就是Rosetta的运行逻辑决定的,该函数会检查侧链残基,发现CEN就全部丢弃掉,然后按照理想的氨基酸侧链补全了缺失的原子,并进行了一定的侧链的能量优化。\n",
    "\n",
    "**因此如果从PDB文件读入并生成Pose时,使用init('-use_input_sc')可以保留原始的结构侧链信息。**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 输出再次pack上侧链的全原子构象\n",
    "pose_1ubq.dump_pdb(\"./data/1ubq_clean_newfullatom.pdb\")\n",
    "\n",
    "# 输出从质心PDB文件读取、恢复的全原子构象\n",
    "pose_1ubq_centroid.dump_pdb(\"./data/1ubq_clean_newfullatom2.pdb\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 思考"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "1. 1ubq_clean_newfullatom.pdb文件和1ubq_clean.pdb文件的构象有什么区别?为什么会有这种区别?(难度指数:*)\n",
    "\n",
    "![title](./img/1ubq_fullatom.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "2. 1ubq_clean_newfullatom.1ubq_clean_newfullatom2.pdb文件的构象有什么区别?为什么会有这种区别?(难度指数:***)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}