DAPCy: a Python package for the discriminant analysis of principal components method for population genetic analyses

Alejandro Correa Rojo, Pieter Moris, Hanne Meuwissen, Pieter Monsieurs, Dirk Valkenborg

Research output: Contribution to journalA1: Web of Science-articlepeer-review

Abstract

Summary 

The Discriminant Analysis of Principal Components method is a pivotal tool in population genetics, combining principal component analysis and linear discriminant analysis to assess the genetic structure of populations using genetic markers, focusing on the description of variation between genetic clusters. Despite its utility, the original R implementation in the adegenet package faces computational challenges with large genomic datasets. To address these limitations, we introduce DAPCy, a Python package leveraging the scikit-learn library to enhance the method's scalability and efficiency. DAPCy supports large datasets by utilizing compressed sparse matrices and truncated singular value decomposition for dimensionality reduction, coupled with training-test cross-validation for robust model evaluation. It also includes modules for de novo genetic clustering and extensive visualization and reporting capabilities. Compared to the original R implementation, DAPCy can process genomic datasets with thousands of samples and features in less computational time and with reduced memory usage. To show DAPCy's computational capabilities, we benchmarked it with the R implementation using the Plasmodium falciparum dataset from MalariaGEN and the 1000 Genomes Project.

Availability and implementation 

DAPCy can be installed as a Python package through pip. Source code is available on https://gitlab.com/uhasselt-bioinfo/dapcy. Documentation and a tutorial can be found on https://uhasselt-bioinfo.gitlab.io/dapcy/.

Original languageEnglish
Article numbervbaf143
JournalBioinformatics Advances
Volume5
Issue number1
Number of pages6
ISSN2635-0041
DOIs
Publication statusPublished - 2025

Fingerprint

Dive into the research topics of 'DAPCy: a Python package for the discriminant analysis of principal components method for population genetic analyses'. Together they form a unique fingerprint.

Cite this