#!/bin/bash
# 以洞穴种 T. rosa 为锚，DIAMOND 双向最佳命中(RBH)求 1:1 直系同源。
set -euo pipefail
S="$1"; ENV="$2"; THREADS="${3:-2}"
export PATH="$ENV/bin:$PATH"
ANCHOR=GCF_024868665.1
OTHERS="GCF_015846415.1 GCA_008369825.1 GCF_947034865.1 GCF_027580225.2 GCF_052040795.1"
mkdir -p "$S/orth"
for acc in $ANCHOR $OTHERS; do
  [ -f "$S/orth/$acc.dmnd" ] || diamond makedb --in "$S/prep/$acc.faa" -d "$S/orth/$acc" --quiet
done
for acc in $OTHERS; do
  [ -f "$S/orth/${ANCHOR}_vs_$acc.tsv" ] || diamond blastp -q "$S/prep/$ANCHOR.faa" -d "$S/orth/$acc" \
     -o "$S/orth/${ANCHOR}_vs_$acc.tsv" --max-target-seqs 1 --evalue 1e-10 --threads "$THREADS" \
     --outfmt 6 qseqid sseqid pident evalue bitscore qcovhsp scovhsp --quiet
  [ -f "$S/orth/${acc}_vs_$ANCHOR.tsv" ] || diamond blastp -q "$S/prep/$acc.faa" -d "$S/orth/$ANCHOR" \
     -o "$S/orth/${acc}_vs_$ANCHOR.tsv" --max-target-seqs 1 --evalue 1e-10 --threads "$THREADS" \
     --outfmt 6 qseqid sseqid pident evalue bitscore qcovhsp scovhsp --quiet
done
echo "diamond done"
