diff --git a/src/silo/query_engine/filter_expressions/insertion_contains.cpp b/src/silo/query_engine/filter_expressions/insertion_contains.cpp index 89178028f..2ef09e92a 100644 --- a/src/silo/query_engine/filter_expressions/insertion_contains.cpp +++ b/src/silo/query_engine/filter_expressions/insertion_contains.cpp @@ -118,8 +118,8 @@ void from_json(const nlohmann::json& json, std::unique_ptr() > 0), - "The field 'position' in an InsertionContains expression needs to be a positive number (> 0)" + json["position"].is_number_unsigned(), + "The field 'position' in an InsertionContains expression needs to be an unsigned integer" ) CHECK_SILO_QUERY( !json.contains("sequenceName") || json["sequenceName"].is_string(), diff --git a/src/silo/storage/sequence_store.cpp b/src/silo/storage/sequence_store.cpp index e01b03fa4..a54c50da4 100644 --- a/src/silo/storage/sequence_store.cpp +++ b/src/silo/storage/sequence_store.cpp @@ -89,11 +89,6 @@ InsertionEntry parseInsertion(const std::string& value) { try { if (position_and_insertion.size() == 2) { const auto position = boost::lexical_cast(position_and_insertion[0]); - if (position == 0) { - const std::string message = - "Positions are 1-indexed, position of 0 not allowed in insertion: " + value; - throw silo::preprocessing::PreprocessingException(message); - } const auto& insertion = position_and_insertion[1]; return {.position_idx = position, .insertion = insertion}; }