You are reading the documentation for version 1.3 of ProMod3.
You may also want to read the documentation for:
2.0
2.1
3.0
3.1
3.2
Handling Gaps
This chapter describes the gap classes and functionality attached to them. These
classes / functions are used within the modelling pipeline.
Gap classes

class
promod3.modelling. StructuralGap (before, after, seq)
Describes a structural gap, i.e. a loop to be modeled. The gap may either be
terminal or between two defined regions. The gap stores information of the
last residue before and the first residue after the gap as well as the
sequence of gap. Gaps at the N and Cterminals can be defined by passing
invalid residue handles to before or after.
Parameters: 

Raises:  A RuntimeError if both residues are invalid or when both
are valid and:
 residues are from different chains (if both valid)
 before is located after after
 seq has a length which is inconsistent with the gap


GetChainIndex ()
Returns:  Index of chain, the gap is belonging to 
Return type:  int 

GetChainName ()
Returns:  Name of chain, the gap is belonging to 
Return type:  str 

GetChain ()


IsNTerminal ()
Returns:  True, iff gap is Nterminal (i.e. before is invalid
and after is valid) 
Return type:  bool 

IsCTerminal ()
Returns:  True, iff gap is Cterminal (i.e. before is valid
and after is invalid) 
Return type:  bool 

IsTerminal ()
Returns:  True, iff gap is N or Cterminal 
Return type:  bool 

ShiftCTerminal ()
Try to shift gap by one position towards Cterminal. Only possible if new
gap is not terminal and it doesn’t try to shift the gap past another gap.
Returns:  True, iff shift succeeded (gap is only updated in that case) 
Return type:  bool 

ExtendAtNTerm ()
Try to extend gap at Nterminal end of gap.
Only possible if the gap is not at Nterminal and it doesn’t try to
extend the gap past another gap.
Returns:  True, iff extend succeeded (gap is only updated in that case) 
Return type:  bool 

ExtendAtCTerm ()
Try to extend gap at Cterminal end of gap.
Only possible if the gap is not at Cterminal and it doesn’t try to
extend the gap past another gap.
Returns:  True, iff extend succeeded (gap is only updated in that case) 
Return type:  bool 

GetLength ()
Returns:  Length of the gap. 
Return type:  int 

Copy ()


length
Alias for GetLength() (readonly, int )

seq
Sequence string for the gap (readonly, str )

before
Residue before the gap (readonly, ost.mol.ResidueHandle )

after
Residue after the gap (readonly, ost.mol.ResidueHandle )

full_seq
Full sequence, including stem residues (readonly)

class
promod3.modelling. StructuralGapList
Represents a list of StructuralGap .
Gap Extender classes
The extender classes work on a given StructuralGap and provide an
Extend() function to propose new gaps for loop modelling. The function returns
False if no new extension possible.

class
promod3.modelling. GapExtender (gap, seqres)
The extender cycles through the following steps:










Parameters: 

Raises:  An exception if a terminal gap is used to construct this.


Extend ()
Tries to extend gap.
Returns:  False, if the gap cannot be extended any further. This happens
if it reaches a terminal or another insertion gap.
Otherwise, the gap passed to the constructor is changed.
The gaps are extended with ascending length and will always have
valid termini. 
Return type:  bool 

class
promod3.modelling. FullGapExtender (gap, seqres, max_length=1)
Cycles as GapExtender, but continues even if another gap was encountered.
Parameters: 
 gap (
StructuralGap ) – The gap which will be extended by Extend() .
 seqres (
str / ost.seq.SequenceHandle ) – The full sequence of the chain, the gap is associated with.
 max_length (
int ) –
 If 1, all possible nonterminal gaps are returned.
 If >= 0, this restricts the max. gaplength
(w/o termini) producable by
Extend() .

Raises:  An exception if a terminal gap is used to construct this.


Extend ()
Tries to extend gap.
Returns:  False, if the gap cannot be extended without exceeding max_length.
Otherwise, the gap passed to the constructor is changed.
The gaps are extended with ascending length and will always have
valid termini. 
Return type:  bool 

class
promod3.modelling. ScoringGapExtender (gap, extension_penalty, penalties, seqres, max_length=2)
The extender scores possible gap extensions and returns them in order of
their score when Extend() is called.
The score is penalized according to length and according to certain (well
conserved) regions in the structure as defined by penalties.
score = num_gap_extensions * extension_penalty + sum( penalties [i] )
(i = resnum  1 of residues in extension)
Parameters: 
 gap (
StructuralGap ) – The gap which will be extended by Extend() .
 extension_penalty (
float ) – Penalty for length of gap.
 penalties (
list of float ) – Penalty for each residue added to gap.
 seqres (
str / ost.seq.SequenceHandle ) – The full sequence of the chain, the gap is associated with.
 max_length (
int ) –
 If 2,
GapExtender is used instead of FullGapExtender
(i.e. it stops at gaps and termini).
 If 1, all possible nonterminal gaps are returned.
 If >= 0, this restricts the max. gaplength (w/o termini)
producable by
Extend() .

Raises:  An exception if a terminal gap is used to construct this.


Extend ()
Tries to extend gap.
Returns:  False, if the gap cannot be extended any further.
Otherwise, gap is changed and returned in ascending score.
The updated gap will always have valid termini. 
Return type:  bool 

class
promod3.modelling. ShiftExtension (n_num, c_num)
Implements the underlying extension scheme of the GapExtender .
It is not associated to any structural data, it just spits out the
residue numbers according to the extension scheme described above.
Parameters: 
 n_num (
int ) – N residue number to start with
 c_num (
int ) – C residue number to start with


Extend ()
Returns:  The next residue numbers for n_stem and c_stem 
Return type:  tuple 
Gap Handling Functions

promod3.modelling. CountEnclosedGaps (mhandle, gap)

promod3.modelling. CountEnclosedInsertions (mhandle, gap)
Counts all gaps from mhandle which are fully enclosed by given gap.
This is either all gaps or only insertions.
Parameters: 
 mhandle (
ModellingHandle ) – Modelling handle on which to apply change.
 gap (
StructuralGap ) – Gap defining range in which gaps are to be removed.

Returns:  Number of gaps.

Return type:  int


promod3.modelling. ClearGaps (mhandle, gap)
Removes all gaps from mhandle which are fully enclosed by given gap.
Parameters: 
 mhandle (
ModellingHandle ) – Modelling handle on which to apply change.
 gap (
StructuralGap ) – Gap defining range in which gaps are to be removed.

Returns:  Index of next gap in mhandle.gaps after removal.
Returns 1 if last gap was removed or no gaps in mhandle.

Return type:  int

Raises:  A RuntimeError if any gap in mhandle.gaps is only partially
enclosed by given gap.


promod3.modelling. InsertLoopClearGaps (mhandle, bb_list, gap)
Insert loop into model, update scoring environments and remove all gaps from
mhandle which are fully enclosed by given gap (see InsertLoop() and
ClearGaps() ).
Parameters: 
 mhandle (
ModellingHandle ) – Modelling handle on which to apply change.
 bb_list (
BackboneList ) – Loop to insert (backbone only).
 gap (
StructuralGap ) – Gap defining range of loop to insert (must be consistent!).

Returns:  Index of next gap in mhandle.gaps after removal.
Returns 1 if last gap was removed or no gaps in mhandle.

Return type:  int

Raises:  A RuntimeError if bb_list and gap are inconsistent or
if any gap in mhandle.gaps is only partially enclosed by gap.


promod3.modelling. MergeGaps (mhandle, index)
Merges two gaps mhandle.gaps[index] and mhandle.gaps[index+1].
The residues in between the gaps are removed from mhandle.model and added
to the new mhandle.gaps[index].
Parameters: 
 mhandle (
ModellingHandle ) – Modelling handle on which to apply change.
 index (
int ) – Index of gap to merge with next one.

Raises:  A RuntimeError if indices out of range or if trying to merge
gaps of different chains or an Nterminal gap with a Cterminal gap.


Contents
Search
Enter search terms or a module, class or function name.
Previous topic
Model Checking
Next topic
Handling Loop Candidates
You are here
