for (int i = 1; i <= M; i++) {
const std::string& tid = transcripts[i].getTranscriptID();
iter = dict.find(tid);
- assert(iter == dict.end());
+ general_assert(iter == dict.end(), tid + " appears more than once!");
dict[tid] = i;
}
use File::Path 'rmtree';
use strict;
+use rsem_perl_utils;
+
my ($in_file, $out_file) = ();
my @tmp_dirs = ();
$command = $dir."rsem-sam-validator $out_file";
&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! Please check if you provide correct parameters/options for the pipeline!"; }
- print $errmsg."\n";
- exit(-1);
- }
- print "\n";
-}
-
__END__
=head1 NAME
use File::Basename;
use strict;
+use rsem_perl_utils qw(runCommand collectResults showVersionInfo);
+
#const
my $BURNIN = 200;
my $NCV = 1000;
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;
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 = <INPUT>) {
- 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 = <INPUT>;
- chomp($line);
- close(INPUT);
- print "$line\n";
- exit(0);
-}
-
__END__
=head1 NAME
use File::Basename;
use strict;
+use rsem_perl_utils;
+
my $k = 25;
my $help = 0;
$command = $dir."EBSeq/rsem-for-ebseq-generate-ngvector-from-clustering-info $ARGV[1].ump $ARGV[1].ngvec";
&runCommand($command);
-# 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";
-}
-
__END__
=head1 NAME
use File::Basename;
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;
$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! Please check if you provide correct parameters/options for the pipeline!"; }
- print $errmsg."\n";
- exit(-1);
- }
- print "\n";
-}
-
__END__
=head1 NAME
use File::Basename;
use strict;
+use rsem_perl_utils;
+
my $status;
my $gtfF = "";
&runCommand($command);
}
-# 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";
-}
-
__END__
=head1 NAME
--- /dev/null
+#!/usr/bin/perl
+
+package rsem_perl_utils;
+
+use strict;
+
+require Exporter;
+our @ISA = qw(Exporter);
+our @EXPORT = qw(runCommand);
+our @EXPORT_OK = qw(runCommand collectResults showVersionInfo);
+
+# command, {err_msg}
+sub runCommand {
+ print $_[0]."\n";
+ my $status = system($_[0]);
+
+ if ($? == -1) {
+ my @arr = split(/[ \t]+/, $_[0]);
+ print "$arr[0] : $!!\n";
+ print "Please check if you have compiled the associated codes by typing related \"make\" commands and/or made related executables ready to use.\n";
+ exit(-1);
+ }
+
+ if ($status != 0) {
+ my $errmsg = "";
+ if (scalar(@_) > 1) { $errmsg .= $_[1]."\n"; }
+ $errmsg .= "\"$_[0]\" failed! Plase check if you provide correct parameters/options for the pipeline!\n";
+ print $errmsg;
+ exit(-1);
+ }
+ print "\n";
+}
+
+
+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");
+
+# 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 = <INPUT>) {
+ 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 = <INPUT>;
+ chomp($line);
+ close(INPUT);
+ print "$line\n";
+ exit(0);
+}
+
+1;