From adff26520245aa6a8ee320137e590bcaf71bc0b8 Mon Sep 17 00:00:00 2001 From: John May Date: Tue, 23 Aug 2016 14:16:01 +0100 Subject: [PATCH] Change functionality - don't write colon (:) for peripheral aromatic bonds, it is redundant. --- .../cdk/fingerprint/CircularFingerprintSmartsTest.java | 8 ++++---- .../org/openscience/cdk/smarts/SubstructureSmarts.java | 2 +- .../openscience/cdk/smarts/SubstructureSmartsTest.java | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/descriptor/fingerprint/src/test/java/org/openscience/cdk/fingerprint/CircularFingerprintSmartsTest.java b/descriptor/fingerprint/src/test/java/org/openscience/cdk/fingerprint/CircularFingerprintSmartsTest.java index 045be2252cf..fe4ca6ab6a2 100644 --- a/descriptor/fingerprint/src/test/java/org/openscience/cdk/fingerprint/CircularFingerprintSmartsTest.java +++ b/descriptor/fingerprint/src/test/java/org/openscience/cdk/fingerprint/CircularFingerprintSmartsTest.java @@ -88,10 +88,10 @@ public void testMol7() throws Exception { String molSmiles = "c1ccccc1"; String expectedFPSmarts[][] = { - { "c(:a):a" }, - { "c(:a)cc:a", "c(c:a)c:a", "c(cc:a):a" }, - { "c(:a)cccc:a", "c(c:a)ccc:a", "c(cc:a)cc:a", "c(ccc:a)c:a", - "c(cccc:a):a" }, + { "c(a)a" }, + { "c(a)cca", "c(ca)ca", "c(cca)a" }, + { "c(a)cccca", "c(ca)ccca", "c(cca)cca", "c(ccca)ca", + "c(cccca)a" }, { "c1ccccc1", "c(c1)cccc1", "c(cc1)ccc1", "c(ccc1)cc1", "c(cccc1)c1" } }; checkFPSmartsForMolecule(molSmiles, expectedFPSmarts); diff --git a/tool/smarts/src/main/java/org/openscience/cdk/smarts/SubstructureSmarts.java b/tool/smarts/src/main/java/org/openscience/cdk/smarts/SubstructureSmarts.java index 8e3ca82c853..4b7d7431cf8 100644 --- a/tool/smarts/src/main/java/org/openscience/cdk/smarts/SubstructureSmarts.java +++ b/tool/smarts/src/main/java/org/openscience/cdk/smarts/SubstructureSmarts.java @@ -264,7 +264,7 @@ private void encodeExpr(int idx, int bprev, StringBuilder sb) { if (avisit[nbr] == 0) { // peripheral bond if (remain > 0) sb.append('('); - sb.append(mol.getBond(bidx).isAromatic() ? ':' : bexpr[bidx]); + sb.append(bexpr[bidx]); sb.append(mol.getAtom(nbr).isAromatic() ? 'a' : '*'); if (remain > 0) sb.append(')'); } else { diff --git a/tool/smarts/src/test/java/org/openscience/cdk/smarts/SubstructureSmartsTest.java b/tool/smarts/src/test/java/org/openscience/cdk/smarts/SubstructureSmartsTest.java index 642a8a9627f..edaee57a7db 100644 --- a/tool/smarts/src/test/java/org/openscience/cdk/smarts/SubstructureSmartsTest.java +++ b/tool/smarts/src/test/java/org/openscience/cdk/smarts/SubstructureSmartsTest.java @@ -62,7 +62,7 @@ public void indoleWithPeripheral() throws Exception { String smarts = generate("[nH]1ccc2c1cccc2", true, makeSeq(0,4)); - assertThat(smarts, is("n(ccc(:a):a):a")); + assertThat(smarts, is("n(ccc(a)a)a")); } @Test