{
  "_id": "6ad627a16b811b735aabe450",
  "Package": "multigrain",
  "Title": "Optimise Graphical Approaches to Multiple Testing Procedures",
  "Version": "1.0.0.9000",
  "Authors@R": "c(\nperson(\"Alex\", \"Spiers\", , \"alex.d.spiers@gsk.com\", role = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0000-0002-8874-085X\")),\nperson(\"Dragoș\", \"Moldovan-Grünfeld\", , \"dragos.v.moldovan-grunfeld@gsk.com\", role = \"aut\"),\nperson(\"GlaxoSmithKline Research & Development Limited\", role = c(\"cph\", \"fnd\"))\n)",
  "Description": "Find the optimal graphical multiple testing procedure for\nconfirmatory clinical trials that test several hypotheses\nacross endpoints, doses, or subpopulations. Choose the graph\nmaximising an explicit gain-function: a user-defined measure of\ntrial success that scores each possible set of rejected\nhypotheses. Given simulated p-values, search over hypothesis\nweights and transition weights to maximise expected trial\nsuccess. Conventional power criteria are recovered and the\nfamily-wise error rate is strongly controlled due to the search\nbeing confined to graphical procedures. Described in Spiers,\nGrayling, Wheeler, and Mander (2026) \"Gain-function\noptimisation of graphical multiple testing procedures for\nconfirmatory clinical trials\" <doi:10.48550/arXiv.2609.19994>.",
  "License": "LGPL (>= 3)",
  "URL": "https://github.com/GSK-Biostatistics/multigrain,\nhttps://gsk-biostatistics.github.io/multigrain/",
  "BugReports": "https://github.com/GSK-Biostatistics/multigrain/issues",
  "Config/Needs/website": "rmarkdown, gMCP, graphicalMCP, gridExtra",
  "Config/roxygen2/markdown": "TRUE",
  "Config/roxygen2/version": "8.1.0",
  "Config/testthat/edition": "3",
  "Config/testthat/parallel": "true",
  "Config/testthat/start-first": "optimisation*",
  "Encoding": "UTF-8",
  "Language": "en-GB",
  "LazyData": "true",
  "SystemRequirements": "GNU make",
  "Config/pak/sysreqs": "cmake libfontconfig1-dev libfreetype6-dev\nlibglpk-dev make libicu-dev libxml2-dev",
  "Repository": "https://gsk-biostatistics.r-universe.dev",
  "Date/Publication": "2026-10-19 10:09:50 UTC",
  "RemoteUrl": "https://github.com/gsk-biostatistics/multigrain",
  "RemoteRef": "HEAD",
  "RemoteSha": "16f66d0d209be848d22857a32658bc22a297c253",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-10-19 13:56:21 UTC",
    "User": "root"
  },
  "Author": "Alex Spiers [aut, cre] (ORCID: <https://orcid.org/0000-0002-8874-085X>),\nDragoș Moldovan-Grünfeld [aut],\nGlaxoSmithKline Research & Development Limited [cph, fnd]",
  "Maintainer": "Alex Spiers <alex.d.spiers@gsk.com>",
  "_user": "gsk-biostatistics",
  "_type": "src",
  "_file": "multigrain_1.0.0.9000.tar.gz",
  "_fileid": "https://r2.ropensci.org/a39469f775157f3d5dca3df3350bfb6c5b6dedc40387d97f3f231954ab7f9c33",
  "_filesize": 538254,
  "_sha256": "a39469f775157f3d5dca3df3350bfb6c5b6dedc40387d97f3f231954ab7f9c33",
  "_expires": "2027-01-27T14:22:23.000Z",
  "_created": "2026-10-19T13:56:21.000Z",
  "_published": "2026-10-19T14:22:25.253Z",
  "_buildurl": "https://github.com/r-universe/gsk-biostatistics/actions/runs/39263538901",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 118100610239,
      "time": 199,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12191849856"
    },
    {
      "job": 118100610473,
      "time": 247,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12192401800"
    },
    {
      "job": 118100610224,
      "time": 185,
      "config": "linux-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12193090831"
    },
    {
      "job": 118100610117,
      "time": 243,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12192751182"
    },
    {
      "job": 118100610175,
      "time": 195,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "12194985519"
    },
    {
      "job": 118100610295,
      "time": 430,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "12192909404"
    },
    {
      "job": 118100610433,
      "time": 285,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12193703522"
    },
    {
      "job": 118100610150,
      "time": 546,
      "config": "macos-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12193822167"
    },
    {
      "job": 118097299512,
      "time": 391,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12192915476"
    },
    {
      "job": 118100609971,
      "time": 120,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "12193285329"
    },
    {
      "job": 118100610472,
      "time": 515,
      "config": "windows-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12193795953"
    },
    {
      "job": 118100610517,
      "time": 260,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12192114476"
    },
    {
      "job": 118100610190,
      "time": 217,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "12192351707"
    },
    {
      "job": 118100610234,
      "time": 507,
      "config": "windows-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12192787784"
    },
    {
      "job": 118100610770,
      "time": 216,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12193050956"
    }
  ],
  "_upstream": "https://github.com/gsk-biostatistics/multigrain",
  "_commit": {
    "id": "16f66d0d209be848d22857a32658bc22a297c253",
    "author": "Dragoș Moldovan-Grünfeld <dragos.mold@gmail.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "[skip version bump] dev version (#44)",
    "time": 1792404590
  },
  "_maintainer": {
    "name": "Alex Spiers",
    "email": "alex.d.spiers@gsk.com",
    "orcid": "0000-0002-8874-085X"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "Rcpp",
      "role": "LinkingTo"
    },
    {
      "package": "RcppParallel",
      "role": "LinkingTo"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "GA",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "ggraph",
      "role": "Imports"
    },
    {
      "package": "glue",
      "role": "Imports"
    },
    {
      "package": "igraph",
      "role": "Imports"
    },
    {
      "package": "mvtnorm",
      "role": "Imports"
    },
    {
      "package": "nloptr",
      "role": "Imports"
    },
    {
      "package": "purrr",
      "role": "Imports"
    },
    {
      "package": "Rcpp",
      "role": "Imports"
    },
    {
      "package": "RcppParallel",
      "version": ">= 5.1.10",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "version": ">= 1.2.0",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "tidyr",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "vctrs",
      "role": "Imports"
    },
    {
      "package": "withr",
      "role": "Imports"
    },
    {
      "package": "gMCPLite",
      "role": "Suggests"
    },
    {
      "package": "spelling",
      "role": "Suggests"
    },
    {
      "package": "svglite",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "vdiffr",
      "role": "Suggests"
    }
  ],
  "_owner": "gsk-biostatistics",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-32",
      "n": 2
    },
    {
      "week": "2026-36",
      "n": 5
    },
    {
      "week": "2026-37",
      "n": 2
    },
    {
      "week": "2026-38",
      "n": 2
    },
    {
      "week": "2026-41",
      "n": 10
    },
    {
      "week": "2026-43",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "v0.3.0",
      "date": "2026-08-03"
    },
    {
      "name": "v1.0.0",
      "date": "2026-10-07"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "dragosmg",
      "count": 47,
      "uuid": 13176361
    },
    {
      "user": "statneutrino",
      "count": 29,
      "uuid": 6198468
    }
  ],
  "_userbio": {
    "uuid": 87132606,
    "type": "organization",
    "name": "GSK Biostatistics",
    "followers": 89
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/multigrain"
  },
  "_devurl": "https://github.com/gsk-biostatistics/multigrain",
  "_pkgdown": "https://gsk-biostatistics.github.io/multigrain/",
  "_searchresults": 9,
  "_topics": [
    "cpp"
  ],
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/multigrain.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md"
  ],
  "_homeurl": "https://github.com/gsk-biostatistics/multigrain",
  "_realowner": "gsk-biostatistics",
  "_cranurl": true,
  "_releases": [
    {
      "version": "1.0.0",
      "date": "2026-10-18"
    }
  ],
  "_exports": [
    "calc_ncp",
    "calc_power_pvals",
    "control_global",
    "control_local",
    "control_nsim_global",
    "control_nsim_local",
    "graph_constraint",
    "graph_constraint_free",
    "graph_optimal_get_control",
    "graph_optimise",
    "graph_optimize",
    "graph_random",
    "is_graph_valid",
    "multigrain_control",
    "multigrain_verbosity",
    "normalise_sum",
    "simulate_pvalues",
    "trial_success"
  ],
  "_datasets": [
    {
      "name": "graph_optimal_example",
      "title": "Optimised graph example",
      "object": "graph_optimal_example",
      "class": [
        "multigrain_graph_optimal"
      ],
      "fields": [],
      "table": false,
      "tojson": false
    }
  ],
  "_help": [
    {
      "page": "graph_constraint_plot",
      "title": "Autoplot method for 'multigrain_graph_constraint' objects",
      "topics": [
        "autoplot.multigrain_graph_constraint",
        "plot.multigrain_graph_constraint"
      ]
    },
    {
      "page": "graph_optimal_plot",
      "title": "Autoplot method for 'multigrain_graph_optimal' objects",
      "topics": [
        "autoplot.multigrain_graph_optimal",
        "plot.multigrain_graph_optimal"
      ]
    },
    {
      "page": "calc_ncp",
      "title": "Calculate non-centrality parameter",
      "topics": [
        "calc_ncp"
      ]
    },
    {
      "page": "calc_power_pvals",
      "title": "Calculate power for a graph-based multiple test procedure using p-values",
      "topics": [
        "calc_power_pvals"
      ]
    },
    {
      "page": "control_global",
      "title": "Modify global optimisation options",
      "topics": [
        "control_global"
      ]
    },
    {
      "page": "control_local",
      "title": "Modify local optimisation options",
      "topics": [
        "control_local"
      ]
    },
    {
      "page": "control_nsim",
      "title": "Modify the number of simulations",
      "topics": [
        "control_nsim_global",
        "control_nsim_local"
      ]
    },
    {
      "page": "graph_constraint",
      "title": "Create a _graph constraint_ for optimisation procedures",
      "topics": [
        "graph_constraint"
      ]
    },
    {
      "page": "graph_constraint_free",
      "title": "Create an unconstrained _graph constraint_",
      "topics": [
        "graph_constraint_free"
      ]
    },
    {
      "page": "graph_optimal_example",
      "title": "Optimised graph example",
      "topics": [
        "graph_optimal_example"
      ]
    },
    {
      "page": "graph_optimal_get_control",
      "title": "Get the optimisation control",
      "topics": [
        "graph_optimal_get_control"
      ]
    },
    {
      "page": "graph_optimisation",
      "title": "Optimise graph-based multiple testing procedures",
      "topics": [
        "graph_optimise",
        "graph_optimize"
      ]
    },
    {
      "page": "graph_random",
      "title": "Generate random graph",
      "topics": [
        "graph_random"
      ]
    },
    {
      "page": "is_graph_valid",
      "title": "Check the validity of a graph-based MTP",
      "topics": [
        "is_graph_valid"
      ]
    },
    {
      "page": "multigrain_control",
      "title": "Set parameters for graph optimisation",
      "topics": [
        "multigrain_control"
      ]
    },
    {
      "page": "multigrain_verbosity",
      "title": "Multigrain verbosity",
      "topics": [
        "multigrain_verbosity"
      ]
    },
    {
      "page": "normalise_sum",
      "title": "Normalise graph weights to sum to a target value",
      "topics": [
        "normalise_sum"
      ]
    },
    {
      "page": "simulate_pvalues",
      "title": "Simulate raw p-values",
      "topics": [
        "simulate_pvalues"
      ]
    },
    {
      "page": "trial_success",
      "title": "Create a _trial success_ function",
      "topics": [
        "trial_success"
      ]
    }
  ],
  "_readme": "https://github.com/gsk-biostatistics/multigrain/raw/HEAD/README.md",
  "_rundeps": [
    "base64enc",
    "cachem",
    "cli",
    "codetools",
    "cpp11",
    "crayon",
    "dplyr",
    "farver",
    "fastmap",
    "foreach",
    "GA",
    "generics",
    "ggforce",
    "ggplot2",
    "ggraph",
    "ggrepel",
    "glue",
    "graphlayouts",
    "gridExtra",
    "gtable",
    "igraph",
    "isoband",
    "iterators",
    "jsonlite",
    "labeling",
    "lattice",
    "lifecycle",
    "magrittr",
    "MASS",
    "Matrix",
    "memoise",
    "mvtnorm",
    "nloptr",
    "pillar",
    "pkgconfig",
    "polyclip",
    "purrr",
    "R6",
    "RColorBrewer",
    "Rcpp",
    "RcppArmadillo",
    "RcppParallel",
    "rlang",
    "S7",
    "scales",
    "stringi",
    "stringr",
    "systemfonts",
    "tibble",
    "tidygraph",
    "tidyr",
    "tidyselect",
    "tweenr",
    "utf8",
    "vctrs",
    "viridis",
    "viridisLite",
    "withr"
  ],
  "_sysdeps": [
    {
      "shlib": "libstdc++",
      "package": "libstdc++6",
      "source": "gcc",
      "version": "16-20260322-1ubuntu1",
      "name": "c++",
      "homepage": "http://gcc.gnu.org/",
      "description": "GNU Standard C++ Library v3"
    }
  ],
  "_score": 3.4771212547196626,
  "_indexed": true,
  "_nocasepkg": "multigrain",
  "_universes": [
    "gsk-biostatistics"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.0.9000",
      "date": "2026-10-19T13:58:33.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "16f66d0d209be848d22857a32658bc22a297c253",
      "fileid": "https://r2.ropensci.org/36b6deecac99604629e859c25c9f151daa1e7b292ddbb16a68b359a26839d0d2",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gsk-biostatistics/actions/runs/39263538901"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.0.9000",
      "date": "2026-10-19T13:58:51.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "16f66d0d209be848d22857a32658bc22a297c253",
      "fileid": "https://r2.ropensci.org/e14e00845429739ef22c908acdd7b89f236649f3397132569d9a7328aef0eada",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gsk-biostatistics/actions/runs/39263538901"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.0.0.9000",
      "date": "2026-10-19T13:58:31.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "16f66d0d209be848d22857a32658bc22a297c253",
      "fileid": "https://r2.ropensci.org/3b9a937f0223ea4d923be2348ec006c3991049cb226143170dc9f5cad69330c5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gsk-biostatistics/actions/runs/39263538901"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.0.0.9000",
      "date": "2026-10-19T13:58:51.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "16f66d0d209be848d22857a32658bc22a297c253",
      "fileid": "https://r2.ropensci.org/690268256c5f568d7df638f260dca81b7e36676bb44b0245c192eda39d0291de",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gsk-biostatistics/actions/runs/39263538901"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.0.0.9000",
      "date": "2026-10-19T14:18:18.000Z",
      "arch": "aarch64",
      "commit": "16f66d0d209be848d22857a32658bc22a297c253",
      "fileid": "https://r2.ropensci.org/08a8a7525c7e8251c4a95285ab06e4d4d90b5f88d7068b22f27764bb80b5cb1a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gsk-biostatistics/actions/runs/39263538901"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.0.0.9000",
      "date": "2026-10-19T14:14:18.000Z",
      "arch": "x86_64",
      "commit": "16f66d0d209be848d22857a32658bc22a297c253",
      "fileid": "https://r2.ropensci.org/baca626096531a11ea32d85d96f1d815fd7e31e88c502c84ae5de2d2542fd9db",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gsk-biostatistics/actions/runs/39263538901"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "1.0.0.9000",
      "date": "2026-10-19T14:19:03.000Z",
      "arch": "aarch64",
      "commit": "16f66d0d209be848d22857a32658bc22a297c253",
      "fileid": "https://r2.ropensci.org/ffda1b34590d40a939b290063c1b5af8c98730a4dedaae0d28521c0a35fef017",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gsk-biostatistics/actions/runs/39263538901"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "1.0.0.9000",
      "date": "2026-10-19T14:08:38.000Z",
      "arch": "x86_64",
      "commit": "16f66d0d209be848d22857a32658bc22a297c253",
      "fileid": "https://r2.ropensci.org/05b46866d36cbd9453d3b3f3c04528dbfd3179960ff3bbe95f69be081b4064d4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gsk-biostatistics/actions/runs/39263538901"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.0.0.9000",
      "date": "2026-10-19T13:58:42.000Z",
      "arch": "emscripten",
      "commit": "16f66d0d209be848d22857a32658bc22a297c253",
      "fileid": "https://r2.ropensci.org/6c2c95f863d835c00030fb78f1b4f44540caa135cc2deaf2211abcf7368119fd",
      "status": "success",
      "buildurl": "https://github.com/r-universe/gsk-biostatistics/actions/runs/39263538901"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.0.0.9000",
      "date": "2026-10-19T14:01:34.000Z",
      "arch": "aarch64",
      "commit": "16f66d0d209be848d22857a32658bc22a297c253",
      "fileid": "https://r2.ropensci.org/106feac30a99c0c0e78b1f335ff590431de62e8cb420dba95ca28dbda30ad526",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gsk-biostatistics/actions/runs/39263538901"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.0.0.9000",
      "date": "2026-10-19T13:57:50.000Z",
      "arch": "x86_64",
      "commit": "16f66d0d209be848d22857a32658bc22a297c253",
      "fileid": "https://r2.ropensci.org/5042a61ab3a1804aa4609aba66d0a875c24a5270db3428c38164b2a0d8e4cd70",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gsk-biostatistics/actions/runs/39263538901"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.0.0.9000",
      "date": "2026-10-19T13:57:55.000Z",
      "arch": "x86_64",
      "commit": "16f66d0d209be848d22857a32658bc22a297c253",
      "fileid": "https://r2.ropensci.org/1d0c817212160176ad4daefc3988b5a41615857130938ae9ffbe3f6c64dab9ca",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gsk-biostatistics/actions/runs/39263538901"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "1.0.0.9000",
      "date": "2026-10-19T14:01:52.000Z",
      "arch": "aarch64",
      "commit": "16f66d0d209be848d22857a32658bc22a297c253",
      "fileid": "https://r2.ropensci.org/119957128b97e3ff4223fa44c8b2be4808b23c77b4242a55ef34b57c56322a61",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gsk-biostatistics/actions/runs/39263538901"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "1.0.0.9000",
      "date": "2026-10-19T13:57:41.000Z",
      "arch": "x86_64",
      "commit": "16f66d0d209be848d22857a32658bc22a297c253",
      "fileid": "https://r2.ropensci.org/bfec37138e3bbd5ce89973556b4632677b382372ea1b0f40c833d5a27a45df60",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gsk-biostatistics/actions/runs/39263538901"
    }
  ]
}