schrodinger.application.desmond.fep_edge_data module

schrodinger.application.desmond.fep_edge_data.water_mol(respdb: str) schrodinger.structure._structure.Structure

Return a water molecule CT.

schrodinger.application.desmond.fep_edge_data.tag_protein(proteinA, proteinB)
This is function was adopted from:

scisol.leadoptmap.protein_fep_mapper.tag_protein

This proceeds in several steps for mutation of protein A -> protein B Loop over all other atoms in the two full length proteins and assign 1:1 atom mapping. For the mutated residue, it might put some wrong numbers in, but it is fine as the correct value will later overwrite them.

Parameters
  • proteinA (structure) – protein A

  • proteinB (structure) – protein B

schrodinger.application.desmond.fep_edge_data.get_fep_simulation_details(*, complex_sid: Dict[str, object], solvent_sid: Dict[str, object]) Dict[str, object]
schrodinger.application.desmond.fep_edge_data.get_residue_name(res: schrodinger.structure._structure.Residue) str
class schrodinger.application.desmond.fep_edge_data.ResData(molnum, chain, name, number)

Bases: schrodinger.application.desmond.fep_edge_data.ResData

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

fullName()

Return a string of the residue data formatted as chain:resname_resnum

Returns

The formatted residue data

Return type

str

nameNum()

Return the residue name and number formatted as resname_resnum

Returns

The formatted residue data

Return type

str

class schrodinger.application.desmond.fep_edge_data.FEPTorsions(ark_sol=None, ark_cpx=None, sol_idx_offset=0, cpx_idx_offset=0)

Bases: object

Variables

NULL_Y_LIM – The default y min and max for plots which don’t contain torsion data

Vartype

tuple(int, int)

POT_NTICKS = 3
NULL_Y_LIM = (-1, 1)
Y_AXIS_SCALE = 1.05
__init__(ark_sol=None, ark_cpx=None, sol_idx_offset=0, cpx_idx_offset=0)
property sol_result
property cpx_result
property max_potential_energy
property potential_energy

Returns potential energy that’s offset to zero

property starting_conformation
Returns

the starting conformation’s torsion value, with a preference for the value in the complex. None if not found.

Return type

float or NoneType

property strain
Returns

the value (float) and standard deviation (float) tuples for torsion strain in the complex and solvent, i.e., ((cpx_val, cpx_std_dev), (sol_val, sol_st_dev)). If the complex or solution didn’t have torsion values None will be returned for the tuple in question

Return type

tuple

plot(ax, color='gray', for_print=False, pot_tick_pos='right', hist_tick_pos='Bottom')
class schrodinger.application.desmond.fep_edge_data.FEPTorsionsContainer(sol_torsions_sea_list, cpx_torsions_sea_list, sol_idx_offset=0, cpx_idx_offset=0, perturbation_type='small_molecule')

Bases: object

Class that stores torsions for a single ligand. These torsions are from both solvent and complex legs of the simulations, corresponding to a single lambda value.

__init__(sol_torsions_sea_list, cpx_torsions_sea_list, sol_idx_offset=0, cpx_idx_offset=0, perturbation_type='small_molecule')
property matched_tors
property unmatched_tors
property all_tors
property matched_total
property unmatched_total
property tors_total
class schrodinger.application.desmond.fep_edge_data.FEPEdgeData(complex_sea, solvent_sea, pv_st=None, atom_mapping=None, perturbation_type='small_molecule', ddg_corrections_map=None)

Bases: object

FEPEdgeData contains all the data related to an FEP perturbation. This includes both solvent and complex legs of the simulations as well as analysis results produced by SID.

__init__(complex_sea, solvent_sea, pv_st=None, atom_mapping=None, perturbation_type='small_molecule', ddg_corrections_map=None)
Parameters
  • complex_sea (sea) – SEA object with results pertaining to the complex leg of the FEP calculation

  • solvent_sea (sea) – SEA object with results pertaining to the solvent leg of the FEP calculation

  • pv_st (schrodinger.Structure) – PoseViewer file must contain 3 structures.. [receptor, lig1, lig2]; otherwise it’s None

  • atom_mapping (tuple(int, int)) – mapping of ligand2 to ligand1 atoms

rate(name: str) schrodinger.application.desmond.fep_edge_data_classifier.Rating

Return rating for the FEP edge data with the given name. The valid names can be found in fep_edge_data_classifiers.py.

property fep_simulation_details
static get_smiles(st)

rtype: str return: Generate SMILES from a given ligand structure.

property atom_mapping
ligand1_fragments(offset_by_receptor_natoms=True)
ligand2_fragments(offset_by_receptor_natoms=True)
ligand1_sol_sid_rb_strain(stats=True)
ligand2_sol_sid_rb_strain(stats=True)
ligand1_cpx_sid_rb_strain(stats=True)
ligand2_cpx_sid_rb_strain(stats=True)
property ligand_torsions
Return type

(FEPTorsionsContainer object, FEPTorsionsContainer object)

Returns

FEPTorsionsContainer objects for lambda0 and lambda1.

ligand1_cpx_sid_waters(stats=True)
ligand2_cpx_sid_waters(stats=True)
ligand1_sol_sid_lighb(stats=True)
ligand2_sol_sid_lighb(stats=True)
ligand1_cpx_sid_lighb(stats=True)
ligand2_cpx_sid_lighb(stats=True)
ligand1_sol_sid_sasa(stats=True)
ligand2_sol_sid_sasa(stats=True)
ligand1_cpx_sid_sasa(stats=True)
ligand2_cpx_sid_sasa(stats=True)
ligand1_sol_sid_molsa(stats=True)
ligand2_sol_sid_molsa(stats=True)
ligand1_cpx_sid_molsa(stats=True)
ligand2_cpx_sid_molsa(stats=True)
ligand1_sol_sid_psa(stats=True)
ligand2_sol_sid_psa(stats=True)
ligand1_cpx_sid_psa(stats=True)
ligand2_cpx_sid_psa(stats=True)
ligand1_sol_sid_rgyr(stats=True)
ligand2_sol_sid_rgyr(stats=True)
ligand1_cpx_sid_rgyr(stats=True)
ligand2_cpx_sid_rgyr(stats=True)
ligand1_sol_sid_rmsd(stats=True)
ligand2_sol_sid_rmsd(stats=True)
ligand1_cpx_sid_rmsd(stats=True)
ligand2_cpx_sid_rmsd(stats=True)
get_ligand1_atom_dict()
get_ligand2_atom_dict()
property sse_limits_lambda0
property sse_limits_lambda1
property receptor_sid_rmsd_ligand_lambda0

ligand1 RMSD wrt the protein

property receptor_sid_rmsd_ligand_lambda1

ligand2 RMSD wrt the protein

static protein_residue(res)

Get data about the specified residue

Parameters

res (schrodinger.structure._Residue) – The residue object to get data from

Returns

A namedtuple containing the molecule number, chain, residue name, and residue number

Return type

ResData

property receptor_residue_sequence_list

Return a list of residue objects (ResData) in amino-to-carboxy order.

Returns

a list of residue objects, ordered N->C (amino to carboxy tails).

Return type

ResData

property receptor_residue_sequence_tags

A residue tag looks like this: A:THR_124 (Chain:resname_resnum) if chain is not defined, use ‘_’ (underscore) :return: a list of residue tags :rtype: residue_tag

property receptor_b_factor: List[float]

Return B factors grouped by residues using PDB tfactor values stored in the structure. If the PDB tfactor values are not present, return zeros.

property receptor_sid_rmsd_backbone_lambda0
property receptor_sid_rmsd_backbone_lambda1
property receptor_sid_rmsf_backbone_lambda0
property receptor_sid_rmsf_backbone_lambda1
property cpx_sid_lp_results
property pl_contact_data0

A dictionary containing PL interactions for lambda=0

property pl_contact_data1

A dictionary containing PL interactions for lambda=1

get_protein_residues_sequence_tags()
property pl_interaction_similarity_matrix0

Protein-ligand interactions similarity matrix for lambda=0 sys for all available frames.

property pl_interaction_similarity_matrix1

Protein-ligand interactions similarity matrix for lambda=1 sys for all available frames.

property fullsystem_ct
property cpx_sid_pl_results
property cpx_sid_protein_residues

A list of protein residues that interact with both ligand1 and ligand2 throughout the simulation

Return type

str

Returns

a list of protein tags that interact with both ligand1 and ligand2

property receptor_residues_interaction_ligand1

A list of preotein residues that interact just with ligand1 :rtype: list :return: list of protein residue tags

property receptor_residues_interaction_ligand2

A list of preotein residues that interact just with ligand2 :rtype: list :return: list of protein residue tags

property cpx_sid_trajectory_interval_ns
property sol_sid_trajectory_interval_ns
property cpx_sid_snapshot_times_ps
property sol_sid_snapshot_times_ps
property cpx_sid_number_of_frames
property sol_sid_number_of_frames
property leg1_name
property leg2_name
property sol_timestep_list
property cpx_timestep_list
property sol_timestep_interval
property cpx_timestep_interval
property sol_delta_g_sliding_err
property cpx_delta_g_sliding_err
property sol_delta_g_sliding
property cpx_delta_g_sliding
property sol_delta_g_reverse_err
property cpx_delta_g_reverse_err
property sol_delta_g_reverse
property cpx_delta_g_reverse
property sol_delta_g_forward_err
property cpx_delta_g_forward_err
property sol_delta_g_forward_dg
property cpx_delta_g_forward_dg
property sol_delta_g_forward_bootstrap_std
property cpx_delta_g_forward_bootstrap_std
property sol_delta_g_forward_analytical_std
property cpx_delta_g_forward_analytical_std
property sol_delta_g_forward_df_per_replica
property cpx_delta_g_forward_df_per_replica
property sol_delta_g_forward
property cpx_delta_g_forward
property sol_end_time_ns
property cpx_end_time_ns
property sol_start_time_ns
property cpx_start_time_ns
property receptor_charge
property receptor_total_heavy
property receptor_total_atom
property receptor_title
property receptor_total_residues_in_chains
property receptor_chain_names
property receptor_total_residues
property ligand1_total_fragments
property ligand2_total_fragments
property ligand1_mol_formula
property ligand2_mol_formula
property ligand1_charge
property ligand2_charge
property ligand1_alchemical_mols
property ligand2_alchemical_mols
property ligand1_alchemical_atom_total
property ligand2_alchemical_atom_total
property ligand1_atomic_mass
property ligand2_atomic_mass
property ligand1_rot_bonds
property ligand2_rot_bonds
property ligand1_total_hot
property ligand2_total_hot
property ligand1_total_heavy
property ligand2_total_heavy
property ligand1_total_atoms
property ligand2_total_atoms
property ligand1_cpx_asl
property ligand2_cpx_asl
property ligand1_sol_asl
property ligand2_sol_asl
property ligand1_pdb_name
property ligand2_pdb_name
property ligand1_smiles
property ligand2_smiles
static ligand_name(st)
property ligand1_name
property ligand2_name
property short_hash
property ligand1_hash
property ligand2_hash
property jobname
property delta_delta_g
property sol_delta_g
Returns

dG and its standard deviation

Return type

float, float

property ddg_corrections_map
property ddg_corrections_sum
property cpx_delta_g
Returns

dG and its standard deviation

Return type

float, float

property sol_total_replicas
property cpx_total_replicas
property sol_total_waters
property cpx_total_waters
property sol_total_atoms
property cpx_total_atoms
property sol_sim_time

Values returned in Ns (nanoseconds)

property cpx_sim_time

Values returned in Ns (nanoseconds)

property sol_temperature
property cpx_temperature
property sol_ff
property cpx_ff
property sol_ensemble
property cpx_ensemble
property sol_charge
property cpx_charge
property sol_user_restraint
property cpx_user_restraint
property sol_salt_molecules
property cpx_salt_molecules
property sol_salt_info
property cpx_salt_info
property receptor_st

Returns receptor structure

property ligand1_st

Returns ligand_1 structure

property ligand2_st

Returns ligand_2 structure

property sol_rest_exchanges
property cpx_rest_exchanges
class schrodinger.application.desmond.fep_edge_data.PRMEdgeData(complex_sea, solvent_sea, pv_st=None, atom_mapping=None, perturbation_type='small_molecule', frag_atom_mapping=None)

Bases: schrodinger.application.desmond.fep_edge_data.FEPEdgeData

PRMEdgeData is an object that stores Protein Residue Mutation related data. And inherits from FEPEdgeData.

__init__(complex_sea, solvent_sea, pv_st=None, atom_mapping=None, perturbation_type='small_molecule', frag_atom_mapping=None)
Parameters
  • complex_sea (sea) – SEA object with results pertaining to the complex leg of the FEP calculation

  • solvent_sea (sea) – SEA object with results pertaining to the solvent leg of the FEP calculation

  • pv_st (schrodinger.Structure) – PoseViewer file must contain 2 or 3 structures. [receptor, lig1, lig2]; otherwise it’s None

  • atom_mapping (int, int) – mapping of ligand2 to ligand1 atoms

  • frag_atom_mapping (int, int) – mapping of frag1 and frag2 atoms

property wt_st

Returns full structure of a WT protein

property mut_st

Returns full structure of a mutated protein

property ligand1_st

Returns ligand_1 structure

property ligand2_st

Returns ligand_2 structure

property receptor_st

Returns receptor structure

property wt_frag_st
property mut_frag_st
property solvent_fullsystem_ct
property ligand_st_mol_formula
property prm_name
property residue_names
property receptor_sid_rmsf_backbone_lambda0
property receptor_sid_rmsf_backbone_lambda1
property ligand_torsions
Return type

(FEPTorsionsContainer object, FEPTorsionsContainer object)

Returns

FEPTorsionsContainer objects for lambda0 and lambda1.

static peptide_name(st)
property wt_name
property mut_name
property wt_residue_sequence_list

Return a list of residue objects (ResData) in amino-to-carboxy order.

Returns

a list of residue objects, ordered N->C (amino to carboxy tails).

Return type

ResData

property wt_residue_sequence_tags

A residue tag looks like this: A:THR_124 (Chain:resname_resnum) if chain is not defined, use ‘_’ (underscore) :return: a list of residue tags :rtype: residue_tag

property mut_residue_sequence_list

Return a list of residue objects (ResData) in amino-to-carboxy order.

Returns

a list of residue objects, ordered N->C (amino to carboxy tails).

Return type

ResData

property mut_residue_sequence_tags

A residue tag looks like this: A:THR_124 (Chain:resname_resnum) if chain is not defined, use ‘_’ (underscore) :return: a list of residue tags :rtype: residue_tag

get_protein_residues_sequence_tags()
property cpx_sid_lp_results
property atom_mapping
class schrodinger.application.desmond.fep_edge_data.CovalentFEPEdgeData(complex_sea, solvent_sea, pv_st=None, sol_st=None, atom_mapping=None, perturbation_type='small_molecule', frag_atom_mapping=None)

Bases: schrodinger.application.desmond.fep_edge_data.FEPEdgeData

This object stores covalent FEP related data.

__init__(complex_sea, solvent_sea, pv_st=None, sol_st=None, atom_mapping=None, perturbation_type='small_molecule', frag_atom_mapping=None)
Parameters
  • complex_sea (sea) – SEA object with results pertaining to the complex leg of the FEP calculation

  • solvent_sea (sea) – SEA object with results pertaining to the solvent leg of the FEP calculation

  • pv_st (schrodinger.Structure) – PoseViewer file must contain 2 structures. [complex1, complex2]; otherwise it’s None

  • sol_st (solvent fragments tuple) – (schrodinger.Structure, schrodinger.Structure)

  • atom_mapping (int, int) – mapping of ligand2 to ligand1 atoms

  • frag_atom_mapping (int, int) – mapping of frag1 and frag2 atoms

property wt_st

Returns full structure of a WT protein

property mut_st

Returns full structure of a mutated protein

property receptor_st

Returns receptor structure

property ligand1_cpx_st
property ligand2_cpx_st
property ligand1_st

Returns ligand_1 structure

property ligand2_st

Returns ligand_2 structure

property solvent_fullsystem_ct
property receptor_sid_rmsf_backbone_lambda0
property receptor_sid_rmsf_backbone_lambda1
property ligand_torsions
Return type

(FEPTorsionsContainer object, FEPTorsionsContainer object)

Returns

FEPTorsionsContainer objects for lambda0 and lambda1.

property receptor_title
property cpx_sid_lp_results
get_ligand1_atom_dict()
get_ligand2_atom_dict()
property atom_mapping

Return atom mapping for both ligand fragment that is used in the SID calculation. Ligands used in the solvent leg are different than those used in the complex leg. The difference is:

  • Complex leg – we use the side chain of the attached residue plus the ligand.

  • Solvent leg – we use the peptide plus the ligand.

Returns

atom mapping for ligand1 and ligand2. The values should

Return type

(list, list)

class schrodinger.application.desmond.fep_edge_data.MetalloproteinEdgeData(complex_sea, solvent_sea, pv_st=None, atom_mapping=None, perturbation_type='metalloprotein')

Bases: schrodinger.application.desmond.fep_edge_data.FEPEdgeData

This object stores Metalloprotein FEP related data.

__init__(complex_sea, solvent_sea, pv_st=None, atom_mapping=None, perturbation_type='metalloprotein')
Parameters
  • complex_sea (sea) – SEA object with results pertaining to the complex leg of the FEP calculation

  • solvent_sea (sea) – SEA object with results pertaining to the solvent leg of the FEP calculation

  • pv_st (schrodinger.Structure) – PoseViewer file must contain 3 structures.. [receptor, lig1, lig2]; otherwise it’s None

  • atom_mapping (Dict[int, int]) – mapping of ligand2 to ligand1 atoms

property fullsystem_ct
Return type

schrodinger.structure.Structure

Returns

The full system structure.

property receptor_st
Return type

schrodinger.structure.Structure

Returns

The receptor structure.

property ligand1_st
Return type

schrodinger.structure.Structure

Returns

The ligand1 structure.

property ligand2_st
Return type

schrodinger.structure.Structure

Returns

The ligand2 structure.

property ligand_torsions
Return type

(FEPTorsionsContainer object, FEPTorsionsContainer object)

Returns

FEPTorsionsContainer objects for lambda0 and lambda1.

property receptor_sid_rmsf_backbone_lambda0
Return type

List[float]

Returns

The RMSF for each receptor residue in lambda0.

property receptor_sid_rmsf_backbone_lambda1
Return type

List[float]

Returns

The RMSF for each receptor residue in lambda1.

class schrodinger.application.desmond.fep_edge_data.AbFEPEdgeData(complex_sea, solvent_sea, pv_st=None, atom_mapping=None, perturbation_type='absolute_binding', ddg_corrections_map=None)

Bases: schrodinger.application.desmond.fep_edge_data.FEPEdgeData

This object stores Absolute Binding FEP related data.

__init__(complex_sea, solvent_sea, pv_st=None, atom_mapping=None, perturbation_type='absolute_binding', ddg_corrections_map=None)
Parameters
  • complex_sea (sea) – SEA object with results pertaining to the complex leg of the FEP calculation

  • solvent_sea (sea) – SEA object with results pertaining to the solvent leg of the FEP calculation

  • pv_st (schrodinger.Structure) – PoseViewer file must contain 3 structures, [receptor, lig1, lig2]

  • atom_mapping (Dict[int, int]) – mapping of ligand2 to ligand1 atoms

See FEPEdgeData for definitions of other parameters.

property fullsystem_ct
Return type

schrodinger.structure.Structure

Returns

The full system structure.

property receptor_st
Return type

schrodinger.structure.Structure

Returns

The receptor structure.

property ligand1_st
Return type

schrodinger.structure.Structure

Returns

The ligand1 structure.

property ligand2_st
Return type

schrodinger.structure.Structure

Returns

The ligand2 structure.

property ligand_torsions
Return type

(FEPTorsionsContainer object, FEPTorsionsContainer object)

Returns

FEPTorsionsContainer objects for lambda0 and lambda1.

property ligand1_hash
property delta_delta_g
property cpx_sid_protein_residues

A list of protein residues that interact with both ligand1 throughout the simulation :rtype: str :return: a list of protein tags that interact with ligand1

schrodinger.application.desmond.fep_edge_data.shorten_name(name: str) str
class schrodinger.application.desmond.fep_edge_data.SolubilityFEPEdgeData(st, hydration_sea, sublimation_sea_list)

Bases: object

__init__(st, hydration_sea, sublimation_sea_list)
hyd_sid_rmsd(stats=True)
sub_sid_rmsd(stats=True)
hyd_sid_sasa(stats=True)
sub_sid_sasa(stats=True)
hyd_sid_psa(stats=True)
sub_sid_psa(stats=True)
hyd_sid_molsa(stats=True)
sub_sid_molsa(stats=True)
hyd_sid_rgyr(stats=True)
sub_sid_rgyr(stats=True)
sub_interactions(stats=True)
property mol_st
property mol_torsions
Return type

List(FEPTorsionsContainer)

Returns

each element in the list will contain (hyd, subX) tuplet.

property sub_sid_trajectory_interval_ns
property hyd_sid_trajectory_interval_ns
property sub_sid_snapshot_times_ns
property hyd_sid_snapshot_times_ns
property sub_sid_number_of_frames
property hyd_sid_number_of_frames
property leg1_name
property leg2_name
property leg2_names
property leg2_names_short
property hyd_delta_g_sliding_err
property sub_delta_g_sliding_err
property hyd_delta_g_sliding
property sub_delta_g_sliding
property hyd_delta_g_reverse_err
property sub_delta_g_reverse_err
property hyd_delta_g_reverse
property sub_delta_g_reverse
property hyd_delta_g_forward_err
property sub_delta_g_forward_err
property hyd_delta_g_forward
property sub_delta_g_forward
property hyd_delta_g_forward_bootstrap_std
property sub_delta_g_forward_bootstrap_std
property hyd_delta_g_forward_analytical_std
property sub_delta_g_forward_analytical_std
property hyd_delta_g_forward_df_per_replica
property sub_delta_g_forward_df_per_replica
property hyd_end_time_ns
property sub_end_time_ns
property hyd_start_time_ns
property sub_start_time_ns
property hyd_mol_number
property sub_mol_number
property mol_total_rot_bonds
property mol_total_fragments
property mol_formula
property mol_charge
property mol_atomic_mass
property mol_total_heavy
property mol_total_atoms
property mol_pdb_name
property mol_smiles
property mol_name
property short_hash
property mol_hash
property jobname
property solubility_dg
property sub_median_delta_g

Return the median of solubility legs dG

property hyd_delta_g
Returns

dG and its standard deviation

Return type

float, float

property sub_delta_g
Returns

dG and its standard deviation

Return type

float, float

property hyd_total_replicas
property sub_total_replicas
property hyd_total_waters
property sub_total_waters
property hyd_total_atoms
property sub_total_atoms
property hyd_sim_time

Values returned in Ns (nanoseconds)

property sub_sim_time

Values returned in Ns (nanoseconds)

property hyd_temperature
property sub_temperature
property hyd_ff
property sub_ff
property hyd_ensemble
property sub_ensemble
property hyd_charge
property sub_charge
property hyd_rest_exchanges
property sub_rest_exchanges
schrodinger.application.desmond.fep_edge_data.parse_sid(obj_sea)
schrodinger.application.desmond.fep_edge_data.parse_sea(sea_obj)

Given an ark object, parse the data

schrodinger.application.desmond.fep_edge_data.get_ticks(min_val, max_val, num_ticks)

Return tick values and labels for an axis with the given min and max

Parameters
  • min_val (float) – The minimum value on the axis

  • max_val (float) – The maximum value on the axis

  • num_ticks (int) – How many ticks to use on the axis

Returns

tick values and tick labels

Return type

list[float], list[str]