34 const std::string type_name =
"bed_file";
35 const auto& bedmap = internal_json::extract_typed_object_from_metadata(metadata.
other, type_name);
37 const std::string version_name =
"version";
38 const std::string& vstring = internal_json::extract_string_from_typed_object(bedmap, version_name, type_name);
39 auto version = ritsuko::parse_version_string(vstring.c_str(), vstring.size(),
true);
40 if (version.major != 1) {
41 throw std::runtime_error(
"unsupported version string '" + vstring +
"'");
45 bool indexed = internal_files::is_indexed(bedmap);
46 auto fpath = path /
"file.bed.";
53 internal_files::check_gzip_signature(fpath);
58 internal_files::check_gzip_signature(ixpath);
59 internal_files::check_signature<byteme::GzipFileReader>(ixpath,
"TBI\1", 4,
"tabix");
62 if (options.bed_file_strict_check) {
63 options.bed_file_strict_check(path, metadata, options, indexed);
void validate(const std::filesystem::path &path, const ObjectMetadata &metadata, Options &options)
Definition bed_file.hpp:33