Reactor: distinguishing symmetrical difunctional reactants?

User c5a59af6ca

15-06-2015 17:02:21

Hi, I'm trying to examine the output of Reactor to locate reactants that have more than one of the same functional group.  For example, in a reaction forming an amide from an amine and an acid it would be useful to locate diacids.  However, I'm running into issues when a difunctional reactant has symmetry.


The "-l, --single" option says it "process[es] unambiguous reactions only".  Where the reaction unambiguously gives the same product twice it still appears to give a result?


For example, formation of an amide from two monofunctional reactants (specifically) works well:


react.bat -r "[N:1]([C:4])[C:5].[C:2](=[O:3])[OH]>>[C:4][N:1]([C:5])[C:2](=[O:3])" "CCNC" "CCC(=O)O" -l


CCN(CC)C(=O)CC


a non-symmetrical difunctional acid gives no products with -l:


react.bat -r "[N:1]([C:4])[C:5].[C:2](=[O:3])[OH]>>[C:4][N:1]([C:5])[C:2](=[O:3])" "CCNC" "OC(=O)COCCC(=O)O" -l


[no output]


however a symmetrical difunctional acid does give a product:


react.bat -r "[N:1]([C:4])[C:5].[C:2](=[O:3])[OH]>>[C:4][N:1]([C:5])[C:2](=[O:3])" "CCNC" "OC(=O)CCCC(=O)O" -l


CCN(CC)C(=O)CCCC(O)=O


Another possibility in the help for "product related options" suggests the '--allow-duplicates option could be useful.  However, it can give multiple products anyway when the reaction has multiple mappings.  So the number of products is not useful unless you have a mixture of reactants you expect to give unambiguous and unambiguous results.  Also, is this option exposed in the Pipeline Pilot components?


monofunctional (secondary amine can map two ways):


react.bat -r "[N:1]([C:4])[C:5].[C:2](=[O:3])[OH]>>[C:4][N:1]([C:5])[C:2](=[O:3])" "CCNC" "CCC(=O)O" --allow-duplicates


CCN(CC)C(=O)CC
CCN(CC)C(=O)CC


non-symmetrical difunctional:


react.bat -r "[N:1]([C:4])[C:5].[C:2](=[O:3])[OH]>>[C:4][N:1]([C:5])[C:2](=[O:3])" "CCNC" "OC(=O)COCCC(=O)O" --allow-duplicates


CCN(CC)C(=O)COCCC(O)=O
CCN(CC)C(=O)CCOCC(O)=O
CCN(CC)C(=O)COCCC(O)=O
CCN(CC)C(=O)CCOCC(O)=O


symmetrical difunctional:


react.bat -r "[N:1]([C:4])[C:5].[C:2](=[O:3])[OH]>>[C:4][N:1]([C:5])[C:2](=[O:3])" "CCNC" "OC(=O)CCCC(=O)O" --allow-duplicates


CCN(CC)C(=O)CCCC(O)=O
CCN(CC)C(=O)CCCC(O)=O
CCN(CC)C(=O)CCCC(O)=O
CCN(CC)C(=O)CCCC(O)=O


Is there any way to locate these symmetrical cases from Reactor itself?

ChemAxon e08c317633

16-06-2015 11:58:15

The mentioned options were not used by many users, so we deprecated them in the last 1-2 years and they will be removed. 


1./ Single


  -l, --single                        process unambiguous reactions only
(with each reactant having a single
active reaction site)
(deprecated, will be removed)

It can be substituted with functional group / active site counting pre-filter. In command line functional group counting can be done with Chemical Terms Evaluator.


evaluate -e matchCount(carboxylic_acid) "CCC(=O)O"
1

evaluate -e matchCount(carboxylic_acid) "OC(=O)COCCC(=O)O"
2

CT Evaluator can filter reactants with one matching functional group.


evaluate -e "matchCount(carboxylic_acid) == 1" "CCC(=O)O" "OC(=O)COCCC(=O)O" -x smiles
CCC(O)=O

Chemical Terms is accessible from multiple ChemAxon products, including. IJC, JChem Base, JChem for Excel, KNIME and PP nodes.


2./ Allow duplicates


  -w, --allow-duplicates              allow product list duplicates for
efficiency (default: no duplicates)
(deprecated, will be removed)

The "allow duplicates" option has never made sense for chemists. We implemented a fast duplicate filtering algorithm and deprecated the option.

User c5a59af6ca

16-06-2015 12:22:49

Thanks for the additional information!


So what happens if the only thing I have is a reaction drawn by a chemist?  How do I convert the drawn reaction and reactivity information they may have attached into a set of chemical terms to use in a query?


It seemed like converting a reaction into chemical terms would be be harder than using the reaction itself to sort out ambiguous cases?

ChemAxon e08c317633

16-06-2015 14:57:47










jmilbank wrote:

So what happens if the only thing I have is a reaction drawn by a chemist?  How do I convert the drawn reaction and reactivity information they may have attached into a set of chemical terms to use in a query?


It seemed like converting a reaction into chemical terms would be be harder than using the reaction itself to sort out ambiguous cases?



You are right, it would be much harder. We have removed the options to decrease the complexity of Reactor.


Which one is your preferred Reactor user interface? (command line, desktop application, Instant JChem, JChem for Excel, Plexus, KNIME node, PP node, other)
On graphical user interfaces we can introduce more intuitive solutions for same functionality.


We will consider not removing the "--single" option from command line Reactor, however we might rename it.

User c5a59af6ca

16-06-2015 18:36:15

Hi, we are using standalone Reactor and PP components (command line just for quick testing).  It would be useful for chemists to be able to handle this in the UI and also catch in automated protocols.


Is there an equivalent of the --single option that also fails symmetrical difunctional cases?

ChemAxon e08c317633

18-06-2015 08:52:57










jmilbank wrote:

Is there an equivalent of the --single option that also fails symmetrical difunctional cases?



We decided not to remove the --single option from Reactor. We will fix the symmetrical difunctional case.

ChemAxon e08c317633

09-07-2015 08:57:11

The --single option was fixed in version 15.6.22.