#! /bin/csh -f
# Last edited on 1999-08-31 23:57:50 by hcgl

set usage = "$0 [-reverse] BAND EXT < INFILE.can"

# For each segment in a candidate file, reads
# the file CHAIN/fBAND.EXT and 
# extracts from it the samples that comprise
# the segment. The result is written to a file
# fBAND-cCANDNUM-SIDE-seg.EXT
# where CANDNUM is the candidate number in the 
# input file, and SIDE is 0 or 1.
# If "-reverse" is given, the SIDE=1 segments
# are reversed

if ( "x$1" == "x-reverse" ) then
  set reverse = 1; shift
else
  set reverse = 0
endif

if ( $#argv != 2 ) then
  echo "usage: ${usage}"; exit 1
endif
 
set band = "$1"; shift;
set ext = "$1"; shift;

set maxCands = 30;

set script = "/tmp/$$"

cat \
  | /n/gnu/bin/gawk \
      -v band="${band}" \
      -v ext="${ext}" \
      -v reverse=${reverse} \
      ' BEGIN { nc=0; } \
        /^[0-9]/ { \
          if (NF != 9)  \
            { printf "bad input line %s\n" > "/dev/stderr"; exit 1; } \
          printf "extract-candidate %s %03d %06d %s %04d %d %d %04d %d %d\n", \
              (reverse ? "-reverse" : ""), band, nc, ext, \
              $1, $3, $4,  $5, $7, $8; \
          nc++; next; \
        } \
        END { printf "%d candidates", nc > "/dev/stderr"; } \
      ' \
  | head -${maxCands} \
  > ${script}

set echo
# source ${script}
cat ${script}
unset echo