mmpdb icon indicating copy to clipboard operation
mmpdb copied to clipboard

Support for double-cut linkers with 0 atoms

Open baoilleach opened this issue 4 months ago • 1 comments

I would like these two molecules to be identified as double-cut matched pairs (e.g. with exocyclic fragmentation): image

The larger molecule has [*:1]C[*:2] as the linker, which is fine:

$ mmpdb smifrag "c1ccccc1OC2CCCNC2" --cut-smarts "exocyclic"
                   |------------  variable  ------------|       |-----------------------  constant  ---------------------
#cuts | enum.label | #heavies | symm.class | smiles     | order | #heavies | symm.class | smiles              | with-H
------+------------+----------+------------+------------+-------+----------+------------+---------------------+----------
  1   |     N      |    6     |      1     | *C1CCCNC1  |    0  |     7    |      1     | *Oc1ccccc1          | Oc1ccccc1
  1   |     N      |    7     |      1     | *Oc1ccccc1 |    0  |     6    |      1     | *C1CCCNC1           | C1CCNCC1
  2   |     N      |    1     |     11     | *O*        |   01  |    12    |     12     | *C1CCCNC1.*c1ccccc1 | -
  1   |     N      |    7     |      1     | *OC1CCCNC1 |    0  |     6    |      1     | *c1ccccc1           | c1ccccc1
  1   |     N      |    6     |      1     | *c1ccccc1  |    0  |     7    |      1     | *OC1CCCNC1          | OC1CCCNC1

The smaller molecule should have [*:1][*:2] as the linker, but nothing is found:

$ mmpdb smifrag "c1ccccc1C2CCCNC2" --cut-smarts "exocyclic"
                   |------------  variable  -----------|       |-----------------  constant  ----------------
#cuts | enum.label | #heavies | symm.class | smiles    | order | #heavies | symm.class | smiles    | with-H
------+------------+----------+------------+-----------+-------+----------+------------+-----------+---------
  1   |     N      |    6     |     1      | *C1CCCNC1 |   0   |    6     |     1      | *c1ccccc1 | c1ccccc1
  1   |     N      |    6     |     1      | *c1ccccc1 |   0   |    6     |     1      | *C1CCCNC1 | C1CCNCC1

I'm hoping there's a secret minsize somewhere I can change from 1 to 0, or is support for this likely to require much greater changes?

baoilleach avatar Oct 17 '24 17:10 baoilleach