使用 PyMol 自动渲染 PDB 蛋白质
下载 .pdb 文件
由于 RCSB 提供直接 HTTP 访问,此步骤很简单。
你可以使用此 shell 脚本下载任何蛋白质:
download-pdb.sh
#!/bin/bash
# donwload-pdb.sh
wget http://www.rcsb.org/pdb/files/$1.pdb使用要下载的 PDB ID 调用它,例如 1ULI:
download_example.sh
./download-pdb.sh 1ULI使用 PyMol 渲染
首先,安装 PyMol:从网站下载或直接使用你喜欢的包管理器,例如:
install_pymol.sh
sudo apt-get install pymol通过使用脚本而不是交互模式调用 PyMol,我们可以自动化渲染图像的过程 - 但是手动调整透视等可能会改善结果。
以下脚本集成了自动下载和渲染器。使用静态设置创建临时 .pml(PyMol 脚本)文件
render-pymol.sh
#!/bin/bash
# render-pymol.sh
if [ $# -eq 0 ]
then
echo "用法: render-pymol.sh <PDB ID>"
exit
fi
#下载
wget -qO $1.pdb http://www.rcsb.org/pdb/files/$1.pdb
#创建 rasmol 脚本
echo "load $1.pdb;" > $1.pml
echo "set ray_opaque_background, on;" >> $1.pml
echo "show cartoon;" >> $1.pml
echo "color purple, ss h;" >> $1.pml
echo "color yellow, ss s;" >> $1.pml
echo "ray 1500,1500;" >> $1.pml
echo "png $1.png;" >> $1.pml
echo "quit;" >> $1.pml
#执行 PyMol
pymol -qxci $1.pml
#删除临时文件
rm -rf $1.pml $1.pdb像这样调用它:
render_example.sh
./render-pymol.sh 1ULI此命令将渲染结果并将其存储在 1ULI.png 中
自定义渲染样式
要更改生成的 PNG 图像的大小,更改此行:
pml_settings.sh
echo "ray 1500,1500;" >> $1.pml数字代表生成图像的宽度和高度。注意增加图像大小会显著增加渲染图像所需的 CPU 时间,特别是对于复杂的蛋白质。在我的笔记本上使用 1500x1500px 运行 render-pymol.sh 渲染 1ULI 花了 209 秒,而 500x500 只花了 33 秒。
这些行定义了渲染蛋白质的样式:
pml_style.sh
echo "show cartoon;" >> $1.pml
echo "color purple, ss h;" >> $1.pml
echo "color yellow, ss s;" >> $1.pml而这行将背景颜色设置为透明:
pml_background.sh
echo "set ray_opaque_background, off;" >> $1.pml如果你更喜欢白色(非透明)背景,你可以在包含 load $1.pdb 的行之后添加此行:
pml_white_background.sh
echo "bg_color white;" >> $1.pml
echo "set ray_opaque_background, off;" >> $1.pml结果

Check out similar posts by category:
Bioinformatics
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow