Skip to content

Commit

Permalink
updated publications
Browse files Browse the repository at this point in the history
  • Loading branch information
sheridar committed Feb 20, 2024
1 parent b548727 commit d2a46d6
Show file tree
Hide file tree
Showing 39 changed files with 642 additions and 119 deletions.
6 changes: 5 additions & 1 deletion _quarto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,16 @@ project:

website:
title: "LNSC Browser"

navbar:
search: true
left:
- projects.qmd
- text: Projects
file: projects.qmd
- atlases.qmd
- pubs.qmd
- investigators.qmd

search:
location: navbar
type: textbox
Expand All @@ -19,6 +22,7 @@ format:
theme: darkly
css: styles.css
toc: true
toc-depth: 1

editor: visual

Binary file removed atlases/2021-walsh/2021-walsh.jpg
Binary file not shown.
6 changes: 4 additions & 2 deletions atlases/2021-walsh/index.qmd
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
---
title: Molecular tracking devices quantify antigen distribution and archiving in the murine lymph node
image: 2021-walsh.jpg
categories: [project-2, core-c, core-d]
image: /images/2021-walsh.jpg
date: 'April 12, 2021'

categories: [project-2, core-b, core-c, core-d]
about:
id: about
template: jolla
Expand Down
39 changes: 31 additions & 8 deletions authors.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,3 @@
Ryan Sheridan:
suffix: PhD
links:
publications: https://orcid.org/0000-0003-4012-3147
website: https://github.com/sheridar
email: mailto:[email protected]
project: core-d
Thomas Morrison:
suffix: PhD
links:
Expand Down Expand Up @@ -40,7 +33,9 @@ Beth Tamburini:
links:
website: https://medschool.cuanschutz.edu/gastroenterology/research/research-laboratories/beth-jiron-tamburini-lab
email: mailto:[email protected]
project: project-2
project:
- project-2
- core-b
bio: The overarching goal of my research program is to understand how the lymphatic
stroma recognize and react to stimuli within the lymph to guide the immune response.
My initial studies of lymphatic stroma were focused on understanding the mechanisms
Expand All @@ -59,6 +54,7 @@ Beth Tamburini:
in developing this research program. This collaborative research program as proven
to be well suited for the training and success of the graduate students and post-docs
in my laboratory.
image: /home/rmsheridan/Projects/lnsc-cell-browser/images/beth-tamburini.jpg
Jenna Guthmiller:
suffix: PhD
links:
Expand Down Expand Up @@ -88,6 +84,7 @@ Jenna Guthmiller:
conserved, albeit non-protective antigens. Together, these studies highlight the
importance of understanding how preexisting antibodies influence the generation
of broadly protective immunity.
image: /home/rmsheridan/Projects/lnsc-cell-browser/images/jenna-guthmiller.jpeg
Jay Hesselberth:
suffix: PhD
links:
Expand All @@ -110,6 +107,13 @@ Jay Hesselberth:
et al.). More recently, we have applied nanopore RNA sequencing to characterize
the landscape of RNA repair events in budding yeast.
image: /home/rmsheridan/Projects/lnsc-cell-browser/images/jay-hesselberth.png
Ryan Sheridan:
suffix: PhD
links:
publications: https://orcid.org/0000-0003-4012-3147
website: https://github.com/sheridar
email: mailto:[email protected]
project: core-d
Jennifer Matsuda:
suffix: PhD
links:
Expand Down Expand Up @@ -161,3 +165,22 @@ Nicholas May: []
Heather Hickman: []
Tadg Forward: []
Aspen Martin: []
Susan Elmore: []
Tonya Colpitts: []
Austin Gillen: []
Michael Kriss: []
Kent Riemondy: []
Ronald Schuyler: []
Hugo Rosen: []
Madison Kraus: []
Ira Fleming: []
Aspen Uecker-Martin: []
Ju-Sim Kim: []
Lin Liu: []
Sashi Kant: []
David Orlicky: []
Siva Uppalapati: []
Alyssa Margolis: []
Michael McClelland: []
Jessica Jones-Carson: []
Andres Vazquez-Torres: []
15 changes: 12 additions & 3 deletions funs.R
Original file line number Diff line number Diff line change
Expand Up @@ -82,12 +82,20 @@

# Set publication key based on first author and key
# this is used to create page directories
yr <- html %>%
date <- html %>%
html_element("span.cit") %>%
html_text2() %>%
str_extract("^[0-9]{4}(?= )")
str_extract("^[^;]+")

if (is.na(yr)) cli_abort("Error extracting year from pubmed link")
if (is.na(date)) cli_abort("Error extracting date from pubmed link")

date <- date %>%
as.Date(format = "%Y %b %d")

yr <- year(date)

date <- date %>%
format("%B %d, %Y")

athr1 <- athrs[1] %>%
str_extract("[^ ]+$") %>%
Expand All @@ -99,6 +107,7 @@
res <- list(
key = key,
title = ttl,
date = date,
year = yr,
authors = athrs,
abstract = abst
Expand Down
Binary file added images/2014-tamburini.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/2018-lucas.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/2018-mccarthy.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/2019-tamburini.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/2020-lucas.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/2023-tamburini.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/beth-tamburini.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/jenna-guthmiller.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/pub_tl.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/thomas-morrison-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/thomas-morrison.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
44 changes: 32 additions & 12 deletions index.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -14,31 +14,51 @@ library(here)
source(here("funs.R"))
# Read yamls
proj_yml <- read_yaml(here("projects.yml"))
pub_yml <- read_yaml(here("pubs.yml"))
athr_yml <- read_yaml(here("authors.yml"))
lnk_cls <- "{.link-box}"
# Create links for each project
links <- .create_project_links(proj_yml, athr_yml, pub_yml, lnk_cls)
# Split into projects and cores
# maintain order provided in yaml
proj_type <- proj_yml %>%
names() %>%
str_extract("^[^-]+") %>%
str_to_title() %>%
str_c("s") %>%
factor(levels = unique(.))
proj_yml <- proj_yml %>%
split(proj_type)
# Create section text
text <- proj_yml %>%
imap(~ {
ttl_lnk <- .x$title %>%
str_to_lower() %>%
str_replace_all("( |, )", "-") %>%
str_c("[", .x$title, "](projects.qmd#", ., "){.bold-link}")
ttl <- str_c("## ", .y, "\n\n")
str_c(
"* ", ttl_lnk, " \n",
links[[.y]], " \n",
.x$short, "\n\n"
)
.x %>%
imap(~ {
ttl_lnk <- .x$title %>%
str_to_lower() %>%
str_replace_all("( |, )", "-") %>%
str_c("[", .x$title, "](projects.qmd#", ., "){.bold-link}")
str_c(
"* ", ttl_lnk, " \n",
links[[.y]], " \n",
.x$short, "\n\n"
)
}) %>%
str_c(collapse = "") %>%
str_c(ttl, .)
}) %>%
str_c(collapse = "")
```

The theme uniting our program is that lymph node stromal cells (LNSC)s are an understudied and untapped source of immunomodulatory control. LNSCs are comprised of diverse populations of fibroblasts and endothelial cells. LNSCs coordinate lymphocyte entry into the lymph node (LN), facilitate lymphocyte trafficking into distinct LN niches, regulate lymphocyte survival, and promote LN expansion. Our overall hypothesis is that viral and antigen acquisition by LNSCs shapes immunity by programming pathogen and vaccine specific responses, and that LNSCs can be manipulated by pathogens and vaccines to guide immune outcomes.

## Projects
Lymph node stromal cells (LNSC)s are an understudied and untapped source of immunomodulatory control. LNSCs are comprised of diverse populations of fibroblasts and endothelial cells. LNSCs coordinate lymphocyte entry into the lymph node (LN), facilitate lymphocyte trafficking into distinct LN niches, regulate lymphocyte survival, and promote LN expansion. The goal of this program is to investigate how viral and antigen acquisition by LNSCs shape immunity and how LNSCs can be manipulated by pathogens and vaccines to guide immune outcomes.

`r text`
10 changes: 3 additions & 7 deletions investigators.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ text <- athr_yml %>%
if (!is.null(.x$suffix)) sfx <- str_c(", ", .x$suffix)
res <- str_c(
"## ", .y, sfx, "\n\n",
"<h2>", .y, sfx, "</h2>\n\n",
lnks, "\n\n",
.x$bio, "\n\n"
)
Expand All @@ -45,14 +45,10 @@ text <- athr_yml %>%
html_head <- str_c(
"<div class='investigator-image'>\n",
" <img src='", img, "'>\n",
" <p>\n"
" <img src='", img, "'>\n"
)
html_foot <- str_c(
" </p>\n",
"</div>"
)
html_foot <- "</div>"
res <- str_c(
html_head, res,
Expand Down
106 changes: 93 additions & 13 deletions pre-build.R
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Run this script prior to building site to:
# * Scrape publication information and generate publication pages
# * Update authors.yml based on publication information
# * Serach for author images and update authors.yml
# * Search for author images and update authors.yml

library(yaml)
library(tidyverse)
Expand Down Expand Up @@ -45,8 +45,13 @@ link_info <- list(
# Template to write index.qmd
index_qmd <- "---\ntitle: {ttl}\n"

# Check for duplicated publications
dup_pubs <- pub_yml %>%
map_chr(pluck, "pubmed") %>%
duplicated()

# Create index.qmd for each pub entry
pub_yml_new <- pub_yml %>%
pub_yml_new <- pub_yml[!dup_pubs] %>%
imap(~ {
pub_info <- .x

Expand All @@ -55,7 +60,7 @@ pub_yml_new <- pub_yml %>%

# Scrape missing info from pubmed
pub_attrs <- c(
"key", "title", "year",
"key", "title", "date", "year",
"authors", "abstract", "image"
)

Expand Down Expand Up @@ -91,7 +96,7 @@ pub_yml_new <- pub_yml %>%

if (length(img) > 1) img <- img[[1]]

} else if (file.exists(pub_info$image)) {
} else if (file.exists(str_remove(pub_info$image, "^/"))) {
img <- pub_info$image

} else {
Expand All @@ -102,20 +107,18 @@ pub_yml_new <- pub_yml %>%
download.file(img_dwnld, img)
}

img_nm <- basename(img)
img_lnk <- here(pub, img_nm)
img <- str_remove(img, here()) # image path should be relative to site

# Conditionally add image field to index.qmd
if (!is_empty(img_lnk)) {
index_qmd <- str_c(index_qmd, "image: {img_nm}\n")

if (!file.exists(img_lnk)) file.link(img, img_lnk)
if (!is_empty(img)) {
index_qmd <- str_c(index_qmd, "image: {img}\n")

pub_info$image <- img_lnk
pub_info$image <- img
}

index_qmd <- str_c(
index_qmd,
"date: '{pub_info$date}'\n\n",
"categories: [{cats_str}]\n",
"about:\n",
" id: about\n",
Expand Down Expand Up @@ -198,7 +201,7 @@ pub_yml_new <- pub_yml %>%
# Write updated pubs.yml
# this will have info scraped from pubmed
if (!identical(pub_yml, pub_yml_new)) {
pub_yml %>%
pub_yml_new %>%
write_yaml(here("pubs.yml"))
}

Expand Down Expand Up @@ -230,6 +233,83 @@ athr_yml_new <- athr_yml %>%
})

if (!identical(athr_yml, athr_yml_new)) {
athr_yml %>%
athr_yml_new %>%
write_yaml(here("authors.yml"))
}


# TIMELINE ----

# Filter for authors to label
lab_athr <- athr_yml_new %>%
keep(~ !is.null(.x$project)) %>%
names()

tl_dat <- pub_yml_new %>%
map_dfr(~ {
athrs <- .x$authors
athrs <- athrs[athrs %in% lab_athr]
athrs <- str_extract(athrs, "[^ ]+$")

tibble(
key = .x$key,
date = as.Date(str_c(.x$year, "-01-01")),
authors = str_c(athrs, collapse = ", "),
pmid = str_extract(.x$pubmed, "[0-9]+(/|)$")
)
})

# Format publication data
tl_dat <- tl_dat %>%
mutate(
authors = str_wrap(authors, width = 10),
pmid = str_remove(pmid, "/$"),
pmid = str_c("PMID ", pmid),
lab = str_c(authors, "\n", pmid),
year = as.character(year(date))
) %>%
group_by(date, year) %>%
summarize(lab = str_c(lab, collapse = "\n\n"), .groups = "drop")

# Create publication timeline
tl <- tl_dat %>%
ggplot(aes(date, 0)) +
geom_line(
linewidth = 3
) +
geom_point(
# shape = 25,
size = 6,
fill = "black"
) +
geom_text(
aes(y = 0.35, label = year),
size = 24 / .pt,
color = "white"
# fontface = "bold"
) +
geom_text(
aes(y = -0.25, label = lab),
hjust = 0,
vjust = 1,
size = 12 / .pt,
color = "white"
# fontface = "italic"
) +
coord_cartesian(
xlim = c(min(tl_dat$date), max(tl_dat$date) + years(1)),
ylim = c(-3, 0.6)
) +
theme_void() +
theme(
plot.background = element_rect(fill = "#303030", color = "#303030")
)

ggsave(
tl,
filename = here(img_dir, "pub_tl.png"),
width = 18,
height = 5,
dpi = 300,
device = "png"
)
Loading

0 comments on commit d2a46d6

Please sign in to comment.