{
  "_id": "6aaa68acea78b3e62eacc1ef",
  "Package": "detectPanel",
  "Type": "Package",
  "Title": "Leakage-Aware Discovery of Small Biomarker Panels",
  "Version": "0.1.3",
  "Author": "Fuhao Jiang [aut, cre]",
  "Maintainer": "Fuhao Jiang <emr39515@gmail.com>",
  "Authors@R": "c(\nperson(given = \"Fuhao\", family = \"Jiang\",\nemail = \"emr39515@gmail.com\",\nrole = c(\"aut\", \"cre\"))\n)",
  "Description": "Discovers small binary-classification biomarker panels\nfrom count or expression matrices while prioritizing\ndetectability, expression stability, and univariate\ndiscrimination. Candidate filtering and panel selection can be\nrepeated inside nested cross-validation to reduce information\nleakage. The package provides shared resampling splits,\nexhaustive small-panel search, logistic model fitting with an\nautomatic ridge fallback for unstable separation-prone fits,\nout-of-fold evaluation, selection-frequency summaries, and\noptional 'DESeq2' differential-expression support. The nested\nmodel-selection workflow follows Varma and Simon (2006)\n<doi:10.1186/1471-2105-7-91>, and the optional\ndifferential-expression analysis uses Love, Huber, and Anders\n(2014) <doi:10.1186/s13059-014-0550-8>.",
  "License": "MIT + file LICENSE",
  "URL": "https://github.com/Emr-27/detectPanel",
  "BugReports": "https://github.com/Emr-27/detectPanel/issues",
  "Encoding": "UTF-8",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "NeedsCompilation": "no",
  "Repository": "https://emr-27.r-universe.dev",
  "Date/Publication": "2026-09-05 18:47:56 UTC",
  "RemoteUrl": "https://github.com/emr-27/detectpanel",
  "RemoteRef": "HEAD",
  "RemoteSha": "7cf33fb2df99493f19edbf58470db72bc22882da",
  "Packaged": {
    "Date": "2026-09-16 09:55:55 UTC",
    "User": "root"
  },
  "_user": "emr-27",
  "_type": "src",
  "_file": "detectPanel_0.1.3.tar.gz",
  "_fileid": "https://r2.ropensci.org/2181f2952539219089be0620c53d991fc8b0f2c7ceffcfb42e9aafb30cac2a17",
  "_filesize": 176035,
  "_sha256": "2181f2952539219089be0620c53d991fc8b0f2c7ceffcfb42e9aafb30cac2a17",
  "_expires": "2026-12-25T10:00:10.000Z",
  "_created": "2026-09-16T09:55:55.000Z",
  "_published": "2026-09-16T10:00:12.318Z",
  "_jobs": [
    {
      "job": 104748608072,
      "time": 181,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10440891889"
    },
    {
      "job": 104748608064,
      "time": 175,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10439954225"
    },
    {
      "job": 104748608177,
      "time": 163,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "10441061096"
    },
    {
      "job": 104748608116,
      "time": 200,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10441125940"
    },
    {
      "job": 104747563136,
      "time": 211,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10441020918"
    },
    {
      "job": 104748608052,
      "time": 123,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "10441240466"
    },
    {
      "job": 104748608150,
      "time": 120,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10440946471"
    },
    {
      "job": 104748608099,
      "time": 108,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "10441085998"
    },
    {
      "job": 104748608076,
      "time": 129,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10441375059"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/emr-27/actions/runs/35081851655",
  "_status": "success",
  "_upstream": "https://github.com/emr-27/detectpanel",
  "_commit": {
    "id": "7cf33fb2df99493f19edbf58470db72bc22882da",
    "author": "Fuhao Jiang <emr39515@gmail.com>",
    "committer": "Fuhao Jiang <emr39515@gmail.com>",
    "message": "Clean CRAN test output\n",
    "time": 1788634076
  },
  "_maintainer": {
    "name": "Fuhao Jiang",
    "email": "emr39515@gmail.com",
    "login": "emr-27",
    "description": "",
    "uuid": 310090852
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.2.0",
      "role": "Depends"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "graphics",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "DESeq2",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "pheatmap",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "emr-27",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-34",
      "n": 6
    },
    {
      "week": "2026-35",
      "n": 6
    },
    {
      "week": "2026-36",
      "n": 3
    }
  ],
  "_tags": [
    {
      "name": "v0.1.0",
      "date": "2026-08-20"
    },
    {
      "name": "v0.1.2",
      "date": "2026-08-24"
    }
  ],
  "_topics": [
    "bioinformatics",
    "biomarkers",
    "machine-learning",
    "mirna",
    "omics"
  ],
  "_stars": 21,
  "_contributors": [
    {
      "user": "emr-27",
      "count": 15,
      "uuid": 310090852
    }
  ],
  "_userbio": {
    "uuid": 310090852,
    "type": "user",
    "name": "Emr-27",
    "followers": 0
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/detectPanel"
  },
  "_devurl": "https://github.com/emr-27/detectpanel",
  "_searchresults": 0,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/detectPanel.html",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE"
  ],
  "_homeurl": "https://github.com/emr-27/detectpanel",
  "_realowner": "emr-27",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.3",
      "date": "2026-09-15"
    }
  ],
  "_exports": [
    "confusion_metrics",
    "detectPanel",
    "discover_panel",
    "evaluate_markers",
    "exclude_features",
    "export_results",
    "fit_panel",
    "flag_pca_outliers",
    "make_repeated_stratified_splits",
    "nested_validate_panels",
    "plot_marker_expression",
    "plot_marker_roc",
    "plot_panel_heatmap",
    "plot_volcano",
    "predict.detectPanel_result",
    "preselect_markers",
    "run_deseq2",
    "score_detectability",
    "search_panels",
    "transform_assay",
    "validate_assay_data"
  ],
  "_help": [
    {
      "page": "detectPanel-package",
      "title": "Leakage-Aware Discovery of Small Biomarker Panels",
      "topics": [
        "detectPanel-package"
      ]
    },
    {
      "page": "confusion_metrics",
      "title": "Compute Confusion-Matrix Metrics",
      "topics": [
        "confusion_metrics"
      ]
    },
    {
      "page": "detectPanel",
      "title": "Discover, Validate, and Refit a Biomarker Panel",
      "topics": [
        "detectPanel",
        "discover_panel",
        "plot.detectPanel_result",
        "print.detectPanel_result",
        "summary.detectPanel_result"
      ]
    },
    {
      "page": "export_results",
      "title": "Export detectPanel Results",
      "topics": [
        "export_results"
      ]
    },
    {
      "page": "fit_panel",
      "title": "Fit and Predict with a Biomarker Panel",
      "topics": [
        "fit_panel",
        "predict.detectPanel_fit",
        "print.detectPanel_fit",
        "summary.detectPanel_fit"
      ]
    },
    {
      "page": "flag_pca_outliers",
      "title": "Flag Potential PCA Outliers Without Deleting Samples",
      "topics": [
        "flag_pca_outliers"
      ]
    },
    {
      "page": "resampling-search",
      "title": "Shared Resampling Splits and Exhaustive Panel Search",
      "topics": [
        "make_repeated_stratified_splits",
        "print.detectPanel_search",
        "search_panels"
      ]
    },
    {
      "page": "nested_validate_panels",
      "title": "Nested Validation of Biomarker Panel Discovery",
      "topics": [
        "nested_validate_panels",
        "plot.detectPanel_nested",
        "print.detectPanel_nested",
        "summary.detectPanel_nested"
      ]
    },
    {
      "page": "plotting",
      "title": "Diagnostic Plotting Helpers",
      "topics": [
        "plot_marker_expression",
        "plot_marker_roc",
        "plot_panel_heatmap",
        "plot_volcano"
      ]
    },
    {
      "page": "predict.detectPanel_result",
      "title": "Predict samples using a fitted detectPanel result",
      "topics": [
        "predict.detectPanel_result"
      ]
    },
    {
      "page": "run_deseq2",
      "title": "Optional DESeq2 Differential-Expression Adapter",
      "topics": [
        "run_deseq2"
      ]
    },
    {
      "page": "marker-selection",
      "title": "Score and Preselect Candidate Biomarkers",
      "topics": [
        "evaluate_markers",
        "preselect_markers",
        "score_detectability"
      ]
    },
    {
      "page": "data-preparation",
      "title": "Validate, Filter, and Transform Assay Data",
      "topics": [
        "exclude_features",
        "transform_assay",
        "validate_assay_data"
      ]
    }
  ],
  "_readme": "https://github.com/emr-27/detectpanel/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "cpp11",
    "farver",
    "ggplot2",
    "glue",
    "gtable",
    "isoband",
    "labeling",
    "lifecycle",
    "R6",
    "RColorBrewer",
    "rlang",
    "S7",
    "scales",
    "vctrs",
    "viridisLite",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "nested-validation.Rmd",
      "filename": "nested-validation.html",
      "title": "Leakage-aware biomarker panel discovery",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Why nested validation is necessary",
        "Synthetic example",
        "Interpreting the two models",
        "Candidate fallback"
      ],
      "created": "2026-08-19 14:08:28",
      "modified": "2026-09-05 18:20:03",
      "commits": 2
    }
  ],
  "_score": 5.498310553789601,
  "_indexed": true,
  "_nocasepkg": "detectpanel",
  "_universes": [
    "emr-27"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.3",
      "date": "2026-09-16T09:59:07.000Z",
      "distro": "resolute",
      "commit": "7cf33fb2df99493f19edbf58470db72bc22882da",
      "fileid": "https://r2.ropensci.org/de4bd43875c9513ed97ff9e1acfa5412f67bc4e8ae243091d934be6c9204205a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/emr-27/actions/runs/35081851655"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.1.3",
      "date": "2026-09-16T09:58:28.000Z",
      "distro": "resolute",
      "commit": "7cf33fb2df99493f19edbf58470db72bc22882da",
      "fileid": "https://r2.ropensci.org/c2765115a05b0d7954817178ee9524f685747ccd4928712f0af75beca1f41396",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/emr-27/actions/runs/35081851655"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.3",
      "date": "2026-09-16T09:58:14.000Z",
      "commit": "7cf33fb2df99493f19edbf58470db72bc22882da",
      "fileid": "https://r2.ropensci.org/7f3250fe7d36bd72f40a8c0ccee8b02aa09ca6abfcd5f4077c0a8f8d9f716340",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/emr-27/actions/runs/35081851655"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.1.3",
      "date": "2026-09-16T09:58:26.000Z",
      "commit": "7cf33fb2df99493f19edbf58470db72bc22882da",
      "fileid": "https://r2.ropensci.org/586ef11f02d3f2a15143e6a1517a1e802e2dfeddbfd32e7af8dca7911e966d29",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/emr-27/actions/runs/35081851655"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.3",
      "date": "2026-09-16T09:58:17.000Z",
      "commit": "7cf33fb2df99493f19edbf58470db72bc22882da",
      "fileid": "https://r2.ropensci.org/3af3e6f438bd65dd1b75a0cc0bd13b61d477966939a30b244c41c648f16c9d0b",
      "status": "success",
      "buildurl": "https://github.com/r-universe/emr-27/actions/runs/35081851655"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.3",
      "date": "2026-09-16T09:57:24.000Z",
      "commit": "7cf33fb2df99493f19edbf58470db72bc22882da",
      "fileid": "https://r2.ropensci.org/5295d09366003119258e24bd1eb1b78fb5c4ec780c08a0d77cbd5ff952883531",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/emr-27/actions/runs/35081851655"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.3",
      "date": "2026-09-16T09:57:16.000Z",
      "commit": "7cf33fb2df99493f19edbf58470db72bc22882da",
      "fileid": "https://r2.ropensci.org/678b826f17f500083eb7498dd12ac9b92b8b917c374cc521fefcfd5f78df3c75",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/emr-27/actions/runs/35081851655"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.1.3",
      "date": "2026-09-16T09:57:37.000Z",
      "commit": "7cf33fb2df99493f19edbf58470db72bc22882da",
      "fileid": "https://r2.ropensci.org/dba982be2a79e5b3b94860c42f63d0d84bde4f1dcf1a70d5c9a4e252533d2f21",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/emr-27/actions/runs/35081851655"
    }
  ]
}