<- list(
args # alu_annotations_range_file = here::here("raw_data","
# astro_neuron_bulk",
# "16_alignment",
# "vep",
# "alu_annotations_distinct_range_230117.rds"),
# reduced_ensemble_range_file = here::here( "raw_data",
# "astro_neuron_bulk",
# "16_alignment",
# "vep",
# "reduced_ensembl_38-93_range_230117_stranded_distinct.rds"),
# vep_results_range_file = here::here("raw_data",
# "astro_neuron_bulk",
# "16_alignment",
# "vep",
# "vep_results_all_samples_strand_filtered_range.RDS"),
# gene_expression_file = here::here("raw_data",
# "astro_neuron_bulk",
# "16_alignment",
# "vep",
# "astr_cocult_expressed_genes.xlsx"),
detect_summary_comparison_sig_file = here::here("results",
"astrocytes",
"detect_summary_comparison_sig_edits.RDS"),
# detect_summary_comparison_all_file = here::here("processed_data",
# "astro_neuro_coculture",
# "detect_summary_comparison_all_edits.RDS"),
# detect_summary_comparison_alu_file = here::here("processed_data",
# "astro_neuro_coculture",
# "detect_summary_comparison_sig_alu_edits.RDS"),
dif_summary_comparison_sig_file = here::here("results",
"astrocytes",
"differential_summary_comparison_sig_edits.RDS"),
dif_summary_comparison_all_file = here::here("results",
"astrocytes",
"differential_summary_comparison_all_edits.RDS"),
# qc_results_dir = here::here("processed_data",
# "astro_neuro_coculture",
# "astro_neuro_editing_QC"),
# RNA_location_file = here::here("references",
# "All_RNA_subcellular_localization_data.txt"),
# panel_app_file = here::here("references",
# "panel_app_PD_complex_park_gene_list.tsv"),
output_folder = here::here("results",
"astrocytes"),
figure_output_dir = here::here("figures",
"astrocytes")
)
= c("Decreased_editing" = "Decreased editing",
plot_labels "Increased_editing" = "Increased editing",
"Lost_edit_sites" = "Lost editing sites",
"New_edit_sites" = "New editing sites",
"astro_nt_vs_asyn" = "Astrocyte",
"neuron_nt_vs_asyn" = "Neuron",
"cocult_nt_vs_asyn" = "Co-culture",
"astro_nt" = "Astrocyte basal",
"astro_asyn" = "Astrocyte αsyn-O",
"cocult_nt" = "Co-culture basal",
"cocult_asyn" = "Co-culture αsyn-O",
"neuron_nt" = "Neuron basal",
"neuron_asyn" = "Neuron αsyn-O",
"exon" = "Exon",
"intron" = "Intron",
"intergenic" = "Intergenic",
"not_significant" = "Not significant",
"significant" = "Significant",
"Astrocyte_increase" = "Astrocyte increase",
"Astrocyte_decrease" = "Astrocyte decrease",
"Neuron_increase" = "Neuron increase",
"Neuron_decrease" = "Neuron decrease",
"Coculture_increase" = "Co-culture increase",
"Coculture_decrease" = "Co-culture decrease",
"no_treatment" = "Basal",
"1uM_syn_oligomer" = "αsyn-O",
"increase" = "Increase",
"decrease" = "Decrease",
"increased_sites" = "Increased editing rate",
"decreased_sites" = "Decreased editing rate",
"treated_edits" = "αsyn-O",
"untreated_edits" = "Basal",
"decrease" = "Decreased",
"increase" = "Increased",
"new_sites" = "New editing site",
"lost_sites" = "Lost editing site",
"significant" = "Significant",
"not_significant" = "Not significant",
"astrocyte" = "Astrocyte",
"neuron" = "Neuron",
"coculture" = "Co-culture",
"Astrocyte" = "Astrocyte",
"Coculture" = "Co-culture",
"Neuron" = "Neuron"
)
= as_labeller(plot_labels) plot_labeller
Aim: This notebook takes editing data output by jacusa, processes it to add annotations from VEP and repeat-based annotations, and then explores results. It looks at editing results per samples, and also the differential editing results, looking at the difference of each cell line, treated and untreated.
RNA editing analysis was undertaken with JACUSA2. This utilises a drichilet multinomial distribution to ascertain whether transcripts are edited at a genomic site in two modes:
Noting that transcripts with increased editing might not be successfully mapped during the alignment step, multi-sample 2 pass mapping with STAR was rerun, allowing a more generous mismatch rate of 16 base pairs per 100. This did not increase the rate of multimapping during alignment.
Replicates for each sample group were input to JACUSA2 detect, to output a list of editing sites for each of the six groups: astrocytes untreated, astrocytes treated, coculture untreated, coculture treated, neuron untreated and neuron treated. JACUSA2 differential was used to ascertain those sites that were differentially edited in treated samples of each cell line, compared to untreated.
All edits were filtered for those that were properly mapped with a pair, and with a z-score greater than 1.96 or less than -1.96. Effects of edits were explored using Variant Effect Predictor (ref). Repeat annotations were derived from Repeat Masker 4.0.5. Differences in editing sites and rates were explored using R 4.2.0.
The ensembl 38.93 gtf and alu repeat files were pre-processed as per the following script. Note that the alu annotations are unstranded, while the gtf and vep results are stranded.
source(here::here("scripts", "00a_process_reference_files.R"))
When annotating editing sites with genic/mutation information, the annotations map to the editing sites multiple times. Given this, the multi-annotated editing sites were filtered as follows:
Genic location of the edits were derived from VEP results, with exonic including VEP consequences of start or stop lost, missense, synonymous or coding sequence variant, 3 prime and 5 prime variants and non coding transcript exon variants; intronic including intron variants, splice variants, incomplete terminal codon varians and upstream or downstream variants; and intergenic where specifically ascribed. Where VEP did not assign a variant, genic location was derived from the ensembl 38.93 gtf annotation file, with an exonic region ascribed where any transcript exon lay at the genic location, introns where the location lay within a gene but outside any transcript exon, and otherwise intergenic.
The detailed order for filtering is below:
source(here::here("functions_args",
"filtering_args.R"))
The RNA editing was derived from the raw transcriptomic files using the following workflow:
bash /scripts/01a_jacusa_workflow_astrocytes.txt
The JACUSA detect results were processed using the following code:
source(here::here("scripts", "01b_process_detect_astro.R"))
The JACUSA differential results were processed using the following code:
source(here::here("scripts", "01c_process_differential_astro.R"))
# Load file of significant results
<- readRDS(args$detect_summary_comparison_sig_file)
comparison_df
# Run the following before and after relevelling factors to check no samples lost in processing
<- comparison_df %>%
na_consequence_detect ::filter(is.na(Consequence))
dplyr
# Refactor levels
<- comparison_df %>%
comparison_df mutate(Sample = fct_relevel(Sample, filtering_args$sample_levels),
gene_type = fct_relevel(gene_type, filtering_args$gtf_genic_type),
Consequence = fct_relevel(Consequence, filtering_args$vep_consequence),
BIOTYPE = fct_relevel(BIOTYPE, vep_levels_BIOTYPE),
Consequence_plots = Consequence) # Create additional column with simplified consequences for plotting
<- comparison_df %>%
detect_export_df ::select(locus, sample_name, Edits, z.score)
dplyrwrite_csv(detect_export_df,
file = str_c(args$output_folder, "/sig_edits_astrocyte_detect.csv"))
# Note, when releveling as collapsing levels, the levels have to be defined as a list (not a vector). These are populated from filtering_args, though, being defined as a list means that they get directly loaded to the environment, not as a subset of filtering_args).
levels(comparison_df$Consequence_plots) <- vep_consequence_plots
levels(comparison_df$BIOTYPE) <- vep_levels_BIOTYPE
In the untreated samples, there were 78,547 editing sites in the astrocyte monoculture, 103,340 in the neuron monoculture, and 100,740 in the coculture. With a-syn treatment, there were at least an 11% increase in editing sites in each sample: 15.9% in astrocytes (p value of exonic proportion change measured by chi squared test 2e-16), 26.2% in neurons (p = 2e-16), and 11.1% in cocultures (p = 2e-16). In astrocyte containing samples, 50.3 - 62.4% of editing was seen in exonic regions, while in the neuronal line most editing was seen in intronic regions: 57.8 and 61.4% in untreated and treated samples respectively.
Summary of editing site number (percent) across cultures and genic locations.
<- summary_by_variable(comparison_df,
summary_numbers sample_metric = Sample)[[2]]
<- summary_by_variable_for_publication(comparison_df,
genic_summary sample_metric = "Sample",
variable = "gene_type")[[2]] %>%
left_join(as_tibble(summary_numbers),
by = "Sample") %>%
::rename(Total = n)
dplyr
write_csv(genic_summary,
file = str_c(args$output_folder, "/editing_site_numbers_genicsite_summary.csv"))
%>%
genic_summary as_tibble() %>%
::datatable(rownames = FALSE,
DToptions = list(scrollX = TRUE))
# Extract values for _nt and _asyn conditions for each group
<- summary_numbers["astro_nt"]
astro_nt <- summary_numbers["astro_asyn"]
astro_asyn <- summary_numbers["cocult_nt"]
cocult_nt <- summary_numbers["cocult_asyn"]
cocult_asyn <- summary_numbers["neuron_nt"]
neuron_nt <- summary_numbers["neuron_asyn"]
neuron_asyn
# Calculate percent increase for each group
<- round(((astro_asyn - astro_nt) / astro_nt) * 100, 1)
percent_increase_astro <- round(((cocult_asyn - cocult_nt) / cocult_nt) * 100, 1)
percent_increase_cocult <- round(((neuron_asyn - neuron_nt) / neuron_nt) * 100, 1)
percent_increase_neuron
# Print the results
cat("Percent increase in editing sites for astrocyte cultures:", percent_increase_astro, "%\n")
## Percent increase in editing sites for astrocyte cultures: 15.9 %
cat("Percent increase in editing sites for cocultures:", percent_increase_cocult, "%\n")
## Percent increase in editing sites for cocultures: 11.1 %
cat("Percent increase in editing sites for neuron cultures:", percent_increase_neuron, "%\n")
## Percent increase in editing sites for neuron cultures: 26.2 %
<- compare_plot(comparison_df %>%
detect_genic_plot drop_na(gene_type),
proportional = "stack",
comparison = (gene_type),
plot_label = plot_labels) +
labs(y = "Number of editing sites",
fill = "Genic location") +
theme_plot()
ggsave(detect_genic_plot,
file = "detect_genic_plot.pdf",
path = args$figure_output_dir,
device = "pdf",
dpi = 300,
units = "mm",
width = 240,
height = 180,
limitsize = TRUE
)
ggsave(detect_genic_plot,
file = "detect_genic_plot.png",
path = args$figure_output_dir,
device = "png",
dpi = 300,
units = "mm",
width = 240,
height = 180,
limitsize = TRUE
)
+
detect_genic_plot labs(title = "Number of editing sites by genic location") +
theme_aw
print("Astrocytes: significant change in exonic ratio")
## [1] "Astrocytes: significant change in exonic ratio"
chi_square_factor_test(comparison_df,
culture_type = "astrocyte",
variable_of_interest = gene_type, # The variable does not get ""
factor_of_interest = "exon")
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: .
## X-squared = 155.21, df = 1, p-value < 2.2e-16
print("Coculture: significant change in exonic ratio")
## [1] "Coculture: significant change in exonic ratio"
chi_square_factor_test(dataframe = comparison_df,
culture_type = "coculture",
variable_of_interest = gene_type, # The variable does not get ""
factor_of_interest = "exon")
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: .
## X-squared = 389.57, df = 1, p-value < 2.2e-16
print("Neuron: significant change in exonic ratio")
## [1] "Neuron: significant change in exonic ratio"
chi_square_factor_test(dataframe = comparison_df,
culture_type = "neuron",
variable_of_interest = gene_type, # The variable does not get ""
factor_of_interest = "exon")
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: .
## X-squared = 346.65, df = 1, p-value < 2.2e-16
summary_by_variable_for_publication(comparison_df,
sample_metric = "Sample",
variable = "Consequence_plots")[[1]] %>%
::datatable(rownames = FALSE,
DToptions = list(scrollX = TRUE))
compare_plot(comparison_df %>%
drop_na(Consequence_plots),
proportional = "fill",
comparison = (Consequence_plots),
plot_label = plot_labels) +
labs(title = "Consequence of edits", y = "Proportion of editing sites", fill = "Consequence",
subtitle = "Excluding NAs") +
theme_plot() +
theme_aw
summary_by_variable_for_publication(comparison_df,
sample_metric = "Sample",
variable = "BIOTYPE")[[1]] %>%
::datatable(rownames = FALSE,
DToptions = list(scrollX = TRUE))
compare_plot(comparison_df %>%
drop_na(BIOTYPE),
proportional = "fill",
comparison = BIOTYPE,
plot_label = plot_labels) +
labs(title = "Biotype of edits", y = "Proportion of editing sites",
fill = "Transcript biotype") +
guides(fill = guide_legend(reverse = TRUE)) +
theme_plot() +
theme_aw
summary_by_variable_for_publication(comparison_df,
sample_metric = "Sample",
variable = "repeat_class")[[1]] %>%
::datatable(rownames = FALSE,
DToptions = list(scrollX = TRUE))
# Note: NAs have been removed
<- compare_plot(comparison_df %>%
repeat_types_plot drop_na(repeat_class),
proportional = "fill",
comparison = fct_rev(repeat_class),
plot_label = plot_labels) +
labs( y = "Proportion of editing sites", fill = "Repeat class") +
guides(fill = guide_legend(reverse = TRUE)) +
theme_plot()
ggsave(repeat_types_plot,
file = "repeat_types_plot.pdf",
path = args$figure_output_dir,
device = "pdf",
dpi = 300,
units = "mm",
width = 240,
height = 180,
limitsize = TRUE
)
ggsave(repeat_types_plot,
file = "repeat_types_plot.png",
path = args$figure_output_dir,
device = "png",
dpi = 300,
units = "mm",
width = 240,
height = 180,
limitsize = TRUE
)
+
repeat_types_plot labs(title = "Proportion of repeat types",
subtitle = "Excluding NAs") +
theme_aw
%>%
comparison_df group_by(Sample) %>%
summarise(min_Edits = min(Edits, na.rm = T),
median_Edits = median(Edits, na.rm =T),
IQR_Edits = IQR(Edits, na.rm = T),
max_Edits = max(Edits, na.rm = T)
%>%
) ::datatable(rownames = FALSE,
DToptions = list(scrollX = TRUE))
<- readRDS(args$dif_summary_comparison_all_file)
annotated_dif_data
# Add columns of interest
<- annotated_dif_data %>%
annotated_dif_data mutate(treat_untreat_dif = treated_edits - untreated_edits) %>%
::relocate(treat_untreat_dif, .after=treat_untreat_ratio) %>%
dplyrmutate(culture = str_replace_all(SampleName, c("astro_nt_vs_asyn" = "Astrocyte",
"cocult_nt_vs_asyn" = "Coculture",
"neuron_nt_vs_asyn" = "Neuron")) %>%
as.factor,binary_editing_change = ifelse(treat_untreat_dif < 0.00, "decrease",
ifelse(treat_untreat_dif > 0.00, "increase",
"Other"
)%>%
) as.factor(),
four_editing_changes = case_when(
== Inf ~ "new_sites",
treat_untreat_ratio != Inf & treat_untreat_dif > 0 ~ "increased_sites",
treat_untreat_ratio != 0 & treat_untreat_dif < 0 ~ "decreased_sites",
treat_untreat_ratio == 0 ~ "lost_sites") %>%
treat_untreat_ratio as.factor(),
Sample_change = str_c(culture, "_", binary_editing_change) %>%
as.factor(),
Consequence_plots = Consequence, # Add in consequence row with simplified levels for plotting
sig_edit = as_factor(sig_edit))
# Rationalise levels in factors
levels(annotated_dif_data$Consequence_plots) <- vep_consequence_plots
levels(annotated_dif_data$BIOTYPE) <- vep_levels_BIOTYPE
$four_editing_changes <- factor(annotated_dif_data$four_editing_changes, levels = c("new_sites", "increased_sites", "decreased_sites", "lost_sites"))
annotated_dif_data
# Filter for significance
<- annotated_dif_data %>%
sig_annotated_dif_data ::filter(sig_edit == "significant")
dplyr
<- sig_annotated_dif_data %>%
differential_export_df ::select(locus, SampleName, untreated_edits, treated_edits, z.score)
dplyrwrite_csv(differential_export_df,
file = str_c(args$output_folder, "/sig_edits_astrocyte_differential.csv"))
# Creat summary table
<- sig_annotated_dif_data %>%
sig_annotated_dif_table ::select(culture, four_editing_changes) %>%
dplyrtable() %>%
as_tibble() %>%
spread(four_editing_changes, n)
%>%
sig_annotated_dif_table ::datatable(rownames = FALSE,
DToptions = list(scrollX = TRUE))
<- sig_annotated_dif_data %>%
dif_site_summary_plot ::mutate(four_editing_changes = fct_relevel(four_editing_changes, levels = c("new_sites", "increased_sites", "lost_sites", "decreased_sites"))) %>%
dplyrggplot(aes(x = binary_editing_change, fill = four_editing_changes)) +
geom_bar(position = "stack") +
facet_wrap(vars(culture),
ncol = 3,
labeller = plot_labeller) +
scale_fill_manual(values = named_palette,
labels = plot_labels) +
theme_plot() +
labs(x = "Change in editing per site",
y = "Number of editing sites",
fill = element_blank()) +
scale_x_discrete(labels = element_blank())
ggsave(dif_site_summary_plot,
file = "differential_site_summary_plot.pdf",
path = args$figure_output_dir,
device = "pdf",
dpi = 300,
units = "mm",
width = 240,
height = 180,
limitsize = TRUE
)
ggsave(dif_site_summary_plot,
file = "differential_site_summary_plot.png",
path = args$figure_output_dir,
device = "png",
dpi = 300,
units = "mm",
width = 240,
height = 180,
limitsize = TRUE
)
+
dif_site_summary_plot labs(title = "Changes in differentially edited sites")
# Export for cluster profiler
<- sig_annotated_dif_data %>%
sum_sig_dif_data ::select(locus, Sample_change, culture, Gene, SYMBOL, treat_untreat_dif, treat_untreat_ratio, z.score, gene_type, Consequence, Consequence_plots, BIOTYPE, repeat_class, ARE_binary, ARE_cluster) %>%
dplyr::mutate(log_ratio = log2(treat_untreat_ratio)) %>%
dplyr::filter(gene_type != "intergenic") %>% # select only those sites within genes
dplyrarrange(culture, desc(log_ratio))
write_csv(sum_sig_dif_data,
str_c(args$output_folder,
"/summary_results_genes.csv"))
<- annotated_dif_data %>%
sum_all_dif_data ::select(locus, Sample_change, culture, Gene, SYMBOL, treat_untreat_dif, treat_untreat_ratio, z.score, gene_type, Consequence, Consequence_plots, BIOTYPE, repeat_class, ARE_binary, ARE_cluster) %>%
dplyr::mutate(log_ratio = log2(treat_untreat_ratio)) %>%
dplyr::filter(gene_type != "intergenic") %>%
dplyrarrange(culture, desc(log_ratio))
sum_all_dif_datawrite_csv(sum_all_dif_data,
str_c(args$output_folder,
"/dge_comparisons",
"/summary_results_all_genes_inc_nonsig.csv"))
<- sum_all_dif_data %>%
all_gene_background ::select(Gene, SYMBOL) %>%
dplyrdistinct(Gene, .keep_all = T)
write_csv(all_gene_background,
str_c(args$output_folder,
"/dge_comparisons",
"/summary_results_all_dif_genelist_background_universe.csv"))
<- sum_sig_dif_data %>%
sig_increase_gene_ratio ::filter(treat_untreat_dif > 0,
dplyr== "3 prime UTR variant") %>%
Consequence_plots distinct(SYMBOL, .keep_all = TRUE)
write_csv(sig_increase_gene_ratio,
str_c(args$output_folder,
"/dge_comparisons",
"/significant_3UTR_genes_ratios.csv"))
<- sum_sig_dif_data %>%
sig_increase_gene_difference ::filter(treat_untreat_dif > 0,
dplyr== "3 prime UTR variant") %>%
Consequence_plots arrange(culture, desc(treat_untreat_dif)) %>%
distinct(SYMBOL, .keep_all = TRUE)
sig_increase_gene_difference
write_csv(sig_increase_gene_difference,
str_c(args$output_folder,
"/dge_comparisons",
"/significant_3UTR_genes_difference.csv"))
<- sig_annotated_dif_data %>%
par_coord_plot_data ::select(locus, culture, four_editing_changes, Sample_change, untreated_edits, treated_edits) %>%
dplyrpivot_longer(cols = c("untreated_edits", "treated_edits"), # Pivot longer for ggplot
names_to = "timepoint",
values_to = "editing_rate") %>%
::filter(four_editing_changes %in% c("increased_sites","decreased_sites")) %>%
dplyr::mutate(four_editing_changes = factor(four_editing_changes, levels = c("increased_sites","decreased_sites")),
dplyrtimepoint = factor(timepoint, levels = c("untreated_edits", "treated_edits"))
)
<- par_coord_plot_data %>%
parallel_line_plot arrange(four_editing_changes, locus) %>%
::mutate(locus = forcats::fct_reorder(as_factor(locus), four_editing_changes, .fun=first)) %>% #Reorder locus as a factor based on four editing changes so it will plot correctly
dplyrslice(1:nrow(par_coord_plot_data)) %>%
ggplot(aes(x = timepoint, y = editing_rate, group = locus, colour = four_editing_changes)) +
geom_path(alpha = 0.1, linewidth = 0.1) +
theme_plot() +
facet_wrap(~culture,
labeller = plot_labeller) +
scale_colour_manual(values = named_palette,
labels = plot_labels) +
scale_x_discrete(labels = plot_labels) +
labs(x = element_blank(), y = "Editing rate", colour = "Editing rate change") +
guides(colour = guide_legend(override.aes = list(alpha = 1, linewidth = 1))) # Change legend so can see the colours
ggsave(parallel_line_plot,
file = "differential_editing_parallel_line_plot_tall.pdf",
path = args$figure_output_dir,
device = "pdf",
dpi = 300,
units = "mm",
width = 240,
height = 180,
limitsize = TRUE
)
ggsave(parallel_line_plot,
file = "differential_editing_parallel_line_plot_tall.png",
path = args$figure_output_dir,
device = "png",
dpi = 300,
units = "mm",
width = 240,
height = 180,
limitsize = TRUE
)
+
parallel_line_plot labs(title = "Change in editing rate with a-syn treatment") +
theme_aw
# For the plot of consequences, row bind the baseline (untreated) VEP Consequences for each cell line, with those that change in differential editing to look at difference.
<- comparison_df %>%
consequence_plot_data ::filter(treatment == "no_treatment") %>%
dplyr::select(locus, culture, binary_editing_change = treatment, Consequence_plots) %>%
dplyr::mutate(culture = str_to_title(culture)) %>% #Make culture column upper case to match the differential data
dplyrbind_rows(
%>%
sig_annotated_dif_data ::select(locus, culture, binary_editing_change, Consequence_plots)
dplyr
)
<- consequence_plot_data %>%
consequence_dif_plot drop_na(Consequence_plots) %>%
ggplot(aes(x=binary_editing_change, fill = fct_rev(Consequence_plots))) +
geom_bar(position = "fill") +
scale_fill_paletteer_d("ggthemes::Classic_20",
na.value = "grey90") +
theme_plot() +
labs(y = "Proportion of editing sites", x = NULL, fill = "Consequence") +
scale_x_discrete(labels = plot_labels) +
guides(fill = guide_legend(reverse = TRUE)) +
facet_wrap(vars(culture),
labeller = plot_labeller)
ggsave(consequence_dif_plot,
file = "differential_consequence_plot.pdf",
path = args$figure_output_dir,
device = "pdf",
dpi = 300,
units = "mm",
width = 240,
height = 180,
limitsize = TRUE
)
ggsave(consequence_dif_plot,
file = "differential_consequence_plot.png",
path = args$figure_output_dir,
device = "png",
dpi = 300,
units = "mm",
width = 240,
height = 180,
limitsize = TRUE
)
+
consequence_dif_plot labs(title = "Consequences of differential editing changes",
subtitle = "Baseline verse sites with decreased/increased editing with treatment") +
theme_aw
Check chi square: proportion of sites in 3UTR in increased verse decreased sites
print("Astrocytes")
## [1] "Astrocytes"
chi_square_factor_test_differential(dataframe = sig_annotated_dif_data,
culture_type = "Astrocyte",
variable_of_interest = Consequence_plots,
factor_of_interest = '3 prime UTR variant' )
## Consequence_plots
## Sample_change 3 prime UTR variant Other
## Astrocyte_decrease 576 878
## Astrocyte_increase 16675 9823
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: .
## X-squared = 316.12, df = 1, p-value < 2.2e-16
print("Neuron")
## [1] "Neuron"
chi_square_factor_test_differential(dataframe = sig_annotated_dif_data,
culture_type = "Neuron",
variable_of_interest = Consequence_plots,
factor_of_interest = '3 prime UTR variant' )
## Consequence_plots
## Sample_change 3 prime UTR variant Other
## Neuron_decrease 2622 6999
## Neuron_increase 4442 12339
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: .
## X-squared = 1.8708, df = 1, p-value = 0.1714
print("Cocultures")
## [1] "Cocultures"
chi_square_factor_test_differential(dataframe = sig_annotated_dif_data,
culture_type = "Coculture",
variable_of_interest = Consequence_plots,
factor_of_interest = '3 prime UTR variant' )
## Consequence_plots
## Sample_change 3 prime UTR variant Other
## Coculture_decrease 695 1474
## Coculture_increase 14767 11387
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: .
## X-squared = 480.81, df = 1, p-value < 2.2e-16
# Biotype with baseline
<- comparison_df %>%
biotype_plot_data ::filter(treatment == "no_treatment") %>%
dplyr::select(locus, culture, binary_editing_change = treatment, BIOTYPE) %>%
dplyr::mutate(culture = str_to_title(culture)) %>% #Make culture column upper case to match the differential data
dplyrbind_rows(
%>%
sig_annotated_dif_data ::select(locus, culture, binary_editing_change, BIOTYPE)
dplyr
)
<- biotype_plot_data %>%
biotype_dif_plot drop_na(BIOTYPE) %>%
ggplot(aes(x=binary_editing_change, fill = fct_rev(BIOTYPE))) +
geom_bar(position = "fill") +
scale_fill_paletteer_d("ggthemes::Classic_20",
na.value = "grey90") +
theme_plot() +
labs(y = "Number of editing sites", x = NULL, fill = "Biotypes") +
scale_x_discrete(labels = plot_labels) +
guides(fill = guide_legend(reverse = TRUE)) +
facet_wrap(vars(culture),
labeller = plot_labeller)
+
biotype_dif_plot labs(title = "Proportion of biotypes of differential editing changes",
subtitle = "Baseline verse sites with decreased/increased editing with treatment") +
theme_aw
ggsave(biotype_dif_plot,
file = "supp_differential_biotype_plot.png",
path = args$figure_output_dir,
device = "png",
dpi = 300,
units = "mm",
width = 240,
height = 180,
limitsize = TRUE
)
print("Astrocytes")
## [1] "Astrocytes"
chi_square_factor_test_differential(dataframe = sig_annotated_dif_data,
culture_type = "Astrocyte",
variable_of_interest = BIOTYPE,
factor_of_interest = 'Protein coding' )
## BIOTYPE
## Sample_change Protein coding Other
## Astrocyte_decrease 935 522
## Astrocyte_increase 19046 7523
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: .
## X-squared = 37.721, df = 1, p-value = 0.0000000008164
print("Coculture")
## [1] "Coculture"
chi_square_factor_test_differential(dataframe = sig_annotated_dif_data,
culture_type = "Coculture",
variable_of_interest = BIOTYPE,
factor_of_interest = 'Protein coding' )
## BIOTYPE
## Sample_change Protein coding Other
## Coculture_decrease 1197 978
## Coculture_increase 17741 8487
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: .
## X-squared = 143.1, df = 1, p-value < 2.2e-16
print("Neuron")
## [1] "Neuron"
chi_square_factor_test_differential(dataframe = sig_annotated_dif_data,
culture_type = "Neuron",
variable_of_interest = BIOTYPE,
factor_of_interest = 'Protein coding' )
## BIOTYPE
## Sample_change Protein coding Other
## Neuron_decrease 4810 4844
## Neuron_increase 8422 8410
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: .
## X-squared = 0.10172, df = 1, p-value = 0.7498
# Biotype with baseline
<- comparison_df %>%
alu_plot_data ::filter(treatment == "no_treatment") %>%
dplyr::select(locus, culture, binary_editing_change = treatment, repeat_class) %>%
dplyr::mutate(culture = str_to_title(culture)) %>% #Make culture column upper case to match the differential data
dplyrbind_rows(
%>%
sig_annotated_dif_data ::select(locus, culture, binary_editing_change, repeat_class)
dplyr
)
<- alu_plot_data %>%
alu_dif_plot drop_na(repeat_class) %>%
ggplot(aes(x=binary_editing_change, fill = (repeat_class))) +
geom_bar(position = "fill") +
scale_fill_paletteer_d("ggthemes::Classic_20",
na.value = "grey90") +
theme_plot() +
labs(y = "Number of editing sites", x = NULL, fill = "Repeat class") +
scale_x_discrete(labels = plot_labels) +
guides(fill = guide_legend(reverse = TRUE)) +
facet_wrap(vars(culture),
labeller = plot_labeller)
+
alu_dif_plot labs(title = "Proportion of repeat classes of differential editing changes",
subtitle = "Baseline verse sites with decreased/increased editing with treatment") +
theme_aw
ggsave(alu_dif_plot,
file = "supp_differential_repeat_plot.png",
path = args$figure_output_dir,
device = "png",
dpi = 300,
units = "mm",
width = 240,
height = 180,
limitsize = TRUE
)
Testing proportional changes for SINE/Alu
print("Astrocytes")
## [1] "Astrocytes"
chi_square_factor_test_differential(dataframe = sig_annotated_dif_data,
culture_type = "Astrocyte",
variable_of_interest = repeat_class,
factor_of_interest = "SINE/Alu" )
## repeat_class
## Sample_change SINE/Alu Other
## Astrocyte_decrease 1029 112
## Astrocyte_increase 24944 997
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: .
## X-squared = 97.757, df = 1, p-value < 2.2e-16
print("Coculture")
## [1] "Coculture"
chi_square_factor_test_differential(dataframe = sig_annotated_dif_data,
culture_type = "Coculture",
variable_of_interest = repeat_class,
factor_of_interest = "SINE/Alu" )
## repeat_class
## Sample_change SINE/Alu Other
## Coculture_decrease 1641 169
## Coculture_increase 24584 1109
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: .
## X-squared = 95.065, df = 1, p-value < 2.2e-16
print("Neuron")
## [1] "Neuron"
chi_square_factor_test_differential(dataframe = sig_annotated_dif_data,
culture_type = "Neuron",
variable_of_interest = repeat_class,
factor_of_interest = "SINE/Alu" )
## repeat_class
## Sample_change SINE/Alu Other
## Neuron_decrease 9130 483
## Neuron_increase 16021 815
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: .
## X-squared = 0.40367, df = 1, p-value = 0.5252
Testing proportional changes for Simple_repeat
print("Astrocytes")
## [1] "Astrocytes"
chi_square_factor_test_differential(dataframe = sig_annotated_dif_data,
culture_type = "Astrocyte",
variable_of_interest = repeat_class,
factor_of_interest = "Simple_repeat" )
## repeat_class
## Sample_change Simple_repeat Other
## Astrocyte_decrease 33 1108
## Astrocyte_increase 61 25880
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: .
## X-squared = 215.46, df = 1, p-value < 2.2e-16
print("Coculture")
## [1] "Coculture"
chi_square_factor_test_differential(dataframe = sig_annotated_dif_data,
culture_type = "Coculture",
variable_of_interest = repeat_class,
factor_of_interest = "Simple_repeat" )
## repeat_class
## Sample_change Simple_repeat Other
## Coculture_decrease 45 1765
## Coculture_increase 89 25604
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: .
## X-squared = 155.3, df = 1, p-value < 2.2e-16
print("Neuron")
## [1] "Neuron"
chi_square_factor_test_differential(dataframe = sig_annotated_dif_data,
culture_type = "Neuron",
variable_of_interest = repeat_class,
factor_of_interest = "Simple_repeat" )
## repeat_class
## Sample_change Simple_repeat Other
## Neuron_decrease 77 9536
## Neuron_increase 103 16733
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: .
## X-squared = 2.9673, df = 1, p-value = 0.08497
<br
<- (detect_genic_plot + dif_site_summary_plot) /
summary_edit_site_cons_plot /
parallel_line_plot + plot_spacer()) +
(consequence_dif_plot plot_annotation(tag_levels = 'a')
ggsave(summary_edit_site_cons_plot ,
file = "summary_edit_site_cons_plot.pdf",
path = args$figure_output_dir,
device = "pdf",
dpi = 300,
units = "mm",
width = 380,
height = 450,
limitsize = TRUE
)
ggsave(summary_edit_site_cons_plot ,
file = "summary_edit_site_cons_plot.png",
path = args$figure_output_dir,
device = "png",
dpi = 300,
units = "mm",
width = 380,
height = 450,
limitsize = TRUE
)
+
summary_edit_site_cons_plot theme_aw
## ─ Session info ───────────────────────────────────────────────────────────────────────────────────────────────────────
## setting value
## version R version 4.2.0 (2022-04-22)
## os CentOS Linux 7 (Core)
## system x86_64, linux-gnu
## ui X11
## language (EN)
## collate en_GB.UTF-8
## ctype en_GB.UTF-8
## tz Europe/London
## date 2024-02-09
## pandoc 2.19 @ /flask/apps/testfolder/eb/software/RStudio-Server/2022.02.3+492-foss-2021b-Java-13-R-4.2.0/bin/quarto/bin/ (via rmarkdown)
##
## ─ Packages ───────────────────────────────────────────────────────────────────────────────────────────────────────────
## ! package * version date (UTC) lib source
## P abind 1.4-5 2016-07-21 [?] CRAN (R 4.2.0)
## P AnnotationDbi 1.58.0 2022-04-26 [?] Bioconductor
## P AnnotationHub 3.4.0 2022-04-26 [?] Bioconductor
## P ape 5.6-2 2022-03-02 [?] CRAN (R 4.2.0)
## P aplot 0.1.7 2022-09-06 [?] CRAN (R 4.2.0)
## P assertthat 0.2.1 2019-03-21 [?] CRAN (R 4.2.0)
## P babelgene 22.9 2022-09-29 [?] CRAN (R 4.2.0)
## P backports 1.4.1 2021-12-13 [?] CRAN (R 4.2.0)
## P Biobase 2.56.0 2022-04-26 [?] Bioconductor
## P BiocFileCache 2.4.0 2022-04-26 [?] Bioconductor
## P BiocGenerics * 0.42.0 2022-04-26 [?] Bioconductor
## P BiocIO 1.6.0 2022-04-26 [?] Bioconductor
## P BiocManager 1.30.22 2023-08-08 [?] CRAN (R 4.2.0)
## P BiocParallel 1.30.3 2022-06-05 [?] Bioconductor
## P BiocVersion 3.15.2 2022-03-29 [?] Bioconductor
## P Biostrings 2.64.1 2022-08-18 [?] Bioconductor
## P bit 4.0.4 2020-08-04 [?] CRAN (R 4.2.0)
## P bit64 4.0.5 2020-08-30 [?] CRAN (R 4.2.0)
## P bitops 1.0-7 2021-04-24 [?] CRAN (R 4.2.0)
## P blob 1.2.3 2022-04-10 [?] CRAN (R 4.2.0)
## P bookdown 0.29 2022-09-12 [?] CRAN (R 4.2.0)
## P broom * 1.0.1 2022-08-29 [?] CRAN (R 4.2.0)
## P bslib 0.3.1 2021-10-06 [?] CRAN (R 4.2.0)
## P cachem 1.0.6 2021-08-19 [?] CRAN (R 4.2.0)
## P car 3.1-1 2022-10-19 [?] CRAN (R 4.2.0)
## P carData 3.0-5 2022-01-06 [?] CRAN (R 4.2.0)
## P cellranger 1.1.0 2016-07-27 [?] CRAN (R 4.2.0)
## P cli 3.4.1 2022-09-23 [?] CRAN (R 4.2.0)
## P codetools 0.2-18 2020-11-04 [?] CRAN (R 4.2.0)
## P colorspace 2.1-0 2023-01-23 [?] CRAN (R 4.2.0)
## P cowplot * 1.1.1 2020-12-30 [?] CRAN (R 4.2.0)
## P crayon 1.5.2 2022-09-29 [?] CRAN (R 4.2.0)
## P crosstalk 1.2.0 2021-11-04 [?] CRAN (R 4.2.0)
## P curl 4.3.2 2021-06-23 [?] CRAN (R 4.2.0)
## P data.table * 1.14.4 2022-10-17 [?] CRAN (R 4.2.0)
## P DBI 1.1.3 2022-06-18 [?] CRAN (R 4.2.0)
## P dbplyr 2.2.1 2022-06-27 [?] CRAN (R 4.2.0)
## P DelayedArray 0.22.0 2022-04-26 [?] Bioconductor
## P digest 0.6.30 2022-10-18 [?] CRAN (R 4.2.0)
## P dplyr * 1.0.10 2022-09-01 [?] CRAN (R 4.2.0)
## P DT 0.26 2022-10-19 [?] CRAN (R 4.2.0)
## P ellipsis 0.3.2 2021-04-29 [?] CRAN (R 4.2.0)
## P evaluate 0.18 2022-11-07 [?] CRAN (R 4.2.0)
## P EWCE * 1.11.3 2023-11-24 [?] Github (NathanSkene/EWCE@3838e2c)
## P ewceData 1.8.0 2023-11-24 [?] Github (neurogenomics/ewceData@4b6d0e3)
## P ExperimentHub 2.4.0 2022-04-26 [?] Bioconductor
## P fansi 1.0.3 2022-03-24 [?] CRAN (R 4.2.0)
## P farver 2.1.1 2022-07-06 [?] CRAN (R 4.2.0)
## P fastmap 1.1.0 2021-01-25 [?] CRAN (R 4.2.0)
## P filelock 1.0.2 2018-10-05 [?] CRAN (R 4.2.0)
## P forcats * 0.5.2 2022-08-19 [?] CRAN (R 4.2.0)
## P fs 1.5.2 2021-12-08 [?] CRAN (R 4.2.0)
## P gargle 1.2.0 2021-07-02 [?] CRAN (R 4.2.0)
## P generics 0.1.3 2022-07-05 [?] CRAN (R 4.2.0)
## P GenomeInfoDb * 1.32.3 2022-08-09 [?] Bioconductor
## P GenomeInfoDbData 1.2.8 2022-08-08 [?] Bioconductor
## P GenomicAlignments 1.32.1 2022-07-24 [?] Bioconductor
## P GenomicRanges * 1.48.0 2022-04-26 [?] Bioconductor
## P ggfun 0.0.7 2022-08-31 [?] CRAN (R 4.2.0)
## P ggplot2 * 3.4.2 2023-04-03 [?] CRAN (R 4.2.0)
## P ggplotify 0.1.0 2021-09-02 [?] CRAN (R 4.2.0)
## P ggpubr 0.4.0 2020-06-27 [?] CRAN (R 4.2.0)
## P ggrepel 0.9.2 2022-11-06 [?] CRAN (R 4.2.0)
## P ggsignif 0.6.4 2022-10-13 [?] CRAN (R 4.2.0)
## P ggtranscript * 0.99.9 2022-08-12 [?] Github (dzhang32/ggtranscript@b99da0d)
## P ggtree 3.4.2 2022-08-14 [?] Bioconductor
## P glue 1.6.2 2022-02-24 [?] CRAN (R 4.2.0)
## P googledrive 2.0.0 2021-07-08 [?] CRAN (R 4.2.0)
## P googlesheets4 1.0.1 2022-08-13 [?] CRAN (R 4.2.0)
## P gprofiler2 0.2.2 2023-06-14 [?] CRAN (R 4.2.0)
## P gridExtra * 2.3 2017-09-09 [?] CRAN (R 4.2.0)
## P gridGraphics 0.5-1 2020-12-13 [?] CRAN (R 4.2.0)
## P gtable 0.3.1 2022-09-01 [?] CRAN (R 4.2.0)
## P haven 2.5.1 2022-08-22 [?] CRAN (R 4.2.0)
## P here * 1.0.1 2020-12-13 [?] CRAN (R 4.2.0)
## P HGNChelper 0.8.1 2019-10-24 [?] CRAN (R 4.2.0)
## P highr 0.9 2021-04-16 [?] CRAN (R 4.2.0)
## P hms 1.1.2 2022-08-19 [?] CRAN (R 4.2.0)
## P homologene 1.4.68.19.3.27 2019-03-28 [?] CRAN (R 4.2.0)
## P htmltools 0.5.2 2021-08-25 [?] CRAN (R 4.2.0)
## P htmlwidgets 1.5.4 2021-09-08 [?] CRAN (R 4.2.0)
## P httpuv 1.6.5 2022-01-05 [?] CRAN (R 4.2.0)
## P httr 1.4.4 2022-08-17 [?] CRAN (R 4.2.0)
## P interactiveDisplayBase 1.34.0 2022-04-26 [?] Bioconductor
## P IRanges * 2.30.1 2022-08-18 [?] Bioconductor
## P jquerylib 0.1.4 2021-04-26 [?] CRAN (R 4.2.0)
## P jsonlite 1.8.3 2022-10-21 [?] CRAN (R 4.2.0)
## P kableExtra * 1.4.0 2024-01-24 [?] CRAN (R 4.2.0)
## P KEGGREST 1.36.3 2022-07-12 [?] Bioconductor
## P knitr * 1.40 2022-08-24 [?] CRAN (R 4.2.0)
## P labeling 0.4.2 2020-10-20 [?] CRAN (R 4.2.0)
## P later 1.3.0 2021-08-18 [?] CRAN (R 4.2.0)
## P lattice 0.20-45 2021-09-22 [?] CRAN (R 4.2.0)
## P lazyeval 0.2.2 2019-03-15 [?] CRAN (R 4.2.0)
## P lifecycle 1.0.3 2022-10-07 [?] CRAN (R 4.2.0)
## P limma 3.52.2 2022-06-19 [?] Bioconductor
## P lubridate 1.8.0 2021-10-07 [?] CRAN (R 4.2.0)
## P magrittr 2.0.3 2022-03-30 [?] CRAN (R 4.2.0)
## P Matrix 1.6-5 2024-01-11 [?] CRAN (R 4.2.0)
## P MatrixGenerics 1.8.1 2022-06-26 [?] Bioconductor
## P matrixStats 0.62.0 2022-04-19 [?] CRAN (R 4.2.0)
## P memoise 2.0.1 2021-11-26 [?] CRAN (R 4.2.0)
## P mime 0.12 2021-09-28 [?] CRAN (R 4.2.0)
## P modelr 0.1.9 2022-08-19 [?] CRAN (R 4.2.0)
## P munsell 0.5.0 2018-06-12 [?] CRAN (R 4.2.0)
## P nlme 3.1-159 2022-08-09 [?] CRAN (R 4.2.0)
## P orthogene 1.2.1 2022-10-02 [?] Bioconductor
## P paletteer * 1.4.1 2022-08-15 [?] CRAN (R 4.2.0)
## P pander * 0.6.5 2022-03-18 [?] CRAN (R 4.2.0)
## P patchwork * 1.1.2 2022-08-19 [?] CRAN (R 4.2.0)
## P pillar 1.8.1 2022-08-19 [?] CRAN (R 4.2.0)
## P pkgconfig 2.0.3 2019-09-22 [?] CRAN (R 4.2.0)
## P plotly 4.10.0 2021-10-09 [?] CRAN (R 4.2.0)
## P plyr 1.8.7 2022-03-24 [?] CRAN (R 4.2.0)
## P plyranges * 1.16.0 2022-04-26 [?] Bioconductor
## P png 0.1-7 2013-12-03 [?] CRAN (R 4.2.0)
## P prismatic 1.1.1 2022-08-15 [?] CRAN (R 4.2.0)
## P promises 1.2.0.1 2021-02-11 [?] CRAN (R 4.2.0)
## P purrr * 0.3.5 2022-10-06 [?] CRAN (R 4.2.0)
## P R6 2.5.1 2021-08-19 [?] CRAN (R 4.2.0)
## P rappdirs 0.3.3 2021-01-31 [?] CRAN (R 4.2.0)
## P Rcpp 1.0.9 2022-07-08 [?] CRAN (R 4.2.0)
## P RCurl 1.98-1.8 2022-07-30 [?] CRAN (R 4.2.0)
## P readr * 2.1.2 2022-01-30 [?] CRAN (R 4.2.0)
## P readxl 1.4.1 2022-08-17 [?] CRAN (R 4.2.0)
## P rematch2 2.1.2 2020-05-01 [?] CRAN (R 4.2.0)
## P reprex 2.0.2 2022-08-17 [?] CRAN (R 4.2.0)
## P reshape2 1.4.4 2020-04-09 [?] CRAN (R 4.2.0)
## P restfulr 0.0.15 2022-06-16 [?] CRAN (R 4.2.0)
## P rjson 0.2.21 2022-01-09 [?] CRAN (R 4.2.0)
## P rlang 1.1.1 2023-04-28 [?] CRAN (R 4.2.0)
## P rmarkdown 2.14 2022-04-25 [?] CRAN (R 4.2.0)
## P RNOmni * 1.0.1.2 2023-09-11 [?] CRAN (R 4.2.0)
## P rprojroot 2.0.3 2022-04-02 [?] CRAN (R 4.2.0)
## P Rsamtools 2.12.0 2022-04-26 [?] Bioconductor
## P RSQLite 2.2.16 2022-08-17 [?] CRAN (R 4.2.0)
## P rstatix 0.7.0 2021-02-13 [?] CRAN (R 4.2.0)
## P rstudioapi 0.13 2020-11-12 [?] CRAN (R 4.2.0)
## P rtracklayer 1.56.1 2022-06-23 [?] Bioconductor
## P rvest 1.0.3 2022-08-19 [?] CRAN (R 4.2.0)
## P S4Vectors * 0.34.0 2022-04-26 [?] Bioconductor
## P sass 0.4.1 2022-03-23 [?] CRAN (R 4.2.0)
## P scales 1.2.1 2022-08-20 [?] CRAN (R 4.2.0)
## P sciRmdTheme 0.1 2022-06-30 [?] CRAN (R 4.2.0)
## P sessioninfo * 1.2.2 2021-12-06 [?] CRAN (R 4.2.0)
## P shiny 1.7.2 2022-07-19 [?] CRAN (R 4.2.0)
## P SingleCellExperiment 1.18.1 2022-10-02 [?] Bioconductor
## P stringi 1.7.8 2022-07-11 [?] CRAN (R 4.2.0)
## P stringr * 1.4.1 2022-08-20 [?] CRAN (R 4.2.0)
## P SummarizedExperiment 1.26.1 2022-04-29 [?] Bioconductor
## P svglite 2.1.3 2023-12-08 [?] CRAN (R 4.2.0)
## P systemfonts 1.0.5 2023-10-09 [?] CRAN (R 4.2.0)
## P tibble * 3.1.8 2022-07-22 [?] CRAN (R 4.2.0)
## P tidycat * 0.1.2 2021-08-02 [?] CRAN (R 4.2.0)
## P tidyr * 1.2.1 2022-09-08 [?] CRAN (R 4.2.0)
## P tidyselect 1.2.0 2022-10-10 [?] CRAN (R 4.2.0)
## P tidytree 0.4.0 2022-08-13 [?] CRAN (R 4.2.0)
## P tidyverse * 1.3.2 2022-07-18 [?] CRAN (R 4.2.0)
## P treeio 1.20.2 2022-08-14 [?] Bioconductor
## P tzdb 0.3.0 2022-03-28 [?] CRAN (R 4.2.0)
## P utf8 1.2.2 2021-07-24 [?] CRAN (R 4.2.0)
## P vctrs 0.6.5 2023-12-01 [?] CRAN (R 4.2.0)
## P viridis * 0.6.2 2021-10-13 [?] CRAN (R 4.2.0)
## P viridisLite * 0.4.1 2022-08-22 [?] CRAN (R 4.2.0)
## P vroom 1.5.7 2021-11-30 [?] CRAN (R 4.2.0)
## P withr 2.5.0 2022-03-03 [?] CRAN (R 4.2.0)
## P xfun 0.41 2023-11-01 [?] CRAN (R 4.2.0)
## P XML 3.99-0.10 2022-06-09 [?] CRAN (R 4.2.0)
## P xml2 1.3.3 2021-11-30 [?] CRAN (R 4.2.0)
## P xtable 1.8-4 2019-04-21 [?] CRAN (R 4.2.0)
## P XVector 0.36.0 2022-04-26 [?] Bioconductor
## P yaml 2.3.6 2022-10-18 [?] CRAN (R 4.2.0)
## P yulab.utils 0.0.5 2022-06-30 [?] CRAN (R 4.2.0)
## P zlibbioc 1.42.0 2022-04-26 [?] Bioconductor
##
## [1] /nemo/lab/gandhis/home/users/wagena/Astrocytes_editing/renv/library/R-4.2/x86_64-pc-linux-gnu
## [2] /flask/apps/eb/software/R/4.2.0-foss-2021b/lib64/R/library
##
## P ── Loaded and on-disk path mismatch.
##
## ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────