PRISM takes as input GWAS summary statistics of multiple traits and outputs significant labeled variant-trait effects. Further information can be found in our pre-print.
You can see PRISM results and the causal network of any variant on our Shiny visualization tool.
You can install the current version of PRISM like so:
if(!"devtools" %in% installed.packages()[, "Package"]) {
install.packages("devtools") }
if(!"PRISM" %in% installed.packages()[, "Package"]) {
devtools::install_github("martintnr/PRISM") }
This is a basic example to obtain labels from simulated GWAS summary
statistics.
Parameters obtained from LHC-MR, LDscores of all variants, and simulated
GWAS standardized effect sizes are already included.
You should specify the NbCores parameters if your computer can handle
parallel computations.
library(data.table)
library(dplyr)
library(stats)
library(stringr)
library(parallel)
library(matrixStats)
library(PRISM)
if(!grepl("PRISM_example", getwd(), fixed = TRUE)){
if(!file.exists("PRISM_example/")){system("mkdir PRISM_example")}
setwd("PRISM_example")}
Prepare_example_data(gzip = T)
ParametersTable <- fread("Data/ParametersTable.csv", header = T, sep = ",")
Index <- fread("Data/Index.csv", header = T, sep = ",")
ListofTraits <- unique(c(ParametersTable$X, ParametersTable$Y))
PRISM_main(ListofTraits, ParametersTable, Index , sourceGWAS = "Data/",
NbCores = 1, gzip = F, keepIntermediateFiles = F)
In the Results/ folder can be found, for each trait, a file with variants, p-values from PRISM, and pleiotropy annotation.
library(ggplot2)
Graph <- Example_graph(ListofTraits, ParametersTable, Trait = "B4")
print(Graph)
To visualize an example network, with Shiny:
library(splitstackshape)
library(visNetwork)
library(shiny)
Network <- Example_network(ListofTraits, ParametersTable, Variant = "1:5341323:G:A")
If you want to use PRISM on your own data, you can use this vignette: [https://github.com/martintnr/PRISM/blob/main/vignettes/PRISM_vignette.md]