#!/usr/bin/perl -w

# usage : perl matrix.pl
#sarah maman - 1 aout 2012 - Mis en place pour le traitement des mi-RNAs

use strict;
use File::Basename;

my $input = $ARGV[0];
my $output1 = $ARGV[1];
my $output2 = $ARGV[2];
my $output3 = $ARGV[3];

my $input_dir=dirname($input);
my $input_basename=basename($input,'.matrix');
my $input_matrix="$input_dir/${input_basename}.matrix";

my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
my $ALL =  $mday."-".($mon+1)."_".$hour."h".$min."mn".$sec."secMATRIX";

#pour connaître le path vers le script matrix.pl
my $MATRIX = '/usr/local/bioinfo/src/galaxy-dev/galaxy-dist/tools/sm_miRNA_qual/matrix.pl';
my $cmd = '';



#$cmd = "($MATRIX $input -o ${input_matrix}.csv ${input_matrix}.fasta ${input_matrix}.txt) >& ./matrix.log 2>&1";
$cmd = "($MATRIX $input -o $ALL.matrix) >& ./matrix.log 2>&1";
system $cmd;


#if ((! -e "${input_matrix}.csv") || (! -e "${input_matrix}.fasta") || (! -e "${input_matrix}.txt"))
#if ((! -e "$ALL.matrix.filter.csv") || (! -e "ALL.matrix.filter.tfa") || (! -e "$ALL.matrix.filter.txt"))
#{
#print STDERR "Echec lors de la generation d'un des fichiers $input de sortie \n";
#}
#else
#{
#$cmd = "(cp -a \"$ALL.matrix.filter.csv\" $output1) >& ./matrixcp1.log 2>&1";
#$cmd = "(cp -a \"$ALL.matrix.filter.tfa\" $output2) >& ./matrixcp2.log 2>&1";
#$cmd = "(cp -a \"$ALL.matrix.filter.txt\" $output3) >& ./matrixcp3.log 2>&1";
#system $cmd;
#}

#if (! -e "$input.fasta")
if (! -e "$ALL.matrix.filter.tfa")
{
print STDERR "Echec lors de la generation du fichier tfa \n";
}
else
{
$cmd = "(cp -a \"$ALL.matrix.filter.tfa\" $output1) >& ./matrixcptfa.log 2>&1";
system $cmd;
}

#if (! -e "$input.txt")
if (! -e "$ALL.matrix.filter.txt")
{
print STDERR "Echec lors de la generation du fichier txt \n";
}
else
{
$cmd = "(cp -a \"$ALL.matrix.filter.txt\" $output2) >& ./matrixcptxt.log 2>&1";
system $cmd;
}

if (! -e "$ALL.matrix.filter.csv")
{
print STDERR "Echec lors de la generation du fichier csv \n";
}
else
{
$cmd = "(cp -a \"$ALL.matrix.filter.csv\" $output3) >& ./matrixcpcsv.log 2>&1";
system $cmd;
}
