Skip to content

Latest commit

 

History

38 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

q_ACSF_logP_prediction

This project is for accurate and efficient prediction of partition coefficient ($\log P$) encoding both entropy and polarization effects into descriptors. Armed with high-dimensional neural networks, satisfied results are achieved compared with state-of-art methods.

Architecture

+ env related files:
- logp_prediction.yml: env for logp training and prediction and visualization, such as tensorflow, matplotlib, pandas, numpy, and so on.
- md_openmm.yml: env for MD simulations
+ DATASETS collected in this project:
- logp/DATASETS: dir stores datasets utilized in this project, consists of SMILES and their corresponding logp values measured experimentally
+ Symmetry Function related modules:
- logp/io/elem_filter.py: module for filtering molecules of only element C H O N;
- logp/sf_behler/dump.py: module for dumping coord into xyz or pdb format file;
- logp/sf_behler/g3D.py: module for convert SMILEs into 3D structures using RDKit package;
- logp/sf_behler/sf.py: module for calculating ACSFs, different weights,such as charge, ensemble weight could be parsed into this function;
- logp/sf_behler/utils.py: util tools for building high-dimensional neural network;
- logp/sf_behler/G_sf_generator.py: wrapup ACSFs related functions
+ Feature calculation and extraction:
- logp/zq/feat/feat_score.py: estimating importance of conventional descriptors derived from RDKit with methods, such as, SelectKBest, f_regression, RFE
- logp/zq/io/base.py: provide basic function, such as sparse function;
- logp/zq/io/load_dataframe.py: load dataframe results from files;
- logp/zq/io/load_desc.py: load descriptors generated;
- logp/zq/io/log2feat.py: convert log file generated by Gaussian into features;
- logp/zq/io/pdb2feat.py: convert pdb file into features;
- logp/zq/io/smi2feat.py: convert SMILEs into features;
+ Model Construction
- logp/zq/model/model.py: module for constructing neural network model;
- logp/zq/network/network.py: implementation of high-dimensional neural network (HDNN);
+ MD related module:
- logp/zq/utils/md/boltz.py: calc prob weight according to Boltzmann;
- logp/zq/utils/md/load_prop.py: load props from intermediate files;
- logp/zq/utils/md/md.py: module for performing vacuum md using OpenMM;
- logp/zq/utils/md/md_analysis.py: module for MD analysis, such as, RMSD;
+ Notebooks:
- 210417_sf_weighted_by_charge_illustration.ipynb: illustrate how to map values of symmetry function onto 2D molecular structures;
- 210603_MD_OpenMM_ff_generator_Martel.ipynb: illustrate how to perform molecular dynamics input only SMILEs over dataset Martel;
- 210702_MD_feat_gen2csv_weight_None_Martel.ipynb: illustrate how to extract features from MD simulations over Martel dataset considering entropy or only the most probable structure while ignoring polarization effect;
- 210702_MD_feat_gen2csv_weight_charge_Martel.ipynb: illustrate how to extract features from MD simulations over Martel dataset considering entropy or only the most probable structure and polarization effect;
- 210705_sf_MD_ensemble_vs_max_p_illustration.ipynb: visualize the effects of entropy (taking different conformations into consideration) exerted on the symmetry functions;
- 210922_MD_ave_from_csv_weight_q_pred-learning-rate_1e-[3,4,5].ipynb: illustrate how to train the model and get predicted results with learning rate set to be 1e-3, 1e-4, 1e-5, respectively;
- 210923_MD_max_from_csv_weight_q_pred-100-100-100.ipynb/210924_MD_max_from_csv_weight_q_pred-75-75-75.ipynb: illustrate how to change the neural network architecture for training and predicting;
- 211101_logP_per_atom_distribution_over_dataset_star.ipynb: illustrate how to get contribution from per atom and visualize;

For more details, you could consult this paper

@article{zhu2022molecular,
  title={Molecular partition coefficient from machine learning with polarization and entropy embedded atom-centered symmetry functions},
  author={Zhu, Qiang and Jia, Qingqing and Liu, Ziteng and Ge, Yang and Gu, Xu and Cui, Ziyi and Fan, Mengting and Ma, Jing},
  journal={Physical Chemistry Chemical Physics},
  volume={24},
  number={38},
  pages={23082--23088},
  year={2022},
  publisher={Royal Society of Chemistry}
}

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages