Bio_AssemblyImprovement

 view release on metacpan or  search on metacpan

lib/Bio/AssemblyImprovement/Assemble/SGA/Main.pm  view on Meta::CPAN

use Cwd 'abs_path';
use File::Copy;
use File::Basename;

use Bio::AssemblyImprovement::Assemble::SGA::PreprocessReads;
use Bio::AssemblyImprovement::Assemble::SGA::IndexAndCorrectReads;

with 'Bio::AssemblyImprovement::Scaffold::SSpace::TempDirectoryRole';
with 'Bio::AssemblyImprovement::Util::ZipFileRole';

has 'input_files'       => ( is => 'ro', isa => 'ArrayRef' , required => 1);

# Parameters for preprocessing
has 'min_length'	   => ( is => 'ro', isa => 'Num', default => 51);
has 'quality_trim'	   => ( is => 'ro', isa => 'Num', default => 3);
has 'pe_mode'		   => ( is => 'ro', isa => 'Num', default => 2); #We set default to 2 as the pipeline will almost always send in an interleaved fastq file

# Parameters for indexing and correction
has 'algorithm'	        => ( is => 'ro', isa => 'Str',   default => 'ropebwt'); # BWT construction algorithm: sais or ropebwt
has 'threads'	        => ( is => 'ro', isa => 'Num',   default => 1); # Use this many threads for computation
has 'kmer_threshold'	=> ( is => 'ro', isa => 'Num',   default=> 5); # Attempt to correct kmers that are seen less than this many times

lib/Bio/AssemblyImprovement/Assemble/SGA/PreprocessReads.pm  view on Meta::CPAN



use Moose;
use Cwd 'abs_path';
use Cwd;
use File::Basename;

with 'Bio::AssemblyImprovement::Scaffold::SSpace::TempDirectoryRole';
with 'Bio::AssemblyImprovement::Util::UnzipFileIfNeededRole';

has 'input_files'      => ( is => 'ro', isa => 'ArrayRef' , required => 1);
has 'output_filename'  => ( is => 'rw', isa => 'Str', default  => '_sga_preprocessed.fastq' );
has 'min_length'	   => ( is => 'ro', isa => 'Num', default => 66); # Change this to be the value of the minimum kmer length used by the assembler later on in the pipeline
has 'pe_mode'		   => ( is => 'ro', isa => 'Num', default => 2); #We set default to 2 as the pipeline will almost always send in an interleaved fastq file
has 'quality_trim'	   => ( is => 'ro', isa => 'Num', default => 20); # Use a quality score of 20 by default
has 'sga_exec'         => ( is => 'rw', isa => 'Str', required => 1 );
has 'debug'            => ( is => 'ro', isa => 'Bool', default  => 0);


sub run {
    my ($self) = @_;

lib/Bio/AssemblyImprovement/FillGaps/GapFiller/Config.pm  view on Meta::CPAN

package Bio::AssemblyImprovement::FillGaps::GapFiller::Config;

# ABSTRACT: Create the config file thats used to drive GapFiller


use Moose;

has 'input_files'     => ( is => 'ro', isa => 'ArrayRef', required => 1 );
has 'insert_size'     => ( is => 'rw', isa => 'Int',      required => 1 );
has '_default_insert_size' => ( is => 'ro', isa => 'Int',      default => 300 );
has 'mapper'          => ( is => 'ro', isa => 'Str',      default  => 'bwa' );
has 'output_filename' => ( is => 'rw', isa => 'Str',      default  => '_gap_filler.config' );

sub create_config_file {
    my ($self) = @_;
    
    if(!defined($self->insert_size) || $self->insert_size == 0 )
    {

lib/Bio/AssemblyImprovement/FillGaps/GapFiller/Iterative.pm  view on Meta::CPAN



use Moose;
use Cwd;
use File::Basename;
use File::Copy;
use Bio::AssemblyImprovement::FillGaps::GapFiller::Main;
with 'Bio::AssemblyImprovement::Scaffold::SSpace::OutputFilenameRole';
with 'Bio::AssemblyImprovement::Scaffold::SSpace::TempDirectoryRole';

has 'input_files'     => ( is => 'ro', isa => 'ArrayRef',      required => 1 );
has 'insert_size'     => ( is => 'ro', isa => 'Int',           required => 1 );
has 'gap_filler_exec' => ( is => 'ro', isa => 'Str',           required => 1 );
has 'mappers'         => ( is => 'ro', isa => 'ArrayRef',      lazy     => 1, builder => '_build_mappers' );
has 'merge_sizes'     => ( is => 'ro', isa => 'ArrayRef[Int]', lazy     => 1, builder => '_build_merge_sizes' );
has 'threads'		  => ( is => 'ro', isa => 'Int',      	   default  => 1     );

has 'output_base_directory'  => ( is => 'ro', isa => 'Str', lazy => 1, builder => '_build_output_base_directory' );
has '_intermediate_filename' => ( is => 'ro', isa => 'Str', lazy => 1, builder => '_build__intermediate_filename' );
has 'debug'                  => ( is => 'ro', isa => 'Bool', default => 0);

sub _build_output_base_directory
{
  my ($self) = @_;
  return getcwd();

lib/Bio/AssemblyImprovement/FillGaps/GapFiller/Main.pm  view on Meta::CPAN

# ABSTRACT: Run a single iteration of gapfiller


use Moose;
use Cwd;
use File::Copy;
use Bio::AssemblyImprovement::FillGaps::GapFiller::Config;
with 'Bio::AssemblyImprovement::Scaffold::SSpace::OutputFilenameRole';
with 'Bio::AssemblyImprovement::Scaffold::SSpace::TempDirectoryRole';

has 'input_files'     => ( is => 'ro', isa => 'ArrayRef', required => 1     );
has 'insert_size'     => ( is => 'ro', isa => 'Int',      required => 1     );
has 'mapper'          => ( is => 'ro', isa => 'Str',      default  => 'bwa' );
has 'merge_size'      => ( is => 'ro', isa => 'Int',      default  => 10    );
has 'threads'		  => ( is => 'ro', isa => 'Int',      default  => 1     );
has 'gap_filler_exec' => ( is => 'rw', isa => 'Str',      required => 1     );
has 'debug'           => ( is => 'ro', isa => 'Bool',     default  => 0     );
has 'num_iterations'  => ( is => 'ro', isa => 'Int',      default  => 20    );

has '_config_file_obj' => ( is => 'ro', isa => 'Bio::AssemblyImprovement::FillGaps::GapFiller::Config', lazy => 1, builder => '_build__config_file_obj' );

lib/Bio/AssemblyImprovement/Scaffold/SSpace/Config.pm  view on Meta::CPAN

package Bio::AssemblyImprovement::Scaffold::SSpace::Config;
# ABSTRACT: Create the config file thats used to drive SSpace


use Moose;

has 'input_files'     => ( is => 'ro', isa => 'ArrayRef', required => 1 );
has '_default_insert_size' => ( is => 'ro', isa => 'Int',      default => 300 );
has 'insert_size'     => ( is => 'rw', isa => 'Int',      required => 1 );
has 'output_filename' => ( is => 'rw', isa => 'Str',      default  => '_scaffolder.config' );

sub create_config_file {
    my ($self) = @_;
    
    if(!defined($self->insert_size) || $self->insert_size == 0 )
    {
      $self->insert_size($self->_default_insert_size);

lib/Bio/AssemblyImprovement/Scaffold/SSpace/Iterative.pm  view on Meta::CPAN



use Moose;
use Cwd;
use File::Basename;
use File::Copy;
use Bio::AssemblyImprovement::Scaffold::SSpace::Main;
with 'Bio::AssemblyImprovement::Scaffold::SSpace::OutputFilenameRole';
with 'Bio::AssemblyImprovement::Scaffold::SSpace::TempDirectoryRole';

has 'input_files'     => ( is => 'ro', isa => 'ArrayRef',      required => 1 );
has 'insert_size'     => ( is => 'ro', isa => 'Int',           required => 1 );
has 'merge_sizes'     => ( is => 'ro', isa => 'ArrayRef[Int]', lazy     => 1, builder => '_build_merge_sizes' );
has 'threads'		  => ( is => 'ro', isa => 'Int',      default  => 1     );
has 'scaffolder_exec' => ( is => 'ro', isa => 'Str',           required => 1 );
has 'debug'           => ( is => 'ro', isa => 'Bool', default => 0);

has 'output_base_directory'  => ( is => 'ro', isa => 'Str', lazy => 1, builder => '_build_output_base_directory' );
has '_intermediate_filename' => ( is => 'ro', isa => 'Str', lazy => 1, builder => '_build__intermediate_filename' );

sub _build_output_base_directory
{
  my ($self) = @_;

lib/Bio/AssemblyImprovement/Scaffold/SSpace/Main.pm  view on Meta::CPAN




use Moose;
use Cwd;
use File::Copy;
use Bio::AssemblyImprovement::Scaffold::SSpace::Config;
with 'Bio::AssemblyImprovement::Scaffold::SSpace::OutputFilenameRole';
with 'Bio::AssemblyImprovement::Scaffold::SSpace::TempDirectoryRole';

has 'input_files'     => ( is => 'ro', isa => 'ArrayRef', required => 1 );
has 'insert_size'     => ( is => 'ro', isa => 'Int',      required => 1 );
has 'merge_size'      => ( is => 'ro', isa => 'Int',      default  => 10 );
has 'threads'		  => ( is => 'ro', isa => 'Int',      default  => 1  );
has 'scaffolder_exec' => ( is => 'rw', isa => 'Str',      required => 1 );
has 'debug'           => ( is => 'ro', isa => 'Bool', default => 0);

has '_config_file_obj' => ( is => 'ro', isa => 'Bio::AssemblyImprovement::Scaffold::SSpace::Config', lazy => 1, builder => '_build__config_file_obj' );

sub _build__config_file_obj {
    my ($self) = @_;

lib/Bio/AssemblyImprovement/Scaffold/SSpace/PreprocessInputFiles.pm  view on Meta::CPAN

use Cwd 'abs_path';
use File::Basename;
use IO::Uncompress::Gunzip qw(gunzip $GunzipError);
use Bio::AssemblyImprovement::Util::FastaTools;

with 'Bio::AssemblyImprovement::Scaffold::SSpace::TempDirectoryRole';
with 'Bio::AssemblyImprovement::Abacas::DelimiterRole';
with 'Bio::AssemblyImprovement::Util::UnzipFileIfNeededRole';

has 'input_assembly' => ( is => 'ro', isa => 'Str',      required => 1 );
has 'input_files'    => ( is => 'ro', isa => 'Maybe[ArrayRef]');
has 'reference'      => ( is => 'ro', isa => 'Maybe[Str]' );

has 'minimum_contig_size_in_assembly'  => ( is => 'ro', isa => 'Int', default => 300 );
has 'minimum_perc_to_turn_off_filtering'  => ( is => 'ro', isa => 'Int', default => 95 );

has 'processed_input_assembly' => ( is => 'ro', isa => 'Str',        lazy => 1, builder => '_build_processed_input_assembly' );
has 'processed_input_files'    => ( is => 'ro', isa => 'Maybe[ArrayRef]',   lazy => 1, builder => '_build_processed_input_files' );
has 'processed_reference'      => ( is => 'ro', isa => 'Maybe[Str]', lazy => 1, builder => '_build_processed_reference' );



sub _build_processed_input_files {
    my ($self) = @_;
    my @processed_input_files;
    return undef unless(defined($self->input_files));

    for my $filename ( @{ $self->input_files } ) {



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