Skip to content

Commit ca0f42e

Browse files
rvhonoratoVGPReys
andauthored
First edition (#1)
* transfering * adding theme dir * removing DS store dirs * updated parameter names for bpg peptides * Update analysis.md * update readme --------- Co-authored-by: VGPReys <v.g.p.reys@uu.nl> Co-authored-by: Victor Reys <132575181+VGPReys@users.noreply.github.com>
1 parent 3775ec0 commit ca0f42e

File tree

108 files changed

+18197
-5
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

108 files changed

+18197
-5
lines changed

README.md

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,35 @@
1-
# haddock3-user-manual
1+
# Haddock3 user manual
2+
3+
This repository holds the MarkDown files and assets used to compile the Haddock3 user manual !
4+
5+
Thanks to github actions, this book is compiled on pull request and directly published online, accessible at: [https://www.bonvinlab.org/haddock3-user-manual](https://www.bonvinlab.org/haddock3-user-manual)
6+
7+
## Contribute to the book
8+
9+
The book source code is located in `src/`.
10+
From here, consider only relative paths for things to be functional.
11+
12+
## Structure of the book
13+
14+
Three major files/directory are used here:
15+
16+
- `book.toml`: File containing data such as name of the book, list of authors and where to find the source code. This file must be named `book.toml` for `mdbook` to work with default arguments.
17+
- `src/`: Hold all the pages / subdirectories of the book content.
18+
- `src/SUMMARY.md`: The table of content of the book. It is used to create the TOC and define the order in which files will be added.
19+
- `theme/`: Holds extra files such as icons, spcific css files and other allowing to fine tune the appearance of the final book.
20+
21+
# Compile the book
22+
23+
This manual is ment to be compiled by `mdbook`.
24+
25+
To generate it, mdbook must be installed (see [how to install mdbook](https://rust-lang.github.io/mdBook/index.html)).
26+
27+
Then run the following command, from the root directory:
28+
29+
```bash
30+
mdbook build src
31+
```
32+
33+
Once built, the book index can be found at `doc/index.html`
34+
35+

book.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[book]
2-
authors = ["Rodrigo V. Honorato"]
2+
authors = ["BonvinLab", "HADDOCK", "Computational Structural Biology", "Utrecht University"]
33
language = "en"
44
multilingual = false
55
src = "src"
6-
title = "HADDOCK3 User Manual"
6+
title = "Haddock3 User Manual"

src/SUMMARY.md

Lines changed: 75 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,77 @@
11
# Summary
22

3-
- [](./chapter_1.md)
3+
- [Introduction](./intro_manual.md)
4+
- [HADDOCK - High Ambiguity Docking](./haddocking.md)
5+
- [Haddock3 modularity](./haddock3.md)
6+
7+
- [Installation](./install.md)
8+
- [Virtual environments (conda / venv)](./virtual-environments.md)
9+
- [Obtaining HADDOCK](./download-haddock3.md)
10+
- [CNS](./install-cns.md)
11+
12+
- [Command Line Interfaces](./clis.md)
13+
14+
- [Preparing input files](./structure_requirements.md)
15+
- [Haddock3 requirements](./structure_requirements.md)
16+
- [Tools to manipulate structures](./pdbtools.md)
17+
18+
- [Generating restraints for HADDOCK](./intro_restraints.md)
19+
- [haddock3-restraints](./restraints_cli.md)
20+
- [Automated restraints generation](./automated_restraints.md)
21+
- [Symmetry restraints](./automated_restraints.md)
22+
- [DNA & RNA restraints](./automated_restraints.md)
23+
- [Ab-initio docking mode](./abinitio_docking.md)
24+
- [Flexibility](./flexibility.md)
25+
26+
- [Generating a docking protocol](./config_file.md)
27+
- [Global parameters](./global_parameters.md)
28+
- [Concept of modules / parameters](./modules_parameters.md)
29+
- [Notable parameters](./important_parameters.md)
30+
31+
- [Available modules](./modules.md)
32+
- [Topology](./modules/topology.md)
33+
- [Sampling](./modules/sampling.md)
34+
- [Refinement](./modules/refinement.md)
35+
- [Scoring](./modules/scoring.md)
36+
- [Analysis](./modules/analysis.md)
37+
38+
- [Docking scenarios](./docking_scenarios.md)
39+
- [Protein-protein docking](./docking_scenarios/prot-prot.md)
40+
- [Protein-peptide docking](./docking_scenarios/prot-peptide.md)
41+
- [Protein-DNA docking](./docking_scenarios/prot-DNA.md)
42+
- [Antibody-antigen docking](./docking_scenarios/antibody-antigen.md)
43+
- [Protein-glycan docking](./docking_scenarios/prot-glycan.md)
44+
- [Small-molecule docking](./docking_scenarios/prot-ligand.md)
45+
- [Complexes refinement protocols](./docking_scenarios/refinement-protocols.md)
46+
- [Building cyclic peptide](./docking_scenarios/cyclic-peptides.md)
47+
- [Scoring workflow](./docking_scenarios/scorings.md)
48+
- [Analysis pipelines](./docking_scenarios/analyses.md)
49+
50+
- [Getting support / How to ask for help](./info.md)
51+
- [Getting support / How to ask for help](./info.md)
52+
- [FAQ](./faq.md)
53+
54+
- [Tutorials](./tutorials.md)
55+
- [Access to various tutorials](./tutorials.md)
56+
- [Best practice guide](./bpg.md)
57+
- [Structure preparation](./bpg/structures.md)
58+
- [Generating restraints](./bpg/restraints.md)
59+
- [Small-molecules / Ligands](./bpg/small_mol.md)
60+
- [Glycans](./bpg/glycans.md)
61+
- [Peptides](./bpg/peptides.md)
62+
- [DNA / RNA](./bpg/dna.md)
63+
- [Proteins](./bpg/proteins.md)
64+
- [Clustering complexes](./bpg/clustering.md)
65+
- [Analysing results](./bpg/analysis.md)
66+
67+
- [Haddock3 eco-system](./eco_system.md)
68+
69+
- [Online lectures](./online_lectures.md)
70+
71+
- [Haddock3 source code](./source_code_organisation.md)
72+
73+
- [How to cite haddock3](./citing.md)
74+
- [Citing haddock3](./citing.md)
75+
- [Haddock3-related publications](./publications.md)
76+
77+
- [Acknowledgements](./acknowledgements.md)

src/abinitio_docking.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# Ab-initio / naive docking protocols
2+
3+
While HADDOCK is meant to use information from experiments, literature, or bioinformatic predictions to guide the sampling during the docking, sometimes such data is not available.
4+
For these reasons, dedicated parameters can be turned **on** to perform *ab-initio* docking.
5+
6+
Three different ways of doing *ab-initio* docking in haddock3 are discussed below.
7+
8+
### Prior considerations
9+
10+
- Ab-initio docking typically involves limited, if any, prior information on how the various chains involved should interact. As a result, producing good solutions relies heavily on a trial-and-error approach. Thus, to enhance the likelihood of generating good models, we strongly advise increasing the sampling at the `[rigidbody]` docking stage (by tuning the `sampling` parameter).
11+
- The next three *ab-initio* docking solutions described below are incompatible with each other, and you should not turn **on** multiple of them at the same time.
12+
13+
14+
## Center of mass restraints
15+
16+
Turning **on** the center of mass restraints parameter (`cmrest = true`), will automatically generate restraints between the centers of masses of the different chains present in the system, and use these restraints during the docking.
17+
18+
This parameter goes together with the `cmtight` parameter, which controls how the upper limit distance is defined for the center of mass restraints.
19+
To calculate the upper distance limit for the restraints, the height, width, and depth of each molecule are first determined. Technically, each molecule is aligned along its principal (i.e. longest) components, and the x, y, and z dimensions are measured. Next:
20+
- If `cmtight=true`: The 'molecule distance' for each molecule is calculated as the average of the two smallest dimensions, each divided by 2. For example:
21+
```math
22+
Molecule Distance = \frac{1}{2} \left( \frac{\text{width}}{2} + \frac{\text{depth}}{2} \right)
23+
```
24+
- If `cmtight=false`: The 'molecule distance' is the average of all three half-dimensions:
25+
```math
26+
Molecule Distance = \frac{1}{3} \left( \frac{\text{height}}{2} + \frac{\text{width}}{2} + \frac{\text{depth}}{2} \right)
27+
```
28+
- For DNA, RNA, small ligands, or glycans: The 'molecule distance' is set to 0.
29+
The effective upper distance limit for the center of mass distance restraint is defined as the sum of the molecule distances of all molecules involved.
30+
31+
Lastly, the strength of the center of mass restraints can be controlled via the force constant (`kcm`)
32+
33+
`cmrest`, `cmtight` and `kcm` parameters are accessible in `[rigidbody]`, `[flexref]` and `[mdref]` modules.
34+
35+
Please note that setting `cmrest = true` is suitable for globular structures, but may deform other types of molecules, e.g. fibrous proteins, long bDNA etc., as restraint will be defined to the center of the molecule.
36+
37+
38+
## Random Ambiguous Restraints
39+
40+
Another solution for ab-initio docking is to generate random ambiguous restraints (AIRs).
41+
This is performed by turning **on** the `ranair` parameter (`ranair = true`) in the `[rigidbody]` module.
42+
When ranair is turned on:
43+
- During the rigid-body sampling, residues on the surface of each chain are randomly selected, along with surrounding ones, to define a patch.
44+
- Ambiguous restraints are then generated between these patches, and rigid-body minimization is performed.
45+
46+
`ranair` parameter is limited to the docking of two chains only, and no other type of restraints will be considered, even if specified in the configuration file.
47+
48+
__*Note*__ that during the later stages of the docking workflow (e.g., [flexref], [emref], [mdref]), it is advisable to enable the `contactairs = true` parameter to ensure the molecules remain held together at the interface. This setting defines restraints between thwe residues within a 5Å distance between molecules. However, be aware this may generate a large number of restraints, potentially slowing down computations.
49+
50+
51+
## Surface restraints
52+
53+
An alternative solution for ab-initio docking is to turn **on** the `surfrest` parameter (`surfrest = true`).
54+
By doing so, surface residues are identified, and contact restraints between these residues across docking partners are generated on the fly.
55+
These restraints are defined as ambiguous distance restraints between all backbone atoms (CA, BB, or N1) of the two molecules. For small ligands, all atoms are considered.
56+
If fewer than 3 CA and P atoms are found, all atoms are selected instead.
57+
The upper distance limit is set to 7Å for standard molecules and 4.5Å for small ligands.
58+
59+
Such restraints can be particularly useful in multi-body (N>2) docking to ensure that all molecules are in contact and thus promote compactness of the docking solutions.
60+
Similarly to the [random AIRs](#random-ambiguous-restraints), surface contact restraints can be used in *ab-initio* docking. In such a case it is important to have sufficient sampling of the random starting orientations, which significantly increases the number of structures generated by the rigid-body docking.
61+
62+
__*Note*__ that this option is computationally more expensive than [center of mass restraints](#center-of-mass-restraints) and [random AIRs](#random-ambiguous-restraints), as the number of restraints grows exponentially with the number of residues in the system.
63+
Also, because of the high number of restraints, the physico-chemical components of the scoring function can be masked by the noise of the AIRs component.
64+
Therefore setting the weight of the AIR component to 0 (`w_air = 0`) could help the scoring function to better decipher between model conformations.
65+
66+
This parameter goes along with its force constant `ksurf`, which can be tuned to control the strength of the surface restraints.

src/acknowledgements.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
## Fundings
2+
3+
The development of Haddock3 is made possible thanks to the financial support from Horizon 2020, projects [BioExcel](https://www.bioexcel.eu) [823830](https://cordis.europa.eu/project/id/823830) and [101093290](https://cordis.europa.eu/project/id/101093290), EGI-ACE [101017567](https://cordis.europa.eu/project/id/101017567), and from the Netherlands e-Science Center (027.020.G13), that provided and still provides substantial fundings for software development.
4+
This allows the HADDOCK team to ensure software quality, improvements, maintenance, and user support.
5+
6+
<figure style="text-align: center;">
7+
<img width="30%" src="./images/Bioexcel_logo.png" alt="bioexcel">
8+
</figure>
9+
10+
11+
## User driven developments
12+
13+
In Haddock3, not only do we try to provide a powerful docking tool that can handle a variety of biomolecular entities, but we are also developing new modules and functionalities based on user requests.
14+
On a yearly basis, we ask users to fill out a survey, allowing us to focus on several different directions to improve the tool and make it more suitable for the community.
15+
Feature requests can also be performed directly from our [GitHub repository issues](https://github.com/haddocking/haddock3/issues/new/choose).
16+
17+
18+
## 20 years of HADDOCK
19+
20+
Haddock3 is the newest version of HADDOCK, an original idea initially developed by [Dominguez, C., Boelens, R. & Bonvin, A. M. J. J. in 2003](https://pubs.acs.org/doi/10.1021/ja026939x).
21+
For more than 20 years now, HADDOCK has been improved, going from its first description to several milestones, namely Haddock2.2, Haddock2.4, and now Haddock3.
22+
23+
In November 2023, we celebrated the 20-year anniversary of HADDOCK, where most of the incredible scientists who contributed to its development attended.
24+
25+
<figure style="text-align: center;">
26+
<img width="75%" src="./images/20-years-haddock.png" alt="photo 20 years haddock3">
27+
</figure>
28+
29+
We wish to thank all the students, PhD candidates, and postdoctoral researchers for each of their contributions to the tool, as they have allowed us to continuously develop new methods and improve HADDOCK functionalities over the years.

0 commit comments

Comments
 (0)