-
Notifications
You must be signed in to change notification settings - Fork 230
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Python 3.9] Clar SciPy Re-implementation, pythoncall
Debugging, Optional RMS
#2694
Conversation
added per sevy's review Co-authored-by: Sevy Harris <[email protected]>
fixed tabs
when it is missing
also update the final run example - the point of specifying the `PYTHONPATH` was so that users _don't_ have to give the full path to `rmg.py` - the `python` executable can search it out
- clearer error messages Co-authored-by: Hao-Wei Pang <[email protected]>
1. Replace lpsolve APIs with the scipy milp APIs. The new implementation potentially have a slightly better performance (due to vectorization, less data transfer, comparable solver performance, etc.) and improved readability. 2. Decouple the MILP solving step (as _solve_clar_milp ) from the MILP formulation step. The motivation is to avoid unnecessary computation. The original approach includes molecule analysis (specifically `get_aromatic_rings`) into the recursive calls. However, this is not necessary, as molecules are just copied and not modified at all. Therefore analyzing once is enough.
Co-authored-by: Hao-Wei Pang <[email protected]>
Docs build might not need to build Julia stuff anymore |
|
Need to update graphviz version to the latest |
…t, update subprocess syntax to py3
After optimization to get the Clar number, brute force enumerate all structures with that Clar number. |
Also, we should not optimize past the most optimal clar structure. |
Tweak formulation for this - rather than recursively calling, just add a new constraint that the previous clar number must be met, then stop iterating once infeasible (need to continually copy the molecule?). |
Latest commits have successfully re-implemented the solver with SciPy. I will merge this PR now, resolve the few oustanding unit test failures in the base branch, and then work toward adding back Julia and getting this ready to go to main. |
This PR replaces #2623 as discussed in this comment: #2687 (comment)