Mirror-Image TSR
Extends TSR with keys that distinguish a triangle from its mirror image, so that stereochemistry is captured rather than lost.
Read the paper: Introducing mirror-image discrimination capability to the TSR-based method for capturing stereo geometry and understanding hierarchical structure relationships of protein receptor family (opens in a new tab)Computational Biology and Chemistry, 2023

On this page
Overview
Building on the Triangular Spatial Relationship (TSR) method, Mirror-Image TSR addresses a key limitation: the inability to distinguish between triangles that are mirror images of each other. This distinction is critical, as many biological processes are stereospecific, with molecules such as enzymes and receptors showing preferences for particular geometric arrangements of atoms.
Mirror-Image TSR extends the original approach by incorporating keys that account for the chirality of protein structures. Chirality refers to the geometric property where molecules, despite having the same atomic connectivity, exist as non-superimposable mirror images. This is particularly important in drug development, where enantioselectivity plays a crucial role in determining the function of pharmaceuticals.
By modifying the key generation formula to include mirror-image recognition, Mirror-Image TSR captures the stereochemical properties of protein structures, enabling discrimination between enantiomers. This provides greater precision in identifying dynamic structural changes and molecular recognition processes, making it a useful tool for analysing stereochemistry in proteins and their interactions with ligands and drugs.
Run it with BioTSR
Mirror-image keys are an option of BioTSR's single-structure methods,
--mirror. To compute them for chain A of ubiquitin:
python -m pip install "biotsr==1.0.0"
biotsr fetch 1UBQ --pdb-dir structures
biotsr run --method protein --pdb structures/1UBQ.pdb --chain A --mirror --output resultsA triangle's key is negated when its angle θ, before it is folded into 0–90°,
exceeds 90°, so a triangle and its mirror image receive keys of opposite sign.
For ubiquitin chain A the 70,300 triangles give 51,913 distinct keys, 24,909 of
them negative, against 45,349 without the option. The files are written under
the prefix results/1UBQ_A_protein_mirror, and the category column of the keys
file reads mirror.
- Which methods take it: both protein Cα methods and all 13 atomic methods, from single amino acids to ligands, carbohydrates and nucleotides. The five cross methods refuse it; no earlier cross program had a mirror convention.
- From Python:
biotsr.analyze(..., mirror=True). - Comparing results: mirror keys are a different key space from unsigned keys, and BioTSR will not compare the two.
- Compared with the earlier package: where BioTSR's protein Cα conventions differ from TSR-Package's, such as dividing angles by π rather than 3.14, the TSR method page lists the differences.
| Option | Protein Cα2 methods | Atomic: amino acids5 methods | Atomic: ligands, carbohydrates, nucleotides8 methods | Cross TSR5 methods | Effect on keys |
|---|---|---|---|---|---|
Amino acid grouping--aa-grouping | all methods | not available | not available | not available | Grouped residue labels: a different key space. |
Secondary structure (SSE-TSR)--sse | all methods | not available | not available | not available | Keys unchanged; each key’s count is split over 18 categories. |
Mirror images--mirrorthis page | all methods | all methods | all methods | not available | A key is negated when its angle before folding exceeds 90°: a different key space. |
Size filtering--size-filter | all methods | all methods | all methods | all methods | Same keys; triangles whose longest edge is at or above the cutoff are left out. |
Contact cutoff--contact-cutoff | not available | not available | not available | all methods | Chooses which atoms on each side take part; not a key change. |
Tutorial 01
runs the option beside the other Cα options, and the
user guide, §11
describes every option. For many structures, biotsr batch runs a CSV manifest
(tutorial 05).
Source code
BioTSR (opens on GitHub)
Current software
Used by the examples on this page.
Licence Apache License 2.0
TSR-Package (opens on GitHub)
Earlier implementation
Mirror-image keys were first implemented here, as the mirror_image argument of the TSR() function. It is kept unchanged for provenance and for work that depends on it; its README has its own installation instructions.
Licence MIT License