/pySiRC

Simple web application for prediction of reaction rate constant through machine learning models using molecular fingerprints.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

DOI

pySiRC

pySiRC is a simple web application for predicting rate constant using machine learning models. The models used are: XGBoost, Random Forest and MultiLayer Perceptron (Neural network). It is possible to make predictions for oxidation reactions with the radicals OH and SO4 with just a few clicks. To access this application remotely use the link pysirc.com.br. Another way to use this application is to install and run it locally. PySiRC was developed using the python language and has some dependencies.

Dependencies

  • RDkit: Draw molecules and convert smiles to fingerprints.
  • Numpy: Create matrices and mathematical operations.
  • Cirpy: Convert cas number to smiles.
  • Streamlit: Python framework to creating dashboards.
  • Pandas: Data manipulation.
  • Seaborn: Plots based in matplotlib.
  • Scikit-learn: Framework to perform ML models.
  • XGBoost: Perform a XGBoost model.

Installation to run locally

Install dependencies via pip

The rdkit via pip (rdkit-pypi) is only available for linux (need glibc>=2.17) and macOS systems.

$ pip3 install streamlit numpy cirpy pandas seaborn scikit-learn XGBoost tqdm rdkit-pypi

Install conda to get rdkit.

Conda version recommended here

$ chmod +x Anaconda3-4.4.0-Linux-x86_64.sh
$ ./Anaconda3-4.4.0-Linux-x86_64.sh

Installing rdkit from conda-forge:

$ conda install -c conda-forge rdkit

Install all dependencies packages:

$ pip install streamlit numpy cirpy pandas seaborn scikit-learn XGBoost tqdm

Another way: install RDkit via ubuntu repository (Linux Environment)

$ sudo python3 apt install python3-rdkit

Install pip to set up all python dependencies

$ sudo python3 apt install python3-pip

Install all dependencies packages:

$ sudo pip3 install streamlit numpy cirpy pandas seaborn scikit-learn XGBoost tqdm

Download this repository, manually or via git:

$ git clone https://github.com/jeffrichardchemistry/pySiRC

Run

Enter the pySiRC folder and run the command:

$ cd .../pySiRC
$ streamlit run pySiRC.py

That done, the application will open in the browser and the terminal will have the local ip for access to all devices connected on the same network