#!/bin/ksh umask 002 case $(uname -s) in "Linux") VERSION=staden-1-7-0 #gap4.12 . /opt/staden/staden.profile ;; "SunOS" ) VERSION=staden-1-7-0 #gap4.12 LD_LIBRARY_PATH=/gen/fly/biosw/$VERSION/lib/solaris-binaries:$LD_LIBRARY_PATH export LD_LIBRARY_PATH PATH=/gen/fly/biosw/$VERSION/solaris-bin:$PATH export PATH STADENROOT=/gen/fly/biosw/$VERSION export STADENROOT STADTABL=/gen/fly/biosw/$VERSION/tables export STADTABL STADLIB=/gen/fly/biosw/$VERSION/lib export STADLIB ;; "*" ) echo "unsupported OS" exit 1 esac echo "STADENROOT=$STADENROOT" echo "PATH=$PATH" #RPATH=/gen/fly/biosw/roche454ace2gap #RPATH=$HOME/ace/bin RPATH=/usr/local/roche2gap/bin export RPATH echo "=====" echo "STADENROOT=$STADENROOT" echo "PATH=$PATH" echo "RPATH=$RPATH" echo "=====" SRC=`pwd` DST=`pwd` PRJ= VER= CUT=5 function usage { printf "\n" printf "Usage: %s: [-h, -? ] [-c cutoff ] [ -s SRC ] [ -d DST ] -p PRO -v VER\n" $0 printf "\n" printf " -c reads shorter 'cutoff' skipped; default 5\n" printf "\n" printf " -s source directory; default HERE\n" printf "\n" printf " -d destination directory, default HERE\n" printf " contains 454Contigs.ace and folder sff/[A-Z]*.sff\n" printf "\n" printf " -p GAP4 database name, no defaults\n" printf " -v GAP4 database version, no defaults\n" printf " -h this help\n" printf "\n" printf " Example:\n" printf " cd /gen/fox/pro/gs20/Onoda/tmp\n" printf " %s -c 5 -d ../gap4 -p HKI -v 0\n\n" $0 printf "\n" exit 1 } while getopts hc:s:d:p:v: arg do case $arg in c) CUT=$OPTARG;; s) SRC=$OPTARG;; d) DST=$OPTARG;; p) PRJ=$OPTARG;; v) VER=$OPTARG;; h|?) usage;; esac done if [ x"$PRJ" == x ] then echo "\nNo Project given ?" usage; fi if [ x"$VER" == x ] then echo "\nNo Version given ?" usage; fi #------------------- # some simple checks #------------------- echo "" echo "Check DST=$DST ..." mkdir -p "$DST" if [ ! -d $DST ] then echo " DST=$DST does not exist" exit 1 fi DST=$(\cd $DST && pwd -P ) echo "Check PRJ=$DST/$PRJ.$VER ..." if [ -f $DST/$PRJ.$VER -o -f $DST/$PRJ.$VER.aux ] then echo "GAP4 already exist:" echo " $DST/$PRJ.$VER (.aux)" exit 1 fi SRC=$(\cd $SRC && pwd -P ) echo "Check SRC=$SRC/454Contigs.ace ..." if [ ! -f "$SRC"/454Contigs.ace ] then echo "File "$SRC"/454Contigs.ace missing" exit 1 fi echo "Check SRC=$SRC/454Contigs.qry ..." if [ -f "$SRC"/454Contigs.qry ] then echo " $SRC/454Contigs.qry exist;" fi echo "Check SRC=$SRC/454Contigs.aln ..." if [ -f "$SRC"/454Contigs.aln ] then echo " $SRC/454Contigs.aln exist;" fi cd $SRC echo "Check SRC=$SRC/[A-Z]xxxxxxx.sff ..." typeset -i i=0 for f in $(ls [A-Z]*.sff 2>/dev/null| grep -v hash) do i=$((i+1)) done if [ $i -eq 0 ] then echo "WARN - No such files '*.sff'" #exit 1 fi #---------------- # OK - lets do it #---------------- echo "" typeset -i i=0 for f in $(ls [A-Z]*.sff 2>/dev/null| grep -v hash) do F=${f%.sff} echo "$RPATH/sff_dump -f $F.fna -q $F.qual $f" if [ ! -f $F.fna -o ! -f $F.qual ] then $RPATH/sff_dump -f $F.fna -q $F.qual $f else echo " * Use existing $F.fna and $F.qual" fi i=$((i+1)) done echo "" echo "cd $DST" for f in $(ls $SRC/[A-Z]*.sff 2>/dev/null | grep -v hash) do F=${f%%.sff} F=${F##*/} echo "hash_sff -o $DST/${F}_hash.sff $f" if [ ! -f $DST/${F}_hash.sff ] then hash_sff -o $DST/${F}_hash.sff $f >/dev/null else : echo " * Use existing $DST/sff/${F}_hash.sff" fi done echo "" echo "cd $SRC" echo "$RPATH/roche454ace2caf.pl -f 454Contigs.ace -c $CUT > $DST/$PRJ.caf" $RPATH/roche454ace2caf.pl -f 454Contigs.ace -c $CUT 2>&1 >$DST/$PRJ.caf | tee $DST/$PRJ.err echo "" echo "cd $DST" cd $DST echo "$PWD" echo "Create GAP4 ..." echo "$RPATH/caf2gap -project $PRJ -version $VER < $PRJ.caf" $RPATH/caf2gap -silent -project $PRJ -version $VER < $PRJ.caf >/dev/null 2>/dev/null # # chmod - access modification for group # CAF2GAP creates all project names with uppercase # # NPRJ=`echo $PRJ | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` mv $NPRJ.$VER $PRJ.$VER 2>/dev/null mv $NPRJ.$VER.aux $PRJ.$VER.aux 2>/dev/null chmod 664 $PRJ.$VER $PRJ.$VER.aux cp $RPATH/gap4sff $DST echo "Cleaning up ..." #rm -f $SRC/E*.fna #rm -f $SRC/E*.qual #rm -f $SRC/454Contigs.qry #rm -f $SRC/454Contigs.aln #rm -f $DST/$PRJ.caf echo "" echo "Finished;" echo "" echo " cd $DST" echo " ./gap4sff $PRJ.$VER" echo ""