From dcd40679bd22ebaab8cdbbec04b29cb1177e2a36 Mon Sep 17 00:00:00 2001 From: John Mayfield Date: Mon, 21 Aug 2023 16:19:08 +0100 Subject: [PATCH] Improved the abbreviation handling over atom sets, this is useful for reactions where we don't want to abbreviate across a bond which is broken/made. The semantics are a little hard to follow but essentially we either reject the sgroup out right, or tentatively accept it (may be fixable). As in the test case, to allow -Ac and NOT -OAc we reject out right and don't mark the atoms as visited. --- .../openscience/cdk/depict/Abbreviations.java | 139 +++++++++--------- .../cdk/depict/AbbreviationsTest.java | 19 +++ 2 files changed, 87 insertions(+), 71 deletions(-) diff --git a/app/depict/src/main/java/org/openscience/cdk/depict/Abbreviations.java b/app/depict/src/main/java/org/openscience/cdk/depict/Abbreviations.java index c1f828df30..02dc4e18d8 100644 --- a/app/depict/src/main/java/org/openscience/cdk/depict/Abbreviations.java +++ b/app/depict/src/main/java/org/openscience/cdk/depict/Abbreviations.java @@ -147,11 +147,11 @@ public enum Option { */ private static final String INTERPUNCT = "ยท"; - private final Map connectedAbbreviations = new LinkedHashMap<>(); + private final Map connectedAbbreviations = new LinkedHashMap<>(); private final Map disconnectedAbbreviations = new LinkedHashMap<>(); - private final Set labels = new LinkedHashSet<>(); - private final Set disabled = new HashSet<>(); - private final SmilesGenerator usmigen = SmilesGenerator.unique(); + private final Set labels = new LinkedHashSet<>(); + private final Set disabled = new HashSet<>(); + private final SmilesGenerator usmigen = SmilesGenerator.unique(); private final SmilesParser smipar = new SmilesParser(SilentChemObjectBuilder.getInstance()); private final Set