BFEE2 icon indicating copy to clipboard operation
BFEE2 copied to clipboard

How to Install BFEE2 VMD Plugin?

Open christos-efthymiou opened this issue 2 years ago • 9 comments

Is there a step-by-step tutorial for installing the BFEE2 VMD Plugin?

I tried to install BFEE2 using conda on my Windows machine, but I am running into an issue. I get an error that the module Pyside2 cannot be found:

(base) C:\Users\Christos>python3 C:\Users\Christos\anaconda3\Scripts\BFEE2Gui.py
Traceback (most recent call last):
  File "C:\Users\Christos\anaconda3\Scripts\BFEE2Gui.py", line 43, in <module>
    from PySide2.QtWidgets import QApplication
ModuleNotFoundError: No module named 'PySide2'

However, during the installation process, I can see that pyside2 was installed:

The following NEW packages will be INSTALLED:

  appdirs            conda-forge/noarch::appdirs-1.4.4-pyh9f0ad1d_0
  bfee2              conda-forge/noarch::bfee2-2.3.0-pyhd8ed1ab_0
  biopython          conda-forge/win-64::biopython-1.79-py38h294d835_1
  brotli             conda-forge/win-64::brotli-1.0.9-h8ffe710_7
  brotli-bin         conda-forge/win-64::brotli-bin-1.0.9-h8ffe710_7
  cftime             conda-forge/win-64::cftime-1.6.0-py38hbdcd294_1
  curl               pkgs/main/win-64::curl-7.82.0-h2bbff1b_0
  cycler             conda-forge/noarch::cycler-0.11.0-pyhd8ed1ab_0
  fonttools          conda-forge/win-64::fonttools-4.33.3-py38h294d835_0
  griddataformats    conda-forge/noarch::griddataformats-0.7.0-pyhd8ed1ab_0
  gsd                conda-forge/win-64::gsd-2.5.2-py38hbdcd294_0
  hdf4               conda-forge/win-64::hdf4-4.2.15-h0e5069d_3
  hdf5               conda-forge/win-64::hdf5-1.12.1-nompi_h2a0e4a3_100
  joblib             conda-forge/noarch::joblib-1.1.0-pyhd8ed1ab_0
  kiwisolver         conda-forge/win-64::kiwisolver-1.4.2-py38hbd9d945_1
  libbrotlicommon    conda-forge/win-64::libbrotlicommon-1.0.9-h8ffe710_7
  libbrotlidec       conda-forge/win-64::libbrotlidec-1.0.9-h8ffe710_7
  libbrotlienc       conda-forge/win-64::libbrotlienc-1.0.9-h8ffe710_7
  libclang           conda-forge/win-64::libclang-11.1.0-default_h5c34c98_1
  libcurl            pkgs/main/win-64::libcurl-7.82.0-h86230a5_0
  libnetcdf          conda-forge/win-64::libnetcdf-4.8.1-nompi_h1cc8e9d_101
  libssh2            conda-forge/win-64::libssh2-1.10.0-h680486a_2
  libxslt            conda-forge/win-64::libxslt-1.1.33-h65864e5_2
  libzip             conda-forge/win-64::libzip-1.8.0-hfed4ece_1
  m2w64-gcc-libgfor~ conda-forge/win-64::m2w64-gcc-libgfortran-5.3.0-6
  m2w64-gcc-libs     conda-forge/win-64::m2w64-gcc-libs-5.3.0-7
  m2w64-gcc-libs-co~ conda-forge/win-64::m2w64-gcc-libs-core-5.3.0-7
  m2w64-gmp          conda-forge/win-64::m2w64-gmp-6.1.0-2
  m2w64-libwinpthre~ conda-forge/win-64::m2w64-libwinpthread-git-5.0.0.4634.697f757-2
  matplotlib-base    conda-forge/win-64::matplotlib-base-3.5.1-py38h1f000d6_0
  mdanalysis         conda-forge/win-64::mdanalysis-2.1.0-py38h885f38d_1
  mmtf-python        conda-forge/noarch::mmtf-python-1.1.2-py_0
  mrcfile            conda-forge/noarch::mrcfile-1.3.0-pyh44b312d_0
  msgpack-python     conda-forge/win-64::msgpack-python-1.0.3-py38hbd9d945_1
  msys2-conda-epoch  conda-forge/win-64::msys2-conda-epoch-20160418-1
  munkres            conda-forge/noarch::munkres-1.1.4-pyh9f0ad1d_0
  netcdf4            conda-forge/win-64::netcdf4-1.5.8-nompi_py38h0500770_101
  networkx           conda-forge/noarch::networkx-2.8-pyhd8ed1ab_0
  pandas             conda-forge/win-64::pandas-1.4.2-py38hcc40339_1
  parmed             conda-forge/win-64::parmed-3.4.3-py38heb73c8a_2
  patsy              conda-forge/noarch::patsy-0.5.2-pyhd8ed1ab_0
  pyqt-impl          conda-forge/win-64::pyqt-impl-5.12.3-py38h885f38d_8
  pyqt5-sip          conda-forge/win-64::pyqt5-sip-4.19.18-py38h885f38d_8
  pyqtchart          conda-forge/win-64::pyqtchart-5.12-py38h885f38d_8
  pyqtwebengine      conda-forge/win-64::pyqtwebengine-5.12.1-py38h885f38d_8
  pyside2            conda-forge/win-64::pyside2-5.13.2-py38hadd4fab_7
  scikit-learn       conda-forge/win-64::scikit-learn-1.0.2-py38hb60ee80_0
  scipy              conda-forge/win-64::scipy-1.8.0-py38ha1292f7_1
  seaborn            conda-forge/noarch::seaborn-0.11.2-hd8ed1ab_0
  seaborn-base       conda-forge/noarch::seaborn-base-0.11.2-pyhd8ed1ab_0
  statsmodels        conda-forge/win-64::statsmodels-0.13.2-py38h6f4d8f0_0
  threadpoolctl      conda-forge/noarch::threadpoolctl-3.1.0-pyh8a188c0_0
  unicodedata2       conda-forge/win-64::unicodedata2-14.0.0-py38h294d835_1

In any case, I would prefer to be able to use the VMD plugin but I cannot seem to find any information how to install the extension into VMD.

christos-efthymiou avatar May 01 '22 05:05 christos-efthymiou

@christos-efthymiou You can find a detailed tutorial here (https://www.nature.com/articles/s41596-021-00676-1).

Regarding your problem, I think that you were opening BFEE2Gui.py using a different Python environment than the one with PySide2.

fhh2626 avatar May 01 '22 06:05 fhh2626

Thank you, using python instead of python3 fixed the problem and the interface opened.

In terms of adding the extension to VMD, the only thing I can find is "Optionally, one can link BFEE2 with VMD through File→Settings. If BFEE2 is not linked with VMD, some input files, e.g., the structure file of the extended water box, cannot be generated automatically." I clicked File and Settings and added the full path to VMD on my computer:

image

However, when I go into VMD I still do not see BFEE2 in the extensions. Where should it be located? Or is it not an extension that can be viewed/opened in VMD and instead needs to be opened each time in the command line?

Thank you for your help.

christos-efthymiou avatar May 02 '22 03:05 christos-efthymiou

I also wanted to ask about how to use BFEE to calculate the free binding energy of a protein-protein interaction. When I open the GUI, I do not see an option to choose a protein-protein interaction.

image

However, on the VMD plugins site here https://www.ks.uiuc.edu/Research/vmd/plugins/bfeestimator/, it shows the ability to select a protein-protein interaction:

image

Why does the GUI look different on the above site compared to what I see on my computer?

christos-efthymiou avatar May 03 '22 20:05 christos-efthymiou

@christos-efthymiou BFEE2 is not a VMD extension. It only calls VMD to parse CHARMM-formatted files.

fhh2626 avatar May 04 '22 02:05 fhh2626

I also wanted to ask about how to use BFEE to calculate the free binding energy of a protein-protein interaction. When I open the GUI, I do not see an option to choose a protein-protein interaction.

image

However, on the VMD plugins site here https://www.ks.uiuc.edu/Research/vmd/plugins/bfeestimator/, it shows the ability to select a protein-protein interaction:

image

Why does the GUI look different on the above site compared to what I see on my computer?

We have two versions of BFEE. BFEE1 is a VMD extension, and BFEE2 is a Python package that can do lots of things which cannot be handled inside VMD (e.g. support of Amber FF). We suggest you use BFEE2 whenever possible.

fhh2626 avatar May 04 '22 02:05 fhh2626

Thank you for the clarification. In my case, as I would like to calculate the binding energy between two protein chains, do I just randomly assign one chain to be the protein and the other to be the ligand (since protein:protein is not an option in the BFEE2 python package)?

Additionally, how do I designate the selection? For example, I have protein chains A and C in my PDB file. How do I select those in the Other Parameters section?

image

I tried just using A and C, but I get an error that no selection has been made.

I have just checked the PDB file and I believe I have found the ID I need to provide to designate my selection. However, now when I run the program I get the following error:

C:\Users\Christos\anaconda3\lib\site-packages\MDAnalysis\coordinates\PDB.py:1078: UserWarning: Found no information for attr: 'altLocs' Using default value of ' '
  warnings.warn("Found no information for attr: '{}'"
C:\Users\Christos\anaconda3\lib\site-packages\MDAnalysis\coordinates\PDB.py:1078: UserWarning: Found no information for attr: 'icodes' Using default value of ' '
  warnings.warn("Found no information for attr: '{}'"
C:\Users\Christos\anaconda3\lib\site-packages\MDAnalysis\coordinates\PDB.py:1078: UserWarning: Found no information for attr: 'chainIDs' Using default value of ''
  warnings.warn("Found no information for attr: '{}'"
C:\Users\Christos\anaconda3\lib\site-packages\MDAnalysis\coordinates\PDB.py:1078: UserWarning: Found no information for attr: 'occupancies' Using default value of '1.0'
  warnings.warn("Found no information for attr: '{}'"
C:\Users\Christos\anaconda3\lib\site-packages\MDAnalysis\coordinates\PDB.py:1078: UserWarning: Found no information for attr: 'elements' Using default value of ' '
  warnings.warn("Found no information for attr: '{}'"
C:\Users\Christos\anaconda3\lib\site-packages\MDAnalysis\coordinates\PDB.py:1078: UserWarning: Found no information for attr: 'record_types' Using default value of 'ATOM'
  warnings.warn("Found no information for attr: '{}'"
C:\Users\Christos\anaconda3\lib\site-packages\MDAnalysis\coordinates\PDB.py:1124: UserWarning: Found missing chainIDs. Corresponding atoms will use value of 'X'
  warnings.warn("Found missing chainIDs."
[WinError 193] %1 is not a valid Win32 application

How can I fix this?

christos-efthymiou avatar May 12 '22 18:05 christos-efthymiou

Thank you for the clarification. In my case, as I would like to calculate the binding energy between two protein chains, do I just randomly assign one chain to be the protein and the other to be the ligand (since protein:protein is not an option in the BFEE2 python package)?

Additionally, how do I designate the selection? For example, I have protein chains A and C in my PDB file. How do I select those in the Other Parameters section?

image

I tried just using A and C, but I get an error that no selection has been made.

I have just checked the PDB file and I believe I have found the ID I need to provide to designate my selection. However, now when I run the program I get the following error:

C:\Users\Christos\anaconda3\lib\site-packages\MDAnalysis\coordinates\PDB.py:1078: UserWarning: Found no information for attr: 'altLocs' Using default value of ' '
  warnings.warn("Found no information for attr: '{}'"
C:\Users\Christos\anaconda3\lib\site-packages\MDAnalysis\coordinates\PDB.py:1078: UserWarning: Found no information for attr: 'icodes' Using default value of ' '
  warnings.warn("Found no information for attr: '{}'"
C:\Users\Christos\anaconda3\lib\site-packages\MDAnalysis\coordinates\PDB.py:1078: UserWarning: Found no information for attr: 'chainIDs' Using default value of ''
  warnings.warn("Found no information for attr: '{}'"
C:\Users\Christos\anaconda3\lib\site-packages\MDAnalysis\coordinates\PDB.py:1078: UserWarning: Found no information for attr: 'occupancies' Using default value of '1.0'
  warnings.warn("Found no information for attr: '{}'"
C:\Users\Christos\anaconda3\lib\site-packages\MDAnalysis\coordinates\PDB.py:1078: UserWarning: Found no information for attr: 'elements' Using default value of ' '
  warnings.warn("Found no information for attr: '{}'"
C:\Users\Christos\anaconda3\lib\site-packages\MDAnalysis\coordinates\PDB.py:1078: UserWarning: Found no information for attr: 'record_types' Using default value of 'ATOM'
  warnings.warn("Found no information for attr: '{}'"
C:\Users\Christos\anaconda3\lib\site-packages\MDAnalysis\coordinates\PDB.py:1124: UserWarning: Found missing chainIDs. Corresponding atoms will use value of 'X'
  warnings.warn("Found missing chainIDs."
[WinError 193] %1 is not a valid Win32 application

How can I fix this?

try this in VMD (after loading psf and pdb)

set chainA [atomselect top "segname A"]
$chainA set chain A
set chainB [atomselect top "segname B"]
$chainB set chain B
set all [atomselect top all]
$all writepsf all.psf
$all writepdb all.pdb

fhh2626 avatar May 13 '22 13:05 fhh2626

When I check my PDB file (and the PSF file), I see that the two chains seem to be designated by the codes AP1 and CP1:

image image image

However, even after entering these codes in the BFEE2 plugin I get this error:

image image

C:\Users\Christos\anaconda3\lib\site-packages\MDAnalysis\coordinates\PDB.py:1078: UserWarning: Found no information for attr: 'altLocs' Using default value of ' '
  warnings.warn("Found no information for attr: '{}'"
C:\Users\Christos\anaconda3\lib\site-packages\MDAnalysis\coordinates\PDB.py:1078: UserWarning: Found no information for attr: 'icodes' Using default value of ' '
  warnings.warn("Found no information for attr: '{}'"
C:\Users\Christos\anaconda3\lib\site-packages\MDAnalysis\coordinates\PDB.py:1078: UserWarning: Found no information for attr: 'chainIDs' Using default value of ''
  warnings.warn("Found no information for attr: '{}'"
C:\Users\Christos\anaconda3\lib\site-packages\MDAnalysis\coordinates\PDB.py:1078: UserWarning: Found no information for attr: 'occupancies' Using default value of '1.0'
  warnings.warn("Found no information for attr: '{}'"
C:\Users\Christos\anaconda3\lib\site-packages\MDAnalysis\coordinates\PDB.py:1078: UserWarning: Found no information for attr: 'elements' Using default value of ' '
  warnings.warn("Found no information for attr: '{}'"
C:\Users\Christos\anaconda3\lib\site-packages\MDAnalysis\coordinates\PDB.py:1078: UserWarning: Found no information for attr: 'record_types' Using default value of 'ATOM'
  warnings.warn("Found no information for attr: '{}'"
C:\Users\Christos\anaconda3\lib\site-packages\MDAnalysis\coordinates\PDB.py:1124: UserWarning: Found missing chainIDs. Corresponding atoms will use value of 'X'
  warnings.warn("Found missing chainIDs."
[WinError 193] %1 is not a valid Win32 application
[WinError 193] %1 is not a valid Win32 application

To try the commands you suggested in the VMD TK Console, I first loaded the PDB file and PSF file that had been created when I set up a previous simulation using QwikMD. Then, I entered the commands you gave:

image

However, I am not sure how to proceed from here. Does this create new PDB and PSF files with specific changes made that I should then load into BFEE2? I am just a bit confused and appreciate any help.

christos-efthymiou avatar May 16 '22 04:05 christos-efthymiou

This is probably an Python installation issue. See for example https://stackoverflow.com/questions/65550077/python-winerror-193-1-is-not-a-valid-win32-application

fhh2626 avatar Jun 15 '22 15:06 fhh2626