#!/usr/bin/perl -w

# usage : perl bwa_aln_sampe.pl <FASTA ref file> -b1 <BAM file> <output BAM file> 
#sarah maman - 10 juillet 2012 - Mis en place dans le cadre du projet SwanPorc

use strict;
use File::Basename;

my $input_ref_genome = $ARGV[0];
my $input_fa = $ARGV[1];


#pour les sorties
my $output_bam = $ARGV[2];


my $input_dir=dirname($input_fa);
my $input_basename=basename($input_fa,'.bam');
my $input_bamsorted="$input_dir/${input_basename}-sorted";
#pour eviter que la commande ne fonctionne plus si le $PATH est perdu suite a un restart de galaxy
my $BWA = '/usr/local/bioinfo/bin/bwa';
#pour connaître le path des samtools, utiliser la commande which samtools
my $SAMTOOLS = '/usr/local/bioinfo/bin/samtools';
my $cmd = '';


#commande
#bwa aln bank/$i 3_redundancy/ALL.matrix.filter.tfa |bwa samse bank/$i 3_redundancy/ALL.matrix.filter.tfa | samtools view bS | samtools sort 4_annotation/$i.sort


$cmd = "($BWA aln $input_ref_genome  $input_fa  | $BWA samse $input_ref_genome - $input_fa |$SAMTOOLS view -bS - | $SAMTOOLS sort - ${input_bamsorted}.sort ) >& ./bwa_annot.log 2>&1";
system $cmd;

if (! -e "${input_bamsorted}.sort.bam")
{
print STDERR "BWA failed\n";
}
else
{
`(cp -a \"${input_bamsorted}.sort.bam\" $output_bam) >& ./bwa_annot.log 2>&1`
}

