首页 > 系统相关 >在Linux上安装和使用免费版本的PyMol

在Linux上安装和使用免费版本的PyMol

时间:2023-06-26 10:57:42浏览次数:46  
标签:版本 pymol 开源 conda PyMol https Linux 安装

技术背景

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

标签:版本,pymol,开源,conda,PyMol,https,Linux,安装
From: https://www.cnblogs.com/dechinphy/p/pymol.html

相关文章

  • Linux top详解
    lnux下用top命令查看cpu利用率超过100%  这里显示的所有的cpu加起来的使用率,说明你的CPU是多核,你运行top后按大键盘1看看,可以显示每个cpu的使用率,top里显示的是把所有使用率加起来。注意:按下1后显示的是逻辑cpu的个数,并不代表cpu的真实核数。 第一行:top-11:09:......
  • mysql 8.0.26以下版本的bug
    ############################## https://bugs.mysql.com/bug.php?id=103636               ####################################......
  • C# 实现 Linux 视频聊天、远程桌面(源码,支持信创国产化环境,银河麒麟,统信UOS)
        园子里的有朋友在下载并了解了《C#实现Linux视频会议(源码,支持信创环境,银河麒麟,统信UOS)》中提供的源码后,留言给我说,这个视频会议有点复杂了,代码比较多,看得有些费劲。问我能不能整个简单点的Demo,只要有视频聊天和远程桌面的功能就可以。于是,我就又写了一个Demo来供大......
  • Windows/Linux上如何配置NTP时间同步
    前几天装了几台VirtualBox虚机(CentOS),结果发现GuestAdditionalTool不定期出现无法从宿主机(Windows)同步时间的问题,折腾了好久,感觉是GuestAdditionalTool的bug,索性直接用NTP来同步虚机和宿主机的时间。Windows启动NTP服务:点击“运行”按钮,在运行窗口中执行services.msc命令......
  • Linux驱动开发
    本文为一个简单的字符设备驱动,涉及驱动编写、测试程序编写、Makefile编写、驱动加载/卸载,运行于Linux虚拟机,不涉及底层配置。撰写本文的主要目的为记录一下驱动的开发流程,参考了正点原子的驱动开发指南。 驱动代码  创建文件夹1_chrdevbase/,下属APP/与Driver/两个文件......
  • Linux多线程09-互斥锁
    为避免线程更新共享变量时出现问题,可以使用互斥量(mutex是mutualexclusion的缩写)来确保同时仅有一个线程可以访问某项共享资源。可以使用互斥量来保证对任意共享资源的原子访问。互斥量有两种状态:已锁定(locked)和未锁定(unlocked)。任何时候,至多只有一个线程可以锁定该互斥量。试......
  • Linux多线程10-死锁
    有时,一个线程需要同时访问两个或更多不同的共享资源,而每个资源又都由不同的互斥量管理。当超过一个线程加锁同一组互斥量时,就有可能发生死锁。两个或两个以上的进程在执行过程中,因争夺共享资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状......
  • Linux多线程12-生产者和消费者模型
    一个最简单的生产者消费者模型/*生产者消费者模型(粗略版)*/#include<stdio.h>#include<pthread.h>#include<stdlib.h>#include<unistd.h>structNode{intnum;structNode*next;};//头节点structNode*head=NULL;void*producer(void*arg){......
  • Linux多线程11-读写锁
    当有一个线程已经持有互斥锁时,互斥锁将所有试图进入临界区的线程都阻塞住。但是考虑一种情形,当前持有互斥锁的线程只是要读访问共享资源,而同时有其它几个线程也想读取这个共享资源,但是由于互斥锁的排它性,所有其它线程都无法获取锁,也就无法读访问共享资源了,但是实际上多个线程同时......
  • Linux多线程14-信号量
    信号量的类型sem_tintsem_init(sem_t*sem,intpshared,unsignedintvalue);初始化信号量参数:-sem:信号量变量地址-pshared:0用在线程间,非0用在进程间-value:信号量中的值intsem_destroy(sem_t*sem);释放资......