comparison roche454/runAssembly_cDNA_wrapper.pl @ 0:f036c7107601

Migrated tool version 1.0.0 from old tool shed archive to new tool shed repository
author edward-kirton
date Tue, 07 Jun 2011 17:50:32 -0400
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:f036c7107601
1 #!/usr/bin/env perl
2
3 use warnings;
4 use strict;
5 use File::Copy;
6
7 # EXPECT 23 FILE HANDLES, SOME OF WHICH MAY BE 'None'
8 my $outdir=shift @ARGV;
9 my $newbler_metrics=shift @ARGV;
10 my $read_status=shift @ARGV;
11 my $trimmed_reads_fasta=shift @ARGV;
12 my $trimmed_reads_qual=shift @ARGV;
13 my $alignment_info=shift @ARGV;
14 my $all_contigs_fasta=shift @ARGV;
15 my $all_contigs_qual=shift @ARGV;
16 my $contigs_ace=shift @ARGV;
17 my $contigs_consed_ace=shift @ARGV;
18 my $contig_graph=shift @ARGV;
19 my $pair_align=shift @ARGV;
20 my $pair_status=shift @ARGV;
21 my $scaffolds_fasta=shift @ARGV;
22 my $scaffolds_qual=shift @ARGV;
23 my $scaffolds_agp=shift @ARGV;
24 my $tag_pair_align=shift @ARGV;
25 my $trim_status=shift @ARGV;
26 my $isotigs_ace=shift @ARGV;
27 my $isotigs_fasta=shift @ARGV;
28 my $isotigs_qual=shift @ARGV;
29 my $isotigs_agp=shift @ARGV;
30 my $isotigs_layout=shift @ARGV;
31
32 # REMOVE PARAMETERS FOR OPTIONAL FILES WHICH WERE NOT PROVIDED
33
34 my @cmd=removeUnusedOptions(@ARGV);
35
36 # RUN COMMAND
37 # NOTE: FIRST ARG EXPECTED TO BE EXECUTABLE
38 my $stderr;
39 eval { $stderr=`@cmd 2>&1`; };
40 if ( $@ ) {
41 print STDERR "Newbler ERROR: $stderr\n";
42 `cat $outdir/assembly/454NewblerProgress.txt 1>&2`;
43 die($@);
44 }
45
46 get_outfile("$outdir/454NewblerMetrics.txt", $newbler_metrics);
47 get_outfile("$outdir/454ReadStatus.txt", $read_status);
48 get_outfile("$outdir/454TrimmedReads.fna", $trimmed_reads_fasta);
49 get_outfile("$outdir/454TrimmedReads.qual", $trimmed_reads_qual);
50 get_outfile("$outdir/454AlignmentInfo.tsv", $alignment_info);
51 get_outfile("$outdir/454AllContigs.fna", $all_contigs_fasta);
52 get_outfile("$outdir/454AllContigs.qual", $all_contigs_qual);
53 get_outfile("$outdir/454Contigs.ace", $contigs_ace);
54 get_outfile("$outdir/consed/edit_dir/454Contigs.ace.1", $contigs_consed_ace);
55 get_outfile("$outdir/454ContigGraph.txt", $contig_graph);
56 get_outfile("$outdir/454PairAlign.txt", $pair_align);
57 get_outfile("$outdir/454PairStatus.txt", $pair_status);
58 get_outfile("$outdir/454Scaffolds.fna", $scaffolds_fasta);
59 get_outfile("$outdir/454Scaffolds.qual", $scaffolds_qual);
60 get_outfile("$outdir/454Scaffolds.txt", $scaffolds_agp);
61 get_outfile("$outdir/454TagPairAlign.txt", $tag_pair_align);
62 get_outfile("$outdir/454TrimStatus.txt", $trim_status);
63 get_outfile("$outdir/454Isotigs.ace", $isotigs_ace);
64 get_outfile("$outdir/454Isotigs.fna", $isotigs_fasta);
65 get_outfile("$outdir/454Isotigs.qual", $isotigs_qual);
66 get_outfile("$outdir/454Isotigs.txt", $isotigs_agp);
67 get_outfile("$outdir/454IsotigsLayout.txt", $isotigs_layout);
68 exit;
69
70 # EVERY 'None' ARG AND IT'S PRECEEDING OPTION TAG ARE DISCARDED
71 sub removeUnusedOptions {
72 my @cmd=();
73 my $prev;
74 foreach (@_) {
75 unless ($_ eq 'None') {
76 push @cmd, $prev if defined($prev);
77 $prev=$_;
78 } else {
79 $prev=undef;
80 }
81 }
82 push @cmd, $prev if defined($prev);
83 return @cmd;
84 }
85
86 sub get_outfile {
87 my ($src, $dest)=@_;
88 # make sure dest defined and src exist; skip if dest is 'None'
89 if ( $dest and $dest ne 'None' and $src and -f $src ) {
90 move($src,$dest);
91 }
92 }
93
94 __END__