tmtcrunch


Nametmtcrunch JSON
Version 25.7 PyPI version JSON
download
home_pageNone
SummaryPython utility for TMT-based proteomics
upload_time2025-07-09 14:18:54
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseBSD-3-Clause
keywords proteomics
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # TMTCrunch

TMTCrunch is an open-source Python utility for tandem mass tag proteomics.


## Overview

TMTCrunch is designed primarily to analyze products of alternative splicing in TMT (tandem mass tag) proteomics and phospho-proteomics data.
TMTCrunch performs:
 - per channel normalization;
 - normalization across channels using inherent or virtual GIS channels as a reference;
 - optional grouping of PSMs in accordance with user defined rules;
 - global or per group FDR filtration;
 - calculation of abundance at any level: unmodified peptide, peptide with modifications, protein, gene.

TMTCrunch can be used with [Sage](https://github.com/lazear/sage) search engine or with [IdentiPy](https://github.com/levitsky/identipy)/[Scavager](https://pypi.org/project/Scavager/).


## Installation

### Installing from PyPI

The latest released version can be installed from the [Python Package Index](https://pypi.org/project/tmtcrunch):
```shell
pip install tmtcrunch
```


### Installing from source

The cutting edge version can be installed directly from the source repository:
```shell
pip install git+https://codeberg.org/makc/tmtcrunch.git
```
Alternatively, clone the repo and install the package in [development mode](https://setuptools.pypa.io/en/latest/userguide/development_mode.html):
```shell
git clone https://codeberg.org/makc/tmtcrunch.git
pip install --editable tmtcrunch
```


## Dependencies

TMTCrunch relies on the following Python packages:
- [numpy](https://pypi.org/project/numpy/)
- [pandas](https://pypi.org/project/pandas/)
- [pyteomics](https://pypi.org/project/pyteomics/)
- [tomli](https://pypi.org/project/tomli/) (required only for Python < 3.11)

and it would use statistics functions from [astropy](https://pypi.org/project/astropy/) package if available.


## Command line options

```
usage: tmtcrunch [-h] [--cfg CFG] [--fasta FASTA] [--input-format {auto,scavager,sage}]
                 [--output-dir OUTPUT_DIR] [--output-prefix OUTPUT_PREFIX] [--phospho]
                 [--verbose {0,1,2}] [--show-config] [--version]
                 [fractions ...]

positional arguments:
  fractions             Scavager *_PSMs_full.tsv files or directories with Sage search results.

options:
  -h, --help            show this help message and exit
  --cfg CFG             Path to configuration file. Can be specified multiple times.
  --fasta FASTA         Path to protein fasta file for mapping protein to gene symbol.
  --input-format {auto,scavager,sage}
                        Format of input data. Supported: 'auto', 'scavager', 'sage'. Default is
                        'auto'
  --output-dir OUTPUT_DIR, --odir OUTPUT_DIR
                        Existing output directory. Default is current directory.
  --output-prefix OUTPUT_PREFIX, --oprefix OUTPUT_PREFIX
                        Prefix for output files. Default is 'tmtcrunch_'.
  --phospho             Enable common modifications for phospho-proteomics.
  --verbose {0,1,2}     Logging verbosity. Default is 1.
  --show-config         Show configuration and exit.
  --version             Output version information and exit.
```


## Configuration files

TMTCrunch stores its configuration in [TOML](https://toml.io) format.

Default TMTCrunch configuration:
```TOML
# Specimen columns.
specimen_columns = []
# Global internal standard (GIS) columns (for multi batch experiments).
gis_columns = []
# Simulate GIS via selected specimen columns.
# Intended for singe batch experiments only!
simulate_gis = []

# Prefix of decoy proteins.
decoy_prefix = 'DECOY_'

# Path to protein fasta file for mapping protein to gene symbol.
fasta_file = ''

# List of column names from input files to save in the output.
keep_columns = []

# If true, perform PSM groupwise analysis.
groupwise = true

# Global false discovery rate. Can be overwritten per PSM group.
global_fdr = 0.01

# If true, respect peptide modifications and terminate analysis at peptide level.
with_modifications = false

# No modifications by default. Run TMTCrunch with --phospho argument
# to enable common modifications for phospho-proteomics.
[modification.universal]
[modification.selective]

# Keys below are only applicable if groupwise analysis is requested.
# Prefixes of target proteins. If not set, `target_prefixes` will be deduced
# from the prefixes of PSM groups.
# target_prefixes = ['alt_', 'canon_']

# Each PSM group is named after its subkey and defined by three keys:
# `descr` - group description
# `prefixes` - prefixes of target proteins
# `fdr` - groupwise false discovery rate. If not set, global FDR will be used.

# Isoform PSMs: protein group of each PSM consists of target proteins
# with 'alt_' prefix only and any decoy proteins.
[psm_group.isoform]
descr = 'Isoform PSMs'
prefixes = [['alt_']]
fdr = 0.05

# Canonical PSMs: protein group of each PSM consists of target proteins
# with 'canon_' prefix only and any decoy proteins.
[psm_group.canon]
descr = 'Canonical PSMs'
prefixes = [['canon_']]
fdr = 0.01

# Shared PSMs: protein group of each PSM consists both of
# 'canon_' and 'alt_' target proteins and any decoy proteins.
[psm_group.shared]
descr = 'Shared PSMs'
prefixes = [['canon_', 'alt_']]
fdr = 0.01
```

Additional configuration for phospho-proteomics (use `--phospho` argument to enable):
```TOML
with_modifications = true

# Modifications can be either universal or selective. PSMs for modified
# peptides with any universal modification and the same pattern of selective
# modifications are treated together, PSMs for peptides with different pattern
# of selective modifications are treated separately.

[modification.universal.1]
name = "Carboxyamidomethylation"
mass_delta = 57.021464
modX = "cam"
site = "C"
variable = false

[modification.universal.2]
name = "TMTplex"
mass_delta = 229.162932
modX = "t"
# n-term, K
site = "^K"
variable = false

[modification.universal.3]
name = "Oxidation"
mass_delta = 15.994915
modX = "ox"
site = "M"
variable = true

[modification.universal.4]
name = "Deamidation"
mass_delta = 0.984016
modX = "d"
site = "NQ"
variable = true

[modification.selective.1]
name = "Phosphorylation"
mass_delta = 79.966331
modX = "p"
site = "STY"
```


## License

TMTCrunch is distributed under the three clause BSD License.


## Related software

 - [Pyteomics](https://github.com/levitsky/pyteomics) - Python framework for proteomics data analysis.
 - [IdentiPy](https://github.com/levitsky/identipy) - search engine for bottom-up proteomics.
 - [Sage](https://github.com/lazear/sage) - proteomics search engine & quantification tool.
 - [Scavager](https://pypi.org/project/Scavager/) - proteomics post-search validation tool.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "tmtcrunch",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "Max Brazhnikov <makc@issp.ac.ru>",
    "keywords": "proteomics",
    "author": null,
    "author_email": "Max Brazhnikov <makc@issp.ac.ru>",
    "download_url": "https://files.pythonhosted.org/packages/5a/aa/c7b59144aa805eed503d35593e9d117da1a2f0deede2e83ecfd9c6ef4d48/tmtcrunch-25.7.tar.gz",
    "platform": null,
    "description": "# TMTCrunch\n\nTMTCrunch is an open-source Python utility for tandem mass tag proteomics.\n\n\n## Overview\n\nTMTCrunch is designed primarily to analyze products of alternative splicing in TMT (tandem mass tag) proteomics and phospho-proteomics data.\nTMTCrunch performs:\n - per channel normalization;\n - normalization across channels using inherent or virtual GIS channels as a reference;\n - optional grouping of PSMs in accordance with user defined rules;\n - global or per group FDR filtration;\n - calculation of abundance at any level: unmodified peptide, peptide with modifications, protein, gene.\n\nTMTCrunch can be used with [Sage](https://github.com/lazear/sage) search engine or with [IdentiPy](https://github.com/levitsky/identipy)/[Scavager](https://pypi.org/project/Scavager/).\n\n\n## Installation\n\n### Installing from PyPI\n\nThe latest released version can be installed from the [Python Package Index](https://pypi.org/project/tmtcrunch):\n```shell\npip install tmtcrunch\n```\n\n\n### Installing from source\n\nThe cutting edge version can be installed directly from the source repository:\n```shell\npip install git+https://codeberg.org/makc/tmtcrunch.git\n```\nAlternatively, clone the repo and install the package in [development mode](https://setuptools.pypa.io/en/latest/userguide/development_mode.html):\n```shell\ngit clone https://codeberg.org/makc/tmtcrunch.git\npip install --editable tmtcrunch\n```\n\n\n## Dependencies\n\nTMTCrunch relies on the following Python packages:\n- [numpy](https://pypi.org/project/numpy/)\n- [pandas](https://pypi.org/project/pandas/)\n- [pyteomics](https://pypi.org/project/pyteomics/)\n- [tomli](https://pypi.org/project/tomli/) (required only for Python < 3.11)\n\nand it would use statistics functions from [astropy](https://pypi.org/project/astropy/) package if available.\n\n\n## Command line options\n\n```\nusage: tmtcrunch [-h] [--cfg CFG] [--fasta FASTA] [--input-format {auto,scavager,sage}]\n                 [--output-dir OUTPUT_DIR] [--output-prefix OUTPUT_PREFIX] [--phospho]\n                 [--verbose {0,1,2}] [--show-config] [--version]\n                 [fractions ...]\n\npositional arguments:\n  fractions             Scavager *_PSMs_full.tsv files or directories with Sage search results.\n\noptions:\n  -h, --help            show this help message and exit\n  --cfg CFG             Path to configuration file. Can be specified multiple times.\n  --fasta FASTA         Path to protein fasta file for mapping protein to gene symbol.\n  --input-format {auto,scavager,sage}\n                        Format of input data. Supported: 'auto', 'scavager', 'sage'. Default is\n                        'auto'\n  --output-dir OUTPUT_DIR, --odir OUTPUT_DIR\n                        Existing output directory. Default is current directory.\n  --output-prefix OUTPUT_PREFIX, --oprefix OUTPUT_PREFIX\n                        Prefix for output files. Default is 'tmtcrunch_'.\n  --phospho             Enable common modifications for phospho-proteomics.\n  --verbose {0,1,2}     Logging verbosity. Default is 1.\n  --show-config         Show configuration and exit.\n  --version             Output version information and exit.\n```\n\n\n## Configuration files\n\nTMTCrunch stores its configuration in [TOML](https://toml.io) format.\n\nDefault TMTCrunch configuration:\n```TOML\n# Specimen columns.\nspecimen_columns = []\n# Global internal standard (GIS) columns (for multi batch experiments).\ngis_columns = []\n# Simulate GIS via selected specimen columns.\n# Intended for singe batch experiments only!\nsimulate_gis = []\n\n# Prefix of decoy proteins.\ndecoy_prefix = 'DECOY_'\n\n# Path to protein fasta file for mapping protein to gene symbol.\nfasta_file = ''\n\n# List of column names from input files to save in the output.\nkeep_columns = []\n\n# If true, perform PSM groupwise analysis.\ngroupwise = true\n\n# Global false discovery rate. Can be overwritten per PSM group.\nglobal_fdr = 0.01\n\n# If true, respect peptide modifications and terminate analysis at peptide level.\nwith_modifications = false\n\n# No modifications by default. Run TMTCrunch with --phospho argument\n# to enable common modifications for phospho-proteomics.\n[modification.universal]\n[modification.selective]\n\n# Keys below are only applicable if groupwise analysis is requested.\n# Prefixes of target proteins. If not set, `target_prefixes` will be deduced\n# from the prefixes of PSM groups.\n# target_prefixes = ['alt_', 'canon_']\n\n# Each PSM group is named after its subkey and defined by three keys:\n# `descr` - group description\n# `prefixes` - prefixes of target proteins\n# `fdr` - groupwise false discovery rate. If not set, global FDR will be used.\n\n# Isoform PSMs: protein group of each PSM consists of target proteins\n# with 'alt_' prefix only and any decoy proteins.\n[psm_group.isoform]\ndescr = 'Isoform PSMs'\nprefixes = [['alt_']]\nfdr = 0.05\n\n# Canonical PSMs: protein group of each PSM consists of target proteins\n# with 'canon_' prefix only and any decoy proteins.\n[psm_group.canon]\ndescr = 'Canonical PSMs'\nprefixes = [['canon_']]\nfdr = 0.01\n\n# Shared PSMs: protein group of each PSM consists both of\n# 'canon_' and 'alt_' target proteins and any decoy proteins.\n[psm_group.shared]\ndescr = 'Shared PSMs'\nprefixes = [['canon_', 'alt_']]\nfdr = 0.01\n```\n\nAdditional configuration for phospho-proteomics (use `--phospho` argument to enable):\n```TOML\nwith_modifications = true\n\n# Modifications can be either universal or selective. PSMs for modified\n# peptides with any universal modification and the same pattern of selective\n# modifications are treated together, PSMs for peptides with different pattern\n# of selective modifications are treated separately.\n\n[modification.universal.1]\nname = \"Carboxyamidomethylation\"\nmass_delta = 57.021464\nmodX = \"cam\"\nsite = \"C\"\nvariable = false\n\n[modification.universal.2]\nname = \"TMTplex\"\nmass_delta = 229.162932\nmodX = \"t\"\n# n-term, K\nsite = \"^K\"\nvariable = false\n\n[modification.universal.3]\nname = \"Oxidation\"\nmass_delta = 15.994915\nmodX = \"ox\"\nsite = \"M\"\nvariable = true\n\n[modification.universal.4]\nname = \"Deamidation\"\nmass_delta = 0.984016\nmodX = \"d\"\nsite = \"NQ\"\nvariable = true\n\n[modification.selective.1]\nname = \"Phosphorylation\"\nmass_delta = 79.966331\nmodX = \"p\"\nsite = \"STY\"\n```\n\n\n## License\n\nTMTCrunch is distributed under the three clause BSD License.\n\n\n## Related software\n\n - [Pyteomics](https://github.com/levitsky/pyteomics) - Python framework for proteomics data analysis.\n - [IdentiPy](https://github.com/levitsky/identipy) - search engine for bottom-up proteomics.\n - [Sage](https://github.com/lazear/sage) - proteomics search engine & quantification tool.\n - [Scavager](https://pypi.org/project/Scavager/) - proteomics post-search validation tool.\n",
    "bugtrack_url": null,
    "license": "BSD-3-Clause",
    "summary": "Python utility for TMT-based proteomics",
    "version": "25.7",
    "project_urls": {
        "homepage": "https://codeberg.org/makc/tmtcrunch",
        "repository": "https://codeberg.org/makc/tmtcrunch.git"
    },
    "split_keywords": [
        "proteomics"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fbb435c0fb4a43a2f08842f3d071c512124a0cd2fd7872c9eb703da75cdc5f36",
                "md5": "15d178a0c39dbc0335993984820692c2",
                "sha256": "2da9d207209b8a3079970e0cb511984020460820d20d92d1b9229e68211933cf"
            },
            "downloads": -1,
            "filename": "tmtcrunch-25.7-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "15d178a0c39dbc0335993984820692c2",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 24927,
            "upload_time": "2025-07-09T14:18:52",
            "upload_time_iso_8601": "2025-07-09T14:18:52.836853Z",
            "url": "https://files.pythonhosted.org/packages/fb/b4/35c0fb4a43a2f08842f3d071c512124a0cd2fd7872c9eb703da75cdc5f36/tmtcrunch-25.7-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5aaac7b59144aa805eed503d35593e9d117da1a2f0deede2e83ecfd9c6ef4d48",
                "md5": "ef6c9a0b38a74c76591f97f0b962f35c",
                "sha256": "979508032f493e062cd9dd3482cab1f9c611e56dd418f466432cdda959c8de14"
            },
            "downloads": -1,
            "filename": "tmtcrunch-25.7.tar.gz",
            "has_sig": false,
            "md5_digest": "ef6c9a0b38a74c76591f97f0b962f35c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 24636,
            "upload_time": "2025-07-09T14:18:54",
            "upload_time_iso_8601": "2025-07-09T14:18:54.270620Z",
            "url": "https://files.pythonhosted.org/packages/5a/aa/c7b59144aa805eed503d35593e9d117da1a2f0deede2e83ecfd9c6ef4d48/tmtcrunch-25.7.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-09 14:18:54",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": true,
    "codeberg_user": "makc",
    "codeberg_project": "tmtcrunch",
    "lcname": "tmtcrunch"
}
        
Elapsed time: 2.20521s