Skip to main content

RECOMBULATOR-X



recombulator-x is a Python module and command line tool for computing the recombination rates between short tandem repeats (STRs) markers and other polymorphisms (SNPs and INDELs) along the X chromosome starting from pedigree data in forensic genetics.



:open_book: Documentation website

:page_facing_up: Please cite Paper



recombulator-x is written in Python (3.7) and can be used either as a module or as a command-line tool. It is the first open source implementation of the estimation method introduced in Nothnagel et al., 2012, which is the gold-standard for the estimation of recombination rates for X-chromosomal markers. We designed recombulator-x to solve some practical issues with the original R implementation. Its main advantages are:

  • performance: much faster than the original implementation, thanks to algorithmic improvements (dynamic programming)
  • open source: full source code and documentation available from github
  • input parsing: reads pedigree data in standard (PED) format
  • user friendly: easy installation (via pip) and usage with a simple command-line tool
  • comprehensive toolkit: it can deal with short tandem repeats, SNPs and INDELs.

We thank Prof. Michael Nothnagel for kindly sharing the original R implementation with us, which was an important reference for the development.

:open_book: Documentation

Full documentation is available online at the :open_book: dedicated website, or in this repository under docs.

:wrench: Installation

You can install recombulator-x via the pip command from the standard PyPI repository:

pip install recombulator-x

:mortar_board: Overview

STRs located on the X chromosome are a valuable resource for solving complex kinship cases in forensic genetics thanks to their peculiar inheritance mode. At the same time, the usage of multiple markers linked along the same chromosome, while increasing the evidential weight, also requires proper consideration of the recombination rates between markers in the biostatistical evaluation of kinship.

For more details on X-STR kinship analyses in forensic see Gomes et al., 2020 and Tillmar et al., 2017.

In the case of forensic X-STRs, recombination rates have been either inferred from population samples through high-density multi-point single nucleotide polymorphism (SNP) data or directly estimated in large pedigree-based studies.

The main statistical approach for the estimation of recombination rates from pedigrees computes the likelihood of kinship by taking into account all possible recombinations within the maternal haplotype, thus resorting to the exponential complexity of the underlying algorithm (see Nothnagel et al., 2012 for a thorough description of the likelihood computation). Despite a computational update in C++ allowing multi-core parallelization, this approach is expected to be unsuitable when panels of more than 15 X-STRs are considered (Diegoli et al., 2016).

We developed recombulator-x to overcome this issue. Built upon the same statistical framework of the previous work (Nothnagel et al., 2012), recombulator-x uses a new computational strategy to infer recombination rates for X-STRs, while taking also the probability of mutation into account.

:boom: Additional features

  • Recombulator-X can analyse also SNPs and INDELs.
  • Data consistency checks
  • Automatic family preprocessing and informative family extraction
  • Multiple likelihood implementations included
  • Accelerated likelihood computation with the JIT Python compiler Numba
  • Mutation rates can be estimated for each marker separately or as a unique parameter
  • Simulation of pedigrees typed with STRs

:rocket: Benchmark

recombulator-x far exceeds the computational speed of the previous approach and it is scalable to many more markers.
Indeed, performance has been the main focus of recombulator-x: in a test with simulated data of the same size as the two previous works, the time necessary for the likelihood computation of a single family drops from "several months" on 32 cores of a HPC node for the previous approach to 20 minutes on a single core with recombulator-x. This is due to algorithmic improvement time complexity going from exponential to linear with our approach. Conversely, even though the algorithm time complexity is still exponential for type II families, the speed improvement is substantial with respect to the the previous implementation. Moreover, its capacity of dealing with SNPs and INDELs makes it a comprehensive toolkit for addressing linked markers in forensics.

:computer: Usage

recombulator-x uses the PED files based on PLINK pedigree files as input. The PED file format stores sample pedigree information (i.e., the familial relationships between samples) and the genotypes. More information on the input file can be found in this repository under docs/3_usage.md.

The program can be used both as a Python module or a command-line tool. A detailed notebook for the Python module can be found here.

Metadata

Release files for recombulator-x 1.1.2

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

Source distribution (sdist)

Source distribution for recombulator-x 1.1.2
File Size Uploaded Provenance
recombulator-x-1.1.2.tar.gz 23.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for recombulator-x 1.1.2
File Interpreter ABI Platform
recombulator_x-1.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 49.2 kB

Release files / recombulator-x-1.1.2.tar.gz

Download URL recombulator-x-1.1.2.tar.gz
Size 23.1 kB
Tags Source
SHA-256 checksum
How to use checksums
1b9439a7668f5ac1299b7b6cdc714de165dd7be1b12b8bedb70abd2fd576c6ba
BLAKE2b-256 checksum
How to use checksums
2c33622197b01116c80c88b9f049a56254b6f2a5167f26f2f23c5cd4ef00ceca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Release files / recombulator_x-1.1.2-py3-none-any.whl

Download URL recombulator_x-1.1.2-py3-none-any.whl
Size 26.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
254381cbb938a7af4334b348cb450d76f5c12925f8c9cba07e3a9ca085142b6a
BLAKE2b-256 checksum
How to use checksums
7d229a327562ded45ec4c163b88e83f9eee4af96ee74b71e9887c0c7e5c9d18a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Security for recombulator-x 1.1.2

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