{
  "_id": "6ace0bdca14063b82c3aeebe",
  "Package": "NOVA",
  "Type": "Package",
  "Title": "Neural Output Visualization and Analysis",
  "Version": "0.5.0",
  "Description": "A toolkit for analyzing and visualizing Multi-Electrode\nArray (MEA) neural recordings, from raw CSV discovery through\nPrincipal Component Analysis (PCA), heatmaps, per-metric plots,\nand trajectory visualization. A lightweight trajectory-summary\nlayer describes how experimental conditions move through state\nspace relative to baseline (distance travelled, path\ndirectness, and timing), with robust timepoint ordering and a\nplain-language interpretation helper. Provides\npublication-ready visualizations with flexible customization\noptions for neuroscience research applications.",
  "Authors@R": "person(given = \"Alex\",\nfamily = \"Tudoras\",\nrole = c(\"aut\", \"cre\"),\nemail = \"alex.tudorasmiravet@ucsf.edu\")",
  "License": "GPL (>= 3)",
  "Encoding": "UTF-8",
  "Language": "en-US",
  "RoxygenNote": "7.3.3",
  "VignetteBuilder": "knitr",
  "URL": "https://github.com/atudoras/nova",
  "BugReports": "https://github.com/atudoras/nova/issues",
  "Config/pak/sysreqs": "cmake make libicu-dev libuv1-dev libx11-dev\nzlib1g-dev",
  "Repository": "https://atudoras.r-universe.dev",
  "Date/Publication": "2026-07-15 19:29:30 UTC",
  "RemoteUrl": "https://github.com/atudoras/nova",
  "RemoteRef": "HEAD",
  "RemoteSha": "206cb603a3f7ef0eb91033b94608b7583520a92e",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-13 10:41:50 UTC",
    "User": "root"
  },
  "Author": "Alex Tudoras [aut, cre]",
  "Maintainer": "Alex Tudoras <alex.tudorasmiravet@ucsf.edu>",
  "_user": "atudoras",
  "_type": "src",
  "_file": "NOVA_0.5.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/f791997bf69e118d3b5c52ee5f978466806a72fc11b37742910df9588a75026c",
  "_filesize": 643471,
  "_sha256": "f791997bf69e118d3b5c52ee5f978466806a72fc11b37742910df9588a75026c",
  "_expires": "2027-01-21T10:45:42.000Z",
  "_created": "2026-10-13T10:41:50.000Z",
  "_published": "2026-10-13T10:45:47.887Z",
  "_buildurl": "https://github.com/r-universe/atudoras/actions/runs/38384694898",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 115255056574,
      "time": 160,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11805396462"
    },
    {
      "job": 115255056817,
      "time": 142,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11805621073"
    },
    {
      "job": 115255056622,
      "time": 182,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11805336938"
    },
    {
      "job": 115255056601,
      "time": 166,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11805147051"
    },
    {
      "job": 115253601160,
      "time": 229,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11805171494"
    },
    {
      "job": 115255056575,
      "time": 123,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11806535151"
    },
    {
      "job": 115255056690,
      "time": 117,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11805201819"
    },
    {
      "job": 115255056823,
      "time": 126,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11805716535"
    },
    {
      "job": 115255056755,
      "time": 105,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11806375231"
    }
  ],
  "_upstream": "https://github.com/atudoras/nova",
  "_commit": {
    "id": "206cb603a3f7ef0eb91033b94608b7583520a92e",
    "author": "Àlex Tudoras Miravet <alex.tudoras.miravet@gmail.com>",
    "committer": "Àlex Tudoras Miravet <alex.tudoras.miravet@gmail.com>",
    "message": "chore: keep case studies local until a finding is worth publishing\n\nMerges the removal of case_studies/ from the remote and ignores the\ndirectory wholesale, so nothing there can reach GitHub by accident.\n\nThe distinction that was missed: \"the package is ready to ship\" and \"this\nresult should be read by strangers\" are two different decisions. Approval\nfor the first was taken as approval for the second, and a scientific claim\nabout someone else's dataset went public without anyone deciding it should.\nA case study is a claim, not a code change. Publishing one is now a\ndeliberate act -- un-ignoring the folder -- rather than a side effect of a\npush.\n\nThe work is intact locally and still reproduces from a clean folder.\n\nAlso drops two now-broken links to case_studies/ from README.md and\nNEWS.md. The EPA dataset stays as a documentation example for why\n`experiment` may need several columns: that describes a public dataset's\nplate layout and asserts no result.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\n",
    "time": 1784143770
  },
  "_maintainer": {
    "name": "Alex Tudoras",
    "email": "alex.tudorasmiravet@ucsf.edu"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "readr",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "DT",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Imports"
    },
    {
      "package": "scales",
      "role": "Imports"
    },
    {
      "package": "readxl",
      "role": "Imports"
    },
    {
      "package": "writexl",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "tidyr",
      "version": ">= 1.1.0",
      "role": "Imports"
    },
    {
      "package": "purrr",
      "version": ">= 0.3.0",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "version": ">= 0.4.0",
      "role": "Imports"
    },
    {
      "package": "stringr",
      "version": ">= 1.4.0",
      "role": "Imports"
    },
    {
      "package": "RColorBrewer",
      "version": ">= 1.1.0",
      "role": "Imports"
    },
    {
      "package": "viridis",
      "version": ">= 0.5.0",
      "role": "Imports"
    },
    {
      "package": "pheatmap",
      "version": ">= 1.0.0",
      "role": "Imports"
    },
    {
      "package": "gridExtra",
      "version": ">= 2.3.0",
      "role": "Imports"
    },
    {
      "package": "ggrepel",
      "version": ">= 0.9.0",
      "role": "Imports"
    },
    {
      "package": "grid",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "grDevices",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "version": ">= 2.0",
      "role": "Suggests"
    }
  ],
  "_owner": "atudoras",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-13",
      "n": 13
    },
    {
      "week": "2026-14",
      "n": 10
    },
    {
      "week": "2026-26",
      "n": 5
    },
    {
      "week": "2026-27",
      "n": 1
    },
    {
      "week": "2026-28",
      "n": 2
    },
    {
      "week": "2026-29",
      "n": 14
    }
  ],
  "_tags": [
    {
      "name": "v0.2.0",
      "date": "2026-06-23"
    },
    {
      "name": "v0.3.0",
      "date": "2026-06-23"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "atudoras",
      "count": 47,
      "uuid": 78902934
    }
  ],
  "_userbio": {
    "uuid": 78902934,
    "type": "user",
    "name": "Àlex Tudoras",
    "followers": 0,
    "description": "Neuroscience PhD Candidate @UCSF"
  },
  "_downloads": {
    "count": 358,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/NOVA"
  },
  "_devurl": "https://github.com/atudoras/nova",
  "_searchresults": 34,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/NOVA.html",
    "extra/readme.html",
    "extra/readme.md"
  ],
  "_homeurl": "https://github.com/atudoras/nova",
  "_realowner": "atudoras",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.1",
      "date": "2025-10-16"
    },
    {
      "version": "0.1.5",
      "date": "2026-03-30"
    }
  ],
  "_exports": [
    "analyze_pca_variable_importance_general",
    "create_mea_heatmaps_enhanced",
    "discover_mea_structure",
    "nova_describe",
    "nova_extract_trajectories",
    "nova_order_timepoints",
    "nova_palette",
    "nova_theme",
    "nova_time_to_minutes",
    "nova_trajectory_summary",
    "nova_unit_cols",
    "nova_unit_id",
    "pca_analysis_enhanced",
    "pca_plots_enhanced",
    "plot_mea_metric",
    "plot_pca_trajectories_general",
    "process_mea_flexible",
    "process_mea_table"
  ],
  "_help": [
    {
      "page": "analyze_pca_variable_importance_general",
      "title": "Analyze and Visualize PCA Variable Importance",
      "topics": [
        "analyze_pca_variable_importance_general"
      ]
    },
    {
      "page": "create_mea_heatmaps_enhanced",
      "title": "Create Enhanced Heatmaps for Multi-Electrode Array (MEA) Data Analysis",
      "topics": [
        "create_mea_heatmaps_enhanced"
      ]
    },
    {
      "page": "discover_mea_structure",
      "title": "Discover MEA Data Structure",
      "topics": [
        "discover_mea_structure"
      ]
    },
    {
      "page": "nova_describe",
      "title": "Plain-language interpretation of a trajectory summary",
      "topics": [
        "nova_describe"
      ]
    },
    {
      "page": "nova_extract_trajectories",
      "title": "Extract ordered state-space trajectories from a PCA (or embedding) result",
      "topics": [
        "nova_extract_trajectories"
      ]
    },
    {
      "page": "nova_order_timepoints",
      "title": "Order timepoint labels into a biologically correct sequence",
      "topics": [
        "nova_order_timepoints"
      ]
    },
    {
      "page": "nova_palette",
      "title": "NOVA qualitative / sequential colour palette",
      "topics": [
        "nova_palette"
      ]
    },
    {
      "page": "nova_theme",
      "title": "NOVA dynamics ggplot2 theme",
      "topics": [
        "nova_theme"
      ]
    },
    {
      "page": "nova_time_to_minutes",
      "title": "Parse timepoint labels to numeric minutes",
      "topics": [
        "nova_time_to_minutes"
      ]
    },
    {
      "page": "nova_trajectory_summary",
      "title": "Summarise how conditions move through state space",
      "topics": [
        "nova_trajectory_summary"
      ]
    },
    {
      "page": "nova_unit_cols",
      "title": "Which columns identify one replicate well",
      "topics": [
        "nova_unit_cols"
      ]
    },
    {
      "page": "nova_unit_id",
      "title": "Collapse well identity into a single label",
      "topics": [
        "nova_unit_id"
      ]
    },
    {
      "page": "pca_analysis_enhanced",
      "title": "Enhanced PCA Analysis for MEA Data",
      "topics": [
        "pca_analysis_enhanced"
      ]
    },
    {
      "page": "pca_plots_enhanced",
      "title": "Enhanced PCA Plotting for Neural and Omics Data",
      "topics": [
        "pca_plots_enhanced"
      ]
    },
    {
      "page": "plot_mea_metric",
      "title": "Plot a Single MEA Metric Across Conditions",
      "topics": [
        "plot_mea_metric"
      ]
    },
    {
      "page": "plot_pca_trajectories_general",
      "title": "Plot PCA Trajectories for Time Series Data",
      "topics": [
        "plot_pca_trajectories_general"
      ]
    },
    {
      "page": "process_mea_flexible",
      "title": "Process MEA Data Flexibly",
      "topics": [
        "process_mea_flexible"
      ]
    },
    {
      "page": "process_mea_table",
      "title": "Process an already-tidy MEA metrics table",
      "topics": [
        "process_mea_table"
      ]
    }
  ],
  "_readme": "https://github.com/atudoras/nova/raw/HEAD/README.md",
  "_rundeps": [
    "base64enc",
    "bit",
    "bit64",
    "bslib",
    "cachem",
    "cellranger",
    "cli",
    "clipr",
    "cpp11",
    "crayon",
    "crosstalk",
    "digest",
    "dplyr",
    "DT",
    "evaluate",
    "farver",
    "fastmap",
    "fontawesome",
    "fs",
    "generics",
    "ggplot2",
    "ggrepel",
    "glue",
    "gridExtra",
    "gtable",
    "highr",
    "hms",
    "htmltools",
    "htmlwidgets",
    "isoband",
    "jquerylib",
    "jsonlite",
    "knitr",
    "labeling",
    "later",
    "lazyeval",
    "lifecycle",
    "magrittr",
    "memoise",
    "mime",
    "otel",
    "pheatmap",
    "pillar",
    "pkgconfig",
    "prettyunits",
    "progress",
    "promises",
    "purrr",
    "R6",
    "rappdirs",
    "RColorBrewer",
    "Rcpp",
    "readr",
    "readxl",
    "rematch",
    "rlang",
    "rmarkdown",
    "S7",
    "sass",
    "scales",
    "stringi",
    "stringr",
    "tibble",
    "tidyr",
    "tidyselect",
    "tinytex",
    "tzdb",
    "utf8",
    "vctrs",
    "viridis",
    "viridisLite",
    "vroom",
    "withr",
    "writexl",
    "xfun",
    "yaml"
  ],
  "_vignettes": [
    {
      "source": "NOVA_Trajectory_Summary.Rmd",
      "filename": "NOVA_Trajectory_Summary.html",
      "title": "NOVA: summarising how conditions move through state space",
      "author": "NOVA",
      "engine": "knitr::rmarkdown",
      "headings": [
        "1. The idea",
        "2. Get a PCA result (real data if available, else simulated)",
        "3. Trajectories (standard NOVA)",
        "4. Trajectory summary",
        "5. Plain-language summary",
        "6. How to read it",
        "Session info"
      ],
      "created": "2026-06-23 02:44:21",
      "modified": "2026-06-23 02:44:21",
      "commits": 1
    }
  ],
  "_score": 5.008600171761918,
  "_indexed": true,
  "_nocasepkg": "nova",
  "_universes": [
    "atudoras"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.5.0",
      "date": "2026-10-13T10:44:08.000Z",
      "distro": "resolute",
      "commit": "206cb603a3f7ef0eb91033b94608b7583520a92e",
      "fileid": "https://r2.ropensci.org/c54cd26160ba05449dbab14207ea9c3987b4f043133d8e233c562f2e75983ded",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/atudoras/actions/runs/38384694898"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.5.0",
      "date": "2026-10-13T10:43:51.000Z",
      "distro": "resolute",
      "commit": "206cb603a3f7ef0eb91033b94608b7583520a92e",
      "fileid": "https://r2.ropensci.org/ab0d4766b3bae0faa0b193d62f5c314303ecf9801e99846881819351e8c71198",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/atudoras/actions/runs/38384694898"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.5.0",
      "date": "2026-10-13T10:44:22.000Z",
      "commit": "206cb603a3f7ef0eb91033b94608b7583520a92e",
      "fileid": "https://r2.ropensci.org/452fae696585f83c8dc053f1f30c5b8f32aa07cbb286f06fa8b175192949f032",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/atudoras/actions/runs/38384694898"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.5.0",
      "date": "2026-10-13T10:44:00.000Z",
      "commit": "206cb603a3f7ef0eb91033b94608b7583520a92e",
      "fileid": "https://r2.ropensci.org/6d2f145900fb1180ca9d055bce00a391e82a0a0927fa0999e644a32541b97f29",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/atudoras/actions/runs/38384694898"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.5.0",
      "date": "2026-10-13T10:44:12.000Z",
      "commit": "206cb603a3f7ef0eb91033b94608b7583520a92e",
      "fileid": "https://r2.ropensci.org/348cafe6631a55ce11338975f5dd1b5f0bfc88f105447b2b30d760d9b33ab73b",
      "status": "success",
      "buildurl": "https://github.com/r-universe/atudoras/actions/runs/38384694898"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.5.0",
      "date": "2026-10-13T10:43:14.000Z",
      "commit": "206cb603a3f7ef0eb91033b94608b7583520a92e",
      "fileid": "https://r2.ropensci.org/ae6f75a4a0db06537d5c9b0766fc4981205a69ff9c2a8b33b502287920176e33",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/atudoras/actions/runs/38384694898"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.5.0",
      "date": "2026-10-13T10:43:24.000Z",
      "commit": "206cb603a3f7ef0eb91033b94608b7583520a92e",
      "fileid": "https://r2.ropensci.org/95bb978d8b3725e8ed236a8cd798506effca765d00c1e6bbd1aaf692f2f459b8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/atudoras/actions/runs/38384694898"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.5.0",
      "date": "2026-10-13T10:43:03.000Z",
      "commit": "206cb603a3f7ef0eb91033b94608b7583520a92e",
      "fileid": "https://r2.ropensci.org/16edff707117b9dd10cbd2181686948d5aedf585689456a6a37f3fd8275599fb",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/atudoras/actions/runs/38384694898"
    }
  ]
}