{ "cells": [ { "cell_type": "markdown", "id": "destroyed-catholic", "metadata": {}, "source": [ "## TaskOperation & PackTask\n", "\n", "@Author: 吴炜坤\n", "\n", "@email:weikun.wu@xtalpi.com/weikunwu@163.com" ] }, { "cell_type": "markdown", "id": "promising-budapest", "metadata": {}, "source": [ "上一节,我们详细介绍了Rotamer以及Rosetta Packer的基本工作原理。Packer有三种工作方式: “Repacking”、“Rotamer Trial”和“Design”。其中Rotamer就有可能存在3种基本状态:\n", "- Repacking: 该位点处Rotamer类型只能是同一种氨基酸;\n", "- Design: 该位点上Rotamer类型可以是多种氨酸;\n", "- Fixed: 该位点Rotamer不允许发生变化。" ] }, { "cell_type": "markdown", "id": "cosmetic-nothing", "metadata": {}, "source": [ "在本章节中,读者将学习到如何使用TaskOperations来控制Rotamer在Packer中的“行为规范”。" ] }, { "cell_type": "markdown", "id": "objective-sport", "metadata": {}, "source": [ "### 一、PackerTask与TaskFactory" ] }, { "cell_type": "markdown", "id": "maritime-security", "metadata": {}, "source": [ "如果把Packer想象成一位“蛋白构建大师”,他正在将一些建筑材料(Rotamer)安装在地基上(Backbone的$C_{\\alpha}$原子)。**但是在施工之前,建筑大师必须知道他需要在每个地基点上能安装什么材料**,并且经过他的深思熟虑(模拟退火)来构建出最完美的艺术品。此时,他需要我们的帮助,给他一张施工的蓝图。而这张蓝图就是PackerTask。\n", "\n", "<center><img src=\"./img/PackerTask.jpg\" width = \"700\" height = \"200\" align=center /></center>\n", "(图片来源: 晶泰科技团队)" ] }, { "cell_type": "code", "execution_count": 1, "id": "matched-northwest", "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=-778071707 seed_offset=0 real_seed=-778071707 thread_index=0\n", "\u001b[0mbasic.random.init_random_generator: {0} \u001b[0mRandomGenerator:init: Normal mode, seed=-778071707 RG_type=mt19937\n", "\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.684034 seconds.\n", "\u001b[0mcore.import_pose.import_pose: {0} \u001b[0mFile './data/helix.pdb' automatically determined to be of type PDB\n", "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom: OXT on residue GLY:CtermProteinFull 14\n" ] } ], "source": [ "# 初始化PyRosetta并读取一段螺旋结构的PDB。\n", "from pyrosetta import *\n", "init()\n", "pose = pose_from_pdb('./data/helix.pdb')" ] }, { "cell_type": "markdown", "id": "stuffed-procurement", "metadata": {}, "source": [ "**PackerTask需要从TaskFactory中进行自动生成。**" ] }, { "cell_type": "code", "execution_count": 2, "id": "powered-management", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "#Packer_Task\n", "\n", "Threads to request: ALL AVAILABLE\n", "\n", "resid\tpack?\tdesign?\tallowed_aas\n", "1\tTRUE\tTRUE\tALA:NtermProteinFull,CYS:NtermProteinFull,ASP:NtermProteinFull,GLU:NtermProteinFull,PHE:NtermProteinFull,GLY:NtermProteinFull,HIS:NtermProteinFull,HIS_D:NtermProteinFull,ILE:NtermProteinFull,LYS:NtermProteinFull,LEU:NtermProteinFull,MET:NtermProteinFull,ASN:NtermProteinFull,PRO:NtermProteinFull,GLN:NtermProteinFull,ARG:NtermProteinFull,SER:NtermProteinFull,THR:NtermProteinFull,VAL:NtermProteinFull,TRP:NtermProteinFull,TYR:NtermProteinFull\n", "2\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "3\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "4\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "5\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "6\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "7\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "8\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "9\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "10\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "11\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "12\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "13\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "14\tTRUE\tTRUE\tALA:CtermProteinFull,CYS:CtermProteinFull,ASP:CtermProteinFull,GLU:CtermProteinFull,PHE:CtermProteinFull,GLY:CtermProteinFull,HIS:CtermProteinFull,HIS_D:CtermProteinFull,ILE:CtermProteinFull,LYS:CtermProteinFull,LEU:CtermProteinFull,MET:CtermProteinFull,ASN:CtermProteinFull,PRO:CtermProteinFull,GLN:CtermProteinFull,ARG:CtermProteinFull,SER:CtermProteinFull,THR:CtermProteinFull,VAL:CtermProteinFull,TRP:CtermProteinFull,TYR:CtermProteinFull\n", "\n" ] } ], "source": [ "# 从TaskFactory生成packer_task\n", "from pyrosetta.rosetta.core.pack.task import TaskFactory\n", "tf = TaskFactory()\n", "packer_task = tf.create_packer_task(pose)\n", "print(packer_task)" ] }, { "cell_type": "markdown", "id": "intellectual-camping", "metadata": {}, "source": [ "从上述结果可见,默认生成的Packer_Task包含三种数据:\n", "- 残基位点编号信息\n", "- 每个位点上,Rotamer的3种基本状态\n", "- 每个位点上,被允许氨基酸Rotamer类型" ] }, { "cell_type": "markdown", "id": "gross-equity", "metadata": {}, "source": [ "**并且默认的PackerTask是运行每个位点都包含20种氨基酸的Rotamer**" ] }, { "cell_type": "markdown", "id": "compressed-middle", "metadata": {}, "source": [ "### 二、什么是TaskOperations?\n", "\n", "TaskOperations直译的意思即为\"任务操作元件\", **TaskOperations被TaskFactory加载并创建PackerTask。**" ] }, { "cell_type": "markdown", "id": "electric-stranger", "metadata": {}, "source": [ "TaskOperations可以直观的理解为对**指定位点氨基酸的Rotamer自由度进行消减的过程**,类似做雕刻的过程,一开始默认的PackerTask允许所有20种氨基酸的Rotamer的出现,在加载不同的TaskOperations后,PackerTask的Rotamer自由度开始不断的缩减,直到满足用户设定的需求。其中一点是非常重要的。**一旦将Rotamer的自由度缩减后,将无法在PackerTask中重新被激活。** 如,第一个TaskOperations设定5号位点为“Fixed“的状态,第二个TaskOperations再重新设定5号位点为“Repacking“的状态。TaskFactory生成的PackerTask中5号位点**依然为“Fixed(No_repack)“的状态**。从底层逻辑来理解,TaskFactory将所有的TaskOperations中取Rotamer自由度越小的那个状态来生成PackerTask。" ] }, { "cell_type": "markdown", "id": "fatty-swiss", "metadata": {}, "source": [ "<center><img src=\"./img/taskop_turnoff.png\" width = \"500\" height = \"200\" align=center /></center>\n", "(图片来源: jadolfbr@gmail.com提供的ppt)" ] }, { "cell_type": "markdown", "id": "oriental-saskatchewan", "metadata": {}, "source": [ "小结: \n", "* TaskOperations的三层自由度级别: Design/Repack/No_repack;\n", "* TaskOperations形象地类似于\"冰雕设计\", 它的作用是告诉TaskFactory在Pose中每个位点的Rotamer自由度大小;\n", "* 一旦一个氨基酸或区域被设计定为低自由度状态时,那么这个位点将不能被重新设定为高自由度状态。" ] }, { "cell_type": "markdown", "id": "separated-marble", "metadata": {}, "source": [ "### 三、TaskOperations的分类" ] }, { "cell_type": "markdown", "id": "suffering-adobe", "metadata": {}, "source": [ "TaskOperation从构建逻辑上来分类共计有两种类型:\n", "\n", "* Residue Level TaskOperations: 根据Selector设定选择范围内位点的Rotamer自由度(手动挡);\n", "* Specialized Operations: 根据预设好逻辑,对位点进行全局Rotamer操作(自动挡);" ] }, { "cell_type": "markdown", "id": "periodic-transition", "metadata": {}, "source": [ "#### 3.1 Residue Level TaskOperations的使用示例" ] }, { "cell_type": "markdown", "id": "saved-roberts", "metadata": {}, "source": [ "Residue Level TaskOperations(RLT)一般需要配合Selector来指定操作的范围。用户可以直观地将RLT理解为一个**自定义版本的Specialized Operations**。\n", "\n", "**特别注意的是:RLT是无法直接被TaskFactory所读取,其必须通过OperateOnResidueSubset函数来生成一个标准的TaskOperations。**" ] }, { "cell_type": "markdown", "id": "described-baptist", "metadata": {}, "source": [ "此处举一个简单RestrictToRepackingRLT(顾明思议此RTL是将Rotamer约束到现有氨基酸类型上。)应用的例子:" ] }, { "cell_type": "code", "execution_count": 3, "id": "fluid-teaching", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "#Packer_Task\n", "\n", "Threads to request: ALL AVAILABLE\n", "\n", "resid\tpack?\tdesign?\tallowed_aas\n", "1\tTRUE\tFALSE\tASP:NtermProteinFull\n", "2\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "3\tTRUE\tFALSE\tLEU\n", "4\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "5\tTRUE\tFALSE\tLYS\n", "6\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "7\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "8\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "9\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "10\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "11\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "12\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "13\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "14\tTRUE\tTRUE\tALA:CtermProteinFull,CYS:CtermProteinFull,ASP:CtermProteinFull,GLU:CtermProteinFull,PHE:CtermProteinFull,GLY:CtermProteinFull,HIS:CtermProteinFull,HIS_D:CtermProteinFull,ILE:CtermProteinFull,LYS:CtermProteinFull,LEU:CtermProteinFull,MET:CtermProteinFull,ASN:CtermProteinFull,PRO:CtermProteinFull,GLN:CtermProteinFull,ARG:CtermProteinFull,SER:CtermProteinFull,THR:CtermProteinFull,VAL:CtermProteinFull,TRP:CtermProteinFull,TYR:CtermProteinFull\n", "\n" ] } ], "source": [ "from pyrosetta.rosetta.core.pack.task.operation import RestrictToRepackingRLT, OperateOnResidueSubset\n", "from pyrosetta.rosetta.core.select.residue_selector import ResidueIndexSelector\n", "# 选择氨基酸范围\n", "select_pos3 = ResidueIndexSelector('1,3,5')\n", "\n", "# 使用OperateOnResidueSubset生成TaskOperations\n", "packing_taskop = OperateOnResidueSubset(RestrictToRepackingRLT(), select_pos3, False)\n", "\n", "# 将TaskOperations加载至TaskFactory中\n", "pack_tf = TaskFactory()\n", "pack_tf.push_back(packing_taskop)\n", "\n", "# 生成PackerTask\n", "packer_task = pack_tf.create_task_and_apply_taskoperations(pose)\n", "print(packer_task)" ] }, { "cell_type": "markdown", "id": "mental-endorsement", "metadata": {}, "source": [ "此时,通过PackerTask我们可以观测到,我们选择的1,3,5号氨基酸都只被允许为进行pack,氨基酸的类型也只剩下pose中原本的氨基酸类型。" ] }, { "cell_type": "markdown", "id": "approximate-level", "metadata": {}, "source": [ "除了RestrictToRepackingRLT以外,还有许多其他7种常用的RTL类型,此处做一个简单的列表解释用途:\n", "- RestrictToRepackingRLT: 将Rotamer自由度设置为repacking\n", "- PreventRepackingRLT: 将Rotamer自由度设置为no_repack\n", "- RestrictAbsentCanonicalAASExceptNativeRLT: 将Rotamer自由度限定在给定的氨基酸类型列表,并允许保留当前位点氨基酸类型的Rotamer\n", "- RestrictAbsentCanonicalAASRLT: 将Rotamer自由度限定在给定的氨基酸类型列表。\n", "- DisallowIfNonnativeRLT: 将Rotamer自由度限定在**非给定的氨基酸类型列表**,并允许保留当前位点氨基酸类型的Rotamer\n", "- IncludeCurrentRLT: 设定Packer在执行期间,考虑Pose输入时的Rotamer状态(并非全部忘记)。\n", "- ExtraRotamersGenericRLT: 设定在Rotamer采样中,是否考虑增加额外的数量,否则仅会考虑理想型的Rotamer。 \n", "\n", "上述的这些RTL和Selector就可以组合成任意的TaskOperations,更多RLT的API用法请参考TaskOperations API详解相关的章节。" ] }, { "cell_type": "markdown", "id": "given-hobby", "metadata": {}, "source": [ "#### 思考\n", "如果将OperateOnResidueSubset中的False转变为True,PackerTask会发生什么变化?" ] }, { "cell_type": "markdown", "id": "taken-rolling", "metadata": {}, "source": [ "#### 3.2 Specialized Operations的使用示例" ] }, { "cell_type": "markdown", "id": "identical-history", "metadata": {}, "source": [ "Specialized Operations其实就是开发者预先设定好一些应用场景的TaskOperations,这类TaskOperations可以直接被TaskFactory所读取,一般的这种TaskOperations的应用范围都是全局性。" ] }, { "cell_type": "code", "execution_count": 4, "id": "lined-prayer", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "#Packer_Task\n", "\n", "Threads to request: ALL AVAILABLE\n", "\n", "resid\tpack?\tdesign?\tallowed_aas\n", "1\tTRUE\tFALSE\tASP:NtermProteinFull\n", "2\tTRUE\tFALSE\tGLU\n", "3\tTRUE\tFALSE\tLEU\n", "4\tTRUE\tFALSE\tGLN\n", "5\tTRUE\tFALSE\tLYS\n", "6\tTRUE\tFALSE\tTRP\n", "7\tTRUE\tFALSE\tVAL\n", "8\tTRUE\tFALSE\tGLU\n", "9\tTRUE\tFALSE\tGLN\n", "10\tTRUE\tFALSE\tALA\n", "11\tTRUE\tFALSE\tGLU\n", "12\tTRUE\tFALSE\tARG\n", "13\tTRUE\tFALSE\tASN\n", "14\tTRUE\tFALSE\tGLY:CtermProteinFull\n", "\n" ] } ], "source": [ "from pyrosetta.rosetta.core.pack.task.operation import RestrictToRepacking\n", "\n", "# 将TaskOperations加载至TaskFactory中\n", "pack_tf = TaskFactory()\n", "pack_tf.push_back(RestrictToRepacking())\n", "\n", "# 生成PackerTask\n", "packer_task = pack_tf.create_task_and_apply_taskoperations(pose)\n", "print(packer_task)" ] }, { "cell_type": "markdown", "id": "funny-nylon", "metadata": {}, "source": [ "可见所有位点都被限制为repacking的状态,更多Specialized Operations的API用法请参考TaskOperations API详解相关的章节。" ] }, { "cell_type": "markdown", "id": "convenient-virginia", "metadata": { "tags": [] }, "source": [ "### 四、Pack Rotamer相关Mover" ] }, { "cell_type": "markdown", "id": "recovered-survivor", "metadata": {}, "source": [ "#### 4.1 PackRotamersMover" ] }, { "cell_type": "markdown", "id": "grateful-patio", "metadata": {}, "source": [ "上述内容已经清楚地阐释了PackerTask的作用,以及如何去利用TaskOperations和TaskFactory去生成特定用途的PackerTask。当有了这张清晰的“蓝图文件后”,就实际地在Pose结构上进行“施工”,而真正执行任务的Mover大多可以在pyrosetta.rosetta.protocols.minimization_packing的API下找到。此处我们以最简单的PackRotamersMover做实例示范。" ] }, { "cell_type": "code", "execution_count": 5, "id": "adjusted-chemical", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\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[0mcore.import_pose.import_pose: {0} \u001b[0mFile './data/helix.pdb' automatically determined to be of type PDB\n", "\u001b[0mcore.conformation.Conformation: {0} \u001b[0m\u001b[1m[ WARNING ]\u001b[0m missing heavyatom: OXT on residue GLY:CtermProteinFull 14\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.182942 seconds to load from binary\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 182 rotamers at 14 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" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from pyrosetta.rosetta.protocols.minimization_packing import PackRotamersMover\n", "from pyrosetta import create_score_function\n", "pack_mover = PackRotamersMover()\n", "ref2015 = create_score_function('ref2015')\n", "pose = pose_from_pdb('./data/helix.pdb')\n", "\n", "# 不需要导入PackTask,只需要输入TaskFactory即可。\n", "pack_mover.task_factory(pack_tf)\n", "pack_mover.score_function(ref2015)\n", "\n", "# 执行repacking\n", "pack_mover.apply(pose)\n", "pose.dump_pdb('./data/repacked.pdb')" ] }, { "cell_type": "markdown", "id": "operational-ridge", "metadata": {}, "source": [ "对比原始输入结构和repack之后的结构变化,发现只有侧链的rotamer发生了变化,和预期一致。\n", "<center><img src=\"./img/repacking_conf.png\" width = \"600\" height = \"200\" align=center /></center>\n", "(图片来源: 晶泰科技团队)" ] }, { "cell_type": "markdown", "id": "private-fetish", "metadata": {}, "source": [ "#### 4.2 FastRelax" ] }, { "cell_type": "markdown", "id": "classical-andorra", "metadata": {}, "source": [ "上述的介绍的PackRotamersMover所做的就仅仅是处理侧链构象相关的模拟退火过程。但是在实际应用中Rosetta常常交替式运行Packer和Minimizer(MinMover),这类组合型的Mover常有的有FastRelaxMover以及FastDesignMover。这些Mover可以同时优化侧链和骨架去寻找能量更低的构象。" ] }, { "cell_type": "markdown", "id": "brutal-absolute", "metadata": {}, "source": [ "一张图看懂FastRelax在做什么:" ] }, { "cell_type": "markdown", "id": "marked-prize", "metadata": {}, "source": [ "<center><img src=\"./img/FastRelax.jpg\" width = \"600\" height = \"200\" align=center /></center>\n", "(图片来源: 晶泰科技团队)" ] }, { "cell_type": "code", "execution_count": 6, "id": "invalid-sweet", "metadata": { "scrolled": true, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[0mprotocols.relax.RelaxScriptManager: {0} \u001b[0mReading relax scripts list from database.\n", "\u001b[0mcore.scoring.ScoreFunctionFactory: {0} \u001b[0mSCOREFUNCTION: \u001b[32mref2015\u001b[0m\n", "\u001b[0mprotocols.relax.RelaxScriptManager: {0} \u001b[0mLooking for MonomerRelax2019.txt\n", "\u001b[0mprotocols.relax.RelaxScriptManager: {0} \u001b[0m================== Reading script file: /opt/miniconda3/lib/python3.7/site-packages/pyrosetta/database/sampling/relax_scripts/MonomerRelax2019.txt ==================\n", "\u001b[0mprotocols.relax.RelaxScriptManager: {0} \u001b[0mrepeat %%nrepeats%%\n", "\u001b[0mprotocols.relax.RelaxScriptManager: {0} \u001b[0mcoord_cst_weight 1.0\n", "\u001b[0mprotocols.relax.RelaxScriptManager: {0} \u001b[0mscale:fa_rep 0.040\n", "\u001b[0mprotocols.relax.RelaxScriptManager: {0} \u001b[0mrepack\n", "\u001b[0mprotocols.relax.RelaxScriptManager: {0} \u001b[0mscale:fa_rep 0.051\n", "\u001b[0mprotocols.relax.RelaxScriptManager: {0} \u001b[0mmin 0.01\n", "\u001b[0mprotocols.relax.RelaxScriptManager: {0} \u001b[0mcoord_cst_weight 0.5\n", "\u001b[0mprotocols.relax.RelaxScriptManager: {0} \u001b[0mscale:fa_rep 0.265\n", "\u001b[0mprotocols.relax.RelaxScriptManager: {0} \u001b[0mrepack\n", "\u001b[0mprotocols.relax.RelaxScriptManager: {0} \u001b[0mscale:fa_rep 0.280\n", "\u001b[0mprotocols.relax.RelaxScriptManager: {0} \u001b[0mmin 0.01\n", "\u001b[0mprotocols.relax.RelaxScriptManager: {0} \u001b[0mcoord_cst_weight 0.0\n", "\u001b[0mprotocols.relax.RelaxScriptManager: {0} \u001b[0mscale:fa_rep 0.559\n", "\u001b[0mprotocols.relax.RelaxScriptManager: {0} \u001b[0mrepack\n", "\u001b[0mprotocols.relax.RelaxScriptManager: {0} \u001b[0mscale:fa_rep 0.581\n", "\u001b[0mprotocols.relax.RelaxScriptManager: {0} \u001b[0mmin 0.01\n", "\u001b[0mprotocols.relax.RelaxScriptManager: {0} \u001b[0mcoord_cst_weight 0.0\n", "\u001b[0mprotocols.relax.RelaxScriptManager: {0} \u001b[0mscale:fa_rep 1\n", "\u001b[0mprotocols.relax.RelaxScriptManager: {0} \u001b[0mrepack\n", "\u001b[0mprotocols.relax.RelaxScriptManager: {0} \u001b[0mmin 0.00001\n", "\u001b[0mprotocols.relax.RelaxScriptManager: {0} \u001b[0maccept_to_best\n", "\u001b[0mprotocols.relax.RelaxScriptManager: {0} \u001b[0mendrepeat\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repeat -16.7505 0 0 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -16.7505 0 0 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -22.4175 0 0 0.022\n", "\u001b[0mcore.pack.task: {0} \u001b[0mPacker task: initialize from command line()\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 201 rotamers at 14 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[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -24.6338 0 0 0.022\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -24.4608 0 0 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -24.4789 0.000592829 0.000592829 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -24.4789 0.000592829 0.000592829 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -21.09 0.000592829 0.000592829 0.14575\n", "\u001b[0mcore.pack.task: {0} \u001b[0mPacker task: initialize from command line()\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 194 rotamers at 14 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[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -21.3231 0.000592829 0.000592829 0.14575\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -21.1753 0.000592829 0.000592829 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -21.1948 0.000882851 0.000882851 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -21.1948 0.000882851 0.000882851 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -18.4693 0.000882851 0.000882851 0.30745\n", "\u001b[0mcore.pack.task: {0} \u001b[0mPacker task: initialize from command line()\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 194 rotamers at 14 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[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -19.3676 0.000882851 0.000882851 0.30745\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -19.2377 0.000882851 0.000882851 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -19.2466 0.00116297 0.00116297 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -19.2466 0.00116297 0.00116297 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -16.7738 0.00116297 0.00116297 0.55\n", "\u001b[0mcore.pack.task: {0} \u001b[0mPacker task: initialize from command line()\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 194 rotamers at 14 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[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -16.2946 0.00116297 0.00116297 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -20.9544 0.271541 0.271541 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mMRP: 0 -20.9544 -20.9544 0.271541 0.271541\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: accept_to_best -20.9544 0.271541 0.271541 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: endrepeat -20.9544 0.271541 0.271541 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -20.9544 0.271541 0.271541 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -25.4018 0.271541 0.271541 0.022\n", "\u001b[0mcore.pack.task: {0} \u001b[0mPacker task: initialize from command line()\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 207 rotamers at 14 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[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -26.771 0.271541 0.271541 0.022\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -26.6961 0.271541 0.271541 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -26.7002 0.27138 0.27138 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -26.7002 0.27138 0.27138 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -25.2457 0.27138 0.27138 0.14575\n", "\u001b[0mcore.pack.task: {0} \u001b[0mPacker task: initialize from command line()\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 200 rotamers at 14 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[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -25.2457 0.27138 0.27138 0.14575\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -25.1438 0.27138 0.27138 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -25.1559 0.270886 0.270886 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -25.1559 0.270886 0.270886 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -23.2676 0.270886 0.270886 0.30745\n", "\u001b[0mcore.pack.task: {0} \u001b[0mPacker task: initialize from command line()\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 196 rotamers at 14 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[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -23.2676 0.270886 0.270886 0.30745\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -23.1187 0.270886 0.270886 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -23.1555 0.269967 0.269967 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -23.1555 0.269967 0.269967 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -20.3431 0.269967 0.269967 0.55\n", "\u001b[0mcore.pack.task: {0} \u001b[0mPacker task: initialize from command line()\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 195 rotamers at 14 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[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -20.3651 0.269967 0.269967 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -22.809 0.263703 0.263703 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mMRP: 1 -22.809 -22.809 0.263703 0.263703\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: accept_to_best -22.809 0.263703 0.263703 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: endrepeat -22.809 0.263703 0.263703 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -22.809 0.263703 0.263703 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -27.292 0.263703 0.263703 0.022\n", "\u001b[0mcore.pack.task: {0} \u001b[0mPacker task: initialize from command line()\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 210 rotamers at 14 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[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -27.4217 0.263703 0.263703 0.022\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -27.3649 0.263703 0.263703 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -27.3682 0.263861 0.263861 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -27.3682 0.263861 0.263861 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -26.2615 0.263861 0.263861 0.14575\n", "\u001b[0mcore.pack.task: {0} \u001b[0mPacker task: initialize from command line()\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 205 rotamers at 14 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[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -26.2615 0.263861 0.263861 0.14575\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -26.1839 0.263861 0.263861 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -26.1858 0.263953 0.263953 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -26.1858 0.263953 0.263953 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -24.7424 0.263953 0.263953 0.30745\n", "\u001b[0mcore.pack.task: {0} \u001b[0mPacker task: initialize from command line()\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 201 rotamers at 14 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[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -24.7524 0.263953 0.263953 0.30745\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -24.6407 0.263953 0.263953 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -24.6416 0.263979 0.263979 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -24.6416 0.263979 0.263979 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -22.513 0.263979 0.263979 0.55\n", "\u001b[0mcore.pack.task: {0} \u001b[0mPacker task: initialize from command line()\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 200 rotamers at 14 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[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -22.513 0.263979 0.263979 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -22.8052 0.264081 0.264081 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mMRP: 2 -22.8052 -22.809 0.263703 0.263703\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: accept_to_best -22.8052 0.264081 0.264081 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: endrepeat -22.8052 0.264081 0.264081 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -22.8052 0.264081 0.264081 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -27.2738 0.264081 0.264081 0.022\n", "\u001b[0mcore.pack.task: {0} \u001b[0mPacker task: initialize from command line()\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 210 rotamers at 14 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[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -27.3953 0.264081 0.264081 0.022\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -27.3397 0.264081 0.264081 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -27.343 0.264247 0.264247 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -27.343 0.264247 0.264247 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -26.2609 0.264247 0.264247 0.14575\n", "\u001b[0mcore.pack.task: {0} \u001b[0mPacker task: initialize from command line()\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 205 rotamers at 14 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[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -26.2608 0.264247 0.264247 0.14575\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -26.185 0.264247 0.264247 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -26.1868 0.264353 0.264353 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -26.1868 0.264353 0.264353 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -24.7752 0.264353 0.264353 0.30745\n", "\u001b[0mcore.pack.task: {0} \u001b[0mPacker task: initialize from command line()\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 201 rotamers at 14 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[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -24.7752 0.264353 0.264353 0.30745\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -24.6639 0.264353 0.264353 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -24.6648 0.264378 0.264378 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -24.6648 0.264378 0.264378 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -22.5448 0.264378 0.264378 0.55\n", "\u001b[0mcore.pack.task: {0} \u001b[0mPacker task: initialize from command line()\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 200 rotamers at 14 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[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -22.571 0.264378 0.264378 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -22.8064 0.262966 0.262966 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mMRP: 3 -22.8064 -22.809 0.263703 0.263703\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: accept_to_best -22.8064 0.262966 0.262966 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: endrepeat -22.8064 0.262966 0.262966 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -22.8064 0.262966 0.262966 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -27.2757 0.262966 0.262966 0.022\n", "\u001b[0mcore.pack.task: {0} \u001b[0mPacker task: initialize from command line()\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 210 rotamers at 14 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[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -27.4014 0.262966 0.262966 0.022\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -27.3455 0.262966 0.262966 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -27.3489 0.263132 0.263132 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -27.3489 0.263132 0.263132 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -26.2614 0.263132 0.263132 0.14575\n", "\u001b[0mcore.pack.task: {0} \u001b[0mPacker task: initialize from command line()\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 205 rotamers at 14 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[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -26.2614 0.263132 0.263132 0.14575\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -26.1851 0.263132 0.263132 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -26.1869 0.263236 0.263236 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -26.1869 0.263236 0.263236 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -24.7684 0.263236 0.263236 0.30745\n", "\u001b[0mcore.pack.task: {0} \u001b[0mPacker task: initialize from command line()\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 201 rotamers at 14 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[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -24.7684 0.263236 0.263236 0.30745\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -24.6566 0.263236 0.263236 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -24.6576 0.263258 0.263258 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -24.6576 0.263258 0.263258 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -22.5273 0.263258 0.263258 0.55\n", "\u001b[0mcore.pack.task: {0} \u001b[0mPacker task: initialize from command line()\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 200 rotamers at 14 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[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -22.5578 0.263258 0.263258 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -22.806 0.263123 0.263123 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mMRP: 4 -22.806 -22.809 0.263703 0.263703\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: accept_to_best -22.806 0.263123 0.263123 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: endrepeat -22.806 0.263123 0.263123 0.55\n", "\u001b[0mprotocols::checkpoint: {0} \u001b[0mDeleting checkpoints of FastRelax\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# FastRelax\n", "from pyrosetta.rosetta.protocols.relax import FastRelax\n", "fastrelax = FastRelax()\n", "fastrelax.set_scorefxn(ref2015)\n", "fastrelax.set_default_movemap() #使用默认的Movemap()\n", "fastrelax.apply(pose)\n", "pose.dump_pdb('./data/fastrelaxed.pdb')" ] }, { "cell_type": "markdown", "id": "consecutive-optics", "metadata": {}, "source": [ "<center><img src=\"./img/fastrelaxed.png\" width = \"600\" height = \"200\" align=center /></center>\n", "(图片来源: 晶泰科技团队)" ] }, { "cell_type": "markdown", "id": "champion-harvey", "metadata": {}, "source": [ "尽管构象没有非常大的变化,但是可见骨架和侧链是同时被优化的。" ] }, { "cell_type": "markdown", "id": "working-provision", "metadata": {}, "source": [ "#### 4.3 FastDesign" ] }, { "cell_type": "markdown", "id": "beneficial-content", "metadata": {}, "source": [ "FastDesign其实就是FastRelax的Design版本,允许序列被进行设计。此处我们定一个Task不允许1、3、5、7、9位点design,其余位点允许设计出20种氨基酸。" ] }, { "cell_type": "code", "execution_count": 7, "id": "smart-roads", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "#Packer_Task\n", "\n", "Threads to request: ALL AVAILABLE\n", "\n", "resid\tpack?\tdesign?\tallowed_aas\n", "1\tTRUE\tFALSE\tASP:NtermProteinFull\n", "2\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "3\tTRUE\tFALSE\tLEU\n", "4\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "5\tTRUE\tFALSE\tLYS\n", "6\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "7\tTRUE\tFALSE\tVAL\n", "8\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "9\tTRUE\tFALSE\tGLN\n", "10\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "11\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "12\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "13\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "14\tTRUE\tTRUE\tALA:CtermProteinFull,CYS:CtermProteinFull,ASP:CtermProteinFull,GLU:CtermProteinFull,PHE:CtermProteinFull,GLY:CtermProteinFull,HIS:CtermProteinFull,HIS_D:CtermProteinFull,ILE:CtermProteinFull,LYS:CtermProteinFull,LEU:CtermProteinFull,MET:CtermProteinFull,ASN:CtermProteinFull,PRO:CtermProteinFull,GLN:CtermProteinFull,ARG:CtermProteinFull,SER:CtermProteinFull,THR:CtermProteinFull,VAL:CtermProteinFull,TRP:CtermProteinFull,TYR:CtermProteinFull\n", "\n" ] } ], "source": [ "# 设置FastDesign的蓝图。\n", "from pyrosetta.rosetta.protocols.denovo_design.movers import FastDesign\n", "\n", "# 将TaskOperations加载至TaskFactory中\n", "# 选择氨基酸范围\n", "no_design_pos = ResidueIndexSelector('1,3,5,7,9')\n", "\n", "# 使用OperateOnResidueSubset生成TaskOperations\n", "design_taskop = OperateOnResidueSubset(RestrictToRepackingRLT(), no_design_pos, False)\n", "\n", "design_tf = TaskFactory()\n", "design_tf.push_back(design_taskop)\n", "\n", "# 生成PackerTask\n", "design_task = design_tf.create_task_and_apply_taskoperations(pose)\n", "print(design_task)" ] }, { "cell_type": "code", "execution_count": 8, "id": "computational-medicaid", "metadata": { "scrolled": true, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[0mcore.scoring.ScoreFunctionFactory: {0} \u001b[0mSCOREFUNCTION: \u001b[32mref2015\u001b[0m\n", "\u001b[0mprotocols.denovo_design.movers.FastDesign: {0} \u001b[0m#Packer_Task\n", "\u001b[0mprotocols.denovo_design.movers.FastDesign: {0} \u001b[0m\n", "\u001b[0mprotocols.denovo_design.movers.FastDesign: {0} \u001b[0mThreads to request: ALL AVAILABLE\n", "\u001b[0mprotocols.denovo_design.movers.FastDesign: {0} \u001b[0m\n", "\u001b[0mprotocols.denovo_design.movers.FastDesign: {0} \u001b[0mresid\tpack?\tdesign?\tallowed_aas\n", "\u001b[0mprotocols.denovo_design.movers.FastDesign: {0} \u001b[0m1\tTRUE\tFALSE\tASP:NtermProteinFull\n", "\u001b[0mprotocols.denovo_design.movers.FastDesign: {0} \u001b[0m2\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "\u001b[0mprotocols.denovo_design.movers.FastDesign: {0} \u001b[0m3\tTRUE\tFALSE\tLEU\n", "\u001b[0mprotocols.denovo_design.movers.FastDesign: {0} \u001b[0m4\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "\u001b[0mprotocols.denovo_design.movers.FastDesign: {0} \u001b[0m5\tTRUE\tFALSE\tLYS\n", "\u001b[0mprotocols.denovo_design.movers.FastDesign: {0} \u001b[0m6\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "\u001b[0mprotocols.denovo_design.movers.FastDesign: {0} \u001b[0m7\tTRUE\tFALSE\tVAL\n", "\u001b[0mprotocols.denovo_design.movers.FastDesign: {0} \u001b[0m8\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "\u001b[0mprotocols.denovo_design.movers.FastDesign: {0} \u001b[0m9\tTRUE\tFALSE\tGLN\n", "\u001b[0mprotocols.denovo_design.movers.FastDesign: {0} \u001b[0m10\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "\u001b[0mprotocols.denovo_design.movers.FastDesign: {0} \u001b[0m11\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "\u001b[0mprotocols.denovo_design.movers.FastDesign: {0} \u001b[0m12\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "\u001b[0mprotocols.denovo_design.movers.FastDesign: {0} \u001b[0m13\tTRUE\tTRUE\tALA,CYS,ASP,GLU,PHE,GLY,HIS,HIS_D,ILE,LYS,LEU,MET,ASN,PRO,GLN,ARG,SER,THR,VAL,TRP,TYR\n", "\u001b[0mprotocols.denovo_design.movers.FastDesign: {0} \u001b[0m14\tTRUE\tTRUE\tALA:CtermProteinFull,CYS:CtermProteinFull,ASP:CtermProteinFull,GLU:CtermProteinFull,PHE:CtermProteinFull,GLY:CtermProteinFull,HIS:CtermProteinFull,HIS_D:CtermProteinFull,ILE:CtermProteinFull,LYS:CtermProteinFull,LEU:CtermProteinFull,MET:CtermProteinFull,ASN:CtermProteinFull,PRO:CtermProteinFull,GLN:CtermProteinFull,ARG:CtermProteinFull,SER:CtermProteinFull,THR:CtermProteinFull,VAL:CtermProteinFull,TRP:CtermProteinFull,TYR:CtermProteinFull\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repeat -22.809 0 0 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -22.809 0 0 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -27.292 0 0 0.022\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 2580 rotamers at 14 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 PDInteractionGraph\n", "\u001b[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -33.9419 0 0 0.022\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -33.5386 0 0 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -33.5519 0.000789733 0.000789733 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -33.5519 0.000789733 0.000789733 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -25.7005 0.000789733 0.000789733 0.14575\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 2496 rotamers at 14 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 PDInteractionGraph\n", "\u001b[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -29.3306 0.000789733 0.000789733 0.14575\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -29.1736 0.000789733 0.000789733 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -29.1777 0.00104836 0.00104836 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -29.1777 0.00104836 0.00104836 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -26.2553 0.00104836 0.00104836 0.30745\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 2430 rotamers at 14 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 PDInteractionGraph\n", "\u001b[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -26.4018 0.00104836 0.00104836 0.30745\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -26.1935 0.00104836 0.00104836 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -26.2022 0.00144815 0.00144815 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -26.2022 0.00144815 0.00144815 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -22.2381 0.00144815 0.00144815 0.55\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 2379 rotamers at 14 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 PDInteractionGraph\n", "\u001b[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -24.1411 0.00144815 0.00144815 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -28.1179 0.140127 0.140127 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mMRP: 0 -28.1179 -28.1179 0.140127 0.140127\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: accept_to_best -28.1179 0.140127 0.140127 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: endrepeat -28.1179 0.140127 0.140127 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -28.1179 0.140127 0.140127 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -33.0957 0.140127 0.140127 0.022\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 2531 rotamers at 14 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 PDInteractionGraph\n", "\u001b[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -35.4398 0.140127 0.140127 0.022\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -35.0094 0.140127 0.140127 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -35.0213 0.139614 0.139614 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -35.0213 0.139614 0.139614 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -26.7146 0.139614 0.139614 0.14575\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 2429 rotamers at 14 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 PDInteractionGraph\n", "\u001b[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -31.3182 0.139614 0.139614 0.14575\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -31.1772 0.139614 0.139614 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -31.1813 0.139846 0.139846 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -31.1813 0.139846 0.139846 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -28.5587 0.139846 0.139846 0.30745\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 2355 rotamers at 14 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 PDInteractionGraph\n", "\u001b[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -28.7355 0.139846 0.139846 0.30745\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -28.6147 0.139846 0.139846 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -28.6157 0.139874 0.139874 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -28.6157 0.139874 0.139874 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -26.3155 0.139874 0.139874 0.55\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 2283 rotamers at 14 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 PDInteractionGraph\n", "\u001b[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -26.458 0.139874 0.139874 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -26.9144 0.0973955 0.0973955 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mMRP: 1 -26.9144 -28.1179 0.140127 0.140127\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: accept_to_best -26.9144 0.0973955 0.0973955 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: endrepeat -26.9144 0.0973955 0.0973955 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -26.9144 0.0973955 0.0973955 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -31.3626 0.0973955 0.0973955 0.022\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 2534 rotamers at 14 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 PDInteractionGraph\n", "\u001b[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -35.0507 0.0973955 0.0973955 0.022\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -34.7919 0.0973955 0.0973955 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -34.8058 0.0977755 0.0977755 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -34.8058 0.0977755 0.0977755 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -29.7448 0.0977755 0.0977755 0.14575\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 2427 rotamers at 14 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 PDInteractionGraph\n", "\u001b[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -31.4077 0.0977755 0.0977755 0.14575\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -31.2744 0.0977755 0.0977755 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -31.2787 0.0978921 0.0978921 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -31.2787 0.0978921 0.0978921 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -28.8004 0.0978921 0.0978921 0.30745\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 2359 rotamers at 14 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 PDInteractionGraph\n", "\u001b[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -28.9509 0.0978921 0.0978921 0.30745\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -28.788 0.0978921 0.0978921 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -28.7896 0.0979167 0.0979167 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -28.7896 0.0979167 0.0979167 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -25.6866 0.0979167 0.0979167 0.55\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 2280 rotamers at 14 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 PDInteractionGraph\n", "\u001b[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -26.6963 0.0979167 0.0979167 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -26.913 0.0955109 0.0955109 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mMRP: 2 -26.913 -28.1179 0.140127 0.140127\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: accept_to_best -26.913 0.0955109 0.0955109 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: endrepeat -26.913 0.0955109 0.0955109 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -26.913 0.0955109 0.0955109 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -31.3611 0.0955109 0.0955109 0.022\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 2532 rotamers at 14 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 PDInteractionGraph\n", "\u001b[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -35.0264 0.0955109 0.0955109 0.022\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -34.769 0.0955109 0.0955109 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -34.7829 0.0958909 0.0958909 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -34.7829 0.0958909 0.0958909 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -29.7486 0.0958909 0.0958909 0.14575\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 2425 rotamers at 14 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 PDInteractionGraph\n", "\u001b[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -31.388 0.0958909 0.0958909 0.14575\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -31.2539 0.0958909 0.0958909 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -31.2583 0.0960147 0.0960147 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -31.2583 0.0960147 0.0960147 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -28.7637 0.0960147 0.0960147 0.30745\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 2357 rotamers at 14 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 PDInteractionGraph\n", "\u001b[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -28.9487 0.0960147 0.0960147 0.30745\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -28.7858 0.0960147 0.0960147 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -28.7875 0.0960447 0.0960447 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -28.7875 0.0960447 0.0960447 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -25.6852 0.0960447 0.0960447 0.55\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 2280 rotamers at 14 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 PDInteractionGraph\n", "\u001b[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -26.6957 0.0960447 0.0960447 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -26.9132 0.095512 0.095512 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mMRP: 3 -26.9132 -28.1179 0.140127 0.140127\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: accept_to_best -26.9132 0.095512 0.095512 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: endrepeat -26.9132 0.095512 0.095512 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -26.9132 0.095512 0.095512 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -31.357 0.095512 0.095512 0.022\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 2532 rotamers at 14 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 PDInteractionGraph\n", "\u001b[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -35.0274 0.095512 0.095512 0.022\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -34.7696 0.095512 0.095512 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -34.7835 0.0958912 0.0958912 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -34.7835 0.0958912 0.0958912 0.02805\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -29.7421 0.0958912 0.0958912 0.14575\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 2425 rotamers at 14 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 PDInteractionGraph\n", "\u001b[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -31.3872 0.0958912 0.0958912 0.14575\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -31.2531 0.0958912 0.0958912 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -31.2575 0.0960121 0.0960121 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -31.2575 0.0960121 0.0960121 0.154\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -28.7652 0.0960121 0.0960121 0.30745\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 2357 rotamers at 14 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 PDInteractionGraph\n", "\u001b[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -28.9502 0.0960121 0.0960121 0.30745\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -28.7875 0.0960121 0.0960121 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -28.7892 0.0960411 0.0960411 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: coord_cst_weight -28.7892 0.0960411 0.0960411 0.31955\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: scale:fa_rep -25.6913 0.0960411 0.0960411 0.55\n", "\u001b[0mcore.pack.pack_rotamers: {0} \u001b[0mbuilt 2280 rotamers at 14 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 PDInteractionGraph\n", "\u001b[0mcore.pack.rotamer_set.RotamerSets: {0} \u001b[0mCompleted interaction graph pre-calculation in 1 available threads (1 had been requested).\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: repack -27.2444 0.0960411 0.0960411 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: min -28.716 0.174474 0.174474 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mMRP: 4 -28.716 -28.716 0.174474 0.174474\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: accept_to_best -28.716 0.174474 0.174474 0.55\n", "\u001b[0mprotocols.relax.FastRelax: {0} \u001b[0mCMD: endrepeat -28.716 0.174474 0.174474 0.55\n", "\u001b[0mprotocols::checkpoint: {0} \u001b[0mDeleting checkpoints of FastRelax\n", "\u001b[0mprotocols.denovo_design.movers.FastDesign: {0} \u001b[0m\n", "------------------------------------------------------------\n", " Scores Weight Raw Score Wghtd.Score\n", "------------------------------------------------------------\n", " fa_atr 1.000 -56.791 -56.791\n", " fa_rep 0.550 8.173 4.495\n", " fa_sol 1.000 61.636 61.636\n", " fa_intra_rep 0.005 21.747 0.109\n", " fa_intra_sol_xover4 1.000 2.734 2.734\n", " lk_ball_wtd 1.000 -1.989 -1.989\n", " fa_elec 1.000 -31.585 -31.585\n", " pro_close 1.250 0.000 0.000\n", " hbond_sr_bb 1.000 -9.781 -9.781\n", " hbond_lr_bb 1.000 0.000 0.000\n", " hbond_bb_sc 1.000 0.000 0.000\n", " hbond_sc 1.000 -3.564 -3.564\n", " dslf_fa13 1.250 0.000 0.000\n", " omega 0.400 1.037 0.415\n", " fa_dun 0.700 24.695 17.287\n", " p_aa_pp 0.600 -2.897 -1.738\n", " yhh_planarity 0.625 0.000 0.000\n", " ref 1.000 -5.903 -5.903\n", " rama_prepro 0.450 -8.982 -4.042\n", "---------------------------------------------------\n", " Total weighted score: -28.716\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 初始化FastDesign:\n", "fastdesign = FastDesign()\n", "fastdesign.set_scorefxn(ref2015)\n", "fastdesign.set_default_movemap() #使用默认的Movemap()\n", "fastdesign.set_task_factory(design_tf)\n", "fastdesign.apply(pose)\n", "pose.dump_pdb('./data/fastdesign.pdb')" ] }, { "cell_type": "markdown", "id": "swedish-violation", "metadata": {}, "source": [ "通过结构比对,我发现一些位点上的氨基酸类型发生了变化。\n", "<center><img src=\"./img/fastdesign.png\" width = \"500\" height = \"200\" align=center /></center>\n", "(图片来源: 晶泰科技团队)" ] }, { "cell_type": "markdown", "id": "historic-payroll", "metadata": {}, "source": [ "### 练习:\n", "1. 【LayerDesign】找一个小于60个氨基酸的小蛋白质,通过PyMOL观察,将包埋在内部的氨基酸标记,只允许这些部分设计为疏水氨基酸,其余暴露在溶液中的部分只能设计为极性氨基酸,使用相关的ResidueSelector选择并创建相关TaskOperations,最后使用FastDesign进行设计,查看设计的结果。" ] }, { "cell_type": "code", "execution_count": null, "id": "norman-footwear", "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": 5 }