Chemical Data Processing Library Python API - Version 1.4.0
Classes | Public Member Functions | Static Public Attributes | Properties | List of all members
CDPL.GRAIL.GRAILXDescriptorCalculator Class Reference

Calculation of the extended GRAIL-X descriptor for protein-ligand complexes. More...

+ Inheritance diagram for CDPL.GRAIL.GRAILXDescriptorCalculator:

Classes

class  ElementIndex
 Indices of the individual elements of the extended GRAIL-X descriptor vector. More...
 

Public Member Functions

None __init__ ()
 Constructs the GRAILXDescriptorCalculator instance.
 
None __init__ (GRAILXDescriptorCalculator calc)
 Constructs a copy of the GRAILXDescriptorCalculator instance calc. More...
 
int getObjectID ()
 Returns the numeric identifier (ID) of the wrapped C++ class instance. More...
 
GRAILXDescriptorCalculator assign (GRAILXDescriptorCalculator calc)
 Copy assignment operator. More...
 
None initTargetData (Chem.MolecularGraph tgt_env, Chem.Atom3DCoordinatesFunction coords_func, bool tgt_env_changed=True)
 Initializes the calculator with target-environment data for subsequent descriptor calculations. More...
 
None initLigandData (Chem.MolecularGraph ligand)
 Initializes the calculator with the molecular graph of the ligand. More...
 
None calculate (Math.Vector3DArray atom_coords, Math.DVector descr, bool update_lig_part=True)
 Calculates the extended GRAIL-X descriptor for the current ligand pose. More...
 

Static Public Attributes

int TOTAL_DESCRIPTOR_SIZE = 177
 Total number of elements in the calculated descriptor vector.
 
int LIGAND_DESCRIPTOR_SIZE = 31
 Number of ligand-only descriptor elements (the first LIGAND_DESCRIPTOR_SIZE entries of the vector).
 

Properties

 objectID = property(getObjectID)
 

Detailed Description

Calculation of the extended GRAIL-X descriptor for protein-ligand complexes.

GRAILXDescriptorCalculator is the SYBYL-atom type-aware variant of GRAIL.GRAILDescriptorCalculator. The resulting 177-element descriptor refines the generic hydrogen-bond donor/acceptor terms by also resolving the chemical environment (N3, N2, Nar, Nam, Npl3, N4, O3, O2, Oco2, S3, S2) of the participating heavy atom. The full element layout is given by ElementIndex.

See also
[GRADE]

Constructor & Destructor Documentation

◆ __init__()

None CDPL.GRAIL.GRAILXDescriptorCalculator.__init__ ( GRAILXDescriptorCalculator  calc)

Constructs a copy of the GRAILXDescriptorCalculator instance calc.

Parameters
calcThe GRAILXDescriptorCalculator to copy.

Member Function Documentation

◆ getObjectID()

int CDPL.GRAIL.GRAILXDescriptorCalculator.getObjectID ( )

Returns the numeric identifier (ID) of the wrapped C++ class instance.

Different Python GRAILXDescriptorCalculator instances may reference the same underlying C++ class instance. The commonly used Python expression a is not b thus cannot tell reliably whether the two GRAILXDescriptorCalculator instances a and b reference different C++ objects. The numeric identifier returned by this method allows to correctly implement such an identity test via the simple expression a.getObjectID() != b.getObjectID().

Returns
The numeric ID of the internally referenced C++ class instance.

◆ assign()

GRAILXDescriptorCalculator CDPL.GRAIL.GRAILXDescriptorCalculator.assign ( GRAILXDescriptorCalculator  calc)

Copy assignment operator.

Parameters
calcThe other GRAILXDescriptorCalculator instance.
Returns
self

◆ initTargetData()

None CDPL.GRAIL.GRAILXDescriptorCalculator.initTargetData ( Chem.MolecularGraph  tgt_env,
Chem.Atom3DCoordinatesFunction  coords_func,
bool   tgt_env_changed = True 
)

Initializes the calculator with target-environment data for subsequent descriptor calculations.

Parameters
tgt_envThe target environment (e.g. binding-site residues).
coords_funcThe function used to retrieve atom 3D-coordinates from tgt_env.
tgt_env_changedIf True, the target environment is reinitialized even if the same target was supplied previously.

◆ initLigandData()

None CDPL.GRAIL.GRAILXDescriptorCalculator.initLigandData ( Chem.MolecularGraph  ligand)

Initializes the calculator with the molecular graph of the ligand.

Parameters
ligandThe ligand molecular graph.

◆ calculate()

None CDPL.GRAIL.GRAILXDescriptorCalculator.calculate ( Math.Vector3DArray  atom_coords,
Math.DVector  descr,
bool   update_lig_part = True 
)

Calculates the extended GRAIL-X descriptor for the current ligand pose.

The pose is supplied via per-atom 3D coordinates in atom_coords (same order as the atoms of the molecular graph passed to initLigandData()). The result is written to descr.

Parameters
atom_coordsThe 3D coordinates of the ligand atoms.
descrThe output descriptor vector (resized to TOTAL_DESCRIPTOR_SIZE).
update_lig_partIf True, the ligand-only part of the descriptor is recomputed.