The Protein / Antibody Developability Screen checks a set of designed or engineered chains for sequence-level liabilities before they go on to costly structure prediction or simulation. Each chain gets a row of plain signals, and every signal has its own pass flag, so you can see exactly why a chain was kept or dropped. There is no composite score.
How it works
A candidate is one protein chain: a sequence record, or a chain of a PDB or CIF structure. For each one the job reports:
| Signal | What it is |
|---|---|
| pI, net charge, mass | Computed with Biopython's ProtParam; net charge is at the pH you set |
| GRAVY | Mean Kyte–Doolittle hydropathy over the chain |
| Instability index | The Guruprasad dipeptide-based index |
| Hydrophobic window | The highest mean Kyte–Doolittle hydropathy over any window of residues you choose |
| Cysteine state | For a sequence, whether the count is even. For a structure chain, whether any cysteine sulfur has no partner within 2.5 Å anywhere in the model, so a heavy–light disulfide counts as paired |
| Liability motifs | Short residue patterns, listed with their position in the chain you submitted and, for antibodies, their region |
The motif rules are first-party and versioned, so a result always says which ruleset produced it:
| Family | Motifs |
|---|---|
| Deamidation | NG, NS, NT, NN, NH |
| Isomerization | DG, DS, DT, DD, DH |
| N-glycosylation | N-X-S/T, where X is not proline |
| Oxidation | M, W |
| Fragmentation | DP |
| Cysteine in a CDR | Any cysteine inside a CDR (antibody preset only) |
Presets
Generic protein scores each whole chain.
Antibody numbers each chain with ANARCI through AbNumber (IMGT, Kabat, or Chothia), scores its variable domain, and reports liabilities in the CDRs apart from those in the framework. It also checks that both canonical variable-domain cysteines are present. A chain that does not number as a heavy, kappa, or lambda variable domain, or that holds several variable domains (an scFv or a bispecific chain), is left unscored, with the reason in the note column. Submit each domain of a multi-domain chain as its own chain.
Reading a pass
Each signal has a pass flag, and a chain passes when no enabled flag is false. You can turn any gate off or set your own bound. The defaults are deliberately modest:
- The instability-index cut-off is the one published boundary the screen uses. It was derived for globular proteins.
- The other generic bounds are starting points, not values calibrated against assay data.
- The antibody preset gates cysteine integrity only by default. Its other signals are reported, so you can rank or gate on them yourself, until bounds are calibrated on approved antibodies.
A pass means a chain has no sequence red flag. It is not a prediction of expression, stability, or immunogenicity.
A chain with non-standard residues, or one the antibody preset cannot number, is unscored and does not pass. A structure passes when it has at least one scored chain and every scored chain passes; unscored chains are listed but do not fail it.
Inputs
- Sequences: FASTA records, or one-letter text with a blank line between sequences. Several sequences can be screened in one run.
- Structures: PDB or CIF files. Only the first model is read. Modified residues and force-field protonation names such as
HID,HIEandCYXread as their parent amino acid, and a residue the screen cannot place, such asUNK, reads asXand leaves its chain unscored. Name the chains to screen, such as an antibody's heavy and light chains, or leave the field empty to screen every protein chain.
Sequences and structures can be mixed in one run.
Outputs
| File | Contents |
|---|---|
developability.csv | One row per chain with every signal, its pass flag, and the overall passed |
passers.fasta | The sequences of every passing chain |
passing_sequences/ | One FASTA file per passing chain |
passing_structures/ | The input structures that passed, unmodified |
summary.json | The settings, the ruleset version, counts, and each structure's verdict |
Chain ids are cleaned to letters, digits, and . _ : | + -, and repeats get _2, _3. File names in the results are cleaned further, so the ZIP extracts on any system: |, : and other characters Windows cannot hold become _.
Chaining
In a workflow, structures from BoltzGen, RFAntibody, FreeBindCraft, or Boltz-2 feed the screen, as do sequences from Sequence Mutator or Binding ΔΔG. The passing sequences can go on to ESMFold2 or Binding ΔΔG, and the passing structures to MM-GBSA Rescoring. If nothing passes, the output is empty and a step that depends on it stops.
Not covered
Immunogenicity, expression, safety, and efficacy are out of scope, as are TCR variable domains. Liability motifs are sequence patterns, not measured chemical risk. Small-molecule drug-likeness is the job of the Drug-likeness & Structural Alerts tool, and structure repair and protonation belong to Protein Preparer.