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.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.connecting_mass(st, a_id)

Given an atom (a_id), return the mass of all the atoms that are connected to it :param st: small molecule structure :type st: structure

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

:rtype float :return the mass of all the atoms that are connected to a_id

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: remove that atom from the list :type exclude_atom_id: int

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

:rtype int :return The index of the first heavy atom a_id, that is bounded, and that

isn’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.Map