annotate bismark_wrapper.sh @ 14:120a27b53be7 draft

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