I am using your 'One Component Reaction' to protonate O- in my compounds, seeing as how no Knime nodes have this ability.
However, my compound contains 2 functional groups of SO- and when I add the reacting group to convert to SOH, it only protonates one of the groups and leaves the other alone.
Is there any way that there's a feature to react ALL matching functional groups
Oh, and if it is a salt, so Main Component and Na+, if you have used the rxn to protonate a O- on the Main Component with a rxn of [XO- --> XOH], the Na+ is not in the product. It's removed.
And the final thing about this - when you push your molecules through the Reaction node, it loses all of the columns that you have painstakingly created in the previous steps. You just end up with product and reactant. It would be nice to keep the data as it is.
A "simple" solution might be to just use two one component reaction nodes in series - the inputs should still be the same correct?
Some kind of joiner to reinstate the lost columns - see the attached demo workflow
There are some great suggestions here that I think would probably be better addressed by us creating a new node. Let me explain what I mean.
The One-component reaction node is intended to create new molecule rows by running a set of reactants through a reaction. Each reactant can produce multiple rows in the output table if it matches the reaction query more than once (or zero if it doesn't match the query at all). So if you have a molecule with two XO-'s and you're applying a reaction that protonates those, you will get two output rows.
What (I think) you are looking for is what I would call a "molecular transformation" node: something that takes an input molecule, applies one or more single reactant reactions to it as often as they match, and outputs the modified molecule. So an N row input table would create an N row output table.
I would guess that the "molecular transformation" node would have two input ports: one for the molecules to be transformed, the second for the reactions to be applied. For each input molecule it would apply the reactions in order. Each reaction would be applied as many times as it can be.
Does that sound right to you?
Wouldn't you just need one in-port? The molecules.
you would have drawn the reaction transformation in your reaction smarts etc, I.e. OH to OMe, and it simply applies that an unlimited number of times to each molecule until there are no further matches. I do like the sound of this node.
Medchem wise this would be really useful e.g. in the enumeration of possible aromatic halogen substitutions e.g. cH -> cF
Of course, then you might have to consider all the combinatorials possibilities of multi-halo substitutions.
Greg, that molecular transformation node sounds brilliant. In ChEMBL, we have some glucose-based molecules where there is a ring of about 10 glucose molecules and each -OH has a suphate group attached and each OH on the sulphate has been turned into O- and I want to change them all back. So you can imagine how many reaction nodes I would have to link together to transform that compound!!
We really want to start implementing Knime and RDKit into the ChEMBL curation so these types of nodes will be ideal.
I am currently working on the Structure Transformation node. It would be a nice test case for me, if you could make the molecules and reactions to apply to each of them available to me. If you are allowed to share them, please attach them. Thanks!
Has there been any further progress with this node?
I am trying to use it now rather than use indigo - which is a much better rxn component but worse at cmpd handling.
It would be a shame if this component isn't improved.
p.s. Manuel, you just need to draw a compound with two of the same functional groups that would be altered in the rxn. Very simple.
We have an initial version of the chemical transform node done, but we haven't yet put it through our internal publication process. It will come in the next few weeks.
Youu can also do this sort of thing using a recursive loop start / recursive loop end combination. Yoyu need to put you products for the iteration into both ports of the loop end node, and then the loop will keep iterating until their are no new products generated (assuming you configure the end node correctly!)
the new RDKit Chemical Transformation Node will be available in the next nightly build. You will find it in the RDKit / Reactions category. Please have a look and test it, and let Greg and me know if it meets your expectations.
This is not in the Reactions category. Was this ever released?