#!/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/20240705_017



genome=/scratch/p127804/PROJECTS/Douwe/genomes/Bifidobacterium_longum_subsp_longum_NCIMB8809_ASM144625v1_genomic
#bowtie2-build $genome.fna $genome
resultsdir=/scratch/p127804/PROJECTS/Douwe/Jennifer_202407_017/results_Bifidobacterium
my_mkdir $resultsdir
#my_bowtie_SE Blong_Lactose_1    Blong_Lactose_1_S25_L001_R1_001.fastq.gz
#my_bowtie_SE Blong_Lactose_2    Blong_Lactose_2_S26_L001_R1_001.fastq.gz
#my_bowtie_SE Blong_XOS_1        Blong_XOS_1_S29_L001_R1_001.fastq.gz
#my_bowtie_SE Blong_XOS_2        Blong_XOS_2_S30_L001_R1_001.fastq.gz
#my_bowtie_SE Blong_Xylose_1     Blong_Xylose_1_S27_L001_R1_001.fastq.gz
#my_bowtie_SE Blong_Xylose_2     Blong_Xylose_2_S28_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

 

resultsdir=/scratch/p127804/PROJECTS/Douwe/Jennifer_202407_017/results_Streptococcus
my_mkdir $resultsdir

genome=/scratch/p127804/PROJECTS/Douwe/genomes/Brie28/Brie28_ncbi
#bowtie2-build $genome.fna $genome
my_bowtie_SE Brie28_1           Brie28_1_S15_L001_R1_001.fastq.gz
my_bowtie_SE Brie28_2           Brie28_2_S16_L001_R1_001.fastq.gz
genome=/scratch/p127804/PROJECTS/Douwe/genomes/CNRZ302/CNRZ302_ncbi
#bowtie2-build $genome.fna $genome
my_bowtie_SE CNRZ302_1          CNRZ302_1_S17_L001_R1_001.fastq.gz
my_bowtie_SE CNRZ302_2          CNRZ302_2_S18_L001_R1_001.fastq.gz
genome=/scratch/p127804/PROJECTS/Douwe/genomes/Douc24/Douc24_ncbi
#bowtie2-build $genome.fna $genome
my_bowtie_SE Douc24_1           Douc24_1_S19_L001_R1_001.fastq.gz
my_bowtie_SE Douc24_2           Douc24_2_S20_L001_R1_001.fastq.gz
genome=/scratch/p127804/PROJECTS/Douwe/genomes/Moz109/Moz109_ncbi
#bowtie2-build $genome.fna $genome
my_bowtie_SE Moz109_1           Moz109_1_S21_L001_R1_001.fastq.gz
my_bowtie_SE Moz109_2           Moz109_2_S22_L001_R1_001.fastq.gz
genome=/scratch/p127804/PROJECTS/Douwe/genomes/Nect13/Nect13_ncbi
#bowtie2-build $genome.fna $genome
my_bowtie_SE Nect13_1_percent_1 Nect13_1_percent_1_S11_L001_R1_001.fastq.gz
my_bowtie_SE Nect13_1_percent_2 Nect13_1_percent_2_S12_L001_R1_001.fastq.gz
my_bowtie_SE Nect13_5_percent_1 Nect13_5_percent_1_S13_L001_R1_001.fastq.gz
my_bowtie_SE Nect13_5_percent_2 Nect13_5_percent_2_S14_L001_R1_001.fastq.gz
genome=/scratch/p127804/PROJECTS/Douwe/genomes/St50/St50_ncbi
#bowtie2-build $genome.fna $genome
my_bowtie_SE St50_1_percent_1   St50_1_percent_1_S7_L001_R1_001.fastq.gz
my_bowtie_SE St50_1_percent_2   St50_1_percent_2_S8_L001_R1_001.fastq.gz
my_bowtie_SE St50_5_percent_1   St50_5_percent_1_S9_L001_R1_001.fastq.gz
my_bowtie_SE St50_5_percent_2   St50_5_percent_2_S10_L001_R1_001.fastq.gz
genome=/scratch/p127804/PROJECTS/Douwe/genomes/STMM11/STMM11_zk
#bowtie2-build $genome.fna $genome
my_bowtie_SE STMM11_1           STMM11_1_S23_L001_R1_001.fastq.gz
my_bowtie_SE STMM11_2           STMM11_2_S24_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
# 

