{
  "_id": "6a1ef88ab401979e73417d58",
  "Package": "qp",
  "Title": "A toolkit for analyzing protein quantification results",
  "Version": "0.2.0",
  "Authors@R": "person(\"Kai\", \"Aragaki\", , \"adamaragaki@gmail.com\", role = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0000-0002-9458-0426\"))",
  "Description": "What the package does (one paragraph).",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "Language": "en",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.2",
  "Config/testthat/edition": "3",
  "URL": "https://kaiaragaki.github.io/qp/, https://github.com/KaiAragaki/qp",
  "Remotes": [
    "KaiAragaki/gplate",
    "KaiAragaki/mop"
  ],
  "LazyData": "true",
  "VignetteBuilder": "knitr",
  "Config/pak/sysreqs": "cmake make libicu-dev libuv1-dev libxml2-dev\nlibssl-dev libnode-dev libx11-dev",
  "Repository": "https://kaiaragaki.r-universe.dev",
  "Date/Publication": "2025-08-03 13:25:32 UTC",
  "RemoteUrl": "https://github.com/KaiAragaki/qp",
  "RemoteRef": "HEAD",
  "RemoteSha": "210050093959616d0298dcb81b9e9a5c8374973a",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-19 06:00:59 UTC",
    "User": "root"
  },
  "Author": "Kai Aragaki [aut, cre] (ORCID: <https://orcid.org/0000-0002-9458-0426>)",
  "Maintainer": "Kai Aragaki <adamaragaki@gmail.com>",
  "MD5sum": "9e63b31019dd3a62befbc7cf638f034b",
  "_user": "kaiaragaki",
  "_type": "src",
  "_file": "qp_0.2.0.tar.gz",
  "_fileid": "cba2d9ec761d018940831a5fc6a3fcf81b4cd82dbe2aa627010afe6a22933d04",
  "_filesize": 1014636,
  "_sha256": "cba2d9ec761d018940831a5fc6a3fcf81b4cd82dbe2aa627010afe6a22933d04",
  "_created": "2026-05-19T06:00:59.000Z",
  "_published": "2026-06-02T15:36:42.837Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 79109782706,
      "time": 161,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "ERROR",
      "artifact": "7076008163"
    },
    {
      "job": 79109782730,
      "time": 157,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "ERROR",
      "artifact": "7076006817"
    },
    {
      "job": 79109783222,
      "time": 100,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "ERROR",
      "artifact": "7075993996"
    },
    {
      "job": 79109783048,
      "time": 133,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "ERROR",
      "artifact": "7076021272"
    },
    {
      "job": 79109781567,
      "time": 204,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7075970961"
    },
    {
      "job": 79109781728,
      "time": 143,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7362468472"
    },
    {
      "job": 79109782798,
      "time": 111,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "ERROR",
      "artifact": "7075997046"
    },
    {
      "job": 79109783819,
      "time": 81,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "ERROR",
      "artifact": "7075989988"
    },
    {
      "job": 79109783079,
      "time": 90,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "ERROR",
      "artifact": "7075991875"
    }
  ],
  "_buildurl": "https://github.com/r-universe/kaiaragaki/actions/runs/26079197875",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/KaiAragaki/qp",
  "_commit": {
    "id": "210050093959616d0298dcb81b9e9a5c8374973a",
    "author": "Kai Aragaki <kaiaragaki@proton.me>",
    "committer": "Kai Aragaki <kaiaragaki@proton.me>",
    "message": "feat: allow for blank specification in standards\n\nThis is genuinely a terrible solution, but it is a *quick* solution.\n\nA better solution would take a more general approach sample role\nspecification. I'm not sure of the shape of it, but it certainly isn't this.\n",
    "time": 1754227532
  },
  "_maintainer": {
    "name": "Kai Aragaki",
    "email": "adamaragaki@gmail.com",
    "orcid": "0000-0002-9458-0426"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "dplyr",
      "version": ">= 1.1.0",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "gplate",
      "role": "Imports"
    },
    {
      "package": "mop",
      "role": "Imports"
    },
    {
      "package": "tidyr",
      "role": "Imports"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "gt",
      "role": "Imports"
    },
    {
      "package": "purrr",
      "role": "Imports"
    },
    {
      "package": "DiagrammeR",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "kaiaragaki",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-31",
      "n": 3
    }
  ],
  "_tags": [],
  "_stars": 0,
  "_contributors": [
    {
      "user": "kaiaragaki",
      "count": 5,
      "uuid": 7370516
    }
  ],
  "_userbio": {
    "uuid": 7370516,
    "type": "user",
    "name": "Kai Aragaki",
    "description": "whatever the exact opposite of an emotional support dog is"
  },
  "_downloads": {
    "count": 1,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/qp"
  },
  "_devurl": "https://github.com/kaiaragaki/qp",
  "_pkgdown": "https://kaiaragaki.github.io/qp/",
  "_searchresults": 8,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/qp.html",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_releases": [
    {
      "version": "0.1-1",
      "date": "2006-09-29"
    },
    {
      "version": "0.2-1",
      "date": "2006-12-21"
    },
    {
      "version": "0.3-1",
      "date": "2008-12-19"
    },
    {
      "version": "0.3-2",
      "date": "2012-03-19"
    }
  ],
  "_exports": [
    "dilute",
    "make_pipette_vol",
    "qp",
    "qp_add_names",
    "qp_add_std_conc",
    "qp_calc_abs_mean",
    "qp_calc_conc",
    "qp_dilute",
    "qp_fit",
    "qp_mark_outliers",
    "qp_plot_plate",
    "qp_plot_standards",
    "qp_remove_empty",
    "qp_report",
    "qp_summarize",
    "qp_tidy"
  ],
  "_datasets": [
    {
      "name": "absorbances",
      "title": "Absorbances from a protein quantification",
      "object": "absorbances",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        ".row",
        ".col",
        ".abs",
        "sample_type",
        "index"
      ],
      "rows": 96,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "abs_to_col",
      "title": "Convert an absorbance to a hexidecimal color",
      "topics": [
        "abs_to_col"
      ]
    },
    {
      "page": "absorbances",
      "title": "Absorbances from a protein quantification",
      "topics": [
        "absorbances"
      ]
    },
    {
      "page": "dilute",
      "title": "Calculate dilution from known concentrations",
      "topics": [
        "dilute"
      ]
    },
    {
      "page": "make_pipette_vol",
      "title": "Round volume to be pipette-compatible",
      "topics": [
        "make_pipette_vol"
      ]
    },
    {
      "page": "qp",
      "title": "Quantify protein concentration from a MicroBCA assay",
      "topics": [
        "qp"
      ]
    },
    {
      "page": "qp_add_names",
      "title": "Add sample names",
      "topics": [
        "qp_add_names",
        "qp_add_names.data.frame",
        "qp_add_names.list"
      ]
    },
    {
      "page": "qp_add_std_conc",
      "title": "Add known concentrations of protein to standard samples",
      "topics": [
        "qp_add_std_conc",
        "qp_add_std_conc.data.frame",
        "qp_add_std_conc.list"
      ]
    },
    {
      "page": "qp_calc_abs_mean",
      "title": "Calculate absorbance means with optional outlier removal",
      "topics": [
        "qp_calc_abs_mean",
        "qp_calc_abs_mean.data.frame",
        "qp_calc_abs_mean.list"
      ]
    },
    {
      "page": "qp_calc_conc",
      "title": "Predict concentrations from standards fit",
      "topics": [
        "qp_calc_conc"
      ]
    },
    {
      "page": "qp_dilute",
      "title": "Calculate dilutions from predicted concentrations",
      "topics": [
        "qp_dilute",
        "qp_dilute.data.frame",
        "qp_dilute.list"
      ]
    },
    {
      "page": "qp_fit",
      "title": "Fit an lm using standards absorbances",
      "topics": [
        "qp_fit",
        "qp_fit.data.frame",
        "qp_fit.list"
      ]
    },
    {
      "page": "qp_mark_outliers",
      "title": "Mark absorbance outliers",
      "topics": [
        "qp_mark_outliers",
        "qp_mark_outliers.data.frame",
        "qp_mark_outliers.list"
      ]
    },
    {
      "page": "qp_pal",
      "title": "The default color palette for qp",
      "topics": [
        "qp_pal"
      ]
    },
    {
      "page": "qp_plot_plate",
      "title": "View the absorbances of an analyzed 'qp' as they were on the plate",
      "topics": [
        "qp_plot_plate"
      ]
    },
    {
      "page": "qp_plot_standards",
      "title": "View an absorbance/concentration plot",
      "topics": [
        "qp_plot_standards"
      ]
    },
    {
      "page": "qp_remove_empty",
      "title": "Remove empty wells from data",
      "topics": [
        "qp_remove_empty",
        "qp_remove_empty.data.frame",
        "qp_remove_empty.list"
      ]
    },
    {
      "page": "qp_report",
      "title": "Create a report for a protein quantificaiton experiment",
      "topics": [
        "qp_report"
      ]
    },
    {
      "page": "qp_summarize",
      "title": "Summarize output from qp pipeline",
      "topics": [
        "qp_summarize",
        "qp_summarize.data.frame",
        "qp_summarize.list"
      ]
    },
    {
      "page": "qp_tidy",
      "title": "Read in and wrangle protein quantification data",
      "topics": [
        "qp_tidy",
        "qp_tidy.character",
        "qp_tidy.default",
        "qp_tidy.gp",
        "qp_tidy.spectramax",
        "qp_tidy.synergy2"
      ]
    }
  ],
  "_pkglogo": "https://github.com/KaiAragaki/qp/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/KaiAragaki/qp/raw/HEAD/README.md",
  "_rundeps": [
    "base64enc",
    "bigD",
    "bitops",
    "bslib",
    "cachem",
    "cli",
    "codetools",
    "commonmark",
    "cpp11",
    "curl",
    "digest",
    "doSNOW",
    "dplyr",
    "evaluate",
    "farver",
    "fastmap",
    "fontawesome",
    "foreach",
    "fs",
    "generics",
    "ggplot2",
    "glue",
    "gplate",
    "gt",
    "gtable",
    "highr",
    "htmltools",
    "htmlwidgets",
    "isoband",
    "iterators",
    "jquerylib",
    "jsonlite",
    "juicyjuice",
    "knitr",
    "labeling",
    "lifecycle",
    "litedown",
    "magrittr",
    "markdown",
    "memoise",
    "mime",
    "mop",
    "pillar",
    "pkgconfig",
    "purrr",
    "R6",
    "rappdirs",
    "RColorBrewer",
    "Rcpp",
    "reactable",
    "reactR",
    "rlang",
    "rmarkdown",
    "S7",
    "sass",
    "scales",
    "snow",
    "stringi",
    "stringr",
    "terra",
    "tibble",
    "tidyr",
    "tidyselect",
    "tinytex",
    "utf8",
    "V8",
    "vctrs",
    "viridisLite",
    "withr",
    "xfun",
    "xml2",
    "yaml"
  ],
  "_vignettes": [
    {
      "source": "quantifying-protein-with-qp.Rmd",
      "filename": "quantifying-protein-with-qp.html",
      "title": "Quantifying protein with qp",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Routine analysis",
        "When things go wrong",
        "Reading in the data",
        "Adding standard concentrations",
        "Calculating absorbance means",
        "Fitting a model",
        "Predicting concentrations",
        "Removing empty wells",
        "Adding sample names"
      ],
      "created": "2023-10-26 17:14:16",
      "modified": "2023-10-28 18:43:29",
      "commits": 6
    }
  ],
  "_score": 2.6989700043360187,
  "_indexed": true,
  "_nocasepkg": "qp",
  "_universes": [
    "kaiaragaki"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.2.0",
      "date": "2026-05-19T06:03:29.000Z",
      "distro": "noble",
      "commit": "210050093959616d0298dcb81b9e9a5c8374973a",
      "fileid": "53be216d71ea8a46a7258cce5c73eacbeb91a68da967a843c12d786161fd537d",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/kaiaragaki/actions/runs/26079197875"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.2.0",
      "date": "2026-05-19T06:03:27.000Z",
      "distro": "noble",
      "commit": "210050093959616d0298dcb81b9e9a5c8374973a",
      "fileid": "733c3e0c0be30c6ea3a07b539a21830a97f42785c8eab74a6c0867f3f4df748a",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/kaiaragaki/actions/runs/26079197875"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.2.0",
      "date": "2026-05-19T06:02:36.000Z",
      "commit": "210050093959616d0298dcb81b9e9a5c8374973a",
      "fileid": "c4acebd5dc9e1127b5dc52eae1510f6b7c7daa703b8753bda974fb5992b45c89",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/kaiaragaki/actions/runs/26079197875"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.2.0",
      "date": "2026-05-19T06:04:22.000Z",
      "commit": "210050093959616d0298dcb81b9e9a5c8374973a",
      "fileid": "302ee22800d97d9f0fe26179bc4c021215e860698014cd6ac5c3226941636fc8",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/kaiaragaki/actions/runs/26079197875"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.2.0",
      "date": "2026-05-19T06:02:34.000Z",
      "commit": "210050093959616d0298dcb81b9e9a5c8374973a",
      "fileid": "cc293a7fac428288bcf69d50fd4b43fcdd82015a6b58a67c57033b9902aae8ec",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/kaiaragaki/actions/runs/26079197875"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.2.0",
      "date": "2026-05-19T06:02:06.000Z",
      "commit": "210050093959616d0298dcb81b9e9a5c8374973a",
      "fileid": "0199d51f35fc8f88cd6f9c3eb74428fb8623b71a4fd63881cb7dd9803e288dae",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/kaiaragaki/actions/runs/26079197875"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.2.0",
      "date": "2026-05-19T06:02:15.000Z",
      "commit": "210050093959616d0298dcb81b9e9a5c8374973a",
      "fileid": "369b2632e247abf1bfa4ebedf007167d58282fea74a1614f518dcd785bc717a3",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/kaiaragaki/actions/runs/26079197875"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.2.0",
      "date": "2026-06-02T15:36:21.000Z",
      "commit": "210050093959616d0298dcb81b9e9a5c8374973a",
      "fileid": "431e99f079e6e4352af317f1e3869b5ce5e9355ef963b5853fb25e13769982d1",
      "status": "success",
      "buildurl": "https://github.com/r-universe/kaiaragaki/actions/runs/26079197875"
    }
  ]
}