#!/usr/bin/perl -w use strict; use warnings; ##################################################################################### # Open Input and Output Files # ##################################################################################### if( @ARGV < 1){ print " Enter input file\n"; exit 0; } open(INPUT2,$ARGV[0]) || die "Cannot open file \"$ARGV[0]\""; # Analysis file my @data =(); my %row =(); while(){ chomp; @data=split (/\t/,$_); my $probeset_id = $data[0]; my $origin = $data[1]; my $probeseq = $data[2]; my $pip = $data[3]; my $gc = $data[4]; my $affyscore = $data[5]; $row{$origin}{$pip}{$probeset_id}{$affyscore}{$gc} =$probeseq; } print "Fished establishing hashs.\n"; foreach my $origin(sort keys %row) { print "\n$origin\t"; foreach my $pip (sort keys %{$row{$origin}}){ print "$pip\t"; foreach my $probeset_id (sort keys %{$row{$origin{$pip}}}){ print "$probeset_id\t"; foreach my $affyscore ( sort keys %{$row{$origin{$pip{$probeset_id}}}}){ print "$affyscore\t"; foreach my $gc ( sort keys %{$row{$origin{$pip{$probeset_id{$affyscore}}}}}){ print "$gc\t"; foreach my $probeseq ( sort keys %{$row{$origin{$pip{$probeset_id{$affyscore{$gc}}}}}}){ print "$probeseq\t"; print "\n"; } } } } } } close (INPUT2);