cptac

Easy access to CPTAC data

This software provides easy access to cancer data from the National Cancer Institute’s CPTAC program, which characterizes and studies the proteogenomic landscape of tumors. We implement the software as a Python package called cptac, but you can seamlessly use it in an R environment with the help of the reticulate package (demonstrated in Tutorial 6). Our package is installed in one step with pip:

pip install cptac

See the Installation section below if you have further questions.

The package gives you the data as pandas DataFrame objects in Python. If you are using R, reticulate converts the tables to data.frame objects. By providing the tables natively in your programming environment, we eliminate the need for parsing and formatting, allowing you to quickly feed the data into whatever analysis code you have written. Follow our walkthrough tutorials and use cases for examples of how to use the software.

Additionally, the software automatically handles data downloading, storage, and updates. You need only to tell it which datasets you want downloaded, and it will automatically get the data without requiring you to write any HTTP requests or database queries.

Installation

This package is intended to run on Python 3.6 or greater. If you plan on interfacing with it from R via reticulate, you must still have Python installed on your computer, and download the package into that Python environment.

Installing Python

If you do not already have Python installed on your computer, we suggest using either the standard Python distribution or the Anaconda distribution. Follow the installation instructions at the respective links. The Anaconda distribution allows you to set up multiple distinct Python environments and comes with many useful Python packages pre-installed. For more information, see the Ananconda documentation.

Installing the cptac package

We distribute the package through the Python Package Index (PyPI), so regardless of which Python distribution you are using, you install the package using the pip program:

pip install cptac

If you are using the Anaconda distribution of Python, this will install cptac to the currently active environment as long as pip is available in that environment, which it would be by default. If pip is not installed in your environment, you can install it with conda install -c anaconda pip. Then, you can use pip to install the cptac package. We plan on making cptac directly available through conda in the near future.

The package depends on several other Python libraries including numpy, pandas, requests, and others. Normally, pip will automatically handle these dependencies when it installs cptac and you don’t have to worry about any of it. However, if you have a special use case or are interested in exactly which versions of which packages are needed, you can consult the install_requires list in the setup.py file.

Documentation

Our goal is that our documentation will make this software and data accessible both to people without a computer science background, and people without a biology background. We provide two types of documentation to accomplish this: tutorials and use cases. The tutorials give a basic introduction to the software as well as conventions for storing and accessing the data. The use cases are short examples focused on a biological question and show practical uses of the software and data for biological discovery. Each use case works with a different combination of data types and explores meaningful cancer research hypotheses.

You can access the tutorials and use cases as static webpages using the links below. They were originally written in Python as interactive Jupyter notebooks, so if you want to run them interactively with Jupyter you can download the notebooks from the notebooks folder on the GitHub repository. If you are unfamiliar with Jupyter, follow the installation and usage instructions given here on the Jupyter website. You will then be able to run our tutorials as interactive, exploratory data analyses. If you want to run them interactively without installing anything, please visit our Binder site which hosts the notebooks here.

Tutorials

Use cases

Developer documentation

Documentation for anyone wanting to understand the internal workings of the package is available on the GitHub repository in the devdocs folder.

License

See the LICENSE.md document on the GitHub repository. Please note the difference between the license as it applies to code versus data.

Contact

This package is maintained by the Payne lab at Brigham Young University.