krt krt hex logo

CRAN status R-CMD-check pkgdown Codecov test coverage Lifecycle: experimental License: GPL v3 DOI

krt is a toolkit for authoring, validating, enriching, rendering, and depositing Key Resources Tables (KRTs): structured tables that list the resources a study used and generated (antibodies, cell lines, organisms, chemicals, software, datasets, protocols, and more), each paired with a persistent identifier so that every resource is unambiguously identifiable and machine-actionable.

KRTs began in Cell Press STAR Methods and are now required by funders such as ASAP (Aligning Science Across Parkinson’s). Once journals began requesting structured resource identifiers, reported analyses of RRID adoption found the fraction of antibodies a reader could unambiguously identify rose sharply, from roughly a quarter to nearly all.

krt is a standards orchestrator, not a template copier: it models resources around a neutral, typed core schema and maps them to journal or funder output profiles. The author-facing table is a view; the underlying record set stays structured, typed, and losslessly round-trippable through JSON and YAML.

Installation

# install.packages("pak")
pak::pak("choxos/krt")

Quick start

library(krt)

k <- new_krt("My study", study_type = "wet-lab")
k <- add_resource(k, "Antibody", "Rabbit Anti-TH",
                  vendor = "Millipore", catalog_number = "AB152",
                  rrid = "RRID:AB_390204", new_or_reuse = "reuse")
k <- add_resource(k, "Software/code", "Fiji", version = "2.14.0",
                  rrid = "RRID:SCR_002285", new_or_reuse = "reuse")

# Validate against a profile (ASAP is strict about identifiers)
validate_krt(k, profile = "asap")

# Normalize identifiers, then export to the ASAP six-column CSV
k <- normalize_ids(k)
export_krt(k, file.path(tempdir(), "resources.csv"), format = "asap")

# Or render a Markdown resource table for a manuscript
cat(render_krt(k, format = "md"))

What krt does

Profiles and licensing

The package code is licensed GPL-3. The bundled ASAP profile assets are derived from the ASAP Key Resource Table resources (doi:10.5281/zenodo.17917979, CC BY 4.0) and are isolated under inst/extdata/profiles/asap/ with attribution and provenance. This package is independently developed and is not an official ASAP product; no endorsement by ASAP is implied. The STAR Methods profile contains only independently written rules; no Cell Press template is bundled. See LICENSE.note, inst/COPYRIGHTS, and krt_audit_licenses().

Use of AI

Parts of this package were developed with the assistance of AI coding tools. All code was reviewed and tested by the author. The optional LLM extraction engine sends manuscript text to a third-party provider only when the user explicitly runs it with their own API key; the deterministic regex engine is the default and runs entirely offline.

Citation

citation("krt")

License

GPL-3 for the package code; see LICENSE.note and inst/COPYRIGHTS for the licensing of bundled third-party materials.