{
  "_id": "6ace203ea14063b82c3afeee",
  "Package": "qch",
  "Title": "Query Composite Hypotheses",
  "Version": "2.1.3",
  "Authors@R": "c(\nperson(\"Tristan\", \"Mary-Huard\", , \"tristan.mary-huard@agroparistech.fr\", role = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0000-0002-3839-9067\")),\nperson(\"Annaig\", \"De Walsche\", , \"annaig.de-walsche@inrae.fr\", role = \"aut\",\ncomment = c(ORCID = \"0000-0003-0603-1716\")),\nperson(\"Franck\", \"Gauthier\", , \"franck.gauthier@inrae.fr\", role = \"ctb\",\ncomment = c(ORCID = \"0000-0003-0574-065X\"))\n)",
  "Author": "Tristan Mary-Huard [aut, cre] (ORCID:\n<https://orcid.org/0000-0002-3839-9067>), Annaig De Walsche\n[aut] (ORCID: <https://orcid.org/0000-0003-0603-1716>), Franck\nGauthier [ctb] (ORCID: <https://orcid.org/0000-0003-0574-065X>)",
  "Maintainer": "Tristan Mary-Huard <tristan.mary-huard@agroparistech.fr>",
  "Description": "Provides functions for the joint analysis of Q sets of\np-values obtained for the same list of items. This joint\nanalysis is performed by querying a composite hypothesis, i.e.\nan arbitrary complex combination of simple hypotheses, as\ndescribed in Mary-Huard et al. (2021)\n<doi:10.1093/bioinformatics/btab592> and De Walsche et\nal.(2025) <doi: 10.1093/nargab/lqaf118>. In this approach, the\nQ-uplet of p-values associated with each item is distributed as\na multivariate mixture, where each of the 2^Q components\ncorresponds to a specific combination of simple hypotheses. The\ndependence between the p-value series is considered using a\nGaussian copula function. A p-value for the composite\nhypothesis test is derived from the posterior probabilities.",
  "License": "GPL-3",
  "biocViews": "",
  "Encoding": "UTF-8",
  "LazyData": "true",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-10-13 12:07:10 UTC",
    "User": "root"
  },
  "RoxygenNote": "7.3.3",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-05-27 16:48:21 UTC",
  "RemoteUrl": "https://github.com/cran/qch",
  "RemoteRef": "HEAD",
  "RemoteSha": "a83f980907989f947612e01086f40bb220abc87d",
  "_user": "cran",
  "_type": "src",
  "_file": "qch_2.1.3.tar.gz",
  "_fileid": "https://r2.ropensci.org/73c88f53b69a558c10f237255ee153500c1de79ab24a035633c15aeab431b2bd",
  "_filesize": 563443,
  "_sha256": "73c88f53b69a558c10f237255ee153500c1de79ab24a035633c15aeab431b2bd",
  "_expires": "2027-01-21T12:12:40.000Z",
  "_created": "2026-10-13T12:07:10.000Z",
  "_published": "2026-10-13T12:12:45.929Z",
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/38394581864",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 115287980206,
      "time": 137,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11812185152"
    },
    {
      "job": 115287980156,
      "time": 154,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11812460313"
    },
    {
      "job": 115287980210,
      "time": 145,
      "config": "linux-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11811004998"
    },
    {
      "job": 115287980251,
      "time": 144,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11811920962"
    },
    {
      "job": 115286632945,
      "time": 193,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11811390736"
    },
    {
      "job": 115287980119,
      "time": 106,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11812255351"
    },
    {
      "job": 115287980090,
      "time": 262,
      "config": "windows-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11812485416"
    },
    {
      "job": 115287980349,
      "time": 170,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11811661364"
    },
    {
      "job": 115287980309,
      "time": 200,
      "config": "windows-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11811636122"
    },
    {
      "job": 115287980160,
      "time": 130,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11811930839"
    }
  ],
  "_upstream": "https://github.com/cran/qch",
  "_commit": {
    "id": "a83f980907989f947612e01086f40bb220abc87d",
    "author": "Tristan Mary-Huard <tristan.mary-huard@agroparistech.fr>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 2.1.3\n",
    "time": 1779900501
  },
  "_maintainer": {
    "name": "Tristan Mary-Huard",
    "email": "tristan.mary-huard@agroparistech.fr",
    "login": "tmaryhuard",
    "description": "",
    "uuid": 71508740,
    "orcid": "0000-0002-3839-9067"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 2.10",
      "role": "Depends"
    },
    {
      "package": "Rcpp",
      "role": "LinkingTo"
    },
    {
      "package": "RcppArmadillo",
      "role": "LinkingTo"
    },
    {
      "package": "copula",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "graphics",
      "role": "Imports"
    },
    {
      "package": "ks",
      "role": "Imports"
    },
    {
      "package": "purrr",
      "role": "Imports"
    },
    {
      "package": "Rcpp",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "stringr",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-08",
      "n": 1
    },
    {
      "week": "2026-22",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "2.1.2",
      "date": "2026-02-16"
    },
    {
      "name": "2.1.3",
      "date": "2026-05-27"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "tmaryhuard",
      "count": 5,
      "uuid": 71508740
    }
  ],
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "followers": 630,
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 413,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/qch"
  },
  "_searchresults": 6,
  "_topics": [
    "openblas",
    "cpp",
    "openmp"
  ],
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/qch.html"
  ],
  "_realowner": "tmaryhuard",
  "_cranurl": false,
  "_releases": [
    {
      "version": "1.0.0",
      "date": "2021-05-07"
    },
    {
      "version": "2.0.0",
      "date": "2024-03-29"
    },
    {
      "version": "2.1.0",
      "date": "2025-07-04"
    },
    {
      "version": "2.1.2",
      "date": "2026-02-16"
    },
    {
      "version": "2.1.3",
      "date": "2026-05-27"
    }
  ],
  "_exports": [
    "GetH1AtLeast",
    "GetH1Equal",
    "GetHconfig",
    "qch.fit",
    "qch.test"
  ],
  "_datasets": [
    {
      "name": "PvalSets",
      "title": "Synthetic example to illustrate the main qch functions",
      "object": "PvalSets",
      "class": [
        "data.frame"
      ],
      "fields": [
        "Pval1",
        "Pval2",
        "Class"
      ],
      "rows": 10000,
      "table": true,
      "tojson": true
    },
    {
      "name": "PvalSets_cor",
      "title": "Synthetic example to illustrate the main qch functions using Gaussian copula",
      "object": "PvalSets_cor",
      "class": [
        "data.table",
        "data.frame"
      ],
      "fields": [
        "Pval1",
        "Pval2",
        "Class"
      ],
      "rows": 10000,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "Copula.Hconfig_gaussian_density",
      "title": "Gaussian copula density for each H-configuration.",
      "topics": [
        "Copula.Hconfig_gaussian_density"
      ]
    },
    {
      "page": "EM_calibration_gaussian",
      "title": "EM calibration in the case of the Gaussian copula (unsigned)",
      "topics": [
        "EM_calibration_gaussian"
      ]
    },
    {
      "page": "EM_calibration_gaussian_memory",
      "title": "EM calibration in the case of the Gaussian copula (unsigned) with memory management",
      "topics": [
        "EM_calibration_gaussian_memory"
      ]
    },
    {
      "page": "EM_calibration_indep",
      "title": "EM calibration in the case of conditional independence",
      "topics": [
        "EM_calibration_indep"
      ]
    },
    {
      "page": "EM_calibration_indep_memory",
      "title": "EM calibration in the case of conditional independence with memory management (unsigned)",
      "topics": [
        "EM_calibration_indep_memory"
      ]
    },
    {
      "page": "f1_separation_signed",
      "title": "Signed case function: Separate f1 into f+ and f-",
      "topics": [
        "f1_separation_signed"
      ]
    },
    {
      "page": "FastKerFdr_signed",
      "title": "FastKerFdr signed",
      "topics": [
        "FastKerFdr_signed"
      ]
    },
    {
      "page": "FastKerFdr_unsigned",
      "title": "FastKerFdr unsigned",
      "topics": [
        "FastKerFdr_unsigned"
      ]
    },
    {
      "page": "fHconfig_sum_update_gaussian_copula_ptr_parallel",
      "title": "Computation of the sum sum_c(w_c*psi_c) using Gaussian copula parallelized version",
      "topics": [
        "fHconfig_sum_update_gaussian_copula_ptr_parallel"
      ]
    },
    {
      "page": "fHconfig_sum_update_ptr_parallel",
      "title": "Computation of the sum sum_c(w_c*psi_c) parallelized version",
      "topics": [
        "fHconfig_sum_update_ptr_parallel"
      ]
    },
    {
      "page": "gaussian_copula_density",
      "title": "Gaussian copula density",
      "topics": [
        "gaussian_copula_density"
      ]
    },
    {
      "page": "GetH1AtLeast",
      "title": "Specify the configurations corresponding to the composite H_1 test \"AtLeast\".",
      "topics": [
        "GetH1AtLeast"
      ]
    },
    {
      "page": "GetH1Equal",
      "title": "Specify the configurations corresponding to the composite H_1 test \"Equal\".",
      "topics": [
        "GetH1Equal"
      ]
    },
    {
      "page": "GetHconfig",
      "title": "Generate the H_0/H_1 configurations.",
      "topics": [
        "GetHconfig"
      ]
    },
    {
      "page": "last_incomplete_trapezoid_arma",
      "title": "This function is a re-implementation of the initial R loop computing last incomplete trapezoid. See R function integral.kde_adapted().",
      "topics": [
        "last_incomplete_trapezoid_arma"
      ]
    },
    {
      "page": "prior_update_arma_ptr_parallel",
      "title": "Update of the prior estimate in EM algo parallelized version",
      "topics": [
        "prior_update_arma_ptr_parallel"
      ]
    },
    {
      "page": "prior_update_gaussian_copula_ptr_parallel",
      "title": "Update of the prior estimate in EM algo using Gaussian copula, parallelized version",
      "topics": [
        "prior_update_gaussian_copula_ptr_parallel"
      ]
    },
    {
      "page": "PvalSets",
      "title": "Synthetic example to illustrate the main qch functions",
      "topics": [
        "PvalSets"
      ]
    },
    {
      "page": "PvalSets_cor",
      "title": "Synthetic example to illustrate the main qch functions using Gaussian copula",
      "topics": [
        "PvalSets_cor"
      ]
    },
    {
      "page": "qch.fit",
      "title": "Infer posterior probabilities of H_0/H_1 configurations.",
      "topics": [
        "qch.fit"
      ]
    },
    {
      "page": "qch.test",
      "title": "Perform composite hypothesis testing.",
      "topics": [
        "qch.test"
      ]
    },
    {
      "page": "R_MLE_update_gaussian_copula_ptr_parallel",
      "title": "Update the estimate of R correlation matrix of the gaussian copula, parallelized version",
      "topics": [
        "R_MLE_update_gaussian_copula_ptr_parallel"
      ]
    },
    {
      "page": "R.MLE",
      "title": "Gaussian copula correlation matrix Maximum Likelihood estimator.",
      "topics": [
        "R.MLE"
      ]
    },
    {
      "page": "R.MLE.check",
      "title": "Check the Gaussian copula correlation matrix Maximum Likelihood estimator",
      "topics": [
        "R.MLE.check"
      ]
    },
    {
      "page": "R.MLE.memory",
      "title": "Gaussian copula correlation matrix Maximum Likelihood estimator (memory handling)",
      "topics": [
        "R.MLE.memory"
      ]
    },
    {
      "page": "remove_decreasing_values_cpp",
      "title": "Same as function above but does not handle the index ordering of the vector q. Therefore, the 2nd argument order_q has to be an index ordered version of the vector q. Indeed, the R base function: order() is twice as fast as the arma::sort_index(q) This is therefore the recommended function to use.",
      "topics": [
        "remove_decreasing_values_cpp"
      ]
    },
    {
      "page": "remove_decreasing_values_cpp_slow_ordering",
      "title": "This function is a re-implementation of the initial R side while loop. See the end of R function integral.kde_adapted(). As shown in the commentary below, it is twice as slow to handle the index ordering of the vector q (2nd argument) here with the function arma::sort_index(). Consequently, it is recommended to use the function remove_decreasing_values_cpp() instead.",
      "topics": [
        "remove_decreasing_values_cpp_slow_ordering"
      ]
    }
  ],
  "_rundeps": [
    "ADGofTest",
    "cli",
    "cluster",
    "colorspace",
    "copula",
    "dplyr",
    "FNN",
    "generics",
    "glue",
    "gsl",
    "kernlab",
    "KernSmooth",
    "ks",
    "lattice",
    "lifecycle",
    "magrittr",
    "Matrix",
    "mclust",
    "mgcv",
    "multicool",
    "mvtnorm",
    "nlme",
    "numDeriv",
    "pcaPP",
    "pillar",
    "pkgconfig",
    "pracma",
    "pspline",
    "purrr",
    "R6",
    "Rcpp",
    "RcppArmadillo",
    "rlang",
    "stabledist",
    "stringi",
    "stringr",
    "tibble",
    "tidyselect",
    "utf8",
    "vctrs",
    "withr"
  ],
  "_sysdeps": [
    {
      "shlib": "liblapack",
      "package": "libopenblas0-pthread",
      "source": "openblas",
      "version": "0.3.32+ds-5",
      "name": "openblas",
      "homepage": "https://www.openblas.net/",
      "description": "Optimized BLAS (linear algebra) library (shared lib, pthread)"
    },
    {
      "shlib": "libblas",
      "package": "libopenblas0-pthread",
      "source": "openblas",
      "version": "0.3.32+ds-5",
      "name": "openblas",
      "homepage": "https://www.openblas.net/",
      "description": "Optimized BLAS (linear algebra) library (shared lib, pthread)"
    },
    {
      "shlib": "libstdc++",
      "package": "libstdc++6",
      "source": "gcc",
      "version": "16-20260322-1ubuntu1",
      "name": "c++",
      "homepage": "http://gcc.gnu.org/",
      "description": "GNU Standard C++ Library v3"
    },
    {
      "shlib": "libgomp",
      "package": "libgomp1",
      "source": "gcc",
      "version": "16-20260322-1ubuntu1",
      "name": "openmp",
      "homepage": "http://gcc.gnu.org/",
      "description": "GCC OpenMP (GOMP) support library"
    }
  ],
  "_score": 1.3010299956639813,
  "_indexed": false,
  "_nocasepkg": "qch",
  "_universes": [
    "cran"
  ],
  "_indexurl": "https://tmaryhuard.r-universe.dev/qch",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "2.1.3",
      "date": "2026-10-13T12:09:29.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "a83f980907989f947612e01086f40bb220abc87d",
      "fileid": "https://r2.ropensci.org/f5a6b60c8e61abe2b398c60086fc8394961c54be856f36255f6bb5344fb85276",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/38394581864"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "2.1.3",
      "date": "2026-10-13T12:11:11.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "a83f980907989f947612e01086f40bb220abc87d",
      "fileid": "https://r2.ropensci.org/4947f6b3e423971e9c993abca7f763d432bfcaa34de80a9c991f3930d58fe96e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/38394581864"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "2.1.3",
      "date": "2026-10-13T12:09:40.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "a83f980907989f947612e01086f40bb220abc87d",
      "fileid": "https://r2.ropensci.org/b08e1e630fae81ec85355378abdc217d56a6615aab23556bed25c8dc43e29245",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/38394581864"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "2.1.3",
      "date": "2026-10-13T12:11:13.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "a83f980907989f947612e01086f40bb220abc87d",
      "fileid": "https://r2.ropensci.org/93592b912a48793432896d0fe735067fc12c787f77b80f3a4952941540960a5f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/38394581864"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "2.1.3",
      "date": "2026-10-13T12:11:06.000Z",
      "arch": "emscripten",
      "commit": "a83f980907989f947612e01086f40bb220abc87d",
      "fileid": "https://r2.ropensci.org/950ac5a4b061c3b234868b79fab82d8ed23889ea87aa10aa92b8327673f25d22",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/38394581864"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "2.1.3",
      "date": "2026-10-13T12:11:13.000Z",
      "arch": "aarch64",
      "commit": "a83f980907989f947612e01086f40bb220abc87d",
      "fileid": "https://r2.ropensci.org/5944765819691deab4b5c568855be97d7427557aa306a1a6322e606192008bfa",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/38394581864"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "2.1.3",
      "date": "2026-10-13T12:10:26.000Z",
      "arch": "x86_64",
      "commit": "a83f980907989f947612e01086f40bb220abc87d",
      "fileid": "https://r2.ropensci.org/546ac36a2e6c0e7402155aa97efe6568909eba5377e81db3aa731a956287ddc6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/38394581864"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "2.1.3",
      "date": "2026-10-13T12:10:13.000Z",
      "arch": "aarch64",
      "commit": "a83f980907989f947612e01086f40bb220abc87d",
      "fileid": "https://r2.ropensci.org/fc9b1d0c372ad545caa48a83b8e9cfdaa386f286f8a05a23b72b540f04784c62",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/38394581864"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "2.1.3",
      "date": "2026-10-13T12:10:26.000Z",
      "arch": "x86_64",
      "commit": "a83f980907989f947612e01086f40bb220abc87d",
      "fileid": "https://r2.ropensci.org/89a8f34c7cddf84bb479b14b31b0b3ff296eb245bb6e3f85a908ff2f5ffc4899",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/38394581864"
    }
  ]
}