A lightweight library for working with PAF (Pairwise mApping Format) files
Project description
pafpy
A lightweight library for working with PAF (Pairwise mApping Format) files.
Documentation: https://pafpy.xyz
Table of Contents
Install
PyPi
pip install pafpy
Conda
conda install -c bioconda pafpy
Locally
If you would like to install locally, the recommended way is using poetry.
git clone https://github.com/mbhall88/pafpy.git
cd pafpy
make install
# to check the library is installed run
poetry run python -c "from pafpy import PafRecord;print(str(PafRecord()))"
# you should see a (unmapped) PAF record printed to the terminal
# you can also run the tests if you like
make test-code
Usage
For full usage, please refer to the documentation. If there is any functionality
you feel is missing or would make pafpy
more user-friendly, please raise an issue
with a feature request.
In the below basic usage pattern, we collect the BLAST identity of all primary alignments in our PAF file into a list.
from typing import List
from pafpy import PafFile
path = "path/to/sample.paf"
identities: List[float] = []
with PafFile(path) as paf:
for record in paf:
if record.is_primary():
identity = record.blast_identity()
identities.append(identity)
Another use case might be that we want to get the identifiers of all records aligned to a specific contig, but only keep the alignments where more than 50% of the query (read) is aligned.
from typing import List
from pafpy import PafFile
path = "path/to/sample.paf"
contig = "chr1"
min_covg = 0.5
identifiers: List[str] = []
with PafFile(path) as paf:
for record in paf:
if record.tname == contig and record.query_coverage > min_covg:
identifiers.append(record.qname)
Contributing
If you would like to contribute to pafpy
, checkout CONTRIBUTING.md
.
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
Built Distribution
File details
Details for the file pafpy-0.2.0.tar.gz
.
File metadata
- Download URL: pafpy-0.2.0.tar.gz
- Upload date:
- Size: 11.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ecbbb6cf6b3f25e2a76d4dd02503f70bb5604523e11754646c6aace813daa74 |
|
MD5 | 24fd5ebe94a0c3ddfc1913a06299f676 |
|
BLAKE2b-256 | 6df7e60d83b1ccd37118f78527f5992c269c16473a2b6fef7b556040e34d1ba8 |
File details
Details for the file pafpy-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: pafpy-0.2.0-py3-none-any.whl
- Upload date:
- Size: 12.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 103d723c5701cf0d2aafdcf357c1a7fd5c2b80b61727783d4bfb57b0807d93f6 |
|
MD5 | 3cabb233c89b86ad4015c9ca569002db |
|
BLAKE2b-256 | ca845110df7fd7b7895a1fe63798b41f3f44cf4066e05997eab574cfdf88116d |