Difference between revisions of "SOCR Videos Dashboard"

From SOCR
Jump to: navigation, search
(Setting up the Dashboard)
(Protocol)
 
(13 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
The [http://socr.umich.edu/HTML5/Dashboard/ 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.  
 
The [http://socr.umich.edu/HTML5/Dashboard/ 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 wab-based merging, integration, and analysis of large, heterogenous datasets. The package features a non-relational databse for storage and integration of heterogenous datasets, a javascript-based web server built using node.js, and a sleek front-end for visualization and real-time manipulation of data.
+
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===
 
===Video Tutorial===
Line 22: Line 22:
  
 
=== Test Data===
 
=== Test Data===
The following 2 datasets are used in this specific SOCR Data Dashboard demonstration:
+
The following datasets are used in this specific SOCR Data Dashboard demonstration:
* [http://socr.umich.edu/docs/uploads/MPOWER_Pilot.csv pediatric obesity dataset], and
+
* [http://socr.umich.edu/docs/uploads/MPOWER_Pilot.csv pediatric obesity dataset],  
* [http://socr.umich.edu/docs/uploads/PPMI_GSA_FAM_IntegratedDerived.csv Parkinson's disease neuroimaging-phenotypic-genetics dataset]
+
* [http://socr.umich.edu/docs/uploads/PPMI_GSA_FAM_IntegratedDerived.csv Parkinson's disease neuroimaging-phenotypic-genetics dataset],
 +
* A [https://github.com/ini-bdds/bdbag BDBag/BagIt/ZIP formatted] version of the above 2 datasets is also [http://socr.umich.edu/docs/uploads/DataDashboard_TestData.zip available here].
 
   
 
   
 
<center>[[Image:SOCR_Videos_Dashboard_Fig1.png|500px]]</center>
 
<center>[[Image:SOCR_Videos_Dashboard_Fig1.png|500px]]</center>
  
 
===Setting up the Dashboard===
 
===Setting up the Dashboard===
# Ensure the [https://nodejs.org/en/ node framework] has been installed
+
1. Ensure the [https://nodejs.org/en/ node framework] has been installed.
# In a command prompt navigate to the *server/mongodb/bin* folder, and run mongod: `mongod --dbpath ../data`
+
 
# Navigate to the root directory of the project in node, and run `npm install`
+
2. Install [https://docs.mongodb.com/manual/installation/ 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.
# Once dependencies are installed, launch node server: `npm start`
+
 
# Navigate to selected address in browser to launch webapp (default is [http://localhost:3000/ http://localhost:3000/)
+
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/ 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 [http://fcon_1000.projects.nitrc.org/indi/abide/ 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.
 +
 
 +
====Protocol====
 +
 
 +
# Download the [http://socr.umich.edu/data/ABIDE_Data.zip BDDS ABIDE BagIt data object]. 
 +
# 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
 +
# Start the [http://socr.umich.edu/HTML5/Dashboard/ Data Dashboard app]
 +
# Select Free—Anchored Data
 +
# Enter a new anchor variable subject_ID. [[Image:SOCR_Videos_Dashboard_Fig2.png|500px]]
 +
# Import -- Phenotypes data (Pheno)
 +
# Select a variable of interest (e.g., Sex)
 +
# Add -- Chart (e.g., Pie Chart for Sex) from the Pheno data (Variable Sex)
 +
# Add -- Chart (e.g., Histogram Chart for BMI) from the Pheno data (Variable BMI) – note that BMI has lots of missing data!!!
 +
# Add -- Chart (e.g., Pie Chart of DX_Group or DSM_IV_TR) from the Pheno data
 +
# Add -- Chart (e.g., Scatter Plot: FIQ vs. ADOS_COMM)
 +
# Manipulate some of the charts (e.g., select females, BMIs, etc.) to examine the change in the other features (e.g., FIQ score). [[Image:SOCR_Videos_Dashboard_Fig3.png|500px]]
 +
# Import -- Neuroimaging Data (NI), be patient, it will take some time to load the data. After the dialogue box shows up, click “Import”
 +
# Add --  NI --  Select a variable of interest (e.g., Volume or SurfArea, as an example of a feature) click “Continue”
 +
# Add --  NI --  Select a variable of interest (e.g., Fold_Ind, as an example of a feature) click “Continue”
 +
# Add --  NI --  Select a variable of interest (e.g., Primary_Lobe, as an example of a feature) click “Continue”
 +
# Manipulate some of the charts to study the impact on the other plots. [[Image:SOCR_Videos_Dashboard_Fig4.png|500px]].
 +
 +
 
 +
===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 [http://socr.umich.edu/docs/uploads/PPMI_GSA_FAM_IntegratedDerived.csv Parkinson's disease neuroimaging-phenotypic-genetics data]. This manuscript provides additional details about the dataset, specific clinical challenges, and examples of predictive analytics: [http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0157077 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.
 +
 
 +
====Protocol====
 +
 
 +
# Download locally the [http://socr.umich.edu/docs/uploads/PPMI_GSA_FAM_IntegratedDerived.csv PD data (CSV)]. 
 +
# Start the [http://socr.umich.edu/HTML5/Dashboard/ Data Dashboard App]
 +
# Select '''Free—Anchored''' Data
 +
# Enter the following in the pop-up dialog box:
 +
##          Cohort variable name: '''Age'''
 +
##          Minimum cohort variable value: '''30'''
 +
##          Maximum cohort variable value: '''85'''
 +
##          Number of Bins: '''10'''
 +
# Click '''Start''' (to initialize the Dashboard)
 +
#      Click '''Import''' (to load the [http://socr.umich.edu/docs/uploads/PPMI_GSA_FAM_IntegratedDerived.csv PD data (CSV)] from your computer)
 +
#      Click '''Browse''' (to select the local CSV file), under '''Enter Source Name''', enter '''PD''', and then Click '''Continue'''
 +
#      When the '''Custom Dataset''' dialog pop-up shows, Click '''Import''' (wait a few seconds for the data to be ingested into the Dashboard)
 +
#      Now you are ready to '''Add''' charts to the Dashboard Canvas.
 +
#      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'''
 +
#      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
 +
#      Next we will repeat the same process several more times to add more charts and plots to the collage of graphs in the Dashboard.
 +
#      For instance, we can add '''Sex''' (Pie chart), '''Weight''' (histogram), '''ResearchGroup''' (Pie Chart), '''VisitID''' (Bar chart), and '''Brainstem computearea''' vs. '''Cerebellum volume''' (Scatterplot)
 +
#      At this point, the ''Dashboard canvas'' should look something like the image shown below
 +
<center>[[Image:SOCR_Videos_Dashboard_Fig24.png|500px]]</center>
 +
#      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
 +
#      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
 +
#      In this dynamic exploration, mind the changes the occur on all other charts in response to the manual graphical stratification of the database
 +
#      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
 +
#      The result of one specific data stratification is illustrated on the figure below.
 +
<center>[[Image:SOCR_Videos_Dashboard_Fig25.png|500px]]</center>
 +
 
 +
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===
 +
* BagIt/BDBag Data File Format:
 +
** [https://github.com/ini-bdds/bdbag Source code] and [https://github.com/ini-bdds/minid Format]
 +
** [http://bd2k.ini.usc.edu/assets/all-hands-meeting/minid_v0.1_Nov_2015.pdf Docs (PDF)]
 +
* Data Dashboard
 +
** [https://github.com/SOCR/SOCR-Dashboard Source code]
 +
** [[SOCR_Videos_Dashboard#Video_Tutorial | Videos]]
 +
** [http://socr.umich.edu/HTML5/Dashboard/ Service/App]
  
 
=== Reference/Citation===
 
=== Reference/Citation===

Latest revision as of 13:57, 17 August 2018

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.

Protocol

  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.

Protocol

  1. Download locally the PD data (CSV).
  2. Start the Data Dashboard App
  3. Select Free—Anchored Data
  4. Enter the following in the 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

Reference/Citation





Translate this page:

(default)
Uk flag.gif

Deutsch
De flag.gif

Español
Es flag.gif

Français
Fr flag.gif

Italiano
It flag.gif

Português
Pt flag.gif

日本語
Jp flag.gif

България
Bg flag.gif

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

Suomi
Fi flag.gif

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

Norge
No flag.png

한국어
Kr flag.gif

中文
Cn flag.gif

繁体中文
Cn flag.gif

Русский
Ru flag.gif

Nederlands
Nl flag.gif

Ελληνικά
Gr flag.gif

Hrvatska
Hr flag.gif

Česká republika
Cz flag.gif

Danmark
Dk flag.gif

Polska
Pl flag.png

România
Ro flag.png

Sverige
Se flag.gif