本文へ移動
cccskills
無料GitHub で公開

affinity-proteomics

Unified analysis pipeline for affinity-based proteomics platforms — Olink (PEA, NPX) and SomaLogic SomaScan (SOMAmer, RFU). Platform-aware QC, normalisation, differential abundance, volcano plots, heatmaps, and PCA.

インストール方法を見る

含まれるファイル(7)

  • SKILL.md7.1 KB
  • affinity_proteomics.py38.2 KB
  • example_data/olink_demo_meta.csv1.8 KB
  • example_data/olink_demo_npx.csv266.5 KB
  • requirements.txt30 B
  • tests/__init__.py28 B
  • tests/test_affinity_proteomics.py13.6 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

🧪 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

FormatExtensionPlatformExample
Olink NPX.csvOlink Explore / Target 96olink_demo_npx.csv
SomaLogic ADAT.adatSomaScan v4.0/v4.1example_data.adat (via somadata)
Sample metadata.csvBoth (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

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Testing patterns for PHPUnit and Playwright E2E tests. Use when writing tests, debugging test failures, setting up test coverage, or implementing test patterns for ActivityPub features.

日本語の概要は準備中です。原文の説明を表示しています。

lilinji/GeneTind-Life-Skills142026年8月21日 更新

adaptyv

無料

How to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI/SPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.

日本語の概要は準備中です。原文の説明を表示しています。

lilinji/GeneTind-Life-Skills142026年8月21日 更新

Add unsigned integer (uint) type support to PyTorch operators by updating AT_DISPATCH macros. Use when adding support for uint16, uint32, uint64 types to operators, kernels, or when user mentions enabling unsigned types, barebones unsigned types, or uint support.

日本語の概要は準備中です。原文の説明を表示しています。

lilinji/GeneTind-Life-Skills142026年8月21日 更新

Time-blind friendly planning, executive function support, and daily structure for ADHD brains. Specializes in realistic time estimation, dopamine-aware task design, and building systems that actually work for neurodivergent minds.

日本語の概要は準備中です。原文の説明を表示しています。

lilinji/GeneTind-Life-Skills142026年8月21日 更新

aeon

無料

This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.

日本語の概要は準備中です。原文の説明を表示しています。

lilinji/GeneTind-Life-Skills142026年8月21日 更新

This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.

日本語の概要は準備中です。原文の説明を表示しています。

lilinji/GeneTind-Life-Skills142026年8月21日 更新

lilinji のスキルをすべて見る

このスキルの問題を報告する