Superimposition Module¶
A Module to superimpose two protein chains.
-
class
pdb_superimposer.superimposition.
ChainSuperimposer
(reference, other, other_struc)[source]¶ A class to organise the superimposition of two chains. First the atoms involved in the operation are selected. Then
Bio.PDB.Superimposer.Superimposer
is employed to do the superimposition.-
__init__
(reference, other, other_struc)[source]¶ Initialise the class.
- Parameters
reference (
Bio.PDB.Chain.Chain
) – The chain used as a template in the superimposition.other (
Bio.PDB.Chain.Chain
) – The chain to be transformed.other_struc (
Bio.PDB.Structure.Structure
) – The structure object of the other chain. This enables the transformation matrix to be applied across the whole structure.
-
_residue_selection
()[source]¶ A class method to do the essential residue filtering using the UniProt sequence positions.
Find intersecting sequence indices between the reference and other.
Remove index if at a given UniProt index the residue type in reference and other is not the same
Remove index if at a given UniProt index either the reference or other residue is incomplete
- Returns
A set of sequence indices
- Return type
set
-
static
binding_site
(chain, hetid, within=8.0)[source]¶ Detect binding site residues for a supplied hetid
- Parameters
chain (Bio.PDB.Chain) – A protein chain
hetid (str) – A ligand identifier
within (float) – A cutoff distance
- Returns
A boolean list denoting inclusion in the superimposition operation
- Return type
list
>>> from pdb_superimposer import ChainSuperimposer, Helper >>> ref = Helper.protein_from_file("2VTA", "2VTA.pdb") >>> ref_chain = [c for c in ref[0]][0] >>> ans = ChainSuperimposer.binding_site(ref_chain, "LZ1", 10.0) {1, 2, 3, ...}
-
static
is_residue_incomplete
(res)[source]¶ Determine whether the residue is incomplete (i.e. whether there are missing residue atoms)
- Parameters
res – A PDB residue
- Type
Bio.PDB.Residue.Residue
- Returns
A boolean expressing whether the residue is incomplete
- Return type
bool
>>> from pdb_superimposer import ChainSuperimposer, Helper >>> ref = Helper.protein_from_file("2VTA", "2VTA.pdb") >>> ref_chain = [c for c in ref[0]][0] >>> first_res = [r for r in ref_chain][0] >>> bs = ChainSuperimposer.is_residue_incomplete(first_res) False
-
superimpose
(hetid=None, within=8.0)[source]¶ The superimposition method. If optional hetid is supplied, only binding site residues will used for the superimposition.
- Parameters
hetid (str) – Ligand identifier
binding_site (bool) – flag
within (float) – binding site cutoff distance
# Example useage from pdb_superimposer import ChainSuperimposer, Helper ref = Helper.protein_from_file("2VTA", "2VTA.pdb") ref_chain = [c for c in ref[0]][0] other = Helper.protein_from_file("6YLK", "6YLK.pdb") ref_chain = [c for c in other[0]][0] cs = ChainSuperimposer(reference=ref_chain, other=other_chain, other_struc=other) cs.superimpose()
-