annotate paired_fastq_filtering_wrapper.sh @ 21:f4ed6a65a2ff draft

Uploaded
author petr-novak
date Thu, 27 Jul 2023 09:46:13 +0000
parents a4cd8608ef6b
children 628b235d76c7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
1 #!/bin/bash
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
2 set -euo pipefail
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
3 IFS=$'\n\t'
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
4
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
5 # run filtering
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
6 WD="`dirname $0`"
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
7 ORIDIR=$PWD
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
8 cd $WD
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
9 WD=$PWD # absolute path to this script
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
10 cd $ORIDIR
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
11 SAMPLING=""
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
12 TRIM_END=""
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
13 TRIM_START=""
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
14 PERCENT_ABOVE="95"
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
15 CUTADAPT=""
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
16 RENAME=""
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
17 FILTER_SEQ=""
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
18 while getopts "a:b:o:n:c:p:e:s:N:C:G:F:R" OPTION
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
19 do
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
20 case $OPTION in
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
21 a)
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
22 FASTAA=$OPTARG;;
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
23 b)
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
24 FASTAB=$OPTARG;;
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
25 o)
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
26 PAIRED_OUTPUT=$OPTARG;;
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
27 n)
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
28 SAMPLING=( -n ${OPTARG} );;
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
29 c)
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
30 CUT_OFF=$OPTARG;;
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
31 p)
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
32 PERCENT_ABOVE=$OPTARG;;
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
33 e)
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
34 TRIM_END=( -e ${OPTARG} );;
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
35 s)
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
36 TRIM_START=( -s ${OPTARG} );;
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
37 N)
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
38 MAX_N=${OPTARG};;
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
39 C)
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
40 CUTADAPT=(-C " "${OPTARG}" " );;
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
41 G)
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
42 PNG_OUTPUT=${OPTARG};;
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
43 R)
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
44 RENAME="-R";;
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
45 F)
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
46 FILTER_SEQ=( -F ${OPTARG} );;
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
47
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
48 esac
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
49 done
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
50 fasta_tmp_fileX=$(mktemp)
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
51 fasta_tmp_fileY=$(mktemp)
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
52
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
53 if [ -z "$CUTADAPT" ] # test if$CUTADAPT is empty
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
54 then
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
55 ${WD}/paired_fastq_filtering.R -a $FASTAA -b $FASTAB -x $fasta_tmp_fileX -y $fasta_tmp_fileY ${SAMPLING[@]} -c $CUT_OFF -G $PNG_OUTPUT\
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
56 -p $PERCENT_ABOVE ${TRIM_START[@]} ${TRIM_END[@]} -N $MAX_N $RENAME ${FILTER_SEQ[@]}
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
57 else
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
58 ${WD}/paired_fastq_filtering.R -a $FASTAA -b $FASTAB -x $fasta_tmp_fileX -y $fasta_tmp_fileY ${SAMPLING[@]} -c $CUT_OFF -G $PNG_OUTPUT\
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
59 -p $PERCENT_ABOVE ${TRIM_START[@]} ${TRIM_END[@]} -N $MAX_N "${CUTADAPT[@]}" $RENAME ${FILTER_SEQ[@]}
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
60 fi
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
61
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
62 ${WD}/fasta_interlacer.py -a $fasta_tmp_fileX -b $fasta_tmp_fileY -p $PAIRED_OUTPUT -x fasta_tmp_single
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
63
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
64
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
65 rm $fasta_tmp_fileX
a4cd8608ef6b Uploaded
petr-novak
parents:
diff changeset
66 rm $fasta_tmp_fileY