args <- list(
# 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")
)
plot_labels = c("Decreased_editing" = "Decreased editing",
"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"
)
plot_labeller = as_labeller(plot_labels)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.txtThe 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
comparison_df <- readRDS(args$detect_summary_comparison_sig_file)
# Run the following before and after relevelling factors to check no samples lost in processing
na_consequence_detect <- comparison_df %>%
dplyr::filter(is.na(Consequence))
# 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
detect_export_df <- comparison_df %>%
dplyr::select(locus, sample_name, Edits, z.score)
write_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_BIOTYPEIn 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_numbers <- summary_by_variable(comparison_df,
sample_metric = Sample)[[2]]
genic_summary <- summary_by_variable_for_publication(comparison_df,
sample_metric = "Sample",
variable = "gene_type")[[2]] %>%
left_join(as_tibble(summary_numbers),
by = "Sample") %>%
dplyr::rename(Total = n)
write_csv(genic_summary,
file = str_c(args$output_folder, "/editing_site_numbers_genicsite_summary.csv"))
genic_summary %>%
as_tibble() %>%
DT::datatable(rownames = FALSE,
options = list(scrollX = TRUE))Figure 3.1: Table showing editing site numbers (percent) for the different cultures across genic locations
# Extract values for _nt and _asyn conditions for each group
astro_nt <- summary_numbers["astro_nt"]
astro_asyn <- summary_numbers["astro_asyn"]
cocult_nt <- summary_numbers["cocult_nt"]
cocult_asyn <- summary_numbers["cocult_asyn"]
neuron_nt <- summary_numbers["neuron_nt"]
neuron_asyn <- summary_numbers["neuron_asyn"]
# Calculate percent increase for each group
percent_increase_astro <- round(((astro_asyn - astro_nt) / astro_nt) * 100, 1)
percent_increase_cocult <- round(((cocult_asyn - cocult_nt) / cocult_nt) * 100, 1)
percent_increase_neuron <- round(((neuron_asyn - neuron_nt) / neuron_nt) * 100, 1)
# 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 %
detect_genic_plot <- compare_plot(comparison_df %>%
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_awprint("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]] %>%
DT::datatable(rownames = FALSE,
options = 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_awsummary_by_variable_for_publication(comparison_df,
sample_metric = "Sample",
variable = "BIOTYPE")[[1]] %>%
DT::datatable(rownames = FALSE,
options = 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]] %>%
DT::datatable(rownames = FALSE,
options = list(scrollX = TRUE))# Note: NAs have been removed
repeat_types_plot <- compare_plot(comparison_df %>%
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_awcomparison_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)
) %>%
DT::datatable(rownames = FALSE,
options = list(scrollX = TRUE))
annotated_dif_data <- readRDS(args$dif_summary_comparison_all_file)
# Add columns of interest
annotated_dif_data <- annotated_dif_data %>%
mutate(treat_untreat_dif = treated_edits - untreated_edits) %>%
dplyr::relocate(treat_untreat_dif, .after=treat_untreat_ratio) %>%
mutate(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(
treat_untreat_ratio == 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") %>%
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
annotated_dif_data$four_editing_changes <- factor(annotated_dif_data$four_editing_changes, levels = c("new_sites", "increased_sites", "decreased_sites", "lost_sites"))
# Filter for significance
sig_annotated_dif_data <- annotated_dif_data %>%
dplyr::filter(sig_edit == "significant")
differential_export_df <- sig_annotated_dif_data %>%
dplyr::select(locus, SampleName, untreated_edits, treated_edits, z.score)
write_csv(differential_export_df,
file = str_c(args$output_folder, "/sig_edits_astrocyte_differential.csv"))# Creat summary table
sig_annotated_dif_table <- sig_annotated_dif_data %>%
dplyr::select(culture, four_editing_changes) %>%
table() %>%
as_tibble() %>%
spread(four_editing_changes, n)
sig_annotated_dif_table %>%
DT::datatable(rownames = FALSE,
options = list(scrollX = TRUE))dif_site_summary_plot <- sig_annotated_dif_data %>%
dplyr::mutate(four_editing_changes = fct_relevel(four_editing_changes, levels = c("new_sites", "increased_sites", "lost_sites", "decreased_sites"))) %>%
ggplot(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
sum_sig_dif_data <- sig_annotated_dif_data %>%
dplyr::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
arrange(culture, desc(log_ratio))
write_csv(sum_sig_dif_data,
str_c(args$output_folder,
"/summary_results_genes.csv"))
sum_all_dif_data <- annotated_dif_data %>%
dplyr::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") %>%
arrange(culture, desc(log_ratio))
sum_all_dif_data
write_csv(sum_all_dif_data,
str_c(args$output_folder,
"/dge_comparisons",
"/summary_results_all_genes_inc_nonsig.csv"))
all_gene_background <- sum_all_dif_data %>%
dplyr::select(Gene, SYMBOL) %>%
distinct(Gene, .keep_all = T)
write_csv(all_gene_background,
str_c(args$output_folder,
"/dge_comparisons",
"/summary_results_all_dif_genelist_background_universe.csv"))
sig_increase_gene_ratio <- sum_sig_dif_data %>%
dplyr::filter(treat_untreat_dif > 0,
Consequence_plots == "3 prime UTR variant") %>%
distinct(SYMBOL, .keep_all = TRUE)
write_csv(sig_increase_gene_ratio,
str_c(args$output_folder,
"/dge_comparisons",
"/significant_3UTR_genes_ratios.csv"))
sig_increase_gene_difference <- sum_sig_dif_data %>%
dplyr::filter(treat_untreat_dif > 0,
Consequence_plots == "3 prime UTR variant") %>%
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"))par_coord_plot_data <- sig_annotated_dif_data %>%
dplyr::select(locus, culture, four_editing_changes, Sample_change, untreated_edits, treated_edits) %>%
pivot_longer(cols = c("untreated_edits", "treated_edits"), # Pivot longer for ggplot
names_to = "timepoint",
values_to = "editing_rate") %>%
dplyr::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")),
timepoint = factor(timepoint, levels = c("untreated_edits", "treated_edits"))
)
parallel_line_plot <- par_coord_plot_data %>%
arrange(four_editing_changes, locus) %>%
dplyr::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
slice(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.
consequence_plot_data <- comparison_df %>%
dplyr::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
bind_rows(
sig_annotated_dif_data %>%
dplyr::select(locus, culture, binary_editing_change, Consequence_plots)
)
consequence_dif_plot <- consequence_plot_data %>%
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_awCheck 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
biotype_plot_data <- comparison_df %>%
dplyr::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
bind_rows(
sig_annotated_dif_data %>%
dplyr::select(locus, culture, binary_editing_change, BIOTYPE)
)
biotype_dif_plot <- biotype_plot_data %>%
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_awggsave(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
alu_plot_data <- comparison_df %>%
dplyr::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
bind_rows(
sig_annotated_dif_data %>%
dplyr::select(locus, culture, binary_editing_change, repeat_class)
)
alu_dif_plot <- alu_plot_data %>%
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_awggsave(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
summary_edit_site_cons_plot <- (detect_genic_plot + dif_site_summary_plot) /
parallel_line_plot /
(consequence_dif_plot + plot_spacer()) +
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.
##
## ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────