Last updated: 2022-05-12

Checks: 5 2

Knit directory: cTWAS_analysis/

This reproducible R Markdown analysis was created with workflowr (version 1.6.2). 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 011327d. 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:    .Rhistory
    Ignored:    .ipynb_checkpoints/
    Ignored:    data/AF/

Untracked files:
    Untracked:  G_list.RData
    Untracked:  Rplot.png
    Untracked:  SCZ_annotation.xlsx
    Untracked:  analysis/.ipynb_checkpoints/
    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_2018_S_out/
    Untracked:  code/SCZ_2018_out/
    Untracked:  code/SCZ_2020_Single_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/process_scz_2018_snps.R
    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_2018_analysis.sbatch
    Untracked:  code/run_SCZ_2018_analysis.sh
    Untracked:  code/run_SCZ_2018_analysis_S.sbatch
    Untracked:  code/run_SCZ_2018_analysis_S.sh
    Untracked:  code/run_SCZ_2018_ctwas_rss_LDR.R
    Untracked:  code/run_SCZ_2018_ctwas_rss_LDR_S.R
    Untracked:  code/run_SCZ_2020_Single_analysis.sbatch
    Untracked:  code/run_SCZ_2020_Single_analysis.sh
    Untracked:  code/run_SCZ_2020_Single_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/GO_Terms/
    Untracked:  data/PGC3_SCZ_wave3_public.v2.tsv
    Untracked:  data/SCZ/
    Untracked:  data/SCZ_2014_EUR/
    Untracked:  data/SCZ_2018/
    Untracked:  data/SCZ_2018_S/
    Untracked:  data/SCZ_2020/
    Untracked:  data/SCZ_2020_Single/
    Untracked:  data/SCZ_S/
    Untracked:  data/Supplementary Table 15 - MAGMA.xlsx
    Untracked:  data/Supplementary Table 20 - Prioritised Genes.xlsx
    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/scz_2018.RDS
    Untracked:  data/summary_known_genes_annotations.xlsx
    Untracked:  data/untitled.txt
    Untracked:  top_genes_32.txt
    Untracked:  top_genes_37.txt
    Untracked:  top_genes_43.txt
    Untracked:  top_genes_81.txt
    Untracked:  z_snp_pos_SCZ.RData
    Untracked:  z_snp_pos_SCZ_2014_EUR.RData
    Untracked:  z_snp_pos_SCZ_2018.RData
    Untracked:  z_snp_pos_SCZ_2020.RData

Unstaged changes:
    Deleted:    analysis/BMI_S_results.Rmd
    Modified:   analysis/SCZ_2018_Brain_Amygdala_S.Rmd
    Modified:   analysis/SCZ_2018_Brain_Anterior_cingulate_cortex_BA24_S.Rmd
    Modified:   analysis/SCZ_2018_Brain_Caudate_basal_ganglia_S.Rmd
    Modified:   analysis/SCZ_2018_Brain_Cerebellar_Hemisphere_S.Rmd
    Modified:   analysis/SCZ_2018_Brain_Cerebellum_S.Rmd
    Modified:   analysis/SCZ_2018_Brain_Cortex_S.Rmd
    Modified:   analysis/SCZ_2018_Brain_Frontal_Cortex_BA9_S.Rmd
    Modified:   analysis/SCZ_2018_Brain_Hippocampus_S.Rmd
    Modified:   analysis/SCZ_2018_Brain_Hypothalamus_S.Rmd
    Modified:   analysis/SCZ_2018_Brain_Nucleus_accumbens_basal_ganglia_S.Rmd
    Modified:   analysis/SCZ_2018_Brain_Putamen_basal_ganglia_S.Rmd
    Modified:   analysis/SCZ_2018_Brain_Spinal_cord_cervical_c-1_S.Rmd
    Modified:   analysis/SCZ_2018_Brain_Substantia_nigra_S.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_2018_Brain_Putamen_basal_ganglia_S.Rmd) and HTML (docs/SCZ_2018_Brain_Putamen_basal_ganglia_S.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
html 011327d sq-96 2022-05-12 update
Rmd 6c6abbd sq-96 2022-05-12 update

library(reticulate)
use_python("/scratch/midway2/shengqian/miniconda3/envs/PythonForR/bin/python",required=T)

Weight QC

#number of imputed weights
nrow(qclist_all)
[1] 18714
#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 
1715 1341 1135  747  753  935 1084  644  764  833 1148 1001  362  676  630  762 
  17   18   19   20   21   22 
1314  271 1307  672   31  589 
#number of imputed weights without missing variants
sum(qclist_all$nmiss==0)
[1] 16516
#proportion of imputed weights without missing variants
mean(qclist_all$nmiss==0)
[1] 0.8825
finish

Attaching package: 'dplyr'
The following objects are masked from 'package:stats':

    filter, lag
The following objects are masked from 'package:base':

    intersect, setdiff, setequal, union

Check convergence of parameters

     gene       snp 
0.0072380 0.0003126 
 gene   snp 
10.69 10.43 
[1] 105318
[1]    7109 6309950
    gene      snp 
0.005222 0.195372 
[1] 0.01435 1.07231

Genes with highest PIPs

      genename region_tag susie_pip   mu2       PVE      z num_intron num_sqtl
3298      LRP8       1_33    1.1442 32.81 0.0003081 -4.820          6        6
3183 LINC00320       21_6    1.0821 28.61 0.0003052 -5.336          5        5
2119  FAM177A1       14_9    1.0113 23.94 0.0002035 -4.872         11       14
3112     LAMA5      20_36    0.8624 24.08 0.0001561 -4.335          9       12
242   ALG1L13P       8_11    0.8561 23.49 0.0001531  4.461          4        4
5379     SF3B1      2_117    0.8398 44.94 0.0002906 -7.053          4        4
107     ACTR1B       2_57    0.8262 19.35 0.0001232 -3.978          6        6
4477     PLCB2      15_14    0.8102 24.79 0.0001286 -4.470          5        5
1776    DPYSL3       5_86    0.7896 22.79 0.0001349 -4.157          1        1
1322      COA8      14_54    0.7860 46.84 0.0002658 -7.431          6        9
589     B3GAT1      11_84    0.7836 22.65 0.0001170  4.265          7       10
4839   PYROXD2      10_62    0.7830 21.51 0.0001164  3.718         10       11
228       AKT3      1_128    0.7781 34.91 0.0001934 -6.350          4        4
2967      KAT5      11_36    0.7775 24.18 0.0001362  4.491          7        7
4101     NTRK3      15_41    0.7498 23.92 0.0001194 -4.457          3        3
2398    GIGYF1       7_62    0.7342 27.41 0.0001384  5.266          2        2
4088     NT5C2      10_66    0.7314 47.24 0.0002278 -8.668          9       11
3357      LY6H       8_94    0.7233 22.36 0.0001059 -4.186          4        4
4294     PCSK6      15_50    0.7178 22.06 0.0001061 -3.967          2        3
5292   SDCCAG8      1_128    0.7027 27.40 0.0001204  5.377          7       11

Genes with highest PVE

      genename region_tag susie_pip   mu2       PVE      z num_intron num_sqtl
3298      LRP8       1_33    1.1442 32.81 0.0003081 -4.820          6        6
3183 LINC00320       21_6    1.0821 28.61 0.0003052 -5.336          5        5
5379     SF3B1      2_117    0.8398 44.94 0.0002906 -7.053          4        4
1322      COA8      14_54    0.7860 46.84 0.0002658 -7.431          6        9
4088     NT5C2      10_66    0.7314 47.24 0.0002278 -8.668          9       11
2119  FAM177A1       14_9    1.0113 23.94 0.0002035 -4.872         11       14
228       AKT3      1_128    0.7781 34.91 0.0001934 -6.350          4        4
3112     LAMA5      20_36    0.8624 24.08 0.0001561 -4.335          9       12
242   ALG1L13P       8_11    0.8561 23.49 0.0001531  4.461          4        4
1646      DGKZ      11_28    0.5830 47.17 0.0001522  7.216          1        1
2398    GIGYF1       7_62    0.7342 27.41 0.0001384  5.266          2        2
2967      KAT5      11_36    0.7775 24.18 0.0001362  4.491          7        7
3380    MAD1L1        7_3    0.5571 54.63 0.0001359  7.478          4        4
1776    DPYSL3       5_86    0.7896 22.79 0.0001349 -4.157          1        1
4477     PLCB2      15_14    0.8102 24.79 0.0001286 -4.470          5        5
107     ACTR1B       2_57    0.8262 19.35 0.0001232 -3.978          6        6
5292   SDCCAG8      1_128    0.7027 27.40 0.0001204  5.377          7       11
4101     NTRK3      15_41    0.7498 23.92 0.0001194 -4.457          3        3
589     B3GAT1      11_84    0.7836 22.65 0.0001170  4.265          7       10
4839   PYROXD2      10_62    0.7830 21.51 0.0001164  3.718         10       11

Comparing z scores and PIPs

[1] 0.01618
     genename region_tag susie_pip    mu2       PVE       z num_intron num_sqtl
374      APOM       6_26 1.639e-04 215.80 5.484e-11  11.590          2        2
605      BAG6       6_26 1.164e-04 215.80 2.571e-11 -11.590          6        6
6621    VARS2       6_25 6.847e-02 101.95 4.538e-06 -11.137          1        1
819  C6orf136       6_24 7.194e-02  79.99 3.931e-06  11.031          2        2
2252    FLOT1       6_24 1.607e-01  78.65 1.917e-05 -10.981          6        6
1535  CYP21A2       6_26 3.944e-06 179.01 2.643e-14 -10.736          1        2
726    BTN3A2       6_20 6.252e-02  91.47 1.705e-06 -10.717          4        5
2519    GPSM3       6_26 3.863e-06 120.46 1.706e-14  -9.377          2        2
1006   CCHCR1       6_25 6.850e-02  61.89 1.309e-06  -9.272         10       15
1591     DDR1       6_25 1.253e-02  68.37 1.019e-07   9.016          1        1
1878    EGFL8       6_26 1.227e-05 121.04 1.708e-13  -8.953          2        3
4088    NT5C2      10_66 7.314e-01  47.24 2.278e-04  -8.668          9       11
3392    MAIP1      2_118 2.500e-01  44.44 2.637e-05  -7.980          1        1
472     AS3MT      10_66 3.678e-01  40.78 5.194e-05   7.907          4        5
7102  ZSCAN26       6_22 2.458e-02  37.09 1.450e-07  -7.603          3        4
3380   MAD1L1        7_3 5.571e-01  54.63 1.359e-04   7.478          4        4
7098  ZSCAN16       6_22 2.059e-02  53.72 1.087e-07  -7.468          2        2
1322     COA8      14_54 7.860e-01  46.84 2.658e-04  -7.431          6        9
6912 ZNF192P1       6_22 7.746e-03  53.28 3.035e-08  -7.429          1        1
3060     KLC1      14_54 2.052e-01  49.40 1.648e-05   7.382          6        6

GO enrichment analysis for genes with PIP>0.5

#number of genes for gene set enrichment
length(genes)
[1] 48
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"

[1] Term             Overlap          Adjusted.P.value Genes           
<0 rows> (or 0-length row.names)
[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 Adjusted.P.value       Genes
1 neurotrophin binding (GO:0043121)     2/8          0.01252 NTRK3;PCSK6

DisGeNET enrichment analysis for genes with PIP>0.5

                                                  Description     FDR Ratio
49                                              Schizophrenia 0.01231  9/22
7                                  Adenocarcinoma of prostate 0.01755  2/22
34                                                    Measles 0.01755  1/22
56                              Electroencephalogram abnormal 0.01755  1/22
125                                 Sporadic Breast Carcinoma 0.01755  1/22
128                              Primary peritoneal carcinoma 0.01755  1/22
137     BREAST-OVARIAN CANCER, FAMILIAL, SUSCEPTIBILITY TO, 1 0.01755  1/22
138             BREAST CANCER, FAMILIAL, SUSCEPTIBILITY TO, 1 0.01755  1/22
139            OVARIAN CANCER, FAMILIAL, SUSCEPTIBILITY TO, 1 0.01755  1/22
141 HEMOLYTIC UREMIC SYNDROME, ATYPICAL, SUSCEPTIBILITY TO, 2 0.01755  1/22
     BgRatio
49  883/9703
7    20/9703
34    1/9703
56    1/9703
125   1/9703
128   1/9703
137   1/9703
138   1/9703
139   1/9703
141   1/9703

WebGestalt enrichment analysis for genes with PIP>0.5

Warning: replacing previous import 'lifecycle::last_warnings' by
'rlang::last_warnings' when loading 'hms'
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: 13 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] 56
#significance threshold for TWAS
print(sig_thresh)
[1] 4.493
#number of ctwas genes
length(ctwas_genes)
[1] 8
#number of TWAS genes
length(twas_genes)
[1] 115
#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_intron num_sqtl
107    ACTR1B       2_57    0.8262 19.35 0.0001232 -3.978          6        6
242  ALG1L13P       8_11    0.8561 23.49 0.0001531  4.461          4        4
3112    LAMA5      20_36    0.8624 24.08 0.0001561 -4.335          9       12
4477    PLCB2      15_14    0.8102 24.79 0.0001286 -4.470          5        5
#sensitivity / recall
print(sensitivity)
  ctwas    TWAS 
0.02308 0.10769 
#specificity
print(specificity)
 ctwas   TWAS 
0.9993 0.9857 
#precision / PPV
print(precision)
 ctwas   TWAS 
0.3750 0.1217 

sessionInfo()
R version 4.1.0 (2021-05-18)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Scientific Linux 7.4 (Nitrogen)

Matrix products: default
BLAS/LAPACK: /software/openblas-0.3.13-el7-x86_64/lib/libopenblas_haswellp-r0.3.13.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] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] readxl_1.4.0      forcats_0.5.1     stringr_1.4.0     purrr_0.3.4      
 [5] readr_1.4.0       tidyr_1.1.3       tidyverse_1.3.1   tibble_3.1.7     
 [9] WebGestaltR_0.4.4 disgenet2r_0.99.2 enrichR_3.0       cowplot_1.1.1    
[13] ggplot2_3.3.5     dplyr_1.0.7       reticulate_1.20   workflowr_1.6.2  

loaded via a namespace (and not attached):
 [1] fs_1.5.0          lubridate_1.7.10  doParallel_1.0.16 httr_1.4.2       
 [5] rprojroot_2.0.2   tools_4.1.0       backports_1.2.1   doRNG_1.8.2      
 [9] bslib_0.2.5.1     utf8_1.2.1        R6_2.5.0          vipor_0.4.5      
[13] DBI_1.1.1         colorspace_2.0-2  withr_2.4.2       ggrastr_1.0.1    
[17] tidyselect_1.1.1  curl_4.3.2        compiler_4.1.0    git2r_0.28.0     
[21] rvest_1.0.0       cli_3.0.0         Cairo_1.5-15      xml2_1.3.2       
[25] labeling_0.4.2    sass_0.4.0        scales_1.1.1      systemfonts_1.0.4
[29] apcluster_1.4.9   digest_0.6.27     rmarkdown_2.9     svglite_2.0.0    
[33] pkgconfig_2.0.3   htmltools_0.5.1.1 dbplyr_2.1.1      highr_0.9        
[37] rlang_1.0.2       rstudioapi_0.13   jquerylib_0.1.4   farver_2.1.0     
[41] generics_0.1.0    jsonlite_1.7.2    magrittr_2.0.1    Matrix_1.3-3     
[45] ggbeeswarm_0.6.0  Rcpp_1.0.7        munsell_0.5.0     fansi_0.5.0      
[49] lifecycle_1.0.0   stringi_1.6.2     whisker_0.4       yaml_2.2.1       
[53] plyr_1.8.6        grid_4.1.0        ggrepel_0.9.1     parallel_4.1.0   
[57] promises_1.2.0.1  crayon_1.4.1      lattice_0.20-44   haven_2.4.1      
[61] hms_1.1.0         knitr_1.33        pillar_1.7.0      igraph_1.2.6     
[65] rjson_0.2.20      rngtools_1.5      reshape2_1.4.4    codetools_0.2-18 
[69] reprex_2.0.0      glue_1.4.2        evaluate_0.14     data.table_1.14.0
[73] modelr_0.1.8      png_0.1-7         vctrs_0.3.8       httpuv_1.6.1     
[77] foreach_1.5.1     cellranger_1.1.0  gtable_0.3.0      assertthat_0.2.1 
[81] xfun_0.24         broom_0.7.8       later_1.2.0       iterators_1.0.13 
[85] beeswarm_0.4.0    ellipsis_0.3.2