Skip to content

Martini3 SAXS formfactors#1429

Draft
mlund wants to merge 2 commits into
plumed:masterfrom
mlund:martini3-saxs-formfactors
Draft

Martini3 SAXS formfactors#1429
mlund wants to merge 2 commits into
plumed:masterfrom
mlund:martini3-saxs-formfactors

Conversation

@mlund

@mlund mlund commented Jul 1, 2026

Copy link
Copy Markdown

Description

This pull request adds support for using Martini 3 protein form factors in the SAXS action, allowing users to select between Martini 2.2 (the previous default) and Martini 3 form-factor sets via a new MARTINI_FF keyword.

  • Added the MARTINI_FF keyword to the SAXS action, allowing users to choose between Martini 2.2 (MARTINI_FF=2, default) and Martini 3 (MARTINI_FF=3) protein form factors. The code validates the keyword and applies the correct parameter set. (src/isdb/SAXS.cpp) [1] [2] [3]
  • Implemented a new method getMartiniFFparam_v3 to provide the Martini 3 protein bead form-factor coefficients and updated the bead enumeration to include new beads present only in Martini 3. (src/isdb/SAXS.cpp) [1] [2]
  • Updated the user documentation and changelog to describe the new MARTINI_FF option and its behavior. (src/isdb/SAXS.cpp, CHANGES/v2.11.md) [1] [2]
  • Added a new regression test for the SAXS action with Martini 3 form factors, including configuration, reference output, and input files. (regtest/isdb/rt-saxs-martini3/)

These changes ensure users can now select the latest Martini 3 protein form factors for SAXS calculations in PLUMED, with appropriate documentation and testing.

Target release

I would like my code to appear in release v2.11

Type of contribution

  • changes to code or doc authored by PLUMED developers, or additions of code in the core or within the default modules
  • changes to a module not authored by you
  • new module contribution or edit of a module authored by you

Copyright

  • I agree to transfer the copyright of the code I have written to the PLUMED developers or to the author of the code I am modifying.

  • the module I added or modified contains a COPYRIGHT file with the correct license information. Code should be released under an open source license. I also used the command cd src && ./header.sh mymodulename in order to make sure the headers of the module are correct.

Tests

  • I added a new regtest or modified an existing regtest to validate my changes.
  • I verified that all regtests are passed successfully on GitHub Actions.

mlund added 2 commits June 12, 2026 13:38
New MARTINI_FF keyword selects the Martini form-factor generation:
2 (default, existing Martini 2.2) or 3 (Martini 3 proteins). v3 adds
getMartiniFFparam_v3 with per-bead degree-6 polynomials and the M3
bead->type mapping (new beads ALA_SC1, TRP_SC5, TYR_SC4). Includes
regtest rt-saxs-martini3 (4LZT lysozyme) and changelog entry.
Comment thread src/isdb/SAXS.cpp
}


void SAXS::getMartiniFFparam_v3(const std::vector<AtomNumber> &atoms, std::vector<std::vector<long double> > &parameter) {
@carlocamilloni

Copy link
Copy Markdown
Member

@mlund thanks for your contribution, to me this is fine to be merged as is. I'll wait for you setting it as ready

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants