annotate flexbar_named_output.pl @ 43:ec95b7f878de draft

Uploaded
author rnateam
date Fri, 18 Dec 2015 09:40:45 -0500
parents 570a7de9f151
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
1 #!/usr/bin/env perl
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
2
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
3 # Flexbar wrapper for Galaxy tool definition, version 2.5
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
4 # Author: Johannes Roehr
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
5 # modified by Daniel Maticzka to include additional user-choosable output prefix
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
6
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
7 use warnings;
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
8 use strict;
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
9
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
10 # this parses the last 4 arguments
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
11 # what is id -> xml $output.id
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
12 # what is folder -> xml $__new_file_path__
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
13 # what is format? -> xml $reads.ext
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
14 my ($outFile, $id, $folder, $format, $output_prefix) = @ARGV[($#ARGV - 4) .. $#ARGV];
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
15
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
16 # this parses all but the last four arguments
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
17 # contains the call to the flexbar actual
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
18 my $call = join " ", @ARGV[0..($#ARGV - 5)];
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
19
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
20 # this calls flexbar and
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
21 # prefix for output files will be "FlexbarTargetFile"
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
22 system $call .' --target FlexbarTargetFile > '. $outFile and exit 1;
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
23
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
24 # now we parse all output files
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
25 foreach(<FlexbarTargetFile*>){
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
26
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
27 # determine filetype
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
28 my $fileType;
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
29
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
30 $fileType = $1 if /\.(\w+)$/;
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
31 $fileType = $format if /\.\w*fast\w$/;
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
32 $fileType = 'fasta' if /\.fasta$/;
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
33 $fileType = 'csfasta' if /\.csfasta$/;
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
34 $fileType = 'tabular' if /\.lengthdist$/;
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
35
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
36 # this is just the filename from the for loop
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
37 my $file = $_;
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
38
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
39 # replace underscores by minus in $_
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
40 s/_/-/g;
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
41
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
42 # set new name for output files
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
43 my $name = "primary_". $id ."_". $_ ."_visible_". $fileType;
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
44
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
45 # rename output file to a pattern recognized by flexbar?
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
46 rename $file, $name;
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
47 # best guess: this seems to move the file into a folder
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
48 # rename behavious is not specified by perl... or implementation differs.
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
49 rename $name, $folder;
570a7de9f151 read from bam; fix header issue
rnateam
parents:
diff changeset
50 }