File: ID Symbol Taxon Taxon Name Evidence GO ID GO Name Aspect Reference With Source H1SXX9 Symbol1 12345 Homo Sapiens IEA GO:0015031 protein transport Process GO_REF:0000002 InterPro:IPR027282 InterPro H1SXZ5 Symbol2 12345 Homo Sapiens IEA GO:0003824 catalytic activity Function GO_REF:0000002 InterPro:IPR003607 InterPro H1SXZ5 Symbol2 12345 Homo Sapiens IEA GO:0008152 metabolic process Process GO_REF:0000002 InterPro:IPR002912 InterPro H1SXZ5 Symbol2 12345 Homo Sapiens IEA GO:0008728 GTP diphosphokinase activity Function GO_REF:0000003 EC:2.7.6.5 UniProt H1SXZ5 Symbol2 12345 Homo Sapiens IEA GO:0015969 guanosine tetraphosphate metabolic process Process GO_REF:0000002 InterPro:IPR004811|InterPro:IPR007685 InterPro H1SXZ5 Symbol2 12345 Homo Sapiens IEA GO:0016301 kinase activity Function GO_REF:0000038 UniProtKB-KW:KW-0418 UniProt H1SXZ5 Symbol2 12345 Homo Sapiens IEA GO:0016310 phosphorylation Process GO_REF:0000038 UniProtKB-KW:KW-0418 UniProt H1SXZ5 Symbol2 12345 Homo Sapiens IEA GO:0016597 amino acid binding Function GO_REF:0000002 InterPro:IPR002912 InterPro H1SXZ5 Symbol2 12345 Homo Sapiens IEA GO:0016740 transferase activity Function GO_REF:0000038 UniProtKB-KW:KW-0808 UniProt H1SXZ8 Symbol3 12345 Homo Sapiens IEA GO:0006812 cation transport Process GO_REF:0000002 InterPro:IPR002524 InterPro H1SXZ8 Symbol3 12345 Homo Sapiens IEA GO:0008324 cation transmembrane transporter activity Function GO_REF:0000002 InterPro:IPR002524 InterPro H1SXZ8 Symbol3 12345 Homo Sapiens IEA GO:0030001 metal ion transport Process GO_REF:0000002 InterPro:IPR006121 InterPro H1SXZ8 Symbol3 12345 Homo Sapiens IEA GO:0046872 metal ion binding Function GO_REF:0000002 InterPro:IPR006121 InterPro H1SXZ8 Symbol3 12345 Homo Sapiens IEA GO:0055085 transmembrane transport Process GO_REF:0000002 InterPro:IPR002524 InterPro H1SY02 Symbol4 12345 Homo Sapiens IEA GO:0006810 transport Process GO_REF:0000002 InterPro:IPR002898 InterPro H1SY02 Symbol4 12345 Homo Sapiens IEA GO:0006810 transport Process GO_REF:0000038 UniProtKB-KW:KW-0813 UniProt H1SY02 Symbol4 12345 Homo Sapiens IEA GO:0008565 protein transporter activity Function GO_REF:0000002 InterPro:IPR002898 InterPro H1SY02 Symbol4 12345 Homo Sapiens IEA GO:0015031 protein transport Process GO_REF:0000038 UniProtKB-KW:KW-0653 UniProt H1SY06 Symbol5 12345 Homo Sapiens IEA GO:0004129 cytochrome-c oxidase activity Function GO_REF:0000002 InterPro:IPR000883|InterPro:IPR004677|InterPro:IPR023615|InterPro:IPR023616 InterPro H1SY06 Symbol5 12345 Homo Sapiens IEA GO:0004129 cytochrome-c oxidase activity Function GO_REF:0000003 EC:1.9.3.1 UniProt H1SY06 Symbol5 12345 Homo Sapiens IEA GO:0005506 iron ion binding Function GO_REF:0000002 InterPro:IPR000883 InterPro #### Code: open(IN,$annotationfile) or die "Can't open $annotationfile\n"; while(){ chomp; @data = split(/\t/,$_); $Column1 = @data[0]; $Column2 = @data[1]; $Column3 = @data[2]; $Column4 = @data[3]; $Column5 = @data[4]; $Column6 = @data[5]; $Column7 = @data[6]; $Column8 = @data[7]; $Column9 = @data[8]; $Column10 = @data[9]; $Column11 = @data[10]; print "$Column1\t$Column2....\t$Column11\n"; foreach $_ (1..$#data){ $GOHash{"$Symbols"}{"$GO_Names"} = "$IDs"; foreach $Symbols (@data) { foreach my $name (sort {$a <=> $b} (keys %GOHash) ) { foreach my $annotation (keys %{ $GOHash{$name} }) { print "$name, $annotation: $GOHash{$name}{$annotation}\n"; close(IN); } } } } }