--- /dev/null
+#!/bin/sh
+# Solexa Pipeline "Listener". Checks for finished.txt in each main directory of the pipeline
+
+# some vars
+#exptrackmainsc="$HOME/EXPTRACK/exp_track_main.py"
+exptrackmainsc="exp_track_main.py"
+fcid=$1
+runfolder=$2
+tocycle=$3
+
+## Make sure we find the Firecrest folder, then check "Makefile" in the 3 directories
+firecrestdir=`ls Data | grep "^C1-$tocycle.*_Firecrest.*"`
+countdirs=`ls Data | grep -c "^C1-$tocycle.*_Firecrest.*"`
+if [ $countdirs == 1 ]
+then
+ echo "" ## ok. firecrest folder '$firecrestdir' found"
+else
+ if [ $countdirs -gt 1 ]
+ then
+ echo "ERROR: Found too many ($countdirs) firecrest directories. You need to be more specific. Found:"
+ echo ""
+ echo $firecrestdir
+ ## python $exptrackmainsc updsts $fcid $runfolder 3 ERROR:_Need_Specific_Firecrest_Dir
+ exit
+ else
+ echo "ERROR: Firecrest directory NOT FOUND."
+ ## python $exptrackmainsc updsts $fcid $runfolder 3 ERROR:_Firecrest_Dir_Not_Found
+ exit
+ fi
+fi
+
+
+#firecrestdir=`ls Data | grep C1.*_Firecrest.*_encode`
+# firecrestdir=`ls Data | grep C1.*_Firecrest.*_*`
+# if [ -d Data/$firecrestdir ]
+# then echo "firecrest folder '$firecrestdir' found"
+# else echo "firecrest folder '$firecrestdir' NOT found. can not check further"
+# fi
+
+# ---------------------- Check for finished.txt in each main directory of the pipeline ------------
+firecrestfinished=Data/$firecrestdir/finished.txt
+bustfinished=Data/$firecrestdir/Bustard*_*/finished.txt
+gerfinished=Data/$firecrestdir/Bustard*_*/GERALD_*/finished.txt
+# Wait for 48 hours max
+timeremain=`expr 60 \* 60 \* 72`
+interval=10
+
+## ---- Wait for Firecrest -----
+while [ ! -f $firecrestfinished ] && [ $timeremain -gt 0 ]
+do
+ #echo "wating $interval secs more to check for firecrestfinished ($timeremain secs left)"
+ sleep $(( $interval ))
+ timeremain=`expr $timeremain - $interval`
+done
+
+if [ $timeremain -gt 0 ]
+then
+ echo "Firecrest finished at `date`"
+ python $exptrackmainsc updsts $fcid $runfolder 1 Firecrest_finished
+else
+ echo "Script time expired while waiting for Firecrest to finish."
+ python $exptrackmainsc updsts $fcid $runfolder 2 Script_time_expired_during_Firecrest
+fi
+
+## -------- Wait for Bustard ------
+while [ ! -f $bustfinished ] && [ $timeremain -gt 0 ]
+do
+ #echo "wating $interval secs more to check for bustfinished ($timeremain secs left)"
+ sleep $(( $interval ))
+ timeremain=`expr $timeremain - $interval`
+done
+
+if [ $timeremain -gt 0 ]
+then
+ echo "Bustard finished at `date`"
+ python $exptrackmainsc updsts $fcid $runfolder 1 Bustard_finished
+else
+ echo "Script time expired while waiting for Bustard to finish."
+ python $exptrackmainsc updsts $fcid $runfolder 2 Script_time_expired_during_Bustard
+fi
+
+## -------- Wait for Gerald ------
+while [ ! -f $gerfinished ] && [ $timeremain -gt 0 ]
+do
+ #echo "wating $interval secs more to check for $gerfinished ($timeremain secs left)"
+ sleep $(( $interval ))
+ timeremain=`expr $timeremain - $interval`
+done
+
+
+if [ $timeremain -gt 0 ]
+then
+ echo "Gerald finished at `date`"
+ python $exptrackmainsc updsts $fcid $runfolder 3 Gerald_finished__Starting_DataAnalysis
+ echo "Finished LISTENING TO SOLEXA PIPELINE ..."
+ echo "Starting DATA ANALYSIS PHASE ..."
+ #$HOME/EXPTRACK/MPAnalysis $fcid $runfolder
+ MPCollectData $fcid $runfolder
+else
+ echo "Script time expired while waiting for Gerald to finish."
+ python $exptrackmainsc updsts $fcid $runfolder 2 Script_time_expired_during_Gerald
+fi
+
+exit
+
+## ---------------------------------------------------------------------------------