Bio_AssemblyImprovement

 view release on metacpan or  search on metacpan

bin/fill_gaps_with_gapfiller  view on Meta::CPAN

=head1 NAME

fill_gaps_with_gapfiller - Given an assembly iteratively fill gaps

=head1 VERSION

version 1.160490

=head1 SYNOPSIS

Given an assembly and some reads in fastq format, try and fill in the gaps. Do multiple iterations with different values, and cleanup all intermediate files.

   # outputs a file called contigs.scaffolded.fa
   fill_gaps_with_gapfiller -a contigs.fa -f 123_1.fastq -r 123_2.fastq 
   
   # use two threads (default 1)
   fill_gaps_with_gapfiller -a contigs.fa -f 123_1.fastq -r 123_2.fastq -t 2

   # Gzipped input files are accepted
   fill_gaps_with_gapfiller -a contigs.fa.gz -f 123_1.fastq.gz -r 123_2.fastq.gz

bin/scaffold_with_sspace  view on Meta::CPAN

=head1 NAME

scaffold_with_sspace - Given an assembly and some reads in fastq format, try and scaffold the assembly.

=head1 VERSION

version 1.160490

=head1 SYNOPSIS

Given an assembly and some reads in fastq format, try and scaffold the assembly. Do multiple iterations with different values, and cleanup all intermediate files.

   # outputs a file called contigs.scaffolded.fa
   scaffold_with_sspace -a contigs.fa -f 123_1.fastq -r 123_2.fastq 

   # use two threads (default 1)
   scaffold_with_sspace -a contigs.fa -f 123_1.fastq -r 123_2.fastq -t 2
   
   # Gzipped input files are accepted
   scaffold_with_sspace -a contigs.fa.gz -f 123_1.fastq.gz -r 123_2.fastq.gz

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

   		if(! -d $self->output_directory){
   			make_path($self->output_directory);
   		}
    	system("mv $temp_dir/00.info.txt ".$self->output_directory."/circlator.info.txt") and warn "Could not move $temp_dir/00.info.txt to ".$self->output_directory."/circlator.info.txt";
    	system("mv $temp_dir/06.fixstart.fasta ".$self->output_directory."/circlator.final.fasta") and die "Could not move $temp_dir/06.fixstart.fasta to ".$self->output_directory."/circlator.final.fasta";
    	
    	my @iterative_merge_files = sort {$self->_get_number_in_filename($a) <=> $self->_get_number_in_filename($b)} glob("$temp_dir/04.merge.merge.iter.*.reads.log"); #cannot rely on glob's lexical sorting
    	
    	my @log_files = ("$temp_dir/02.bam2reads.log",
						   @iterative_merge_files,
						   "$temp_dir/04.merge.merge.iterations.log",
						   "$temp_dir/04.merge.merge.log",
							 "$temp_dir/04.merge.circularise_details.log",
						   "$temp_dir/04.merge.circularise.log",
						   "$temp_dir/05.clean.log",
						   "$temp_dir/06.fixstart.log",
						  );
    	my $filtered_log_files = $self->_filter_out_non_existant_files(\@log_files);
    	system("cat ".join(" ", @{$filtered_log_files})." > ".$self->output_directory."/circlator.log") and warn "Could not cat circlator log files to ".$self->output_directory."/circlator.log";

			remove_tree($temp_dir) if(-d $temp_dir);

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

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' );

sub _build__config_file_obj {
    my ($self) = @_;
    Bio::AssemblyImprovement::FillGaps::GapFiller::Config->new(
        input_files     => $self->input_files,
        insert_size     => $self->insert_size,
        output_filename => join( '/', ( $self->_temp_directory, '_gap_filler.config' ) ),
        mapper          => $self->mapper

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

    my $stdout_of_program = '';
    $stdout_of_program =  "> /dev/null 2>&1"  if($self->debug == 0);

    system(
        join(
            ' ',
            (
                'perl', $self->gap_filler_exec, 
                '-l', $self->_config_file_obj->output_filename,
                '-s', $self->input_assembly, 
                '-i', $self->num_iterations,
                '-m', $self->merge_size,
                '-T', $self->threads,
                '-b', $self->_output_prefix,
                $stdout_of_program
            )
        )
    );
    move( $self->_intermediate_file_name, $self->output_filename );
    chdir($original_cwd);
    return $self;

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

     input_assembly => 'contigs.fa'
     insert_size => 250,
     scaffolder_exec => '/path/to/SSPACE.pl',
     merge_sizes => [100,50,30,10]
   )->run;

=head1 METHODS

=head2 run

Run the iterations of SSpace

=head1 SEE ALSO

=for :list * L<Bio::AssemblyImprovement::Scaffold::SSpace::Config>
* L<Bio::AssemblyImprovement::Scaffold::SSpace::Main>

=head1 AUTHOR

Andrew J. Page <ap13@sanger.ac.uk>

t/dummy_circlator_script  view on Meta::CPAN


my @circlator_output_files         = ("00.info.txt",
									  "00.input_assembly.fasta",
									  "00.input_assembly.fasta.fai",
									  "01.mapreads.bam",
									  "01.mapreads.bam.bai",
									  "02.bam2reads.log",
									  "02.bam2reads.fasta",
									  "04.merge.coords",
									  "04.merge.fasta",
									  "04.merge.merge.iterations.log",
									  "04.merge.merge.log",
									  "04.merge.circularise_details.log",
									  "04.merge.circularise.log",
									  "04.merge.merge.iter.1.reads.log",
									  "04.merge.merge.iter.2.reads.log",
									  "04.merge.merge.iter.10.reads.log",
									  "05.clean.contigs_to_keep",
									  "05.clean.log",
									  "05.clean.coords",
									  "05.clean.fasta",

t/dummy_circlator_script  view on Meta::CPAN

system("mkdir $dir");
chdir ("$dir");
system("touch ".join(" ", @circlator_output_files));
system("mkdir ".join(" ", @circlator_output_dir));

# test logs
system("echo log_1 > 02.bam2reads.log");
system("echo log_2 > 04.merge.merge.iter.1.reads.log");
system("echo log_3 > 04.merge.merge.iter.2.reads.log");
system("echo log_4 > 04.merge.merge.iter.10.reads.log");
system("echo log_5 > 04.merge.merge.iterations.log");
system("echo log_6 > 04.merge.merge.log");
system("echo log_7 > 04.merge.circularise_details.log");
system("echo log_8 > 04.merge.circularise.log");
system("echo log_9 > 05.clean.log");
system("echo log_10 > 06.fixstart.log");

chdir $cwd;



t/dummy_circlator_script_no_merge_log  view on Meta::CPAN


my @circlator_output_files         = ("00.info.txt",
									  "00.input_assembly.fasta",
									  "00.input_assembly.fasta.fai",
									  "01.mapreads.bam",
									  "01.mapreads.bam.bai",
									  "02.bam2reads.log",
									  "02.bam2reads.fasta",
									  "04.merge.coords",
									  "04.merge.fasta",
									  "04.merge.merge.iterations.log",
									  "04.merge.circularise_details.log",
									  "04.merge.circularise.log",
									  "04.merge.merge.iter.1.reads.log",
									  "04.merge.merge.iter.2.reads.log",
									  "04.merge.merge.iter.10.reads.log",
									  "05.clean.contigs_to_keep",
									  "05.clean.log",
									  "05.clean.coords",
									  "05.clean.fasta",
									  "05.clean.remove_small.fa",

t/dummy_circlator_script_no_merge_log  view on Meta::CPAN

system("mkdir $dir");
chdir ("$dir");
system("touch ".join(" ", @circlator_output_files));
system("mkdir ".join(" ", @circlator_output_dir));

# test logs
system("echo log_1 > 02.bam2reads.log");
system("echo log_2 > 04.merge.merge.iter.1.reads.log");
system("echo log_3 > 04.merge.merge.iter.2.reads.log");
system("echo log_4 > 04.merge.merge.iter.10.reads.log");
system("echo log_5 > 04.merge.merge.iterations.log");
system("echo log_7 > 04.merge.circularise_details.log");
system("echo log_8 > 04.merge.circularise.log");
system("echo log_9 > 05.clean.log");
system("echo log_10 > 06.fixstart.log");

chdir $cwd;



( run in 1.610 second using v1.01-cache-2.11-cpan-96521ef73a4 )