open (IN, "< D_radiodurans.faa"); while () { chomp; if (/>(\S+)/) { $accession = $1; $description{$accession} = $_; } } close (IN); open (X, "< X.out"); open (Y, "< Y.out"); while () { chomp; @a = split /\t/; $queryAccession = $a[0]; $bitscore = $a[11]; $xhit{$queryAccession} = $bitscore; $ahit{$queryAccession} = 1; } close (X); while () { chomp; @a = split /\t/; $queryAccession = $a[0]; $bitscore = $a[11]; $yhit{$queryAccession} = $bitscore; $ahit{$queryAccession} = 1; } close (Y); foreach $queryAccession (keys %ahit) { if ($xhit{$queryAccession} == 0) { #if no match in X, set score to zero $xhit{$queryAccession} = 0; } if ($yhit{$queryAccession} == 0) { #if no match in Y, set score to zero $yhit{$queryAccession} = 0; } $xhit{$queryAccession} =~ s/ //g; #remove spaces in my bitscores!? $yhit{$queryAccession} =~ s/ //g; $i++; print "$xhit{$queryAccession}\t$yhit{$queryAccession}\t$i\t$description{$queryAccession}\n"; }