Skip to content

Commit 020b7e4

Browse files
committed
Skip dative bond perception if arrow bonds are already present.
1 parent 2fc55f5 commit 020b7e4

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

  • cdkdepict-lib/src/main/java/org/openscience/cdk/app

cdkdepict-lib/src/main/java/org/openscience/cdk/app/MolOp.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,9 @@ public static void perceiveDativeBonds(IAtomContainer mol, DativeBond opt) {
136136
for (IBond bond : mol.bonds()) {
137137
IAtom beg = bond.getBegin();
138138
IAtom end = bond.getEnd();
139+
if (bond.getDisplay().equals(IBond.Display.ArrowBeg) ||
140+
bond.getDisplay().equals(IBond.Display.ArrowEnd))
141+
continue;
139142
if (isPosDativeDonor(end, opt) && isNegDativeAcceptor(beg, opt)) {
140143
bond.setDisplay(IBond.Display.ArrowBeg);
141144
beg.setFormalCharge(beg.getFormalCharge() + 1);
@@ -149,6 +152,9 @@ public static void perceiveDativeBonds(IAtomContainer mol, DativeBond opt) {
149152
for (IBond bond : mol.bonds()) {
150153
IAtom beg = bond.getBegin();
151154
IAtom end = bond.getEnd();
155+
if (bond.getDisplay().equals(IBond.Display.ArrowBeg) ||
156+
bond.getDisplay().equals(IBond.Display.ArrowEnd))
157+
continue;
152158
if (isDativeDonor(end, opt) && isDativeAcceptor(beg, opt)) {
153159
bond.setDisplay(IBond.Display.ArrowBeg);
154160
} else if (isDativeDonor(beg, opt) && isDativeAcceptor(end, opt)) {

0 commit comments

Comments
 (0)