X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=rsem-calculate-expression;h=4fbb4a59beac6a449a90e4dc6335d7a9633f6dcc;hb=52f1bd6f44f9b2630b839f192fb9ece18581983b;hp=4d1b70a8a4dca169ccb0702caf32d2bb30caaa2f;hpb=0165dcc248203dce454881b6f1707cdf248497c2;p=rsem.git diff --git a/rsem-calculate-expression b/rsem-calculate-expression index 4d1b70a..4fbb4a5 100755 --- a/rsem-calculate-expression +++ b/rsem-calculate-expression @@ -5,6 +5,8 @@ use Pod::Usage; use File::Basename; use strict; +use rsem_perl_utils qw(runCommand collectResults showVersionInfo); + #const my $BURNIN = 200; my $NCV = 1000; @@ -18,10 +20,6 @@ my $status = 0; my $read_type = 1; # default, single end with qual -my @transcript_title = ("transcript_id", "gene_id", "length", "effective_length", "expected_count", "TPM", "FPKM", "IsoPct", "pme_expected_count", "pme_TPM", "pme_FPKM", "IsoPct_from_pme_TPM", "TPM_ci_lower_bound", "TPM_ci_upper_bound", "FPKM_ci_lower_bound", "FPKM_ci_upper_bound"); - -my @gene_title = ("gene_id", "transcript_id(s)", "length", "effective_length", "expected_count", "TPM", "FPKM", "pme_expected_count", "pme_TPM", "pme_FPKM", "TPM_ci_lower_bound", "TPM_ci_upper_bound", "FPKM_ci_lower_bound", "FPKM_ci_upper_bound"); - my $bowtie_path = ""; my $C = 2; my $E = 99999999; @@ -347,78 +345,6 @@ if ($mTime) { close(OUTPUT); } -# command, {err_msg} -sub runCommand { - print $_[0]."\n"; - my $status = system($_[0]); - if ($status != 0) { - my $errmsg = ""; - if (scalar(@_) > 1) { $errmsg .= $_[1]."\n"; } - $errmsg .= "\"$_[0]\" failed! Please check if you provide correct parameters/options for the pipeline!\n"; - print $errmsg; - exit(-1); - } - print "\n"; -} - -# inpF, outF -sub collectResults { - my $local_status; - my ($inpF, $outF); - my @results = (); - my $line; - - $inpF = $_[1]; - $outF = $_[2]; - - $local_status = open(INPUT, $inpF); - if ($local_status == 0) { print "Fail to open file $inpF!\n"; exit(-1); } - - @results = (); - - while ($line = ) { - chomp($line); - my @local_arr = split(/\t/, $line); - push(@results, \@local_arr); - } - - close(INPUT); - - $local_status = open(OUTPUT, ">$outF"); - if ($local_status == 0) { print "Fail to create file $outF!\n"; exit(-1); } - - my $n = scalar(@results); - my $m = scalar(@{$results[0]}); - - $" = "\t"; - - my @out_arr = (); - for (my $i = 0; $i < $n; $i++) { - if ($_[0] eq "isoform") { push(@out_arr, $transcript_title[$i]); } - elsif ($_[0] eq "gene") { push(@out_arr, $gene_title[$i]); } - else { print "A bug on 'collectResults' is detected!\n"; exit(-1); } - } - print OUTPUT "@out_arr\n"; - - for (my $i = 0; $i < $m; $i++) { - @out_arr = (); - for (my $j = 0; $j < $n; $j++) { push(@out_arr, $results[$j][$i]); } - print OUTPUT "@out_arr\n"; - } - - close(OUTPUT); -} - -# dir -sub showVersionInfo { - open(INPUT, "$_[0]\WHAT_IS_NEW"); - my $line = ; - chomp($line); - close(INPUT); - print "$line\n"; - exit(0); -} - __END__ =head1 NAME