Skip to main content

Fine-map transcriptome-wide association studies

Project description


FOCUS (Fine-mapping Of CaUsal gene Sets) is software to fine-map transcriptome-wide association study statistics at genomic risk regions. The software takes as input summary GWAS data along with eQTL weights and outputs a credible set of genes to explain observed genomic risk.

MA-FOCUS (Multi-Ancestry Fine-mapping Of CaUsal gene Sets) is an extension of FOCUS that leverages summary GWAS data with eQTL weights from multiple ancestries to increase the precision of credible sets for causal genes.

FOCUS are described in:

Probabilistic fine-mapping of transcriptome-wide association studies. Nicholas Mancuso, Malika K. Freund, Ruth Johnson, Huwenbo Shi, Gleb Kichaev, Alexander Gusev, and Bogdan Pasaniuc. Nature Genetics 51, 675-682 (2019).

MA-FOCUS are described in:

Multi-ancestry fine-mapping improves precision to identify causal genes in transcriptome-wide association studies. Zeyun Lu*, Shyamalika Gopalan*, Dong Yuan, David V. Conti, Bogdan Pasaniuc, Alexander Gusev, Nicholas Mancuso.

* indicates equal contribution


The easiest way to install is with pip:

pip install pyfocus --user

Check that FOCUS was installed by typing

focus --help

If that did not work, and pip install pyfocus --user was specified, please check that your local user path is included in $PATH environment variable. --user location and can be appended to $PATH by executing

export PATH=`python -m site --user-base`/bin/:$PATH

which can be saved in ~/.bashrc or ~/.bash_profile. To reload the environment type source ~/.bashrc or ~/source .bash_profile depending where you entered it.

Alternatively you can download the latest repo and then use setuptools:

git clone
cd focus
python install

We currently only support Python3.6+.


Here is an example of how to perform LDL fine-mapping while prioritizing predictive models from adipose tissues:

focus finemap LDL_2010.clean.sumstats.gz 1000G.EUR.QC.1 gtex_v7.db --chr 1 --tissue adipose --locations 37:EUR --out LDL_2010.chr1

This command will scan LDL_2010.clean.sumstats.gz for risk regions 37:EUR generated by LDetect on GRCh37 for European ancestry and then perform TWAS+fine-mapping using LD estimated from plink-formatted 1000G.EUR.QC.1 and eQTL weights from gtex_v7.db GRCh37.

Here is an example of how to perform multi-ancestry fine-mapping from European and African ancestry (just use : to concatenate):

focus finemap LDL.EUR.sumstats.gz:LDL.AFR.sumstats.gz 1000G.EUR.QC.1:1000G.AFR.QC.1 genoa_EUR.db:genoa_AFR.db --chr 1 --tissue LCL --locations 37:EUR-AFR --out LDL_mafocus_chr1

This command will scan GWAS summary data LDL.EUR.sumstats.gz and LDL.AFR.sumstats.gz for risk regions 37:EUR-AFR generated by modified LDetect on GRCh37 for European and African ancestry and then perform TWAS+fine-mapping using LD estimated from plink-formatted 1000G.EUR.QC.1 and 1000G.AFR.QC.1 and eQTL weights from genoa_EUR.db and genoa_AFR.db.

Note: --locations is a new required parameter compared to versions prior to v0.8. This parameter specifies the genomic regions to be fine-mapped. We recommend to use independent regions for single ancestry or multiple ancestries. Please see the wiki for more instructions.

Please see the wiki for more details on how to use focus, ma-focus and links to database files.


Version 0.802: Fix the bug that .gitignore includes *.tsv so that gencode files couldn't be pushed to github.

Version 0.801: Added gencode_map_v38 and multiple LD block files in GRCh38. Fixed prior_prob bugs.

Version 0.8: Added MA-FOCUS support. Added GWAS imputation using imp-G. Added additional choice for prior probability for causal genes (number of genes in the risk regions).

Version 0.6.10: Fixed bug where weight database allele mismatch with GWAS broke inference.

Version 0.6.5: Fixed bug in newer versions of matplotlib not accepting string for colormaps. Fixed legend bug in plot. Fixed bug that mismatched string and category when supplying custom locations.

Version 0.6: Fixed bug where only one of the two alleles was reversed complemented breaking alignment. For now these instances are dropped. Added option --use-ens-id for FUSION import to indicate the main model label is an Ensembl ID rather than HGNC symbol.

Version 0.5: Plotting sorts genes based on tx start. Various bug fixes that limited the number of queried SNPs and plotting when using newer matplotlib.

Version 0.4: Added FUSION import support.

Version 0.3: Initial release. More to come soon.

Software and support

If you have any questions or comments please contact and

For performing various inferences using summary data from large-scale GWASs please find the following useful software:

  1. Association between predicted expression and complex trait/disease FUSION and PrediXcan
  2. Estimating local heritability or genetic correlation HESS
  3. Estimating genome-wide heritability or genetic correlation UNITY
  4. Fine-mapping using summary-data PAINTOR
  5. Imputing summary statistics using LD FIZI
  6. TWAS simulator (

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyfocus-0.802.tar.gz (2.4 MB view hashes)

Uploaded source

Built Distributions

pyfocus-0.802-py3.7.egg (3.4 MB view hashes)

Uploaded 0 802

pyfocus-0.802-py3-none-any.whl (2.4 MB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page