schrodinger.application.desmond.fep_edge_data module

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.

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)
cpx_sid_lp_results
get_ligand1_atom_dict()
get_ligand2_atom_dict()
ligand1_cpx_st
ligand1_st
ligand2_cpx_st
ligand2_st
ligand_torsions
mut_st

Returns full structure of a mutated protein

receptor_sid_rmsf_backbone_lambda0
receptor_sid_rmsf_backbone_lambda1
receptor_st
receptor_title
solvent_fullsystem_ct
wt_st

Returns full structure of a WT protein

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

Bases: future.types.newobject.newobject

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.

atom_mapping
cpx_charge
cpx_charge_correction
cpx_delta_g
Returns:dG and its standard deviation
Return type:float, float
cpx_delta_g_forward
cpx_delta_g_forward_analytical_std
cpx_delta_g_forward_bootstrap_std
cpx_delta_g_forward_df_per_replica
cpx_delta_g_forward_dg
cpx_delta_g_forward_err
cpx_delta_g_reverse
cpx_delta_g_reverse_err
cpx_delta_g_sliding
cpx_delta_g_sliding_err
cpx_end_time_ns
cpx_ensemble
cpx_ff
cpx_rest_exchanges
cpx_sid_lp_results
cpx_sid_number_of_frames
cpx_sid_pl_results
cpx_sid_protein_residues

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

ligand2
cpx_sid_snapshot_times_ps
cpx_sid_snashot_times_ps
cpx_sid_trajectory_interval_ns
cpx_sim_time

Values returned in Ns (nanoseconds)

cpx_start_time_ns
cpx_temperature
cpx_timestep_interval
cpx_timestep_list
cpx_total_atoms
cpx_total_replicas
cpx_total_waters
delta_delta_g
fullsystem_ct
get_ligand1_atom_dict()
get_ligand2_atom_dict()
get_minimal_fragments_with_mutation()

Generates two structures of minimal fragments that contain the mutation. This is so we can annotate the mutations and make them searchable. :return: returns two structures of fragments that contain the mutation. :rtype : (schrodinger.structure, schrodinger.structure)

get_protein_residues_sequence_tags()
static get_smiles(st)

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

jobname
leg1_name
leg2_name
ligand1_atomic_mass
ligand1_charge
ligand1_cpx_asl
ligand1_cpx_sid_lighb(stats=True)
ligand1_cpx_sid_molsa(stats=True)
ligand1_cpx_sid_psa(stats=True)
ligand1_cpx_sid_rb_strain(stats=True)
ligand1_cpx_sid_rgyr(stats=True)
ligand1_cpx_sid_rmsd(stats=True)
ligand1_cpx_sid_sasa(stats=True)
ligand1_cpx_sid_waters(stats=True)
ligand1_fragments(offset_by_receptor_natoms=True)
ligand1_hash
ligand1_mol_formula
ligand1_name
ligand1_pdb_name
ligand1_rot_bonds
ligand1_smiles
ligand1_sol_asl
ligand1_sol_sid_lighb(stats=True)
ligand1_sol_sid_molsa(stats=True)
ligand1_sol_sid_psa(stats=True)
ligand1_sol_sid_rb_strain(stats=True)
ligand1_sol_sid_rgyr(stats=True)
ligand1_sol_sid_rmsd(stats=True)
ligand1_sol_sid_sasa(stats=True)
ligand1_st

Returns ligand_1 structure

ligand1_total_atoms
ligand1_total_fragments
ligand1_total_heavy
ligand1_total_hot
ligand1_total_rot_bonds
ligand2_atomic_mass
ligand2_charge
ligand2_cpx_asl
ligand2_cpx_sid_lighb(stats=True)
ligand2_cpx_sid_molsa(stats=True)
ligand2_cpx_sid_psa(stats=True)
ligand2_cpx_sid_rb_strain(stats=True)
ligand2_cpx_sid_rgyr(stats=True)
ligand2_cpx_sid_rmsd(stats=True)
ligand2_cpx_sid_sasa(stats=True)
ligand2_cpx_sid_waters(stats=True)
ligand2_fragments(offset_by_receptor_natoms=True)
ligand2_hash
ligand2_mol_formula
ligand2_name
ligand2_pdb_name
ligand2_rot_bonds
ligand2_smiles
ligand2_sol_asl
ligand2_sol_sid_lighb(stats=True)
ligand2_sol_sid_molsa(stats=True)
ligand2_sol_sid_psa(stats=True)
ligand2_sol_sid_rb_strain(stats=True)
ligand2_sol_sid_rgyr(stats=True)
ligand2_sol_sid_rmsd(stats=True)
ligand2_sol_sid_sasa(stats=True)
ligand2_st

Returns ligand_2 structure

ligand2_total_atoms
ligand2_total_fragments
ligand2_total_heavy
ligand2_total_hot
ligand2_total_rot_bonds
static ligand_name(st)
ligand_torsions
pl_contact_data0

A dictionary containing PL interactions for lambda=0

pl_contact_data1

A dictionary containing PL interactions for lambda=1

pl_interaction_similarity_matrix0

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

pl_interaction_similarity_matrix1

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

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 :rtype: ResData

receptor_b_factor

Returen B factor that is read from the initial structure. If the B factor is not defined return None :rtype: list of B-factors by residues :return: float

receptor_chain_names
receptor_charge
receptor_residue_sequence_list

Return a list of residue objects (ResData) in amino-to-carboxy order. :return: a list of residue objects, ordered N->C (amino to carboxy

tails).
Return type:ResData
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

receptor_residues_interaction_ligand1

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

receptor_residues_interaction_ligand2

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

receptor_sid_rmsd_backbone_lambda0
receptor_sid_rmsd_backbone_lambda1
receptor_sid_rmsd_ligand_lambda0

ligand1 RMSD wrt the protein

receptor_sid_rmsd_ligand_lambda1

ligand2 RMSD wrt the protein

receptor_sid_rmsf_backbone_lambda0
receptor_sid_rmsf_backbone_lambda1
receptor_st

Returns receptor structure

receptor_title
receptor_total_atom
receptor_total_heavy
receptor_total_residues
receptor_total_residues_in_chains
short_hash
sol_charge
sol_charge_correction
sol_delta_g
Returns:dG and its standard deviation
Return type:float, float
sol_delta_g_forward
sol_delta_g_forward_analytical_std
sol_delta_g_forward_bootstrap_std
sol_delta_g_forward_df_per_replica
sol_delta_g_forward_dg
sol_delta_g_forward_err
sol_delta_g_reverse
sol_delta_g_reverse_err
sol_delta_g_sliding
sol_delta_g_sliding_err
sol_end_time_ns
sol_ensemble
sol_ff
sol_rest_exchanges
sol_sid_number_of_frames
sol_sid_snapshot_times_ps
sol_sid_trajectory_interval_ns
sol_sim_time

Values returned in Ns (nanoseconds)

sol_start_time_ns
sol_temperature
sol_timestep_interval
sol_timestep_list
sol_total_atoms
sol_total_replicas
sol_total_waters
sse_limits_lambda0
sse_limits_lambda1
class schrodinger.application.desmond.fep_edge_data.FEPTorsions(ark_sol=None, ark_cpx=None, sol_idx_offset=0, cpx_idx_offset=0)
cpx_result
max_potential_energy
plot(ax, color='gray', for_print=False, pot_tick_pos='right', hist_tick_pos='Bottom')
potential_energy

Returns potential energy that’s offset to zero

sol_result
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')

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.

all_tors
matched_tors
matched_total
tors_total
unmatched_tors
unmatched_total
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.

atom_mapping
cpx_sid_lp_results
get_protein_residues_sequence_tags()
ligand1_st
ligand2_st
ligand_st_mol_formula
ligand_torsions
mut_frag_st
mut_name
mut_residue_sequence_list

Return a list of residue objects (ResData) in amino-to-carboxy order. :return: a list of residue objects, ordered N->C (amino to carboxy

tails).
Return type:ResData
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

mut_st

Returns full structure of a mutated protein

static peptide_name(st)
prm_name
receptor_sid_rmsf_backbone_lambda0
receptor_sid_rmsf_backbone_lambda1
receptor_st
solvent_fullsystem_ct
wt_frag_st
wt_name
wt_residue_sequence_list

Return a list of residue objects (ResData) in amino-to-carboxy order. :return: a list of residue objects, ordered N->C (amino to carboxy

tails).
Return type:ResData
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

wt_st

Returns full structure of a WT protein

class schrodinger.application.desmond.fep_edge_data.ResData

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
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.

:param proteinA : protein A :type proteinA : structure :param proteinB : protein B :type proteinB : structure