Proto is not affiliated with University of Southern California. This toolkit is open source and builds on the implementation produced by this organization. Product names, logos, and trademarks are the property of their respective owners.
Background
Sequence-specific recognition of DNA by proteins underlies transcriptional regulation, and predicting a protein’s binding preference directly from a co-crystal structure is a long-standing goal. DeepPBS (Mitra et al., 2024) applies geometric deep learning over a graph representation of the protein-DNA interface to predict per-position base preferences that generalize across protein families, on experimental or predicted complex structures. The model consumes a processed representation of the complex built from DSSR/X3DNA geometry, so the wrapper depends on a local DeepPBS repository and a local X3DNA install.Learning Resources
- DeepPBS GitHub repository - source code, processing scripts, and pretrained weights.
- DeepPBS paper (Nature Methods, 2024) - the method, benchmarks, and applications.
Tools
DeepPBS Specificity (deeppbs-specificity)
Runs DeepPBS preprocessing and prediction on each input protein-DNA structure and returns, per structure, a canonical DNA PPM (L x 4, A,C,G,T order), the true DNA sequence indices, residue and DNA masks, per-base chain labels, and the path to a canonical .npz artifact. When a required DeepPBS dependency (the X3DNA x3dna-dssr/analyze binaries) is missing, or preprocessing or prediction fails to produce output, the tool raises by default. Set allow_fallback=True to instead emit a conservative fallback result: a uniform PPM (0.25 per base) derived from the DNA residues in the input PDB, flagged with used_fallback=True and a human-readable fallback_reason.API Reference
Input: DeepPBSSpecificityInput
Input: DeepPBSSpecificityInput
Config: DeepPBSSpecificityConfig
Config: DeepPBSSpecificityConfig
True is coerced to 1 and False to 0.None waits indefinitely.BaseToolOutput.approx_equal), and the seed participates in cache keys. When None, cacheable seed-sensitive tools skip cache until seeded.Output: DeepPBSSpecificityOutput
Output: DeepPBSSpecificityOutput
inputs.pdb_paths.Applications
- Estimating the DNA base preference of a designed or natural protein-DNA complex.
- Scoring protein-DNA designs for specificity against a target motif.
- Generating canonical PPMs for downstream motif comparison.
Usage Tips
- Inputs are full protein-DNA PDB structures. Provide a clean co-crystal containing both DNA strands; missing strands or non-standard residues can trigger the fallback path.
- DeepPBS, X3DNA, and the weights are provisioned for you. The standalone setup clones a pinned revision of the DeepPBS repository (which bundles the X3DNA/DSSR binaries, the process/predict configs, and the trained inference weights) into the managed weights cache and installs it, so no repository or X3DNA path is configured. Point
PROTO_DEEPPBS_SPECIFICITY_WEIGHTS_DIRat an existing checkout to reuse it. - Fallback is opt-in. By default a missing dependency or failed run raises; pass
allow_fallback=Trueto get a uniform fallback PPM instead. Aused_fallback=Trueresult carries a uniform PPM, not a real prediction.
Toolkit Notes
- The DeepPBS checkout is self-contained and auto-provisioned. The standalone setup clones a pinned DeepPBS revision (bundling the X3DNA/DSSR binaries, configs, and inference weights) into the managed weights cache and installs it editable. The tool shells out to those local scripts and binaries, so it cannot run on
device='proto'. If the clone cannot reach GitHub, the environment setup signals a clean test skip rather than a hard failure. - Failures raise by default. When a dependency is missing or processing fails, the tool raises; set
allow_fallback=Trueto instead return a uniform fallback PPM flagged withused_fallbackso downstream code can filter or re-run. - Results are index-aligned with the input. Each result corresponds to the input structure at the same position.

USC