1 #ifndef GENESIS_POPULATION_FORMAT_VCF_HEADER_H_
2 #define GENESIS_POPULATION_FORMAT_VCF_HEADER_H_
40 #include <unordered_map>
51 namespace population {
59 template<
typename S,
typename T >
60 class VcfFormatIterator;
118 template<
typename S,
typename T >
144 explicit VcfHeader( std::string
const& mode );
160 explicit VcfHeader( ::bcf_hdr_t* bcf_hdr );
185 ::bcf_hdr_t
const*
data()
const
223 std::unordered_map<std::string, std::string>
get_chromosome_values( std::string
const& chrom_name )
const;
251 std::unordered_map<std::string, std::string>
get_filter_values( std::string
const&
id )
const;
261 bool has_filter( std::string
const&
id )
const;
300 std::unordered_map<std::string, std::string>
get_info_values( std::string
const&
id )
const;
335 bool has_info( std::string
const&
id )
const;
399 std::unordered_map<std::string, std::string>
get_format_values( std::string
const&
id )
const;
434 bool has_format( std::string
const&
id )
const;
504 std::vector<std::string>
const& sample_names,
505 bool inverse_sample_names =
false
518 std::vector<std::string> get_hrec_ids_(
int hl_type )
const;
524 std::unordered_map<std::string, std::string> get_hrec_values_(
525 int hl_type, std::string
const&
id
532 VcfSpecification get_specification_(
int hl_type, std::string
const&
id)
const;
549 int hl_type, std::string
const&
id,
552 bool with_number,
size_t number
574 static void check_value_return_code_(
575 ::bcf_hdr_t* header, std::string
const&
id,
int ht_type,
int hl_type,
int return_value
584 ::bcf_hdr_t* header_ =
nullptr;
590 #endif // htslib guard
591 #endif // include guard