#! /bin/bash -e
# Last edited on 2025-10-12 11:26:57 by stolfi

# Writes to standard output all 
# loci from the given IVTFF file that have one-leg gallows 
# (EVA @f, @p)

evt_file="$1"; shift;

cat ${evt_file} \
  | egrep -v -e '^[ ]*([#]|$)' \
  | sed -e 's:[<][!][^<>]*[>]::g' \
  | egrep -i -e '[>].*[fpzw]' \
  > .aa

cat .aa \
  | sed -e 's:^[<]::g' -e 's:[;].*[>].*$::g' -e 's:[.]: :g' \
  | sort | uniq \
  | gawk \
      ' // {
          fn = $1; un = $2; ln = $3;
          pn = fn; gsub(/^f/,"",pn); gsub(/[rv].*$/,"",pn); 
          pn += 0;
          sn = fn; gsub(/^f[0-9]+/,"",sn); gsub(/[.].*$/,"",sn);
          gn = substr(sn, 2);
          if (sn ~ /^v/) { pn = 20*pn + 10 - gn; } else { pn = 20*pn + gn; }
          printf "%03d %s %s %s\n", pn, fn, un, ln; 
        } 
      ' \
  | sort -k1,1n -k3,3n
  
