# A partir du fichier RLxx_sff_extract.fasta.cap.ace.stat cree un fichier contenant des statistiques complémentaires sur l'assemblage :
#		profondeur du contig
#		cumul du nombre de reads
#		cumul de la longueur des reads
# Ensuite en fonction des critères mentionnes sur la ligne if cree un fichier de sortie avec seulement les contigs correspondants aux criteres 

$infile = $ARGV[0];
print "$infile\n";
$outfile = $ARGV[1];
$outf = $ARGV[2];

my $readCumul=0;
my $lengthCumul=0;

open(INFILE,$infile) or die ("Le fichier en parametre infile ne peut pas s ouvrir\n");
open(OUTFILE,">$outfile") or die ("Le fichier en parametre outfile ne peut pas s ouvrir\n");
open(OUTF,">$outf") or die ("Le fichier en parametre outf ne peut pas s ouvrir\n");
while(defined($ligne = <INFILE>)) {
	chomp($ligne);
	@tab=split("\t",$ligne);
	# Pour la premiere ligne on fait juste ajouter les intitules
	if ($ligne !~ /^[Cc]ontig/) {
		print OUTFILE "$tab[0]\t$tab[1]\t$tab[2]\t$tab[3]\tProfondeur\treadCumul\tLengthCumul\n";
		print OUTF "$tab[0]\t$tab[1]\t$tab[2]\t$tab[3]\tProfondeur\treadCumul\tLengthCumul\n";
	}
	else {
		# Pour les lignes suivantes on commence les calculs
		# $tab[0] contient le numéro du contig
#		print "tab[0] : $tab[0]\n";
#		print "tab[1] : $tab[1]\n";
#		print "tab[2] : $tab[2]\n";
#		print "tab[3] : $tab[3]\n";
		# $tab[1] contient la longueur du contig
		# $tab[2] contient le nombre de reads pour le contig
		# $tab[3] contient la somme des longueurs des reads pour ce contig
		
		# On y ajoute
		# $tab[4] qui contient la profondeur pour ce contig
		$tab[4]=$tab[3]/$tab[1];
		# $readCumul qui contient le cumul du nombre de reads
		$readCumul=$readCumul+$tab[2];
		# $lengthCumul qui contient le cumul de la longueur des reads
		$lengthCumul=$lengthCumul+$tab[3];
	
		print OUTFILE "$tab[0]\t$tab[1]\t$tab[2]\t$tab[3]\t$tab[4]\t$readCumul\t$lengthCumul\n";
		if ($tab[1]>1000 and $tab[4]>8) {
			print OUTF "$tab[0]\t$tab[1]\t$tab[2]\t$tab[3]\t$tab[4]\t$readCumul\t$lengthCumul\n";
		}
	}
}

close(INFILE);
close(OUTFILE);
