FlashfmZero is a computationally efficient approach to simultaneously fine-map signals in any number of uncorrelated quantitative traits (i.e. zero correlation), as may result from latent traits estimated from factor analysis using a varimax rotation.
For correlated traits, the original flashfm multi-trait fine-mapping method should be used and cited, which is available in this package for convenience.
Flashfm and flashfmZero output trait-specific results,leveraging information between traits; for each trait, credible sets, SNP marginal posterior probabilities of causality (MPP), and multi-SNP model posterior probabilities (PP) are output.
For more details, please see:
F Zhou, WJ Astle, AS Butterworth, JL Asimit. (2024). Improved genetic discovery and fine-mapping resolution through multivariate latent factor analysis of high-dimensional traits. bioRxiv
Website available at: https://jennasimit.github.io/flashfmZero/
We have applied these methods to GWAS results from 99 raw blood cell traits and their 25 latent factors in the INTERVAL cohort. Our analysis scripts are available here:
https://github.com/fz-cambridge/flashfmZero-INTERVAL-analysis
flashfmZero could be installed with ease on versions of R > 4.2.1 and is compatible with all platforms.
Installation time is estimated as 2 minutes.
Specific requirements for Windows and Mac platforms follow.
Windows
Must install Rtools.
Mac
Must have the following installed (details at R for MacOS):
-
Xcode: free on the Apple App Store
-
Fortran compiler. R 4.3.0 and higher use universal GNU Fortran 12.2 compiler and an installer package is available here: gfortran-12.2-universal.pkg (242MB)
# install.packages("devtools")
devtools::install_github("jennasimit/flashfmZero")
The following packages from CRAN and Bioconductor are required:
install.packages("parallel")
install.packages("Matrix")
install.packages("gtools")
install.packages("rlist")
NB: Must have a Java JDK installed in order to run R2BGLiMS (R2BGLiMS is pre-installed in the flashfmZero package, so no need to install it separately). This is only needed if you need to run single-trait fine-mapping using JAM. If single-trait fine-mapping results are available, then it is not necessary to have Java JDK installed.
remotes::install_github("jennasimit/flashfmZero")
library(flashfmZero)