Comments (3)
Hello Talal,
The code is based on an old version of the files, but in sample_zs_given_zt
we add something like this:
if self.cfg.scaffold_extension.use:
# scaffold extension mask operation
graph_scaffold = self.graph_from_scaffold(scaffold_smile='C1C=CNC2=CC=CC=C21')
dense_data_scaffold, node_mask_scaffold = utils.to_dense(graph_scaffold.x, graph_scaffold.edge_index,
graph_scaffold.edge_attr, graph_scaffold.batch)
X_scaffold, E_scaffold = dense_data_scaffold.X, dense_data_scaffold.E
n_nodes_scaffold = X_scaffold.shape[1]
sampled_s.X[:, :n_nodes_scaffold] = X_scaffold.argmax(-1)
sampled_s.E[:, :n_nodes_scaffold, :n_nodes_scaffold] = E_scaffold.argmax(-1)
It would probably work better if we preserved the motif during diffusion in training, as was done in https://arxiv.org/abs/2210.05274 for 3D point clouds. As you can see in the figures, the results of our method are not great. We wanted to showcase that substructure conditioning is possible, but we didn't spend much time on it.
Another option that does not involve retraining is to adapt the proposition of RePaint to graphs:
https://arxiv.org/abs/2201.09865 and http://arxiv.org/abs/2302.01217
Best,
Clement
from digress.
Hi Clement,
Thank you for the response, I didn't realize the substructure conditioning wasn't one of you focuses, so thank you for referencing the other projects.
Looking at the script I can understand how your approach works so thank you for that as well. I can see why other approaches may be better. I recommend doing more work on this task if it suits your interests in the future however because it's quite relevant for drug design and a needed tool, a lot of the time there is an idea of the interactions/motifs desired with a target and we want to generate compounds from that, or we have a compound already and want to generate different components.
Excellent Paper!
Talal
from digress.
Hello Talal,
The code is based on an old version of the files, but in
sample_zs_given_zt
we add something like this:if self.cfg.scaffold_extension.use: # scaffold extension mask operation graph_scaffold = self.graph_from_scaffold(scaffold_smile='C1C=CNC2=CC=CC=C21') dense_data_scaffold, node_mask_scaffold = utils.to_dense(graph_scaffold.x, graph_scaffold.edge_index, graph_scaffold.edge_attr, graph_scaffold.batch) X_scaffold, E_scaffold = dense_data_scaffold.X, dense_data_scaffold.E n_nodes_scaffold = X_scaffold.shape[1] sampled_s.X[:, :n_nodes_scaffold] = X_scaffold.argmax(-1) sampled_s.E[:, :n_nodes_scaffold, :n_nodes_scaffold] = E_scaffold.argmax(-1)
It would probably work better if we preserved the motif during diffusion in training, as was done in https://arxiv.org/abs/2210.05274 for 3D point clouds. As you can see in the figures, the results of our method are not great. We wanted to showcase that substructure conditioning is possible, but we didn't spend much time on it.
Another option that does not involve retraining is to adapt the proposition of RePaint to graphs: https://arxiv.org/abs/2201.09865 and http://arxiv.org/abs/2302.01217
Best, Clement
Hi Clement,
Recently I am working in drug discovery, especially small molecule generation. I found the 'substructure conditioned generation' in Appendix E. Thank you for giving such script to show this function, but it still has a little difficulty in reproducing this function with DiGress, especially self.graph_from_scaffold.
Could you share detailed instruction or code, that will really help me.
Thanks!
Xinyang
from digress.
Related Issues (20)
- About nodes not connected
- wrong with No process_path using dataset=guacamol HOT 4
- meet error while running
- About experiment on Comm20. HOT 2
- Checkpoints for other datasets
- About node feature in non-molecular datasets HOT 1
- The planar model released performed better than described in the paper
- There occurs nan when computing test/X_logp, test/E_logp, and test/y_logp with "SumExceptBatchMetric" in abstract_metrics.py
- Your work in this paper is of great significance and it is my honor to present it in our group meeting. For my better understanding and presentation about your work, would you mind sharing me your presentation slides and viedo about this paper? I would very much appreciate it if you shared your slides to me, thanks!
- Something wrong with utils.EMA HOT 2
- I would very much appreciate it if you shared
- I will appreciate it if you could send me a mail HOT 2
- Reporting KL divergence loss for training step
- Question about the architecture (graphTransformer) HOT 2
- Generate graphs by text HOT 2
- bug found for Error: datamodule has no len()
- bug found for guidance branch. RuntimeError: indices should be either on cpu or on the same device as the indexed tensor (cpu)
- problems with loading the checkpoints for planar.ckpt?
- Get the prev sample like in diffusers API
- Could the project use a graph structure to describe interatomic distance information?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from digress.