minimap2 PAF file reader
Project description
readpaf
readpaf is a fast parser for minimap2 PAF (Pairwise mApping Format) files. It is pure python with no dependencies (unless you want a DataFrame).
Installation
pip install readpaf
Other install methods
Install with pandas:
This is only needed if you want to manipulate the PAF file as a pandas.DataFrame
pip install readpaf[pandas]
Direct download:
using cURL
curl -O https://raw.githubusercontent.com/alexomics/read-paf/main/readpaf.py
or wget
wget https://raw.githubusercontent.com/alexomics/read-paf/main/readpaf.py
Usage
readpaf only has one user function, parse_paf
that accepts of file-like object; this
is any object in python that has a file-oriented API (sys.stdin
, stdout
from subprocess,
io.StringIO
, open files from gzip
or open
).
The following script demonstrates how minimap2 output can be piped into read-paf
from readpaf import parse_paf
from sys import stdin
for record in parse_paf(stdin):
print(record.query_name, record.target_name)
read-paf can also generate a pandas DataFrame:
from readpaf import parse_paf
with open("test.paf", "r") as handle:
df = parse_paf(handle, dataframe=True)
Functions
read-paf has a single user function
parse_paf
parse_paf(file_like=file_handle, fields=list, dataframe=bool)
Parameters:
- file_like: A file like object, such as
sys.stdin
, a file handle from open or io.StringIO objects - fields: A list of 13 field names to use for the PAF file, default:
"query_name", "query_length", "query_start", "query_end", "strand", "target_name", "target_length", "target_start", "target_end", "residue_matches", "alignment_block_length", "mapping_quality", "tags"
These are based on the PAF specification. - dataframe: bool, if True, return a pandas.DataFrame with the tags expanded into separate Series
If used as an iterator, then each object returned is a named tuple representing a single line in the PAF file.
Each named tuple has field names as specified by the fields
parameter. The SAM-like tags are converted into
their correct types and stored in a dictionary. When print
or str
are called on PAF
record (named tuple)
a formated PAF string is returned, which is useful for writing records to a file. The PAF
record also has a
method blast_identity
which calculates the blast identity for
that record.
If used to generate a pandas DataFrame, then each row represents a line in the PAF file and the SAM-like tags are expanded into individual series.
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
Built Distribution
Hashes for readpaf-0.0.5-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5692ed55f325f7e59c4175d5c65373da076507e974dbe3ba4016b3dcedaebd1e |
|
MD5 | 3b3faf0dc14275bae942edbf67a1f1bd |
|
BLAKE2b-256 | 1c38bb2b9703a6fa58b2adf04a54569ddb0da7c3edaad95e66ec2bc0a9765b99 |