chao1224/GraphMVP

Documentation on how to encode and decode a molecule

htalibart opened this issue · 6 comments

Hi, thanks for providing your code, your work seems very promising!

However I couldn't find the documentation I was looking for. If I understand correctly, GraphMVP is able to input a molecular graph, encode it into a latent space, and decode this embedding into a molecular graph again. Could you provide the documentation on how to do both of these steps, from latent space and back?

Thank you!

Hi @htalibart,

Thank you for your interest in our work!

Encoding

  • The 2D encoding is here.
  • The 3D encoding is here.

I am working on a benchmark repo, where I will include a notebook as a tutorial. Please stay tuned on this! :)

Decoding

For the 2D->3D and 3D->2D generation, GraphMVP employs an approximate solution to learn the representation, i.e., variational representation reconstruction (VRR), and no decoding is required in VRR.

However, we do have a follow-up work called MoleculeSDE, which does these two encoding steps exactly. The website together with a demo can be found here. I'm still cleaning up the codes for MoleculeSDE, which should be available in one or two weeks.

Hope this answers your question.

Thank you for your answer!
I understand that the decoding is not required for the applications you're interested in, but I would be interested in working in this latent space, for instance if I encode a molecule and slightly modify the resulting embedding would it be possible to decode it and get another (valid) molecule?

Hi @htalibart,

Welcome to play around with the decoding in MoleculeSDE, which shall be available soon. (I'm pushing this)

Meanwhile, the one you mentioned is very interesting, and I personally call this as molecule editing or molecule conditional generation. I have done several works on this (e.g., GraphCG and MoleculeSTM), and the answer is positive: changing the latent does change the output decoded molecules. I'm quite optimistic about getting similar observations in MoleculeSDE.

Ok many thanks for your answer and best of luck for your submissions!

Hi @htalibart, the code for MoleculeSDE is released here. Feel free to check.

Hi @htalibart, the code for MoleculeSDE is released here. Feel free to check.

Many thanks for the follow-up, I will check!