Cellbender on Biowulf

CellBender is a software package for eliminating technical artifacts from high-throughput single-cell RNA sequencing (scRNA-seq) data.

References:

Documentation
Important Notes

Interactive job
Interactive jobs should be used for debugging, graphics, or applications that cannot be run as batch jobs.

Allocate an interactive session and run the program.
Sample session (user input in bold):
Please note cellbender is compute intensive and needs sufficient memory allocation

[user@biowulf ~]$ sinteractive --gres=gpu:a100:1 --cpus-per-task=8 
salloc: Pending job allocation 13632637
salloc: job 13632637 queued and waiting for resources
salloc: job 13632637 has been allocated resources
salloc: Granted job allocation 13632637
salloc: Waiting for resource configuration
salloc: Nodes cn4308 are ready for job

[user@cn4308]$ module load cellbender
[+] Loading cellbender  0.3.1  on cn4308
[+] Loading singularity  4.0.1  on cn4308
[+] Loading python 3.10  ...

[user@cn4308]$ cellbender -h 
usage: cellbender [-h] [-v] {remove-background} ...

CellBender is a software package for eliminating technical artifacts from                                                                       
high-throughput single-cell RNA sequencing (scRNA-seq) data.

optional arguments:
  -h, --help           show this help message and exit
  -v, --version        show program's version number and exit

sub-commands:
  valid cellbender commands

  {remove-background}
    remove-background  Remove background ambient RNA and barcode-swapped reads
                       from a count matrix, producing a new count matrix and
                       determining which barcodes contain real cells.
#copy over example data                                                                                       
[user@cn4308]$  cp -a /usr/local/apps/cellbender/example-inputs . 
[user@cn4308]$  cd example-inputs 

Batch job
Most jobs should be run as batch jobs.

Please note cellbender is compute intensive and runs most efficiently on GPUs

Create a batch input file (e.g. cellbender.sh). For example:

 
#!/bin/bash

module load cellbender

cellbender remove-background \
    --cuda \
    --input tiny_raw_feature_bc_matrix.h5ad \
    --output tiny_output.h5 \
    --expected-cells 500 \
    --total-droplets-included 2000

The --cuda option is to be run when submitting to GPUs

Submit this job using the Slurm sbatch command.

sbatch -p gpu --gres=gpu:a100:1 --cpus-per-task=8 cellbender.sh