Last updated: 2024-01-25

Checks: 7 0

Knit directory: Methamphetamine_MicroglialRNASequencing_Analysis/

This reproducible R Markdown analysis was created with workflowr (version 1.7.0). The Checks tab describes the reproducibility checks that were applied when the results were created. The Past versions tab lists the development history.


Great! Since the R Markdown file has been committed to the Git repository, you know the exact version of the code that produced these results.

Great job! The global environment was empty. Objects defined in the global environment can affect the analysis in your R Markdown file in unknown ways. For reproduciblity it’s best to always run the code in an empty environment.

The command set.seed(20231019) was run prior to running the code in the R Markdown file. Setting a seed ensures that any results that rely on randomness, e.g. subsampling or permutations, are reproducible.

Great job! Recording the operating system, R version, and package versions is critical for reproducibility.

Nice! There were no cached chunks for this analysis, so you can be confident that you successfully produced the results during this run.

Great job! Using relative paths to the files within your workflowr project makes it easier to run your code on other machines.

Great! You are using Git for version control. Tracking code development and connecting the code version to the results is critical for reproducibility.

The results in this page were generated with repository version 5ea1db2. See the Past versions tab to see a history of the changes made to the R Markdown and HTML files.

Note that you need to be careful to ensure that all relevant files for the analysis have been committed to Git prior to generating the results (you can use wflow_publish or wflow_git_commit). workflowr only checks the R Markdown file, but you know if there are other scripts or data files that it depends on. Below is the status of the Git repository when the results were generated:


Untracked files:
    Untracked:  output/Sig_Res_Abstinence_vs_Maintenance_Final.csv
    Untracked:  output/Sig_Res_Abstinence_vs_Saline_Final.csv
    Untracked:  output/Sig_Res_Maintenace_vs_Saline_Final.csv

Note that any generated files, e.g. HTML, png, CSS, etc., are not included in this status report because it is ok for generated content to have uncommitted changes.


These are the previous versions of the repository in which changes were made to the R Markdown (analysis/index.Rmd) and HTML (docs/index.html) files. If you’ve configured a remote Git repository (see ?wflow_git_remote), click on the hyperlinks in the table below to view the files as they were in that past version.

File Version Author Date Message
Rmd 5ea1db2 avm27 2024-01-25 Publish the initial files for MethamphetamineIVSA_RNASequencing
html 865d937 avm27 2023-10-19 Build site.
Rmd ee311c7 avm27 2023-10-19 wflow_git_commit(all = TRUE)
html 2af3639 avm27 2023-10-19 Publish Asset Files
html c3ef4c8 avm27 2023-10-19 Build site.
Rmd 7acd236 avm27 2023-10-19 Publish Analysis Files
html cbdd8d5 avm27 2023-10-19 Build site.
Rmd e92ae3e avm27 2023-10-19 Quickstart commit from wflow_quickstart()
Rmd 967e452 avm27 2023-10-19 Start workflowr project.

Microglia contribute to methamphetamine reinforcement and reflect persistent transcriptional and morphological adaptations to the drug

Samara J. Vilca1,2†, Alexander V. Margetts1-3†, Isabella Fleites1-3, Claes R. Wahlestedt1-3 & Luis M. Tuesta1-3*

1 Department of Psychiatry & Behavioral Sciences 2 Center for Therapeutic Innovation 3 Sylvester Comprehensive Cancer Center University of Miami Miller School of Medicine, Miami, FL 33136 † Denotes equal contribution * Corresponding author ()

1 Abstract

Abstract Methamphetamine use disorder (MUD) is a chronic, relapsing disease that is characterized by repeated drug use despite negative consequences for which there are currently no FDA approved cessation therapeutics. Repeated methamphetamine (METH) use induces long-term gene expression changes in brain regions associated with reward processing and drug-seeking behavior, and recent evidence suggests that methamphetamine-induced neuroinflammation may also shape behavioral and molecular responses to the drug. Microglia, the resident immune cells in the brain, are principal drivers of neuroinflammatory responses and contribute to the pathophysiology of substance use disorders. Here, we investigated transcriptional and morphological changes in striatal microglia in response to methamphetamine-taking and during methamphetamine abstinence, as well as their functional contribution to drug-taking behavior. We show that methamphetamine self-administration induces transcriptional changes related to protein folding, mRNA processing, immune signaling, and neurotransmission in striatal microglia. Importantly, many of these transcriptional changes persist through abstinence, a finding supported by morphological analysis. Functionally, we report that microglial ablation increases methamphetamine-taking, possibly involving neuroimmune and neurotransmitter regulation. In contrast, microglial depletion did not alter methamphetamine-seeking behavior following 21 days of abstinence, highlighting the complexity of drug-seeking behaviors. Taken together, these results suggest that methamphetamine induces both short and long-term changes in striatal microglia that contribute to altered drug-taking behavior and may be leveraged for preclinical development of methamphetamine cessation therapeutics.

2 DESeq2 Analysis

2.1 Setup

Building DESeq2 input files from gene count matrices output by StringTie following removal of samples that are outliers.

Running DeSeq2 analysis with factor levels of Saline and Maintenance

Version Author Date
c3ef4c8 avm27 2023-10-19

3 Plot Estimates and Gather Results

3.1 Gather Results

These results include overview for each result file and dispersion estimates based on count values.

3.1.1 Maintenance vs Saline

Maintenance vs Saline Microglia Results Overview
baseMean log2FoldChange lfcSE stat pvalue padj
Sox17|Sox17 1005.050408 -0.2892391 0.3824676 -0.7562447 0.4495025 0.8622696
Xkr4|Xkr4 27.487221 2.1094096 1.7498633 1.2054711 0.2280215 0.6912576
Gm39585|Gm39585 20.122567 -1.4161909 1.9739949 -0.7174238 0.4731126 0.8743361
Mrpl15|Mrpl15 2772.826990 0.0920304 0.1493648 0.6161448 0.5377989 0.9043487
Lypla1|Lypla1 8825.610732 0.1191790 0.1002528 1.1887856 0.2345240 0.6999918
Tcea1|Tcea1 8191.296553 0.1704652 0.0630445 2.7038851 0.0068534 0.1300812
Rgs20|Rgs20 127.389956 0.6658835 0.7526546 0.8847132 0.3763113 0.8194094
Gm16041|Gm16041 0.000000 NA NA NA NA NA
Oprk1|Oprk1 13.475225 3.5221169 2.8760340 1.2246437 0.2207095 0.6831799
Atp6v1h|Atp6v1h 6521.251908 0.0229262 0.0875939 0.2617323 0.7935278 0.9727107
St18|St18 209.697800 0.3202529 0.6296535 0.5086177 0.6110203 0.9283226
Rb1cc1|Rb1cc1 4516.928293 -0.2118859 0.3319474 -0.6383117 0.5232708 0.8983380
4732440D04Rik|4732440D04Rik 174.005530 0.1897164 0.6386101 0.2970771 0.7664077 0.9688947
Pcmtd1|Pcmtd1 5252.070527 0.0051816 0.1197234 0.0432800 0.9654784 0.9983380
Mybl1|Mybl1 8.488892 5.8571818 3.8759977 1.5111417 0.1307523 0.5647701
Gm39590|Gm39590 1.865610 -0.0586868 3.9771414 -0.0147560 0.9882268 NA
Vcpip1|Vcpip1 4388.265061 0.0465268 0.1355168 0.3433285 0.7313513 0.9626087
1700034P13Rik|1700034P13Rik 13.695416 -0.6166189 0.8899140 -0.6928972 0.4883741 0.8802916
Adhfe1|Adhfe1 267.004148 0.0432398 0.3663710 0.1180218 0.9060504 0.9938121
Rrs1|Rrs1 1345.749254 -0.6954956 0.1888328 -3.6831298 0.0002304 0.0127600

out of 21824 with nonzero total read count adjusted p-value < 0.1 LFC > 0 (up) : 489, 2.2% LFC < 0 (down) : 311, 1.4% outliers [1] : 675, 3.1% low counts [2] : 3936, 18% (mean count < 4) [1] see ‘cooksCutoff’ argument of ?results [2] see ‘independentFiltering’ argument of ?results

3.1.2 Abstinence vs Saline

Abstinence vs Saline Microglia Results Overview
baseMean log2FoldChange lfcSE stat pvalue padj
Sox17|Sox17 1005.050408 -0.4706693 0.3540696 -1.3293128 0.1837448 0.8044312
Xkr4|Xkr4 27.487221 2.2910497 1.6213699 1.4130333 0.1576459 0.7669589
Gm39585|Gm39585 20.122567 -1.1661676 1.8248782 -0.6390386 0.5227978 0.9927696
Mrpl15|Mrpl15 2772.826990 0.1660281 0.1382171 1.2012119 0.2296690 0.8547000
Lypla1|Lypla1 8825.610732 0.0335897 0.0928040 0.3619429 0.7173947 0.9990707
Tcea1|Tcea1 8191.296553 -0.0661473 0.0583806 -1.1330362 0.2571991 0.8820779
Rgs20|Rgs20 127.389956 1.0565561 0.6964308 1.5171013 0.1292411 0.7248640
Gm16041|Gm16041 0.000000 NA NA NA NA NA
Oprk1|Oprk1 13.475225 7.2944794 2.6556624 2.7467646 0.0060186 0.1787199
Atp6v1h|Atp6v1h 6521.251908 -0.0021371 0.0810617 -0.0263641 0.9789669 0.9990707
St18|St18 209.697800 0.4939166 0.5827141 0.8476139 0.3966530 0.9560401
Rb1cc1|Rb1cc1 4516.928293 -0.2426487 0.3073065 -0.7895983 0.4297624 0.9668337
4732440D04Rik|4732440D04Rik 174.005530 0.3296424 0.5909528 0.5578152 0.5769706 0.9965434
Pcmtd1|Pcmtd1 5252.070527 0.1878934 0.1107750 1.6961714 0.0898534 0.6518587
Mybl1|Mybl1 8.488892 5.9663637 3.6034746 1.6557252 0.0977775 0.6681910
Gm39590|Gm39590 1.865610 4.5165793 3.6086749 1.2515894 0.2107195 NA
Vcpip1|Vcpip1 4388.265061 0.2808433 0.1253862 2.2398268 0.0251022 0.3842919
1700034P13Rik|1700034P13Rik 13.695416 -0.5085417 0.8194923 -0.6205570 0.5348911 0.9944680
Adhfe1|Adhfe1 267.004148 0.6784805 0.3382766 2.0056976 0.0448885 0.5085780
Rrs1|Rrs1 1345.749254 -0.2018134 0.1744082 -1.1571327 0.2472181 0.8747460

out of 21824 with nonzero total read count adjusted p-value < 0.1 LFC > 0 (up) : 295, 1.4% LFC < 0 (down) : 107, 0.49% outliers [1] : 675, 3.1% low counts [2] : 3320, 15% (mean count < 2) [1] see ‘cooksCutoff’ argument of ?results [2] see ‘independentFiltering’ argument of ?results

3.1.3 Abstinence vs Maintenance

Abstinence vs Maintenance Microglia Results Overview
baseMean log2FoldChange lfcSE stat pvalue padj
Sox17|Sox17 1005.050408 -0.1814295 0.3541645 -0.5122747 0.6084588 0.9453446
Xkr4|Xkr4 27.487221 0.1816497 1.6071314 0.1130273 0.9100089 0.9948756
Gm39585|Gm39585 20.122567 0.2500280 1.8305919 0.1365832 0.8913603 0.9927533
Mrpl15|Mrpl15 2772.826990 0.0739978 0.1381566 0.5356085 0.5922291 0.9399536
Lypla1|Lypla1 8825.610732 -0.0855892 0.0927717 -0.9225791 0.3562266 0.8326814
Tcea1|Tcea1 8191.296553 -0.2366124 0.0583112 -4.0577556 0.0000495 0.0035076
Rgs20|Rgs20 127.389956 0.3906746 0.6948027 0.5622813 0.5739244 0.9336932
Gm16041|Gm16041 0.000000 NA NA NA NA NA
Oprk1|Oprk1 13.475225 3.7723620 2.5322852 1.4897066 0.1363014 0.5847465
Atp6v1h|Atp6v1h 6521.251908 -0.0250632 0.0810397 -0.3092711 0.7571153 0.9728842
St18|St18 209.697800 0.1736652 0.5821876 0.2982977 0.7654760 0.9746060
Rb1cc1|Rb1cc1 4516.928293 -0.0307621 0.3073236 -0.1000966 0.9202676 0.9954082
4732440D04Rik|4732440D04Rik 174.005530 0.1399275 0.5905605 0.2369402 0.8127032 0.9833817
Pcmtd1|Pcmtd1 5252.070527 0.1827118 0.1107588 1.6496379 0.0990170 0.5148197
Mybl1|Mybl1 8.488892 0.1092359 3.4915286 0.0312860 0.9750415 0.9982936
Gm39590|Gm39590 1.865610 4.5752107 3.6086749 1.2678368 0.2048563 NA
Vcpip1|Vcpip1 4388.265061 0.2343167 0.1253561 1.8692089 0.0615938 0.4157637
1700034P13Rik|1700034P13Rik 13.695416 0.1080784 0.8269067 0.1307021 0.8960110 0.9934490
Adhfe1|Adhfe1 267.004148 0.6352412 0.3380731 1.8790055 0.0602437 0.4126802
Rrs1|Rrs1 1345.749254 0.4936823 0.1748608 2.8232870 0.0047534 0.0925227

out of 21824 with nonzero total read count adjusted p-value < 0.1 LFC > 0 (up) : 465, 2.1% LFC < 0 (down) : 481, 2.2% outliers [1] : 675, 3.1% low counts [2] : 3936, 18% (mean count < 4) [1] see ‘cooksCutoff’ argument of ?results [2] see ‘independentFiltering’ argument of ?results

3.2 Annotate Results Files and Pull Significant DEGs

This subsection is for annotation the results files to include all necessary information for downstream analyses.

After annotation I subset the results to only view the significantly differentially expressed genes with an adjusted p-value > 0.05.

## Subset for significant genes only

results_sig <- subset(res, padj < 0.05)
results_sig2 <- subset(res2, padj < 0.05)
results_sig3 <- subset(res3, padj < 0.05)

3.2.1 Maintenance vs Saline

Significant DEGs Maintenance vs Saline
baseMean log2FoldChange lfcSE stat pvalue padj symbol description entrez ensembl
Rrs1|Rrs1 1345.74925 -0.6954956 0.1888328 -3.683130 0.0002304 0.0127600 Rrs1 ribosome biogenesis regulator 1 59014 ENSMUSG0….
Sgk3|Sgk3 8049.66688 0.5236573 0.1177588 4.446864 0.0000087 0.0009160 Sgk3 serum/glucocorticoid regulated kinase 3 170755 ENSMUSG0….
Sulf1|Sulf1 50.66850 21.8892776 2.7822808 7.867386 0.0000000 0.0000000 Sulf1 sulfatase 1 240725 ENSMUSG0….
Phf3|Phf3 1225.06289 0.8004524 0.1939269 4.127599 0.0000367 0.0030358 Phf3 PHD finger protein 3 213109 ENSMUSG0….
Ptp4a1|Ptp4a1 10992.32954 0.2390088 0.0701230 3.408424 0.0006534 0.0275723 Ptp4a1 protein tyrosine phosphatase 4a1 19243 ENSMUSG0….
Dst|Dst 2769.47797 0.6444525 0.1796336 3.587594 0.0003337 0.0169842 Dst dystonin 13518 ENSMUSG0….
Il1rl1|Il1rl1 767.85351 -0.6675801 0.2001417 -3.335537 0.0008513 0.0332898 Il1rl1 interleukin 1 receptor-like 1 17082 ENSMUSG0….
Tmeff2|Tmeff2 1851.52483 1.5905441 0.3999840 3.976519 0.0000699 0.0050114 Tmeff2 transmembrane protein with EGF-like and two follistatin-like domains 2 56363 ENSMUSG0….
Gtf3c3|Gtf3c3 1892.36540 -0.4870701 0.1428300 -3.410138 0.0006493 0.0274693 Gtf3c3 general transcription factor IIIC, polypeptide 3 98488 ENSMUSG0….
Coq10b|Coq10b 3416.27810 0.7241932 0.1366191 5.300820 0.0000001 0.0000270 Coq10b coenzyme Q10B 67876 ENSMUSG0….
Hspd1|Hspd1 13992.02859 0.4306525 0.0876478 4.913444 0.0000009 0.0001511 Hspd1 heat shock protein 1 (chaperonin) 15510 ENSMUSG0….
Wdr12|Wdr12 2234.91895 0.4341932 0.1246503 3.483289 0.0004953 0.0229442 Wdr12 WD repeat domain 12 57750 ENSMUSG0….
Map2|Map2 649.58161 1.7126502 0.4851971 3.529803 0.0004159 0.0201697 Map2 microtubule-associated protein 2 17756 ENSMUSG0….
Abcb6|Abcb6 1043.57686 -1.0128883 0.2699762 -3.751769 0.0001756 0.0102762 Abcb6 ATP-binding cassette, sub-family B (MDR/TAP), member 6 74104 ENSMUSG0….
Efhd1|Efhd1 915.13609 1.0882417 0.3208173 3.392092 0.0006936 0.0288572 Efhd1 EF hand domain containing 1 98363 ENSMUSG0….
Ugt1a6a|Ugt1a6a 28.49494 -7.2900944 1.4156636 -5.149595 0.0000003 0.0000516 Ugt1a6a UDP glucuronosyltransferase 1 family, polypeptide A6A 94284 ENSMUSG0….
Cntn2|Cntn2 352.60489 2.5104391 0.5415527 4.635632 0.0000036 0.0004400 Cntn2 contactin 2 21367 ENSMUSG0….
Adora1|Adora1 400.20827 1.7436188 0.3745739 4.654939 0.0000032 0.0004064 Adora1 adenosine A1 receptor 11539 ENSMUSG0….
Shisa4|Shisa4 907.41309 1.4450193 0.3905135 3.700306 0.0002153 0.0121177 Shisa4 shisa family member 4 77552 ENSMUSG0….
Phlda3|Phlda3 607.95039 1.3654343 0.4095723 3.333805 0.0008567 0.0334233 Phlda3 pleckstrin homology like domain, family A, member 3 27280 ENSMUSG0….

3.2.2 Abstinence vs Saline

Significant DEGs Abstinence vs Saline
baseMean log2FoldChange lfcSE stat pvalue padj symbol description entrez ensembl
Sulf1|Sulf1 5.066850e+01 21.9195329 2.5985677 8.435237 0.0000000 0.0000000 Sulf1 sulfatase 1 240725 ENSMUSG0….
Tmeff2|Tmeff2 1.851525e+03 1.3996169 0.3703824 3.778843 0.0001576 0.0138324 Tmeff2 transmembrane protein with EGF-like and two follistatin-like domains 2 56363 ENSMUSG0….
Fzd5|Fzd5 1.406694e+02 1.8591904 0.4420074 4.206242 0.0000260 0.0030443 Fzd5 frizzled class receptor 5 14367 ENSMUSG0….
Ptprn|Ptprn 9.746532e+01 1.8603752 0.5503598 3.380289 0.0007241 0.0441578 Ptprn protein tyrosine phosphatase, receptor type, N 19275 ENSMUSG0….
Tmem37|Tmem37 8.065723e+03 -0.3977212 0.1075395 -3.698373 0.0002170 0.0180059 Tmem37 transmembrane protein 37 170706 ENSMUSG0….
Cntn2|Cntn2 3.526049e+02 2.4908656 0.5019458 4.962420 0.0000007 0.0001454 Cntn2 contactin 2 21367 ENSMUSG0….
Rbbp5|Rbbp5 2.067301e+03 0.7515691 0.1861912 4.036545 0.0000542 0.0058330 Rbbp5 retinoblastoma binding protein 5, histone lysine methyltransferase complex subunit 213464 ENSMUSG0….
Adora1|Adora1 4.002083e+02 1.3125207 0.3472911 3.779310 0.0001573 0.0138324 Adora1 adenosine A1 receptor 11539 ENSMUSG0….
Shisa4|Shisa4 9.074131e+02 1.5961330 0.3616009 4.414073 0.0000101 0.0014516 Shisa4 shisa family member 4 77552 ENSMUSG0….
Lad1|Lad1 1.055933e+01 20.2855251 3.6022097 5.631411 0.0000000 0.0000060 Lad1 ladinin 16763 ENSMUSG0….
Prdx6|Prdx6 6.519144e+03 0.5079789 0.1320362 3.847271 0.0001194 0.0111886 Prdx6 peroxiredoxin 6 11758 ENSMUSG0….
Fcgr3|Fcgr3 2.645967e+05 -0.1785064 0.0431478 -4.137086 0.0000352 0.0040203 Fcgr3 Fc receptor, IgG, low affinity III 14131 ENSMUSG0….
Kcnj10|Kcnj10 4.180340e+02 0.7997097 0.2355706 3.394778 0.0006868 0.0431903 Kcnj10 potassium inwardly-rectifying channel, subfamily J, member 10 16513 ENSMUSG0….
1700034H15Rik|1700034H15Rik 9.732449e+00 20.4270038 3.6021048 5.670852 0.0000000 0.0000050 1700034H15Rik RIKEN cDNA 1700034H15 gene 98736 ENSMUSG0….
LOC108167797|LOC108167797 7.830883e+00 19.6809315 3.6031327 5.462172 0.0000000 0.0000142 LOC108167797 NA NA
Ifngr1|Ifngr1 9.796039e+04 -0.2495816 0.0666201 -3.746340 0.0001794 0.0155278 Ifngr1 interferon gamma receptor 1 15979 ENSMUSG0….
Gja1|Gja1 4.212005e+03 1.0115368 0.2662060 3.799828 0.0001448 0.0130267 Gja1 gap junction protein, alpha 1 14609 ENSMUSG0….
Unc5b|Unc5b 2.024884e+02 1.6036437 0.4048530 3.961052 0.0000746 0.0077490 Unc5b unc-5 netrin receptor B 107449 ENSMUSG0….
Ank3|Ank3 3.950925e+02 1.4819121 0.3442522 4.304729 0.0000167 0.0022017 Ank3 ankyrin 3, epithelial 11735 ENSMUSG0….
Phyhipl|Phyhipl 2.026671e+03 1.5678817 0.2661561 5.890834 0.0000000 0.0000023 Phyhipl phytanoyl-CoA hydroxylase interacting protein-like 70911 ENSMUSG0….

3.2.3 Abstinence vs Maintenance

Significant Abstinence vs Maintenance
baseMean log2FoldChange lfcSE stat pvalue padj symbol description entrez ensembl
Tcea1|Tcea1 8191.29655 -0.2366124 0.0583112 -4.057756 0.0000495 0.0035076 Tcea1 transcription elongation factor A (SII) 1 21399 ENSMUSG0….
Sgk3|Sgk3 8049.66688 -0.5398574 0.1089754 -4.953939 0.0000007 0.0000946 Sgk3 serum/glucocorticoid regulated kinase 3 170755 ENSMUSG0….
Tceb1|Tceb1 7975.02657 0.2184331 0.0695727 3.139636 0.0016916 0.0452040 Tceb1 NA NA
Fam135a|Fam135a 1287.34784 0.6104730 0.1797700 3.395856 0.0006841 0.0235520 Fam135a family with sequence similarity 135, member A 68187 ENSMUSG0….
Phf3|Phf3 1225.06289 -0.6373891 0.1792120 -3.556620 0.0003757 0.0153382 Phf3 PHD finger protein 3 213109 ENSMUSG0….
Ptp4a1|Ptp4a1 10992.32954 -0.2408100 0.0648710 -3.712138 0.0002055 0.0099409 Ptp4a1 protein tyrosine phosphatase 4a1 19243 ENSMUSG0….
Dst|Dst 2769.47797 -0.9424648 0.1662848 -5.667774 0.0000000 0.0000031 Dst dystonin 13518 ENSMUSG0….
Unc50|Unc50 7164.14519 -0.1959583 0.0598255 -3.275497 0.0010548 0.0321111 Unc50 unc-50 homolog 67387 ENSMUSG0….
Il1rl1|Il1rl1 767.85351 0.6680319 0.1852259 3.606580 0.0003103 0.0134218 Il1rl1 interleukin 1 receptor-like 1 17082 ENSMUSG0….
Stk17b|Stk17b 11796.44360 -0.4213730 0.1010894 -4.168320 0.0000307 0.0023526 Stk17b serine/threonine kinase 17b (apoptosis-inducing) 98267 ENSMUSG0….
Hspd1|Hspd1 13992.02859 -0.2769954 0.0810943 -3.415718 0.0006361 0.0222929 Hspd1 heat shock protein 1 (chaperonin) 15510 ENSMUSG0….
Nrp2|Nrp2 871.34143 -0.5085451 0.1387695 -3.664675 0.0002477 0.0114422 Nrp2 neuropilin 2 18187 ENSMUSG0….
Pard3b|Pard3b 262.31577 0.9405450 0.2928996 3.211152 0.0013220 0.0381761 Pard3b par-3 family cell polarity regulator beta 72823 ENSMUSG0….
Abcb6|Abcb6 1043.57686 1.1106563 0.2499278 4.443909 0.0000088 0.0008206 Abcb6 ATP-binding cassette, sub-family B (MDR/TAP), member 6 74104 ENSMUSG0….
Rhbdd1|Rhbdd1 3405.91366 0.7278433 0.1872318 3.887392 0.0001013 0.0060717 Rhbdd1 rhomboid domain containing 1 76867 ENSMUSG0….
Dock10|Dock10 14056.33423 -0.3079567 0.0961073 -3.204302 0.0013539 0.0388407 Dock10 dedicator of cytokinesis 10 210293 ENSMUSG0….
Pid1|Pid1 6100.89696 -0.5207357 0.1248731 -4.170119 0.0000304 0.0023526 Pid1 phosphotyrosine interaction domain containing 1 98496 ENSMUSG0….
C130026I21Rik|C130026I21Rik 10.78415 6.8108008 2.0397198 3.339086 0.0008405 0.0275325 C130026I21Rik RIKEN cDNA C130026I21 gene 620078 ENSMUSG0….
Kcnj13|Kcnj13 17.91513 7.6155817 1.9974216 3.812706 0.0001375 0.0075050 Kcnj13 potassium inwardly-rectifying channel, subfamily J, member 13 100040591 ENSMUSG0….
Ugt1a6a|Ugt1a6a 28.49494 5.6541170 1.3572152 4.165970 0.0000310 0.0023666 Ugt1a6a UDP glucuronosyltransferase 1 family, polypeptide A6A 94284 ENSMUSG0….

3.3 Visualize Shrinkage Estimations

Following subsetting, I want to see how the data looks based on effect size so I have run a shrinkage model using the “apeglm” method which normalizes counts based on effect size without major changes to data structure. I have included non-shrunk models as well for comparison.

3.3.1 Non-Shrunken L2FC

3.3.1.1 Maintenance vs Saline

Version Author Date
c3ef4c8 avm27 2023-10-19

3.3.1.2 Abstinence vs Saline

Version Author Date
c3ef4c8 avm27 2023-10-19

3.3.1.3 Abstinence vs Maintenance

Version Author Date
c3ef4c8 avm27 2023-10-19

3.3.2 Shrunken L2FC

3.3.2.1 Maintenance vs Saline

Version Author Date
c3ef4c8 avm27 2023-10-19

3.3.2.2 Abstinence vs Saline

Version Author Date
c3ef4c8 avm27 2023-10-19

3.3.2.3 Abstinence vs Maintenance

Version Author Date
c3ef4c8 avm27 2023-10-19

4 Looking at Differentially Expressed Genes

We can generate a matrix to identify where our differentially expressed genes lie between each group based on an alpha value of 0.05.

## Matrix Visualizaattion
x <- vsDEGMatrix(
  data = dds, padj = 0.05, d.factor = "condition",
  type = "deseq", title = TRUE, legend = TRUE, grid = TRUE
)

Version Author Date
c3ef4c8 avm27 2023-10-19

5 Data Visualization

5.1 Normalized Counts and Plots of Genes of Interest

level_order <- c("Saline", "Maintenance", "Abstinence") # this vector might be useful for other plots/analyses

normalized_counts <- counts(dds, normalized = TRUE)

5.1.1 Hspd1

####################################### HSPA8

d2 <- plotCounts(dds,
  gene = "Hspd1|Hspd1", intgroup = "condition",
  returnData = TRUE
)

a <- ggplot(d2, aes(x = factor(condition, level = level_order), y = count, color = condition)) +
  geom_point(position = position_jitter(w = 0.1, h = 0)) +
  theme_bw() +
  ggtitle(
    label = "Hspd1 Expression",
    subtitle = "Normalized Gene Expression"
  )

a

Version Author Date
865d937 avm27 2023-10-19
2af3639 avm27 2023-10-19
c3ef4c8 avm27 2023-10-19

5.1.2 Cirbp

####################################### HSP90ab1


d2 <- plotCounts(dds,
  gene = "Cirbp|Cirbp", intgroup = "condition",
  returnData = TRUE
)

a <- ggplot(d2, aes(x = factor(condition, level = level_order), y = count, color = condition)) +
  geom_point(position = position_jitter(w = 0.1, h = 0)) +
  theme_bw() +
  ggtitle(
    label = "Cirbp Expression",
    subtitle = "Normalized Gene Expression"
  )

a

Version Author Date
865d937 avm27 2023-10-19
2af3639 avm27 2023-10-19
c3ef4c8 avm27 2023-10-19

5.1.3 Fus

####################################### Dnajb1


d2 <- plotCounts(dds,
  gene = "Fus|Fus", intgroup = "condition",
  returnData = TRUE
)

a <- ggplot(d2, aes(x = factor(condition, level = level_order), y = count, color = condition)) +
  geom_point(position = position_jitter(w = 0.1, h = 0)) +
  theme_bw() +
  ggtitle(
    label = "Fus Expression",
    subtitle = "Normalized Gene Expression"
  )

a

Version Author Date
865d937 avm27 2023-10-19
2af3639 avm27 2023-10-19
c3ef4c8 avm27 2023-10-19

5.1.4 Cryab

####################################### Dnajb1


d2 <- plotCounts(dds,
  gene = "Cryab|Cryab", intgroup = "condition",
  returnData = TRUE
)

a <- ggplot(d2, aes(x = factor(condition, level = level_order), y = count, color = condition)) +
  geom_point(position = position_jitter(w = 0.1, h = 0)) +
  theme_bw() +
  ggtitle(
    label = "Cryab Expression",
    subtitle = "Normalized Gene Expression"
  )

a

Version Author Date
865d937 avm27 2023-10-19
2af3639 avm27 2023-10-19
c3ef4c8 avm27 2023-10-19

5.1.5 Nr1d1

####################################### Dnajb1


d2 <- plotCounts(dds,
  gene = "Nr1d1|Nr1d1", intgroup = "condition",
  returnData = TRUE
)

a <- ggplot(d2, aes(x = factor(condition, level = level_order), y = count, color = condition)) +
  geom_point(position = position_jitter(w = 0.1, h = 0)) +
  theme_bw() +
  ggtitle(
    label = "Nr1d1 Expression",
    subtitle = "Normalized Gene Expression"
  )

a

Version Author Date
865d937 avm27 2023-10-19
2af3639 avm27 2023-10-19
c3ef4c8 avm27 2023-10-19

5.1.6 Syt11

####################################### Dnajb1


d2 <- plotCounts(dds,
  gene = "Syt11|Syt11", intgroup = "condition",
  returnData = TRUE
)

a <- ggplot(d2, aes(x = factor(condition, level = level_order), y = count, color = condition)) +
  geom_point(position = position_jitter(w = 0.1, h = 0)) +
  theme_bw() +
  ggtitle(
    label = "Syt11 Expression",
    subtitle = "Normalized Gene Expression"
  )

a

Version Author Date
865d937 avm27 2023-10-19
2af3639 avm27 2023-10-19
c3ef4c8 avm27 2023-10-19

5.2 Visualize Results: PCA

For visualization I am converting all analyses to logarithmic. Following this I have completed a PCA for each analyses based on all genes together.

Version Author Date
865d937 avm27 2023-10-19
2af3639 avm27 2023-10-19
c3ef4c8 avm27 2023-10-19

5.3 Visualize Results: Heatmap (Data Generation)

This heatmap is generated by taking the row means of the normalized counts from the primary analysis (dds, All vs Control). The top genes were placed in decreasing order and selected for analysis after logarithmic transformation.The gene name column is then split by the “|” delimeter in order to obtain a single gene name for each count. The heatmap was generated by scaling to genes for the z-scores following row/column analysis using a complete pearson correlation. The heatmap is clustered by row but not by column to maintain correct order of samples.The legend indicates logfold change values for each gene. Representative heatmaps are included for a number of selected genes.

5.4 Visualize Results: Heatmap

ressig1 <- as.data.frame(results_sig)
ressig2 <- as.data.frame(results_sig2)
ressig3 <- as.data.frame(results_sig3)

ressig1$Comparison <- "Maintenance vs Saline"
ressig2$Comparison <- "Abstinence vs Saline"
ressig3$Comparison <- "Abstinence vs Maintenance"

ressig1_highlfc_pos <- ressig1[ressig1$log2FoldChange >= 1.3, ]
ressig1_highlfc_neg <- ressig1[ressig1$log2FoldChange <= -1.3, ]
ressig2_highlfc_pos <- ressig2[ressig2$log2FoldChange >= 1.3, ]
ressig2_highlfc_neg <- ressig2[ressig2$log2FoldChange <= -1.3, ]
ressig3_highlfc_pos <- ressig3[ressig3$log2FoldChange >= 1.3, ]
ressig3_highlfc_neg <- ressig3[ressig3$log2FoldChange <= -1.3, ]

temp_sigdegshm <- rbind(ressig1_highlfc_pos, ressig1_highlfc_neg)
temp_sigdegshm2 <- rbind(temp_sigdegshm, ressig2_highlfc_pos)
temp_sigdegshm3 <- rbind(temp_sigdegshm2, ressig2_highlfc_neg)
temp_sigdegshm4 <- rbind(temp_sigdegshm3, ressig3_highlfc_pos)
temp_sigdegshm5 <- rbind(temp_sigdegshm4, ressig3_highlfc_neg)

temp_sigdegshm6 <- temp_sigdegshm5[temp_sigdegshm5$lfcSE <= 1.50, ]

dup_rows <- duplicated(temp_sigdegshm6$symbol)
data_dedup <- temp_sigdegshm6[!dup_rows, ]

rows <- rownames(data_dedup)

select <- order(rowMeans(counts(dds, normalized = TRUE)),
  decreasing = TRUE
)

mat <- assay(ddsMat_rlog)[select, ]

data_mod <- mat[rownames(mat) %in% rows, ]

matrownames_data_mod <- data.frame(rownames(data_mod))

matrownames_data_mod <- matrownames_data_mod %>% separate(rownames.data_mod., c("id", "symbol"), sep = "([|])")


samples <- as.tibble(read.csv("data/sample_info_final.csv", sep = ","))

annot_col <- samples %>%
  column_to_rownames("samplename") %>%
  as.data.frame()

ann_colors <- list(
  condition = as.factor(c(Saline = "slateblue2", Maintenance = "limegreen", Abstinence = "violetred2")),
  Group = as.factor(c(Saline = "slateblue2", Maintenance = "limegreen", Abstinence = "violetred2"))
)

5.4.1 Unsupervised Clustering

pheatmap::pheatmap(
  mat = data_mod,
  color = colorRampPalette(rev(brewer.pal(11, "RdYlBu")))(155),
  scale = "row", # Scale genes to Z-score (how many standard deviations),
  annotation_col = annot_col,
  # annotation_colors = ann_colors,# Change the default colors of the annotations
  fontsize = 3, # Make fonts smaller
  cellwidth = 15, # Make the cells wider
  cellheight = 3, # Make the cells wider
  show_colnames = T,
  cluster_rows = T,
  cluster_cols = T,
  annotation_legend = T,
  legend = T,
  show_rownames = T,
  clustering_distance_rows = "correlation",
  clustering_method = "ward.D",
  main = "Heatmap of Significant DEGs -- Unsupervised Clustering",
  cluster_row_slices = TRUE,
  show_row_dend = FALSE,
  cutree_rows = 4,
  cutree_cols = 3,
  treeheight_row = 10,
  treeheight_col = 10,
  # kmeans_k = 4,
  # display_numbers = TRUE,
  # filename = "plots/MIVSA_Heatmap_DEGs_Final.pdf",
  legend_labels = c("Saline", "Maintenance", "Abstinence"),
  labels_row = matrownames_data_mod$symbol
)

Version Author Date
c3ef4c8 avm27 2023-10-19

5.4.2 Supervised Clustering

pheatmap::pheatmap(
  mat = data_mod,
  color = colorRampPalette(rev(brewer.pal(11, "RdYlBu")))(155),
  scale = "row", # Scale genes to Z-score (how many standard deviations),
  annotation_col = annot_col,
  fontsize = 8, # Make fonts smaller
  cellwidth = 15, # Make the cells wider
  cellheight = 3, # Make the cells wider
  show_colnames = F,
  cluster_rows = T,
  cluster_cols = F,
  annotation_legend = T,
  legend = T,
  show_rownames = F,
  clustering_distance_rows = "correlation",
  clustering_method = "ward.D",
  main = "Heatmap of Significant DEGs -- Supervised Clustering",
  cluster_row_slices = TRUE,
  show_row_dend = FALSE,
  cutree_rows = 4,
  cutree_cols = 3,
  gaps_col = c(5, 10),
  treeheight_row = 0,
  treeheight_col = 10,
  # filename = "plots/MIVSA_Heatmap_DEGs_Final_Unclustered_Nolabs.pdf",
  legend_labels = c("Saline", "Maintenance", "Abstinence")
)

Version Author Date
c3ef4c8 avm27 2023-10-19

5.4.3 Supervised Clustering and Condensed

pheatmap::pheatmap(
  mat = data_mod,
  color = colorRampPalette(rev(brewer.pal(11, "RdYlBu")))(155),
  scale = "row", # Scale genes to Z-score (how many standard deviations),
  annotation_col = annot_col,
  fontsize = 12, # Make fonts smaller
  show_colnames = F,
  cluster_rows = T,
  cluster_cols = F,
  annotation_legend = T,
  legend = T,
  show_rownames = F,
  clustering_distance_rows = "correlation",
  clustering_method = "ward.D",
  main = "Heatmap of Significant DEGs -- Supervised and Condensed",
  legend_labels = c("Saline", "Maintenance", "Abstinence"),
  cluster_row_slices = TRUE,
  show_row_dend = FALSE,
  gaps_col = c(5, 10),
  cutree_rows = 4,
  cutree_cols = 3,
  treeheight_row = 15,
  treeheight_col = 10
)

Version Author Date
c3ef4c8 avm27 2023-10-19

5.5 Volcano Plots

5.5.1 Visualize Results: Volcano Plots (Non-Interactive)

Volcano plots are generated by gathering the FDR corrected p-values from each analysis. The adjusted p-values undergo a -log10 transformation to generate these FDR corrected values. Any rows containing “NA” are ommitted from analysis. Data points are colored based on increasing or decreasing value and plotted using ggplot2. Adjusted p-value cutoff is 1.3 following log transformation.(-log10 0.05 = 1.3)

# Gather Log-fold change and FDR-corrected pvalues from DESeq2 results
# Change pvalues to -log10 (1.3 = 0.05)
data <- data.frame(
  gene = (res$symbol),
  pval = -log10(res$padj),
  lfc = res$log2FoldChange
)

data2 <- data.frame(
  gene = (res2$symbol),
  pval = -log10(res2$padj),
  lfc = res2$log2FoldChange
)

data3 <- data.frame(
  gene = (res3$symbol),
  pval = -log10(res3$padj),
  lfc = res3$log2FoldChange
)


# Remove any rows that have NA as an entry
data <- na.omit(data)

data2 <- na.omit(data2)

data3 <- na.omit(data3)

# Color the points which are up or down
## If fold-change > 0 and pvalue > 1.3 (Increased significant)
## If fold-change < 0 and pvalue > 1.3 (Decreased significant)

data <- dplyr::mutate(data, color = case_when(
  data$lfc > 0 & data$pval > 1.3 ~ "Increased in Maintenance",
  data$lfc < 0 & data$pval > 1.3 ~ "Decreased in Maintenance",
  data$pval < 1.3 ~ "Nonsignificant"
))

data2 <- dplyr::mutate(data2, color = case_when(
  data2$lfc > 0 & data2$pval > 1.3 ~ "Increased in Abstinence",
  data2$lfc < 0 & data2$pval > 1.3 ~ "Decreased in Abstinence",
  data2$pval < 1.3 ~ "Nonsignificant"
))

data3 <- dplyr::mutate(data3, color = case_when(
  data3$lfc > 0 & data3$pval > 1.3 ~ "Increased in Abstinence",
  data3$lfc < 0 & data3$pval > 1.3 ~ "Decreased in Abstinence",
  data3$pval < 1.3 ~ "Nonsignificant"
))



# Make a basic ggplot2 object with x-y values
vol <- ggplot(data, aes(x = lfc, y = pval, color = color))

vol2 <- ggplot(data2, aes(x = lfc, y = pval, color = color))

vol3 <- ggplot(data3, aes(x = lfc, y = pval, color = color))



# Add ggplot2 layers

y.axis.text <- element_text(face = "bold", color = "black", size = 7)
x.axis.text <- element_text(face = "bold", color = "black", size = 7)
plot.title.text <- element_text(face = "bold", color = "black", size = 9, hjust = 0.5)
legend.text <- element_text(face = "bold", color = "black", size = 5)
legend.title.text <- element_text(face = "bold", color = "black", size = 6)
axis.title <- element_text(face = "bold", color = "black", size = 6)
vol_final <- vol +
  ggtitle(label = "Maintenance vs Saline") +
  geom_point(size = 1.5, alpha = 0.8, na.rm = T) +
  scale_color_manual(
    name = "Directionality",
    values = c("Increased in Maintenance" = "#008B00", "Decreased in Maintenance" = "#CD4F39", "Nonsignificant" = "darkgray")
  ) +
  theme_bw(base_size = 14) + # change overall theme+
  theme(
    legend.position = "right",
    axis.text.y = y.axis.text,
    axis.text.x = x.axis.text,
    axis.title = axis.title,
    plot.title = plot.title.text,
    legend.text = legend.text,
    legend.title = legend.title.text,
    legend.key.size = unit(0.5, "cm"), # change legend key size
    legend.key.height = unit(0.5, "cm"), # change legend key height
    legend.key.width = unit(0.5, "cm")
  ) + # change legend key width
  xlab(expression(log[2]("Fold Change"))) + # Change X-Axis label
  ylab(expression(-log[10]("adjusted p-value"))) + # Change Y-Axis label
  geom_hline(yintercept = 1.3, colour = "darkgrey") + # Add p-adj value cutoff line
  scale_y_continuous(trans = "log1p") # Scale y-axis due to large p-values

vol2_final <- vol2 +
  ggtitle(label = "Abstinence vs Saline") +
  geom_point(size = 1.5, alpha = 0.8, na.rm = T) +
  scale_color_manual(
    name = "Directionality",
    values = c("Increased in Abstinence" = "#008B00", "Decreased in Abstinence" = "#CD4F39", "Nonsignificant" = "darkgray")
  ) +
  theme_bw(base_size = 14) + # change overall theme
  theme(
    legend.position = "right",
    axis.text.y = y.axis.text,
    axis.text.x = x.axis.text,
    axis.title = axis.title,
    plot.title = plot.title.text,
    legend.text = legend.text,
    legend.title = legend.title.text,
    legend.key.size = unit(0.5, "cm"), # change legend key size
    legend.key.height = unit(0.5, "cm"), # change legend key height
    legend.key.width = unit(0.5, "cm")
  ) + # change legend key width
  xlab(expression(log[2]("Fold Change"))) + # Change X-Axis label
  ylab(expression(-log[10]("adjusted p-value"))) + # Change Y-Axis label
  geom_hline(yintercept = 1.3, colour = "darkgrey") + # Add p-adj value cutoff line
  scale_y_continuous(trans = "log1p") # Scale y-axis due to large p-values

vol3_final <- vol3 +
  ggtitle(label = "Abstinence vs Maintenance") +
  geom_point(size = 1.5, alpha = 0.8, na.rm = T) +
  scale_color_manual(
    name = "Directionality",
    values = c("Increased in Abstinence" = "#008B00", "Decreased in Abstinence" = "#CD4F39", "Nonsignificant" = "darkgray")
  ) +
  theme_bw(base_size = 14) + # change overall theme
  theme(
    legend.position = "right",
    axis.text.y = y.axis.text,
    axis.text.x = x.axis.text,
    axis.title = axis.title,
    plot.title = plot.title.text,
    legend.text = legend.text,
    legend.title = legend.title.text,
    legend.key.size = unit(0.5, "cm"), # change legend key size
    legend.key.height = unit(0.5, "cm"), # change legend key height
    legend.key.width = unit(0.5, "cm")
  ) + # change legend key width
  xlab(expression(log[2]("fold change"))) + # Change X-Axis label
  ylab(expression(-log[10]("adjusted p-value"))) + # Change Y-Axis label
  geom_hline(yintercept = 1.3, colour = "darkgrey") + # Add p-adj value cutoff line
  scale_y_continuous(trans = "log1p") # Scale y-axis due to large p-values

ggarrange(vol_final, vol2_final, vol3_final, labels = c("A", "B", "C"))

Version Author Date
c3ef4c8 avm27 2023-10-19

6 Pathway Analysis

6.1 Pathway Analysis GO

First, the background for the GO universe must be set. In order to do so we will subset the first results file “res” for any genes that map to entrez IDs and then we only take the unique ones. This leaves us with ~31,000 genes for the remaining background which we list as our microglial expressed genes.

Pathway analysis is conducted using enrichGo and enrichKEGG based on a p-value of 0.05 and a q-value of 0.10 and including all significantly differentially expressed genes.

# Remove any genes that have greater than 1.5 LFC Standard Error
results_sig_entrez <- subset(results_sig, lfcSE <= 1.5)
results_sig_entrez2 <- subset(results_sig2, lfcSE <= 1.5)
results_sig_entrez3 <- subset(results_sig3, lfcSE <= 1.5)

# Remove any genes that have greater than adj.pvalue 0.05
results_sig_entrez <- subset(results_sig_entrez, padj <= 0.05)
results_sig_entrez2 <- subset(results_sig_entrez2, padj <= 0.05)
results_sig_entrez3 <- subset(results_sig_entrez3, padj <= 0.05)

# Remove any genes that do not have any entrez identifiers
results_sig_entrez <- subset(results_sig_entrez, is.na(entrez) == FALSE)
results_sig_entrez2 <- subset(results_sig_entrez2, is.na(entrez) == FALSE)
results_sig_entrez3 <- subset(results_sig_entrez3, is.na(entrez) == FALSE)

# Create a matrix of gene log2 fold changes
gene_matrix <- results_sig_entrez$log2FoldChange
gene_matrix2 <- results_sig_entrez2$log2FoldChange
gene_matrix3 <- results_sig_entrez3$log2FoldChange

# Add the entrezID's as names for each logFC entry
names(gene_matrix) <- results_sig_entrez$entrez
names(gene_matrix2) <- results_sig_entrez2$entrez
names(gene_matrix3) <- results_sig_entrez3$entrez


go <- enrichGO(
  gene = names(gene_matrix),
  OrgDb = "org.Mm.eg.db",
  readable = T,
  universe = gene_matrix_background,
  ont = "ALL",
  pAdjustMethod = "fdr",
  pvalueCutoff = 0.05,
  qvalueCutoff = 0.10
)

go2 <- enrichGO(
  gene = names(gene_matrix2),
  OrgDb = "org.Mm.eg.db",
  readable = T,
  universe = gene_matrix_background,
  ont = "ALL",
  pAdjustMethod = "fdr",
  pvalueCutoff = 0.05,
  qvalueCutoff = 0.10
)

go3 <- enrichGO(
  gene = names(gene_matrix3),
  OrgDb = "org.Mm.eg.db",
  readable = T,
  universe = gene_matrix_background,
  ont = "ALL",
  pAdjustMethod = "fdr",
  pvalueCutoff = 0.05,
  qvalueCutoff = 0.10
)

6.1.1 Maintenance vs Saline

kable(head(go, 10), caption = "Top 10 GO Pathways for Maintenance vs Saline", format = "html", align = "l", booktabs = TRUE) %>%
  kable_styling(html_font = "Arial", font_size = 10, bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
  scroll_box(width = "1000px", height = "500px")
Top 10 GO Pathways for Maintenance vs Saline
ONTOLOGY ID Description GeneRatio BgRatio pvalue p.adjust qvalue geneID Count
GO:0048709 BP GO:0048709 oligodendrocyte differentiation 18/417 118/21359 0 1e-07 1e-07 Cntn2/Aspa/Omg/Cnp/Tppp/Enpp2/Sox10/Tnfrsf21/Myrf/Il33/Opalin/Abca2/Mal/Tspan2/Hes5/Mag/Fa2h/Plp1 18
GO:0022010 BP GO:0022010 central nervous system myelination 10/417 29/21359 0 1e-07 1e-07 Cntn2/Omg/Sox10/Myrf/Abca2/Mal/Hes5/Mag/Fa2h/Plp1 10
GO:0032291 BP GO:0032291 axon ensheathment in central nervous system 10/417 29/21359 0 1e-07 1e-07 Cntn2/Omg/Sox10/Myrf/Abca2/Mal/Hes5/Mag/Fa2h/Plp1 10
GO:0050684 BP GO:0050684 regulation of mRNA processing 19/417 149/21359 0 1e-07 1e-07 Ptbp1/Cirbp/Fxr2/Zfp36l1/Hnrnpk/Ccnb1/Acin1/Tra2b/Srsf3/Srsf7/Rbm39/Fxr1/Srsf10/Srpk2/Tra2a/Tia1/Hspa8/Rbm5/Rbm3 19
GO:0006397 BP GO:0006397 mRNA processing 32/417 452/21359 0 3e-07 3e-07 Ptbp1/Cirbp/Fxr2/Prpf39/Zfp36l1/Srsf5/Hnrnpk/Ccnb1/Acin1/Tra2b/Luc7l/Srsf3/U2af1/Akap8l/Hnrnpm/Cdc5l/Srsf7/Thoc1/Cir1/Mfap1a/Rbm39/Fxr1/Prpf38b/Srsf10/Srpk2/Fip1l1/Tra2a/Tia1/Aplp1/Hspa8/Rbm5/Rbm3 32
GO:0006457 BP GO:0006457 protein folding 19/417 164/21359 0 3e-07 3e-07 Hspd1/Cct4/Ahsa2/Ahsa1/Cct5/Cct8/Tcp1/Hsp90ab1/Cdc37l1/Hspa5/Ppig/Ppid/Dnaja1/Hsph1/Cct7/Fkbp4/Chordc1/Hspa8/Cryab 19
GO:0048024 BP GO:0048024 regulation of mRNA splicing, via spliceosome 16/417 112/21359 0 3e-07 3e-07 Ptbp1/Cirbp/Fxr2/Hnrnpk/Acin1/Tra2b/Srsf3/Srsf7/Rbm39/Fxr1/Srsf10/Tra2a/Tia1/Hspa8/Rbm5/Rbm3 16
GO:0000375 BP GO:0000375 RNA splicing, via transesterification reactions 24/417 270/21359 0 3e-07 3e-07 Ptbp1/Cirbp/Fxr2/Prpf39/Srsf5/Hnrnpk/Acin1/Tra2b/Luc7l/Srsf3/U2af1/Hnrnpm/Cdc5l/Srsf7/Mfap1a/Rbm39/Fxr1/Srsf10/Srpk2/Tra2a/Tia1/Hspa8/Rbm5/Rbm3 24
GO:0000377 BP GO:0000377 RNA splicing, via transesterification reactions with bulged adenosine as nucleophile 24/417 270/21359 0 3e-07 3e-07 Ptbp1/Cirbp/Fxr2/Prpf39/Srsf5/Hnrnpk/Acin1/Tra2b/Luc7l/Srsf3/U2af1/Hnrnpm/Cdc5l/Srsf7/Mfap1a/Rbm39/Fxr1/Srsf10/Srpk2/Tra2a/Tia1/Hspa8/Rbm5/Rbm3 24
GO:0000398 BP GO:0000398 mRNA splicing, via spliceosome 24/417 270/21359 0 3e-07 3e-07 Ptbp1/Cirbp/Fxr2/Prpf39/Srsf5/Hnrnpk/Acin1/Tra2b/Luc7l/Srsf3/U2af1/Hnrnpm/Cdc5l/Srsf7/Mfap1a/Rbm39/Fxr1/Srsf10/Srpk2/Tra2a/Tia1/Hspa8/Rbm5/Rbm3 24

6.1.2 Abstinence vs Saline

kable(head(go2, 10), caption = "Top 10 GO Pathways for Abstinence vs Saline", format = "html", align = "l", booktabs = TRUE) %>%
  kable_styling(html_font = "Arial", font_size = 10, bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
  scroll_box(width = "1000px", height = "500px")
Top 10 GO Pathways for Abstinence vs Saline
ONTOLOGY ID Description GeneRatio BgRatio pvalue p.adjust qvalue geneID Count
GO:0048709 BP GO:0048709 oligodendrocyte differentiation 20/218 118/21359 0 0e+00 0e+00 Cntn2/Kcnj10/Aspa/Omg/Cnp/Tppp/Clu/Enpp2/Sox10/Cntn1/Olig1/Sox8/Il33/Opalin/Mal/Tspan2/Hes5/Mag/Fa2h/Plp1 20
GO:0010001 BP GO:0010001 glial cell differentiation 25/218 257/21359 0 0e+00 0e+00 Cntn2/Kcnj10/Ifngr1/Aspa/Omg/Nr1d1/Cnp/Tppp/Clu/Enpp2/Sox10/Cntn1/Nrros/Olig1/Sox8/Il33/Opalin/Mal/Tspan2/Plpp3/Hes5/Mag/Fa2h/Cspg5/Plp1 25
GO:0021782 BP GO:0021782 glial cell development 18/218 120/21359 0 0e+00 0e+00 Cntn2/Kcnj10/Ifngr1/Omg/Nr1d1/Tppp/Clu/Sox10/Cntn1/Nrros/Olig1/Mal/Tspan2/Hes5/Mag/Fa2h/Cspg5/Plp1 18
GO:0014003 BP GO:0014003 oligodendrocyte development 13/218 48/21359 0 0e+00 0e+00 Cntn2/Kcnj10/Omg/Tppp/Clu/Sox10/Cntn1/Olig1/Mal/Hes5/Mag/Fa2h/Plp1 13
GO:0022010 BP GO:0022010 central nervous system myelination 11/218 29/21359 0 0e+00 0e+00 Cntn2/Kcnj10/Omg/Clu/Sox10/Cntn1/Mal/Hes5/Mag/Fa2h/Plp1 11
GO:0032291 BP GO:0032291 axon ensheathment in central nervous system 11/218 29/21359 0 0e+00 0e+00 Cntn2/Kcnj10/Omg/Clu/Sox10/Cntn1/Mal/Hes5/Mag/Fa2h/Plp1 11
GO:0042063 BP GO:0042063 gliogenesis 26/218 358/21359 0 0e+00 0e+00 Cntn2/Kcnj10/Ifngr1/Aspa/Omg/Nr1d1/Cnp/Tppp/Clu/Enpp2/Myc/Sox10/Cntn1/Nrros/Olig1/Sox8/Il33/Opalin/Mal/Tspan2/Plpp3/Hes5/Mag/Fa2h/Cspg5/Plp1 26
GO:0007272 BP GO:0007272 ensheathment of neurons 16/218 174/21359 0 0e+00 0e+00 Cntn2/Kcnj10/Omg/Tppp/Clu/Sox10/Cntn1/Mal/Cldn11/Tspan2/Ugt8a/Hes5/Mag/Pllp/Fa2h/Plp1 16
GO:0008366 BP GO:0008366 axon ensheathment 16/218 174/21359 0 0e+00 0e+00 Cntn2/Kcnj10/Omg/Tppp/Clu/Sox10/Cntn1/Mal/Cldn11/Tspan2/Ugt8a/Hes5/Mag/Pllp/Fa2h/Plp1 16
GO:0042552 BP GO:0042552 myelination 15/218 172/21359 0 1e-07 1e-07 Cntn2/Kcnj10/Omg/Tppp/Clu/Sox10/Cntn1/Mal/Tspan2/Ugt8a/Hes5/Mag/Pllp/Fa2h/Plp1 15

6.1.3 Abstinence vs Maintenance

kable(head(go3, 10), caption = "Top 10 GO Pathways for Abstinence vs Maintenance", format = "html", align = "l", booktabs = TRUE) %>%
  kable_styling(html_font = "Arial", font_size = 10, bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
  scroll_box(width = "1000px", height = "500px")
Top 10 GO Pathways for Abstinence vs Maintenance
ONTOLOGY ID Description GeneRatio BgRatio pvalue p.adjust qvalue geneID Count
GO:0002764 BP GO:0002764 immune response-regulating signaling pathway 32/530 381/21359 0e+00 9.50e-06 8.00e-06 Hspd1/Lilrb4a/Lcp2/Havcr2/Gps2/Sarm1/Lgals9/Nr1d1/Cd300a/Sec14l1/Pum2/Psen1/Cd180/Fyb/Tnfrsf21/Nfkbil1/Cd14/Slc15a3/Lpxn/Blnk/Dgkz/Rbck1/Tifa/Sh2b2/Zc3hav1/Clec4n/C5ar1/Cd33/Bax/Cd276/Tlr13/Tlr7 32
GO:0006457 BP GO:0006457 protein folding 20/530 164/21359 0e+00 1.08e-05 9.20e-06 Hspd1/Cct4/Ahsa2/Ahsa1/Tbce/Cct5/Ppil2/Cct8/Tcp1/Fkbp5/Hsp90ab1/Hspa5/Ppig/Dnajc10/Cct3/Dnajb6/Cct7/Fkbp4/Chordc1/Hspa8 20
GO:0000375 BP GO:0000375 RNA splicing, via transesterification reactions 25/530 270/21359 0e+00 1.65e-05 1.39e-05 Ptbp1/Cirbp/Zc3h10/Nsrp1/Srsf5/Ddx41/Hnrnpk/Acin1/Srsf3/U2af1/Hnrnpm/Cdc5l/Usp49/Rbm17/Fxr1/Mbnl1/Larp7/Sf3a3/Thrap3/Syf2/Srsf10/Srpk2/Hspa8/Rbm5/Srpk3 25
GO:0000377 BP GO:0000377 RNA splicing, via transesterification reactions with bulged adenosine as nucleophile 25/530 270/21359 0e+00 1.65e-05 1.39e-05 Ptbp1/Cirbp/Zc3h10/Nsrp1/Srsf5/Ddx41/Hnrnpk/Acin1/Srsf3/U2af1/Hnrnpm/Cdc5l/Usp49/Rbm17/Fxr1/Mbnl1/Larp7/Sf3a3/Thrap3/Syf2/Srsf10/Srpk2/Hspa8/Rbm5/Srpk3 25
GO:0000398 BP GO:0000398 mRNA splicing, via spliceosome 25/530 270/21359 0e+00 1.65e-05 1.39e-05 Ptbp1/Cirbp/Zc3h10/Nsrp1/Srsf5/Ddx41/Hnrnpk/Acin1/Srsf3/U2af1/Hnrnpm/Cdc5l/Usp49/Rbm17/Fxr1/Mbnl1/Larp7/Sf3a3/Thrap3/Syf2/Srsf10/Srpk2/Hspa8/Rbm5/Srpk3 25
GO:0006986 BP GO:0006986 response to unfolded protein 16/530 114/21359 0e+00 1.68e-05 1.42e-05 Hspd1/Rhbdd1/Ubxn4/Ddit3/Xbp1/Dnajb9/Hsf1/Hspa5/Dnajc10/Bax/Ppp1r15a/Ccnd1/Herpud1/Abcb10/Hspa8/Manf 16
GO:0061077 BP GO:0061077 chaperone-mediated protein folding 12/530 63/21359 0e+00 2.44e-05 2.06e-05 Cct4/Cct5/Cct8/Tcp1/Fkbp5/Hspa5/Cct3/Dnajb6/Cct7/Fkbp4/Chordc1/Hspa8 12
GO:1904851 BP GO:1904851 positive regulation of establishment of protein localization to telomere 6/530 10/21359 0e+00 2.44e-05 2.06e-05 Cct4/Cct5/Cct8/Tcp1/Cct3/Cct7 6
GO:0072594 BP GO:0072594 establishment of protein localization to organelle 31/530 416/21359 1e-07 3.04e-05 2.57e-05 Hspd1/Tpr/Pex3/Pttg1ip/Ap3d1/Ddit3/Xbp1/Cct4/Rpain/Akap1/Srp68/Psen1/Ipo4/Nipbl/Cct5/Cct8/Tcp1/Hsp90ab1/Pik3c3/Nolc1/Hspa5/Pkig/Sec62/Fbxw7/Cct3/Cct7/Nup62/Bax/Vps37a/Herpud1/Hspa8 31
GO:0051054 BP GO:0051054 positive regulation of DNA metabolic process 26/530 314/21359 1e-07 3.82e-05 3.22e-05 Cacybp/Eya4/Pkib/Cct4/Ube2b/Ctc1/Smarce1/Pnp/Cct5/Myc/Hsf1/Cct8/Tcp1/Hsp90ab1/Msh2/Cct3/Pogz/Nbn/Anxa3/Trrap/Cct7/Tigar/Ercc1/Bax/Fus/Brd7 26

7 GO Pathways Visualization

7.1 GO DotPlot

Version Author Date
c3ef4c8 avm27 2023-10-19

7.2 Chord Plots

library(GOplot)
library(data.table)

go_circle <- read.delim("data/GO_MIVSA_Maintenance_vs_Saline_circle.txt", sep = "\t")
go2_circle <- read.delim("data/GO_MIVSA_Abstinence_vs_Saline_circle.txt", sep = "\t")
go3_circle <- read.delim("data/GO_MIVSA_Abstinence_vs_Maintenance_circle.txt", sep = "\t")

processes1 <- data[c(1:7), ]

processes1_final_circle <- processes1$Description

ids_final_circle <- processes1$ID


processes2 <- data[c(8:14), ]

processes2_final_circle <- processes2$Description

ids2_final_circle <- processes2$ID


processes3 <- data[c(15:21), ]

processes3_final_circle <- processes3$Description

ids3_final_circle <- processes3$ID



circletest_genes1 <- data.frame(matrix(ncol = 2, nrow = 432))
colnames(circletest_genes1) <- c("Genes", "L2FC")

circletest_DEGsgenes1 <- as.data.table(results_sig)
circletest_DEGsgenes1$ID <- circletest_DEGsgenes1$symbol
circletest_DEGsgenes1$logFC <- circletest_DEGsgenes1$log2FoldChange
circletest_DEGsgenes1$AveExpr <- circletest_DEGsgenes1$baseMean
circletest_DEGsgenes1$t <- circletest_DEGsgenes1$stat
circletest_DEGsgenes1$P.Value <- circletest_DEGsgenes1$pvalue
circletest_DEGsgenes1$adj.P.Value <- circletest_DEGsgenes1$padj
circletest_DEGsgenes1$B <- circletest_DEGsgenes1$stat



circletest_DEGsgenes1_final <- circletest_DEGsgenes1[, 11:17, with = FALSE]

circletest_genes1$Genes <- names(gene_matrix)
circletest_genes1$ID <- mapIds(
  x = org.Mm.eg.db,
  keys = circletest_genes1$Genes,
  column = "SYMBOL",
  keytype = "ENTREZID",
  multiVals = "first"
)
circletest_genes1$logFC <- (gene_matrix)


circletest_genes1 <- mutate_all(circletest_genes1, .funs = toupper)
circletest_genes1_final <- circletest_genes1[, 3:4]
circletest_genes1_final$logFC <- as.numeric(circletest_genes1_final$logFC)



circletest_genes2 <- data.frame(matrix(ncol = 2, nrow = 227))
colnames(circletest_genes2) <- c("Genes", "L2FC")

circletest_DEGsgenes2 <- as.data.table(results_sig2)
circletest_DEGsgenes2$ID <- circletest_DEGsgenes2$symbol
circletest_DEGsgenes2$logFC <- circletest_DEGsgenes2$log2FoldChange
circletest_DEGsgenes2$AveExpr <- circletest_DEGsgenes2$baseMean
circletest_DEGsgenes2$t <- circletest_DEGsgenes2$stat
circletest_DEGsgenes2$P.Value <- circletest_DEGsgenes2$pvalue
circletest_DEGsgenes2$adj.P.Value <- circletest_DEGsgenes2$padj
circletest_DEGsgenes2$B <- circletest_DEGsgenes2$stat



circletest_DEGsgenes2_final <- circletest_DEGsgenes2[, 11:17, with = FALSE]

circletest_genes2$Genes <- names(gene_matrix2)
circletest_genes2$ID <- mapIds(
  x = org.Mm.eg.db,
  keys = circletest_genes2$Genes,
  column = "SYMBOL",
  keytype = "ENTREZID",
  multiVals = "first"
)
circletest_genes2$logFC <- (gene_matrix2)

circletest_genes2 <- mutate_all(circletest_genes2, .funs = toupper)
circletest_genes2_final <- circletest_genes2[, 3:4]
circletest_genes2_final$logFC <- as.numeric(circletest_genes2_final$logFC)





circletest_genes3 <- data.frame(matrix(ncol = 2, nrow = 549))
colnames(circletest_genes3) <- c("Genes", "L2FC")

circletest_DEGsgenes3 <- as.data.table(results_sig3)
circletest_DEGsgenes3$ID <- circletest_DEGsgenes3$symbol
circletest_DEGsgenes3$logFC <- circletest_DEGsgenes3$log2FoldChange
circletest_DEGsgenes3$AveExpr <- circletest_DEGsgenes3$baseMean
circletest_DEGsgenes3$t <- circletest_DEGsgenes3$stat
circletest_DEGsgenes3$P.Value <- circletest_DEGsgenes3$pvalue
circletest_DEGsgenes3$adj.P.Value <- circletest_DEGsgenes3$padj
circletest_DEGsgenes3$B <- circletest_DEGsgenes3$stat



circletest_DEGsgenes3_final <- circletest_DEGsgenes3[, 11:17, with = FALSE]

circletest_genes3$Genes <- names(gene_matrix3)
circletest_genes3$ID <- mapIds(
  x = org.Mm.eg.db,
  keys = circletest_genes3$Genes,
  column = "SYMBOL",
  keytype = "ENTREZID",
  multiVals = "first"
)
circletest_genes3$logFC <- (gene_matrix3)


circletest_genes3 <- mutate_all(circletest_genes3, .funs = toupper)
circletest_genes3_final <- circletest_genes3[, 3:4]
circletest_genes3_final$logFC <- as.numeric(circletest_genes3_final$logFC)
circ <- circle_dat(go_circle, circletest_DEGsgenes1_final)
circ2 <- circle_dat(go2_circle, circletest_DEGsgenes2_final)
circ3 <- circle_dat(go3_circle, circletest_DEGsgenes3_final)

chord <- chord_dat(circ, circletest_genes1_final, processes1_final_circle)

chord2 <- chord_dat(circ2, circletest_genes2_final, processes2_final_circle)

chord3 <- chord_dat(circ3, circletest_genes3_final, processes3_final_circle)


p5 <- GOChord(chord, space = 0, gene.order = "logFC", gene.space = 0.15, gene.size = 4, nlfc = 1, process.label = 14, limit = c(1, 0), ribbon.col = c("#478FCD", "#FEC111", "#8D268B", "#0FB34C", "#39C0C4", "#F16739", "#607D8B"), border.size = 0, lfc.col = c("#E31A1C", "#33A02C", "#125AD9"), lfc.min = -2, lfc.max = 2)
p6 <- GOChord(chord2, space = 0, gene.order = "logFC", gene.space = 0.15, gene.size = 4, nlfc = 1, process.label = 14, limit = c(1, 0), ribbon.col = c("#478FCD", "#FEC111", "#8D268B", "#0FB34C", "#39C0C4", "#F16739", "#607D8B"), border.size = 0, lfc.col = c("#E31A1C", "#33A02C", "#125AD9"), lfc.min = -2, lfc.max = 2)
p7 <- GOChord(chord3, space = 0, gene.order = "logFC", gene.space = 0.15, gene.size = 4, nlfc = 1, process.label = 14, limit = c(1, 0), ribbon.col = c("#478FCD", "#FEC111", "#8D268B", "#0FB34C", "#39C0C4", "#F16739", "#607D8B"), border.size = 0, lfc.col = c("#E31A1C", "#33A02C", "#125AD9"), lfc.min = -2, lfc.max = 2)



y.axis.text <- element_text(family = "NimbusSanCond", face = "bold", color = "black", size = 7)
x.axis.text <- element_text(family = "NimbusSanCond", face = "bold", color = "black", size = 7)
plot.title.text <- element_text(family = "NimbusSanCond", face = "bold", color = "black", size = 9, hjust = 0.5)
legend.text <- element_text(family = "NimbusSanCond", face = "bold", color = "black", size = 6)
legend.title.text <- element_text(family = "NimbusSanCond", face = "bold", color = "black", size = 10)
axis.title <- element_text(family = "NimbusSanCond", face = "bold", color = "black", size = 6)
text <- element_text(family = "NimbusSanCond", face = "bold", color = "black", size = 6)


p8 <- p5 +
  theme(
    legend.position = "bottom",
    legend.text = legend.text,
    legend.title = legend.title.text,
    text = text,
    legend.key.width = unit(3, "cm")
  ) # change legend key width

p9 <- p6 +
  theme(
    legend.position = "bottom",
    legend.text = legend.text,
    legend.title = legend.title.text,
    text = text,
    legend.key.width = unit(3, "cm")
  ) # change legend key width

p10 <- p7 +
  theme(
    legend.position = "bottom",
    legend.text = legend.text,
    legend.title = legend.title.text,
    text = text,
    legend.key.width = unit(3, "cm")
  ) # change legend key width


cowplot::plot_grid(p8, p9, p10,
  ncol = 3, labels = c("A. Maintenance vs Saline", "B. Abstinence vs Saline", "C. Abstinence vs Maintenance"),
  label_fontfamily = "arial",
  label_fontface = "bold",
  label_colour = "black",
  label_size = 50
)

Version Author Date
c3ef4c8 avm27 2023-10-19

8 Determining Directionality of GOPathways

8.1 Log2FoldChange of Genes in Maintenance vs Saline Gene Ontologies

p9

Version Author Date
c3ef4c8 avm27 2023-10-19

8.2 Log2FoldChange of Genes in Abstinence vs Saline Gene Ontologies

p17

Version Author Date
c3ef4c8 avm27 2023-10-19

8.3 Log2FoldChange of Genes in Abstinence vs Maintenance Gene Ontologies

p26

Version Author Date
c3ef4c8 avm27 2023-10-19

9 Session Info

sessionInfo()
R version 4.2.1 (2022-06-23)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 22.04.3 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.10.0
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats4    stats     graphics  grDevices utils     datasets  methods  
[8] base     

other attached packages:
 [1] GOplot_1.0.2                             
 [2] gridExtra_2.3                            
 [3] ggdendro_0.1.23                          
 [4] BiocParallel_1.32.6                      
 [5] viridis_0.6.3                            
 [6] viridisLite_0.4.2                        
 [7] ggbeeswarm_0.7.2                         
 [8] PoiClaClu_1.0.2.1                        
 [9] data.table_1.14.8                        
[10] DEGreport_1.34.0                         
[11] ggrepel_0.9.3                            
[12] conflicted_1.2.0                         
[13] regionReport_1.32.0                      
[14] kableExtra_1.3.4                         
[15] vidger_1.18.0                            
[16] tables_0.9.17                            
[17] knitr_1.43                               
[18] Glimma_2.8.0                             
[19] Mus.musculus_1.3.1                       
[20] TxDb.Mmusculus.UCSC.mm10.knownGene_3.10.0
[21] OrganismDbi_1.40.0                       
[22] GenomicFeatures_1.50.4                   
[23] gplots_3.1.3                             
[24] lubridate_1.9.2                          
[25] forcats_1.0.0                            
[26] stringr_1.5.0                            
[27] purrr_1.0.1                              
[28] readr_2.1.4                              
[29] tibble_3.2.1                             
[30] tidyverse_2.0.0                          
[31] statmod_1.5.0                            
[32] tweeDEseqCountData_1.36.0                
[33] edgeR_3.40.2                             
[34] limma_3.54.2                             
[35] GOSemSim_2.24.0                          
[36] apeglm_1.20.0                            
[37] ggpubr_0.6.0                             
[38] SPIA_2.50.0                              
[39] KEGGgraph_1.58.3                         
[40] ggnewscale_0.4.9                         
[41] enrichplot_1.18.4                        
[42] tidyr_1.3.0                              
[43] WGCNA_1.72-1                             
[44] fastcluster_1.2.3                        
[45] dynamicTreeCut_1.63-1                    
[46] pathview_1.38.0                          
[47] gage_2.48.0                              
[48] dplyr_1.1.2                              
[49] topGO_2.50.0                             
[50] SparseM_1.81                             
[51] graph_1.76.0                             
[52] GO.db_3.16.0                             
[53] RColorBrewer_1.1-3                       
[54] genefilter_1.80.3                        
[55] pheatmap_1.0.12                          
[56] ggsci_3.0.0                              
[57] tximport_1.26.1                          
[58] org.Mm.eg.db_3.16.0                      
[59] AnnotationDbi_1.60.2                     
[60] DOSE_3.24.2                              
[61] ReactomePA_1.42.0                        
[62] biomaRt_2.54.1                           
[63] clusterProfiler_4.6.2                    
[64] ggplot2_3.4.2                            
[65] DESeq2_1.38.3                            
[66] SummarizedExperiment_1.28.0              
[67] Biobase_2.58.0                           
[68] MatrixGenerics_1.10.0                    
[69] matrixStats_1.0.0                        
[70] GenomicRanges_1.50.2                     
[71] GenomeInfoDb_1.34.9                      
[72] IRanges_2.32.0                           
[73] S4Vectors_0.36.2                         
[74] BiocGenerics_0.44.0                      
[75] gprofiler2_0.2.2                         
[76] workflowr_1.7.0                          

loaded via a namespace (and not attached):
  [1] Hmisc_5.1-0                 svglite_2.1.1              
  [3] ps_1.7.5                    Rsamtools_2.14.0           
  [5] foreach_1.5.2               rprojroot_2.0.3            
  [7] crayon_1.5.2                MASS_7.3-60                
  [9] nlme_3.1-162                backports_1.4.1            
 [11] impute_1.72.3               rlang_1.1.1                
 [13] XVector_0.38.0              HDO.db_0.99.1              
 [15] irlba_2.3.5.1               callr_3.7.3                
 [17] filelock_1.0.2              rjson_0.2.21               
 [19] bit64_4.0.5                 glue_1.6.2                 
 [21] mixsqp_0.3-48               rngtools_1.5.2             
 [23] vipor_0.4.5                 parallel_4.2.1             
 [25] processx_3.8.2              DEFormats_1.26.0           
 [27] tidyselect_1.2.0            XML_3.99-0.14              
 [29] GenomicAlignments_1.34.1    xtable_1.8-4               
 [31] magrittr_2.0.3              evaluate_0.21              
 [33] bibtex_0.5.1                cli_3.6.1                  
 [35] zlibbioc_1.44.0             doRNG_1.8.6                
 [37] rstudioapi_0.14             whisker_0.4.1              
 [39] bslib_0.5.0                 rpart_4.1.19               
 [41] derfinderHelper_1.32.0      fastmatch_1.1-3            
 [43] BiocStyle_2.26.0            treeio_1.22.0              
 [45] xfun_0.39                   clue_0.3-64                
 [47] gson_0.1.0                  cluster_2.1.4              
 [49] caTools_1.18.2              tidygraph_1.2.3            
 [51] KEGGREST_1.38.0             logging_0.10-108           
 [53] ape_5.7-1                   Biostrings_2.66.0          
 [55] png_0.1-8                   reshape_0.8.9              
 [57] withr_2.5.0                 bitops_1.0-7               
 [59] ggforce_0.4.1               RBGL_1.74.0                
 [61] plyr_1.8.8                  coda_0.19-4                
 [63] bumphunter_1.40.0           pillar_1.9.0               
 [65] GlobalOptions_0.1.2         cachem_1.0.8               
 [67] fs_1.6.2                    GetoptLong_1.0.5           
 [69] graphite_1.44.0             vctrs_0.6.3                
 [71] generics_0.1.3              tools_4.2.1                
 [73] foreign_0.8-84              beeswarm_0.4.0             
 [75] munsell_0.5.0               tweenr_2.0.2               
 [77] fgsea_1.24.0                DelayedArray_0.24.0        
 [79] fastmap_1.1.1               compiler_4.2.1             
 [81] abind_1.4-5                 httpuv_1.6.11              
 [83] rtracklayer_1.58.0          plotly_4.10.2              
 [85] GenomeInfoDbData_1.2.9      lattice_0.21-8             
 [87] utf8_1.2.3                  later_1.3.1                
 [89] BiocFileCache_2.6.1         jsonlite_1.8.7             
 [91] GGally_2.1.2                scales_1.2.1               
 [93] tidytree_0.4.2              carData_3.0-5              
 [95] lazyeval_0.2.2              promises_1.2.0.1           
 [97] car_3.1-2                   doParallel_1.0.17          
 [99] checkmate_2.2.0             rmarkdown_2.23             
[101] cowplot_1.1.1               webshot_0.5.5              
[103] downloader_0.4              BSgenome_1.66.3            
[105] igraph_1.5.0                survival_3.5-5             
[107] numDeriv_2016.8-1.1         yaml_2.3.7                 
[109] systemfonts_1.0.4           ashr_2.2-54                
[111] SQUAREM_2021.1              htmltools_0.5.5            
[113] memoise_2.0.1               VariantAnnotation_1.44.1   
[115] BiocIO_1.8.0                locfit_1.5-9.8             
[117] graphlayouts_1.0.0          digest_0.6.32              
[119] rappdirs_0.3.3              knitrBootstrap_1.0.2       
[121] emdbook_1.3.13              RSQLite_2.3.1              
[123] yulab.utils_0.0.6           derfinder_1.32.0           
[125] blob_1.2.4                  preprocessCore_1.60.2      
[127] labeling_0.4.2              splines_4.2.1              
[129] Formula_1.2-5               RCurl_1.98-1.12            
[131] broom_1.0.5                 hms_1.1.3                  
[133] ConsensusClusterPlus_1.62.0 colorspace_2.1-0           
[135] base64enc_0.1-3             mnormt_2.1.1               
[137] BiocManager_1.30.21         shape_1.4.6                
[139] aplot_0.1.10                nnet_7.3-19                
[141] sass_0.4.6                  Rcpp_1.0.10                
[143] circlize_0.4.15             mvtnorm_1.2-2              
[145] fansi_1.0.4                 tzdb_0.4.0                 
[147] truncnorm_1.0-9             R6_2.5.1                   
[149] grid_4.2.1                  lifecycle_1.0.3            
[151] curl_5.0.1                  ggsignif_0.6.4             
[153] jquerylib_0.1.4             Matrix_1.5-4.1             
[155] qvalue_2.30.0               org.Hs.eg.db_3.16.0        
[157] iterators_1.0.14            RefManageR_1.4.0           
[159] htmlwidgets_1.6.2           markdown_1.7               
[161] polyclip_1.10-4             shadowtext_0.1.2           
[163] timechange_0.2.0            gridGraphics_0.5-1         
[165] reactome.db_1.82.0          ComplexHeatmap_2.14.0      
[167] rvest_1.0.3                 htmlTable_2.4.1            
[169] patchwork_1.1.2             bdsmatrix_1.3-6            
[171] invgamma_1.1                codetools_0.2-19           
[173] gtools_3.9.4                getPass_0.2-2              
[175] prettyunits_1.1.1           psych_2.3.6                
[177] dbplyr_2.3.2                gtable_0.3.3               
[179] DBI_1.1.3                   git2r_0.32.0               
[181] highr_0.10                  ggfun_0.1.1                
[183] httr_1.4.6                  KernSmooth_2.23-21         
[185] stringi_1.7.12              progress_1.2.2             
[187] reshape2_1.4.4              farver_2.1.1               
[189] annotate_1.76.0             Rgraphviz_2.42.0           
[191] ggtree_3.6.2                xml2_1.3.4                 
[193] bbmle_1.0.25                restfulr_0.0.15            
[195] geneplotter_1.76.0          ggplotify_0.1.1            
[197] bit_4.0.5                   scatterpie_0.2.1           
[199] ggraph_2.1.0                pkgconfig_2.0.3            
[201] rstatix_0.7.2               GenomicFiles_1.34.0        

sessionInfo()
R version 4.2.1 (2022-06-23)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 22.04.3 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.10.0
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats4    stats     graphics  grDevices utils     datasets  methods  
[8] base     

other attached packages:
 [1] GOplot_1.0.2                             
 [2] gridExtra_2.3                            
 [3] ggdendro_0.1.23                          
 [4] BiocParallel_1.32.6                      
 [5] viridis_0.6.3                            
 [6] viridisLite_0.4.2                        
 [7] ggbeeswarm_0.7.2                         
 [8] PoiClaClu_1.0.2.1                        
 [9] data.table_1.14.8                        
[10] DEGreport_1.34.0                         
[11] ggrepel_0.9.3                            
[12] conflicted_1.2.0                         
[13] regionReport_1.32.0                      
[14] kableExtra_1.3.4                         
[15] vidger_1.18.0                            
[16] tables_0.9.17                            
[17] knitr_1.43                               
[18] Glimma_2.8.0                             
[19] Mus.musculus_1.3.1                       
[20] TxDb.Mmusculus.UCSC.mm10.knownGene_3.10.0
[21] OrganismDbi_1.40.0                       
[22] GenomicFeatures_1.50.4                   
[23] gplots_3.1.3                             
[24] lubridate_1.9.2                          
[25] forcats_1.0.0                            
[26] stringr_1.5.0                            
[27] purrr_1.0.1                              
[28] readr_2.1.4                              
[29] tibble_3.2.1                             
[30] tidyverse_2.0.0                          
[31] statmod_1.5.0                            
[32] tweeDEseqCountData_1.36.0                
[33] edgeR_3.40.2                             
[34] limma_3.54.2                             
[35] GOSemSim_2.24.0                          
[36] apeglm_1.20.0                            
[37] ggpubr_0.6.0                             
[38] SPIA_2.50.0                              
[39] KEGGgraph_1.58.3                         
[40] ggnewscale_0.4.9                         
[41] enrichplot_1.18.4                        
[42] tidyr_1.3.0                              
[43] WGCNA_1.72-1                             
[44] fastcluster_1.2.3                        
[45] dynamicTreeCut_1.63-1                    
[46] pathview_1.38.0                          
[47] gage_2.48.0                              
[48] dplyr_1.1.2                              
[49] topGO_2.50.0                             
[50] SparseM_1.81                             
[51] graph_1.76.0                             
[52] GO.db_3.16.0                             
[53] RColorBrewer_1.1-3                       
[54] genefilter_1.80.3                        
[55] pheatmap_1.0.12                          
[56] ggsci_3.0.0                              
[57] tximport_1.26.1                          
[58] org.Mm.eg.db_3.16.0                      
[59] AnnotationDbi_1.60.2                     
[60] DOSE_3.24.2                              
[61] ReactomePA_1.42.0                        
[62] biomaRt_2.54.1                           
[63] clusterProfiler_4.6.2                    
[64] ggplot2_3.4.2                            
[65] DESeq2_1.38.3                            
[66] SummarizedExperiment_1.28.0              
[67] Biobase_2.58.0                           
[68] MatrixGenerics_1.10.0                    
[69] matrixStats_1.0.0                        
[70] GenomicRanges_1.50.2                     
[71] GenomeInfoDb_1.34.9                      
[72] IRanges_2.32.0                           
[73] S4Vectors_0.36.2                         
[74] BiocGenerics_0.44.0                      
[75] gprofiler2_0.2.2                         
[76] workflowr_1.7.0                          

loaded via a namespace (and not attached):
  [1] Hmisc_5.1-0                 svglite_2.1.1              
  [3] ps_1.7.5                    Rsamtools_2.14.0           
  [5] foreach_1.5.2               rprojroot_2.0.3            
  [7] crayon_1.5.2                MASS_7.3-60                
  [9] nlme_3.1-162                backports_1.4.1            
 [11] impute_1.72.3               rlang_1.1.1                
 [13] XVector_0.38.0              HDO.db_0.99.1              
 [15] irlba_2.3.5.1               callr_3.7.3                
 [17] filelock_1.0.2              rjson_0.2.21               
 [19] bit64_4.0.5                 glue_1.6.2                 
 [21] mixsqp_0.3-48               rngtools_1.5.2             
 [23] vipor_0.4.5                 parallel_4.2.1             
 [25] processx_3.8.2              DEFormats_1.26.0           
 [27] tidyselect_1.2.0            XML_3.99-0.14              
 [29] GenomicAlignments_1.34.1    xtable_1.8-4               
 [31] magrittr_2.0.3              evaluate_0.21              
 [33] bibtex_0.5.1                cli_3.6.1                  
 [35] zlibbioc_1.44.0             doRNG_1.8.6                
 [37] rstudioapi_0.14             whisker_0.4.1              
 [39] bslib_0.5.0                 rpart_4.1.19               
 [41] derfinderHelper_1.32.0      fastmatch_1.1-3            
 [43] BiocStyle_2.26.0            treeio_1.22.0              
 [45] xfun_0.39                   clue_0.3-64                
 [47] gson_0.1.0                  cluster_2.1.4              
 [49] caTools_1.18.2              tidygraph_1.2.3            
 [51] KEGGREST_1.38.0             logging_0.10-108           
 [53] ape_5.7-1                   Biostrings_2.66.0          
 [55] png_0.1-8                   reshape_0.8.9              
 [57] withr_2.5.0                 bitops_1.0-7               
 [59] ggforce_0.4.1               RBGL_1.74.0                
 [61] plyr_1.8.8                  coda_0.19-4                
 [63] bumphunter_1.40.0           pillar_1.9.0               
 [65] GlobalOptions_0.1.2         cachem_1.0.8               
 [67] fs_1.6.2                    GetoptLong_1.0.5           
 [69] graphite_1.44.0             vctrs_0.6.3                
 [71] generics_0.1.3              tools_4.2.1                
 [73] foreign_0.8-84              beeswarm_0.4.0             
 [75] munsell_0.5.0               tweenr_2.0.2               
 [77] fgsea_1.24.0                DelayedArray_0.24.0        
 [79] fastmap_1.1.1               compiler_4.2.1             
 [81] abind_1.4-5                 httpuv_1.6.11              
 [83] rtracklayer_1.58.0          plotly_4.10.2              
 [85] GenomeInfoDbData_1.2.9      lattice_0.21-8             
 [87] utf8_1.2.3                  later_1.3.1                
 [89] BiocFileCache_2.6.1         jsonlite_1.8.7             
 [91] GGally_2.1.2                scales_1.2.1               
 [93] tidytree_0.4.2              carData_3.0-5              
 [95] lazyeval_0.2.2              promises_1.2.0.1           
 [97] car_3.1-2                   doParallel_1.0.17          
 [99] checkmate_2.2.0             rmarkdown_2.23             
[101] cowplot_1.1.1               webshot_0.5.5              
[103] downloader_0.4              BSgenome_1.66.3            
[105] igraph_1.5.0                survival_3.5-5             
[107] numDeriv_2016.8-1.1         yaml_2.3.7                 
[109] systemfonts_1.0.4           ashr_2.2-54                
[111] SQUAREM_2021.1              htmltools_0.5.5            
[113] memoise_2.0.1               VariantAnnotation_1.44.1   
[115] BiocIO_1.8.0                locfit_1.5-9.8             
[117] graphlayouts_1.0.0          digest_0.6.32              
[119] rappdirs_0.3.3              knitrBootstrap_1.0.2       
[121] emdbook_1.3.13              RSQLite_2.3.1              
[123] yulab.utils_0.0.6           derfinder_1.32.0           
[125] blob_1.2.4                  preprocessCore_1.60.2      
[127] labeling_0.4.2              splines_4.2.1              
[129] Formula_1.2-5               RCurl_1.98-1.12            
[131] broom_1.0.5                 hms_1.1.3                  
[133] ConsensusClusterPlus_1.62.0 colorspace_2.1-0           
[135] base64enc_0.1-3             mnormt_2.1.1               
[137] BiocManager_1.30.21         shape_1.4.6                
[139] aplot_0.1.10                nnet_7.3-19                
[141] sass_0.4.6                  Rcpp_1.0.10                
[143] circlize_0.4.15             mvtnorm_1.2-2              
[145] fansi_1.0.4                 tzdb_0.4.0                 
[147] truncnorm_1.0-9             R6_2.5.1                   
[149] grid_4.2.1                  lifecycle_1.0.3            
[151] curl_5.0.1                  ggsignif_0.6.4             
[153] jquerylib_0.1.4             Matrix_1.5-4.1             
[155] qvalue_2.30.0               org.Hs.eg.db_3.16.0        
[157] iterators_1.0.14            RefManageR_1.4.0           
[159] htmlwidgets_1.6.2           markdown_1.7               
[161] polyclip_1.10-4             shadowtext_0.1.2           
[163] timechange_0.2.0            gridGraphics_0.5-1         
[165] reactome.db_1.82.0          ComplexHeatmap_2.14.0      
[167] rvest_1.0.3                 htmlTable_2.4.1            
[169] patchwork_1.1.2             bdsmatrix_1.3-6            
[171] invgamma_1.1                codetools_0.2-19           
[173] gtools_3.9.4                getPass_0.2-2              
[175] prettyunits_1.1.1           psych_2.3.6                
[177] dbplyr_2.3.2                gtable_0.3.3               
[179] DBI_1.1.3                   git2r_0.32.0               
[181] highr_0.10                  ggfun_0.1.1                
[183] httr_1.4.6                  KernSmooth_2.23-21         
[185] stringi_1.7.12              progress_1.2.2             
[187] reshape2_1.4.4              farver_2.1.1               
[189] annotate_1.76.0             Rgraphviz_2.42.0           
[191] ggtree_3.6.2                xml2_1.3.4                 
[193] bbmle_1.0.25                restfulr_0.0.15            
[195] geneplotter_1.76.0          ggplotify_0.1.1            
[197] bit_4.0.5                   scatterpie_0.2.1           
[199] ggraph_2.1.0                pkgconfig_2.0.3            
[201] rstatix_0.7.2               GenomicFiles_1.34.0