3d507b57e84a703dc2047033c94aaa1db0cb4a8d
[pkg-boinc/boinc-server-autodock.git] / bin / autodockvina_get_top_energies.sh
1 set -e
2
3 if [ -z "$BOINC_SOURCEDIR" ]; then BOINC_SOURCEDIR=$(dirname $(realpath $0)); fi
4
5 ## Set configuration parameters
6 if [ -r "$BOINC_SOURCEDIR"/autodockvina_set_config.sh ]; then
7    . "$BOINC_SOURCEDIR"/autodockvina_set_config.sh
8 fi
9
10 if [ "-h" = "$1" -o "" = "$1" -o "--help" = "$1" ]; then
11         cat <<EOHELP
12 $(basename $0|tr "a-z" "A-Z")                   BOINC-SERVER-AUTODOCK                   $(basename $0|tr "a-z" "A-Z")
13
14 NAME
15
16 $(basename $0) - retrieve top predicted binding energies with ligand names
17
18 SYNOPSIS
19
20 $(basename $0) [--help] [OUTPUTSDIR] [TOP]
21
22 DESCRIPTION
23
24   This script processes output files created by a BOINC project
25   for AutoDock Vina Drug Screening. 
26
27   All parameters are specified by command line arguments.
28
29      OUTPUTSDIR   defines directory with output files ($OUTPUTSDIR)
30      TOP          defines the number of ligands with the smallest 
31                   values of predicted binding energies to display
32                   ($TOP)
33
34 SEE ALSO
35
36   http://mgltools.scripps.edu
37   http://autodock.scripps.edu
38
39 COPYRIGHT
40
41   This script is released under the same license as BOINC.
42
43 AUTHORS
44
45   The script was crafted by Natalia Nikitina (nevecie@yandex.ru)
46
47 EOHELP
48         exit
49 fi
50
51
52 if [ ! -r "$BOINC_SOURCEDIR"/autodockvina_set_config.sh ]; then
53    echo "E: Could not read '$BOINC_SOURCEDIR/autodockvina_set_config.sh'"
54    exit 1
55 fi
56
57 ## Get the number of ligands to display and the working directory
58 #TOP=10
59 OUTPUTSDIR='.'
60 if [ $# -ge 1 ] ; then
61   if [ -d $1 ] ;  then
62     OUTPUTSDIR=$1
63     if [ $# -ge 2 ] ; then
64       if ! [[ $2 =~ ^[0-9]+$ ]] ; then
65         echo "Please, specify the number of hits properly."
66         exit
67       else
68         TOP=$2
69         ./autodockvina_extract_energy.sh ${OUTPUTSDIR} | sort -n -k 2,2 | head -$TOP
70       fi
71     else
72       ./autodockvina_extract_energy.sh ${OUTPUTSDIR} | sort -n -k 2,2
73     fi
74   else
75     echo "Please, specify number of hits and the directory with result files."
76     exit
77   fi
78 fi