#!/bin/sh
set -eu

cd "$AUTOPKGTEST_TMP"
export MPLBACKEND=Agg
export MPLCONFIGDIR="$AUTOPKGTEST_TMP/matplotlib"
dnachisel --help
python3 - <<'PY'
from Bio import SeqIO
from dnachisel import annotate_record, DnaOptimizationProblem, sequence_to_biopython_record

record = sequence_to_biopython_record("AAAAAGGTCTCAAAAA")
annotate_record(record, label="@no(BsaI_site)")
problem = DnaOptimizationProblem.from_record(record, logger=None)
assert not problem.all_constraints_pass()
SeqIO.write(record, "input.gb", "genbank")
PY
dnachisel input.gb output.gb --mute --with_sequence_edits
python3 - <<'PY'
from dnachisel import AvoidPattern, DnaOptimizationProblem, load_record

record = load_record("output.gb")
problem = DnaOptimizationProblem(
    sequence=str(record.seq), constraints=[AvoidPattern("BsaI_site")], logger=None
)
assert len(record.seq) == len("AAAAAGGTCTCAAAAA")
assert str(record.seq) != "AAAAAGGTCTCAAAAA"
assert problem.all_constraints_pass()
assert any(feature.qualifiers.get("is_edit") == ["true"] for feature in record.features)
PY
