==================================
- Python 3.8.10
- RDkit (http://www.rdkit.org/)
- pandas (https://pandas.pydata.org/)
- matplotlib (https://matplotlib.org/stable/users/installing.html)
- Scikit-learn (https://scikit-learn.org/stable/)
- Streamlit (https://streamlit.io/)
- Openbabel (https://anaconda.org/openbabel/openbabel)
- ChemAxon's Marvin >= 5.11
- Pulp
Installation
- Python 3.8.10 (https://www.python.org/downloads/windows/) Recommended-
- Create anaconda environment using command "conda create -n dGPredictor python=3.8 ipython"
- activate the env using command "conda activate dGPredictor" or "source activate dGPredictor"
- RDkit
- type command "conda install -c conda-forge rdkit" in your dGPredictor env to install rdkit
- Pandas
- "conda install pandas"
- matplotlib
- "conda install -c conda-forge matplotlib"
- Scikit-learn
- use command "pip install -U scikit-learn"
- Streamlit
- use command "pip install -U streamlit"
- Openbabel
- run "conda install -c conda-forge openbabel"
- ChemAxon's Marvin (PkA value estimation)
- Marvin is only required for adding structures of novel metabolites/compounds that are not in the KEGG database
- instructions (https://chemaxon.com/products/marvin/download)
- add "cxcalc.bat (macOS) /cxcalc.exe (Windows)" to PATH and also in "./CC/chemaxon.py" file
- you will need to get a license to use ChemAxon (it is free for academic use)
- Pulp
- use command "pip install -U pulp"
==================================
- Model generation: Run "model_gen.py" using "python model_gen.py" once to create dGPredictor model file :- (Running this might take some time)
- run "streamlit run ./streamlit/main.py" from dGPredictor folder
- running KEGG reaction (doesn't require ChemAxon's Marvin) : copy paste the reaction equation into reaction section and click search
- Step 1: decompose the metabolites based on smiles files (see function decompse_ac in decompose_groups.py or notebook )
- Step 2: create group changes vectors (i.e. reaction rules) based on group changes in metabolites of reactions (see get_rxn_rule in decompose_groups.py)
- Step 3: linear regression, Ridge Regression and Bayesian Ridge Regression in "predict.py"
- Step 4: Multiple regression models in notebook "analysis_dGPredictor.ipynb"
- Run "mini_novoStoic.py" to see an example to design pathways for Isobutanol synthesis