ccsb-scripps / AutoDock-Vina

AutoDock Vina
http://vina.scripps.edu
Apache License 2.0
596 stars 209 forks source link

Error while running Vina for multiple ligand docking #268

Open mbilaltayyab opened 8 months ago

mbilaltayyab commented 8 months ago

i am trying to run pearl script on Ubuntu linux subsystem running on Windows11 to do multiple ligand docking but getting an error "An internal error occurred in ../../../src/lib/tree.h(101)."

the script which i am using is in following "

!/usr/bin/perl

print"Ligand_file:\t"; $ligfile=; chomp $ligfile; open (FH,$ligfile)||die "Cannot open file\n"; @arr_file=;

for($i=0;$i<@arr_file;$i++) { print"@arr_file[$i]\n"; @name=split(/./,@arr_file[$i]); } for($i=0;$i<@arr_file;$i++) { chomp @arr_file[$i]; print"@arr_file[$i]\n"; system("vina --config conf.txt --ligand @arr_file[$i]");

Kindly help me to rectify it if anyone find a solution for it.

diogomart commented 8 months ago

Can you post the ligand and conf.txt?

mbilaltayyab commented 8 months ago

conf.txt 12.8.xlsx

diogomart commented 8 months ago

Would have to look at the actual ligand and receptor PDBQT to see what's going on.

pamochi commented 7 months ago

Having the exact same problem. Same script, similar setup. Reinstalled Vina and AutodockTools, no difference

pamochi commented 7 months ago

@mbilaltayyab Did you convert your ligands from SMILES to pdbqt? I had done that before and gotten the same error, just downloaded my ligands again as SDF this time, added charges, converted 3d, minimized energy, converted to mol2 then pdbqt. And it seemed to work

diogomart commented 7 months ago

@pamochi can you post the input files and all parameters and options so i can reproduce on my end?

pamochi commented 7 months ago

@diogomart I managed to fix the issue on my end. I had the same scirpt and config as @mbilaltayyab. I switched over to my Ubuntu VM and with a bash script also had the same error

So, I went back and instead of converting my SMILES to pdbqt, I converted SDFs. And it seemed to work. Originally I used "$ obabel -i smi smiles.smi -o sdf -O out.sdf -m -h --gen3d" to convert my SMILES

And now I am using "for i in .sdf; do obabel $i -O $i -h; done" "for i in .sdf; do obabel $i -O $i --gen3d; done" "for i in .sdf; do obminimize -ff MMFF94 -n 1000 $i; done" "obabel .sdf -omol2 -m" "obabel *.mol2 -opdbqt -m"