tooluniverse-protein-modification-analysis

$npx mdskill add mims-harvard/ToolUniverse/tooluniverse-protein-modification-analysis

Analyzes post-translational modifications using multiple databases and tools.

  • Annotates PTM sites and identifies kinase-substrate relationships.
  • Depends on iPTMnet, ProtVar, UniProt, STRING, ELM, and MassIVE.
  • Retrieves data via tools then runs Python for statistical analysis.
  • Returns structured PTM annotations, functional consequences, and disease associations.

SKILL.md

.github/skills/tooluniverse-protein-modification-analysisView on GitHub ↗
---
name: tooluniverse-protein-modification-analysis
description: Post-translational modification (PTM) analysis — phosphorylation, ubiquitination, acetylation, glycosylation, methylation. Uses iPTMnet (sites + enzymes), ProtVar (functional consequences), UniProt (baseline), STRING, ELM (linear motifs), MassIVE/ProteomeXchange (experimental). Use for PTM site annotation, kinase-substrate identification, and PTM-disease associations.
disable-model-invocation: true
---

# Protein Post-Translational Modification Analysis

Comprehensive PTM analysis using iPTMnet (primary), ProtVar (functional context), UniProt (baseline), STRING (interactions), ELM (linear motifs), and MassIVE/ProteomeXchange (experimental data).

## LOOK UP DON'T GUESS

- PTM sites/enzymes: `iPTMnet_get_ptm_sites`
- Functional consequence: `ProtVar_get_function` + `iPTMnet_get_ptm_ppi`
- Proteoforms: `iPTMnet_get_proteoforms`
- Linear motifs: `ELM_get_instances`

## COMPUTE, DON'T DESCRIBE
When analysis requires computation (statistics, data processing, scoring, enrichment), write and run Python code via Bash. Don't describe what you would do — execute it and report actual results. Use ToolUniverse tools to retrieve data, then Python (pandas, scipy, statsmodels, matplotlib) to analyze it.

## Domain Reasoning

PTMs are context-dependent: same phosphorylation site can activate or inhibit depending on kinase and effectors. Always check: which enzyme, what functional consequence, in what cell context.

---

## KEY PRINCIPLES

1. **Disambiguation first** -- resolve to UniProt accession before iPTMnet calls
2. **iPTMnet is SOAP-style** -- every call requires `operation` parameter
3. **Evidence-graded** -- distinguish experimental (T1) from predicted (T4)
4. **English-first queries**

---

## Workflow

```
Phase 0: Protein Disambiguation → UniProt accession
Phase 1: PTM Site Inventory → iPTMnet_get_ptm_sites
Phase 2: Proteoform Analysis → iPTMnet_get_proteoforms
Phase 3: PTM-Dependent Interactions → iPTMnet_get_ptm_ppi
Phase 4: Functional Context → ProtVar_get_function at key sites
Phase 4b: Linear Motif Context → ELM_get_instances for SLiM overlap
Phase 4c: Experimental Data → MassIVE/ProteomeXchange
Phase 5: Synthesis & Report
```

---

## Phase 0: Disambiguation

- `iPTMnet_search(operation="search", search_term="TP53", role="Substrate")` -- find UniProt IDs
- If user provides UniProt accession directly, use it
- Select human entry if multiple hits

## Phase 1: PTM Sites

`iPTMnet_get_ptm_sites(operation="get_ptm_sites", uniprot_id="P04637")` -- returns position, residue, modification type, enzyme, evidence. Group by modification type. Fallback: `UniProt_get_entry_by_accession` PTM annotations.

## Phase 2: Proteoforms

`iPTMnet_get_proteoforms(operation="get_proteoforms", uniprot_id=...)` -- distinct PTM combinations. Focus on those with functional/disease annotations if >20.

## Phase 3: PTM-Dependent Interactions

`iPTMnet_get_ptm_ppi(operation="get_ptm_ppi", uniprot_id=...)` -- interacting protein, PTM site, effect (enables/disrupts). Supplement with `STRING_get_interaction_partners(identifiers=gene, species=9606, required_score=700)`.

## Phase 4: Functional Context

`ProtVar_get_function(accession=..., position=N, variant_aa=AA)` -- domain, active site, binding site, conservation. Grade: active-site PTM > domain-core > disordered region.

## Phase 4b: Linear Motifs (ELM)

`ELM_get_instances(operation="get_instances", uniprot_id=..., motif_type="MOD")` -- MOD = modification sites, DEG = degradation signals. Cross-reference with Phase 1 PTM positions. `ELM_list_classes(operation="list_classes")` for motif details.

## Phase 4c: Experimental Data

`MassIVE_search_datasets(species="9606")`, `MassIVE_get_dataset(accession="MSV...")` for public MS datasets.

---

## Evidence Grading

| Tier | Criteria |
|------|----------|
| T1 | PTM at validated active/binding site with functional data |
| T2 | PTM in structured domain with ProtVar annotation |
| T3 | Correlation data only (mass spec detection) |
| T4 | Predicted, no experimental validation |

---

## Tool Parameter Reference

| Tool | Key Params |
|------|-----------|
| `iPTMnet_search` | `operation="search"`, `search_term`, `role` |
| `iPTMnet_get_ptm_sites` | `operation="get_ptm_sites"`, `uniprot_id` |
| `iPTMnet_get_proteoforms` | `operation="get_proteoforms"`, `uniprot_id` |
| `iPTMnet_get_ptm_ppi` | `operation="get_ptm_ppi"`, `uniprot_id` |
| `ELM_get_instances` | `operation="get_instances"`, `uniprot_id`, `motif_type` |
| `ELM_list_classes` | `operation="list_classes"` |
| `MassIVE_search_datasets` | `page_size`, `species` |

**Critical**: All iPTMnet and ELM tools require `operation` as first parameter (SOAP-style).

---

## Fallbacks

| Situation | Fallback |
|-----------|----------|
| Not in iPTMnet | UniProt PTM/processing annotations |
| No PTM-PPI data | STRING general PPI |
| No ProtVar data | UniProt domain annotations |
| No ELM data | Proceed with iPTMnet/UniProt only |

## Limitations

- iPTMnet biased toward well-studied proteins
- Proteoform data covers observed combinations only
- PTM-PPI: only PTM-specific evidence; more PPIs exist in STRING

More from mims-harvard/ToolUniverse

SkillDescription
create-tooluniverse-skillCreate high-quality ToolUniverse skills following test-driven, implementation-agnostic methodology.
devtu-auto-discover-apisAutomatically discover life science APIs online, create ToolUniverse tools, validate them, and prepare integration PRs. Performs gap analysis to identify missing tool categories, web searches for APIs, automated tool creation using devtu-create-tool patterns, validation with devtu-fix-tool, and git workflow management. Use when expanding ToolUniverse coverage, adding new API integrations, or systematically discovering scientific resources.
devtu-benchmark-harnessContinuous improvement system for ToolUniverse tools, skills, and plugin. Run benchmarks, diagnose failures, route fixes to devtu skills, retest. Use after skill optimization, tool additions, or as regression check.
devtu-code-optimization>
devtu-create-toolCreate new scientific tools for ToolUniverse framework with proper structure, validation, and testing. Use when users need to add tools to ToolUniverse, implement new API integrations, create tool wrappers for scientific databases/services, expand ToolUniverse capabilities, or follow ToolUniverse contribution guidelines. Supports creating tool classes, JSON configurations, validation, error handling, and test examples.
devtu-docs-qualityTOP PRIORITY skill — find and immediately fix or remove every piece of wrong, outdated, or redundant information in ToolUniverse docs. Wrong code, broken links, incorrect counts, and overlapping instructions must be fixed or removed — never left in place. Runs five phases: (D) static method scan, (C) live code execution, (A) automated validation, (B) ToolUniverse audit, (E) less-is-more simplification. Core philosophy: each concept appears exactly once; remove don't add; no emojis; single setup entry point. Use when reviewing docs, before releases, after API changes, or when asked to audit, fix, or simplify documentation.
devtu-fix-toolFix failing ToolUniverse tools by diagnosing test failures, identifying root causes, implementing fixes, and validating solutions. Use when ToolUniverse tools fail tests, return errors, have schema validation issues, or when asked to debug or fix tools in the ToolUniverse framework.
devtu-githubGitHub workflow for ToolUniverse - push code safely by moving temp files, activating pre-commit hooks, running tests, and cleaning staged files. Use when pushing to GitHub, fixing CI failures, or cleaning up before commits.
devtu-optimize-descriptionsOptimize tool descriptions in ToolUniverse JSON configs for clarity and usability. Reviews descriptions for missing prerequisites, unexpanded abbreviations, unclear parameters, and missing usage guidance. Use when reviewing tool descriptions, improving API documentation, or when user asks to check if tools are easy to understand.
devtu-optimize-skillsOptimize ToolUniverse skills for better report quality, evidence handling, and user experience. Apply patterns like tool verification, foundation data layers, disambiguation-first, evidence grading, quantified completeness, and report-only output. Use when reviewing skills, improving existing skills, or creating new ToolUniverse research skills.