Skip to main content

Documentation-webpage Github License

SuShiE🍣

SuShiE (Sum of Shared Single Effect) is a Python package for multiancestry SNP fine-mapping, estimating effect size correlations across ancestries, and computing ancestry-specific prediction weights using either individual-level or summary-level data for molecular or complex traits.

- We detest usage of our software or scientific outcome to promote racial discrimination.

SuShiE is described in

Improved multiancestry fine-mapping identifies cis-regulatory variants underlying molecular traits and disease risk.

Zeyun Lu, Xinran Wang, Matthew Carr, Artem Kim, Steven Gazal, Pejman Mohammadi, Lang Wu, James Pirruccello, Linda Kachuri, Alexander Gusev, Nicholas Mancuso.

Nature Genetics. July, 2025.

Check here for full documentation.

Installation | Example | Notes | Version History | Support | Other Software

Installation

Install the released package from PyPI:

pip install sushie
# or using uv
uv pip install sushie

To install from a source checkout:

git clone https://github.com/mancusolab/sushie.git
cd sushie
pip install .

or with uv:

uv sync

Get Started with Example

SuShiE software is very easy to use:

For fine-mapping using individual-level data:

cd ./data/
sushie finemap --pheno EUR.pheno AFR.pheno --vcf vcf/EUR.vcf vcf/AFR.vcf --covar EUR.covar AFR.covar --output ./test_result

For fine-mapping using summary-level data:

cd ./data/
sushie finemap --summary --gwas EUR.gwas AFR.gwas --vcf vcf/EUR.vcf vcf/AFR.vcf --sample-size 489 639 --gwas-header chrom snp pos a1 a0 z --output ./test_result

It can perform:

  • SuShiE: multi-ancestry fine-mapping accounting for ancestral correlation
  • Single-ancestry SuSiE (Sum of Single Effect)
  • Independent SuShiE: multi-ancestry SuShiE without accounting for correlation
  • Meta-SuSiE: single-ancestry SuSiE followed by meta-analysis
  • Mega-SuSiE: single-ancestry SuSiE on row-wise stacked data across ancestries (individual-level data only)
  • cis-molQTL effect size correlation estimation
  • cis-SNP heritability estimation (individual-level data only)
  • Cross-validation for SuShiE prediction weights (individual-level data only)
  • Convert prediction results to FUSION format, thus can be used in TWAS

See here for more details on how to use SuShiE.

If you want to use in-software SuShiE inference function, you can use following Python code as an example:

from sushie.infer import infer_sushie
# Xs is for genotype data, and it should be a list of numpy array whose length is the number of ancestry.
# ys is for phenotype data, and it should also be a list of numpy array whose length is the number of ancestry.
infer_sushie(Xs=X, ys=y)
# Or summary-level data
# lds is for LD data, and it should be a list of p by p numpy array whose length is the number of ancestry.
# zs is for GWAS data, and it should be a list of numpy array whose length is the number of ancestry/
infer_sushie_ss(lds=LD, zs=GWAS, ns=np.array([100, 100]))

You can customize this function with your own ideas!

Troubleshooting

Installation Issues

Import errors with JAX:

# Ensure you have compatible versions
pip install --upgrade jax jaxlib

Runtime Issues

Out of memory errors:

  • Reduce the number of SNPs by shortening your analysis region
  • Use --max-select to limit SNPs for purity computation

Slow performance:

  • Use --no-update to skip prior updates if convergence is slow
  • Reduce --max-iter for initial testing

LD matrix errors (summary-level data):

  • Ensure LD matrices are positive semi-definite
  • Check that SNP order matches between GWAS and LD files
  • Verify sample sizes are correctly specified with --sample-size

For more help, see the full documentation or open an issue.

Notes

  • SuShiE currently only supports continuous phenotype fine-mapping for individual-level data.

Version History

Version Description
0.20 VCF input now uses a0=REF and a1=ALT and counts ALT alleles. Compared with 0.19 and earlier, VCF a0/a1 and signed weights may be reversed while allele-aware results remain equivalent.
0.19 Improve code quality. Add troubleshooting section to README and comprehensive FAQ documentation. This update was completely done using Claude Code with human tuning.
0.18 Add function that outputs log bayes factor in the alphas file. Update the documentation.
0.17 Fix several bugs, add debug checkpoints, add chrom, start, and end filtering to individual-level fine-mapping, enhance codes quality, and update readme for official publication.
0.16 Implement summary-level data inference. Add option to remove ambiguous SNPs; fix several bugs and enhance codes quality.
0.15 Fix several typos; add a sanity check on reading vcf genotype data by assigning gt_types==Unknown as NA; Add preprint information.
0.14 Remove KL-Divergence pruning. Enhance command line appearance and improve the output files contents. Fix small bugs on multivariate KL.
0.13 Add --keep command to enable user to specify a file that contains the subjects ID SuShiE will perform on. Add --ancestry_index command to enable user to specify a file that contains the ancestry index for fine-mapping. With this, user can input single phenotype, genotype, and covariate file that contains all the subjects across ancestries. Implement padding to increase inference time. Record elbo at each iteration and can access it in the infer.SuShiEResult object. The alphas table now outputs the average purity and KL divergence for each L. Change --kl_threshold to --divergence. Add --maf command to remove SNPs that less than minor allele frequency threshold within each ancestry. Add --max_select command to randomly select maximum number of SNPs to compute purity to avoid unnecessary memory spending. Add a QC function to remove duplicated SNPs.
0.12 Update io.corr function so that report all the correlation results no matter cs is pruned or not.
0.11 Fix the bug for OLS to compute adjusted r squared.
0.1 Initial Release

Support

For any questions, comments, bug reporting, and feature requests, please contact Zeyun Lu (zeyun_lu@dfci.harvard.edu) and Nicholas Mancuso (nmancuso@usc.edu), and open a new thread in the Issue Tracker.

Other Software

Feel free to use other software developed by Mancuso Lab:

  • jaxQTL: a single-cell eQTL mapping tool using highly efficient count-based model (i.e., negative binomial or Poisson).
  • MA-FOCUS: a Bayesian fine-mapping framework using TWAS statistics across multiple ancestries to identify the causal genes for complex traits.
  • SuSiE-PCA: a scalable Bayesian variable selection technique for sparse principal component analysis
  • twas_sim: a Python software to simulate TWAS statistics.
  • FactorGo: a scalable variational factor analysis model that learns pleiotropic factors from GWAS summary statistics.
  • HAMSTA: a Python software to estimate heritability explained by local ancestry data from admixture mapping summary statistics.
  • Traceax: a Python library to perform stochastic trace estimation for linear operators.

Download files

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

Source Distribution

sushie-0.20.tar.gz (120.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sushie-0.20-py3-none-any.whl (49.6 kB view details)

Uploaded Python 3

File details

Details for the file sushie-0.20.tar.gz.

File metadata

  • Download URL: sushie-0.20.tar.gz
  • Upload date:
  • Size: 120.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for sushie-0.20.tar.gz
Algorithm Hash digest
SHA256 962d15a237dcc9d93b0d56ee031c9fb5046cc03e3a56b7d86906f35170a7eeb4
MD5 58204c5e1c6e1abd408daa2c99de9c55
BLAKE2b-256 356b6ecc96f04298bba67b1c527b9c947e16ac5bab1622e6b93cfd065710ded7

See more details on using hashes here.

Provenance

The following attestation bundles were made for sushie-0.20.tar.gz:

Publisher: publish.yml on mancusolab/sushie

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sushie-0.20-py3-none-any.whl.

File metadata

  • Download URL: sushie-0.20-py3-none-any.whl
  • Upload date:
  • Size: 49.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for sushie-0.20-py3-none-any.whl
Algorithm Hash digest
SHA256 68c5b2ed9fce5407c2f89767f179178952974dc92f006f0e24c6226184ff0180
MD5 0ad2d36e417ccd95dd84209e5b7f5628
BLAKE2b-256 259e1cd503e5ffcc320ae35263b9cfa88e9f3110057426e4bee933cfa25d5b80

See more details on using hashes here.

Provenance

The following attestation bundles were made for sushie-0.20-py3-none-any.whl:

Publisher: publish.yml on mancusolab/sushie

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.20 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page