When running the transform query, the enumerator only creates one out of the several possible compounds if a fragment to be replaced is symmetric.
Here is a simplified example:
Running a transform query with this input compound
C1CCC1CCN2CC2
yields (among others) this fragmentation:
constant: C1CCC1.C2CN2
variable: CC
Note that the variable linker is symmetric.
The MMP database now contains transformations like
CC >> C(C)C
which should produce these two compounds:
C1CCC1C(C)CN2CC2
C1CCC1CC(C)N2CC2
, depending on which way round the transformation is applied. However, it only produces one of them. (The other one is produced too, but based on a different rule with much less pairs.)
When running the transform query, the enumerator only creates one out of the several possible compounds if a fragment to be replaced is symmetric.
Here is a simplified example: Running a transform query with this input compound
C1CCC1CCN2CC2
yields (among others) this fragmentation:
constant: C1CCC1.C2CN2 variable: CC
Note that the variable linker is symmetric. The MMP database now contains transformations like
CC >> C(C)C
which should produce these two compounds:
C1CCC1C(C)CN2CC2 C1CCC1CC(C)N2CC2
, depending on which way round the transformation is applied. However, it only produces one of them. (The other one is produced too, but based on a different rule with much less pairs.)