diff --git a/src/main/org/openscience/cdk/signature/MoleculeFromSignatureBuilder.java b/src/main/org/openscience/cdk/signature/MoleculeFromSignatureBuilder.java index f169b30c1d1..1127a57bbc8 100644 --- a/src/main/org/openscience/cdk/signature/MoleculeFromSignatureBuilder.java +++ b/src/main/org/openscience/cdk/signature/MoleculeFromSignatureBuilder.java @@ -22,6 +22,7 @@ */ package org.openscience.cdk.signature; +import org.openscience.cdk.CDKConstants; import org.openscience.cdk.annotations.TestClass; import org.openscience.cdk.annotations.TestMethod; import org.openscience.cdk.interfaces.IAtom; @@ -70,6 +71,13 @@ public void makeEdge(int vertexIndex1, int vertexIndex2, container.addBond(vertexIndex1, vertexIndex2, IBond.Order.DOUBLE); } else if (edgeLabel.equals("#")) { container.addBond(vertexIndex1, vertexIndex2, IBond.Order.TRIPLE); + } else if (edgeLabel.equals("p")) { + IBond bond = builder.newInstance(IBond.class, + container.getAtom(vertexIndex1), + container.getAtom(vertexIndex2), + IBond.Order.SINGLE); + bond.setFlag(CDKConstants.ISAROMATIC, true); + container.addBond(bond); } } diff --git a/src/test/org/openscience/cdk/signature/MoleculeFromSignatureBuilderTest.java b/src/test/org/openscience/cdk/signature/MoleculeFromSignatureBuilderTest.java index ccbb57a9c8d..20ad332afe9 100644 --- a/src/test/org/openscience/cdk/signature/MoleculeFromSignatureBuilderTest.java +++ b/src/test/org/openscience/cdk/signature/MoleculeFromSignatureBuilderTest.java @@ -24,6 +24,7 @@ import org.junit.Assert; import org.junit.Test; +import org.openscience.cdk.CDKConstants; import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IBond; @@ -191,6 +192,24 @@ public void makeEdgeTest_tripleBond() { Assert.assertEquals(IBond.Order.TRIPLE, product.getBond(0).getOrder()); } + @Test + public void makeEdgeTest_aromaticBond() { + MoleculeFromSignatureBuilder builder = + new MoleculeFromSignatureBuilder( + NoNotificationChemObjectBuilder.getInstance()); + builder.makeGraph(); + builder.makeVertex("C"); + builder.makeVertex("C"); + builder.makeEdge(0, 1, "C", "C", "p"); + + IAtomContainer product = builder.getAtomContainer(); + Assert.assertEquals(2, product.getAtomCount()); + Assert.assertEquals(1, product.getBondCount()); + IBond bond = product.getBond(0); + Assert.assertEquals(IBond.Order.SINGLE, bond.getOrder()); + Assert.assertTrue(bond.getFlag(CDKConstants.ISAROMATIC)); + } + @Test public void getAtomContainerTest() { MoleculeFromSignatureBuilder builder =