Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

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.


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 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
  -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

Project details

Download files

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

Files for tspex, version 0.6.0
Filename, size File type Python version Upload date Hashes
Filename, size tspex-0.6.0-py3-none-any.whl (26.5 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size tspex-0.6.0.tar.gz (23.3 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page