|
A library for working with phylogenetic and population genetic data.
v0.27.0
|
|
Go to the documentation of this file. 1 #ifndef GENESIS_POPULATION_FORMATS_VARIANT_INPUT_ITERATOR_H_
2 #define GENESIS_POPULATION_FORMATS_VARIANT_INPUT_ITERATOR_H_
50 namespace population {
61 class VariantParallelInputIterator;
135 #ifdef GENESIS_HTSLIB
152 std::string
const& filename,
156 #endif // GENESIS_HTSLIB
168 std::string
const& filename,
169 SimplePileupReader
const& reader = SimplePileupReader{}
186 std::string
const& filename,
187 std::vector<size_t>
const& sample_indices,
188 bool inverse_sample_indices =
false,
189 SimplePileupReader
const& reader = SimplePileupReader{}
199 std::string
const& filename,
200 std::vector<bool>
const& sample_filter,
201 SimplePileupReader
const& reader = SimplePileupReader{}
213 std::string
const& filename
229 std::string
const& filename,
230 std::vector<size_t>
const& sample_indices,
231 bool inverse_sample_indices =
false
242 std::string
const& filename,
243 std::vector<bool>
const& sample_filter
251 #ifdef GENESIS_HTSLIB
276 std::string
const& filename,
277 bool only_biallelic =
true,
278 bool only_filter_pass =
true
289 std::string
const& filename,
290 std::vector<std::string>
const& sample_names,
291 bool inverse_sample_names =
false,
292 bool only_biallelic =
true,
293 bool only_filter_pass =
true
311 std::string
const& filename,
312 bool use_allelic_depth =
false,
313 bool only_biallelic =
true,
314 bool only_filter_pass =
true
325 std::string
const& filename,
326 std::vector<std::string>
const& sample_names,
327 bool inverse_sample_names =
false,
328 bool use_allelic_depth =
false,
329 bool only_biallelic =
true,
330 bool only_filter_pass =
true
333 #endif // GENESIS_HTSLIB
355 VariantParallelInputIterator
const& parallel_input,
356 bool allow_ref_base_mismatches =
false,
357 bool allow_alt_base_mismatches =
true,
358 std::string
const& source_sample_separator =
":"
364 #endif // include guard
Type erasure for iterators, using std::function to eliminate the underlying input type.
VariantInputIterator make_variant_input_iterator_from_sync_file(std::string const &filename)
Create a VariantInputIterator to iterate the contents of a PoPoolation2 sync file as Variants.
Container namespace for all symbols of genesis in order to keep them separate when used as a library.
VariantInputIterator make_variant_input_iterator_from_individual_vcf_file(std::string const &filename, bool use_allelic_depth, bool only_biallelic, bool only_filter_pass)
Create a VariantInputIterator to iterate the contents of a VCF file as Variants, treating each sample...
VariantInputIterator make_variant_input_iterator_from_sam_file(std::string const &filename, SamVariantInputIterator const &reader)
Create a VariantInputIterator to iterate the contents of a SAM/BAM/CRAM file as Variants.
utils::LambdaIterator< Variant, VariantInputIteratorData > VariantInputIterator
Iterate Variants, using a variety of input file formats.
VariantInputIterator make_variant_input_iterator_from_pool_vcf_file(std::string const &filename, bool only_biallelic, bool only_filter_pass)
Create a VariantInputIterator to iterate the contents of a VCF file as Variants, treating each sample...
VariantInputIterator make_variant_input_iterator_from_pileup_file(std::string const &filename, SimplePileupReader const &reader)
Create a VariantInputIterator to iterate the contents of a (m)pileup file as Variants.
VariantInputIterator make_variant_input_iterator_from_variant_parallel_input_iterator(VariantParallelInputIterator const ¶llel_input, bool allow_ref_base_mismatches, bool allow_alt_base_mismatches, std::string const &source_sample_separator)
Create a VariantInputIterator to iterate multiple input sources at once, using a VariantParallelInput...