关于Gromacs的Tutorial 5: Protein-Ligand Complex

前景: 解决Gromacs教程中利用cgenff_charmm2gmx_py3_nx2.py 的Bug:

    UnicodeDecodeError: 'gbk' codec can't decode byte 0x92 in position 7640: illegal multibyte sequence问题

正题: 

最近在Justin A. Lemkul, Ph.D.  Virginia Tech Department of Biochemistry 的tutorials网站上学习gromacs时, 发现了一些bug, 此文档将会给出解决方法

教程网站: Protein-Ligand Complex (mdtutorials.com) 

在其中的第二步 ( 形成ligand的topo文件, 比较麻烦)时, 

要使用来自 Github 的cgenff_charmm2gmx.py 辅助脚本

其中这个脚本的运行环境必须要用该脚本测试过的Python环境才可以,

jalemkul作者在Github中列举了Python 2.x 和 3.x 两大类环境, 而且要依赖两个库, Numpy & NetworkX. 其中, NetworkX和Python必须要属于不同脚本测试的版本才可以运行,

我使用的是_py3的脚本, 接下来我将使用如下脚本(上方Github链接下载) 进行说明: 

  • 对于旧版本:

因为python 3.5.x和python2.x版本pip包管理器安装比较麻烦, bug频出, 会出现collecting package卡住的情况, 所以建议使用3.7.3(也是经过测试的版本)

  • 对于新版本: 

python 最新版对其中的NetworkX库进行了改动和变化, 如果在不了解变化的情况下, 不建议使用高版本的

 cgenff_charmm2gmx_py3_nx2.py 中:

  • python 环境: 3.5.2 & 3.7.3
  • NetworkX 环境: 2.3  pip install NetworkX==2.3
  • numpy 环境: 无限制 pip install numpy
  • charmm36-jul2022.ff/forcefield.doc 显示这个版本, 要和CGenFF出来的版本结果一致 (这个在Gromacs官方教程之前会有说明) 

进行了这样的操作后, 仍然会有Bug

UnicodeDecodeError: 'gbk' codec can't decode byte 0x92 in position 7640: illegal multibyte sequence

在修改了很久后我终于解决了!

只需要进行如下操作 (cgenff_charmm2gmx_py3_nx2.py)

140行:   f = open(ffdir+"/"+ffparentfile, 'r')  

               改成 >>>    f = open(ffdir+"/"+ffparentfile, 'r',encoding='utf-8')
150行:  f = open(filename, 'r')                    

               改成 >>>    f = open(filename, 'r',encoding='utf-8')

之后再次运行即可成功
成功会出现!!!!!!!

Reference: 

​​​​​​​​​​​​​​https://github.com/Lemkul-Lab/cgenff_charmm2gmx

http://www.mdtutorials.com/gmx/complex/index.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值