-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path00_runATAC.sh
More file actions
146 lines (131 loc) · 4.59 KB
/
00_runATAC.sh
File metadata and controls
146 lines (131 loc) · 4.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
#!/bin/bash
#SBATCH --partition=%partition%
#SBATCH --nodes=%nodes%
#SBATCH --cpus-per-task=20
#SBATCH --job-name=%jobname%
#SBATCH --output=%outputlog%
#SBATCH --error=%errorlog%
#SBATCH --mail-user=%mail%
#SBATCH --mail-type=FAIL
#SBATCH --time=99:00:00
#SBATCH --mem=%mem%
########################
##BULK ATAC SEQ PIPELINE
########################
templatefile="bulkATAC/scripts/templateATAC.sh"
inputdir="bulkATAQ/original_data/Nichefastq/191108_R355" #path where is the FASTQ, new samples
outputdir="bulkATAQ/original_data/Nichefastq/191108_R355" # path of output folder
#sample information
fastqid=$1 # if it is PE would be fastqid_1.fastq.gz, fastqid_2.fastq.gz, for SE fastqid.fastq.gz
organism="human" #human or mouse
if [[ ${organism} = "human" ]]; then
referencedir="bulkATAC/reference_genome/bowtie2" # indexed hg38 genome by bowtie2
blacklist="bulkATAC/hg38-blacklist.v2.bed"
fi
#library information
layout="PE" #PE=pair-end, SE=single-end
adapters="bulkATAC/adapters/adapters/NexteraPE-PE.fa" #remove adapters in trimmomatic if needed
#software
fastqc="module load fastqc/0.11.8"
trimmomatic="module load trimmomatic/0.38"
bwa="module load bwa/0.7.17"
bowtie2="module load bowtie2/2.3.5"
samtools="module load samtools/1.8"
multiqc="module load multiqc/1.9"
picard="module load picard/2.20.4"
macs2="module load macs2/2.1.1.2/anaconda2-2.5.0"
bedtools="module load bedtools/2.29.0"
bamCovarage="module load deeptools/python2.7/3.3.1"
#slurm configuration
partition="batch"
mem="100G"
nodes="1"
mail="YOUR EMAIL"
jobname=${fastqid}_bulkATAC
outputlog=${outputdir}/${fastqid}/00script/${fastqid}_bulkATAC.out
errorlog=${outputdir}/${fastqid}/00script/${fastqid}_bulkATAC.err
########
#STEPS
########
###################
#1-CHECK: template file, input dir, output dir and original fastq
###################
if [ ! -d ${inputdir} ]; then
echo "INPUT DIR: ${inputdir} NOT FOUND."
exit 0
fi
if [ ! -d ${outputdir} ]; then
echo "OUTPUT DIR: ${outputdir} NOT FOUND."
exit 0
fi
if [ -d ${outputdir}/${fastqid} ]; then
echo "OUTPUT RESULTS DIR: ${outputdir} ALREADY EXISTS."
exit 0
fi
if [ ! -f ${templatefile} ]; then
echo "TEMPLATE FILE: ${templatefile} NOT FOUND."
exit 0
fi
echo "1-PATHS CHECKED SUCCESFULLY"
#################
#2-CREATE folders
#################
mkdir ${outputdir}/${fastqid}
mkdir ${outputdir}/${fastqid}/00script
mkdir ${outputdir}/${fastqid}/01fastqc
mkdir ${outputdir}/${fastqid}/02trimmed
mkdir ${outputdir}/${fastqid}/03trimmed_fastqc
mkdir ${outputdir}/${fastqid}/04bam
mkdir ${outputdir}/${fastqid}/05PeakCalling
echo "2-FOLDERS CREATED SUCCESFULLY"
################
#3-CREATE script
################
outputresults=${outputdir}/${fastqid}
outputfastqc=${outputresults}/01fastqc/
if [[ ${layout} = "PE" ]]; then
inputfiles="${inputdir}/${fastqid}_R1_001.fastq.gz ${inputdir}/${fastqid}_R2_001.fastq.gz"
outputtrim="${outputresults}/02trimmed/${fastqid}_trim1.fastq.gz ${outputresults}/02trimmed/${fastqid}_U1.fastq.gz ${outputresults}/02trimmed/${fastqid}_trim2.fastq.gz ${outputresults}/02trimmed/${fastqid}_U2.fastq.gz"
trimmed="-1 ${outputresults}/02trimmed/${fastqid}_trim1.fastq.gz -2 ${outputresults}/02trimmed/${fastqid}_trim2.fastq.gz"
trimmedU="${outputresults}/02trimmed/${fastqid}_U1.fastq.gz ${outputresults}/02trimmed/${fastqid}_U2.fastq.gz"
layoutpeak="BAMPE"
else
inputfiles="${inputdir}/${fastqid}.fastq.gz"
outputtrim="${outputresults}/02trimmed/${fastqid}_trim.fastq.gz"
trimmed=${outputtrim}
layoutpeak="BAM"
fi
sed "s,%fastqid%,${fastqid},g
s,%partition%,${partition},g
s,%nodes%,${nodes},g
s,%jobname%,${jobname},g
s,%outputlog%,${outputlog},g
s,%errorlog%,${errorlog},g
s,%mail%,${mail},g
s,%mem%,${mem},g
s,%modulefastqc%,${fastqc},g
s,%inputfiles%,${inputfiles},g
s,%moduletrimmomatic%,${trimmomatic},g
s,%outputtrim%,${outputtrim},g
s,%layout%,${layout},g
s,%adapters%,${adapters},g
s,%trimmed%,${trimmed},g
s,%trimmedU%,${trimmedU},g
s,%modulebwa%,${bwa},g
s,%modulesamtools%,${samtools},g
s,%modulemultiqc%,${multiqc},g
s,%modulepicard%,${picard},g
s,%modulemacs2%,${macs2},g
s,%modulebowtie2%,${bowtie2},g
s,%modulebedtools%,${bedtools},g
s,%blacklist%,${blacklist},g
s,%layoutpeak%,${layoutpeak},g
s,%referencedir%,${referencedir},g
s,%modulebamCovarage%,${bamCovarage},g
s,%outputresults%,${outputresults},g" ${templatefile} > ${outputresults}/00script/${fastqid}_bulkATAC.sh
echo "3-SCRIPT CREATED SUCCESFULLY"
################
#4-EXECUTE script
################
echo "4-RUN SCRIPT"
sbatch ${outputresults}/00script/${fastqid}_bulkATAC.sh