ProtoCaller.Ensemble.Protein module

This module handles the Protein class which keeps track of protein instantiation, missing residue/atom addition, PDB file modification, protonation and parametrisation. More broadly, it contains the PDB file of the protein, the corresponding SDF files of any relevant extra ligands/cofactors and a file containing the FASTA sequence, all downloaded from the Protein Data Bank. If the user supplies these manually, they need to make sure that they provide ProtoCaller with all relevant information.

This class handles calls to various wrappers in the Wrappers module and provides a filtering function, which is a convenient way to remove specific parts of the PDB file if needed. Alternatively, the user can change the pdb_obj manually using the IO module’s capabilities. In this case the PDB file has to be overwritten after any changes to the PDB object.

class ProtoCaller.Ensemble.Protein.Protein(code=None, pdb_file=None, ligands=None, ligand_ref=None, fasta_file=None, complex_template=None, name=None, workdir=None)

Bases: object

The main class responsible for handling proteins in ProtoCaller.

Parameters
  • code (str) – The PDB code of the protein.

  • pdb_file (str, optional) – Path to custom PDB file.

  • ligands ([str or ProtoCaller.Ensemble.Ligand.Ligand], optional) – Paths to and / or objects of custom ligands.

  • ligand_ref (str or ProtoCaller.Ensemble.Ligand.Ligand or None or False) – Initialises ligand_ref from a “resSeq/iCode” (e.g. “400G”) or from a Ligand or from a file or automatically (None) or enforces no reference ligand (False).

  • fasta_file (str, optional) – Path to custom FASTA file.

  • complex_template (BioSimSpace.System) – Initialises the complex from an already created complex_template.

  • optional (name) – Initialises the protein name.

  • workdir (str, optional) – Initialises workdir.

workdir

The working directory of the protein.

Type

ProtoCaller.Utils.fileio.Dir

name

The protein name. Default value is the PDB code of the protein.

Type

str

property code

The PDB code of the protein.

Type

str

property complex_template

The prepared system without solvent and ligands.

Type

BioSimSpace.System

property fasta

The absolute path to the FASTA file for the protein.

Type

str

filter(missing_residues='middle', chains='all', waters='chain', ligands='chain', cofactors='chain', simple_anions='chain', complex_anions='chain', simple_cations='chain', complex_cations='chain', include_mols=None, exclude_mols=None)

Conditionally removes certain molecules from the PDB object and rewrites the PDB file.

Parameters
  • missing_residues (str) – One of “all” or “middle”. Determines whether to only add missing residues when they are non-terminal.

  • chains (str) – One of “all” or an iterable of characters for chains to keep.

  • waters (str or None) – One of “all”, “chain” (only keep molecules belonging to a chain), “site” (only keep if they are mentioned in the PDB SITE directive) or None (no molecules are included).

  • ligands (str or None) – One of “all”, “chain” (only keep molecules belonging to a chain), “site” (only keep if they are mentioned in the PDB SITE directive) or None (no molecules are included).

  • cofactors (str or None) – One of “all”, “chain” (only keep molecules belonging to a chain), “site” (only keep if they are mentioned in the PDB SITE directive) or None (no molecules are included).

  • simple_anions (str or None) – One of “all”, “chain” (only keep molecules belonging to a chain), “site” (only keep if they are mentioned in the PDB SITE directive) or None (no molecules are included).

  • complex_anions (str or None) – One of “all”, “chain” (only keep molecules belonging to a chain), “site” (only keep if they are mentioned in the PDB SITE directive) or None (no molecules are included).

  • simple_cations (str or None) – One of “all”, “chain” (only keep molecules belonging to a chain), “site” (only keep if they are mentioned in the PDB SITE directive) or None (no molecules are included).

  • complex_cations (str or None) – One of “all”, “chain” (only keep molecules belonging to a chain), “site” (only keep if they are mentioned in the PDB SITE directive) or None (no molecules are included).

  • include_mols ([str]) – A list of strings which specify molecules that should be included. Overrides previous filters.

  • exclude_mols ([str]) – A list of strings which specify molecules that should be excluded. Overrides previous filters.

property ligand_ref

The reference ligand.

Type

ProtoCaller.Ensemble.Ligand.Ligand

property ligands

Additional ligands in the system.

Type

[ProtoCaller.Ensemble.Ligand.Ligand]

property name

The name of the protein

parametrise(params=None, reparametrise=False)

Parametrises the whole protein system.

Parameters
  • params (ProtoCaller.Parametrise.Params) – Force field parameters.

  • reparametrise (bool) – Whether to reparametrise an already parametrised complex.

property pdb

The absolute path to the PDB file for the protein.

Type

str

property pdb_obj

The object corresponding to the PDB file.

Type

ProtoCaller.IO.PDB.PDB

prepare(add_missing_residues='pdbfixer', add_missing_atoms='pdb2pqr', protonate_proteins='pdb2pqr', protonate_ligands='babel', missing_residues_options=None, missing_atom_options=None, protonate_proteins_options=None, protonate_ligands_options=None, replace_nonstandard_residues=True, force_add_atoms=False)

Adds missing residues / atoms to the protein and protonates it and the relevant ligands.

Parameters
  • add_missing_residues (str or None) – How to add missing residues. One of “modeller”, “charmm-gui”, “pdbfixer” and None (no addition).

  • add_missing_atoms (str or None) – How to add missing atoms. One of “modeller”, “pdb2pqr”, “pdbfixer” and None (no addition).

  • protonate_proteins (str or None) – How to protonate the protein. One of “pdb2pqr” and None (no protonation).

  • protonate_ligands (str or None) – How to protonate the related ligands / cofactors. One of “babel” and None (no protonation).

  • missing_residues_options (dict) – Keyword arguments to pass on to the relevant wrapper responsible for the addition of missing protein residues.

  • missing_atom_options (dict) – Keyword arguments to pass on to the relevant wrapper responsible for the addition of missing heavy atoms.

  • protonate_proteins_options (dict) – Keyword arguments to pass on to the relevant wrapper responsible for protein protonation.

  • protonate_ligands_options (dict) – Keyword arguments to pass on to the relevant wrapper responsible for ligand protonation.

  • replace_nonstandard_residues (bool) – Whether to replace nonstandard residues with their standard equivalents.

  • force_add_atoms (bool) – Residues with missing backbone atoms will typically refuse to be modelled by PDB2PQR. If this is False, we recast these residues as missing residues before modelling.