Skip to main content

Array of Interleaved Repeats for Quantitative Trait Loci

Project description

Airqtl is an efficient method to map expression quantitative trait loci (eQTLs) and infer causal gene regulatory networks (cGRNs) from population-scale single-cell studies. The core of airqtl is Array of Interleaved Repeats (AIR), an efficient data structure to store and process donor-level data in the cell-donor hierarchical setting. Airqtl offers over 8 orders of magnitude of acceleration of eQTL mapping with linear mixed models, arising from its superior time complexity and Graphic Processing Unit (GPU) utilization.

Installation

Airqtl is on PyPI. To install airqtl, you should first install Pytorch 2. Then you can install airqtl with pip: pip install airqtl or from github: pip install git+https://github.com/grnlab/airqtl.git. Make sure you have added airqtl’s install path into PATH environment before using the command-line interface (See FAQ). Airqtl’s installation can take several minutes including installing dependencies.

Usage

Airqtl provides both command-line and python interfaces. For starters, you can run airqtl by typing airqtl -h on command-line. Try our tutorial below and adapt it to your own dataset.

Tutorials

Currently we provide one tutorial to map cell state-specific single-cell eQTLs and infer cGRNs from the Randolph et al dataset in docs/tutorials.

Issues

Pease raise an issue on github.

References

FAQ

  • What does airqtl stand for?

    Array of Interleaved Repeats for Quantitative Trait Loci

  • Why do I see this error: AssertionError: Torch not compiled with CUDA enabled?

    This is because you installed a CPU-only pytorch but tried to run it on GPU. You have several options:

    1. To run pytorch on CPU, set device=’cpu’ in Snakefile.config of the tutorial pipeline you use.

    2. To run pytorch on GPU, reinstall pytorch with GPU support at Installation.

  • I installed airqtl but typing ``airqtl`` says ‘command not found’.

    See below.

  • How do I use a specific python version for airqtl’s command-line interface?

    You can always use the python command to run airqtl, such as python3 -m airqtl to replace command airqtl. You can also use a specific path or version for python, such as python3.12 -m airqtl or /usr/bin/python3.12 -m airqtl. Make sure you have installed airqtl for this python version.

  • Why is airqtl killed mid-run?

    One possible reason is you don’t have enough memory. You can try it on a machine with more memory such as on the cloud.

  • How should I deal with CUDA out of memory error?

    Airqtl runs sceQTL mapping on batches of SNPs and genes. For example, you can set the batch size to 16 SNPs and 10000 genes for the airqtl eqtl association step by adding --bsx 16 --bsy 10000 in params_association in the Snakefile.config file. The default batch size is 256 SNPs and all genes for sceQTL mapping. If your dataset allows, use a smaller batch size for SNPs but all genes because it is the most efficient solution that minimizes recomputing.

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

airqtl-0.2.0.tar.gz (58.4 kB view details)

Uploaded Source

Built Distribution

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

airqtl-0.2.0-py3-none-any.whl (63.3 kB view details)

Uploaded Python 3

File details

Details for the file airqtl-0.2.0.tar.gz.

File metadata

  • Download URL: airqtl-0.2.0.tar.gz
  • Upload date:
  • Size: 58.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for airqtl-0.2.0.tar.gz
Algorithm Hash digest
SHA256 c396e9cecdad63f5f60e96274b71dabd5f14a4722df4d3fc17e924091e3b5a5b
MD5 6329e22027b6f5135b54d4e83f34de96
BLAKE2b-256 047581e1508f1ef5647651426a131dc3355fca09984b95dc5ec896bdf8c45e05

See more details on using hashes here.

File details

Details for the file airqtl-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: airqtl-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 63.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for airqtl-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8133d4cecaf45fbacbcc84e2f21eaf1f79aa7cce2aebe22bd22c5cf5dd2c1fde
MD5 424d580ea8c17f0d864acd5a680650ee
BLAKE2b-256 2c3eb77b666077d0b9b05dea65cf4c399d1f90a6bf86810f2808ef96feeb8e41

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