SOCR Videos Dashboard

Revision as of 13:54, 17 August 2018 by Dinov (talk | contribs)
Jump to: navigation, search

SOCR Videos: SOCR Data Dashboard Videos

The SOCR Dashboard is a webapp providing a mechanism to integrate dispersed multi-source data and service the mashed information via human and machine interfaces in a secure, scalable manner. The Dashboard enables the exploration of subtle associations between variables, population strata, or clusters of data elements, which may be opaque to standard independent inspection of the individual sources. This a new platform includes a device agnostic tool for graphical querying, navigating and exploring the multivariate associations in complex heterogeneous datasets.

As an integrated Big-Data analytics suite, the SOCR Analytics Dashboard is designed for web-based merging, integration, and analysis of large, heterogeneous datasets. The package features a non-relational database for storage and integration of heterogeneous datasets, a JavaScript-based web server built using node.js, and a sleek front-end for visualization and real-time manipulation of data.

Video Tutorial

Script/Story Board

(Time: concepts)

  • Beginning: 2 different versions of webapp
  • 1:22: Sample file contains many omissions and errors
  • 1:46: Variable list auto-populated
  • 2:20: Completely different dataset
  • 2:45: Much larger data size
  • 3:30: Cross-filtering functionality
  • 3:47: Dynamic tile-based layout
  • 4:30: Context sensitive menus
  • 7:00: Custom Datasets

Test Data

The following datasets are used in this specific SOCR Data Dashboard demonstration:

SOCR Videos Dashboard Fig1.png

Setting up the Dashboard

1. Ensure the node framework has been installed.

2. Install MongoDB. This is not required, but if you want to see the demo using the default CMS, BLS, and Census data you need MongoDB installed.

3. In a command prompt navigate to the server/mongodb/bin folder, and run mongod:

mongod --dbpath ../data

4. Navigate to the root directory of the project in node, and run

npm install

5. Once dependencies are installed, launch node server:

npm start

6. Navigate to selected address in browser to launch webapp (default is http://localhost:3000/).

Example Case-Study I: Autism Brain Imaging Data Exchange (ABIDE)

This example describes a step-by-step recipe for using the Data Dashboard service to interrogate the ABIDE data archive.

The Autism Brain Imaging Data Exchange (ABIDE) data includes complex multi-source, incomplete, incongruent and multi-modal data for Autism spectrum disorder (ASD) pediatric cases. Core characteristics of ASD include impairment in social reciprocity, and by repetitive, restricted, and stereotyped behaviors/interests.

These data allow us to peak into the heterogeneous clinical, biological and physio-social characteristics of the ASD phenotypes. Specific biomedical questions that can be addressed via such data include early determination, tracking, diagnosis and prognosis, as well as assessing the clinical impact of alternative treatments.

The Data Dashboard webapp allows us to navigate this very heterogeneous data (n=1,112, k>2,000), graphically explore deep multivariate relations, associations, and trends. In addition, the dashboard service may be used to generate testable research hypothesis about various ASD traits that can be subsequently evaluated using prospective datasets.


  1. Download the BDDS ABIDE BagIt data object.
  2. Extract the 4 data files (neuroimaging_metrics.csv, neuroimaging_metrics_metadata.csv, neuroimaging_metrics_qc.csv, phenotypes.csv), which contain the relevant (appropriately named) components of the ABIDE dataset
  3. Start the Data Dashboard app
  4. Select Free—Anchored Data
  5. Enter a new anchor variable subject_ID. SOCR Videos Dashboard Fig2.png
  6. Import -- Phenotypes data (Pheno)
  7. Select a variable of interest (e.g., Sex)
  8. Add -- Chart (e.g., Pie Chart for Sex) from the Pheno data (Variable Sex)
  9. Add -- Chart (e.g., Histogram Chart for BMI) from the Pheno data (Variable BMI) – note that BMI has lots of missing data!!!
  10. Add -- Chart (e.g., Pie Chart of DX_Group or DSM_IV_TR) from the Pheno data
  11. Add -- Chart (e.g., Scatter Plot: FIQ vs. ADOS_COMM)
  12. Manipulate some of the charts (e.g., select females, BMIs, etc.) to examine the change in the other features (e.g., FIQ score). SOCR Videos Dashboard Fig3.png
  13. Import -- Neuroimaging Data (NI), be patient, it will take some time to load the data. After the dialogue box shows up, click “Import”
  14. Add -- NI -- Select a variable of interest (e.g., Volume or SurfArea, as an example of a feature) click “Continue”
  15. Add -- NI -- Select a variable of interest (e.g., Fold_Ind, as an example of a feature) click “Continue”
  16. Add -- NI -- Select a variable of interest (e.g., Primary_Lobe, as an example of a feature) click “Continue”
  17. Manipulate some of the charts to study the impact on the other plots. SOCR Videos Dashboard Fig4.png.

Example Case-Study 2: University of Michigan Udall Center for Excellence in Parkinson's Disease (Udall)

This example shows a step-by-step Data Dashboard protocol to interrogate a complex data archive containing Parkinson's disease neuroimaging-phenotypic-genetics data. This manuscript provides additional details about the dataset, specific clinical challenges, and examples of predictive analytics: DOI: 10.1371/journal.pone.0157077.

The data includes the following data elements:

  • FID_IID; L_insular_cortex_AvgMeanCurvature; L_insular_cortex_ComputeArea; L_insular_cortex_Volume; L_insular_cortex_ShapeIndex; L_insular_cortex_Curvedness; R_insular_cortex_AvgMeanCurvature; R_insular_cortex_ComputeArea; R_insular_cortex_Volume; R_insular_cortex_ShapeIndex; R_insular_cortex_Curvedness; L_cingulate_gyrus_AvgMeanCurvature; L_cingulate_gyrus_ComputeArea; L_cingulate_gyrus_Volume; L_cingulate_gyrus_ShapeIndex; L_cingulate_gyrus_Curvedness; R_cingulate_gyrus_AvgMeanCurvature; R_cingulate_gyrus_ComputeArea; R_cingulate_gyrus_Volume; R_cingulate_gyrus_ShapeIndex; R_cingulate_gyrus_Curvedness; L_caudate_AvgMeanCurvature; L_caudate_ComputeArea; L_caudate_Volume; L_caudate_ShapeIndex; L_caudate_Curvedness; R_caudate_AvgMeanCurvature; R_caudate_ComputeArea; R_caudate_Volume; R_caudate_ShapeIndex; R_caudate_Curvedness; L_putamen_AvgMeanCurvature; L_putamen_ComputeArea; L_putamen_Volume; L_putamen_ShapeIndex; L_putamen_Curvedness; R_putamen_AvgMeanCurvature; R_putamen_ComputeArea; R_putamen_Volume; R_putamen_ShapeIndex; R_putamen_Curvedness; L_hippocampus_AvgMeanCurvature; L_hippocampus_ComputeArea; L_hippocampus_Volume; L_hippocampus_ShapeIndex; L_hippocampus_Curvedness; R_hippocampus_AvgMeanCurvature; R_hippocampus_ComputeArea; R_hippocampus_Volume; R_hippocampus_ShapeIndex; R_hippocampus_Curvedness; cerebellum_AvgMeanCurvature; cerebellum_ComputeArea; cerebellum_Volume; cerebellum_ShapeIndex; cerebellum_Curvedness; brainstem_AvgMeanCurvature; brainstem_ComputeArea; brainstem_Volume; brainstem_ShapeIndex; brainstem_Curvedness; L_superior_frontal_gyrus_AvgMeanCurvature; L_superior_frontal_gyrus_ComputeArea; L_superior_frontal_gyrus_Volume; L_superior_frontal_gyrus_ShapeIndex; L_superior_frontal_gyrus_Curvedness; R_superior_frontal_gyrus_AvgMeanCurvature; R_superior_frontal_gyrus_ComputeArea; R_superior_frontal_gyrus_Volume; R_superior_frontal_gyrus_ShapeIndex; R_superior_frontal_gyrus_Curvedness; L_middle_frontal_gyrus_AvgMeanCurvature; L_middle_frontal_gyrus_ComputeArea; L_middle_frontal_gyrus_Volume; L_middle_frontal_gyrus_ShapeIndex; L_middle_frontal_gyrus_Curvedness; R_middle_frontal_gyrus_AvgMeanCurvature; R_middle_frontal_gyrus_ComputeArea; R_middle_frontal_gyrus_Volume; R_middle_frontal_gyrus_ShapeIndex; R_middle_frontal_gyrus_Curvedness; L_inferior_frontal_gyrus_AvgMeanCurvature; L_inferior_frontal_gyrus_ComputeArea; L_inferior_frontal_gyrus_Volume; L_inferior_frontal_gyrus_ShapeIndex; L_inferior_frontal_gyrus_Curvedness; R_inferior_frontal_gyrus_AvgMeanCurvature; R_inferior_frontal_gyrus_ComputeArea; R_inferior_frontal_gyrus_Volume; R_inferior_frontal_gyrus_ShapeIndex; R_inferior_frontal_gyrus_Curvedness; L_precentral_gyrus_AvgMeanCurvature; L_precentral_gyrus_ComputeArea; L_precentral_gyrus_Volume; L_precentral_gyrus_ShapeIndex; L_precentral_gyrus_Curvedness; R_precentral_gyrus_AvgMeanCurvature; R_precentral_gyrus_ComputeArea; R_precentral_gyrus_Volume; R_precentral_gyrus_ShapeIndex; R_precentral_gyrus_Curvedness; L_middle_orbitofrontal_gyrus_AvgMeanCurvature; L_middle_orbitofrontal_gyrus_ComputeArea; L_middle_orbitofrontal_gyrus_Volume; L_middle_orbitofrontal_gyrus_ShapeIndex; L_middle_orbitofrontal_gyrus_Curvedness; R_middle_orbitofrontal_gyrus_AvgMeanCurvature; R_middle_orbitofrontal_gyrus_ComputeArea; R_middle_orbitofrontal_gyrus_Volume; R_middle_orbitofrontal_gyrus_ShapeIndex; R_middle_orbitofrontal_gyrus_Curvedness; L_lateral_orbitofrontal_gyrus_AvgMeanCurvature; L_lateral_orbitofrontal_gyrus_ComputeArea; L_lateral_orbitofrontal_gyrus_Volume; L_lateral_orbitofrontal_gyrus_ShapeIndex; L_lateral_orbitofrontal_gyrus_Curvedness; R_lateral_orbitofrontal_gyrus_AvgMeanCurvature; R_lateral_orbitofrontal_gyrus_ComputeArea; R_lateral_orbitofrontal_gyrus_Volume; R_lateral_orbitofrontal_gyrus_ShapeIndex; R_lateral_orbitofrontal_gyrus_Curvedness; L_gyrus_rectus_AvgMeanCurvature; L_gyrus_rectus_ComputeArea; L_gyrus_rectus_Volume; L_gyrus_rectus_ShapeIndex; L_gyrus_rectus_Curvedness; R_gyrus_rectus_AvgMeanCurvature; R_gyrus_rectus_ComputeArea; R_gyrus_rectus_Volume; R_gyrus_rectus_ShapeIndex; R_gyrus_rectus_Curvedness; L_postcentral_gyrus_AvgMeanCurvature; L_postcentral_gyrus_ComputeArea; L_postcentral_gyrus_Volume; L_postcentral_gyrus_ShapeIndex; L_postcentral_gyrus_Curvedness; R_postcentral_gyrus_AvgMeanCurvature; R_postcentral_gyrus_ComputeArea; R_postcentral_gyrus_Volume; R_postcentral_gyrus_ShapeIndex; R_postcentral_gyrus_Curvedness; L_superior_parietal_gyrus_AvgMeanCurvature; L_superior_parietal_gyrus_ComputeArea; L_superior_parietal_gyrus_Volume; L_superior_parietal_gyrus_ShapeIndex; L_superior_parietal_gyrus_Curvedness; R_superior_parietal_gyrus_AvgMeanCurvature; R_superior_parietal_gyrus_ComputeArea; R_superior_parietal_gyrus_Volume; R_superior_parietal_gyrus_ShapeIndex; R_superior_parietal_gyrus_Curvedness; L_supramarginal_gyrus_AvgMeanCurvature; L_supramarginal_gyrus_ComputeArea; L_supramarginal_gyrus_Volume; L_supramarginal_gyrus_ShapeIndex; L_supramarginal_gyrus_Curvedness; R_supramarginal_gyrus_AvgMeanCurvature; R_supramarginal_gyrus_ComputeArea; R_supramarginal_gyrus_Volume; R_supramarginal_gyrus_ShapeIndex; R_supramarginal_gyrus_Curvedness; L_angular_gyrus_AvgMeanCurvature; L_angular_gyrus_ComputeArea; L_angular_gyrus_Volume; L_angular_gyrus_ShapeIndex; L_angular_gyrus_Curvedness; R_angular_gyrus_AvgMeanCurvature; R_angular_gyrus_ComputeArea; R_angular_gyrus_Volume; R_angular_gyrus_ShapeIndex; R_angular_gyrus_Curvedness; L_precuneus_AvgMeanCurvature; L_precuneus_ComputeArea; L_precuneus_Volume; L_precuneus_ShapeIndex; L_precuneus_Curvedness; R_precuneus_AvgMeanCurvature; R_precuneus_ComputeArea; R_precuneus_Volume; R_precuneus_ShapeIndex; R_precuneus_Curvedness; L_superior_occipital_gyrus_AvgMeanCurvature; L_superior_occipital_gyrus_ComputeArea; L_superior_occipital_gyrus_Volume; L_superior_occipital_gyrus_ShapeIndex; L_superior_occipital_gyrus_Curvedness; R_superior_occipital_gyrus_AvgMeanCurvature; R_superior_occipital_gyrus_ComputeArea; R_superior_occipital_gyrus_Volume; R_superior_occipital_gyrus_ShapeIndex; R_superior_occipital_gyrus_Curvedness; L_middle_occipital_gyrus_AvgMeanCurvature; L_middle_occipital_gyrus_ComputeArea; L_middle_occipital_gyrus_Volume; L_middle_occipital_gyrus_ShapeIndex; L_middle_occipital_gyrus_Curvedness; R_middle_occipital_gyrus_AvgMeanCurvature; R_middle_occipital_gyrus_ComputeArea; R_middle_occipital_gyrus_Volume; R_middle_occipital_gyrus_ShapeIndex; R_middle_occipital_gyrus_Curvedness; L_inferior_occipital_gyrus_AvgMeanCurvature; L_inferior_occipital_gyrus_ComputeArea; L_inferior_occipital_gyrus_Volume; L_inferior_occipital_gyrus_ShapeIndex; L_inferior_occipital_gyrus_Curvedness; R_inferior_occipital_gyrus_AvgMeanCurvature; R_inferior_occipital_gyrus_ComputeArea; R_inferior_occipital_gyrus_Volume; R_inferior_occipital_gyrus_ShapeIndex; R_inferior_occipital_gyrus_Curvedness; L_cuneus_AvgMeanCurvature; L_cuneus_ComputeArea; L_cuneus_Volume; L_cuneus_ShapeIndex; L_cuneus_Curvedness; R_cuneus_AvgMeanCurvature; R_cuneus_ComputeArea; R_cuneus_Volume; R_cuneus_ShapeIndex; R_cuneus_Curvedness; L_superior_temporal_gyrus_AvgMeanCurvature; L_superior_temporal_gyrus_ComputeArea; L_superior_temporal_gyrus_Volume; L_superior_temporal_gyrus_ShapeIndex; L_superior_temporal_gyrus_Curvedness; R_superior_temporal_gyrus_AvgMeanCurvature; R_superior_temporal_gyrus_ComputeArea; R_superior_temporal_gyrus_Volume; R_superior_temporal_gyrus_ShapeIndex; R_superior_temporal_gyrus_Curvedness; L_middle_temporal_gyrus_AvgMeanCurvature; L_middle_temporal_gyrus_ComputeArea; L_middle_temporal_gyrus_Volume; L_middle_temporal_gyrus_ShapeIndex; L_middle_temporal_gyrus_Curvedness; R_middle_temporal_gyrus_AvgMeanCurvature; R_middle_temporal_gyrus_ComputeArea; R_middle_temporal_gyrus_Volume; R_middle_temporal_gyrus_ShapeIndex; R_middle_temporal_gyrus_Curvedness; L_inferior_temporal_gyrus_AvgMeanCurvature; L_inferior_temporal_gyrus_ComputeArea; L_inferior_temporal_gyrus_Volume; L_inferior_temporal_gyrus_ShapeIndex; L_inferior_temporal_gyrus_Curvedness; R_inferior_temporal_gyrus_AvgMeanCurvature; R_inferior_temporal_gyrus_ComputeArea; R_inferior_temporal_gyrus_Volume; R_inferior_temporal_gyrus_ShapeIndex; R_inferior_temporal_gyrus_Curvedness; L_parahippocampal_gyrus_AvgMeanCurvature; L_parahippocampal_gyrus_ComputeArea; L_parahippocampal_gyrus_Volume; L_parahippocampal_gyrus_ShapeIndex; L_parahippocampal_gyrus_Curvedness; R_parahippocampal_gyrus_AvgMeanCurvature; R_parahippocampal_gyrus_ComputeArea; R_parahippocampal_gyrus_Volume; R_parahippocampal_gyrus_ShapeIndex; R_parahippocampal_gyrus_Curvedness; L_lingual_gyrus_AvgMeanCurvature; L_lingual_gyrus_ComputeArea; L_lingual_gyrus_Volume; L_lingual_gyrus_ShapeIndex; L_lingual_gyrus_Curvedness; R_lingual_gyrus_AvgMeanCurvature; R_lingual_gyrus_ComputeArea; R_lingual_gyrus_Volume; R_lingual_gyrus_ShapeIndex; R_lingual_gyrus_Curvedness; L_fusiform_gyrus_AvgMeanCurvature; L_fusiform_gyrus_ComputeArea; L_fusiform_gyrus_Volume; L_fusiform_gyrus_ShapeIndex; L_fusiform_gyrus_Curvedness; R_fusiform_gyrus_AvgMeanCurvature; R_fusiform_gyrus_ComputeArea; R_fusiform_gyrus_Volume; R_fusiform_gyrus_ShapeIndex; R_fusiform_gyrus_Curvedness; FID(father); FID(mother); Sex; Phenotype; Sex; Weight; ResearchGroup; VisitID; Age.

These data represent multi-source, incomplete, incongruent and multi-modal information a large cohort of of volunteers (PD, SWEDD, and Control). The data allow us to peak into the disease heterogeneity of PD phenotypes, ask specific health related questions about diagnosis, tracking, and prognosis, as well as about assessing the clinical impact of alternative treatments.

The Data Dashboard webapp allows us to explore these very heterogeneous data (n=576, k>289, longitudinal), graphically explore deep multivariate relations, associations, and trends, as well as generate testable research hypothesis about various PD traits that can be subsequently evaluated using prospective datasets.


  1. Download locally the PD data (CSV).
  2. Start the Data Dashboard App
  3. Select Free—Anchored Data
  4. Enter the following in teh pop-up dialog box:
    1. Cohort variable name: Age
    2. Minimum cohort variable value: 30
    3. Maximum cohort variable value: 85
    4. Number of Bins: 10
  5. Click Start (to initialize the Dashboard)
  6. Click Import (to load the PD data (CSV) from your computer)
  7. Click Browse (to select the local CSV file), under Enter Source Name, enter PD, and then Click Continue
  8. When the Custom Dataset dialog pop-up shows, Click Import (wait a few seconds for the data to be ingested into the Dashboard)
  9. Now you are ready to Add charts to the Dashboard Canvas.
  10. Click Add (+) chart and when the Add New Widget dialog (add chart) shows up, select PPMI_GSA_FAM_IntegratedDerived.csv (data source) and Age (Select the data variable), and Click Continue
  11. On the Select Chart Type dialog, choose histogram from the list of charts and then Click Continue. You should see the first plot re[resenting a histogram distribution of Ages in the PD cohort
  12. Next we will repeat the same process several more times to add more charts and plots to the collage of graphs in the Dashboard.
  13. For instance, we can add Sex (Pie chart), Weight (histogram), ResearchGroup (Pie Chart), VisitID (Bar chart), and Brainstem computearea vs. Cerebellum volume (Scatterplot)
  14. At this point, the Dashboard canvas should look something like the image shown below
SOCR Videos Dashboard Fig24.png
  1. We are now ready to initiate the process of (1) visual database query and exploratory analytics, and (2) dynamic visualization of intricate multivariate patterns that can be used to formulate new (testable) research hypotheses
  2. Over each chart, using the mouse, you can (1) select a sub-cohort by Clicking on specific chart components, or (2) Choose a range of values (phenotypes) by Right-clicking-and-dragging
  3. In this dynamic exploration, mind the changes the occur on all other charts in response to the manual graphical stratification of the database
  4. On each chart, Clicking the Reset text in the top-left corner removes any prior user stratification based on the specific features included in the chart
  5. The result of one specific data stratification is illustrated on the figure below.
SOCR Videos Dashboard Fig25.png

A very important feature of the SOCR Data Dashboard is that complies with data privacy protection and regulatory guidelines (e.g., HIPAA) to protect personal information. The Dashboard models the distribution in the entire data archive and simulates from the joint distribution to avoid rendering individualized data. As such, the Data Dashboard is neither an exact representation of the data nor it guarantees that a match/no-match found indicates the presence/absence of a specific participant from the study population.

Reference Materials


Translate this page:

Uk flag.gif

De flag.gif

Es flag.gif

Fr flag.gif

It flag.gif

Pt flag.gif

Jp flag.gif

Bg flag.gif

الامارات العربية المتحدة
Ae flag.gif

Fi flag.gif

इस भाषा में
In flag.gif

No flag.png

Kr flag.gif

Cn flag.gif

Cn flag.gif

Ru flag.gif

Nl flag.gif

Gr flag.gif

Hr flag.gif

Česká republika
Cz flag.gif

Dk flag.gif

Pl flag.png

Ro flag.png

Se flag.gif