@@ -18,7 +18,7 @@ helpFunction()
1818 echo
1919 echo
2020 exit 1 # Exit script after printing help
21- }s
21+ }
2222
2323while getopts " a:b:t:o:i:h:r:p:d:c:g:" opt
2424do
2727 b ) read2=" $OPTARG " ;;
2828 t ) numT=" $OPTARG " ;;
2929 o ) outputDir=" $OPTARG " ;;
30- i ) genomeFa =" $OPTARG " ;;
30+ i ) bwaIndex =" $OPTARG " ;;
3131 r ) removeFlag=" $OPTARG " ;;
3232 p ) pCutoff=" $OPTARG " ;;
3333 d ) oddsCutoff=" $OPTARG " ;;
3939done
4040
4141# Print helpFunction in case parameters are empty
42- if [ -z " $read1 " ] || [ -z " $read2 " ] || [ -z " $bwaIndex " ] || [ -z " $outputDir " ] || [ -z " $geneDic " ]
42+ if [ -z " $read1 " ] || [ -z " $read2 " ]
4343then
44- echo " Some or all of the parameters are empty" ;
44+ echo " read1 or read2 missing" ;
45+ helpFunction
46+ fi
47+
48+ if [ -z " $bwaIndex " ]
49+ then
50+ echo " bwa index file missing" ;
51+ helpFunction
52+ fi
53+
54+ if [ -z " $outputDir " ]
55+ then
56+ echo " ouput directory missing" ;
57+ helpFunction
58+ fi
59+
60+ if [ -z " $geneDic " ]
61+ then
62+ echo " transcript gene dictionary file missing" ;
4563 helpFunction
4664fi
4765
@@ -84,70 +102,67 @@ wait
84102
85103cutadapt -j $numT -a TGACCAAGACGCCAAAAACATAAAGAAAGGCCCGGCGCCATTGGTCA -a TGACCAATGGCGCCGGGCCTTTCTTTATGTTTTTGGCGTCTTGGTCA -g TTCACTGGAGGGGGGCTCACGAGTAAGGAGGATCCAACATG -g CATGTTGGATCCTCCTTACTCGTGAGCCCCCCTCCAGTGAA -O 23 $read1 > $outputDir /intermediateFiles/R1.cutadapt.fastq 2> $outputDir /intermediateFiles/R1.linkers.txt &
86104
87- cutadapt -j $numT -a TGACCAAGACGCCAAAAACATAAAGAAAGGCCCGGCGCCATTGGTCA -a TGACCAATGGCGCCGGGCCTTTCTTTATGTTTTTGGCGTCTTGGTCA -g TTCACTGGAGGGGGGCTCACGAGTAAGGAGGATCCAACATG -g CATGTTGGATCCTCCTTACTCGTGAGCCCCCCTCCAGTGAA -O 23 $read1 > $outputDir /intermediateFiles/R2.cutadapt.fastq 2> $outputDir /intermediateFiles/R2.linkers.txt &
105+ cutadapt -j $numT -a TGACCAAGACGCCAAAAACATAAAGAAAGGCCCGGCGCCATTGGTCA -a TGACCAATGGCGCCGGGCCTTTCTTTATGTTTTTGGCGTCTTGGTCA -g TTCACTGGAGGGGGGCTCACGAGTAAGGAGGATCCAACATG -g CATGTTGGATCCTCCTTACTCGTGAGCCCCCCTCCAGTGAA -O 23 $read2 > $outputDir /intermediateFiles/R2.cutadapt.fastq 2> $outputDir /intermediateFiles/R2.linkers.txt &
88106wait
89107
90108
91- python processFastq_pub.py $outputDir /intermediateFiles/R1.cutadapt.lengthFiltered.fastq $outputDir /intermediateFiles/R1.cutadapt.fastq $outputDir 2 > $outputDir /errorLog.txt &
92- python processFastq_pub.py $outputDir /intermediateFiles/R2.cutadapt.lengthFiltered.fastq $outputDir /intermediateFiles/R2.cutadapt.fastq $outputDir 2 > $outputDir /errorLog.txt &
109+ python processFastq_pub.py $outputDir /intermediateFiles/R1.cutadapt.lengthFiltered.fastq $outputDir /intermediateFiles/R1.cutadapt.fastq $outputDir yes 2> > $outputDir /errorLog.txt &
110+ python processFastq_pub.py $outputDir /intermediateFiles/R2.cutadapt.lengthFiltered.fastq $outputDir /intermediateFiles/R2.cutadapt.fastq $outputDir no 2> > $outputDir /errorLog.txt &
93111wait
94112
95- fastp -w $numT -i $outputDir /intermediateFiles/R1.cutadapt.lengthFiltered.fastq -I $outputDir /intermediateFiles/R2.cutadapt.lengthFiltered.fastq -o $outputDir /processedFastq/R1.cutadapt.fastp.fastq -O $outputDir /processedFastq/R2.cutadapt.fastp.fastq -h $outputDir /intermediateFiles/fastp.html -j $outputDir /intermediateFiles/fastp.json 2> $outputDir /errorLog.txt
113+ fastp -w $numT -i $outputDir /intermediateFiles/R1.cutadapt.lengthFiltered.fastq -I $outputDir /intermediateFiles/R2.cutadapt.lengthFiltered.fastq -o $outputDir /processedFastq/R1.cutadapt.fastp.fastq -O $outputDir /processedFastq/R2.cutadapt.fastp.fastq -h $outputDir /intermediateFiles/fastp.html -j $outputDir /intermediateFiles/fastp.json 2>> $outputDir /errorLog.txt
96114wait
97115
98- python writeNumReadPairs_pub.py $outputDir 2> $outputDir /errorLog.txt
116+ python writeNumReadPairs_pub.py $outputDir 2>> $outputDir /errorLog.txt
99117wait
100118
101119mkdir $outputDir /alignment/read1_tx
102120mkdir $outputDir /alignment/read2_tx
103- # mkdir results/${condition}
104121wait
105122
106123source=$outputDir /processedFastq
107124target=$outputDir /alignment/
108125wait
109126
110127
111- bwa mem -a -t $numT $genomeFa $source /R1.cutadapt.fastp.fastq > $target /read1_tx/alignment.sam 2> $outputDir /errorLog.txt &
112- bwa mem -a -t $numT $genomeFa $source /R2.cutadapt.fastp.fastq > $target /read2_tx/alignment.sam 2> $outputDir /errorLog.txt &
128+ bwa mem -a -t $numT $bwaIndex $source /R1.cutadapt.fastp.fastq > $target /read1_tx/alignment.sam 2> > $outputDir /errorLog.txt &
129+ bwa mem -a -t $numT $bwaIndex $source /R2.cutadapt.fastp.fastq > $target /read2_tx/alignment.sam 2> > $outputDir /errorLog.txt &
113130wait
114131
115- samtools view -H $target /read1_tx/alignment.sam > $target /read1_tx/header.sam 2> $outputDir /errorLog.txt &
116- samtools view -H $target /read2_tx/alignment.sam > $target /read2_tx/header.sam 2> $outputDir /errorLog.txt &
132+ samtools view -H $target /read1_tx/alignment.sam > $target /read1_tx/header.sam 2>> $outputDir /errorLog.txt &
133+ samtools view -H $target /read2_tx/alignment.sam > $target /read2_tx/header.sam 2>> $outputDir /errorLog.txt &
117134wait
118135
119- samtools view -F 4 $target /read1_tx/alignment.sam | cat $target /read1_tx/header.sam - | samtools view -b - > $target /read1_tx/mapped.bam 2> $outputDir /errorLog.txt &
120- samtools view -F 4 $target /read2_tx/alignment.sam | cat $target /read2_tx/header.sam - | samtools view -b - > $target /read2_tx/mapped.bam 2> $outputDir /errorLog.txt &
136+ samtools view -F 4 $target /read1_tx/alignment.sam | cat $target /read1_tx/header.sam - | samtools view -b - > $target /read1_tx/mapped.bam 2>> $outputDir /errorLog.txt &
137+ samtools view -F 4 $target /read2_tx/alignment.sam | cat $target /read2_tx/header.sam - | samtools view -b - > $target /read2_tx/mapped.bam 2>> $outputDir /errorLog.txt &
121138wait
122139
123-
124- samtools sort -n -@ $numT -o $target /read1_tx/mapped.sorted.bam $target /read1_tx/mapped.bam 2> $outputDir /errorLog.txt &
125- samtools sort -n -@ $numT -o $target /read2_tx/mapped.sorted.bam $target /read2_tx/mapped.bam 2> $outputDir /errorLog.txt &
140+ half= $(( numT / 2 ))
141+ samtools sort -n -@ $half -o $target /read1_tx/mapped.sorted.bam $target /read1_tx/mapped.bam 2> > $outputDir /errorLog.txt &
142+ samtools sort -n -@ $half -o $target /read2_tx/mapped.sorted.bam $target /read2_tx/mapped.bam 2> > $outputDir /errorLog.txt &
126143wait
127144
128- bedtools bamtobed -cigar -i $target /read1_tx/mapped.sorted.bam > $target /read1_tx/mapped.sorted.bed 2> $outputDir /errorLog.txt &
129- bedtools bamtobed -cigar -i $target /read2_tx/mapped.sorted.bam > $target /read2_tx/mapped.sorted.bed 2> $outputDir /errorLog.txt &
145+ bedtools bamtobed -cigar -i $target /read1_tx/mapped.sorted.bam > $target /read1_tx/mapped.sorted.bed 2>> $outputDir /errorLog.txt &
146+ bedtools bamtobed -cigar -i $target /read2_tx/mapped.sorted.bam > $target /read2_tx/mapped.sorted.bed 2>> $outputDir /errorLog.txt &
130147wait
131148
132- python runBedFileSplit_pub.py $target 2> $outputDir /errorLog.txt
149+ python runBedFileSplit_pub.py $target 2>> $outputDir /errorLog.txt
133150wait
134151
135152for file in $target /read1_tx/mapped.sorted.bed_chunk*
136153do
137154i=${file#* chunk}
138- python chimericIdentification_pub.py $outputDir ${i} $geneDic $outputDir /intermediateFiles/chimStats_${i} .txt 2> $outputDir /errorLog.txt
155+ python chimericIdentification_pub.py $outputDir ${i} $geneDic $outputDir /intermediateFiles/chimStats_${i} .txt 2>> $outputDir /errorLog.txt
139156done
140157wait
141158
159+ python runDeduplication_pub.py $outputDir 2>> $outputDir /errorLog.txt
142160
143161rm $target /read1_tx/mapped.sorted.bed_chunk*
144162rm $target /read2_tx/mapped.sorted.bed_chunk*
145163wait
146164
147- python runDeduplication_pub.py $outputDir 2> $outputDir /errorLog.txt
148- wait
149-
150- python callPPIs_pub.py $outputDir $pCutoff $oddsCutoff $rcCutoff 2> $outputDir /errorLog.txt
165+ python callPPIs_pub.py $outputDir $pCutoff $oddsCutoff $rcCutoff 2>> $outputDir /errorLog.txt
151166
152167
153168
0 commit comments