Skip to main content

EMU (v1.6.0)

EMU is a software for performing principal component analysis (PCA) in the presence of missingness for genetic datasets. EMU can handle both random and non-random missingness by modelling it directly through a truncated SVD approach. EMU uses binary PLINK files as input.

Citation

Please cite our paper in Bioinformatics

Installation

# Option 1: Build and install via PyPI
pip install emu-popgen

# Option 2: Download source and install via pip
git clone https://github.com/Rosemeis/emu.git
cd emu
pip install .

# Option 3: Download source and install in a new Conda environment
git clone https://github.com/Rosemeis/emu.git
conda env create -f emu/environment.yml
conda activate emu

You can now run the program with the emu command.

If you run into issues with your installation on a HPC system, it could be due to a mismatch of CPU architectures between login and compute nodes (illegal instruction). You can try and remove every instance of the march=native compiler flag in the setup.py file which optimizes emu to your specific hardware setup. Another alternative is to use the uv package manager, where you can run emu in a temporary and isolated environment by simply adding uvx in front of the emu command.

# uv tool run example
uvx emu --bfile test --eig 2 --threads 64 --out test.emu

Quick usage

Running EMU

Provide emu with the file prefix of the PLINK files.

# Check help message of the program
emu -h

# Model and extract 2 eigenvectors using the EM-PCA algorithm
emu --bfile test --eig 2 --threads 64 --out test.emu

# Use 2 eigenvectors for modelling but extract 10 eigenvectors
emu --bfile test --eig 2 --eig-out 10 --threads 64 --out test.emu

Memory-efficient variant

Very memory-efficient variant of emu for large-scale datasets.

# Example run using '--mem' argument
emu --mem --bfile test -eig 2 -threads 64 -out test.emu.mem

Metadata

Release files for emu-popgen 1.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for emu-popgen 1.6.0
File Size Uploaded Provenance Actions
emu_popgen-1.6.0.tar.gz 351.8 kB Without provenance Details for emu_popgen-1.6.0.tar.gz

Release files / emu_popgen-1.6.0.tar.gz

Download URL emu_popgen-1.6.0.tar.gz
Size 351.8 kB
Tags Source
SHA-256 checksum
How to use checksums
680f5afeda4e6b8b6fef73667892b21acf3ac47b9306f67c6d159ea4d2064481
BLAKE2b-256 checksum
How to use checksums
ff36cdfc9ed0dcee19ed52c6feedc4470ee1551ce59bcd46acf213ca7d99f7be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Security for emu-popgen 1.6.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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