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
|
#!/usr/bin/env perl
use strict;
use warnings;
use lib ("/usr/lib/trinityrnaseq/PerlLib");
use Process_cmd;
my $usage = "usage: $0 Trinity.fasta reads.fa\n\n";
my $trin_fa = $ARGV[0] or die $usage;
my $reads_fa = $ARGV[1] or die $usage;
main: {
my $salmon_index = "$trin_fa.salmon.idx";
my $salmon_stderr = "_salmon.$$.stderr";
my $cmd = "salmon --no-version-check index -t $trin_fa -i $salmon_index -k 25 -p 1 > $salmon_stderr 2>&1";
&run_cmd_capture_stderr($cmd, $salmon_stderr);
$cmd = "salmon --no-version-check quant -i $salmon_index -l U -r $reads_fa -o salmon_outdir -p 1 --minAssignedFrags 1 --validateMappings > $salmon_stderr 2>&1";
&run_cmd_capture_stderr($cmd, $salmon_stderr);
unlink($salmon_stderr);
exit(0);
}
####
sub run_cmd_capture_stderr {
my ($cmd, $stderr_file) = @_;
eval {
&process_cmd($cmd);
};
if ($@) {
my $errmsg = `cat $stderr_file`;
die "Error, cmd: $cmd failed with msg: $errmsg $@";
}
return;
}
|