#! /bin/bash

if [ $# -ne 4 ]
   then echo " "
   	echo "Usage: bkprkS_run.sh <chr.fna> <PatCurve> <bk_CDS.lst> <binairiesHome>"
        exit 1
fi

echo "attention deux CDS avec des stop identiques sur le meme brin sont consideres comme les memes CDS (elles doivent donc etre au prealable fusionnees)" 1>&2

##############################
#Parametres pour lancer amiga#
##############################


#Fichier sequence
FNA=$1

#Motif de debut du nom de fichier des curves
Curve=$2
BANK=$3
AMIGA_HOME=$4
#Nombre de curves
i=0

#Pour chaque curves disponible $curve
for curve in ` ls $Curve[1-9] `
do
	#incrementer i
	i=`expr $i + 1`

	echo "cds_prk_score for $FNA.60.lsort$i ( number $i )" 1>&2	
	$AMIGA_HOME/cds_prk_score $curve $BANK $FNA | awk -v num=$i '{print $0 " " num}' > $FNA".60.lsort"$i
	
	echo "awk  for $FNA.60.lstort$i ( number $i )" 1>&2
	awk  '{if ($7 > 0) printf ("%08dD ", $4); else printf ("%08dR ", $2); print $0}'  $FNA".60.lsort"$i > $FNA".60.lstort"$i
done
 

#Garder la proba max pour chaque CDS
echo "cat + sort + combine" 1>&2
cat $FNA.60.lstort[1-9] | sort  +0 -1 +8 | awk '
BEGIN{ probaMax = -1.0  }
{
label=$1

if (labelOld == "") labelOld=label


frame=$8

if (frame > 0) proba=$7
else proba=$6


#Si nouveau label
if ( label != labelOld )
{
	#Ecrire la ligne corespondant a la proba max pour le label precedent
	print StringMax
	
	labelOld=label
	probaMax=proba
	StringMax= $0
}
#sinon tester si la proba est superieure
else
{
    if (  proba   > probaMax  )
    {
	probaMax=proba
	StringMax= $0
    }
}

}
END { print StringMax }
'| sort -n -k1 | awk '{print $2" "$3" "$4" "$5" "$6" "$7" "$8" "$9}'> $FNA.bk.comb.lstort

#Faire du menage
#rm $FNA.60.ls*

#rm $FNA.lst_start*

#rm start.pat*

echo "amiprkS_run.sh : result files $FNA.bk.comb.lstort" 1>&2
exit 0
