{
  "_id": "6aad05ed3d719c1f84074fd4",
  "Package": "iconic",
  "Title": "Causal Model Selection with Genetic Instruments and Negative\nControls",
  "Version": "0.99.3",
  "biocViews": "StatisticalMethod, Genetics, MultipleComparison, Regression,\nTranscriptomics, RNASeq, Survival",
  "Authors@R": "c(\nperson(\"Sean T.\", \"Bresnahan\", role = c(\"aut\", \"cre\"),\nemail = \"seantbresnahan3@gmail.com\"),\nperson(\"Charis\", \"Xiong\", role = \"aut\",\nemail = \"charis.xiong@gmail.com\"))",
  "Description": "Provides a model selection workflow for causal inference\nwith genetic instruments and negative controls in observational\nomics data. The package fits eight estimators of the natural\ndirect and indirect effects (NDE/NIE), diagnoses which are\nvalid for the user's data via instrument-strength checks and\nnegative-control validity screens (A1, A2, A2'), stress-tests\nthem against confounding and pleiotropy violations, and\nrecommends the estimator most likely to be unbiased. A hybrid\ngenerative texture model (a torch GAN for sample-level\nstructure and a Gaussian copula for the mediator panel) lets\nthe sensitivity analysis mirror the marginal and joint\nstructure of the user's cohort. The modular API comprises\niconic_data() to standardize data, iconic_diagnose() to assess\nestimator eligibility, iconic_estimate() to fit all eligible\nestimators, iconic_sensitivity() to sweep instrument\nexogeneity, iconic_recommend() to rank estimators by\nidentification strength and robustness, and iconic_prospect()\nto plan future studies. infer_confounding() estimates\nheld-fixed confounding parameters from the data. Helper\nfunctions construct exposure instruments (polygenic scores from\nGWAS summary statistics or PGS Catalog scoring files), mediator\ninstruments (cis-eQTL scans and elastic-net\npredicted-expression composites), and negative-control panels\n(principal components of residualized omics matrices), and data\ncan be imported directly from SummarizedExperiment objects.\nTime-to-event outcomes are supported on the Cox\nlog-hazard-ratio and restricted-mean-survival-time scales.\nBinary outcomes are supported on the log-odds-ratio (logistic\ntwo-stage predictor-substitution outcome stage) and\nrisk-difference (linear probability model) scales. The torch\npackage is required for the generative texture model\n(sensitivity and prospective analysis); all other functionality\nworks without it.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "Config/roxygen2/version": "8.1.0",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "URL": "https://seantbresnahan.com/iconic/,\nhttps://github.com/sbresnahan/iconic",
  "BugReports": "https://github.com/sbresnahan/iconic/issues",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-09-18 08:58:13 UTC",
    "User": "root"
  },
  "Author": "Sean T. Bresnahan [aut, cre], Charis Xiong [aut]",
  "Maintainer": "Sean T. Bresnahan <seantbresnahan3@gmail.com>",
  "Config/pak/sysreqs": "cmake make libicu-dev",
  "Repository": "https://biocstaging.r-universe.dev",
  "Date/Publication": "2026-08-19 18:07:21 UTC",
  "RemoteUrl": "https://github.com/BiocStaging/iconic",
  "RemoteRef": "HEAD",
  "RemoteSha": "e89f4936c01c4624c802e5b601a97f3a7a13384e",
  "_user": "biocstaging",
  "_type": "src",
  "_file": "iconic_0.99.3.tar.gz",
  "_fileid": "https://r2.ropensci.org/c955fe08eb118b9d5a58e185bdf3059f893109d221f02226c7ea7c74cace7763",
  "_filesize": 2762571,
  "_sha256": "c955fe08eb118b9d5a58e185bdf3059f893109d221f02226c7ea7c74cace7763",
  "_expires": "2026-12-27T09:35:39.000Z",
  "_created": "2026-09-18T08:58:13.000Z",
  "_published": "2026-09-18T09:35:41.279Z",
  "_bioccheck": {
    "error": 0,
    "warning": 1,
    "note": 6
  },
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/biocstaging/actions/runs/35326678362",
  "_status": "success",
  "_upstream": "https://github.com/BiocStaging/iconic",
  "_commit": {
    "id": "e89f4936c01c4624c802e5b601a97f3a7a13384e",
    "author": "sbresnahan <seantbresnahan3@gmail.com>",
    "committer": "sbresnahan <seantbresnahan3@gmail.com>",
    "message": "iconic 0.99.3\n\n## New features\n\n- **Binary outcome support.** `outcome_type = \"binary\"` is now\n  available throughout the workflow: `iconic_data()` accepts a 0/1\n  outcome vector (validated as dichotomous, stored unscaled as\n  `Y_bin`), and `iconic_estimate()`, `iconic_sensitivity()`,\n  `iconic_prospect()`, and `run_single_iteration()` all dispatch to\n  binary-specific estimators. `generate_toy_data()` and\n  `run_single_iteration()` gain a `bin_prev` argument (default 0.5)\n  controlling the outcome prevalence of the simulated binary DGP.\n\n- **Two effect scales for binary outcomes** via the `effect_scale`\n  argument: `\"logor\"` (default; logistic two-stage\n  predictor-substitution outcome stage, mirroring the Cox log-HR\n  convention for survival) and `\"riskdiff\"` (linear probability model\n  outcome stage, giving an exactly collapsible NDE/NIE decomposition).\n  Inert scale requests are remapped with an informative message\n  (e.g. `effect_scale = \"loghr\"` on binary data maps to `\"logor\"`).\n\n- **New binary estimators** (`R/bin_estimators.R`,\n  `R/bin_mediation.R`): `fit_unadj_bin()`, `fit_direct_bin()`,\n  `fit_iv2sls_bin()`, `fit_pgc_bin()`, and the mediation variants\n  `fit_unadj_mediation_bin()`, `fit_direct_mediation_bin()`,\n  `fit_iv2sls_mediation_bin()`, `fit_iv2sls_mediation2_bin()`,\n  `fit_pgc_mediation_bin()`, `fit_pgc_mediation2_bin()`. First stages\n  remain OLS; only the outcome stage changes (binomial GLM or linear\n  probability model). The partial-F weak-instrument gate and the\n  collinear-panel fallback behave as for continuous and survival\n  outcomes.\n\n- **COCA is excluded for binary outcomes** (`fit_coca_bin()` and\n  `fit_coca_mediation_bin()` return `NA` with a `reason` attribute, the\n  same contract as for survival): COCA's ratio identification assumes a\n  linear structural outcome model, which neither the log-OR nor the\n  risk-difference binary outcome stage satisfies.\n\n## Behavioural notes\n\n- `infer_confounding()` now errors informatively for binary ou",
    "time": 1787162841
  },
  "_maintainer": {
    "name": "Sean T. Bresnahan",
    "email": "seantbresnahan3@gmail.com",
    "login": "sbresnahan",
    "bluesky": "@seantbres.bsky.social",
    "description": "Associate Data Scientist | PhD in Molecular, Cellular and Integrative Biosciences from Penn State",
    "uuid": 58915342
  },
  "_distro": "resolute",
  "_jobs": [
    {
      "job": 105542676411,
      "time": 235,
      "config": "bioc-checks",
      "r": "4.6.1",
      "check": "WARNING",
      "artifact": "10539951379"
    },
    {
      "job": 105542676459,
      "time": 638,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10539601935"
    },
    {
      "job": 105542676464,
      "time": 866,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10539234669"
    },
    {
      "job": 105542676440,
      "time": 594,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "10540169495"
    },
    {
      "job": 105542676511,
      "time": 421,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10539839688"
    },
    {
      "job": 105541334706,
      "time": 297,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10538349892"
    },
    {
      "job": 105542676441,
      "time": 159,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "10539841376"
    },
    {
      "job": 105542676597,
      "time": 807,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10539723284"
    },
    {
      "job": 105542676549,
      "time": 814,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "10540276452"
    },
    {
      "job": 105542676518,
      "time": 476,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10539627604"
    }
  ],
  "_registered": true,
  "_dependencies": [
    {
      "package": "AER",
      "role": "Imports"
    },
    {
      "package": "MASS",
      "role": "Imports"
    },
    {
      "package": "parallel",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "survival",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "withr",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "ggplot2",
      "role": "Suggests"
    },
    {
      "package": "patchwork",
      "role": "Suggests"
    },
    {
      "package": "scales",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "torch",
      "role": "Suggests"
    },
    {
      "package": "bigsnpr",
      "role": "Suggests"
    },
    {
      "package": "bigstatsr",
      "role": "Suggests"
    },
    {
      "package": "glmnet",
      "role": "Suggests"
    },
    {
      "package": "irlba",
      "role": "Suggests"
    },
    {
      "package": "SummarizedExperiment",
      "role": "Suggests"
    },
    {
      "package": "S4Vectors",
      "role": "Suggests"
    },
    {
      "package": "BiocStyle",
      "role": "Suggests"
    }
  ],
  "_owner": "biocstaging",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-30",
      "n": 11
    },
    {
      "week": "2026-31",
      "n": 4
    },
    {
      "week": "2026-32",
      "n": 7
    },
    {
      "week": "2026-33",
      "n": 9
    },
    {
      "week": "2026-34",
      "n": 3
    }
  ],
  "_tags": [],
  "_topics": [
    "statisticalmethod",
    "genetics",
    "multiplecomparison",
    "regression",
    "transcriptomics",
    "rnaseq",
    "survival"
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "sbresnahan",
      "count": 34,
      "uuid": 58915342
    },
    {
      "user": "jhuang35",
      "count": 1,
      "uuid": 6342364
    }
  ],
  "_userbio": {
    "uuid": 278472782,
    "type": "organization",
    "name": "BiocStaging",
    "followers": 2
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/iconic"
  },
  "_devurl": "https://github.com/sbresnahan/iconic",
  "_pkgdown": "https://seantbresnahan.com/iconic/",
  "_searchresults": 0,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/iconic.html",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE"
  ],
  "_cranurl": false,
  "_exports": [
    "analyze_mediation_robust",
    "analyze_methods_parallel",
    "analyze_methods_robust",
    "apply_fusion_weights",
    "as_iconic_data",
    "beta_to_m",
    "build_mediator_instruments",
    "build_prs_ldpred2",
    "build_w_pcs",
    "call_cis_eqtls",
    "check_instrument_strength",
    "check_torch_setup",
    "composite_p_value",
    "fit_coca",
    "fit_coca_bin",
    "fit_coca_mediation",
    "fit_coca_mediation_bin",
    "fit_coca_mediation_surv",
    "fit_coca_surv",
    "fit_direct",
    "fit_direct_bin",
    "fit_direct_mediation",
    "fit_direct_mediation_bin",
    "fit_direct_mediation_surv",
    "fit_direct_surv",
    "fit_iv2sls",
    "fit_iv2sls_bin",
    "fit_iv2sls_mediation",
    "fit_iv2sls_mediation_bin",
    "fit_iv2sls_mediation_surv",
    "fit_iv2sls_mediation2",
    "fit_iv2sls_mediation2_bin",
    "fit_iv2sls_mediation2_surv",
    "fit_iv2sls_surv",
    "fit_pgc",
    "fit_pgc_bin",
    "fit_pgc_mediation",
    "fit_pgc_mediation_bin",
    "fit_pgc_mediation_surv",
    "fit_pgc_mediation2",
    "fit_pgc_mediation2_bin",
    "fit_pgc_mediation2_surv",
    "fit_pgc_scalar",
    "fit_pgc_scalar_mediation",
    "fit_pgc_surv",
    "fit_unadj_bin",
    "fit_unadj_mediation",
    "fit_unadj_mediation_bin",
    "fit_unadj_mediation_surv",
    "fit_unadj_surv",
    "gan_mediation_sensitivity",
    "gan_pleiotropy_sensitivity",
    "gan_sensitivity",
    "generate_toy_data",
    "iconic_data",
    "iconic_diagnose",
    "iconic_estimate",
    "iconic_method_colors",
    "iconic_method_order",
    "iconic_prospect",
    "iconic_recommend",
    "iconic_sensitivity",
    "infer_confounding",
    "list_nc_models",
    "load_real_input_data",
    "nc_completeness_capture",
    "nc_completeness_check",
    "nc_cpg",
    "nc_independence_check",
    "nc_independence_check_gm",
    "nc_proxy",
    "nc_support_check",
    "nc_validity_check",
    "nc_validity_screen",
    "plot_bias",
    "plot_bias_boxplot",
    "plot_bias_distribution",
    "plot_degradation_surface",
    "plot_estimate_distribution",
    "plot_estimated_vs_true",
    "plot_estimator_benchmark",
    "plot_feature_correlation_sweep",
    "plot_gan_diagnostics",
    "plot_instrument_strength_sweep",
    "plot_model_selection",
    "plot_nc_coverage_comparison",
    "plot_nc_validity_diagnostics",
    "plot_pleiotropy_sweep",
    "plot_power",
    "plot_prospective_analysis",
    "plot_sensitivity_heatmap",
    "plot_type1_boxplot",
    "plot_type1_error",
    "plot_type1_vs_conf",
    "qc_gwas_sumstats",
    "recommend_estimator",
    "residualize_matrix",
    "run_mediation_sim",
    "run_null_mediation_sim",
    "run_null_sim",
    "run_simulation",
    "run_single_iteration",
    "sample_feature_texture",
    "sample_texture",
    "scenario_manifest",
    "score_pgs_panel",
    "simulate_single_genetic_instrument",
    "sweep_instrument_strength",
    "sweep_mediation_null_by_conf",
    "sweep_mediation_param",
    "sweep_nc_validity",
    "sweep_null_by_conf",
    "sweep_param",
    "train_feature_texture",
    "train_gan_on_real_data"
  ],
  "_help": [
    {
      "page": "analyze_mediation_robust",
      "title": "Run all mediation estimators on one synthetic dataset",
      "topics": [
        "analyze_mediation_robust"
      ]
    },
    {
      "page": "analyze_methods_parallel",
      "title": "Parallel version of 'analyze_methods_robust()'",
      "topics": [
        "analyze_methods_parallel"
      ]
    },
    {
      "page": "analyze_methods_robust",
      "title": "Run all five estimators (plus UNADJ) on one synthetic dataset",
      "topics": [
        "analyze_methods_robust"
      ]
    },
    {
      "page": "apply_fusion_weights",
      "title": "Apply FUSION/TWAS eQTL weights to a dosage matrix",
      "topics": [
        "apply_fusion_weights"
      ]
    },
    {
      "page": "as_iconic_data",
      "title": "Convert external data containers to iconic_data",
      "topics": [
        "as_iconic_data",
        "as_iconic_data.default",
        "as_iconic_data.SummarizedExperiment"
      ]
    },
    {
      "page": "beta_to_m",
      "title": "Convert methylation beta values to M-values",
      "topics": [
        "beta_to_m"
      ]
    },
    {
      "page": "build_mediator_instruments",
      "title": "Build mediator instruments via per-gene elastic net",
      "topics": [
        "build_mediator_instruments"
      ]
    },
    {
      "page": "build_prs_ldpred2",
      "title": "Build an exposure polygenic score with LDpred2-auto",
      "topics": [
        "build_prs_ldpred2"
      ]
    },
    {
      "page": "build_w_pcs",
      "title": "Build a negative-control panel from principal components",
      "topics": [
        "build_w_pcs"
      ]
    },
    {
      "page": "call_cis_eqtls",
      "title": "Scan for cis-eQTLs of each gene",
      "topics": [
        "call_cis_eqtls"
      ]
    },
    {
      "page": "check_instrument_strength",
      "title": "Check first-stage instrument strength (partial F)",
      "topics": [
        "check_instrument_strength"
      ]
    },
    {
      "page": "check_torch_setup",
      "title": "Check whether a working torch installation is available",
      "topics": [
        "check_torch_setup"
      ]
    },
    {
      "page": "composite_p_value",
      "title": "Composite null hypothesis test p-value",
      "topics": [
        "composite_p_value"
      ]
    },
    {
      "page": "fit_coca",
      "title": "COCA estimator: Negative-Control Outcome Correction via ratio",
      "topics": [
        "fit_coca"
      ]
    },
    {
      "page": "fit_coca_bin",
      "title": "COCA binary estimator: NOT supported (returns NA)",
      "topics": [
        "fit_coca_bin"
      ]
    },
    {
      "page": "fit_coca_mediation",
      "title": "COCA mediation estimator: negative-control calibration of both stages",
      "topics": [
        "fit_coca_mediation"
      ]
    },
    {
      "page": "fit_coca_mediation_bin",
      "title": "COCA binary mediation estimator: NOT supported (returns NA)",
      "topics": [
        "fit_coca_mediation_bin"
      ]
    },
    {
      "page": "fit_coca_mediation_surv",
      "title": "COCA survival mediation estimator: NOT supported (returns NA)",
      "topics": [
        "fit_coca_mediation_surv"
      ]
    },
    {
      "page": "fit_coca_surv",
      "title": "COCA survival estimator: NOT supported (returns NA)",
      "topics": [
        "fit_coca_surv"
      ]
    },
    {
      "page": "fit_direct",
      "title": "DIRECT estimator: OLS with instrument and negative-control as covariates",
      "topics": [
        "fit_direct"
      ]
    },
    {
      "page": "fit_direct_bin",
      "title": "DIRECT binary estimator: logistic / LPM with instrument and NC covariates",
      "topics": [
        "fit_direct_bin"
      ]
    },
    {
      "page": "fit_direct_mediation",
      "title": "DIRECT mediation estimator: OLS with instrument and NC as covariates",
      "topics": [
        "fit_direct_mediation"
      ]
    },
    {
      "page": "fit_direct_mediation_bin",
      "title": "DIRECT binary mediation estimator: logistic / LPM with G and W covariates",
      "topics": [
        "fit_direct_mediation_bin"
      ]
    },
    {
      "page": "fit_direct_mediation_surv",
      "title": "DIRECT survival mediation estimator: Cox / RMST with G and W covariates",
      "topics": [
        "fit_direct_mediation_surv"
      ]
    },
    {
      "page": "fit_direct_surv",
      "title": "DIRECT survival estimator: Cox / RMST with instrument and NC covariates",
      "topics": [
        "fit_direct_surv"
      ]
    },
    {
      "page": "fit_iv2sls",
      "title": "IV2SLS estimator: Two-Stage Least Squares with genetic instrument",
      "topics": [
        "fit_iv2sls"
      ]
    },
    {
      "page": "fit_iv2sls_bin",
      "title": "IV2SLS binary estimator: two-stage predictor substitution with logistic / LPM",
      "topics": [
        "fit_iv2sls_bin"
      ]
    },
    {
      "page": "fit_iv2sls_mediation",
      "title": "IV2SLS mediation estimator: instrumented exposure in both stages",
      "topics": [
        "fit_iv2sls_mediation"
      ]
    },
    {
      "page": "fit_iv2sls_mediation_bin",
      "title": "IV2SLS binary mediation estimator: single-instrument 2SPS with logistic / LPM",
      "topics": [
        "fit_iv2sls_mediation_bin"
      ]
    },
    {
      "page": "fit_iv2sls_mediation_surv",
      "title": "IV2SLS survival mediation estimator: single-instrument 2SPS with Cox / RMST",
      "topics": [
        "fit_iv2sls_mediation_surv"
      ]
    },
    {
      "page": "fit_iv2sls_mediation2",
      "title": "IV2SLS2 mediation estimator: 2-stage MR with instruments for both X and M",
      "topics": [
        "fit_iv2sls_mediation2"
      ]
    },
    {
      "page": "fit_iv2sls_mediation2_bin",
      "title": "IV2SLS2 binary mediation estimator: 2-stage MR with logistic / LPM outcome",
      "topics": [
        "fit_iv2sls_mediation2_bin"
      ]
    },
    {
      "page": "fit_iv2sls_mediation2_surv",
      "title": "IV2SLS2 survival mediation estimator: 2-stage MR with Cox / RMST outcome",
      "topics": [
        "fit_iv2sls_mediation2_surv"
      ]
    },
    {
      "page": "fit_iv2sls_surv",
      "title": "IV2SLS survival estimator: two-stage predictor substitution with Cox / RMST",
      "topics": [
        "fit_iv2sls_surv"
      ]
    },
    {
      "page": "fit_pgc",
      "title": "PGC estimator: Proxy G-Component Correction (matrix bridge)",
      "topics": [
        "fit_pgc"
      ]
    },
    {
      "page": "fit_pgc_bin",
      "title": "PGC binary estimator: proxy G-component correction with logistic / LPM",
      "topics": [
        "fit_pgc_bin"
      ]
    },
    {
      "page": "fit_pgc_mediation",
      "title": "PGC mediation estimator: bridge-function-adjusted natural effects (matrix bridge)",
      "topics": [
        "fit_pgc_mediation"
      ]
    },
    {
      "page": "fit_pgc_mediation_bin",
      "title": "PGC binary mediation estimator: single-panel bridge with logistic / LPM",
      "topics": [
        "fit_pgc_mediation_bin"
      ]
    },
    {
      "page": "fit_pgc_mediation_surv",
      "title": "PGC survival mediation estimator: single-panel bridge with Cox / RMST",
      "topics": [
        "fit_pgc_mediation_surv"
      ]
    },
    {
      "page": "fit_pgc_mediation2",
      "title": "PGC-2 mediation estimator: two-stage proximal mediation with path-specific bridges",
      "topics": [
        "fit_pgc_mediation2"
      ]
    },
    {
      "page": "fit_pgc_mediation2_bin",
      "title": "PGC2 / PGC2Gm binary mediation estimator: path-specific bridges with logistic / LPM",
      "topics": [
        "fit_pgc_mediation2_bin"
      ]
    },
    {
      "page": "fit_pgc_mediation2_surv",
      "title": "PGC2 / PGC2Gm survival mediation estimator: path-specific bridges with Cox / RMST",
      "topics": [
        "fit_pgc_mediation2_surv"
      ]
    },
    {
      "page": "fit_pgc_scalar",
      "title": "PGC estimator: Proxy G-Component Correction (scalar bridge)",
      "topics": [
        "fit_pgc_scalar"
      ]
    },
    {
      "page": "fit_pgc_scalar_mediation",
      "title": "PGC mediation estimator: bridge-function-adjusted natural effects (scalar bridge)",
      "topics": [
        "fit_pgc_scalar_mediation"
      ]
    },
    {
      "page": "fit_pgc_surv",
      "title": "PGC survival estimator: proxy G-component correction with Cox / RMST",
      "topics": [
        "fit_pgc_surv"
      ]
    },
    {
      "page": "fit_unadj_bin",
      "title": "UNADJ binary estimator: unadjusted logistic / linear-probability regression",
      "topics": [
        "fit_unadj_bin"
      ]
    },
    {
      "page": "fit_unadj_mediation",
      "title": "UNADJ mediation estimator: naive Baron-Kenny style",
      "topics": [
        "fit_unadj_mediation"
      ]
    },
    {
      "page": "fit_unadj_mediation_bin",
      "title": "UNADJ binary mediation estimator: naive Baron-Kenny with logistic / LPM",
      "topics": [
        "fit_unadj_mediation_bin"
      ]
    },
    {
      "page": "fit_unadj_mediation_surv",
      "title": "UNADJ survival mediation estimator: naive Baron-Kenny with Cox / RMST",
      "topics": [
        "fit_unadj_mediation_surv"
      ]
    },
    {
      "page": "fit_unadj_surv",
      "title": "UNADJ survival estimator: unadjusted Cox / RMST regression",
      "topics": [
        "fit_unadj_surv"
      ]
    },
    {
      "page": "gan_mediation_sensitivity",
      "title": "Benchmark mediation estimators across confounding scenarios",
      "topics": [
        "gan_mediation_sensitivity"
      ]
    },
    {
      "page": "gan_pleiotropy_sensitivity",
      "title": "Benchmark estimators across pleiotropy and confounding scenarios",
      "topics": [
        "gan_pleiotropy_sensitivity"
      ]
    },
    {
      "page": "gan_sensitivity",
      "title": "Benchmark estimators across confounding scenarios on synthetic data",
      "topics": [
        "gan_sensitivity"
      ]
    },
    {
      "page": "generate_toy_data",
      "title": "Generate one synthetic dataset (internal)",
      "topics": [
        "generate_toy_data"
      ]
    },
    {
      "page": "iconic_data",
      "title": "Construct a standardized data object for ICONIC model selection",
      "topics": [
        "iconic_data"
      ]
    },
    {
      "page": "iconic_diagnose",
      "title": "Diagnose data and determine estimator eligibility",
      "topics": [
        "iconic_diagnose"
      ]
    },
    {
      "page": "iconic_estimate",
      "title": "Fit all eligible estimators on real data",
      "topics": [
        "iconic_estimate"
      ]
    },
    {
      "page": "iconic_method_colors",
      "title": "Colour palette for iconic methods",
      "topics": [
        "iconic_method_colors"
      ]
    },
    {
      "page": "iconic_method_order",
      "title": "Default method display order",
      "topics": [
        "iconic_method_order"
      ]
    },
    {
      "page": "iconic_prospect",
      "title": "Prospective bias-reduction analysis for data without instruments or negative controls",
      "topics": [
        "bias_reduction_prospective",
        "iconic_prospect"
      ]
    },
    {
      "page": "iconic_recommend",
      "title": "Recommend the best causal estimator for the user's data",
      "topics": [
        "iconic_recommend"
      ]
    },
    {
      "page": "iconic_sensitivity",
      "title": "Sensitivity (degradation) surface and effect-decomposition bias sweep",
      "topics": [
        "effect_decomposition_bias_sweep",
        "iconic_sensitivity"
      ]
    },
    {
      "page": "infer_confounding",
      "title": "Infer confounding parameters from the user's data",
      "topics": [
        "infer_confounding"
      ]
    },
    {
      "page": "list_nc_models",
      "title": "List the built-in negative-control models",
      "topics": [
        "list_nc_models"
      ]
    },
    {
      "page": "load_real_input_data",
      "title": "Load and standardise a real multi-omic dataset for GAN training",
      "topics": [
        "load_real_input_data"
      ]
    },
    {
      "page": "nc_completeness_capture",
      "title": "Covariance-capture completeness test",
      "topics": [
        "nc_completeness_capture"
      ]
    },
    {
      "page": "nc_completeness_check",
      "title": "Check negative-control completeness (dimensional + covariance-capture)",
      "topics": [
        "nc_completeness_check"
      ]
    },
    {
      "page": "nc_cpg",
      "title": "CpG-predicted-expression negative-control model (SCENIC case)",
      "topics": [
        "nc_cpg"
      ]
    },
    {
      "page": "nc_independence_check",
      "title": "Test instrument-independence of negative controls (W _|_ G | C)",
      "topics": [
        "nc_independence_check"
      ]
    },
    {
      "page": "nc_independence_check_gm",
      "title": "Test mediator-instrument independence of negative controls (W _|_ Gm | C)",
      "topics": [
        "nc_independence_check_gm"
      ]
    },
    {
      "page": "nc_proxy",
      "title": "Direct-proxy negative-control model",
      "topics": [
        "nc_proxy"
      ]
    },
    {
      "page": "nc_support_check",
      "title": "Negative-control support/range check",
      "topics": [
        "nc_support_check"
      ]
    },
    {
      "page": "nc_validity_check",
      "title": "Check negative-control validity across confounding scenarios",
      "topics": [
        "nc_validity_check"
      ]
    },
    {
      "page": "nc_validity_screen",
      "title": "Screen negative controls for exposure dependence (W _|_ X | C)",
      "topics": [
        "nc_validity_screen"
      ]
    },
    {
      "page": "plot_bias",
      "title": "Plot absolute bias vs a swept parameter",
      "topics": [
        "plot_bias"
      ]
    },
    {
      "page": "plot_bias_boxplot",
      "title": "Grouped boxplots of per-seed bias across a parameter sweep",
      "topics": [
        "plot_bias_boxplot"
      ]
    },
    {
      "page": "plot_bias_distribution",
      "title": "Baseline bias distribution (single-setting hero plot)",
      "topics": [
        "plot_bias_distribution"
      ]
    },
    {
      "page": "plot_degradation_surface",
      "title": "Degradation surface figure",
      "topics": [
        "plot_degradation_surface"
      ]
    },
    {
      "page": "plot_estimate_distribution",
      "title": "Boxplot of estimate distributions from run_simulation()",
      "topics": [
        "plot_estimate_distribution"
      ]
    },
    {
      "page": "plot_estimated_vs_true",
      "title": "Plot estimated effect vs true effect",
      "topics": [
        "plot_estimated_vs_true"
      ]
    },
    {
      "page": "plot_estimator_benchmark",
      "title": "Estimator benchmark figure",
      "topics": [
        "plot_estimator_benchmark"
      ]
    },
    {
      "page": "plot_feature_correlation_sweep",
      "title": "Feature correlation sweep figure",
      "topics": [
        "plot_feature_correlation_sweep"
      ]
    },
    {
      "page": "plot_gan_diagnostics",
      "title": "Compare real vs synthetic marginals from a trained generator",
      "topics": [
        "plot_gan_diagnostics"
      ]
    },
    {
      "page": "plot_instrument_strength_sweep",
      "title": "Instrument strength sweep figure",
      "topics": [
        "plot_instrument_strength_sweep"
      ]
    },
    {
      "page": "plot_model_selection",
      "title": "Model selection workflow figure",
      "topics": [
        "plot_model_selection"
      ]
    },
    {
      "page": "plot_nc_coverage_comparison",
      "title": "NC coverage comparison figure",
      "topics": [
        "plot_nc_coverage_comparison"
      ]
    },
    {
      "page": "plot_nc_validity_diagnostics",
      "title": "NC validity diagnostics figure (5 panels)",
      "topics": [
        "plot_nc_validity_diagnostics"
      ]
    },
    {
      "page": "plot_pleiotropy_sweep",
      "title": "Pleiotropy sweep figure",
      "topics": [
        "plot_pleiotropy_sweep"
      ]
    },
    {
      "page": "plot_power",
      "title": "Plot detection rate (power) vs a swept parameter",
      "topics": [
        "plot_power"
      ]
    },
    {
      "page": "plot_prospective_analysis",
      "title": "Prospective analysis figure",
      "topics": [
        "plot_prospective_analysis"
      ]
    },
    {
      "page": "plot_sensitivity_heatmap",
      "title": "Heatmap of a sensitivity metric across the scenario grid",
      "topics": [
        "plot_sensitivity_heatmap"
      ]
    },
    {
      "page": "plot_type1_boxplot",
      "title": "Type I error boxplot per method",
      "topics": [
        "plot_type1_boxplot"
      ]
    },
    {
      "page": "plot_type1_error",
      "title": "Bar chart of Type I error rates",
      "topics": [
        "plot_type1_error"
      ]
    },
    {
      "page": "plot_type1_vs_conf",
      "title": "Type I error rate vs confounding strength",
      "topics": [
        "plot_type1_vs_conf"
      ]
    },
    {
      "page": "print.iconic_confounding",
      "title": "Print method for iconic_confounding objects",
      "topics": [
        "print.iconic_confounding"
      ]
    },
    {
      "page": "print.iconic_data",
      "title": "Print method for iconic_data objects",
      "topics": [
        "print.iconic_data"
      ]
    },
    {
      "page": "print.iconic_diagnosis",
      "title": "Print method for iconic_diagnosis objects",
      "topics": [
        "print.iconic_diagnosis"
      ]
    },
    {
      "page": "print.iconic_feature_texture",
      "title": "Print method for iconic_feature_texture objects",
      "topics": [
        "print.iconic_feature_texture"
      ]
    },
    {
      "page": "print.iconic_gan",
      "title": "Print method for iconic_gan objects",
      "topics": [
        "print.iconic_gan"
      ]
    },
    {
      "page": "print.iconic_prospect",
      "title": "Print method for iconic_prospect objects",
      "topics": [
        "print.iconic_prospect"
      ]
    },
    {
      "page": "print.iconic_recommendation",
      "title": "Print method for iconic_recommendation objects",
      "topics": [
        "print.iconic_recommendation"
      ]
    },
    {
      "page": "print.iconic_sensitivity",
      "title": "Print method for iconic_sensitivity objects",
      "topics": [
        "print.iconic_sensitivity"
      ]
    },
    {
      "page": "qc_gwas_sumstats",
      "title": "Standardize and QC GWAS summary statistics",
      "topics": [
        "qc_gwas_sumstats"
      ]
    },
    {
      "page": "recommend_estimator",
      "title": "Recommend the preferred estimator from a sensitivity sweep",
      "topics": [
        "recommend_estimator"
      ]
    },
    {
      "page": "residualize_matrix",
      "title": "Residualize a feature matrix on covariates",
      "topics": [
        "residualize_matrix"
      ]
    },
    {
      "page": "run_mediation_sim",
      "title": "Run repeated mediation simulations for a single parameter configuration",
      "topics": [
        "run_mediation_sim"
      ]
    },
    {
      "page": "run_null_mediation_sim",
      "title": "Run null mediation simulations to estimate Type I error rates",
      "topics": [
        "run_null_mediation_sim"
      ]
    },
    {
      "page": "run_null_sim",
      "title": "Run null simulations to estimate Type I error rates",
      "topics": [
        "run_null_sim"
      ]
    },
    {
      "page": "run_simulation",
      "title": "Run repeated simulations for a single parameter configuration",
      "topics": [
        "run_simulation"
      ]
    },
    {
      "page": "run_single_iteration",
      "title": "Generate one synthetic dataset under the generalised SCM",
      "topics": [
        "run_single_iteration"
      ]
    },
    {
      "page": "sample_feature_texture",
      "title": "Draw synthetic feature vectors from a trained feature texture model",
      "topics": [
        "sample_feature_texture"
      ]
    },
    {
      "page": "sample_texture",
      "title": "Draw synthetic base rows from a trained texture model",
      "topics": [
        "sample_texture"
      ]
    },
    {
      "page": "scenario_manifest",
      "title": "Scenario manifest: truth and parameter ranges for a simulation",
      "topics": [
        "scenario_manifest"
      ]
    },
    {
      "page": "score_pgs_panel",
      "title": "Score a published polygenic-score panel on a dosage matrix",
      "topics": [
        "score_pgs_panel"
      ]
    },
    {
      "page": "simulate_single_genetic_instrument",
      "title": "Simulate a single genetic instrument",
      "topics": [
        "simulate_single_genetic_instrument"
      ]
    },
    {
      "page": "summary.iconic_diagnosis",
      "title": "Summary method for iconic_diagnosis objects",
      "topics": [
        "summary.iconic_diagnosis"
      ]
    },
    {
      "page": "summary.iconic_prospect",
      "title": "Summary method for iconic_prospect objects",
      "topics": [
        "summary.iconic_prospect"
      ]
    },
    {
      "page": "summary.iconic_recommendation",
      "title": "Summary method for iconic_recommendation objects",
      "topics": [
        "summary.iconic_recommendation"
      ]
    },
    {
      "page": "summary.iconic_sensitivity",
      "title": "Summary method for iconic_sensitivity objects",
      "topics": [
        "summary.iconic_sensitivity"
      ]
    },
    {
      "page": "sweep_instrument_strength",
      "title": "Sweep instrument strength",
      "topics": [
        "sweep_instrument_strength"
      ]
    },
    {
      "page": "sweep_mediation_null_by_conf",
      "title": "Sweep mediation Type I error across confounding strength levels",
      "topics": [
        "sweep_mediation_null_by_conf"
      ]
    },
    {
      "page": "sweep_mediation_param",
      "title": "Sweep a single mediation simulation parameter across a grid",
      "topics": [
        "sweep_mediation_param"
      ]
    },
    {
      "page": "sweep_nc_validity",
      "title": "Sweep negative-control validity diagnostics",
      "topics": [
        "sweep_nc_validity"
      ]
    },
    {
      "page": "sweep_null_by_conf",
      "title": "Sweep Type I error rate across confounding strength levels",
      "topics": [
        "sweep_null_by_conf"
      ]
    },
    {
      "page": "sweep_param",
      "title": "Sweep a single simulation parameter across a grid",
      "topics": [
        "sweep_param"
      ]
    },
    {
      "page": "train_feature_texture",
      "title": "Train a feature-level texture model for the mediator panel",
      "topics": [
        "train_feature_texture"
      ]
    },
    {
      "page": "train_gan_on_real_data",
      "title": "Train a generative texture model on real data",
      "topics": [
        "train_gan_on_real_data"
      ]
    }
  ],
  "_pkglogo": "https://github.com/BiocStaging/iconic/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/BiocStaging/iconic/raw/HEAD/README.md",
  "_rundeps": [
    "abind",
    "AER",
    "backports",
    "boot",
    "broom",
    "car",
    "carData",
    "cli",
    "colorspace",
    "cowplot",
    "cpp11",
    "Deriv",
    "doBy",
    "dplyr",
    "farver",
    "forecast",
    "Formula",
    "fracdiff",
    "generics",
    "ggplot2",
    "glue",
    "gtable",
    "isoband",
    "labeling",
    "lattice",
    "lifecycle",
    "lme4",
    "lmtest",
    "magrittr",
    "MASS",
    "Matrix",
    "MatrixModels",
    "mgcv",
    "minqa",
    "modelr",
    "nlme",
    "nloptr",
    "nnet",
    "numDeriv",
    "pbkrtest",
    "pillar",
    "pkgconfig",
    "purrr",
    "quantreg",
    "R6",
    "rbibutils",
    "RColorBrewer",
    "Rcpp",
    "RcppArmadillo",
    "RcppEigen",
    "Rdpack",
    "reformulas",
    "rlang",
    "S7",
    "sandwich",
    "scales",
    "SparseM",
    "stringi",
    "stringr",
    "survival",
    "tibble",
    "tidyr",
    "tidyselect",
    "timeDate",
    "urca",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr",
    "zoo"
  ],
  "_vignettes": [
    {
      "source": "iconic-diagnose.Rmd",
      "filename": "iconic-diagnose.html",
      "title": "Diagnosing Estimator Eligibility",
      "author": "Sean T. Bresnahan and Charis Xiong",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Installation",
        "What diagnosis checks",
        "A minimal example",
        "Instrument strength",
        "Negative-control validity",
        "Proceeding without instruments or controls",
        "Further reading",
        "Session information"
      ],
      "created": "2026-07-26 15:26:11",
      "modified": "2026-08-12 15:28:48",
      "commits": 3
    },
    {
      "source": "iconic-instruments.Rmd",
      "filename": "iconic-instruments.html",
      "title": "Genetic Instruments and Negative Controls from External Data",
      "author": "Sean T. Bresnahan and Charis Xiong",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Installation",
        "Exposure instruments from GWAS summary statistics",
        "Quality-control the summary statistics",
        "Build a polygenic score with LDpred2",
        "Score a panel of pre-computed weights",
        "Verify instrument strength",
        "Mediator instruments",
        "Scan for cis-eQTLs",
        "Build a genetically predicted mediator (GReX-style)",
        "Negative controls from high-dimensional panels",
        "Methylation beta to M-values",
        "Residualise on covariates",
        "Extract negative-control factors with PCA",
        "Apply FUSION-style TWAS weights",
        "Importing a SummarizedExperiment",
        "Session information"
      ],
      "created": "2026-08-12 15:28:48",
      "modified": "2026-08-12 15:28:48",
      "commits": 1
    },
    {
      "source": "iconic-walkthrough.Rmd",
      "filename": "iconic-walkthrough.html",
      "title": "ICONIC: Causal Model Selection with Genetic Instruments and Negative Controls",
      "author": "Sean T. Bresnahan and Charis Xiong",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Installation",
        "What this package is for",
        "Quick start",
        "Step 1: Diagnose",
        "Step 2: Estimate",
        "Step 3: Train a texture model once",
        "Step 4: Sensitivity analysis",
        "Step 5: Recommend",
        "Step 6: Prospective analysis",
        "Survival outcomes",
        "Putting it together",
        "Further reading",
        "Session information"
      ],
      "created": "2026-07-22 16:36:08",
      "modified": "2026-08-12 15:28:48",
      "commits": 8
    },
    {
      "source": "iconic-sensitivity.Rmd",
      "filename": "iconic-sensitivity.html",
      "title": "Sensitivity Analysis and Confounding Inference",
      "author": "Sean T. Bresnahan and Charis Xiong",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Installation",
        "What sensitivity analysis does",
        "A minimal example",
        "Inferring confounding from the data",
        "Inferred vs. default confounding",
        "Further reading",
        "Session information"
      ],
      "created": "2026-07-26 15:26:11",
      "modified": "2026-08-12 15:28:48",
      "commits": 5
    },
    {
      "source": "iconic-survival.Rmd",
      "filename": "iconic-survival.html",
      "title": "Survival Outcomes",
      "author": "Sean T. Bresnahan and Charis Xiong",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Installation",
        "Time-to-event outcomes in ICONIC",
        "Two effect scales",
        "COCA incompatibility",
        "A minimal example",
        "Cox log-HR scale",
        "RMST scale",
        "Diagnosis and eligibility",
        "Further reading",
        "Session information"
      ],
      "created": "2026-07-26 15:26:11",
      "modified": "2026-08-12 15:28:48",
      "commits": 4
    },
    {
      "source": "iconic-texture-model.Rmd",
      "filename": "iconic-texture-model.html",
      "title": "The Generative Texture Model",
      "author": "Sean T. Bresnahan and Charis Xiong",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Installation",
        "Two simulation modes",
        "The hybrid GAN + copula architecture",
        "Training the texture model",
        "Attaching the texture model",
        "When to use each mode",
        "Further reading",
        "Session information"
      ],
      "created": "2026-07-26 15:26:11",
      "modified": "2026-08-12 15:28:48",
      "commits": 4
    }
  ],
  "_score": 4.176091259055681,
  "_indexed": true,
  "_nocasepkg": "iconic",
  "_universes": [
    "biocstaging",
    "sbresnahan"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.99.3",
      "date": "2026-09-18T09:01:17.000Z",
      "distro": "resolute",
      "commit": "e89f4936c01c4624c802e5b601a97f3a7a13384e",
      "fileid": "https://r2.ropensci.org/6b991125e2e9de1bb4133113fe1a6dd7c68042260dab6b63c4cd696b0f1933a9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/biocstaging/actions/runs/35326678362"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.99.3",
      "date": "2026-09-18T09:01:16.000Z",
      "distro": "resolute",
      "commit": "e89f4936c01c4624c802e5b601a97f3a7a13384e",
      "fileid": "https://r2.ropensci.org/dc1d1e71efe802d33e4cde661910d59e3ebc9dd979de45883374dccfdeb0df6a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/biocstaging/actions/runs/35326678362"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.99.3",
      "date": "2026-09-18T09:15:58.000Z",
      "commit": "e89f4936c01c4624c802e5b601a97f3a7a13384e",
      "fileid": "https://r2.ropensci.org/b6558ebb26f283ee6235e8b766b20bf237ca752864dbf0f75780e8bbbfbe5f3e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/biocstaging/actions/runs/35326678362"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.99.3",
      "date": "2026-09-18T09:29:37.000Z",
      "commit": "e89f4936c01c4624c802e5b601a97f3a7a13384e",
      "fileid": "https://r2.ropensci.org/d2b704f945abcb8375873979d2b03a31b84642e1c8d28f1864322960a6aae221",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/biocstaging/actions/runs/35326678362"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.99.3",
      "date": "2026-09-18T09:01:24.000Z",
      "commit": "e89f4936c01c4624c802e5b601a97f3a7a13384e",
      "fileid": "https://r2.ropensci.org/e1074afa801ec8567a9a5f83a82f0464e39e02a1cc0e332633aaffe83907b82a",
      "status": "success",
      "buildurl": "https://github.com/r-universe/biocstaging/actions/runs/35326678362"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.99.3",
      "date": "2026-09-18T09:00:05.000Z",
      "commit": "e89f4936c01c4624c802e5b601a97f3a7a13384e",
      "fileid": "https://r2.ropensci.org/2a2d86a5e0181f848a72cb932d7d0600616202a03f52a7cb80550ff071ab300a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/biocstaging/actions/runs/35326678362"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.99.3",
      "date": "2026-09-18T09:00:09.000Z",
      "commit": "e89f4936c01c4624c802e5b601a97f3a7a13384e",
      "fileid": "https://r2.ropensci.org/87b638649acf6b921069acc81fa27175769b923df626642a5cde34dcd64a845e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/biocstaging/actions/runs/35326678362"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.99.3",
      "date": "2026-09-18T08:59:52.000Z",
      "commit": "e89f4936c01c4624c802e5b601a97f3a7a13384e",
      "fileid": "https://r2.ropensci.org/39c647d14777c184fe0e23a07411179f8a9e54aecf2cbb2f3cb7ba2c2ac4a7e3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/biocstaging/actions/runs/35326678362"
    }
  ]
}