From 73d2daae7d4cfaf96d0f3c0e2f7e9987ee2ab780 Mon Sep 17 00:00:00 2001 From: acthiel212 Date: Tue, 5 May 2026 13:55:45 -0500 Subject: [PATCH] Fix to MutatePDB so patches are not discarded after mutations are made. --- .../main/java/ffx/algorithms/commands/MutatePDB.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/modules/algorithms/src/main/java/ffx/algorithms/commands/MutatePDB.java b/modules/algorithms/src/main/java/ffx/algorithms/commands/MutatePDB.java index 59f15153fe..06e5f39540 100644 --- a/modules/algorithms/src/main/java/ffx/algorithms/commands/MutatePDB.java +++ b/modules/algorithms/src/main/java/ffx/algorithms/commands/MutatePDB.java @@ -205,6 +205,17 @@ public MutatePDB run() { CompositeConfiguration properties = Keyword.loadProperties(structureFile); ForceFieldFilter forceFieldFilter = new ForceFieldFilter(properties); ForceField forceField = forceFieldFilter.parse(); + String[] patches = properties.getStringArray("patch"); + if (patches != null) { + for (String patch : patches) { + logger.info(" Attempting to read force field patch from " + patch + "."); + CompositeConfiguration patchConfiguration = new CompositeConfiguration(); + patchConfiguration.addProperty("parameters", patch); + forceFieldFilter = new ForceFieldFilter(patchConfiguration); + ForceField patchForceField = forceFieldFilter.parse(); + forceField.append(patchForceField); + } + } molecularAssembly.setForceField(forceField); PDBFilter pdbFilter = new PDBFilter(structureFile, molecularAssembly, forceField, properties);