Skip to content
Snippets Groups Projects
Commit c5089bf5 authored by Studer Gabriel's avatar Studer Gabriel
Browse files

Merge branch 'master' into develop

parents a4faf9cb 3c0b431e
Branches
Tags
No related merge requests found
Showing
with 10 additions and 70 deletions
......@@ -176,77 +176,9 @@ Build Raw Modelling Handle
:return: A deep copy of the current handle
:rtype: :class:`ModellingHandle`
.. function:: BuildRawModel(aln, include_ligands=False, chain_names=\
"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz",\
spdbv_style=False)
Builds a raw (pseudo) model from the alignment. Can either take a single
alignment handle or an alignment handle list. Every list item is treated as a
single chain in the final raw model.
Each alignment handle must contain exactly two sequences and the second
sequence is considered the template sequence, which must have a
:class:`~ost.mol.EntityView` attached.
This is a basic protein core modelling algorithm that copies backbone
coordinates based on the sequence alignment. For matching residues, the
side chain coordinates are also copied. Gaps are ignored. Hydrogen an
deuterium atoms are not copied into the model.
The function tries to reuse as much as possible from the template. Modified
residues are treated as follows:
- Selenium methionine residues are converted to methionine
- Side chains which contain all atoms of the parent amino acid, e.g.
phosphoserine are copied as a whole with the modifications stripped off.
Residues with missing backbone atoms and D-peptides are generally skipped and
treated as gaps. Missing Cbeta atoms in backbone are ok and reconstructed.
If all residues are skipped (e.g. Calpha traces), we report an error and
return an empty model.
Residue numbers are set such that missing residue in gaps are honoured and
subsequent loop modelling can insert new residues without having to renumber.
**The numbering of residues starts for every chain with the value 1**.
The returned :class:`ModellingHandle` stores the obtained raw model as well
as information about insertions and deletions in the gaps list.
:param aln: Single alignment handle for raw model with single chain or
list of alignment handles for raw model with multiple chains.
:type aln: :class:`~ost.seq.AlignmentHandle` / :class:`~ost.seq.AlignmentList`
:param include_ligands: True, if we wish to include ligands in the model. This
searches for ligands in all OST handles of the views
attached to the alignments. Ligands are identified
with the `ligand` property in the handle (set by OST
based on HET records) or by the chain name '_' (as set
in SMTL). All ligands are added to a new chain named
'_'.
:type include_ligands: :class:`bool`
:param chain_names: Chains are named by a single chanacter taken from this.
:type chain_names: :class:`str`
:param spdbv_style: True, if we need a model in the old SPDBV style.
:type spdbv_style: :class:`bool`
:return: Raw (pseudo) model from the alignment.
:rtype: :class:`ModellingHandle`
:raises: A :exc:`RuntimeError` when:
- the alignments do not have two sequences
- the second sequence does not have an attached structure
- the residues of the template structure do not match with the
alignment sequence (note that you can set an "offset" (see
:meth:`~ost.seq.AlignmentHandle.SetSequenceOffset`) for the
template sequence (but not for the target))
- the target sequence has a non-zero offset (cannot be honored as
the resulting model will always start its residue numbering at 1)
.. autofunction:: BuildRawModel
The Default Pipeline
--------------------------------------------------------------------------------
......@@ -443,3 +375,11 @@ Modelling Steps
:members:
.. autofunction:: AddModellingIssue
Alignment Fiddling
--------------------------------------------------------------------------------
.. autofunction:: DeleteGapCols
.. autofunction:: PullTerminalDeletions
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment