#!/usr/bin/env bash set -euo pipefail if [[ $# -lt 2 ]]; then echo "Usage: $0 [threads] [bttoxin_db_dir]" echo "Example: $0 /home/zly/project/bttoxin-pipeline/tests/test_data .fna 4" echo "Example with external DB: $0 /home/zly/project/bttoxin-pipeline/tests/test_data .fna 4 /home/zly/project/bttoxin-pipeline/external_dbs/bt_toxin" exit 1 fi input_dir="$1" scaf_suffix="$2" threads="${3:-4}" bttoxin_db_dir="${4:-}" cache_dir="$(pwd)/.rattler-cache" mkdir -p "$cache_dir" if [[ -n "$bttoxin_db_dir" ]]; then if [[ -d "$bttoxin_db_dir" ]]; then env_bin="$(RATTLER_CACHE_DIR="$cache_dir" pixi run which BtToxin_Digger | xargs dirname)" ln -sfn "$bttoxin_db_dir" "$env_bin/BTTCMP_db/bt_toxin" else echo "[warn] bttoxin_db_dir not found: $bttoxin_db_dir" >&2 fi fi RATTLER_CACHE_DIR="$cache_dir" pixi run BtToxin_Digger \ --SeqPath "$input_dir" \ --SequenceType nucl \ --Scaf_suffix "$scaf_suffix" \ --threads "$threads"