The box selection tool has been updated to be easier to use thanks to WenyueDai. Now simply select your desired position on the protein structure and use the following command in PyMOL: Box(‘sele’, 2,2,2) and adjust the values until you get the desired box size. Instructions within the script file has been updated. Thank you WenyueDai
Thank you very much for your instructions, I have tried your tool. However, I met this error: PyMOL>Box('sele',15,17,55) NameError: name 'Box' is not defined What should I can to fix this problem? Thank you very much for your time and your kind help.
@@SariSabban Thank you very much for your prompt reply. I am sorry for my late response. This the command that I used to open pymol pymol /home/leo/Desktop/autodock.py -b /home/leo/biotools/pdb/recepter_atom_adh.pdbqt After a while, the pymol was initiated, and then I typed the command Box(0,0,0,20,20,20). Then it showed this error: PyMOL>Box(0,0,0,20,20,20) NameError: name 'Box' is not defined I also tried to use: PyMOL>Box('sele',15,15,15) NameError: name 'Box' is not defined I am using pymol 2.2. When you have time, could you give me some advice? Thank you very much for your kind help, Yours sincerely, Le Phuong.
Thank you very much for walk-through autodock Vina tutorial Isn't current pymol version is 1.7? I wan wondering whether you have tried out complying the open-source-pymol which I believe it's on python 3 already?
I can compile it, but I try to demonstrate having a system that most linux users or beginners would have, which means installing through apt rather than compiling. Either way the latest pymol is currently available in the latest ubuntu version, and ha always been up-to-date in arch and its distros.
Dear Prof. Sari, thanks for such an illustrative tutorial. I want to ask you how would be possible to set up a "sequential docking", by this means starting from a different pose hudreds or 1000's of times? We have seen that before but was not clear in the end.
Hi, sorry for the late reply, I did not get a notification of your post. You might want to look at the random seed at AutoDock vina. I have the random seed constant to compare different ligands, but if you do not use the --seed flag the default setting is to use a different starting point on each run. I hope that answers your question.
you can construct such a system using bash or a python script, autodock provides you with a single run as a basic building block, and it is up to you to construct other blocks around it. so for your question a very basic way is to just add the different structures in sequence, maybe generate all the structure you want, add them into a directory and have a bash script to run the autodock command on every file in the directory (you can do that with a single line loop in bash). or you can have a more sophisticated script that generate the different structures that you need, run the autodock computation and then save the result. you can build it in many different ways. :-)
Thank you Sabban! It is really helpful! Btw, for the coordinate to fill in box, one could use iterate_state 1, sele, print (x,y,z) to make this step quicker:)
@@SariSabban Hi, pull requested! Hope that is something useful. Instead of searching the box center by hand, one could input as Box("sele",4,4,4) which automatically calculates the average Ca coordinate of "sele" as input box center and define the box edge as custom :}
Dear Sari, Thank you so much for your valuble tutorials. When you have time, I would like to ask whether I can dock 1 ligand with multiple protein database?
hi video is very informative thanks. i had a query i want to perform protein protein docking. here i want to dock the mouse antibody specific to VP1 protein of FMDV. can it be done by autodock, or which tool can be used? can u suggest any tool for said purpose.
Sir Your video is very very helpful, could you please help me out... i am not getting .out files of ligands. log file and result file is created. Only .log is there .out which is structure file is not there in the folder.
@Sari Sabban sorry but i have tried your program. However, I met this error: this error in pymol Box(‘sele’,2,2,2) File "toplevel", line 1 Box(‘sele’,2,2,2) ^ SyntaxError: invalid character in identifier What should I can to fix this problem? Thank you very much for your time and your kind help. Also thank you for the tutorial of rosetta CM this save me a lot!! :D
nathan royer ok this is a new command that was added after the video. You need to make sure you select a point first on the molecule then use that command. When you select a position, by just clicking on the molecule you get a new object called ‘sele’, thus when you execute this command it should work. Please let me know if you still have problems with it.
@@SariSabban sorry it didn't work, I selected an atom in the protein and later I run the comand but it show's me the same error. PyMOL>Box(‘sele’, 2,2,2) File "toplevel", line 1 Box(‘sele’, 2,2,2) ^ SyntaxError: invalid character in identifier x-special/nautilus-clipboard copy
After investigating I found the source of your error: You might have the wrong character in your command, the ‘ is be the wrong apostrophe character. There are differences between the curly ‘ and the straight ‘ You need to use the straight one.
I'm pretty sure you have solved your problem by now but still, if you are interested, there are many freeware software available on the internet. One is chemsketch and the second is ChemDraw.
I never preformed any docking prouder before and I want to ask, I have 50 ligands how much time do u think will take me to finish the docking I have 4 weeks left i’m scared that it will take time
If I run the ADV on my AWS machine I got the an error saying 'Writing output ... done. mkdir: cannot create directory ‘logs’: File exists mv: target 'log' is not a directory' without out files. Why it is happening? Thank you for the great tutorial.
Last Mohican it is difficult to say without knowing how you setup the environment. But try to either comment out the os.mkdir line it delete the logs directory. It might be saying that it already exists thus error!
Hi Prof, thank you for a very informative video! this helped me a lot however i im very new to using HPC and i'm really in a rush to running 15,000 ligands docking but i am not really clear on how to do this because i keep getting error. Must the autodock vina module be available in the supercomputer for me to use this code? because my HPC server does not have this. I would really appreciate if we can discuss this, or maybe should we discuss by email?
You will need the AutoDock executable on your HPC for it to work. But I have not used an AutoDock module and did not need one. It would be better to discuss this with your HPC managers since each HPC is built differently. Sure you can email me.
@@SariSabban i see, i've transferred the executable into my hpc account however im encountering a different error . could be mistakes from me converting pbs to slurm script. Will contact the hpc managers on monday see how it goes. Thank you for the response 😊
@Sari Sabban Hi! Thank you for this helpful video, I have been using it to set up my own object-oriented pipeline using openbabel and mgltools. I have run into an issue, when using the same order of cleaning, refining with Pymol, and converting with Pybel, that some resulting pdbqt files fail to open in AutodockTools (ListIndex error: out of range in the torsion tree module, empty Mol input as a result). Some open fine, PyMol also has no trouble with any of them. Have you encountered this issue before? Is being able to open with Adt even necessary to properly dock with Vina?
Iaintrussian to be honest. I haven’t faced this issue. I am not sure why this occurs. One thing you could try is to run it as a control. So you can test your setup using both methods and see if you still get similar results. If you do get the same results then that means there is no problem. If you get wildly different results if you fail to complete the simulation then there is something wrong. I hope my explanation was good?
@@SariSabban Thank you for the feedback! In general, I am a bit confused by the high variability in potential outputs. Do I understand correctly you suggest extracting ATOM both before running pymol/obabel and again at the end of your receptor method call? I had so far only tried one or the other, now that I have taken another look. Thank you again for the feedback! Your video is a very well organized and helpful resource for a topic awash in many formats and poorly scripted methods.
@@SariSabban That's what I had assumed (and ran into the errors originally described), but then why the additional 'grep ATOM' command at line 191 of AutoDock.py, after pymol/obabel finish their writes?
Hi i have a sdf file of ligands and i want to convert into pdbqt and rename with the zincid which is given inside the file. I tried to convert with the babel but unable to rename the files with the ZINCID as i downloaded it from the zinc database. so i want your help if u can share any script for renaming and conversion of the file so thaht I can use it for docking by vina.
This is a section of my code (lines 149 to 161) count = 0 with open('zincid', 'r') as infile: with open('temp2', 'a') as outfile: for line in infile: if line.startswith('MODEL'): count += 1 outfile.write('MODEL {:15} '.format(count)) else: outfile.write(line) #os.system('ls *.pdbqt | grep -v receptor.pdbqt | xargs rm') os.system("rm -R `ls -1 -d */`") os.rename('temp2', 'ZINC15.pdbqt') Try it and hopefully it works. If it doesn’t you will have to change it to your particular file content.
Dear Sari, Could you please let me know, in the last part of the long code "sort temp -nk 3 > Results;" , Is nk "3" equal to the number of folders? thank you so much for this video jiali
You could also watch my video on “how to use a supercomputer” so see how to write a pbs job script (thought there is a command in the autodock.py script to automatically write one).
if I have 10 subfolders in Ligands but only want to screen 3 subfolders how can I modify the line "for file in ./Ligands/*/*; do tmp=${file%.pdbqt}; " to only screen the first 3 folders without removing the other 7 from the folder
You can. There are neural networks and tools that you might use and experiment with. I have not used them yet. I am actually interested in this question myself and currently researching/learning it. I will share later if I complete one of these projects.
After updating both programs and their dependencies on Mac OSX Catalina, my system is now running Python 3.8.5 with Pymol 2.3.0. But when I run the script I get the following error: ModuleNotFoundError: No module named 'pymol' Any ideas on how to fix this compatibility issue?
Mark Villar unfortunately pymol doesn’t always work with the latest python version, it is always late in its updates. You have to check which python version pymol is using. Then you either have the option to manually install the latest pymol version (making sure it uses the latest python version) from their website (not APT) which might be a paid version I am not sure. Or use a lower python version (which I do not recommend).
SAGAR H M grep works on a Linux terminal not windows. Since you are on windows you will have to manually edit the .pdb file using the application notepad.
Hi, this is magic for me! many thanks, but I have a little problem after running the script for local computation. As soon as the docking finishes, I don’t get any output file NAME.out, only the logs NAME.log, and a final message that says “mv: was enable to do ‘stat’ on ‘*.out’: file does not exist”… or something like that since it is in Spanish in my ubuntu 18. I could not come up with the solution, so can you please help me with this please!? Thanks in advance.
@@SariSabban I run this: for file in ./Ligands/*/*; do tmp=${file%.pdbqt}; name="${tmp##*/}"; vina --receptor receptor.pdbqt --ligand "$file" --out $name_out.pdbqt --log $name.log --exhaustiveness 10 --center_x 0 --center_y 0 --center_z 10 --size_x 15 --size_y 15 --size_z 15; awk '/^[-+]+$/{getline;print FILENAME,$0}' $name.log >> temp; done; sort temp -nk 3 > Results; rm temp; mkdir logs; mv *.log *.out logs This runs vina for every ligand and creates the Logs folder with every log file, but I received the error I mentioned before (mv: can’t do ‘stat’ on ‘*.out’ : the file or directory doesn’t exit) and there is none *.out or *_out.pdbqt file as an output. Since it is a clear problem with the output files I changed the output parameter as --out $name.out and worked OK… but I don’t know why!
Hello Mr.sabban Thak you for your great tutorial. But I have two probles that I couldn't fix. When I run your code for virtual screening it goes perfectly but at the end it gives me this error: mv: cannot stat '*.out': no such file or directory. and it doesn't give me out file. Besides, after run it gives all of bonding affinity scores zero for all molecules. Could you help for fixing these issues?
ali khamoushi what command did you run? And was it on your local computer or a supercomputer? And if it was on a supercomputer what is your job schedular?
Sari Sabban the command you show on 47:07 and it was powerful local computer with 24 core. and I have all of my ligands in one folder. Though I tried your split method for splitting ligands in like 24 segment but it didn't help.
ali khamoushi ok I found the issue and fixed it. You can find the new fixed command in the github repo. Also here it is: for file in ./Ligands/*; do tmp=${file%.pdbqt}; name="${tmp##*/}"; ./vina --receptor receptor.pdbqt --ligand "$file" --out $name_out.pdbqt --log $name.log --exhaustiveness 10 --center_x 0 --center_y 0 --center_z 10 --size_x 15 --size_y 15 --size_z 15; awk '/^[-+]+$/{getline;print FILENAME,$0}' $name.log >> temp; done; sort temp -nk 3 > Results; rm temp; mkdir logs; mv *.log *.out logs Tell me if it works.
This depends on what you are targeting, you cannot determine that in isolation, you must compare it to something else. So you need the docking value of a molecule to a protein to be lower than a natural ligand to that protein. Or choose the several lowest docking molecules then investigate in the lab which one disrupts the function of the protein.
sir i have Some questions please answer them if you can... I have windows OS and want to dock multiple (600) newly designed Ligands with my targeted protein. so my questions are.. 1. do i have to dock them one by one..? (obviously it will take so much time to repeat the steps) 2. can I just dock all of them together.? and if yes how? And is it possible in windows or i have to use Linux? (actually i mean to just put all of them in a line so that they can get docked one after other) (my problem is that i have seen someone who docked more then 100 Ligands. what he do in actual is that he gave a command and system kept running for 1 whole day for docking studies. he used Linux OS and this is my concern that can i do it in windows OS too..? )
I am very new to all this and may be a very stupid question. Can all this be achieved in Win Powershell? I'm a Biochemist with no basic command or coding knowledge. I want to predict my Substrate-Enzyme complexes via the allosteric residues in conjunction with a metal Co-factor. Is this too complex for me?
Maybe. I haven’t tried it on windows. But it will probably be very complicated to setup. Your learning and work progress would be more streamlined if you use Linux for your scientific computational research.
Yes it is possible, though I don’t have experience with these cloud services, my experience is mainly on using university supercomputers. There are supercomputers around the world that are free for academics, but they requires lots of justification for the research.
Hi, Sari Thank so much for this great tutorial. I have a problem when trying to run the script in order to build the box in the active site of my protein by the command: "pymol AutoDock.py -b receptor.pdbqt". i am getting this error: " freeglut (pymol): failed to open display PyMOL: abrupt program termination ". * i am using ubuntu in my windows 10 laptop.
Hello dear sir i tried to use the Traceback (most recent call last): File "AutoDock.py", line 285, in if __name__ == '__main__': main() File "AutoDock.py", line 262, in main split(sys.argv[2], 'Ligands', 'model', int(sys.argv[3])) File "AutoDock.py", line 138, in split if line.strip().split()[0] == 'MODEL' and line.strip().split()[1] == '{}'.format(count+1): IndexError: list index out of range command line and i get this error how should i solve this
Hi Sari, When I use the "python3 autodock.py -r R.pdb" I have the following error "Traceback (most recent call last): File "autodock.py", line 65, in import pymol ModuleNotFoundError: No module named 'pymol' I very sure that I have pymol install. could please provide a solution to this?
@@SariSabban Hey Dr. Sabban. I am having a similar problem despite using the main download from the website (which states it includes Python 3). Would love any reqs regarding work-arounds.
Hello prof. Sari i am using python 3 in ubuntu 18 but my linux OS also have python 2 so while writting command sbould i use python 3? And what about comment in or out of pymol?
HASSAN GHAYAS you should use python3 in general for everything. But since you have an old pymol use python 2 “just for pymol” until it is updated in later Ubuntu updates.
When typing "python AutoDock.py -r R.pdb" it gives me the following message Traceback (most recent call last): File "AutoDock.py", line 64, in import numpy ModuleNotFoundError: No module named 'numpy' can you help with this? what does it mean
@@SariSabban Thank you! Also now I am seeing this: Traceback (most recent call last): File "Autodock.py", line 65, in import pymol ModuleNotFoundError: No module named 'pymol' I have both pymol 2 and 3. How can I fix this error. Sorry I am very unfamiliar with coding
Shouldn't you use `grep ^ATOM ...` instead of `grep ATOM ...` to get lines that start with `ATOM` only? Otherwise, I'm seeing other lines included. Also, thanks for the tutorial!
Dear Sari, I am grateful for your tutorial. I want to ask if we can use heme atoms while docking and what will be the implications of using or not using them?
I’ll be honest with you. I haven’t run a docking experiment with a heam group and I do not remember the standard protocol. Please refer to the following series of videos and it “might” have the answer: th-cam.com/users/BioExcelCoE
@@SariSabban Thanks for a quick reply. I am going to use this script on SLURM HPC machine today. I do have a submission script for other code. I will try to modify it for Vina and will hope that it work. I will update here how it goes. Thanks!
Hi Sari, when I try running the AutoDock.py file I keep getting an error that says "ModuleNotFoundError: No module named 'pymol'" even though I have installed pymol. Could you please help with this? thank you
That was spectacular. Very elegant really. If you could give me your email, I would appreciate it as I am currently having few questions that I'd like to know your opinion about. Thank you very much and please keep the good work up!
OMG! I HAVE TRIED A LOT of video tutorial to even get a gist of what AUTODOCKING is and your video BY FAR are the best. YOU EXPLAINED IT VERY WELL! THANK YOU! will you please do a Gromacs protein-ligand complex? i went to this site www.mdtutorials.com/gmx/complex/index.html but im still having errors..... so its okay if you wont,, its just a suggestion i dont want to bother you.
Hello, I am running into many issues using your script. I was wondering if I can contact you for extra assistance. It would be greatly appreciated as I will need this for my graduate studies. I have very limited knowledge on running commands and scripts which is making this difficult for me.
@@SariSabban I am facing this issue now. How to I proceed from here? python3 AutoDock.py -d ZINC-downloader-3D-pdbqt.gz.wget/ Traceback (most recent call last): File "AutoDock.py", line 329, in if __name__ == '__main__': main() File "AutoDock.py", line 304, in main download(sys.argv[2]) File "AutoDock.py", line 118, in download with open(filename, 'r')as infile: NotADirectoryError: [Errno 20] Not a directory: 'ZINC-downloader-3D-pdbqt.gz.wget/'
Thank you for the awesome video! I have a question about getting files from zinc15. When I ran the Autoduck.py, I get the following error message: ~/Desktop$ python3 Autodock.py -d ZINC-downloader-3D-pdbqt.gz.uri Traceback (most recent call last): File "Autodock.py", line 320, in if __name__ == '__main__': main() File "Autodock.py", line 297, in main download(sys.argv[2]) File "Autodock.py", line 141, in download with open('temp', 'r') as infile: FileNotFoundError: [Errno 2] No such file or directory: 'temp' Am I missing something from the script or I need some other package to run the script correctly? Thank you.
In "Download Method" choose "WGET" and your filetype should end in .wget. Then you can run something like `python3 Autodock.py -d ZINC-downloader-3D-pdbqt.gz.wget`.
Hi, sorry for the late reply, I did not get a notification of your post. I use a crappy 2011 MacBook Pro i7 CPU 4GB RAM with Linux Ubuntu 18.10 on it. That is why my video's are not that HD (especially the camera). But for computation I do have access to an HPC (my university's high performance cluster supercomputer), and sometimes I rent out servers around the world to perform certain types of computations (that I cannot do on an HPC), or to access GPUs for machine learning. So basically I do not use my laptop for any computation, it cannot handle them.
I have a puny 2011 13" macbook pro, its not the best to run computation, nor to record good quality video (sorry for that). So almost all my computations are either run on a HPC (Supercomputer) or on servers.
very good tutorial .... replace "--out $name_out.pdbqt " with " --out $name.out" in your github script. As no models were generating due to this error ......
@@SariSabban Hi buddy I have tried . I have installed but software is not running. Can you help me. I am unable to open .exe file. I have tried using windows system.
Indraneel Dhavale I do not have experience with the windows system but the executable should not open any windows. You have to give it parameters and it will perform the computation and return the result (no graphics). In Linux you just add these parameters in the terminal, but in windows I don’t have experience.
Hello. This is such an informative video. OMG. I've been searching for a long time. Finally, I know better now after seeing your video. There are some questions and confusions which I still have. Can you please help me regarding that and we talk on email or skype? PLEASE!
@@SariSabban The problem I am having is that I have macbook and all steps for docking proceed really fine but the last command like "./vina --config conf.txt --log logSO.txt" doesn't work. Please help. I also don't know if the docking result which I get is right or not. Can you please check? It's my first time so I'm having these confusions. When things are clear, it won't be difficult for me later.
@@SariSabban Sir I had tried but Stuck on removing the N3 protein from that Covid-19. I had collected some possible inhibitors. I dunno how to dock them. :(
The box selection tool has been updated to be easier to use thanks to WenyueDai. Now simply select your desired position on the protein structure and use the following command in PyMOL: Box(‘sele’, 2,2,2) and adjust the values until you get the desired box size. Instructions within the script file has been updated. Thank you WenyueDai
Thank you very much for your instructions, I have tried your tool. However, I met this error:
PyMOL>Box('sele',15,17,55)
NameError: name 'Box' is not defined
What should I can to fix this problem?
Thank you very much for your time and your kind help.
Nguyen Le Phuong what command have you used to open pymol?
@@SariSabban Thank you very much for your prompt reply. I am sorry for my late response. This the command that I used to open pymol
pymol /home/leo/Desktop/autodock.py -b /home/leo/biotools/pdb/recepter_atom_adh.pdbqt
After a while, the pymol was initiated, and then I typed the command Box(0,0,0,20,20,20). Then it showed this error:
PyMOL>Box(0,0,0,20,20,20)
NameError: name 'Box' is not defined
I also tried to use:
PyMOL>Box('sele',15,15,15)
NameError: name 'Box' is not defined
I am using pymol 2.2. When you have time, could you give me some advice?
Thank you very much for your kind help,
Yours sincerely,
Le Phuong.
Very comprehensive, thank you so much!
Sir, Thank you for your video tutorial
Thank you! How do I add new atom types in Vina, specifically for Silicon? Is there a parameter file like GPF or DPF that needs to be edited?
Thank you very much for walk-through autodock Vina tutorial
Isn't current pymol version is 1.7?
I wan wondering whether you have tried out complying the open-source-pymol which I believe it's on python 3 already?
I can compile it, but I try to demonstrate having a system that most linux users or beginners would have, which means installing through apt rather than compiling. Either way the latest pymol is currently available in the latest ubuntu version, and ha always been up-to-date in arch and its distros.
Dear Prof. Sari, thanks for such an illustrative tutorial. I want to ask you how would be possible to set up a "sequential docking", by this means starting from a different pose hudreds or 1000's of times? We have seen that before but was not clear in the end.
Hi, sorry for the late reply, I did not get a notification of your post.
You might want to look at the random seed at AutoDock vina. I have the random seed constant to compare different ligands, but if you do not use the --seed flag the default setting is to use a different starting point on each run. I hope that answers your question.
you can construct such a system using bash or a python script, autodock provides you with a single run as a basic building block, and it is up to you to construct other blocks around it. so for your question a very basic way is to just add the different structures in sequence, maybe generate all the structure you want, add them into a directory and have a bash script to run the autodock command on every file in the directory (you can do that with a single line loop in bash). or you can have a more sophisticated script that generate the different structures that you need, run the autodock computation and then save the result. you can build it in many different ways. :-)
very informative tutorial...thanks
Thank you Sabban! It is really helpful! Btw, for the coordinate to fill in box, one could use iterate_state 1, sele, print (x,y,z) to make this step quicker:)
Wenyue Dai thank you for the suggestion. If you amend this in the code I can upgrade it. 🙂👍
@@SariSabban Hi, pull requested! Hope that is something useful. Instead of searching the box center by hand, one could input as Box("sele",4,4,4) which automatically calculates the average Ca coordinate of "sele" as input box center and define the box edge as custom :}
How can i make molecular docking for coordination compounds (complexes)
Dear Sari, Thank you so much for your valuble tutorials. When you have time, I would like to ask whether I can dock 1 ligand with multiple protein database?
Nguyen Le Phuong you can if you reverse the order of things I the way I have setup them up.
@@SariSabban Dear Sari, Thank you very much for your suggestion
Nice tutorial... What command should be used in autodock 4 for generating grid file and dock file?
Prashasti Sinha so here I use pymol to generate the grid search space. But you can use autodock tools (if you can get it to work).
In my linux, autodock tools work perfectly
hi video is very informative thanks.
i had a query i want to perform protein protein docking.
here i want to dock the mouse antibody specific to VP1 protein of FMDV.
can it be done by autodock, or which tool can be used?
can u suggest any tool for said purpose.
Sir Your video is very very helpful, could you please help me out... i am not getting .out files of ligands. log file and result file is created. Only .log is there .out which is structure file is not there in the folder.
shilpa sharma which command are you using?
I got the same issue so please use this instead.
for file in ./Ligands/*/*; do tmp=${file%.pdbqt}; name="${tmp##*/}"; ./vina --receptor receptor.pdbqt --ligand "$file" --out $name.out --log $name.log --exhaustiveness 10 --center_x 0 --center_y 0 --center_z 10 --size_x 15 --size_y 15 --size_z 15; awk '/^[-+]+$/{getline;print FILENAME,$0}' $name.log >> temp; done; sort temp -nk 3 > Results; rm temp; mkdir logs; mv *.log *.out logs
@Sari Sabban sorry but i have tried your program. However, I met this error: this error in pymol
Box(‘sele’,2,2,2)
File "toplevel", line 1
Box(‘sele’,2,2,2)
^
SyntaxError: invalid character in identifier
What should I can to fix this problem?
Thank you very much for your time and your kind help.
Also thank you for the tutorial of rosetta CM this save me a lot!! :D
nathan royer ok this is a new command that was added after the video.
You need to make sure you select a point first on the molecule then use that command. When you select a position, by just clicking on the molecule you get a new object called ‘sele’, thus when you execute this command it should work.
Please let me know if you still have problems with it.
@@SariSabban thank you very much!!
@@SariSabban sorry it didn't work, I selected an atom in the protein and later I run the comand but it show's me the same error.
PyMOL>Box(‘sele’, 2,2,2)
File "toplevel", line 1
Box(‘sele’, 2,2,2)
^
SyntaxError: invalid character in identifier
x-special/nautilus-clipboard
copy
After investigating I found the source of your error:
You might have the wrong character in your command, the ‘ is be the wrong apostrophe character. There are differences between the curly ‘ and the straight ‘
You need to use the straight one.
Great tutorial, many thanks for that!!!
Thanks for the video. A small question I am struggling with - how to create your own ligand structure?
I'm pretty sure you have solved your problem by now but still, if you are interested, there are many freeware software available on the internet. One is chemsketch and the second is ChemDraw.
Thank you, great video
I never preformed any docking prouder before and I want to ask, I have 50 ligands how much time do u think will take me to finish the docking
I have 4 weeks left i’m scared that it will take time
If I run the ADV on my AWS machine I got the an error saying 'Writing output ... done. mkdir: cannot create directory ‘logs’: File exists mv: target 'log' is not a directory' without out files. Why it is happening? Thank you for the great tutorial.
Last Mohican it is difficult to say without knowing how you setup the environment. But try to either comment out the os.mkdir line it delete the logs directory. It might be saying that it already exists thus error!
Now it works, check the comment from ‘Shubham Verma’. The tutorial is really helpful. Thank you.
You are a awesome tutor, thanks a lot. I am using pymol 2.3.5 and it works, but I want to know if this could give wrong results.
jarbas santos you should get the same result. Remember that you only visualise on pymol, you don’t run any computation.
Hi Prof, thank you for a very informative video! this helped me a lot however i im very new to using HPC and i'm really in a rush to running 15,000 ligands docking but i am not really clear on how to do this because i keep getting error. Must the autodock vina module be available in the supercomputer for me to use this code? because my HPC server does not have this. I would really appreciate if we can discuss this, or maybe should we discuss by email?
im using slurm however
You will need the AutoDock executable on your HPC for it to work. But I have not used an AutoDock module and did not need one. It would be better to discuss this with your HPC managers since each HPC is built differently.
Sure you can email me.
@@SariSabban i see, i've transferred the executable into my hpc account however im encountering a different error . could be mistakes from me converting pbs to slurm script. Will contact the hpc managers on monday see how it goes. Thank you for the response 😊
@Sari Sabban Hi! Thank you for this helpful video, I have been using it to set up my own object-oriented pipeline using openbabel and mgltools. I have run into an issue, when using the same order of cleaning, refining with Pymol, and converting with Pybel, that some resulting pdbqt files fail to open in AutodockTools (ListIndex error: out of range in the torsion tree module, empty Mol input as a result). Some open fine, PyMol also has no trouble with any of them. Have you encountered this issue before? Is being able to open with Adt even necessary to properly dock with Vina?
Iaintrussian to be honest. I haven’t faced this issue. I am not sure why this occurs. One thing you could try is to run it as a control. So you can test your setup using both methods and see if you still get similar results. If you do get the same results then that means there is no problem. If you get wildly different results if you fail to complete the simulation then there is something wrong. I hope my explanation was good?
@@SariSabban Thank you for the feedback! In general, I am a bit confused by the high variability in potential outputs. Do I understand correctly you suggest extracting ATOM both before running pymol/obabel and again at the end of your receptor method call? I had so far only tried one or the other, now that I have taken another look.
Thank you again for the feedback! Your video is a very well organized and helpful resource for a topic awash in many formats and poorly scripted methods.
Iaintrussian no extracting ATOM “or cleaning” only before openbabel/pymol.
@@SariSabban That's what I had assumed (and ran into the errors originally described), but then why the additional 'grep ATOM' command at line 191 of AutoDock.py, after pymol/obabel finish their writes?
@@SariSabban If the scraped remarks, torsions etc from the PDBQT are not needed for docking, my apologies, because that would fix my issue as well :)
hmmm this is only for those who understand scripts, not for beginners who wanna newly learn molecular docking...... ?
Hi i have a sdf file of ligands and i want to convert into pdbqt and rename with the zincid which is given inside the file. I tried to convert with the babel but unable to rename the files with the ZINCID as i downloaded it from the zinc database. so i want your help if u can share any script for renaming and conversion of the file so thaht I can use it for docking by vina.
This is a section of my code (lines 149 to 161)
count = 0
with open('zincid', 'r') as infile:
with open('temp2', 'a') as outfile:
for line in infile:
if line.startswith('MODEL'):
count += 1
outfile.write('MODEL {:15}
'.format(count))
else:
outfile.write(line)
#os.system('ls *.pdbqt | grep -v receptor.pdbqt | xargs rm')
os.system("rm -R `ls -1 -d */`")
os.rename('temp2', 'ZINC15.pdbqt')
Try it and hopefully it works. If it doesn’t you will have to change it to your particular file content.
Dear Sari,
Could you please let me know, in the last part of the long code "sort temp -nk 3 > Results;" , Is nk "3" equal to the number of folders?
thank you so much for this video
jiali
Jiali Wang 3 is the column number, the command sorts the information using the 3rd column
You could also watch my video on “how to use a supercomputer” so see how to write a pbs job script (thought there is a command in the autodock.py script to automatically write one).
@@SariSabban Thank you so much!!!!
if I have 10 subfolders in Ligands but only want to screen 3 subfolders how can I modify the line "for file in ./Ligands/*/*; do tmp=${file%.pdbqt}; " to only screen the first 3 folders without removing the other 7 from the folder
Elina k you can add a count = 3 before the loop and count -= 1 within the loop. Try that.
@@SariSabban can you type it for me because I dont know how to do that
What if I need ligand that is not present in database? Is it possible to create my own ligand structure?
You can. There are neural networks and tools that you might use and experiment with. I have not used them yet. I am actually interested in this question myself and currently researching/learning it. I will share later if I complete one of these projects.
After updating both programs and their dependencies on Mac OSX Catalina, my system is now running Python 3.8.5 with Pymol 2.3.0. But when I run the script I get the following error:
ModuleNotFoundError: No module named 'pymol'
Any ideas on how to fix this compatibility issue?
Mark Villar unfortunately pymol doesn’t always work with the latest python version, it is always late in its updates.
You have to check which python version pymol is using. Then you either have the option to manually install the latest pymol version (making sure it uses the latest python version) from their website (not APT) which might be a paid version I am not sure. Or use a lower python version (which I do not recommend).
its showing (grep' is not recognized as an internal or external command,
operable program or batch file) what to do in terminal
SAGAR H M grep works on a Linux terminal not windows. Since you are on windows you will have to manually edit the .pdb file using the application notepad.
Hi, this is magic for me! many thanks, but I have a little problem after running the script for local computation. As soon as the docking finishes, I don’t get any output file NAME.out, only the logs NAME.log, and a final message that says “mv: was enable to do ‘stat’ on ‘*.out’: file does not exist”… or something like that since it is in Spanish in my ubuntu 18. I could not come up with the solution, so can you please help me with this please!? Thanks in advance.
jeremias corradi you ran the script on a local computer or a supercomputer?
@@SariSabban in a local computer, with the line you show in the video
jeremias corradi I am trying to retrace your error. What command did you use?
@@SariSabban I run this: for file in ./Ligands/*/*; do tmp=${file%.pdbqt}; name="${tmp##*/}"; vina --receptor receptor.pdbqt --ligand "$file" --out $name_out.pdbqt --log $name.log --exhaustiveness 10 --center_x 0 --center_y 0 --center_z 10 --size_x 15 --size_y 15 --size_z 15; awk '/^[-+]+$/{getline;print FILENAME,$0}' $name.log >> temp; done; sort temp -nk 3 > Results; rm temp; mkdir logs; mv *.log *.out logs
This runs vina for every ligand and creates the Logs folder with every log file, but I received the error I mentioned before (mv: can’t do ‘stat’ on ‘*.out’ : the file or directory doesn’t exit) and there is none *.out or *_out.pdbqt file as an output.
Since it is a clear problem with the output files I changed the output parameter as --out $name.out and worked OK… but I don’t know why!
Hello Mr.sabban
Thak you for your great tutorial. But I have two probles that I couldn't fix. When I run your code for virtual screening it goes perfectly but at the end it gives me this error: mv: cannot stat '*.out': no such file or directory. and it doesn't give me out file. Besides, after run it gives all of bonding affinity scores zero for all molecules. Could you help for fixing these issues?
ali khamoushi what command did you run? And was it on your local computer or a supercomputer? And if it was on a supercomputer what is your job schedular?
Sari Sabban the command you show on 47:07 and it was powerful local computer with 24 core. and I have all of my ligands in one folder. Though I tried your split method for splitting ligands in like 24 segment but it didn't help.
ali khamoushi ok I found the issue and fixed it. You can find the new fixed command in the github repo.
Also here it is:
for file in ./Ligands/*; do tmp=${file%.pdbqt}; name="${tmp##*/}"; ./vina --receptor receptor.pdbqt --ligand "$file" --out $name_out.pdbqt --log $name.log --exhaustiveness 10 --center_x 0 --center_y 0 --center_z 10 --size_x 15 --size_y 15 --size_z 15; awk '/^[-+]+$/{getline;print FILENAME,$0}' $name.log >> temp; done; sort temp -nk 3 > Results; rm temp; mkdir logs; mv *.log *.out logs
Tell me if it works.
what score value is considered a good or acceptable score value for ligand docking in Autodock Vina?
This depends on what you are targeting, you cannot determine that in isolation, you must compare it to something else.
So you need the docking value of a molecule to a protein to be lower than a natural ligand to that protein.
Or choose the several lowest docking molecules then investigate in the lab which one disrupts the function of the protein.
sir i have Some questions please answer them if you can... I have windows OS and want to dock multiple (600) newly designed Ligands with my targeted protein. so my questions are..
1. do i have to dock them one by one..? (obviously it will take so much time to repeat the steps)
2. can I just dock all of them together.? and if yes how? And is it possible in windows or i have to use Linux? (actually i mean to just put all of them in a line so that they can get docked one after other)
(my problem is that i have seen someone who docked more then 100 Ligands. what he do in actual is that he gave a command and system kept running for 1 whole day for docking studies. he used Linux OS and this is my concern that can i do it in windows OS too..? )
I am very new to all this and may be a very stupid question. Can all this be achieved in Win Powershell? I'm a Biochemist with no basic command or coding knowledge. I want to predict my Substrate-Enzyme complexes via the allosteric residues in conjunction with a metal Co-factor. Is this too complex for me?
Maybe. I haven’t tried it on windows. But it will probably be very complicated to setup. Your learning and work progress would be more streamlined if you use Linux for your scientific computational research.
@@SariSabban hey thank you so much for the quick response. Is it worth partitioning my disk and using unbuntu?
@@bwaxy yes. Try it. But make sure you backup you data first.
Very useful 👏👏
Great tutorials! all of this can be done using Amazon Web Services, Azure or Google Cloud?
Yes it is possible, though I don’t have experience with these cloud services, my experience is mainly on using university supercomputers.
There are supercomputers around the world that are free for academics, but they requires lots of justification for the research.
Hey I don't no y I can't download the Auto Dock.py and fold.py file
grep is not working what to do plzz help
Hi, Sari
Thank so much for this great tutorial. I have a problem when trying to run the script in order to build the box in the active site of my protein by the command: "pymol AutoDock.py -b receptor.pdbqt". i am getting this error: " freeglut (pymol): failed to open display
PyMOL: abrupt program termination ".
* i am using ubuntu in my windows 10 laptop.
N. A what version of Ubuntu do you have?
Hello dear sir i tried to use the Traceback (most recent call last):
File "AutoDock.py", line 285, in
if __name__ == '__main__': main()
File "AutoDock.py", line 262, in main
split(sys.argv[2], 'Ligands', 'model', int(sys.argv[3]))
File "AutoDock.py", line 138, in split
if line.strip().split()[0] == 'MODEL' and line.strip().split()[1] == '{}'.format(count+1):
IndexError: list index out of range
command line and i get this error
how should i solve this
What was the command that you used?
@@SariSabban python3 AutoDock.py -s data.pdbqt 41
@@hanstsahnang4533 there might be a problem in your data.pdbqt file
How did you generate it? Can you email me a section of it?
@@SariSabban OK Sir
Hi Sari, When I use the "python3 autodock.py -r R.pdb" I have the following error "Traceback (most recent call last):
File "autodock.py", line 65, in
import pymol
ModuleNotFoundError: No module named 'pymol' I very sure that I have pymol install. could please provide a solution to this?
Make sure you install PyMOL for python 3 because the default is python 2. This is the reason for this error.
@@SariSabban Hey Dr. Sabban. I am having a similar problem despite using the main download from the website (which states it includes Python 3). Would love any reqs regarding work-arounds.
can we input the entire ligand database?
Hello prof. Sari i am using python 3 in ubuntu 18 but my linux OS also have python 2 so while writting command sbould i use python 3? And what about comment in or out of pymol?
HASSAN GHAYAS you should use python3 in general for everything.
But since you have an old pymol use python 2 “just for pymol” until it is updated in later Ubuntu updates.
Thank you
When typing "python AutoDock.py -r R.pdb" it gives me the following message Traceback (most recent call last):
File "AutoDock.py", line 64, in
import numpy
ModuleNotFoundError: No module named 'numpy'
can you help with this? what does it mean
Elina k you have to install numpy as such pip3 install numpy
@@SariSabban Thank you! Also now I am seeing this: Traceback (most recent call last):
File "Autodock.py", line 65, in
import pymol
ModuleNotFoundError: No module named 'pymol'
I have both pymol 2 and 3. How can I fix this error. Sorry I am very unfamiliar with coding
Elina k I am not how your system is setup but try python 2 and python 3 with just the pymol import and see which one works.
Shouldn't you use `grep ^ATOM ...` instead of `grep ATOM ...` to get lines that start with `ATOM` only? Otherwise, I'm seeing other lines included. Also, thanks for the tutorial!
Dear Sari, I am grateful for your tutorial. I want to ask if we can use heme atoms while docking and what will be the implications of using or not using them?
I’ll be honest with you. I haven’t run a docking experiment with a heam group and I do not remember the standard protocol. Please refer to the following series of videos and it “might” have the answer:
th-cam.com/users/BioExcelCoE
What does "Cd $PBS_O_WORKDIR" does in PBS HPC job file? Anyways thanks for the video and script.
Jatin Kashyap it tells the HPC to change directory to the local directory, otherwise it would be at the home directory.
@@SariSabban Thanks for a quick reply. I am going to use this script on SLURM HPC machine today. I do have a submission script for other code. I will try to modify it for Vina and will hope that it work. I will update here how it goes. Thanks!
Below is output in Docks_ file:
ZINC000071783314.pdbqt 1 -6.1 0.000 0.000
ZINC000071773950.pdbqt 1 -6.3 0.000 0.000
ZINC000035269381.pdbqt 1 -6.1 0.000 0.000
ZINC000005133744.pdbqt 1 -5.2 0.000 0.000
ZINC000725246060.pdbqt 1 -6.3 0.000 0.000
ZINC000000400002.pdbqt 1 -5.8 0.000 0.000
ZINC000006369979.pdbqt 1 -6.8 0.000 0.000
ZINC000001696582.pdbqt 1 -5.9 0.000 0.000
ZINC000001720957.pdbqt 1 -5.9 0.000 0.000
ZINC000068564262.pdbqt 1 -5.6 0.000 0.000
ZINC000001720954.pdbqt 1 -5.9 0.000 0.000
ZINC000071773948.pdbqt 1 -6.5 0.000 0.000
ZINC000003999753.pdbqt 1 -7.0 0.000 0.000
ZINC000002077581.pdbqt 1 -6.4 0.000 0.000
ZINC000002144866.pdbqt 1 -6.1 0.000 0.000
ZINC000013124267.pdbqt 1 -6.1 0.000 0.000
ZINC000021044343.pdbqt 1 -6.4 0.000 0.000
....
Jatin Kashyap you did not change the ${PBS_ARRAY_INDEX} you have to change that to the corresponding SLURM format
It should be ${SLURM_.... something}
Also how many arrays are you running? See you performing just 1 submission?
Hi Sari, when I try running the AutoDock.py file I keep getting an error that says "ModuleNotFoundError: No module named 'pymol'" even though I have installed pymol. Could you please help with this? thank you
Isuru Herath try running it with python 2 not 3
@@SariSabban I am still getting the same error
@@SariSabban Except it's an ImportError
Sari Sabban what is your file structure like? Where should pymol be installed? Also how did you install pymol?
Isuru Herath I just install pymol using the Linux command: sudo apt install pymol
Make a tutorial about setting up docking software in Linux
That was spectacular. Very elegant really.
If you could give me your email, I would appreciate it as I am currently having few questions that I'd like to know your opinion about. Thank you very much and please keep the good work up!
ask your question here and if i cannot answer it in text we can talk further :-)
sir give some references i know python but dono to writting scripts
How do I generate Autodock.py files ?
Everlyne Kasima you can download the file from this link:
github.com/sarisabban/Notes
OMG! I HAVE TRIED A LOT of video tutorial to even get a gist of what AUTODOCKING is and your video BY FAR are the best. YOU EXPLAINED IT VERY WELL! THANK YOU! will you please do a Gromacs protein-ligand complex? i went to this site www.mdtutorials.com/gmx/complex/index.html but im still having errors..... so its okay if you wont,, its just a suggestion i dont want to bother you.
Hello, I am running into many issues using your script. I was wondering if I can contact you for extra assistance. It would be greatly appreciated as I will need this for my graduate studies. I have very limited knowledge on running commands and scripts which is making this difficult for me.
Yes that is fine. Send me an email and describe your issue. 👍
@@SariSabban what is your email? I cannot find it anywhere.
Elina k sari.sabban@gmail.com
@@SariSabban I am facing this issue now. How to I proceed from here?
python3 AutoDock.py -d ZINC-downloader-3D-pdbqt.gz.wget/
Traceback (most recent call last):
File "AutoDock.py", line 329, in
if __name__ == '__main__': main()
File "AutoDock.py", line 304, in main
download(sys.argv[2])
File "AutoDock.py", line 118, in download
with open(filename, 'r')as infile:
NotADirectoryError: [Errno 20] Not a directory: 'ZINC-downloader-3D-pdbqt.gz.wget/'
Elina k your zinc file looks like it might be compressed (zipped) you need to make sure it is uncompressed, it should be a text file.
Just use UCSF chimera.
Thank you for the awesome video! I have a question about getting files from zinc15. When I ran the Autoduck.py, I get the following error message:
~/Desktop$ python3 Autodock.py -d ZINC-downloader-3D-pdbqt.gz.uri
Traceback (most recent call last):
File "Autodock.py", line 320, in
if __name__ == '__main__': main()
File "Autodock.py", line 297, in main
download(sys.argv[2])
File "Autodock.py", line 141, in download
with open('temp', 'r') as infile:
FileNotFoundError: [Errno 2] No such file or directory: 'temp'
Am I missing something from the script or I need some other package to run the script correctly? Thank you.
Jui Tao were you able to find the solution to this?
@@isuruherath6592 no
im getting this issue.. where you able to fix it?
@Sari Sabban
In "Download Method" choose "WGET" and your filetype should end in .wget. Then you can run something like `python3 Autodock.py -d ZINC-downloader-3D-pdbqt.gz.wget`.
Can you upload this video again. It is not playing
is it Working now?
what laptop do you use?
Hi, sorry for the late reply, I did not get a notification of your post.
I use a crappy 2011 MacBook Pro i7 CPU 4GB RAM with Linux Ubuntu 18.10 on it. That is why my video's are not that HD (especially the camera).
But for computation I do have access to an HPC (my university's high performance cluster supercomputer), and sometimes I rent out servers around the world to perform certain types of computations (that I cannot do on an HPC), or to access GPUs for machine learning. So basically I do not use my laptop for any computation, it cannot handle them.
I have a puny 2011 13" macbook pro, its not the best to run computation, nor to record good quality video (sorry for that). So almost all my computations are either run on a HPC (Supercomputer) or on servers.
very good tutorial ....
replace "--out $name_out.pdbqt " with " --out $name.out" in your github script. As no models were generating due to this error ......
Thank-you.
Yes you are right.
It helped me
Not for beginners, only for those who are familiar with scripts! :/
Do anyone have link for downloading auto dock vina
Indraneel Dhavale vina.scripps.edu/download.html
@@SariSabban thank you buddy
@@SariSabban Hi buddy I have tried . I have installed but software is not running. Can you help me. I am unable to open .exe file. I have tried using windows system.
Indraneel Dhavale I do not have experience with the windows system but the executable should not open any windows. You have to give it parameters and it will perform the computation and return the result (no graphics). In Linux you just add these parameters in the terminal, but in windows I don’t have experience.
@@SariSabban oh thank you man. No issues I will check and let you know too if my problem is solved.
Hello sir, it's very helpful video for me... But i want to know the command to run HPBS file.
Hello. This is such an informative video. OMG. I've been searching for a long time. Finally, I know better now after seeing your video. There are some questions and confusions which I still have. Can you please help me regarding that and we talk on email or skype? PLEASE!
Sure, ask your question here and if i cannot answer it in text we can talk.
@@SariSabban The problem I am having is that I have macbook and all steps for docking proceed really fine but the last command like "./vina --config conf.txt --log logSO.txt" doesn't work. Please help. I also don't know if the docking result which I get is right or not. Can you please check? It's my first time so I'm having these confusions. When things are clear, it won't be difficult for me later.
hey if u face any phrase error too many postional confirmation while running vina what to do
Did anyone try it in Covid-19?
Muntakimur Rahaman good question. Maybe you should.
@@SariSabban Sir I had tried but Stuck on removing the N3 protein from that Covid-19. I had collected some possible inhibitors. I dunno how to dock them. :(
@@muntakimurrahaman6544 I am also working on Covid-19 docking. Based on Autodock vina log results, can we decide threshold for affinity?
@@sohaibroomi7404 Yeah sure Here is my email. muntakim1104001@gmail.com
Hi Sir
Have you tutorials in Arabic ?
Why not do that sir ?