Commit 3f9ad20
Explain empty interfaces.csv instead of writing it silently
When no interface row is produced for a run, process() wrote a zero-byte
interfaces.csv (no header) and still logged "wrote .../interfaces.csv" with
no error, making a genuine "no interface" result indistinguishable from a
parse/load failure (issue #17).
The common case for heterodimers is that AlphaFold placed the chains with
no inter-chain contact within --contact_thresh (default 8 A, Cb-Cb), so no
interface is detected and rows is empty.
Track lightweight per-run diagnostics (models processed, interfaces found,
interfaces dropped by --pae_filter) and emit a WARNING explaining why the
CSV is empty and which knob to relax. File-write behavior is unchanged
(still an empty file) for backward compatibility; only the logging improves.
Add a regression test that runs the AF3 fixture with a sub-Angstrom
contact_thresh and asserts the empty CSV plus the explanatory warning.
Co-Authored-By: Claude Opus 4.8 <[email protected]>1 parent a1b022e commit 3f9ad20
2 files changed
Lines changed: 49 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
73 | 77 | | |
74 | 78 | | |
75 | 79 | | |
76 | 80 | | |
| 81 | + | |
| 82 | + | |
77 | 83 | | |
78 | 84 | | |
79 | 85 | | |
| |||
85 | 91 | | |
86 | 92 | | |
87 | 93 | | |
| 94 | + | |
88 | 95 | | |
89 | 96 | | |
90 | 97 | | |
| |||
161 | 168 | | |
162 | 169 | | |
163 | 170 | | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
164 | 194 | | |
165 | 195 | | |
166 | 196 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
519 | 519 | | |
520 | 520 | | |
521 | 521 | | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
522 | 541 | | |
523 | 542 | | |
524 | 543 | | |
| |||
0 commit comments