-
Notifications
You must be signed in to change notification settings - Fork 242
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
Make public SamReader.Type methods to allow other implementations #1144
Make public SamReader.Type methods to allow other implementations #1144
Conversation
Codecov Report
@@ Coverage Diff @@
## master #1144 +/- ##
===========================================
Coverage 68.053% 68.053%
Complexity 7936 7936
===========================================
Files 538 538
Lines 32582 32582
Branches 5529 5529
===========================================
Hits 22173 22173
Misses 8188 8188
Partials 2221 2221
|
Is there an overwhelming need to support types outside of HtsJdk or should new formats be contributed to HtsJdk? Can you link to where this is being used? Presumably who ever wrote and then the folks who reviewed thought having this be non-public was a good idea and so they should weigh in? |
The My use case is to read a FASTQ file with a If you are interested in the reason for reading FASTQ as a SAM file, I have a software for mangaing sources of reads in a SAM-spec compliant way (ReadTools). Not having the availability to implement custom formats makes difficult to integrate with the library - that's why I am trying to push the htsjdk3 version for so long. I would love to contribute with some Finally, API users from |
Another note is that trying to manage FASTQ records/files as SAM/BAM is something that htsjdk community is not interested in. See my PR #572, where I proposed a |
@nh13 Given that we rejected the other reasonable ways to add readers to htsjdk, this seems like a fine solution while we wait for htsjdk3. Do you know of a specific objection this change, or are you simply concerned that there might be a problem that isn't being thought of? |
Going from non-public adds support burden to this project, and so each time it is done, the maintainers should weigh-in in my opinion. I was trying to highlight that opinion. But don't let me block this as long as the maintainers are ok with it. |
@nh13 These classes are already extensible though, so it doesn't really save much support burden by making the rest of the methods public. I agree that in general we should try to make more things private, but the current API's aren't that well designed for extensibility. @magicDGS I don't have any objections to this. I would like to revisit the unified Fastq / SAM record unified interface in htsjdk3 because I'm increasingly thinking that it makes sense. |
@lbergelson I am not arguing that the burden is too high, just that those that maintain it should weigh-in 👍 |
Description
Currently,
SamReader
cannot be implemented for other "types" of data, unless thegetType
method returns any of the supported type implementations (SAM/BAM/CRAM/SRA). Other abstractions are impossible to implement unless some of the method ofType
are implemented, and this is not possible because they aren't public.Checklist