Amino Acid Grouping TSR
Groups amino acids by structural similarity before generating keys, so that related substructures match even when the residues themselves differ.
Read the paper: Exploring the effectiveness of the TSR-based protein 3-D structural comparison method for protein clustering, and structural motif identification and discovery of protein kinases, hydrolases, and SARS-CoV-2's protein via the application of amino acid grouping (opens in a new tab)Computational Biology and Chemistry, 2021

On this page
Overview
Amino acid grouping was introduced to improve the accuracy of identifying structurally conserved regions across proteins. By grouping amino acids according to their structural similarities, the method better captures global structural similarities and makes it easier to discover conserved motifs, which are important for understanding protein function.
Applied to the Triangular Spatial Relationship (TSR)-based method, amino acid grouping has been shown to modestly improve the accuracy of protein clustering in specific cases. It also aids in identifying key substructures, referred to as common and specific keys. Common keys represent substructures shared among different types of proteins, while specific keys belong to a particular protein type, giving deeper insight into structural relationships.
The work also demonstrates that amino acid grouping helps uncover conserved binding sites, such as those found in proteins involved in viral infections including SARS-CoV-2. These findings are relevant to antiviral drug design, where identifying critical structural features supports therapeutic targeting.
Run it with BioTSR
Amino acid grouping is an option of BioTSR's protein Cα method,
--aa-grouping. To compute grouped keys 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 --aa-grouping --output resultsThe run forms the same 70,300 triangles as an ungrouped one, but they produce
26,395 distinct keys rather than 45,349, because residues in the same group now
share a label. The files are written under the prefix
results/1UBQ_A_protein_aagroup.
- Which methods take it: the two protein Cα methods,
proteinandaa_selection(the Cα atoms of residues you list). Every other method refuses the option. - From Python:
biotsr.analyze(..., aa_grouping=True). - Comparing results: grouped and ungrouped keys are different key spaces, and BioTSR will not compare a grouped result with an ungrouped one.
| Option | Protein Cα2 methods | Atomic: amino acids5 methods | Atomic: ligands, carbohydrates, nucleotides8 methods | Cross TSR5 methods | Effect on keys |
|---|---|---|---|---|---|
Amino acid grouping--aa-groupingthis page | 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--mirror | 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. |
For many structures, a two-column CSV of protein IDs and chains, as the
earlier package used, works as a BioTSR manifest; --download-missing fetches
any structure not yet in the folder:
protein,chain
1GTA,A
1GTB,A
1LBE,Abiotsr batch --manifest sample_details.csv --method protein --aa-grouping --pdb-dir structures --download-missing --output resultsTutorial 01 runs grouping beside the other Cα options, and the user guide, §11 describes every option.
Grouped labels in BioTSR
BioTSR keeps the 13 groups of the standard amino acids. Selenomethionine (MSE) takes methionine's group, and each other supported modified residue keeps a label of its own: 23 grouped labels in all, encoded at radix 30. The earlier implementation encoded its 13 groups within the ungrouped 20-label space, so the same grouped triangle receives a different integer in the two programs; SSE-TSR §7 lists this with BioTSR's other conventions.
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
Grouping was first implemented here, as the aa_grouping 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