schrodinger.protein.process_enamine_db module

schrodinger.protein.process_enamine_db.parse_args()
schrodinger.protein.process_enamine_db.main(options)
schrodinger.protein.process_enamine_db.add_logger_file_handler(filename=None)

Get a file handler for the logger

schrodinger.protein.process_enamine_db.process_enamine_db(enamine_db_path, skip_minimization=False, allow_non_alpha_aa=False) list[schrodinger.structure._structure.Structure]

Process Enamine database to extract only the amino acids that are compatible with mmshare workflows

Parameters
  • enamine_db_path – path to Enamine database

  • skip_minimization – if True, skip minimization step

  • allow_non_alpha_aa – if True, allow non-alpha amino acids to be processed

schrodinger.protein.process_enamine_db.log_results(good_res_log, bad_res_log, title_by_index, res_name_by_index, failure_counter)
schrodinger.protein.process_enamine_db.get_titles_by_failure(bad_res_log, titles_by_index)

Get a mapping of failure reasons to lists of titles of residues that failed

schrodinger.protein.process_enamine_db.update_title(res_st: schrodinger.structure._structure.Structure)

Update the title of a residue structure to the value of the SDF ID property if it is not already set

schrodinger.protein.process_enamine_db.validate_chirality(res_st: schrodinger.structure._structure.Structure)
schrodinger.protein.process_enamine_db.validate_subclass(res_st: schrodinger.structure._structure.Structure)
schrodinger.protein.process_enamine_db.validate_is_not_builtin(res_st: schrodinger.structure._structure.Structure)

Validate that a residue structure does not contain any built-in amino acids

schrodinger.protein.process_enamine_db.get_built_in_aa_names() set[str]

Get the names of all built-in standard and non-standard amino acids

Returns

a set of built-in amino acid names

schrodinger.protein.process_enamine_db.get_reserved_aa_names() set[str]

Get amino acid names that are reserved for built-in amino acids or custom amino acids from the nonstandard amino acid panel residue sketcher

Returns

a set of reserved amino acid names

schrodinger.protein.process_enamine_db.contains_built_in_aa(st) bool

Check if an enamine residue structure contains any built-in amino acids

schrodinger.protein.process_enamine_db.get_unique_aa_names(reserved)

Generate unique amino acid names

Parameters

reserved – a set of reserved amino acid names that should not be generated

schrodinger.protein.process_enamine_db.get_natural_analog_map(residue_sts: list[schrodinger.structure._structure.Structure]) dict[str, tuple[str, float]]

Get a map of residue names to their natural analogs

Parameters

residue_sts – a list of processed residues

Returns

a map of Enamine amino acid names to their natural analogs

schrodinger.protein.process_enamine_db.write_preprocessed_tmp_db(res_sts: list[schrodinger.structure._structure.Structure], filename: str) None

Preprocess standard database to remove capping groups and standardize the backbone for comparison with enamine database

Residues in peptide.bld are stored as ACE-X-NMA tripeptides. This causes the canvas fingerprinting to produce scores of <1 even for residues with identical side chains, unless the residues are preprocessed accordingly

Parameters
  • res_sts – a list of residues structures

  • filename – output file path

schrodinger.protein.process_enamine_db.apply_natural_analog_properties(processed_residues: list[schrodinger.structure._structure.Structure]) None

Apply natural analog properties to processed residues

Parameters

processed_residues – a list of processed residues

schrodinger.protein.process_enamine_db.get_standardized_aa_structure(st, skip_minimization=False, allow_non_alpha_aa=False)

Standardize an amino acid structure by removing any solvent molecules, applying pdb atom names, and minimizing. Confirm the structure is a valid alpha amino acid and not a built-in amino acid.

Parameters
  • st – a structure containing a single amino acid

  • skip_minimization – if True, skip minimization step

  • allow_non_alpha_aa – if True, allow non-alpha amino acids to be processed

Raises

ValueError – if the structure is not a valid alpha amino acid for any reason

schrodinger.protein.process_enamine_db.process_one_aa(mol_st, skip_minimization=False, allow_non_alpha_aa=False)

Process a structure containing one molecule is a valid amio acid

Parameters
  • mol_st – a structure containing one molecule

  • skip_minimization – if True, skip minimization step

  • allow_non_alpha_aa – if True, allow non-alpha amino acids to be processed

Raises

ValueError – if the molecule is not a valid amino acid for any reason

schrodinger.protein.process_enamine_db.generate_3d_structure(mol_st: schrodinger.structure._structure.Structure) schrodinger.structure._structure.Structure
schrodinger.protein.process_enamine_db.iupac_to_smiles(iupac)
schrodinger.protein.process_enamine_db.annotate_stereochemistry(mol_st, iupac_name) None

Annotate the stereochemistry of a structure based on its IUPAC name

Parameters
  • mol_st – a structure containing a single molecule

  • iupac_name – IUPAC name of the molecule

Raises

UndefinedStereochemistry – if the stereochemistry of the molecule cannot be determined

schrodinger.protein.process_enamine_db.extract_chiral_center_data(iupac_name) None

Extract chiral center data from an IUPAC name

Parameters

iupac_name – IUPAC name of the molecule

Raises

UndefinedStereochemistry – if the stereochemistry of the molecule cannot be determined

schrodinger.protein.process_enamine_db.attempt_tripeptide_mutation(mol_st: schrodinger.structure._structure.Structure) schrodinger.structure._structure.Structure

Attempt to mutate the middle residue of a tripeptide to the residue in the provided structure. The final test to see if a residue is valid is to confirm that we can perform a mutation with it

Parameters

mol_st – a structure containing a single molecule

Returns

the tripeptide structure with the middle residue mutated, for debugging purposes

schrodinger.protein.process_enamine_db.check_enamine_subclass(st: schrodinger.structure._structure.Structure) None

Raise an error if the structure has the enamine subclass property, but is not listed as an alpha amino acid

Parameters

st – a structure containing a single residue

Raises

ValueError – if the subclass is not alpha amino acid

schrodinger.protein.process_enamine_db.set_res_name(st, name)

Set residue name for a structure

schrodinger.protein.process_enamine_db.write_residues_to_file(processed_residues: Iterable[schrodinger.structure._structure.Structure], output_filename: str) None

Write processed residues to a file

Parameters
  • processed_residues – a list of processed residues

  • output_filename – path to output file

schrodinger.protein.process_enamine_db.write_res_log_file(log_dict: Dict[int, str], res_name_by_index: dict[int, str], filename: str) None