PyMOL简单来说是一个用于分子可视化的软件包,最初由Warren Lyford DeLano开发,目前由 Schrödinger (是个企业)负责开发与维护。其图形呈现使用OpenGL库,图形化用户界面使用Tk库或Qt库。

在Windows上的安装相对比较简单,所以从Windows平台的安装开始介绍。

Windows平台安装

windows平台上的安装一般选择从预编译的二进制分发包安装。从源码安装原则上应该也是可以的,不过目前还没有成功,姑且挖个坑以后再填

从预编译二进制分发包安装

首先从Christoph Gohlke所维护的Python非官方Windows预编译包网站上下载PyMOL的预编译包
👇下载地址👇
https://www.lfd.uci.edu/~gohlke/pythonlibs/#pymol
挑选一个合适的版本下载后使用pip安装即可

:: 假设下载了Pmw‑2.0.1‑py3‑none‑any.whl和pymol‑2.3.0‑cp36‑cp36m‑win_amd64.whl
:: 下载目录为path
:: 那么
cd path
pip install Pmw‑2.0.1‑py3‑none‑any.whl
pip install pymol‑2.3.0‑cp36‑cp36m‑win_amd64.whl
:: 就可以了

从源码安装

施工中
预计完成日期:待定

Linux平台安装

这里以Ubuntu为例,其他发行版的区别应该只有包管理器的那点区别,同法理应可行。

从预编译二进制分发包安装

apt-get install pymol
# 完成了

从源码安装

源代码在GitHub上 https://github.com/schrodinger/pymol-open-source 克隆到本地之后首先检出需要的tag。就本文撰写时,有v2.2.0和v2.3.0两个tag,任选一个即可。就目前而言似乎项目代码还未使用标准的Git工作流来控制代码的开发,仅有一个master分支,因此检出tag就显得很重要了。

1. Prerequisite

  • Python3 (如果需要使用第三方插件,则应当考虑使用Python2)
  • APT包管理器安装如下包:
    • build-essential(用于编译,必须)
    • python-dev( 必须 ;使用Python3,则改为 python3-dev,以下以python-开头的包同理 )
    • python-pmw(如果使用Tk,必须)
    • libglew-dev (必须)
    • freeglut3-dev (如果不使用–glut 安装选项,可选)
    • libpng-dev (必须)
    • libfreetype6-dev (必须)
    • libxml2-dev(如果使用 –no-libxml安装选项,可选 )
    • libmsgpack-dev(用于加速MMTF文件的装载,可选)
    • python-pyqt5.qtopengl(建议,否则将会使用Tk)
    • libglm-dev(必须)

2. 安装MMTF库

PyMOL需要读取MMTF文件,因此需要额外添加编码、解码库,这里需要MMTF的C++实现。其具体实现在GitHub上https://github.com/rcsb/mmtf-cpp 。当然安装该库的前提是安装过MessagePack C++库,也就是上文所说的 libmsgpack-dev 包。
从GitHub克隆后进入目录,根据文档中的安装方法即可

mkdir build
cd build
cmake -G "Unix Makefiles" ..
sudo make install

3. 编译安装

进入克隆下来的PyMOL源代码目录执行

python setup.py install --prefix=~/pymol-build

如果希望用Python3,对应地改为python3即可。编译完成后执行~/pymol-build/bin/pymol即可启动pymol。此外如果希望使用Tk作为GUI库,那么在Ubuntu(至少在18.04上)有一个小bug——Ubuntu安装Tk和Tcl会在Include目录下建立一个Tk文件夹和Tcl文件夹以便多版本共存,那么源代码中写的<#include Tk.h>自然就会引发无法找到头文件的问题,因为理论上应该写作<#include Tk/Tk.h>。那么一种思路就是修改源文件,另一种更加方便的策略就是将Tk和Tcl文件夹加入编译的Include目录列表中。

留下评论