tieulongphan / synrbl Goto Github PK
View Code? Open in Web Editor NEWRebalancing chemical reaction
License: MIT License
Rebalancing chemical reaction
License: MIT License
I've encountered an issue with the reaction imputation process. The reaction in question appears to be imputed correctly, as shown in the following image:
However, there's a critical problem concerning the multiple steps of this reaction. The use of Grignard reagents in this context does not seem chemically plausible. Grignard reagents are known to be highly reactive with water, making them unstable and unsuitable for use in aqueous solutions. This issue raises questions about the reaction's feasibility and accuracy in a real-world chemical setting.
1. Reduction reaction
The current transformation appears to treat the reduction of carboxylic acids to carbonyl compounds as a direct reaction facilitated merely by the addition of H2. An example of this is shown in the figure below. While this approach is stoichiometrically correct, it does not accurately reflect the typical chemical pathways for such a reduction.
Direct reduction of carboxylic acids to carbonyl compounds is relatively rare in chemical processes. More commonly, these reductions involve intermediate steps or different reagents.
As a temporary solution, I suggest changing H2 to [H] in the dataset. This alteration might better represent the general concept of reduction without specifying a direct reaction mechanism that is chemically less common.
For a more accurate and detailed representation, it might be beneficial to consider incorporating specific reagents and intermediate steps that are commonly involved in the reduction of carboxylic acids to carbonyl compounds in real-world chemistry. For example: in reduction of amid to amin should use LiAlH4, reduction of alken to alkan should use H2/Ni
2. Oxidation reaction
Should be the same issue
I've identified a potential issue in the reaction transformations involving aryl halides (Ar-Halide) and alkyl halides (Alkyl-Halide). For eg: id': 'US20130089512A1'
In the current dataset, aryl halides are being reduced directly to aryl hydrides (Ar-H). The provided example (see image below) illustrates this issue. However, this direct reduction approach is chemically less common for aryl halides.
A more chemically accurate approach would be to first transform the aryl halide into a metal derivative, followed by solvation with H2O. This pathway would better reflect the typical reactivity of aryl halides.
For alkyl halides, using [H] for reduction seems appropriate. However, the same treatment for aryl halides seems to oversimplify their chemistry.
The product is E-isomer so it should be Na+NH3 instead of H2
{'id': 'US05622954',
'class': 8,
'reactions': 'CC(C)(CO)c1ccc(Cl)cc1>>CC(C)(C=O)c1ccc(Cl)cc1',
'reactants': 'CC(C)(CO)c1ccc(Cl)cc1',
'products': 'CC(C)(C=O)c1ccc(Cl)cc1.[HH]',
'standardized_reactants': nan,
'standardized_products': nan,
'Unbalance': 'Products',
'Diff_formula': {'H': 2, 'Q': 0},
'new_reaction': 'CC(C)(CO)c1ccc(Cl)cc1>>CC(C)(C=O)c1ccc(Cl)cc1.[HH]'}
{'id': 'US05670675',
'class': 8,
'reactions': 'CC(=O)NC@HC(C)C>>CC(=O)NC@HC(C)C',
'reactants': 'CC(=O)NC@HC(C)C',
'products': 'CC(=O)NC@HC(C)C.[HH]',
'standardized_reactants': nan,
'standardized_products': nan,
'Unbalance': 'Products',
'Diff_formula': {'H': 2, 'Q': 0},
'new_reaction': 'CC(=O)NC@HC(C)C>>CC(=O)NC@HC(C)C.[HH]'}
{'id': 'US07700657B2',
'class': 9,
'reactions': 'CC/C(=C\C=C(Br)Br)c1cccc(CCc2ccc(C(OSiHC)C(C)(C)C)c(C(OSiHC)C(C)(C)C)c2)c1>>C#C/C=C(\CC)c1cccc(CCc2ccc(C(OSiHC)C(C)(C)C)c(C(OSiHC)C(C)(C)C)c2)c1',
'reactants': 'CC/C(=C\C=C(Br)Br)c1cccc(CCc2ccc(C(OSiHC)C(C)(C)C)c(C(OSiHC)C(C)(C)C)c2)c1',
'products': 'C#C/C=C(\CC)c1cccc(CCc2ccc(C(OSiHC)C(C)(C)C)c(C(OSiHC)C(C)(C)C)c2)c1.BrBr',
'standardized_reactants': nan,
'standardized_products': nan,
'Unbalance': 'Products',
'Diff_formula': {'Br': 2, 'Q': 0},
'new_reaction': 'CC/C(=C\C=C(Br)Br)c1cccc(CCc2ccc(C(OSiHC)C(C)(C)C)c(C(OSiHC)C(C)(C)C)c2)c1>>C#C/C=C(\CC)c1cccc(CCc2ccc(C(OSiHC)C(C)(C)C)c(C(O[SiH](C
{'id': 'US20110212930A1',
'class': 4,
'reactions': 'CC(C)(C)OC(=O)N1CCc2cc(N)ccc21.O=C(Cl)CCCCBr>>CC(C)(C)OC(=O)N1CCc2cc(N3CCCCC3=O)ccc21',
'reactants': 'CC(C)(C)OC(=O)N1CCc2cc(N)ccc21.O=C(Cl)CCCCBr',
'products': 'CC(C)(C)OC(=O)N1CCc2cc(N3CCCCC3=O)ccc21.ClBr.[HH]',
'standardized_reactants': nan,
'standardized_products': nan,
'Unbalance': 'Products',
'Diff_formula': {'Cl': 1, 'Br': 1, 'H': 2, 'Q': 0},
'new_reaction': 'CC(C)(C)OC(=O)N1CCc2cc(N)ccc21.O=C(Cl)CCCCBr>>CC(C)(C)OC(=O)N1CCc2cc(N3CCCCC3=O)ccc21.ClBr.[HH]'}
=> Should be HBr + HCl
The problem is caused by
shortest_sublists = find_shortest_sublists(solutions)
return sorted(shortest_sublists, key=calculate_net_charge, reverse=True)
Diff_formula': {'Cl': 1, 'Br': 1, 'H': 2, 'Q': 0}
The wrong solution: {HH, BrCl} only 2 elements
The right solution: {2H+, Br-, Cl-} 4 elements
{
'id': 'US20070225349A1'
'class': 6
'reactions': 'COc1ccc(-c2nn(C(C)C)c3c(Cl)cccc23)cc1>>CC(C)n1nc(-c2ccc(O)cc2)c2cccc(Cl)c21'
'reactants': 'COc1ccc(-c2nn(C(C)C)c3c(Cl)cccc23)cc1'
'products': 'CC(C)n1nc(-c2ccc(O)cc2)c2cccc(Cl)c21'
'Unbalance': 'Products'
'Diff_formula': {'C': 1, 'H': 2}
'mcs_impute_reaction': 'COc1ccc(-c2nn(C(C)C)c3c(Cl)cccc23)cc1>>CC(C)n1nc(-c2ccc(O)cc2)c2cccc(Cl)c21.CO'
}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.