Skip to content

Latest commit

 

History

History
193 lines (164 loc) · 13.2 KB

File metadata and controls

193 lines (164 loc) · 13.2 KB

Manifest

Every file in the deposit and what it is. Generated by eval/build_manifest.py.

Top level

file what it is
README.md Start here: what the benchmark is, how to run it
LICENSE GNU General Public License v3.0
CITATION.cff Citation metadata (fill in DOI and author list before publishing)
config.sh Every path the pipeline uses; the only place absolute paths live
config.local.sh.example Example site overrides (the original cluster's settings); copy to config.local.sh and edit
.gitignore Ignores simulation output, site config and rebuildable inputs
MANIFEST.md This file

sim/R/ — Simulation — nonlinear regime (R)

file what it is
interaction_forms.R CIDER simulation -- interaction forms
simulate_cider_gam.R CIDER simulation -- nonlinear regime

sim/python/ — Simulation — linear regime and input construction (Python)

file what it is
build_gtex_wholeblood_input.py Rebuild the stage-2/4 GTEx whole-blood expression input + annotation.
simulate_cider_linear.py 20 independent standard-normal TFs (identity covariance).

sim/benchmarks/ — Benchmark methods

file what it is
benchmark_CIDER_discrete.R CIDER_discrete: the CIDER linear interaction model run on the median-binarized
benchmark_CIDER_discrete_gam.R CIDER_discrete (nonlinear stages): the CIDER-GAM run on the median-binarized trait used by the
benchmark_DGCA.R Benchmark: DGCA (differential gene correlation analysis, Pearson).
benchmark_DINGO.R Benchmark: DINGO (iDINGO), partial-correlation differential network.
benchmark_DiffCorr.R Benchmark: DiffCorr-style parametric differential correlation.
benchmark_discordant.R Benchmark: discordant (mixture-model differential correlation).

sim/grids/ — Parameter grids and the cell manifest

file what it is
cells.tsv Every benchmark cell (256) with the runner, preset, input cell, method arguments and grid that produce it
simulation_grid.txt Full grid, 1,000 settings (10 sample sizes x 10 effect sizes x 10 noise levels); stages 1 and 3, n up to 1000
simulation_grid_DINGO.txt (runid, repid) pairs over the full grid — DINGO runs one replicate per job
simulation_grid_DINGO_stage1_subset.txt (runid, repid) pairs over the core subset, simulated-TF stages
simulation_grid_DINGO_stage4_subset.txt (runid, repid) pairs over the core subset, real-TF stages
simulation_grid_beta_ratios.txt Interaction-to-main effect ratio sweep: main_effect fixed, interaction_effect varied
simulation_grid_gam_diagnostics.txt Small grid carrying a k column, for the GAM basis-dimension sweep
simulation_grid_stage4.txt Full grid for the real-TF stages 2 and 4; identical to simulation_grid.txt except the top sample tier is 803, the number of GTEx whole-blood donors
simulation_grid_subset.txt Core subset, 90 settings = 10 sample sizes x the central 3x3 of (beta, noise); stages 1 and 3
simulation_grid_subset_stage4.txt Core subset for the real-TF stages 2 and 4

slurm/ — SLURM job templates

file what it is
run_benchmark.sbatch SLURM array job: a benchmark consumer (DGCA, DiffCorr, discordant or
run_cider_gam.sbatch SLURM array job: CIDER-GAM generator (nonlinear stages 3 and 4).
run_cider_linear.sbatch SLURM array job: CIDER linear generator (stages 1 and 2, Python).
run_dingo.sbatch SLURM array job: DINGO. One array task per (runid, repid) pair rather than

eval/ — Evaluation, aggregation and diagnostics

file what it is
accept_fig2_delta.py Per-cell MAP straight from the existing Figure 2 code path.
acceptance_block_internals.py Acceptance tests for the per-block signed-rank internals + pooled rank-biserial.
aggregate_cell.py runid (4-digit str) -> {samples, betas, noise} from the given grid.
analyze_cider_decomposition.py Decompose CIDER's advantage into a dichotomization cost and a model effect.
analyze_cider_vs_best.py CIDER vs the BEST alternative, per (beta x noise) design cell, for all four simulation stages,
analyze_stage1_cider_vs_best.py Stage-1: is CIDER better than the BEST alternative, per (beta x noise) design cell?
audit_coverage.py Audit core-subset coverage across all CIDER simulation target cells.
bench_stage1_runtime.R Supplementary Table S1: single-replicate runtime of each alternative method, stage 1.
bench_stage1_runtime_cider.py Supplementary Table S1: single-replicate CIDER runtime, stage 1.
build_cell_manifest.py Derive sim/grids/cells.tsv -- the declarative list of every (stage, method,
build_manifest.py Regenerate MANIFEST.md: every file in the deposit and what it is.
cider_ksweep_experiment.R
compare_methods_within_stage.py {(arm, n, beta, sigma): MAP} using the existing Figure 2 definition.
dingo_lowdim_experiment.R
dingo_lowdim_experiment_fast.R
evaluate_stage3_cider_logp.R Dependencies
evaluate_stage4_cider_logp.R Dependencies
k_default_vs_k5_check.R Does the basis-dimension discrepancy between the stage-3/_boot scripts (k=5 on ALL three
k_default_vs_k5_check_r10.R Does the basis-dimension discrepancy between the stage-3/_boot scripts (k=5 on ALL three
make_table_s3_within_group_cor.py Supplementary Table S3: within-trait-half Pearson correlation between TF and target,
pilot_discordant_signflip.R PILOT: does adding negative-sign regulatory effects rescue discordant's EM?
signed_rank_blocks.py Internals for one (focal, comparator) block. focal_ap/comp_ap: {repid: AP}. d = focal-comp.
simulate_stage4_map_cider_evaluate.R Dependencies
stage4_tanh_cider_diagnostics.R
submit_missing.sh Submit a SLURM array over ONLY the missing runids of one cell.
submit_missing_dingo.sh Submit a SLURM array for the missing runids of a DINGO cell.
tanh_logp_diag.R
tanh_tie_diag.R

figures/ — Figure generation

file what it is
make_discrete_map_figures.py MAP figures with CIDER-discrete added as an extra series, written to plots/discrete/.
make_fig1A_candidates.py Panel A representation bake-off for CIDER Fig 1.
make_fig1_extra_panels.py Two additional Figure-1 panels:
make_fig1_panels.py Figure 1 panels for the CIDER methods paper — one vector file per subpanel.
make_fig1_reframe.py Fig 1 reframe panel: three estimators of beta(T) = TF->target slope vs trait.
make_fig1_reframe_scatter.py Companion 'before' panel for the Fig1A reframe: raw G vs X scatter colored by trait,
make_fig1_typology.py Straight beta(T) hitting y_lo at T_LO and y_hi at T_HI.
make_figure2_delta_panels.py Two replacement panels for Figure 2, built from the ALREADY-COMPUTED stage-1 and
make_figure2_panels.py Figure 2 (linear simulation results) — 12 individual panels, one SVG each, in plots/figure2/.
make_figure2_separability_panel.py Figure 2 candidate panel: the high- vs low-trait-separability distributions.
make_slide_cell_panels.py MAP, bootstrap SE, and convergence fraction for one (n, beta, noise) cell.
make_table_s3_within_group_cor.py Supplementary Table S3: within-trait-half Pearson correlation between TF and target,
plot_aggregate_map.py Aggregate mean-MAP curves for stage 1 and stage 2 — NO uncertainty bands.
plot_cellgrid_se.py 3x3 (beta x noise) grid of MAP vs sample size, for stage 1 and stage 2.
plot_cider_discrete_ablation.py CIDER_discrete ablation: the CIDER interaction model run on the median-binarized
plot_cider_replicates.py Single-cell diagnostic: CIDER's 50 individual replicate APs vs sample size, stage 2.
plot_dgca_diffcorr_equivalence.py Supplementary figure: DGCA and DiffCorr are near-interchangeable on the LINEAR stages.
plot_dgca_scoring_supp.py Supplementary: DGCA scoring artifact at stage 2 (real TF, linear).
plot_discordant_replicates.py Single-cell diagnostic: Discordant's 50 individual replicate APs vs sample size.
plot_figure3A_surfaces.py Figure 3 panel A: 3D surface plots of the four nonlinear true-positive interaction forms.
plot_figure3B_stage3_aggregate.py Figure 3 panel B: stage-3 aggregate MAP by interaction form, HIGH trait separability (v1) only,
plot_figure3CF_stage3_retention.py Figure 3 panels C-F: stage-3 high-vs-low trait-separability robustness, ONE PANEL PER FORM,
plot_figure3G_stage4_aggregate.py Figure 3 panel G: stage-4 aggregate MAP by interaction form, HIGH trait separability (v1) only,
plot_figure3HK_stage4_retention.py Figure 3 panels H-K: stage-4 high-vs-low trait-separability robustness, ONE PANEL PER FORM,
plot_interaction_surfaces.py 3D surface plots of the nonlinear true-positive interaction forms.
plot_nonlinear_aggregate_map.py Aggregate mean-MAP panels for the nonlinear stages (3 and 4), one panel per form.
plot_nonlinear_cellgrid_se.py 3x3 (beta x noise) MAP grids for the nonlinear stages — one figure per interaction form.
plot_nonlinear_figures.py Nonlinear results: method comparison faceted by functional form, for stage 3
plot_retention_ratio_nonlinear.py Retention-ratio curves (panel-B style) for the nonlinear stages, one panel per form.
plot_separability_nonlinear.py Trait-separability figures for the nonlinear stages (3 & 4), faceted by form.
plot_separability_prototype.py PROTOTYPE: how to present the effect of trait separability (v1 high vs v2 low).
plot_separability_retention_linear.py Trait-separability robustness for the LINEAR stages (1 and 2). One 2x2 figure per stage,
plot_separability_retention_nonlinear.py Trait-separability robustness for the nonlinear stages (3 and 4), per interaction form.
plot_stage1_cellgrid_se.py Stage-1 figure panel: 3x3 grid of MAP vs sample size, one panel per (beta x noise) cell.
plot_stage1_discordant_replicates.py Single-cell diagnostic: Discordant's 50 individual replicate APs vs sample size.
plot_stage1_figure1.py returns sorted sample sizes, means, sds — impute missing core runids as 0.
plot_stage1_figures.py Stage-1 (linear simulated interactions) figures for the main results.
plot_stage1_grouped_box.py Stage-1 grouped boxplot: all methods on ONE axis, dodged within each sample
plot_stage1_r50_uncertainty.py [SUPERSEDED 2026-07-23 — DO NOT USE] Kept only for reference.
plot_stage1_uncertainty.py Stage-1 uncertainty figures that replace the misleading +/-1 SD bands.
plot_stage2_cellgrid_se.py Stage-1 figure panel: 3x3 grid of MAP vs sample size, one panel per (beta x noise) cell.
plot_stage2_figures.py Stage-1 (linear simulated interactions) figures for the main results.
plot_stage2_r50_uncertainty.py [SUPERSEDED 2026-07-23 — DO NOT USE] Kept only for reference.
plot_stage4_tanh_logp.py Updated stage-4 tanh figures: CIDER-GAM scored on log-p (no p-value underflow).

tests/ — Tests

file what it is
README.md Tests

tests/verification/ — Tests — mgcv basis verification

file what it is
cr_knot_placement.R
mgcv_basis_defaults.R
mgcv_penalty_structure.R
ti_nullspace_is_bilinear.R

docs/ — Documentation

file what it is
CONSOLIDATION.md Consolidation notes
DATA.md Data
DISCORDANT_CEILING.md Discordant method non-convergence ceiling
benchmark_methods_code_check.md Benchmark Methods — code cross-check (for the Methods section)
cider_model_methods.md The CIDER interaction model and its nonlinear GAM extension — Methods reference
cider_vs_best_alternative_test.md Testing whether CIDER outperforms the best alternative
coverage_audit_20260712_final.txt Final coverage audit: 92 of 100 canonical cells complete; the 8 partials are all discordant non-convergence
discordant_failure_mechanism.md Discordant failure modes in the CIDER benchmark
gam_smooth_specification.md The CIDER GAM smooths: what the code fits, and equations for the Methods section
nonlinear_forms_correlation_survival.md Nonlinear forms: is there a "correlation-survival gradient"?
separability_analysis.md Trait-separability robustness analysis
simulation_design_methods.md Simulation design — Methods reference
simulation_study_reference.md CIDER Simulation Study — Reference Document

env/ — Environment

file what it is
environment.yml Python environment for the linear-stage generators, the aggregation tooling
install_r_packages.R Install the R dependencies of the CIDER simulation benchmark.
versions.txt Software versions observed on the machine used for the benchmark

data/aggregated/ — shipped results

256 gzipped per-cell average-precision tables (<cell>.txt.gz). Columns: runid, repid, AP, MAP, samples, betas, noise. Decompress these to regenerate every figure without re-running the grid — see docs/DATA.md.