Closed thegodone closed 3 years ago
I have seen that you combine pos and atom label in your data.x. but how do you build your edge_index ? is it a local bonded index like in classical graphs or for full molecule indexes ?
We represent each molecular graph as a multiplex graph including (1) the global layer that captures global interactions and (2) the local layer that captures local interactions. Thus our model needs two edge_index
information, edge_index_g
and edge_index_l
:
edge_index_g
is created by setting a cutoff distance via the radius
function provided by torch_geometric: https://github.com/zetayue/MXMNet/blob/1d3151704fc500a45f7a05c51329ec30a4ba28a2/model.py#L108-L109
edge_index_l
can be achieved by using either the chemical bond information or using a cutoff distance. In our code, we use the chemical bond information to build edge_index_l
via the way provided by torch_geometric: https://github.com/rusty1s/pytorch_geometric/blob/8b89705072e11da058e98f180b062b28d0939de5/torch_geometric/datasets/qm9.py#L233-L246Also does the Hs are needed for other target than QM9 ?
We think this depends on the task being investigated as well as the computational resources. Besides, if the 3D molecular structures are not precise enough, including Hs might not be a good idea.
You give an interesting code and example, but I don't see how to use it with esol dataset.
I have seen that you combine pos and atom label in your data.x. but how do you build your edge_index ?
is it a local bonded index like in classical graphs or for full molecule indexes ?
Also does the Hs are needed for other target than QM9 ?