src/utils/qa/chain.csh 1.24

1.24 2009/05/21 01:28:07 rhead
Changed getChromlist.csh so that it does not create a file, just prints results. Changed all of the scripts that call it to redirect output to a unique file name, and then remove only that file at the end. Added onintr command that allow for cleanup of files created if scripts are ended prematurely.
Index: src/utils/qa/chain.csh
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/utils/qa/chain.csh,v
retrieving revision 1.23
retrieving revision 1.24
diff -b -B -U 4 -r1.23 -r1.24
--- src/utils/qa/chain.csh	11 Apr 2009 00:37:01 -0000	1.23
+++ src/utils/qa/chain.csh	21 May 2009 01:28:07 -0000	1.24
@@ -10,8 +10,9 @@
 #  Slow processes are in chain2.csh
 # 
 ###############################################
 
+onintr cleanup
 
 set db=""
 set split=""
 set chrom=""
@@ -79,9 +80,9 @@
 
 echo "*~*~*~*~*~*~*~*~*~*~*~*~*~*"
 echo
 
-getChromlist.csh $db > /dev/null
+getChromlist.csh $db > $db.chromlist$$
 rm -f $db.$Org.pushlist
 rm -f $db.$Org.pushlistLink
 if ( $split == "unsplit" ) then
    echo "unsplit chain track.  echo of long chromlist suppressed"
@@ -89,9 +90,9 @@
    echo ${track}Link >> $db.$Org.pushlist
   echo
 else
   # make push list for split tables
-  foreach chrom (`cat $db.chromlist`)
+  foreach chrom (`cat $db.chromlist$$`)
     echo $chrom
     echo ${chrom}_$track >> $db.$Org.pushlist
     echo ${chrom}_${track}Link >> $db.$Org.pushlist
   end
@@ -125,9 +126,9 @@
   echo "can't actually do this comparison if table is not split."
   echo
 else
   echo "if there is no output here, then it passes."
-  foreach chrom (`cat $db.chromlist`)
+  foreach chrom (`cat $db.chromlist$$`)
     set numTNames=`hgsql -N -e "SELECT COUNT(DISTINCT(tName)) \
      FROM ${chrom}_chain$Org" $db`
     if ($numTNames != 1) then
       if ($numTNames == 0) then
@@ -172,9 +173,9 @@
 
 # find size of longest chrom name for format purposes
 if ( $split != "unsplit" ) then
   set length=0
-  foreach chrom (`cat $db.chromlist`)
+  foreach chrom (`cat $db.chromlist$$`)
     set len=`echo $chrom | awk '{print length($1)}'`
     if ( $len > $length ) then
       set length=$len
     endif
@@ -199,9 +200,9 @@
   echo "chrom" "min" "max" \
     | gawk '{ printf("%-'${length}'s %8s %12s \n", $1, $2, $3) }'
   echo "-----" "---" "---" \
     | gawk '{ printf("%-'${length}'s %8s %12s \n", $1, $2, $3) }'
-  foreach chrom (`cat $db.chromlist`)
+  foreach chrom (`cat $db.chromlist$$`)
     set min = `hgsql -N -e "SELECT MIN(score) FROM ${chrom}_chain${Org}" $db`
     set max = `hgsql -N -e "SELECT MAX(score) FROM ${chrom}_chain${Org}" $db`  
     echo $chrom	$min $max \
       | gawk '{ printf("%-'${length}'s %8s %12s \n", $1, $2, $3) }'
@@ -227,16 +228,16 @@
   echo "check for rowcounts in each table:"
   echo "rowcounts are listed - pay attention to counts of 0"
   echo
   echo "for chrN_chain${Org}:"
-  foreach chrom (`cat $db.chromlist`)
+  foreach chrom (`cat $db.chromlist$$`)
     set var1=`hgsql -N -e "SELECT COUNT(*) FROM ${chrom}_chain${Org}" $db`
     echo ${chrom}_chain${Org} $var1 \
       | gawk '{ printf("%-'${longlength}'s %6s \n", $1, $2) }'
   end
   echo
   echo "for chrN_chain${Org}Link:"
-  foreach chrom (`cat $db.chromlist`)
+  foreach chrom (`cat $db.chromlist$$`)
     set var1=`hgsql -N -e "SELECT COUNT(*) FROM ${chrom}_chain${Org}Link" $db`
     set longer=`echo $longlength | awk '{print $1+5}'`
     echo ${chrom}_chain${Org}Link $var1 \
       | gawk '{ printf("%-'${longer}'s %8s \n", $1, $2) }'
@@ -279,9 +280,9 @@
       | gawk '{ printf("%-'${length}'s %8s %8s \n", $1, $2, $3) }'
   echo "------  ---------  ---------" \
       | gawk '{ printf("%-'${length}'s %8s %8s \n", $1, $2, $3) }'
   rm -f badStrands
-  foreach chrom (`cat $db.chromlist`)
+  foreach chrom (`cat $db.chromlist$$`)
     set badStrands=`hgsql -N -e 'SELECT COUNT(*) FROM '$chrom'_chain'$Org' \
       WHERE qStrand != "-" AND qStrand != "+"' $db`
     # echo $badStrands
     if ( $badStrands > 0 ) then
@@ -342,9 +343,9 @@
 if ( $split == "unsplit" ) then
   echo "can't check chrom ordering on unsplit chroms right now"
 else
   echo  "tStart:"
-  foreach chrom (`cat $db.chromlist`)
+  foreach chrom (`cat $db.chromlist$$`)
     # echo $chrom
     hgsql -N -e "SELECT tStart FROM ${chrom}_${track}" $db \
       > $db.$track.tStart
     sort -n $db.$track.tStart > $db.$track.tStart.sort
@@ -386,4 +387,6 @@
 echo  "-------------------------------------------------"
 echo
 
 echo "the end."
+cleanup:
+rm -f $db.chromlist$$