module load)sbatch / squeueTip
Run groups after logging in to see your PIRG name — you’ll need it for every SLURM job.
Ctrl/Cmd + Shift + X → search “Remote - SSH” → Install.F1 → Remote-SSH: Add New SSH Host → enter:~/.ssh/config when prompted.F1 → Remote-SSH: Connect to Host).SSH: login.talapas.uoregon.edu — you’re in.File → Open Folder) to browse the Talapas file system in the sidebar.Note
Multi-factor authentication (Duo) is required for every connection — have your phone handy.
Ctrl/Cmd+`).SSH: login.talapas.uoregon.edu banner in the status bar confirms you’re remote.pwd, ls, cd, pipes — work here, now on the cluster.module load, srun, and sbatch are all typed in this terminal.🔑 Key concept — the integrated terminal is a remote shell
.R, .qmd, or .sbatch files on Talapas — changes are saved directly on the cluster filesystem.sbatch — the job survives you closing the laptop..qmd rendering on the cluster: quarto render my_analysis.qmd in the terminal.| Location | Path | Quota | Backed up? | Use for |
|---|---|---|---|---|
| Home | /home/<duckid>/ |
~20 GB | Yes | scripts, configs, small results |
| Projects | /projects/<PIRG>/ |
shared lab quota | Yes | shared data, final outputs |
| Scratch | /scratch/<PIRG>/<duckid>/ |
large | No (purged 90 d) | large intermediates |
| Participants | /projects/cbds/participants | shared lab quota | No - we will remove you after the workshop | Running scripts for this workshop |
Warning
Scratch purges files older than 90 days automatically and is never backed up. Keep only transient intermediates there; copy results to /projects/.
If you want to access your scripts after the workshop, either download or scp them to your local computer.
pwd, ls, cd, pipes) were covered in P1 — Computer Systems & the Command Line; the focus here is what’s different on the cluster.df -h /home/$USER and df -h /projects/<PIRG>.ls /projects/<PIRG> and ls /scratch/<PIRG>/ to see the lab space./projects/<PIRG>/participants/<your-duck-id> — copy or symlink it into your working directory.PATH.module load command sets PATH, LD_LIBRARY_PATH, etc. for one piece of software.R/4.3.2) — module load R picks whatever is default today, which may change.module purge at the top of every batch script ensures a clean, reproducible environment.Tip
Add module purge && module load R/4.3.2 to your ~/.bash_profile if you want R ready on every login — but always put explicit loads inside batch scripts too.
srun --pty bash) to prototype, debug, and explore.ssh in (login.talapas.uoregon.edu).Login nodes are the front desk. Compute nodes are where you should run jobs.
srun/salloc/sbatch) to send your work to a compute node.srun --pty bash / salloc): you sit and watch — testing, debugging, exploring data, short runs.sbatch): you start it and walk away — long runs that keep going after you log out.n0123).salloc is the close cousin — request an allocation, prompt jumps to the node.exit the moment you’re done — idle sessions hoard the node.compute / computelong — standard CPU, 1 day / 14 days.gpu / gpulong — GPU jobs.memory / memorylong — high-RAM nodes (up to 4 TB).interactive / interactivegpu — short sessions, fast to start.preempt — any node, but the owner can bump you off.sinfo to see the cluster--account=<myPIRG> — PIRG to charge (required).--partition=<name> — which queue.--time=<HH:MM:SS> — wall-clock limit; over it, SLURM kills the job.--mem=<size> / --mem-per-cpu=<size> — memory.--cpus-per-task=<N> — cores for a threaded task.--gpus=<N> + --constraint=gpu-40gb — GPUs and memory tier.sbatch script#!/bin/bash
#SBATCH --account=<myPIRG>
#SBATCH --partition=compute
#SBATCH --job-name=seurat_qc
#SBATCH --output=logs/seurat_qc_%j.out
#SBATCH --error=logs/seurat_qc_%j.err
#SBATCH --time=04:00:00
#SBATCH --cpus-per-task=8
#SBATCH --mem=64G
module purge
module load R/4.3.2
Rscript 01_qc_preprocessing.R#SBATCH lines sit at the top, before any command.%j is the job ID; module load happens inside the job.logs/ first — one time.out/.err to a logs/ subdirectory.SLURM_ACCOUNT — set it once--account= from every commandgroups after you log inPD pending, R running, CG completing.*_123456.out (stdout) and *_123456.err (stderr).tail -f lets you watch progress without opening an interactive sessionState: COMPLETED (not OUT_OF_MEMORY/TIMEOUT), move to the next.rds — always confirm before chainingseff gives a friendly summary: CPU efficiency, peak memory, wall time.MaxRSS = peak memory used; Elapsed = wall time.--mem and you get OUT_OF_MEMORY; exceed --time and you get TIMEOUT. Either way, the job dies.seff.PDPriority / Resources — normal queueing; you’re waiting your turn.QOSMaxJobsPerUserLimit — you hit a per-user cap; let earlier jobs finish.ReqNodeNotAvail, Reserved for maintenance — your --time runs into a maintenance window; shorten it or add --time-min.srun/sbatch.exit idle interactive sessions; don’t hoard nodes./scratch/<PIRG>/, not /home/ (scratch purges at 90 days).renv.lock file.renv::restore() rebuilds the exact library on any machine (laptop or Talapas).renv.lock — run renv::restore() once after cloning..sif)..sif file in your batch script.renv — useful for complex dependency stacks or sharing workflows externally.scanpy in Python alongside Seurat in R) or needs non-R tools like samtools.activate it at the top of every batch script.Ctrl/Cmd+`) is a shell on the login node — hostname confirms it. Shell skills from P1 all apply here.module load; always module purge first in batch scripts.sbatch → squeue → seff, then right-size the next run.01–08 scripts, chained through .rds hand-offs.Single Cell RNA-seq Workshop · Lecture 09 — VS Code & SLURM Basics on Talapas