annotate ALFA/alfa_wrapper.sh @ 18:a1e2ab10b317 draft

Uploaded
author charles-bernard
date Tue, 11 Oct 2016 09:18:48 -0400
parents
children 1239f24962d8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
1 #!usr/bin/bash
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
2
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
3 #########################################################################################################
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
4 # ARGUMENTS FROM alfa_wrapper.xml #
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
5 #########################################################################################################
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
6 configFile=$1;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
7 logReport=$2;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
8 sed -i -e '/^$/d; s/\t//g;' $configFile;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
9 printf "__________________________________________________________________\n\n" > $logReport
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
10 printf " ALFA CONFIG \n" >> $logReport
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
11 printf "__________________________________________________________________\n" >> $logReport
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
12 cat $configFile >> $logReport
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
13
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
14 #########################################################################################################
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
15 # INITIALIZATION OF THE VARIABLES from $configFile #
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
16 #########################################################################################################
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
17 #_INPUT1
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
18 annotationSource=`grep -P '^annotationSource ?=' $configFile | awk 'BEGIN{FS="= ?"} {print $2}'`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
19 if [ "$annotationSource" == "personal_gtf" ]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
20 annotationFile=`grep -P '^annotationFile ?=' $configFile | awk 'BEGIN{FS="= ?"} {print $2}'`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
21 elif [ "$annotationSource" == "built_in_index" ]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
22 built_in_index_prefix=`grep -P '^built_in_index_prefix ?=' $configFile | awk 'BEGIN{FS="= ?"} {print $2}'`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
23 else
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
24 strandedIndex=`grep -P '^strandedIndex ?=' $configFile | awk 'BEGIN{FS="= ?"} {print $2}'`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
25 unstrandedIndex=`grep -P '^unstrandedIndex ?=' $configFile | awk 'BEGIN{FS="= ?"} {print $2}'`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
26 fi
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
27
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
28 #_INPUT2
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
29 readsType=`grep -P '^readsType ?=' $configFile | awk 'BEGIN{FS="= ?"} {print $2}'`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
30 readsFileList=`grep -P '^readsFile\[[0-9]+\] ?=' $configFile | awk 'BEGIN{FS="= ?"} {print $2}'`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
31 readsLabelList=`grep -P '^readsLabel\[[0-9]+\] ?=' $configFile | awk 'BEGIN{FS="= ?"} {print $2}'`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
32
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
33 #_OUTPUT CHOICES
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
34 plotChoice=`grep -P '^plotChoice ?=' $configFile | awk 'BEGIN{FS="= ?"} {print $2}'`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
35 countFileChoice=`grep -P '^countFileChoice ?=' $configFile | awk 'BEGIN{FS="= ?"} {print $2}'`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
36 indexChoice=`grep -P '^indexChoice ?=' $configFile | awk 'BEGIN{FS="= ?"} {print $2}'`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
37
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
38 #_OUTPUT OPTIONS
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
39 strandness=`grep -P '^strandness ?=' $configFile | awk 'BEGIN{FS="= ?"} {print $2}'`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
40 categoriesDepth=`grep -P '^categoriesDepth ?=' $configFile | awk 'BEGIN{FS="= ?"} {print $2}'`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
41 plotFormat=`grep -P '^plotFormat ?=' $configFile | awk 'BEGIN{FS="= ?"} {print $2}'`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
42 plotThresholdChoice=`grep -P '^plotThresholdChoice ?=' $configFile | awk 'BEGIN{FS="= ?"} {print $2}'`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
43 if [ "$plotThresholdChoice" == "True" ]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
44 yMin=`grep -P '^yMin ?=' $configFile | awk 'BEGIN{FS="= ?"} {print $2}'`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
45 yMax=`grep -P '^yMax ?=' $configFile | awk 'BEGIN{FS="= ?"} {print $2}'`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
46 fi
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
47
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
48 #_OUTPUT FILES
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
49 if [ "$plotChoice" == "True" ]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
50 if [ "$plotFormat" == "pdf" ]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
51 outputPdf=`grep -P '^outputPdf ?=' $configFile | awk 'BEGIN{FS="= ?"} {print $2}'`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
52 elif [ "$plotFormat" == "svg" ]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
53 outputCategoriesSvg=`grep -P '^outputCategoriesSvg ?=' $configFile | awk 'BEGIN{FS="= ?"} {print $2}'`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
54 outputBiotypesSvg=`grep -P '^outputBiotypesSvg ?=' $configFile | awk 'BEGIN{FS="= ?"} {print $2}'`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
55 else
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
56 outputCategoriesPng=`grep -P '^outputCategoriesPng ?=' $configFile | awk 'BEGIN{FS="= ?"} {print $2}'`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
57 outputBiotypesPng=`grep -P '^outputBiotypesPng ?=' $configFile | awk 'BEGIN{FS="= ?"} {print $2}'`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
58 fi
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
59 fi
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
60 if [ "$countFileChoice" == "True" ]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
61 outputCountFile=`grep -P '^outputCountFile ?=' $configFile | awk 'BEGIN{FS="= ?"} {print $2}'`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
62 fi
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
63 if [ "$indexChoice" == "True" ]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
64 outputStrandedIndex=`grep -P '^outputStrandedIndex ?=' $configFile | awk 'BEGIN{FS="= ?"} {print $2}'`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
65 outputUnstrandedIndex=`grep -P '^outputUnstrandedIndex ?=' $configFile | awk 'BEGIN{FS="= ?"} {print $2}'`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
66 fi
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
67
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
68 #########################################################################################################
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
69 # CREATION OF A TMP DIRECTORY FOR THE OUTPUT FILES OF ALFA AND cd #
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
70 #########################################################################################################
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
71 outputDirectory=`mktemp -d /export/home1/users/biocomp/chbernar/galaxy/database/tmp/tmpXXXXXX`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
72 if [ -d $outputDirectory ]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
73 chmod -R ugo+wrx $outputDirectory;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
74 rm -R $outputDirectory;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
75 fi
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
76 mkdir $outputDirectory;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
77 chmod -R ugo+wrx $outputDirectory;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
78 cd $outputDirectory;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
79
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
80 #########################################################################################################
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
81 # TEST OF INPUT1 #
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
82 #########################################################################################################
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
83 if [ "$annotationSource" == "index" ]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
84 #need to copy the files.dat to .*index because ALFA requires the extension ".(un)stranded.index"
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
85 index="index"
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
86 cp $strandedIndex $index".stranded.index"
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
87 cp $unstrandedIndex $index".unstranded.index"
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
88 fi
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
89
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
90 #########################################################################################################
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
91 # TEST OF INPUT2 AND DETERMINATION OF PYTHON READS INPUT ARGUMENT #
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
92 #########################################################################################################
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
93 readsListLen=`echo "$readsFileList" | wc -l`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
94 readsInput="";
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
95 for (( i = 1; i <= readsListLen; i++ )) do
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
96 readsFile[$i]=`echo "$readsFileList" | awk -v i=$i 'NR==i'`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
97 readsLabel[$i]=`echo "$readsLabelList" | awk -v i=$i 'NR==i' | sed -e 's/ /_/g'`;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
98 if [ "$readsType" == "bam" ]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
99 bamSorted=`samtools view -H "${readsFile[$i]}" | grep -c 'SO:unsorted'`
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
100 if [ "$bamSorted" != "0" ] ; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
101 samtools sort ${readsFile[$i]} ${readsFile[$i]}
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
102 fi
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
103 else
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
104 #need to copy the file.dat to tmp.bedgraph because ALFA requires the extension ".bedgraph"
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
105 bedgraphFile="tmpBedgraph_"$i
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
106 cp ${readsFile[$i]} $bedgraphFile".bedgraph"
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
107 readsFile[$i]=$bedgraphFile
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
108 fi
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
109 if [ "${readsLabel[$i]}" == "" ]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
110 readsLabel[$i]="sample_""$i";
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
111 fi
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
112 readsInput=$readsInput" "${readsFile[$i]}" "${readsLabel[$i]};
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
113 done
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
114
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
115 #########################################################################################################
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
116 # DETERMINATION OF THE APPROPRIATE SCRIPTS ARGUMENTS #
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
117 #########################################################################################################
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
118 scriptPath="/export/home1/users/biocomp/chbernar/galaxy/tools/alfa/";
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
119 if [ "$annotationSource" == "index" ]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
120 scriptInput="-g $index -i ""$readsInput";
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
121 elif [ "$annotationSource" == "built_in_index" ]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
122 scriptInput="-g $built_in_index_prefix -i ""$readsInput";
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
123 else
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
124 scriptInput="-a $annotationFile -i ""$readsInput";
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
125 fi
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
126 if [ "$readsType" = "bedgraph" ]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
127 scriptInput=$scriptInput" --bedgraph";
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
128 fi
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
129 scriptStrandness="-s "$strandness
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
130 scriptCategoriesDepth="-d "$categoriesDepth
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
131 if [ "$plotChoice" == "True" ]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
132 if [ "$plotFormat" == "pdf" ]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
133 scriptPlotOutput="--pdf plotFile.pdf";
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
134 else
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
135 scriptPlotOutput="--"$plotFormat" plotFile";
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
136 fi
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
137 if [ "$plotThresholdChoice" == "True" ]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
138 scriptPlotOutput=$scriptPlotOutput" -t ""$yMin"" ""$yMax"
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
139 fi
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
140 else
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
141 scriptPlotOutput="--n";
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
142 fi
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
143
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
144 #########################################################################################################
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
145 # DISPLAY ALFA PROCESS #
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
146 #########################################################################################################
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
147 printf "__________________________________________________________________\n\n" >> $logReport
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
148 printf " ALFA PROCESS \n" >> $logReport
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
149 printf "__________________________________________________________________\n" >> $logReport
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
150
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
151 if [ "$plotChoice" == "False" ] && [ "$countFileChoice" == "False" ] && [ "$indexChoice" == "False" ]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
152 cat <<error 1>&2
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
153
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
154 No output to return.
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
155 Process Aborted
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
156 error
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
157 exit 0
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
158 fi
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
159
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
160 printf "Command:\n" >> $logReport
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
161 echo "python ""$scriptPath"ALFA.py $scriptInput $scriptStrandness $scriptCategoriesDepth $scriptPlotOutput >> $logReport;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
162 printf "\n******************************************************************\n" >> $logReport
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
163 printf "Temporary Output Directory:\n" >> $logReport
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
164 echo $outputDirectory >> $logReport
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
165 printf "\n******************************************************************\n" >> $logReport
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
166 printf "ALFA prompt:\n" >> $logReport
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
167 python "$scriptPath"ALFA.py $scriptInput $scriptStrandness $scriptCategoriesDepth $scriptPlotOutput >> $logReport 2>errorFile;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
168 printf "\n******************************************************************\n" >> $logReport
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
169
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
170 #########################################################################################################
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
171 # REDIRECTION OF ERRORS - TMP SOURCE ALFA.PY MUST BE CORRECTED SOON #
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
172 #########################################################################################################
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
173 if [[ -s errorFile ]]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
174 #When the option --n is enabled, alfa prints '### End of the program' in stderr even if the process worked-
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
175 #The following lines to avoid the tool from crashing in this case
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
176 endProgram=`grep -c '### End of program' errorFile`
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
177 if [ "$endProgram" == "0" ]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
178 #When alfa prints '### End of program' in stdout, all the messages in stderr are considered
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
179 #as warnings and not as errors. True errors make the script exits with code "2"
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
180 endProgram=`grep -c '### End of program' $logReport`
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
181 if [ "$endProgram" == "0" ]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
182 >&2 printf "The script ALFA.py encountered the following error:\n\n"
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
183 >&2 cat errorFile
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
184 printf "ALFA error:\n" >> $logReport
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
185 cat errorFile >> $logReport
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
186 printf "\n******************************************************************\n" >> $logReport
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
187 exit 2
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
188 else
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
189 >&2 printf "The script ALFA.py encountered the following warning:\n\n"
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
190 >&2 cat errorFile
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
191 printf "ALFA warning:\n" >> $logReport
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
192 cat errorFile >> $logReport
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
193 printf "\n******************************************************************\n" >> $logReport
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
194 fi
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
195 fi
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
196 fi
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
197
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
198 #########################################################################################################
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
199 # OUTPUT REDIRECTIONS #
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
200 #########################################################################################################
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
201 if [ "$plotChoice" == "True" ]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
202 if [ "$plotFormat" == "pdf" ]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
203 mv "plotFile.pdf" $outputPdf;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
204 elif [ "$plotFormat" == "png" ]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
205 mv "plotFile.categories.png" $outputCategoriesPng;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
206 mv "plotFile.biotypes.png" $outputBiotypesPng;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
207 else
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
208 mv "plotFile.categories.svg" $outputCategoriesSvg;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
209 mv "plotFile.biotypes.svg" $outputBiotypesSvg;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
210 fi
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
211 fi
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
212 if [ "$countFileChoice" == "True" ]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
213 > countFile;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
214 for (( i = 1; i <= readsListLen; i++ )) do
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
215 printf "##LABEL: "${readsLabel[$i]}"\n\n" >> countFile;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
216 cat ${readsLabel[$i]}".categories_counts" >> countFile;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
217 printf "__________________________________________________________________\n" >> countFile;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
218 done
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
219 mv countFile $outputCountFile;
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
220 fi
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
221 if [ "$indexChoice" == "True" ]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
222 if [ "$annotationSource" == "index" ]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
223 mv $strandedIndex $outputStrandedIndex
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
224 mv $unstrandedIndex $outputUnstrandedIndex
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
225 elif [ "$annotationSource" == "built_in_index" ]; then
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
226 cp $built_in_index_prefix".stranded.index" $outputStrandedIndex
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
227 cp $built_in_index_prefix".unstranded.index" $outputUnstrandedIndex
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
228 else
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
229 annotationFileName=`grep -P -o '[^/]*\.dat$' <<< $annotationFile`
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
230 mv $annotationFileName".stranded.index" $outputStrandedIndex
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
231 mv $annotationFileName".unstranded.index" $outputUnstrandedIndex
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
232 fi
a1e2ab10b317 Uploaded
charles-bernard
parents:
diff changeset
233 fi