#! /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