schrodinger.application.desmond.automatic_analysis_generator module

schrodinger.application.desmond.automatic_analysis_generator.removeAminoAcids(ligand_list)

This function iterates over ligand structures in the given list and removes those that have amino acid names in their pdb residue name.

Parameters

ligand_list (list) – list of ligand structures

Returns

a list of Ligand instances

Return type

list

schrodinger.application.desmond.automatic_analysis_generator.getLigand(cms_st)

This parses a CMS for the ligand to use. :param cms_st: A CMS to find a ligand within :type cms_st: cms.Cms object

Returns

(ligand structure, ligand asl)

Return type

(Structure, str)

schrodinger.application.desmond.automatic_analysis_generator.getASLExcludingLigand(asl_type, protein_asl='(protein)', ligand_asl='')

This gives an ASL for a subsection of the protein without the ligand. :param asl_type: Type of protein wanted, Heavy, Backbone, etc :type asl_type: str

Parameters
  • protein_asl (str) – The ASL to describe the entire protein

  • ligand_asl (str) – The ASL to describe the ligand

Returns

ASL for the protein component minus the ligand

Return type

str

schrodinger.application.desmond.automatic_analysis_generator.getRMSDKeywords(protein_asl, ligand_asl, ref_struct_fname=None, frame=0)

Returns keywords for RMSD analysis of protein components. :param protein_asl: The ASL to describe the entire protein :type protein_asl: str

Parameters
  • ligand_asl (str or None) – The ASL to describe the ligand

  • ref_struct_fname (None or str) – Path to the structure to do the RMSD against

  • frame (int) – The frame to take the RMSD against, ignored if ref_struct_fname!=None

Returns

Keyword(s) for calculation

Return type

sea.Map

schrodinger.application.desmond.automatic_analysis_generator.getRMSDLigandKW(ligand_asl, fitby, ref_struct_fname=None, frame=0)

Returns keywords for RMSD analysis of the ligand. :param ligand_asl: The ASL to describe the ligand :type ligand_asl: str

Parameters
  • fitby (None or str) – None or an ASL to describe what portion of the CMS to fit

  • ref_struct_fname (None or str) – Path to the structure to do the RMSD against

  • frame (int) – The frame to take the RMSD against, ignored if ref_struct_fname!=None

schrodinger.application.desmond.automatic_analysis_generator.getRMSFProtKeywords(protein_asl, ligand_asl, ref_struct_fname=None, frame=0)

Returns keywords for RMSF analysis of protein components. :param protein_asl: The ASL to describe the entire protein :type protein_asl: str

Parameters
  • ligand_asl (str) – The ASL to describe the ligand

  • ref_struct_fname (None or schrodinger.structure.Structure) – A structure to do the RMSF against

  • frame (int) – The frame to take the RMSF against, ignored if ref_struct_fname!=None

Returns

Keyword(s) for calculation

Return type

sea.Map

schrodinger.application.desmond.automatic_analysis_generator.getSSEProtKeywords(protein_asl, ligand_asl)

Returns keywords for SSE analysis :param protein_asl: The ASL to describe the entire protein :type protein_asl: str

Parameters

ligand_asl (str) – The ASL to describe the ligand

Returns

Keyword(s) for calculation

Return type

sea.Map

schrodinger.application.desmond.automatic_analysis_generator.getRMSFLigandKW(fitby_asl, ligand_asl, ref_struct_fname=None, frame=0)

Returns keywords for RMSF analysis of the ligand. :param ligand_asl: The ASL to describe the ligand :type ligand_asl: str

Parameters
  • fitby (None or str) – None or an ASL to describe what portion of the CMS to fit

  • ref_struct_fname (None or schrodinger.structure.Structure) – A structure to do the RMSF against

  • frame (int) – The frame to take the RMSF against, ignored if ref_struct_fname!=None

schrodinger.application.desmond.automatic_analysis_generator.getProtLigInterKW(protein_asl, ligand_asl, metal_asl=None)

Returns keywords for PLI analysis :param protein_asl: The ASL to describe the entire protein :type protein_asl: str

Parameters
  • ligand_asl (str) – The ASL to describe the ligand

  • metal_asl (str or None) – The ASL to describe metals or ions. If None, use all metals and ions in the input structure.

schrodinger.application.desmond.automatic_analysis_generator.getSolubilityKeywords(molecule_asl)

Returns keywords for analyzing solubility’s sublimation leg. Here we look at the environment of the molecule and its interactions with it.

schrodinger.application.desmond.automatic_analysis_generator.get_idx(ligand_st, lig_idx)

This will get the atoms index associated with an asl index :param ligand_st : ligand structure :type ligand_st : structure

:param lig_idx : ligand atom index :type lig_idx : int

:return : atom_index of the asl selection for that atom :rtype : atom_index

schrodinger.application.desmond.automatic_analysis_generator.sort_atoms(st, a_id, exclude_atom_id=None, for_fep=False)

Extract atoms that are bonded to a_id atom (excluding the exclude_atom_id atom) and returns a list of atoms in the order such that hydrogens are last :param st: small molecule structure :type st: structure

Parameters
  • a_id (int) – index of the atom whose bonded atoms you want to return

  • exclude_atom_id (int) – remove that atom from the list

  • for_fep (bool) – if this options is ture, then return only atoms that is mapped to another atoms (contains i_fep_mapping prop)

Return type

int

Returns

The index of the first heavy atom a_id, that is bounded, and that doesn’t exclude_atom_id

schrodinger.application.desmond.automatic_analysis_generator.get_rotatable_bonds(st)

returns all rotatable bonds, defined as torsions. returns original atoms indeces. :param st: structure of a ligand :type st: structure

Return type

list

Returns

a list of four atoms that define a rotatable bond

schrodinger.application.desmond.automatic_analysis_generator.canonicalize_ligand(st)

Use uSMILES to canonicalize the ligand structure, this is so we get the order of the rotatable bonds(torsions) in the same order, regardless of the atom order :param st: structure of a ligand :type st: structure

Return type

structure

Returns

a structure file with reordered atoms according to unique SMILES

schrodinger.application.desmond.automatic_analysis_generator.getLigandPropsKeywords(ligand_asl, calcRMSD, ref_struct_fname=None, frame=None)

Returns keywords for ligand-specific analysis * Intramolecular Hbonds * Molecular Surface Area (Cannolly surface) * Solvent Accessible Surface Area * Polar Surface area * Radius of Gyration :param ligand_asl: The ASL to describe the ligand :type ligand_asl: str :param calcRMSD: Bool to also set up RMSD jobs :type calcRMSD: bool :param ref_struct_fname: path to the reference structure :param frame: frame index :type frame: int

Returns

Keyword(s) for calculation

Return type

sea.Map

schrodinger.application.desmond.automatic_analysis_generator.getFEPTorsionKeywords(lig1_st, lig2_st, lig1_asl, lig2_asl, fep_lambda=0, is_covalent=False)

For a pair for ligands/fragments that, whose atoms are mapped, return sea object of torsions for each rotatable bond.

schrodinger.application.desmond.automatic_analysis_generator.lig_to_fullsys_aid(torsion_list, st)

Convert ligand atom IDs to full-system atom IDs

schrodinger.application.desmond.automatic_analysis_generator.getTorsionKeywords(ligand_st, ligand_asl)

Returns keywords for ligand torsion analysis :param ligand_st: Structure of the ligand :type ligand_st: schrodinger.structure.Structure

Parameters

ligand_asl (str) – The ASL to describe the ligand

Returns

Keyword(s) for calculation

Return type

sea.Map

schrodinger.application.desmond.automatic_analysis_generator.getPPIKeywords(protein_asl)

Returns keywords for PLI analysis :param protein_asl: The ASL to describe the entire protein :type protein_asl: str

schrodinger.application.desmond.automatic_analysis_generator.getPLISKWList(cms_st, ligand_st, ligand_asl, ref_struct_fname, frame=0, protein_asl='(protein)', want_rmsd=True, want_prmsf=True, want_lrmsf=True, want_pli=True, want_ltorsion=True, want_lprops=True, want_ppi=True, protein_fep=False, metal_asl=None)

Generate the entire keyword list for all PLI calculations. Also returns the ligand_asl used in those keywords.

Parameters
  • ligand_st (schrodinger.structure.Structure) – Structure of the ligand

  • ligand_asl (str) – The ASL to describe the ligand

  • ref_struct_fname (None or str) – Path to the structure to do the RMSD against

  • frame (int) – The frame to take the RMSF/RMSD against, ignored if ref_struct_fname!=None

  • protein_asl (str) – The ASL to describe the entire protein

  • want_rmsd (bool) – Whether to add RMSD keywords

  • want_prmsf (bool) – Whether to add RMSF keywords for protein

  • want_lrmsf (bool) – Whether to add an RMSF ligand keyword

  • want_pli (bool) – Whether to add a PLI keyword

  • want_ppi (bool) – Whether to add a PPI keyword

  • want_ltorsion (bool) – Whether to add a ligand torsions keyword

  • want_lprops (bool) – Whether to add ligand properties keyword

  • protein_fep (bool) – Whether the input system is a protein_fep job

  • metal_asl (str or None) – The ASL to describe metals or ions. If None, use ‘(ions) or (metals) or (metalloids)’.

Returns

Keyword(s) for calculation

Return type

sea.List