A 'filter' is a pair of a BucketComparisons value and a boolean condition on the values output by the comparison.
A 'filter' is a pair of a BucketComparisons value and a boolean condition on the values output by the comparison. The BucketComparisons object is specified by name, and parsed by the findGenerator method in DefaultComparisons that maps strings to BucketComparisons objects.
The boolean condition is specified by an operator { !=, =, <, > } and a value (which is an integer, floating point number, pair specified by the '(value,value)' notation, or boolean).
For example, "positions!=0" would specify those reads whose corresponding distance between files was non-zero.
Again, "dupemismatch=(1,0)" would specify those reads which are marked as a duplicate in the first file and _not_ in the second file.
A String conforming to the regex "[^^!=<>]+(!=|=|<|>).*"
A GeneratorFilter object which contains both the BucketComparisons value and the filter condition.
FindReads is an auxiliary command to CompareADAM -- whereas CompareADAM takes two ADAM files (which presumably contain the same reads, processed differently), joins them based on read-name, and computes aggregates of one or more metrics (BucketComparisons) across those joined reads -- FindReads performs the same join-and-metric-computation, but takes a second argument as well: a boolean condition on the value(s) of the metric(s) computed. FindReads then outputs just the names of the reads whose metric values(s) meet the given condition.
So, for example, CompareADAM might be used to find out that the same reads processed through two different pipelines are aligned to different locations 3% of the time.
FindReads would then allow you to output the names of those 3% of the reads which are aligned differently, using a filter expression like "positions!=0".