FUMA is an online tool that can be used to interpret the results of a GWAS. The primary aim of FUMA is to use biological and functional information to identify and prioritise relevant SNPs and genes. The original paper describing its SNP2GENE and GENE2FUNC tools was published in 2017. Since then, there have been several expansions to the FUMA website, with single-cell enrichment analysis added in 2019 and a new method for gene prioritisation (FLAMES) added in 2025.
FUMA offers several modules:
Module
Purpose
Inputs
SNP2GENE
Identifies independent SNP associations within significant loci
Maps your GWAS SNPs to genes using position, QTLs (optional) and chromatin mapping (optional)
Uses MAGMA (gene-based test) for gene-set enrichment (only MSigDB curated genesets and GO terms) and tissue enrichment
Provides a browser to search and visualise significant loci and annotations
GWAS summstats
GENE2FUNC
Performs analyses using only prioritised genes
Performs tissue enrichment using sets of differentially-expressed genes (different method to MAGMA)
Performs gene-set enrichment in various databases
Direct input from SNP2GENE job (easiest)
OR
List of genes
Cell Type
Identifies enrichment in individual cell types
Direct input from SNP2GENE job (easiest)
OR
MAGMA gene analysis output file
FLAMES
Uses a machine-learning classifier to identify the most likely effector genes for each locus
Direct input from SNP2GENE job (easiest)
Check ‘keep input files for FLAMES’ when submitting SNP2GENE job
Global Lipids Genetics Consortium. Discovery and refinement of loci associated with lipid levels. Nat Genet 45, 1274–1283 (2013). https://doi.org/10.1038/ng.2797
Abstract:
Levels of low-density lipoprotein (LDL) cholesterol, high-density lipoprotein (HDL) cholesterol, triglycerides and total cholesterol are heritable, modifiable risk factors for coronary artery disease. To identify new loci and refine known loci influencing these lipids, we examined 188,577 individuals using genome-wide and custom genotyping arrays. We identify and annotate 157 loci associated with lipid levels at P < 5 × 10−8, including 62 loci not previously associated with lipid levels in humans. Using dense genotyping in individuals of European, East Asian, South Asian and African ancestry, we narrow association signals in 12 loci. We find that loci associated with blood lipid levels are often associated with cardiovascular and metabolic traits, including coronary artery disease, type 2 diabetes, blood pressure, waist-hip ratio and body mass index. Our results demonstrate the value of using genetic data from individuals of diverse ancestry and provide insights into the biological mechanisms regulating blood lipids to guide future genetic, biological and therapeutic research.
The number of individuals analyzed for this marker.
P-value
P-value after doing genomic control.
Freq.A1.1000G.EUR
Frequency of allele A1 from 1000G EUR sample.
NoteHow we formatted these summstats for SNP2GENE
Before running any jobs, you first need to format your summstats. Each module requires different inputs and format, however GENE2FUNC, single-cell enrichment and FLAMES can all use the output of SNP2GENE, so you only need to format your summstats for SNP2GENE.
After formatting, this is how our summstats looked:
head-n5 jointGwasMc_LDL.FUMA.txt
chr pos rsid effect_allele non_effect_allele beta se N pvalue
1 100000012 rs10875231 g t 0.0021 0.0059 89888.00 0.973
1 100000827 rs6678176 c t 0.0038 0.0056 89881.00 0.665
1 100005477 rs12069019 g a 0.0018 0.0073 89888.00 0.8137
1 100006117 rs6686057 a g 0.0034 0.0056 89888.00 0.6995
Code
#!/bin/bash# Format the GWAS summstats# View the first few lines of filegzcat jointGwasMc_LDL.txt.gz |head# Current header: SNP_hg18 SNP_hg19 rsid A1 A2 beta se N P-value Freq.A1.1000G.EUR# Format to match: chr, pos, rsid, effect_allele (A1), non_effect_allele (A2), beta, se, N, pvalue# Need to split the SNP_hg19 to get the chr and pos# Make it tab-delimited# Output the headingprintf\"chr\tpos\trsid\teffect_allele\tnon_effect_allele\tbeta\tse\tN\tpvalue\n"\> jointGwasMc_LDL.FUMA.txt# Format the summstats# 1st awk: Only keeps the columns that we want# 2nd awk: Removes head line Separates the chr and pos into separate columns# sed: Removes the "chr" so it's just a number# Sort numerically by position# Then append to the file containing the headergzcat jointGwasMc_LDL.txt.gz |\awk-F"\t"-v OFS="\t"'{print $2,$3,$4,$5,$6,$7,$8,$9}'|\awk-F":"-v OFS="\t"'NR>1{print $1,$2}'|\sed's/chr//'|\sort-n\>>jointGwasMc_LDL.FUMA.txt# View the first few lines of filehead jointGwasMc_LDL.FUMA.txt# NOTE: Formatting was performed using bash on a macOS.# If you are not using a mac, then you will want to use zcat instead of gzcat
If the link above doesn’t work, go to the FUMA website and select the public results titled ‘LDL-Cholesterol_GLGC_2013’ (ID:749780).
SNP2GENE
SNP2GENE has 3 different results sections, which we will go through section by section.
Let’s start with the ‘Genome-wide plots’ section.
‘Genome-wide plots’ section
This section includes manhattan plots, QQ-plots and results of MAGMA analyses. This will give us an overview of the GWAS quality, along with potential tissues and GO-terms of relevance.
TipGenome-wide plot questions
Question 1:
Examine the QQ plots first, as they can indicate issues with the study.
Do they look acceptable to you?
Do you think this study was well powered? (Hint: the sample size is in the paper’s abstract)
Question 2:
In the MAGMA gene-based Manhattan plot, what is the most significantly associated gene?
Question 3:
From the MAGMA gene-set analysis, what processes are enriched in the GWAS-associated regions?
Question 4:
Based on MAGMA gene property analysis, are the significant GWAS loci significantly enriched in any tissues?
Is that expected a priori?
‘Summary of results’ section
This section provides an overview of the GWAS loci. It contains a summary of SNPs and mapped genes, and summary plots of each genomic risk locus and positional annotations of SNPs.
NoteDefinitions of terms in summary of results table
Name
Meaning
Genomic risk loci
Defined by merging LD blocks that contain independent significant SNPs if they are less than a user-specified distance apart. We used the default setting of <250kb. A genomic risk locus can contain multiple lead SNPs and/or independent significant SNPs.
lead SNPs
Defined as genome-wide significant SNPs that are independent of each other at a LD threshold (R2) of 0.1
Independent significant SNP
Genome-wide significant SNPs that are independent of each other at a specified LD threshold. We used the default threshold of R2=0.6, which is much higher than that used for lead SNPs.
Candidate SNPs
SNPs that are in LD with an independent significant SNP. These can include SNPs that were not in the GWAS summstats but are in the reference panels used. We used the default reference panel, which is 1KG EUR.
Candidate GWAS tagged SNPs
Candidate SNPs which ARE in the GWAS summstats
Mapped Genes
FUMA maps independent significant SNPs to genes using 3 different methods: 1. positional mapping. This maps SNPs to genes based on proximity or functional consequences, as annotated in ANNOVAR. 2. xQTL mapping. This maps SNPs to genes based on QTL annotations. Currently, eQTLs and sQTLs are available, along with some limited pQTLs. As QTLs are highly tissue-specific, you must specify the tissues you want xQTL mapping to be performed for. We did not make assumptions about tissue specificity for this analysis, so selected all GTEX tissues and the UKB pQTLs. 3. Chromatin interaction mapping. This maps SNPs to genes based on known chromatin interactions between loci. Specific tissues can be selected, however, we did not make assumptions about tissue specificity and so chose all the built-in datasets.
TipSummary of Results Questions
Question 5
How many genomic risk loci were identified?
How many independent significant SNPs were identified?
Question 6
How many genes were mapped to GWAS-associated SNPs?
Question 7
Look at the ‘Functional consequences of SNPs on genes’ plot. What proportion of the candidate SNPs are intronic?
Which genomic region (e.g. intronic, intergenic, 3’UTR etc) is significantly underrepresented amongst candidate GWAS SNPs?
‘Results’ section
This section contains various table browsers showing SNP and annotation-level results for genomic risk loci, independent SNPs, Mapped genes, xQTLs, etc.
TipResults table questions
Question 8
Which genomic risk locus contains the most significantly associated SNP?
How many independent significant SNPs are in that locus?
What is the lead SNP of that locus and how significant is it? (give rsID and p-value)
Question 9
Look at the ‘SNPS (annotations)’ tab.
What is the nearest gene for the above SNP?
What position is the SNP in relative to that gene?
What is the CADD score for this gene? What does this mean? (It’s not interpreted for you in FUMA so have a cheeky google)
Question 10
Use the UniqID to search the SNP in the ‘xQTLs’ table.
IF THE xQTLs TABLE DOES NOT LOAD: we’ve included a copy for the SNP of interest below.
How many xQTLs are identified for this SNP?
How many are eQTLs and how many are pQTLs?
Are they mostly trans or cis QTLs?
Do the tissues seem relevant for this trait?
CautionxQTLs table for top SNP
NoteCaveat about trans QTLs
Trans QTLs are further away from the gene they effect, therefore they act through a network effect and have smaller, indirect effects on the gene’s expression 1,2. Due to this and the low sample size of most QTL studies, most trans QTLs have not yet been reliably replicated.
SNP2GENE has now used positional, xQTL and chromatin mapping to map our GWAS SNPs to genes. These genes can now be sent to GENE2FUNC for further follow-up.
GENE2FUNC
GENE2FUNC takes a list of genes as input and performs various gene-set enrichment analyses.
When it’s performed on the output of a SNP2GENE job, the genes it uses are those identified through positional, xQTL and chromatin mapping, depending on the parameters set by the user.
Let’s look first at the tissue-specificity results.
‘Tissue specificity’ section
NoteTissue enrichment in GENE2FUNC is calculated differently to the MAGMA tissue-specificity from SNP2GENE
SNP2GENE uses MAGMA gene-property analysis for tissue specificity.
First, it takes all the SNPs, maps them to genes by position, then uses that to calculate how associated each gene is with the GWAS trait
Then it performs a linear regression using the per-gene trait-association p-value and a per-gene tissue-specificity metric
This tissue-specificity metric can be described as the expression of gene A in tissue A divided by the average expression of gene A across all tissues - genes do not have to be significantly differentially expressed in a tissue to be included.
GENE2FUNC uses gene-set enrichment analysis, in which it tests for enrichment of your set of genes in per-tissue sets of differentially-expressed genes (DEGs). Differentially-expressed genes are genes that have been found to be significantly up or down-regulated in tissue 1 compared to all other tissues.
While both analyses are looking at tissue specificity, they do so using two different methods. If both of these methods provide similar results, then you can be more confident that the observed tissue enrichment is valid.
TipTissue specificity questions
Question 11
What tissue/s are significantly enriched? Are they enriched for up or down-regulated DEGs in this tissue?
Is this consistent with the SNP2GENE MAGMA tissue results?
What can the direction of differential expression tell you about this trait?
‘Gene sets’ section
Navigate to the ‘Gene sets’ tab. In this section, gene set enrichment analyses have been performed for gene sets from multiple different databases and sources.
Note that this GWAS was well-powered and had a lot of significant hits, which has led to many significant enrichments in this section. In a sense, this gives us ‘too much’ to potentially look at, so we will only be highlighting a few. Depending on your phenotype or study, it is very common to only have a few significant GWAS hits and, therefore, to have very few significant enrichments in this section.
TipGENE2FUNC Gene sets questions
Question 12
Look under the ‘GO’ term sections. What cellular components are LDL-C related genes significantly enriched in? Does this make sense?
Question 13
In the ‘WikiPathways’ section, are there any pathways related to medication that are enriched?
Question 14
Under the ‘GWAS catalog reported genes’ section, which non-cardiovascular and non-lipid GWAS data also show an enrichment of LDL-C-associated loci and which genes overlap with both traits?
Cell Type
From SNP2GENE and GENE2FUNC, we identified Liver as the tissue of most interest for LDL-cholesterol. But is the whole liver equally relevant or are there specific cell-types within the liver that are more important?
FUMA’s Cell Type module takes the output of SNP2GENE (specifically, it takes the MAGMA gene analysis output) and uses it to calculate cell-type specificity. It does this using the same method as for SNP2GENE’s tissue specificity, however this time it uses cell-type level data as the reference.
As a reference dataset, we selected ‘569_Xu_Human_2023_Liver_Liver_level1’ to look only at cell-types within the liver.
Unfortunately, results from the Cell Type module cannot be made publicly available on the FUMA website, so we are including the displayed plots here.
Cell Type output
NoteCell Type Results explanation
Cell Type has 3 different results steps.
It identifies significant cell-types within each reference dataset, then does multiple-testing correction across all reference datasets.
Cell types within a tissue can have high correlations with each other. Step 2 performs a within-dataset conditional analysis for each reference dataset, to identify whether the significant cell-types are independently significant or are just transcriptionally correlated with a significant cell-type.
If there are multiple reference datasets, several of which have significant cell-types, then an across-dataset conditional analysis is performed. This is not a test of cell-type similarity, but rather identifies cell-types with different genetic signals driving the association (i.e. if two cell-types from two different datasets were to lose significance when conditioned on each other, it would suggest that the association of those cell types with the trait were driven by similar genetic signals - this does not measure the similarity of the two cell types)
Only step 1 and step 2 were performed for our analysis, as we only used one reference dataset thus could not do step 3.
TipCell Type enrichment questions
Question 15
What cell types are significant?
Question 16
Are they independently significant? How do you know this?
If they are not independently significant, which cell type has the strongest signal?
Question 17
If there was a significant cell type in step 2, why are there no results for step 3?
FLAMES
FUMA’s FLAMES module is based on a simple assumption:
For each true GWAS association between SNP and phenotype that is not due to population stratification or another form of confounding, there is a single gene that most strongly mediates the effect of the SNP on the phenotype.
We call the gene that mediates the effect of the SNP on the phenotype the effector gene of said SNP.
Therefore, each credible set in a locus should have an effector gene. The FLAMES score of a gene denotes the combined evidence of functional convergence with other GWAS-implicated genes and the evidence from biological studies that link genes to fine-mapped SNPs in the locus of interest.
The input of FLAMES is a SNP2GENE job. Alternatively, you can modify your summstats to be appropriate as input, however the requirements are strict.
The output of FLAMES is a single table with a single gene for each locus where an effector gene could be identified. For some loci, no effector gene may be identified.
As with the Cell Type module, this output could not be made available to you on the FUMA website, so we have instead embedded it here for you to browse.
“FLAMES outputs are calibrated on an ExWAS-implicated benchmarking set as highlighted in the FLAMES paper. Cumulative precision thresholds represent the average precision with which we prioritize genes in our calibration set at that threshold. The outputted scores in the .preds files are ranked.
An estimated cumulative precision of 0.8 would indicate that prioritizing genes at or above the threshold of that locus, the set on average would be 80% precise.”
TipFLAMES questions
Question 18
How many loci had a gene identified for them? How many did not?
Question 19
Going back to the top locus identified in SNP2GENE (question 8) - what gene was identified for that locus?
So our top locus from the GWAS did not have any genes identified.
However, remember the top SNP? Which had a lot of trans pQTLs? I.e. QTLs for which the gene is not close to the SNP?
TipLast Question
Question 20
Is the top GWAS SNP an xQTL for any of the effector genes identified by FLAMES?
Which genes?
Do they have a known link to LDL-cholesterol?
Congrats! You’ve reached the end of the practical. If you have your own GWAS summary statistics available, have a go at running FUMA yourself.