schrodinger.protein.sequence module¶
Implementation of ProteinSequence, Sequence, and StructureSequence class.
StructureSequence allows iteration over all sequences in a given protein CT, and iteration over residues of each (in sequence order).
-
class
schrodinger.protein.sequence.
Sequence
¶ Bases:
object
-
class
schrodinger.protein.sequence.
SequenceProxy
(seq)¶ Bases:
schrodinger.models.json.JsonableClassMixin
,schrodinger.protein.sequence.Sequence
A read-only wrapper for sequences. We use this to prevent users from directly modifying sequences which can corrupt undoability and residue anchoring.
-
MUTATION_METHODS
= {'mutate', 'append', 'removeTerminalGaps', 'setStructure', 'addGapsByIndices', 'removeElements', 'removeAllGaps', 'addGapsBeforeIndices', 'insert', 'extend'}¶
-
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. :rtype : cls
-
-
class
schrodinger.protein.sequence.
AbstractSequence
(elements, name='', origin=None, entry_id='', entry_name='', pdb_id='', chain='', title='')¶ Bases:
schrodinger.protein.sequence.Sequence
,PyQt5.QtCore.QObject
Base class for biological sequences
Note: Protein-specific functionality should go in ProteinSequence.
Variables: - ORIGIN (enum.Enum) – Possible sequence origins
- AnnotationClass (annotation.SequenceAnnotations) – Class to use for annotations
- ElementClass (residue.SequenceElement) – Class to use for elements
- alphabet (dict(str, residue.ElementType)) – A mapping of string representations of elements to element types
- _gap_chars (tuple(str)) – A tuple of permissible gap characters in the element list; the first item will be used for serialization.
- _unknown_res_type (residue.ElementType) – The type for an unknown residue
- residuesChanged (QtCore.pyqtSignal) – A signal emitted when sequence residues are changed. Emitted with the indices of the first and last changed residues.
- lengthAboutToChange (QtCore.pyqtSignal) – A signal emitted when the sequence length is about to change. Emitted with the old and new lengths.
- lengthChanged (QtCore.pyqtSignal) – A signal emitted when the sequence length is changed. Emitted with the old and new lengths.
- nameChanged (QtCore.pyqtSignal) – A signal emitted when the sequence name is changed.
- visibilityChanged (QtCore.pyqtSignal) – A signal emitted when the visibility is changed.
- structureChanged (QtCore.pyqtSignal) – A signal emitted when the structure changes.
- annotationTitleChanged (QtCore.pyqtSignal) – A signal emitted when an annotation title is changed.
- sequenceCopied (QtCore.pyqtSignal) – A signal emitted when this sequence is copied. Emitted with the sequence being copied and the newly created copy. This signal is used by the structure model to make sure that the newly created copy is kept in sync with the structure.
-
AnnotationClass
= None¶
-
ElementClass
¶
-
alphabet
= {}¶
-
residuesChanged
¶
-
lengthAboutToChange
¶
-
lengthChanged
¶
-
nameChanged
¶
-
visibilityChanged
¶
-
structureChanged
¶
-
annotationTitleChanged
¶
-
sequenceCopied
¶
-
gap_char
¶
-
origin
¶ Returns: A piece of metadata indicating where the sequence came from Rtype origin: Sequence.ORIGIN
or None
-
getSummary
()¶ Returns a friendly, readable summary of the sequence
Return type: basestring Returns: A summary of the sequence
-
classmethod
makeSeqElement
(element)¶ Parameters: element (str or cls.ElementClass) – A sequence element or string representation thereof Returns: sequence element Return type: cls.ElementClass Raises: ValueError – If an element is not in cls.alphabet and cls._unknown_res_type is not defined
-
getSubsequence
(start, end)¶ Return a sequence containing a subset of the elements in this one
Parameters: - start (int) – The index at which the subsequence should start
- end (int) – The index at which the subsequence should end (exclusive)
Return type: Returns: A sequence
-
name
¶
-
fullname
¶ Returns: a formatted name + optional chain name for the sequence Return type: str
-
getAnnotation
(index, annotation)¶ Returns the annotation at the specified index or None for a gap.
Raises: ValueError – if the annotation is not available
-
index
(res, ignore_gaps=False)¶ Returns the index of the specified residue
Parameters: - res (
schrodinger.structure._Residue
) – The residue to find - ignore_gaps (bool) – Whether the index returned should ignore gaps in the sequence or not.
Raises: A Value error if the residue is not present or if the res is None
Return type: int
Returns: The index of the residue
- res (
-
getGaps
()¶ Return type: list(residue.Gap) Returns: The gaps in the sequence.
-
addGapsByIndices
(gap_idxs)¶ Add gaps to the sequence from a list of gap indices. Note that these indices are based on numbering after the insertion. To insert gaps using indices based on numbering before the insertion, see
addGapsBeforeIndices
.Parameters: gap_idxs (list(int)) – A list of gap indices
-
addGapsBeforeIndices
(indices)¶ Add one gap to the alignment before each of the specified residue positions. Note that these indices are based on numbering before the insertion. To insert gaps using indices based on numbering after the insertion, see
addGapsByIndices
.Parameters: indices (list(int)) – A list of indices to insert gaps before.
-
getNumResidues
()¶ Return the number of residues in the sequence, that is, the length of the sequence without gaps
Return type: int Returns: The number of residues in the sequence
-
removeAllGaps
()¶ Remove gaps from the sequence
-
insertElements
(index, elements)¶ Insert a list of elements or sequence element into this sequence.
Parameters: - index (int) – The index at which to insert elements
- elements (iterable(self.ElementClass) or iterable(str)) – A list of elements to insert
-
mutate
(start, end, elements)¶ Mutate sequence elements starting at the given index to the provided elements.
Parameters: - start (int) – The index at which to start mutating
- end (int) – The index of the last mutated element (exclusive)
- elements (iterable(self.ElementClass) or iterable(str)) – The elements to which to mutate the sequence
-
removeElements
(eles)¶ Remove elements from the sequence.
Parameters: eles (list(residue.AbstractSequenceElement)) – A list of elements to remove from the sequence. Raises: ValueError – If any of the given elements are not in the sequence.
-
append
(element)¶ Appends an element to the sequence
Parameters: element – The element to append to this sequence Type: element: self.ElementClass or basestring
-
extend
(elements)¶ Extends the sequence with elements from an iterable
Parameters: elements (iterable(self.ElementClass) or iterable(str)) – The iterable containing elements with which to extend this sequence
-
sanitize
(start=0, end=None)¶ Remove gaps and unknown sequence elements from sequence
-
removeTerminalGaps
()¶ Remove gaps from the end of the sequence
-
getTerminalGaps
()¶ Return terminal gaps.
Returns: A list of terminal gaps (in ascending index order) Return type: list(residue.Gap)
-
getGapCount
()¶ Returns: the number of gaps in the sequence Return type: int
-
getIdentity
(reference, consider_gaps=True)¶ Return a float scoring the identity between the sequence and a reference sequence, assuming that they’re already aligned
Parameters: - reference (schrodinger.protein.sequence.Sequence) – A sequence to compare against
- consider_gaps (bool) – Whether we should count gaps when we’re calculating the average score.
Returns: The sequence identity score (between 0.0 and 1.0)
Return type: float
-
getSimilarity
(reference, consider_gaps=True)¶ Return a float score of the similarity count between the sequence and a reference sequence, assuming that they’re already aligned.
Parameters: - reference (schrodinger.protein.sequence.Sequence) – A sequence to compare against
- consider_gaps (bool) – Whether we should count gaps when we’re calculating the average score.
Returns: The sequence similarity score (between 0.0 and 1.0)
Return type: float
-
getConservation
(reference, consider_gaps=True)¶ Return a float scoring the homology conservation between the sequence and a reference sequence, assuming that they’re already aligned.
The homology criterion is based on “side chain chemistry” descriptor matching.
Parameters: - reference (schrodinger.protein.sequence.Sequence) – A sequence to compare against
- consider_gaps (bool) – Whether we should count gaps when we’re calculating the average score.
Returns: The sequence conservation score (between 0.0 and 1.0)
Return type: float
-
getSimilarityScore
(reference)¶ Return the total score of similarity between the sequence and a reference sequence, assuming that they’re already aligned.
Since the similarity with a gap will always be 0.0, there is no need to consider gaps.
Parameters: reference (schrodinger.protein.sequence.Sequence) – A sequence to compare against Returns: The total sequence similarity score Return type: float
-
getNextResidueIndex
(index)¶ Return the index of the next residue in the sequence (ignoring gaps) or None if it is the last residue.
Parameters: index (int) – The index of the residue Returns: The index of the next residue in the sequence Return type: int or None
-
getNextResidueIndices
(index, num_indices=1)¶ Return a list of indices of the next n residues in the sequence (ignoring gaps) or an empty list if there is none. May return fewer than n indices if the end of the sequence is reached.
Parameters: - index (int) – The index of the residue to start with
- num_indices (int) – The number of indices to return
Returns: List of the indices of the next residues in the sequence
Return type: list(int) or NoneType
-
getNextResidue
(index)¶ Return the next residue in the sequence (ignoring gaps) or None if this is the last residue.
Parameters: index (int) – The index of the residue Returns: The previous residue in the sequence Return type: schrodinger.protein.residue.Residue
-
getPreviousResidueIndex
(index)¶ Return the index of the previous residue in the sequence (ignoring gaps) or None if there is none.
Parameters: index (int) – The index of the residue Returns: The index of the previous residue in the sequence Return type: int or NoneType
-
getPreviousResidueIndices
(index, num_indices=1)¶ Return a list of indices of the previous n residues in the sequence (ignoring gaps) or an empty list if there are none. May return fewer than n indices if the beginning of the sequence is reached.
Parameters: - index (int) – The index of the residue to start with
- num_indices (int) – The number of indices to return
Returns: The indices of the previous residues in the sequence
Return type: list(int) or NoneType
-
getPreviousResidue
(index)¶ Return the next residue in the sequence (ignoring gaps) or None if this is the first residue.
Parameters: index (int) – The index of the residue Returns: The previous residue in the sequence Return type: schrodinger.protein.residue.Residue
-
getGaplessLength
()¶ Returns: Length of this sequence ignoring gaps Return type: int
-
iterResidues
()¶ Return an iterable of residues, ignoring gaps.
Returns: Iterable of residues Return type: iter(Residue)
-
iterNeighbors
()¶ Return an iterable of three element tuples consisting of (prev_res, curr_res, next_res), ignoring gaps.
None is used for neighbors of first and last residues in the sequence, and does not indicate gaps here.
Returns: Iterable of 3-tuples, each element of the each tuple being either a schrodinger.protein.residue.Residue
or NoneReturn type: iter(tuple(Residue or NoneType, Residue, Residue or NoneType))
-
hasEntryID
()¶ Return whether or not this sequence has an associated Entry ID in the Project Table.
Returns: Whether or not this sequence is associated with an entry ID. Return type: bool
-
hasStructure
()¶ Returns: Whether this sequence has an associated structure. Return type: bool
-
getStructure
()¶ Returns: The associated structure. Will return None if there is no associated structure. Return type: schrodinger.structure.Structure or NoneType
-
setStructure
(struc)¶ Set the associated structure. Can only be used on sequences with an associated structure.
Parameters: struc (schrodinger.structure.Structure) – The new structure for this sequence Raises: RuntimeError – If there’s no structure associated with this sequence object.
-
onStructureChanged
()¶
-
classmethod
isValid
(elements)¶ Parameters: elements (iterable(str) or str) – An iterable of string representations of elements making up the sequence Returns: Tuple indicating whether valid and a set of invalid characters, if any Return type: tuple(bool, set(str))
-
visibility
¶
-
class
schrodinger.protein.sequence.
ProteinSequence
(elements, name='', origin=None, entry_id='', entry_name='', pdb_id='', chain='', title='')¶ Bases:
schrodinger.models.json.JsonableClassMixin
,schrodinger.protein.sequence.AbstractSequence
-
AnnotationClass
¶ alias of
schrodinger.protein.annotation.ProteinSequenceAnnotations
-
ElementClass
¶ alias of
schrodinger.protein.residue.Residue
-
alphabet
= {'2AS': ResidueType('D', '2AS', 'Aspartic acid'), '3AH': ResidueType('H', '3AH', 'Histidine'), '5HP': ResidueType('E', '5HP', 'Glutamic acid'), 'A': ResidueType('A', 'ALA', 'Alanine'), 'ACE': ResidueType('X', 'ACE', 'Capping Group'), 'ACL': ResidueType('R', 'ACL', 'Arginine'), 'AGM': ResidueType('R', 'AGM', 'Arginine'), 'AIB': ResidueType('A', 'AIB', 'Alanine'), 'ALA': ResidueType('A', 'ALA', 'Alanine'), 'ALM': ResidueType('A', 'ALM', 'Alanine'), 'ALO': ResidueType('T', 'ALO', 'Threonine'), 'ALY': ResidueType('K', 'ALY', 'Lysine'), 'ANF': ResidueType('X', 'ANF', 'Capping Group'), 'ARG': ResidueType('R', 'ARG', 'Arginine'), 'ARM': ResidueType('R', 'ARM', 'Arginine'), 'ARN': ResidueType('R', 'ARN', 'Arginine'), 'ASA': ResidueType('D', 'ASA', 'Aspartic acid'), 'ASB': ResidueType('D', 'ASB', 'Aspartic acid'), 'ASH': ResidueType('D', 'ASH', 'Aspartic acid'), 'ASK': ResidueType('D', 'ASK', 'Aspartic acid'), 'ASL': ResidueType('D', 'ASL', 'Aspartic acid'), 'ASN': ResidueType('N', 'ASN', 'Asparagine'), 'ASP': ResidueType('D', 'ASP', 'Aspartic acid'), 'ASQ': ResidueType('D', 'ASQ', 'Aspartic acid'), 'AYA': ResidueType('A', 'AYA', 'Alanine'), 'BCS': ResidueType('X', 'BCS', 'Cysteine'), 'BHD': ResidueType('D', 'BHD', 'Aspartic acid'), 'BMT': ResidueType('T', 'BMT', 'Threonine'), 'BNN': ResidueType('A', 'BNN', 'Alanine'), 'BUC': ResidueType('C', 'BUC', 'Cysteine'), 'BUG': ResidueType('L', 'BUG', 'Leucine'), 'C': ResidueType('C', 'CYS', 'Cysteine'), 'C5C': ResidueType('C', 'C5C', 'Cysteine'), 'C6C': ResidueType('C', 'C6C', 'Cysteine'), 'CCS': ResidueType('C', 'CCS', 'Cysteine'), 'CEA': ResidueType('C', 'CEA', 'Cysteine'), 'CGU': ResidueType('E', 'CGU', 'Glutamic acid'), 'CHG': ResidueType('A', 'CHG', 'Alanine'), 'CLE': ResidueType('L', 'CLE', 'Leucine'), 'CME': ResidueType('C', 'CME', 'Cysteine'), 'CSD': ResidueType('A', 'CSD', 'Alanine'), 'CSO': ResidueType('C', 'CSO', 'Cysteine'), 'CSP': ResidueType('C', 'CSP', 'Cysteine'), 'CSS': ResidueType('C', 'CSS', 'Cysteine'), 'CSW': ResidueType('C', 'CSW', 'Cysteine'), 'CSX': ResidueType('C', 'CSX', 'Cysteine'), 'CXM': ResidueType('M', 'CXM', 'Methionine'), 'CY1': ResidueType('C', 'CY1', 'Cysteine'), 'CY3': ResidueType('C', 'CY3', 'Cysteine'), 'CYG': ResidueType('C', 'CYG', 'Cysteine'), 'CYM': ResidueType('C', 'CYM', 'Cysteine'), 'CYP': ResidueType('C', 'CYP', 'Cysteine'), 'CYQ': ResidueType('C', 'CYQ', 'Cysteine'), 'CYS': ResidueType('C', 'CYS', 'Cysteine'), 'CYX': ResidueType('C', 'CYX', 'Cysteine'), 'D': ResidueType('D', 'ASP', 'Aspartic acid'), 'DAH': ResidueType('F', 'DAH', 'Phenylalanine'), 'DAL': ResidueType('X', 'DAL', 'Alanine'), 'DAR': ResidueType('X', 'DAR', 'Arginine'), 'DAS': ResidueType('X', 'DAS', 'Aspartic acid'), 'DCY': ResidueType('X', 'DCY', 'Cysteine'), 'DGL': ResidueType('X', 'DGL', 'Glutamic acid'), 'DGN': ResidueType('X', 'DGN', 'Glutamine'), 'DHA': ResidueType('A', 'DHA', 'Alanine'), 'DHI': ResidueType('X', 'DHI', 'Histidine'), 'DIL': ResidueType('X', 'DIL', 'Isoleucine'), 'DIV': ResidueType('V', 'DIV', 'Valine'), 'DLE': ResidueType('X', 'DLE', 'Leucine'), 'DLY': ResidueType('X', 'DLY', 'Lysine'), 'DNP': ResidueType('A', 'DNP', 'Alanine'), 'DPN': ResidueType('X', 'DPN', 'Phenylalanine'), 'DPR': ResidueType('X', 'DPR', 'Proline'), 'DSG': ResidueType('X', 'DSG', 'Asparagine'), 'DSN': ResidueType('X', 'DSN', 'Serine'), 'DSP': ResidueType('D', 'DSP', 'Aspartic acid'), 'DTH': ResidueType('X', 'DTH', 'Threonine'), 'DTR': ResidueType('X', 'DTR', 'Tryptophan'), 'DTY': ResidueType('X', 'DTY', 'Tyrosine'), 'DVA': ResidueType('X', 'DVA', 'Valine'), 'E': ResidueType('E', 'GLU', 'Glutamic acid'), 'EFC': ResidueType('C', 'EFC', 'Cysteine'), 'F': ResidueType('F', 'PHE', 'Phenylalanine'), 'FCO': ResidueType('X', 'FCO', 'Capping Group'), 'FLA': ResidueType('A', 'FLA', 'Alanine'), 'FME': ResidueType('M', 'FME', 'Methionine'), 'G': ResidueType('G', 'GLY', 'Glycine'), 'GGL': ResidueType('E', 'GGL', 'Glutamic acid'), 'GL3': ResidueType('G', 'GL3', 'Glycine'), 'GLH': ResidueType('E', 'GLH', 'Glutamic acid'), 'GLN': ResidueType('Q', 'GLN', 'Glutamine'), 'GLU': ResidueType('E', 'GLU', 'Glutamic acid'), 'GLY': ResidueType('G', 'GLY', 'Glycine'), 'GLZ': ResidueType('G', 'GLZ', 'Glycine'), 'GMA': ResidueType('E', 'GMA', 'Glutamic acid'), 'GSC': ResidueType('G', 'GSC', 'Glycine'), 'H': ResidueType('H', 'HIS', 'Histidine'), 'HAC': ResidueType('A', 'HAC', 'Alanine'), 'HAR': ResidueType('R', 'HAR', 'Arginine'), 'HIC': ResidueType('H', 'HIC', 'Histidine'), 'HID': ResidueType('H', 'HID', 'Histidine'), 'HIE': ResidueType('H', 'HIE', 'Histidine'), 'HIP': ResidueType('H', 'HIP', 'Histidine'), 'HIS': ResidueType('H', 'HIS', 'Histidine'), 'HMR': ResidueType('R', 'HMR', 'Arginine'), 'HPQ': ResidueType('F', 'HPQ', 'Phenylalanine'), 'HSD': ResidueType('H', 'HSD', 'Histidine'), 'HSE': ResidueType('H', 'HSE', 'Histidine'), 'HSP': ResidueType('H', 'HSP', 'Histidine'), 'HTR': ResidueType('W', 'HTR', 'Tryptophan'), 'HYP': ResidueType('X', 'HYP', 'Proline'), 'I': ResidueType('I', 'ILE', 'Isoleucine'), 'IIL': ResidueType('I', 'IIL', 'Isoleucine'), 'ILE': ResidueType('I', 'ILE', 'Isoleucine'), 'IND': ResidueType('X', 'IND', 'Capping Group'), 'IYR': ResidueType('Y', 'IYR', 'Tyrosine'), 'K': ResidueType('K', 'LYS', 'Lysine'), 'KCX': ResidueType('K', 'KCX', 'Lysine'), 'L': ResidueType('L', 'LEU', 'Leucine'), 'LEU': ResidueType('L', 'LEU', 'Leucine'), 'LLP': ResidueType('K', 'LLP', 'Lysine'), 'LLY': ResidueType('K', 'LLY', 'Lysine'), 'LTR': ResidueType('W', 'LTR', 'Tryptophan'), 'LYM': ResidueType('K', 'LYM', 'Lysine'), 'LYN': ResidueType('K', 'LYN', 'Lysine'), 'LYS': ResidueType('K', 'LYS', 'Lysine'), 'LYZ': ResidueType('K', 'LYZ', 'Lysine'), 'M': ResidueType('M', 'MET', 'Methionine'), 'MAA': ResidueType('A', 'MAA', 'Alanine'), 'MEN': ResidueType('N', 'MEN', 'Asparagine'), 'MET': ResidueType('M', 'MET', 'Methionine'), 'MHS': ResidueType('H', 'MHS', 'Histidine'), 'MIS': ResidueType('S', 'MIS', 'Serine'), 'MLE': ResidueType('L', 'MLE', 'Leucine'), 'MMO': ResidueType('R', 'MMO', 'Arginine'), 'MPA': ResidueType('X', 'MPA', 'Capping Group'), 'MPQ': ResidueType('G', 'MPQ', 'Glycine'), 'MSA': ResidueType('G', 'MSA', 'Glycine'), 'MSE': ResidueType('M', 'MSE', 'Methionine'), 'MVA': ResidueType('V', 'MVA', 'Valine'), 'N': ResidueType('N', 'ASN', 'Asparagine'), 'NCO': ResidueType('X', 'NCO', 'Capping Group'), 'NEM': ResidueType('H', 'NEM', 'Histidine'), 'NEP': ResidueType('H', 'NEP', 'Histidine'), 'NH2': ResidueType('X', 'NH2', 'Capping Group'), 'NLE': ResidueType('X', 'NLE', 'Leucine'), 'NLN': ResidueType('L', 'NLN', 'Leucine'), 'NLP': ResidueType('L', 'NLP', 'Leucine'), 'NMA': ResidueType('X', 'NMA', 'Capping Group'), 'NMC': ResidueType('G', 'NMC', 'Glycine'), 'OAS': ResidueType('S', 'OAS', 'Serine'), 'OCS': ResidueType('C', 'OCS', 'Cysteine'), 'OMT': ResidueType('M', 'OMT', 'Methionine'), 'P': ResidueType('P', 'PRO', 'Proline'), 'PAQ': ResidueType('Y', 'PAQ', 'Tyrosine'), 'PCA': ResidueType('E', 'PCA', 'Glutamic acid'), 'PEC': ResidueType('C', 'PEC', 'Cysteine'), 'PHE': ResidueType('F', 'PHE', 'Phenylalanine'), 'PHI': ResidueType('F', 'PHI', 'Phenylalanine'), 'PHL': ResidueType('F', 'PHL', 'Phenylalanine'), 'PR3': ResidueType('C', 'PR3', 'Cysteine'), 'PRO': ResidueType('P', 'PRO', 'Proline'), 'PRR': ResidueType('A', 'PRR', 'Alanine'), 'PTR': ResidueType('y', 'PTR', 'Tyrosine'), 'Q': ResidueType('Q', 'GLN', 'Glutamine'), 'R': ResidueType('R', 'ARG', 'Arginine'), 'S': ResidueType('S', 'SER', 'Serine'), 'SAC': ResidueType('S', 'SAC', 'Serine'), 'SAR': ResidueType('G', 'SAR', 'Glycine'), 'SCH': ResidueType('C', 'SCH', 'Cysteine'), 'SCS': ResidueType('C', 'SCS', 'Cysteine'), 'SCY': ResidueType('C', 'SCY', 'Cysteine'), 'SEL': ResidueType('S', 'SEL', 'Serine'), 'SEP': ResidueType('X', 'SEP', 'Serine'), 'SER': ResidueType('S', 'SER', 'Serine'), 'SET': ResidueType('S', 'SET', 'Serine'), 'SHC': ResidueType('C', 'SHC', 'Cysteine'), 'SHR': ResidueType('K', 'SHR', 'Lysine'), 'SMC': ResidueType('C', 'SMC', 'Cysteine'), 'SOC': ResidueType('C', 'SOC', 'Cysteine'), 'STY': ResidueType('Y', 'STY', 'Tyrosine'), 'SVA': ResidueType('S', 'SVA', 'Serine'), 'T': ResidueType('T', 'THR', 'Threonine'), 'THO': ResidueType('T', 'THO', 'Threonine'), 'THR': ResidueType('T', 'THR', 'Threonine'), 'TIH': ResidueType('A', 'TIH', 'Alanine'), 'TOSG': ResidueType('X', 'TOSG', 'Capping Group'), 'TPL': ResidueType('W', 'TPL', 'Tryptophan'), 'TPO': ResidueType('t', 'TPO', 'Threonine'), 'TPQ': ResidueType('A', 'TPQ', 'Alanine'), 'TRG': ResidueType('K', 'TRG', 'Lysine'), 'TRO': ResidueType('W', 'TRO', 'Tryptophan'), 'TRP': ResidueType('W', 'TRP', 'Tryptophan'), 'TYB': ResidueType('Y', 'TYB', 'Tyrosine'), 'TYM': ResidueType('Y', 'TYM', 'Tyrosine'), 'TYO': ResidueType('Y', 'TYO', 'Tyrosine'), 'TYQ': ResidueType('Y', 'TYQ', 'Tyrosine'), 'TYR': ResidueType('Y', 'TYR', 'Tyrosine'), 'TYS': ResidueType('Y', 'TYS', 'Tyrosine'), 'TYY': ResidueType('Y', 'TYY', 'Tyrosine'), 'UNK': ResidueType('X', 'UNK', 'Unknown'), 'V': ResidueType('V', 'VAL', 'Valine'), 'VAL': ResidueType('V', 'VAL', 'Valine'), 'W': ResidueType('W', 'TRP', 'Tryptophan'), 'Y': ResidueType('Y', 'TYR', 'Tyrosine')}¶
-
removeStructurelessResidues
(start=0, end=None)¶ Remove any structureless residues
Parameters: - start (int) – The index at which to start filtering structureless residues.
- end (int) – The index at which to end filtering
-
disulfide_bonds
¶ Returns: A sorted tuple of the valid disulfide bonds. Return type: tuple(residue.DisulfideBond)
-
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. :rtype : cls
-
secondary_structures
¶ A list of _SecondaryStructure namedtuples containing the type of secondary structure and where the secondary structures begin and end.
Returns: A list of namedtuples containing an SS_TYPE from schrodinger.structure and the residue indexes marking the limits of the secondary structure. Return type: list(namedtuple(int, (int,int)))
-
encodeForPatternSearch
(with_ss=False, with_flex=False, with_asa=False)¶ Convert to sequence dict expected by
find_generalized_pattern
.Parameters: - with_ss (bool) – Whether to include secondary structure information.
- with_flex (bool) – Whether to include flexibility information.
- with_asa (bool) – Whether to include accessible surface area information.
Return type: dict
Returns: dictionary of sequence data
-
classmethod
isValid
(elements)¶ Parameters: elements (iterable(str) or str) – An iterable of string representations of elements making up the sequence Returns: Tuple indicating whether valid and a set of invalid characters, if any Return type: tuple(bool, set(str))
-
hydrophobicity_window_padding
¶
-
isoelectric_point_window_padding
¶
-
clearAllCaching
()¶
-
-
class
schrodinger.protein.sequence.
NucleicAcidSequence
(elements, **kwargs)¶ Bases:
schrodinger.protein.sequence.ProteinSequence
-
AnnotationClass
¶ alias of
schrodinger.protein.annotation.NucleicAcidSequenceAnnotations
-
ElementClass
¶
-
alphabet
= {'1CC': NucleotideType('C', '1CC', 'Cytosine'), '1MA': NucleotideType('A', '1MA', 'Adenine'), '1MG': NucleotideType('G', '1MG', 'Guanine'), '2MG': NucleotideType('G', '2MG', 'Guanine'), '5FC': NucleotideType('C', '5FC', 'Cytosine'), '5HC': NucleotideType('C', '5HC', 'Cytosine'), '5MC': NucleotideType('C', '5MC', 'Cytosine'), '5MU': NucleotideType('U', '5MU', 'Uracil'), '6MA': NucleotideType('A', '6MA', 'Adenine'), '7MG': NucleotideType('G', '7MG', 'Guanine'), 'A': NucleotideType('A', 'A', 'Adenine'), 'ADP': NucleotideType('A', 'ADP', 'Adenine'), 'AMP': NucleotideType('A', 'AMP', 'Adenine'), 'ATP': NucleotideType('A', 'ATP', 'Adenine'), 'C': NucleotideType('C', 'C', 'Cytosine'), 'CDP': NucleotideType('C', 'CDP', 'Cytosine'), 'CMP': NucleotideType('C', 'CMP', 'Cytosine'), 'CTP': NucleotideType('C', 'CTP', 'Cytosine'), 'DA': NucleotideType('A', 'DA', 'Adenine'), 'DC': NucleotideType('C', 'DC', 'Cytosine'), 'DG': NucleotideType('G', 'DG', 'Guanine'), 'DI': ResidueType('DI', 'DI', 'Unknown'), 'DT': NucleotideType('T', 'DT', 'Thymine'), 'DU': NucleotideType('U', 'DU', 'Uracil'), 'G': NucleotideType('G', 'G', 'Guanine'), 'GDP': NucleotideType('G', 'GDP', 'Guanine'), 'GMP': NucleotideType('G', 'GMP', 'Guanine'), 'GTP': NucleotideType('G', 'GTP', 'Guanine'), 'H2U': NucleotideType('U', 'H2U', 'Uracil'), 'I': ResidueType('I', 'I', 'Unknown'), 'M2G': NucleotideType('G', 'M2G', 'Guanine'), 'OMC': NucleotideType('C', 'OMC', 'Cytosine'), 'OMG': NucleotideType('G', 'OMG', 'Guanine'), 'PSU': NucleotideType('Ψ', 'PSU', 'Uracil'), 'TDP': NucleotideType('T', 'TDP', 'Thymine'), 'TMP': NucleotideType('T', 'TMP', 'Thymine'), 'TTP': NucleotideType('T', 'TTP', 'Thymine'), 'U': NucleotideType('U', 'U', 'Uracil'), 'UDP': NucleotideType('U', 'UDP', 'Uracil'), 'UMP': NucleotideType('U', 'UMP', 'Uracil'), 'UTP': NucleotideType('U', 'UTP', 'Uracil'), 'YYG': ResidueType('X', 'YYG', 'Unknown')}¶
-
-
class
schrodinger.protein.sequence.
StructureSequence
(st, atoms)¶ Bases:
schrodinger.structure._AtomCollection
Class representing a sequence of protein residues.
-
residue
¶ Returns residue iterator for all residues in the sequence
-
-
schrodinger.protein.sequence.
get_structure_sequences
(st)¶ Iterates over all sequences in the given structure.
-
schrodinger.protein.sequence.
find_generalized_pattern
(sequence_list, pattern, validate_pattern=False)¶ Finds a generalized sequence pattern within specified sequences. NOTE: The search is performed in the forward direction only.
Parameters: - sequence_list – list of sequence dictionaries to search.
- pattern (str) –
Pattern defined using extended PROSITE syntax.
- standard IUPAC one-letter codes are used for all amino acids
- each element in a pattern is separated using ‘-‘ symbol
- symbol ‘x’ is used for position where any amino acid is accepted
- ambiguities are listed using the acceptable amino acids between square brackets, e.g. [ACT] means Ala, Cys or Thr
- amino acids not accepted for a given position are indicated by listing them between curly brackets, e.g. {GP} means ‘not Gly and not Pro’
- repetition is indicated using parentheses, e.g. A(3) means Ala-Ala-Ala, x(2,4) means between 2 to 4 any residues
- the following lowercase characters can be used as additional
flags:
- ’x’ means any amino acid
- ’a’ means acidic residue: [DE]
- ’b’ means basic residue: [KR]
- ’o’ means hydrophobic residue: [ACFILPWVY]
- ’p’ means aromatic residue: [WYF]
- ’s‘ means solvent exposed residue
- ’h’ means helical residue
- ’e’ means extended residue
- ’f’ means flexible residue
- Each position can optionally by followed by @<res_num> expression that will match the position with a given residue number.
- Entire pattern can be followed by :<index> expression that defines a ‘hotspot’ in the pattern. When the hotspot is defined, only a single residue corresponding to (pattern_match_start+index-1) will be returned as a match. The index is 1-based and can be used to place the hotspot outside of the pattern (can also be a negative number).
Pattern examples:
- N-{P}-[ST] : Asn-X-Ser or Thr (X != Pro)
- N[sf]-{P}[sf]-[ST][sf] : as above, but all residues flexible OR solvent exposed
- Nsf-{P}sf-[ST]sf : as above, but all residues flexible AND solvent exposed
- Ns{f} : Asn solvent exposed AND not in flexible region
- N[s{f}] : Asn solvent exposed OR not in flexible region
- [ab]{K}{s}f : acidic OR basic, with exception of Lys, flexible AND not solvent exposed
- Ahe : Ala helical AND extended - no match possible
- A[he] : Ala helical OR extended
- A{he} : Ala coiled chain conformation (not helical nor extended)
- [ST] : Ser OR Thr
- ST : Ser AND Thr - no match possible
- validate_pattern (boolean) – If True, the function will validate the pattern without performing the search (the sequences parameter will be ignored) and return True if the pattern is valid, or False otherwise. The default is False.
Return type: list of lists of integer tuples or False if the pattern is invalid
Returns: False if the specified input pattern was incorrect. Otherwise, it returns a list of lists of matches for each input sequence. Each match is a (start, end) tuple where start and end are matching sequence positions.
-
schrodinger.protein.sequence.
convert_structure_sequence_for_pattern_search
(seq, sasa_by_atom=None)¶ Converts a StructureSequence object to dictionary required by find_generalized_pattern function. Because the conversion can be time consuming, it should be done once per sequence.
Optionally a list of atom SASAs for each atom in the CT can be specified. If it’s not specified, it will get calculated by calling analyze.calculate_sasa_by_atom().
Parameters: - seq (
StructureSequence
) – StructureSequence object - sasa_by_atom (list) – list of atom SASAs
Return type: dict
Returns: Dictionary of sequence information
- seq (
-
schrodinger.protein.sequence.
find_pattern
(seq, pattern)¶ Find pattern matches in a specified StructureSequence object. Returns a list of matching positions.
Parameters: - seq (
StructureSequence
) – StructureSequence object - pattern (string) – Sequence pattern. The syntax is described in find_generalized_pattern.
Return type: list of lists of integer tuples or None
Returns: None if the specified input pattern was incorrect. Otherwise, it returns a list of lists of matches for each residue position in the input structure. Each match is a (start, end) tuple where start and end are matching sequence positions. If ‘hotspot’ is specified then start = end.
- seq (
-
schrodinger.protein.sequence.
get_pairwise_sequence_similarity
(chain1, chain2, consider_gap=True, method='clustalw')¶ Given two single chain sequences, align them, and return sequence similarity among them.
Parameters: - chain1 (
structure._Chain
) – The first sequence chain. - chain2 (
structure._Chain
) – The second sequence chain. - consider_gap (bool) – Whether or not to consider gaps in the alignment, default to true.
- method (string) – Which alignment method to use (‘muscle’ or ‘clustalw’)
Returns: Sequence similarity of the alignment of the two.
Return type: float, between 0.0 and 1.0
- chain1 (
-
schrodinger.protein.sequence.
create_alignment_from_chains
(chains)¶ Return
ProteinAlignment
object comprised of two chainsParameters: chains (iterable(structure._Chain)) – Chains to be aligned
-
schrodinger.protein.sequence.
align_alignment
(aln, second_aln=None, method='clustalw')¶ Perform alignment from an ProteinAlignment object
Parameters: - aln (
ProteinAlignment
) – Alignment data - method (string) – Which method/program to use
Returns: Aligned sequences
Return type: ProteinAlignment
- aln (
-
schrodinger.protein.sequence.
align_from_chains
(chains, method='clustalw')¶ Perform alignment on a series of chains
Parameters: - chains (iterable(structure._Chain)) – Chains to be aligned
- method (string) – Which method/program to use (choices ‘muscle’, ‘clustalw’)
Returns: Aligned sequences
Return type: ProteinAlignment
-
schrodinger.protein.sequence.
get_aligned_residues
(st1, st2)¶ This generator will yield 2 structure._Residue objects - one from each structure - for each position in aligned sequences.
Parameters: - st1 (
structure.Structure
) – First structure. - st2 (
structure.Structure
) – Second structure
Returns: Generates tuples of 2 residues that align at each position.
Return type: generator(structure._Residue or None, structure._Residue or None)
Raises: ValueError – if structures don’t have equivalent chains.
- st1 (