===============================================================================
                                PL-PatchSurfer2
===============================================================================

PL-PatchSurfer2 is a virtual screening program that matches local surface
patches of receptor pocket and ligand that are represented by three-dimensional
Zernike decriptors. Four physico-chemical features are used to describe surface
patch: shape, electrostatic potential, hydrophobicity, and hydrogen bonding.

A detailed explanation of the program is given in the refereces.

===============================================================================

This package contains current version of PL-PatchSurfer2 which is made by
Kiharalab, Purdue University. A brief description of each directory is shown
below.

===============================================================================

apbs_tool: a tool for making and running APBS
bin: contains binary files
example: example files (HIV-PR receptor and two ligands) and short explanations
	 describe how to run python scripts
scripts: pythons scripts that help to run PL-PatchSurfer2 easier

===============================================================================

Before run the program, five programs are required:

PDB2PQR: converts PDB file to PQR format used as an input of APBS.
	 Downloadable at http://www.poissonboltzmann.org/
APBS: calculates a molecular surface and solves Poisson-Boltzmann equation to
      assign electrostatic potential on the surface.
      Also Downloadable at http://www.poissonboltzmann.org/
OMEGA: generates multiple conformations of ligands.
       Downloadable at eyesopen.com (requires academic license)
XlogP3: assigns atomic logP values on ligand atoms.
	Downloadable at
	http://www.sioc-ccbg.ac.cn/skins/ccbgwebsite/software/xlogp3/
Open Bable: converts file formats
     	    Downloadable at openbabel.org

===============================================================================

Troubleshooting: Run bundled APBS with conda libs
(Added: April 2026)

If bundled APBS fails with missing shared libraries (e.g., libreadline.so.6),
you can find those runtime libs from conda.

Example:
tar xf PL-PatchSurfer2.tar.gz
cd PL-PatchSurfer2/
conda create -n plps2 -c conda-forge readline=6 ncurses zlib python=2 -y
conda activate plps2
export APBS_HOME=${PWD}/APBS-1.4.2.1-linux64
export LD_LIBRARY_PATH=$CONDA_PREFIX/lib:$APBS_HOME/lib:$LD_LIBRARY_PATH

You can check if the apbs is working as follows:
$APBS_HOME/bin/apbs --version

If APBS works with the commands above, run PL-PatchSurfer2 scripts in the same
shell session (with the same LD_LIBRARY_PATH).

===============================================================================

References

1. Shin, W. -H.; Christoffer, C. W.; Wang, J.; Kihara, D.
   PL-PatchSurfer2: Improved Local Surface Matching-Based Virtual Screening
   Method that is Tolerant to Target and Ligand Structure Variation
   J. Chem. Inf. Model. Submitted.
2. Shin, W. -H.; Bures, M. G.; Kihara, D.
   PatchSurfers: Two methods for local molecular property-based binding
   ligand prediction
   Methods 2016, 93, 41-50.
3. Hu, B.; Zhu, X.; Monroe, L.; Bures, M. G.; Kihara, D.
   PL-PatchSurfer: A novel molecular local surface-based method for exploring
   protein-ligand interactions.
   Int. J. Mol. Sci. 2014, 15, 15122-15145.

===============================================================================
