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

news2024/9/27 15:19:16

技术背景

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/695886.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows下Jdk1.8的下载/安装/配置

文章目录 Windows下Jdk1.8的下载/安装/配置1. Jdk的下载2. Jdk的安装3. Jdk的配置4. 检查是否安装成功 Windows下Jdk1.8的下载/安装/配置 1. Jdk的下载 下载地址 2. Jdk的安装 3. Jdk的配置 1. 右键我的电脑 → 属性 → 高级系统配置 → 环境变量 → 系统变量&#xff1a;…

企业级微服务架构实战项目--xx优选-用户登录

一 用户登录的触发页面 1.登录常量 2.登录地址 3.配置域名 4.启动程序 触发连接小程序后端的登录接口 小程序controller的登录方法

MFC第十一天 CDialog类的三大虚函数简介 CS模式下员工管理系统项目插入列表数据的功能开发

文章目录 CDialog类三大重要虚函数MFC中反射型消息CS模式员工管理系统插入列表数据的功能开发客户端代码服务器端代码 CDialog类三大重要虚函数 a)MFC平台希望接管三大重要消息&#xff1a;OnInitDialog() OnOK() OnCancel() WM_INITDIALOG: virtual BOOL OnInitDialog(); 当对…

数据库监控与调优【十三】—— LIMIT语句优化

LIMIT语句优化 LIMIT语句使用规则 limit<offset>, <size> offset&#xff1a;返回结果第一行的偏移量&#xff08;想要跳过多少行&#xff09;size&#xff1a;指定返回多少条 举例说明 -- 查询第1页时&#xff0c;花费92ms SELECT * FROM employees LIMIT 0,…

【C++】single header跨平台高效开源日志库Easylogging++的配置和使用

【C】single header跨平台高效开源日志库Easylogging的配置和使用 一、Easylogging简介 Easylogging是一个只有单个头文件的开源跨平台日志库&#xff0c;拥有简单易集成&#xff0c;速度极快&#xff0c;线程安全&#xff0c;高效并可配置可扩展等等优点&#xff0c;现在也是…

开启JDK 11时代,掌握这些新特性,成为Java开发高手!

大家好&#xff0c;我是小米&#xff0c;欢迎来到小米科技资讯公众号&#xff01;今天我将为大家详细介绍 JDK 11 的一些新特性。JDK 11 是 Java 语言的一个重要版本&#xff0c;它带来了许多令人振奋的改进和功能&#xff0c;尤其是在电商应用领域。让我们一起来了解吧&#x…

动态规划—不同子序列 解析+代码

不同子序列 题目链接&#xff1a;不同的子序列 题目描述&#xff1a; 因为需要前字符匹配的状态&#xff0c;所以我们考虑可以使用动态规划 状态是一维数组还是二维数组&#xff1f; 使用一维数组还是二维数组视情况而定。 题目所求是字符串S有几个子序列和T匹配&#xff0…

pycharm打印不出动图怎么办?

目录 1.分析问题 2.解决方法&#xff1a; 3.将动图保存到本地 1.分析问题 加入你有一个类似如下的画动图的程序&#xff1a; import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animationfig, ax plt.subplots()x np.arange(0, 2*…

陌生领域的紧急需求 4大处理策略

产品经理刚接收离职同事工作&#xff0c;突然遇到陌生领域的紧急需求&#xff0c;时间紧任务重&#xff0c;一时着急无从下手&#xff0c;该怎么办&#xff1f;4大需求处理策略&#xff0c;让我们打破僵局。 1、定位核心问题 遇到陌生领域的紧急需求&#xff0c;首先需要确定核…

vue如何全屏(点击一个按钮界面全屏展示)

1&#xff0c;在界面上设置一个div&#xff0c;让用户点击后全屏或者退出全屏。 <div class"full-screen" click"toFullOrExit"><img :src"fullImg"/></div>2&#xff0c;进入全屏和退出全屏的方法 requestFullScreen () {let…

Tableau 和 Qlikview哪个更好用?

Tableau 和 Qlikview 是市场上用于分析数据的两种重要的 BI 工具&#xff0c;并配备了广泛的可视化效果。本文将全面概述每个工具&#xff0c;以及基于业务、技术和可视化三个主要类别的基本差异。每个公司都希望用最好的BI工具来处理大量数据。在这篇文章中&#xff0c;我们将…

Rust语言从入门到入坑——(11)面向对象

文章目录 0、引入1、封装2、继承3、多态4、引用 0、引入 Rust 不是面向对象的编程语言&#xff0c;但是可以实现面向对象方法&#xff1a;封装与继承&#xff0c;以及不完全的多态 1、封装 "类"往往是面向对象的编程语言中常用到的概念。"类"封装的是数据…

关于IE11的样式兼容问题记录

1、布局如下 <div class"map-label" :class"{active:isActive}" :style"{marginTop:${marTopVal}px}"><transition name"slide-fade"><div class"transition-out" v-if"show"><div class&q…

使用VSCode开发Unity中排除(隐藏)一些文件

使用VSCode开发Unity中排除&#xff08;隐藏&#xff09;一些文件 再使用VDCode开发的时候会将项目中的全部文件都显示出来&#xff0c;不像VS一样只显示一些可能用的到的文件。再VSCode中需要设置一些文件的过滤来只显示想要显示的文件。 打开VScode&#xff0c;打开设置搜索…

如何使用ChatGPT处理excel

用ChatGPT处理excel&#xff0c;我们需要用到的主要工具是ChatGPT和vba代码。 VBA代码是一种用于Excel&#xff0c;Word&#xff0c;PPT的Microsoft Office软件的编程语言。 可以让用户通过编写一些简单的指令和操作&#xff0c;实现自动化、自定义和数据处理等功能。 就像你编…

从0开始,部署基于yangjianxin开发的流萤(Firefly)中文对话式大语言模型的http服务端

项目介绍: Firefly&#xff08;流萤&#xff09; 是yangjianxin开发的开源的中文大语言模型项目&#xff0c;本文主要实现将此模型部署到http服务器上&#xff0c;语言实现:python&#xff0c;本项目为双创项目后端部分代码(本人根据firefly训练代码修改微调的模型暂不方便开源…

分类预测 | MATLAB实现GA-GRU遗传算法优化门控循环单元的数据多输入分类预测

分类预测 | MATLAB实现GA-GRU遗传算法优化门控循环单元的数据多输入分类预测 目录 分类预测 | MATLAB实现GA-GRU遗传算法优化门控循环单元的数据多输入分类预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 Matlab实现GA-GRU遗传算法优化门控循环单元的数据多输入分类预…

elementui el-table-column表头换行,自定义表头以及排序图标的位置放置

目录 1、普通表头换行⭐️想实现以下效果 2、表头换行时调整文字和排序图标的位置⭐️想实现以下效果遇到问题 效果如下遇到问题 效果如下⭐️最终成功实现以下效果 &#x1f44d;写在最后 1、普通表头换行 https://www.jb51.net/article/228935.htm // 在需要换行的地方加入换…

一个类似AOV或者AOE的数据结构的类似排序的算法

背景: 一个东西的执行有多个入参和出参, 一个东西的出参又可以是别的东西的入参, 因此执行的依赖关系. 草图里a b c d e f为三个东西, 上面的数字是入参,下面的数字是出参 当前已知这6个东西, 和他们的入参出参 求他们的运行顺序. 要求同样执行顺序的东西可以并行执行. 代码如…

【图像处理OpenCV(C++版)】——5.4 图像平滑之中值平滑(滤波)

前言&#xff1a; &#x1f60a;&#x1f60a;&#x1f60a;欢迎来到本博客&#x1f60a;&#x1f60a;&#x1f60a; &#x1f31f;&#x1f31f;&#x1f31f; 本专栏主要结合OpenCV和C来实现一些基本的图像处理算法并详细解释各参数含义&#xff0c;适用于平时学习、工作快…