]> git.donarmstrong.com Git - rsem.git/blobdiff - rsem-plot-transcript-wiggles
Fixed a minor bug which only affects paired-end reads for reporting how many alignmen...
[rsem.git] / rsem-plot-transcript-wiggles
index 5054f5bc0d4fa3256bc4ac4899162c4b4e570847..11027a1ea30fa91b880d5e776dfdd5b032a2d71b 100755 (executable)
@@ -2,9 +2,12 @@
 
 use Getopt::Long;
 use Pod::Usage;
-use File::Basename;
+use FindBin;
+use lib $FindBin::Bin;
 use strict;
 
+use rsem_perl_utils;
+
 my $gene_list = 0; # default is 0, means input is a transcript list; 1 means input is a gene list
 my $show_unique = 0; # 0, default value, means do not show unique transcript wiggles; 1 means show unique transcript wiggles
 my $help = 0;
@@ -16,11 +19,15 @@ GetOptions("gene-list" => \$gene_list,
 pod2usage(-verbose => 2) if ($help == 1);
 pod2usage(-msg => "Invalid number of arguments!", -exitval => 2, -verbose => 2) if (scalar(@ARGV) != 3);
 
-my ($fn, $dir, $suf) = fileparse($0);
+my $dir = "$FindBin::Bin/";
 my $command = "";
 
+unless (-e "$ARGV[0].transcript.sorted.bam") {
+    $command = $dir."sam/samtools sort $ARGV[0].transcript.bam $ARGV[0].transcript.sorted";
+    &runCommand($command);
+}
 unless (-e "$ARGV[0].transcript.readdepth") {
-    $command = $dir."rsem-bam2readdepth $ARGV[0].transcript.sorted.bam $ARGV[0].transcript.readdepth";
+    $command = $dir."rsem-bam2readdepth $ARGV[0].transcript.sorted.bam $ARGV[0].transcript.readdepth";
     &runCommand($command);
 }
 
@@ -34,7 +41,7 @@ if ($show_unique) {
        &runCommand($command);
     }
     unless (-e "$ARGV[0].uniq.transcript.readdepth") {
-       $command = $dir."rsem-bam2readdepth $ARGV[0].uniq.transcript.sorted.bam $ARGV[0].uniq.transcript.readdepth";
+       $command = $dir."rsem-bam2readdepth $ARGV[0].uniq.transcript.sorted.bam $ARGV[0].uniq.transcript.readdepth";
        &runCommand($command);
     }
 }
@@ -42,20 +49,6 @@ if ($show_unique) {
 $command = $dir."rsem-gen-transcript-plots $ARGV[0] $ARGV[1] $gene_list $show_unique $ARGV[2]";
 &runCommand($command);
 
-# command, {err_msg}
-sub runCommand {
-    print $_[0]."\n";
-    my $status = system($_[0]);
-    if ($status != 0) { 
-       my $errmsg;
-       if (scalar(@_) > 1) { $errmsg = $_[1]; }
-       else { $errmsg = "\"$command\" failed! Plase check if you provide correct parameters/options for the pipeline!"; }
-       print $errmsg."\n";
-       exit(-1);
-    }
-    print "\n";
-}
-
 __END__
 
 =head1 NAME