#!/bin/bash

# https://hpc.nih.gov/apps/sortmeRNA.html

# =============================================================================================================================================================
# ==                                                          SLURM parameters                                                                               ==
# =============================================================================================================================================================

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

# NOTE: use approx 10GB mem per 1G reads

# =============================================================================================================================================================
# ==                                                          Load modules                                                                               ==
# =============================================================================================================================================================

cpu=24


export PATH=/scratch/hb-molgen/software/sortmerna/sortmerna-4.3.6-Linux/bin:$PATH

# Choose reference DB
#REF_PATH=/scratch/hb-molgen/software/sortmerna/smr_v4.3_default_db.fasta
REF_PATH=/scratch/hb-molgen/software/sortmerna/smr_v4.3_fast_db.fasta

# =============================================================================================================================================================
# ==                                                          Functions                                                                               ==
# =============================================================================================================================================================


function my_sortmerna {
	name=$1
	fq1=$2
	fq2=$3
	my_mkdir $TMPDIR/$name
	sortmerna --workdir $TMPDIR/$name --threads $cpu --ref $REF_PATH --reads $datadir/$fq1 --reads $datadir/$fq2 -fastx true -other $resultsdir/$name --paired_out true  --out2 true
}


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


# =============================================================================================================================================================
# ==                                                          Main script                                                                               ==
# =============================================================================================================================================================


datadir=/scratch/p127804/PROJECTS/PrimBio/20240113/fastq       # the raw data
resultsdir=/scratch/p127804/PROJECTS/PrimBio/20240113/sortmerna

my_mkdir $resultsdir

# my_sortmerna Bd01 Bd1_6321_S84_R1_001.fastq.gz      Bd1_6321_S84_R2_001.fastq.gz
# 
# my_sortmerna Cm01 Cm1_6282_S45_R1_001.fastq.gz      Cm1_6282_S45_R2_001.fastq.gz
# my_sortmerna Cm02 Cm2_6283_S46_R1_001.fastq.gz      Cm2_6283_S46_R2_001.fastq.gz
# my_sortmerna Cm03 Cm3_6284_S47_R1_001.fastq.gz      Cm3_6284_S47_R2_001.fastq.gz
# my_sortmerna Cm04 Cm4_6285_S48_R1_001.fastq.gz      Cm4_6285_S48_R2_001.fastq.gz
# my_sortmerna Cm05 Cm5_6286_S49_R1_001.fastq.gz      Cm5_6286_S49_R2_001.fastq.gz 
# my_sortmerna Cm06 Cm6_6287_S50_R1_001.fastq.gz      Cm6_6287_S50_R2_001.fastq.gz
# my_sortmerna Cm07 Cm7_6288_S51_R1_001.fastq.gz      Cm7_6288_S51_R2_001.fastq.gz
# my_sortmerna Cm08 Cm8_6289_S52_R1_001.fastq.gz      Cm8_6289_S52_R2_001.fastq.gz
# my_sortmerna Cm09 Cm9_6290_S53_R1_001.fastq.gz      Cm9_6290_S53_R2_001.fastq.gz
# my_sortmerna Cm10 Cm10_6291_S54_R1_001.fastq.gz     Cm10_6291_S54_R2_001.fastq.gz
# my_sortmerna Cm11 Cm11_6292_S55_R1_001.fastq.gz     Cm11_6292_S55_R2_001.fastq.gz
# my_sortmerna Cm12 Cm12_6293_S56_R1_001.fastq.gz     Cm12_6293_S56_R2_001.fastq.gz
# my_sortmerna Cm13 Cm13_6294_S57_R1_001.fastq.gz     Cm13_6294_S57_R2_001.fastq.gz
# my_sortmerna Cm14 Cm14_6295_S58_R1_001.fastq.gz     Cm14_6295_S58_R2_001.fastq.gz
# my_sortmerna Cm15 Cm15_6296_S59_R1_001.fastq.gz     Cm15_6296_S59_R2_001.fastq.gz
# my_sortmerna Cm16 Cm16_6297_S60_R1_001.fastq.gz     Cm16_6297_S60_R2_001.fastq.gz
# my_sortmerna Cm17 Cm17_6298_S61_R1_001.fastq.gz     Cm17_6298_S61_R2_001.fastq.gz
# my_sortmerna Cm18 Cm18_6299_S62_R1_001.fastq.gz     Cm18_6299_S62_R2_001.fastq.gz
# my_sortmerna Cm19 Cm19_6300_S63_R1_001.fastq.gz     Cm19_6300_S63_R2_001.fastq.gz
# my_sortmerna Cm20 Cm20_6301_S64_R1_001.fastq.gz     Cm20_6301_S64_R2_001.fastq.gz
# my_sortmerna Cm21 Cm21_6302_S65_R1_001.fastq.gz     Cm21_6302_S65_R2_001.fastq.gz
# my_sortmerna Cm22 Cm22_6303_S66_R1_001.fastq.gz     Cm22_6303_S66_R2_001.fastq.gz
# my_sortmerna Cm23 Cm23_6304_S67_R1_001.fastq.gz     Cm23_6304_S67_R2_001.fastq.gz
# 
# my_sortmerna Dg01 Dg1_6278_S41_R1_001.fastq.gz      Dg1_6278_S41_R2_001.fastq.gz
# my_sortmerna Dg02 Dg2_6279_S42_R1_001.fastq.gz      Dg2_6279_S42_R2_001.fastq.gz
# my_sortmerna Dg03 Dg3_6280_S43_R1_001.fastq.gz      Dg3_6280_S43_R2_001.fastq.gz
# my_sortmerna Dg04 Dg4_6281_S44_R1_001.fastq.gz      Dg4_6281_S44_R2_001.fastq.gz
# 
# my_sortmerna Fx01 Fx1_6316_S79_R1_001.fastq.gz      Fx1_6316_S79_R2_001.fastq.gz
# my_sortmerna Fx02 Fx2_6317_S80_R1_001.fastq.gz      Fx2_6317_S80_R2_001.fastq.gz
# 
# my_sortmerna Po01 Po1_6305_S68_R1_001.fastq.gz      Po1_6305_S68_R2_001.fastq.gz
# my_sortmerna Po02 Po2_6306_S69_R1_001.fastq.gz      Po2_6306_S69_R2_001.fastq.gz
# my_sortmerna Po03 Po3_6307_S70_R1_001.fastq.gz      Po3_6307_S70_R2_001.fastq.gz
# my_sortmerna Po04 Po4_6308_S71_R1_001.fastq.gz      Po4_6308_S71_R2_001.fastq.gz
# my_sortmerna Po05 Po5_6309_S72_R1_001.fastq.gz      Po5_6309_S72_R2_001.fastq.gz
# my_sortmerna Po06 Po6_6310_S73_R1_001.fastq.gz      Po6_6310_S73_R2_001.fastq.gz
# my_sortmerna Po07 Po7_6311_S74_R1_001.fastq.gz      Po7_6311_S74_R2_001.fastq.gz
# my_sortmerna Po08 Po8_6312_S75_R1_001.fastq.gz      Po8_6312_S75_R2_001.fastq.gz
# my_sortmerna Po09 Po9_6313_S76_R1_001.fastq.gz      Po9_6313_S76_R2_001.fastq.gz
# my_sortmerna Po10 Po10_6314_S77_R1_001.fastq.gz     Po10_6314_S77_R2_001.fastq.gz
# my_sortmerna Po11 Po11_6315_S78_R1_001.fastq.gz     Po11_6315_S78_R2_001.fastq.gz
# 
# my_sortmerna Ra01 Ra1_6238_S1_R1_001.fastq.gz       Ra1_6238_S1_R2_001.fastq.gz
# my_sortmerna Ra02 Ra2_6239_S2_R1_001.fastq.gz       Ra2_6239_S2_R2_001.fastq.gz
# my_sortmerna Ra03 Ra3_6240_S3_R1_001.fastq.gz       Ra3_6240_S3_R2_001.fastq.gz
# my_sortmerna Ra04 Ra4_6241_S4_R1_001.fastq.gz       Ra4_6241_S4_R2_001.fastq.gz
# my_sortmerna Ra05 Ra5_6242_S5_R1_001.fastq.gz       Ra5_6242_S5_R2_001.fastq.gz
# my_sortmerna Ra06 Ra6_6243_S6_R1_001.fastq.gz       Ra6_6243_S6_R2_001.fastq.gz
# my_sortmerna Ra07 Ra7_6244_S7_R1_001.fastq.gz       Ra7_6244_S7_R2_001.fastq.gz
# my_sortmerna Ra08 Ra8_6245_S8_R1_001.fastq.gz       Ra8_6245_S8_R2_001.fastq.gz
# my_sortmerna Ra09 Ra9_6246_S9_R1_001.fastq.gz       Ra9_6246_S9_R2_001.fastq.gz
# my_sortmerna Ra10 Ra10_6247_S10_R1_001.fastq.gz     Ra10_6247_S10_R2_001.fastq.gz
# my_sortmerna Ra11 Ra11_6248_S11_R1_001.fastq.gz     Ra11_6248_S11_R2_001.fastq.gz
# my_sortmerna Ra12 Ra12_6249_S12_R1_001.fastq.gz     Ra12_6249_S12_R2_001.fastq.gz
# my_sortmerna Ra13 Ra13_6250_S13_R1_001.fastq.gz     Ra13_6250_S13_R2_001.fastq.gz
# my_sortmerna Ra14 Ra14_6251_S14_R1_001.fastq.gz     Ra14_6251_S14_R2_001.fastq.gz
# my_sortmerna Ra15 Ra15_6252_S15_R1_001.fastq.gz     Ra15_6252_S15_R2_001.fastq.gz
# my_sortmerna Ra16 Ra16_6253_S16_R1_001.fastq.gz     Ra16_6253_S16_R2_001.fastq.gz
# my_sortmerna Ra17 Ra17_6254_S17_R1_001.fastq.gz     Ra17_6254_S17_R2_001.fastq.gz
# my_sortmerna Ra18 Ra18_6255_S18_R1_001.fastq.gz     Ra18_6255_S18_R2_001.fastq.gz
# my_sortmerna Ra19 Ra19_6256_S19_R1_001.fastq.gz     Ra19_6256_S19_R2_001.fastq.gz
# my_sortmerna Ra20 Ra20_6257_S20_R1_001.fastq.gz     Ra20_6257_S20_R2_001.fastq.gz
# my_sortmerna Ra21 Ra21_6258_S21_R1_001.fastq.gz     Ra21_6258_S21_R2_001.fastq.gz
# my_sortmerna Ra22 Ra22_6259_S22_R1_001.fastq.gz     Ra22_6259_S22_R2_001.fastq.gz
# my_sortmerna Ra23 Ra23_6260_S23_R1_001.fastq.gz     Ra23_6260_S23_R2_001.fastq.gz
# my_sortmerna Ra24 Ra24_6261_S24_R1_001.fastq.gz     Ra24_6261_S24_R2_001.fastq.gz
# my_sortmerna Ra25 Ra25_6262_S25_R1_001.fastq.gz     Ra25_6262_S25_R2_001.fastq.gz
# my_sortmerna Ra26 Ra26_6263_S26_R1_001.fastq.gz     Ra26_6263_S26_R2_001.fastq.gz
# my_sortmerna Ra27 Ra27_6264_S27_R1_001.fastq.gz     Ra27_6264_S27_R2_001.fastq.gz
# my_sortmerna Ra28 Ra28_6265_S28_R1_001.fastq.gz     Ra28_6265_S28_R2_001.fastq.gz
# my_sortmerna Ra29 Ra29_6266_S29_R1_001.fastq.gz     Ra29_6266_S29_R2_001.fastq.gz
# my_sortmerna Ra30 Ra30_6267_S30_R1_001.fastq.gz     Ra30_6267_S30_R2_001.fastq.gz
# my_sortmerna Ra31 Ra31_6268_S31_R1_001.fastq.gz     Ra31_6268_S31_R2_001.fastq.gz
# my_sortmerna Ra32 Ra32_6269_S32_R1_001.fastq.gz     Ra32_6269_S32_R2_001.fastq.gz
# my_sortmerna Ra33 Ra33_6270_S33_R1_001.fastq.gz     Ra33_6270_S33_R2_001.fastq.gz
# my_sortmerna Ra34 Ra34_6271_S34_R1_001.fastq.gz     Ra34_6271_S34_R2_001.fastq.gz
# my_sortmerna Ra35 Ra35_6272_S35_R1_001.fastq.gz     Ra35_6272_S35_R2_001.fastq.gz
# my_sortmerna Ra36 Ra36_6273_S36_R1_001.fastq.gz     Ra36_6273_S36_R2_001.fastq.gz
# my_sortmerna Ra37 Ra37_6274_S37_R1_001.fastq.gz     Ra37_6274_S37_R2_001.fastq.gz
# my_sortmerna Ra38 Ra38_6275_S38_R1_001.fastq.gz     Ra38_6275_S38_R2_001.fastq.gz
# my_sortmerna Ra39 Ra39_6276_S39_R1_001.fastq.gz     Ra39_6276_S39_R2_001.fastq.gz
# my_sortmerna Ra40 Ra40_6277_S40_R1_001.fastq.gz     Ra40_6277_S40_R2_001.fastq.gz
# 
# my_sortmerna Sk01 Sk1_6318_S81_R1_001.fastq.gz      Sk1_6318_S81_R2_001.fastq.gz
# my_sortmerna Sk02 Sk2_6319_S82_R1_001.fastq.gz      Sk2_6319_S82_R2_001.fastq.gz
# my_sortmerna Sk03 Sk3_6320_S83_R1_001.fastq.gz      Sk3_6320_S83_R2_001.fastq.gz
# 
# my_sortmerna Wc01 Wc1_6322_S85_R1_001.fastq.gz      Wc1_6322_S85_R2_001.fastq.gz
# my_sortmerna Wc02 Wc2_6323_S86_R1_001.fastq.gz      Wc2_6323_S86_R2_001.fastq.gz
# my_sortmerna Wc03 Wc3_6324_S87_R1_001.fastq.gz      Wc3_6324_S87_R2_001.fastq.gz
# my_sortmerna Wc04 Wc4_6325_S88_R1_001.fastq.gz      Wc4_6325_S88_R2_001.fastq.gz
# my_sortmerna Wc05 Wc5_6326_S89_R1_001.fastq.gz      Wc5_6326_S89_R2_001.fastq.gz
# my_sortmerna Wc06 Wc6_6327_S90_R1_001.fastq.gz      Wc6_6327_S90_R2_001.fastq.gz
  
