vibesketch.document.enumeration

Finite, exhaustive R-group enumeration, preserving the generic drawing.

Occurrence and RestH follow MDL CTfile Formats (December 1999), pp. 2-12, 10-26: https://mdli.com/downloads/literature/ctfile.pdf. Unfilled sites with RestH off are unrestricted chemistry and cannot be exhaustively enumerated.

Functions

enumerate_rgroups(document[, core])

Append ALL constraint-valid products, or refuse atomically; never truncate.

Exceptions

EnumerationRefused

The complete enumeration cannot be represented or fits no bounded operation.

exception vibesketch.document.enumeration.EnumerationRefused[source]

Bases: ValueError

The complete enumeration cannot be represented or fits no bounded operation.

vibesketch.document.enumeration.enumerate_rgroups(document, core=None)[source]

Append ALL constraint-valid products, or refuse atomically; never truncate.

Existing species, cores, definitions, coordinates and jobs remain intact. Products are kept in table order, the order the substituents are listed, and deduplicated against existing species. A core with a compound number, such as 3, numbers its new products 3a, 3b, … in that order, written under them (maintainer decision, 2026-10-25). Repeating the operation is idempotent. A divalent site considers both attachment orientations, deduplicated by resulting chemical identity.

Parameters:
Return type:

Document