5 if (scalar(@ARGV) == 0) {
6 print "Usage: rsem-form-counts-matrix sampleA.[genes/isoforms].results sampleB.[genes/isoforms].results ... > output_name.counts.matrix\n";
7 print "Results files should be either all .genes.results or all .isoforms.results.\n";
11 my $offsite = 4; # for new file formats
14 my $n = scalar(@ARGV);
18 for (my $i = 0; $i < $n; $i++) {
20 open(INPUT, $ARGV[$i]);
21 while ($line = <INPUT>) {
23 my @fields = split(/\t/, $line);
24 push(@sample, $fields[$offsite]);
27 if (scalar(@sample) == 0) {
28 print STDERR "No transcript is detected! Please check if $ARGV[$i] exists.\n";
31 if ($M < 0) { $M = scalar(@sample); }
32 elsif ($M != scalar(@sample)) {
33 print STDERR "Number of transcripts among samples are not equal!\n";
36 push(@matrix, \@sample);
39 for (my $i = 0; $i < $M; $i++) {
40 for (my $j = 0; $j < $n - 1; $j++) { print "$matrix[$j][$i]\t"; }
41 print "$matrix[$n - 1][$i]\n";