ReactionMechanismGenerator / RMG-website

A Django-powered website for Reaction Mechanism Generator (RMG)
Other
20 stars 29 forks source link

Add solid solubility prediction tool #238

Closed yunsiechung closed 2 years ago

yunsiechung commented 2 years ago

Overview

The solid solubility prediction tool has been added to the Solvation Tools page. It is under database/solvation/searchSolubility/. Go to Home -> Solvation Tools -> Solid Solubility Prediction to test it!

Important Notes

The environment.yml file has been changed. Please update the rmg environment before testing it by following the instruction (also shown on the wiki page):

cd RMG-website
conda env update -f environment.yml
pip install git+https://github.com/bp-kelley/descriptastorus

Details

One can go to the Solid Solubility Prediction page and try various inputs. The following is considered for this search page:

Sample test case:

You can try the following input values to test the solubility prediction tool:

Input 1

Input 2

Input 3

Input page: input2

Expected Outputs:

output2

Other input and output samples

Input1

output1

Minor notes/tips

1. Problem with migrations I have a problem migrating files with the following error: image

If I delete all migration files inside RMG-website/rmgweb/database/migrations and run makemigrations and migrate again, I no longer have this problem. I'm not sure what's the best way to solve this problem.

2. Making makemigrations and migrate part faster Currently, running makemigrations and migrate takes several seconds because it has to load all the ML files first. If you want to accelerate this step, you can comment out line 103 - line 107 in RMG-website/rmgweb/database/views.py and uncomment them before running runserver.

yunsiechung commented 2 years ago

@jonwzheng Thank you for the review and suggestions. I made the changes you asked for:

1. InChI key option The solubility search page now shows that both SMILES or InChI are acceptable (commit 4bb552f)

image

2. Throw error/warning message for out-of-range solvent and solute compounds I added a method to throw approximate error/warning message by doing the following checks on the input solvent and solute compounds (commit d74177c)

This method has been added to all the other solvation tools as well.

The sample output file for Solid Solubility search:

solubility_error_msg

The sample output file for Solute Parameter search:

With SoluteGC: solute_search_error_msg

With SoluteML: Solute_search_ML_error_msg

The sample output file for Solvation search at 298 K:

SolvationML_error_msg

The sample output file for Temp-Dep Solvation search: temp-dep_error_msg

Let me know if you have any other things you want me to change.