Closed WoohyunSonTMS closed 1 year ago
Is it possible that the dataset
parameter in your config file does not match the processed dataset you are using? It should be one of the options specified in constants.py
('bindingmoad', 'crossdock_full', or 'crossdock').
I got similar error:
File "DiffSBDD/equivariant_diffusion/en_diffusion.py", line 370, in forward self.noised_representation(xh_lig, xh_pocket, ligand['mask'], File "DiffSBDD/equivariant_diffusion/en_diffusion.py", line 310, in noised_representation z_t_pocket = alpha_t[pocket_mask] * xh_pocket + \ RuntimeError: The size of tensor a (13) must match the size of tensor b (23) at non-singleton dimension 1
We usually see this error when the pre-processed dataset doesn't match the selected pocket representation (because we consider more amino acid types than atom types). If process_bindingmoad.py
is executed with the --ca_only
flag, for example, you should specify pocket_representation: 'CA'
in your config file. Otherwise, use pocket_representation: 'full-atom'
.
Please let me know if this doesn't solve the issue.
Best, Arne
Yes, it works perfectly. Thank you Arne for the help!
Best
I got this error when using ”joint“ mode: ''' File "/.../DiffSBDD-main/equivariant_diffusion/en_diffusion.py", line 309, in noised_representation z_t_lig = alpha_t[lig_mask] xh_lig + sigma_t[lig_mask] eps_lig RuntimeError: The size of tensor a (14) must match the size of tensor b (13) at non-singleton dimension 1 '''