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 )