#include <genesis/population/stream/variant_parallel_input_stream.hpp>
Parameters for VariantParallelInputStream::Iterator::joined_variant()
By default, we expect that the Variants of each iterator have the same Variant::reference_base; if not, the function throws an exception. For the Variant::alternative_base, by default we allow different bases, as not every file format contains alternative bases, meaning that it might be set to ‘'N’` instead of the actual value in those file formats. To change the default behaviour, use allow_ref_base_mismatches
and/or allow_alt_base_mismatches
as needed. When a mismatch is allowed, in cases of a mismatch, the returned Variant will contain an ‘'N’` as the base.
We have to decide how to treat input sources that give us Variants with a non-passing status. We can naturally handle non-passing SampleCounts, as their filter setting is just copied over to the joined variant prouced here. That however does not work if the whole variant is non-passing (Variant::status). In that case, we can eiter decide to just copy the samples and everything as-is (default), or to treat the input variant as if it was missing. This is done when treat_non_passing_variants_as_missing
is set to true
. In that case, the samples of that variant are default constructed with empty counts, and their status is set to SampleCountsFilterTag::kMissing.
Lastly, by default, we copy the SampleCounts of all Variant::samples into the resulting Variant. If however these are not needed at the current iterator position any more (that is, if this iterator is not dereferenced or the variants() function is not called) after calling this function, we can instead move them, for efficiency, by providing move_samples == true
.
Definition at line 231 of file variant_parallel_input_stream.hpp.
Public Member Functions | |
JoinedVariantParams () | |
Public Attributes | |
bool | allow_alt_base_mismatches = true |
bool | allow_ref_base_mismatches = false |
bool | move_samples = false |
bool | treat_non_passing_variants_as_missing = false |
|
inline |
Definition at line 235 of file variant_parallel_input_stream.hpp.
bool allow_alt_base_mismatches = true |
Definition at line 239 of file variant_parallel_input_stream.hpp.
bool allow_ref_base_mismatches = false |
Definition at line 238 of file variant_parallel_input_stream.hpp.
bool move_samples = false |
Definition at line 241 of file variant_parallel_input_stream.hpp.
bool treat_non_passing_variants_as_missing = false |
Definition at line 240 of file variant_parallel_input_stream.hpp.