Functional specialization of angular gyrus and precuneus subregions for perspective-guided autobiographical memory retrieval.
The 1 match
- [1] § Materials and Methods › fMRI analysis › Region of interest (ROI) analysis ↔ DataScripts/PosteriorParietalROISubregions_RetrievalOrientation.R, lines 1–58 · score 0.59 · JuBrain, posterior parietal, signal change, subregions, ROI, hemispheres
Paper
Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC
The paper is loaded when this pane is shown.
The authors' code
R · 1,111 lines · 37 KB · no license · 1 match
- #Load libraries
- library(readxl)
- library(tidyverse)
- library(stringr)
- library(afex)
- library(emmeans)
- library(DescTools)
- library(patchwork)
- library(ggsignif)
- library(effectsize)
- library(grid)
- # STEP 1: Load the new data file
- df_wide <- read_excel("~/Library/CloudStorage/[email hidden]/Shared drives/MELab/Projects/RetrievalOrientation/Results/ROI/JuBrain/PosteriorParietalSubregionROISignalChange_RetrievalOrientation.xlsx")
- # STEP 2: Convert wide to long format and extract variables
- df_long <- df_wide %>%
- pivot_longer(
- cols = -ID,
- names_to = "Condition",
- values_to = "Activation"
- ) %>%
- mutate(
- ID = as.factor(ID),
- Phase = case_when(
- str_detect(Condition, "^Cue") ~ "Cue",
- str_detect(Condition, "^Probe") ~ "Probe",
- TRUE ~ NA_character_
- ),
- RetrievalOrientation = case_when(
- str_detect(Condition, "OE") ~ "OwnEyes",
- str_detect(Condition, "OB") ~ "Observer",
- str_detect(Condition, "Ret") ~ "Retrieve",
- TRUE ~ NA_character_
- ),
- Hemisphere = case_when(
- str_detect(Condition, "Left") ~ "Left",
- str_detect(Condition, "Right") ~ "Right",
- TRUE ~ NA_character_
- ),
- Region = case_when(
- str_detect(Condition, "PGa") ~ "PGa",
- str_detect(Condition, "PGp") ~ "PGp",
- str_detect(Condition, "7A") ~ "7A",
- str_detect(Condition, "7M") ~ "7M",
- str_detect(Condition, "7P") ~ "7P",
- TRUE ~ NA_character_
- )
- ) %>%
- filter(!is.na(Phase)) %>%
- mutate(
- RetrievalOrientation = factor(RetrievalOrientation, levels = c("OwnEyes", "Observer", "Retrieve")),
- Hemisphere = factor(Hemisphere),
- Region = factor(Region),
- Phase = factor(Phase, levels = c("Cue", "Probe"))
- )
- view(df_long)
- # NEW FUNCTION
- run_roi_orientation_interaction <- function(df, hemisphere, phase, roi_group) {
- message("\n===== ", hemisphere, " Hemisphere — ", phase, " Phase — ROIs: ", paste(roi_group, collapse = ", "), " =====")
- df_subset <- df %>%
- filter(Hemisphere == hemisphere, Phase == phase, Region %in% roi_group)
- aov_model <- aov_ez(
- id = "ID",
- dv = "Activation",
- within = c("RetrievalOrientation", "Region"),
- data = df_subset,
- anova_table = list(correction = "GG", es = "pes")
- )
- print(summary(aov_model))
- # Optional: Post hoc for RetrievalOrientation within Region
- em <- emmeans(aov_model, ~ RetrievalOrientation | Region)
- print("\nEstimated marginal means for RetrievalOrientation:")
- print(summary(em))
- return(aov_model)
- }
- ################# Angular Gyrus ############################################
- ##### CUE PHASE ##########
- ###LEFT AG###
- results_left_cue_AG <- run_roi_orientation_interaction(df_long, "Left", "Cue", c("PGp", "PGa"))
- eta_squared(results_left_cue_AG, partial = TRUE)
- # Region x Retrieval Orientation Interaction
- em_intrxn <- emmeans(results_left_cue_AG, ~ RetrievalOrientation | Region)
- contrast_results <- contrast(em_intrxn, method = "pairwise", adjust = "holm")
- print(contrast_results)
- em_summary <- summary(em_intrxn)
- em_summary$SD <- em_summary$SE * sqrt(30)
- print(em_summary)
- ### RIGHT AG###
- results_right_cue_AG <- run_roi_orientation_interaction(df_long, "Right", "Cue", c("PGp", "PGa"))
- eta_squared(results_right_cue_AG, partial = TRUE)
- # Region x Retrieval Orientation Interaction
- em_intrxn <- emmeans(results_right_cue_AG, ~ RetrievalOrientation | Region)
- contrast_results <- contrast(em_intrxn, method = "pairwise", adjust = "holm")
- print(contrast_results)
- em_summary <- summary(em_intrxn)
- em_summary$SD <- em_summary$SE * sqrt(30)
- print(em_summary)
- #Main effect of Region
- em_region <- emmeans(results_right_cue_AG, ~ Region)
- contrast_region <- contrast(em_region, method = "pairwise", adjust = "holm")
- print(contrast_region)
- em_summary <- summary(em_region)
- em_summary$SD <- em_summary$SE * sqrt(30)
- print(em_summary)
- ##### Probe PHASE ##########
- ###LEFT AG###
- results_left_probe_AG <- run_roi_orientation_interaction(df_long, "Left", "Probe", c("PGp", "PGa"))
- eta_squared(results_left_probe_AG, partial = TRUE)
- #Main effect of Region
- em_region <- emmeans(results_left_probe_AG, ~ Region)
- contrast_region <- contrast(em_region, method = "pairwise", adjust = "holm")
- print(contrast_region)
- em_summary <- summary(em_region)
- em_summary$SD <- em_summary$SE * sqrt(30)
- print(em_summary)
- #Main effect of Retrieval Orientation
- em_retorient <- emmeans(results_left_probe_AG, ~ RetrievalOrientation)
- contrast_retorient <- contrast(em_retorient, method = "pairwise", adjust = "holm")
- print(contrast_retorient)
- em_summary <- summary(em_retorient)
- em_summary$SD <- em_summary$SE * sqrt(30)
- print(em_summary)
- # Region x Retrieval Orientation Interaction
- em_intrxn <- emmeans(results_left_probe_AG, ~ RetrievalOrientation | Region)
- contrast_results <- contrast(em_intrxn, method = "pairwise", adjust = "holm")
- print(contrast_results)
- em_summary <- summary(em_intrxn)
- em_summary$SD <- em_summary$SE * sqrt(30)
- print(em_summary)
- ### RIGHT AG###
- results_right_probe_AG <- run_roi_orientation_interaction(df_long, "Right", "Probe", c("PGp", "PGa"))
- eta_squared(results_right_probe_AG, partial = TRUE)
- #Main effect of Region
- em_region <- emmeans(results_right_probe_AG, ~ Region)
- contrast_region <- contrast(em_region, method = "pairwise", adjust = "holm")
- print(contrast_region)
- em_summary <- summary(em_region)
- em_summary$SD <- em_summary$SE * sqrt(30)
- print(em_summary)
- #Main effect of Retrieval Orientation
- em_retorient <- emmeans(results_right_probe_AG, ~ RetrievalOrientation)
- contrast_retorient <- contrast(em_retorient, method = "pairwise", adjust = "holm")
- print(contrast_retorient)
- em_summary <- summary(em_retorient)
- em_summary$SD <- em_summary$SE * sqrt(30)
- print(em_summary)
- ################# Precuneus ############################################
- ##### CUE PHASE ##########
- ###LEFT PRECUNEUS###
- results_left_cue_precuneus <- run_roi_orientation_interaction(df_long, "Left", "Cue", c("7A", "7M", "7P"))
- eta_squared(results_left_cue_precuneus, partial = TRUE)
- #Main Effect of Region
- em_region <- emmeans(results_left_cue_precuneus, ~ Region)
- contrast_region <- contrast(em_region, method = "pairwise", adjust = "holm")
- print(contrast_region)
- em_summary <- summary(em_region)
- em_summary$SD <- em_summary$SE * sqrt(30)
- print(em_summary)
- #Main effect of Retrieval Orientation
- em_retorient <- emmeans(results_left_cue_precuneus, ~ RetrievalOrientation)
- contrast_retorient <- contrast(em_retorient, method = "pairwise", adjust = "holm")
- print(contrast_retorient)
- em_summary <- summary(em_retorient)
- em_summary$SD <- em_summary$SE * sqrt(30)
- print(em_summary)
- ###RIGHT Precuneus###
- results_right_cue_precuneus <- run_roi_orientation_interaction(df_long, "Right", "Cue", c("7A", "7M", "7P"))
- eta_squared(results_right_cue_precuneus, partial = TRUE)
- #Main effect of Region
- em_region <- emmeans(results_right_cue_precuneus, ~ Region)
- contrast_region <- contrast(em_region, method = "pairwise", adjust = "holm")
- print(contrast_region)
- em_summary <- summary(em_region)
- em_summary$SD <- em_summary$SE * sqrt(30)
- print(em_summary)
- #Main effect of Retrieval Orientation
- em_retorient <- emmeans(results_right_cue_precuneus, ~ RetrievalOrientation)
- contrast_retorient <- contrast(em_retorient, method = "pairwise", adjust = "holm")
- print(contrast_retorient)
- em_summary <- summary(em_retorient)
- em_summary$SD <- em_summary$SE * sqrt(30)
- print(em_summary)
- ############################################
- ###################### PROBE PHASE ##########
- ###LEFT PRECUNEUS###
- results_left_probe_precuneus <- run_roi_orientation_interaction(df_long, "Left", "Probe", c("7A", "7M", "7P"))
- eta_squared(results_left_probe_precuneus, partial = TRUE)
- #Main effect of Region
- em_region <- emmeans(results_left_probe_precuneus, ~ Region)
- contrast_region <- contrast(em_region, method = "pairwise", adjust = "holm")
- print(contrast_region)
- em_summary <- summary(em_region)
- em_summary$SD <- em_summary$SE * sqrt(30)
- print(em_summary)
- #Main effect of Retrieval Orientation
- em_retorient <- emmeans(results_left_probe_precuneus, ~ RetrievalOrientation)
- contrast_retorient <- contrast(em_retorient, method = "pairwise", adjust = "holm")
- print(contrast_retorient)
- em_summary <- summary(em_retorient)
- em_summary$SD <- em_summary$SE * sqrt(30)
- print(em_summary)
- # Region x Retrieval Orientation Interaction
- em_intrxn <- emmeans(results_left_probe_precuneus, ~ RetrievalOrientation | Region)
- contrast_results <- contrast(em_intrxn, method = "pairwise", adjust = "holm")
- print(contrast_results)
- em_summary <- summary(em_intrxn)
- em_summary$SD <- em_summary$SE * sqrt(30)
- print(em_summary)
- ###RIGHT PRECUNEUS###
- results_right_probe_precuneus <- run_roi_orientation_interaction(df_long, "Right", "Probe", c("7A", "7M", "7P"))
- eta_squared(results_right_probe_precuneus, partial = TRUE)
- #Main effect of Region
- em_region <- emmeans(results_right_probe_precuneus, ~ Region)
- contrast_region <- contrast(em_region, method = "pairwise", adjust = "holm")
- print(contrast_region)
- em_summary <- summary(em_region)
- em_summary$SD <- em_summary$SE * sqrt(30)
- print(em_summary)
- # Region x Retrieval Orientation Interaction
- em_intrxn <- emmeans(results_right_probe_precuneus, ~ RetrievalOrientation | Region)
- contrast_results <- contrast(em_intrxn, method = "pairwise", adjust = "holm")
- print(contrast_results)
- em_summary <- summary(em_intrxn)
- em_summary$SD <- em_summary$SE * sqrt(30)
- print(em_summary)
- em_intrxn <- emmeans(results_right_probe_precuneus, ~ Region | RetrievalOrientation)
- contrast_results <- contrast(em_intrxn, method = "pairwise", adjust = "holm")
- print(contrast_results)
- ########################################
- ######### Figures ################
- palette_by_orientation <- c(
- "OwnEyes" = "#1F78B4",
- "Observer" = "#A6CEE3",
- "Retrieve" = "gray45"
- )
- #### Angular Gyrus #######
- plot_AG_by_region_phase <- function(df, region_name, phase_name, title_text, pal, show_y_label = TRUE, y_limits, y_breaks, y_expand) {
- df_sub <- df %>%
- filter(
- Phase == phase_name,
- Hemisphere == "Left",
- Region == region_name,
- RetrievalOrientation %in% c("OwnEyes", "Observer", "Retrieve")
- ) %>%
- mutate(
- Orientation = factor(RetrievalOrientation, levels = c("OwnEyes", "Observer", "Retrieve"))
- )
- # summary_df <- df_sub %>%
- # group_by(Orientation) %>%
- # summarise(
- # mean = mean(Activation, na.rm = TRUE),
- # se = sd(Activation, na.rm = TRUE) / sqrt(n()),
- # n = n(),
- # .groups = "drop"
- # ) %>%
- # mutate(
- # ci_lower = mean - 1.96 * se,
- # ci_upper = mean + 1.96 * se
- # )
- # Use your within-subjects variables
- df_summary <- Rmisc::summarySEwithin(
- data = df_sub,
- measurevar = "Activation",
- withinvars = "Orientation",
- idvar = "ID", # change to your actual subject ID column
- na.rm = TRUE,
- conf.interval = .95
- )
- plot <- ggplot(df_summary, aes(x = Orientation, y = Activation, fill = Orientation)) +
- geom_col(width = 0.7, color = "black") +
- geom_errorbar(
- #aes(ymin = ci_lower, ymax = ci_upper),
- aes(ymin = Activation - ci, ymax = Activation + ci),
- width = 0.2,
- size = 0.8,
- color = "black"
- ) +
- geom_hline(yintercept = 0, color = "black", linewidth = 0.8) +
- scale_fill_manual(values = pal) +
- scale_x_discrete(labels = c("OwnEyes" = "Own Eyes", "Observer" = "Observer", "Retrieve" = "Retrieve")) +
- scale_y_continuous(
- limits = y_limits,
- breaks = y_breaks,
- labels = function(x) sprintf("%.2f", x),
- expand = y_expand
- ) +
- labs(
- title = title_text,
- x = NULL,
- y = if (show_y_label) "% Signal Change" else NULL
- ) +
- theme(
- plot.background = element_rect(fill = "white"),
- panel.background = element_rect(fill = "white"),
- axis.line = element_line(color = "black"),
- axis.ticks = element_line(size = 1),
- axis.ticks.length = unit(0.25, "cm"),
- panel.border = element_rect(colour = "black", fill = NA, size = 1.25),
- legend.position = "none",
- text = element_text(size = 24, colour = "black", family = "Arial"),
- axis.text = element_text(size = 20, colour = "black"),
- axis.text.x = element_text(size = 20),
- axis.title.x = element_blank(),
- strip.text = element_text(size = 26, face = "bold"),
- strip.background = element_rect(fill = "white", color = NA),
- plot.title = element_text(size = 26, hjust = 0.5),
- plot.tag.position = c(0, 0.98), # top-left corner (x = 0 [left], y = 1 [top])
- plot.tag = element_text(size = 26), # customize style
- plot.margin = unit(c(0.25, 0.25, 0.25, 0.25), "lines")
- )
- if (region_name == "PGp" & phase_name == "Cue") {
- plot <- plot +
- geom_signif(
- comparisons = list(c("OwnEyes", "Retrieve"), c("Observer", "Retrieve")),
- annotations = c("*", "*"),
- y_position = c(0.12, 0.09),
- tip_length = 0.04,
- textsize = 8
- )
- theme(
- axis.title.y = element_blank(),
- axis.text.y = element_blank(),
- axis.ticks.y = element_blank()
- )
- }
- if (region_name == "PGa") {
- plot <- plot +
- theme(plot.margin = unit(c(1, 0.25, 1, 1), "lines"))
- }
- if (region_name == "PGp") {
- plot <- plot +
- theme(
- plot.margin = unit(c(1, 1, 1, 0.1), "lines"),
- axis.title.y = element_blank(),
- axis.text.y = element_blank(),
- axis.ticks.y = element_blank()
- )
- }
- if (region_name == "PGp" & phase_name == "Probe") {
- plot <- plot +
- geom_signif(
- comparisons = list(c("OwnEyes", "Observer"), c("Observer", "Retrieve")),
- annotations = c("*", "*"),
- y_position = c(0.55, 0.60),
- tip_length = 0.04,
- textsize = 8
- )
- theme(
- axis.title.y = element_blank(),
- axis.text.y = element_blank(),
- axis.ticks.y = element_blank()
- )
- }
- # Return the final plot
- return(plot)
- }
- # Cue phase plots
- p_pga_cue <- plot_AG_by_region_phase(df_long, "PGa", "Cue", "Left PGa", palette_by_orientation,show_y_label = TRUE, y_limits = c(-0.06, 0.15), y_breaks = c(-0.06, -0.03, 0, 0.03, 0.06, 0.09, 0.12, 0.15), y_expand = c(0.01, 0.01))
- p_pgp_cue <- plot_AG_by_region_phase(df_long, "PGp", "Cue", "Left PGp", palette_by_orientation, show_y_label = FALSE, y_limits = c(-0.06, 0.15), y_breaks = c(-0.06, -0.03, 0, 0.03, 0.06, 0.09, 0.12, 0.15), y_expand = c(0.01, 0.01))
- # Probe phase plots
- p_pga_probe <- plot_AG_by_region_phase(df_long, "PGa", "Probe", "Left PGa", palette_by_orientation, show_y_label = TRUE, y_limits = c(0, 0.75), y_breaks = c(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7), y_expand = c(0, 0))
- p_pgp_probe <- plot_AG_by_region_phase(df_long, "PGp", "Probe", "Left PGp", palette_by_orientation, show_y_label = FALSE, y_limits = c(0, 0.75), y_breaks = c(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7), y_expand = c(0, 0))
- # Step 0: Add tags to each individual plot
- p_pga_cue <- p_pga_cue + labs(tag = "A")
- p_pgp_cue <- p_pgp_cue + labs(tag = "B")
- p_pga_probe <- p_pga_probe + labs(tag = "C")
- p_pgp_probe <- p_pgp_probe + labs(tag = "D")
- p_pga_cue <- p_pga_cue +
- theme(plot.tag.position = c(0.155, 0.98))
- p_pga_probe <- p_pga_probe +
- theme(plot.tag.position = c(0.155, 0.98))
- p_pgp_cue <- p_pgp_cue +
- theme(plot.tag.position = c(0.02, 0.98))
- p_pgp_probe <- p_pgp_probe +
- theme(plot.tag.position = c(0.02, 0.98))
- cue_annotation <- wrap_elements(
- full = grid::textGrob(
- "Cue Phase: Region x Retrieval Orientation Interaction",
- x = unit(0, "npc"), just = "left",
- gp = gpar(fontsize = 24, fontface = "italic")
- )
- )
- probe_annotation <- wrap_elements(
- full = grid::textGrob(
- "Probe Phase: Region x Retrieval Orientation Interaction",
- x = unit(0, "npc"), just = "left",
- gp = gpar(fontsize = 24, fontface = "italic")
- )
- )
- combined_plot <- wrap_plots(
- cue_annotation,
- (p_pga_cue | p_pgp_cue),
- probe_annotation,
- (p_pga_probe | p_pgp_probe),
- ncol = 1,
- heights = c(0.08, 1, 0.08, 1)
- )
- combined_plot
- ggsave(
- filename = "Figure_LeftAG_Subregions_Combined.png", # or .tiff, .pdf
- plot = combined_plot,
- path = "~/Library/CloudStorage/[email hidden]/Shared drives/MELab/Projects/RetrievalOrientation/Results/ROI/",
- width = 12, # in inches
- height = 12, # in inches
- dpi = 600 # high-res for publication
- )
- ### Right AG ########
- plot_AG_by_region_phase <- function(df, region_name, phase_name, title_text, pal, show_y_label = TRUE, y_limits, y_breaks, y_expand) {
- df_sub <- df %>%
- filter(
- Phase == phase_name,
- Hemisphere == "Right",
- Region == region_name,
- RetrievalOrientation %in% c("OwnEyes", "Observer", "Retrieve")
- ) %>%
- mutate(
- Orientation = factor(RetrievalOrientation, levels = c("OwnEyes", "Observer", "Retrieve"))
- )
- # summary_df <- df_sub %>%
- # group_by(Orientation) %>%
- # summarise(
- # mean = mean(Activation, na.rm = TRUE),
- # se = sd(Activation, na.rm = TRUE) / sqrt(n()),
- # n = n(),
- # .groups = "drop"
- # ) %>%
- # mutate(
- # ci_lower = mean - 1.96 * se,
- # ci_upper = mean + 1.96 * se
- # )
- # Use your within-subjects variables
- df_summary <- Rmisc::summarySEwithin(
- data = df_sub,
- measurevar = "Activation",
- withinvars = "Orientation",
- idvar = "ID", # change to your actual subject ID column
- na.rm = TRUE,
- conf.interval = .95
- )
- plot <- ggplot(df_summary, aes(x = Orientation, y = Activation, fill = Orientation)) +
- geom_col(width = 0.7, color = "black") +
- geom_errorbar(
- #aes(ymin = ci_lower, ymax = ci_upper),
- aes(ymin = Activation - ci, ymax = Activation + ci),
- width = 0.2,
- size = 0.8,
- color = "black"
- ) +
- geom_hline(yintercept = 0, color = "black", linewidth = 0.8) +
- scale_fill_manual(values = pal) +
- scale_x_discrete(labels = c("OwnEyes" = "Own Eyes", "Observer" = "Observer", "Retrieve" = "Retrieve")) +
- scale_y_continuous(
- limits = y_limits,
- breaks = y_breaks,
- labels = function(x) sprintf("%.2f", x),
- expand = y_expand
- ) +
- labs(
- title = title_text,
- x = NULL,
- y = if (show_y_label) "% Signal Change" else NULL
- ) +
- theme(
- plot.background = element_rect(fill = "white"),
- panel.background = element_rect(fill = "white"),
- axis.line = element_line(color = "black"),
- axis.ticks = element_line(size = 1),
- axis.ticks.length = unit(0.25, "cm"),
- panel.border = element_rect(colour = "black", fill = NA, size = 1.25),
- legend.position = "none",
- text = element_text(size = 24, colour = "black", family = "Arial"),
- axis.text = element_text(size = 20, colour = "black"),
- axis.text.x = element_text(size = 20),
- axis.title.x = element_blank(),
- strip.text = element_text(size = 26, face = "bold"),
- strip.background = element_rect(fill = "white", color = NA),
- plot.title = element_text(size = 26, hjust = 0.5),
- plot.tag.position = c(0, 0.98), # top-left corner (x = 0 [left], y = 1 [top])
- plot.tag = element_text(size = 26), # customize style
- plot.margin = unit(c(0.25, 0.25, 0.25, 0.25), "lines")
- )
- if (region_name == "PGp" & phase_name == "Cue") {
- plot <- plot +
- theme(
- axis.title.y = element_blank(),
- axis.text.y = element_blank(),
- axis.ticks.y = element_blank()
- )
- }
- if (region_name == "PGa") {
- plot <- plot +
- theme(plot.margin = unit(c(1, 0.25, 1, 1), "lines"))
- }
- if (region_name == "PGp") {
- plot <- plot +
- theme(
- plot.margin = unit(c(1, 1, 1, 0.1), "lines"),
- axis.title.y = element_blank(),
- axis.text.y = element_blank(),
- axis.ticks.y = element_blank()
- )
- }
- if (phase_name == "Probe") {
- ob_row <- df_summary[df_summary$Orientation == "Observer", ]
- if (nrow(ob_row) > 0) {
- y_value <- ob_row$Activation
- y_ci <- ob_row$ci
- # Place asterisk above or below depending on direction
- y_star <- if (y_value >= 0) y_value + y_ci + 0.03 else y_value - y_ci - 0.05
- plot <- plot +
- annotate("text", x = "Observer", y = y_star, label = "*", size = 10)
- }
- }
- # Return the final plot
- return(plot)
- }
- # Cue phase plots
- p_pga_cue <- plot_AG_by_region_phase(df_long, "PGa", "Cue", "Right PGa: Cue", palette_by_orientation,show_y_label = TRUE, y_limits = c(-0.09, 0.09), y_breaks = c(-0.09, -0.06, -0.03, 0, 0.03, 0.06, 0.09), y_expand = c(0.01, 0.01))
- p_pgp_cue <- plot_AG_by_region_phase(df_long, "PGp", "Cue", "Right PGp: Cue", palette_by_orientation, show_y_label = FALSE, y_limits = c(-0.09, 0.09), y_breaks = c(-0.09, -0.06, -0.03, 0, 0.03, 0.06, 0.09), y_expand = c(0.01, 0.01))
- # Probe phase plots
- p_pga_probe <- plot_AG_by_region_phase(df_long, "PGa", "Probe", "Right PGa: Probe", palette_by_orientation, show_y_label = TRUE, y_limits = c(-0.2, 0.4), y_breaks = c(-0.2, -0.1, 0, 0.1, 0.2, 0.3, 0.4), y_expand = c(0.01, 0.01))
- p_pgp_probe <- plot_AG_by_region_phase(df_long, "PGp", "Probe", "Right PGp: Probe", palette_by_orientation, show_y_label = FALSE, y_limits = c(-0.2, 0.4), y_breaks = c(-0.2, -0.1, 0, 0.1, 0.2, 0.3, 0.4), y_expand = c(0.01, 0.01))
- # Step 0: Add tags to each individual plot
- p_pga_cue <- p_pga_cue + labs(tag = "A")
- p_pgp_cue <- p_pgp_cue + labs(tag = "B")
- p_pga_probe <- p_pga_probe + labs(tag = "C")
- p_pgp_probe <- p_pgp_probe + labs(tag = "D")
- p_pga_cue <- p_pga_cue +
- theme(plot.tag.position = c(0.155, 0.98))
- p_pga_probe <- p_pga_probe +
- theme(plot.tag.position = c(0.155, 0.98))
- p_pgp_cue <- p_pgp_cue +
- theme(plot.tag.position = c(0.02, 0.98))
- p_pgp_probe <- p_pgp_probe +
- theme(plot.tag.position = c(0.02, 0.98))
- cue_annotation <- wrap_elements(
- full = grid::textGrob(
- "Cue Phase: Main Effect of Region (PGp > PGa)",
- x = unit(0, "npc"), just = "left",
- gp = gpar(fontsize = 24, fontface = "italic")
- )
- )
- probe_annotation <- wrap_elements(
- full = grid::textGrob(
- "Probe Phase: Main Effect of Retrieval Orientation (OB > OE & Retrieve)",
- x = unit(0, "npc"), just = "left",
- gp = gpar(fontsize = 24, fontface = "italic")
- )
- )
- combined_plot <- wrap_plots(
- cue_annotation,
- (p_pga_cue | p_pgp_cue),
- probe_annotation,
- (p_pga_probe | p_pgp_probe),
- ncol = 1,
- heights = c(0.08, 1, 0.08, 1)
- )
- combined_plot
- ggsave(
- filename = "Figure_RightAG_Subregions_Combined.png",
- plot = combined_plot,
- path = "~/Library/CloudStorage/[email hidden]/Shared drives/MELab/Projects/RetrievalOrientation/Results/ROI/",
- width = 12, # in inches
- height = 12, # in inches
- dpi = 600 # high-res for publication
- )
- ######## Precuneus #########
- plot_precuneus_by_region_phase <- function(df, region_name, phase_name, title_text, pal, show_y_label = TRUE, y_limits, y_breaks, y_expand) {
- df_sub <- df %>%
- filter(
- Phase == phase_name,
- Hemisphere == "Left",
- Region == region_name,
- RetrievalOrientation %in% c("OwnEyes", "Observer", "Retrieve")
- ) %>%
- mutate(
- Orientation = factor(RetrievalOrientation, levels = c("OwnEyes", "Observer", "Retrieve"))
- )
- # summary_df <- df_sub %>%
- # group_by(Orientation) %>%
- # summarise(
- # mean = mean(Activation, na.rm = TRUE),
- # se = sd(Activation, na.rm = TRUE) / sqrt(n()),
- # n = n(),
- # .groups = "drop"
- # ) %>%
- # mutate(
- # ci_lower = mean - 1.96 * se,
- # ci_upper = mean + 1.96 * se
- # )
- # Use your within-subjects variables
- df_summary <- Rmisc::summarySEwithin(
- data = df_sub,
- measurevar = "Activation",
- withinvars = "Orientation",
- idvar = "ID", # change to your actual subject ID column
- na.rm = TRUE,
- conf.interval = .95
- )
- plot <- ggplot(df_summary, aes(x = Orientation, y = Activation, fill = Orientation)) +
- geom_col(width = 0.7, color = "black") +
- geom_errorbar(
- #aes(ymin = ci_lower, ymax = ci_upper),
- aes(ymin = Activation - ci, ymax = Activation + ci),
- width = 0.2,
- size = 0.8,
- color = "black"
- ) +
- geom_hline(yintercept = 0, color = "black", linewidth = 0.8) +
- scale_fill_manual(values = pal) +
- scale_x_discrete(labels = c("OwnEyes" = "Own Eyes", "Observer" = "Observer", "Retrieve" = "Retrieve")) +
- scale_y_continuous(
- limits = y_limits,
- breaks = y_breaks,
- labels = function(x) sprintf("%.2f", x),
- expand = y_expand
- ) +
- labs(
- title = title_text,
- x = NULL,
- y = if (show_y_label) "% Signal Change" else NULL
- ) +
- theme(
- plot.background = element_rect(fill = "white"),
- panel.background = element_rect(fill = "white"),
- axis.line = element_line(color = "black"),
- axis.ticks = element_line(size = 1),
- axis.ticks.length = unit(0.25, "cm"),
- panel.border = element_rect(colour = "black", fill = NA, size = 1.25),
- legend.position = "none",
- text = element_text(size = 24, colour = "black", family = "Arial"),
- axis.text = element_text(size = 20, colour = "black"),
- axis.text.x = element_text(size = 20),
- axis.title.x = element_blank(),
- strip.text = element_text(size = 26, face = "bold"),
- strip.background = element_rect(fill = "white", color = NA),
- plot.title = element_text(size = 26, hjust = 0.5),
- plot.tag.position = c(0, 0.98), # top-left corner (x = 0 [left], y = 1 [top])
- plot.tag = element_text(size = 26), # customize style
- plot.margin = unit(c(0.25, 0.25, 0.25, 0.25), "lines")
- )
- if (region_name == "7P" & phase_name == "Probe") {
- plot <- plot +
- geom_signif(
- comparisons = list(c("Observer", "OwnEyes"), c("Observer", "Retrieve")),
- annotations = c("*", "*"),
- y_position = c(0.55, 0.48),
- tip_length = 0.04,
- textsize = 8
- )
- }
- if (region_name == "7M") {
- plot <- plot +
- theme(
- plot.margin = unit(c(1, 0.3, 1, 0.3), "lines"),
- axis.title.y = element_blank(),
- axis.text.y = element_blank(),
- axis.ticks.y = element_blank()
- )
- }
- if (region_name == "7P") {
- plot <- plot +
- theme(
- plot.margin = unit(c(1, 1, 1, 0.3), "lines"),
- axis.title.y = element_blank(),
- axis.text.y = element_blank(),
- axis.ticks.y = element_blank()
- )
- }
- if (region_name == "7P") {
- plot <- plot +
- theme(
- plot.margin = unit(c(1, 1, 1, 0.3), "lines"),
- axis.title.y = element_blank(),
- axis.text.y = element_blank(),
- axis.ticks.y = element_blank()
- )
- }
- if (phase_name == "Cue") {
- oe_row <- df_summary[df_summary$Orientation == "OwnEyes", ]
- if (nrow(oe_row) > 0) {
- y_value <- oe_row$Activation
- y_ci <- oe_row$ci
- # Place asterisk above or below depending on direction
- y_star <- if (y_value >= 0) y_value + y_ci + 0.03 else y_value - y_ci - 0.06
- plot <- plot +
- annotate("text", x = "OwnEyes", y = y_star, label = "*", size = 10)
- }
- }
- # Return the final plot
- return(plot)
- }
- # Cue phase plots
- p_7A_cue <- plot_precuneus_by_region_phase(df_long, "7A", "Cue", "Left 7A", palette_by_orientation, show_y_label = TRUE, y_limits = c(-0.3, 0.5), y_breaks = c(-0.30, -0.20, -0.10, 0, 0.10, 0.20, 0.30, 0.40, 0.50), y_expand = c(0.01, 0.01))
- p_7M_cue <- plot_precuneus_by_region_phase(df_long, "7M", "Cue","Left 7M", palette_by_orientation, show_y_label = FALSE, y_limits = c(-0.3, 0.5), y_breaks = c(-0.30,-0.20, -0.10, 0, 0.10, 0.20, 0.30, 0.40, 0.50), y_expand = c(0.01, 0.01))
- p_7P_cue <- plot_precuneus_by_region_phase(df_long, "7P", "Cue","Left 7P", palette_by_orientation, show_y_label = FALSE, y_limits = c(-0.3, 0.5), y_breaks = c(-0.30,-0.20, -0.10, 0, 0.10, 0.20, 0.30, 0.40, 0.50), y_expand = c(0.01, 0.01))
- # Probe phase plots
- p_7A_probe <- plot_precuneus_by_region_phase(df_long, "7A","Probe", "Left 7A", palette_by_orientation, show_y_label = TRUE, y_limits = c(-0.2, 0.70), y_breaks = c(-0.20, -0.10, 0, 0.10, 0.20, 0.30, 0.40, 0.50, 0.60, 0.70), y_expand = c(0.01, 0.01))
- p_7M_probe <- plot_precuneus_by_region_phase(df_long, "7M", "Probe","Left 7M", palette_by_orientation, show_y_label = FALSE, y_limits = c(-0.2, 0.70), y_breaks = c(-0.20, -0.10, 0, 0.10, 0.20, 0.30, 0.40, 0.50, 0.60, 0.70), y_expand = c(0.01, 0.01))
- p_7P_probe <- plot_precuneus_by_region_phase(df_long, "7P", "Probe","Left 7P", palette_by_orientation, show_y_label = FALSE, y_limits = c(-0.2, 0.70), y_breaks = c(-0.20, -0.10, 0, 0.10, 0.20, 0.30, 0.40, 0.50, 0.60, 0.70), y_expand = c(0.01, 0.01))
- # Step 0: Add tags to each individual plot
- p_7A_cue <- p_7A_cue + labs(tag = "A")
- p_7M_cue <- p_7M_cue + labs(tag = "B")
- p_7P_cue <- p_7P_cue + labs(tag = "C")
- p_7A_probe <- p_7A_probe + labs(tag = "D")
- p_7M_probe <- p_7M_probe + labs(tag = "E")
- p_7P_probe <- p_7P_probe + labs(tag = "F")
- p_7A_cue <- p_7A_cue +
- theme(plot.tag.position = c(0.18, 0.98))
- p_7A_probe <- p_7A_probe +
- theme(plot.tag.position = c(0.18, 0.98))
- p_7M_cue <- p_7M_cue +
- theme(plot.tag.position = c(0.02, 0.98))
- p_7M_probe <- p_7M_probe +
- theme(plot.tag.position = c(0.02, 0.98))
- p_7P_cue <- p_7P_cue +
- theme(plot.tag.position = c(0.02, 0.98))
- p_7P_probe <- p_7P_probe +
- theme(plot.tag.position = c(0.02, 0.98))
- cue_annotation <- wrap_elements(
- full = grid::textGrob(
- "Cue Phase: Main Effect of Retrieval Orientation (OE > Retrieve)",
- x = unit(0, "npc"), just = "left",
- gp = gpar(fontsize = 24, fontface = "italic")
- )
- )
- probe_annotation <- wrap_elements(
- full = grid::textGrob(
- "Probe Phase: Region x Retrieval Interaction",
- x = unit(0, "npc"), just = "left",
- gp = gpar(fontsize = 24, fontface = "italic")
- )
- )
- combined_plot <- wrap_plots(
- cue_annotation,
- (p_7A_cue | p_7M_cue | p_7P_cue),
- probe_annotation,
- (p_7A_probe | p_7M_probe | p_7P_probe),
- ncol = 1,
- heights = c(0.08, 1, 0.08, 1)
- )
- combined_plot
- ggsave(
- filename = "Figure_LeftPrecuneus_Subregions_Combined_barplot_nowinsorize.png", # or .tiff, .pdf
- plot = combined_plot,
- path = "~/Library/CloudStorage/[email hidden]/Shared drives/MELab/Projects/RetrievalOrientation/Results/ROI/",
- width = 16, # in inches
- height = 12, # in inches
- dpi = 600 # high-res for publication
- )
- ### Right Precuneus
- plot_precuneus_by_region_phase <- function(df, region_name, phase_name, title_text, pal, show_y_label = TRUE, y_limits, y_breaks, y_expand) {
- df_sub <- df %>%
- filter(
- Phase == phase_name,
- Hemisphere == "Right",
- Region == region_name,
- RetrievalOrientation %in% c("OwnEyes", "Observer", "Retrieve")
- ) %>%
- mutate(
- Orientation = factor(RetrievalOrientation, levels = c("OwnEyes", "Observer", "Retrieve"))
- )
- # summary_df <- df_sub %>%
- # group_by(Orientation) %>%
- # summarise(
- # mean = mean(Activation, na.rm = TRUE),
- # se = sd(Activation, na.rm = TRUE) / sqrt(n()),
- # n = n(),
- # .groups = "drop"
- # ) %>%
- # mutate(
- # ci_lower = mean - 1.96 * se,
- # ci_upper = mean + 1.96 * se
- # )
- # Use your within-subjects variables
- df_summary <- Rmisc::summarySEwithin(
- data = df_sub,
- measurevar = "Activation",
- withinvars = "Orientation",
- idvar = "ID", # change to your actual subject ID column
- na.rm = TRUE,
- conf.interval = .95
- )
- plot <- ggplot(df_summary, aes(x = Orientation, y = Activation, fill = Orientation)) +
- geom_col(width = 0.7, color = "black") +
- geom_errorbar(
- #aes(ymin = ci_lower, ymax = ci_upper),
- aes(ymin = Activation - ci, ymax = Activation + ci),
- width = 0.2,
- size = 0.8,
- color = "black"
- ) +
- geom_hline(yintercept = 0, color = "black", linewidth = 0.8) +
- scale_fill_manual(values = pal) +
- scale_x_discrete(labels = c("OwnEyes" = "Own Eyes", "Observer" = "Observer", "Retrieve" = "Retrieve")) +
- scale_y_continuous(
- limits = y_limits,
- breaks = y_breaks,
- labels = function(x) sprintf("%.2f", x),
- expand = y_expand
- ) +
- labs(
- title = title_text,
- x = NULL,
- y = if (show_y_label) "% Signal Change" else NULL
- ) +
- theme(
- plot.background = element_rect(fill = "white"),
- panel.background = element_rect(fill = "white"),
- axis.line = element_line(color = "black"),
- axis.ticks = element_line(size = 1),
- axis.ticks.length = unit(0.25, "cm"),
- panel.border = element_rect(colour = "black", fill = NA, size = 1.25),
- legend.position = "none",
- text = element_text(size = 24, colour = "black", family = "Arial"),
- axis.text = element_text(size = 20, colour = "black"),
- axis.text.x = element_text(size = 20),
- axis.title.x = element_blank(),
- strip.text = element_text(size = 26, face = "bold"),
- strip.background = element_rect(fill = "white", color = NA),
- plot.title = element_text(size = 26, hjust = 0.5),
- plot.tag.position = c(0, 0.98), # top-left corner (x = 0 [left], y = 1 [top])
- plot.tag = element_text(size = 26), # customize style
- plot.margin = unit(c(0.25, 0.25, 0.25, 0.25), "lines")
- )
- if (region_name == "7A") {
- plot <- plot +
- theme(plot.margin = unit(c(1, 0.3, 1, 1), "lines"))
- }
- if (region_name == "7M") {
- plot <- plot +
- theme(
- plot.margin = unit(c(1, 0.3, 1, 0.3), "lines"),
- axis.title.y = element_blank(),
- axis.text.y = element_blank(),
- axis.ticks.y = element_blank()
- )
- }
- if (region_name == "7P") {
- plot <- plot +
- theme(
- plot.margin = unit(c(1, 1, 1, 0.3), "lines"),
- axis.title.y = element_blank(),
- axis.text.y = element_blank(),
- axis.ticks.y = element_blank()
- )
- }
- if (phase_name == "Cue") {
- oe_row <- df_summary[df_summary$Orientation == "OwnEyes", ]
- if (nrow(oe_row) > 0) {
- y_value <- oe_row$Activation
- y_ci <- oe_row$ci
- # Place asterisk above or below depending on direction
- y_star <- if (y_value >= 0) y_value + y_ci + 0.03 else y_value - y_ci - 0.07
- plot <- plot +
- annotate("text", x = "OwnEyes", y = y_star, label = "*", size = 10)
- }
- }
- # Return the final plot
- return(plot)
- }
- # Cue phase plots
- p_7A_cue <- plot_precuneus_by_region_phase(df_long, "7A", "Cue", "Right 7A", palette_by_orientation, show_y_label = TRUE, y_limits = c(-0.20, 0.70), y_breaks = c(-0.20, -0.10, 0, 0.10, 0.20, 0.30, 0.40, 0.50, 0.60, 0.70), y_expand = c(0.01, 0.01))
- p_7M_cue <- plot_precuneus_by_region_phase(df_long, "7M", "Cue","Right 7M", palette_by_orientation, show_y_label = FALSE, y_limits = c(-0.20, 0.70), y_breaks = c(-0.20, -0.10, 0, 0.10, 0.20, 0.30, 0.40, 0.50, 0.60, 0.70), y_expand = c(0.01, 0.01))
- p_7P_cue <- plot_precuneus_by_region_phase(df_long, "7P", "Cue","Right 7P", palette_by_orientation, show_y_label = FALSE, y_limits = c(-0.20, 0.70), y_breaks = c(-0.20, -0.10, 0, 0.10, 0.20, 0.30, 0.40, 0.50, 0.60, 0.70), y_expand = c(0.01, 0.01))
- # Probe phase plots
- p_7A_probe <- plot_precuneus_by_region_phase(df_long, "7A","Probe", "Right 7A", palette_by_orientation, show_y_label = TRUE, y_limits = c(-0.40, 0.80), y_breaks = c(-0.40, -0.20, 0, 0.20, 0.40, 0.60, 0.80), y_expand = c(0.01, 0.01))
- p_7M_probe <- plot_precuneus_by_region_phase(df_long, "7M", "Probe","Right 7M", palette_by_orientation, show_y_label = FALSE, y_limits = c(-0.40, 0.80), y_breaks = c(-0.40, -0.20, 0, 0.20, 0.40, 0.60, 0.80), y_expand = c(0.01, 0.01))
- p_7P_probe <- plot_precuneus_by_region_phase(df_long, "7P", "Probe","Right 7P", palette_by_orientation, show_y_label = FALSE, y_limits = c(-0.40, 0.80), y_breaks = c(-0.40, -0.20, 0, 0.20, 0.40, 0.60, 0.80), y_expand = c(0.01, 0.01))
- # Step 0: Add tags to each individual plot
- p_7A_cue <- p_7A_cue + labs(tag = "A")
- p_7M_cue <- p_7M_cue + labs(tag = "B")
- p_7P_cue <- p_7P_cue + labs(tag = "C")
- p_7A_probe <- p_7A_probe + labs(tag = "D")
- p_7M_probe <- p_7M_probe + labs(tag = "E")
- p_7P_probe <- p_7P_probe + labs(tag = "F")
- p_7A_cue <- p_7A_cue +
- theme(plot.tag.position = c(0.18, 0.98))
- p_7A_probe <- p_7A_probe +
- theme(plot.tag.position = c(0.18, 0.98))
- p_7M_cue <- p_7M_cue +
- theme(plot.tag.position = c(0.02, 0.98))
- p_7M_probe <- p_7M_probe +
- theme(plot.tag.position = c(0.02, 0.98))
- p_7P_cue <- p_7P_cue +
- theme(plot.tag.position = c(0.02, 0.98))
- p_7P_probe <- p_7P_probe +
- theme(plot.tag.position = c(0.02, 0.98))
- cue_annotation <- wrap_elements(
- full = grid::textGrob(
- "Cue Phase: Main Effect of Retrieval Orientation (Own Eyes > Retrieve)",
- x = unit(0, "npc"), just = "left",
- gp = gpar(fontsize = 24, fontface = "italic")
- )
- )
- probe_annotation <- wrap_elements(
- full = grid::textGrob(
- "Probe Phase: Main Effect of Region (7M > 7A & 7P)",
- x = unit(0, "npc"), just = "left",
- gp = gpar(fontsize = 24, fontface = "italic")
- )
- )
- combined_plot <- wrap_plots(
- cue_annotation,
- (p_7A_cue | p_7M_cue | p_7P_cue),
- probe_annotation,
- (p_7A_probe | p_7M_probe | p_7P_probe),
- ncol = 1,
- heights = c(0.08, 1, 0.08, 1)
- )
- combined_plot
- ggsave(
- filename = "Figure_RightPrecuneus_Subregions_Combined.png", # or .tiff, .pdf
- plot = combined_plot,
- path = "~/Library/CloudStorage/[email hidden]/Shared drives/MELab/Projects/RetrievalOrientation/Results/",
- height = 12, # in inches
- dpi = 600 # high-res for publication
- )
PosteriorParietalROISubregions_RetrievalOrientation.R, no license · at the source
Overview
Abstract
Autobiographical memory (AM) retrieval involves goal-directed and reconstructive processes that unfold over time. A key feature of this process is the visual perspective adopted during remembering, which shapes subjective memory experience. Using fMRI, we cued participants to retrieve AMs from an own eyes, observer, or natural perspective followed by an event probe. Our design temporally isolates preparatory (cue phase) and reconstructive (probe phase) mechanisms to identify the neural signatures of retrieval orientation, the strategic use of cues to optimize retrieval. Whole-brain and ROI analyses revealed that the angular gyrus (AG) and precuneus support perspective-guided retrieval in distinct ways. During the cue phase, PGp showed greater activity for instructed perspectives than natural retrieval, consistent with preparatory perspective selection. During the probe phase, observer-perspective retrieval elicited greater activity in AG and precuneus, supporting sustained perspective maintenance. Brain–behavior models linked PGp and 7P activity to greater vividness and perspective stability, while precuneus (7M) activity was negatively associated with emotional intensity, especially in the observer condition. These findings reveal phase- and subregion-specific contributions of posterior parietal cortex to the subjective qualities of memory. AG subregions support goal-directed perspective selection and implementation, while precuneus subregions flexibly modulate phenomenological features during memory reconstruction.
Reproduced under the paper's license (CC BY), from the paper cited above.
Repository
Its files are read in the Code ↔ Paper reader above, with 1 match between paragraphs and lines of code.
OSF 4785r
Availability: 1 check, the latest on 27 September 2026: the link answers (HTTP 200)
- 27 September 2026: the link answers (HTTP 200)
3 files
- DataScripts/
BrainBehaviorCorrelation , R, 482 liness_RetrievalOrientation.R - DataScripts/
HippocampusROI_Retrieval , R, 468 linesOrientation.R - DataScripts/
PosteriorParietalROISubr , R, 1,111 lines, 1 matchegions_RetrievalOrientat ion.R
The paper's code and data availability statement is in the Data section.
Tracing map
Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.
What the map holds:
- 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 3 scripts, each with its path and the digest of its content;
- 1 match between paragraphs of the paper and lines of the code (method lexical-v1);
- neither the text of the paper nor the code itself.
Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.
Data
No dataset and no data link were found in the paper.
Data and Code Availability
Data and code supporting the findings of this study are publicly available via the Open Science Framework: https://
Reproduced under the paper's license (CC BY), from the paper cited above.
Versions
The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.
Version 2, 28 September 2026
- Authors: added Selen Küçüktaş (0000-0001-5735-5302); removed Selen Küçüktaş
- Funding: added University of Alberta; Canada Research Chairs: RGPIN-2019-06080; Natural Sciences and Engineering Research Council of Canada: rgpin-2019-06080, DGECR‐2019‐00407, RGPIN-2019
Version 1, 27 September 2026: the first record
Recorded: type, language, journal, volume, pages, dates, 2 authors, 5 keywords, 62 references.
Cite
This paper
Küçüktaş, S., & St Jacques, P. L. (2026). Functional specialization of angular gyrus and precuneus subregions for perspective-guided autobiographical memory retrieval. Imaging neuroscience (Cambridge, Mass.), 4, IMAG.a.1313. https://
BibTeX
@article{kucuktas2026fun
author = {Küçüktaş, Selen and St Jacques, Peggy L},
title = {{Functional specialization of angular gyrus and precuneus subregions for perspective-guided autobiographical memory retrieval}},
journal = {Imaging neuroscience (Cambridge, Mass.)},
year = {2026},
month = jul,
volume = {4},
pages = {IMAG.a.1313},
publisher = {MIT Press},
issn = {2837-6056},
doi = {10.1162/
url = {https://
pmid = {42524184},
pmcid = {PMC13409283}
}
RIS
TY - JOUR
AU - Küçüktaş, Selen
AU - St Jacques, Peggy L
TI - Functional specialization of angular gyrus and precuneus subregions for perspective-guided autobiographical memory retrieval
T2 - Imaging neuroscience (Cambridge, Mass.)
J2 - Imaging Neurosci (Camb)
PY - 2026
DA - 2026/
VL - 4
SP - IMAG.a.1313
SN - 2837-6056
PB - MIT Press
DO - 10.1162/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1162/
"type": "article-journal",
"title": "Functional specialization of angular gyrus and precuneus subregions for perspective-guided autobiographical memory retrieval",
"container-title": "Imaging neuroscience (Cambridge, Mass.)",
"author": [
{
"family": "Küçüktaş",
"given": "Selen"
},
{
"family": "St Jacques",
"given": "Peggy L"
}
],
"container-title-short":
"volume": "4",
"page": "IMAG.a.1313",
"DOI": "10.1162/
"PMID": "42524184",
"PMCID": "PMC13409283",
"ISSN": "2837-6056",
"publisher": "MIT Press",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
7,
27
]
]
}
}
The tracing map gets a citation of its own once an author has validated it and it has a DOI.
Similar papers
The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.
- [1] doi:10.1073/pnas.2603114123 [code]
- The human hippocampus can pattern separate memories by meaning.Journal: Proceedings of the National Academy of Sciences of the United States of AmericaIn common: afex, easystats, emmeans, 6 other tools, cognitive, 1 reference
- [2] doi:10.1038/s41398-026-04141-z [code]
- Effects on hippocampal activity following novel 5-HT4 receptor agonism in unmedicated patients with depression: the RESTAND study.Journal: Translational psychiatryIn common: afex, easystats, emmeans, 5 other tools, 1 reference
- [3] doi:10.1038/s41598-026-58866-4 [code]
- A neurocognitive interactive activation model of semantic priming in lexical decisions.Journal: Scientific reportsIn common: easystats, emmeans, lmerTest, 4 other tools, cognitive, 2 references
- [4] doi:10.7554/elife.107273
- Neural representation of time across complementary reference frames.Journal: eLifeIn common: cognitive, 8 references
- [5] doi:10.1038/s41398-026-04010-9 [code]
- Bullying victimization and brain development: a longitudinal structural magnetic resonance imaging study from adolescence to early adulthood.Journal: Translational psychiatryIn common: easystats, emmeans, lmerTest, 5 other tools, 1 reference
- [6] doi:10.1093/nc/niag029 [code]
- A data-driven approach to identifying and evaluating connectivity-based neural correlates of conscious visual perception.Journal: Neuroscience of consciousnessIn common: afex, easystats, emmeans, 5 other tools, cognitive
- [7] doi:10.1126/sciadv.aec9291 [code]
- Computational mechanisms of perception in autism revealed using games inspired by rodent operant tasks.Journal: Science advancesIn common: afex, easystats, emmeans, 5 other tools, cognitive
- [8] doi:10.1192/bjp.2026.10664 [code]
- Early effects of a novel 5-HT&
lt;sub& gt;4& lt;/ sub& gt;R agonist (PF-04995274) and the SSRI citalopram on emotional cognition in unmedicated depression: RESTAND study. Journal: The British journal of psychiatry : the journal of mental scienceIn common: afex, easystats, emmeans, 5 other tools, cognitive - [9] doi:10.1371/journal.pone.0353990 [code]
- Positive mood enhances accessibility of unrelated concepts in the first language but not in the foreign language.Journal: PloS oneIn common: afex, emmeans, lmerTest, 5 other tools, cognitive
- [10] doi:10.1038/s41562-026-02472-x [code]
- Long-term memory reorganization of navigational episodes.Journal: Nature human behaviourIn common: afex, easystats, emmeans, 2 other tools, cognitive, 2 references
Contribute
The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.
Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 1 repository of the authors' code, each at its verified commit and with its license, 3 scripts, and 1 match between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:abcba94b046cb816…
Add the badge to its README
The badge links the code to this page. Copy one of these into the README of the paper's code: only you decide where it goes, and nothing is changed for you.
Markdown
[.
Discussion, reproductions, activity
Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.
Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.
Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.
