#!/usr/bin/perl -w use strict; use Data::Dumper; my %table; my @scoredFiles = ("refseq.t0.scored", "refseq.t4.scored"); for my $in (@scoredFiles) { my $colName = $in; print STDERR "processing $in\n"; open I, $in or die "Could not open $in\n"; while () { chomp; my @info = split /\t/; my $name = $info[3]; $name =~ s/gene_//; $name =~ s/"//g; my $score = $info[4]; my $fwer = $info[12]; my $counts = $info[14]; my %geneData; if(defined $table{$name}) { %geneData = %{$table{$name}}; } $geneData{$colName} = $score; #$geneData{$colName} = $counts; #$geneData{$colName} = $fwer; $table{$name} = \%geneData; } close I; } print "Gene\t".join("\t",@scoredFiles)."\n"; my @genes = sort (keys(%table)); for my $g (@genes) { my %geneData = %{$table{$g}}; print $g; for my $c (@scoredFiles) { print "\t$geneData{$c}"; } print "\n"; }