differential-expression-analysis — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited differential-expression-analysis (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Source: https://github.com/aipoch/medical-research-skills
| Situation | File to Read | Purpose |
|---|---|---|
| Need algorithm details | references/algorithm.md | Statistical methods, formulas, assumptions |
| Need to run analysis | scripts/main.R | Execute: Rscript scripts/main.R --input_file ... --group_file ... |
| Encounter errors | references/troubleshooting.md | Common errors and solutions |
| Need CLI examples | references/cli-guide.md | Detailed CLI usage examples |
| Need test data | tests/data/ | Sample input files for testing |
Rscript scripts/main.R \
--input_file ./expression_matrix.csv \
--group_file ./group_info.csv \
--output_dir ./output/ \
--diff_method limma \
--p_threshold 0.05 \
--logfc_threshold 0.1 \
--seed 42| Short | Long | Type | Default | Description |
|---|---|---|---|---|
-i | --input_file | character | required | Expression matrix file (genes as rows, samples as columns) |
-g | --group_file | character | required | Group information file (sample ID + group columns) |
-o | --output_dir | character | ./output/ | Output directory |
-m | --diff_method | character | limma | Method: limma, deseq2, edger, t, wilcox |
-n | --norm_method | character | TMM | Normalization for edgeR: TMM, RLE, upperquartile |
-p | --p_threshold | numeric | 0.05 | P-value threshold |
-f | --logfc_threshold | numeric | 0.1 | Log fold change threshold |
-s | --seed | integer | 42 | Random seed for reproducibility |
Genes as rows, samples as columns, CSV format with gene ID in first column.
"","GSM1442228","GSM1442229","GSM1442230"
"0610006L08Rik",3.438,3.237,3.265
"0610007P14Rik",6.734,7.017,6.807CSV with sample ID and group columns.
"ID","group"
"GSM1442228","Control"
"GSM1442229","Control"
"GSM1442230","DIC"| File | Description |
|---|---|
Diffanalysis.csv | Complete DE results with gene_id, logFC, Pvalue, Padj |
volcano_plot.pdf | Volcano plot with significance thresholds |
heatmap.pdf | Heatmap of top upregulated/downregulated genes |
session_info.txt | R session and package version info |
temp/rdegs.csv | Significant differentially expressed genes |
temp/Diffanalysis_filtered.csv | Full results with group annotations |
Linear models for microarray and RNA-seq with empirical Bayes moderation. Recommended for normalized expression data (FPKM, TPM).
Negative binomial GLM with variance stabilization. Recommended for raw count data.
Empirical Bayes methods with TMM normalization. Supports robust dispersion estimation.
Simple pairwise statistical tests. t-test for parametric, Wilcoxon for non-parametric.
Rscript scripts/main.R \
-i expression_matrix.csv \
-g group_info.csv \
-o ./output \
-m limmaRscript scripts/main.R \
-i count_matrix.csv \
-g group_info.csv \
-o ./output \
-m deseq2Rscript scripts/main.R \
-i expression_matrix.csv \
-g group_info.csv \
-o ./output \
-p 0.01 \
-f 0.5| Error | Cause | Solution |
|---|---|---|
SKILL_FILE_NOT_FOUND | Input file doesn't exist | Check file path |
SKILL_SAMPLE_MISMATCH | Sample names don't match | Verify group file matches expression matrix columns |
SKILL_INVALID_DATA | Less than 2 groups or samples per group | Check group file |
SKILL_FILTER_ERROR | No significant genes found | Relax thresholds or check data quality |
SKILL_DEPENDENCY_MISSING | R package not installed | Install required packages |
IF error persists, READ: references/troubleshooting.md
# Check help
Rscript scripts/main.R --help
# Run with sample data
Rscript scripts/main.R \
-i tests/data/Combined_Datasets_Matrix_mus.csv \
-g tests/data/Combined_Datasets_mus_Group.csv \
-o tests/output/# Count lines in output
wc -l output/Diffanalysis.csv
# Check volcano plot exists
ls -la output/volcano_plot.pdfoptparseset.seed() for reproducibilityrequireNamespace() dependency checksscripts/ directoryreferences/ directoryLast updated: 2026-04-01 | Version: 2.0.0
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.