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.
Copyright © 1999, Dr. Dobb's Journal