Skip to main content

Methods for selective sweep inference

Project description

Statistical inference using IBD segments

License: CC0-1.0

isweep is a Python package and a series of automated workflows to study natural selection with identity-by-descent (IBD) segments. The Python package simulates IBD segments around a locus and estimates selection coefficients. The automated workflows perform selection scans, selection coefficient estimation, IBD case-control mapping, haplotype phasing, and local ancestry inference. Scripts in the workflows can be run individually in scripts/, with argparse documentation and inputs.

These methods are suitable for analyses for recent genetic/evolution events. For example,

  • By recent, we mean within the last 500 generations.
  • By strong, we mean selection coefficient s >= 0.015 (1.5%).
  • Scan may have moderate power for s >= 0.01 (1%).

Please review the Readthedocs for detailed support, including which relevant publications to cite if you use this software.

Please file an Issue on GitHub for troubleshooting.

Contact sethtem@umich.edu for support specific to your analysis, e.g., analyses of non-human genetic data.

The input data is:

  • Whole genome sequences
    • Probably at least > 500 diploids
    • Phased vcf data 0|1 of recombining chromosomes
    • Tab-separated genetic map (bp ---> cM)
      • Without headers!
      • Columns are chromosome, rsID, cM, bp
  • Access to cluster computing

workflow/phasing-ancestry provides support for phasing and selecting an ancestry cohort.

Primary pipelines:

The main workflows, workflow/scan-selection and workflow/model-selection do:

  1. Scan genome for extreme IBD rates
  2. Detect anomalously large IBD clusters
  3. Rank alleles based on evidence for selection
  4. Compute a cluster agglomeration measure
  5. Estimate frequency, location of unknown sweeping allele
  6. Estimate a selection coefficient (w/ CIs)

In general, you run workflows with

nohup snakemake -s Snakefile-*.smk -c1 --cluster "sbatch [options]" [options] --jobs XX --configfile *.yaml &

You modify the relevant YAML files, which define the method parameters. You should run the pipelines in the mamba activate isweep environment.

Step 1 may be standalone, depending on the analysis. (You may not care to model putative sweeps (Steps 2-6), which also requires demographic Ne estimation.)

Installation

To install the dependencies and our package:

  1. Clone the repository
git clone https://github.com/sdtemple/isweep.git 
  1. Get the Python package
mamba env create -f isweep-environment.yml
  1. Download some Java software.
bash get-software.sh 

You can test the workflows with our small Zenodo repository.

Picture of selection scan

The flow chart below shows the steps ("rules") in the selection scan pipeline.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

isweep-1.0.8.tar.gz (306.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

isweep-1.0.8-py3-none-any.whl (26.2 kB view details)

Uploaded Python 3

File details

Details for the file isweep-1.0.8.tar.gz.

File metadata

  • Download URL: isweep-1.0.8.tar.gz
  • Upload date:
  • Size: 306.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.11

File hashes

Hashes for isweep-1.0.8.tar.gz
Algorithm Hash digest
SHA256 2106093e4c757bf48f3b56f11b788a7a4dba255fe56fad54e6062bab7a1055d1
MD5 ee8e52b38f66080cc5145d2ba0f3440f
BLAKE2b-256 c4f0c6ed74fe731bf9dbe4fd72f4038510cb38bba2befa1f8830d0252deedbcc

See more details on using hashes here.

File details

Details for the file isweep-1.0.8-py3-none-any.whl.

File metadata

  • Download URL: isweep-1.0.8-py3-none-any.whl
  • Upload date:
  • Size: 26.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.11

File hashes

Hashes for isweep-1.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 a41d83a9008b520f813257dc8fea9eb00719e74d10c773528f297971c36ca409
MD5 5d832931578645bb3ff1d2f27a78389e
BLAKE2b-256 e1926500dc6575e0159564b1f757c6eee9b381bd3a70e75b9b3cba82b282fb6f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page