Source code for schrodinger.application.watermap.watermap_scoring

# Contributors: Byungchan Kim, Matvey Adzhigirey
# Copyright Schrodinger, LLC. All rights reserved.

import numpy

import schrodinger.utils.cmdline as cmdline
from schrodinger import structure
from schrodinger.infra import mm

PRECISION = 5
ENERGY_BULK = -19.67


[docs]def score_ligand(watermap_st, lig_st, scale_factor): """ Calculates interaction entropy, enthalpy, and free energy between the watermap and the specified ligand. Also calculates the overlap for each site. """ wm = mm.WaterMapStructure(watermap_st.handle) lig_score = mm.LigandScoreStructure(wm, lig_st.handle, scale_factor) entropies = numpy.array(lig_score.getTdSSite()).round(decimals=PRECISION) enthalpies = numpy.array(lig_score.getdHSite()).round(decimals=PRECISION) dGs = numpy.array(lig_score.getdGSite()).round(decimals=PRECISION) overlaps = numpy.array(lig_score.getOverlapSite()).round(decimals=PRECISION) return (entropies, enthalpies, dGs, overlaps)
if __name__ == "__main__": usage = "" cmd = cmdline.SingleDashOptionParser(usage=usage) opt, args = cmd.parse_args() wm_ct = structure.Structure.read(args[0]) lig_ct = structure.Structure.read(args[1]) score_ligand(wm_ct, lig_ct, 0.8)