?? automs
字號:
#!/bin/sh# a script to perform a QCPE connolly MS calculation (ACG,DAG 1/95)# input:# receptor pdb file# exclude.pdb file containing residues which should NOT be surfaced# output:# receptor.ms surface file# receptor.dot surface file for sybyl# an INSPH file for SPHGEN# define the location for dock related programs - users should update thisdock_root=/bert/dock/bin# users should update the location of their copy of QCPE MSMS_executable=$dock_root/qcpe_msexclude_pdb=exclude.pdbsurfdens_default=5.0proberad_default=1.4stars="_______________________________________________________________________"# Check invocationcase $# in 1) receptor=$1 surfdens=$surfdens_default proberad=$proberad_default ;; 2) receptor=$1 surfdens=$2 proberad=$proberad_default ;; 3) receptor=$1 surfdens=$2 proberad=$3 ;; *) echo "Usage: `basename $0` <receptor_pdbfile> [<surface_density>] [<probe_size>]" echo " where <surface_density defaults to $surfdens_default and probe size to $proberad_default." exit 1 ;;esac# make sure required files existif [ ! -f "$receptor" ]; then echo "A receptor file named $receptor was not found." exit 1fi# make sure an exclude file existsif [ ! -f "$exclude_pdb" ]; then echo "The file $exclude_pdb was not found. Please create one containing" echo "residues of the receptor that should NOT be surfaced." exit 1fiif [ ! -f "$MS_executable" ]; then echo "Error - could not locate your copy of QCPE MS." echo "Please update the location of the MS executable you obtained from QCPE" echo "in the `basename $0` script." exit 1fi# determine the root name of the receptorreceptor=$1rec_root=`echo $receptor | nawk '{p=index($1,".pdb"); if (p != 0) {print substr($1,1,p-1)} else {print}}'`echo $starsecho Preparing input for surface calculation...echo# convert the pdb file into the required format for ms# unit names are assigned for this conversionln -fs $receptor fort.1 > /dev/null 2>&1ln -fs $exclude_pdb fort.2 > /dev/null 2>&1ln -fs temp.msin fort.3 > /dev/null 2>&1# perform the conversion$dock_root/pdb2ms/bin/rm fort.[12] > /dev/null 2>&1# set up for the surface calculation# set up input unitsecho " "$surfdens" "$proberad" 0 0" > fort.1cat > fort.2 << EndOfRadii 1 1.20 2 1.90 3 1.50 4 1.40 5 1.35 6 1.90 7 1.85 8 1.80 9 1.95 10 2.15EndOfRadii# remove existing surface files/bin/rm CONTACT REENTRANT > /dev/null 2>&1echo $starsecho Performing QCPE MS calculation...echo$MS_executable# clean up MS outputcat CONTACT REENTRANT | sort -n > temp.msout/bin/rm CONTACT REENTRANT BEFORE > /dev/null 2>&1/bin/rm $rec_root.ms $rec_root.dot > /dev/null 2>&1echo $starsecho Converting output to SPHGEN input format...echocat > reform.in << EOO$receptortemp.msout$rec_root.msEOO$dock_root/reformatms < reform.in# create sybyl dot surface if ms2dot has been compiledif [ -x $dock_root/ms2dot ]; then echo $stars echo Creating dot surface for SYBYL... echo cat > color.in << EOO$rec_root.ms$rec_root.dot0EOO $dock_root/ms2dot < color.infiechoecho $starsecho Cleaning up after myself...echo/bin/rm temp.msout reform.in color.in fort.[123] temp.msin > /dev/null 2>&1echo $starsecho Preparing for SPHGEN run...echocat > INSPH << EndOfINSPH$rec_root.msRX0.04.0$proberad$rec_root.sphEndOfINSPH# remove any temp files in preparation for SPHGEN run/bin/rm temp1.{ms,sph} temp2.sph temp3.atc > /dev/null 2>&1echoecho $starsecho Ready to run SPHGEN.either=if [ -f OUTSPH ]; then echo " I didn't delete your OUTSPH in case you wanted to keep it around." either=" either"fiif [ -f $rec_root.sph ]; then echo " I noticed a sphere file already here ($rec_root.sph), but didn't delete it$either."# echo " didn't delete it$either."fi
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -