Bio-Pipeline-Comparison

 view release on metacpan or  search on metacpan

lib/Bio/Pipeline/Comparison/Generate/Evolve.pm  view on Meta::CPAN



use Moose;
use Bio::SeqIO;
use Bio::Pipeline::Comparison::Generate::VCFWriter;

has 'input_filename'  => ( is => 'ro', isa => 'Str', required => 1 );
has 'output_filename' => ( is => 'ro', isa => 'Str', lazy => 1, builder => '_build_output_filename' );
has 'vcf_output_filename' => ( is => 'ro', isa => 'Str', lazy => 1, builder => '_build_vcf_output_filename' );

has '_base_change_probability' => ( is => 'ro', isa => 'HashRef', lazy => 1, builder => '_build__base_change_probability' );
has '_snp_rate'                => ( is => 'ro', isa => 'Num', default => '0.005' );
has '_vcf_writer'              => ( is => 'ro', isa => 'Bio::Pipeline::Comparison::Generate::VCFWriter', lazy => 1, builder => '_build__vcf_writer' );

# placeholder for proper evolutionary model
sub evolve {
    my ($self) = @_;

    my $in_fasta_obj  = Bio::SeqIO->new( -file => $self->input_filename,         -format => 'Fasta' );
    my $out_fasta_obj = Bio::SeqIO->new( -file => "+>" . $self->output_filename, -format => 'Fasta' );
    while ( my $seq = $in_fasta_obj->next_seq() ) {

lib/Bio/Pipeline/Comparison/Generate/VCFWriter.pm  view on Meta::CPAN

use Moose;
use File::Basename;
use Bio::Pipeline::Comparison::Types;
use Vcf;

has 'output_filename' => ( is => 'ro', isa => 'Str', required => 1 );
has 'evolved_name'    => ( is => 'ro', isa => 'Str', lazy => 1, builder => '_build_evolved_name' );

has '_output_fh' => ( is => 'ro', lazy => 1, builder => '_build_output_fh' );
has '_vcf'       => ( is => 'ro', isa => 'Vcf', lazy => 1, builder => '_build__vcf' );
has '_vcf_lines' => ( is => 'ro', isa => 'ArrayRef', default => sub { [] } );

has 'bgzip_exec' => ( is => 'ro', isa => 'Bio::Pipeline::Comparison::Executable', default => 'bgzip' );
has 'tabix_exec' => ( is => 'ro', isa => 'Bio::Pipeline::Comparison::Executable', default => 'tabix' );

sub _build_output_fh {
    my ($self) = @_;
    open( my $output_fh, '|-', $self->bgzip_exec." -c > " . $self->output_filename );
    return $output_fh;
}

lib/Bio/Pipeline/Comparison/Report/InputParameters.pm  view on Meta::CPAN

use Bio::Pipeline::Comparison::Types;
use Bio::Pipeline::Comparison::Exceptions;
use Vcf;

has 'known_variant_filenames'    => ( is => 'rw', isa => 'ArrayRef', required => 1 );
has 'observed_variant_filenames' => ( is => 'rw', isa => 'ArrayRef', required => 1 );

has 'bgzip_exec' => ( is => 'ro', isa => 'Bio::Pipeline::Comparison::Executable', default => 'bgzip' );
has 'tabix_exec' => ( is => 'ro', isa => 'Bio::Pipeline::Comparison::Executable', default => 'tabix' );

has 'known_to_observed_mappings' => ( is => 'ro', isa => 'ArrayRef', lazy => 1, builder => '_build_known_to_observed_mappings' );

has '_temp_directory_obj' => ( is => 'ro', isa => 'File::Temp::Dir', lazy     => 1, builder => '_build__temp_directory_obj' );
has '_temp_directory'     => ( is => 'ro', isa => 'Str', lazy     => 1, builder => '_build__temp_directory' );
has 'debug'               => ( is => 'ro', isa => 'Bool', default => 0);

sub _build__temp_directory_obj {
    my ($self) = @_;
    
    my $cleanup = 1;
    $cleanup = 0 if($self->debug == 1);

lib/Bio/Pipeline/Comparison/Report/ParseVCFCompare.pm  view on Meta::CPAN

use Bio::Pipeline::Comparison::Types;
use Bio::Pipeline::Comparison::Exceptions;

has 'known_variant_filename'    => ( is => 'rw', isa  => 'Str', required => 1 );
has 'observed_variant_filename' => ( is => 'rw', isa  => 'Str', required => 1 );

has 'vcf_compare_exec'          => ( is => 'ro', isa  => 'Bio::Pipeline::Comparison::Executable', default => 'vcf-compare' );

has '_venn_diagram_regex'       => ( is => 'ro', isa  => 'Str', default => '^VN\t(\d+)\t([^\s]+)\s\(([\d\.]+)%\)(\t([^\s]+)\s\(([\d\.]+)%\))?$' );
has '_vcf_compare_fh'           => ( is => 'ro', lazy => 1, builder => '_build__vcf_compare_fh' );
has '_raw_venn_diagram_results' => ( is => 'ro', isa  => 'ArrayRef', lazy => 1, builder => '_build__raw_venn_diagram_results' );

sub number_of_false_positives
{
  my ($self) = @_;
  if(@{$self->_raw_venn_diagram_results} == 1)
  {
    return 0;
  }

  return $self->_number_of_uniques_for_filename($self->observed_variant_filename);



( run in 0.653 second using v1.01-cache-2.11-cpan-5f2e87ce722 )