安装开源版pymol

官网链接见这里:https://www.pymol.org/

但是注意有license,也就是要付费。

开源版见这里:https://github.com/schrodinger/pymol-open-source

开源版的安装见这里:https://github.com/schrodinger/pymol-open-source/blob/master/INSTALL

一,安装部分

1,手动安装并编译:hard but pleasure

有能力的,可以锻炼一下自己的折腾能力

2,Anaconda:simple but less interesting

anaconda上有开源版的pymol的conda包,即pymol-open-source可以直接安装;

mamba create -n pymol -y -c conda-forge pymol-open-source
mamba update pymol-open-source

安装之后的运行:

二,VSCode 连接远程服务器使用图形化界面(GUI)

我为什么要提这个,是因为有些新手vscode的配置没有做到位,所以在需要调用GUI的任务执行的时候会出问题,比如说计算生物学中的各种软件,都有GUI版本;

包括本篇博客中提到的pymol,也是在可视化过程中进行编辑操作。

要么在vscode中一次性的解决这个小问题,一劳永逸,

要么就使用带有GUI功能的,我见过有学生搞不定就直接跳过vscode,每次有GUI任务需求就另外开一个Mobaxterm终端使用。

比如说下面这样的问题:

很明显,这是因为PyMOL尝试使用图形界面(GUI),但在无图形环境(如服务器或SSH连接)中无法连接到X11显示服务器导致。

当然,要执行pymol的任务,并不一定需要GUI的存在,强悍的人,照样能够在命令行中像使用python一样使用pymol。

当然,这适用于在Python中使用PyMOL,也就是脚本化的pymol数据分析。

比如说:

pymol的无头模式:

# 启动PyMOL时使用无头模式
pymol -c  # -c 表示命令行模式,不启动GUI

不使用GUI的方法还有很多,比如说使用环境变量禁用GUI。

其他的做法:

设置虚拟显示器,比如说是xvfb,也就是虚拟帧缓冲器;

另外就是启用X11转发,毕竟是通过SSH连接的。

当然,如果本身就在服务器主机上,当然也可以直接安装图形化界面,比如说ubuntu-desktop;当然,如果计算机配置比较低,或者希望保持系统轻量级的话,可以考虑使用轻量级的桌面环境(比如说Xfce、LXQt等),而不是完整的Ubuntu桌面环境。

本篇博客就是针对vscode在远程连接服务器时,程序无法在本地显示图像以及使用图形化界面命令的问题,所以需要使用X协议转发的解决思路;

参考下面博客中的解决思路:

https://blog.youkuaiyun.com/Dteam_f/article/details/109806294

其实就是在本地系统安装Xming,然后在vscode中安装插件,设置连接以及环境变量等。

1,问题本身

vscode本身的远程连接插件remote-SSH,用于链接远程服务器进行编程。

但是如果程序涉及到操作显示图像,由于程序运行在服务器上(比如说上面我们要运行的pymol),无法直接将图像显示到我们的本地系统。

解决思路:

使用X协议进行转发,也就是把显示在远程服务器上的图像转发到我们的本地系统。

2,操作步骤

基本按照https://blog.youkuaiyun.com/Dteam_f/article/details/109806294

(1)安装Xming

使用的是Xming,就是将Linux图形界面输出到Windows上;

下载地址在:https://sourceforge.net/projects/xming/

需要下载的是下面两个文件:

  • Xming-6-9-0-31-setup.exe:直接在上面界面中download即可
  • Xming-fonts-7-7-0-10-setup.exe:在上面界面中下面的project activity中下载

详细安装过程:
注意在安装Xming,按照自己需求是否要安装一个ssh client。

在安装了Xming之后,字体格式也按照同样的方式安装下载。

(2)开启X11服务

在本地电脑上,注意是打开XLaunch,而不是Xming

(3)修改Xming设置

在Xming安装的目录中,找到下面的这个X0.hosts文件

在localhost中添加我们的服务器ip(按照你自己的主机设置来处理)

(4)在vscode中安装相关插件

Remote-SSH就不用说了,用vscode的应该都安装了。

其实可以看到,两个remote X11的相关插件都不再支持了;

(5)设置本地vscode Remote-SSH

按照参考博客,在自己的.ssh\config中添加下面3段,对于每一个主机,只要添加下面以Forward*开头的3行就可以了,

也就是:

  ForwardX11 yes
  ForwardX11Trusted yes
  ForwardAgent yes

(6)在服务器要使用GUI的工程中设置.vscode/launch.json

因为我目前是某个环境中安装了开源的pymol,也就没有所谓的哪个工程了,所以我就直接设置了。

然后我们需要修改vscode中的配置文件:

然后对于要使用GUI的工程中设置下图中的文件,.vscode/launch.json,

注意!!!!这个文件不是在vscode左下角的settings中搜索的,有很多新手会误以为是下面的这个配置文件:

这个文件可以参考:https://blog.youkuaiyun.com/qq_16587307/article/details/106593867

实际上的这个json文件,是在vscode左侧的run&debug中(就是左侧的这个小bug)

然后我们要添加的字段,其实就是本地电脑图形界面的ip+端口

另外就是有很多教程,可能这里说添加的不是10.0,是按照自己Xming中运行的端口来配置的,

比如说这里本地电脑运行的是0.0,我一开始也是配置0.0,但是没有成功。

但是我亲测这里是配置10.0的时候,是能够成功的(总之就是按照自己的实际情况来,可以自己探索一下哪个能够成功)

另外就是ip的问题,前面也说了,我这里因为处于同一个局域网下,所以就使用了localhost。

然后除了在这个json文件中配置这个GUI的ip以及端口以外,

(7)在服务器中设置DISPLAY的环境变量

另外就是在服务器中设置DISPLAY的环境变量:

也就是我们前面设置的ip+端口,

在上面的json文件中添加ip地址的环境变量,就是前面使用Xming中设置的host,

在向/.bashrc(/.zshrc同理)中添加环境变量,然后source更新;

因为本人服务器和本地端在同一局域网下,所以我这里就是用localhost解析了,具体使用的时候按照自己的实际情况来定。

export DISPLAY="localhost:10.0"

端口就是前面Xming中的host地址端口;

然后就是就入到之前安装的开源pymol环境中,然后就可以运行pymol了:

然后就可以愉快地玩耍了!

参考:

https://www.cnblogs.com/dechinphy/p/pymol.html

https://blog.youkuaiyun.com/Dteam_f/article/details/109806294

https://sys-blog.net/xming/

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值