Skip to content
Back to skills

Constraint Inputs

ASecurity

"Prepare and validate ProteinMPNN parsed-PDB JSONL and

  • 247 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 8, 2026
toolspythongobash

Works with

  • cli

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill constraint-inputs --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Constraint Inputs?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Constraint Inputs
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-constraint-inputs/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-constraint-inputs)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: constraint-inputs
description: "Prepare and validate ProteinMPNN parsed-PDB JSONL and
  design-constraint dictionaries for fixed chains, fixed/design-only positions,
  tied or symmetric positions, amino-acid bias, per-residue bias, omitted amino
  acids, and PSSM-guided design."
disable-model-invocation: true
metadata:
  disco-role: operating
license: MIT
---

# ProteinMPNN Constraint Inputs

Use this sub-skill when a user needs to create, inspect, repair, or validate ProteinMPNN constraint input files before running `protein_mpnn_run.py`.

## When To Use

- Parse a folder of `.pdb` files into the `--jsonl_path` parsed-PDB JSONL consumed by ProteinMPNN.
- Choose designed chains and fixed chains with `--chain_id_jsonl`.
- Build fixed-position dictionaries for `--fixed_positions_jsonl`, including the inverted `--specify_non_fixed` workflow for “design only these residues”.
- Tie residues across chains with `--tied_positions_jsonl`, including homooligomer symmetry and positive/negative tied-chain betas.
- Add global amino-acid bias with `--bias_AA_jsonl` or per-residue bias with `--bias_by_res_jsonl`.
- Prepare safe schema guidance for `--omit_AAs`, `--omit_AA_jsonl`, and `--pssm_jsonl` without relying on ad hoc local-path utilities.

## Quick Routing

- For final sequence generation commands, sampling options, score-only mode, and output interpretation, use `../inference-design/`.
- For custom training data layout or model training, use `../training-custom-models/`.
- For constraint JSONL schema, helper commands, and validation, stay here.

## Core Workflow

1. Parse PDBs into one JSON object per line:

```bash
python helper_scripts/parse_multiple_chains.py \
  --input_path data/pdbs/ \
  --output_path constraints/parsed_pdbs.jsonl
```

2. Assign designed chains, for example design chains `A` and `C` while all other parsed chains remain fixed:

```bash
python helper_scripts/assign_fixed_chains.py \
  --input_path constraints/parsed_pdbs.jsonl \
  --output_path constraints/assigned_pdbs.jsonl \
  --chain_list "A C"
```

3. Create one or more constraint dictionaries, validate them with the bundled script, then pass them to `protein_mpnn_run.py`. Set `SKILL_DIR` to this sub-skill directory in the agent skill library.

```bash
python "$SKILL_DIR/scripts/validate_constraint_jsonl.py" \
  --parsed constraints/parsed_pdbs.jsonl \
  --chain-id constraints/assigned_pdbs.jsonl \
  --fixed-positions constraints/fixed_pdbs.jsonl \
  --tied-positions constraints/tied_pdbs.jsonl \
  --bias-aa constraints/bias_pdbs.jsonl \
  --pssm constraints/pssm.jsonl
```

## Required References

- `references/helper-cli-reference.md` lists the helper commands and the ProteinMPNN flags they prepare.
- `references/data-formats.md` defines the JSONL and dictionary shapes accepted by the validator and ProteinMPNN.
- `references/workflows.md` gives copy-adaptable workflows for fixed/design-only positions, tied chains, homooligomers, amino-acid bias, and PSSM inputs.
- `references/troubleshooting.md` covers common constraint mistakes and how to diagnose them.

## Important Rules

- Residue positions in helper-generated constraint files are 1-based positions in the parsed chain sequence, not PDB residue IDs.
- `position_list` uses comma-separated per-chain lists that must align with `chain_list` order.
- Chain letters in every constraint dictionary must match `seq_chain_<chain>` keys in the parsed-PDB JSONL.
- Most helper-generated constraint files are JSONL by extension but contain a single JSON object on one line.
- Homooligomer tied positions assume all tied chains share the same parsed sequence length.
- PSSM `.npz` inputs must provide `<chain>_coef`, `<chain>_bias`, and `<chain>_odds` for each designed chain; bias and odds arrays are length-by-21.

## Exclusions

Do not copy or depend on `helper_scripts/other_tools/make_omit_AA.py` or `helper_scripts/other_tools/make_pssm_dict.py`. Those utilities are hard-coded/ad hoc in the source repo. Use the schemas in `references/data-formats.md` and the validator in `scripts/validate_constraint_jsonl.py` instead.

Files in this skill

  • SKILL.md4 KB
  • references/data-formats.md5.6 KB
  • references/helper-cli-reference.md5.7 KB
  • references/troubleshooting.md5.2 KB
  • references/workflows.md6.6 KB
  • scripts/validate_constraint_jsonl.py15.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.