diff --git a/misc-scripts/xref_mapping/XrefMapper/Methods/ExonerateBasic.pm b/misc-scripts/xref_mapping/XrefMapper/Methods/ExonerateBasic.pm index f69ed47e1a91629a1ca6b3a4c43a3ec9303cddd3..dfddf5cbf7dcee20262dfdc391ffa6c18f7a2a84 100644 --- a/misc-scripts/xref_mapping/XrefMapper/Methods/ExonerateBasic.pm +++ b/misc-scripts/xref_mapping/XrefMapper/Methods/ExonerateBasic.pm @@ -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