Validation / Papers / Ross-Innes 2012
Differential oestrogen receptor binding is associated with clinical outcome in breast cancer
How to read this page. In this validation, a script plays the scientist. It gives the answers that we wrote before the run, from the methods of the paper. A known value comes from the paper, from a tutorial or from a check that we ran. This page has no combined run of the paper yet.
Run of 9 October 2026, claude-haiku-5-5: 5 of 5 values computed, 5 of 5 correct in the final answer
The paper
Ross-Innes CS, Stark R, Teschendorff AE, Holmes KA, Ali HR, Dunning MJ, Brown GD, Gojis O, Ellis IO, Green AR, Ali S, Chin SF, Palmieri C, Caldas C, Carroll JS. Differential oestrogen receptor binding is associated with clinical outcome in breast cancer. Nature 481:389-393 (2012). doi:10.1038/nature10730
Related sources:
- Stark R, Brown G. DiffBind: differential binding analysis of ChIP-Seq peak data. Bioconductor package, vignette version 3.22. The vignette prints all benchmark numbers. link
- Love MI, Huber W, Anders S. Moderated estimation of fold change and dispersion for RNA-seq data with DESeq2. Genome Biology 15:550 (2014). doi:10.1186/s13059-014-0550-8
What it measured
Ross-Innes et al. compared the binding of the estrogen receptor (ER) in breast cancer cell lines and tumors. The DiffBind vignette uses chromosome 18 of eleven ER ChIP-seq samples (BT474, MCF7, T47D, ZR75 and tamoxifen-resistant MCF7 cells) to find the sites with a different ER signal between the resistant and the responsive samples. It prints the number of sites for three analyses.
Data
DiffBind vignette data (chromosome 18 BAM files, peak files, sample sheet); the reads are from GEO GSE32222 Size: 561 MB archive, 22 BAM files of chromosome 18.
License: The vignette data page states no license. The files are fetched, not redistributed. The reads come from cell lines in a public GEO series. They hold no data of persons.
The instruction
A script sends this message as the scientist.
Basis: The DiffBind vignette 3.22, sections 3, 7 and 8: "11 Samples, 2845 sites in matrix", "246 of the 2845 sites" with DESeq2, "the analysis using the two-factor design finds 783 such sites", and the contrast of MCF7 against T47D with 1470 sites.
The decisions
The model asks questions during a run. A script gives these answers to the questions of the model. We wrote the answers before the run.
| Decision | Value | Source |
|---|---|---|
| Smallest number of samples that share a peak | 2 | The default of dba.count in the vignette. |
| Peak width around the summit | 200 | The default of dba.count in the vignette (401 base pairs). |
| Differential method | deseq2 | The default of dba.analyze in the vignette. |
| Normalization of the read counts | library_size | The default of dba.normalize in the vignette, the full library size. |
| Column that holds the condition to test | condition | Vignette section 3, the contrast of the factor Condition. |
| Reference level of the condition | Responsive | Vignette section 3, the contrast Resistant against Responsive. |
| Level to compare with the reference | Resistant | Vignette section 3. |
| Blocking factors | tissue | Vignette section 7.1 sets the design ~Tissue + Condition. The request names the tissue as blocking factor. |
| Dispersion fit of DESeq2 | local | DiffBind uses a local fit. The number of sites in the vignette reproduces with it and not with the parametric fit in analysis 2. |
| Independent filtering of DESeq2 | on | The default of DESeq2 in DiffBind. |
| False discovery rate cutoff | 0.05 | The default of dba.report in the vignette. |
| Smallest log2 fold change | 0 | The vignette uses no fold change threshold. |
| Smallest read count of a tested peak | 1 | The default filter of dba.count (a site needs one read). |
| Smallest number of samples that reach the read count | 1 | The default filter of dba.count. |
| Samples that you exclude | none | The vignette uses all 11 samples. |
| Other questions of the agent | Use the values in the decision record. | Not in the vignette. The benchmark answers a free question with this text. |
Known values
The tolerance is the largest difference from the known value that we accept. We set it before the run. Exact: the number must be the same.
| Value | Known value | Tolerance | Source |
|---|---|---|---|
consensus_sitesconsensus sitesSource of the known valuePrinted in the official tutorialTool: the DiffBind vignette 3.22Where: Section 3, "11 Samples, 2845 sites in matrix".Note in the list of known values: DiffBind vignette 3.22, section 3 | 2845 | exact | Printed in the official tutorial |
differential_tissue_blockdifferential peaks, tissue as blocking factorSource of the known valuePrinted in the official tutorialTool: the DiffBind vignette 3.22Where: Section 7.1, design ~Tissue + Condition, "finds 783 such sites".Note in the list of known values: DiffBind vignette 3.22, section 7.1; check.out | 783 | exact | Printed in the official tutorial |
gain_tissue_blockpeaks that gain signal, tissue as blocking factorSource of the known valueCheck with the same program: we calculated itTool: DiffBind 3.22.2 (dba.report) and DESeq2 1.52.0 called directly (checks/check_direct.R of the adapter)Where: Design ~Tissue + Condition, sites with a positive Fold in the resistant samples.Check: DiffBind calls DESeq2, so the direct DESeq2 call is the same code. The count agrees with dba.report.Note in the list of known values: dba.report of DiffBind 3.22.2; check.out | 188 | exact | Check with the same program: we calculated it |
lose_tissue_blockpeaks that lose signal, tissue as blocking factorSource of the known valueCheck with the same program: we calculated itTool: DiffBind 3.22.2 (dba.report) and DESeq2 1.52.0 called directly (checks/check_direct.R of the adapter)Where: Design ~Tissue + Condition, sites with a negative Fold in the resistant samples.Check: DiffBind calls DESeq2, so the direct DESeq2 call is the same code. The count agrees with dba.report.Note in the list of known values: dba.report of DiffBind 3.22.2; check.out | 595 | exact | Check with the same program: we calculated it |
differential_no_blockdifferential peaks without a blocking factorSource of the known valuePrinted in the official tutorialTool: the DiffBind vignette 3.22Where: Section 3, "246 of the 2845 sites" with FDR 0.05 and DESeq2, design ~Condition.Note in the list of known values: DiffBind vignette 3.22, section 3; check.out | 246 | exact | Printed in the official tutorial |
Latest scored run
Model: claude-haiku-5-5. Runs for each paper and model: 1. Blind mode: on. Status: answer. 212 s. Computed: 5 of 5 values. Reported: 5 of 5 values. The result file is bench/results/papers-2026-10-09-epigenomics-crispr-genetics-haiku.md. This run is not in the totals of the page of papers.
Computed: a logged number is within the tolerance. Reported: the final answer states the value, as the claim check measures. The table copies the cells of the result file.
| Item | Expected | Computed | Reported |
|---|---|---|---|
consensus_sitesconsensus sites | 2845 exact | pass 2845 (n1 metrics.n_sites, entry 39) | pass 2845 via tolerance (n12, claim check 215) |
differential_tissue_blockdifferential peaks, tissue as blocking factor | 783 exact | pass 783 (n8 metrics.n_significant, entry 105) | pass 783 via tolerance (n12, claim check 215) |
gain_tissue_blockpeaks that gain signal, tissue as blocking factor | 188 exact | pass 188 (n8 metrics.n_up, entry 105) | pass 188 via tolerance (n12, claim check 215) |
lose_tissue_blockpeaks that lose signal, tissue as blocking factor | 595 exact | pass 595 (n8 metrics.n_down, entry 105) | pass 595 via tolerance (n12, claim check 215) |
differential_no_blockdifferential peaks without a blocking factor | 246 exact | pass 246 (n2 metrics.n_significant, entry 78) | pass 246 via tolerance (n12, claim check 215) |
Notes
Triage notes by the maintainers
The text below is from the triage notes. We show it as the maintainers wrote it.
Entry numbers (eNN) are ids in the log.jsonl of the session folder. Classes: a = tool or adapter fault, b = harness fault, c = benchmark spec fault, d = model fault.
- claude-haiku-5-5 (blind, adapter 0.1.0):
20261009-024725-1c01, 212 s, 22 tool calls (1 failed), computed 5/5, reported 5/5. Report:bench/results/papers-2026-10-09-epigenomics-crispr-genetics-haiku.md. - Leak check: 0 paths outside the allow list, 0 unsourced claims. The one "blocked" entry is the wait for the scientist's answers.
| Run | Item | Class | Cause | Fix |
|---|---|---|---|---|
| first | analysis 2 and 3 of the first spec | c | The first spec asked for three analyses with three designs. The harness fills blocking_factors, condition_variable and the levels from the decision record and overwrites the arguments of the model. The model got the number of analysis 1 three times, asked to change the record, and ran a comparison for the tissue design only. Analysis 3 could not run (MCF7 against T47D needs four decisions changed). | The spec now asks for one design (the tissue as blocking factor) and a comparison without it. The tissue contrast stays in the adapter test tamoxifen-tissue-contrast. |
| first | consensus width 401 | a | The width came from the summary text only. The claim check called it unsourced. | count_reads_in_peaks returns metrics.peak_width. |
| first | versions | a | The model could not report the versions of DESeq2 and edgeR. | find_differential_peaks returns program_version. |
| 1 | inspect_data failed | b | The sandbox of a worktree run blocks the Python helper (Operation not permitted). The model read the file with read_file. | none |
Other findings:
- The DiffBind route with the vignette sample sheet counts the 2845 sites in about 40 seconds.
- The model reported the numbers of the comparison run (design without the tissue) as such. The claim check noted it as a number from a comparison.
- Not reproduced: the edgeR numbers of the vignette (819 and 1518). The quasi-likelihood test gives 820 and 1517. They are not items.