Skip to content
Snippets Groups Projects
Commit b5dba425 authored by Ian Longden's avatar Ian Longden
Browse files

use rusage to make sure there is enough disk space. lsrcp now uses ecs2c as...

use rusage to make sure there is enough disk space. lsrcp now uses ecs2c as the host machine for coping etc to protect NFS. Make sure number of jobs is greater than 1 else arrays dont like it
parent d6ebb9e4
No related branches found
No related tags found
No related merge requests found
......@@ -102,8 +102,20 @@ sub submit_exonerate {
my $queryfile = basename($query);
my $targetfile = basename($target);
my $disk_space_needed = (stat($query))[7]+(stat($target))[7];
$disk_space_needed /= 1024000; # convert to MB
$disk_space_needed = int($disk_space_needed);
$disk_space_needed += 1;
# print "disk space needed = ".$disk_space_needed."\n";
my $num_jobs = calculate_num_jobs($query);
# array features barf if just one job
if($num_jobs == 1){
$num_jobs++;
}
$self->jobcount($self->jobcount()+$num_jobs);
my $options_str = join(" ", @options);
......@@ -117,9 +129,11 @@ sub submit_exonerate {
my $output = $self->get_class_name() . "_" . $ensembl_type . "_" . "\$LSB_JOBINDEX.map";
my @main_bsub = ( 'bsub', '-J' . $unique_name . "[1-$num_jobs]", '-o', "$prefix.%J-%I.out", '-e', "$prefix.%J-%I.err");
my @main_bsub = ( 'bsub', '-R' .'rusage[tmp='.$disk_space_needed.']', '-J' . $unique_name . "[1-$num_jobs]", '-o', "$prefix.%J-%I.out", '-e', "$prefix.%J-%I.err");
# my @main_bsub = ( 'bsub', '-J' . $unique_name . "[1-$num_jobs]", '-o', "$prefix.%J-%I.out", '-e', "$prefix.%J-%I.err");
#print "bsub command: " . join(" ", @main_bsub) . "\n\n";
# print "bsub command: " . join(" ", @main_bsub) . "\n\n";
# Create actual execute script to be executed with LSF, and write to pipe
my $main_job = <<EOF;
......@@ -129,12 +143,12 @@ cd /tmp
rm -f /tmp/\$LSB_JOBINDEX.$queryfile /tmp/\$LSB_JOBINDEX.$targetfile /tmp/$output
lsrcp $target /tmp/\$LSB_JOBINDEX.$targetfile
lsrcp $query /tmp/\$LSB_JOBINDEX.$queryfile
lsrcp ecs2c:$target /tmp/\$LSB_JOBINDEX.$targetfile
lsrcp ecs2c:$query /tmp/\$LSB_JOBINDEX.$queryfile
$exonerate_path /tmp/\$LSB_JOBINDEX.$queryfile /tmp/\$LSB_JOBINDEX.$targetfile --querychunkid \$LSB_JOBINDEX --querychunktotal $num_jobs --showvulgar false --showalignment FALSE --ryo "xref:%qi:%ti:%ei:%ql:%tl:%qab:%qae:%tab:%tae:%C:%s\n" $options_str | grep '^xref' > /tmp/$output
lsrcp /tmp/$output $root_dir/$output
lsrcp /tmp/$output ecs2c:$root_dir/$output
rm -f /tmp/\$LSB_JOBINDEX.$queryfile /tmp/\$LSB_JOBINDEX.$targetfile /tmp/$output
EOF
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment