schrodinger.application.desmond.new_fep_edge_data module

class schrodinger.application.desmond.new_fep_edge_data.FepLegs(complex, solvent, vacuum)

Bases: tuple

complex

Alias for field number 0

solvent

Alias for field number 1

vacuum

Alias for field number 2

class schrodinger.application.desmond.new_fep_edge_data.FepLambdas(ref, mut)

Bases: tuple

mut

Alias for field number 1

ref

Alias for field number 0

exception schrodinger.application.desmond.new_fep_edge_data.BlameSidError

Bases: Exception

schrodinger.application.desmond.new_fep_edge_data.compare_mean_stdev_samples(a, b)

This is a utility function for unittesting. Tests if a and b are the same. Both arguments should be results from _mean_stdev_samples.

schrodinger.application.desmond.new_fep_edge_data.compare_mean_stdev_samples_2(a, b)

This is a utility function for unittesting. Tests if a and b are the same. But arguments should be a pair of results from _mean_stdev_samples.

schrodinger.application.desmond.new_fep_edge_data.compare_mean_stdev_samples_4(a, b)

This is a utility function for unittesting. Tests if a and b are the same. But arguments should be a pair of results for both lambda states, and each pair contains two results from _mean_stdev_samples (usually corresponding to the complex and the solvent legs)

schrodinger.application.desmond.new_fep_edge_data.arg_premise(key_pattern: str)

This decorator is to pass the val of the task.Premise object via the corresponding argument to the function. See its usage below.

The task.Premise object is created with the given key_pattern, which will be evaluated to the real key for getting the datum from the database.

Parameters

key_pattern – This argument can contain f-string variables, e.g., "Keywords[i].ResultLambda{fep_lambda}.Keywords[i].ProtLigInter.LigWatResult", where the {fep_lambda} part is a f-string variable. Currently, only {fep_lambda} is supported. Note this argument’s value itself is a simple string (not a f-string). It will be converted to a f-string and evaluated on the fly by the on_* decorators (see the docstrings there for detail), where all supported f-string variables must be defined.

schrodinger.application.desmond.new_fep_edge_data.arg_option(key_pattern: str, default=None)

Similar to arg_premise, except that the type is task.Option instead of task.Premise.

Parameters
  • key_pattern – See the docstring of arg_premise.

  • default – The default value of the datum if the key is not in the database.

schrodinger.application.desmond.new_fep_edge_data.arg_aid_offset(func)

This decorator is to pass the value of aid_offset, which depends on the specific leg, via the corresponding argument to the function. See its usage below.

schrodinger.application.desmond.new_fep_edge_data.on_complex_lambda_0(func)

Calls func with complex leg and FEP lambda state 0.

schrodinger.application.desmond.new_fep_edge_data.on_complex(func)

Calls func with complex leg. The FEP lambda state is irrelevant.

schrodinger.application.desmond.new_fep_edge_data.on_complex_lambdas(func)

Calls func with complex leg and both FEP lambda states 0 and 1.

Return type

2-tuple

Returns

The results returned by func for FEP lambda states 0 and 1, respectively.

schrodinger.application.desmond.new_fep_edge_data.on_complex_solvent_lambda_0(func)

Calls func with both complex and solvent legs and with FEP lambda state 0.

Return type

2-tuple

Returns

The two elements are for the complex and solvent legs, respectively.

schrodinger.application.desmond.new_fep_edge_data.on_complex_solvent(func)

Calls func with both complex and solvent legs. func does NOT require a specification of the FEP lambda state. In most cases, the decorated property will return a 2-tuple. The elements correspond to the complex and the solvent legs. In these cases, the lambda states are irrelevant. In some other cases, the property will return four values for the following leg/lambda-state combinations: complex/lambda0, complex/lambda1, solvent/lambda0, and solvent/lambda1; in these case, the values will be rearranged into the lambda0(complex, solvent), lambda1(complex, solvent) format to be consistent with properties decorated by on_complex_solvent_lambdas.

Return type

2-tuple

schrodinger.application.desmond.new_fep_edge_data.on_complex_solvent_lambdas(func)

Calls func with both complex and solvent legs and with both FEP lambda states 0 and 1.

Return type

Tuple[2-tuple, 2-tuple]

Returns

The two elements are for FEP lambda states 0 and 1. Each element is a 2-tuple of the results by func for the complex and solvent legs, respectively.

class schrodinger.application.desmond.new_fep_edge_data.ResData(molnum, chain, name, number, commonname)

Bases: schrodinger.application.desmond.new_fep_edge_data.ResData

A class to store the molecule number, chain, name, and number of a residue

static make(res: schrodinger.structure._structure.Residue) schrodinger.application.desmond.new_fep_edge_data.ResData
property fullname: str

Return a string formatted as “<chain>:<resname>_<resnum>”.

property name_num: str

Return a string formatted as “<resname>_<resnum>”.

class schrodinger.application.desmond.new_fep_edge_data.TorsionPotential(raw_data: List[float], a1, a2, a3, a4)

Bases: object

__init__(raw_data: List[float], a1, a2, a3, a4)
property energy_profile: numpy.ndarray

Returns energy profile that’s offset to zero.

property max: float

Returns the maximum value of the energy profile.

property aids
class schrodinger.application.desmond.new_fep_edge_data.FepData(fep_type: str, complex_model: schrodinger.application.desmond.cms.Cms, complex_analysis_results: schrodinger.application.desmond.arkdb.ArkDb, solvent_analysis_results: schrodinger.application.desmond.arkdb.ArkDb, vacuum_analysis_results: Optional[schrodinger.application.desmond.arkdb.ArkDb] = None)

Bases: object

A data scraper class to extract and reorganize from FEP simulations and raw SID analysis results.

__init__(fep_type: str, complex_model: schrodinger.application.desmond.cms.Cms, complex_analysis_results: schrodinger.application.desmond.arkdb.ArkDb, solvent_analysis_results: schrodinger.application.desmond.arkdb.ArkDb, vacuum_analysis_results: Optional[schrodinger.application.desmond.arkdb.ArkDb] = None)
property fep_type
property leg_names
property complex_model
property receptor
property ref
property mut
property atom_mapping: List[Tuple[int, int]]

Returns the AID (atom ID) pairs of the mapped atoms. Each element is a pair of AIDs, where the first one is of the mutant and the second of the reference. The AIDs are local with respect to the alchemical structures.

property ligand_wateraround_counts
property ligand_fragments
property ligand_torsions: Iterator[Tuple[schrodinger.application.desmond.new_fep_edge_data.TorsionPotential, schrodinger.application.desmond.new_fep_edge_data.TorsionPotential]], Iterator[Tuple[schrodinger.application.desmond.new_fep_edge_data.TorsionPotential, schrodinger.application.desmond.new_fep_edge_data.TorsionPotential]]

Returns two iterators for lambda states 0 and 1, respectively. Each iterator is over a list of 2-tuples of torsion potentials respectively for the complex and solvent legs.

property ligand_torsion_strain
property ligand_intrahbond_counts
property ligand_sasa
property ligand_molecular_sa
property ligand_polar_sa
property ligand_gyration_radius
property ligand_rmsd
property ligand_rmsd_wrt_protein
property protein_secondary_structure
property receptor_residue_sequence: List[schrodinger.application.desmond.new_fep_edge_data.ResData]

Return the residue sequence from N- to C-end. This property assumes that there is only one receptor structure.

property receptor_residue_b_factor
property receptor_backbone_rmsd
property receptor_backbone_rmsf
property residues_around_ligand
property residues_around_ligand_both_lambda_states

Returns a list of residues around the ligand molecule in both lambda states. Eech residue is a string of the form: “<chain>:<resname>_<resnum>”, and the list is sorted by the chain and the resnum.

property similarity_matrix_by_protein_ligand_interactions
property trajectory_intervals
property num_trajectory_frames
property trajectory_timelines: Tuple[numpy.ndarray, numpy.ndarray]

Returns two 1-D numpy arrays containing the trajectory-frames’ times for the complex and the solvent legs, respectively. CAVEAT: This relies on a not-super-safe assumption: The trajectory frames are always recorded with a start at 0 and a uniform interval.

property dg_sliding_time_function
property dg_reverse_time_function
property dg_forward_time_function
property dg
property ddg: schrodinger.application.desmond.measurement.Measurement

Returns the ddG = dG_complex - dG_solvent.

property df_per_window
property receptor_charge
property receptor_num_heavy_atoms
property receptor_num_atoms
property receptor_title: str
property receptor_num_residues_per_chain
property receptor_num_residues
property ligand_num_rotatable_bonds
property ligand_num_fragments
property ligand_molecular_formula
property ligand_charge
property alchemical_solvent
property num_atoms_alchemical_solvent
property ligand_molecular_mass
property ligand_num_hotatoms
property ligand_asl
property ligand_pdb_resname
property ligand_smiles
property edge_id
property node_ids
property jobname
property num_replicas
property num_water_molecules
property num_atoms
property sim_time
property sim_temperature
property sim_ff
property sim_ensemble
property sim_charge
property num_salt_atoms
property salt_concentration