update to quarto

This commit is contained in:
Natalie Elphick 2025-09-26 20:12:30 -07:00
parent 45cb69a732
commit 275b121c78
165 changed files with 13677 additions and 4580 deletions

View file

@ -1 +0,0 @@
source("renv/activate.R")

View file

@ -1,33 +1,29 @@
---
title: "Working on Wynton"
subtitle: "Part 1"
author: "Natalie Elphick"
date: "March 24th, 2025"
knit: (function(input, ...) {
rmarkdown::render(
input,
output_dir = "../docs"
)
})
output:
revealjs::revealjs_presentation:
theme: simple
author: "Natalie Gill"
institute: "Gladstone Bioinformatics Core"
date: "October 2, 2025"
date-format: MMMM DD, YYYY
format:
revealjs:
theme: wynton-theme.scss
highlight: default
css: style.css
template-partials:
- title-slide.html
---
```{r, setup, include=FALSE}
knitr::opts_chunk$set(comment = "")
```
##
##
<center>*Press the ? key for tips on navigating these slides*</center>
## Introductions
Instructor:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**Natalie Elphick**
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**Natalie Gill**
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*Bioinformatician II*
@ -46,16 +42,16 @@ Instructor:
# What is Wynton HPC?
## High-performance Computing Cluster {.smaller-picture}
## High-performance Computing Cluster
- A collection of specialized computers (nodes) connected together on a fast local network
![HPC Diagram](slide_materials/HPC_diagram.png)
![](slide_materials/HPC_diagram.png){fig-alt="HPC Diagram showing nodes connected together" .nostretch fig-align="center" width=55%}
## HPC File System {.smaller-picture}
## HPC File System
![HPC File System](slide_materials/file_system_node_relationship.png)
![](slide_materials/file_system_node_relationship.png){fig-alt="HPC File System diagram showing relationship between nodes and storage" .nostretch fig-align="center" width=60%}
@ -94,8 +90,8 @@ log1, log2 and plog1 (for PHI users)
```{r, engine='bash', eval=TRUE, results='markup',comment=NA, highlight=TRUE, echo=FALSE}
echo "{local}$ ssh alice@log1.wynton.ucsf.edu
alice@log1.wynton.ucsf.edu's password:
[alice@log1 ~]$"
alice@log1.wynton.ucsf.edu's password:
[alice@log1 ~]$"
```
- There will not be any visual feedback when typing your password
@ -109,7 +105,7 @@ alice@log1.wynton.ucsf.edu's password:
- Cannot SSH in to directly, only from a login node
```{r, engine='bash', eval=TRUE, results='markup',comment=NA, highlight=TRUE, echo=FALSE}
echo "ssh dev1"
echo "ssh dev1"
```
<u>Names</u>:
@ -126,7 +122,7 @@ dev[1-3], gpudev1, pdev1 (PHI) and pgpudev1 (PHI)
<u>Example</u>:
```{r, engine='bash', eval=TRUE, results='markup',comment=NA, highlight=TRUE, echo=FALSE}
echo "{local}$ scp local_file.tsv alice@dt1.wynton.ucsf.edu:~/"
echo "{local}$ scp local_file.tsv alice@dt1.wynton.ucsf.edu:~/"
```
<u>Names</u>:
@ -140,7 +136,7 @@ dt1 and dt2
- Used to run non-interactive compute job scripts
- The software to run the job script is provided using a container
![Compute Jobs](slide_materials/compute_job_workflow.png)
![](slide_materials/compute_job_workflow.png){fig-alt="Compute Jobs workflow diagram" .nostretch fig-align="center" width=65%}
# Storage
@ -188,10 +184,10 @@ echo 'beegfs-ctl --getquota --storagepoolid=12 --gid "$(id --group)"'
## Storage Advice {.small-bullets}
- Always back up anything you store under **/wynton**
- If you have access to it keep all of your data on **/gladstone**
- If you have access to it keep all of your data on **/gladstone**
- A large number of jobs reading and writing to these directories may be slower since it is NFS mounted not BeeGFS
- Use the scratch directories to store temporary files
- e.g. A large amount of .fastq that you do not need after the alignment step
- e.g. A large amount of .fastq that you do not need after the alignment step
# Data Transfer
@ -223,7 +219,6 @@ echo "{local}$ scp alice@dt1.wynton.ucsf.edu:/path/to/local_file.tsv /destinatio
## GUI SFTP Clients {.small-bullets}
- These let you transfer files to and from Wynton using a GUI
@ -232,9 +227,9 @@ echo "{local}$ scp alice@dt1.wynton.ucsf.edu:/path/to/local_file.tsv /destinatio
- Navigate to Preferences -\> Transfers -\> General
- change the Transfer Files setting "Use browser connection" instead of "Open Multiple connections"
- [FileZilla](https://filezilla-project.org/)
- In the General tab, select SFTP as the Protocol instead of FTP
- For Logon Type, select Interactive instead of Ask for Password
- Under the Transfer Settings tab, you might need to click the Limit number of simultaneous connections and make sure the Maximum number of connections is set to 1
- In the General tab, select 'SFTP' as the Protocol instead of 'FTP'
- For Logon Type, select 'Interactive' instead of 'Ask for Password'
- Under the Transfer Settings tab, you might need to click the 'Limit number of simultaneous connections' and make sure the 'Maximum number of connections' is set to 1
## Globus
@ -341,18 +336,18 @@ echo '[alice@dev1 ~]$ nextflow -v'
# Containers
## Motivation {.small-bullets .small-picture}
## Motivation {.small-bullets}
- Compute heavy jobs (high RAM, multiple cores) should be run on compute nodes
- Containers allow us to make additional software available to the compute nodes
- Also allows the use of software that might be hard to install on Rocky 8 Linux
- Improves reproducibility
![Compute Jobs](slide_materials/compute_job_workflow.png)
![](slide_materials/compute_job_workflow.png){fig-alt="Compute Jobs workflow diagram" .nostretch fig-align="center" width=60%}
## Definitions {.small-bullets}
- **Containers**: An isolated environment for running software that avoids conflicts with the host system. Containers are stored, shared and executed as **image files** with a .sif extension.
- **Containers**: An isolated environment for running software that avoids conflicts with the host system. Containers are stored, shared and executed as **image files** with a .sif extension.
- **Images:** are built from definition files (or Dockerfiles) which are a set of instruction you specify for your environment.
## Apptainer {.small-bullets}
@ -390,8 +385,8 @@ echo '[alice@dev1 ~]$ apptainer exec hello-world_1.0.sif hi'
```{r, engine='bash', eval=TRUE, results='markup',comment=NA, highlight=TRUE, echo=FALSE}
echo ' __ __ ____ _ __ __ __ __
/ / / /__ / / /___ | | / /___ _____/ /___/ / / /
/ /_/ / _ \/ / / __ \ | | /| / / __ \/ ___/ / __ / / /
/ __ / __/ / / /_/ / | |/ |/ / /_/ / / / / /_/ / /_/
/ /_/ / _ \/ / / __ \ | | /| / / __ \/ ___/ / __ / / /
/ __ / __/ / / /_/ / | |/ |/ / /_/ / / / / /_/ / /_/
/_/ /_/\___/_/_/\____/ |__/|__/\____/_/ /_/\__,_/ (_) '
```
@ -421,22 +416,23 @@ echo '[alice@dev1 ~]$ apptainer exec hello-world_1.0.sif cat /Dockerfile'
## Thank You!
- Please take some time to fill out the workshop survey if you are not attending part 2:
- Please take some time to fill out the workshop survey if you are not attending part 2:
<https://www.surveymonkey.com/r/bioinfo-training>
<https://www.surveymonkey.com/r/bioinfo-training>
## Upcoming Data Science Training Program Workshops
[Single Cell RNA-Seq Analysis](https://gladstone.org/index.php/events/single-cell-rna-seq-analysis-5)
March 27-March 28, 2025 9:00-12:00pm PDT
[Introduction to Linear Mixed Effects Models](https://gladstone.org/index.php/events/introduction-linear-mixed-effects-models-1)
April 3-April 4, 2025 1:00-3:00pm PDT
**Intermediate RNA-Seq Analysis Using R**
October 6, 2025 1:00-4:00pm PDT
[Introduction to scATAC-seq Data Analysis](https://gladstone.org/index.php/events/introduction-scatac-seq-data-analysis-0)
April 17-April 18, 2025 9:00am-12:00pm PDT
**Introduction to Pathway Analysis**
October 16, 2025 1:00-4:00pm PDT
[Introduction to Pathway Analysis](https://gladstone.org/index.php/events/introduction-pathway-analysis-3)
April 22, 2025 1:00-4:00pm PDT
[Complete Schedule](https://gladstone.org/events?series=189)
**Statistics of Enrichment Analysis Methods **
October 20-October 21, 2025 1:00-3:00pm PDT
**Single Cell RNA-Seq Analysis**
October 27-October 28, 2025 9:00-4:00pm PDT

View file

@ -1,38 +1,35 @@
---
title: "Working on Wynton"
subtitle: "Part 2"
author: "Natalie Elphick"
date: "March 25th, 2025"
knit: (function(input, ...) {
rmarkdown::render(
input,
output_dir = "../docs"
)
})
output:
revealjs::revealjs_presentation:
theme: simple
author: "Natalie Gill"
institute: "Gladstone Bioinformatics Core"
date: "October 3, 2025"
date-format: MMMM DD, YYYY
format:
revealjs:
theme: wynton-theme.scss
highlight: default
css: style.css
template-partials:
- title-slide.html
---
```{r, setup, include=FALSE}
knitr::opts_chunk$set(comment = "")
```
##
##
<center>*Press the ? key for tips on navigating these slides*</center>
## Introductions
Instructor:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**Natalie Elphick**
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**Natalie Gill**
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*Bioinformatician II*
## Target Audience
- Prior experience with UNIX command-line
- Prior experience with UNIX command-line
@ -42,7 +39,7 @@ Instructor:
2. Array Jobs
3. GPU Jobs
4. Running Pipelines
5. Jupyter Notebooks
5. Jupyter Notebooks
6. RStudio Server
7. Advanced Tips and Tricks
8. How to get help
@ -50,11 +47,10 @@ Instructor:
# Compute Jobs
## Submission Script - Basics {.small-bullets .code-alt}
## Submission Script - Basics {.small-bullets}
- [Download](https://www.dropbox.com/scl/fi/fzp33y1ojslw005q8epuz/simple_submission_script.sh?rlkey=xmg3lqec962y3i57a1bkriosx&dl=1) this example job submission script
- Read the full Wynton [job submission guide](https://wynton.ucsf.edu/hpc/scheduler/submit-jobs.html)
@ -71,11 +67,11 @@ rm submission.sh
## Submission Script - Apptainer
- Download the example job submission script that uses a container
```{r,engine='bash', eval=FALSE, echo=TRUE}
curl -s -L -o apptainer_submission_script.sh 'https://www.dropbox.com/scl/fi/zzl9fnfcoxu3pyrx5ffd1/apptainer_submission_script.sh?rlkey=w05e18ahw4hvbvaucac379za9&dl=1'
```{r,engine='bash', eval=TRUE, echo=FALSE}
echo "curl -s -L -o apptainer_submission_script.sh 'https://www.dropbox.com/scl/fi/zzl9fnfcoxu3pyrx5ffd1/apptainer_submission_script.sh?rlkey=w05e18ahw4hvbvaucac379za9&dl=1'"
```
## Submission Script - Apptainer {.small-bullets .code-alt}
## Submission Script - Apptainer {.small-bullets}
- Paths that the container needs read/write access to need to be mounted with APPTAINER_BINDPATH
@ -98,7 +94,7 @@ rm submission.sh
- **mpi_onehost**: for single-host parallel jobs based on MPI parallelization
- **mpi-8**: for multi-threaded multi-host jobs based on MPI parallelization
## Example Parallel Job {.small-bullets .code-alt}
## Example Parallel Job {.small-bullets}
- The simplest parallel environment on Wynton is **smp**, a single node with *n* cores
- [Download](https://www.dropbox.com/scl/fi/71xo0cioh266pj3uwcdps/smp_submission_script.sh?rlkey=kw7qaz8pip6jveqv317b5swqr&dl=1) this example smp job submission script
@ -122,7 +118,7 @@ echo 'curl -L -o array_job_example.zip https://www.dropbox.com/scl/fo/j0muxevls2
## Array Jobs {.small-bullets}
- Unzip it
- Unzip it
```{r, engine='bash', eval=TRUE, results='markup',comment=NA, highlight=TRUE, echo=FALSE}
echo 'unzip array_job_example.zip -d array_job_example'
```
@ -154,10 +150,10 @@ Your job 714888 ("job1.sh") has been submitted'
```{r, engine='bash', eval=TRUE, results='markup',comment=NA, highlight=TRUE, echo=FALSE}
echo '[alice@dev1 ~]$ qstat
job-ID prior name user state submit/start at queue slots ja-task-ID
job-ID prior name user state submit/start at queue slots ja-task-ID
-----------------------------------------------------------------------------------------------------------------
714888 0.06532 job1 alice r 03/25/2024 19:54:18 member.q@msg-hmio1 1
714889 0.06532 job2 alice r 03/25/2024 19:54:19 member.q@msg-hmio1 1
714888 0.06532 job1 alice r 03/25/2024 19:54:18 member.q@msg-hmio1 1
714889 0.06532 job2 alice r 03/25/2024 19:54:19 member.q@msg-hmio1 1
'
```
@ -189,7 +185,7 @@ Any submitted job to compute nodes can also be run on development nodes.
- Scientific workflow system with a community maintained set of core bioinformatics [analysis pipelines](https://nf-co.re/)
- The most commonly used one is the [RNA-seq pipeline](https://nf-co.re/rnaseq/3.14.0)
![RNA-seq](slide_materials/nf-core-rnaseq_metro_map_grey.png)
![](slide_materials/nf-core-rnaseq_metro_map_grey.png){fig-alt="RNA-seq workflow diagram showing nf-core pipeline steps" .nostretch fig-align="center" width=70%}
## Example - RNA-seq Pipeline {.small-bullets}
@ -208,8 +204,7 @@ Any submitted job to compute nodes can also be run on development nodes.
# Jupyter Notebooks
# Jupyter Notebooks
## Installing Jupyter Notebooks
- The preferred way to install and use [Jupyter notebooks](https://wynton.ucsf.edu/hpc/howto/jupyter.html) on Wynton is though pip, not conda
@ -234,7 +229,7 @@ echo '[alice@dev1 ~]$ module load CBI port4me
Note the port number returned by port4me, you will need this later.
## Running Jupyter Notebooks - Step 2 {.code-small}
## Running Jupyter Notebooks - Step 2
- Launch Jupyter notebook using the port numer from step 1
```{r, engine='bash', eval=TRUE, results='markup',comment=NA, highlight=TRUE, echo=FALSE}
echo '[alice@dev1]$ jupyter notebook --no-browser --port 47467
@ -287,7 +282,7 @@ The notebook should now be available at the URL from step 2
- One to connect to it
## RStudio Server - Step 1 {.code-small}
## RStudio Server - Step 1
- Launch your own RStudio Server instance
```{r, engine='bash', eval=TRUE, results='markup',comment=NA, highlight=TRUE, echo=FALSE}
@ -379,7 +374,7 @@ For any bioinformatics specific questions feel free to reach out to the Gladston
- Network latency becomes extremely important for all metadata requests
- Certain input/output patterns can be problematic
## BeeGFS - I/O patterns
## BeeGFS - I/O patterns
- Anything that requires lots of metadata operations can feel slow
- e.g: lots of writes to the same directory and lots of file lookups and directory searches (**conda**)
@ -393,7 +388,7 @@ For any bioinformatics specific questions feel free to reach out to the Gladston
- Don't include anything in **/wynton** in your default LD_LIBRARY_PATH
- If using conda, putting the conda application inside a Apptainer (formerly singularity) container will result in better performance
## Custom Containers
# Custom Containers
## Motivation {.small-bullets .small-picture}
@ -402,7 +397,7 @@ For any bioinformatics specific questions feel free to reach out to the Gladston
- Also allows the use of software that might be hard to install on Rocky 8 Linux
- Improves reproducibility
![Compute Jobs](slide_materials/compute_job_workflow.png)
![](slide_materials/compute_job_workflow.png){fig-alt="Compute Jobs workflow diagram" .nostretch fig-align="center" width=60%}
@ -429,7 +424,7 @@ echo 'docker build .'
See the [Dockerfile documentation](https://docs.docker.com/reference/dockerfile/) for a full list of instructions
## Example Dockerfile {.code-alt}
## Example Dockerfile
- Click [here](https://www.dropbox.com/scl/fi/mdbefp3h8ahdvxtgjypqo/Dockerfile?rlkey=7d4zd9ge1m3wwszlfy78712ky&dl=1) to download the example Dockerfile
- Open in your preffered text editor
@ -447,7 +442,7 @@ rm Dockerfile
- It requires a lot of RAM
- On macOS, make sure you have the Docker Desktop App running
- We can provide an additional argument to the **build** command, -t, to set the name of the docker image
- We can add version tags after the name using ":"
- We can add version tags after the name using ":"
```{r, engine='bash', eval=TRUE, results='markup',comment=NA, highlight=TRUE, echo=FALSE}
echo "docker build -t docker_hub_user/seurat-harmony:1.0 ."
```
@ -483,25 +478,23 @@ echo "[alice@dev1 ~]$ apptainer pull docker://docker_hub_user/seurat-harmony:1.0
## Thank You!
- Please take some time to fill out the workshop survey:
- Please take some time to fill out the workshop survey:
<https://www.surveymonkey.com/r/bioinfo-training>
## Upcoming Data Science Training Program Workshops
[Single Cell RNA-Seq Analysis](https://gladstone.org/index.php/events/single-cell-rna-seq-analysis-5)
March 27-March 28, 2025 9:00-12:00pm PDT
[Introduction to Linear Mixed Effects Models](https://gladstone.org/index.php/events/introduction-linear-mixed-effects-models-1)
April 3-April 4, 2025 1:00-3:00pm PDT
**Intermediate RNA-Seq Analysis Using R**
October 6, 2025 1:00-4:00pm PDT
[Introduction to scATAC-seq Data Analysis](https://gladstone.org/index.php/events/introduction-scatac-seq-data-analysis-0)
April 17-April 18, 2025 9:00am-12:00pm PDT
[Introduction to Pathway Analysis](https://gladstone.org/index.php/events/introduction-pathway-analysis-3)
April 22, 2025 1:00-4:00pm PDT
[Complete Schedule](https://gladstone.org/events?series=189)
**Introduction to Pathway Analysis**
October 16, 2025 1:00-4:00pm PDT
**Statistics of Enrichment Analysis Methods **
October 20-October 21, 2025 1:00-3:00pm PDT
**Single Cell RNA-Seq Analysis**
October 27-October 28, 2025 9:00-4:00pm PDT

View file

@ -0,0 +1,78 @@
#!/bin/bash
# Wrapper script for rendering Quarto slides to match R Markdown output behavior
# This script renders both Working on Wynton presentations to the ../docs directory
# Set script to exit on any error
set -e
echo "🚀 Starting Quarto slide rendering..."
# Create docs directory if it doesn't exist
DOCS_DIR="../docs/Working_on_Wynton"
if [ ! -d "$DOCS_DIR" ]; then
echo "📁 Creating output directory: $DOCS_DIR"
mkdir -p "$DOCS_DIR"
fi
# Copy image assets to docs directory
echo "🖼️ Copying image assets to $DOCS_DIR..."
# Copy slide materials directory
if [ -d "slide_materials" ]; then
cp -r slide_materials "$DOCS_DIR/"
echo "📁 Copied slide_materials to $DOCS_DIR"
fi
# Copy logo image
if [ -f "gladstone_logo_slide.png" ]; then
cp gladstone_logo_slide.png "$DOCS_DIR/"
echo "🖼️ Copied gladstone_logo_slide.png to $DOCS_DIR"
fi
# Function to render a single slide presentation
render_slide() {
local slide_file="$1"
local slide_name=$(basename "$slide_file" .qmd)
echo "🔧 Rendering $slide_file..."
# Render the Quarto presentation in current directory
quarto render "$slide_file" --to revealjs
if [ $? -eq 0 ]; then
echo "✅ Successfully rendered: ${slide_name}.html"
# Move the HTML file to docs directory
if [ -f "${slide_name}.html" ]; then
mv "${slide_name}.html" "$DOCS_DIR/"
echo "📁 Moved ${slide_name}.html to $DOCS_DIR"
fi
# Sync the supporting files directory if it exists
if [ -d "${slide_name}_files" ]; then
rsync -av "${slide_name}_files/" "$DOCS_DIR/${slide_name}_files/"
rm -rf "${slide_name}_files"
echo "📁 Synced ${slide_name}_files to $DOCS_DIR"
fi
else
echo "❌ Failed to render: $slide_file"
exit 1
fi
}
# Render both presentations
render_slide "Working_on_Wynton_Part_1.qmd"
render_slide "Working_on_Wynton_Part_2.qmd"
echo ""
echo "🎉 All slides rendered successfully!"
echo "📍 Output location: $DOCS_DIR"
echo ""
echo "📄 Generated files:"
ls -la "$DOCS_DIR"/*.html 2>/dev/null || echo " No HTML files found"
echo ""
echo "🌐 To view the slides, open the HTML files in a web browser:"
echo " - ${DOCS_DIR}/Working_on_Wynton_Part_1.html"
echo " - ${DOCS_DIR}/Working_on_Wynton_Part_2.html"

View file

@ -1,361 +0,0 @@
{
"R": {
"Version": "4.4.1",
"Repositories": [
{
"Name": "CRAN",
"URL": "https://packagemanager.posit.co/cran/latest"
}
]
},
"Packages": {
"R6": {
"Package": "R6",
"Version": "2.5.1",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R"
],
"Hash": "470851b6d5d0ac559e9d01bb352b4021"
},
"base64enc": {
"Package": "base64enc",
"Version": "0.1-3",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R"
],
"Hash": "543776ae6848fde2f48ff3816d0628bc"
},
"bslib": {
"Package": "bslib",
"Version": "0.6.1",
"Source": "Repository",
"Repository": "RSPM",
"Requirements": [
"R",
"base64enc",
"cachem",
"grDevices",
"htmltools",
"jquerylib",
"jsonlite",
"lifecycle",
"memoise",
"mime",
"rlang",
"sass"
],
"Hash": "c0d8599494bc7fb408cd206bbdd9cab0"
},
"cachem": {
"Package": "cachem",
"Version": "1.0.8",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"fastmap",
"rlang"
],
"Hash": "c35768291560ce302c0a6589f92e837d"
},
"cli": {
"Package": "cli",
"Version": "3.6.2",
"Source": "Repository",
"Repository": "RSPM",
"Requirements": [
"R",
"utils"
],
"Hash": "1216ac65ac55ec0058a6f75d7ca0fd52"
},
"digest": {
"Package": "digest",
"Version": "0.6.35",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"utils"
],
"Hash": "698ece7ba5a4fa4559e3d537e7ec3d31"
},
"ellipsis": {
"Package": "ellipsis",
"Version": "0.3.2",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"rlang"
],
"Hash": "bb0eec2fe32e88d9e2836c2f73ea2077"
},
"evaluate": {
"Package": "evaluate",
"Version": "0.23",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"methods"
],
"Hash": "daf4a1246be12c1fa8c7705a0935c1a0"
},
"fastmap": {
"Package": "fastmap",
"Version": "1.1.1",
"Source": "Repository",
"Repository": "CRAN",
"Hash": "f7736a18de97dea803bde0a2daaafb27"
},
"fontawesome": {
"Package": "fontawesome",
"Version": "0.5.2",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"htmltools",
"rlang"
],
"Hash": "c2efdd5f0bcd1ea861c2d4e2a883a67d"
},
"fs": {
"Package": "fs",
"Version": "1.6.3",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"methods"
],
"Hash": "47b5f30c720c23999b913a1a635cf0bb"
},
"glue": {
"Package": "glue",
"Version": "1.7.0",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"methods"
],
"Hash": "e0b3a53876554bd45879e596cdb10a52"
},
"highr": {
"Package": "highr",
"Version": "0.10",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"xfun"
],
"Hash": "06230136b2d2b9ba5805e1963fa6e890"
},
"htmltools": {
"Package": "htmltools",
"Version": "0.5.7",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"base64enc",
"digest",
"ellipsis",
"fastmap",
"grDevices",
"rlang",
"utils"
],
"Hash": "2d7b3857980e0e0d0a1fd6f11928ab0f"
},
"jquerylib": {
"Package": "jquerylib",
"Version": "0.1.4",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"htmltools"
],
"Hash": "5aab57a3bd297eee1c1d862735972182"
},
"jsonlite": {
"Package": "jsonlite",
"Version": "1.8.8",
"Source": "Repository",
"Repository": "RSPM",
"Requirements": [
"methods"
],
"Hash": "e1b9c55281c5adc4dd113652d9e26768"
},
"knitr": {
"Package": "knitr",
"Version": "1.45",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"evaluate",
"highr",
"methods",
"tools",
"xfun",
"yaml"
],
"Hash": "1ec462871063897135c1bcbe0fc8f07d"
},
"lifecycle": {
"Package": "lifecycle",
"Version": "1.0.4",
"Source": "Repository",
"Repository": "RSPM",
"Requirements": [
"R",
"cli",
"glue",
"rlang"
],
"Hash": "b8552d117e1b808b09a832f589b79035"
},
"memoise": {
"Package": "memoise",
"Version": "2.0.1",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"cachem",
"rlang"
],
"Hash": "e2817ccf4a065c5d9d7f2cfbe7c1d78c"
},
"mime": {
"Package": "mime",
"Version": "0.12",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"tools"
],
"Hash": "18e9c28c1d3ca1560ce30658b22ce104"
},
"rappdirs": {
"Package": "rappdirs",
"Version": "0.3.3",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R"
],
"Hash": "5e3c5dc0b071b21fa128676560dbe94d"
},
"renv": {
"Package": "renv",
"Version": "1.0.5",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"utils"
],
"Hash": "32c3f93e8360f667ca5863272ec8ba6a"
},
"revealjs": {
"Package": "revealjs",
"Version": "0.9.1.9007",
"Source": "GitHub",
"RemoteType": "github",
"RemoteHost": "api.github.com",
"RemoteUsername": "rstudio",
"RemoteRepo": "revealjs",
"RemoteRef": "main",
"RemoteSha": "37782091f88635b00341d708b6311465efe1a444",
"Requirements": [
"R",
"rmarkdown"
],
"Hash": "8471ccabb784457b5b0c84db051bc83a"
},
"rlang": {
"Package": "rlang",
"Version": "1.1.3",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"utils"
],
"Hash": "42548638fae05fd9a9b5f3f437fbbbe2"
},
"rmarkdown": {
"Package": "rmarkdown",
"Version": "2.26",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"bslib",
"evaluate",
"fontawesome",
"htmltools",
"jquerylib",
"jsonlite",
"knitr",
"methods",
"tinytex",
"tools",
"utils",
"xfun",
"yaml"
],
"Hash": "9b148e7f95d33aac01f31282d49e4f44"
},
"sass": {
"Package": "sass",
"Version": "0.4.9",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R6",
"fs",
"htmltools",
"rappdirs",
"rlang"
],
"Hash": "d53dbfddf695303ea4ad66f86e99b95d"
},
"tinytex": {
"Package": "tinytex",
"Version": "0.50",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"xfun"
],
"Hash": "be7a76845222ad20adb761f462eed3ea"
},
"xfun": {
"Package": "xfun",
"Version": "0.42",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"grDevices",
"stats",
"tools"
],
"Hash": "fd1349170df31f7a10bd98b0189e85af"
},
"yaml": {
"Package": "yaml",
"Version": "2.3.8",
"Source": "Repository",
"Repository": "RSPM",
"Hash": "29240487a071f535f5e5d5a323b7afbd"
}
}
}

View file

@ -1,7 +0,0 @@
library/
local/
cellar/
lock/
python/
sandbox/
staging/

File diff suppressed because it is too large Load diff

View file

@ -1,19 +0,0 @@
{
"bioconductor.version": null,
"external.libraries": [],
"ignored.packages": [],
"package.dependency.fields": [
"Imports",
"Depends",
"LinkingTo"
],
"ppm.enabled": null,
"ppm.ignored.urls": [],
"r.version": null,
"snapshot.type": "implicit",
"use.cache": true,
"vcs.ignore.cellar": true,
"vcs.ignore.library": true,
"vcs.ignore.local": true,
"vcs.manage.ignores": true
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 429 KiB

View file

@ -1,184 +0,0 @@
/* Set font size and alignment for the message */
.bottom-message {
font-size: 0.8em !important;
font-style: italic !important;
text-align: center;
position: relative;
bottom: 0 !important;
left: 0;
right: 0;
}
.reveal code {
background-color: #1e1e1eef; /* Dark background for code chunks */
color: white; /* White text for code */
font-size: 1.2em;
line-height: 1.2;
}
.code-small code {
background-color: #1e1e1eef; /* Dark background for code chunks */
color: white; /* White text for code */
font-size: 1em;
line-height: 1;
}
.reveal code::selection {
background-color: #d97306 !important; /* Dark orange background for selected text */
}
/* Specific styles for code output: background */
.reveal code.output {
background-color: black; /* Black background for code outputs */
}
/* Custom class for code alt display */
.code-alt code {
background-color: #ffecd0ac; /* Dark background for code outputs */
max-height: 400px !important;
font-family: 'Menlo', sans-serif;
font-size: 0.8em;
color: rgb(76, 76, 76)
}
/* Code output text color */
.reveal pre code.output {
color: white;
}
/* Left-align all code outputs */
.reveal pre code {
text-align: left !important;
}
/* Add horizontal scrolling to all code outputs */
.reveal pre code.output {
white-space: pre !important;
overflow-x: auto !important;
}
/* Change the font family used for code blocks */
pre, code, kbd, samp {
font-family: "Courier New", Courier, monospace;
}
/* Add horizontal scrolling to all code chunks */
.reveal pre code {
white-space: pre !important;
overflow-x: auto !important;
}
/* Change the font family used for all text except code */
.reveal p, .reveal li, .reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 {
font-family: "Helvetica", sans-serif;
}
.reveal h3 {
color: black;
font-size: 0.7em;
}
/* Bold slide titles and change color */
.reveal h2 {
font-weight: bold !important;
color: #9c0366;
font-size: 1.3em;
}
/* Bold slide titles and change color */
.reveal h1 {
font-weight: bold !important;
color: #9c0366;
font-size: 2.0em;
}
.reveal .slides>section:first-child h2 {
color: black;
font-weight: normal !important;
}
.reveal .slides>section:first-child h1 {
font-weight: bold !important;
color: #9c0366;
}
.reveal p {
text-align: left;
margin-left: 20px !important;
}
.reveal ul {
display: block;
margin-left: 75px !important;
margin-right: 50px !important;
}
.reveal ul ul {
font-size: 0.75em; /* Smaller font size */
margin-bottom: 5px !important;
}
.reveal ol {
display: block;
margin-bottom: 20px;
margin-left: 75px;
margin-right: 50px
}
/* Decrease size of image, remove border, shadow and center align*/
.reveal img {
max-width: 70%;
border: none !important;
box-shadow: none !important;
display: block !important;
margin: 0 auto !important;
}
small {
font-size: 70%;
}
/* Create a custom class for the small bullets, increase the spacing between list items */
.small-bullets ul {
font-size: 85%;
}
.small-list ol {
font-size: 80%;
}
.reveal li {
margin-bottom: 10px !important;
}
.less-small-bullets ul {
font-size: 80%;
}
.big-picture img{
max-width: 95%;
}
.small-picture img{
max-width: 65%;
}
.smaller-picture img{
max-width: 60%;
}
/* Chage link color to sky blue */
.reveal a {
color: #0c74dc;
}
/* Change link color to magenta on hover */
.reveal a:hover {
color: #9c0366 !important;
}

View file

@ -0,0 +1,28 @@
<!-- Logo slide -->
<section class="slide level2" data-background-image="slide_materials/gladstone_logo_slide.png" data-background-size="contain">
</section>
<!-- Title slide -->
<section class="quarto-title-block">
<h1 class="title">$title$</h1>
$if(subtitle)$
<p class="subtitle">$subtitle$</p>
$endif$
$if(author)$
<div class="quarto-title-authors">
<div class="quarto-title-author">
<div class="quarto-title-author-name">$author$</div>
$if(institute)$
<div class="quarto-title-affiliation">$institute$</div>
$endif$
</div>
</div>
$endif$
$if(date)$
<div class="quarto-title-meta">
<div class="quarto-title-meta-contents">
<p class="date">$date$</p>
</div>
</div>
$endif$
</section>

View file

@ -1,14 +0,0 @@
Version: 1.0
ProjectId: 34071a3d-003e-4263-bd00-68a4cf53c544
RestoreWorkspace: Default
SaveWorkspace: Default
AlwaysSaveHistory: Default
EnableCodeIndexing: Yes
UseSpacesForTab: Yes
NumSpacesForTab: 2
Encoding: UTF-8
RnwWeave: Sweave
LaTeX: pdfLaTeX

View file

@ -0,0 +1,214 @@
/**
* Wynton HPC Training Theme for reveal.js presentations
*
* Adapted from the original style.css for the Working on Wynton training materials
* Converted to SCSS format for better maintainability and theming capabilities
*/
/*-- scss:defaults --*/
// Custom color palette
$primary-color: #9c0366;
$secondary-color: #BB3E03;
$link-color: #0c74dc;
$link-hover-color: #9c0366;
$code-bg: #333333;
$code-block-bg: #333333;
$code-color: white;
$code-block-font-size: 0.8em;
// Typography
$font-family-sans-serif: "Helvetica", sans-serif !default;
$font-family-monospace: "Menlo", sans-serif !default;
// Override Quarto reveal.js defaults
$presentation-heading-font: $font-family-sans-serif !default;
$presentation-heading-color: $primary-color !default;
$presentation-heading-text-transform: none !default;
$presentation-heading-text-shadow: none !default;
$link-color-default: $link-color !default;
$presentation-list-bullet-color: $secondary-color !default;
/*-- scss:rules --*/
// Define CSS custom properties for dynamic theming
:root {
--r-list-bullet-color: #{$presentation-list-bullet-color};
}
// Font family overrides
pre, code, kbd, samp {
font-family: $font-family-monospace;
}
.reveal {
// Typography
p, li, h1, h2, h3, h4, h5, h6 {
font-family: $font-family-sans-serif;
}
// Heading styles
h1 {
font-weight: bold !important;
color: $primary-color;
font-size: 2.0em;
}
h2 {
font-weight: bold !important;
color: $primary-color;
font-size: 1.3em;
}
h3 {
color: black;
font-size: 0.7em;
}
// Special handling for first slide
.slides > section:first-child {
h1 {
font-weight: bold !important;
color: $primary-color;
}
h2 {
color: black;
color: $primary-color;
font-weight: normal !important;
}
}
// Custom colored list bullets
ul,
ol {
li::marker {
color: var(--r-list-bullet-color);
}
}
}
// Slide content styling - using .reveal .slide prefix for best practices
.reveal .slide {
// Ensure slide titles remain centered
h1, h2 {
text-align: center;
}
// Paragraph styling for slide content only (not titles)
p:not(.subtitle) {
text-align: left;
margin-left: 20px;
}
// List styling for slide content only
ul {
display: block;
margin-left: 75px;
margin-right: 50px;
ul {
font-size: 0.75em;
margin-bottom: 5px;
}
}
ol {
display: block;
margin-bottom: 20px;
margin-left: 75px;
margin-right: 50px;
}
li {
margin-bottom: 10px;
}
// Custom colored list bullets for slide content
ul,
ol {
li::marker {
color: var(--r-list-bullet-color);
}
}
}
// Code styling - applies to all reveal content with higher specificity
.reveal pre,
.reveal code {
background-color: $code-block-bg !important;
color: white !important;
font-family: $font-family-monospace !important;
font-size: $code-block-font-size !important;
line-height: 1.2 !important;
}
.reveal pre code {
background-color: transparent !important; // inherit from pre
color: inherit !important; // inherit from pre
text-align: left !important;
white-space: pre !important;
overflow-x: auto !important;
}
// Image and link styling - applies to all reveal content
.reveal {
img {
max-width: 70%;
border: none;
box-shadow: none;
display: block;
margin: 0 auto;
}
a {
color: $link-color;
&:hover {
color: $link-hover-color;
}
}
}
// Custom utility classes
.bottom-message {
font-size: 0.8em !important;
font-style: italic !important;
text-align: center;
position: relative;
bottom: 0 !important;
left: 0;
right: 0;
}
// Size utility classes
small {
font-size: 70%;
}
.small-bullets ul {
font-size: 85%;
}
.less-small-bullets ul {
font-size: 80%;
}
.small-list ol {
font-size: 80%;
}
// Image size classes
.big-picture img {
max-width: 95%;
}
.small-picture img {
max-width: 65%;
}
.smaller-picture img {
max-width: 60%;
}