{
  "_id": "6a06f4bd7b0ee7a561a743f0",
  "Package": "tidyqpcr",
  "Type": "Package",
  "Title": "Quantitative PCR Analysis with the Tidyverse",
  "Version": "1.0",
  "Authors@R": "c(person(\"Edward\", \"Wallace\", email = \"Edward.Wallace@ed.ac.uk\", role = c(\"aut\", \"cre\")),\nperson(\"Sam\", \"Haynes\", email = \"samuel.haynes10@gmail.com\", role = c(\"aut\")))",
  "Description": "For reproducible quantitative PCR (qPCR) analysis building\non packages from the ’tidyverse’, notably ’dplyr’ and\n’ggplot2’. It normalizes (by ddCq), summarizes, and plots\npre-calculated Cq data, and plots raw amplification and melt\ncurves from Roche Lightcycler (tm) machines. It does NOT (yet)\ncalculate Cq data from amplification curves.",
  "VignetteBuilder": "knitr",
  "License": "Apache License (>= 2)",
  "RoxygenNote": "7.1.2",
  "Encoding": "UTF-8",
  "URL": "https://docs.ropensci.org/tidyqpcr,\nhttps://github.com/ropensci/tidyqpcr",
  "BugReports": "https://github.com/ropensci/tidyqpcr/issues",
  "Language": "en-GB",
  "Config/pak/sysreqs": "libicu-dev libx11-dev",
  "Repository": "https://ropensci.r-universe.dev",
  "Date/Publication": "2024-04-29 14:34:44 UTC",
  "RemoteUrl": "https://github.com/ropensci/tidyqpcr",
  "RemoteRef": "main",
  "RemoteSha": "0d3f62f16ce3cc216a011ad5c64f270f34d1331d",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-15 09:57:58 UTC",
    "User": "root"
  },
  "Author": "Edward Wallace [aut, cre],\nSam Haynes [aut]",
  "Maintainer": "Edward Wallace <Edward.Wallace@ed.ac.uk>",
  "MD5sum": "c8412c33dc20be42941d81246622251b",
  "_user": "ropensci",
  "_type": "src",
  "_file": "tidyqpcr_1.0.tar.gz",
  "_fileid": "aeea067150576146cfd783051e81d349007f65876cdf8c0b5ac7fae00cbb6909",
  "_filesize": 7484151,
  "_sha256": "aeea067150576146cfd783051e81d349007f65876cdf8c0b5ac7fae00cbb6909",
  "_created": "2026-05-15T09:57:58.000Z",
  "_published": "2026-05-15T10:26:05.580Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 76158695196,
      "time": 147,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "7014610684"
    },
    {
      "job": 76158695234,
      "time": 146,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7014610126"
    },
    {
      "job": 76158695204,
      "time": 111,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "7015026913"
    },
    {
      "job": 76158695226,
      "time": 83,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7015017649"
    },
    {
      "job": 76158014913,
      "time": 205,
      "config": "pkgdown",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7014541136"
    },
    {
      "job": 76158014871,
      "time": 288,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7014566827"
    },
    {
      "job": 76158695215,
      "time": 134,
      "config": "wasm-release",
      "r": "4.5.1",
      "check": "OK",
      "artifact": "7014606255"
    },
    {
      "job": 76158695274,
      "time": 90,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "7014596158"
    },
    {
      "job": 76158695252,
      "time": 100,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "7014596820"
    },
    {
      "job": 76158695262,
      "time": 82,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7014592001"
    }
  ],
  "_buildurl": "https://github.com/r-universe/ropensci/actions/runs/25911633936",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/ropensci/tidyqpcr",
  "_commit": {
    "id": "0d3f62f16ce3cc216a011ad5c64f270f34d1331d",
    "author": "Edward Wallace <ewallace@users.noreply.github.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Merge pull request #199 from ropensci/remove-watermark\n\nremove draft watermark from paper.md\r\n\r\nThis is old, and a very small change that affects no code. Approving.",
    "time": 1714401284
  },
  "_maintainer": {
    "name": "Edward Wallace",
    "email": "edward.wallace@ed.ac.uk",
    "login": "ewallace",
    "uuid": 683603
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.1.0",
      "role": "Depends"
    },
    {
      "package": "tibble",
      "role": "Depends"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "scales",
      "role": "Imports"
    },
    {
      "package": "readr",
      "role": "Imports"
    },
    {
      "package": "forcats",
      "role": "Imports"
    },
    {
      "package": "assertthat",
      "role": "Imports"
    },
    {
      "package": "tidyr",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "role": "Suggests"
    },
    {
      "package": "covr",
      "role": "Suggests"
    }
  ],
  "_owner": "ropensci",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [],
  "_tags": [],
  "_topics": [
    "miqe",
    "qpcr",
    "qpcr-analysis",
    "tidyverse"
  ],
  "_stars": 56,
  "_contributors": [
    {
      "user": "ewallace",
      "count": 169,
      "uuid": 683603
    },
    {
      "user": "dimmestp",
      "count": 138,
      "uuid": 37002508
    },
    {
      "user": "maelle",
      "count": 1,
      "uuid": 8360597
    }
  ],
  "_userbio": {
    "uuid": 1200269,
    "type": "organization",
    "name": "rOpenSci",
    "description": "Tools and R Packages for Open Science"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/tidyqpcr"
  },
  "_devurl": "https://github.com/ropensci/tidyqpcr",
  "_pkgdown": "https://docs.ropensci.org/tidyqpcr",
  "_searchresults": 27,
  "_metadata": {
    "review": {
      "id": 470,
      "status": "reviewed",
      "version": "0.3",
      "organization": "rOpenSci Software Review",
      "url": "https://github.com/ropensci/software-review/issues/470"
    },
    "ropensci_category": "data-extraction"
  },
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/readme.html",
    "extra/readme.md",
    "extra/tidyqpcr.html",
    "manual.pdf"
  ],
  "_realowner": "ropensci",
  "_cranurl": false,
  "_exports": [
    "calculate_deltacq_bysampleid",
    "calculate_deltadeltacq_bytargetid",
    "calculate_drdt_plate",
    "calculate_dydx",
    "calculate_efficiency",
    "calculate_efficiency_bytargetid",
    "calculate_normvalue",
    "create_blank_plate",
    "create_blank_plate_1536well",
    "create_blank_plate_96well",
    "create_colkey_4diln_2ctrl_in_24",
    "create_colkey_6_in_24",
    "create_colkey_6diln_2ctrl_in_24",
    "create_rowkey_4_in_16",
    "create_rowkey_8_in_16_plain",
    "debaseline",
    "display_plate",
    "display_plate_qpcr",
    "display_plate_value",
    "label_plate_rowcol",
    "make_row_names_echo1536",
    "make_row_names_lc1536",
    "read_lightcycler_1colour_cq",
    "read_lightcycler_1colour_raw"
  ],
  "_help": [
    {
      "page": "calculate_deltacq_bysampleid",
      "title": "Calculate delta cq (Delta Cq) to normalize quantification cycle (log2-fold) data within sample_id.",
      "topics": [
        "calculate_deltacq_bysampleid"
      ]
    },
    {
      "page": "calculate_deltadeltacq_bytargetid",
      "title": "Calculate delta delta cq (Delta Delta Cq) to globally normalize quantification cycle (log2-fold) data across sample_id.",
      "topics": [
        "calculate_deltadeltacq_bytargetid"
      ]
    },
    {
      "page": "calculate_drdt_plate",
      "title": "Calculate dR/dT of melt curves for of every well in a plate.",
      "concept": [
        "melt_curve_functions"
      ],
      "topics": [
        "calculate_drdt_plate"
      ]
    },
    {
      "page": "calculate_dydx",
      "title": "Calculate dy/dx vector from vectors y and x",
      "concept": [
        "melt_curve_functions"
      ],
      "topics": [
        "calculate_dydx"
      ]
    },
    {
      "page": "calculate_efficiency",
      "title": "Calibrate primer sets / probes by calculating detection efficiency and R squared",
      "topics": [
        "calculate_efficiency"
      ]
    },
    {
      "page": "calculate_efficiency_bytargetid",
      "title": "Calibrate multiple probes by calculating detection efficiency and R squared",
      "topics": [
        "calculate_efficiency_bytargetid"
      ]
    },
    {
      "page": "calculate_normvalue",
      "title": "Calculate a normalized value for a subset of reference ids",
      "topics": [
        "calculate_normvalue"
      ]
    },
    {
      "page": "create_blank_plate",
      "title": "Create a blank plate template as a tibble (with helper functions for common plate sizes)",
      "concept": [
        "plate creation functions"
      ],
      "topics": [
        "create_blank_plate",
        "create_blank_plate_1536well",
        "create_blank_plate_96well"
      ]
    },
    {
      "page": "create_colkey_4diln_2ctrl_in_24",
      "title": "Create a 4-dilution column key for primer calibration",
      "concept": [
        "plate creation functions"
      ],
      "topics": [
        "create_colkey_4diln_2ctrl_in_24"
      ]
    },
    {
      "page": "create_colkey_6_in_24",
      "title": "Create a 6-value, 24-column key for plates",
      "concept": [
        "plate creation functions"
      ],
      "topics": [
        "create_colkey_6_in_24"
      ]
    },
    {
      "page": "create_colkey_6diln_2ctrl_in_24",
      "title": "Create a 6-dilution column key for primer calibration",
      "concept": [
        "plate creation functions"
      ],
      "topics": [
        "create_colkey_6diln_2ctrl_in_24"
      ]
    },
    {
      "page": "create_rowkey_4_in_16",
      "title": "Create a 4-value, 16-row key for plates",
      "concept": [
        "plate creation functions"
      ],
      "topics": [
        "create_rowkey_4_in_16"
      ]
    },
    {
      "page": "create_rowkey_8_in_16_plain",
      "title": "Create a plain 8-value, 16-row key for plates",
      "concept": [
        "plate creation functions"
      ],
      "topics": [
        "create_rowkey_8_in_16_plain"
      ]
    },
    {
      "page": "debaseline",
      "title": "Remove baseline from amplification curves (BETA)",
      "topics": [
        "debaseline"
      ]
    },
    {
      "page": "display_plate",
      "title": "Display an empty plate plan which can be populated with ggplot2 geom elements.",
      "concept": [
        "plate creation functions"
      ],
      "topics": [
        "display_plate"
      ]
    },
    {
      "page": "display_plate_qpcr",
      "title": "Display qPCR plate plan with sample_id, target_id, prep_type per well",
      "concept": [
        "plate creation functions"
      ],
      "topics": [
        "display_plate_qpcr"
      ]
    },
    {
      "page": "display_plate_value",
      "title": "Display the value of each well across the plate.",
      "concept": [
        "plate creation functions"
      ],
      "topics": [
        "display_plate_value"
      ]
    },
    {
      "page": "label_plate_rowcol",
      "title": "Label a plate with sample and probe information",
      "concept": [
        "plate creation functions"
      ],
      "topics": [
        "label_plate_rowcol"
      ]
    },
    {
      "page": "make_row_names_echo1536",
      "title": "Generates row names for the Labcyte Echo 1536-well plates",
      "concept": [
        "plate creation functions"
      ],
      "topics": [
        "make_row_names_echo1536"
      ]
    },
    {
      "page": "make_row_names_lc1536",
      "title": "Generates row names for the Roche Lightcycler (tm) 1536-well plates",
      "concept": [
        "plate creation functions"
      ],
      "topics": [
        "make_row_names_lc1536"
      ]
    },
    {
      "page": "read_lightcycler_1colour_cq",
      "title": "Reads quantification cycle (cq) data in 1 colour from Roche Lightcyclers",
      "topics": [
        "read_lightcycler_1colour_cq"
      ]
    },
    {
      "page": "read_lightcycler_1colour_raw",
      "title": "Reads raw text-format fluorescence data in 1 colour from Roche Lightcyclers",
      "topics": [
        "read_lightcycler_1colour_raw"
      ]
    }
  ],
  "_readme": "https://github.com/ropensci/tidyqpcr/raw/main/README.md",
  "_rundeps": [
    "assertthat",
    "bit",
    "bit64",
    "cli",
    "clipr",
    "cpp11",
    "crayon",
    "dplyr",
    "farver",
    "forcats",
    "generics",
    "ggplot2",
    "glue",
    "gtable",
    "hms",
    "isoband",
    "labeling",
    "lifecycle",
    "magrittr",
    "pillar",
    "pkgconfig",
    "prettyunits",
    "progress",
    "purrr",
    "R6",
    "RColorBrewer",
    "readr",
    "rlang",
    "S7",
    "scales",
    "stringi",
    "stringr",
    "tibble",
    "tidyr",
    "tidyselect",
    "tzdb",
    "utf8",
    "vctrs",
    "viridisLite",
    "vroom",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "deltacq_96well_vignette.Rmd",
      "filename": "deltacq_96well_vignette.html",
      "title": "Delta Cq 96-well plate qPCR analysis example",
      "author": "Stuart McKellar and Edward Wallace",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Summary: an example 96-well qPCR experiment.",
        "Setup knitr options and load packages",
        "Loading, organizing, and sanity-checking data.",
        "Load data from machine output file",
        "Organize sample and target data on the plate",
        "Display the plate layout",
        "Plot unnormalized Cq data",
        "Normalized data: delta Cq",
        "Normalize Cq to 5S rRNA, within Sample only",
        "Plot normalized data, all reps",
        "Calculate a summary value for each sample-target combination",
        "Plot delta Cq for each OD separately across genes",
        "Plot relative abundance for each OD separately across genes",
        "Plot relative abundance for each gene separately across ODs",
        "Doubly normalized data: delta delta Cq",
        "Calculate delta delta cq against a chosen reference sample",
        "Plot delta delta Cq (log2-fold change) for each target gene",
        "Plot fold change for each target gene",
        "Conclusion",
        "Notes on normalization, reference targets, and reference samples"
      ],
      "created": "2020-09-04 09:08:41",
      "modified": "2022-06-08 12:31:06",
      "commits": 11
    },
    {
      "source": "platesetup_vignette.Rmd",
      "filename": "platesetup_vignette.html",
      "title": "Introduction to designing an experiment and setting up a plate plan in tidyqpcr",
      "author": "Edward Wallace",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "Setup knitr options and load packages",
        "Essential information: target_id, sample_id, prep_type",
        "Using rows and columns to make life easier",
        "A Minimal 48-well plate plan",
        "Practice version, only a single technical replicate.",
        "Replicate columns for the sample_ids and prep_types",
        "Putting the 48-well sample together",
        "Adding more samples and repeating targets",
        "Adding experimental conditions",
        "Repeating target names without repeating yourself",
        "Recreating the column key",
        "Combining information into a larger plate plan",
        "Making sure sample names are present and unique",
        "Creating plate layouts with standard designs",
        "What information goes in the plate plan, revisited?",
        "Hints and Tips on Plate setup"
      ],
      "created": "2020-03-15 16:13:23",
      "modified": "2022-06-08 11:26:09",
      "commits": 12
    },
    {
      "source": "multifactor_vignette.Rmd",
      "filename": "multifactor_vignette.html",
      "title": "Multifactorial multi-plate qPCR analysis example",
      "author": "Edward Wallace",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Summary: an example multifactorial qPCR experiment.",
        "Pilot experiment",
        "Setup knitr options and load packages",
        "Label and plan plates",
        "Load and summarize data",
        "Plot unnormalized data",
        "-RT controls are low",
        "Normalize Cq to PGK1, within Sample only",
        "Plot normalized data, all reps",
        "Plot normalized data, summarized vs target_id",
        "All on same axes",
        "Faceted by drug treatment",
        "Faceted by heat shock condition",
        "Melt and Amplification Curves",
        "Melt Curves, biol_rep 1",
        "Melt Curves, biol_rep 2",
        "Amp Curves, biol_rep 1"
      ],
      "created": "2019-09-25 21:54:43",
      "modified": "2022-06-08 12:31:06",
      "commits": 19
    },
    {
      "source": "calibration_vignette.Rmd",
      "filename": "calibration_vignette.html",
      "title": "Primers and probes calibration vignette",
      "author": "Edward Wallace",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Summary: calibrating primer sets from a real experimental test",
        "Setup knitr options and load packages",
        "Set up experiment",
        "Describe which primer set we put in which well using a row key",
        "Combine the row key describing primer sets with column key describing on samples and dilutions.",
        "Spot-check the plate plan",
        "Display the plate plan",
        "Analyse Cq (quantification cycle count) data",
        "Load and summarize data",
        "Visualise Cq values for each well.",
        "Plot unnormalized data shows that -RT and NT controls are low",
        "Dilution series is linear for all probes",
        "Calculate primer efficiencies for all probes",
        "Dilution series for nice probes only shows linearity clearly",
        "Analyse amplification and melt curve data",
        "Load raw data for amplification and melt curves.",
        "Plot de-baseline'd raw data for single well",
        "Plot all amplification curves",
        "Plot melt curve for single well",
        "Plot all melt curves",
        "Plot zoomed melt curves",
        "Plot only zoomed melt curves for nice probes",
        "Conclude acceptable primer sets"
      ],
      "created": "2019-09-25 09:30:21",
      "modified": "2022-06-08 12:31:06",
      "commits": 23
    }
  ],
  "_score": 5.781611782493151,
  "_indexed": true,
  "_nocasepkg": "tidyqpcr",
  "_universes": [
    "ropensci",
    "ewallace"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0",
      "date": "2026-05-15T10:00:18.000Z",
      "distro": "noble",
      "commit": "0d3f62f16ce3cc216a011ad5c64f270f34d1331d",
      "fileid": "a32ec281ac2f77a023709992d2d07e2da9baa46020c6ab8ff8dbbd6f5c7ced5b",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/ropensci/actions/runs/25911633936"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.0",
      "date": "2026-05-15T10:00:16.000Z",
      "distro": "noble",
      "commit": "0d3f62f16ce3cc216a011ad5c64f270f34d1331d",
      "fileid": "8de0af73b6395fe69ab97e43e7fd7310df51c47f0f61b167927967cafbb2521b",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/ropensci/actions/runs/25911633936"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.0",
      "date": "2026-05-15T10:25:18.000Z",
      "commit": "0d3f62f16ce3cc216a011ad5c64f270f34d1331d",
      "fileid": "37840b6373900905fadf1c446ac3b12e8a2a548833825e41e3844cb8e7868beb",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/ropensci/actions/runs/25911633936"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.0",
      "date": "2026-05-15T10:24:46.000Z",
      "commit": "0d3f62f16ce3cc216a011ad5c64f270f34d1331d",
      "fileid": "12c37e9e94f0a70e9a1fa2b8ef07b3b997d0b1f2a0d37d144486daf797fc17da",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/ropensci/actions/runs/25911633936"
    },
    {
      "r": "4.5.1",
      "os": "wasm",
      "version": "1.0",
      "date": "2026-05-15T10:00:26.000Z",
      "commit": "0d3f62f16ce3cc216a011ad5c64f270f34d1331d",
      "fileid": "457e3661d0fbd1e1b8dc42be1e708af6e45678c75aa3d0e67861d053cedf9b74",
      "status": "success",
      "buildurl": "https://github.com/r-universe/ropensci/actions/runs/25911633936"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.0",
      "date": "2026-05-15T09:59:22.000Z",
      "commit": "0d3f62f16ce3cc216a011ad5c64f270f34d1331d",
      "fileid": "a21b95ab1c8099edf8bac5668b881d536d765fcbe25e2a1af30c3c6a059d3a27",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/ropensci/actions/runs/25911633936"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.0",
      "date": "2026-05-15T09:59:25.000Z",
      "commit": "0d3f62f16ce3cc216a011ad5c64f270f34d1331d",
      "fileid": "423e2d74b95dee467b82ac94fbf475e9a06225a596b082f6b92154dded7c8399",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/ropensci/actions/runs/25911633936"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.0",
      "date": "2026-05-15T09:59:10.000Z",
      "commit": "0d3f62f16ce3cc216a011ad5c64f270f34d1331d",
      "fileid": "2aa0a4de1a3846c87f31f9b7463d778b287ff7a19f74f59bb4d9d3e939b5820c",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/ropensci/actions/runs/25911633936"
    }
  ]
}