my %ibase; $ibase{"A"} = "T"; $ibase{"T"} = "A"; $ibase{"C"} = "G"; $ibase{"G"} = "C"; $ibase{"N"} = "N"; sub seq_inverse { my ($nseq) = @_; my @seq = split(m//,$nseq); my $lim = @seq; my $inv = ""; $inv .= $ibase{$seq[$lim]} while($lim > 0 and $lim--); return $inv; }