{
  "_id": "6a173fa6acfb0bcc41d955b3",
  "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-05-27 18:57:05 UTC",
    "User": "root"
  },
  "RoxygenNote": "7.3.3",
  "Config/pak/sysreqs": "libgsl0-dev libicu-dev",
  "Repository": "https://tmaryhuard.r-universe.dev",
  "Date/Publication": "2026-05-27 16:48:21 UTC",
  "RemoteUrl": "https://github.com/cran/qch",
  "RemoteRef": "HEAD",
  "RemoteSha": "a83f980907989f947612e01086f40bb220abc87d",
  "MD5sum": "c33eee77db3f8f6d589b031f7e8ef042",
  "_user": "tmaryhuard",
  "_type": "src",
  "_file": "qch_2.1.3.tar.gz",
  "_fileid": "012be25090d228cfe64ba7f5d771103bf724cc87064fedd5a680866fd35c01b8",
  "_filesize": 563138,
  "_sha256": "012be25090d228cfe64ba7f5d771103bf724cc87064fedd5a680866fd35c01b8",
  "_created": "2026-05-27T18:57:05.000Z",
  "_published": "2026-05-27T19:01:58.558Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 78151488314,
      "time": 157,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7249233941"
    },
    {
      "job": 78151488310,
      "time": 180,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7249242146"
    },
    {
      "job": 78151488303,
      "time": 202,
      "config": "linux-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7249250202"
    },
    {
      "job": 78151488383,
      "time": 160,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7249235177"
    },
    {
      "job": 78151488340,
      "time": 104,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7249214416"
    },
    {
      "job": 78151488370,
      "time": 235,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7249262283"
    },
    {
      "job": 78151488434,
      "time": 99,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7249212499"
    },
    {
      "job": 78151488354,
      "time": 197,
      "config": "macos-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7249248715"
    },
    {
      "job": 78150873223,
      "time": 195,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7249175355"
    },
    {
      "job": 78151488195,
      "time": 134,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7249225270"
    },
    {
      "job": 78151488375,
      "time": 157,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7249233450"
    },
    {
      "job": 78151488346,
      "time": 131,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7249224473"
    },
    {
      "job": 78151488372,
      "time": 220,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7249257472"
    }
  ],
  "_buildurl": "https://github.com/r-universe/tmaryhuard/actions/runs/26531998909",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_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"
  },
  "_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": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-27",
      "n": 1
    },
    {
      "week": "2026-08",
      "n": 1
    },
    {
      "week": "2026-22",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "2.1.0",
      "date": "2025-07-04"
    },
    {
      "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": 71508740,
    "type": "user",
    "name": "tmaryhuard"
  },
  "_downloads": {
    "count": 228,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/qch"
  },
  "_searchresults": 6,
  "_topics": [
    "openblas",
    "cpp",
    "openmp"
  ],
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/qch.html",
    "manual.pdf"
  ],
  "_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.26+ds-1ubuntu0.1",
      "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.26+ds-1ubuntu0.1",
      "name": "openblas",
      "homepage": "https://www.openblas.net/",
      "description": "Optimized BLAS (linear algebra) library (shared lib, pthread)"
    },
    {
      "shlib": "libstdc++",
      "package": "libstdc++6",
      "source": "gcc",
      "version": "14.2.0-4ubuntu2~24.04.1",
      "name": "c++",
      "homepage": "http://gcc.gnu.org/",
      "description": "GNU Standard C++ Library v3"
    },
    {
      "shlib": "libgomp",
      "package": "libgomp1",
      "source": "gcc",
      "version": "14.2.0-4ubuntu2~24.04.1",
      "name": "openmp",
      "homepage": "http://gcc.gnu.org/",
      "description": "GCC OpenMP (GOMP) support library"
    }
  ],
  "_score": 1.4771212547196624,
  "_indexed": true,
  "_nocasepkg": "qch",
  "_universes": [
    "tmaryhuard"
  ],
  "_previous": "2.1.2",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "2.1.3",
      "date": "2026-05-27T18:59:30.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "a83f980907989f947612e01086f40bb220abc87d",
      "fileid": "f83234f225191800db62a6076638023f38cc0c81cf5f356f15a6106112d6c6e7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tmaryhuard/actions/runs/26531998909"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "2.1.3",
      "date": "2026-05-27T18:59:51.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "a83f980907989f947612e01086f40bb220abc87d",
      "fileid": "5e63849f4c2b16daea199ce664f689a2e8470183d20a8df20f34e20102d36941",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tmaryhuard/actions/runs/26531998909"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "2.1.3",
      "date": "2026-05-27T19:00:17.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "a83f980907989f947612e01086f40bb220abc87d",
      "fileid": "b2fcd75ea9d25a14907190a978dff8ce637154412499d85cc0dbd6ecdb3f810e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tmaryhuard/actions/runs/26531998909"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "2.1.3",
      "date": "2026-05-27T18:59:32.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "a83f980907989f947612e01086f40bb220abc87d",
      "fileid": "28f26190dd4be30d5dd25ca53d4a411d12001df75492ed7a74e1a1881efdb1f1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tmaryhuard/actions/runs/26531998909"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "2.1.3",
      "date": "2026-05-27T18:58:52.000Z",
      "arch": "aarch64",
      "commit": "a83f980907989f947612e01086f40bb220abc87d",
      "fileid": "349d12337350476523906a38d6145d3f029d24d2410bca5717ec63e39cdb4f5b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tmaryhuard/actions/runs/26531998909"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "2.1.3",
      "date": "2026-05-27T19:00:23.000Z",
      "arch": "x86_64",
      "commit": "a83f980907989f947612e01086f40bb220abc87d",
      "fileid": "280cd1cb8dd36a226d1b96cdfbffde8d8043ed9f26b50f0a0a6285772b9cb423",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tmaryhuard/actions/runs/26531998909"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "2.1.3",
      "date": "2026-05-27T18:58:47.000Z",
      "arch": "aarch64",
      "commit": "a83f980907989f947612e01086f40bb220abc87d",
      "fileid": "6b832958c3dab292211ab7e05b2ce29108abb4cc39af69ddc0954084f1aa4dbd",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tmaryhuard/actions/runs/26531998909"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "2.1.3",
      "date": "2026-05-27T18:59:47.000Z",
      "arch": "x86_64",
      "commit": "a83f980907989f947612e01086f40bb220abc87d",
      "fileid": "239b3dd14e5b4ed05e5442db1508311bcb9909bef7ab29a421222ab9462656db",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tmaryhuard/actions/runs/26531998909"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "2.1.3",
      "date": "2026-05-27T18:59:41.000Z",
      "arch": "emscripten",
      "commit": "a83f980907989f947612e01086f40bb220abc87d",
      "fileid": "92e83d10c8a9111e12f7f65f57f0dd60eaa58909dafa8e0caf48d641862e1d32",
      "status": "success",
      "buildurl": "https://github.com/r-universe/tmaryhuard/actions/runs/26531998909"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "2.1.3",
      "date": "2026-05-27T18:58:50.000Z",
      "arch": "x86_64",
      "commit": "a83f980907989f947612e01086f40bb220abc87d",
      "fileid": "a3d3131fb969720117f66956c51bfff900b043a290b66bbffe86d4c29ef48586",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tmaryhuard/actions/runs/26531998909"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "2.1.3",
      "date": "2026-05-27T18:58:34.000Z",
      "arch": "x86_64",
      "commit": "a83f980907989f947612e01086f40bb220abc87d",
      "fileid": "f63b5144c304cacc3b35df320284e7a774c0615f55258251c123019521e46a78",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tmaryhuard/actions/runs/26531998909"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "2.1.3",
      "date": "2026-05-27T18:59:28.000Z",
      "arch": "x86_64",
      "commit": "a83f980907989f947612e01086f40bb220abc87d",
      "fileid": "f18bef5ceef81c67f9d104861743173f400195768083f4b57507210ab7ca2b79",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tmaryhuard/actions/runs/26531998909"
    }
  ]
}