Pure python implementation Tabix reader.
Project description
Pure Tabix
This is a pure-python Tabix index parser. Useful as an alternative to PySAM and PyTabix for rapid read access by position to Tabix indexed block gzipped files such as VCFs and other common bioinfomatics formats.
See https://samtools.github.io/hts-specs/tabix.pdf and https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3042176 for information about Tabix and the detailed file format specification.
from puretabix import TabixIndexedFile
tabix_indexed_file = TabixIndexedFile.from_files(open('somefile.vcf.gz', 'rb'), open('somefile.vcf.gz.tbi', 'rb'))
tabix_indexed_file.fetch("1", 1000, 5000)
development
TL;DR: pip install -e '.[dev]' && pre-commit install
pip install -e '.[dev]' # Install using pip including development extras
pre-commit install # Enable pre-commit hooks
pre-commit run --all-files # Run pre-commit hooks without committing
# Note pre-commit is configured to use:
# - seed-isort-config to better categorise third party imports
# - isort to sort imports
# - black to format code
pip-compile # Freeze dependencies
pytest # Run tests
coverage run --source=puretabix -m pytest && coverage report -m # Run tests, print coverage
mypy . # Type checking
pipdeptree # Print dependencies
scalene --outfile tests/perf_test.txt --profile-all --cpu-sampling-rate 0.0001 tests/perf_test.py # performance measurements
Global git ignores per https://help.github.com/en/github/using-git/ignoring-files#configuring-ignored-files-for-all-repositories-on-your-computer
For release to PyPI see https://packaging.python.org/tutorials/packaging-projects/
python3 setup.py sdist && python3 -m twine upload dist/*
acknowledgements
Inspired by @yangmqglobe code in https://github.com/cggh/scikit-allel/pull/297
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file puretabix-4.0.1.tar.gz
.
File metadata
- Download URL: puretabix-4.0.1.tar.gz
- Upload date:
- Size: 17.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7980fcec6de5777ef0dc7611e127dd5f121d1162520215a20b4a3024e684c85 |
|
MD5 | ba59b90ec5dfc42031513b6382074f12 |
|
BLAKE2b-256 | 008b30f4678cfa16c418ae86076fb6e6696d3af696caac5f859d83c0d1707b2b |