1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| if ($submit eq "yes") {
print STDERR "Launching individual bam file jobs";
}
my (%pileup_jobs_id,$ref_bam_pileup_job,@prefix_list);
foreach my $bam (@bamfiles) {
#create a directory for each bam
my @nn=split(/\./,$bam);
my $prefix=$nn[0];
my $command = "mkdir $prefix";
qx{$command};
push(@prefix_list,$prefix);
#create qsub for each chr
foreach my $chr (@chrs) {
$command = "mkdir $prefix/$chr";
qx{$command};
#generate qsub file and launch it
my $qsuboutfile = "$bam\_$chr\_bam2cnv.qsub";
open (QSUB,">$prefix/$chr/$qsuboutfile")or die "\nError : $qsuboutfile file could not be created: $!\n";
print QSUB qq(#!/bin/bash
#\$ -S /bin/bash
#\$ -V
#\$ -M $users{$user}
#\$ -m e
#\$ -o $qsuboutfile.out
#\$ -e $qsuboutfile.err
#\$ -cwd
#\$ -q long.q
#\$ -pe thread 5
# command(s):
hostname >&2
XXX : commandes a effectuer en bash
);
close QSUB;
#launch qsub job if asked
my $jobid;
if ($submit eq "yes") {
my $dependencies = "";
if (defined $hold_jid) {
$dependencies = "-hold_jid $hold_jid";
}
my $instruction = "cd $prefix/$chr; qsub $dependencies $qsuboutfile | awk '{print \$3}' ";
$jobid=qx{$instruction};
chomp $jobid;
if ($bam ne $refbam) {
$pileup_jobs_id{$bam} = $jobid;
} else {
$ref_bam_pileup_job = $jobid;
}
print STDERR ".";
} else {
$pileup_jobs_id{$bam} = "";
}
}
} |