#!/bin/bash

#SBATCH --nodes=1
#SBATCH --ntasks-per-node=32
#SBATCH --mem=32GB
#SBATCH --time=24:00:00
#SBATCH --output=slurm-Bowtie2-%j.log


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 
}


datadir=/scratch/hb-molgen/NGSdata/20250303_022



# MM0213; 
genome=/scratch/p127804/PROJECTS/Douwe/genomes/Bifidobacterium_longum_subsp_longum_NCIMB8809_ASM144625v1_genomic
#bowtie2-build $genome.fna $genome
resultsdir=/scratch/p127804/PROJECTS/Douwe/Bifidobacterium_202503_022/results
mkdir -p $resultsdir

my_bowtie_SE DS020_09 DS020_09_S27_L001_R1_001.fastq.gz
my_bowtie_SE DS020_10 DS020_10_S28_L001_R1_001.fastq.gz

#my_bowtie_SE DS020_01 DS020_01_S13_L001_R1_001.fastq.gz
#my_bowtie_SE DS020_02 DS020_02_S14_L001_R1_001.fastq.gz
#my_bowtie_SE DS020_03 DS020_03_S15_L001_R1_001.fastq.gz
#my_bowtie_SE DS020_04 DS020_04_S16_L001_R1_001.fastq.gz
#my_bowtie_SE DS020_05 DS020_05_S17_L001_R1_001.fastq.gz
#my_bowtie_SE DS020_06 DS020_06_S18_L001_R1_001.fastq.gz
#my_bowtie_SE DS020_07 DS020_07_S19_L001_R1_001.fastq.gz
#my_bowtie_SE DS020_08 DS020_08_S20_L001_R1_001.fastq.gz
#my_bowtie_SE DS022_01 DS022_01_S1_L001_R1_001.fastq.gz
#my_bowtie_SE DS022_02 DS022_02_S2_L001_R1_001.fastq.gz
#my_bowtie_SE DS022_03 DS022_03_S3_L001_R1_001.fastq.gz
#my_bowtie_SE DS022_04 DS022_04_S4_L001_R1_001.fastq.gz
#my_bowtie_SE DS022_05 DS022_05_S5_L001_R1_001.fastq.gz
#my_bowtie_SE DS022_06 DS022_06_S6_L001_R1_001.fastq.gz
#my_bowtie_SE DS022_07 DS022_07_S7_L001_R1_001.fastq.gz
#my_bowtie_SE DS022_08 DS022_08_S8_L001_R1_001.fastq.gz
#my_bowtie_SE DS022_09 DS022_09_S9_L001_R1_001.fastq.gz
#my_bowtie_SE DS022_10 DS022_10_S10_L001_R1_001.fastq.gz
#my_bowtie_SE DS022_11 DS022_11_S11_L001_R1_001.fastq.gz
#my_bowtie_SE DS022_12 DS022_12_S12_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
# 


