SHEPHARD

SHEPHARD (Sequence-based Hierarchical and Extendable Platform for High-throughput Analysis of Regions of Disorder) is a Python-based software framework for reading, annotating, and analyzing large protein datasets. Its objective is to make it easy to perform reproducible, error-free analyses of large protein datasets with arbitrarily complex sequence annotations.

The emergence of high-throughput experiments and high-resolution computational predictions has led to an explosion in the quality and volume of protein sequence annotations at proteomic scales. Unfortunately, sanity-checking, integrating, and analyzing complex sequence annotations remains logistically challenging and introduces a major barrier to entry for even superficial integrative bioinformatics. SHEPHARD addresses this technical burden by combining an object-oriented hierarchical data structure with database-like features, enabling programmatic annotation, integration, and analysis of complex datatypes at proteome-wide scales (millions of unique annotations).

The general use-case for SHEPHARD would include scenarios such as:

  1. Wanting to ask large-scale statistical questions about big protein datasets.

  2. Asking how different types of sequence or protein annotations relate to one another.

  3. Easily associating experimentally-generated data with extant sequence information.

  4. Sharing analyses and annotated data with the broader community in a reproducible, accessible way.

SHEPHARD is deliberately not an analysis library: it does not provide built-in analysis routines. Instead it functions as the underlying, internally-consistent backend for sequence- or structure-centric analysis pipelines, taking care of the data-cleaning, data-structure, and I/O complexity so that the user can focus on the science.

Installation

SHEPHARD is pure Python (no compiled extensions) and supports Python 3.8 and above. It is distributed via the Python Package Index (PyPI), so the current public release can be installed using:

pip install shephard

Alternatively, you can install the current bleeding-edge version directly from GitHub using

pip install shephard@git+https://github.com/holehouse-lab/shephard.git

The only runtime dependencies are numpy and protfasta, both of which are installed automatically.

To test if the installation has worked, open the Python interpreter or a Jupyter notebook and run

import shephard

If this works, you should be good to go!

A note on Python environments

We strongly recommend installing into an isolated environment (e.g. a conda environment or a venv/virtualenv). Isolated environments let you pin a specific Python version and set of packages, keeping SHEPHARD insulated from your system Python. For more information there are many examples of conda introduction tutorials online, like this one here.

Demos and examples

Once installed, SHEPHARD makes it very easy to work with large protein datasets. As an example, we have a collection of basic notebooks showing functionality on the SHEPHARD colab repository. Precomputed annotations for many model proteomes (including proteome-wide annotations and third-party studies) are available at the shephard-data repository.

Colab notebook

If you don’t want to install SHEPHARD on your local computer, we also provide several Google Colab notebooks with SHEPHARD pre-installed and a collection of precomputed proteome-wide annotations. Check out our colab notebook repository on GitHub.

Citing SHEPHARD

If you use SHEPHARD in your work, please cite:

Ginell, G. M., Flynn, A. J. & Holehouse, A. S. SHEPHARD: a modular and extensible software architecture for analyzing and annotating large protein datasets. Bioinformatics 39, btad488 (2023). https://doi.org/10.1093/bioinformatics/btad488

About

SHEPHARD was developed and written by Garrett Ginell and Alex Holehouse in the Holehouse lab. For issues, bugs, or feature requests please raise an issue on GitHub.

Documentation index

Contents:

Indices and tables