Neural Output Visualization and Analysis
A comprehensive R toolkit for analyzing and visualizing neural data outputs, including Principal Component Analysis (PCA) trajectory plotting, Multi-Electrode Array (MEA) heatmap generation, and variable importance analysis. Provides publication-ready visualizations with flexible customization options for neuroscience research applications.
# Install from GitHub (replace 'yourusername' with your GitHub username)
::install_github("atudoras/NOVA")
devtools
# Or install from CRAN (when available)
install.packages("NOVA")
library(NOVA)
# 1. Discover your MEA data structure
<- discover_mea_structure("path/to/your/MEA_data")
discovery_results
# 2. Process MEA data with flexible options
<- process_mea_flexible(
processed_data main_dir = "path/to/your/MEA_data",
selected_timepoints = c("baseline", "0min", "15min", "30min", "1h", "2h"),
grouping_variables = c("Experiment", "Treatment", "Genotype", "Well"),
baseline_timepoint = "baseline"
)
# 3. Perform enhanced PCA analysis
<- pca_analysis_enhanced(processing_result = processed_data)
pca_results
# 4. Generate comprehensive PCA plots
<- pca_plots_enhanced(
pca_plots pca_output = pca_results,
color_variable = "Treatment",
shape_variable = "Genotype"
)
# 5. Create trajectory analysis
<- plot_pca_trajectories_general(
trajectories
pca_results,timepoint_order = c("baseline", "0min", "15min", "30min", "1h", "2h"),
trajectory_grouping = c("Genotype", "Treatment")
)
# 6. Generate MEA heatmaps
<- create_mea_heatmaps_enhanced(
heatmaps processing_result = processed_data,
grouping_columns = c("Genotype", "Treatment")
)
The MEA package expects a specific directory structure to automatically discover and process your experimental data. Here’s how to organize your files:
main_directory/
├── MEA001/
│ ├── MEA001_baseline.csv
│ ├── MEA001_1h.csv
│ ├── MEA001_3h.csv
│ └── MEA001_24h.csv
├── MEA002/
├── MEA002_baseline.csv
├── MEA002_1h.csv
└── MEA002_6h.csv
main_dir
parameter you’ll pass to the
functionMEA
+ numbers
MEA001
, MEA012
,
MEA123
MEA016a
,
MEA025b
MEA\\d+
(MEA followed by digits).csv
extension)MEAExperimentNumber_timepoint.csv
(e.g.,
MEA001_1h.csv
)MEAExperimentNumber[letter]_timepoint.csv
(e.g.,
MEA016a_DIV2.csv
)The function can extract various timepoint formats: -
Time-based: baseline
, 1h
,
3h
, 24h
, 0min
- Days in
vitro: DIV2
, DIV7
, DIV14
- Custom: Any descriptive name that follows the
underscore
Each CSV file must contain: - Minimum 124 rows for basic processing (more if you have additional metadata) - Row 121: Well identifiers (A1, A2, B1, etc.) - This is fixed - Row 122: First metadata variable (e.g., Treatment, Genotype, Dose, etc.) - Row 123: Second metadata variable - Row 124: Third metadata variable - Additional rows: You can add more metadata variables in subsequent rows Variable names start after metadata: If you have metadata in rows 122-125, then variables would start in row 126
MEA
+ numbersexperiment_timepoint.csv
patternverbose = TRUE
to see detailed discovery process
and identify issuesSee an example of a complete analysis workflow in the folder “Example”.