App-Sandy
view release on metacpan or search on metacpan
lib/App/Sandy/Seq.pm view on Meta::CPAN
read_mean => $self->read_mean,
read_stdd => $self->read_stdd
};
return $info;
}
sub _build_read_size {
my $self = shift;
my $fun;
if ($self->read_stdd == 0) {
$fun = sub { $self->read_mean };
} else {
$fun = sub {
my $rng = shift;
my $size = 0;
my $random_tries = 0;
until ($size > 0) {
if (++$random_tries > NUM_TRIES) {
croak "So many tries to calculate a seq size greater than zero ...";
}
$size = $rng->get_norm($self->read_mean, $self->read_stdd);
}
return $size;
};
}
return $fun;
}
sub _build_quality {
my $self = shift;
App::Sandy::Quality->new(
quality_profile => $self->quality_profile
);
}
sub gen_sam_header {
my ($self, $argv) = @_;
my $format = $self->format;
my $header;
if ($format eq 'sam') {
$header = $self->with_sam_header_template($argv);
} elsif ($format eq 'bam') {
$header = $self->with_bam_header_template($argv);
} else {
croak "No valid format: '$format'";
}
return $header;
}
sub gen_eof_marker {
my ($self, $file) = @_;
open my $fh, ">>" => $file
or croak "Cannot open '$file': $!";
binmode $fh;
my $eof_ref = $self->with_eof_marker;
print {$fh} $$eof_ref;
close $fh
or croak "Cannot write to '$file': $!";
}
__END__
=pod
=encoding UTF-8
=head1 NAME
App::Sandy::Seq - Base class to simulate seq entries
=head1 VERSION
version 0.25
=head1 AUTHORS
=over 4
=item *
Thiago L. A. Miller <tmiller@mochsl.org.br>
=item *
J. Leonel Buzzo <lbuzzo@mochsl.org.br>
=item *
Felipe R. C. dos Santos <fsantos@mochsl.org.br>
=item *
Helena B. Conceição <hconceicao@mochsl.org.br>
=item *
Rodrigo Barreiro <rbarreiro@mochsl.org.br>
=item *
Gabriela Guardia <gguardia@mochsl.org.br>
=item *
Fernanda Orpinelli <forpinelli@mochsl.org.br>
=item *
Rafael Mercuri <rmercuri@mochsl.org.br>
=item *
( run in 0.617 second using v1.01-cache-2.11-cpan-39bf76dae61 )