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
| Component | Minimum | Notes |
|---|---|---|
| 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.
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.
| Location | What it holds | How to access |
|---|---|---|
Raredon Lab serversmb://storage.yale.edu/home/ |
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
- Navigate to the Yale Center for Research Computing account request portal.
- Submit a new account request, listing Raredon as your PI.
- The PI will receive an approval request and confirm it. Account provisioning typically takes 1–2 business days.
- Once your account is active, test access via SSH:
ssh netid@mccleary.hpc.yale.edu, or log in via Open OnDemand in a browser.
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
-
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.
# 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.
srun --pty --mem=128G --cpus-per-task=4 bash
#!/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:
- Request collaborator access on the RaredonLab GitHub organization through the PI or a senior lab member.
- Once added, fork and clone the relevant repositories following the workflow in Document 03.
- Install the package locally from your clone using
devtools::install_local(), or install directly from GitHub usingdevtools::install_github()once you have access.
# 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.
# 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.
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
~/.Rprofile