Skip to main content

A Python package for calculating tissue-specificity metrics for gene expression.

Project description



tspex is a tissue-specificity calculator tool. It provides both an easy-to-use object-oriented Python API and a command-line interface (CLI) for calculating a variety of tissue-specificity metrics from gene expression data.

tspex features include:

  • Twelve different tissue-specificity metrics.
  • Integration with popular data analysis libraries, such as NumPy, SciPy, and pandas.
  • Visualization functions.
  • Support for Jupyter notebooks.

Web version

tspex can be used through a web interface that is freely available online at The source code of the web app can be found at


A complete documentation for tspex can be found at


There are two ways to install tspex:

  • Using pip:
pip install tspex
  • Using conda:
conda install -c conda-forge -c bioconda tspex

Python API tutorial

For a detailed guide on how to use the Python API, please check the Jupyter notebook tutorial.

Command-line interface

tspex can be executed from the command line using the tspex command. It takes an expression matrix file as input and outputs the computed tissue-specificity values.

usage: tspex [-h] [-l] [-d] [-t THRESHOLD] input_file output_file method

Compute gene tissue-specificity from an expression matrix and save the output.

positional arguments:
  input_file            Expression matrix file in the TSV, CSV or Excel
  output_file           Output TSV file containing tissue-specificity values.
  method                Tissue-specificity metric. Allowed values are:
                        "counts", "tau", "gini", "simpson",
                        "shannon_specificity", "roku_specificity", "tsi",
                        "zscore", "spm", "spm_dpm", "js_specificity",

optional arguments:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  -l, --log             Log-transform expression values. (default: False)
  -d, --disable_transformation
                        By default, tissue-specificity values are transformed
                        so that they range from 0 (perfectly ubiquitous) to 1
                        (perfectly tissue-specific). If this parameter is
                        used, transformation will be disabled and each metric
                        will have have a diferent range of possible values.
                        (default: False)
  -t THRESHOLD, --threshold THRESHOLD
                        Threshold to be used with the "counts" metric. If
                        another method is chosen, this parameter will be
                        ignored. (default: 0)


  • Using the spm metric to compute tissue-specificity values from a log-transformed expression matrix:
tspex --log gene_expression.tsv tspex_spm.tsv spm
  • Using the counts method to compute tissue-specificity by counting the number of tissues in which the gene expression is greater than 10:
tspex --threshold 10 gene_expression.tsv tspex_counts.tsv counts
  • Using the zscore without transformation to quantify tissue-specificity as the number of standard deviations away from the mean gene expression:
tspex --disable_transformation gene_expression.tsv tspex_zscore.tsv zscore

Cite tspex

If you use tspex in your research, it would be appreciated if you could cite it.


Camargo, Antonio P., "tspex: tissue-specificity calculator" (2019). doi:10.5281/zenodo.3558708

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tspex-0.6.2.tar.gz (23.9 kB view hashes)

Uploaded source

Built Distribution

tspex-0.6.2-py3-none-any.whl (26.9 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page