-
Notifications
You must be signed in to change notification settings - Fork 21
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
Remove PileupFilter and revamp InputFilters #605
Conversation
- LociParser → ParsedLoci, removed state+mutation pattern, leaving an object that just wraps loci, after we've parsed strings, but before we have contig-lengths / a LociSet - uses ParsedLociRange and ParsedLociRanges classes, which encapsulate "all loci" special-casing. - parseLoci method is moved in there, since it's basically a constructor for a ParsedLoci. - removed all non-test calls of unsafe ParsedLoci.result and LociSet(String), that assume no contig-lengths are needed because provided ranges will be closed. - changed some callers to reflect that the ReadSets() call now integrates building loci and filters in addition to loading read-sets. - move a couple of InputFilters ctors that were only used in tests to TestInputFilters
Looks great, thanks for cleaning all this up. While reviewing I was inspired to do a further loci-parsing refactor that I'd attempted and failed a few times in the past, but finally cracked this time: #606. A couple small things in #606 are separable and more like bona-fide tweaks to what is here, but on the whole it's a separate PR and can be reviewed/merged as such. I opened #606 against this in case you want to merge it in here, but if not you can just merge this and I'll send out #606 as a fresh PR. |
loci-parsing refactor
This PR:
PileupFilter
files and usage fromSomaticStandard
ReadFilterArgs
which has flags to set properties ofInputFilters
LociArgs
andReadFilterArgs
tied to read inputs hierarchy as opposed to partitioning.InputFilters
to tie in with arg-parsing and removing some defaultsLociParser
result inNone
when no loci are specified and removing thefallback
arguments as sometimes this strings were incorrectly specified.InputFilters
in a few cases. In 3bcca66SomaticStandard
went from removing duplicate and failed reads to including them because of a default filter argument, so I wanted to avoid that.