sub script of MainPipelineScript: checks finished.txt files and reports back to front...
authorUnknown Author <unknown>
Tue, 5 Aug 2008 23:02:10 +0000 (23:02 +0000)
committerUnknown Author <unknown>
Tue, 5 Aug 2008 23:02:10 +0000 (23:02 +0000)
htswdataprod/scripts/MPListener [new file with mode: 0755]

diff --git a/htswdataprod/scripts/MPListener b/htswdataprod/scripts/MPListener
new file mode 100755 (executable)
index 0000000..efdbb12
--- /dev/null
@@ -0,0 +1,106 @@
+#!/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
+
+## ---------------------------------------------------------------------------------