Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Haddock3 online user manual #677

Open
wants to merge 122 commits into
base: master
Choose a base branch
from
Open

Haddock3 online user manual #677

wants to merge 122 commits into from

Conversation

VGPReys
Copy link
Contributor

@VGPReys VGPReys commented Jun 26, 2024

Pull request related to the haddock3 user manual.

Contribute to the book

The book source code is located in software/haddock3/src/.
From here, consider only relative paths for things to be functional.

Compile the book

This manual is ment to be compiled by mdbook.

To generate it, mdbook must be installed (see how to install mdbook).

Then run the following command, once in the software/haddock3/ directory:

mdbook build haddock3-manual --dest-dir ../manual
# or
/Applications/mdbook build haddock3-manual --dest-dir ../manual

Summary

note: Check when reviewed

  • Make it an mdbook
  • [x] Manual.md
  • [x] Introduction
    • [x] HADDOCK
    • [x] Haddock3 modularity
  • [x] Installation
    • [x] GitHub repository
    • [x] CNS
    • [x] Virtual environments (conda / venv)
  • [x] Command Line Interfaces (CLI)
    • [x] haddock3
    • [x] haddock3-cfg
    • [x] haddock3-restraints
    • [x] haddock3-score
    • [x] haddock3-analyse
    • [x] haddock3-traceback
    • [x] haddock3-re
    • [x] haddock3-copy
    • [x] haddock3-clean
    • [x] haddock3-unpack
    • [ ] haddock3-mpitask
    • [X] haddock3-dmn # not described, to obscure, useless
    • [x] haddock3-pp
    • [X] haddock3-bm. # not described, obsolete, replaced by haddock-runner
  • [x] Preparing input files
    • [x] Haddock3 requirements (chains, no resid duplicates, no altloc, etc...)
    • [x] pdb tools to manipulate input structures
  • [x] Generating restraints for HADDOCK
    • [x] General introduction
    • [x] haddock-restraints command line interface
      • [x] calc_accessibility
      • [x] passive_from_active
      • [x] active_passive_to_ambig
      • [x] restrain_bodies
      • [x] z-restraints
    • [X] Symmetry restraints
    • [x] Ab-initio docking mode
    • [x] Flexibility
      • [x] Molecules Segments
      • [x] Semi-flexible
      • [x] Fully-flexible
  • [x] Generating a docking protocol
    • [x] Configuration file
    • [x] Global parameters
    • [x] Concept of modules / parameters
  • [x] Available modules
    • [x] Topology
    • [x] Sampling
    • [x] Refinement
    • [x] Scoring
    • [x] Analysis
  • [x] Docking scenario examples
  • [x] Getting support / How to ask for help
    • [x] FAQ
  • [x] Tutorials
    • [x] Access to various tutorials
    • [x] Best practice guide
      • [x] Structure preparation
      • [x] Generating restraints
      • [x] Small-molecules / Ligands
      • [x] Glycans
      • [x] Peptides
      • [x] DNA / RNA
      • [x] Proteins
      • [x] Clustering
      • [x] Analysing results
  • [x] Online lectures
  • [x] haddock3 source code architecture
  • [x] Citing haddock3
  • [x] Acknowledgement

Copy link
Member

@amjjbonvin amjjbonvin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's start! Nice.

software/haddock3/index.md Outdated Show resolved Hide resolved
@amjjbonvin
Copy link
Member

I would also add sections about:

  • flexibility options
  • ab-initio docking mode (for CM restraints and random airs)
  • symmetry restraints

May-be as part of a general section about restraints in HADDOCK3 and this is also where the haddock-restraints part should be residing

@AnnaKravchenko
Copy link
Contributor

Question about flexibility options. It is about explaining how to make molecule/part of molecule flexible/semi-flexible in haddokc3, only practical things, right?
Or would you like to see a more theoretical explanation about flexibility in haddock, i.e. that semi-flexible refinement is happening in torsion angle space etc.?

@VGPReys
Copy link
Contributor Author

VGPReys commented Aug 1, 2024

Question about flexibility options. It is about explaining how to make molecule/part of molecule flexible/semi-flexible in haddokc3, only practical things, right? Or would you like to see a more theoretical explanation about flexibility in haddock, i.e. that semi-flexible refinement is happening in torsion angle space etc.?

flexref is a module and will have its own documentation.

In my opinion, it is more about explaining how to make molecules/segments flexible/semi-flexible.
Detailed explanation on the various parameters used to define it, and in which modules they can be used.

AnnaKravchenko and others added 3 commits August 2, 2024 14:40
Basic instructions on how to define fully and semi-flexible segments + an example of each.
@mgiulini mgiulini mentioned this pull request Aug 12, 2024
12 tasks
#### Using Molecular Dynamics for generating multiple conformations

Proteins are not rock-solid and HADDOCK can handle flexibility of the interface to a certain extent.
An elegant way how to account for larger conformational changes is ensemble docking of conformations generated by Molecular Dynamics (MD).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
An elegant way how to account for larger conformational changes is ensemble docking of conformations generated by Molecular Dynamics (MD).
Ensemble docking of conformations generated by molecular dynamics (MD) is an elegant way to account for larger conformational changes.

software/haddock3/haddock3-manual/src/bpg/structures.md Outdated Show resolved Hide resolved
@@ -0,0 +1,127 @@
# Clustering methods implemented in Haddock3

The clustering of conformations and complexes is a key step in most of the workflows, as it allows us to observe convergence, redundancies, or even remove noise coming from singlotons.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The clustering of conformations and complexes is a key step in most of the workflows, as it allows us to observe convergence, redundancies, or even remove noise coming from singlotons.
Clustering of conformations and complexes is a key step in most workflows, as it allows us to observe convergence, redundancies, or even remove noise from singletons.

- [`[rmsdmatrix]`](../modules/analysis.md#rmsdmatrix-module): Calculates of the RMSD matrix between all the models generated in the previous step.
- [`[ilrmsdmatrix]`](../modules/analysis.md#ilrmsdmatrix-module): Calculates the Interface Ligand Root Mean Square Deviation (ILRMSD) matrix.

Those two modules must be followed by the `[clustrmsd]` module, otherwise, only the pair-wise RMSD matrix will be computed, and clustering not performed.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Those two modules must be followed by the `[clustrmsd]` module, otherwise, only the pair-wise RMSD matrix will be computed, and clustering not performed.
Those two modules must be followed by the `[clustrmsd]` module; otherwise, only the pair-wise RMSD matrix will be computed, and clustering will not be performed.


Full documentation about `[rmsdmatrix]` module is accessible [here](../modules/analysis.md#rmsdmatrix-module).

### [ilrmsdmatrix] module
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this a module created for ligands/small molecules and protein/receptor complex ? If so, I would say that it would be interesting to just add a sentence to introduce a general idea as to which cases it is most appropriate to use.


Clustering by Fraction of Comon Contacts does not rely on rotation and translations but simply on the analysis of contacts.
This is therefore much faster.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we add a sentence about the most important parameters of clusfcc ? Since the other modules get a quick description, it would make sense to at least describe 'clust_cutoff' imo.


<hr>

## RMSD clustering
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we add somewhere here which units are used for the cutoffs/rmsd values outputed ? i know it's Angstrom but not every software uses Angstrom themselves, so it would be nice to have it written in my opinion.

</style>


|<font size="4" color="#203A98">Parameter</font>|<font size="4" color="#203A98">run.cns name</font>| <font size="4" color="#203A98">default value</font>|<font size="4" color="#203A98">optimal value</font> |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the parameter column, shoud we add the name of the modules in haddock3 ? (especially for the MD steps, as new users might not know immediatelly which module we refer to)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file should be updated, it sill displays the haddock2.4 parameter names.


<img src="./interface.png" align="right" >

#### 1.) Information about the interface is available
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#### 1.) Information about the interface is available
### 1.) Information about the interface is available

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am removing one # because of line 111

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: In progress
Development

Successfully merging this pull request may close these issues.

5 participants