{
  "_id": "6ad8890669e274306bae97e5",
  "Package": "palettome",
  "Title": "Hierarchy-Aware, Interactively Editable Color Palettes for\nClusters",
  "Version": "1.0.1",
  "Authors@R": "person(\"Chenbin\", \"Huang\", email = \"chenbin.huang@emory.edu\", role = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0000-0002-2179-2217\"))",
  "Description": "Assigns perceptually-informed color palettes to clustered\ndata (e.g. scRNA-seq clusters / cell subtypes from 'Seurat' or\nplain UMAP coordinate tables), where clusters that belong to\nthe same \"family\" (e.g. subtypes of T cells) can be colored\neither harmoniously (shared hue, varying shade) or with maximal\ncontrast (with family membership encoded via a secondary\nchannel). Families can be auto-detected from embedding-space\nhierarchical clustering or supplied explicitly, and every\ngenerated color remains individually overridable, with manual\noverrides preserved across regeneration. Colors are constructed\nin the HCL space as in Zeileis et al. (2020)\n<doi:10.18637/jss.v096.i01>, separated using the CIEDE2000\ncolor difference of Sharma, Wu and Dalal (2005)\n<doi:10.1002/col.20070>, and checked for color-vision\ndeficiency using the simulation of Machado, Oliveira and\nFernandes (2009) <doi:10.1109/TVCG.2009.113>. Core algorithms\nhave no UI dependencies; an optional interactive 'shiny' UI is\nprovided separately.",
  "License": "Apache License (== 2.0)",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.2",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "URL": "https://github.com/thisishcb/Palettome",
  "BugReports": "https://github.com/thisishcb/Palettome/issues",
  "Repository": "https://thisishcb.r-universe.dev",
  "Date/Publication": "2026-10-20 19:57:32 UTC",
  "RemoteUrl": "https://github.com/thisishcb/palettome",
  "RemoteRef": "HEAD",
  "RemoteSha": "6683a9e84e971f5a33c7ee1c645fd25265701bb5",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-21 09:38:00 UTC",
    "User": "root"
  },
  "Author": "Chenbin Huang [aut, cre] (ORCID:\n<https://orcid.org/0000-0002-2179-2217>)",
  "Maintainer": "Chenbin Huang <chenbin.huang@emory.edu>",
  "_user": "thisishcb",
  "_type": "src",
  "_file": "palettome_1.0.1.tar.gz",
  "_fileid": "https://r2.ropensci.org/df29529e2334bdb2eaca586b4c728e5fe2366ac76a179cba0cf3dbbddd0ec229",
  "_filesize": 1287015,
  "_sha256": "df29529e2334bdb2eaca586b4c728e5fe2366ac76a179cba0cf3dbbddd0ec229",
  "_expires": "2027-01-29T09:42:28.000Z",
  "_created": "2026-10-21T09:38:00.000Z",
  "_published": "2026-10-21T09:42:30.213Z",
  "_buildurl": "https://github.com/r-universe/thisishcb/actions/runs/39577535998",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 119149991327,
      "time": 161,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12334693585"
    },
    {
      "job": 119149991434,
      "time": 159,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12335746627"
    },
    {
      "job": 119149991520,
      "time": 226,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "12334753727"
    },
    {
      "job": 119149991538,
      "time": 218,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12335137536"
    },
    {
      "job": 119146813655,
      "time": 435,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12335805896"
    },
    {
      "job": 119149991341,
      "time": 141,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "12335756028"
    },
    {
      "job": 119149991329,
      "time": 109,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12335012876"
    },
    {
      "job": 119149991399,
      "time": 132,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "12336190346"
    },
    {
      "job": 119149991376,
      "time": 101,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12334932909"
    }
  ],
  "_upstream": "https://github.com/thisishcb/palettome",
  "_commit": {
    "id": "6683a9e84e971f5a33c7ee1c645fd25265701bb5",
    "author": "ChenbinHuang <24517165+ChenbinHuang@users.noreply.github.com>",
    "committer": "ChenbinHuang <24517165+ChenbinHuang@users.noreply.github.com>",
    "message": "update readme\n",
    "time": 1792526252
  },
  "_maintainer": {
    "name": "Chenbin Huang",
    "email": "chenbin.huang@emory.edu",
    "login": "thisishcb",
    "description": "ShanghaiTech Alumni; \nMSCS & Current PhD Candidate  | Computer Science, Biomedical Informatics | Emory University ",
    "uuid": 24517165,
    "orcid": "0000-0002-2179-2217"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "colorspace",
      "role": "Imports"
    },
    {
      "package": "farver",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "graphics",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "jsonlite",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "ggplot2",
      "role": "Suggests"
    },
    {
      "package": "Seurat",
      "role": "Suggests"
    },
    {
      "package": "shiny",
      "role": "Suggests"
    },
    {
      "package": "plotly",
      "role": "Suggests"
    },
    {
      "package": "colourpicker",
      "role": "Suggests"
    },
    {
      "package": "shinyjs",
      "role": "Suggests"
    },
    {
      "package": "dendextend",
      "role": "Suggests"
    }
  ],
  "_owner": "thisishcb",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-39",
      "n": 4
    },
    {
      "week": "2026-41",
      "n": 4
    },
    {
      "week": "2026-43",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "v1.0.0",
      "date": "2026-09-24"
    },
    {
      "name": "v1.0.1",
      "date": "2026-09-24"
    }
  ],
  "_stars": 1,
  "_contributors": [
    {
      "user": "thisishcb",
      "count": 25,
      "uuid": 24517165
    }
  ],
  "_userbio": {
    "uuid": 24517165,
    "type": "user",
    "name": "Chenbin Huang",
    "followers": 6,
    "description": "ShanghaiTech Alumni; \r\nMSCS & Current PhD Candidate  | Computer Science, Biomedical Informatics | Emory University "
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/palettome"
  },
  "_devurl": "https://github.com/thisishcb/palettome",
  "_searchresults": 0,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/palettome.html",
    "extra/readme.html",
    "extra/readme.md"
  ],
  "_homeurl": "https://github.com/thisishcb/palettome",
  "_realowner": "thisishcb",
  "_cranurl": true,
  "_releases": [
    {
      "version": "1.0.1",
      "date": "2026-10-20"
    }
  ],
  "_exports": [
    "as_cluster_data",
    "cluster_colors",
    "color_distance",
    "compute_centroids",
    "compute_family_dendrogram",
    "cut_families",
    "detect_families",
    "downsample_stratified",
    "export_palette_csv",
    "export_palette_json",
    "family_colors",
    "generate_palette",
    "import_palette_json",
    "launch_palettome_ui",
    "optimize_color",
    "plot_dendrogram",
    "plot_palette_static",
    "plot_swatches",
    "reset_overrides",
    "set_manual_color",
    "simulate_cvd"
  ],
  "_help": [
    {
      "page": "as_cluster_data",
      "title": "Build a palettome data object from a data frame or Seurat object",
      "topics": [
        "as_cluster_data",
        "as_cluster_data.data.frame",
        "as_cluster_data.Seurat"
      ]
    },
    {
      "page": "cluster_colors",
      "title": "Get cluster colors as a named vector or a plain data frame",
      "topics": [
        "cluster_colors"
      ]
    },
    {
      "page": "color_distance",
      "title": "Pairwise perceptual color distance",
      "topics": [
        "color_distance"
      ]
    },
    {
      "page": "compute_centroids",
      "title": "Compute per-cluster centroids and cell counts",
      "topics": [
        "compute_centroids"
      ]
    },
    {
      "page": "compute_family_dendrogram",
      "title": "Build a cluster-distance dendrogram for family detection",
      "topics": [
        "compute_family_dendrogram"
      ]
    },
    {
      "page": "cut_families",
      "title": "Cut a precomputed dendrogram into families",
      "topics": [
        "cut_families"
      ]
    },
    {
      "page": "detect_families",
      "title": "Detect (or pass through) cluster families",
      "topics": [
        "detect_families"
      ]
    },
    {
      "page": "downsample_stratified",
      "title": "Stratified per-cluster subsample for interactive preview",
      "topics": [
        "downsample_stratified"
      ]
    },
    {
      "page": "export_palette_csv",
      "title": "Export cluster and/or family color tables as CSV",
      "topics": [
        "export_palette_csv"
      ]
    },
    {
      "page": "export_palette_json",
      "title": "Export a palette session to JSON",
      "topics": [
        "export_palette_json"
      ]
    },
    {
      "page": "family_colors",
      "title": "Get family colors as a named vector or a plain data frame",
      "topics": [
        "family_colors"
      ]
    },
    {
      "page": "generate_palette",
      "title": "Generate a cluster/family color palette",
      "topics": [
        "generate_palette"
      ]
    },
    {
      "page": "import_palette_json",
      "title": "Import a palette session from JSON",
      "topics": [
        "import_palette_json"
      ]
    },
    {
      "page": "launch_palettome_ui",
      "title": "Launch the interactive Palettome Shiny UI",
      "topics": [
        "launch_palettome_ui"
      ]
    },
    {
      "page": "optimize_color",
      "title": "Snap a hand-picked color into the palette's aesthetic envelope",
      "topics": [
        "optimize_color"
      ]
    },
    {
      "page": "plot_dendrogram",
      "title": "Plot a dendrogram preview of detected families",
      "topics": [
        "plot_dendrogram"
      ]
    },
    {
      "page": "plot_palette_static",
      "title": "Static plot of an embedding colored by the current palette",
      "topics": [
        "plot_palette_static"
      ]
    },
    {
      "page": "plot_swatches",
      "title": "Standalone swatch/legend figure, grouped by family",
      "topics": [
        "plot_swatches"
      ]
    },
    {
      "page": "reset_overrides",
      "title": "Reset manual color overrides",
      "topics": [
        "reset_overrides"
      ]
    },
    {
      "page": "set_manual_color",
      "title": "Manually set a cluster's or family's color",
      "topics": [
        "set_manual_color"
      ]
    },
    {
      "page": "simulate_cvd",
      "title": "Simulate color-vision deficiency on a palette",
      "topics": [
        "simulate_cvd"
      ]
    }
  ],
  "_readme": "https://github.com/thisishcb/palettome/raw/HEAD/README.md",
  "_rundeps": [
    "colorspace",
    "farver",
    "jsonlite"
  ],
  "_vignettes": [
    {
      "source": "palettome.Rmd",
      "filename": "palettome.html",
      "title": "Getting started with palettome",
      "engine": "knitr::rmarkdown",
      "headings": [
        "What this package is for",
        "Example data",
        "Step 1: build a palettome_data object",
        "The same step with a Seurat object",
        "Step 2: detect families",
        "Step 3: generate a palette",
        "Harmonious mode",
        "Contrast mode",
        "Steering the look",
        "Step 4: manual overrides",
        "Checking the palette",
        "Using the colors elsewhere",
        "Saving and resuming",
        "Large datasets",
        "The interactive UI"
      ],
      "created": "2026-09-24 18:29:34",
      "modified": "2026-10-08 06:58:31",
      "commits": 4
    }
  ],
  "_score": 4.176091259055681,
  "_indexed": true,
  "_nocasepkg": "palettome",
  "_universes": [
    "thisishcb"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.1",
      "date": "2026-10-21T09:40:41.000Z",
      "distro": "resolute",
      "commit": "6683a9e84e971f5a33c7ee1c645fd25265701bb5",
      "fileid": "https://r2.ropensci.org/56a552bed590cec43c2d1331dfa0cee76c932355b5daa6645d11155f681499a9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/thisishcb/actions/runs/39577535998"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.0.1",
      "date": "2026-10-21T09:40:39.000Z",
      "distro": "resolute",
      "commit": "6683a9e84e971f5a33c7ee1c645fd25265701bb5",
      "fileid": "https://r2.ropensci.org/c3c55651c5b0abf1b2a19a16805ed6a278f30e9906aeff8c6909e30514339e45",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/thisishcb/actions/runs/39577535998"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.0.1",
      "date": "2026-10-21T09:41:11.000Z",
      "commit": "6683a9e84e971f5a33c7ee1c645fd25265701bb5",
      "fileid": "https://r2.ropensci.org/6009c0d4a031b28450397236af7a65ee877611d908d50500bf218c7b36dd62b3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/thisishcb/actions/runs/39577535998"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "1.0.1",
      "date": "2026-10-21T09:40:44.000Z",
      "commit": "6683a9e84e971f5a33c7ee1c645fd25265701bb5",
      "fileid": "https://r2.ropensci.org/2d6d69e8b4e693611d934295874e4a305c1ea397dc1441f0485a2085eaa44114",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/thisishcb/actions/runs/39577535998"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.0.1",
      "date": "2026-10-21T09:40:40.000Z",
      "commit": "6683a9e84e971f5a33c7ee1c645fd25265701bb5",
      "fileid": "https://r2.ropensci.org/12de94146ff4da2ace8615d4751a32e8b87cf0cb0ab44b2acd9d800fbe2c9bd1",
      "status": "success",
      "buildurl": "https://github.com/r-universe/thisishcb/actions/runs/39577535998"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.0.1",
      "date": "2026-10-21T09:39:36.000Z",
      "commit": "6683a9e84e971f5a33c7ee1c645fd25265701bb5",
      "fileid": "https://r2.ropensci.org/0ddcbc6e6764d662a1d5200a1d8bf22705c6b15980f05aafafc4e71416eb253c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/thisishcb/actions/runs/39577535998"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.0.1",
      "date": "2026-10-21T09:40:02.000Z",
      "commit": "6683a9e84e971f5a33c7ee1c645fd25265701bb5",
      "fileid": "https://r2.ropensci.org/1f838bdc8ee8c7b5a6f4eee6d96a37de347be1dec027c03a67fbafd4c3af3a43",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/thisishcb/actions/runs/39577535998"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "1.0.1",
      "date": "2026-10-21T09:39:38.000Z",
      "commit": "6683a9e84e971f5a33c7ee1c645fd25265701bb5",
      "fileid": "https://r2.ropensci.org/714fe7a12a9f700d207fd6f0168d2d70e5ed6fc2117725428a238c9e371d99f4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/thisishcb/actions/runs/39577535998"
    }
  ]
}