From 466273494290b3dff842b8a78bdc861c2a642d6f Mon Sep 17 00:00:00 2001 From: Omar-A-hassan Date: Thu, 6 Aug 2026 17:05:07 +0300 Subject: [PATCH] fix(utils): assign unique chain IDs when parsing multi-record FASTAs --- src/simplefold/utils/fasta_utils.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/simplefold/utils/fasta_utils.py b/src/simplefold/utils/fasta_utils.py index a64612a..d2598de 100644 --- a/src/simplefold/utils/fasta_utils.py +++ b/src/simplefold/utils/fasta_utils.py @@ -64,11 +64,12 @@ def parse_fasta(path: Path, ccd: Mapping[str, Mol]) -> Target: # noqa: C901 records = list(SeqIO.parse(f, "fasta")) sequences = [] - for seq_record in records: + for i, seq_record in enumerate(records): seq = str(seq_record.seq) + chain_id = chr(ord("A") + i) if i < 26 else f"A{i}" molecule = { "protein": { - "id": "A", # Set a default chain ID + "id": chain_id, "sequence": seq, "modifications": [], "msa": None,