Determine number of principle components based on sequencing data
Project description
ERstruct - Official Python Implementation
A Python package for inferring the number of top informative PCs that capture population structure based on genotype information.
Requirements for Data File
Data files must be of .npy format. The data matrix must with 0,1,2 and/or NaN (for missing values) entries only, the rows represent individuals and columns represent markers. If there are more than one data files, the data matrix inside must with the same number of rows.
Dependencies
ERStruct depends on numpy, torch and joblib.
Installation
Users can install ERStruct by running the command below in command line:
pip install ERStruct
Import the module
from ERStruct import erstruct
Parameters
erstruct(n, path, filename, rep, alpha, cpu_num=1, device_idx="cpu", varm=1, Kc=-1)
n (int) - total number of individuals in the study
path (str) - the path of data file(s)
filename (list) - the name of the data file(s)
rep (int) - number of simulation times for the null distribution
alpha (float) - significance level, can be either a scaler or a vector
Kc (int) - a coarse estimate of the top PCs number (set to -1 by default)
core_num (int) - optional, number of CPU cores to be used for parallel computing. (set to 1 by default)
device_idx (str) - device you are using, "cpu" pr "gpu". (set to "cpu" by default)
varm (int): - Allocated memory (in bytes) of GPUs for computing. When device_idx="gpu", varm should be specified clearly, otherwise memory allocation error may occur.
Examples
Run the code on CPUs:
test = erstruct(2504, '.', ['test_chr21', 'test_chr22'], 5000, 1e-4, cpu_num=1, device_idx="cpu")
K = test.run()
Run the code on GPUs:
test = erstruct(2504, '.', ['test_chr21', 'test_chr22'], 5000, 1e-4, device_idx="gpu", varm=12000000000)
K = test.run()
Example data files test_chr21.npy and test_chr22.npy can be found on the "sample_data" of ERStruct GitHub repository.
Other Details
Please refer to our paper
An Eigenvalue Ratio Approach to Inferring Population Structure from Whole Genome Sequencing Data.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file ERStruct-0.0.24.tar.gz.
File metadata
- Download URL: ERStruct-0.0.24.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e3beef6eced9bafc50ad02c74da784c484ff086af1a8e54344253b975e06910e
|
|
| MD5 |
e83c6c7adf0c82cf1bbcfe5c9544f413
|
|
| BLAKE2b-256 |
f6832beb9a93561a9fd03e36b6fa1dc675c6b277760ba88622cefc2f242f7e9e
|