BioSkills bio-reporting-quarto-reports
Build reproducible scientific documents, presentations, and websites with Quarto supporting R, Python, Julia, and Observable JS. Use when creating reproducible reports with Quarto.
install
source · Clone the upstream repo
git clone https://github.com/GPTomics/bioSkills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/GPTomics/bioSkills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/reporting/quarto-reports" ~/.claude/skills/gptomics-bioskills-bio-reporting-quarto-reports && rm -rf "$T"
manifest:
reporting/quarto-reports/SKILL.mdsource content
Version Compatibility
Reference examples tested with: Quarto 1.4+, DESeq2 1.42+, ggplot2 3.5+, matplotlib 3.8+, scanpy 1.10+
Before using code patterns, verify installed versions match. If versions differ:
- CLI:
then<tool> --version
to confirm flags<tool> --help
If code throws ImportError, AttributeError, or TypeError, introspect the installed package and adapt the example to match the actual API rather than retrying.
Quarto Reports
"Create a Quarto analysis report" → Write reproducible documents mixing code (Python/R), narrative, and figures that render to HTML/PDF/Word.
- CLI:
quarto render report.qmd --to html
Basic Document
--- title: "Analysis Report" author: "Your Name" date: today format: html: toc: true code-fold: true theme: cosmo ---
Python Document
--- title: "scRNA-seq Analysis" format: html jupyter: python3 --- ```{python} import scanpy as sc import matplotlib.pyplot as plt adata = sc.read_h5ad('data.h5ad') sc.pl.umap(adata, color='leiden') ```
R Document
--- title: "DE Analysis" format: html --- ```{r} library(DESeq2) dds <- DESeqDataSetFromMatrix(counts, metadata, ~ condition) dds <- DESeq(dds) ```
Multiple Formats
--- title: "Multi-format Report" format: html: toc: true pdf: documentclass: article docx: reference-doc: template.docx ---
# Render all formats quarto render report.qmd # Render specific format quarto render report.qmd --to pdf
Parameters
--- title: "Parameterized Report" params: sample: "sample1" threshold: 0.05 ---
# Render with parameters quarto render report.qmd -P sample:sample2 -P threshold:0.01
Tabsets
::: {.panel-tabset} ## PCA ```{r} plotPCA(vsd) ``` ## Heatmap ```{r} pheatmap(mat) ``` :::
Callouts
::: {.callout-note} This is an important note about the analysis. ::: ::: {.callout-warning} Check your input data format before proceeding. ::: ::: {.callout-tip} Use caching for long computations. :::
Cross-References
See @fig-volcano for the volcano plot. ```{r} #| label: fig-volcano #| fig-cap: "Volcano plot showing DE genes" ggplot(res, aes(log2FC, -log10(pvalue))) + geom_point() ``` Results are summarized in @tbl-summary. ```{r} #| label: tbl-summary #| tbl-cap: "Summary statistics" knitr::kable(summary_df) ```
Code Cell Options
```{python} #| echo: true #| warning: false #| fig-width: 10 #| fig-height: 6 #| cache: true import scanpy as sc sc.pl.umap(adata, color='leiden') ```
Inline Code
We found `{python} len(sig_genes)` significant genes. We found `{r} nrow(sig)` significant genes.
Presentations
--- title: "Analysis Results" format: revealjs --- ## Slide 1 Content here ## Slide 2 {.smaller} More content with smaller text
Quarto Projects
# _quarto.yml project: type: website output-dir: docs website: title: "Analysis Portal" navbar: left: - href: index.qmd text: Home - href: methods.qmd text: Methods - href: results.qmd text: Results
Bibliography
--- bibliography: references.bib csl: nature.csl ---
Gene expression analysis was performed using DESeq2 [@love2014]. ## References
Freeze Computations
# _quarto.yml execute: freeze: auto # Only re-run when source changes
Include Files
{{< include _methods.qmd >}}
Diagrams with Mermaid
```{mermaid} flowchart LR A[Raw Data] --> B[QC] B --> C[Alignment] C --> D[Quantification] D --> E[DE Analysis] ```
Multi-Language Document
--- title: "R + Python Analysis" --- Load in R: ```{r} library(reticulate) counts <- read.csv('counts.csv') ``` Process in Python: ```{python} import pandas as pd counts_py = r.counts # Access R object ```
Related Skills
- reporting/rmarkdown-reports - R-focused alternative
- data-visualization/ggplot2-fundamentals - R visualizations
- workflow-management/snakemake-workflows - Pipeline integration