Lin_F9


Tutorial

Take one protein-ligand complex (PDB_id: 1eby) as an example.


1. Preparation


2. Local optimization

  • Perform local optimization of crystal ligand pose
  • ./smina.static -r 1eby_protein.pdbqt -l 1eby_ligand.pdbqt --local_only --scoring Lin_F9 -o 1eby_optimized.pdb
  • Print the score of locally optimized pose
  • grep 'Affinity' 1eby_optimized.pdb | awk '{print $3}'

    3. Flexible re-docking

  • Perform flexible ligand docking using native ligand conformation and native protein conformation
  • ./smina.static -r 1eby_protein.pdbqt -l 1eby_ligand.pdbqt --autobox_ligand 1eby_ligand.pdbqt --scoring Lin_F9 -o 1eby_flexRedock.pdb
  • Print the score of the best-scored pose
  • grep -m1 'Affinity' 1eby_flexRedock.pdb | awk '{print $3}'
  • Calculate the RMSD between the best-scored pose and crystal ligand pose
  • python split_docked.py 1eby_flexRedock.pdb 1eby_flexRedock
    ./calc_rmsd_for_pose.sh 1eby_flexRedock/1eby_flexRedock_01.pdb 1eby_ligand.mol2

    4. End-to-end (E2E) docking

    E2E docking protocol combines ligand conformer generation and flexible docking

    4.1. OpenBabel 2.4.1 used to generate maximum 10 conformers per ligand.

    babel -imol2 1eby_ligand.mol2 -osdf 1eby_ligand_2D.sdf --gen2D
    babel -isdf 1eby_ligand_2D.sdf -osdf 1eby_ligand_3D.sdf --gen3D
    obabel 1eby_ligand_3D.sdf -O conformers.sdf --conformer --nconf 10 --score rmsd --writeconformers

    4.2. All conformers are sequentially docked to protein receptor structure using flexible docking.

    python split_sdf.py conformers.sdf 1eby_conformers
    /E2E_docking.sh
  • Print the score of the best-scored pose
  • grep -m1 'Affinity' 1eby_E2E/*.pdb | sort -nk3 | head -n 1 | awk '{print $3}'
  • Calculate the RMSD between the best-scored pose and crystal ligand pose
  • ./GetSplit.sh
    ./calc_rmsd_for_pose.sh 1eby_E2E_top1.pdb 1eby_ligand.mol2