Rose-STL-Lab / LIMO

generative model for drug discovery
59 stars 14 forks source link

Generate qed.pt file or binding_affinity.pt file #2

Closed KeithTab closed 2 years ago

KeithTab commented 2 years ago

Hi! When I try to generate qed.pt or binding_affinity.pt file by the script train_property_predictor.py , I have a problem like that:

Epoch 4: 100%|█████████████████████████████████████████████████████████████████████| 90/90 [00:00<00:00, 172.03it/s, loss=nan, v_num=3]
property predictor trained, correlation of r = nan

I'm not sure whether this is my *.maps.fld problem, I have followed the instruction of Rigid Receptor PDBQT Files – the “Grid” Menu , when I tried to replace my.maps.fld file with 1err, I still have this problem)

KeithTab commented 2 years ago

and this :

Traceback (most recent call last):                                                                                                                                                                                        
  File "/home/szk/Desktop/LIMO/train_property_predictor.py", line 52, in <module>
    print(f'property predictor trained, correlation of r = {linregress(model(x[:1000].to(device)).detach().cpu().numpy().flatten(), y[:1000].detach().cpu().numpy().flatten()).rvalue}')
  File "/home/szk/software/miniconda3/envs/pytorch/lib/python3.8/site-packages/scipy/stats/_stats_mstats_common.py", line 150, in linregress
    raise ValueError("Cannot calculate a linear regression "
ValueError: Cannot calculate a linear regression if all x values are identical
PeterEckmann1 commented 2 years ago

Hi! It's likely the Autodock call is failing somewhere. Could you try removing stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL from line 214 of utils.py:

https://github.com/Rose-STL-Lab/LIMO/blob/89f47acc0c5f50ae9035ace266a2cbfe43df319c/utils.py#L214

The output is piped to null because autodock produces a lot of useless results that fill the terminal, but in this case autodock might be failing silently. If you remove this pipe you should see everything that Autodock is outputting. What kind of error do you get after you make that change, if any? Thanks!

KeithTab commented 2 years ago

Hi! It's likely the Autodock call is failing somewhere. Could you try removing stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL from line 214 of utils.py:

https://github.com/Rose-STL-Lab/LIMO/blob/89f47acc0c5f50ae9035ace266a2cbfe43df319c/utils.py#L214

The output is piped to null because autodock produces a lot of useless results that fill the terminal, but in this case autodock might be failing silently. If you remove this pipe you should see everything that Autodock is outputting. What kind of error do you get after you make that change, if any? Thanks!

OK,thanks.when I remove this code from utils.py, I can successfully generate the binding_affinity.pt__, because my device is Geforce RTX 3060, so I also make change to the complie of the autodock_gpu , it should be make DEVICE=CUDA NUMWI=64 TARGETS=80__ :)

finally, really appreciate your reply image