schrodinger.application.desmond.replica_sid_generator module

schrodinger.application.desmond.replica_sid_generator.get_cov_lig_info(cms_st)

Find ligand residue ID for covalent ligand job. The inputs should always be a complex system/complex leg. :param cms_st: Desmond system structure :type cms_st: cms.Cms

Return type

tuple(str, str) or tuple(None, None)

Returns

(chain, resnum) information of the covalent ligand

class schrodinger.application.desmond.replica_sid_generator.AlchemAsl(ref_asl: str, mut_asl: str, ref_solv_asl: Optional[str] = None, mut_solv_asl: Optional[str] = None)

Bases: object

ref_asl: str
mut_asl: str
ref_solv_asl: Optional[str] = None
mut_solv_asl: Optional[str] = None
__init__(ref_asl: str, mut_asl: str, ref_solv_asl: Optional[str] = None, mut_solv_asl: Optional[str] = None) None
schrodinger.application.desmond.replica_sid_generator.setup_alchem_properties(cms_st, alchem_asl_obj, fep_type, leg_type)

This method sets up all alchemical selections for different types of FEPs and respected perturbation legs.

Parameters
  • alchem_asl_obj (AlchemAsl) – AlchemAsl object

  • fep_type (str) – FEP_TYPE as defined in constants.FEP_TYPES

  • leg_type (str) – either a ‘solvent’ or ‘complex’

Return type

(SmallMoleculeReport, SmallMoleculeReport), (str, str)

Returns

two tuples of pairs: SmallMoleculeReport and full protein ASL strings

schrodinger.application.desmond.replica_sid_generator.parse_prm_tag(cms_model: schrodinger.application.desmond.cms.Cms) Union[Tuple[None, None, None], Tuple[str, int, str]]

Given a cms model, get the chain, resnum, and inscode of the mutated residue.

Mutated sites are parsed from the s_bioluminate_Mutations property which is a string in the format of A:33B(ALA->VAL) where A is the chain, 33 is the residue number, B in the insertion code (optional), and the mutation is from an alanine to a valine.

In the case of

  1. a multisite+multistep mutation (e.g. WT -> A-ALA41ILE,A-ALA43GLY)

  2. there is no s_bioluminate_Mutations property

we must skip ligand analysis, so return (None, None, None)

schrodinger.application.desmond.replica_sid_generator.write_recentered_traj(traj_fn: str, asl: str) Tuple[str, str]

Center the cms/trajectory to the provided asl string. We also need to rename the CT_TYPE of ‘solute’ to ‘solvent’ to ensure proper centering. Return the new cms and trj filenames.

class schrodinger.application.desmond.replica_sid_generator.FEPReport(basename, energy_output, task_type='lambda_hopping', n_win=12, perturbation_type=None)

Bases: object

__init__(basename, energy_output, task_type='lambda_hopping', n_win=12, perturbation_type=None)
setup_alchem_properties()
get_ark_results()

Function organizes and returns ARK abject

export(filename=None)

Writes a file with SID results in them, so they can be read into SID gui

ark_str(str_in)

Sanitize ARK string, by removing the doubleqoutes

launch_SID(traj_fn, st2_fn, eaf_fn)

This method launches analyze_simulation.py, a backend for SID analysis

get_analysis(fep_lambda)

This method generates an analysis input file, submits the analysis, and returns an ARK object with results.

:rtype ARK object

class schrodinger.application.desmond.replica_sid_generator.FEPSimulationReport(basename, task_type, perturbation_type, cfg=None)

Bases: object

__init__(basename, task_type, perturbation_type, cfg=None)
export()
process_salt_and_ions()
get_cms()
get_cpu_gpu_info()
get_sim_time_ns()
get_job_type()
get_ensemble()
get_temperature()
read_cms(basename)
get_nwaters()
get_entry_title()
get_ff()
read_cfg(basename)
class schrodinger.application.desmond.replica_sid_generator.ProteinReport(cms_st, prot_asl, mutation_tag=None)

Bases: object

__init__(cms_st, prot_asl, mutation_tag=None)
export()
get_hot_atoms()

Returns atoms in the hot region

get_residues()
get_number_atoms()
get_protein(asl)
class schrodinger.application.desmond.replica_sid_generator.SmallMoleculeReport(st, perturbation_type, leg_type, ligand_number=0, asl=None, alchem_solvent_st=None, alchem_solvent_asl=None, metal_asl=None)

Bases: object

__init__(st, perturbation_type, leg_type, ligand_number=0, asl=None, alchem_solvent_st=None, alchem_solvent_asl=None, metal_asl=None)
Parameters
  • perturbation_type (str) – one of several perturbation types

  • leg_type (str) – solvent, complex or vacuum

  • asl (str) – Asl for the ligand

  • alchem_solvent_asl (str) – Asl for alchemical solvent, can be either water or ions

  • alchem_solvent_st (Structure) – Ct of alchemical solvent, can be either water or ions

  • metal_asl (str) – Asl for the metals and ions

export()
get_alchem_solv()

Return a alchemical solvent types and number of atoms of such type

get_hot_atoms()

Returns number of atoms in the hot region. Depending where the rest region is set up, different property names are used.

getLigandFragments()

Fragments the ligand in several fragments using the murcko rules. returns the list of mappings

get_resname()
get_mol_formula()
get_natoms()
get_smiles()