The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
package Bio::Phylo::Models::Substitution::Dna::HKY85;
use strict;
use base
  qw'Bio::Phylo::Models::Substitution::Dna::K80 Bio::Phylo::Models::Substitution::Dna::F81';
my %purines = ( 'A' => 1, 'G' => 1 );

# subst rate
sub get_rate {
    my $self = shift;
    if ( scalar @_ == 2 ) {
        my ( $src, $trgt ) = ( uc $_[0], uc $_[1] );

        # transversion
        if ( $purines{$src} xor $purines{$trgt} ) {
            return $self->get_kappa * $self->get_rate($src);
        }

        # transition
        else {
            return $self->get_rate($src);
        }
    }
}
sub get_nst { 2 }
1;