Skip to main content
psmc-rs: fast PSMC inference that reproduces the reference implementation

psmc-rs: fast PSMC inference that reproduces the reference implementation

This is a Preprint and has not been peer reviewed. This is version 1 of this Preprint.

Add a Comment

You must log in to post a comment.


Comments

There are no comments or no comments have been made public for this article.

Downloads

Download Preprint

Supplementary Files

Authors

Yufan Han

Abstract

The pairwise sequentially Markovian coalescent (PSMC) infers the history of effective population size from a single diploid genome and is one of the most widely used methods of population genomics. Its reference implementation, the C program psmc, runs on one thread, which makes bootstraps and large cohorts slow. We present psmc-rs, a reimplementation of PSMC in Rust that fits the same model as C psmc. On 40 simulated and 55 real genomes, the two programs' estimates of population size differed by at most 0.15% over the time range each genome informs. On the simulated genomes, their histories were at least 1,500 times closer to each other than either was to the true history. On a simulated genome of 30 chromosomes of 100 Mb, psmc-rs was 14.1 times as fast as C psmc on one thread and 386 times as fast on 30 threads, and it used at most 148 MB of memory, against C psmc's 1,062 MB. Its results were byte-identical on any number of threads. Fitting all 2,504 unrelated high-coverage genomes of the 1000 Genomes Project took psmc-rs 257 core-hours, where C psmc would have needed about 3,700. psmc-rs also reads VCF and multihetsep files, accounts for partly callable bins, and runs PSMC's block bootstrap in parallel. It is open source under the MIT license, and the pipeline behind every result, with the inputs and fits of the 2,504 genomes, is openly available.

DOI

https://doi.org/10.32942/X2P97K

Subjects

Bioinformatics, Computational Biology, Evolution, Genomics, Population Biology

Keywords

demographic inference, effective population size, PSMC, coalescent hidden Markov model, population genomics, reproducibility, software

Dates

Published: 2026-11-09 22:44

Last Updated: 2026-11-09 22:44

License

CC BY Attribution 4.0 International

Additional Metadata

Conflict of interest statement:
None.

Data and Code Availability Statement:
psmc-rs is open source under the MIT license at https://github.com/larryivan/psmc-rs; the release used here, version 0.2.0, is archived at https://doi.org/10.5281/zenodo.23762893. The experiment pipeline, the committed results of every experiment and the code that draws every figure are in the same repository (experiment/; see experiment/REPRODUCIBILITY.md). The inputs of the 1000 Genomes analysis (the psmcfa files of the 2,504 genomes, the comparison subset's VCFs and the masks) are available at https://doi.org/10.5281/zenodo.23764975. The 1000 Genomes high-coverage VCFs are available from the International Genome Sample Resource (https://www.internationalgenome.org).

Language:
English

Metrics

Views: 32

Downloads: 3