schrodinger.protein.residue module

schrodinger.protein.residue.check_if_comparable(default_return=0)

Decorator to return early from residue comparison methods.

Returns default_return if: - the other residue is a gap - the residues are different types (e.g. protein/DNA or DNA/RNA) - either residue is an unknown residue

class schrodinger.protein.residue.ResidueChainKey(resnum: int, inscode: str)

Bases: tuple

Key to partially identify a structured residue relative to its chain

resnum: int

Alias for field number 0

inscode: str

Alias for field number 1

__contains__(key, /)

Return key in self.

__len__()

Return len(self).

count(value, /)

Return number of occurrences of value.

index(value, start=0, stop=9223372036854775807, /)

Return first index of value.

Raises ValueError if the value is not present.

class schrodinger.protein.residue.ResidueKey(entry_id: int, chain: str, resnum: int, inscode: str)

Bases: tuple

Key to partially identify a structured residue.

Order and items based on MaestroStructureModel._getKey

entry_id: int

Alias for field number 0

chain: str

Alias for field number 1

resnum: int

Alias for field number 2

inscode: str

Alias for field number 3

chainKey()
__contains__(key, /)

Return key in self.

__len__()

Return len(self).

count(value, /)

Return number of occurrences of value.

index(value, start=0, stop=9223372036854775807, /)

Return first index of value.

Raises ValueError if the value is not present.

schrodinger.protein.residue.get_matrix_value(matrix, first, second)

Return a similarity matrix value for a specified pair of residues.

schrodinger.protein.residue.box_letter(letter)

Map an ASCII letter to the circled Unicode variant

Parameters

letter (str) – ASCII letter to map

Raises

ValueError – if the input is not an ASCII letter

schrodinger.protein.residue.get_structure_residue_chain_key(structure_residue)

Creates residue key relative to entry and chain for structure residue.

Returns

(resnum, inscode)

Return type

tuple(int, str)

schrodinger.protein.residue.get_residue_key(residue, entry_id, chain)

Creates residue key for residue.

Parameters
  • residue (Residue) – Residue

  • entry_id (str or int) – Entry ID

  • chain (str) – Chain name

Returns

The residue key containing entry_id, chain, resnum, and inscode

Return type

ResidueKey

schrodinger.protein.residue.get_structure_residue_key(structure_residue, entry_id)

Creates residue key for structure residue.

Parameters
Returns

The residue key containing entry_id, chain, resnum, and inscode

Return type

ResidueKey

schrodinger.protein.residue.get_formatted_residue(res) str

Create the formatted residue string.

Parameters

res (residue.Residue) – residue

Returns

formatted string

schrodinger.protein.residue.get_formatted_residue_range(start_res, end_res) str

Create the residue range tooltip.

Parameters
Returns

a formatted string to be used

schrodinger.protein.residue.order_contiguous(residues)

Check if a list of residues is contiguous, and put them in contiguous order if they are not.

Parameters

residues (list) – List of schrodinger.structure._Residue objects

Return type

list

Returns

List of schrodinger.structure._Residue objects in contiguous order, or None if the residues were not contiguous.

class schrodinger.protein.residue.HELIX_PROPENSITY(value)

Bases: enum.Enum

An enumeration.

NoPropensity = 1
Likely = 2
Weak = 3
Ambivalent = 4
HelixBreaking = 5
class schrodinger.protein.residue.BETA_STRAND_PROPENSITY(value)

Bases: enum.Enum

An enumeration.

NoPropensity = 1
StrandBreaking = 2
Ambivalent = 3
StrandForming = 4
class schrodinger.protein.residue.TURN_PROPENSITY(value)

Bases: enum.Enum

An enumeration.

NoPropensity = 1
TurnForming = 2
Ambivalent = 3
TurnBreaking = 4
class schrodinger.protein.residue.HELIX_TERMINATION_TENDENCY(value)

Bases: enum.Enum

An enumeration.

NoTendency = 1
HelixStarting = 2
Ambivalent = 3
HelixEnding = 4
class schrodinger.protein.residue.SOLVENT_EXPOSURE_TENDENCY(value)

Bases: enum.Enum

An enumeration.

NoTendency = 1
Surface = 2
Ambivalent = 3
Buried = 4
class schrodinger.protein.residue.STERIC_GROUP(value)

Bases: enum.Enum

An enumeration.

NoSteric = 1
Small = 2
Ambivalent = 3
Polar = 4
Aromatic = 5
class schrodinger.protein.residue.SIDE_CHAIN_CHEM(value)

Bases: enum.Enum

An enumeration.

NoSideChainChem = 1
AcidicHydrophilic = 2
BasicHydrophilic = 3
NeutralHydrophobicAliphatic = 4
NeutralHydrophobicAromatic = 5
NeutralHydrophilic = 6
PrimaryThiol = 7
IminoAcid = 8
class schrodinger.protein.residue.RESIDUE_CHARGE(value)

Bases: enum.Enum

An enumeration.

Positive = 1
Negative = 2
Neutral = 3
class schrodinger.protein.residue.ElementType(short_code, long_code, name)

Bases: object

__init__(short_code, long_code, name)
makeVariant(long_code, short_code=None, *, nonstandard=True)

Create a variant of an element type with a new long and short code.

Parameters
  • long_code (str) – A 2+ character string representing the element type

  • short_code (str) – A 1 character string representing the element type

  • nonstandard (bool) – Whether the variant should be considered nonstandard. If False, the residue will be generally treated identically to its standard (e.g. HIE/HIS)

Returns

The variant element type

Return type

ElementType

class schrodinger.protein.residue.ResidueType(short_code, long_code, name, charge=None, hydrophobicity=None, hydrophilicity=None, helix_propensity=None, beta_strand_propensity=None, turn_propensity=None, helix_termination_tendency=None, exposure_tendency=None, steric_group=None, side_chain_chem=None, isoelectric_point=None)

Bases: schrodinger.protein.residue.ElementType

__init__(short_code, long_code, name, charge=None, hydrophobicity=None, hydrophilicity=None, helix_propensity=None, beta_strand_propensity=None, turn_propensity=None, helix_termination_tendency=None, exposure_tendency=None, steric_group=None, side_chain_chem=None, isoelectric_point=None)
makeVariant(long_code, short_code=None, *, nonstandard=True)

Create a variant of an element type with a new long and short code.

Parameters
  • long_code (str) – A 2+ character string representing the element type

  • short_code (str) – A 1 character string representing the element type

  • nonstandard (bool) – Whether the variant should be considered nonstandard. If False, the residue will be generally treated identically to its standard (e.g. HIE/HIS)

Returns

The variant element type

Return type

ElementType

class schrodinger.protein.residue.NucleotideType(short_code, long_code, name, charge=None, hydrophobicity=None, hydrophilicity=None, helix_propensity=None, beta_strand_propensity=None, turn_propensity=None, helix_termination_tendency=None, exposure_tendency=None, steric_group=None, side_chain_chem=None, isoelectric_point=None)

Bases: schrodinger.protein.residue.ResidueType

__init__(short_code, long_code, name, charge=None, hydrophobicity=None, hydrophilicity=None, helix_propensity=None, beta_strand_propensity=None, turn_propensity=None, helix_termination_tendency=None, exposure_tendency=None, steric_group=None, side_chain_chem=None, isoelectric_point=None)
makeVariant(long_code, short_code=None, *, nonstandard=True)

Create a variant of an element type with a new long and short code.

Parameters
  • long_code (str) – A 2+ character string representing the element type

  • short_code (str) – A 1 character string representing the element type

  • nonstandard (bool) – Whether the variant should be considered nonstandard. If False, the residue will be generally treated identically to its standard (e.g. HIE/HIS)

Returns

The variant element type

Return type

ElementType

class schrodinger.protein.residue.DeoxyribonucleotideType(short_code, long_code, name, charge=None, hydrophobicity=None, hydrophilicity=None, helix_propensity=None, beta_strand_propensity=None, turn_propensity=None, helix_termination_tendency=None, exposure_tendency=None, steric_group=None, side_chain_chem=None, isoelectric_point=None)

Bases: schrodinger.protein.residue.NucleotideType

__init__(short_code, long_code, name, charge=None, hydrophobicity=None, hydrophilicity=None, helix_propensity=None, beta_strand_propensity=None, turn_propensity=None, helix_termination_tendency=None, exposure_tendency=None, steric_group=None, side_chain_chem=None, isoelectric_point=None)
makeVariant(long_code, short_code=None, *, nonstandard=True)

Create a variant of an element type with a new long and short code.

Parameters
  • long_code (str) – A 2+ character string representing the element type

  • short_code (str) – A 1 character string representing the element type

  • nonstandard (bool) – Whether the variant should be considered nonstandard. If False, the residue will be generally treated identically to its standard (e.g. HIE/HIS)

Returns

The variant element type

Return type

ElementType

class schrodinger.protein.residue.RibonucleotideType(short_code, long_code, name, charge=None, hydrophobicity=None, hydrophilicity=None, helix_propensity=None, beta_strand_propensity=None, turn_propensity=None, helix_termination_tendency=None, exposure_tendency=None, steric_group=None, side_chain_chem=None, isoelectric_point=None)

Bases: schrodinger.protein.residue.NucleotideType

__init__(short_code, long_code, name, charge=None, hydrophobicity=None, hydrophilicity=None, helix_propensity=None, beta_strand_propensity=None, turn_propensity=None, helix_termination_tendency=None, exposure_tendency=None, steric_group=None, side_chain_chem=None, isoelectric_point=None)
makeVariant(long_code, short_code=None, *, nonstandard=True)

Create a variant of an element type with a new long and short code.

Parameters
  • long_code (str) – A 2+ character string representing the element type

  • short_code (str) – A 1 character string representing the element type

  • nonstandard (bool) – Whether the variant should be considered nonstandard. If False, the residue will be generally treated identically to its standard (e.g. HIE/HIS)

Returns

The variant element type

Return type

ElementType

schrodinger.protein.residue.make_variants(variants)

Helper function to create modified amino acids and modified nucleotides

Parameters
  • variants – A list of modified residues. The modified residue will have all the same properties as the standard one (hydophobicity, charge, etc.) but its long code (ie, its PDB residue name) will differ, and if a tuple of (string, string) is provided, both its long code and short code will differ.

  • variants – list of (ResidueType, list of string or (string,string))

Returns

a list of residue variants

Return type

list of ResidueType

schrodinger.protein.residue.merge_dicts(*dict_args)

Merge any number of dictionaries into a single dictionary.

Note that repeated keys will be silently overwritten with the last value.

schrodinger.protein.residue.make_one_letter_map(res_list)
schrodinger.protein.residue.make_three_letter_map(res_list)
schrodinger.protein.residue.get_protein_alphabet()

Return a cached map of amino acid element types.

Includes definitions from the nonstandard residues database.

Return type

types.MappingProxyType

schrodinger.protein.residue.any_structured_residues(residues)

Returns whether any of the given residues are structured.

Parameters

residues (iterable(residue.Residue)) – The iterable of residues to check

Returns

True if the given residues contain one that is structured.

Return type

bool

class schrodinger.protein.residue.AbstractSequenceElement

Bases: schrodinger.models.json.JsonableClassMixin

property is_res

Utility function to check whether a residue is not a gap

property sequence

The sequence that this element is part of. Will be None if this residue is not part of a sequence. Stored as a weakref to avoid circular references. :rtype: sequence.AbstractSingleChainSequence

hasStructure()
Returns

Whether this element has a structure i.e. whether it has corresponding XYZ coordinates in Maestro.

Return type

bool

property idx_in_seq
property gapless_idx_in_seq

Return the index of this residue within its sequence ignoring gaps

Returns

Index of this residue in its sequence or None if it is not part of a sequence.

Return type

int or None

classmethod fromJson(json_obj)

A factory method which constructs a new object from a given dict loaded from a json string or file.

Parameters

json_obj (dict) – A json-loaded dictionary to create an object from.

Returns

An instance of this class.

Return type

cls

classmethod fromJsonImplementation(json_dict)

Abstract method that must be defined by all derived classes. Takes in a dictionary and constructs an instance of the derived class.

Parameters

json_dict (dict) – A dictionary loaded from a JSON string or file.

Returns

An instance of the derived class.

Return type

cls

get_version()

Method to get the version of a particular object. Defaults to the current version of mmshare. This class can be overridden for custom versioning behavior.

toJson(_mark_version=True)

Create and returns a data structure made up of jsonable items.

Return type

An instance of one the classes from NATIVE_JSON_DATATYPES

toJsonImplementation()

Abstract method that must be defined by all derived classes. Converts an instance of the derived class into a jsonifiable object.

Returns

A dict made up of JSON native datatypes or Jsonable objects. See the link below for a table of such types. https://docs.python.org/2/library/json.html#encoders-and-decoders

class schrodinger.protein.residue.Gap

Bases: schrodinger.protein.residue.AbstractSequenceElement

is_gap = True
__init__()
property sequence

The sequence that this element is part of. Will be None if this residue is not part of a sequence. Stored as a weakref to avoid circular references. :rtype: sequence.AbstractSingleChainSequence

toJsonImplementation()

Abstract method that must be defined by all derived classes. Converts an instance of the derived class into a jsonifiable object.

Returns

A dict made up of JSON native datatypes or Jsonable objects. See the link below for a table of such types. https://docs.python.org/2/library/json.html#encoders-and-decoders

classmethod fromJsonImplementation(json_obj)

Abstract method that must be defined by all derived classes. Takes in a dictionary and constructs an instance of the derived class.

Parameters

json_dict (dict) – A dictionary loaded from a JSON string or file.

Returns

An instance of the derived class.

Return type

cls

classmethod fromJson(json_obj)

A factory method which constructs a new object from a given dict loaded from a json string or file.

Parameters

json_obj (dict) – A json-loaded dictionary to create an object from.

Returns

An instance of this class.

Return type

cls

property gapless_idx_in_seq

Return the index of this residue within its sequence ignoring gaps

Returns

Index of this residue in its sequence or None if it is not part of a sequence.

Return type

int or None

get_version()

Method to get the version of a particular object. Defaults to the current version of mmshare. This class can be overridden for custom versioning behavior.

hasStructure()
Returns

Whether this element has a structure i.e. whether it has corresponding XYZ coordinates in Maestro.

Return type

bool

property idx_in_seq
property is_res

Utility function to check whether a residue is not a gap

toJson(_mark_version=True)

Create and returns a data structure made up of jsonable items.

Return type

An instance of one the classes from NATIVE_JSON_DATATYPES

class schrodinger.protein.residue.Residue(element_type, inscode=None, resnum=None, seqres_only=False)

Bases: schrodinger.protein.residue.AbstractSequenceElement

An amino acid residue.

is_gap = False
pred_accessibility
pred_disordered
pred_domain_arr
kinase_features
SLOT_BLOCKLIST = {'disulfide_bond', 'pred_disulfide_bond', 'sequence', 'type'}
property descriptors
property kinase_conservation
__init__(element_type, inscode=None, resnum=None, seqres_only=False)
Parameters
  • element_type (ResidueType) – The kind of the residue

  • inscode (str) – The insertion code

  • resnum (int) – PDB residue number

  • seqres_only (bool) – Whether this residue only appears in the SEQRES record of a structure. Only applies to sequences associated with a structure.

type
seqres_only
toJsonImplementation()

Abstract method that must be defined by all derived classes. Converts an instance of the derived class into a jsonifiable object.

Returns

A dict made up of JSON native datatypes or Jsonable objects. See the link below for a table of such types. https://docs.python.org/2/library/json.html#encoders-and-decoders

classmethod fromJsonImplementation(json_obj)

Abstract method that must be defined by all derived classes. Takes in a dictionary and constructs an instance of the derived class.

Parameters

json_dict (dict) – A dictionary loaded from a JSON string or file.

Returns

An instance of the derived class.

Return type

cls

getChainKey()
getKey()

Get a key that uniquely identifies the residue relative to structures.

Returns

Residue key as (entry_id, chain, inscode, resnum, molnum, pdbname), or None if residue is unparented or has no structure

Return type

ResidueKey or NoneType

hasSetResNum() bool
Returns

Whether a specific resnum has been set

property resnum

If resnum is set to None, resnum will be auto-generated from column number.

property inscode

If inscode and rescode are both set to None, the inscode will be ‘+’.

property rescode
property short_code
property long_code
property chain

The name of the sequence chain that this residue belongs to. :rtype: str

property structure_chain

The name of chain for the structure that this sequence is associated with. This is normally the same as chain, but it can be different if the user manually links this sequence to a structure with differing chain names.

Return type

str

property hydrophobicity
Returns

Hydrophobicity for the ResidueType on the Kyte-Doolittle scale, if available; otherwise None.

Return type

float

property hydrophilicity
Returns

Hydrophilicity for the ResidueType on the Hopp-Woods scale, if available; otherwise None

Return type

float

property charge
Returns

charge of the ResidueType of the residue

Return type

RESIDUE_CHARGE

property helix_propensity
Returns

Helix propensity for the ResidueType of the residue

Return type

HELIX_PROPENSITY

property beta_strand_propensity
Returns

Beta-strand propensity for the ResidueType of the residue

Return type

BETA_STRAND_PROPENSITY

property turn_propensity
Returns

Turn propensity for the ResidueType of the residue

Return type

TURN_PROPENSITY

property helix_termination_tendency
Returns

Helix termination tendency for the ResidueType of the residue

Return type

HELIX_TERMINATION_TENDENCY

property exposure_tendency
Returns

Solvent exposure tendency for the ResidueType of the residue

Return type

SOLVENT_EXPOSURE_TENDENCY

property steric_group
Returns

Steric group for the ResidueType of the residue

Return type

STERIC_GROUP

property side_chain_chem
Returns

Side chain chemistry for the ResidueType of the residue

Return type

SIDE_CHAIN_CHEM

property ss_prediction_psipred

Returns a DSSP code matching the secondary structure prediction for the residue or None. Value is calculated from thePsiPred backend.

property ss_prediction_sspro

Returns a DSSP code matching the secondary structure prediction for the residue or None. Value is calculated from the SSpro backend.

property isoelectric_point
Returns

A float representing the isoelectric point value for the ResidueType of the residue

getSimilarity(ref_res, similarity_matrix={('A', 'A'): 4, ('A', 'B'): - 2, ('A', 'C'): 0, ('A', 'D'): - 2, ('A', 'E'): - 1, ('A', 'F'): - 2, ('A', 'G'): 0, ('A', 'H'): - 2, ('A', 'I'): - 1, ('A', 'K'): - 1, ('A', 'L'): - 1, ('A', 'M'): - 1, ('A', 'N'): - 2, ('A', 'P'): - 1, ('A', 'Q'): - 1, ('A', 'R'): - 1, ('A', 'S'): 1, ('A', 'T'): 0, ('A', 'V'): 0, ('A', 'W'): - 3, ('A', 'X'): 0, ('A', 'Y'): - 2, ('A', 'Z'): - 1, ('B', 'A'): - 2, ('B', 'B'): 4, ('B', 'C'): - 3, ('B', 'D'): 4, ('B', 'E'): 1, ('B', 'F'): - 3, ('B', 'G'): - 1, ('B', 'H'): 0, ('B', 'I'): - 3, ('B', 'K'): 0, ('B', 'L'): - 4, ('B', 'M'): - 3, ('B', 'N'): 3, ('B', 'P'): - 2, ('B', 'Q'): 0, ('B', 'R'): - 1, ('B', 'S'): 0, ('B', 'T'): - 1, ('B', 'V'): - 3, ('B', 'W'): - 4, ('B', 'X'): - 1, ('B', 'Y'): - 3, ('B', 'Z'): 1, ('C', 'A'): 0, ('C', 'B'): - 3, ('C', 'C'): 9, ('C', 'D'): - 3, ('C', 'E'): - 4, ('C', 'F'): - 2, ('C', 'G'): - 3, ('C', 'H'): - 3, ('C', 'I'): - 1, ('C', 'K'): - 3, ('C', 'L'): - 1, ('C', 'M'): - 1, ('C', 'N'): - 3, ('C', 'P'): - 3, ('C', 'Q'): - 3, ('C', 'R'): - 3, ('C', 'S'): - 1, ('C', 'T'): - 1, ('C', 'V'): - 1, ('C', 'W'): - 2, ('C', 'X'): - 2, ('C', 'Y'): - 2, ('C', 'Z'): - 3, ('D', 'A'): - 2, ('D', 'B'): 4, ('D', 'C'): - 3, ('D', 'D'): 6, ('D', 'E'): 2, ('D', 'F'): - 3, ('D', 'G'): - 1, ('D', 'H'): - 1, ('D', 'I'): - 3, ('D', 'K'): - 1, ('D', 'L'): - 4, ('D', 'M'): - 3, ('D', 'N'): 1, ('D', 'P'): - 1, ('D', 'Q'): 0, ('D', 'R'): - 2, ('D', 'S'): 0, ('D', 'T'): - 1, ('D', 'V'): - 3, ('D', 'W'): - 4, ('D', 'X'): - 1, ('D', 'Y'): - 3, ('D', 'Z'): 1, ('E', 'A'): - 1, ('E', 'B'): 1, ('E', 'C'): - 4, ('E', 'D'): 2, ('E', 'E'): 5, ('E', 'F'): - 3, ('E', 'G'): - 2, ('E', 'H'): 0, ('E', 'I'): - 3, ('E', 'K'): 1, ('E', 'L'): - 3, ('E', 'M'): - 2, ('E', 'N'): 0, ('E', 'P'): - 1, ('E', 'Q'): 2, ('E', 'R'): 0, ('E', 'S'): 0, ('E', 'T'): - 1, ('E', 'V'): - 2, ('E', 'W'): - 3, ('E', 'X'): - 1, ('E', 'Y'): - 2, ('E', 'Z'): 4, ('F', 'A'): - 2, ('F', 'B'): - 3, ('F', 'C'): - 2, ('F', 'D'): - 3, ('F', 'E'): - 3, ('F', 'F'): 6, ('F', 'G'): - 3, ('F', 'H'): - 1, ('F', 'I'): 0, ('F', 'K'): - 3, ('F', 'L'): 0, ('F', 'M'): 0, ('F', 'N'): - 3, ('F', 'P'): - 4, ('F', 'Q'): - 3, ('F', 'R'): - 3, ('F', 'S'): - 2, ('F', 'T'): - 2, ('F', 'V'): - 1, ('F', 'W'): 1, ('F', 'X'): - 1, ('F', 'Y'): 3, ('F', 'Z'): - 3, ('G', 'A'): 0, ('G', 'B'): - 1, ('G', 'C'): - 3, ('G', 'D'): - 1, ('G', 'E'): - 2, ('G', 'F'): - 3, ('G', 'G'): 6, ('G', 'H'): - 2, ('G', 'I'): - 4, ('G', 'K'): - 2, ('G', 'L'): - 4, ('G', 'M'): - 3, ('G', 'N'): 0, ('G', 'P'): - 2, ('G', 'Q'): - 2, ('G', 'R'): - 2, ('G', 'S'): 0, ('G', 'T'): - 2, ('G', 'V'): - 3, ('G', 'W'): - 2, ('G', 'X'): - 1, ('G', 'Y'): - 3, ('G', 'Z'): - 2, ('H', 'A'): - 2, ('H', 'B'): 0, ('H', 'C'): - 3, ('H', 'D'): - 1, ('H', 'E'): 0, ('H', 'F'): - 1, ('H', 'G'): - 2, ('H', 'H'): 8, ('H', 'I'): - 3, ('H', 'K'): - 1, ('H', 'L'): - 3, ('H', 'M'): - 2, ('H', 'N'): 1, ('H', 'P'): - 2, ('H', 'Q'): 0, ('H', 'R'): 0, ('H', 'S'): - 1, ('H', 'T'): - 2, ('H', 'V'): - 3, ('H', 'W'): - 2, ('H', 'X'): - 1, ('H', 'Y'): 2, ('H', 'Z'): 0, ('I', 'A'): - 1, ('I', 'B'): - 3, ('I', 'C'): - 1, ('I', 'D'): - 3, ('I', 'E'): - 3, ('I', 'F'): 0, ('I', 'G'): - 4, ('I', 'H'): - 3, ('I', 'I'): 4, ('I', 'K'): - 3, ('I', 'L'): 2, ('I', 'M'): 1, ('I', 'N'): - 3, ('I', 'P'): - 3, ('I', 'Q'): - 3, ('I', 'R'): - 3, ('I', 'S'): - 2, ('I', 'T'): - 1, ('I', 'V'): 3, ('I', 'W'): - 3, ('I', 'X'): - 1, ('I', 'Y'): - 1, ('I', 'Z'): - 3, ('K', 'A'): - 1, ('K', 'B'): 0, ('K', 'C'): - 3, ('K', 'D'): - 1, ('K', 'E'): 1, ('K', 'F'): - 3, ('K', 'G'): - 2, ('K', 'H'): - 1, ('K', 'I'): - 3, ('K', 'K'): 5, ('K', 'L'): - 2, ('K', 'M'): - 1, ('K', 'N'): 0, ('K', 'P'): - 1, ('K', 'Q'): 1, ('K', 'R'): 2, ('K', 'S'): 0, ('K', 'T'): - 1, ('K', 'V'): - 2, ('K', 'W'): - 3, ('K', 'X'): - 1, ('K', 'Y'): - 2, ('K', 'Z'): 1, ('L', 'A'): - 1, ('L', 'B'): - 4, ('L', 'C'): - 1, ('L', 'D'): - 4, ('L', 'E'): - 3, ('L', 'F'): 0, ('L', 'G'): - 4, ('L', 'H'): - 3, ('L', 'I'): 2, ('L', 'K'): - 2, ('L', 'L'): 4, ('L', 'M'): 2, ('L', 'N'): - 3, ('L', 'P'): - 3, ('L', 'Q'): - 2, ('L', 'R'): - 2, ('L', 'S'): - 2, ('L', 'T'): - 1, ('L', 'V'): 1, ('L', 'W'): - 2, ('L', 'X'): - 1, ('L', 'Y'): - 1, ('L', 'Z'): - 3, ('M', 'A'): - 1, ('M', 'B'): - 3, ('M', 'C'): - 1, ('M', 'D'): - 3, ('M', 'E'): - 2, ('M', 'F'): 0, ('M', 'G'): - 3, ('M', 'H'): - 2, ('M', 'I'): 1, ('M', 'K'): - 1, ('M', 'L'): 2, ('M', 'M'): 5, ('M', 'N'): - 2, ('M', 'P'): - 2, ('M', 'Q'): 0, ('M', 'R'): - 1, ('M', 'S'): - 1, ('M', 'T'): - 1, ('M', 'V'): 1, ('M', 'W'): - 1, ('M', 'X'): - 1, ('M', 'Y'): - 1, ('M', 'Z'): - 1, ('N', 'A'): - 2, ('N', 'B'): 3, ('N', 'C'): - 3, ('N', 'D'): 1, ('N', 'E'): 0, ('N', 'F'): - 3, ('N', 'G'): 0, ('N', 'H'): 1, ('N', 'I'): - 3, ('N', 'K'): 0, ('N', 'L'): - 3, ('N', 'M'): - 2, ('N', 'N'): 6, ('N', 'P'): - 2, ('N', 'Q'): 0, ('N', 'R'): 0, ('N', 'S'): 1, ('N', 'T'): 0, ('N', 'V'): - 3, ('N', 'W'): - 4, ('N', 'X'): - 1, ('N', 'Y'): - 2, ('N', 'Z'): 0, ('P', 'A'): - 1, ('P', 'B'): - 2, ('P', 'C'): - 3, ('P', 'D'): - 1, ('P', 'E'): - 1, ('P', 'F'): - 4, ('P', 'G'): - 2, ('P', 'H'): - 2, ('P', 'I'): - 3, ('P', 'K'): - 1, ('P', 'L'): - 3, ('P', 'M'): - 2, ('P', 'N'): - 2, ('P', 'P'): 7, ('P', 'Q'): - 1, ('P', 'R'): - 2, ('P', 'S'): - 1, ('P', 'T'): - 1, ('P', 'V'): - 2, ('P', 'W'): - 4, ('P', 'X'): - 2, ('P', 'Y'): - 3, ('P', 'Z'): - 1, ('Q', 'A'): - 1, ('Q', 'B'): 0, ('Q', 'C'): - 3, ('Q', 'D'): 0, ('Q', 'E'): 2, ('Q', 'F'): - 3, ('Q', 'G'): - 2, ('Q', 'H'): 0, ('Q', 'I'): - 3, ('Q', 'K'): 1, ('Q', 'L'): - 2, ('Q', 'M'): 0, ('Q', 'N'): 0, ('Q', 'P'): - 1, ('Q', 'Q'): 5, ('Q', 'R'): 1, ('Q', 'S'): 0, ('Q', 'T'): - 1, ('Q', 'V'): - 2, ('Q', 'W'): - 2, ('Q', 'X'): - 1, ('Q', 'Y'): - 1, ('Q', 'Z'): 3, ('R', 'A'): - 1, ('R', 'B'): - 1, ('R', 'C'): - 3, ('R', 'D'): - 2, ('R', 'E'): 0, ('R', 'F'): - 3, ('R', 'G'): - 2, ('R', 'H'): 0, ('R', 'I'): - 3, ('R', 'K'): 2, ('R', 'L'): - 2, ('R', 'M'): - 1, ('R', 'N'): 0, ('R', 'P'): - 2, ('R', 'Q'): 1, ('R', 'R'): 5, ('R', 'S'): - 1, ('R', 'T'): - 1, ('R', 'V'): - 3, ('R', 'W'): - 3, ('R', 'X'): - 1, ('R', 'Y'): - 2, ('R', 'Z'): 0, ('S', 'A'): 1, ('S', 'B'): 0, ('S', 'C'): - 1, ('S', 'D'): 0, ('S', 'E'): 0, ('S', 'F'): - 2, ('S', 'G'): 0, ('S', 'H'): - 1, ('S', 'I'): - 2, ('S', 'K'): 0, ('S', 'L'): - 2, ('S', 'M'): - 1, ('S', 'N'): 1, ('S', 'P'): - 1, ('S', 'Q'): 0, ('S', 'R'): - 1, ('S', 'S'): 4, ('S', 'T'): 1, ('S', 'V'): - 2, ('S', 'W'): - 3, ('S', 'X'): 0, ('S', 'Y'): - 2, ('S', 'Z'): 0, ('T', 'A'): 0, ('T', 'B'): - 1, ('T', 'C'): - 1, ('T', 'D'): - 1, ('T', 'E'): - 1, ('T', 'F'): - 2, ('T', 'G'): - 2, ('T', 'H'): - 2, ('T', 'I'): - 1, ('T', 'K'): - 1, ('T', 'L'): - 1, ('T', 'M'): - 1, ('T', 'N'): 0, ('T', 'P'): - 1, ('T', 'Q'): - 1, ('T', 'R'): - 1, ('T', 'S'): 1, ('T', 'T'): 5, ('T', 'V'): 0, ('T', 'W'): - 2, ('T', 'X'): 0, ('T', 'Y'): - 2, ('T', 'Z'): - 1, ('V', 'A'): 0, ('V', 'B'): - 3, ('V', 'C'): - 1, ('V', 'D'): - 3, ('V', 'E'): - 2, ('V', 'F'): - 1, ('V', 'G'): - 3, ('V', 'H'): - 3, ('V', 'I'): 3, ('V', 'K'): - 2, ('V', 'L'): 1, ('V', 'M'): 1, ('V', 'N'): - 3, ('V', 'P'): - 2, ('V', 'Q'): - 2, ('V', 'R'): - 3, ('V', 'S'): - 2, ('V', 'T'): 0, ('V', 'V'): 4, ('V', 'W'): - 3, ('V', 'X'): - 1, ('V', 'Y'): - 1, ('V', 'Z'): - 2, ('W', 'A'): - 3, ('W', 'B'): - 4, ('W', 'C'): - 2, ('W', 'D'): - 4, ('W', 'E'): - 3, ('W', 'F'): 1, ('W', 'G'): - 2, ('W', 'H'): - 2, ('W', 'I'): - 3, ('W', 'K'): - 3, ('W', 'L'): - 2, ('W', 'M'): - 1, ('W', 'N'): - 4, ('W', 'P'): - 4, ('W', 'Q'): - 2, ('W', 'R'): - 3, ('W', 'S'): - 3, ('W', 'T'): - 2, ('W', 'V'): - 3, ('W', 'W'): 11, ('W', 'X'): - 2, ('W', 'Y'): 2, ('W', 'Z'): - 3, ('X', 'A'): 0, ('X', 'B'): - 1, ('X', 'C'): - 2, ('X', 'D'): - 1, ('X', 'E'): - 1, ('X', 'F'): - 1, ('X', 'G'): - 1, ('X', 'H'): - 1, ('X', 'I'): - 1, ('X', 'K'): - 1, ('X', 'L'): - 1, ('X', 'M'): - 1, ('X', 'N'): - 1, ('X', 'P'): - 2, ('X', 'Q'): - 1, ('X', 'R'): - 1, ('X', 'S'): 0, ('X', 'T'): 0, ('X', 'V'): - 1, ('X', 'W'): - 2, ('X', 'X'): - 1, ('X', 'Y'): - 1, ('X', 'Z'): - 1, ('Y', 'A'): - 2, ('Y', 'B'): - 3, ('Y', 'C'): - 2, ('Y', 'D'): - 3, ('Y', 'E'): - 2, ('Y', 'F'): 3, ('Y', 'G'): - 3, ('Y', 'H'): 2, ('Y', 'I'): - 1, ('Y', 'K'): - 2, ('Y', 'L'): - 1, ('Y', 'M'): - 1, ('Y', 'N'): - 2, ('Y', 'P'): - 3, ('Y', 'Q'): - 1, ('Y', 'R'): - 2, ('Y', 'S'): - 2, ('Y', 'T'): - 2, ('Y', 'V'): - 1, ('Y', 'W'): 2, ('Y', 'X'): - 1, ('Y', 'Y'): 7, ('Y', 'Z'): - 2, ('Z', 'A'): - 1, ('Z', 'B'): 1, ('Z', 'C'): - 3, ('Z', 'D'): 1, ('Z', 'E'): 4, ('Z', 'F'): - 3, ('Z', 'G'): - 2, ('Z', 'H'): 0, ('Z', 'I'): - 3, ('Z', 'K'): 1, ('Z', 'L'): - 3, ('Z', 'M'): - 1, ('Z', 'N'): 0, ('Z', 'P'): - 1, ('Z', 'Q'): 3, ('Z', 'R'): 0, ('Z', 'S'): 0, ('Z', 'T'): - 1, ('Z', 'V'): - 2, ('Z', 'W'): - 3, ('Z', 'X'): - 1, ('Z', 'Y'): - 2, ('Z', 'Z'): 4})

Returns the similarity between the residue and a reference residue

Parameters
Returns

similarity score based on the similarity matrix

Return type

float

getBinarySimilarity(ref_res, similarity_matrix={('A', 'A'): 4, ('A', 'B'): - 2, ('A', 'C'): 0, ('A', 'D'): - 2, ('A', 'E'): - 1, ('A', 'F'): - 2, ('A', 'G'): 0, ('A', 'H'): - 2, ('A', 'I'): - 1, ('A', 'K'): - 1, ('A', 'L'): - 1, ('A', 'M'): - 1, ('A', 'N'): - 2, ('A', 'P'): - 1, ('A', 'Q'): - 1, ('A', 'R'): - 1, ('A', 'S'): 1, ('A', 'T'): 0, ('A', 'V'): 0, ('A', 'W'): - 3, ('A', 'X'): 0, ('A', 'Y'): - 2, ('A', 'Z'): - 1, ('B', 'A'): - 2, ('B', 'B'): 4, ('B', 'C'): - 3, ('B', 'D'): 4, ('B', 'E'): 1, ('B', 'F'): - 3, ('B', 'G'): - 1, ('B', 'H'): 0, ('B', 'I'): - 3, ('B', 'K'): 0, ('B', 'L'): - 4, ('B', 'M'): - 3, ('B', 'N'): 3, ('B', 'P'): - 2, ('B', 'Q'): 0, ('B', 'R'): - 1, ('B', 'S'): 0, ('B', 'T'): - 1, ('B', 'V'): - 3, ('B', 'W'): - 4, ('B', 'X'): - 1, ('B', 'Y'): - 3, ('B', 'Z'): 1, ('C', 'A'): 0, ('C', 'B'): - 3, ('C', 'C'): 9, ('C', 'D'): - 3, ('C', 'E'): - 4, ('C', 'F'): - 2, ('C', 'G'): - 3, ('C', 'H'): - 3, ('C', 'I'): - 1, ('C', 'K'): - 3, ('C', 'L'): - 1, ('C', 'M'): - 1, ('C', 'N'): - 3, ('C', 'P'): - 3, ('C', 'Q'): - 3, ('C', 'R'): - 3, ('C', 'S'): - 1, ('C', 'T'): - 1, ('C', 'V'): - 1, ('C', 'W'): - 2, ('C', 'X'): - 2, ('C', 'Y'): - 2, ('C', 'Z'): - 3, ('D', 'A'): - 2, ('D', 'B'): 4, ('D', 'C'): - 3, ('D', 'D'): 6, ('D', 'E'): 2, ('D', 'F'): - 3, ('D', 'G'): - 1, ('D', 'H'): - 1, ('D', 'I'): - 3, ('D', 'K'): - 1, ('D', 'L'): - 4, ('D', 'M'): - 3, ('D', 'N'): 1, ('D', 'P'): - 1, ('D', 'Q'): 0, ('D', 'R'): - 2, ('D', 'S'): 0, ('D', 'T'): - 1, ('D', 'V'): - 3, ('D', 'W'): - 4, ('D', 'X'): - 1, ('D', 'Y'): - 3, ('D', 'Z'): 1, ('E', 'A'): - 1, ('E', 'B'): 1, ('E', 'C'): - 4, ('E', 'D'): 2, ('E', 'E'): 5, ('E', 'F'): - 3, ('E', 'G'): - 2, ('E', 'H'): 0, ('E', 'I'): - 3, ('E', 'K'): 1, ('E', 'L'): - 3, ('E', 'M'): - 2, ('E', 'N'): 0, ('E', 'P'): - 1, ('E', 'Q'): 2, ('E', 'R'): 0, ('E', 'S'): 0, ('E', 'T'): - 1, ('E', 'V'): - 2, ('E', 'W'): - 3, ('E', 'X'): - 1, ('E', 'Y'): - 2, ('E', 'Z'): 4, ('F', 'A'): - 2, ('F', 'B'): - 3, ('F', 'C'): - 2, ('F', 'D'): - 3, ('F', 'E'): - 3, ('F', 'F'): 6, ('F', 'G'): - 3, ('F', 'H'): - 1, ('F', 'I'): 0, ('F', 'K'): - 3, ('F', 'L'): 0, ('F', 'M'): 0, ('F', 'N'): - 3, ('F', 'P'): - 4, ('F', 'Q'): - 3, ('F', 'R'): - 3, ('F', 'S'): - 2, ('F', 'T'): - 2, ('F', 'V'): - 1, ('F', 'W'): 1, ('F', 'X'): - 1, ('F', 'Y'): 3, ('F', 'Z'): - 3, ('G', 'A'): 0, ('G', 'B'): - 1, ('G', 'C'): - 3, ('G', 'D'): - 1, ('G', 'E'): - 2, ('G', 'F'): - 3, ('G', 'G'): 6, ('G', 'H'): - 2, ('G', 'I'): - 4, ('G', 'K'): - 2, ('G', 'L'): - 4, ('G', 'M'): - 3, ('G', 'N'): 0, ('G', 'P'): - 2, ('G', 'Q'): - 2, ('G', 'R'): - 2, ('G', 'S'): 0, ('G', 'T'): - 2, ('G', 'V'): - 3, ('G', 'W'): - 2, ('G', 'X'): - 1, ('G', 'Y'): - 3, ('G', 'Z'): - 2, ('H', 'A'): - 2, ('H', 'B'): 0, ('H', 'C'): - 3, ('H', 'D'): - 1, ('H', 'E'): 0, ('H', 'F'): - 1, ('H', 'G'): - 2, ('H', 'H'): 8, ('H', 'I'): - 3, ('H', 'K'): - 1, ('H', 'L'): - 3, ('H', 'M'): - 2, ('H', 'N'): 1, ('H', 'P'): - 2, ('H', 'Q'): 0, ('H', 'R'): 0, ('H', 'S'): - 1, ('H', 'T'): - 2, ('H', 'V'): - 3, ('H', 'W'): - 2, ('H', 'X'): - 1, ('H', 'Y'): 2, ('H', 'Z'): 0, ('I', 'A'): - 1, ('I', 'B'): - 3, ('I', 'C'): - 1, ('I', 'D'): - 3, ('I', 'E'): - 3, ('I', 'F'): 0, ('I', 'G'): - 4, ('I', 'H'): - 3, ('I', 'I'): 4, ('I', 'K'): - 3, ('I', 'L'): 2, ('I', 'M'): 1, ('I', 'N'): - 3, ('I', 'P'): - 3, ('I', 'Q'): - 3, ('I', 'R'): - 3, ('I', 'S'): - 2, ('I', 'T'): - 1, ('I', 'V'): 3, ('I', 'W'): - 3, ('I', 'X'): - 1, ('I', 'Y'): - 1, ('I', 'Z'): - 3, ('K', 'A'): - 1, ('K', 'B'): 0, ('K', 'C'): - 3, ('K', 'D'): - 1, ('K', 'E'): 1, ('K', 'F'): - 3, ('K', 'G'): - 2, ('K', 'H'): - 1, ('K', 'I'): - 3, ('K', 'K'): 5, ('K', 'L'): - 2, ('K', 'M'): - 1, ('K', 'N'): 0, ('K', 'P'): - 1, ('K', 'Q'): 1, ('K', 'R'): 2, ('K', 'S'): 0, ('K', 'T'): - 1, ('K', 'V'): - 2, ('K', 'W'): - 3, ('K', 'X'): - 1, ('K', 'Y'): - 2, ('K', 'Z'): 1, ('L', 'A'): - 1, ('L', 'B'): - 4, ('L', 'C'): - 1, ('L', 'D'): - 4, ('L', 'E'): - 3, ('L', 'F'): 0, ('L', 'G'): - 4, ('L', 'H'): - 3, ('L', 'I'): 2, ('L', 'K'): - 2, ('L', 'L'): 4, ('L', 'M'): 2, ('L', 'N'): - 3, ('L', 'P'): - 3, ('L', 'Q'): - 2, ('L', 'R'): - 2, ('L', 'S'): - 2, ('L', 'T'): - 1, ('L', 'V'): 1, ('L', 'W'): - 2, ('L', 'X'): - 1, ('L', 'Y'): - 1, ('L', 'Z'): - 3, ('M', 'A'): - 1, ('M', 'B'): - 3, ('M', 'C'): - 1, ('M', 'D'): - 3, ('M', 'E'): - 2, ('M', 'F'): 0, ('M', 'G'): - 3, ('M', 'H'): - 2, ('M', 'I'): 1, ('M', 'K'): - 1, ('M', 'L'): 2, ('M', 'M'): 5, ('M', 'N'): - 2, ('M', 'P'): - 2, ('M', 'Q'): 0, ('M', 'R'): - 1, ('M', 'S'): - 1, ('M', 'T'): - 1, ('M', 'V'): 1, ('M', 'W'): - 1, ('M', 'X'): - 1, ('M', 'Y'): - 1, ('M', 'Z'): - 1, ('N', 'A'): - 2, ('N', 'B'): 3, ('N', 'C'): - 3, ('N', 'D'): 1, ('N', 'E'): 0, ('N', 'F'): - 3, ('N', 'G'): 0, ('N', 'H'): 1, ('N', 'I'): - 3, ('N', 'K'): 0, ('N', 'L'): - 3, ('N', 'M'): - 2, ('N', 'N'): 6, ('N', 'P'): - 2, ('N', 'Q'): 0, ('N', 'R'): 0, ('N', 'S'): 1, ('N', 'T'): 0, ('N', 'V'): - 3, ('N', 'W'): - 4, ('N', 'X'): - 1, ('N', 'Y'): - 2, ('N', 'Z'): 0, ('P', 'A'): - 1, ('P', 'B'): - 2, ('P', 'C'): - 3, ('P', 'D'): - 1, ('P', 'E'): - 1, ('P', 'F'): - 4, ('P', 'G'): - 2, ('P', 'H'): - 2, ('P', 'I'): - 3, ('P', 'K'): - 1, ('P', 'L'): - 3, ('P', 'M'): - 2, ('P', 'N'): - 2, ('P', 'P'): 7, ('P', 'Q'): - 1, ('P', 'R'): - 2, ('P', 'S'): - 1, ('P', 'T'): - 1, ('P', 'V'): - 2, ('P', 'W'): - 4, ('P', 'X'): - 2, ('P', 'Y'): - 3, ('P', 'Z'): - 1, ('Q', 'A'): - 1, ('Q', 'B'): 0, ('Q', 'C'): - 3, ('Q', 'D'): 0, ('Q', 'E'): 2, ('Q', 'F'): - 3, ('Q', 'G'): - 2, ('Q', 'H'): 0, ('Q', 'I'): - 3, ('Q', 'K'): 1, ('Q', 'L'): - 2, ('Q', 'M'): 0, ('Q', 'N'): 0, ('Q', 'P'): - 1, ('Q', 'Q'): 5, ('Q', 'R'): 1, ('Q', 'S'): 0, ('Q', 'T'): - 1, ('Q', 'V'): - 2, ('Q', 'W'): - 2, ('Q', 'X'): - 1, ('Q', 'Y'): - 1, ('Q', 'Z'): 3, ('R', 'A'): - 1, ('R', 'B'): - 1, ('R', 'C'): - 3, ('R', 'D'): - 2, ('R', 'E'): 0, ('R', 'F'): - 3, ('R', 'G'): - 2, ('R', 'H'): 0, ('R', 'I'): - 3, ('R', 'K'): 2, ('R', 'L'): - 2, ('R', 'M'): - 1, ('R', 'N'): 0, ('R', 'P'): - 2, ('R', 'Q'): 1, ('R', 'R'): 5, ('R', 'S'): - 1, ('R', 'T'): - 1, ('R', 'V'): - 3, ('R', 'W'): - 3, ('R', 'X'): - 1, ('R', 'Y'): - 2, ('R', 'Z'): 0, ('S', 'A'): 1, ('S', 'B'): 0, ('S', 'C'): - 1, ('S', 'D'): 0, ('S', 'E'): 0, ('S', 'F'): - 2, ('S', 'G'): 0, ('S', 'H'): - 1, ('S', 'I'): - 2, ('S', 'K'): 0, ('S', 'L'): - 2, ('S', 'M'): - 1, ('S', 'N'): 1, ('S', 'P'): - 1, ('S', 'Q'): 0, ('S', 'R'): - 1, ('S', 'S'): 4, ('S', 'T'): 1, ('S', 'V'): - 2, ('S', 'W'): - 3, ('S', 'X'): 0, ('S', 'Y'): - 2, ('S', 'Z'): 0, ('T', 'A'): 0, ('T', 'B'): - 1, ('T', 'C'): - 1, ('T', 'D'): - 1, ('T', 'E'): - 1, ('T', 'F'): - 2, ('T', 'G'): - 2, ('T', 'H'): - 2, ('T', 'I'): - 1, ('T', 'K'): - 1, ('T', 'L'): - 1, ('T', 'M'): - 1, ('T', 'N'): 0, ('T', 'P'): - 1, ('T', 'Q'): - 1, ('T', 'R'): - 1, ('T', 'S'): 1, ('T', 'T'): 5, ('T', 'V'): 0, ('T', 'W'): - 2, ('T', 'X'): 0, ('T', 'Y'): - 2, ('T', 'Z'): - 1, ('V', 'A'): 0, ('V', 'B'): - 3, ('V', 'C'): - 1, ('V', 'D'): - 3, ('V', 'E'): - 2, ('V', 'F'): - 1, ('V', 'G'): - 3, ('V', 'H'): - 3, ('V', 'I'): 3, ('V', 'K'): - 2, ('V', 'L'): 1, ('V', 'M'): 1, ('V', 'N'): - 3, ('V', 'P'): - 2, ('V', 'Q'): - 2, ('V', 'R'): - 3, ('V', 'S'): - 2, ('V', 'T'): 0, ('V', 'V'): 4, ('V', 'W'): - 3, ('V', 'X'): - 1, ('V', 'Y'): - 1, ('V', 'Z'): - 2, ('W', 'A'): - 3, ('W', 'B'): - 4, ('W', 'C'): - 2, ('W', 'D'): - 4, ('W', 'E'): - 3, ('W', 'F'): 1, ('W', 'G'): - 2, ('W', 'H'): - 2, ('W', 'I'): - 3, ('W', 'K'): - 3, ('W', 'L'): - 2, ('W', 'M'): - 1, ('W', 'N'): - 4, ('W', 'P'): - 4, ('W', 'Q'): - 2, ('W', 'R'): - 3, ('W', 'S'): - 3, ('W', 'T'): - 2, ('W', 'V'): - 3, ('W', 'W'): 11, ('W', 'X'): - 2, ('W', 'Y'): 2, ('W', 'Z'): - 3, ('X', 'A'): 0, ('X', 'B'): - 1, ('X', 'C'): - 2, ('X', 'D'): - 1, ('X', 'E'): - 1, ('X', 'F'): - 1, ('X', 'G'): - 1, ('X', 'H'): - 1, ('X', 'I'): - 1, ('X', 'K'): - 1, ('X', 'L'): - 1, ('X', 'M'): - 1, ('X', 'N'): - 1, ('X', 'P'): - 2, ('X', 'Q'): - 1, ('X', 'R'): - 1, ('X', 'S'): 0, ('X', 'T'): 0, ('X', 'V'): - 1, ('X', 'W'): - 2, ('X', 'X'): - 1, ('X', 'Y'): - 1, ('X', 'Z'): - 1, ('Y', 'A'): - 2, ('Y', 'B'): - 3, ('Y', 'C'): - 2, ('Y', 'D'): - 3, ('Y', 'E'): - 2, ('Y', 'F'): 3, ('Y', 'G'): - 3, ('Y', 'H'): 2, ('Y', 'I'): - 1, ('Y', 'K'): - 2, ('Y', 'L'): - 1, ('Y', 'M'): - 1, ('Y', 'N'): - 2, ('Y', 'P'): - 3, ('Y', 'Q'): - 1, ('Y', 'R'): - 2, ('Y', 'S'): - 2, ('Y', 'T'): - 2, ('Y', 'V'): - 1, ('Y', 'W'): 2, ('Y', 'X'): - 1, ('Y', 'Y'): 7, ('Y', 'Z'): - 2, ('Z', 'A'): - 1, ('Z', 'B'): 1, ('Z', 'C'): - 3, ('Z', 'D'): 1, ('Z', 'E'): 4, ('Z', 'F'): - 3, ('Z', 'G'): - 2, ('Z', 'H'): 0, ('Z', 'I'): - 3, ('Z', 'K'): 1, ('Z', 'L'): - 3, ('Z', 'M'): - 1, ('Z', 'N'): 0, ('Z', 'P'): - 1, ('Z', 'Q'): 3, ('Z', 'R'): 0, ('Z', 'S'): 0, ('Z', 'T'): - 1, ('Z', 'V'): - 2, ('Z', 'W'): - 3, ('Z', 'X'): - 1, ('Z', 'Y'): - 2, ('Z', 'Z'): 4})

Returns if the residue and a reference residue are similar

Parameters
Returns

1 if the similarity score is positive, otherwise 0.

Return type

int

getIdentity(ref_res)

Return the identity between the residue and a reference residue

Parameters

ref_res (schrodinger.protein.residue.Residue) – The reference residue

Returns

1 if same as the reference residue, 0 otherwise.

Return type

int

getIdentityStrict(ref_res)

Return the identity between the residue and a reference residue without considering nonstandard amino acids identical to their related standard amino acid.

See getIdentity for additional documentation.

getConservation(ref_res)

Return whether the residue and a reference residue have similar side-chain chemistry.

The similarity criterion is based on “side chain chemistry” descriptor matching.

Parameters

ref_res (schrodinger.protein.residue.Residue) – The reference residue

Returns

1 if the residue and reference residue are have similar side chain chemistry, 0 otherwise.

Return type

int

getStructureResProperties()

Return all properties for the corresponding structure residue’s alpha carbon. Properties that apply to the whole residue are stored as atom properties on this atom. An empty dictionary will be returned if this residue doesn’t have a corresponding alpha carbon.

Returns

A dictionary-like object containing the properties.

Return type

structure._StructureAtomProperty or dict

updateDescriptors(descriptors)

Updates the descriptor dicts with new descriptor values

Parameters

descriptors (dict[str, float]) – A dict mapping descriptor names to their values

getDescriptorValue(descriptor_name)
getDescriptorKeys()
getProperty(seq_prop)

Get the residue’s value corresponding to the given SequenceProperty object

Parameters

seq_prop (schrodinger.protein.properties.SequenceProperty) – The object describing the residue property

Returns

The value of the sequence property

Return type

str, int, float or None

disulfide_bond
pred_disulfide_bond
b_factor
molecule_number
pfam
pred_secondary_structure
secondary_structure
area
composition
domains
gpcr_segment
gpcr_generic_number
t_cell_receptor
custom_annotation
classmethod fromJson(json_obj)

A factory method which constructs a new object from a given dict loaded from a json string or file.

Parameters

json_obj (dict) – A json-loaded dictionary to create an object from.

Returns

An instance of this class.

Return type

cls

property gapless_idx_in_seq

Return the index of this residue within its sequence ignoring gaps

Returns

Index of this residue in its sequence or None if it is not part of a sequence.

Return type

int or None

get_version()

Method to get the version of a particular object. Defaults to the current version of mmshare. This class can be overridden for custom versioning behavior.

hasStructure()
Returns

Whether this element has a structure i.e. whether it has corresponding XYZ coordinates in Maestro.

Return type

bool

property idx_in_seq
property is_res

Utility function to check whether a residue is not a gap

property sequence

The sequence that this element is part of. Will be None if this residue is not part of a sequence. Stored as a weakref to avoid circular references. :rtype: sequence.AbstractSingleChainSequence

toJson(_mark_version=True)

Create and returns a data structure made up of jsonable items.

Return type

An instance of one the classes from NATIVE_JSON_DATATYPES

class schrodinger.protein.residue.CombinedChainResidueWrapper(res, combined_chain_seq)

Bases: object

A wrapper for a residue or gap so that res.sequence points to the combined-chain sequence and res.idx_in_seq gives the index within the combined-chain sequence.

Note that these wrappers are generated as needed and the combined-chain sequence does not store any reference to the generated instances. As such, these residues should not be stored using weakrefs and should not be compared using identity. Also note that these residues will not compare equal to the split-chain residues that they wrap.

__init__(res, combined_chain_seq)
Parameters
property sequence

The combined-chain sequence that the residue is part of, or None if the residue has been removed from the sequence.

Return type

sequence.CombinedChainProteinSequence or None

property idx_in_seq

This residue’s index in the combined-chain sequence, or None if the residue has been removed from the sequence.

Return type

int or None

property split_res

The split-chain residue or gap that this residue is wrapping.

Return type

AbstractSequenceElement

property split_sequence

The split-chain sequence that this residue is part or, or None if the residue has been removed from the sequence.

Return type

sequence.ProteinSequence or None

property disulfide_bond

The current disulfide bond, if any, that this residue is involved in. :rtype: CombinedChainDisulfideBond or None

class schrodinger.protein.residue.DisulfideBond(res1, res2)

Bases: object

Representation of a disulfide bond.

__init__(res1, res2)
Parameters
  • res1 (Residue) – A residue in the bond

  • res2 (Residue) – The other residue in the bond

property res_pair
isValid()

Check whether the disulfide bond is valid and if so, return its seqs.

Returns

False if the disulfide bond is invalid, the seqs otherwise.

Return type

bool or list(sequence.ProteinSequence, sequence.ProteinSequence)

property is_intra_sequence

Check whether the bond is valid and intra-sequence.

Returns

Whether the bond is a valid, intra-sequence bond.

Return type

bool

Raises

ValueError – If the bond is not valid

property is_inter_sequence

Check whether the bond is valid and inter-sequence.

Returns

Whether the bond is a valid, inter-sequence bond.

Return type

bool

Raises

ValueError – If the bond is not valid

class schrodinger.protein.residue.CombinedChainDisulfideBond(bond, seq)

Bases: schrodinger.protein.residue.DisulfideBond

A disulfide bond in a sequence.CombinedChainProteinSequence.

__init__(bond, seq)
Parameters
isValid()

Check whether the disulfide bond is valid and if so, return its seqs.

Returns

False if the disulfide bond is invalid, the seqs otherwise.

Return type

bool or list(sequence.ProteinSequence, sequence.ProteinSequence)

property is_intra_sequence

Check whether the bond is valid and intra-sequence.

Returns

Whether the bond is a valid, intra-sequence bond.

Return type

bool

Raises

ValueError – If the bond is not valid

property res_pair
property is_inter_sequence

Check whether the bond is valid and inter-sequence.

Returns

Whether the bond is a valid, inter-sequence bond.

Return type

bool

Raises

ValueError – If the bond is not valid

schrodinger.protein.residue.add_disulfide_bond(res1, res2, known=True)

Add a disulfide bond between two residues.

Parameters
  • res1 (residue.Residue) – A residue to link with a disulfide bond

  • res2 (residue.Residue) – Another residue to link with a disulfide bond

  • known (bool) – Whether the bond is a known bond or a predicted bond.

schrodinger.protein.residue.remove_disulfide_bond(bond)

Remove a disulfide bond between two residues.

Parameters

bond (residue.DisulfideBond) – The bond to disconnect

class schrodinger.protein.residue.Nucleotide(element_type, inscode=None, resnum=None, seqres_only=False)

Bases: schrodinger.protein.residue.Residue

type
seqres_only
disulfide_bond
pred_disulfide_bond
b_factor
molecule_number
pfam
pred_secondary_structure
secondary_structure
pred_accessibility
pred_disordered
pred_domain_arr
area
composition
domains
kinase_features
gpcr_segment
gpcr_generic_number
t_cell_receptor
custom_annotation
SLOT_BLOCKLIST = {'disulfide_bond', 'pred_disulfide_bond', 'sequence', 'type'}
__init__(element_type, inscode=None, resnum=None, seqres_only=False)
Parameters
  • element_type (ResidueType) – The kind of the residue

  • inscode (str) – The insertion code

  • resnum (int) – PDB residue number

  • seqres_only (bool) – Whether this residue only appears in the SEQRES record of a structure. Only applies to sequences associated with a structure.

property beta_strand_propensity
Returns

Beta-strand propensity for the ResidueType of the residue

Return type

BETA_STRAND_PROPENSITY

property chain

The name of the sequence chain that this residue belongs to. :rtype: str

property charge
Returns

charge of the ResidueType of the residue

Return type

RESIDUE_CHARGE

property descriptors
property exposure_tendency
Returns

Solvent exposure tendency for the ResidueType of the residue

Return type

SOLVENT_EXPOSURE_TENDENCY

classmethod fromJson(json_obj)

A factory method which constructs a new object from a given dict loaded from a json string or file.

Parameters

json_obj (dict) – A json-loaded dictionary to create an object from.

Returns

An instance of this class.

Return type

cls

classmethod fromJsonImplementation(json_obj)

Abstract method that must be defined by all derived classes. Takes in a dictionary and constructs an instance of the derived class.

Parameters

json_dict (dict) – A dictionary loaded from a JSON string or file.

Returns

An instance of the derived class.

Return type

cls

property gapless_idx_in_seq

Return the index of this residue within its sequence ignoring gaps

Returns

Index of this residue in its sequence or None if it is not part of a sequence.

Return type

int or None

getBinarySimilarity(ref_res, similarity_matrix={('A', 'A'): 4, ('A', 'B'): - 2, ('A', 'C'): 0, ('A', 'D'): - 2, ('A', 'E'): - 1, ('A', 'F'): - 2, ('A', 'G'): 0, ('A', 'H'): - 2, ('A', 'I'): - 1, ('A', 'K'): - 1, ('A', 'L'): - 1, ('A', 'M'): - 1, ('A', 'N'): - 2, ('A', 'P'): - 1, ('A', 'Q'): - 1, ('A', 'R'): - 1, ('A', 'S'): 1, ('A', 'T'): 0, ('A', 'V'): 0, ('A', 'W'): - 3, ('A', 'X'): 0, ('A', 'Y'): - 2, ('A', 'Z'): - 1, ('B', 'A'): - 2, ('B', 'B'): 4, ('B', 'C'): - 3, ('B', 'D'): 4, ('B', 'E'): 1, ('B', 'F'): - 3, ('B', 'G'): - 1, ('B', 'H'): 0, ('B', 'I'): - 3, ('B', 'K'): 0, ('B', 'L'): - 4, ('B', 'M'): - 3, ('B', 'N'): 3, ('B', 'P'): - 2, ('B', 'Q'): 0, ('B', 'R'): - 1, ('B', 'S'): 0, ('B', 'T'): - 1, ('B', 'V'): - 3, ('B', 'W'): - 4, ('B', 'X'): - 1, ('B', 'Y'): - 3, ('B', 'Z'): 1, ('C', 'A'): 0, ('C', 'B'): - 3, ('C', 'C'): 9, ('C', 'D'): - 3, ('C', 'E'): - 4, ('C', 'F'): - 2, ('C', 'G'): - 3, ('C', 'H'): - 3, ('C', 'I'): - 1, ('C', 'K'): - 3, ('C', 'L'): - 1, ('C', 'M'): - 1, ('C', 'N'): - 3, ('C', 'P'): - 3, ('C', 'Q'): - 3, ('C', 'R'): - 3, ('C', 'S'): - 1, ('C', 'T'): - 1, ('C', 'V'): - 1, ('C', 'W'): - 2, ('C', 'X'): - 2, ('C', 'Y'): - 2, ('C', 'Z'): - 3, ('D', 'A'): - 2, ('D', 'B'): 4, ('D', 'C'): - 3, ('D', 'D'): 6, ('D', 'E'): 2, ('D', 'F'): - 3, ('D', 'G'): - 1, ('D', 'H'): - 1, ('D', 'I'): - 3, ('D', 'K'): - 1, ('D', 'L'): - 4, ('D', 'M'): - 3, ('D', 'N'): 1, ('D', 'P'): - 1, ('D', 'Q'): 0, ('D', 'R'): - 2, ('D', 'S'): 0, ('D', 'T'): - 1, ('D', 'V'): - 3, ('D', 'W'): - 4, ('D', 'X'): - 1, ('D', 'Y'): - 3, ('D', 'Z'): 1, ('E', 'A'): - 1, ('E', 'B'): 1, ('E', 'C'): - 4, ('E', 'D'): 2, ('E', 'E'): 5, ('E', 'F'): - 3, ('E', 'G'): - 2, ('E', 'H'): 0, ('E', 'I'): - 3, ('E', 'K'): 1, ('E', 'L'): - 3, ('E', 'M'): - 2, ('E', 'N'): 0, ('E', 'P'): - 1, ('E', 'Q'): 2, ('E', 'R'): 0, ('E', 'S'): 0, ('E', 'T'): - 1, ('E', 'V'): - 2, ('E', 'W'): - 3, ('E', 'X'): - 1, ('E', 'Y'): - 2, ('E', 'Z'): 4, ('F', 'A'): - 2, ('F', 'B'): - 3, ('F', 'C'): - 2, ('F', 'D'): - 3, ('F', 'E'): - 3, ('F', 'F'): 6, ('F', 'G'): - 3, ('F', 'H'): - 1, ('F', 'I'): 0, ('F', 'K'): - 3, ('F', 'L'): 0, ('F', 'M'): 0, ('F', 'N'): - 3, ('F', 'P'): - 4, ('F', 'Q'): - 3, ('F', 'R'): - 3, ('F', 'S'): - 2, ('F', 'T'): - 2, ('F', 'V'): - 1, ('F', 'W'): 1, ('F', 'X'): - 1, ('F', 'Y'): 3, ('F', 'Z'): - 3, ('G', 'A'): 0, ('G', 'B'): - 1, ('G', 'C'): - 3, ('G', 'D'): - 1, ('G', 'E'): - 2, ('G', 'F'): - 3, ('G', 'G'): 6, ('G', 'H'): - 2, ('G', 'I'): - 4, ('G', 'K'): - 2, ('G', 'L'): - 4, ('G', 'M'): - 3, ('G', 'N'): 0, ('G', 'P'): - 2, ('G', 'Q'): - 2, ('G', 'R'): - 2, ('G', 'S'): 0, ('G', 'T'): - 2, ('G', 'V'): - 3, ('G', 'W'): - 2, ('G', 'X'): - 1, ('G', 'Y'): - 3, ('G', 'Z'): - 2, ('H', 'A'): - 2, ('H', 'B'): 0, ('H', 'C'): - 3, ('H', 'D'): - 1, ('H', 'E'): 0, ('H', 'F'): - 1, ('H', 'G'): - 2, ('H', 'H'): 8, ('H', 'I'): - 3, ('H', 'K'): - 1, ('H', 'L'): - 3, ('H', 'M'): - 2, ('H', 'N'): 1, ('H', 'P'): - 2, ('H', 'Q'): 0, ('H', 'R'): 0, ('H', 'S'): - 1, ('H', 'T'): - 2, ('H', 'V'): - 3, ('H', 'W'): - 2, ('H', 'X'): - 1, ('H', 'Y'): 2, ('H', 'Z'): 0, ('I', 'A'): - 1, ('I', 'B'): - 3, ('I', 'C'): - 1, ('I', 'D'): - 3, ('I', 'E'): - 3, ('I', 'F'): 0, ('I', 'G'): - 4, ('I', 'H'): - 3, ('I', 'I'): 4, ('I', 'K'): - 3, ('I', 'L'): 2, ('I', 'M'): 1, ('I', 'N'): - 3, ('I', 'P'): - 3, ('I', 'Q'): - 3, ('I', 'R'): - 3, ('I', 'S'): - 2, ('I', 'T'): - 1, ('I', 'V'): 3, ('I', 'W'): - 3, ('I', 'X'): - 1, ('I', 'Y'): - 1, ('I', 'Z'): - 3, ('K', 'A'): - 1, ('K', 'B'): 0, ('K', 'C'): - 3, ('K', 'D'): - 1, ('K', 'E'): 1, ('K', 'F'): - 3, ('K', 'G'): - 2, ('K', 'H'): - 1, ('K', 'I'): - 3, ('K', 'K'): 5, ('K', 'L'): - 2, ('K', 'M'): - 1, ('K', 'N'): 0, ('K', 'P'): - 1, ('K', 'Q'): 1, ('K', 'R'): 2, ('K', 'S'): 0, ('K', 'T'): - 1, ('K', 'V'): - 2, ('K', 'W'): - 3, ('K', 'X'): - 1, ('K', 'Y'): - 2, ('K', 'Z'): 1, ('L', 'A'): - 1, ('L', 'B'): - 4, ('L', 'C'): - 1, ('L', 'D'): - 4, ('L', 'E'): - 3, ('L', 'F'): 0, ('L', 'G'): - 4, ('L', 'H'): - 3, ('L', 'I'): 2, ('L', 'K'): - 2, ('L', 'L'): 4, ('L', 'M'): 2, ('L', 'N'): - 3, ('L', 'P'): - 3, ('L', 'Q'): - 2, ('L', 'R'): - 2, ('L', 'S'): - 2, ('L', 'T'): - 1, ('L', 'V'): 1, ('L', 'W'): - 2, ('L', 'X'): - 1, ('L', 'Y'): - 1, ('L', 'Z'): - 3, ('M', 'A'): - 1, ('M', 'B'): - 3, ('M', 'C'): - 1, ('M', 'D'): - 3, ('M', 'E'): - 2, ('M', 'F'): 0, ('M', 'G'): - 3, ('M', 'H'): - 2, ('M', 'I'): 1, ('M', 'K'): - 1, ('M', 'L'): 2, ('M', 'M'): 5, ('M', 'N'): - 2, ('M', 'P'): - 2, ('M', 'Q'): 0, ('M', 'R'): - 1, ('M', 'S'): - 1, ('M', 'T'): - 1, ('M', 'V'): 1, ('M', 'W'): - 1, ('M', 'X'): - 1, ('M', 'Y'): - 1, ('M', 'Z'): - 1, ('N', 'A'): - 2, ('N', 'B'): 3, ('N', 'C'): - 3, ('N', 'D'): 1, ('N', 'E'): 0, ('N', 'F'): - 3, ('N', 'G'): 0, ('N', 'H'): 1, ('N', 'I'): - 3, ('N', 'K'): 0, ('N', 'L'): - 3, ('N', 'M'): - 2, ('N', 'N'): 6, ('N', 'P'): - 2, ('N', 'Q'): 0, ('N', 'R'): 0, ('N', 'S'): 1, ('N', 'T'): 0, ('N', 'V'): - 3, ('N', 'W'): - 4, ('N', 'X'): - 1, ('N', 'Y'): - 2, ('N', 'Z'): 0, ('P', 'A'): - 1, ('P', 'B'): - 2, ('P', 'C'): - 3, ('P', 'D'): - 1, ('P', 'E'): - 1, ('P', 'F'): - 4, ('P', 'G'): - 2, ('P', 'H'): - 2, ('P', 'I'): - 3, ('P', 'K'): - 1, ('P', 'L'): - 3, ('P', 'M'): - 2, ('P', 'N'): - 2, ('P', 'P'): 7, ('P', 'Q'): - 1, ('P', 'R'): - 2, ('P', 'S'): - 1, ('P', 'T'): - 1, ('P', 'V'): - 2, ('P', 'W'): - 4, ('P', 'X'): - 2, ('P', 'Y'): - 3, ('P', 'Z'): - 1, ('Q', 'A'): - 1, ('Q', 'B'): 0, ('Q', 'C'): - 3, ('Q', 'D'): 0, ('Q', 'E'): 2, ('Q', 'F'): - 3, ('Q', 'G'): - 2, ('Q', 'H'): 0, ('Q', 'I'): - 3, ('Q', 'K'): 1, ('Q', 'L'): - 2, ('Q', 'M'): 0, ('Q', 'N'): 0, ('Q', 'P'): - 1, ('Q', 'Q'): 5, ('Q', 'R'): 1, ('Q', 'S'): 0, ('Q', 'T'): - 1, ('Q', 'V'): - 2, ('Q', 'W'): - 2, ('Q', 'X'): - 1, ('Q', 'Y'): - 1, ('Q', 'Z'): 3, ('R', 'A'): - 1, ('R', 'B'): - 1, ('R', 'C'): - 3, ('R', 'D'): - 2, ('R', 'E'): 0, ('R', 'F'): - 3, ('R', 'G'): - 2, ('R', 'H'): 0, ('R', 'I'): - 3, ('R', 'K'): 2, ('R', 'L'): - 2, ('R', 'M'): - 1, ('R', 'N'): 0, ('R', 'P'): - 2, ('R', 'Q'): 1, ('R', 'R'): 5, ('R', 'S'): - 1, ('R', 'T'): - 1, ('R', 'V'): - 3, ('R', 'W'): - 3, ('R', 'X'): - 1, ('R', 'Y'): - 2, ('R', 'Z'): 0, ('S', 'A'): 1, ('S', 'B'): 0, ('S', 'C'): - 1, ('S', 'D'): 0, ('S', 'E'): 0, ('S', 'F'): - 2, ('S', 'G'): 0, ('S', 'H'): - 1, ('S', 'I'): - 2, ('S', 'K'): 0, ('S', 'L'): - 2, ('S', 'M'): - 1, ('S', 'N'): 1, ('S', 'P'): - 1, ('S', 'Q'): 0, ('S', 'R'): - 1, ('S', 'S'): 4, ('S', 'T'): 1, ('S', 'V'): - 2, ('S', 'W'): - 3, ('S', 'X'): 0, ('S', 'Y'): - 2, ('S', 'Z'): 0, ('T', 'A'): 0, ('T', 'B'): - 1, ('T', 'C'): - 1, ('T', 'D'): - 1, ('T', 'E'): - 1, ('T', 'F'): - 2, ('T', 'G'): - 2, ('T', 'H'): - 2, ('T', 'I'): - 1, ('T', 'K'): - 1, ('T', 'L'): - 1, ('T', 'M'): - 1, ('T', 'N'): 0, ('T', 'P'): - 1, ('T', 'Q'): - 1, ('T', 'R'): - 1, ('T', 'S'): 1, ('T', 'T'): 5, ('T', 'V'): 0, ('T', 'W'): - 2, ('T', 'X'): 0, ('T', 'Y'): - 2, ('T', 'Z'): - 1, ('V', 'A'): 0, ('V', 'B'): - 3, ('V', 'C'): - 1, ('V', 'D'): - 3, ('V', 'E'): - 2, ('V', 'F'): - 1, ('V', 'G'): - 3, ('V', 'H'): - 3, ('V', 'I'): 3, ('V', 'K'): - 2, ('V', 'L'): 1, ('V', 'M'): 1, ('V', 'N'): - 3, ('V', 'P'): - 2, ('V', 'Q'): - 2, ('V', 'R'): - 3, ('V', 'S'): - 2, ('V', 'T'): 0, ('V', 'V'): 4, ('V', 'W'): - 3, ('V', 'X'): - 1, ('V', 'Y'): - 1, ('V', 'Z'): - 2, ('W', 'A'): - 3, ('W', 'B'): - 4, ('W', 'C'): - 2, ('W', 'D'): - 4, ('W', 'E'): - 3, ('W', 'F'): 1, ('W', 'G'): - 2, ('W', 'H'): - 2, ('W', 'I'): - 3, ('W', 'K'): - 3, ('W', 'L'): - 2, ('W', 'M'): - 1, ('W', 'N'): - 4, ('W', 'P'): - 4, ('W', 'Q'): - 2, ('W', 'R'): - 3, ('W', 'S'): - 3, ('W', 'T'): - 2, ('W', 'V'): - 3, ('W', 'W'): 11, ('W', 'X'): - 2, ('W', 'Y'): 2, ('W', 'Z'): - 3, ('X', 'A'): 0, ('X', 'B'): - 1, ('X', 'C'): - 2, ('X', 'D'): - 1, ('X', 'E'): - 1, ('X', 'F'): - 1, ('X', 'G'): - 1, ('X', 'H'): - 1, ('X', 'I'): - 1, ('X', 'K'): - 1, ('X', 'L'): - 1, ('X', 'M'): - 1, ('X', 'N'): - 1, ('X', 'P'): - 2, ('X', 'Q'): - 1, ('X', 'R'): - 1, ('X', 'S'): 0, ('X', 'T'): 0, ('X', 'V'): - 1, ('X', 'W'): - 2, ('X', 'X'): - 1, ('X', 'Y'): - 1, ('X', 'Z'): - 1, ('Y', 'A'): - 2, ('Y', 'B'): - 3, ('Y', 'C'): - 2, ('Y', 'D'): - 3, ('Y', 'E'): - 2, ('Y', 'F'): 3, ('Y', 'G'): - 3, ('Y', 'H'): 2, ('Y', 'I'): - 1, ('Y', 'K'): - 2, ('Y', 'L'): - 1, ('Y', 'M'): - 1, ('Y', 'N'): - 2, ('Y', 'P'): - 3, ('Y', 'Q'): - 1, ('Y', 'R'): - 2, ('Y', 'S'): - 2, ('Y', 'T'): - 2, ('Y', 'V'): - 1, ('Y', 'W'): 2, ('Y', 'X'): - 1, ('Y', 'Y'): 7, ('Y', 'Z'): - 2, ('Z', 'A'): - 1, ('Z', 'B'): 1, ('Z', 'C'): - 3, ('Z', 'D'): 1, ('Z', 'E'): 4, ('Z', 'F'): - 3, ('Z', 'G'): - 2, ('Z', 'H'): 0, ('Z', 'I'): - 3, ('Z', 'K'): 1, ('Z', 'L'): - 3, ('Z', 'M'): - 1, ('Z', 'N'): 0, ('Z', 'P'): - 1, ('Z', 'Q'): 3, ('Z', 'R'): 0, ('Z', 'S'): 0, ('Z', 'T'): - 1, ('Z', 'V'): - 2, ('Z', 'W'): - 3, ('Z', 'X'): - 1, ('Z', 'Y'): - 2, ('Z', 'Z'): 4})

Returns if the residue and a reference residue are similar

Parameters
Returns

1 if the similarity score is positive, otherwise 0.

Return type

int

getChainKey()
getConservation(ref_res)

Return whether the residue and a reference residue have similar side-chain chemistry.

The similarity criterion is based on “side chain chemistry” descriptor matching.

Parameters

ref_res (schrodinger.protein.residue.Residue) – The reference residue

Returns

1 if the residue and reference residue are have similar side chain chemistry, 0 otherwise.

Return type

int

getDescriptorKeys()
getDescriptorValue(descriptor_name)
getIdentity(ref_res)

Return the identity between the residue and a reference residue

Parameters

ref_res (schrodinger.protein.residue.Residue) – The reference residue

Returns

1 if same as the reference residue, 0 otherwise.

Return type

int

getIdentityStrict(ref_res)

Return the identity between the residue and a reference residue without considering nonstandard amino acids identical to their related standard amino acid.

See getIdentity for additional documentation.

getKey()

Get a key that uniquely identifies the residue relative to structures.

Returns

Residue key as (entry_id, chain, inscode, resnum, molnum, pdbname), or None if residue is unparented or has no structure

Return type

ResidueKey or NoneType

getProperty(seq_prop)

Get the residue’s value corresponding to the given SequenceProperty object

Parameters

seq_prop (schrodinger.protein.properties.SequenceProperty) – The object describing the residue property

Returns

The value of the sequence property

Return type

str, int, float or None

getSimilarity(ref_res, similarity_matrix={('A', 'A'): 4, ('A', 'B'): - 2, ('A', 'C'): 0, ('A', 'D'): - 2, ('A', 'E'): - 1, ('A', 'F'): - 2, ('A', 'G'): 0, ('A', 'H'): - 2, ('A', 'I'): - 1, ('A', 'K'): - 1, ('A', 'L'): - 1, ('A', 'M'): - 1, ('A', 'N'): - 2, ('A', 'P'): - 1, ('A', 'Q'): - 1, ('A', 'R'): - 1, ('A', 'S'): 1, ('A', 'T'): 0, ('A', 'V'): 0, ('A', 'W'): - 3, ('A', 'X'): 0, ('A', 'Y'): - 2, ('A', 'Z'): - 1, ('B', 'A'): - 2, ('B', 'B'): 4, ('B', 'C'): - 3, ('B', 'D'): 4, ('B', 'E'): 1, ('B', 'F'): - 3, ('B', 'G'): - 1, ('B', 'H'): 0, ('B', 'I'): - 3, ('B', 'K'): 0, ('B', 'L'): - 4, ('B', 'M'): - 3, ('B', 'N'): 3, ('B', 'P'): - 2, ('B', 'Q'): 0, ('B', 'R'): - 1, ('B', 'S'): 0, ('B', 'T'): - 1, ('B', 'V'): - 3, ('B', 'W'): - 4, ('B', 'X'): - 1, ('B', 'Y'): - 3, ('B', 'Z'): 1, ('C', 'A'): 0, ('C', 'B'): - 3, ('C', 'C'): 9, ('C', 'D'): - 3, ('C', 'E'): - 4, ('C', 'F'): - 2, ('C', 'G'): - 3, ('C', 'H'): - 3, ('C', 'I'): - 1, ('C', 'K'): - 3, ('C', 'L'): - 1, ('C', 'M'): - 1, ('C', 'N'): - 3, ('C', 'P'): - 3, ('C', 'Q'): - 3, ('C', 'R'): - 3, ('C', 'S'): - 1, ('C', 'T'): - 1, ('C', 'V'): - 1, ('C', 'W'): - 2, ('C', 'X'): - 2, ('C', 'Y'): - 2, ('C', 'Z'): - 3, ('D', 'A'): - 2, ('D', 'B'): 4, ('D', 'C'): - 3, ('D', 'D'): 6, ('D', 'E'): 2, ('D', 'F'): - 3, ('D', 'G'): - 1, ('D', 'H'): - 1, ('D', 'I'): - 3, ('D', 'K'): - 1, ('D', 'L'): - 4, ('D', 'M'): - 3, ('D', 'N'): 1, ('D', 'P'): - 1, ('D', 'Q'): 0, ('D', 'R'): - 2, ('D', 'S'): 0, ('D', 'T'): - 1, ('D', 'V'): - 3, ('D', 'W'): - 4, ('D', 'X'): - 1, ('D', 'Y'): - 3, ('D', 'Z'): 1, ('E', 'A'): - 1, ('E', 'B'): 1, ('E', 'C'): - 4, ('E', 'D'): 2, ('E', 'E'): 5, ('E', 'F'): - 3, ('E', 'G'): - 2, ('E', 'H'): 0, ('E', 'I'): - 3, ('E', 'K'): 1, ('E', 'L'): - 3, ('E', 'M'): - 2, ('E', 'N'): 0, ('E', 'P'): - 1, ('E', 'Q'): 2, ('E', 'R'): 0, ('E', 'S'): 0, ('E', 'T'): - 1, ('E', 'V'): - 2, ('E', 'W'): - 3, ('E', 'X'): - 1, ('E', 'Y'): - 2, ('E', 'Z'): 4, ('F', 'A'): - 2, ('F', 'B'): - 3, ('F', 'C'): - 2, ('F', 'D'): - 3, ('F', 'E'): - 3, ('F', 'F'): 6, ('F', 'G'): - 3, ('F', 'H'): - 1, ('F', 'I'): 0, ('F', 'K'): - 3, ('F', 'L'): 0, ('F', 'M'): 0, ('F', 'N'): - 3, ('F', 'P'): - 4, ('F', 'Q'): - 3, ('F', 'R'): - 3, ('F', 'S'): - 2, ('F', 'T'): - 2, ('F', 'V'): - 1, ('F', 'W'): 1, ('F', 'X'): - 1, ('F', 'Y'): 3, ('F', 'Z'): - 3, ('G', 'A'): 0, ('G', 'B'): - 1, ('G', 'C'): - 3, ('G', 'D'): - 1, ('G', 'E'): - 2, ('G', 'F'): - 3, ('G', 'G'): 6, ('G', 'H'): - 2, ('G', 'I'): - 4, ('G', 'K'): - 2, ('G', 'L'): - 4, ('G', 'M'): - 3, ('G', 'N'): 0, ('G', 'P'): - 2, ('G', 'Q'): - 2, ('G', 'R'): - 2, ('G', 'S'): 0, ('G', 'T'): - 2, ('G', 'V'): - 3, ('G', 'W'): - 2, ('G', 'X'): - 1, ('G', 'Y'): - 3, ('G', 'Z'): - 2, ('H', 'A'): - 2, ('H', 'B'): 0, ('H', 'C'): - 3, ('H', 'D'): - 1, ('H', 'E'): 0, ('H', 'F'): - 1, ('H', 'G'): - 2, ('H', 'H'): 8, ('H', 'I'): - 3, ('H', 'K'): - 1, ('H', 'L'): - 3, ('H', 'M'): - 2, ('H', 'N'): 1, ('H', 'P'): - 2, ('H', 'Q'): 0, ('H', 'R'): 0, ('H', 'S'): - 1, ('H', 'T'): - 2, ('H', 'V'): - 3, ('H', 'W'): - 2, ('H', 'X'): - 1, ('H', 'Y'): 2, ('H', 'Z'): 0, ('I', 'A'): - 1, ('I', 'B'): - 3, ('I', 'C'): - 1, ('I', 'D'): - 3, ('I', 'E'): - 3, ('I', 'F'): 0, ('I', 'G'): - 4, ('I', 'H'): - 3, ('I', 'I'): 4, ('I', 'K'): - 3, ('I', 'L'): 2, ('I', 'M'): 1, ('I', 'N'): - 3, ('I', 'P'): - 3, ('I', 'Q'): - 3, ('I', 'R'): - 3, ('I', 'S'): - 2, ('I', 'T'): - 1, ('I', 'V'): 3, ('I', 'W'): - 3, ('I', 'X'): - 1, ('I', 'Y'): - 1, ('I', 'Z'): - 3, ('K', 'A'): - 1, ('K', 'B'): 0, ('K', 'C'): - 3, ('K', 'D'): - 1, ('K', 'E'): 1, ('K', 'F'): - 3, ('K', 'G'): - 2, ('K', 'H'): - 1, ('K', 'I'): - 3, ('K', 'K'): 5, ('K', 'L'): - 2, ('K', 'M'): - 1, ('K', 'N'): 0, ('K', 'P'): - 1, ('K', 'Q'): 1, ('K', 'R'): 2, ('K', 'S'): 0, ('K', 'T'): - 1, ('K', 'V'): - 2, ('K', 'W'): - 3, ('K', 'X'): - 1, ('K', 'Y'): - 2, ('K', 'Z'): 1, ('L', 'A'): - 1, ('L', 'B'): - 4, ('L', 'C'): - 1, ('L', 'D'): - 4, ('L', 'E'): - 3, ('L', 'F'): 0, ('L', 'G'): - 4, ('L', 'H'): - 3, ('L', 'I'): 2, ('L', 'K'): - 2, ('L', 'L'): 4, ('L', 'M'): 2, ('L', 'N'): - 3, ('L', 'P'): - 3, ('L', 'Q'): - 2, ('L', 'R'): - 2, ('L', 'S'): - 2, ('L', 'T'): - 1, ('L', 'V'): 1, ('L', 'W'): - 2, ('L', 'X'): - 1, ('L', 'Y'): - 1, ('L', 'Z'): - 3, ('M', 'A'): - 1, ('M', 'B'): - 3, ('M', 'C'): - 1, ('M', 'D'): - 3, ('M', 'E'): - 2, ('M', 'F'): 0, ('M', 'G'): - 3, ('M', 'H'): - 2, ('M', 'I'): 1, ('M', 'K'): - 1, ('M', 'L'): 2, ('M', 'M'): 5, ('M', 'N'): - 2, ('M', 'P'): - 2, ('M', 'Q'): 0, ('M', 'R'): - 1, ('M', 'S'): - 1, ('M', 'T'): - 1, ('M', 'V'): 1, ('M', 'W'): - 1, ('M', 'X'): - 1, ('M', 'Y'): - 1, ('M', 'Z'): - 1, ('N', 'A'): - 2, ('N', 'B'): 3, ('N', 'C'): - 3, ('N', 'D'): 1, ('N', 'E'): 0, ('N', 'F'): - 3, ('N', 'G'): 0, ('N', 'H'): 1, ('N', 'I'): - 3, ('N', 'K'): 0, ('N', 'L'): - 3, ('N', 'M'): - 2, ('N', 'N'): 6, ('N', 'P'): - 2, ('N', 'Q'): 0, ('N', 'R'): 0, ('N', 'S'): 1, ('N', 'T'): 0, ('N', 'V'): - 3, ('N', 'W'): - 4, ('N', 'X'): - 1, ('N', 'Y'): - 2, ('N', 'Z'): 0, ('P', 'A'): - 1, ('P', 'B'): - 2, ('P', 'C'): - 3, ('P', 'D'): - 1, ('P', 'E'): - 1, ('P', 'F'): - 4, ('P', 'G'): - 2, ('P', 'H'): - 2, ('P', 'I'): - 3, ('P', 'K'): - 1, ('P', 'L'): - 3, ('P', 'M'): - 2, ('P', 'N'): - 2, ('P', 'P'): 7, ('P', 'Q'): - 1, ('P', 'R'): - 2, ('P', 'S'): - 1, ('P', 'T'): - 1, ('P', 'V'): - 2, ('P', 'W'): - 4, ('P', 'X'): - 2, ('P', 'Y'): - 3, ('P', 'Z'): - 1, ('Q', 'A'): - 1, ('Q', 'B'): 0, ('Q', 'C'): - 3, ('Q', 'D'): 0, ('Q', 'E'): 2, ('Q', 'F'): - 3, ('Q', 'G'): - 2, ('Q', 'H'): 0, ('Q', 'I'): - 3, ('Q', 'K'): 1, ('Q', 'L'): - 2, ('Q', 'M'): 0, ('Q', 'N'): 0, ('Q', 'P'): - 1, ('Q', 'Q'): 5, ('Q', 'R'): 1, ('Q', 'S'): 0, ('Q', 'T'): - 1, ('Q', 'V'): - 2, ('Q', 'W'): - 2, ('Q', 'X'): - 1, ('Q', 'Y'): - 1, ('Q', 'Z'): 3, ('R', 'A'): - 1, ('R', 'B'): - 1, ('R', 'C'): - 3, ('R', 'D'): - 2, ('R', 'E'): 0, ('R', 'F'): - 3, ('R', 'G'): - 2, ('R', 'H'): 0, ('R', 'I'): - 3, ('R', 'K'): 2, ('R', 'L'): - 2, ('R', 'M'): - 1, ('R', 'N'): 0, ('R', 'P'): - 2, ('R', 'Q'): 1, ('R', 'R'): 5, ('R', 'S'): - 1, ('R', 'T'): - 1, ('R', 'V'): - 3, ('R', 'W'): - 3, ('R', 'X'): - 1, ('R', 'Y'): - 2, ('R', 'Z'): 0, ('S', 'A'): 1, ('S', 'B'): 0, ('S', 'C'): - 1, ('S', 'D'): 0, ('S', 'E'): 0, ('S', 'F'): - 2, ('S', 'G'): 0, ('S', 'H'): - 1, ('S', 'I'): - 2, ('S', 'K'): 0, ('S', 'L'): - 2, ('S', 'M'): - 1, ('S', 'N'): 1, ('S', 'P'): - 1, ('S', 'Q'): 0, ('S', 'R'): - 1, ('S', 'S'): 4, ('S', 'T'): 1, ('S', 'V'): - 2, ('S', 'W'): - 3, ('S', 'X'): 0, ('S', 'Y'): - 2, ('S', 'Z'): 0, ('T', 'A'): 0, ('T', 'B'): - 1, ('T', 'C'): - 1, ('T', 'D'): - 1, ('T', 'E'): - 1, ('T', 'F'): - 2, ('T', 'G'): - 2, ('T', 'H'): - 2, ('T', 'I'): - 1, ('T', 'K'): - 1, ('T', 'L'): - 1, ('T', 'M'): - 1, ('T', 'N'): 0, ('T', 'P'): - 1, ('T', 'Q'): - 1, ('T', 'R'): - 1, ('T', 'S'): 1, ('T', 'T'): 5, ('T', 'V'): 0, ('T', 'W'): - 2, ('T', 'X'): 0, ('T', 'Y'): - 2, ('T', 'Z'): - 1, ('V', 'A'): 0, ('V', 'B'): - 3, ('V', 'C'): - 1, ('V', 'D'): - 3, ('V', 'E'): - 2, ('V', 'F'): - 1, ('V', 'G'): - 3, ('V', 'H'): - 3, ('V', 'I'): 3, ('V', 'K'): - 2, ('V', 'L'): 1, ('V', 'M'): 1, ('V', 'N'): - 3, ('V', 'P'): - 2, ('V', 'Q'): - 2, ('V', 'R'): - 3, ('V', 'S'): - 2, ('V', 'T'): 0, ('V', 'V'): 4, ('V', 'W'): - 3, ('V', 'X'): - 1, ('V', 'Y'): - 1, ('V', 'Z'): - 2, ('W', 'A'): - 3, ('W', 'B'): - 4, ('W', 'C'): - 2, ('W', 'D'): - 4, ('W', 'E'): - 3, ('W', 'F'): 1, ('W', 'G'): - 2, ('W', 'H'): - 2, ('W', 'I'): - 3, ('W', 'K'): - 3, ('W', 'L'): - 2, ('W', 'M'): - 1, ('W', 'N'): - 4, ('W', 'P'): - 4, ('W', 'Q'): - 2, ('W', 'R'): - 3, ('W', 'S'): - 3, ('W', 'T'): - 2, ('W', 'V'): - 3, ('W', 'W'): 11, ('W', 'X'): - 2, ('W', 'Y'): 2, ('W', 'Z'): - 3, ('X', 'A'): 0, ('X', 'B'): - 1, ('X', 'C'): - 2, ('X', 'D'): - 1, ('X', 'E'): - 1, ('X', 'F'): - 1, ('X', 'G'): - 1, ('X', 'H'): - 1, ('X', 'I'): - 1, ('X', 'K'): - 1, ('X', 'L'): - 1, ('X', 'M'): - 1, ('X', 'N'): - 1, ('X', 'P'): - 2, ('X', 'Q'): - 1, ('X', 'R'): - 1, ('X', 'S'): 0, ('X', 'T'): 0, ('X', 'V'): - 1, ('X', 'W'): - 2, ('X', 'X'): - 1, ('X', 'Y'): - 1, ('X', 'Z'): - 1, ('Y', 'A'): - 2, ('Y', 'B'): - 3, ('Y', 'C'): - 2, ('Y', 'D'): - 3, ('Y', 'E'): - 2, ('Y', 'F'): 3, ('Y', 'G'): - 3, ('Y', 'H'): 2, ('Y', 'I'): - 1, ('Y', 'K'): - 2, ('Y', 'L'): - 1, ('Y', 'M'): - 1, ('Y', 'N'): - 2, ('Y', 'P'): - 3, ('Y', 'Q'): - 1, ('Y', 'R'): - 2, ('Y', 'S'): - 2, ('Y', 'T'): - 2, ('Y', 'V'): - 1, ('Y', 'W'): 2, ('Y', 'X'): - 1, ('Y', 'Y'): 7, ('Y', 'Z'): - 2, ('Z', 'A'): - 1, ('Z', 'B'): 1, ('Z', 'C'): - 3, ('Z', 'D'): 1, ('Z', 'E'): 4, ('Z', 'F'): - 3, ('Z', 'G'): - 2, ('Z', 'H'): 0, ('Z', 'I'): - 3, ('Z', 'K'): 1, ('Z', 'L'): - 3, ('Z', 'M'): - 1, ('Z', 'N'): 0, ('Z', 'P'): - 1, ('Z', 'Q'): 3, ('Z', 'R'): 0, ('Z', 'S'): 0, ('Z', 'T'): - 1, ('Z', 'V'): - 2, ('Z', 'W'): - 3, ('Z', 'X'): - 1, ('Z', 'Y'): - 2, ('Z', 'Z'): 4})

Returns the similarity between the residue and a reference residue

Parameters
Returns

similarity score based on the similarity matrix

Return type

float

getStructureResProperties()

Return all properties for the corresponding structure residue’s alpha carbon. Properties that apply to the whole residue are stored as atom properties on this atom. An empty dictionary will be returned if this residue doesn’t have a corresponding alpha carbon.

Returns

A dictionary-like object containing the properties.

Return type

structure._StructureAtomProperty or dict

get_version()

Method to get the version of a particular object. Defaults to the current version of mmshare. This class can be overridden for custom versioning behavior.

hasSetResNum() bool
Returns

Whether a specific resnum has been set

hasStructure()
Returns

Whether this element has a structure i.e. whether it has corresponding XYZ coordinates in Maestro.

Return type

bool

property helix_propensity
Returns

Helix propensity for the ResidueType of the residue

Return type

HELIX_PROPENSITY

property helix_termination_tendency
Returns

Helix termination tendency for the ResidueType of the residue

Return type

HELIX_TERMINATION_TENDENCY

property hydrophilicity
Returns

Hydrophilicity for the ResidueType on the Hopp-Woods scale, if available; otherwise None

Return type

float

property hydrophobicity
Returns

Hydrophobicity for the ResidueType on the Kyte-Doolittle scale, if available; otherwise None.

Return type

float

property idx_in_seq
property inscode

If inscode and rescode are both set to None, the inscode will be ‘+’.

is_gap = False
property is_res

Utility function to check whether a residue is not a gap

property isoelectric_point
Returns

A float representing the isoelectric point value for the ResidueType of the residue

property kinase_conservation
property long_code
property rescode
property resnum

If resnum is set to None, resnum will be auto-generated from column number.

property sequence

The sequence that this element is part of. Will be None if this residue is not part of a sequence. Stored as a weakref to avoid circular references. :rtype: sequence.AbstractSingleChainSequence

property short_code
property side_chain_chem
Returns

Side chain chemistry for the ResidueType of the residue

Return type

SIDE_CHAIN_CHEM

property ss_prediction_psipred

Returns a DSSP code matching the secondary structure prediction for the residue or None. Value is calculated from thePsiPred backend.

property ss_prediction_sspro

Returns a DSSP code matching the secondary structure prediction for the residue or None. Value is calculated from the SSpro backend.

property steric_group
Returns

Steric group for the ResidueType of the residue

Return type

STERIC_GROUP

property structure_chain

The name of chain for the structure that this sequence is associated with. This is normally the same as chain, but it can be different if the user manually links this sequence to a structure with differing chain names.

Return type

str

toJson(_mark_version=True)

Create and returns a data structure made up of jsonable items.

Return type

An instance of one the classes from NATIVE_JSON_DATATYPES

toJsonImplementation()

Abstract method that must be defined by all derived classes. Converts an instance of the derived class into a jsonifiable object.

Returns

A dict made up of JSON native datatypes or Jsonable objects. See the link below for a table of such types. https://docs.python.org/2/library/json.html#encoders-and-decoders

property turn_propensity
Returns

Turn propensity for the ResidueType of the residue

Return type

TURN_PROPENSITY

updateDescriptors(descriptors)

Updates the descriptor dicts with new descriptor values

Parameters

descriptors (dict[str, float]) – A dict mapping descriptor names to their values