A library for working with phylogenetic and population genetic data.
v0.32.0
VariantParallelInputStream::JoinedVariantParams Struct Reference

#include <genesis/population/stream/variant_parallel_input_stream.hpp>

Detailed Description

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
 

Constructor & Destructor Documentation

◆ JoinedVariantParams()

JoinedVariantParams ( )
inline

Definition at line 235 of file variant_parallel_input_stream.hpp.

Member Data Documentation

◆ allow_alt_base_mismatches

bool allow_alt_base_mismatches = true

Definition at line 239 of file variant_parallel_input_stream.hpp.

◆ allow_ref_base_mismatches

bool allow_ref_base_mismatches = false

Definition at line 238 of file variant_parallel_input_stream.hpp.

◆ move_samples

bool move_samples = false

Definition at line 241 of file variant_parallel_input_stream.hpp.

◆ treat_non_passing_variants_as_missing

bool treat_non_passing_variants_as_missing = false

Definition at line 240 of file variant_parallel_input_stream.hpp.


The documentation for this struct was generated from the following file: