|
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 |
1.8.8