manhattan()
displays association results for the entire genome on a Manhattan plot.
Required parameter is at least one dataset (dataframe) containing the association data (with columns CHROM,POS,P
in upper or lowercase)
All other input parameters are optional
Usage
manhattan(
df,
ntop = 4,
title = "",
annotate = NULL,
color = NULL,
sign_thresh = 5e-08,
sign_thresh_color = "red",
sign_thresh_label_size = 3.5,
label_size = 3.5,
size = 0.8,
shape = 19,
alpha = 1,
highlight_genes_color = "darkred",
highlight_genes_ypos = 1.5,
axis_text_size = 12,
axis_title_size = 14,
title_text_size = 15,
legend_title_size = 13,
legend_text_size = 12,
protein_coding_only = TRUE,
angle = 0,
legend_labels = NULL,
chr = NULL,
annotate_with = "Gene_Symbol",
region_size = 2e+07,
legend_name = NULL,
legend_position = "bottom",
nudge_x = 0.1,
nudge_y = 0.7,
xmin = NULL,
xmax = NULL,
ymin = NULL,
ymax = NULL,
highlight_genes = NULL,
label_color = NULL,
legend_nrow = NULL,
gene_label_size = NULL,
gene_label_angle = 0,
scale = 1,
show_legend = TRUE,
sign_thresh_linetype = "dashed",
sign_thresh_size = 0.5,
rsids = NULL,
rsids_color = NULL,
rsids_with_vline = NULL,
annotate_with_vline = NULL,
shades_color = NULL,
shades_alpha = 0.5,
segment.size = 0.2,
segment.color = "black",
segment.linetype = "dashed",
max.overlaps = 10,
label_fontface = "plain",
label_family = "",
gene_label_fontface = "plain",
gene_label_family = "",
build = 38,
verbose = NULL,
label_alpha = 1,
shades_line_alpha = 1,
vline = NULL,
vline_color = "grey",
vline_linetype = "dashed",
vline_alpha = 1,
vline_size = 0.5,
region = NULL,
theme_grey = FALSE,
xaxis_label = "Chromosome",
use_shades = FALSE,
even_no_chr_lightness = 0.8,
get_chr_lengths_from_data = TRUE,
log_trans_p = TRUE,
chr_ticknames = NULL,
show_all_chrticks = FALSE,
hide_chrticks_from_pos = 17,
hide_chrticks_to_pos = NULL,
hide_every_nth_chrtick = 2,
downsample_cutoff = 0.05,
downsample_prop = 0.1
)
Arguments
- df
Dataframe or a list of dataframes (required columns are
CHROM,POS,P
), in upper- or lowercase) of association results.- ntop
An integer, number of datasets (GWAS results) to show on the top plot
- title
A string to set the plot title
- annotate
A number (p-value). Display annotation for variants with p-values below this threshold
- color
A string or a vector of strings, for setting the color of the datapoints on the plot
- sign_thresh
A number or vector of numbers, setting the horizontal significance threshold (default:
sign_thresh=5e-8
). Set to NULL to hide the significance threshold.- sign_thresh_color
A string or vector of strings to set the color/s of the significance threshold/s
- sign_thresh_label_size
A number setting the text size of the label for the significance thresholds (default text size is 3.5)
- label_size
An number to set the size of the plot labels (default:
label_size=3
)- size
A number or a vector of numbers, setting the size of the plot points (default:
size=1.2
)- shape
A number of a vector of numbers setting the shape of the plotted points
- alpha
A number or a vector of numbers setting the transparency of the plotted points
- highlight_genes_color
A string, color for the highlighted genes (default: darkred)
- highlight_genes_ypos
An integer, controlling where on the y-axis the highlighted genes are placed (default value is 1)
- axis_text_size
A number, size of the x and y axes tick labels (default: 12)
- axis_title_size
A number, size of the x and y title labels (default: 12)
- title_text_size
A number, size of the plot title (default: 13)
- legend_title_size
A number, size of the legend title
- legend_text_size
A number, size of the legend text
- protein_coding_only
A logical scalar, if TRUE, only protein coding genes are used for annotation
- angle
A number, the angle of the text label
- legend_labels
A string or vector of strings representing legend labels for the input datasets
- chr
A string or integer, the chromosome to plot (i.e. chr15), only required if the input dataframe contains results from more than one chromosome
- annotate_with
A string. Annotate the variants with either Gene_Symbol or ID (default: "Gene_Symbol")
- region_size
An integer (default = 20000000) (or a string represented as 200kb or 2MB) indicating the window size for variant labeling. Increase this number for sparser annotation and decrease for denser annotation.
- legend_name
A string, use to change the name of the legend (default: None)
- legend_position
A string, top,bottom,left or right
- nudge_x
A number to vertically adjust the starting position of each gene label (this is a ggrepel parameter)
- nudge_y
A number to horizontally adjust the starting position of each gene label (this is a ggrepel parameter)
- xmin, xmax
Integer, setting the chromosomal range to display on the x-axis
- ymin, ymax
Integer, min and max of the y-axis, (default values:
ymin=0, ymax=max(-log10(df$P))
)- highlight_genes
A string or vector of strings, gene or genes to highlight at the bottom of the plot
- label_color
A string or a vector of strings. To change the color of the gene or variant labels
- legend_nrow
An integer, sets the number of rows allowed for the legend labels
- gene_label_size
A number setting the size of the gene labels shown at the bottom of the plot
- gene_label_angle
A number setting the angle of the gene label shown at the bottom of the plot (default: 0)
- scale
A number, to change the size of the title and axes labels and ticks at the same time (default : 1)
- show_legend
A logical scalar, set to FALSE to hide the legend (default : TRUE)
- sign_thresh_linetype
A string, the line-type of the horizontal significance threshold (default : dashed)
- sign_thresh_size
A number, sets the size of the horizontal significance threshold line (default : 1)
- rsids
A string (rsid) or vector of strings to highlight on the plot, e.g.
rsids=c("rs1234, rs45898")
- rsids_color
A string, the color of the variants in variants_id (default color is red)
- rsids_with_vline
A string (rsid) or vector of strings to highlight on the plot with their rsids and vertical lines further highlighting their positions
- annotate_with_vline
A number (p-value). Display annotation and vertical lines for variants with p-values below this threshold
- shades_color
The color of the rectangles (shades) representing the different chromosomes on the Manhattan plot
- shades_alpha
The transparency (alpha) of the rectangles (shades)
- segment.size
line segment color (ggrepel argument)
- segment.color
line segment thickness (ggrepel argument)
- segment.linetype
line segment solid, dashed, etc.(ggrepel argument)
- max.overlaps
Exclude text labels that overlap too many things. Defaults to 10 (ggrepel argument)
- label_fontface
A string or a vector of strings. Label font “plain”, “bold”, “italic”, “bold.italic” (ggrepel argument)
- label_family
A string or a vector of strings. Label font name (default ggrepel argument is "")
- gene_label_fontface
Gene label font “plain”, “bold”, “italic”, “bold.italic” (ggrepel argument)
- gene_label_family
Gene label font name (default ggrepel argument is "")
- build
A number representing the genome build or a data frame. Set to 37 to change to build (GRCh37). The default is build 38 (GRCh38).
- verbose
A logical scalar (default: NULL). Set to FALSE to suppress printed messages
- label_alpha
An number or vector of numbers to set the transparency of the plot labels (default:
label_alpha=1
)- shades_line_alpha
The transparency (alpha) of the lines around the rectangles (shades)
- vline
A number or vector of numbers to add a vertical line to the plot at a specific chromosomal position, e.g
vline="chr1:204000066"
. Multiple values can be provided in a vector, e.gvline=c("chr1:204000066","chr5:100500188")
- vline_color
A string. The color of added vertical line/s (default: grey)
- vline_linetype
A string. The linetype of added vertical line/s (default : dashed)
- vline_alpha
A number. The alpha of added vertical line/s (default : 1)
- vline_size
A number.The size of added vertical line/s (default : 0.5)
- region
A string representing a genetic region, e.g. chr1:67038906-67359979
- theme_grey
A logical scalar (default: FALSE). Use gray rectangles (instead of white to distinguish between chromosomes)
- xaxis_label
A string. The label for the x-axis (default: Chromosome)
- use_shades
A logical scalar (default: FALSE). Use shades/rectangles to distinguish between chromosomes
- even_no_chr_lightness
Lightness value for even numbered chromosomes. A number or vector of numbers between 0 and 1 (default: 0.8). If set to 0.5, the same color as shown for odd numbered chromosomes is displayed. A value below 0.5 will result in a darker color displayed for even numbered chromosomes, whereas a value above 0.5 results in a lighter color.
- get_chr_lengths_from_data
A logical scalar (default: TRUE). If set to FALSE, use the inbuilt chromosome lengths (from hg38), instead of chromosome lengths based on the max position for each chromosome in the input dataset/s.
- log_trans_p
A logical scalar (default: TRUE). By default the p-values in the input datasets are log transformed using -log10. Set this argument to FALSE if the p-values in the datasets have already been log transformed.
- chr_ticknames
A vector containing the chromosome names displayed on the x-axis. If NULL, the following format is used: chr_ticknames <- c(1:16, ”,18, ”,20, ”,22, 'X')
- show_all_chrticks
A logical scalar (default : FALSE). Set to TRUE to show all the chromosome names on the ticks on the x-axis
- hide_chrticks_from_pos
A number (default: 17). Hide every nth chromosome name on the x-axis FROM this position (chromosome number)
- hide_chrticks_to_pos
A number (default: NULL). Hide every nth chromosome name on the x-axis TO this position (chromosome number). When NULL this variable will be set to the number of numeric chromosomes in the input dataset.
- hide_every_nth_chrtick
A number (default: 2). Hide every nth chromosome tick on the x-axis (from the hide_chr_ticks_from_pos to the hide_chr_ticks_to_pos).
- downsample_cutoff
A number (default: 0.05) used to downsample the input dataset prior to plotting. Sets the fraction of high p-value (default: P>0.05) markers to display on the plot.
- downsample_prop
A number (default: 0.1) used to downsample the input dataset prior to plotting. Only a proportion of the variants (10% by default) with P-values higher than the downsample_cutoff will be displayed on the plot.