All-atom topology module

Module contents

Create and manage CNS all-atom topology.

The [topoaa] module is dedicated to the generation of CNS compatible parameters (.param) and topologies (.psf) for each of the input structures.

It will: - Detect missing atoms, including hydrogens - Re-build them when missing - Build and write out topologies (psf) and coordinates (pdb) files

This module is a pre-requisite to run any downstream modules using CNS. Having access to parameters and topology is mandatory for any kind of EM/MD related tasks. Therefore this is the reason why the module [topoaa] is often used as first module in a workflow.

Note that for non-standard bio-molecules (apart from standard amino-acids, some modified ones, DNA, RNA, ions and carbohydrates … see detailed list of supported molecules), such as small-molecules, parameters and topology must be obtained and provided by the user, as there is currently no built-in solution to generate them on the fly.

class haddock.modules.topology.topoaa.HaddockModule(order: int, path: Path, initial_params: str | Path = PosixPath('/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/haddock/modules/topology/topoaa/defaults.yaml'))[source]

Bases: BaseCNSModule

HADDOCK3 module to create CNS all-atom topologies.

classmethod confirm_installation() None[source]

Confirm if module is installed.

static get_ensemble_origin(ensemble_f: str | Path) dict[int, str][source]

Try to find origin for each model in ensemble.

Parameters:

ensemble_f (FilePath) – Path to a pdb file containing an ensemble.

Returns:

origin_dic (dict[int, str]) – Dictionary holding as keys the modelID and values its origin.

static get_md5(ensemble_f: str | Path) dict[int, str][source]

Get MD5 hash of a multi-model PDB file.

name: str = 'topoaa'
haddock.modules.topology.topoaa.generate_topology(input_pdb: Path, recipe_str: str, defaults: MutableMapping[str, Any], mol_params: MutableMapping[str, Any], default_params_path: str | Path | None = None, write_to_disk: bool | None = True) Path | str[source]

Generate a HADDOCK topology file from input_pdb.

Default Parameters

Easy

delenph

default: True
type: boolean
title: Keep or remove non-polar hydrogen atoms
short description: If set to true, non-polar hydrogen atoms will be discarded to save computing time
long description: Since HADDOCK uses a united atom force field, the non-polar hydrogen atoms can be in principle discarded. This saves computing time. However this should not be done if you are defining distance restraints to specific hydrogen atoms (e.g. when using NMR distance restraints).
group: molecule
explevel: easy

ligand_param_fname

default: ‘’
type: file
title: Custom ligand parameter file
short description: Ligand parameter file in CNS format
long description: Ligand parameter file in CNS format containing all force field parameters (bond, angles, dihedrals, impropers, van der waals) for any ligand not supported by default by HADDOCK
group: force field
explevel: easy

ligand_top_fname

default: ‘’
type: file
title: Custom ligand topology file
short description: Ligand topology file in CNS format
long description: Ligand topology file in CNS format containing the ligand topologies (atoms, masses, charges, bond definitions…) for any ligand not supported by default by HADDOCK
group: force field
explevel: easy

mol1

title: Input molecule configuration
short description: Specific molecule configuration
long description: You can expand this parameter and associated sub-parameters to the other input molecules. For example, if you input three molecules, you can define mol1, mol2, and mol3 subparameters. Those not defined will be populated with the defaults.
group: input molecules
explevel: easy
mol1.cyclicpept
default: False
type: boolean
title: Cyclic peptide
short description: Defines the molecule as a cyclic peptide
long description: This option defines the molecule as a cyclic peptide and HADDOCK will generate a peptide bond between the N- and C-ter provided those are within 2A. This cutoff can be changed in the generate-topology.cns script.
group: molecule
explevel: easy
mol1.hisd_1
default: nan
type: integer
title: HISD residue number
min: -9999
max: 9999
short description: Residue number of the Histidine to be defined as HISD
long description: Residue number of the Histidine to be defined as HISD
group: molecule
explevel: expert
mol1.hise_1
default: nan
type: integer
title: HISE residue number
min: -9999
max: 9999
short description: Residue number of the Histidine to be defined as HISE
long description: Residue number of the Histidine to be defined as HISE
group: molecule
explevel: expert
mol1.nhisd
default: 0
type: integer
title: Number of HISD residue
min: 0
max: 9999
short description: Defines the number of HISD residues (neutral HIS with the proton on the ND atom) residues when autohis=false
long description: Defines the number of HISD residues (neutral HIS with the proton on the ND atom) residues. The corresponding residue numbers must be defined in the following parameter (hisd_1, hisd_2, …). Add as many as needed. Note that HIS is interpreted as a charged Histidine)
group: molecule
explevel: expert
mol1.nhise
default: 0
type: integer
title: Number of HISE residue
min: 0
max: 9999
short description: Defines the number of HISE residues (neutral HIS with the proton on the NE atom) residues when autohis=false
long description: Defines the number of HISE residues (neutral HIS with the proton on the NE atom) residues. The corresponding residue numbers must be defined in the following parameter (hise_1, hise_2, …). Add as many as needed. Note that HIS is interpreted as a charged Histidine)
group: molecule
explevel: expert

Expert

autohis

default: True
type: boolean
title: Automatic HIS protonation state
short description: The protonation state of histidine (+1: HIS or 0: HISD/HISE) will be automatically set by HADDOCK
long description: If set to true, HADDOCK will automatically define the protonation state of histidines ((+1: HIS or 0: HISD/HISE) by selecting the state leading to the lowest electrostatic energy
group: molecule
explevel: expert

limit

default: True
type: boolean
title: Limit the number of input molecules.
short description: When true, the topoaa module can accept any number of input molecules.
long description: Enable/disable the limit of input molecules for the topoaa module. Setting the limit to false is useful when the topoaa module is followed by scoring modules such as emscoring, or other analysis modules. If topoaa is used in the middle of the workflow this parameter has no effect.
group: sampling
explevel: expert

set_bfactor

default: True
type: boolean
title: Define if the b-factor column must be overwritten
short description: When true (default), all b-factors are set to a default value of 15
long description: Defines if the original b-factor values are kept (true) or all b-factors are set to a default value for 15 (false).
group: module
explevel: expert

tolerance

default: 0
type: integer
title: Failure tolerance percentage
min: 0
max: 99
short description: Percentage of allowed failures for a module to successfully complete
long description: Percentage of allowed failures for a module to successfully complete
group: module
explevel: expert

Guru

cyclicpept_dist

default: 2.0
type: float
title: Cutoff distance for cyclisation
min: 0.0
max: 999999.99
short description: Cutoff distance in Angstroms for identification of backbone cyclic peptide
long description: Cutoff distance in Angstroms for identification of backbone cyclic peptide (N - C)
group: molecule
explevel: guru

disulphide_dist

default: 2.2
type: float
title: Cutoff distance for S-S bonds
min: 0.0
max: 999999.99
short description: Cutoff distance in Angstroms for identification of disulphide bonds
long description: Cutoff distance in Angstroms for identification of disulphide bonds (SH - SH)
group: molecule
explevel: guru

iniseed

default: 917
type: integer
title: Random seed
min: 0
max: 9999999999999999
short description: Random seed used in CNS to initialize the random seed function
long description: Random seed used in CNS to initialize the random seed function
group: molecule
explevel: guru

log_level

default: ‘quiet’
type: string
title: Log level verbosity for CNS
choices: [‘verbose’, ‘normal’, ‘quiet’]
short description: Set the log level verbosity for CNS
long description: CNS, the computational engine used by HADDOCK can generate a lot of output messages. This parameter controls the verbosity of CNS (verbose, normal or quiet).
group: module
explevel: guru