schrodinger.protein.helm.monomer_db_validation module

Detailed validation rules for a monomer database.

Each rule may “clean” or validate one or more fields. This will be used in the monomer_db_convert.py command-line tool, but it should also be useable in LiveDesign’s forms that allow monomer authoring.

Copyright Schrodinger, LLC. All rights reserved.

schrodinger.protein.helm.monomer_db_validation.no_validation(name)

No validation is performed.

schrodinger.protein.helm.monomer_db_validation.not_empty(name)

Require that a string is not empty.

schrodinger.protein.helm.monomer_db_validation.validate_symbol(symbol: str) str

Symbols are alphanumeric. Some people use square brackets around the names, but that is not required, so they get stripped.

TODO: SHARED-12031 document the specific allowed characters in the monomer dictionary.

schrodinger.protein.helm.monomer_db_validation.validate_author(author: str) str

Author is a string that should not be empty.

schrodinger.protein.helm.monomer_db_validation.validate_polymer_type(polymer_type: str) str

Polymer type must be one of CHEM, PEPTIDE, or RNA.

schrodinger.protein.helm.monomer_db_validation.validate_monomer(monomer_string: str, polymer_type: str, monomer_type: str) str

Given a monomer string representation, polymer type, and monomer type, validate that it represents a valid monomer with appropriate R groups.

Parameters:

monomer_string – A string representation of the monomer, for now must be a SMILES string.

Return str:

Returns a canonicalzied SMILES string with valid attachment points to be added to the monomer DB

schrodinger.protein.helm.monomer_db_validation.validate_monomer_type(monomer_type: str) str

Monomer type must be one of Backbone, Branch, or Undefined.

Undefined is for Chem monomers

schrodinger.protein.helm.monomer_db_validation.validate_smiles(smiles: str, polymer_type: str) str

Valid SMILES have R groups with atom map numbers.

schrodinger.protein.helm.monomer_db_validation.validate_natural_analog(arg)
schrodinger.protein.helm.monomer_db_validation.validate_pdbcode(arg)
schrodinger.protein.helm.monomer_db_validation.validate_name(arg)
schrodinger.protein.helm.monomer_db_validation.validate_core_smiles(arg)
schrodinger.protein.helm.monomer_db_validation.validate_monomer_properties(monomer: Mol, properties: dict) dict

Make sure the properties of a monomer are internally valid.

schrodinger.protein.helm.monomer_db_validation.validate_monomers(entries: list[dict]) list[dict]

Validate that a list of monomers don’t collide