/explosig-data

Data processing for ICGC mutation data

Primary LanguagePythonMIT LicenseMIT

Build Status PyPI

ExploSig Data

Helpers for processing mutation data into standard formats originally developed for the ExploSig family of tools.

Installation

pip install explosig-data

Example

With raw SSM/MAF file from ICGC or TCGA:

>>> import explosig_data as ed

>>> # Step 1: Process into the ExploSig "standard format":
>>> data_container = ed.standardize_ICGC_ssm_file('path/to/ssm.tsv') # if ICGC
>>> data_container = ed.standardize_TCGA_maf_file('path/to/maf.tsv') # if TCGA

>>> # Step 2: Process further
>>> data_container.extend_df().to_counts_df('SBS_96', ed.categories.SBS_96_category_list())

>>> # Step 3: Access any processed dataframe of interest:
>>> ssm_df = data_container.ssm_df
>>> extended_df = data_container.extended_df
>>> counts_df = data_container.counts_dfs['SBS_96']


>>> # Alternatively, use without the chaining API:
>>> ssm_df = ed.standardize_ICGC_ssm_file('path/to/ssm.tsv', wrap=False) # if ICGC
>>> ssm_df = ed.standardize_TCGA_maf_file('path/to/maf.tsv', wrap=False) # if TCGA
>>> extended_df = ed.extend_ssm_df(ssm_df)
>>> counts_df = ed.counts_from_extended_ssm_df(
        extended_df, 
        category_colname='SBS_96', 
        category_values=ed.categories.SBS_96_category_list()
    )

With data already in the ExploSig "standard format":

>>> import explosig_data as ed
>>> import pandas as pd

>>> # Step 0: Load the data into a dataframe, for example by reading from a TSV file.
>>> ssm_df = pd.read_csv('path/to/standard.tsv', sep='\t')

>>> # Step 1: Wrap the dataframe using the container class to allow use of the chainable functions.
>>> data_container = ed.SimpleSomaticMutationContainer(ssm_df)

>>> # Now see step 2 above (or the alternative steps above).

Development

Install for development (in editable mode):

pip install -e .

Build and push to PyPI:

python setup.py sdist bdist_wheel
python -m twine upload dist/*