Skip to content

An R package for creating mirrored Manhattan plots

Notifications You must be signed in to change notification settings

manu148/hudson

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hudson

An R package for creating mirrored Manhattan plots

Overview

hudson is an R package for creating mirrored Manhattan plots with a shared x-axis, similar to Figure 4 from Verma et al. shown here for position by position comparison of results. The package includes functions to visualize data from genome-wide, phenome-wide, and environment-wide association analyses (GWAS, PheWAS, EWAS, respectively) directly, though they may adaptable for other types of data such as beta or SNP intensity value, or other types of analyses. You can simply specify a dataset for the top and bottom tracks to generate a basic plot, or provide meta information to annotate a more complex plot.

Installation

As of now, there is only a development version of the package which can be installed using devtools.

devtools::install_github('anastasia-lucas/hudson')

This package uses ggplot2 and gridExtra. ggrepel is suggested for improved text annotation, but not required. The default color palette contains 15 colors; if additional colors are required, RColorBrewer can be used to create an expanded palette.

Usage

Create a mirrored Manhattan plot using GWAS data

#Create a basic plot with Bonferroni lines and highlighting using the toy gwas datasets
library(hudson)
data(gwas.t)
data(gwas.b)
gmirror(top=gwas.t, bottom=gwas.b, tline=0.05/nrow(gwas.t), bline=0.05/nrow(gwas.b), 
toptitle="GWAS Comparison Example: Data 1", bottomtitle = "GWAS Comparison Example: Data 2", 
highlight_p = 0.05/nrow(gwas.t), highlighter="green")

Imgur

Create a mirrored Manhattan plot using PheWAS data

#Create a pbasic PheWAS plot
#Notice that chrblocks=TRUE by default here
library(hudson)
data(phewas.t)
data(phewas.b)
phemirror(top=phewas.t, bottom = phewas.b, toptitle = "PheWAS Example: Data 1", 
bottomtitle = "PheWAS Example: Data 2")

Imgur

Create a mirrored Manhattan plot using EWAS data

#Generate a plot and highlight by p-value threshold
library(hudson)
data(ewas.t)
data(ewas.b)
emirror(top=ewas.t, bottom=ewas.b, annotate_p = 0.0001, highlight_p=0.0001, highlighter="green", 
toptitle = "EWAS Comparison Example: Data 1", bottomtitle = "EWAS Comparison Example: Data 2")

Imgur

Note that for EWAS plots in particular, although you can rotate the axis labels by changing the rotatelabel and labelangle parameters, you'll probaby want to keep your "Group" names pretty short if some of your categories don't have a lot of variables in them.

Create a plot with multiple Manhattan plot using PheWAS data

#Generate a plot and highlight by p-value threshold
library(hudson)
data(phewas.t)
data(phewas.b)
phewas.t = phewas.t[phewas.t$PHE != "Pheno1",]
phemulti(list(phewas.t, phewas.b), 
plot_titles = c("PheWAS Example: Data 1", "PheWAS Example: Data 2"))

Imgur

About

An R package for creating mirrored Manhattan plots

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • R 100.0%