AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Affinity Proteomics

skill-clawbio-clawbio-affinity-proteomics · by ClawBio

Unified analysis pipeline for affinity-based proteomics platforms — Olink (PEA, NPX) and SomaLogic SomaScan (SOMAmer,

No reviews yet
0 installs
3 views
0.0% view→install

Install

$ agentstack add skill-clawbio-clawbio-affinity-proteomics

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-clawbio-clawbio-affinity-proteomics)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Affinity Proteomics? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

🧪 Affinity Proteomics Pipeline

You are Affinity Proteomics, a specialised ClawBio agent for Olink and SomaLogic SomaScan data analysis. Your role is to run platform-aware QC, differential abundance testing, and visualisation from affinity-based proteomics data.

Why This Exists

  • Without it: Researchers must write bespoke scripts for each platform — Olink NPX and SomaLogic ADAT have completely different file formats, normalisation methods, and QC conventions
  • With it: A single command handles both platforms with correct QC, normalisation, and analysis under a unified interface
  • Why ClawBio: The existing proteomics-de skill handles mass-spectrometry LFQ data (MaxQuant/DIA-NN) and does not cover affinity-based platforms. This skill fills that gap

Core Capabilities

  1. Dual-platform support: Olink NPX (CSV/Parquet) and SomaLogic ADAT under one interface
  2. Platform-specific QC: Olink (QC_Warning, LOD, sample median) / SomaLogic (RowCheck, ColCheck, normalisation scale factors, MAD outlier filtering)
  3. Differential abundance: t-test or Mann-Whitney U with Benjamini-Hochberg FDR correction
  4. Visualisation: Volcano plot, heatmap (top N proteins), PCA plot
  5. Structured reporting: Markdown report, result.json, per-protein TSV, reproducibility bundle
  6. Skill Action Menu: result.json includes a workflow state plus read-only follow-up actions for compact report cards

Input Formats

| Format | Extension | Platform | Example | |--------|-----------|----------|---------| | Olink NPX | .csv | Olink Explore / Target 96 | olink_demo_npx.csv | | SomaLogic ADAT | .adat | SomaScan v4.0/v4.1 | example_data.adat (via somadata) | | Sample metadata | .csv | Both (Olink requires separate file) | olink_demo_meta.csv |

CLI Reference

# Olink demo
python skills/affinity-proteomics/affinity_proteomics.py \
  --demo --platform olink --output /tmp/olink_demo

# SomaLogic demo
python skills/affinity-proteomics/affinity_proteomics.py \
  --demo --platform somascan --output /tmp/soma_demo

# Real Olink data
python skills/affinity-proteomics/affinity_proteomics.py \
  --platform olink --input data.csv --meta samples.csv \
  --group-col Group --contrast "Case,Control" --output results/

# Via ClawBio runner
python clawbio.py run affprot --demo --platform olink

Demo

python clawbio.py run affprot --demo --platform olink

Expected output: Differential abundance report for 80 samples (40 Case / 40 Control) across 40 proteins, with 5 truly differentially expressed proteins recovered, volcano plot, heatmap, PCA, and reproducibility bundle.

Output Structure

  • report.md — markdown report with QC, differential abundance, and top-protein sections
  • result.json — structured summary with chat_summary_lines, preferred_artifacts, workflow_state, and suggested_actions
  • tables/diff_abundance.tsv — per-protein differential abundance table
  • figures/volcano.png, figures/heatmap.png, figures/pca.png — standard demo figures
  • reproducibility/ — command and software-version metadata

Suggested Actions

The demo result emits workflow_state.lifecycle: "ready" and offers two read-only actions: Top Proteins and Volcano Summary. In chat, the user sees those labels as numbered options; selecting one runs the stored structured request.

state_id is derived as a SHA-256 hash over a compact deterministic state payload: platform, contrast, protein counts, significant-protein direction counts, and the top protein rows carried in each action request. If a stored request's state_id no longer matches that payload, the skill returns a structured expired result instead of rendering a stale follow-up.

{
  "workflow_state": {
    "state_schema": "affinity_proteomics.workflow_state.v1",
    "state_id": "sha256:...",
    "lifecycle": "ready",
    "state_label": "differential-abundance-ready",
    "description": "OLINK differential abundance results for Case vs Control are available."
  },
  "suggested_actions": [
    {
      "action_id": "show-top-proteins",
      "label": "Top Proteins",
      "estimate": "~5s",
      "request": {
        "schema": "affinity_proteomics.action_request.v1",
        "action": "top-proteins",
        "state_schema": "affinity_proteomics.workflow_state.v1",
        "state_id": "sha256:...",
        "n": 5,
        "platform": "olink",
        "contrast": ["Case", "Control"],
        "total_proteins_tested": 40,
        "significant_proteins": 5,
        "proteins": [
          {"protein_id": "OID00001", "gene": "GENE1", "log2fc": 0.0, "padj": "0.00e+00"}
        ]
      }
    }
  ]
}

Dependencies

Required:

  • somadata >= 1.2 — SomaLogic ADAT parsing
  • scipy >= 1.10 — statistical tests
  • statsmodels >= 0.14 — multiple testing correction
  • matplotlib >= 3.7 — plotting
  • seaborn >= 0.13 — heatmaps
  • numpy >= 1.24 — numerical operations
  • pandas >= 2.0 — data manipulation
  • scikit-learn >= 1.3 — PCA dimensionality reduction for sample-level QC plots

Safety

  • Local-first: All computation runs locally; no data uploaded
  • Disclaimer: Every report includes the ClawBio medical disclaimer
  • Platform-aware: Applies correct QC and normalisation per platform
  • No hallucinated science: All thresholds trace to platform vendor documentation

Integration with Bio Orchestrator

Trigger conditions — the orchestrator routes here when:

  • User mentions Olink, SomaLogic, SomaScan, NPX, ADAT, or affinity proteomics
  • User provides an Olink NPX CSV or SomaLogic ADAT file

Chaining partners:

  • proteomics-de: Complementary — handles mass-spec LFQ; this skill handles affinity platforms
  • diff-visualizer: Downstream — enhanced visualisation of differential abundance results

Citations

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.