Document 02

Computing Environment

Hardware requirements, network access, software installation, and a setup checklist to complete in your first week.

§1 Hardware

Computational work in this lab ranges from lightweight scripting to processing single-cell datasets that require 100 GB or more of working memory. A well-configured local machine handles most day-to-day work; the HPC handles the rest. The two are complementary, and knowing which to use for a given task is part of working efficiently.

Minimum local specs

ComponentMinimumNotes
RAM 16 GB If your machine has less, most analysis work should be done on the HPC rather than locally.
Free storage 100 GB On Macs with Apple Silicon, the SSD is used as RAM swap, so additional free space directly extends effective memory for large R workflows.
Operating system Any macOS, Windows, and Linux are all supported. The software stack below works across all three.

Lab workstations

A limited number of shared lab workstations are available on a first-come, first-served basis. If a workstation is available and your personal machine does not meet the minimum specs, request access through the PI. If no workstation is available and local hardware is insufficient, HPC access is the path forward.

When to use the HPC

Move work to the HPC when a job requires more than your local machine can provide: large object manipulation, multi-sample batch processing, long-running jobs, or anything requiring more than 32 GB of working RAM. The HPC is not a fallback — for large-scale analysis, it is the right tool.

§2 Network storage and HPC access

The lab uses three distinct locations for shared data storage. Know which one holds the data you need before you start a project.

LocationWhat it holdsHow to access
Raredon Lab server
smb://storage.yale.edu/home/
RaredonLab-CC1126-MEDANE
Primary shared storage for large data objects, raw data, and processed outputs Mount via Finder (Mac) or File Explorer (Windows) on Yale network or VPN. Ask a senior lab member for mount instructions on first use.
RaredonLab SharePoint
yaleedu.sharepoint.com/sites/Raredon-Lab
Documents, protocols, lab administrative files, and shared reference materials Access via browser or add to OneDrive Desktop for local file sync (see §3, step 16).
McCleary HPC
Yale Center for Research Computing
High-memory and long-running compute jobs; large scratch storage Request an account via YCRC (see below). Connect via SSH or Open OnDemand.

Getting a McCleary account

  1. Navigate to the Yale Center for Research Computing account request portal.
  2. Submit a new account request, listing Raredon as your PI.
  3. The PI will receive an approval request and confirm it. Account provisioning typically takes 1–2 business days.
  4. Once your account is active, test access via SSH: ssh netid@mccleary.hpc.yale.edu, or log in via Open OnDemand in a browser.
Yale VPN required off-campus

The lab server and HPC are only accessible on the Yale network or through the Yale VPN. Install Cisco AnyConnect (step 15 in §3) and confirm VPN access before you need it for the first time.

§3 Software installation

Install the following in order. Some items depend on others being present first (R before your IDE, Git before GitHub Desktop). Items marked with a download link have a recommended source; for the rest, use your platform's standard installer or package manager.

  • 1
    R The core language for analysis and visualization. Install the latest stable release. cran.r-project.org
  • 2
    Python Required for some analysis tools and HPC workflows. Install the latest stable release via python.org or Anaconda.
  • 3
    RStudio or Positron IDE for R development. Positron (Posit's newer IDE) is preferred but RStudio remains fully supported — use whichever you prefer. Positron · RStudio
  • 4
    Git Version control system. Required before installing GitHub Desktop. git-scm.com. After installing, configure your identity: see Document 03 §2.
  • 5
    GitHub Desktop Graphical interface for Git. Recommended for new users; experienced users may work from the command line instead. desktop.github.com
  • 6
    Claude AI assistant for coding, writing, and troubleshooting. Create an account at claude.ai or install the desktop app. See Document 06 for how to use it in lab workflows.
  • 7
    Adobe Illustrator Vector graphics editor for figure preparation and publication-quality layouts. Available through Yale software licensing.
  • 8
    EndNote or Zotero Reference management. EndNote is available through Yale licensing; Zotero is free and open-source. Either is acceptable. Zotero
  • 9
    Microsoft Office Word, Excel, PowerPoint, Outlook. Available through Yale. Outlook is required for calendar and email; install and configure it before your first week is out.
  • 10
    Slack Primary channel for lab communication. Install the desktop app, sign in to the Raredon Lab workspace, and join all channels by default. slack.com/downloads
  • 11
    XeniumExplorer 10x Genomics tool for visualizing Xenium spatial transcriptomics data. 10xgenomics.com
  • 12
    Docker Container platform used for reproducible computational environments and some pipeline tools. docker.com
  • 13
    QuPath Open-source image analysis platform for pathology and spatial biology. qupath.github.io
  • 14
    FIJI (ImageJ) Image processing and analysis. imagej.net/software/fiji
  • 15
    Cisco AnyConnect (Yale VPN) Required for accessing the lab server and HPC from off-campus. Install and test before you need it. Available from Yale IT. software.yale.edu
  • 16
    OneDrive Desktop Install the Microsoft OneDrive desktop client, then add the RaredonLab SharePoint as a synced library. This makes SharePoint files accessible from Finder or File Explorer like a local folder. Instructions: open SharePoint in a browser → click "Sync" in the document library toolbar.

§4 R configuration for large data

Standard R installations are not configured to handle the memory demands of large single-cell or spatial datasets. Some analysis workflows in this lab require 50–100+ GB of working RAM. The configuration steps below should be applied on every machine where you run R.

Setting memory options

Add the following to your .Rprofile file (located in your home directory, or create it if it does not exist). These settings take effect every time R starts.

~/.Rprofile
# Increase default memory for large object operations
options(warn = 1)                          # surface warnings immediately
options(future.globals.maxSize = 8 * 1024^3) # 8 GB for parallel globals

# On Windows only: raise the memory limit
if (.Platform$OS.type == "windows") {
  memory.limit(size = 64000)             # 64 GB, adjust to your machine
}

Monitoring memory usage

To check how much memory an R session is currently using, install the lobstr package and call lobstr::mem_used(). To check the size of a specific object, use lobstr::obj_size(your_object). Knowing the memory footprint of your objects before running expensive operations prevents crashes mid-analysis.

On-disk representation for very large objects

For single-cell objects that exceed available RAM, the BPCells package allows count matrices to be stored on disk and accessed without loading them fully into memory. This is particularly useful for merged multi-sample datasets. Ask a senior lab member if you are unsure whether your workflow requires this.

Moving large jobs to the HPC

When a workflow genuinely exceeds local memory, move it to McCleary. Request an interactive session with sufficient memory for exploratory work, or submit a batch job for long-running pipelines.

McCleary — interactive session with 128 GB RAM
srun --pty --mem=128G --cpus-per-task=4 bash
McCleary — SLURM batch job header
#!/bin/bash
#SBATCH --job-name=my_analysis
#SBATCH --mem=128G
#SBATCH --cpus-per-task=8
#SBATCH --time=12:00:00
#SBATCH --output=logs/%j.out

Rscript scripts/01_20250301_AB_preprocessing.R

§5 R packages

Core packages

The packages listed in Document 01 §5 are the starting point. Install them from CRAN in the usual way. For packages that require compilation, ensure you have the appropriate build tools installed for your OS (Xcode Command Line Tools on Mac, Rtools on Windows).

Lab GitHub packages

Several lab packages are hosted on the RaredonLab GitHub organization, including NICHESv2, which is essential for cell-to-cell communication analysis. Some of these repositories are private. To access them:

  1. Request collaborator access on the RaredonLab GitHub organization through the PI or a senior lab member.
  2. Once added, fork and clone the relevant repositories following the workflow in Document 03.
  3. Install the package locally from your clone using devtools::install_local(), or install directly from GitHub using devtools::install_github() once you have access.
Installing a package from a local GitHub clone
# From the root directory of the cloned repository
devtools::install_local(".")

# Or directly from GitHub (requires auth for private repos)
devtools::install_github("msraredon/NICHES")

Package management with renv

For projects where reproducibility of the exact package environment matters — particularly anything destined for publication — renv is the recommended tool. It records the exact versions of all packages used in a project and allows others to restore that environment exactly.

Basic renv workflow
# Initialize renv in a project (run once, from the project root)
renv::init()

# After installing or updating packages, snapshot the state
renv::snapshot()

# To restore a recorded environment (e.g., when someone clones your repo)
renv::restore()

The renv.lock file generated by renv::snapshot() should be committed to Git. The renv/ library directory itself should be added to .gitignore — it is large and can be reconstructed from the lockfile. See the renv documentation for full details.

renv and the lab's .gitignore

The standard lab .gitignore in Document 03 does not include renv entries by default. If you initialize renv in a project, add renv/library/ and renv/staging/ to the project's .gitignore, and commit the renv.lock file.

§6 Setup checklist

Work through this checklist during your first week. Click each item to mark it complete. Review the completed checklist with the PI at your second 1:1.

Progress

0 / 27
Hardware and access
✓
Local machine meets minimum specs (16 GB RAM, 100 GB free storage) OR lab workstation assigned OR HPC access confirmed as primary workspace
✓
Yale VPN (Cisco AnyConnect) installed and tested
✓
Raredon Lab server mounted and accessible
smb://storage.yale.edu/home/RaredonLab-CC1126-MEDANE
✓
RaredonLab SharePoint access confirmed
yaleedu.sharepoint.com/sites/Raredon-Lab
✓
McCleary HPC account requested (if HPC access is needed)
research.computing.yale.edu — list Raredon as PI
Software installation
✓
R installed (latest stable)
✓
Python installed (latest stable)
✓
RStudio or Positron installed
✓
Git installed and identity configured
git config --global user.name / user.email — see Document 03 §2
✓
GitHub Desktop installed
✓
Claude account created and app or browser access confirmed
✓
Adobe Illustrator installed
✓
EndNote or Zotero installed
✓
Microsoft Office installed and Outlook configured
✓
Slack installed, signed in, and all channels joined
✓
XeniumExplorer installed
✓
Docker installed
✓
QuPath installed
✓
FIJI installed
✓
OneDrive Desktop installed and RaredonLab SharePoint synced as a local library
R configuration and packages
✓
R memory options configured in ~/.Rprofile
See §4 of this document
✓
Core R packages installed (ggplot2, dplyr, Seurat, sf, cowplot, ComplexHeatmap, and others from Document 01 §5)
✓
Added as collaborator on RaredonLab GitHub organization
✓
NICHESv2 forked, cloned, and installed successfully
Onboarding steps
✓
This manual read front to back
✓
Recurring weekly 1:1 scheduled with PI
✓
Yale Outlook calendar configured and lab meeting invites accepted
✓
Setup meeting completed with senior computational lab member
✓
This checklist reviewed with PI at second 1:1
All items complete. Review this checklist with the PI at your next 1:1.