#!/bin/bash

#SBATCH --nodes=1
#SBATCH --ntasks-per-node=32
#SBATCH --mem=32GB
#SBATCH --time=24:00:00

module load Bowtie2/2.4.5-GCC-11.3.0
module load SAMtools/1.17-GCC-12.2.0
module load Biopython/1.81-foss-2022b

# Global parameters needed for this script
# setting global parameters
cpu=$SLURM_JOB_CPUS_PER_NODE
SOFTWAREDIR=/scratch/public/genomes/AnneTools




# =============================================================================================================================================================
# ==                                                          Functions                                                                                      ==
# =============================================================================================================================================================
function my_bowtie_SE {  # Map the reads (from the fastq file) to the reference genome ( .fna ) this will generate a SAM file (Sequence Alignment Map)
	name=$1
	forward=$2
	printf "\n\n========= Bowtie2 SE: "$name" =================================\n" >> $resultsdir/02.$name.bowtie2.log
	(bowtie2 --local -U $datadir/$forward -p $cpu -S $resultsdir/$name.sam -x $genome) 2>>$resultsdir/02.$name.bowtie2.log 
	SAM_2_BAM $name
}


function SAM_2_BAM {  # convert SAM to sorted BAM (binairy SAM) and remove unmapped reads with option -F 4
	name=$1
	printf "\n========== Convert "$name" ======================================\n"	
	samtools view -S -b -F 4 -o $resultsdir/$name.bam $resultsdir/$name.sam
	samtools sort -@ $cpu $resultsdir/$name.bam > $resultsdir/$name.sorted.bam
	samtools index $resultsdir/$name.sorted.bam
	rm $resultsdir/$name.sam  # save space by removing the SAM file 
	rm $resultsdir/$name.bam  # save space by removing the non sorted BAM file                                                                          # 3) save space by removing the SAM file 
}

function my_mkdir {
	if [ ! -d $1 ]; then
		mkdir $1 ;
	fi
}


datadir=/scratch/hb-molgen/NGSdata/20240723_018


genome=/scratch/p127804/PROJECTS/Douwe/genomes/Co-culture_NRBB57_CNCM_I-4319/co-culture
bowtie2-build $genome.fna $genome
resultsdir=/scratch/p127804/PROJECTS/Douwe/Zhe/results_Zhe
my_mkdir $resultsdir


my_bowtie_SE ZH018_01 ZH018_01_43_Lac_ZHE_1_S1_L001_R1_001.fastq.gz
my_bowtie_SE ZH018_02 ZH018_02_43_Lac_ZHE_2_S2_L001_R1_001.fastq.gz
my_bowtie_SE ZH018_03 ZH018_03_57_Lac_ZHE_1_S3_L001_R1_001.fastq.gz
my_bowtie_SE ZH018_04 ZH018_04_57_Lac_ZHE_2_S4_L001_R1_001.fastq.gz
my_bowtie_SE ZH018_05 ZH018_05_43_2FL_ZHE_1_S5_L001_R1_001.fastq.gz
my_bowtie_SE ZH018_06 ZH018_06_43_2FL_ZHE_2_S6_L001_R1_001.fastq.gz
my_bowtie_SE ZH018_07 ZH018_07_Co-culture_ZHE_1_S7_L001_R1_001.fastq.gz
my_bowtie_SE ZH018_08 ZH018_08_Co-culture_ZHE_2_S8_L001_R1_001.fastq.gz

# # Make a report summary
cat $resultsdir/02.*.bowtie2.log > $resultsdir/02.bowtie2_all.log
python3 $SOFTWAREDIR/Bowtie2LogTable.py -query $resultsdir/02.bowtie2_all.log > $resultsdir/02.bowtie2_all.log.table

 
