#!/bin/bash

if [ ! -f "$1" ]; then
  echo ERROR: File $1 does not exist
  exit
fi

echo "PROCESSING SUBSEQ LENGTH PLOT:"

SEQFILE=$1
TRACELEN=$(stat -c%s ${SEQFILE})
TRACELEN=$(( TRACELEN / 2 ))
XMAX=${2:-${TRACELEN}}

EXP=${SEQFILE%%.seq}
DATFILE=${EXP}.stree.root-d1.node-edge-cnt
NUMPTS=$(cat ${DATFILE} | cut -d' ' -f2 | sort | uniq | wc -l)
if [[ -z "$2" ]]; then
  OUTPUT=${EXP}.stree.root-d1.edge-cnt.pdf
else
  OUTPUT=${EXP}.stree.root-d1.edge-cnt.${XMAX}.pdf
fi
echo "  Creating ${OUTPUT}"
WIDTH=4; HEIGHT=4
(
  echo set terminal pdfcairo size ${WIDTH},${HEIGHT}
  echo set output \"${OUTPUT}\"
  echo set title \"${EXP}.stree.root-d1.edge-cnt\"
  echo set xlabel \"Length of subsequence \(trace: ${TRACELEN}\)\"
  echo set ylabel \"Fraction of trace\"
  echo set xrange [1:${XMAX}]
  echo set yrange [0:1]
  echo set grid xtics lt 0 lw 1
  echo set grid ytics lt 0 lw 1
  echo set table \"${OUTPUT}.dat\"
  echo plot \"${DATFILE}\" using 2:\(\$3*\$2/${TRACELEN}\) smooth frequency
  echo unset table
  echo plot \"${OUTPUT}.dat\" with points pt 7 ps 0.125 notitle
  echo quit
) | gnuplot
echo "TITLE: ${OUTPUT}" > ${OUTPUT}.info
echo "Number of PTS: ${NUMPTS}" >> ${OUTPUT}.info
echo "DIM: ${WIDTH}x${HEIGHT}" >> ${OUTPUT}.info
