Last updated: 2022-03-16

Checks: 5 2

Knit directory: cTWAS_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.


The R Markdown file has unstaged changes. To know which version of the R Markdown file created these results, you’ll want to first commit it to the Git repo. If you’re still working on the analysis, you can ignore this warning. When you’re finished, you can run wflow_publish to commit the R Markdown file and build the HTML.

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(20211220) 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.

Using absolute paths to the files within your workflowr project makes it difficult for you and others to run your code on a different machine. Change the absolute path(s) below to the suggested relative path(s) to make your code more reproducible.

absolute relative
/project2/xinhe/shengqian/cTWAS/cTWAS_analysis/data/ data
/project2/xinhe/shengqian/cTWAS/cTWAS_analysis/code/ctwas_config.R code/ctwas_config.R

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 d57314b. 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:


Ignored files:
    Ignored:    .ipynb_checkpoints/
    Ignored:    data/AF/

Untracked files:
    Untracked:  Rplot.png
    Untracked:  analysis/.ipynb_checkpoints/
    Untracked:  analysis/SCZ_2020_Brain_Amygdala.Rmd
    Untracked:  analysis/SCZ_2020_Brain_Anterior_cingulate_cortex_BA24.Rmd
    Untracked:  analysis/SCZ_2020_Brain_Caudate_basal_ganglia.Rmd
    Untracked:  analysis/SCZ_2020_Brain_Cerebellar_Hemisphere.Rmd
    Untracked:  analysis/SCZ_2020_Brain_Cerebellum.Rmd
    Untracked:  analysis/SCZ_2020_Brain_Hippocampus.Rmd
    Untracked:  analysis/SCZ_2020_Brain_Nucleus_accumbens_basal_ganglia.Rmd
    Untracked:  analysis/SCZ_2020_Brain_Spinal_cord_cervical_c-1.Rmd
    Untracked:  analysis/SCZ_2020_Brain_Substantia_nigra.Rmd
    Untracked:  code/.ipynb_checkpoints/
    Untracked:  code/AF_out/
    Untracked:  code/Autism_out/
    Untracked:  code/BMI_S_out/
    Untracked:  code/BMI_out/
    Untracked:  code/Glucose_out/
    Untracked:  code/LDL_S_out/
    Untracked:  code/SCZ_2014_EUR_out/
    Untracked:  code/SCZ_2020_out/
    Untracked:  code/SCZ_S_out/
    Untracked:  code/SCZ_out/
    Untracked:  code/T2D_out/
    Untracked:  code/ctwas_config.R
    Untracked:  code/mapping.R
    Untracked:  code/out/
    Untracked:  code/run_AF_analysis.sbatch
    Untracked:  code/run_AF_analysis.sh
    Untracked:  code/run_AF_ctwas_rss_LDR.R
    Untracked:  code/run_Autism_analysis.sbatch
    Untracked:  code/run_Autism_analysis.sh
    Untracked:  code/run_Autism_ctwas_rss_LDR.R
    Untracked:  code/run_BMI_analysis.sbatch
    Untracked:  code/run_BMI_analysis.sh
    Untracked:  code/run_BMI_analysis_S.sbatch
    Untracked:  code/run_BMI_analysis_S.sh
    Untracked:  code/run_BMI_ctwas_rss_LDR.R
    Untracked:  code/run_BMI_ctwas_rss_LDR_S.R
    Untracked:  code/run_Glucose_analysis.sbatch
    Untracked:  code/run_Glucose_analysis.sh
    Untracked:  code/run_Glucose_ctwas_rss_LDR.R
    Untracked:  code/run_LDL_analysis_S.sbatch
    Untracked:  code/run_LDL_analysis_S.sh
    Untracked:  code/run_LDL_ctwas_rss_LDR_S.R
    Untracked:  code/run_SCZ_2014_EUR_analysis.sbatch
    Untracked:  code/run_SCZ_2014_EUR_analysis.sh
    Untracked:  code/run_SCZ_2014_EUR_ctwas_rss_LDR.R
    Untracked:  code/run_SCZ_2020_analysis.sbatch
    Untracked:  code/run_SCZ_2020_analysis.sh
    Untracked:  code/run_SCZ_2020_ctwas_rss_LDR.R
    Untracked:  code/run_SCZ_analysis.sbatch
    Untracked:  code/run_SCZ_analysis.sh
    Untracked:  code/run_SCZ_analysis_S.sbatch
    Untracked:  code/run_SCZ_analysis_S.sh
    Untracked:  code/run_SCZ_ctwas_rss_LDR.R
    Untracked:  code/run_SCZ_ctwas_rss_LDR_S.R
    Untracked:  code/run_T2D_analysis.sbatch
    Untracked:  code/run_T2D_analysis.sh
    Untracked:  code/run_T2D_ctwas_rss_LDR.R
    Untracked:  code/wflow_build.R
    Untracked:  code/wflow_build.sbatch
    Untracked:  data/.ipynb_checkpoints/
    Untracked:  data/BMI/
    Untracked:  data/PGC3_SCZ_wave3_public.v2.tsv
    Untracked:  data/SCZ/
    Untracked:  data/SCZ_2014_EUR/
    Untracked:  data/SCZ_2020/
    Untracked:  data/SCZ_S/
    Untracked:  data/T2D/
    Untracked:  data/UKBB/
    Untracked:  data/UKBB_SNPs_Info.text
    Untracked:  data/gene_OMIM.txt
    Untracked:  data/gene_pip_0.8.txt
    Untracked:  data/mashr_Heart_Atrial_Appendage.db
    Untracked:  data/mashr_sqtl/
    Untracked:  data/summary_known_genes_annotations.xlsx
    Untracked:  data/untitled.txt

Unstaged changes:
    Modified:   analysis/SCZ_2020_Brain_Cortex.Rmd
    Modified:   analysis/SCZ_2020_Brain_Frontal_Cortex_BA9.Rmd
    Modified:   analysis/SCZ_2020_Brain_Hypothalamus.Rmd
    Modified:   analysis/SCZ_2020_Brain_Putamen_basal_ganglia.Rmd

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/SCZ_2020_Brain_Frontal_Cortex_BA9.Rmd) and HTML (docs/SCZ_2020_Brain_Frontal_Cortex_BA9.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 d57314b sq-96 2022-03-15 update

Weight QC

#number of imputed weights
nrow(qclist_all)
[1] 11487
#number of imputed weights by chromosome
table(qclist_all$chr)

   1    2    3    4    5    6    7    8    9   10   11   12   13   14   15   16 
1143  827  640  455  564  662  528  440  416  456  688  662  233  369  364  509 
  17   18   19   20   21   22 
 714  177  888  351  119  282 
#number of imputed weights without missing variants
sum(qclist_all$nmiss==0)
[1] 8942
#proportion of imputed weights without missing variants
mean(qclist_all$nmiss==0)
[1] 0.7784

Check convergence of parameters

#estimated group prior
estimated_group_prior <- group_prior_rec[,ncol(group_prior_rec)]
names(estimated_group_prior) <- c("gene", "snp")
estimated_group_prior["snp"] <- estimated_group_prior["snp"]*thin #adjust parameter to account for thin argument
print(estimated_group_prior)
     gene       snp 
0.0121752 0.0002716 
#estimated group prior variance
estimated_group_prior_var <- group_prior_var_rec[,ncol(group_prior_var_rec)]
names(estimated_group_prior_var) <- c("gene", "snp")
print(estimated_group_prior_var)
 gene   snp 
12.33 12.74 
#report sample size
print(sample_size)
[1] 161405
#report group size
group_size <- c(nrow(ctwas_gene_res), n_snps)
print(group_size)
[1]   11487 7394310
#estimated group PVE
estimated_group_pve <- estimated_group_prior_var*estimated_group_prior*group_size/sample_size #check PVE calculation
names(estimated_group_pve) <- c("gene", "snp")
print(estimated_group_pve)
   gene     snp 
0.01068 0.15849 
#compare sum(PIP*mu2/sample_size) with above PVE calculation
c(sum(ctwas_gene_res$PVE),sum(ctwas_snp_res$PVE))
[1] 0.0462 0.7877

Genes with highest PIPs

        genename region_tag susie_pip   mu2       PVE      z num_eqtl
6998       SPPL3      12_74    0.9908 33.74 0.0002071 -5.619        2
11134     ZNF823      19_10    0.9797 39.84 0.0002418  6.327        2
12304 AC012074.2       2_15    0.9776 30.12 0.0001825  5.469        1
3208       EDEM3       1_92    0.9711 25.38 0.0001527  4.872        1
9166       NUDT4      12_55    0.9623 22.56 0.0001345  4.414        2
102        FARP2      2_144    0.8985 21.98 0.0001223  4.313        2
2339        TLE4       9_38    0.8824 26.23 0.0001434  5.000        1
748       ATP1B3       3_87    0.8658 20.62 0.0001106  4.085        1
6226     FAM135B       8_91    0.8469 21.98 0.0001153 -3.461        1
7151         ACE      17_37    0.8439 33.42 0.0001748 -5.876        1
4784       DAGLA      11_34    0.8277 22.12 0.0001134 -4.263        1
3070        APC2       19_2    0.8066 22.33 0.0001116  4.311        2
11141      RPL12       9_66    0.7937 23.99 0.0001180  4.670        2
13758     ZNHIT3      17_22    0.7836 21.81 0.0001059 -4.203        1
1952      CCP110      16_18    0.7706 24.39 0.0001165  4.730        2
8310      CACNB3      12_31    0.7643 21.32 0.0001010 -3.683        1
3422       DNAH7      2_116    0.7525 25.44 0.0001186 -4.800        2
12022  LINC00606        3_8    0.7507 22.77 0.0001059 -4.150        1
6407       TAOK2      16_24    0.7450 52.84 0.0002439  7.709        1
10207   NIPSNAP1      22_10    0.7384 23.46 0.0001073 -4.301        2

Genes with largest effect sizes

       genename region_tag susie_pip    mu2       PVE         z num_eqtl
128    CACNA2D2       3_35 0.0764456 322.90 1.529e-04  -0.10441        1
13732 LINC02019       3_35 0.0017445 246.52 2.664e-06   0.32997        2
3010       CISH       3_35 0.0008057 225.24 1.124e-06  -0.88335        1
3009      HEMK1       3_35 0.0022606 224.51 3.144e-06   0.03805        2
7738     TEX264       3_35 0.0009884 135.00 8.268e-07   0.31065        1
41         RBM6       3_35 0.3741380 119.43 2.768e-04   4.46875        1
7734      CAMKV       3_35 0.0013723 116.46 9.902e-07  -1.90637        2
6013       MANF       3_35 0.0013894 116.29 1.001e-06   1.92721        2
31         RBM5       3_35 0.0122903 115.64 8.805e-06   3.98715        1
10678   SLC38A3       3_35 0.0041360 114.93 2.945e-06  -2.77559        1
9        SEMA3F       3_35 0.0012387 113.30 8.696e-07  -1.43795        1
10493    BTN3A2       6_20 0.0181230 106.76 1.199e-05   8.96309        2
11728     CLIC1       6_26 0.4544257  86.12 2.425e-04  10.73117        2
11472      APOM       6_26 0.2295257  84.42 1.200e-04  10.64842        1
12191   CYP21A2       6_26 0.0304036  81.32 1.532e-05 -10.41430        1
7732     RNF123       3_35 0.0008016  76.93 3.821e-07  -2.32524        1
12511   HLA-DMB       6_27 0.3945005  76.02 1.858e-04  -9.45281        1
11432   HLA-DMA       6_27 0.2991237  74.92 1.388e-04  -9.40800        1
1619     ZC3H7B      22_17 0.4552820  69.97 1.974e-04   5.69824        3
8443     GLYCTK       3_36 0.1574453  69.16 6.746e-05   8.57710        1

Genes with highest PVE

        genename region_tag susie_pip    mu2       PVE       z num_eqtl
41          RBM6       3_35   0.37414 119.43 0.0002768  4.4688        1
6407       TAOK2      16_24   0.74500  52.84 0.0002439  7.7085        1
11728      CLIC1       6_26   0.45443  86.12 0.0002425 10.7312        2
11134     ZNF823      19_10   0.97969  39.84 0.0002418  6.3271        2
6998       SPPL3      12_74   0.99076  33.74 0.0002071 -5.6193        2
1619      ZC3H7B      22_17   0.45528  69.97 0.0001974  5.6982        3
12511    HLA-DMB       6_27   0.39450  76.02 0.0001858 -9.4528        1
12304 AC012074.2       2_15   0.97763  30.12 0.0001825  5.4694        1
7701        GNL3       3_36   0.49612  59.17 0.0001819  9.1601        2
9343       ATG13      11_28   0.49614  58.02 0.0001783 -8.0462        1
7151         ACE      17_37   0.84391  33.42 0.0001748 -5.8759        1
11089        NMB      15_39   0.58304  47.89 0.0001730  7.1213        1
8856       TRIM8      10_66   0.72841  35.81 0.0001616  4.3592        1
128     CACNA2D2       3_35   0.07645 322.90 0.0001529 -0.1044        1
3208       EDEM3       1_92   0.97108  25.38 0.0001527  4.8719        1
9133     MAP3K11      11_36   0.73729  33.27 0.0001520 -5.5697        1
2339        TLE4       9_38   0.88240  26.23 0.0001434  4.9996        1
11432    HLA-DMA       6_27   0.29912  74.92 0.0001388 -9.4080        1
9166       NUDT4      12_55   0.96231  22.56 0.0001345  4.4143        2
9024        FUT9       6_65   0.63271  32.07 0.0001257  5.4464        1

Genes with largest z scores

      genename region_tag susie_pip    mu2       PVE       z num_eqtl
11728    CLIC1       6_26 0.4544257  86.12 2.425e-04  10.731        2
11472     APOM       6_26 0.2295257  84.42 1.200e-04  10.648        1
6317     CNNM2      10_66 0.1885577  59.98 7.007e-05 -10.547        2
12191  CYP21A2       6_26 0.0304036  81.32 1.532e-05 -10.414        1
12571      C4A       6_26 0.0046471  65.91 1.898e-06   9.556        3
12511  HLA-DMB       6_27 0.3945005  76.02 1.858e-04  -9.453        1
11432  HLA-DMA       6_27 0.2991237  74.92 1.388e-04  -9.408        1
11443     RNF5       6_26 0.0161885  61.00 6.119e-06   9.267        1
11464     MSH5       6_26 0.0047411  64.72 1.901e-06   9.175        2
7701      GNL3       3_36 0.4961202  59.17 1.819e-04   9.160        2
10493   BTN3A2       6_20 0.0181230 106.76 1.199e-05   8.963        2
7702     PBRM1       3_36 0.0340485  55.19 1.164e-05  -8.872        2
6452     ABCB9      12_75 0.0006287  62.65 2.440e-07   8.638        1
9986   ARL6IP4      12_75 0.0005836  62.24 2.250e-07   8.615        1
8443    GLYCTK       3_36 0.1574453  69.16 6.746e-05   8.577        1
8447     SMIM4       3_36 0.0229830  52.27 7.443e-06  -8.494        1
2871    PRSS16       6_21 0.0176785  64.17 7.029e-06  -8.051        1
9343     ATG13      11_28 0.4961378  58.02 1.783e-04  -8.046        1
3030      NEK4       3_36 0.0124993  43.20 3.346e-06   7.846        1
3029     SPCS1       3_36 0.0149155  43.48 4.018e-06  -7.834        1

Comparing z scores and PIPs

[1] 0.01689

GO enrichment analysis for genes with PIP>0.5

#number of genes for gene set enrichment
length(genes)
[1] 58
Uploading data to Enrichr... Done.
  Querying GO_Biological_Process_2021... Done.
  Querying GO_Cellular_Component_2021... Done.
  Querying GO_Molecular_Function_2021... Done.
Parsing results... Done.
[1] "GO_Biological_Process_2021"

                                     Term Overlap Adjusted.P.value     Genes
1   fucose catabolic process (GO:0019317)     2/9          0.04131 FUT9;FUT2
2 L-fucose catabolic process (GO:0042355)     2/9          0.04131 FUT9;FUT2
3 L-fucose metabolic process (GO:0042354)     2/9          0.04131 FUT9;FUT2
[1] "GO_Cellular_Component_2021"

[1] Term             Overlap          Adjusted.P.value Genes           
<0 rows> (or 0-length row.names)
[1] "GO_Molecular_Function_2021"

                                                          Term Overlap
1 mitogen-activated protein kinase kinase binding (GO:0031434)     2/8
2                     fucosyltransferase activity (GO:0008417)    2/12
  Adjusted.P.value     Genes
1          0.02266 ACE;TAOK2
2          0.02650 FUT9;FUT2

DisGeNET enrichment analysis for genes with PIP>0.5

                                                                Description
39                                                     Gingival Hypertrophy
49                                              Infant, Premature, Diseases
74                                                         Pneumonia, Viral
98                                                 Caliciviridae Infections
110                                                 Infections, Calicivirus
133                               Symmetrical dyschromatosis of extremities
169                                       Severe Acute Respiratory Syndrome
180                                        Deafness, Autosomal Recessive 22
193                     VITAMIN B12 PLASMA LEVEL QUANTITATIVE TRAIT LOCUS 1
194 MICROVASCULAR COMPLICATIONS OF DIABETES, SUSCEPTIBILITY TO, 3 (finding)
        FDR Ratio BgRatio
39  0.03793  1/23  1/9703
49  0.03793  1/23  1/9703
74  0.03793  1/23  1/9703
98  0.03793  1/23  1/9703
110 0.03793  1/23  1/9703
133 0.03793  1/23  1/9703
169 0.03793  1/23  1/9703
180 0.03793  1/23  1/9703
193 0.03793  1/23  1/9703
194 0.03793  1/23  1/9703

WebGestalt enrichment analysis for genes with PIP>0.5

Loading the functional categories...
Loading the ID list...
Loading the reference list...
Performing the enrichment analysis...
Warning in oraEnrichment(interestGeneList, referenceGeneList, geneSet, minNum =
minNum, : No significant gene set is identified based on FDR 0.05!
NULL

PIP Manhattan Plot

Warning: ggrepel: 16 unlabeled data points (too many overlaps). Consider
increasing max.overlaps

Sensitivity, specificity and precision for silver standard genes

#number of genes in known annotations
print(length(known_annotations))
[1] 130
#number of genes in known annotations with imputed expression
print(sum(known_annotations %in% ctwas_gene_res$genename))
[1] 65
#significance threshold for TWAS
print(sig_thresh)
[1] 4.594
#number of ctwas genes
length(ctwas_genes)
[1] 12
#number of TWAS genes
length(twas_genes)
[1] 194
#show novel genes (ctwas genes with not in TWAS genes)
ctwas_gene_res[ctwas_gene_res$genename %in% novel_genes,report_cols]
     genename region_tag susie_pip   mu2       PVE      z num_eqtl
102     FARP2      2_144    0.8985 21.98 0.0001223  4.313        2
748    ATP1B3       3_87    0.8658 20.62 0.0001106  4.085        1
6226  FAM135B       8_91    0.8469 21.98 0.0001153 -3.461        1
4784    DAGLA      11_34    0.8277 22.12 0.0001134 -4.263        1
9166    NUDT4      12_55    0.9623 22.56 0.0001345  4.414        2
3070     APC2       19_2    0.8066 22.33 0.0001116  4.311        2
#sensitivity / recall
print(sensitivity)
  ctwas    TWAS 
0.01538 0.15385 
#specificity
print(specificity)
 ctwas   TWAS 
0.9991 0.9848 
#precision / PPV
print(precision)
 ctwas   TWAS 
0.1667 0.1031 

cTWAS is more precise than TWAS in distinguishing silver standard and bystander genes

#number of genes in known annotations (with imputed expression)
print(length(known_annotations))
[1] 65
#number of bystander genes (with imputed expression)
print(length(unrelated_genes))
[1] 871
#subset results to genes in known annotations or bystanders
ctwas_gene_res_subset <- ctwas_gene_res[ctwas_gene_res$genename %in% c(known_annotations, unrelated_genes),]

#assign ctwas and TWAS genes
ctwas_genes <- ctwas_gene_res_subset$genename[ctwas_gene_res_subset$susie_pip>0.8]
twas_genes <- ctwas_gene_res_subset$genename[abs(ctwas_gene_res_subset$z)>sig_thresh]

#significance threshold for TWAS
print(sig_thresh)
[1] 4.594
#number of ctwas genes (in known annotations or bystanders)
length(ctwas_genes)
[1] 2
#number of TWAS genes (in known annotations or bystanders)
length(twas_genes)
[1] 69
#sensitivity / recall
sensitivity
  ctwas    TWAS 
0.03077 0.30769 
#specificity / (1 - False Positive Rate)
specificity
 ctwas   TWAS 
1.0000 0.9437 
#precision / PPV / (1 - False Discovery Rate)
precision
 ctwas   TWAS 
1.0000 0.2899 

pip_range <- (0:1000)/1000
sensitivity <- rep(NA, length(pip_range))
specificity <- rep(NA, length(pip_range))

for (index in 1:length(pip_range)){
  pip <- pip_range[index]
  ctwas_genes <- ctwas_gene_res_subset$genename[ctwas_gene_res_subset$susie_pip>=pip]
  sensitivity[index] <- sum(ctwas_genes %in% known_annotations)/length(known_annotations)
  specificity[index] <- sum(!(unrelated_genes %in% ctwas_genes))/length(unrelated_genes)
}

plot(1-specificity, sensitivity, type="l", xlim=c(0,1), ylim=c(0,1), main="", xlab="1 - Specificity", ylab="Sensitivity")
title(expression("ROC Curve for cTWAS (black) and TWAS (" * phantom("red") * ")"))
title(expression(phantom("ROC Curve for cTWAS (black) and TWAS (") * "red" * phantom(")")), col.main="red")

sig_thresh_range <- seq(from=0, to=max(abs(ctwas_gene_res_subset$z)), length.out=length(pip_range))

for (index in 1:length(sig_thresh_range)){
  sig_thresh_plot <- sig_thresh_range[index]
  twas_genes <- ctwas_gene_res_subset$genename[abs(ctwas_gene_res_subset$z)>=sig_thresh_plot]
  sensitivity[index] <- sum(twas_genes %in% known_annotations)/length(known_annotations)
  specificity[index] <- sum(!(unrelated_genes %in% twas_genes))/length(unrelated_genes)
}

lines(1-specificity, sensitivity, xlim=c(0,1), ylim=c(0,1), col="red", lty=1)

abline(a=0,b=1,lty=3)

#add previously computed points from the analysis
ctwas_genes <- ctwas_gene_res_subset$genename[ctwas_gene_res_subset$susie_pip>0.8]
twas_genes <- ctwas_gene_res_subset$genename[abs(ctwas_gene_res_subset$z)>sig_thresh]

points(1-specificity_plot["ctwas"], sensitivity_plot["ctwas"], pch=21, bg="black")
points(1-specificity_plot["TWAS"], sensitivity_plot["TWAS"], pch=21, bg="red")

Undetected silver standard genes have low TWAS z-scores or stronger signal from nearby variants

#table of outcomes for silver standard genes
-sort(-table(silver_standard_case))
silver_standard_case
          Not Imputed Insignificant z-score         Nearby SNP(s) 
                   65                    45                    18 
 Detected (PIP > 0.8) 
                    2 
#show inconclusive genes
silver_standard_case[silver_standard_case=="Inconclusive"]
named character(0)


sessionInfo()
R version 3.6.1 (2019-07-05)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Scientific Linux 7.4 (Nitrogen)

Matrix products: default
BLAS/LAPACK: /software/openblas-0.2.19-el7-x86_64/lib/libopenblas_haswellp-r0.2.19.so

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] parallel  stats4    stats     graphics  grDevices utils     datasets 
[8] methods   base     

other attached packages:
 [1] GenomicRanges_1.36.1 GenomeInfoDb_1.20.0  IRanges_2.18.1      
 [4] S4Vectors_0.22.1     BiocGenerics_0.30.0  biomaRt_2.40.1      
 [7] readxl_1.3.1         forcats_0.5.1        stringr_1.4.0       
[10] dplyr_1.0.7          purrr_0.3.4          readr_2.1.1         
[13] tidyr_1.1.4          tidyverse_1.3.1      tibble_3.1.6        
[16] WebGestaltR_0.4.4    disgenet2r_0.99.2    enrichR_3.0         
[19] cowplot_1.1.1        ggplot2_3.3.5        workflowr_1.7.0     

loaded via a namespace (and not attached):
  [1] ggbeeswarm_0.6.0       colorspace_2.0-2       rjson_0.2.20          
  [4] ellipsis_0.3.2         rprojroot_2.0.2        XVector_0.24.0        
  [7] fs_1.5.2               rstudioapi_0.13        farver_2.1.0          
 [10] ggrepel_0.9.1          bit64_4.0.5            AnnotationDbi_1.46.0  
 [13] fansi_1.0.2            lubridate_1.8.0        xml2_1.3.3            
 [16] codetools_0.2-16       doParallel_1.0.17      cachem_1.0.6          
 [19] knitr_1.36             jsonlite_1.7.2         apcluster_1.4.8       
 [22] Cairo_1.5-12.2         broom_0.7.10           dbplyr_2.1.1          
 [25] compiler_3.6.1         httr_1.4.2             backports_1.4.1       
 [28] assertthat_0.2.1       Matrix_1.2-18          fastmap_1.1.0         
 [31] cli_3.1.0              later_0.8.0            prettyunits_1.1.1     
 [34] htmltools_0.5.2        tools_3.6.1            igraph_1.2.10         
 [37] GenomeInfoDbData_1.2.1 gtable_0.3.0           glue_1.6.2            
 [40] reshape2_1.4.4         doRNG_1.8.2            Rcpp_1.0.8            
 [43] Biobase_2.44.0         cellranger_1.1.0       jquerylib_0.1.4       
 [46] vctrs_0.3.8            svglite_1.2.2          iterators_1.0.14      
 [49] xfun_0.29              ps_1.6.0               rvest_1.0.2           
 [52] lifecycle_1.0.1        rngtools_1.5.2         XML_3.99-0.3          
 [55] zlibbioc_1.30.0        getPass_0.2-2          scales_1.1.1          
 [58] vroom_1.5.7            hms_1.1.1              promises_1.0.1        
 [61] yaml_2.2.1             curl_4.3.2             memoise_2.0.1         
 [64] ggrastr_1.0.1          gdtools_0.1.9          stringi_1.7.6         
 [67] RSQLite_2.2.8          highr_0.9              foreach_1.5.2         
 [70] rlang_1.0.1            pkgconfig_2.0.3        bitops_1.0-7          
 [73] evaluate_0.14          lattice_0.20-38        labeling_0.4.2        
 [76] bit_4.0.4              processx_3.5.2         tidyselect_1.1.1      
 [79] plyr_1.8.6             magrittr_2.0.2         R6_2.5.1              
 [82] generics_0.1.1         DBI_1.1.2              pillar_1.6.4          
 [85] haven_2.4.3            whisker_0.3-2          withr_2.4.3           
 [88] RCurl_1.98-1.5         modelr_0.1.8           crayon_1.5.0          
 [91] utf8_1.2.2             tzdb_0.2.0             rmarkdown_2.11        
 [94] progress_1.2.2         grid_3.6.1             data.table_1.14.2     
 [97] blob_1.2.2             callr_3.7.0            git2r_0.26.1          
[100] reprex_2.0.1           digest_0.6.29          httpuv_1.5.1          
[103] munsell_0.5.0          beeswarm_0.2.3         vipor_0.4.5