Mancude rings refuse to fuse?

Issue #30 new
Steve Chapman
created an issue

I tried to construct this structure: 11,12-dihydroindolo[2,3-a]carbazole, by instead approaching the name as 11,12-dihydrobenzo[2,1-b:3,4-b']diindole.

That does in fact work, but the fully conjugated (didehydro) name benzo[2,1-b:3,4-b']diindole is rebuffed with "Could not assign all higher order bonds."

Still, this name benzo[1,2-b:3,4-b']diindole, and this name benzo[2,1-b:4,5-b']diindole are accepted, which seems odd. This name indolo[2,3-a]carbazole is also accepted.

Comments (1)

  1. Daniel Lowe repo owner

    Thanks for the bug report.

    There does appear to be a perfectly reasonable arrangement of double bonds for the fully unsaturated ring system, so it is indeed a bug. The algorithm OPSIN uses for assigning double bonds isn't really right as it doesn't have a provision for backtracking if it assigns a wrong bond as double. If this happens it can get into a situation where it knows two atoms are both supposed to have a double bond, but the atoms are not next to each other, and hence that error message is produced. Admitedly I'm surprised that molecule fails as I thought the double bonds were assigned in the same order as the numbering of the ring system which in this case should give a valid kekule form. That's a nice case to motivate me to actually rewrite the algorithm, I'd not encountered many cases with the issue which weren't also ambigous. Ideally the double bond assignment algorithm should also report if it is ambiguous where to place the double bonds.

    I should really update that error message to say "Could not assign all double bonds", or maybe "Could not kekulise"

  2. Log in to comment