bulkrna-batch-correcti…
Load when correcting batch effects in bulk expression using R sva ComBat or the legacy Python parametric approximation. Skip…
Load when summarising peptide identifications (PSM count, unique peptide count, distinct
$ npx -y skills add tiangzlab/omicsclaw --skill proteomics-identification --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/proteomics-identificationContext preview
The summary Claude sees to decide when to auto-load this skill.
Load when summarising peptide identifications (PSM count, unique peptide count, distinct
name: proteomics-identification description: Load when summarising peptide identifications (PSM count, unique peptide count, distinct protein count, score / charge distributions) from a peptide-level CSV produced by MaxQuant / FragPipe / DIA-NN. Skip when raw spectra are the input (run a search engine first); working with protein-quantification tables (use proteomics-ms-qc). trigger: peptide identification, database search, MaxQuant, MS-GF+, Comet, Mascot tags: - proteomics - identification - peptides - psm - maxquant - msgf
Confidence filtering uses qvalue, q-value, q_value, PEP, pep or fdr in that order. The default threshold is 0.01. Use existing search-engine tables; this skill does not search raw spectra.
from skills._sdk.notebook import load_skill, write_output
library = load_skill('proteomics-identification')
data = library.demo_data(random_state=42)
result = library.filter_identifications(data, n_spectra=1000)
write_output(result, 'tables/peptides.csv')For real data, use `read_input` and pass any `read_table` helper as `reader=`. The executable `examples/example_step.py` also checks the result and writes a Figure.
<!-- api:begin generated from _api.py; regenerate with run.py api <skill dir> --write -->
Read peptide CSV/TSV; pass this function as reader= to read_input.
:param path: Peptide table; txt and tsv suffixes select tab separation. :returns: Table with common MaxQuant column names normalized. :raises OSError: The file cannot be read.
Filter peptide confidence values and return a new table.
:param data: Existing peptide/protein rows with optional qvalue, q-value, q_value, PEP, pep or fdr. :param fdr_threshold: CLI default 0.01; PEP thresholding is not a global FDR estimate. :param n_spectra: Total spectra; CLI default None uses retained PSM count, not an observed identification rate. :returns: Filtered rows with the actual confidence column and summary in attrs. :raises ValueError: Threshold or spectrum count is invalid.
Read identification diagnostics.
:param table: Filtered peptide table. :param keep: True preserves attrs; False removes diagnostics. :returns: A separate dictionary with filter provenance and summary. :raises TypeError: The input is not a DataFrame.
Plot peptide identification scores.
:param table: Peptide table including score. :returns: A matplotlib Figure without writing files. :raises KeyError: score is absent.
Simulate identifications for one thousand spectra.
:param random_state: CLI seed 42; change for another simulation. :returns: Synthetic peptide identifications, not a search-engine result. :raises ValueError: The seed is invalid.
<!-- api:end -->
Confidence filtering uses qvalue, q-value, q_value, PEP, pep or fdr in that order. The default threshold is 0.01. Functions return new DataFrames. `run_info(result)` reads diagnostic attrs; use `keep=False` before serialization when those attrs are not needed.
The CLI reads CSV tables and writes:
Functions return data and Figures without writing files. Steps own their outputs. Demo mode also writes its synthetic input when the original CLI used a file.
python skills/proteomics/proteomics-identification/proteomics_identification.py --demo --output /tmp/proteomics_identification
For real input replace `--demo` with `--input <table>`.
`numpy`, `pandas`, `matplotlib`
Conversational & memory-enabled AI research partner for multi-omics analysis. CLI + Desktop App (installers in Releases). From biological idea to full research paper.
Load when correcting batch effects in bulk expression using R sva ComBat or the legacy Python parametric approximation. Skip…
Load when discovering bulk gene co-expression modules and hub genes with R WGCNA. Skip direct expression contrasts (use…
Load when comparing gene expression between two conditions in bulk RNA-seq count data. Skip
Load when estimating cell-type proportions in bulk RNA-seq samples from a single-cell or
Load when running pathway / GO term enrichment on a bulk RNA-seq DE result list. Skip when
Load when converting Ensembl, Entrez or symbol IDs in a bulk RNA count matrix using an explicit mapping or a small human demo…