Skip to content

Commit

Permalink
Merge pull request #1766 from karolamik13/interactions
Browse files Browse the repository at this point in the history
Interactions (additional description)
  • Loading branch information
karolamik13 authored Oct 10, 2023
2 parents 69eb180 + c32fcfa commit 1e3e07f
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 5 deletions.
16 changes: 16 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -72,3 +72,19 @@ with ProDy. The original CE method was developed by Ilya Shindyalov and Philip
Bourne. The Python version which is used by ProDy is developed by Jason Vertrees
and available under the New BSD license.

Hbp module: The calculation of hydrophobic interactions, solvent accessible surface
area (SASA) and volume for each residue is using geometric methods based on the
information of the atoms in the molecule. The methods have been programmed in C++
and can be compiled as a python module “hpb.so” which is then used by ProDy.
Files for compilation are stored at prody/proteins/hpbmodule folder and
required C++ and Fortran compiler. After compilation hpb.so file can be
storage in prody/proteins folder in ProDy or in the local directory which
is used to perform calulations. The precompiled versions for Python 2.7,
3.8, 3.9, and 3.10 are availabe in prody/proteins/hpbmodule. The user can
choose the correct version of hpb.so and copy to the prody/proteins or
local directory.
C++ code of hpb.so was developed by Xin Cao and Fortran code by Xin Cao,
Michelle H. Hummel, Bihua Yu, and Evangelos A. Coutsias (License in
prody/proteins/hpbmodule folder). Details of the method can be found
in the Supplementary Material of InSty manuscript
(soon will be submitted for publication).
10 changes: 5 additions & 5 deletions prody/proteins/interactions.py
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ def calcHydrophobicOverlapingAreas(atoms, **kwargs):
import hpb
imported_hpb = True
except ImportError:
raise ImportError('Please provide hpb.so file into the directory.')
raise ImportError('Please provide hpb.so file.')

if imported_hpb:
selection = kwargs.pop('selection', 'protein and noh')
Expand Down Expand Up @@ -254,7 +254,7 @@ def calcSASA(atoms, **kwargs):
import hpb
imported_hpb = True
except ImportError:
raise ImportError('Please provide hpb.so file into the directory.')
raise ImportError('Please provide hpb.so file.')

if imported_hpb:
selection = kwargs.pop('selection', 'protein and noh')
Expand Down Expand Up @@ -317,7 +317,7 @@ def calcVolume(atoms, **kwargs):
import hpb
imported_hpb = True
except ImportError:
raise ImportError('Please provide hpb.so file into the directory.')
raise ImportError('Please provide hpb.so file.')

if imported_hpb:
selection = kwargs.pop('selection', 'protein and noh')
Expand Down Expand Up @@ -1066,7 +1066,7 @@ def calcHydrophobic(atoms, **kwargs):
try:
hpb_overlaping_results = calcHydrophobicOverlapingAreas(atoms_hydrophobic, cumulative_values='pairs')
except:
LOGGER.info('Please provide hpb.so file into the directory to obtain additional data.')
LOGGER.info('Please provide hpb.so file to obtain additional data.')

LOGGER.info('Calculating hydrophobic interactions.')
Hydrophobic_calculations = []
Expand Down Expand Up @@ -1137,7 +1137,7 @@ def calcHydrophobic(atoms, **kwargs):
import hpb
imported_hpb = True
except ImportError:
LOGGER.info('Please provide hpb.so file into the directory.')
LOGGER.info('Please provide hpb.so file.')

if imported_hpb:
Hydrophobic_calculations = sorted(Hydrophobic_calculations, key=lambda x : x[-2])
Expand Down

0 comments on commit 1e3e07f

Please sign in to comment.