Software
BioTSR
BioTSR is the unified software implementation of the Triangular Spatial Relationship (TSR) methodology. One Python package and one command line compute TSR keys for protein structures, amino acids, ligands, carbohydrates and nucleotides, and for the interfaces between them, and compare structures by the keys they share.
- Version
- 1.0.0
- Released
- Licence
- Apache License 2.0
- Python
- 3.9–3.13
- Platforms
- Linux and macOS
On this page
Install
BioTSR 1.0.0 is on PyPI. In an existing Python environment:
python -m pip install "biotsr==1.0.0"Parallel batch processing is part of this standard installation: joblib, the
one runtime dependency, is installed with it, so --jobs works without
anything extra.
The optional plotting extra adds matplotlib, which only the clustered heat-map figure needs:
python -m pip install "biotsr[plot]==1.0.0"BioTSR supports CPython 3.9–3.13 on Linux and macOS. Windows is not supported. The commands are pinned to 1.0.0 so that what you install matches the documentation linked on this page.
Getting started sets up a virtual environment and runs a first calculation. The user guide, §1 covers installation from the GitHub tag and offline installation.
What BioTSR computes
BioTSR runs 20 TSR methods in four groups, all through one shared core for geometry, vertex ordering, binning and key encoding. Each method runs under one standard profile: the TSR science as set by the TSR Research Group.
| Method family | Points that form the triangles | Methods |
|---|---|---|
| Protein Cα | one Cα atom per residue | 2 |
| Atomic — protein | the heavy atoms of amino-acid residues | 5 |
| Atomic — ligand, carbohydrate, nucleotide | the heavy atoms of a molecule, a glycan or a strand | 8 |
| Cross TSR | atoms or Cα atoms on two named sides; every triangle spans both | 5 |
The modifiers described on the method pages are options of these methods, not separate programs:
- amino-acid grouping — the Cα methods;
- SSE annotation (SSE-TSR) — the Cα methods; it annotates triangles and changes no key;
- mirror images — the Cα and atomic methods, not the cross methods;
- size filtering — every method.
Not every TSR research method is part of BioTSR 1.0. The deep neural network and the feature-selection options used in the hsp70/actin comparison, for example, remain separate research code; see Earlier implementations. Each method page says whether BioTSR runs that method, and how. The capability matrix lists exactly what each method supports, and the reproducibility note gives the command for each published method that BioTSR implements.
Command line and Python
Both interfaces drive the same core. Similarity, clustering and plotting are available from Python only in 1.0.
| Task | Command line | Python |
|---|---|---|
| Compute TSR keys, any of the 20 methods | biotsr run | biotsr.analyze; biotsr.analyze_cross for cross methods |
| A dataset from a CSV manifest, in parallel | biotsr batch --jobs | biotsr.batch.run |
| Download PDB-format structures | biotsr fetch | biotsr.fetch_structures |
| Inspect a saved result | biotsr describe | biotsr.load_result |
| Keys shared by a set of samples | biotsr analyze common-keys | biotsr.analysis |
| Similarity measures and clustering | — | biotsr.analysis |
| The clustered heat map | — | biotsr.analysis.render, with the plotting extra |
Documentation
All links point to the documentation released with version 1.0.0.
- Tutorials — eight short walk-throughs, from one protein to clustering; the test suite runs every command in them.
- User guide — installation, every method with an example, and the dataset workflow.
- Command-line guide — every command and option, batches, exit codes, and scripts for HPC clusters.
- Python API guide — running methods, loading results and analysis from Python.
- Capability matrix — which method supports which modifier and arguments.
- Reproducibility note — which command computes which published method.
- Known limitations — what 1.0 does not do, and the input rules it enforces.
- Release notes for 1.0.0
For a first look before the documentation, Learn BioTSR has an interactive lesson and a hands-on notebook built on one ubiquitin example.
BioTSR runs every method under one standard definition and has no option to reproduce the output files of the earlier TSR programs. Where its definition differs from an earlier program's, such as dividing angles by π rather than 3.14 or applying a contact cutoff to both sides of a cross, the method's page says how, and the known limitations, §1 give the general rule.
Questions and problems
For a reproducible bug in BioTSR, open an issue on its GitHub repository and include the command you ran and the message it printed. For questions about which method to use or what a result means, email the group.
Cite BioTSR
Please cite BioTSR and the relevant method publication(s).
Khajouie, P., Rauniyar, K., Raghavan, V. V., & Xu, W. BioTSR (version 1.0.0) [Computer software]. https://github.com/TSRMethod/BioTSR
The “Cite this repository” button on BioTSR's GitHub page gives the same reference in other formats. Each method page on this site links the paper that describes the method.
BioTSR is distributed under the Apache License 2.0, and its notices file lists the third-party code it includes. This licence covers BioTSR only; the earlier implementations and research tools each have their own terms. Licence · Notices
Technical figures
Two reference figures for BioTSR 1.0.0, drawn from its released documentation: which method supports what, and how the package is organised.
Figure: BioTSR 1.0.0 methods and capabilities
Figure: how BioTSR 1.0.0 is organised
Earlier implementations
The programs the TSR methods were first published with, and the separate tools written for particular papers, now have their own page under Methods & research, with each repository and its licence.