Medical Research Agent Skills is a library of agent instructions for medical and biomedical research, covering evidence analysis, study protocol design, data analysis, and academic writing. Researchers use it to guide compatible coding agents through common scientific workflows. The catalogue contains many of the library's skills and commands.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add aipoch/medical-research-skills --skill gene-protein-expression-matrix-normalizationgit clone --depth 1 https://github.com/aipoch/medical-research-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/aipoch/medical-research-skills/gene-protein-expression-matrix-normalization)<a href="https://agentmods.dev/skills/aipoch/medical-research-skills/gene-protein-expression-matrix-normalization"><img src="https://agentmods.dev/badge/skills/aipoch/medical-research-skills/gene-protein-expression-matrix-normalization/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/aipoch/medical-research-skills/gene-protein-expression-matrix-normalization"><img src="https://agentmods.dev/badge/skills/aipoch/medical-research-skills/gene-protein-expression-matrix-normalization.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00063 | $0.01478 |
| Opus 5 | $0.00032 | $0.00739 |
| Sonnet 5 | $0.00013 | $0.00296 |
| Haiku 4.5 | $0.00006 | $0.00148 |
Grade A, and why
gene-protein-expression-matrix-normalization scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 148 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Gene Protein Expression Matrix Normalization
When to Use
Use this skill when the user wants to normalize a numeric expression matrix before plotting, clustering, or exploratory comparison.
Typical requests:
- "Normalize this gene expression matrix with log2"
- "Do z-score scaling across samples"
- "Map protein abundance values into 0 to 1"
When Not to Use
Do not use this skill for:
- Count-model normalization such as CPM, TPM, TMM, or DESeq2 size factors
- Batch correction or covariate adjustment
- Single-cell preprocessing workflows
- Matrices that contain missing,
Inf, orNaNvalues unless they are cleaned first
When to Read External Files
When executing the analysis, run:
Rscript scripts/main.R --input_file <matrix.csv> --output_dir <output_dir> --method <log2|zscore|minmax>
| Situation | File to Read | Purpose |
|---|---|---|
| Need to execute the workflow | scripts/main.R |
CLI entry point |
| Need algorithm details | references/algorithm.md |
Method definitions and assumptions |
| Encounter an error | references/troubleshooting.md |
Standard error codes and fixes |
| Need examples or baseline run details | references/cli-guide.md |
Ready-to-run commands and test record |
| Need dependency declarations | DESCRIPTION |
Runtime package list |
Usage
Rscript scripts/main.R \
--input_file tests/data/expression_matrix.csv \
--output_dir ./output \
--method log2 \
--pseudo_count 1 \
--seed 42
Arguments
| Short | Long | Type | Default | Description |
|---|---|---|---|---|
-i |
--input_file |
file | required | Expression matrix in CSV or TSV format |
-o |
--output_dir |
dir | ./output |
Output directory |
-m |
--method |
string | log2 |
Normalization method: log2, zscore, minmax |
-r |
--margin |
string | column |
Apply normalization by row or column |
-p |
--pseudo_count |
numeric | 1 |
Added before log2 transformation |
-c |
--center |
boolean | true |
Center values for z-score |
-s |
--scale_values |
boolean | true |
Scale values for z-score |
-t |
--timeout_seconds |
integer | 0 |
Optional timeout; 0 disables it |
-d |
--delimiter |
string | auto |
Input delimiter: auto, csv, or tsv |
--seed |
integer | 42 |
Random seed | |
--verbose |
boolean | true |
Print progress logs |
What ships with it
14 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- DESCRIPTION 523 B
- eval_report_gene-protein-expression-matrix-normalization_result.json 16 KB
- references/algorithm.md 1.5 KB
- references/cli-guide.md 2.3 KB
- references/troubleshooting.md 1.5 KB
- scripts/cli_options.R 2.1 KB
- scripts/functions.R 2.9 KB
- scripts/io.R 2.8 KB
- scripts/main.R 945 B
- scripts/recording.R 1.4 KB
- scripts/run_analysis.R 4.2 KB
- scripts/utils.R 2.6 KB
- tests/data/expression_matrix.csv 1020 KB
- tests/run_tests.R 5.2 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 148 lines · 63 tokens per session scan A 3bbd38a0c1a3
gene-protein-expression-matrix-normalization is a skill published in the GitHub repository aipoch/medical-research-skills (1,860 stars, last pushed 1mo ago), licensed MIT. It adds 63 tokens to every session and 1,478 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
fragment-based-count-matrix-generation
Use when you have a backed AnnData object containing processed fragment data (stored in .obsm['fragmentpaired'] or .
methylbase-object-handling
Use when after reading in per-sample methylation call files with methRead() and obtaining methylRawList objects, but before calculating differential methylation or performing annotation.
motif-annotation-correlation-analysis
Use when you have a chromVARDeviations object with multiple annotation sets (such as JASPAR motifs and kmers) and need to determine which annotation pairs are redundant (high correlation) versus synergistic (high synergy z-scores).
motif-database-query-and-matching
Use when you have a set of differentially accessible peaks (output from differential accessibility testing, e.g., tl.
motif-enrichment-statistical-testing
Use when after identifying a set of differentially accessible peaks (via tl.difftest or equivalent), when you need to infer which transcription factors may regulate the observed chromatin state changes.
motif-peak-overlap-matching
Use when you have a filtered set of non-overlapping peaks from ATAC-seq data and a collection of motifs (typically from JASPAR or similar databases), and you need to identify which peaks contain matches to which motifs as a prerequisite for computing motif-based deviation scores across samples.