| Name | tmtcrunch JSON |
| Version |
25.7
JSON |
| download |
| home_page | None |
| Summary | Python utility for TMT-based proteomics |
| upload_time | 2025-07-09 14:18:54 |
| maintainer | None |
| docs_url | None |
| author | None |
| requires_python | >=3.10 |
| license | BSD-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"
}