App-SimulateReads
view release on metacpan or search on metacpan
lib/App/SimulateReads/Read.pm view on Meta::CPAN
default => 0
);
has '_base' => (
is => 'rw',
isa => 'Int',
builder => '_build_base',
lazy_build => 1
);
has '_not_base' => (
is => 'ro',
isa => 'HashRef',
builder => '_build_not_base',
lazy_build => 1
);
sub _build_not_base {
my %not_base = (
A => ['T', 'C', 'G'],
a => ['t', 'c', 'g'],
T => ['A', 'C', 'G'],
t => ['a', 'c', 'g'],
C => ['A', 'T', 'G'],
c => ['a', 't', 'g'],
G => ['A', 'T', 'C'],
g => ['a', 't', 'c']
);
return \%not_base;
}
sub _build_base {
my $self = shift;
# If sequencing_error equal to zero, set _base to zero
return $self->sequencing_error && int(1 / $self->sequencing_error);
}
sub subseq {
my ($self, $seq_ref, $seq_len, $slice_len, $pos) = @_;
lib/App/SimulateReads/Read.pm view on Meta::CPAN
}
sub reverse_complement {
my ($self, $seq_ref) = @_;
$$seq_ref = reverse $$seq_ref;
$$seq_ref =~ tr/atcgATCG/tagcTAGC/;
}
sub _randb {
my ($self, $base) = @_;
return $self->_not_base->{$base}[int(rand(3))] || $base;
}
__END__
=pod
=encoding UTF-8
=head1 NAME
( run in 0.264 second using v1.01-cache-2.11-cpan-4d4bc49f3ae )