Skip to content
Back to skills

Proteomics De

ASecurity

Differential expression analysis for label-free quantitative (LFQ) intensity data with standard MaxQuant and

  • 8 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 12, 2026
datapythongobashexpresstestinggitdatabase

Works with

  • mcp

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned September 12, 2026

npx -y skills add stanfish06/skillquarium --skill proteomics-de --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Proteomics De?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Proteomics De
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/stanfish06-proteomics-de/badge)](https://www.skillsdirectory.com/skills/stanfish06-proteomics-de)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: proteomics-de
description: Differential expression analysis for label-free quantitative (LFQ) intensity data with standard MaxQuant and
  DIA-NN output. Workflow includes preprocessing, imputation, and statistical testing.
license: MIT
metadata:
  version: 0.1.0
  openclaw:
    requires:
      bins:
      - python3
    always: false
    emoji: πŸ₯š
    homepage: https://github.com/ClawBio/ClawBio
    os:
    - darwin
    - linux
    - win32
    install:
    - kind: pip
      package: pandas
    - kind: pip
      package: numpy
    - kind: pip
      package: matplotlib
    - kind: pip
      package: scikit-learn
    - kind: pip
      package: scipy
    - kind: pip
      package: seaborn
    trigger_keywords:
    - Differential expression analysis of proteomics data from MaxQuant or DIA-NN output
---

# πŸ₯š Proteomics Differential Expression

This skill performs differential expression analysis on label-free quantitative (LFQ) intensity data from MaxQuant and DIA-NN outputs, including preprocessing, imputation, statistical testing, and visualization.

---

## Domain Decisions

### 1. Multi-format Input Support
- Supports **MaxQuant `proteinGroups.txt`**
  - Automatic filtering of reverse hits, contaminants, and site-only identifications
- Supports **DIA-NN output**
  - Automatically extracts protein IDs and `.raw` intensity columns

---

### 2. Preprocessing Strategy
- MaxQuant:
  - Filters:
    - `Reverse`
    - `Potential contaminant` / `Contaminant`
    - `Only identified by site`
- DIA-NN:
  - Extracts protein identifiers and intensity matrix directly

---

### 3. Intensity Transformation
- LFQ intensities are transformed using **log2 scaling**
- Ensures approximate normality for downstream statistical testing

---

### 4. Missing Value Imputation
- Uses **down-shifted Gaussian imputation**
  - Mean shifted by: `median - shift Γ— std`
  - Default:
    - `shift = 1.8`
    - `scale = 0.3`
- Assumption:
  - Missing values represent **low-abundance proteins**

---

### 5. Statistical Testing
- Two-sample **t-test** between treatment and control groups
- Default degrees of freedom:
  - `df = 4` (for 3 vs 3 replicates)

---

### 6. Multiple-Testing Correction
- **Benjamini-Hochberg** on the raw t-test p-values β†’ `padj`
- This is what controls the false discovery rate

---

### 7. s0 Fold-Change Curve
- Hyperbolic volcano boundary combining log2 fold change and p-value
- Shape follows Giai Gianetto et al. (2016)
- s0 is a fold-change fudge factor, **not** a multiplicity correction. Perseus and SAM derive an FDR for this curve by permutation; permutation is not implemented here, so the curve is used only as an additional effect-size requirement on top of BH

---

### 8. Significance Thresholding
- A protein is called `upregulated`/`downregulated` only when it clears **both**:
  - `padj <= --fdr` (Benjamini-Hochberg)
  - the s0 curve
- Default:
  - `FDR = 0.05`
  - `s0 = 0.1`

---

### 9. Visualization Outputs
- PCA plot
- Volcano plot (with s0 curve)
- Imputation distribution comparison

---

## Safety Rules

- **Local-first**
  - No data upload without explicit user consent

- **Statistical caution**
  - Statistical results should be interpreted with caution and not overinterpreted
  - Avoid drawing conclusions beyond what the data supports

- **Missing data assumptions**
  - Imputation assumes missing values correspond to low abundance
  - May not hold in all experimental designs

- **Small sample limitations**
  - t-test reliability depends on sufficient replicates

- **Reproducibility**
  - All parameters and commands are logged

- **No hallucinated science**
  - All methods are based on established proteomics workflows

---

## Agent Boundary

### This skill DOES:
- Perform differential expression analysis on LFQ proteomics data
- Handle MaxQuant and DIA-NN outputs
- Generate statistical results and visualizations
- Produce reproducible reports

---

### This skill DOES NOT:
- Process raw mass spectrometry data (e.g. RAW files)
- Perform peptide identification or database search
- Conduct pathway or functional enrichment analysis
- Provide biological interpretation of results

---

## Input Contract

### Supported Input Formats
1. MaxQuant `proteinGroups.txt`
2. DIA-NN output (`.tsv` / `.txt`)

---

### Metadata Requirements
- `.csv` or `.tsv`
- Must include:
  - `sample_id`
  - `group`

Supports:
- raw names
- full paths (e.g. `/path/sample.raw`)

---

## Output Structure
```
proteomics_de_report/
β”œβ”€β”€ report.md
β”œβ”€β”€ figures/
β”‚   β”œβ”€β”€ imputation_distribution.png
β”‚   β”œβ”€β”€ pca.png
β”‚   └── volcano.png
β”œβ”€β”€ tables/
β”‚   β”œβ”€β”€ imputed_proteinGroups.csv
β”‚   └── de_results.csv
β”œβ”€β”€ ro-crate-metadata.json
└── reproducibility/
    β”œβ”€β”€ commands.sh
    β”œβ”€β”€ environment.yml
    └── checksums.sha256
```

---

## Usage

### Demo
```bash
python proteomics_de.py \
  --demo \
  --output report_dir
```

### MaxQuant Input
```bash
python proteomics_de.py \
  --input proteinGroups.txt \
  --input-type maxquant \
  --metadata metadata.csv \
  --contrast "treated,control" \
  --output report_dir
```

### DIA-NN Input
```bash
python proteomics_de.py \
  --input diann_output.tsv \
  --input-type diann \
  --metadata metadata.csv \
  --contrast "treated,control" \
  --output report_dir
```

### Parameters

| Parameter            | Description           | Default         |
| -------------------- | --------------------- | --------------- |
| `--input`            | Input file path       | -               |
| `--input-type`       | `maxquant` or `diann` | maxquant        |
| `--metadata`         | Metadata file         | -               |
| `--contrast`         | treatment,control     | treated,control |
| `--s0`               | s0 parameter          | 0.1             |
| `--fdr`              | BH FDR threshold; also positions the s0 curve | 0.05 |
| `--ttest-df`         | Degrees of freedom    | 4               |
| `--imputation-shift` | Imputation shift      | 1.8             |
| `--imputation-scale` | Imputation scale      | 0.3             |
| `--output`           | Output directory      | -               |

## References
- test_proteinGroups.txt is from: Keilhauer EC, Hein MY, Mann M. Accurate protein complex retrieval by affinity enrichment mass spectrometry (AE-MS) rather than affinity purification mass spectrometry (AP-MS). Mol Cell Proteomics. 2015 Jan;14(1):120-35. doi: 10.1074/mcp.M114.041012. Epub 2014 Nov 2. PMID: 25363814; PMCID: PMC4288248. 
- s0 correction algorithm is from: Giai Gianetto Q, CoutΓ© Y, Bruley C, Burger T. Uses and misuses of the fudge factor in quantitative discovery proteomics. Proteomics. 2016 Jul;16(14):1955-60. doi: 10.1002/pmic.201600132. PMID: 27272648.
- s0 correction algorithm is cited by: Michaelis AC, Brunner AD, Zwiebel M, Meier F, Strauss MT, Bludau I, Mann M. The social and structural architecture of the yeast protein interactome. Nature. 2023 Dec;624(7990):192-200. doi: 10.1038/s41586-023-06739-5. Epub 2023 Nov 15. PMID: 37968396; PMCID: PMC10700138.

Files in this skill

  • SKILL.md6.9 KB
  • examples/test_diann.tsv1.4 KB
  • examples/test_metadata.csv220 B
  • examples/test_metadata_diann.csv298 B
  • proteomics_de.py27.4 KB
  • tests/test_proteomics_de.py9.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.