pairtools
pairtools copied to clipboard
pairtools parsing engine abstraction
Premise:
pysamis fast but introduces multiple logistic complications. We may want to replace it with manual bam parser (Anton's style).pysam:- is complicated to link in isolated environments
- leads to pairtools compilation errors without installing
cythonbeforepairtools - is not supported on osx
- is not supported for python 3.11
- New alignment formats emerge that can be parsed by pairtools with minor modifications, e.g.
paf(pafpy)
Proposal:
Introduce an abstraction for parsing engine that can input data from APIs from different tools
Possible technical solutions:
-
Make a universal wrapper class for "alignment" and create an
iolibrary for parsing it from data with different engines -
?
Complications:
- Each new engine introduces a new dependency that we want to make optional
What if the API were based on dataframes, instead of abstract alignment records?