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 } ) {