Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 9 additions & 11 deletions lib/Bio/RNA/RNAaliSplit/WrapRNAalifold.pm
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ use Moose;
use Path::Class;
use IPC::Cmd qw(can_run run);
use File::Path qw(make_path);
use File::Temp ();
#use diagnostics;

my ($rnaalifold,$oodir);
Expand Down Expand Up @@ -131,6 +132,8 @@ sub run_rnaalifold {
my $this_function = (caller(0))[3];
my ($out_fn,$out,$alnps_fn,$alnps,$alirnaps_fn,$stk_fn);
my ($alirnaps,$alidotps_fn,$alidotps,$alifoldstk);
my $tmpdir_o = File::Temp->newdir( DIR => $oodir );
my $tmpdir = $tmpdir_o->dirname;
my $tag = "";
if ($self->has_ribosum){$tag = ".risobum"}
if ($self->has_basename){
Expand All @@ -153,11 +156,11 @@ sub run_rnaalifold {
$alirnaps_fn = $tag."alirna.ps";
$alidotps_fn = $tag."alidot.ps";
}
$out = file($oodir,$out_fn); # RNAalifold stdout
$alnps = file($oodir,$alnps_fn); # RNAalifold aln.ps
$alirnaps = file($oodir,$alirnaps_fn); # RNAalifold alirna.ps
$alidotps = file($oodir,$alidotps_fn); # RNAalifold alidot.ps
$alifoldstk = file($oodir,$stk_fn); # RNAalifold generated Stockholm file with new CS
$out = file($tmpdir,$out_fn); # RNAalifold stdout
$alnps = file($tmpdir,$alnps_fn); # RNAalifold aln.ps
$alirnaps = file($tmpdir,$alirnaps_fn); # RNAalifold alirna.ps
$alidotps = file($tmpdir,$alidotps_fn); # RNAalifold alidot.ps
$alifoldstk = file($tmpdir,$stk_fn); # RNAalifold generated Stockholm file with new CS

open my $fh, ">", $out;
my $alifold_options = " --aln --color -p --sci --aln-stk ";
Expand All @@ -167,7 +170,7 @@ sub run_rnaalifold {
if ($self->has_sscons){$alifold_options.=" --SS_cons "}
my $cmd = $rnaalifold.$alifold_options.$self->ifile;
my ( $success, $error_message, $full_buf, $stdout_buf, $stderr_buf ) =
run( command => $cmd, verbose => 0 );
run( command => $cmd, verbose => 0, cwd => $tmpdir );
if( !$success ) {
print STDERR "ERROR [$this_function] Call to $rnaalifold unsuccessful\n";
print STDERR "ERROR: $cmd\n";
Expand All @@ -184,11 +187,6 @@ sub run_rnaalifold {

$self->_parse_rnaalifold($stdout_buffer);
$self->alignment_stk($alifoldstk);
rename "aln.ps", $alnps;
rename "alirna.ps", $alirnaps;
rename "alidot.ps", $alidotps;
rename "RNAalifold_results.stk", $alifoldstk;
unlink "alifold.out";
}

# parse RNAalifold output
Expand Down
18 changes: 9 additions & 9 deletions lib/Bio/RNA/RNAaliSplit/WrapRscape.pm
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ use Moose;
use Path::Class;
use IPC::Cmd qw(can_run run);
use File::Path qw(make_path);
use File::Temp ();

my ($rscape,$oodir);
my $exe = "R-scape";
Expand Down Expand Up @@ -200,6 +201,8 @@ sub run_rscape {
my $this_function = (caller(0))[3];
my ($out_fn,$sout_fn,$out,$sout,$sum);
my ($rscape_out,$rscape_sout,$rscape_sum);
my $tmpdir_o = File::Temp->newdir( DIR => $oodir );
my $tmpdir = $tmpdir_o->dirname;
my $tag = "";
if ($self->has_statistic){$tag = ".".$self->statistic};

Expand All @@ -215,19 +218,19 @@ sub run_rscape {
$out_fn = $tag."rscape.out";
$sout_fn = $tag."rscape.sorted.out";
}
$out = file($oodir,$out_fn); # R-scape stdout
$sout = file($oodir,$sout_fn); # R-scape sorted stdout
$out = file($tmpdir,$out_fn); # R-scape stdout
$sout = file($tmpdir,$sout_fn); # R-scape sorted stdout

$rscape_out = "rscape.out";
$rscape_out = $out_fn;
$rscape_sout = $rscape_out.".sorted";

my $rscape_options = " -o $rscape_out --rna --outdir $oodir ";
my $rscape_options = " -o $rscape_out --rna --outdir $tmpdir ";
if ($self->has_nofigures && $self->nofigures == 1){$rscape_options.=" --nofigures "};
if ($self->has_statistic){$rscape_options.=" --".$self->statistic." " }
my $cmd = $rscape.$rscape_options.$self->ifile;

my ( $success, $error_message, $full_buf, $stdout_buf, $stderr_buf ) =
run( command => $cmd, verbose => 0 );
run( command => $cmd, verbose => 0, cwd => $tmpdir );
if( !$success ) {
print STDERR "ERROR [$this_function] Call to $rscape unsuccessful\n";
print STDERR "ERROR: $cmd\n";
Expand All @@ -236,10 +239,7 @@ sub run_rscape {
croak $!;
}

$self->_parse_rscape($rscape_out);

rename $rscape_out, $out;
rename $rscape_sout, $sout;
$self->_parse_rscape($out);
}

# parse R-scape output
Expand Down