#!/bin/bash

echo 'Usage: bash ChIP-seq_run.sh genome_index chr_size species input_r1.fq input_r2.fq chip_r1.fq chip_r2.fq'
echo 'genome_index: the bwa index of needed genome'
echo 'example: /home/Resource/Genome/mm10/bwa_index_mm10/mm10.fa'
echo 'chr_size: a text file contain chormasome size'
echo 'example: /home/Resource/Genome/mm10/mm10.chrom.sizes'
echo 'species: specie name for MACS2 peak calling'
echo 'example: hs, mm, ce, dm'

if [[ $# -eq 0 ]]; then
    echo 'No argument supplied'
    exit 1
fi
        
adapter_1="AGATCGGAAGAGCACACGTCTGAAC"
adapter_2="AGATCGGAAGAGCGTCGTGTAGGGA"
notrim="--no-trim"
threads=24
index=$1
# example: "/home/Resource/Genome/mm10/bwa_index_mm10/mm10.fa"
chr_size=$2
# example: '/home/Resource/Genome/mm10/mm10.chrom.sizes'
peak_genome=$3
# example: "mm"


input_file_r1=$4
input_file_r2=$5
chip_file_r1=$6
chip_file_r2=$7

echo  "processing input $input_file_r1 $input_file_r2"  "processing ChIP $chip_file_r1 $chip_file_r2"

mkdir Processed_${chip_file_r1}
ln -s `pwd`/${input_file_r1} ./Processed_${chip_file_r1}
ln -s `pwd`/${input_file_r2} ./Processed_${chip_file_r1}
ln -s `pwd`/${chip_file_r1} ./Processed_${chip_file_r1}
ln -s `pwd`/${chip_file_r2} ./Processed_${chip_file_r1}
cd Processed_${chip_file_r1}

adapter_1="AGATCGGAAGAGCACACGTCTGAAC"
adapter_2="AGATCGGAAGAGCGTCGTGTAGGGA"
notrim="--no-trim"
threads=24

### cutadapt
echo 'triming files'
cutadapt $notrim -j $threads -a $adapter_1 --quality-cutoff=15,10 -o trimed_${input_file_r1} -p trimed_${input_file_r2} $input_file_r1 $input_file_r2 > step1_cutadapt.input.trimlog
cutadapt $notrim -j $threads -a $adapter_1 --quality-cutoff=15,10 -o trimed_${chip_file_r1} -p trimed_${chip_file_r2}  $chip_file_r1 $chip_file_r2 > step1_cutadapt.chip.trimlog

### mapping
echo "aligning" $input_file_r1 $input_file_r2 $chip_file_r1 $chip_file_r2
bwa mem -t $threads $index trimed_${input_file_r1} trimed_${input_file_r2} | samtools view  -bS - | samtools sort - -O 'bam' -o step2_${input_file_r1}.bam -T temp_aln
bwa mem -t $threads $index trimed_${chip_file_r1} trimed_${chip_file_r2} | samtools view  -bS - | samtools sort - -O 'bam' -o step2_${chip_file_r1}.bam -T temp_aln

### methylQA 
methylQA density -E 0 -o step3_methylQA_${input_file_r1} $chr_size step2_${input_file_r1}.bam
methylQA density -E 0 -o step3_methylQA_${chip_file_r1} $chr_size step2_${chip_file_r1}.bam


### peak call wait
echo "processing done"

## peakcall parameters:
macs2 callpeak -t "step3_methylQA_"$chip_file_r1".extended.bed"   -c "step3_methylQA_"$input_file_r1".extended.bed"  -g $peak_genome  -n $chip_file_r1 -q 0.01 


