schrodinger.protein.nonstandard_residues module

class schrodinger.protein.nonstandard_residues.StructureSource(value)

Bases: str, enum.Enum

An enumeration.

Standard = 'standard built-in'
Nonstandard = 'nonstandard built-in'
Custom = 'nonstandard provided'
schrodinger.protein.nonstandard_residues.get_residue_database(*, load_saved=True)

Get the global nonstandard residue database.

If there is an error loading the saved database file, an empty (default) database will be returned.

schrodinger.protein.nonstandard_residues.get_default_user_dbfile()

Return the path to the default user DB file.

Returns

Default path to user DB file.

Return type

str

schrodinger.protein.nonstandard_residues.get_saved_db_file()

Return the path to the database file that is saved in Maestro’s prefs or, if no preference is specified, a default location in the user’s userdata directory.,

Returns

Saved DB filepath to be used

Return type

str

schrodinger.protein.nonstandard_residues.strip_capping_groups(st)

Strip any ACE & NMA caps, and add an OXT cap.

schrodinger.protein.nonstandard_residues.find_atom(st, name)

Find the atom with the given PDB name. None is returned if no such atom is present.

schrodinger.protein.nonstandard_residues.flip_isomer(st)

Invert the isomerism of the alpha carbon. So D residue gets converted to L and vice versa.

schrodinger.protein.nonstandard_residues.get_db_amino_acids(db_type)

Return a list of AminoAcid objects from the specified built-in database file. :param db_type: the source database type

schrodinger.protein.nonstandard_residues.is_excluded_amino_acid(st)
schrodinger.protein.nonstandard_residues.generate_smiles(st, use_annotations=False)

Generate the SMILES string for the given structure.

Parameters

use_annotations (bool) – Whether to use annotations instead of 3D geometry (set if the structure is 2D).

class schrodinger.protein.nonstandard_residues.ResidueDatabase(db_file=None)

Bases: PyQt6.QtCore.QObject

A collection of AminoAcid objects. Included built-in residues. For now, just a collection of database-related functions.

residuesChanged
__init__(db_file=None)
getAminoAcid(name)

Retrieve an amino acid by PDB residue name

Parameters

name (str) – PDB residue name

Returns

Amino acid object

Return type

Optional[AminoAcid]

property amino_acids
classmethod get_built_in_residues()

Return a list of built-in residues AminoAcid objects from the installation.

readDatabaseFile(db_file)

Read the specified database file, and return a ResidueDatabase (which is basically a list of AminoAcid objects, including built-in residues). Raises RuntimeError on failure.

reset()
saveDatabase(amino_acids, db_file=None)
static exportDatabase(amino_acids, db_file)

Export the amino acids database.

Parameters
  • amino_acids (list[AminoAcid]) – Amino acids to export.

  • db_file (str) – Database file path.

blockSignals(self, b: bool) bool
childEvent(self, a0: QChildEvent)
children(self) List[QObject]
connectNotify(self, signal: QMetaMethod)
customEvent(self, a0: QEvent)
deleteLater(self)
destroyed

destroyed(self, object: typing.Optional[QObject] = None) [signal]

disconnect(a0: QMetaObject.Connection) bool
disconnect(self) None
disconnectNotify(self, signal: QMetaMethod)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) List[QByteArray]
event(self, a0: QEvent) bool
eventFilter(self, a0: QObject, a1: QEvent) bool
findChild(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject
findChild(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject
findChildren(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, type: type, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, types: Tuple, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
inherits(self, classname: str) bool
installEventFilter(self, a0: QObject)
isSignalConnected(self, signal: QMetaMethod) bool
isWidgetType(self) bool
isWindowType(self) bool
killTimer(self, id: int)
metaObject(self) QMetaObject
moveToThread(self, thread: QThread)
objectName(self) str
objectNameChanged

objectNameChanged(self, objectName: str) [signal]

parent(self) QObject
property(self, name: str) Any
pyqtConfigure(...)

Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable.

receivers(self, signal: PYQT_SIGNAL) int
removeEventFilter(self, a0: QObject)
sender(self) QObject
senderSignalIndex(self) int
setObjectName(self, name: str)
setParent(self, a0: QObject)
setProperty(self, name: str, value: Any) bool
signalsBlocked(self) bool
startTimer(self, interval: int, timerType: Qt.TimerType = Qt.CoarseTimer) int
staticMetaObject = <PyQt6.QtCore.QMetaObject object>
thread(self) QThread
timerEvent(self, a0: QTimerEvent)
tr(sourceText: str, disambiguation: typing.Optional[str] = None, n: int = - 1) str
class schrodinger.protein.nonstandard_residues.AminoAcid(st, source=StructureSource.Custom)

Bases: object

Class representing an amino acid (residue) row in the table.

__init__(st, source=StructureSource.Custom)
property name

AminoAcid.name will return the PDB residue name for this AA.

property code

AminoAcid.code will return the 1-letter code for this residue.

property built_in

AminoAcid.built_in will return whether this is a built-in residue.

property standard

AminoAcid.standard will return whether this is a standard residue.

property aligns_with
property description

AminoAcid.description will return the title of the CT.

property locked

AminoAcid.code will return whether the residue is locked from editing.

st_changed()

Must be called every time the structure is modified. Will update the SMILES string and the .isomer property.

property identifier

Return an ID string for this residue, which includes the residue name, isomer, and description.

is_editable()
schrodinger.protein.nonstandard_residues.filter_residues_mutating_to_custom(residues)
Parameters

residues (list[non_standard_residues.AminoAcid]) – a list of residues

Returns

the elements of residues that are non-standard and for which “mutate to” has been enabled

Return type

list[non_standard_residues.AminoAcid]

schrodinger.protein.nonstandard_residues.get_db_residues()
Returns

a list of residues from the non-standard residue database

Return type

list[non_standard_residues.AminoAcid]

schrodinger.protein.nonstandard_residues.prepare_res_st_for_prime(st)

Create a copy of the specified residue structure that has been prepared for use in Prime.

This includes removing the OXT group (-OH), and setting the title of the CT to the 3-letter residue name.

Parameters

st (_structure.Structure) – a residue structure

Returns

a copy of st that has been prepared for use in Prime

Return type

_structure.Structure

schrodinger.protein.nonstandard_residues.generate_custom_res_names()

Generate three-letter residue names starting with a letter and ending with a two-digit number from 01 to 99

schrodinger.protein.nonstandard_residues.get_unique_res_name(used_names)

Return a unique residue name, one that doesn’t exist in the input list.

schrodinger.protein.nonstandard_residues.fix_and_validate_res_structure(st: schrodinger.structure._structure.Structure, skip_minimization=False) schrodinger.structure._structure.Structure
  1. Modify the CT: Add hydrogens, assign PDB names, and minimize.

  2. Validate to ensure #atoms < 300, backbone PDB atoms are present, minimization succeeded (valences are proper), and structure is not one of the 20 standard AAs.

Raises

ValueError – if it is not possible to validate the structure as a non-standard amino acid

schrodinger.protein.nonstandard_residues.validate_alpha_aa(st: schrodinger.structure._structure.Structure) None

Validate that a structure is an alpha amino acid. Requires that the atom names be assigned.

Raises

ValueError – if the structure has any unexpected bonds for an alpha amino acid