Tag class to assign a filter status to a Variant or SampleCounts.
This class provides a 32bit uint as a status tag or indicator to keep track of whether a sample or a position passed all filters, or, if not, which filter failed. It is initialized to 0, meant to indicate that the data is good and to be used. Any value other than 0 shall be interpreted to mean that this data does not meet certain criteria (it did not pass a filter), and is hence to be ignored in any downstream computations and analyses. This is used in some of the filters and processing.
The status can be set() once, but has to be reset() afterwards if a different value is needed. This is meant as a protection to accidentally overwrite the filter status when a filter has already been considered to not pass. Hence, when testing and applying a filter, the status needs to be checked before, so that new filters are only applied to data that are yet still passing.
We currently offer the value to be general as far as the data is concerned, meaning that the interpretation of any value other than 0 is left up to the user. However, for the filter functions that offered here, we use the VariantFilterTag and SampleFilterTag enums, and recommend to stick to this as well, unless extra filter types are needed.
Definition at line 65 of file filter_status.hpp.