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?