How to run docking with rbdock and process results

 Here, a brief depiction on how to run docking with rbdock program:

#########################
###      Docking running        ###
#########################


 -> The protein must be in mol2 format (MOE)

 -> Create the prm (parameter file) that contains the protein filename and the directives need to create the cavity (CENTER and RADIUS are the important keywords in SECTION MAPPER) => file.prm

 -> Create the cavity with rbcavity :
      =>  rbcavity -r file.prm  -was -d  (The output name of the cavity is specified in the file.prm)

 -> Run rbdock
          =>  rbdock -i file.sdf -o roothname_output -r file.prm -p dock.prm -n 50      (if files comes from LigPrep, -an and -ap is not needed)
          =>  rbdock -i file.sdf -o roothname_output -r file.prm -p dock.prm -n 50 -ap -an (if files comes from other 3D generator source)

## -p dock.prm indicates to rbdock to run docking protocol (internally implemented in rbdock). Don't take care of this


###########################
#   Processing Docking results   #
###########################


 -> sdsort -n -s -fSCORE roothame_output_file.sdf | sdfilter -f'$_COUNT == 1' | sdsort -n -fSCORE.INTER  
     =>  Select the best pose of each molecule

## Mainly, it sorts the different poses of all molecules and select the first (best pose) molecule. Finally, sorts the different molecules (each one is the best pose) accordinly to SCORE.INTER

## We use sdsort -s for fast comparison (it compares consecutive poses fof all those molecule with the same ID. Only useful if you have computed more than 1 pose as it is the case, where 50 poses where computed per molecule). The $_COUNT variable is an internal variable which is auto-incremented only if the ID of consecutive molecules is the same. It means you are only selecting the first entry or pose of each molecule with a certain ID. Then, the new SDF sorting based on SCORE.INTER (way to compare the docking energies of different molecules ) and does not use sdsort -s because there is only one pose per molecule and there is no sense in using -s flag.


  -> sdsort -n -s -fSCORE roothname_output_file.sdf | sdfilter -f'$_COUNT == 1' | sdfilter -f'$_REC <= 5 | sdsort -n -fSCORE.INTER
        =>  Select the best 5 poses of each molecule and sort them accordingly to their corresponding docking energy

## The $_REC is an internal variable used to select the a certain number of records on the SDF file.

  -> sdsort -n -s -fSCORE | sdfilter -f'$_REC <= 5'
         => Select the first 5 poses of each molecule