#!/bin/tcsh
# This is a simple script which will carry out all of the basic steps
# required to make a PSIPRED prediction. Note that it assumes that the
# following programs are available in the appropriate directories:
# seq2mtx - PSIPRED V4 program
# psipred - PSIPRED V4 program
# psipass2 - PSIPRED V4 program
# NOTE: Script modified to be more cluster friendly (DTJ April 2008)
# Where the PSIPRED V4 programs have been installed
set execdir =./bin
# Where the PSIPRED V4 data files have been installed
set datadir =./data
set basename = $1:r
set rootname = $basename:t
set outname = $basename.chk
# Generate a "unique" temporary filename root
set hostid = `hostid`
set tmproot = psitmp$$$hostid
echo "Generating mtx file from sequence" $1 "..."
$execdir/seq2mtx $1 > $tmproot.mtx
if ($status != 0) then
echo "FATAL: Error whilst running makemat - script terminated!"
exit 1
endif
echo "Predicting secondary structure based on single sequence ..."
echo Pass1 ...
$execdir/psipred $tmproot.mtx $datadir/weights.dat $datadir/weights.dat2 $datadir/weights.dat3 > $rootname.ss
if ($status != 0) then
echo "FATAL: Error whilst running psipred - script terminated!"
exit 1
endif
echo Pass2 ...
$execdir/psipass2 $datadir/weights_p2.dat 1 1.0 1.0 $rootname.ss2 $rootname.ss > $rootname.horiz
if ($status != 0) then
echo "FATAL: Error whilst running psipass2 - script terminated!"
exit 1
endif
# Remove temporary files
echo Cleaning up ...
\rm -f $tmproot.* error.log
echo "Final output files:" $rootname.ss2 $rootname.horiz
echo "Finished."
已经提示你了,set,设置变量只能为 字母。
所以,你现在需要搞清楚 set的用户 ,
没特别需要,在SHELL 中,可用直接变量定义,例如你上面不用写set,直接定义变量:
execdir=./bin
必须是tcsh解释器吗?用bash解释器试试