annotate bismark_wrapper.sh @ 10:35df90c1f4aa draft

Uploaded
author eugen
date Wed, 15 Aug 2012 08:26:45 -0400
parents 10e211ab5e5c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
1 #!/bin/bash
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
2 #
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
3 # Galaxy wrapper for Bismark
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
4 #
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
5
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
6 set -e
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
7
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
8 export PATH="/home/galaxy/dependencies/bismark:$PATH"
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
9 export PATH="/home/galaxy/dependencies/diverse:$PATH"
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
10
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
11 #get parameters
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
12
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
13 until [ $# -eq 0 ]
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
14 do
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
15 case $1 in
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
16 ref=*)
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
17 ref=${1#ref=}
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
18 ;;
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
19 library=*)
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
20 library=${1#library=}
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
21 ;;
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
22 fullparam=*)
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
23 fullparam=${1#fullparam=}
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
24 ;;
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
25 mate1=*)
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
26 mate1=${1#mate1=}
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
27 ;;
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
28 mate2=*)
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
29 mate2=${1#mate2=}
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
30 ;;
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
31 qual=*)
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
32 qual=${1#qual=}
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
33 ;;
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
34 seedmms=*)
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
35 seedmms="--seedmms ${1#seedmms=}"
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
36 ;;
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
37 seedlen=*)
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
38 seedlen="--seedlen ${1#seedlen=}"
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
39 ;;
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
40 maqerr=*)
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
41 maqerr="--maqerr ${1#maqerr=}"
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
42 ;;
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
43 directional=*)
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
44 directional=${1#directional=}
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
45 ;;
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
46 header=*)
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
47 header=${1#header=}
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
48 ;;
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
49 minins=*)
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
50 minins="--minins ${1#minins=}"
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
51 ;;
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
52 maxins=*)
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
53 maxins="--maxins ${1#maxins=}"
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
54 ;;
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
55 mapped=*)
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
56 mapped=${1#mapped=}
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
57 ;;
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
58 summary=*)
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
59 summary=${1#summary=}
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
60 ;;
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
61 tempdir=*)
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
62 tempdir=${1#tempdir=}
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
63 ;;
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
64 esac
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
65 shift
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
66 done
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
67
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
68
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
69 if [ "$library" == "single" ]
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
70 then
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
71 if [ "$fullparam" == 'false' ]
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
72 then
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
73 bismark --output_dir $tempdir --temp_dir $tempdir --quiet $ref $mate1 2>&1 > /dev/null
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
74 else
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
75 bismark --output_dir $tempdir --temp_dir $tempdir --quiet $qual $seedmms $seedlen $maqerr $directional $header $ref $mate1 2>&1 > /dev/null
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
76 fi
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
77 else
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
78 if [ "$fullparam" == 'false' ]
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
79 then
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
80 bismark --output_dir $tempdir --temp_dir $tempdir --quiet $ref -1 $mate1 -2 $mate2 2>&1 > /dev/null
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
81 else
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
82 bismark --output_dir $tempdir --temp_dir $tempdir --quiet $qual $seedmms $seedlen $maqerr $directional $header $minins $maxins $ref -1 $mate1 -2 $mate2 2>&1 > /dev/null
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
83 fi
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
84 fi
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
85
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
86
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
87 #call bismark. output in temp-directory (files_path)
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
88
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
89
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
90 #parse the filename of the input -> same as output
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
91 IFS="/"
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
92 set - $mate1
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
93 outfile=${*:$#:1}
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
94
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
95 #sort the mapped reads by chromosome
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
96 #sort -k 3,3 -k 4,4n "$tempdir/${outfile}_bismark_pe.sam" > "$tempdir/${outfile}_bismark_pe_sorted.sam"
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
97
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
98 #copy resultfiles back into galaxy
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
99 #cp "$tempdir/${outfile}_bismark_sorted.sam" "$mapped"
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
100 if [ "$library" == "single" ]
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
101 then
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
102 cp "$tempdir/${outfile}_bismark.sam" "$mapped"
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
103 cp "$tempdir/${outfile}_Bismark_mapping_report.txt" "$summary"
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
104 else
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
105 cp "$tempdir/${outfile}_bismark_pe.sam" "$mapped"
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
106 cp "$tempdir/${outfile}_Bismark_paired-end_mapping_report.txt" "$summary"
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
107 fi
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
108
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
109
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
110
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
111
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
112
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
113
10e211ab5e5c Uploaded
eugen
parents:
diff changeset
114