CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
This is the personal academic website for Aditya Pratapa, a computational biologist and Assistant Research Professor at Duke University. The site is built using Quarto and is based on the Quarto Academic Website Template.
The repository is intended for deployment at adyprat.github.io.
About the Owner
Aditya Pratapa works at the intersection of computational biology, machine learning, and spatial biology. Key research areas include: - Multimodal spatial omics integration (SAME method) - Foundation models for biological imaging (USHER framework) - Gene regulatory network inference (BEELINE benchmark, published in Nature Methods) - Mathematical optimization for biological discovery (Fast-SL, CrossPlan)
Current position: Assistant Research Professor, Duke University (Cell Biology; Discovery AI initiative)
Education: PhD in Computer Science from Virginia Tech, MS from IIT Madras
Build Commands
# Preview site locally
quarto preview
# Render site (outputs to docs/)
quarto render
# Install Quarto extensions if needed
quarto add quarto-ext/fontawesome
quarto add schochastics/academiconsRepository Structure
_quarto.yml- Main site configuration (title, navbar, footer, theme)index.qmd- Homepage with bio, links, and recent postspublications.qmd- Publications list with citation badgesteaching.qmd- Teaching informationprojects.qmd/projects.yml- Research projectspeople.qmd/people/- Team/collaboratorsposts/- Blog posts, news, events (categorized)files/- PDFs, images, includesdocs/- Rendered output for GitHub Pages (publish from this directory)_extensions/- Quarto extensions (fontawesome, academicons)
Theme
ap-theme.scss holds the whole look (Swiss style: Inter Tight + JetBrains Mono, square corners, hairline rules, one orange accent). Colors are CSS variables on :root and body.dark; files/includes/_ap_scripts.html toggles body.dark. The homepage is raw HTML in index.qmd using the sw-* classes. Design reference: mockups/v2/c-swiss.html (gitignored).
Quarto’s css-variable scanner needs a space after the colon in declarations (color: var(--ink), --bg: #fff). Without it, renders print SCSSParsingError: Expecting punctuation.
Gallery
Originals go in imgs/gallery-src/<section>/ (gitignored, never published). Run python3 scripts/build_gallery.py, then quarto render. The script watermarks with imgs/ap_logo_only.svg (gitignored, never publish), resizes to 1600px, strips EXIF/GPS, updates gallery.yml, and regenerates gallery/<section>.qmd. Captions live in gallery.yml. Each collection is sorted newest first by its date field on every build; the script fills date from the photo EXIF, else a YYYYMM_ filename prefix, else the file modified time. Edit date to fix the order (Instagram copies have no EXIF: they are set to 2021-06-01, the earliest they could have been posted; attractor dates are the original render dates in the genart folder). Set gallery_overview: true on an entry to include it in its collection’s rotating card on the gallery page and homepage (default false; with none set, the first entry is used).
Publications
publications.qmd is generated: edit publications.bib, then run python3 scripts/build_publications.py and quarto render. Sections are one per year after 2020 plus “2020 and older”; entries with kind={abstract} fold into a collapsible group per year. Extra fields: kind (paper, preprint, conference, chapter, thesis, abstract), venue (display name), note (e.g. “Under revision”), cofirst (last names marked with *). Keep DOIs verified: Google Scholar exports have no DOIs, and several hand-entered DOIs were wrong.
Key Files to Customize
_quarto.yml: Update site title, description, navbar links, footer, Google Analytics IDindex.qmd: Replace bio, image path, social links, experience/educationpublications.bib: Add publications (the page is generated from it)files/nsf-biosketch.pdf: Replace with actual CV
Reference Materials
Owner’s research statement and CV source files are in: - other/AP_res/ - Research statement (main.tex) - other/AP_CV/ - CV source (cv.tex, all_publications_merged.tex)
Portrait image: imgs/AP_portait.jpg
Deployment
GitHub Pages should be configured to publish from the docs/ directory (not root). After running quarto render, commit the docs/ folder and push to deploy.