Automatic atachment /R sites

Is there a way to use the RDKIT nodes to attach attachement/R sites on molecules? This functionality of adding R and A arises frequently if one were to construct combinatorial libraries.

For a fragment database containing several thousand data, it is simply not possible to do it by hand.

Software that generate combilibs however do require SMILES strings with A and R defined.

It's actually somewhat straightforward with the RDKit to do this.

Suppose I want to attach a marker to an oxadiazole ring. I would use a one-component reaction node and the following reaction:

[$(c1ncno1):1]>>[1*][c:1]

This attaches a dummy atom with isotopic-label 1 to one of the carbons.

The corresponding SMILES generated for oxadiazole itself (generated from either the RDKit canonical smiles or RDKit -> molecule nodes with the output format set to SMILES) is: [1*]c1oncn1

The SDF output (from the RDKit->molecule node with the output format set to SDF) is:


     RDKit          2D

  6  6  0  0  0  0  0  0  0  0999 V2000
    2.7760    0.0000    0.0000 R   1  0  0  0  0  0  0  0  0  0  0  0
    1.2760    0.0000    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    0.3943    1.2135    0.0000 O   0  0  0  0  0  0  0  0  0  0  0  0
    0.3943   -1.2135    0.0000 N   0  0  0  0  0  0  0  0  0  0  0  0
   -1.0323    0.7500    0.0000 N   0  0  0  0  0  0  0  0  0  0  0  0
   -1.0323   -0.7500    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
  1  2  1  0
  3  2  1  0
  2  4  2  0
  5  3  1  0
  4  6  1  0
  6  5  2  0
M  END

$$$$

This should probably get you close to what you need. If you need to attach multiple R groups, you'll need to use multiple reactions (each defining a particularly attachement point) and if you want R1/A1 labels in the SMILES (definitely not part of the SMILES spec), you can use the knime String Replacer node to replace the [1*], [2*], etc. labels with [R1], [R2], etc.

hope this helps,

-greg

thanks. Not very familiar with the reaction node and syntax but time to learn!

cheers