应用介绍
PyRosetta是Rosetta的重要Python接口,该大分子Python包提供了大量Rosetta底层的类和函数调用API,可以说PyRosetta是媲美大分子药物开发领域的“ RDkit ”。 该Python接口是由JHU大学的 Jeffery Gray 教授实验室领头开发,随着近年来Python语言的大热,越来越多人采用PyRosetta进行开发。
使用指南
软件路径
/opt/app/sif/rosetta.sif
使用示例
申请环境并登录
salloc -p <gpu-partition> --gres=gpu:1
ssh gpuXX
进入环境
/opt/app/singularity/bin/singularity exec /opt/app/sif/rosetta.sif bash
验证软件
python
import pyrosetta; pyrosetta.init()

下载PDB文件
https://hpc.cloud/assets/files/2025-04-16/1744790955-683343-5tj3.bin
mv 1744790955-683343-5tj3.bin 5tj3.pdb
FastRelax demo脚本
# 初始化及导入蛋白
from pyrosetta import *
from pyrosetta.toolbox import cleanATOM
init()
cleanATOM('5tj3.pdb')
pose = pose_from_pdb("5tj3.clean.pdb")
# 设置打分函数
sf = create_score_function("ref2015")
sf.set_weight(rosetta.core.scoring.atom_pair_constraint, 5)
sf.set_weight(rosetta.core.scoring.dihedral_constraint, 1)
sf.set_weight(rosetta.core.scoring.angle_constraint, 1)
#确定蛋白的移动部分
mmap = MoveMap()
mmap.set_bb(True) #可移动主链
mmap.set_chi(True) #可移动侧链
mmap.set_jump(True) #可蛋白之间可相对移动
#设置relax的参数
relax = rosetta.protocols.relax.FastRelax()
relax.set_scorefxn(sf)
relax.max_iter(200)
relax.dualspace(True)
relax.set_movemap(mmap)
# 对蛋白进行relax
relax.apply(pose)
#导出蛋白,保存为5tj3.out.pdb
pose.dump_pdb('5tj3.out.pdb')
运行程序
python test.py

结果

参考链接
pyrosetta