DNA Scanning module

Submodules

Module contents

HADDOCK3 module for DNA base-pair scan.

This module performs a mutagenesis scan of DNA base pairs for the model(s) generated in the previous step of the workflow. DNA is double stranded and its bases are engaged in Watson-Crick base pairs (A:T and G:C). Mutating a single base in isolation would break the base pair and is not physically meaningful, so every mutation performed by this module is a double mutation: for each selected interface nucleotide, the nucleotide is mutated into a target base and its base-pairing partner on the complementary strand is simultaneously mutated into the complementary base, so that a valid Watson-Crick pair is preserved (e.g. A:T -> G:C). The differences in the haddock score and its individual components between the wild type and each mutant base pair are calculated, thus providing a measure of the impact of such mutations. By default, all four possible bases are tested for each selected interface nucleotide (the wild-type base is skipped). Such difference (delta_score) is always calculated as:

delta_score = score_wildtype - score_mutant

As the score are typically negative with lower values being better, a _positive_ delta_score indicates that the mutation is stabilizing while a _negative_ delta_score indicates that the mutation is destabilizing.

If cluster information is available, the module will also calculate the average haddock score difference for each cluster of models. For each mutation, a Z score is calculated as:

Z = (delta_score - mean) / std

where mean and std are the mean and standard deviation of the delta_score over all the mutations.

The module will also generate plots of the DNA scan data, showing the distribution of the delta_score (and every component) for each base-pair mutation at the interface.

You can use the parameters below to customize the behavior of the module:

  • scan_bases: list of target bases to be tested for each nucleotide. By default all four DNA bases (DA, DC, DG, DT) are tested.

  • bp_cutoff: distance cutoff (Å) used to detect Watson-Crick base pairs from the distance between the hydrogen-bonding ring nitrogens.

  • chains: list of chains to be considered for the DNA scan. In some cases you may want to limit the analysis to a single chain.

  • output_mutants: if True, the module will output the models with the mutations applied (only possible if there is only one model)

  • output_bfactor: if True, the module will output the non-mutated models with the rescaled delta_score in the B-factor column

  • plot: if True, the module will generate plots of the DNA scan data

  • splitplot: if True, the scan plot shows one panel per energy component; if False (default) all components are overlaid in a single panel

  • resdic: list of residues to be used for the scanning. An example is:

>>> resdic_A = [1,2,3,4]
>>> resdic_B = [2,3,4]

Only nucleic acid (DNA) residues at the interface are mutated; protein and other residues are ignored. Interface nucleotides for which no base-pairing partner can be found are skipped, since a double (base-pair) mutation cannot be constructed for them.

When applying a mutation, the deoxyribose-phosphate backbone is always kept for both nucleotides of the pair. For mutations between bases of the same ring type (purine <-> purine, i.e. DA <-> DG, or pyrimidine <-> pyrimidine, i.e. DC <-> DT), the shared base ring atoms are also kept so that the base orientation is preserved and CNS only rebuilds the differing substituents; the whole base pair is then scored in a single CNS call. For cross-type mutations, the two nucleotides swap ring type (one purine -> pyrimidine and its partner pyrimidine -> purine). Rebuilding a whole purine ring from its three anchor atoms in the same pass as the partner mutation is unreliable, so such a base pair is mutated in two sequential, CNS-regularised steps: first the purine -> pyrimidine mutation is applied and energy-minimised by CNS, then the pyrimidine -> purine mutation is applied to that minimised intermediate and scored by CNS. The score and energies of the second (final) CNS call are the ones reported and plotted. In both cases the glycosidic-region anchor atoms are kept and, for cross-type mutations, renamed to their counterpart in the target ring system (pyrimidine N1/C2/C6 <-> purine N9/C4/C8).

To keep the delta_score comparison consistent, each mutant is compared against a wild-type baseline that went through the same number of CNS minimisation passes: a one-pass baseline for same-ring-type mutants and a two-pass baseline (the wild type minimised and then re-scored) for cross-ring-type mutants.

class haddock.modules.analysis.dnascan.HaddockModule(order, path, *ignore, init_params=PosixPath('/opt/hostedtoolcache/Python/3.10.22/x64/lib/python3.10/site-packages/haddock/modules/analysis/dnascan/defaults.yaml'), **everything)[source]

Bases: BaseHaddockModule

HADDOCK3 module for DNA base-pair scan.

classmethod confirm_installation()[source]

Confirm if module is installed.

name: str = 'dnascan'
validate_ouput_mutant_parameter(nmodels: int) → None[source]

Validate the output mutant parameter.

This parameter can be set to True if only one input model is provided, otherewise we risk to generate too many PDB files.

Parameters:

nmodels (int) – Number of input models.

Default Parameters

Easy

chains

default: []
type: list
title: ChainIDs to be considered for the scanning.
short description: ChainIDs to be considered for the scanning.
long description: ChainIDs to be considered for the scanning. If empty, all the chains will be considered. If not empty, only residues part of the specified chains will be mutated. Do not use this parameter if you are using the resdic_* parameter.
group: analysis
explevel: easy

int_cutoff

default: 5.0
type: float
title: Distance cutoff (Å) used to define interface contacts.
min: 1.0
max: 20.0
short description: Distance cutoff (Å) used to define interface contacts between two interacting molecules.
long description: Distance cutoff (Å) used to define interface contacts between two interacting molecules.
group: analysis
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, for any ligand/residues/molecules 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

output_bfactor

default: False
type: boolean
title: Dump the input models with the rescaled delta_score written in the b-factor column.
short description: Dump the input models with the rescaled delta_score written in the b-factor column.
long description: Dump the input models with the rescaled delta_score written in the b-factor column. Those files do not contain the mutations, but rather will display the normalized (between 0 and 100) delta HADDOCK score (100 * (delta_score - min_score) / (max_score - min_score)), averaged over the tested base pairs, in the b-factor column. Both nucleotides of each base pair receive the same value. The higher the b-factor, the more favourable (or less unfavourable) the mutations. You can color the PDB files according to this attribute (in pymol, type “spectrum b”)
group: analysis
explevel: easy

output_mutants

default: False
type: boolean
title: Dump the mutated, energy-minimized PDB files.
short description: Dump the mutated, energy-minimized PDB files.
long description: Dump the mutated, energy-minimized PDB files. As the number of mutants can be very large, this option is allowed only when a single model is provided in input.
group: analysis
explevel: easy

plot

default: False
type: boolean
title: Plot scanning data.
short description: Plot scanning data.
long description: Plot scanning data.
group: analysis
explevel: easy

scan_bases

default: [‘DA’, ‘DC’, ‘DG’, ‘DT’]
type: list
title: List of target DNA bases to test for each nucleotide.
short description: List of target DNA bases tested for each selected interface nucleotide.
long description: List of target DNA bases to be tested for each selected interface nucleotide. Only the two-letter DNA residue names (DA, DC, DG, DT) are accepted; one-letter names (A, C, G, U) denote RNA bases and are not supported. By default all four bases are tested. The wild-type base is automatically skipped for each nucleotide. As DNA is double stranded, the base-pairing partner is always mutated to the Watson-Crick complement of the target base.
group: analysis
explevel: easy

splitplot

default: False
type: boolean
title: Split the scan plot into one panel per energy component.
short description: One plot panel per energy component.
long description: If true, the scan plot shows one separate panel per energy component (HADDOCK score, van der Waals, electrostatics and desolvation). If false, all components are overlaid in a single panel.
group: analysis
explevel: easy

Expert

bp_cutoff

default: 3.5
type: float
title: Distance cutoff (Å) used to detect Watson-Crick base pairs.
min: 2.5
max: 6.0
short description: Distance cutoff (Å) used to detect Watson-Crick base pairs.
long description: Distance cutoff (Å) used to detect Watson-Crick base pairs from the distance between the hydrogen-bonding ring nitrogens (N1 of the purine and N3 of the pyrimidine). A canonical Watson-Crick pair has an N1…N3 distance of about 2.8 Å; a small margin is allowed to tolerate energy-minimised or slightly distorted geometries.
group: analysis
explevel: expert

resdic

default: []
type: list
title: List of residues to be mutated
short description: List of residues to be mutated. By default all the interface nucleotides are mutated.
long description: List of residues to be mutated. By default all the interface nucleotides are mutated. resdic_* is an expandable parameter. You can provide resdic_A, resdic_B, resdic_C, etc, where the last capital letter is the chain identifier.
group: analysis
explevel: expert