mina ming
11/02/2025, 4:28 PM#!/usr/bin/env bash
#SBATCH -J rnaseq_S1
#SBATCH -p high_mem
#SBATCH -c 4
#SBATCH --mem=16G
#SBATCH -t 24:00:00
#SBATCH -o slurm-S1-%j.out
#SBATCH -e slurm-S1-%j.err
set -euo pipefail
module purge
module load Java/17.0.6
# If your cluster has apptainer/singularity as a module, uncomment:
# module load apptainer
# Nextflow (self-bootstrap to scratch if missing)
export NXF_HOME=/parallel_scratch/$USER/.nxf
mkdir -p /parallel_scratch/$USER/bin "$NXF_HOME"
if ! command -v nextflow >/dev/null 2>&1; then
cd /parallel_scratch/$USER/bin
curl -fsSL <https://get.nextflow.io> -o nextflow
chmod +x nextflow
export PATH="/parallel_scratch/$USER/bin:$PATH"
fi
nextflow -version
# Fast caches on scratch
export APPTAINER_CACHEDIR=/parallel_scratch/$USER/apti-cache
export NXF_SINGULARITY_CACHEDIR="$APPTAINER_CACHEDIR"
export APPTAINER_TMPDIR=/parallel_scratch/$USER/nfcore/rnaseq_S1/tmp
export NXF_WORK=/parallel_scratch/$USER/nfcore/rnaseq_S1/work
export NXF_TEMP=/parallel_scratch/$USER/nfcore/rnaseq_S1/tmp
export TMPDIR="$NXF_TEMP"
mkdir -p "$APPTAINER_CACHEDIR" "$NXF_WORK" "$NXF_TEMP"
# IMPORTANT: do NOT recreate singlesample.csv here. Use the one in $PWD.
nextflow run nf-core/rnaseq -r 3.21.0 -profile singularity -resume \
--input "$PWD/singlesample.csv" \
--outdir /parallel_scratch/$USER/nfcore/rnaseq_S1/results \
-c "$PWD/nextflow.config" and my config profiles {
singularity {
process.executor = 'slurm'
singularity.enabled = true
singularity.autoMounts = true
// cache location comes from env (set in sbatch)
}
}
process {
// use node-local scratch and keep work dirs on fast storage
scratch = true
// default Slurm partition for most tasks
queue = 'shared'
errorStrategy = { task.attempt < 2 ? 'retry' : 'terminate' }
maxRetries = 1
// Give STAR more resources / different partition
withName: 'NFCORE_RNASEQ:ALIGN_STAR:STAR_ALIGN_IGENOMES' {
queue = 'high_mem'
cpus = 12
memory = '48 GB'
time = '24h'
}
}
executor {
// be gentle with the scheduler
submitRateLimit = '8 sec'
}
params {
// ---- I/O ----
input = "${baseDir}/singlesample.csv"
outdir = "/parallel_scratch/${System.getenv('USER')}/nfcore/rnaseq_S1/results"
// keep useful intermediates
save_trimmed = true
save_reference = true
// ---- Reference ----
genome = 'GRCh38'
// If you later rsync iGenomes locally, point here; nf-core will prefer it.
igenomes_base = "/parallel_scratch/${System.getenv('USER')}/ref/igenomes"
// ---- QC / trimming ----
// S007 = paired-name validator (flaky on some flowcells)
extra_fqlint_args = "--disable-validator S007"
// Your header shows NovaSeq (A00949), so keep NextSeq/NovaSeq trimming
extra_trimgalore_args = "--illumina --stringency 3 --length 30 --trim-n --nextseq 20"
// If you want quantification-only (skip BAM), uncomment:
// aligner = 'salmon'
} Please could you kindly give me some advice to be more efficient? Thanks a lot in advanceIgor Trujnara
11/03/2025, 8:21 AMIgor Trujnara
11/03/2025, 8:22 AMmina ming
11/04/2025, 1:52 PM$ ls scratch/nfcore/rnaseq_034_5/results/
fastqc fq_lint genome multiqc pipeline_info trimgalore
$ ls scratch/nfcore/rnaseq_034_5/results/genome/
genes.filtered.filtered.bed genes.filtered.filtered.gtf genome.fa.fai genome.fa.sizes genome.transcripts.fa rsem
$ ls scratch/nfcore/rnaseq_034_5/results/genome/rsem/
genome.chrlist genome.fa genome.grp genome.idx.fa genome.n2g.idx.fa genome.seq genome.ti genome.transcripts.fa Thanks for any thoughtIgor Trujnara
11/04/2025, 1:55 PM