ProteinMotion
Reference navigation
On this page

FUNCTION · v0.9.1

match_backbones

Find the largest ordered residue match under a contact-error limit.

python
from proteinmotion import match_backbones

Signature

python
match_backbones(
    source,
    target,
    *,
    source_chain=None,
    target_chain=None,
    cutoff=8.0,
    softness=1.5,
    max_contact_error=0.3,
    search_seconds=8.0,
    max_candidates=6000,
)

Parameters

ParameterDefaultDescription
sourceRequiredSource Protein.
targetRequiredDestination Protein.
source_chainkeyword onlyNoneSource chain ID; required if several chains contain Cα atoms.
target_chainkeyword onlyNoneTarget chain ID; required if several chains contain Cα atoms.
cutoffkeyword only8.0Distance cutoff in ångströms.
softnesskeyword only1.5Width of the soft contact transition in ångströms.
max_contact_errorkeyword only0.3Maximum discrepancy between matched soft contacts, in [0, 1].
search_secondskeyword only8.0Branch-and-bound time budget in seconds; preparation is additional.
max_candidateskeyword only6000Candidate correspondence limit; None searches all candidates up to the safety limit.

Returns: ContactMatch

Notes

For equally sized matches, the search minimizes contact-map discrepancy. Check the report for full-space, candidate-restricted, or time-limited optimality. Each input must resolve to one chain with at least three Cα atoms. The shorter chain supports at most 800 Cα residues; full candidate search supports at most 30,000 pairings.

Example and output

Run this command from a repository checkout.

Code Render command
bash
proteinmotion render examples/backbone_morph.py BackboneDemo \
  -o morph.mp4 --fps 60
Output Preview · 11.5 s · 30 fps
Calmodulin to troponin C morph

A contact-map match selects 114 Cα pairs. Matched residues move in sequence from N to C; unmatched residues fade out or in.