Introduces a complete query benchmark track to evaluate performance and verify consistency between dense and sparse index formats. Adds scripts to simulate fixed-size paired-end reads, pack a sparse presence index, execute queries in both modes, and capture wall time and RSS metrics. Includes a verification step that compares outputs by read ID to ensure content identity across parallel processing. Updates build configuration, documentation, and ignore patterns to support the new pipeline for two microbial specimens.
29 lines
834 B
Bash
Executable File
29 lines
834 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Usage: verify_query_one.sh SPECIMEN
|
|
# SPECIMEN = "species--strain" (Make pattern stem)
|
|
# Output: stats/verify_query/SPECIMEN.stats (one CSV data row, no header)
|
|
set -euo pipefail
|
|
|
|
SPECIMEN="$1"
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PYTHON="${SCRIPT_DIR}/../.venv/bin/python3"
|
|
VERIFY_PY="${SCRIPT_DIR}/verify_query.py"
|
|
|
|
species="${SPECIMEN%%--*}"
|
|
strain="${SPECIMEN#*--}"
|
|
|
|
DENSE="${SCRIPT_DIR}/query_dense/${SPECIMEN}.fasta.gz"
|
|
SPARSE="${SCRIPT_DIR}/query_sparse/${SPECIMEN}.fasta.gz"
|
|
STATS_DIR="${SCRIPT_DIR}/stats/verify_query"
|
|
STATS_FILE="${STATS_DIR}/${SPECIMEN}.stats"
|
|
|
|
mkdir -p "${STATS_DIR}"
|
|
|
|
echo "[${SPECIMEN}] verifying query (dense vs sparse)"
|
|
|
|
"${PYTHON}" "${VERIFY_PY}" \
|
|
--species "${species}" \
|
|
--strain "${strain}" \
|
|
"${DENSE}" "${SPARSE}" \
|
|
>"${STATS_FILE}"
|