pengxingang / pocket2mol Goto Github PK
View Code? Open in Web Editor NEWPocket2Mol: Efficient Molecular Sampling Based on 3D Protein Pockets
License: MIT License
Pocket2Mol: Efficient Molecular Sampling Based on 3D Protein Pockets
License: MIT License
I tried to train a new model by running train.py
, but I got this:
[2023-06-28 10:32:08,821::train::INFO] Namespace(config='./configs/train.yml', device='cuda', logdir='./logs')
[2023-06-28 10:32:08,821::train::INFO] {'model': {'vn': 'vn', 'hidden_channels': 256, 'hidden_channels_vec': 64, 'encoder': {'name': 'cftfm', 'hidden_channels': 256, 'hidden_channels_vec': 64, 'edge_channels': 64, 'key_channels': 128, 'num_heads': 4, 'num_interactions': 6, 'cutoff': 10.0, 'knn': 48}, 'field': {'name': 'classifier', 'num_filters': 128, 'num_filters_vec': 32, 'edge_channels': 64, 'num_heads': 4, 'cutoff': 10.0, 'knn': 32}, 'position': {'num_filters': 128, 'n_component': 3}}, 'train': {'seed': 2023, 'use_apex': False, 'batch_size': 8, 'num_workers': 8, 'pin_memory': True, 'max_iters': 500000, 'val_freq': 5000, 'pos_noise_std': 0.1, 'max_grad_norm': 100.0, 'optimizer': {'type': 'adam', 'lr': 0.0002, 'weight_decay': 0, 'beta1': 0.99, 'beta2': 0.999}, 'scheduler': {'type': 'plateau', 'factor': 0.6, 'patience': 8, 'min_lr': 1e-05}, 'transform': {'mask': {'type': 'mixed', 'min_ratio': 0.0, 'max_ratio': 1.1, 'min_num_masked': 1, 'min_num_unmasked': 0, 'p_random': 0.15, 'p_bfs': 0.6, 'p_invbfs': 0.25}, 'contrastive': {'num_real': 20, 'num_fake': 20, 'pos_real_std': 0.05, 'pos_fake_std': 2.0}, 'edgesampler': {'k': 8}}}, 'dataset': {'name': 'pl', 'path': './data/crossdocked_pocket10', 'split': './data/split_by_name.pt'}}
[2023-06-28 10:32:08,823::train::INFO] Loading dataset...
[2023-06-28 10:32:09,280::train::INFO] Building model...
Num of parameters is 3711167
/data/sdb/opt/miniconda3/envs/aidd/lib/python3.7/site-packages/torch/functional.py:504: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3190.)
return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]
/data/sdb/opt/miniconda3/envs/aidd/lib/python3.7/site-packages/torch/functional.py:504: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3190.)
return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]
/data/sdb/opt/miniconda3/envs/aidd/lib/python3.7/site-packages/torch/functional.py:504: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3190.)
return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]
/data/sdb/opt/miniconda3/envs/aidd/lib/python3.7/site-packages/torch/functional.py:504: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3190.)
return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]
/data/sdb/opt/miniconda3/envs/aidd/lib/python3.7/site-packages/torch/functional.py:504: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3190.)
return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]
/data/sdb/opt/miniconda3/envs/aidd/lib/python3.7/site-packages/torch/functional.py:504: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3190.)
return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]
/data/sdb/opt/miniconda3/envs/aidd/lib/python3.7/site-packages/torch/functional.py:504: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3190.)
return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]
/data/sdb/opt/miniconda3/envs/aidd/lib/python3.7/site-packages/torch/functional.py:504: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3190.)
return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]
Exception in thread Thread-2:
Traceback (most recent call last):
File "/data/sdb/opt/miniconda3/envs/aidd/lib/python3.7/threading.py", line 926, in _bootstrap_inner
self.run()
File "/data/sdb/opt/miniconda3/envs/aidd/lib/python3.7/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/data/sdb/opt/miniconda3/envs/aidd/lib/python3.7/site-packages/torch/utils/data/_utils/pin_memory.py", line 49, in _pin_memory_loop
do_one_step()
File "/data/sdb/opt/miniconda3/envs/aidd/lib/python3.7/site-packages/torch/utils/data/_utils/pin_memory.py", line 26, in do_one_step
r = in_queue.get(timeout=MP_STATUS_CHECK_INTERVAL)
File "/data/sdb/opt/miniconda3/envs/aidd/lib/python3.7/multiprocessing/queues.py", line 113, in get
return _ForkingPickler.loads(res)
File "/data/sdb/opt/miniconda3/envs/aidd/lib/python3.7/site-packages/torch/multiprocessing/reductions.py", line 305, in rebuild_storage_fd
fd = df.detach()
File "/data/sdb/opt/miniconda3/envs/aidd/lib/python3.7/multiprocessing/resource_sharer.py", line 58, in detach
return reduction.recv_handle(conn)
File "/data/sdb/opt/miniconda3/envs/aidd/lib/python3.7/multiprocessing/reduction.py", line 185, in recv_handle
return recvfds(s, 1)[0]
File "/data/sdb/opt/miniconda3/envs/aidd/lib/python3.7/multiprocessing/reduction.py", line 161, in recvfds
len(ancdata))
RuntimeError: received 0 items of ancdata
[2023-06-28 10:32:12,068::train::INFO] [Train] Iter 1 | Loss 10.276641 | Loss(Fron) 0.631725 | Loss(Pos) 3.812413 | Loss(Cls) 1.901050 | Loss(Edge) 1.675482 | Loss(Real) 0.126777 | Loss(Fake) 2.129193 | Loss(Surf) 0.000000
[2023-06-28 10:32:12,073::train::ERROR] Runtime Error Pin memory thread exited unexpectedly
Traceback (most recent call last):
File "train.py", line 227, in <module>
train(it)
File "train.py", line 108, in train
batch = next(train_iterator).to(args.device)
StopIteration
Hi, thank you for the great piece of work!
I was comparing sample.py
and sample_for_pdb.py
and I noticed that only the second file had queue_weight. Is there any reason for that? I guess this helps generating more diverse molecules.
I also noticed another difference: the possibility in sample.py
(but not in sample_for_pdb.py
) to use LigandBFSMask
masking instead of LigandMaskAll
: what is the use of it?
Thank you very much!
Wonderful work!
Found that it was trained using 100 k poses, is there significant gain with more poses included in training set?
I am trying to scale the data and see what happens? Is the code with filtering logic from crossdocked available.
Hello,
Thank you for sharing your code! I found GPU was not used after executing sample_for_pdb.py
The first two lines of log show:
[2023-07-31 17:13:34,403::sample::INFO] Namespace(bbox_size=23.0, center=[32.0, 28.0, 36.0], config='./configs/sample_for_pdb.yml', device='cuda', outdir='./outputs', pdb_path='./example/4yhj.pdb')
[2023-07-31 17:13:34,403::sample::INFO] {'model': {'checkpoint': './ckpt/pretrained_Pocket2Mol.pt'}, 'sample': {'seed': 2020, 'num_samples': 100, 'beam_size': 300, 'max_steps': 50, 'threshold': {'focal_threshold': 0.5, 'pos_threshold': 0.25, 'element_threshold': 0.3, 'hasatom_threshold': 0.6, 'bond_threshold': 0.4}}}
...
Since it takes forever long to use the first choice, I installed manually following the instruction. And below is my conda list:
_libgcc_mutex 0.1 conda_forge https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
_openmp_mutex 4.5 2_gnu https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
absl-py 1.4.0 pyhd8ed1ab_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
aiohttp 3.8.5 py38h01eb140_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
aiosignal 1.3.1 pyhd8ed1ab_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
async-timeout 4.0.2 pyhd8ed1ab_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
attrs 23.1.0 pyh71513ae_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
beautifulsoup4 4.12.2 pypi_0 pypi
biopython 1.81 py38h1de0b5d_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
blas 1.0 mkl https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
blinker 1.6.2 pyhd8ed1ab_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
boost 1.74.0 py38h2b96118_5 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
boost-cpp 1.74.0 h6cacc03_7 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
brotlipy 0.7.0 py38h0a891b7_1005 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
bzip2 1.0.8 h7f98852_4 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
c-ares 1.19.1 hd590300_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
ca-certificates 2023.7.22 hbcca054_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
cachetools 5.3.1 pyhd8ed1ab_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
cairo 1.16.0 ha00ac49_1009 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
certifi 2023.7.22 pypi_0 pypi
cffi 1.15.1 py38h4a40e3a_3 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
charset-normalizer 3.2.0 pyhd8ed1ab_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
click 8.1.6 unix_pyh707e725_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
colorama 0.4.6 pyhd8ed1ab_0 conda-forge
cryptography 41.0.2 py38hcdda232_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
cudatoolkit 11.3.1 hb98b00a_12 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
cycler 0.11.0 pyhd8ed1ab_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
easydict 1.10 pypi_0 pypi
filelock 3.12.2 pypi_0 pypi
font-ttf-dejavu-sans-mono 2.37 hab24e00_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
font-ttf-inconsolata 3.000 h77eed37_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
font-ttf-source-code-pro 2.038 h77eed37_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
font-ttf-ubuntu 0.83 hab24e00_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
fontconfig 2.14.1 hef1e5e3_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
fonts-conda-ecosystem 1 0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
fonts-conda-forge 1 0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
freetype 2.10.4 hca18f0e_2 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
frozenlist 1.4.0 py38h01eb140_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
gdown 4.7.1 pypi_0 pypi
gettext 0.21.1 h27087fc_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
giflib 5.2.1 h0b41bf4_3 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
google-auth 2.22.0 pyh1a96a4e_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
google-auth-oauthlib 1.0.0 pyhd8ed1ab_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
googledrivedownloader 0.4 pypi_0 pypi
greenlet 2.0.2 py38h17151c0_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
grpcio 1.56.2 py38h94a1851_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
icu 69.1 h9c3ff4c_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
idna 3.4 pyhd8ed1ab_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
importlib-metadata 6.8.0 pyha770c72_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
intel-openmp 2023.1.0 hdb19cb5_46305 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
isodate 0.6.1 pypi_0 pypi
jinja2 3.1.2 pyhd8ed1ab_1 conda-forge
joblib 1.3.1 pypi_0 pypi
jpeg 9e h0b41bf4_3 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
kiwisolver 1.4.4 py38h43d8883_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
lcms2 2.15 hfd0df8a_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
ld_impl_linux-64 2.40 h41732ed_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
lerc 4.0.0 h27087fc_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
libabseil 20230125.3 cxx17_h59595ed_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
libblas 3.9.0 1_h86c2bf4_netlib conda-forge
libcblas 3.9.0 5_h92ddd45_netlib conda-forge
libdeflate 1.17 h5eee18b_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
libffi 3.4.2 h7f98852_5 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
libgcc-ng 13.1.0 he5830b7_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
libgfortran-ng 13.1.0 h69a702a_0 conda-forge
libgfortran5 13.1.0 h15d22d2_0 conda-forge
libglib 2.76.4 hebfc3b9_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
libgomp 13.1.0 he5830b7_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
libgrpc 1.56.2 h3905398_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
libiconv 1.17 h166bdaf_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
liblapack 3.9.0 5_h92ddd45_netlib conda-forge
libnsl 2.0.0 h7f98852_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
libpng 1.6.39 h753d276_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
libprotobuf 4.23.3 hd1fb520_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
libsqlite 3.42.0 h2797004_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
libstdcxx-ng 13.1.0 hfd8a6a1_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
libtiff 4.5.0 h6adf6a1_2 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
libuuid 2.38.1 h0b41bf4_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
libuv 1.44.2 hd590300_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
libwebp 1.2.4 h1daa5a0_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
libwebp-base 1.2.4 h5eee18b_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
libxcb 1.15 h0b41bf4_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
libxml2 2.9.14 haae042b_4 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
libzlib 1.2.13 hd590300_5 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
lmdb 1.4.1 pypi_0 pypi
markdown 3.4.4 pyhd8ed1ab_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
markupsafe 2.1.3 py38h01eb140_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
matplotlib-base 3.4.3 py38hf4fb855_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
mkl 2023.1.0 h6d00ec8_46342 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
mkl-service 2.4.0 py38h5eee18b_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
mkl_fft 1.3.6 py38h417a72b_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
mkl_random 1.2.2 py38h417a72b_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
multidict 6.0.4 py38h1de0b5d_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
ncurses 6.4 hcb278e6_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
networkx 3.1 pyhd8ed1ab_0 conda-forge
numpy 1.24.4 pypi_0 pypi
numpy-base 1.24.3 py38h060ed82_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
oauthlib 3.2.2 pyhd8ed1ab_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
openssl 3.1.1 hd590300_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
packaging 23.1 pyhd8ed1ab_0 conda-forge
pandas 2.0.3 py38h01efb38_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
pcre2 10.40 hc3806b6_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
pillow 9.4.0 py38h6a678d5_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
pip 23.2.1 pyhd8ed1ab_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
pixman 0.40.0 h36c2ea0_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
platformdirs 3.9.1 pyhd8ed1ab_0 conda-forge
pooch 1.7.0 pyha770c72_3 conda-forge
protobuf 4.23.3 py38h830738e_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
psutil 5.9.5 pypi_0 pypi
pthread-stubs 0.4 h36c2ea0_1001 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
pyasn1 0.4.8 py_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
pyasn1-modules 0.2.7 py_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
pycairo 1.24.0 py38h1a1917b_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
pycparser 2.21 pyhd8ed1ab_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
pyg 2.0.4 py38_torch_1.10.0_cu113 pyg
pyjwt 2.8.0 pyhd8ed1ab_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
pyopenssl 23.2.0 pyhd8ed1ab_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
pyparsing 3.1.1 pyhd8ed1ab_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
pysocks 1.7.1 pyha2e5f31_6 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
python 3.8.17 he550d4f_0_cpython https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
python-dateutil 2.8.2 pyhd8ed1ab_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
python-louvain 0.16 pyhd8ed1ab_0 conda-forge
python-tzdata 2023.3 pyhd8ed1ab_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
python_abi 3.8 3_cp38 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
pytorch 1.10.1 py3.8_cuda11.3_cudnn8.2.0_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch
pytorch-cluster 1.6.0 py38_torch_1.10.0_cu113 pyg
pytorch-mutex 1.0 cuda https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch
pytorch-scatter 2.0.9 py38_torch_1.10.0_cu113 pyg
pytorch-sparse 0.6.13 py38_torch_1.10.0_cu113 pyg
pytorch-spline-conv 1.2.1 py38_torch_1.10.0_cu113 pyg
pytz 2023.3 pyhd8ed1ab_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
pyu2f 0.1.5 pyhd8ed1ab_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
pyyaml 6.0.1 pypi_0 pypi
rdflib 6.3.2 pypi_0 pypi
rdkit 2022.03.5 py38ha829ea6_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
re2 2023.03.02 h8c504da_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
readline 8.2 h8228510_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
reportlab 3.6.12 py38h5eee18b_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
requests 2.31.0 pyhd8ed1ab_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
requests-oauthlib 1.3.1 pyhd8ed1ab_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
rocm-smi 5.6.0 h59595ed_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
rsa 4.9 pyhd8ed1ab_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
scikit-learn 1.3.0 py38hc099248_0 conda-forge
scipy 1.10.1 py38h59b608b_3 conda-forge
setuptools 68.0.0 pyhd8ed1ab_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
six 1.16.0 pyh6c4a22f_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
soupsieve 2.4.1 pypi_0 pypi
sqlalchemy 2.0.19 py38h01eb140_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
tbb 2021.8.0 hdb19cb5_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
tensorboard 2.13.0 pyhd8ed1ab_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
tensorboard-data-server 0.7.0 py38h3d167d9_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
threadpoolctl 3.2.0 pyha21a80b_0 conda-forge
tk 8.6.12 h27826a3_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
tornado 6.3.2 py38h01eb140_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
tqdm 4.65.0 pyhd8ed1ab_1 conda-forge
typing-extensions 4.7.1 hd8ed1ab_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
typing_extensions 4.7.1 pyha770c72_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
urllib3 2.0.4 pypi_0 pypi
werkzeug 2.3.6 pyhd8ed1ab_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
wheel 0.41.0 pyhd8ed1ab_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
xorg-kbproto 1.0.7 h7f98852_1002 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
xorg-libice 1.1.1 hd590300_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
xorg-libsm 1.2.4 h7391055_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
xorg-libx11 1.8.6 h8ee46fc_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
xorg-libxau 1.0.11 hd590300_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
xorg-libxdmcp 1.1.3 h7f98852_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
xorg-libxext 1.3.4 h0b41bf4_2 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
xorg-libxrender 0.9.11 hd590300_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
xorg-renderproto 0.11.1 h7f98852_1002 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
xorg-xextproto 7.3.0 h0b41bf4_1003 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
xorg-xproto 7.0.31 h7f98852_1007 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
xz 5.2.6 h166bdaf_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
yacs 0.1.8 pyhd8ed1ab_0 conda-forge
yaml 0.2.5 h7f98852_2 conda-forge
yarl 1.9.2 py38h01eb140_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
zipp 3.16.2 pyhd8ed1ab_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
zlib 1.2.13 hd590300_5 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
zstd 1.5.2 hfc55251_7 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
Dear Pocket2Mol team,
Thank you for your paper and for this code release! I am wondering firstly if you will be able to provide links to pre-trained models? Let us know if you need help hosting them.
Also, I ran the command for training the model and encountered the following error:
No such file or directory: './data/crossdocked_pocket10_name2id.pt'
Do you know where I can obtain this file? I don't see it in the files linked in data/Readme.md
Thanks for your help!
-Cyrus
[16:19:54] Explicit valence for atom # 19 C, 5, is greater than permitted
[16:19:54] ERROR: Could not sanitize molecule ending on line 77
[16:19:54] ERROR: Explicit valence for atom # 19 C, 5, is greater than permitted
Skipping (431) BRD4_HUMAN_42_168_0/5cs8_A_rec_4o7f_2rq_lig_tt_docked_6.sdf
What is the reason for this error? (Please forgive me for my first exposure to this direction)
Hi @pengxingang , could you please allow contributions? I have updated the documentation of functions, but I cannot push as I don't have permissions to create a new branch.
Thanks
Hi there,
I've been playing with your codebase to see how equivariant features propagate through different layer types and I think there might be an error in your code. The AttentionInteractionBlockVN normalizes the vector representation with a standard nn.LayerNorm layer which breaks the equivariance of the vector representations inside the encoder. Was this intended? I'm not sure how much of an effect it will have on the rest of the model as the ligand and pocket are jointly encoded. Similarly, a standard nn.Linear layer is used to embed the initial atomic vector representation which also breaks the initial maintenance of equivariance between the atomic coordinates and the machine learned embeddings.
The paper states the LogP of the Pocket2Mol is 1.586±1.82.
However, my reproduction result is 0.146±1.06.
I'm wondering why the mean of the LogP is so different.
Hi, thanks for the awesome works!
I met a problem when caculating the KL divergence of molecular bond angles between training and testing sets. As I noticed that you caculated the KL divergence of the bond angles and dihedral angles with the test set. May I ask you to kindly provide the corresponding codes?
If the --center argument starts with a negative number argparse fails (see https://bugs.python.org/issue9334)
$ python sample_for_pdb.py --pdb_path ./example/6j00.pdb --center '-42.6,-30.6,-11.6'
usage: sample_for_pdb.py [-h] [--pdb_path PDB_PATH] [--center CENTER] [--bbox_size BBOX_SIZE] [--config CONFIG] [--device DEVICE] [--outdir OUTDIR]
sample_for_pdb.py: error: argument --center: expected one argument
A simple workaround is to place a space as the first character in the --center argument such as
$ python sample_for_pdb.py --pdb_path ./example/6j00.pdb --center ' -42.6,-30.6,-11.6'
Without solving the regression, a horribly hacky way to fix this would be on line 67 of sample_for_pdb.py
if __name__ == '__main__':
idx = sys.argv.index("--center")+1
sys.argv[idx] = ' ' + sys.argv[idx]
parser = argparse.ArgumentParser()
...
First of all, thank you for sharing your wonderful research.
After I run the Pocket2Mol, I have a question about CPU usage.
I think that Pocket2Mol doesn't require large memory in GPU but uses CPU a lot.
Is there any reason for specifying Pocket2Mol use CPU a lot rather than GPU?
Wouldn't it cause a problem if I change the code to run process mainly using GPU?
Is it possible to fine-tune the model specific to certain pocket? How many data are needed? What would be the process other than retrain the entire model?
hi,
thanks for your great effots on this highly interesting works.
when I try to run the sample_for_pdb.py
with configs file below
model:
checkpoint: ./ckpt/pretrained_Pocket2Mol.pt
sample:
seed: 2023
num_samples: 200
beam_size: 50
max_steps: 50
threshold:
focal_threshold: 0.5
pos_threshold: 0.25
element_threshold: 0.3
hasatom_threshold: 0.6
bond_threshold: 0.4
the script works but some errors occured,
the error info is below
100%|██████████| 50/50 [00:05<00:00, 8.60it/s]
100%|██████████| 50/50 [00:05<00:00, 8.57it/s]
Traceback (most recent call last):
File "sample_for_pdb.py", line 209, in <module>
next_idx = np.random.choice(np.arange(n_tmp), p=prob, size=min(config.sample.beam_size, n_tmp), replace=False)
File "mtrand.pyx", line 939, in numpy.random.mtrand.RandomState.choice
ValueError: probabilities do not sum to 1
Could you please see the issue and how to fix it up?
Many Thanks,
Best,
Sh-Y
Hello,
Thank you for sharing this fantastic work, and I have faced some issues reproducing your work. The error statement is in the following, the dataset is not well set up. I am following your instruction to download the dataset archive crossdocked_pocket10.tar.gz and the split file split_by_name.pt from (https://drive.google.com/drive/folders/1CzwxmTpjbrt83z_wBzcQncq84OVDPurM). And extracting the TAR archive.
Could you help to fix this issue? Any suggestion will be grateful.
HX
Hello!
thanks for uploading the code.
I'm working on Mac so I can't install cuda drivers in general. I was wondering if there's a way to test sampling a pdb pocket or have to install it on a machine that is cuda capable and run through the previous training steps first.
Many thanks
Hello @pengxingang,,I hope you are doing well. When I was sampling molecules for a target protein using a PDB file, I ran the sample_for_pdb.py script. Unfortunately, I encountered some issues during the execution, and the following error occurred:
Thankyou
Hi, thanks for the awesome work.
The code for sampling is provided,
but I guess the evaluation code for Vina score, QED, SA, etc. (i.e., Table 1 of the paper), is missing.
For the reproducibility of your work, may I ask you to kindly include the evaluation code?
Hello @pengxingang ,I hope you are doing well.I am trying to sample some molecules for a target protein using the pdb file.But I am getting the following error:"Initilization failed" repeatedly.
Actually there are some messages such as applying np.mean to an empty slice and divide by a zero or nan value but the error message doesn't specify the line of code sample_for_pdb.py so that I can try to debug and they are always there if the model samples molecules so I think that is not a severe warning.
Also If I change the y_coordinate of the ligand box from -3.10 to -2.61 for this protein(1lqf), model is able to sample molecules.
If you are aware of such issue,can you please tell me how to work around it.
For your reference, I am providing the error information below:
(pmol) root@a5a5e5d:/workspace/pocketmol# taskset -c 0 python3 sample_for_pdb.py --pdb_path ./example/1lqf.pdb --center " 17.01,-3.1,27.47" --device "cpu"
random_seed is 9424
config is {'model': {'checkpoint': './ckpt/pretrained_Pocket2Mol.pt'}, 'sample': {'seed': 9424, 'num_samples': 100, 'beam_size': 100, 'max_steps': 50, 'threshold': {'focal_threshold': 0.5, 'pos_threshold': 0.25, 'element_threshold': 0.3, 'hasatom_threshold': 0.6, 'bond_threshold': 0.4}}}
[2024-03-03 20:13:21,574::sample::INFO] Namespace(bbox_size=23.0, center=[17.01, -3.1, 27.47], config='./configs/sample_for_pdb.yml', device='cpu', outdir='./outputs', pdb_path='./example/1lqf.pdb')
[2024-03-03 20:13:21,574::sample::INFO] {'model': {'checkpoint': './ckpt/pretrained_Pocket2Mol.pt'}, 'sample': {'seed': 9424, 'num_samples': 100, 'beam_size': 100, 'max_steps': 50, 'threshold': {'focal_threshold': 0.5, 'pos_threshold': 0.25, 'element_threshold': 0.3, 'hasatom_threshold': 0.6, 'bond_threshold': 0.4}}}
[2024-03-03 20:13:21,575::sample::INFO] Loading data...
[2024-03-03 20:13:21,909::sample::INFO] Loading main model...
[2024-03-03 20:13:22,003::sample::INFO] Initialization
InitSample: 0%| | 0/100 [00:00<?, ?it/s]/opt/conda/envs/pmol/lib/python3.7/site-packages/numpy/core/fromnumeric.py:3441: RuntimeWarning: Mean of empty slice.
out=out, **kwargs)
/opt/conda/envs/pmol/lib/python3.7/site-packages/numpy/core/_methods.py:189: RuntimeWarning: invalid value encountered in true_divide
ret = ret.dtype.type(ret / rcount)
Initialization failed.
Initialization failed.
Initialization failed.
Initialization failed.
Initialization failed.
Thankyou
Hi, Can you please mention the preprocessing that has to be carried out for a pdb file from PDB RCSB , so that I can sample molecules for that protein using sample_for_pdb.py.The pdb file you have given in examples folder works fine but if i take a pdb file directly from this link:https://www.rcsb.org/structure/1CQP, it shows following error:
taskset -c 0 python3 sample_for_pdb.py --pdb_path ./example/1CQP.pdb --center "32.0,28.0,36.0" --device "cpu"
[2024-01-29 04:27:42,224::sample::INFO] Namespace(bbox_size=23.0, center=[32.0, 28.0, 36.0], config='./configs/sample_for_pdb.yml', device='cpu', outdir='./outputs', pdb_path='./example/1CQP.pdb')
[2024-01-29 04:27:42,224::sample::INFO] {'model': {'checkpoint': './ckpt/pretrained_Pocket2Mol.pt'}, 'sample': {'seed': 2020, 'num_samples': 100, 'beam_size': 100, 'max_steps': 50, 'threshold': {'focal_threshold': 0.5, 'pos_threshold': 0.25, 'element_threshold': 0.3, 'hasatom_threshold': 0.6, 'bond_threshold': 0.4}}}
[2024-01-29 04:27:42,224::sample::INFO] Loading data...
[2024-01-29 04:27:42,297::sample::INFO] Loading main model...
[2024-01-29 04:27:42,416::sample::INFO] Initialization
InitSample: 1%|██▏ | 1/100 [00:00<00:28, 3.50it/s]
[2024-01-29 04:27:42,703::sample::INFO] [Pool] Queue 1 | Finished 0 | Failed 0
[2024-01-29 04:27:42,703::sample::INFO] Saving samples...
[2024-01-29 04:27:42,705::sample::INFO] Start sampling
0%| | 0/1 [00:00<?, ?it/s][2024-01-29 04:27:42,929::sample::INFO] Success:
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 4.46it/s]
Traceback (most recent call last):
File "sample_for_pdb.py", line 209, in
next_idx = np.random.choice(np.arange(n_tmp), p=prob, size=min(config.sample.beam_size, n_tmp), replace=False)
File "mtrand.pyx", line 939, in numpy.random.mtrand.RandomState.choice
ValueError: probabilities do not sum to 1
Thankyou
Hi, wonderful work!
I wonder if the mols generated follow the same angle distribution and dihedral angel distribution with real mols.
This is a great network and one that works smoothly! However, is there an option to control the ligand size? It often generates 2-4 atom molecules for a couple of rounds.
Thank you very much for providing such a great molecular generation model.
May I ask, does your model support protein receptors containing metal ions at binding site? I have attempted to use these protein as input, and the model can run normally, but have the rationality of these results been confirmed?
If not supported, is there a means to reserve the position of metal ions during the ligand generation process, so as not to generate molecules at this position and avoid metal ions affecting the rationality of molecular generation. I can manually add metal ions after molecular generation.
Hello, I appreciate your excellent work on the Pocket2Mol model. I am also attempting to train this model on a larger dataset and have started with the CrossDocked2020-v1.3 dataset, which has an RMSD < 2A. This dataset already includes clustered training and test data distributions, so I'm unsure about the need for mmseqs2 clustering. Could you please explain the reason for this step?
Additionally, the CrossDocked2020 dataset has various docking forms, such as Autodock Vina docked poses of ligands in the receptor and the first and second iterations of CNN-optimized poses. Which of these did you use in your training process?
Lastly, I noticed that the .PDB files in your training dataset are smaller than those in the CrossDocked2020 dataset. Did you perform any extra processing steps to obtain these smaller receptor files?
Thank you in advance for your time and assistance!
I got error, when I ran samply.py as following:
Pocket2Mol-main$ python sample.py --data_id 1 --outdir ./outputs
[2022-09-19 16:56:38,371::sample::INFO] Namespace(config='./configs/sample.yml', data_id='1', device='cuda', outdir='./outputs')
[2022-09-19 16:56:38,371::sample::INFO] {'data': {'data_name': 'test', 'dataset': {'name': 'pl', 'path': './data/crossdocked_pocket10', 'split': './data/split_by_name.pt'}}, 'model': {'checkpoint': './home/amar/Pocket2Mol-main/ckpt/pretrained_Pocket2Mol.pt'}, 'sample': {'seed': 2020, 'mask_init': True, 'num_samples': 100, 'beam_size': 500, 'max_steps': 50, 'threshold': {'focal_threshold': 0.5, 'pos_threshold': 0.25, 'element_threshold': 0.3, 'hasatom_threshold': 0.6, 'bond_threshold': 0.4}}}
[2022-09-19 16:56:38,371::sample::INFO] Loading data...
Traceback (most recent call last):
File "sample.py", line 211, in
base_data = testset[data_id]
File "/home/amar/anaconda3/envs/Pocket2Mol/lib/python3.8/site-packages/torch/utils/data/dataset.py", line 363, in getitem
return self.dataset[self.indices[idx]]
IndexError: list index out of range
Could you please help me to solve this problem?
Hi, thanks for your nice work!
It seems that the evaluation code for the distributions of bond angles and dihedral angles (Table 3 in the paper) is missing.
Would you mind providing related codes for reproducing? Please let me know if I miss it in the repo.
Hi, I'm using sample_for_pdb.py with the default setting, but it raised an error: OverflowError: can't convert negative int to unsigned
which happened in Chem.SanitizeModel part, wondering why could this happen?
When I run python sample_for_pdb.py --pdb_path ./example/4yhj.pdb --center "32.0,28.0,36.0"
, I got this:
[2023-06-06 15:24:11,627::sample::INFO] Namespace(bbox_size=23.0, center=[32.0, 28.0, 36.0], config='./configs/sample_for_pdb.yml', device='cuda', outdir='./outputs', pdb_path='./example/4yhj.pdb')
[2023-06-06 15:24:11,628::sample::INFO] {'model': {'checkpoint': './ckpt/pretrained_Pocket2Mol.pt'}, 'sample': {'seed': 2020, 'num_samples': 100, 'beam_size': 300, 'max_steps': 50, 'threshold': {'focal_threshold': 0.5, 'pos_threshold': 0.25, 'element_threshold': 0.3, 'hasatom_threshold': 0.6, 'bond_threshold': 0.4}}}
[2023-06-06 15:24:11,629::sample::INFO] Loading data...
[2023-06-06 15:24:12,419::sample::INFO] Loading main model...
[2023-06-06 15:24:14,959::sample::INFO] Initialization
InitSample: 0%| | 0/300 [00:00<?, ?it/s]Traceback (most recent call last):
File "sample_for_pdb.py", line 139, in <module>
data = transform_data(data, atom_composer)
File "/home/data/yingchun/Applic/Pocket2Mol-main/utils/datasets/__init__.py", line 44, in transform_data
data = transform(data)
File "/home/data/yingchun/Applic/Pocket2Mol-main/utils/transforms.py", line 657, in __call__
data = self.get_knn_graph(data, self.knn, len_ligand_ctx, len_compose, num_workers=16)
File "/home/data/yingchun/Applic/Pocket2Mol-main/utils/transforms.py", line 662, in get_knn_graph
data.compose_knn_edge_index = knn_graph(data.compose_pos, knn, flow='target_to_source', num_workers=num_workers)
File "/opt/miniconda3/envs/aidd/lib/python3.7/site-packages/torch_geometric/nn/pool/__init__.py", line 130, in knn_graph
return torch_cluster.knn_graph(x, k, batch, loop, flow, cosine,
AttributeError: 'NoneType' object has no attribute 'knn_graph'
InitSample: 0%| | 0/300 [00:00<?, ?it/s]
How to solve it?
Hi, nice paper published. Retarding to your E(3) model, I think your model might be not translational equivariant. I have similar questions with @oriondollar. I think it might be better to open a new issue here.
(1) In your model, normalized absolute coordinates were directly used as input vector features. So, I am wondering your model might not work for other test data having different absolute coordinates. As you mentioned in @oriondollar solution, that we can translate the center of pocket mass to the origin of coordinate. I want to ask could this solve the non-translational equivariance perfectly?
(2) I noticed you used normalization factor=20 to normalize the input absolute coordinate vectors, do you have any purposes to choose 20?
(3) Similar to the question (1), For vertex vectors, I noticed you used normalized absolute coordinates directly, Could this guarantee the equivariance? If we use different normalized absolute coordinates as vertex vectors, will your model work?
(4) You also mentioned that the embedding layer has minor effect on the translational equivariance and the model still learns the translational equivariance since the substraction of vectors remain unchanged. But from my test, it doesn't work if I used a different protein-ligand data outside training data coordinate space.
Do I misunderstand something? Do you have any ideas to solve this issue? Looking forward to your reply. Thank you in advance.
Hello,
Thank you for your wonderful work!
I am running Pocket2Mol using a TITAN RTX under the default settings. I notice that my training process is time-consuming (4days).
I wonder how long does it approximately take to train in your experiment, and how many V100s are used.
Nice Paper,could you tell me how to add the atom and atomic coordinate of the initial ligand in the sample of protein pocket? Just like smiles seq2seq, we give the prompt of sequence like CCCC. In this work, we give the initial ligand like atom and xyz.
Hi,
I have used your vina score script "docking.py" recently. However, I have met the following error,
Traceback (most recent call last):
File "/sample_geo.py", line 519, in
g_vina_score = vina_task.run_sync()
File "/evaluation/docking.py", line 168, in run_sync
while self.get_results() is None:
File "/evaluation/docking.py", line 182, in get_results
self.results = parse_qvina_outputs(self.docked_sdf_path)
File "/evaluation/docking.py", line 24, in parse_qvina_outputs
suppl = Chem.SDMolSupplier(docked_sdf_path)
OSError: File error: Invalid input file /tmp/olzbpempbkdjotcpxfbqvwjfnxltvc_ligand_out.sdf
I found that error was caused by the missing script “prepare_receptor4.py ”.
Could you please help me solve it or provide this script?
Thank you for your attention.
Good work, the details on evaluation are lack, when using
bash ./evaluation/batch_eval.sh 1 0 0
to do evaluation, the affinity calculation would produce errors by ourselves. We'd like to ask if convenient to release some information on evaluation.
Hello, may I ask how much gpu memory is required for retraining? It reported an error during retraining, GPU memory is insufficient. Can I reduce the usage of graphics memory by changing parameters?
[2023-05-16 14:40:37,049::train::ERROR] Runtime Error CUDA out of memory. Tried to allocate 38.00 MiB (GPU 0; 23.69 GiB total capacity; 12.51 GiB already allocated; 36.75 MiB free; 12.58 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
[2023-05-16 14:40:37,050::train::ERROR] Runtime Error Pin memory thread exited unexpectedly
Traceback (most recent call last):
File "/disk-1Tm2/gm/original_/Pocket2Mol/train.py", line 227, in <module>
train(it)
File "/disk-1Tm2/gm/original_/Pocket2Mol/train.py", line 108, in train
batch = next(train_iterator).to(args.device)
StopIteration
Hello! I want to use the evaluation program to test on the result generated by the sample.py. However, I do not find the './evaluation/pdb_data' in the /evaluation. Also I try to replace it with /crossdocked_pocket10 but it will report error about some pdb files are missing. So I am wondering how should I set this protein_root
I am trying to sample for pockets in the testset, but I couldn't find the "crossdocked_pocket10_name2id.pt" file.
My crossdocked_pocket10 and split_by_name.pt are located at /data/
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.