技术背景

PyMol是一个类似于VMD的分子可视化工具,也是在PyQt的基础上开发的。但是由于其商业化运营,软件分为了教育版、开源版和商业版三个版本。其中教育版会有水印,商业版要收费,但是官方不提供开源版本的安装方法。按照参考链接1的内容,可以在Windows系统上面安装一个开源版本的PyMol,但是该发行版只有Windows平台的编译包。所以如果需要在Linux上安装PyMol,就只能在Github上面下载源码进行编译构建。

但是经过数番尝试,在编译过程中会遇到不少问题,尤其是在手动构建netcdf的时候,总是提示无法构建。在经过多个平台的检索之后,最终发现在Anaconda的库中有一个名为pymol-open-source的包,详情可见参考链接2。这个包就是PyMol的开源版本,但是网上几乎很难找到这个包的相关信息。它不仅仅是开源版,还几乎支持了全平台的使用,本文主要简单介绍一下这个包的安装和简单使用。

安装pymol-open-source

在本地的conda环境下,直接执行如下指令,即可自动完成安装:

$ conda install -c conda-forge pymol-open-source
Collecting package metadata (current_repodata.json): done
Solving environment: done ==> WARNING: A newer version of conda exists. <==
current version: 23.1.0
latest version: 23.5.0 Please update conda by running $ conda update -n base -c defaults conda Or to minimize the number of packages updated during conda update use conda install conda=23.5.0 ## Package Plan ## environment location: /home/dechin/anaconda3/envs/mindsponge added / updated specs:
- pymol-open-source The following packages will be downloaded: package | build
---------------------------|-----------------
glm-0.9.9.8 | h00ab1b0_0 213 KB conda-forge
hdf5-1.12.2 |nompi_h4df4325_101 3.2 MB conda-forge
libnetcdf-4.8.1 |nompi_h21705cb_104 1.5 MB conda-forge
pymol-open-source-2.5.0 | py39hc95a48e_6 6.8 MB conda-forge
xorg-libxau-1.0.11 | hd590300_0 14 KB conda-forge
------------------------------------------------------------
Total: 11.7 MB The following NEW packages will be INSTALLED: c-ares conda-forge/linux-64::c-ares-1.19.1-hd590300_0
curl conda-forge/linux-64::curl-8.1.2-h409715c_0
dbus anaconda/pkgs/main/linux-64::dbus-1.13.18-hb2f20db_0
expat conda-forge/linux-64::expat-2.5.0-hcb278e6_1
fontconfig conda-forge/linux-64::fontconfig-2.14.2-h14ed4e7_0
gettext conda-forge/linux-64::gettext-0.21.1-h27087fc_0
glew conda-forge/linux-64::glew-2.1.0-h9c3ff4c_2
glib conda-forge/linux-64::glib-2.76.3-hfc55251_0
glib-tools conda-forge/linux-64::glib-tools-2.76.3-hfc55251_0
glm conda-forge/linux-64::glm-0.9.9.8-h00ab1b0_0
gst-plugins-base anaconda/pkgs/main/linux-64::gst-plugins-base-1.14.1-h6a678d5_1
gstreamer anaconda/pkgs/main/linux-64::gstreamer-1.14.1-h5eee18b_1
hdf4 conda-forge/linux-64::hdf4-4.2.15-h9772cbc_5
hdf5 conda-forge/linux-64::hdf5-1.12.2-nompi_h4df4325_101
icu conda-forge/linux-64::icu-58.2-hf484d3e_1000
keyutils conda-forge/linux-64::keyutils-1.6.1-h166bdaf_0
krb5 conda-forge/linux-64::krb5-1.20.1-h81ceb04_0
libaec conda-forge/linux-64::libaec-1.0.6-hcb278e6_1
libclang anaconda/pkgs/main/linux-64::libclang-10.0.1-default_hb85057a_2
libcurl conda-forge/linux-64::libcurl-8.1.2-h409715c_0
libedit conda-forge/linux-64::libedit-3.1.20191231-he28a2e2_2
libev conda-forge/linux-64::libev-4.33-h516909a_1
libevent conda-forge/linux-64::libevent-2.1.12-hf998b51_1
libexpat conda-forge/linux-64::libexpat-2.5.0-hcb278e6_1
libglib conda-forge/linux-64::libglib-2.76.3-hebfc3b9_0
libglu conda-forge/linux-64::libglu-9.0.0-hac7e632_1002
libiconv conda-forge/linux-64::libiconv-1.17-h166bdaf_0
libllvm10 conda-forge/linux-64::libllvm10-10.0.1-he513fc3_3
libnetcdf conda-forge/linux-64::libnetcdf-4.8.1-nompi_h21705cb_104
libnghttp2 conda-forge/linux-64::libnghttp2-1.52.0-h61bc06f_0
libpq anaconda/pkgs/main/linux-64::libpq-12.15-hdbd6064_1
libssh2 conda-forge/linux-64::libssh2-1.11.0-h0841786_0
libxcb conda-forge/linux-64::libxcb-1.15-h0b41bf4_0
libxkbcommon anaconda/pkgs/main/linux-64::libxkbcommon-1.0.1-hfa300c1_0
libxml2 anaconda/pkgs/main/linux-64::libxml2-2.9.14-h74e7548_0
libxslt anaconda/pkgs/main/linux-64::libxslt-1.1.35-h4e12654_0
libzip conda-forge/linux-64::libzip-1.9.2-hc929e4a_1
nspr conda-forge/linux-64::nspr-4.35-h27087fc_0
nss conda-forge/linux-64::nss-3.89-he45b914_0
pcre2 conda-forge/linux-64::pcre2-10.40-hc3806b6_0
ply conda-forge/noarch::ply-3.11-py_1
pmw conda-forge/linux-64::pmw-2.0.1-py39hf3d152e_1007
pthread-stubs conda-forge/linux-64::pthread-stubs-0.4-h36c2ea0_1001
pymol-open-source conda-forge/linux-64::pymol-open-source-2.5.0-py39hc95a48e_6
pyqt anaconda/pkgs/main/linux-64::pyqt-5.15.7-py39h6a678d5_1
pyqt5-sip anaconda/pkgs/main/linux-64::pyqt5-sip-12.11.0-py39h6a678d5_1
qt-main anaconda/pkgs/main/linux-64::qt-main-5.15.2-h327a75a_7
qt-webengine anaconda/pkgs/main/linux-64::qt-webengine-5.15.9-hd2b0992_4
qtwebkit anaconda/pkgs/main/linux-64::qtwebkit-5.212-h4eab89a_4
sip conda-forge/linux-64::sip-6.6.2-py39h5a03fae_0
sqlite anaconda/pkgs/main/linux-64::sqlite-3.41.2-h5eee18b_0
toml conda-forge/noarch::toml-0.10.2-pyhd8ed1ab_0
xorg-kbproto conda-forge/linux-64::xorg-kbproto-1.0.7-h7f98852_1002
xorg-libx11 conda-forge/linux-64::xorg-libx11-1.8.6-h8ee46fc_0
xorg-libxau conda-forge/linux-64::xorg-libxau-1.0.11-hd590300_0
xorg-libxdmcp conda-forge/linux-64::xorg-libxdmcp-1.1.3-h7f98852_0
xorg-libxext conda-forge/linux-64::xorg-libxext-1.3.4-h0b41bf4_2
xorg-xextproto conda-forge/linux-64::xorg-xextproto-7.3.0-h0b41bf4_1003
xorg-xproto conda-forge/linux-64::xorg-xproto-7.0.31-h7f98852_1007 The following packages will be SUPERSEDED by a higher-priority channel: ca-certificates anaconda/pkgs/main::ca-certificates-2~ --> conda-forge::ca-certificates-2023.5.7-hbcca054_0
certifi anaconda/pkgs/main/linux-64::certifi-~ --> conda-forge/noarch::certifi-2023.5.7-pyhd8ed1ab_0 Proceed ([y]/n)? y Downloading and Extracting Packages Preparing transaction: done
Verifying transaction: done
Executing transaction: done

安装完成后,直接在终端命令行窗口输入pymol即可打开PyMol的界面。我们可以点击File->Open来导入相关的分子构象输入文件,比如pdb文件等,如下所示是一个导入pdb文件后的效果图。

总结概要

这篇文章主要介绍在Linux平台下安装开源版PyMol的简单方法。由于官方主要提供商业版的安装方法,而提供whl安装包的平台也只有Windows系统下的编译包。其实在Anaconda的库中是有提供pymol的开源版本的,这里借这篇文章顺便推广一下。

版权声明

本文首发链接为:https://www.cnblogs.com/dechinphy/p/pymol.html

作者ID:DechinPhy

更多原著文章请参考:https://www.cnblogs.com/dechinphy/

打赏专用链接:https://www.cnblogs.com/dechinphy/gallery/image/379634.html

腾讯云专栏同步:https://cloud.tencent.com/developer/column/91958

CSDN同步链接:https://blog.csdn.net/baidu_37157624?spm=1008.2028.3001.5343

51CTO同步链接:https://blog.51cto.com/u_15561675

参考链接

  1. https://blog.csdn.net/MurphyStar/article/details/106904126
  2. https://anaconda.org/conda-forge/pymol-open-source

在Linux上安装和使用免费版本的PyMol的更多相关文章

  1. linux 上安装多个不同版本的mysql 踩的坑

    最近由于业务需要,考虑使用json类型,据了解 mysql 在版本5.7中可以支持 json 类型的数据支持,但同时目前开发环境中使用的是 mysql 5.6版本,上面还有很多项目的数据库在上面,同时 ...

  2. Linux上安装使用SSH(ubuntu&&redhat)

    转自:http://blog.csdn.net/zxs9999/article/details/6930736 Ubuntu安装使用SSH ubuntu默认并没有安装ssh服务,如果通过ssh链接ub ...

  3. WordPress安装篇(3):用宝塔面板在Linux上安装WordPress

    前面的文章已经介绍了如何在Windows环境安装WordPress,这篇文章来介绍在Linux环境怎样快速安装WordPress.大家都知道,Linux系统相对于Windows系统而言占用资源更少.更 ...

  4. 在Windows和Linux上安装paramiko模块以及easy_install的安装方法

    一.paramiko模块有什么用? paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.由于使用的是python这样的能够跨平台运行的语言 ...

  5. 在Linux上安装Oracle RAC 12 c(12.1) 虚拟机,一步一步向导

    Oracle RAC 12 c(12.1)在Linux上安装虚拟机,一步一步向导 今天我们将看到如何安装 12 c版本1 RAC(真正的应用程序集群)数据库2 Linux 64位的虚拟机 使用VMWa ...

  6. 在Windows和Linux上安装paramiko模块

    一.paramiko模块有什么用? paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.由于使用的是python这样的能够跨平台运行的语言 ...

  7. Linux上安装使用boost入门指导

    Data Mining Linux上安装使用boost入门指导 获得boost boost分布 只需要头文件的库 使用boost建立一个简单的程序 准备使用boost二进制文件库 把你的程序链接到bo ...

  8. 如何在Linux上安装Storm

    Storm是开源的分布式实时计算系统,能够让数据流处理变得简单.可靠,也因此在大数据领域有广泛的实际 应用.下面介绍一下如何在Linux系统上安装Storm.根据Storm官网介绍,安装Storm软件 ...

  9. linux上安装Drupal

    linux上安装Drupal 前言:国内用drupal的并不太多,网上资料也很少.要注意的是drupal尽量别使用apt来安装,特别是ubuntu平台的drupal做出了一定的更改,会妨碍后期的学习和 ...

  10. linux上安装php7 memcache扩展 和 安装服务端memcached

    linux上安装memcached不算太困难.唯一让本人感到困难的是 php7的memcache扩展安装.真的蛋疼! 先说安装服务端 memcached 1. 首先安装Libevent事件触发管理器. ...

随机推荐

  1. Java操作Word修订功能:启用、接受、拒绝、获取修订

    Word的修订功能是一种在文档中进行编辑和审阅的功能.它允许多个用户对同一文档进行修改并跟踪这些修改,以便进行审查和接受或拒绝修改.修订功能通常用于团队合作.专业编辑和文件审查等场景. 本文将从以下几 ...

  2. Linux服务器安装好Jenkins,IP+端口无法访问的问题排查

    1.是否已安装jdk,命令:java -version 2.查看Jenkins进程是否还在,命令 ps -ef|grep jenkins 3.查看8080(Jenkins默认)端口号是否开放,命令:f ...

  3. NC65二开经验总结

    公式相关 1.显示公式没执行 列表界面显示,卡片界面不显示: Handler的onBoCard执行: getBillCardPanel().execHeadLoadFormulas(); Contro ...

  4. zabbix-agent报错记录

    Too many parameters 由于agent版本差异监控项的参数不一样 , 解决方法升级agent版本 Cannot obtain filesystem information: [2] N ...

  5. 2021-01-20:mysql中,一张表里有3亿数据,未分表,要求是在这个大表里添加一列数据。数据库不能停,并且还有增删改操作。请问如何操作?

    2021-01-20:mysql中,一张表里有3亿数据,未分表,要求是在这个大表里添加一列数据.数据库不能停,并且还有增删改操作.请问如何操作? 福哥答案2020-01-20: 陌陌答案: 用pt_o ...

  6. SQLite3使用笔记(1)——查询

    目录 1. 概述 2. 详论 2.1. 打开/关闭数据库 2.2. 数据查询 3. 参考 1. 概述 SQLite是一个嵌入式SQL数据库引擎.与大多数其他 SQL 数据库不同,SQLite 没有单独 ...

  7. 华为云AI论文精读会2021第一期:高效语义分割模型Fast-SCNN分享

    2020年举办的华为云AI经典论文复现活动,不仅受到了参赛者们一致好评,也产出了许多优质的算法成果.这些论文复现的算法描述.源代码以及算法使用指导文档均已发布到了AI Gallery.为了让开发者更好 ...

  8. 云图说 | 华为云医疗智能体EIHealth,AI赋能基因组研究

    摘要: 华为云医疗智能体面为基因组研究,提供高性能.高可靠性.高性价比的基因测序计算.存储和AI能力. 本文分享自华为云社区<​​​​​​​​​​​​​​[云图说]第230期 医疗智能体:AI赋 ...

  9. 华为云数据库内核专家为您揭秘:GaussDB(for MySQL)并行查询有多快?

    摘要:GaussDB(for MySQL)并行查询为何快人一步?华为云数据库内核专家这样说 本文分享自华为云社区<华为云数据库内核专家为您揭秘:GaussDB(for MySQL)并行查询有多快 ...

  10. 华为云GaussDB(for Influx)揭密第六期:数据分级存储

    摘要:GaussDB(for Influx)通过冷热数据存储分离,在提供海量数据高性能存储的同时可节省85%的存储成本,高效满足时序应用各种场景. 本文分享自华为云社区<华为云GaussDB(f ...