-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmacs2_peak_calling.sh
36 lines (28 loc) · 1.04 KB
/
macs2_peak_calling.sh
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
#!/bin/bash
set -e
if [ "$#" -ne 3 ]; then
echo "Usage: $0 <BAM_INPUT_PATH> <JOBLIST_FQ_FPATH_FNAME> <OUTPUT_FILE_PATH>"
exit 1
fi
# INPUT PATHS
BAM_INPUT_PATH=$1
JOBLIST_FQ_FPATH_FNAME=$2
# OUTPUT PATHS
MARK_DUPLICATES_OUTPUT_PATH="$3/mark_duplicate_output"
MACS2_OUTPUT_PATH="$3/macs2_peak_calling_output"
mkdir -p $MACS2_OUTPUT_PATH
# LOG_PATHS
MACS2_LOG_PATH=${MACS2_OUTPUT_PATH}/log
mkdir -p $MACS2_LOG_PATH
for LIBR_NAME in `cat ${JOBLIST_FQ_FPATH_FNAME}`
do
echo `date '+%F %H:%M:%S'` ${LIBR_NAME} Running MACS2 Peak Calling ...
mkdir -p ${MACS2_OUTPUT_PATH}/${LIBR_NAME}
cd ${MACS2_OUTPUT_PATH}/${LIBR_NAME}
COMMAND="macs2 callpeak -t ${MARK_DUPLICATES_OUTPUT_PATH}/${LIBR_NAME}_marked_duplicates.bam -n $LIBR_NAME -f BAMPE --nomodel --shift -100 --extsize 200 --keep-dup all -g hs --call-summits --d-min 20 --qvalue '0.05' --bdg" >> "${MACS2_LOG_PATH}/${LIBR_NAME}_mapping_step.log"
echo $COMMAND
eval $COMMAND
echo `date '+%F %H:%M:%S'` ${LIBR_NAME} MACS2 Peak Calling completed.
echo " "
echo " "
done