Skip to content

Statistical genetic tool to infer common variants pleiotropy, using GWAS summary statistics

Notifications You must be signed in to change notification settings

martintnr/PRISM

Repository files navigation

PRISM: Pleiotropic Relationships to Infer the SNP Model

Principle of PRISM

PRISM 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.

Results visualization

You can see PRISM results and the causal network of any variant on our Shiny visualization tool.

Installation

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") }

Example

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]

About

Statistical genetic tool to infer common variants pleiotropy, using GWAS summary statistics

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages