MyungJoo(Zoe) Kim
This script automates the docking process for multiple receptor and ligand files using AutoDock Vina. It loops through all ligand files in a specified directory and docks them against all receptor files in another specified directory. The results, including affinity values, are saved in CSV files, with each ligand-receptor pair's docking output and log files stored in organized directories.
- AutoDock Vina: Ensure that AutoDock Vina is installed and accessible via the path specified in the script (vina_path). The script assumes you are using AutoDock Vina version 1.1.2.
- Bash: This script is designed to be run in a Unix-like environment with Bash.
- Openbabel
- ChimeraX
- Pymol
- python tool
- rdkit
-
Receptor Directory (RECEPTOR_DIR): Contains PDBQT files for all receptors.
-
Ligand Directory (LIGAND_DIR): Contains PDBQT files for all ligands.
-
Output Base Directory (BASE_OUTPUT_DIR): Contains three subdirectories:
-- pdbqt: Stores docking output files (.pdbqt).-- log: Stores log files (.txt). `-- csv: Stores CSV files with docking results.
- Navigate to the Script Directory:
cd /path/to/your/script_directory
- Make the Script Executable (Optional):
chmod +x script_name.sh
- Run the Script:
./script_name.sh
a. An alternative way to run the script:
bash script_name.sh
- Monitor the Process: The script will start the docking process for each ligand-receptor pair. You will see output in the terminal indicating the progress of each docking job.
- View the Results: Once complete, navigate to the output directory to view the results.
- clean_pdb.py: This Python script uses PyMOL to process PDB files by removing water molecules and adding missing hydrogens. It fetches the input and output directories from environment variables, iterates through all PDB files in the input directory, applies the cleaning steps, and saves the cleaned files to the output directory. Each structure is cleared from memory after processing.
- clena_pdb.sh: This bash script sets up input and output directories, checks if the input directory exists, lists its contents, and then runs a PyMOL script to clean PDB files by setting environment variables for the directories.
- multi_conversion.sh: This script automates the conversion of PDB files into PDBQT format by trimming unnecessary parts (solvents, ions, ligands) and converting the clean structure using OpenBabel, logging all processes for error tracking. (uses openbabel for file conversion and Chimera X for trimming)
- chi_convert_pdb_to_pdbqt.sh: This script is structured similarly to the one you previously shared, but it's designed to process a single PDB file.
- run_vina_from_txt_v5.sh: This automates the docking of multiple ligands with multiple receptors using AutoDock Vina, organizing the results and logs into separate directories, and saving docking affinities to CSV files for each ligand.
- remain_create_file.sh: This bash script handles unexpected interruptions during the execution of 'run_vina_from_txt_v5.sh' by identifying ligands and receptors that have not been processed yet and organizing them into a newly created folder for easy continuation of the docking process.
- remain_conversion_pdbqt.sh: The script 'remain_conversion_pdbqt.sh' processes the conversion of remaining files into PDBQT format, based on the files identified and prepared by 'remain_create_file.sh'.
- run_vina_from_txt_v4.sh: 'run_vina_from_txt_v4.sh' handles the docking process specifically for remaining files by specifying the output directory. These scripts work together to ensure that both new and remaining files are processed efficiently, with a clear organization of outputs and results.
convert the gene list of interest of olfactory receptor into 'uniprot ID' by searching the pubchem
shell script that automatically downloads the ligands of interest from pubchem
input: the txt file uniprotID
output: the 'sdf' formatted files from the pubchem
converts the format for downloaded raw file of ligands and receptors
- sdf files of ligands is converted into pdbqt using openbabel
- pdb files of receptors is trimmed and converted into pdbqt format
the zip folder of ligands and receptors in pdbqt file (optimal format for the autodock vina docking process)
in pymol, automatically gets the positions of start and end postion of tm3.
automated code script that extract grid position based on each tm3
- note that we are getting the universal/common grid center that could applied to all the combinations between all the receptors and the ligands.
- input: pdbqt formatted receptor files, date stored in csv file created from 'grid_from_tm3.py')
- output: vina_grids.csv
Align all the input receptors based on the selected receptor to set identical grid center and grid box.
Then convert aligned receptor to pdbqt format to run vina for docking.