34 const std::string& vstring = internal_json::extract_version_for_type(metadata.
other,
"bcf_file");
35 auto version = ritsuko::parse_version_string(vstring.c_str(), vstring.size(),
true);
36 if (version.major != 1) {
37 throw std::runtime_error(
"unsupported version string '" + vstring +
"'");
42 auto ipath = path /
"file.bcf";
43 internal_files::check_gzip_signature(ipath);
44 internal_files::check_signature<byteme::GzipFileReader>(ipath,
"BCF", 3,
"BCF");
49 if (std::filesystem::exists(ixpath)) {
50 internal_files::check_gzip_signature(ixpath);
51 internal_files::check_signature<byteme::GzipFileReader>(ixpath,
"TBI\1", 4,
"tabix");
57 if (std::filesystem::exists(ixpath)) {
58 internal_files::check_gzip_signature(ixpath);
59 internal_files::check_signature<byteme::GzipFileReader>(ixpath,
"CSI\1", 4,
"CSI index");
void validate(const std::filesystem::path &path, const ObjectMetadata &metadata, Options &options)
Definition bcf_file.hpp:33