#!/usr/bin/perl -w
# 2001/11/27 - I. Dutour

# Ignorer toutes les lignes jusqu'au trait horizontal
while (<>) {
    last
	if (/^----------/);
}

my $sum_length = 0;
my $sum_cai = 0.0;
my $N = 0;

# Lire toutes les lignes. On s'arrete au 2ème trait horizontal
while (<>) {
    chomp;
    last 
	if (/----------/ or /^$/);
    ($orf,$start,$stop,$gene,$disrupt,
     $length,$cai,$mo,$tm,$class,$desc) =
        ($_ =~ /^
	        \s* ([-\w]+)      \s*    \| # id de l'ORF
  		\s* \((\d+)-(\d+) [^\|]* \| # coordonnées
	        \s* ([^\|]*)      \s*    \| # gene
	        \s* ([\/\w]*)     \s*    \| # disrupt
	        \s* ([\w]*)       \s*    \| # length
	        \s* ([\.\w]*)     \s*    \| # cai
	        \s* ([\w]*)       \s*    \| # mo
	        \s* ([\w]*)       \s*    \| # tm
	        \s* ([\w]*)       \s*    \| # class
	        \s* ([^\|]*)                # desc
	       $/x);

    $N += 1;
    $sum_length += $length unless (!$length);
    $sum_cai += $cai unless (!$cai);

    print $orf;  # tracer le traitement
    print ".."
}

print "fin\n"; # retour à la ligne après la trace

# Générer rapport

print "Nombre d'ORFs  : ", $N,               "\n";
print "Moyenne longueur : ", $sum_length / $N, "\n";
print "Moyenne cai      : ", $sum_cai / $N,    "\n";

