https://github.com/openmendel/haploadmixture.jl
https://github.com/openmendel/haploadmixture.jl
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/openmendel/haploadmixture.jl
- Owner: OpenMendel
- License: mit
- Created: 2022-12-28T00:09:06.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-06-05T02:40:33.000Z (about 1 year ago)
- Last Synced: 2025-06-05T06:05:46.825Z (about 1 year ago)
- Language: Julia
- Size: 1.15 MB
- Stars: 3
- Watchers: 4
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# HaploADMIXTURE.jl
[](https://OpenMendel.github.io/HaploADMIXTURE.jl/dev)
This software package is an open-source Julia implementation of HaploADMIXTURE, ancestry inference by modeling haplotypes. By modeling haplotypes, we use information between nearby SNPs, obtaining more accurate ancestry estimates.
It supports acceleartion through multithreading and graphic processing units (GPUs). By directly utilizing the data format of the PLINK BED file, the memory usage is highly efficient.
It estimates ancestry with maximum-likelihood method for a large SNP genotype datasets, where individuals are assumed to be unrelated. The input is binary PLINK 1 BED-formatted file (`.bed`). Also, you will need an idea of $K$, the number of ancestral populations. One possible way to figure out a good value of $K$ is through Akaike information criterion. If the number of SNPs is too large, you may choose to run on a subset of SNPs selected by their information content, using the blockwise [sparse $K$-means via feature ranking](https://github.com/kose-y/SparseKmeansFeatureRanking.jl) (SKFR) method. When SKFR is applied, it selects given number of blocks of two nearby SNPs.
## Installation
This package requires Julia v1.7 or later, which can be obtained from
or by building Julia from the sources in the
repository.
The package can be installed by running the following code:
```julia
using Pkg
pkg"add https://github.com/kose-y/SparseKmeansFeatureRanking.jl"
pkg"add https://github.com/OpenMendel/OpenADMIXTURE.jl"
pkg"add https://github.com/OpenMendel/HaploADMIXTURE.jl"
```
For running the examples in our documentation, the following are also necessary.
```julia
pkg"add SnpArrays DelimitedFiles StableRNGs"
```
For GPU support, an Nvidia GPU is required. Also, the following package has to be installed:
```julia
pkg"add CUDA"
```
## Citation
The methods and applications of this software package are detailed in the following publication:
_Ko, S, Sobel EM, Zhou H, Lange K. Estimation of Genetic Admixture Proportions via Haplotypes. bioRxiv 2023. doi: [10.1101/2023.09.22.559067](https://doi.org/10.1101/2023.09.22.559067)._
If you use OpenMendel analysis packages in your research, please cite the following reference in the resulting publications:
_Zhou H, Sinsheimer JS, Bates DM, Chu BB, German CA, Ji SS, Keys KL, Kim J, Ko S, Mosher GD, Papp JC, Sobel EM, Zhai J, Zhou JJ, Lange K. OPENMENDEL: a cooperative programming project for statistical genetics. Hum Genet. 2020 Jan;139(1):61-71. doi: 10.1007/s00439-019-02001-z. Epub 2019 Mar 26. PMID: 30915546; PMCID: [PMC6763373](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6763373/)._