# HG changeset patch # User iuc # Date 1430323643 14400 # Node ID c8a188ea46d5ab6b20d7bcd11719af563bf44859 # Parent 9975f2d010a5e6181c7f473257c4959ee06b5255 Uploaded diff -r 9975f2d010a5 -r c8a188ea46d5 abyss-pe.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/abyss-pe.xml Wed Apr 29 12:07:23 2015 -0400 @@ -0,0 +1,63 @@ + + Assemble short paired reads + + macros.xml + + + + abyss-pe_wrapper.pl +$k +$n +$outfile.extra_files_path +$outfile +$contigs_outfile +$sam_outfile +$coverage_histogram_outfile +#for $i in $infiles +${i.infile} +#end for + + + + + + + + + + + + + + + + + + +**What it does** + +ABySS is a de novo, paired-end sequence assembler that is designed for short reads. + +**Input** + +The suffix of the read identifier for a pair of reads must be one of '1' and '2', or 'A' and 'B', or 'F' and 'R', or 'F3' and 'R3', or 'forward' and 'reverse'. The reads may be interleaved in the same file or found in different files; however, interleaved mates will use less memory. + +**Description** + +This tool performs the following commands: + +ABYSS - the single-end assembler +AdjList - finds overlaps of length k-1 between contigs +KAligner** - aligns reads to contigs +ParseAligns** - finds pairs of reads in alignments +DistanceEst** - estimates distances between contigs +Overlap - find overlaps between blunt contigs +SimpleGraph - finds paths between pairs of contigs +MergePaths - merges consistent paths +Consensus - for a colour-space assembly, convert the colour-space contigs to nucleotide contigs + +**Reference** + +http://www.bcgsc.ca/platform/bioinfo/software/abyss + + diff -r 9975f2d010a5 -r c8a188ea46d5 abyss-pe_wrapper.pl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/abyss-pe_wrapper.pl Wed Apr 29 12:07:23 2015 -0400 @@ -0,0 +1,90 @@ +#!/usr/bin/env perl + +use strict; +use warnings; +use File::Copy; + +die("ERROR: Expected at least 8 arguments; got: @ARGV\n") unless @ARGV >= 8; + +# GET ARGS +my $kmer_size=shift @ARGV; +my $min_num_pairs=shift @ARGV; +my $outdir=shift @ARGV; +my $outfile=shift @ARGV; +my $contigs_outfile=shift @ARGV; +my $sam_outfile=shift @ARGV; +my $hist_outfile=shift @ARGV; + +# ALL FILES GO IN THIS extra_files_path +unless (-d $outdir) { + mkdir $outdir or die("Unable to make dir, $outdir\n"); +} +chdir $outdir; + +# RUN COMMAND +`abyss-pe k=$kmer_size n=$min_num_pairs in='@ARGV' name=abyss 2> $outdir/abyss.stderr > $outdir/abyss.stdout`; +if ($? != 0) { + unless ( -s "$outdir/abyss-3.hist") { print STDERR "NO CONTIGS WERE PRODUCED!\n" } + open(IN, "<$outdir/abyss.stdout") or die($!); + while () { print STDERR $_ } + close IN; + die("ABORTING\n"); +} + +# FILTER HISTOGRAM +open (IN, "<$outdir/abyss.stderr") or die($!); +open (OUT, ">$outfile") or die($!); +while (my $line=) { + my @chars=split(//, $line); + my $filter=0; + foreach my $char (@chars) { + if (ord($char) >= 129) { + $filter=1; + last; + } + } + print OUT $line unless $filter; +} +close IN; +close OUT; +unlink("$outdir/abyss.stderr"); + +# OUTPUT INFO LINE TEXT +open(IN, "<$outdir/abyss.stdout") or die($!); +while () { + if (/^Assembled \d+ k\-mer in \d+ contigs/) { + print; + last; + } +} +close IN; + +# GALAXY DOESN'T WANT GZIPPED DATAFILES +run("gunzip $outdir/abyss-3.sam.gz"); + +# MOVE OUTFILES +mv_outfile("$outdir/abyss-contigs.fa", $contigs_outfile); +mv_outfile("$outdir/abyss-3.sam", $sam_outfile); +mv_outfile("$outdir/coverage.hist", $hist_outfile); +exit; + +sub run { + my $cmd=shift; + my $output=`$cmd 2>&1`; + if ($? != 0) { + print STDERR "ERROR RUNNING COMMAND: $cmd\n"; + die($output); + } + return $output; +} + + +sub mv_outfile { + my ($src,$dest)=@_; + # if dest defined and src exist, then move outfiles to galaxy-specified location + if ( $dest ne 'None' and -f $src ) { + unlink($dest); + move($src,$dest); + } +} +__END__ diff -r 9975f2d010a5 -r c8a188ea46d5 abyss.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/abyss.xml Wed Apr 29 12:07:23 2015 -0400 @@ -0,0 +1,34 @@ + + Assemble short unpaired reads + + macros.xml + + + + + + + + + + + + + + + + + +**What it does** + +ABySS is a de novo sequence assembler that is designed for short reads. + +.. image:: http://www.bcgsc.ca/platform/bioinfo/software/abyss/screenshot + +**Reference** + +http://www.bcgsc.ca/platform/bioinfo/software/abyss + + diff -r 9975f2d010a5 -r c8a188ea46d5 macros.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/macros.xml Wed Apr 29 12:07:23 2015 -0400 @@ -0,0 +1,18 @@ + + + + abyss + + + ABYSS --version | head -n 1 + + + + + + + + + + +