annotate flexbar.pl @ 56:b0d5cd8e4c6b draft

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