In the end I didn't change anything about the custom forcefield implementation, as the things to adapt it for bonded cofactors/metals/other things needing custom forcefield need to be done manually outside openduck.
The helper script to create the xml custom forcefields is added, but not in the main openduck script. I don't know if it would be better just to add a 'tools' subparser and put there all these helper tools. I also created one to re-define the interaction a posteriori adding more options (i.e. exclusion/inclusion areas mainly, but also redefining the distance or atoms if needed).
I'll create a section in the openduck-tutorial repo and link it in the main repo README.md
On another note, I added the option of hmr in the openmm execution, as it was easy enough and I saw no reason to have it in amber but not in openMM.
In the end I didn't change anything about the custom forcefield implementation, as the things to adapt it for bonded cofactors/metals/other things needing custom forcefield need to be done manually outside openduck. The helper script to create the xml custom forcefields is added, but not in the main openduck script. I don't know if it would be better just to add a 'tools' subparser and put there all these helper tools. I also created one to re-define the interaction a posteriori adding more options (i.e. exclusion/inclusion areas mainly, but also redefining the distance or atoms if needed).
I'll create a section in the openduck-tutorial repo and link it in the main repo README.md
On another note, I added the option of hmr in the openmm execution, as it was easy enough and I saw no reason to have it in amber but not in openMM.