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

Enhance flexible definition in config files / defaults.yaml #969

Merged
merged 45 commits into from
Sep 12, 2024
Merged
Show file tree
Hide file tree
Changes from 31 commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
df5e61e
Addressing issue #919
amjjbonvin Aug 7, 2024
94ff3c2
Updated all relevant config files
amjjbonvin Aug 7, 2024
6155979
Updated / cleaning of CNS code
amjjbonvin Aug 7, 2024
8735558
Corrected cfg file
amjjbonvin Aug 7, 2024
5edd320
Corrected default.yaml file
amjjbonvin Aug 7, 2024
29547c6
update yaml file
amjjbonvin Aug 7, 2024
57b9678
add `text_flexref`
rvhonorato Aug 12, 2024
c906ffd
add `test_mdfref`
rvhonorato Aug 12, 2024
0bb0d29
add `test_emref`
rvhonorato Aug 12, 2024
a80c096
updating documentation to reflect new parameter scheme
VGPReys Aug 14, 2024
24f7b27
add `run_dockq_analysis`
rvhonorato Aug 21, 2024
c2e84a1
add `fnat` check via dockq
rvhonorato Aug 21, 2024
c465531
add dockq to test deps
rvhonorato Aug 21, 2024
2c0f245
update tox.ini
rvhonorato Aug 21, 2024
66ee8d2
tweak values
rvhonorato Aug 21, 2024
3d94ffc
revert to using `caprieval`
rvhonorato Aug 21, 2024
c3875d8
update tox.ini
rvhonorato Aug 21, 2024
9226d14
clean integration tests
rvhonorato Aug 21, 2024
56182b5
add `2oob` golden data
rvhonorato Aug 22, 2024
7318cf6
tweak integration tests
rvhonorato Aug 22, 2024
d48856a
remove unused test data
rvhonorato Aug 22, 2024
cb26470
Merge branch 'main' into flexseg
rvhonorato Aug 22, 2024
f0715e7
Merge branch 'main' into flexseg
amjjbonvin Sep 3, 2024
a644729
Update test_ilrmsdmatrix.py
amjjbonvin Sep 3, 2024
f5ba4e5
Merge branch 'main' into flexseg
amjjbonvin Sep 6, 2024
84320f4
Merge branch 'main' into flexseg
amjjbonvin Sep 6, 2024
2a2286d
Merge branch 'main' of https://github.com/haddocking/haddock3 into fl…
amjjbonvin Sep 10, 2024
eea0267
Updated integration tests to match main branch
amjjbonvin Sep 10, 2024
f6be62d
Merge branch 'main' into flexseg
amjjbonvin Sep 10, 2024
278912e
Updated nfle parameters in cfg files
amjjbonvin Sep 10, 2024
44058da
Merge branch 'main' into flexseg
amjjbonvin Sep 12, 2024
ac9465a
Update src/haddock/modules/refinement/mdref/defaults.yaml
amjjbonvin Sep 12, 2024
1f0a8ac
Update src/haddock/modules/refinement/mdref/defaults.yaml
amjjbonvin Sep 12, 2024
5bb76ea
Update src/haddock/modules/refinement/mdref/defaults.yaml
amjjbonvin Sep 12, 2024
5f66678
Update src/haddock/modules/refinement/mdref/defaults.yaml
amjjbonvin Sep 12, 2024
dbca8f0
Update src/haddock/modules/refinement/flexref/defaults.yaml
amjjbonvin Sep 12, 2024
bfe83d9
Update src/haddock/modules/refinement/emref/defaults.yaml
amjjbonvin Sep 12, 2024
ca4e758
Update src/haddock/modules/refinement/emref/defaults.yaml
amjjbonvin Sep 12, 2024
14e9d73
Update src/haddock/modules/refinement/emref/defaults.yaml
amjjbonvin Sep 12, 2024
c4dbdbe
Update src/haddock/modules/refinement/emref/defaults.yaml
amjjbonvin Sep 12, 2024
1b1da65
Update src/haddock/modules/refinement/flexref/defaults.yaml
amjjbonvin Sep 12, 2024
dac4b1a
Update src/haddock/modules/refinement/flexref/defaults.yaml
amjjbonvin Sep 12, 2024
6a451c4
Update src/haddock/modules/refinement/flexref/defaults.yaml
amjjbonvin Sep 12, 2024
2919e72
Merge branch 'main' into flexseg
amjjbonvin Sep 12, 2024
aba8ada
Merge branch 'main' into flexseg
amjjbonvin Sep 12, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ A protein-glycan docking example making use of the knowledge of the binding site

1) 1000 rigidbody docking models, RMSD clustering to select 50 clusters, flexible refinement of the top 5 models of each cluster, final RMSD clustering for cluster-based scoring ([docking-protein-glycan-full.cfg](../examples/docking-protein-glycan/docking-protein-glycan-full.cfg)). The RMSD clustering assumes a good knowledge of the interface, as the user has to define the residues involved in the binding site by means of the resdic_ parameter.
2) 1000 rigidbody docking models, interface-ligand-RMSD (`ilrmsd`) clustering to select 50 clusters, flexible refinement of the top 5 models of each cluster, final ilRMSD clustering for cluster-based scoring ([docking-protein-glycan-ilrmsd-full.cfg](../examples/docking-protein-glycan/docking-protein-glycan-ilrmsd-full.cfg)). The interface-ligand-RMSD clustering is a more general approach, as it does not require the user to define the residues involved in the binding site. The interface is automatically defined by the residues involved in the protein-glycan interaction in the input models.
3) 500 flexible docking runs + final RMSD clustering for cluster-based scoring [docking-flexref-protein-glycan-full.cfg](../examples/docking-protein-glycan/docking-flexref-protein-glycan-full.cfg). In this case, the rigidbody docking is skipped and the docking is performed at the flexible refinement level. In this case the flexible refinement has more steps than usual (`mdsteps_rigid = 5000`, `mdsteps_cool1 = 5000` and so on) and the glycan is defined as fully flexible (`nfle2 = 1` and associated parameters).
3) 500 flexible docking runs + final RMSD clustering for cluster-based scoring [docking-flexref-protein-glycan-full.cfg](../examples/docking-protein-glycan/docking-flexref-protein-glycan-full.cfg). In this case, the rigidbody docking is skipped and the docking is performed at the flexible refinement level. In this case the flexible refinement has more steps than usual (`mdsteps_rigid = 5000`, `mdsteps_cool1 = 5000` and so on) and the glycan is defined as fully flexible (`fle_sta_1`, `fle_end_1`, `fle_seg_1`).

__Note__ the modified weight of the van der Waals energy term for the scoring of the rigidbody docking models (`w_vdw = 1.0`), as in the [protein-ligand example](#docking-protein-ligand).

Expand Down Expand Up @@ -113,7 +113,7 @@ Three different workflows are illustrated:
2) 3000 rigidbody docking models, selection of top400 and flexible refinement + final refinement in explicit solvent (water) of those ([docking-protein-peptide-mdref-full.cfg](../examples/docking-protein-peptide/docking-protein-peptide-mdref-full.cfg)
3) 3000 rigidbody docking models, FCC clustering and selection of max 20 models per cluster followed by flexible refinement and EM ([docking-protein-peptide-cltsel-full.cfg](../examples/docking-protein-peptide/docking-protein-peptide-cltsel-full.cfg)).

__Note__ how the peptide is defined as fully flexible for the refinement phase (`nfle2 = 1` and associated parameters) and dihedral angle restraints are automatically defined to maintain secondary structure elements (`ssdihed = "alphabeta"`)
__Note__ how the peptide is defined as fully flexible for the refinement phase (`fle_sta_1`, `fle_end_1`, `fle_seg_1`) and dihedral angle restraints are automatically defined to maintain secondary structure elements (`ssdihed = "alphabeta"`)

The `caprieval` module is called at various stages during the workflow to assess the quality of the models with respect to the known reference structure.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,10 @@ mdsteps_cool2 = 10000
mdsteps_cool3 = 10000
ambig_fname = "data/ambig.tbl"
# give full flexibilit to the glycan
nfle2 = 1
fle_sta_2_1 = 1
fle_end_2_1 = 4
nfle = 1
fle_sta_1 = 1
fle_end_1 = 4
fle_seg_1 = "B"

[caprieval]
reference_fname = "data/target.pdb"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,10 @@ mdsteps_cool2 = 10000
mdsteps_cool3 = 10000
ambig_fname = "data/ambig.tbl"
# give full flexibilit to the glycan
nfle2 = 1
fle_sta_2_1 = 1
fle_end_2_1 = 4
nfle = 1
fle_sta_1 = 1
fle_end_1 = 4
fle_seg_1 = "B"

[caprieval]
reference_fname = "data/target.pdb"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,10 @@ reference_fname = "data/1nx1_refe.pdb"
tolerance = 5
ambig_fname = "data/ambig.tbl"
# Define peptide as fully flexible
nfle2 = 1
fle_sta_2_1 = 1
fle_end_2_1 = 11
nfle = 1
fle_sta_1 = 1
fle_end_1 = 11
fle_seg_1 = "B"
# Define automatically dihedral restraints
# for alpha and beta secondary structure elements
ssdihed = "alphabeta"
Expand All @@ -71,9 +72,10 @@ reference_fname = "data/1nx1_refe.pdb"
tolerance = 5
ambig_fname = "data/ambig.tbl"
# Define peptide as fully flexible
nfle2 = 1
fle_sta_2_1 = 1
fle_end_2_1 = 11
nfle = 1
fle_sta_1 = 1
fle_end_1 = 11
fle_seg_1 = "B"
# Define automatically dihedral restraints
# for alpha and beta secondary structure elements
ssdihed = "alphabeta"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,10 @@ select = 400
tolerance = 5
ambig_fname = "data/ambig.tbl"
# Define peptide as fully flexible
nfle2 = 1
fle_sta_2_1 = 1
fle_end_2_1 = 11
nfle = 1
fle_sta_1 = 1
fle_end_1 = 11
fle_seg_1 = "B"
# Define automatically dihedral restraints
# for alpha and beta secondary structure elements
ssdihed = "alphabeta"
Expand All @@ -64,9 +65,10 @@ reference_fname = "data/1nx1_refe.pdb"
tolerance = 5
ambig_fname = "data/ambig.tbl"
# Define peptide as fully flexible
nfle2 = 1
fle_sta_2_1 = 1
fle_end_2_1 = 11
nfle = 1
fle_sta_1 = 1
fle_end_1 = 11
fle_seg_1 = "B"
# Define automatically dihedral restraints
# for alpha and beta secondary structure elements
ssdihed = "alphabeta"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,10 @@ select = 400
tolerance = 5
ambig_fname = "data/ambig.tbl"
# Define peptide as fully flexible
nfle2 = 1
fle_sta_2_1 = 1
fle_end_2_1 = 11
nfle = 1
fle_sta_1 = 1
fle_end_1 = 11
fle_seg_1 = "B"
# Define automatically dihedral restraints
# for alpha and beta secondary structure elements
ssdihed = "alphabeta"
Expand All @@ -64,9 +65,10 @@ reference_fname = "data/1nx1_refe.pdb"
tolerance = 5
ambig_fname = "data/ambig.tbl"
# Define peptide as fully flexible
nfle2 = 1
fle_sta_2_1 = 1
fle_end_2_1 = 11
nfle = 1
fle_sta_1 = 1
fle_end_1 = 11
fle_seg_1 = "B"
# Define automatically dihedral restraints
# for alpha and beta secondary structure elements
ssdihed = "alphabeta"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,10 @@ select = 5
tolerance = 20
ambig_fname = "data/ambig.tbl"
# Define peptide as fully flexible
nfle2 = 1
fle_sta_2_1 = 1
fle_end_2_1 = 11
nfle = 1
fle_sta_1 = 1
fle_end_1 = 11
fle_seg_1 = "B"
# Define automatically dihedral restraints
# for alpha and beta secondary structure elements
ssdihed = "alphabeta"
Expand All @@ -59,9 +60,10 @@ reference_fname = "data/1nx1_refe.pdb"
tolerance = 20
ambig_fname = "data/ambig.tbl"
# Define peptide as fully flexible
nfle2 = 1
fle_sta_2_1 = 1
fle_end_2_1 = 11
nfle = 1
fle_sta_1 = 1
fle_end_1 = 11
fle_seg_1 = "B"
# Define automatically dihedral restraints
# for alpha and beta secondary structure elements
ssdihed = "alphabeta"
Expand Down
19 changes: 11 additions & 8 deletions examples/docking-protein-peptide/docking-protein-peptide-test.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,13 @@ select = 5
tolerance = 20
ambig_fname = "data/ambig.tbl"
# Define peptide as fully flexible
nfle2 = 2
fle_sta_2_1 = 1
fle_end_2_1 = 5
fle_sta_2_2 = 6
fle_end_2_2 = 11
nfle = 2
fle_sta_1 = 1
fle_end_1 = 5
fle_seg_1 = "B"
fle_sta_2 = 6
fle_end_2 = 11
fle_seg_2 = "B"
# Define automatically dihedral restraints
# for alpha and beta secondary structure elements
ssdihed = "alphabeta"
Expand All @@ -61,9 +63,10 @@ reference_fname = "data/1nx1_refe.pdb"
tolerance = 20
ambig_fname = "data/ambig.tbl"
# Define peptide as fully flexible
nfle2 = 1
fle_sta_2_1 = 1
fle_end_2_1 = 11
nfle = 1
fle_sta_1 = 1
fle_end_1 = 11
fle_seg_1 = "B"
# Define automatically dihedral restraints
# for alpha and beta secondary structure elements
ssdihed = "alphabeta"
Expand Down
28 changes: 16 additions & 12 deletions examples/peptide-cyclisation/cyclise-peptide-full.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -44,18 +44,20 @@ mdsteps_cool1 = 2000
mdsteps_cool2 = 4000
mdsteps_cool3 = 4000
# give full flexibilit to the peptide
nfle1 = 1
fle_sta_1_1 = 1
fle_end_1_1 = 99
nfle = 1
fle_sta_1 = 1
fle_end_1 = 99
fle_seg_1 = "B"
# turn off electrostatic
elecflag = false

[mdref]
unambig_fname = "data/1sfi_unambig.tbl"
# give full flexibilit to the peptide
nfle1 = 1
fle_sta_1_1 = 1
fle_end_1_1 = 99
nfle = 1
fle_sta_1 = 1
fle_end_1 = 99
fle_seg_1 = "B"

[caprieval]
reference_fname = "data/1sfi_peptide-bound.pdb"
Expand Down Expand Up @@ -98,18 +100,20 @@ mdsteps_cool1 = 2000
mdsteps_cool2 = 4000
mdsteps_cool3 = 4000
# give full flexibilit to the peptide
nfle1 = 1
fle_sta_1_1 = 1
fle_end_1_1 = 99
nfle = 1
fle_sta_1 = 1
fle_end_1 = 99
fle_seg_1 = "B"
# turn off electrostatic
elecflag = false

[mdref]
watersteps = 5000
# give full flexibilit to the peptide
nfle1 = 1
fle_sta_1_1 = 1
fle_end_1_1 = 99
nfle = 1
fle_sta_1 = 1
fle_end_1 = 99
fle_seg_1 = "B"

[caprieval]
reference_fname = "data/1sfi_peptide-bound.pdb"
Expand Down
28 changes: 16 additions & 12 deletions examples/peptide-cyclisation/cyclise-peptide-test.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -41,18 +41,20 @@ mdsteps_cool1 = 2000
mdsteps_cool2 = 4000
mdsteps_cool3 = 4000
# give full flexibilit to the peptide
nfle1 = 1
fle_sta_1_1 = 1
fle_end_1_1 = 99
nfle = 1
fle_sta_1 = 1
fle_end_1 = 99
fle_seg_1 = "B"
# turn off electrostatic
elecflag = false

[mdref]
unambig_fname = "data/1sfi_unambig.tbl"
# give full flexibilit to the peptide
nfle1 = 1
fle_sta_1_1 = 1
fle_end_1_1 = 99
nfle = 1
fle_sta_1 = 1
fle_end_1 = 99
fle_seg_1 = "B"

[caprieval]
reference_fname = "data/1sfi_peptide-bound.pdb"
Expand Down Expand Up @@ -92,18 +94,20 @@ mdsteps_cool1 = 2000
mdsteps_cool2 = 4000
mdsteps_cool3 = 4000
# give full flexibilit to the peptide
nfle1 = 1
fle_sta_1_1 = 1
fle_end_1_1 = 99
nfle = 1
fle_sta_1 = 1
fle_end_1 = 99
fle_seg_1 = "B"
# turn off electrostatic
elecflag = false

[mdref]
watersteps = 5000
# give full flexibilit to the peptide
nfle1 = 1
fle_sta_1_1 = 1
fle_end_1_1 = 99
nfle = 1
fle_sta_1 = 1
fle_end_1 = 99
fle_seg_1 = "B"

[caprieval]
reference_fname = "data/1sfi_peptide-bound.pdb"
Expand Down
2 changes: 1 addition & 1 deletion src/fast-rmsdmatrix
Submodule fast-rmsdmatrix updated 1 files
+3 −3 README.md
51 changes: 11 additions & 40 deletions src/haddock/modules/refinement/emref/cns/flex_segment_back.cns
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@

do (store5 = 0) (all)
do (store6 = 0) (all)
do (store7 = 0) (all)

!first flexible segments for docking
evaluate($nchain1 = 0)
Expand All @@ -39,49 +38,21 @@ while ($nchain1 < $data.ncomponents) loop nloop1
end loop nloop1

!then fully flexible segments for all stages
evaluate($nchain1 = 0)
while ($nchain1 < $data.ncomponents) loop nloop2
evaluate($nchain1 = $nchain1 + 1)
if ($nfle$nchain1 = 0) then
display NO FULLY FLEXIBLE SEGMENTS for molecule $nchain1
else
display FULLY FLEXIBLE SEGMENTS for molecule $nchain1
evaluate($nf=0)
while ($nf < $nfle$nchain1) loop Xfflex
evaluate($nf=$nf + 1)
do (store5 = $nchain1) ( resid $fle_sta_$nchain1_$nf : $fle_end_$nchain1_$nf
and segid $prot_segid_$nchain1 )
display FULLY FLEXIBLE SEGMENT NR $nf FROM $fle_sta_$nchain1_$nf TO $fle_end_$nchain1_$nf
end loop Xfflex
end if
end loop nloop2
display NO FLEXIBLE SEGMENTS for all molecule at this stage
if ($nfle = 0) then
display NO FULLY FLEXIBLE SEGMENTS
else
evaluate($nf=0)
while ($nf < $nfle) loop Xfflex
evaluate($nf=$nf + 1)
do (store5 = 1) ( resid $fle_sta_$nf : $fle_end_$nf and segid $fle_seg_$nf )
display FULLY FLEXIBLE SEGMENT NR $nf FROM $fle_sta_$nf TO $fle_end_$nf FOR CHAIN $fle_seg_$nf
end loop Xfflex
end if

do (store5 = 21) (resn WAT or resn HOH or resn TIP*)
evaluate ($nfletot = 0)

! check number of flexible residues per molecule
evaluate($nchain1 = 0)
while ($nchain1 < $data.ncomponents) loop nloop3
evaluate($nchain1 = $nchain1 + 1)
do (store6 = 0) (all)
do (store6 = 1) (tag and (attr store5 = $nchain1))
show sum (store6) (all)
evaluate ($numfle=$result)
do (store6 = 0) (all)
do (store6 = 1) (tag and segid $prot_segid_$nchain1 and not (attr store5 = $nchain1))
show sum (store6) (all)
evaluate ($numrig=$result)
do (store6 = 0) (all)
do (store6 = 1) (tag and segid $prot_segid_$nchain1)
show sum (store6) (all)
evaluate ($numres=$result)
display FLEXIBILITY STATISTIC FOR MOLECULE $nchain1 : Nres=$numres Nrigid=$numrig Nflex=$numfle
evaluate ($nfletot = $nfletot + $numfle)
end loop nloop3

do (store1 = 0) (all)
do (store1 = 1) ((resn WAT or resn HOH or resn TIP*) and name OH2)
show sum (store1) ((resn WAT or resn HOH or resn TIP*))
evaluate ($nfletot = $nfletot + $result)

evaluate ($nfletot = $nfletot + 10)
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@ evaluate ($flcut = 5.0)

do (store5 = $nchain1) (byres (segid $prot_segid_$nchain1
and (not (segid $prot_segid_$nchain1 or resn SHA)) around $flcut))
do (store7 = $nchain1) (byres (segid $prot_segid_$nchain1
and (not (segid $prot_segid_$nchain1 or resn SHA)) around $flcut))

do (store6 = 0) (segid $prot_segid_$nchain1)
for $id in id (tag and attr store5 >0 and not ((resn WAT or resn HOH or resn TIP*) or resn DMSO) and segid $prot_segid_$nchain1) loop flexres1
Expand All @@ -30,7 +28,6 @@ for $id in id (tag and attr store5 >0 and not ((resn WAT or resn HOH or resn TIP
end loop flexres1

do (store5 = store6) (segid $prot_segid_$nchain1)
do (store7 = store6) (segid $prot_segid_$nchain1)

display THE FOLLOWING RESIDUES HAVE BEEN DEFINED AS FLEXIBLE for molecule $nchain1
for $id in id (tag and attr store5 >0 and not ((resn WAT or resn HOH or resn TIP*) or resn DMSO) and segid $prot_segid_$nchain1) loop flexres2
Expand Down
Loading
Loading