Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
We are having difficulty with the API on Zenodo and are working to find a better host for our data. Please be patient while we fix these issues.
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.
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.
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.
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.
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.
Documentation for anyone wanting to understand the internal workings of the package is available on the GitHub repository in the devdocs folder.
See the LICENSE.md document on the GitHub repository. Please note the difference between the license as it applies to code versus data.
This package is maintained by the Payne lab at Brigham Young University.
FAQs
Python packaging for CPTAC data
We found that cptac demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.