Add support for filtering rows by flags #1337
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi!
This PR adds a
filter
method toAlignmentFile
to support reading flags that have given flags set or unset. This is faster than doing this test in afor
loop in the Python code because it avoids a useless copy of reads that are discarded.For instance, on a BAM file with 6,369,435 reads with only 315,068 of them being mapped, iterating with
is about 2x faster than:
I added some tests and type hints as well.