Repository navigation
Consistency of CNS scripts across modules - issue #1729 - #1736
Open
amjjbonvin wants to merge 8 commits into
Open
amjjbonvin wants to merge 8 commits into
amjjbonvin wants to merge 8 commits into
Conversation
Added test for consistency checking Corrected/simplified some igroup statements for CG
- flexref: remove the SCD1/SCD2 igroup statements. Statements in one igroup add up, so they doubled the electrostatics of the polar CG beads. Both intended effects are already provided by the topology/parameters (bonded SCD1-SCD2 pairs excluded by nbxmod=5; SCd type has no LJ parameters). The flexref scale_* scripts are identical again to the other modules. - Remove the redundant igroup before the free-molecule energy (replaced by scale_intra_only.cns in calc_free-ene.cns before any energy evaluation). - emref, mdref: remove the second dna-rna_restraints.cns call before the final energy (duplicated all DNA/RNA restraints). - Harmonise the flags of the free-molecule energy section on flexref (flag excl * include bond angle dihe impr vdw); restraint energies are no longer part of the free-molecule, complex and final energies of the scoring modules. - emref: remove the reset to the all-atom epsilon, so CG models use epsilon_cg for the internal and final energies (as flexref). - mdref: remove the redundant dielectric block before calc_free-ene.cns. - All modules: report total = vdw + elec + AIR, so the total no longer contains restraint energies not shown in the other energy terms. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s-scripts-consistency
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
VGPReys
reviewed
Oct 26, 2026
VGPReys
reviewed
Oct 26, 2026
VGPReys
reviewed
Oct 26, 2026
|
|
||
| {* Define various interaction and energetics settings *} | ||
|
|
||
| igroup interaction (not all) (not all) end |
Contributor
There was a problem hiding this comment.
Computing interactions between not all and not all ?
Member
Author
There was a problem hiding this comment.
This basically reinitialise the interaction arrays to none
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do and why?
Several CNS scripts are copied into multiple modules. Some copies had drifted apart, and some energy sections differed between modules without reason. This PR:
tests/test_cns_scripts_consistency.pyrequires every copy of a shared CNS script to be identical. Copies that are meant to differ must be listed inINTENDED_VARIANTS. This replaces the two copy checks inintegration_tests/(contactairs, dna-rna restraints).dna-rna_restraints.cnscall before the final energy is removed.epsilon_cgfor CG models, as flexref does.How was this tested?
pytest tests/(2358 passed).mainwith this branch (report below). The only quality changes are in the two CG examples, where the CG energies changed:analysis/dnascan-testdiffers only in the mutant file names, not in the results.AI assistance
Claude Code helped compare the CNS scripts, wrote the energy-section harmonisation (5e13418) and ran the regression comparison. I reviewed the changes and the results.
Checklist
CHANGELOG.mdupdated for user-facing changesRelated issues
Closes #1729
Notes for reviewers
tolerancewas raised from 5 to 20 (allowing one model out of five to fail)). The regression run already used this setting, which is why the report says "+ local changes".Regression report (examples/regression/report.md)
Example regression report
c8414e6e4(2026-10-17T06:55:32)5e13418d1 (+ local changes)(2026-10-17T11:37:46)1. Run status and outputs
2. CAPRI quality changes
7_caprieval(DockQ criteria): nmodels: 5 → 4; acceptable: 5 → 4 ▼; best model rank: 2 → 3 ▼; best dockq: 0.462 → 0.409 ▼; best ilrmsd: 4.505 → 5.487 ▼10_caprieval(DockQ criteria): nmodels: 5 → 4; acceptable: 5 → 4 ▼; best dockq: 0.486 → 0.421 ▼; best ilrmsd: 4.435 → 5.502 ▼13_caprieval(DockQ criteria): nmodels: 5 → 4; acceptable: 5 → 4 ▼; best dockq: 0.486 → 0.421 ▼; best ilrmsd: 4.435 → 5.502 ▼6_caprieval(DockQ criteria): best irmsd: 20.947 → 20.089 ▲; best ilrmsd: 51.534 → 50.543 ▲9_caprieval(DockQ criteria): best irmsd: 20.857 → 19.953 ▲; best ilrmsd: 50.364 → 49.362 ▲12_caprieval(DockQ criteria): best irmsd: 20.857 → 19.953 ▲; best ilrmsd: 50.364 → 49.362 ▲3. First acceptable and best models
Over 175 caprieval step(s):
The best model is the one with the lowest i-RMSD (il-RMSD for the ligand criteria). Values are
main → now; a single value means unchanged.Steps that changed (3)
All caprieval steps (175)
4. Runtime changes
5. Failing on both main and the current code
None.
6. Unchanged
7. Skipped
🤖 Generated with Claude Code and manual edits