A library for working with phylogenetic and population genetic data.
v0.32.0
function/variant_input_stream.hpp File Reference
#include "genesis/population/stream/variant_input_stream.hpp"
#include "genesis/population/function/genome_locus.hpp"
#include "genesis/population/genome_locus.hpp"
#include "genesis/population/variant.hpp"
#include "genesis/sequence/functions/dict.hpp"
#include "genesis/sequence/sequence_dict.hpp"
#include <functional>
#include <memory>
#include <stdexcept>
#include <string>
#include <vector>

Go to the source code of this file.

Namespaces

 genesis
 Container namespace for all symbols of genesis in order to keep them separate when used as a library.
 
 genesis::population
 

Enumerations

enum  SubsamplingMethod { kSubscale, kSubsampleWithReplacement, kSubsampleWithoutReplacement }
 Select which method to use for reducing the max read depth of a SampleCounts sample or a Variant. More...
 

Functions

std::vector< bool > make_sample_name_filter (std::vector< std::string > const &sample_names, std::vector< std::string > const &names_filter, bool inverse_filter=false)
 Create a filter for samples, indicating which to keep. More...
 

Variables

std::function< void(Variant &)> make_variant_input_stream_sample_name_filter_transform (std::vector< bool > const &sample_filter)
 Helper function to create a Variant transform to filter out samples. More...
 
std::function< void(Variant &)> make_variant_input_stream_sample_subsampling_transform (size_t max_depth, SubsamplingMethod method=SubsamplingMethod::kSubscale)
 Create a Variant transformation function that subscales or subsamples the base counts to be below a given max_depth. More...
 
std::function< void(Variant const &)> make_variant_input_stream_sequence_length_observer (std::shared_ptr< genesis::sequence::SequenceDict > sequence_dict)
 Helper function to check that some Variant input has positions that agree with those reported in a SequenceDict. More...
 
std::function< void(Variant const &)> make_variant_input_stream_sequence_order_observer (std::shared_ptr< genesis::sequence::SequenceDict > sequence_dict={}, bool check_sequence_lengths=true)
 Helper function to check that some Variant input is sorted properly. More...