Add RANS Nx16 codec (Update CRAM Codecs to CRAM 3.1)#1618
Add RANS Nx16 codec (Update CRAM Codecs to CRAM 3.1)#1618yash-puligundla wants to merge 66 commits intosamtools:masterfrom
Conversation
cmnbroad
left a comment
There was a problem hiding this comment.
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
cmnbroad
left a comment
There was a problem hiding this comment.
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! |
cmnbroad
left a comment
There was a problem hiding this comment.
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
cmnbroad
left a comment
There was a problem hiding this comment.
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
cmnbroad
left a comment
There was a problem hiding this comment.
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
cmnbroad
left a comment
There was a problem hiding this comment.
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
|
Closing in favor of #1714. |
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.