A library for working with phylogenetic and population genetic data.
v0.32.0
VariantFilterNumericalParams Struct Reference

#include <genesis/population/filter/variant_filter_numerical.hpp>

Detailed Description

Definition at line 55 of file variant_filter_numerical.hpp.

Public Attributes

size_t deletions_count_limit = 0
 Maximum number of deletions at a position before being filtered out. More...
 
size_t max_read_depth = 0
 Maximum read depth expected for the whole Variant to be considered covered. More...
 
size_t min_read_depth = 0
 Minimum read depth expected for the whole Variant to be considered covered. More...
 
bool only_biallelic_snps = false
 Filter if the Variant does not have exactly two alleles. More...
 
bool only_snps = false
 Filter if the Variant does not have two or more alleles. More...
 
size_t snp_max_count = 0
 Maximum count for each nucleotide to be considered a SNP for the whole Variant. More...
 
double snp_min_allele_frequency = 0.0
 Minimum allele frequency that needs to be achieved. More...
 
size_t snp_min_count = 0
 Minimum count for each nucleotide to be considered a SNP for the whole Variant. More...
 

Member Data Documentation

◆ deletions_count_limit

size_t deletions_count_limit = 0

Maximum number of deletions at a position before being filtered out.

If this is set to a value greater than 0, and the sum of deletions at the position (determined by their SampleCounts::d_count) is equal to or greater than this value, the position is filtered out.

See also
VariantFilterTag::kAboveDeletionsCountLimit

Definition at line 92 of file variant_filter_numerical.hpp.

◆ max_read_depth

size_t max_read_depth = 0

Maximum read depth expected for the whole Variant to be considered covered.

If the provided value is greater than 0, and the sum of nucleotide counts (A, C, G, T) across all samples is greater than the provided value, the Variant is filtered out. This is meant to exclude positions with spuriously high read_depth that might reuslt from repeat regions and other spurious data.

See also
VariantFilterTag::kAboveMaxReadDepth

Definition at line 81 of file variant_filter_numerical.hpp.

◆ min_read_depth

size_t min_read_depth = 0

Minimum read depth expected for the whole Variant to be considered covered.

If the sum of nucleotide counts (A, C, G, T) across all samples is less than the provided value, the Variant is not considered sufficiently covered.

See also
VariantFilterTag::kBelowMinReadDepth

Definition at line 69 of file variant_filter_numerical.hpp.

◆ only_biallelic_snps

bool only_biallelic_snps = false

Filter if the Variant does not have exactly two alleles.

This is closely related to only_snps, but filters for Variants where the number of nucleotide counts above zero is exactly two - that is, if there are only reads of two of A, C, G, T in the Variant. If snp_min_count or snp_max_count are given, these are also taken into account to determine the SNP status of the position.

See also
VariantFilterTag::kNotBiallelicSnp

Definition at line 118 of file variant_filter_numerical.hpp.

◆ only_snps

bool only_snps = false

Filter if the Variant does not have two or more alleles.

A Variant is a SNP if at least two of the A, C, G, T counts of the merged samples are above zero.

See also
VariantFilterTag::kNotSnp

Definition at line 106 of file variant_filter_numerical.hpp.

◆ snp_max_count

size_t snp_max_count = 0

Maximum count for each nucleotide to be considered a SNP for the whole Variant.

If only_snps or only_biallelic_snps is given, the bases that are considered for that need to have at most snp_max_count count. This is probably not really needed in practice, but included here for completeness.

See also
VariantFilterTag::kAboveSnpMaxCount

Definition at line 139 of file variant_filter_numerical.hpp.

◆ snp_min_allele_frequency

double snp_min_allele_frequency = 0.0

Minimum allele frequency that needs to be achieved.

Only applied if only_snps or only_biallelic_snps is set. Then, the allele frequency at the position is computed based on the counts of two bases: If the Variant has a Variant::reference_base and Variant::alternative_base, those are used. If either the alternative or both bases are missing, the respective bases with the highest counts are used instead. From these, the allele frequency af is computed. If af or 1.0 - af is below this snp_min_allele_frequency, the filter is considered failed. This hence only tests for biallelic frequencies.

See also
VariantFilterTag::kBelowMinAlleleFreq

Definition at line 154 of file variant_filter_numerical.hpp.

◆ snp_min_count

size_t snp_min_count = 0

Minimum count for each nucleotide to be considered a SNP for the whole Variant.

If only_snps or only_biallelic_snps is given, the bases that are considered for that need to have at least snp_min_count count.

See also
VariantFilterTag::kBelowSnpMinCount

Definition at line 128 of file variant_filter_numerical.hpp.


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