Git Product home page Git Product logo

gnn-mcm's Introduction

arxiv-link DOI made-with-pytorch made-with-pytorch License: MIT

Johannes Zenn·Dominik Gond·Fabian Jirasek·Robert Bamler

About The Project

This is the official GitHub repository for our work Balancing Molecular Information and Empirical Data in the Prediction of Physico-Chemical Properties where we propose a hybrid method for combining molecular descriptors with representation learning for the (exemplary) task of predicting activity coefficients.

Predicting the physico-chemical properties of pure substances and mixtures is a central task in thermodynamics. Established prediction methods range from fully physics-based ab-initio calculations, which are only feasible for very simple systems, over descriptor-based methods that use some information on the molecules to be modeled together with fitted model parameters (e.g., quantitative-structure-property relationship methods or classical group contribution methods), to representation-learning methods, which may, in extreme cases, completely ignore molecular descriptors and extrapolate only from existing data on the property to be modeled (e.g., matrix completion methods). In this work, we propose a general method for combining molecular descriptors with representation learning using the so-called expectation maximization algorithm from the probabilistic machine learning literature, which uses uncertainty estimates to trade off between the two approaches. The proposed hybrid model exploits chemical structure information using graph neural networks, but it automatically detects cases where structure-based predictions are unreliable, in which case it corrects them by representation-learning based predictions that can better specialize to unusual cases. The effectiveness of the proposed method is demonstrated using the prediction of activity coefficients in binary mixtures as an example. The results are compelling, as the method significantly improves predictive accuracy over the current state of the art, showcasing its potential to advance the prediction of physico-chemical properties in general.

Environment:

  • tested with Python 3.9 (other versions might work as well);
  • dependencies can be found in requirements.txt
  • wandb is not necessarily required (provide --wandb to main.py to enable it)

Preparing the Data

We provide a detailed description of the data preparation process in the following.

Dortmund Data Bank 2019

The Dortmund Data Bank 2019 (DDB) is not publicly available but can be downloaded with a paid subscription. The dataset is processed as described in Jirasek et al. (2020). The provided CSV file should contain the following columns:

  • log_gamma_exp: log of the experimental activity coefficient
  • solute_idx: index of the solute
  • solvent_idx: index of the solvent
  • solute_smiles: SMILES string of the solute
  • solvent_smiles: SMILES string of the solvent

The values of the *_smiles keys are matched with the corresponding objects in a JSON file. The JSON file has the same structure as for the data of Medina et al. (2022) (see below).

Data Used in Medina et al. (2022)

We provide the processed CSV file for the data used in Medina et al. (2022) in the data folder. Additionally, we provide the JSON file that contains data and embeddings for the molecules.

Running the Code

Example training command for DAIS baseline:

python main.py <arguments for training>

<arguments for training> can be replaced by the files found in the hyperparameters folder.

License

Distributed under the MIT License. See LICENSE.MIT for more information.

Citation:

Following is the Bibtex if you would like to cite our paper :

@article{zenn2024balancing,
  title={Balancing Molecular Information and Empirical Data in the Prediction of Physico-Chemical Properties}, 
  author={Johannes Zenn and Dominik Gond and Fabian Jirasek and Robert Bamler},
  journal={arXiv preprint arXiv:2406.08075},
  year={2024}
}

(back to top)

gnn-mcm's People

Contributors

jzenn avatar

Watchers

 avatar

Forkers

bamler-lab

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.