Gamgee
You miserable little maggot. I'll stove your head in!
|
Utility class to read multiple VCF/BCF files with an appropriate iterator in a for-each loop. More...
#include <multiple_variant_reader.h>
Public Member Functions | |
MultipleVariantReader (const std::vector< std::string > &filenames, const bool validate_headers=true) | |
enables reading records in multiple files (vcf or bcf) More... | |
MultipleVariantReader (const std::vector< std::string > &filenames, const bool validate_headers, const std::vector< std::string > &samples, const bool include=true) | |
enables reading records in multiple files (vcf or bcf) More... | |
void | init_reader (const std::vector< std::string > &filenames, const bool validate_headers) |
helper function for constructors More... | |
MultipleVariantReader (MultipleVariantReader &&other)=default | |
MultipleVariantReader should never be copied, but it can be moved. More... | |
MultipleVariantReader & | operator= (MultipleVariantReader &&other)=default |
MultipleVariantReader (const MultipleVariantReader &)=delete | |
a MultipleVariantReader cannot be copied safely, as it is iterating over streams. More... | |
MultipleVariantReader & | operator= (const MultipleVariantReader &other)=delete |
ITERATOR | begin () const |
creates an ITERATOR pointing at the start of the input streams (needed by for-each loop) More... | |
ITERATOR | end () const |
creates a default ITERATOR (needed by for-each loop) More... | |
const VariantHeader | combined_header () const |
returns a combined header for the files being read More... | |
InputOrderedVariantHeaderMerger & | get_variant_header_merger () |
return VariantHeaderMerger object More... | |
const std::vector < std::shared_ptr< bcf_hdr_t > > & | get_input_vcf_headers () const |
return vector of input VCF headers More... | |
Utility class to read multiple VCF/BCF files with an appropriate iterator in a for-each loop.
This class is designed to parse files in for-each loops with the following signature:
You can also use it with stdin or any other stream by using the default constructor or passing in an empty string for a filename, like so:
|
inlineexplicit |
enables reading records in multiple files (vcf or bcf)
filenames | the names of the variant files |
validate_headers | should we validate that the header files have identical chromosomes? default = true |
|
inline |
enables reading records in multiple files (vcf or bcf)
filenames | the names of the variant files |
validate_headers | should we validate that the header files have identical chromosomes? (must specify if using this constructor) |
samples | the list of samples you want included/excluded from your iteration |
include | whether you want these samples to be included or excluded from your iteration. default = true (include) |
|
default |
MultipleVariantReader should never be copied, but it can be moved.
|
delete |
a MultipleVariantReader cannot be copied safely, as it is iterating over streams.
|
inline |
creates an ITERATOR pointing at the start of the input streams (needed by for-each loop)
|
inline |
returns a combined header for the files being read
|
inline |
creates a default ITERATOR (needed by for-each loop)
|
inline |
return vector of input VCF headers
|
inline |
return VariantHeaderMerger object
|
inline |
helper function for constructors
filenames | the names of the variant files |
validate_headers | should we validate that the header files have identical chromosomes? |
|
default |
|
delete |