annotate fastx_barcode_splitter_galaxy_wrapper.sh @ 3:e7b7cdc1834d draft

planemo upload for repository https://github.com/lparsons/galaxy_tools/tree/master/tools/fastx_barcode_splitter_enhanced commit a3b5b09c69f880529df96bdd5e050d712fa35cf4-dirty
author lparsons
date Fri, 11 Mar 2016 17:24:31 -0500
parents 32304398ef67
children 0fb7e9130a70
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
1 #!/bin/bash
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
2
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
3 # FASTX-toolkit - FASTA/FASTQ preprocessing tools.
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
4 # Copyright (C) 2009 A. Gordon (gordon@cshl.edu)
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
5 #
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
6 # This program is free software: you can redistribute it and/or modify
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
7 # it under the terms of the GNU Affero General Public License as
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
8 # published by the Free Software Foundation, either version 3 of the
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
9 # License, or (at your option) any later version.
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
10 #
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
11 # This program is distributed in the hope that it will be useful,
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
14 # GNU Affero General Public License for more details.
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
15 #
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
16 # You should have received a copy of the GNU Affero General Public License
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
17 # along with this program. If not, see <http://www.gnu.org/licenses/>.
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
18
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
19 # Modified by Lance Parsons (lparsons@princeton.edu)
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
20 # 2011-03-15 Adapted to allow galaxy to determine filetype
1
b7b3d008e2d3 planemo upload for repository https://github.com/lparsons/galaxy_tools/tree/master/tools/fastx_barcode_splitter_enhanced commit e6a486662201362134119c0ddc7151b8dd181ebd
lparsons
parents: 0
diff changeset
21 # 2015-10-21 Updated to make compatible with OSX (BSD sed)
2
32304398ef67 planemo upload for repository https://github.com/lparsons/galaxy_tools/tree/master/tools/fastx_barcode_splitter_enhanced commit c3b0be52079831f6ae58ff64e42d8ff54ce501e4
lparsons
parents: 1
diff changeset
22 # 2015-11-13 Removed LIBRARY_NAME, no longer needed
32304398ef67 planemo upload for repository https://github.com/lparsons/galaxy_tools/tree/master/tools/fastx_barcode_splitter_enhanced commit c3b0be52079831f6ae58ff64e42d8ff54ce501e4
lparsons
parents: 1
diff changeset
23
0
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
24 #This is a shell script wrapper for 'fastx_barcode_splitter.pl'
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
25 #
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
26 # 1. Output files are saved at the dataset's files_path directory.
1
b7b3d008e2d3 planemo upload for repository https://github.com/lparsons/galaxy_tools/tree/master/tools/fastx_barcode_splitter_enhanced commit e6a486662201362134119c0ddc7151b8dd181ebd
lparsons
parents: 0
diff changeset
27 #
0
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
28 # 2. 'fastx_barcode_splitter.pl' outputs a textual table.
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
29 # This script turns it into pretty HTML with working URL
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
30 # (so lazy users can just click on the URLs and get their files)
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
31
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
32 if [ "$1x" = "x" ]; then
2
32304398ef67 planemo upload for repository https://github.com/lparsons/galaxy_tools/tree/master/tools/fastx_barcode_splitter_enhanced commit c3b0be52079831f6ae58ff64e42d8ff54ce501e4
lparsons
parents: 1
diff changeset
33 echo "Usage: $0 [BARCODE FILE] [FASTQ FILE] [OUTPUT_PATH] [FILETYPE]" >&2
0
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
34 exit 1
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
35 fi
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
36
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
37 BARCODE_FILE="$1"
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
38 FASTQ_FILE="$2"
2
32304398ef67 planemo upload for repository https://github.com/lparsons/galaxy_tools/tree/master/tools/fastx_barcode_splitter_enhanced commit c3b0be52079831f6ae58ff64e42d8ff54ce501e4
lparsons
parents: 1
diff changeset
39 OUTPUT_PATH="$3"
32304398ef67 planemo upload for repository https://github.com/lparsons/galaxy_tools/tree/master/tools/fastx_barcode_splitter_enhanced commit c3b0be52079831f6ae58ff64e42d8ff54ce501e4
lparsons
parents: 1
diff changeset
40 FILETYPE="$4"
32304398ef67 planemo upload for repository https://github.com/lparsons/galaxy_tools/tree/master/tools/fastx_barcode_splitter_enhanced commit c3b0be52079831f6ae58ff64e42d8ff54ce501e4
lparsons
parents: 1
diff changeset
41 shift 4
0
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
42 # The rest of the parameters are passed to the split program
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
43
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
44 if [ "${OUTPUT_PATH}x" = "x" ]; then
2
32304398ef67 planemo upload for repository https://github.com/lparsons/galaxy_tools/tree/master/tools/fastx_barcode_splitter_enhanced commit c3b0be52079831f6ae58ff64e42d8ff54ce501e4
lparsons
parents: 1
diff changeset
45 echo "Usage: $0 [BARCODE FILE] [FASTQ FILE] [OUTPUT_PATH] [FILETYPE]" >&2
0
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
46 exit 1
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
47 fi
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
48
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
49 if [ ! -r "$FASTQ_FILE" ]; then
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
50 echo "Error: Input file ($FASTQ_FILE) not found!" >&2
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
51 exit 1
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
52 fi
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
53 if [ ! -r "$BARCODE_FILE" ]; then
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
54 echo "Error: barcode file ($BARCODE_FILE) not found!" >&2
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
55 exit 1
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
56 fi
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
57 mkdir -p "$OUTPUT_PATH"
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
58 if [ ! -d "$OUTPUT_PATH" ]; then
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
59 echo "Error: failed to create output path '$OUTPUT_PATH'" >&2
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
60 exit 1
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
61 fi
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
62
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
63 BASEPATH="$OUTPUT_PATH/"
2
32304398ef67 planemo upload for repository https://github.com/lparsons/galaxy_tools/tree/master/tools/fastx_barcode_splitter_enhanced commit c3b0be52079831f6ae58ff64e42d8ff54ce501e4
lparsons
parents: 1
diff changeset
64 PREFIX="$BASEPATH"
32304398ef67 planemo upload for repository https://github.com/lparsons/galaxy_tools/tree/master/tools/fastx_barcode_splitter_enhanced commit c3b0be52079831f6ae58ff64e42d8ff54ce501e4
lparsons
parents: 1
diff changeset
65 SUFFIX=".$FILETYPE"
32304398ef67 planemo upload for repository https://github.com/lparsons/galaxy_tools/tree/master/tools/fastx_barcode_splitter_enhanced commit c3b0be52079831f6ae58ff64e42d8ff54ce501e4
lparsons
parents: 1
diff changeset
66 DIRECTORY="$(cd "$(dirname "$0")" && pwd)"
0
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
67
2
32304398ef67 planemo upload for repository https://github.com/lparsons/galaxy_tools/tree/master/tools/fastx_barcode_splitter_enhanced commit c3b0be52079831f6ae58ff64e42d8ff54ce501e4
lparsons
parents: 1
diff changeset
68 RESULTS=$(gzip -cdf "$FASTQ_FILE" | "$DIRECTORY/fastx_barcode_splitter.pl" --bcfile "$BARCODE_FILE" --prefix "$PREFIX" --suffix "$SUFFIX" "$@")
0
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
69 if [ $? != 0 ]; then
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
70 echo "error"
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
71 fi
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
72
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
73 #
2
32304398ef67 planemo upload for repository https://github.com/lparsons/galaxy_tools/tree/master/tools/fastx_barcode_splitter_enhanced commit c3b0be52079831f6ae58ff64e42d8ff54ce501e4
lparsons
parents: 1
diff changeset
74 # Convert the textual tab-separated table into simple HTML table
1
b7b3d008e2d3 planemo upload for repository https://github.com/lparsons/galaxy_tools/tree/master/tools/fastx_barcode_splitter_enhanced commit e6a486662201362134119c0ddc7151b8dd181ebd
lparsons
parents: 0
diff changeset
75 echo "<html><body><table border=1>"
2
32304398ef67 planemo upload for repository https://github.com/lparsons/galaxy_tools/tree/master/tools/fastx_barcode_splitter_enhanced commit c3b0be52079831f6ae58ff64e42d8ff54ce501e4
lparsons
parents: 1
diff changeset
76 echo "$RESULTS" | sed "s|$BASEPATH\\(.*\\)|\\1|" | \
1
b7b3d008e2d3 planemo upload for repository https://github.com/lparsons/galaxy_tools/tree/master/tools/fastx_barcode_splitter_enhanced commit e6a486662201362134119c0ddc7151b8dd181ebd
lparsons
parents: 0
diff changeset
77 perl -n -e '$_ =~ s|\t|</td><td>|g; print "<tr><td>\n$_</td></tr>\n"'
0
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
78 echo "<p>"
84bbf4fd24c3 Initial toolshed version with support for separate index reads and automatic loading of results into Galaxy history.
lparsons
parents:
diff changeset
79 echo "</table></body></html>"