-
Notifications
You must be signed in to change notification settings - Fork 243
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add RANS Nx16 codec (Update CRAM Codecs to CRAM 3.1) #1618
base: master
Are you sure you want to change the base?
Add RANS Nx16 codec (Update CRAM Codecs to CRAM 3.1) #1618
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Checkpointing what I have so far, which only covers test code.
src/test/java/htsjdk/samtools/cram/compression/rans/RansTest.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few more minor comments.
Codecov Report
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## master #1618 +/- ##
===============================================
+ Coverage 69.856% 70.279% +0.423%
- Complexity 9695 9907 +212
===============================================
Files 703 705 +2
Lines 37772 38427 +655
Branches 6139 6275 +136
===============================================
+ Hits 26386 27006 +620
- Misses 8929 8945 +16
- Partials 2457 2476 +19
|
Hi @cmnbroad I have addressed all the feedback so far. Please let me know if you notice anything. Thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Another checkpoint of what I have so far.
src/main/java/htsjdk/samtools/cram/compression/rans/ransnx16/RANSNx16Params.java
Outdated
Show resolved
Hide resolved
src/test/java/htsjdk/samtools/cram/compression/rans/RansOrder1DemoTest.java
Outdated
Show resolved
Hide resolved
src/main/java/htsjdk/samtools/cram/compression/rans/RANSEncodingSymbol.java
Show resolved
Hide resolved
src/main/java/htsjdk/samtools/cram/compression/rans/rans4x8/RANS4x8Params.java
Outdated
Show resolved
Hide resolved
src/test/java/htsjdk/samtools/cram/compression/rans/RansTest.java
Outdated
Show resolved
Hide resolved
a2d9dad
to
7e06b5d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not even close to done, but checkpointing what I have - will resume when I get back from vacation.
src/main/java/htsjdk/samtools/cram/compression/rans/ransnx16/RANSNx16Decode.java
Outdated
Show resolved
Hide resolved
src/main/java/htsjdk/samtools/cram/compression/rans/ransnx16/RANSNx16Decode.java
Outdated
Show resolved
Hide resolved
src/main/java/htsjdk/samtools/cram/compression/rans/ransnx16/RANSNx16Decode.java
Outdated
Show resolved
Hide resolved
src/main/java/htsjdk/samtools/cram/compression/rans/ransnx16/RANSNx16Decode.java
Outdated
Show resolved
Hide resolved
aeec2ad
to
f7e6c57
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still a little bit more to go, but almost done.
src/test/java/htsjdk/samtools/cram/compression/rans/RansTest.java
Outdated
Show resolved
Hide resolved
src/main/java/htsjdk/samtools/cram/compression/rans/RANSEncode.java
Outdated
Show resolved
Hide resolved
src/main/java/htsjdk/samtools/cram/compression/rans/RANSEncode.java
Outdated
Show resolved
Hide resolved
src/main/java/htsjdk/samtools/cram/compression/rans/RANSEncodingSymbol.java
Outdated
Show resolved
Hide resolved
src/main/java/htsjdk/samtools/cram/compression/rans/ransnx16/RANSNx16Decode.java
Show resolved
Hide resolved
src/main/java/htsjdk/samtools/cram/compression/rans/ransnx16/RANSNx16Decode.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In this round I mostly focused on the decoders - many of my comments apply to the encoders as well, but I didn't duplicate them there since there are quite a few. I'm stopping for now and will need to do another round once these issues are addressed.
src/main/java/htsjdk/samtools/cram/compression/rans/ArithmeticDecoder.java
Outdated
Show resolved
Hide resolved
src/main/java/htsjdk/samtools/cram/compression/rans/ransnx16/RANSNx16Encode.java
Outdated
Show resolved
Hide resolved
src/main/java/htsjdk/samtools/cram/compression/rans/ransnx16/RANSNx16Encode.java
Show resolved
Hide resolved
src/main/java/htsjdk/samtools/cram/compression/rans/ransnx16/RANSNx16Encode.java
Show resolved
Hide resolved
src/main/java/htsjdk/samtools/cram/compression/rans/ransnx16/RANSNx16Decode.java
Outdated
Show resolved
Hide resolved
src/main/java/htsjdk/samtools/cram/compression/rans/ransnx16/RANSNx16Decode.java
Outdated
Show resolved
Hide resolved
src/main/java/htsjdk/samtools/cram/compression/rans/ransnx16/RANSNx16Decode.java
Outdated
Show resolved
Hide resolved
src/main/java/htsjdk/samtools/cram/compression/rans/ransnx16/RANSNx16Decode.java
Outdated
Show resolved
Hide resolved
src/main/java/htsjdk/samtools/cram/compression/rans/ransnx16/RANSNx16Decode.java
Outdated
Show resolved
Hide resolved
61b0eca
to
e6b06a5
Compare
@cmnbroad Thank you for your comments. I have addressed all of them so far. Ready for the next round of review. |
dc12137
to
cccda09
Compare
…dded in the streams).
…ests or ../htscodecs/tests depending on the env
…ipe Flag in RANS Nx16 encoder
1979264
to
8ed004f
Compare
Description
This PR is part of an effort to upgrade CRAM to v3.1. It adds the RANS Nx16 implementation and adds changes to the existing RANS implementation to accommodate RANS Nx16.
List of Changes:
Test fails:
CRAMCodecCorpusTest fails as they require the test files from htscodecs repo.