sub new {
my $class = shift;
$class = ref($class) if ref($class);
my ($sequence,$type) = @_;
my $self = bless {},$class;
if (ref($sequence)) {
croak "Can't initialize sequence from non-Sequence object.\n"
unless $sequence->can('seq');
%{$self} = %{$sequence}; # clone operation
} else {
croak "Doesn't look like sequence data"
unless $sequence=~/^[gactnu ]+$/i;
$self->{'data'} = $self->_canonicalize($sequence);
$self->{'type'} = $type || ($sequence=~/u/i ? 'RNA' : 'DNA');
}
return $self;
}
Example 5: Defining the new() constructor.
Back to Article
Copyright © 1999, Dr. Dobb's Journal