Skip to content

Commit

Permalink
Merge pull request #5 from rnabioco/site-updates
Browse files Browse the repository at this point in the history
Site updates
  • Loading branch information
sheridar authored Feb 25, 2024
2 parents 8606e99 + b5c9d52 commit b7bc45b
Show file tree
Hide file tree
Showing 13 changed files with 130 additions and 69 deletions.
2 changes: 1 addition & 1 deletion _quarto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,5 @@ format:
toc: true
toc-depth: 1

editor: visual
editor: source

2 changes: 1 addition & 1 deletion atlases/2021-carpentier-34618370/index.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: MARCO+ lymphatic endothelial cells sequester arthritogenic alphaviruses to limit viremia and viral dissemination

image: /images/2021-carpentier-34618370.jpg
subtitle: '[Atlas](https://morrison-lnsc-browser.s3.amazonaws.com/index.html){.link-box-large}'
subtitle: '[<i class="bi bi-compass"></i> Atlas](https://morrison-lnsc-browser.s3.amazonaws.com/index.html){.link-box-large}'
date: 'November 15, 2021'
categories: [Project-1, Project-2, Core-C, Core-D, 2021]
about:
Expand Down
2 changes: 1 addition & 1 deletion atlases/2021-walsh-33843587/index.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Molecular tracking devices quantify antigen distribution and archiving in the murine lymph node

image: /images/2021-walsh-33843587.jpg
subtitle: '[Atlas](https://d3898ys7yh3545.cloudfront.net/){.link-box-large}'
subtitle: '[<i class="bi bi-compass"></i> Atlas](https://d3898ys7yh3545.cloudfront.net/){.link-box-large}'
date: 'April 12, 2021'
categories: [Project-2, Core-C, Core-D, 2021]
about:
Expand Down
2 changes: 1 addition & 1 deletion atlases/2024-lucas-38194268/index.qmd
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Chikungunya virus infection disrupts lymph node lymphatic endothelial cell composition and function via MARCO

subtitle: '[Atlas](https://morrison-lnsc-browser.s3.amazonaws.com/index.html){.link-box-large}'
subtitle: '[<i class="bi bi-compass"></i> Atlas](https://morrison-lnsc-browser.s3.amazonaws.com/index.html){.link-box-large}'
date: 'January 09, 2024'
categories: [Project-1, Project-2, Core-C, Core-D, 2024]
about:
Expand Down
47 changes: 39 additions & 8 deletions funs.R
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#' Create links for a project
#' Create links for a project section
#'
#' links to atlases, publications, investigators
.create_project_links <- function(proj_yml, athr_yml, pub_yml, lnk_cls) {
Expand Down Expand Up @@ -34,7 +34,8 @@

if (any(pubs)) {
lnks <- str_c(
lnks, " [Publications](pubs.qmd#category=", proj_lnk, ")",
lnks, " [<i class='bi bi-file-earmark'></i> Publications]",
"(pubs.qmd#category=", proj_lnk, ")",
lnk_cls
)
}
Expand All @@ -45,7 +46,8 @@

if (any(atlases)) {
lnks <- str_c(
lnks, " [Atlases](atlases.qmd#category=", proj_lnk, ")",
lnks, " [<i class='bi bi-compass'></i> Atlases]",
"(atlases.qmd#category=", proj_lnk, ")",
lnk_cls
)
}
Expand All @@ -60,17 +62,45 @@
#'
#' links to the project page
.create_project_link <- function(proj_title, lnk_name = proj_title,
lnk_cls = "{.link-bold}", max_len = 64) {
lnk_cls = "{.link-bold}", max_len = 40,
return_id = FALSE) {
res <- proj_title %>%
str_to_lower() %>%
str_replace_all("( |, )", "-") %>%
str_trunc(max_len, "right", ellipsis = "") %>%
str_remove("-$") %>%
str_remove("-$")

if (return_id) return(res)

res <- res %>%
str_c("[", lnk_name, "](projects.qmd#", ., ")", lnk_cls)

res
}

#' Add icon to link
.icon_key <- list(
publications = "bi bi-file-earmark",
atlases = "bi bi-compass",
atlas = "bi bi-compass",
email = "bi bi-envelope",
website = "bi bi-house"
# website = "bi bi-globe"
)

.add_link_icon <- function(lnk_text, icon_key = .icon_key) {

icon <- .icon_key[[lnk_text]]

if (!is.null(icon)) icon <- str_c("<i class='", icon, "'></i> ")

res <- lnk_text %>%
str_to_title() %>%
str_c("[", icon, ., "]")

res
}

#' Create publication page
#'
#' * Check publication information and scrape missing information from pubmed
Expand Down Expand Up @@ -133,9 +163,10 @@
return(NULL)
}

subttl <- links %>%
pluck("atlas") %>%
str_c("[Atlas](", ., "){.link-box-large}")
subttl <- links %>% # use double quotes single subtitle will be wrapped
pluck("atlas") %>% # in single quotes
str_c(.add_link_icon("atlas"), "(", ., "){.link-box-large}") %>%
str_replace_all("'", "\\\"")

links <- links[names(links) != "atlas"]
}
Expand Down
12 changes: 11 additions & 1 deletion index.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,21 @@ text <- proj_yml %>%
.x %>%
imap(~ {
ttl_lnk <- .create_project_link(.x$title)
proj_tag <- .y %>%
str_replace_all("-", " ") %>%
str_to_title()
bld_tag <- proj_tag %>%
str_c("<span class='text-bold'>", ., "</span>")
body <- .x$short %>%
str_replace(proj_tag, bld_tag)
str_c(
"* ", ttl_lnk, " \n",
links[[.y]], " \n",
.x$short, "\n\n"
body, "\n\n"
)
}) %>%
str_c(collapse = "") %>%
Expand Down
17 changes: 6 additions & 11 deletions investigators.qmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: "Investigators"
toc: true
---

```{r, echo = FALSE, include = FALSE}
Expand Down Expand Up @@ -29,12 +28,13 @@ proj_lnks <- proj_yml %>%
imap(~ .create_project_link(.x$title, str_to_title(.y), "{.link-box-fade}"))
# Create page text
# unable to include table of contents and have the image inline with heading
text <- athr_yml %>%
imap(~ {
lnks <- .x$links %>% # links to project pages
imap(~ str_c("[", str_to_title(.y), "](", .x, ")", lnk_cls)) %>%
imap(~ str_c(.add_link_icon(.y), "(", .x, ")", lnk_cls)) %>%
str_c(collapse = " ")
lnks <- proj_lnks[.x$project] %>%
str_c(collapse = " ") %>%
str_c(lnks, " ", .)
Expand All @@ -45,8 +45,8 @@ text <- athr_yml %>%
res <- str_c(
"<h2>", .y, sfx, "</h2>\n\n",
lnks, "\n\n",
.x$bio, "\n\n"
lnks, "\n\n",
.x$bio, "\n\n"
)
# Add image for each investigator
Expand All @@ -58,12 +58,7 @@ text <- athr_yml %>%
" <img src='", img, "'>\n"
)
html_foot <- "</div>"
res <- str_c(
html_head, res,
html_foot, "\n\n"
)
res <- str_c(html_head, res, "</div>\n\n")
}
res
Expand Down
7 changes: 6 additions & 1 deletion pre-build.R
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ tl_dat <- pub_yml_new %>%
tibble(
key = .x$key,
date = as.Date(str_c(.x$year, "-01-01")),
proj = str_c(str_to_title(.x$project), collapse = ", "),
authors = str_c(athrs, collapse = ", "),
pmid = str_extract(.x$pubmed, "[0-9]+(/|)$")
)
Expand All @@ -123,9 +124,13 @@ tl_dat <- tl_dat %>%
mutate(
pmid = str_remove(pmid, "/$"),
pmid = str_c("PMID", pmid),
lab = str_c(authors, "\n", pmid),
year = as.character(year(date)),
url = file.path(pub_dir, key)
) %>%
pivot_longer(c(proj, pmid), values_to = "lab") %>%
mutate(
style = ifelse(name == "pmid", "bold", "normal"),
style = map(style, ~ list(`font-weight` = .x))
)

# Save as json file
Expand Down
23 changes: 18 additions & 5 deletions projects.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ toc: true
library(yaml)
library(tidyverse)
library(here)
source(here("funs.R"))
# Read yamls
Expand Down Expand Up @@ -39,15 +38,29 @@ text <- proj_yml %>%
# Conditional add hypothesis
hyp <- .x$hypothesis
if (!is.null(hyp)) hyp <- str_c("*", hyp, "*\n\n")
if (!is.null(hyp)) hyp <- str_c("<i>", hyp, "</i>\n\n")
# Set heading IDs
# need this since the first h2 heading ID after h1 gets mixed up during
# rendering
id <- .create_project_link(.x$title, return_id = TRUE)
res <- str_c(
"<h2>", .x$title, "</h2>\n\n",
"<h2 id=", id, ">", .x$title, "</h2>\n\n",
links[[.y]], "\n\n",
hyp
)
body <- .x$abstract
# Bold project tag (e.g. project-1)
proj_tag <- .y %>%
str_replace_all("-", " ") %>%
str_to_title()
bld_tag <- proj_tag %>%
str_c("<span class='text-bold'>", ., "</span>")
body <- .x$abstract %>%
str_replace(proj_tag, bld_tag)
# Add image for each project
if (!is.null(.x$image)) {
Expand All @@ -56,7 +69,7 @@ text <- proj_yml %>%
body <- str_c(
"<div class='project-image'>\n",
" <img src='", img, "'>\n",
.x$abstract, "\n\n",
body, "\n",
"</div>"
)
}
Expand Down
60 changes: 30 additions & 30 deletions projects.yml
Original file line number Diff line number Diff line change
@@ -1,58 +1,58 @@
project-1:
title: Define protective and pathogenic roles of LNSCs during viral infection
short: Project 1 will define how viral targeting of distinct LNSCs regulates
short: "Project 1 will define how viral targeting of distinct LNSCs regulates
viral dissemination, LN organization and inflammation, and development of
adaptive immunity
adaptive immunity"
hypothesis: We hypothesize that inflammatory responses, cell trafficking, and
development of protective adaptive immune responses are regulated by
discrete populations of LNSCs during viral infection
image: /images/project-1.png
abstract: Project 1 will define how viral targeting of distinct LNSCs
abstract: "Project 1 will define how viral targeting of distinct LNSCs
regulates viral dissemination, LN organization and inflammation, and
development of adaptive immunity. Project 1 and Project 2 will establish
development of adaptive immunity. Project 1 will establish
how viral targeting of LNSCs impacts antigen archiving and immune memory to
archived antigens. Finally, Project 1 coordinates with Project 3 to study
archived antigens. Finally, Project 1 will study
how isotype-specific immune complexes (ICs) promote chronic viral infection
of follicular dendritic cells (FDCs).
This project will use novel mouse models and human tissues and advanced
spatial and single-cell RNA approaches. This project will define how LNSCs
shape antiviral immune responses and how viruses manipulate LNSCs to evade
immunity.
immunity."

project-2:
title: Identify mechanisms of vaccine antigen localization and retention by
LNSCs that drive and enhance cellular and humoral immunity
short: Project 2 will define mechanisms of vaccine antigen acquisition and
retention by different LNSCs
short: "Project 2 will define mechanisms of vaccine antigen acquisition and
retention by different LNSCs"
hypothesis: We hypothesize that LNSC targeting improves and extends the
cellular and humoral responses required for vaccine mediated immunity
image: /images/project-2.png
abstract: Project 2 will work with Project 3 to define mechanisms of vaccine
antigen acquisition and retention by different LNSCs. Project 2 will work
with Projects 1 and 3 to determine if manipulation of antigen duration in
abstract: "Project 2 will define mechanisms of vaccine
antigen acquisition and retention by different LNSCs. Project 2 will
determine if manipulation of antigen duration in
LNSCs improves vaccine protection against arboviruses and influenza virus.
Finally, Project 2 will work with Project 1 to define the consequences of
virus induced cell death on LEC "training" and the impact on vaccine
Finally, Project 2 will define the consequences of
virus induced cell death on LEC 'training' and the impact on vaccine
immunity.
This project will distinguish functions of specific LNSC populations and
create novel vaccine strategies (e.g., mRNA, virus-like particles, and
lipid nanoparticles) and apply sophisticated spatial and single-cell
transcriptomic approaches to evaluate antigen levels within infrequent and
transcriptionally defined LNSC subsets. This project will determine how
specific LNSC subsets shape vaccine immunity and the consequences of viral
infection of LNSCs to vaccine immunity.
infection of LNSCs to vaccine immunity."

project-3:
title: Investigate the role of immune complexes in antigen acquisition and
retention by LNSCs to modulate cellular and humoral immunity
short: Project 3 will use stabilized DNA conjugates to track antibody:antigen
short: "Project 3 will use stabilized DNA conjugates to track antibody:antigen
complexes to determine the spatial and cellular localization of immune
complexes
complexes"
hypothesis: We hypothesize that antibody isotype in an IC regulates protective
immunity by determining which LNSC populations acquire and retain antigen
via isotype-specific interactions with complement and Fc receptors (FcRs)
image: /images/project-3.png
abstract: Project 3 will engineer monoclonal antibodies (mAbs) with fixed
abstract: "Project 3 will engineer monoclonal antibodies (mAbs) with fixed
antigen specificity on discrete antibody isotypes and subclasses. Using
stabilized DNA conjugates, Projects 2 and 3 will track antibody:antigen
complexes to determine the spatial and cellular localization of ICs in
Expand All @@ -62,27 +62,27 @@ project-3:
cellular immunity. This project will use mouse models engineered to
manipulate complement receptor and FcR expression by discrete LNSC
populations and will define how different LNSC populations use antibody to
determine antigen uptake and localization.
determine antigen uptake and localization."

core-b:
title: Mouse transgenics and tissue characterization
short: The goal of the animal and tissue core is to generate novel genetic
mouse models and to develop a tissue and cell repository
abstract: "The goal of the mouse transgenics and tissue core is to generate
novel genetic mouse models and to develop a tissue and cell repository, this
includes the following key tasks.\n\n
short: "Core B will generate novel genetic
mouse models and develop a tissue and cell repository"
abstract: "Core B will generate
novel genetic mouse models and develop a tissue and cell repository, this
includes the following tasks.\n\n
**Task 1.** Generation of novel mouse lines\n\n
**Task 2.** Provide a mouse colony for LNSC biology\n\n
**Task 3.** Provide a resource for maintenance and distribution of human and
mouse LNSCs and lymphoid tissues"

core-c:
title: Molecular technologies
short: The molecular technologies core will apply new molecular tools to
understand the contributions of lymph node stromal cells to immune responses
abstract: "The molecular technologies cores will apply new molecular tools to
short: "Core C will apply new molecular tools to
understand the contributions of lymph node stromal cells to immune responses"
abstract: "Core C will apply new molecular tools to
understand the contributions of lymph node stromal cells to immune
responses, this includes the following key tasks.\n\n
responses, this includes the following tasks.\n\n
**Task 1.** Generate validated reagents for and execute single-cell and
spatial transcriptomic experiments to probe LNSC biology\n\n
**Task 2.** Production of customized lipid nanoparticles with mRNA and siRNA
Expand All @@ -92,9 +92,9 @@ core-c:

core-d:
title: Bioinformatics
short: The bioinformatics core will apply new informatics approaches to
understand the contributions of lymph node stromal cells (LN SC) to immune responses
abstract: "The bioinformatics core will apply new informatics approaches to
short: "Core D will apply new informatics approaches to
understand the contributions of LNSCs to immune responses"
abstract: "Core D will apply new informatics approaches to
understand the contributions of LNSCs to immune responses, this includes the
following tasks.\n\n
**Task 1.** Provide a bioinformatics resource for rigorous and reproducible
Expand Down
Loading

0 comments on commit b7bc45b

Please sign in to comment.