{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.3"
},
"colab": {
"name": "analysis_tutorial_20200630a.ipynb",
"provenance": [],
"collapsed_sections": [],
"toc_visible": true,
"machine_shape": "hm"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "5Duv5WIoj1gJ",
"colab_type": "text"
},
"source": [
"[![G-Node GIN](https://gin.g-node.org/img/favicon.png)](https://gin.g-node.org/hiobeen/Mouse_hdEEG_ASSR_Hwang_et_al/)\n",
"**👈🏼 Click to open in G-Node GIN repository!**\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"# 1. Dataset information\n",
"\n",
"A set of high-density EEG (electroencephalogram) recording obtained from awake, freely-moving mice (*mus musculus*) (n = 6). Details of experimental method are described in the original research article using the same dataset [Hwang et al., 2019, *Brain Structure and Function*].\n",
"\n",
"* Title: Dataset of high-density EEG recordings with auditory and optogenetic stimulation in mice\n",
"* Authors: Eunjin Hwang, Hio-Been Han, Jeong-Yeong Kim, & Jee Hyun Choi [corresponding: jeechoi@kist.re.kr]\n",
"* Version: 2.0.1\n",
"* Related publication: [Hwang et al., 2019, *Brain Structure and Function*](https://link.springer.com/article/10.1007/s00429-019-01845-5).\n",
"* Dataset repository: G-Node GIN (DOI: 10.12751/g-node.c5c7ed https://gin.g-node.org/hiobeen/Mouse_hdEEG_ASSR_Hwang_et_al/)\n",
"\n",
"**Step-by-step tutorial is included, fully functioning with _Google Colaboratory_ environment.**\n",
"[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1S3iMT5zQKsJFlhJOt9WsqKcc8dDJXe89)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "eX7UGiS9j1gL",
"colab_type": "text"
},
"source": [
"# 2. File organization\n",
"\n",
"Raw EEG data are saved in EEGLAB dataset format (*.set). Below are the list of files included in this dataset.\n",
"\n",
"**a) Meta data file (1 csv file)**\n",
"\n",
" [metadata.csv]\n",
" \n",
"**b) Electrode montage file (1 csv file)**\n",
"\n",
" [montage.csv]\n",
" \n",
"**c) Dataset 1 (Sound stimulation) - EEG data files (6 set files, 6 fdt files)** \n",
"\n",
" [dataset_1/epochs_animal1.set, dataset_1/epochs_animal1.fdt]\n",
" [dataset_1/epochs_animal2.set, dataset_1/epochs_animal2.fdt]\n",
" [dataset_1/epochs_animal3.set, dataset_1/epochs_animal3.fdt]\n",
" [dataset_1/epochs_animal4.set, dataset_1/epochs_animal4.fdt]\n",
" [dataset_1/epochs_animal5.set, dataset_1/epochs_animal5.fdt]\n",
" [dataset_1/epochs_animal6.set, dataset_1/epochs_animal6.fdt]\n",
"\n",
"**d) Dataset 2 (Sound & Optogenetic stimulation) - EEG data files (6 set files, 6 fdt files)**\n",
"\n",
" [dataset_2/epochs_animal1.set, dataset_2/epochs_animal1.fdt]\n",
" [dataset_2/epochs_animal2.set, dataset_2/epochs_animal2.fdt]\n",
" [dataset_2/epochs_animal3.set, dataset_2/epochs_animal3.fdt]\n",
" [dataset_2/epochs_animal4.set, dataset_2/epochs_animal4.fdt]\n",
" [dataset_2/epochs_animal5.set, dataset_2/epochs_animal5.fdt]\n",
" [dataset_2/epochs_animal6.set, dataset_2/epochs_animal6.fdt]\n",
"\n",
"**e) Analysis demonstration (Python scripts)**\n",
"\n",
" [analysis_tutorial.ipynb]\n",
" * written and tested on Google Colab - Python 3 environment\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "03aQC9Wpj1gL",
"colab_type": "text"
},
"source": [
"# 3. How to get started (Python 3 without _gin_)\n",
"As the data are saved in EEGLAB format, you need to install appropriate module to access the data in Python3 environment. The fastest way would be to use read_epochs_eeglab()
function in *MNE-python* module. You can download the toolbox from the link below (or use pip install mne
in terminal shell).\n",
"\n",
"\n",
"*[MNE-python]* https://martinos.org/mne/stable/index.html"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "7yA0xrmPd1S_",
"colab_type": "text"
},
"source": [
"## Part 1. Accessing dataset"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "_XiRFJ2Vojh0",
"colab_type": "text"
},
"source": [
"### 1-1. Download dataset and MNE-python module\n",
"\n",
"The dataset has been uploaded on G-Node and can be accessed by git command, by typing git clone https://gin.g-node.org/hiobeen/Mouse_hdEEG_ASSR_Hwang_et_al
. However, it's currently not functioning because of the large size of each dataset (>100 MB). Instead, you can use *gin* command or custom function written below to copy dataset into your work environment. In *gin* repository, a python script download_sample.py
is provided. It doesn't require *git* or *gin* command, simply using request
module in Python 3. Try typing python download_sample.py
on terminal/command after changing desired directory. Demo 1-1 is composed of download_sample.py script in this Jupyter-Notebook document.\n",
"\n",
"> Warning: Direct cloning using *git clone git@gin.g-node.org:/hiobeen/Mouse_hdEEG_ASSR_Hwang_et_al.git* may not work because of the large size of each dataset (>100 MB). Try python script for downloading below, or try using *git-annex*.\n",
"\n",
"Also, you need to install *MNE-Python* module using *pip* command to load EEGLAB-formatted EEG data. Install command using *pip* is located at the end of script download_sample.py
. To download dataset and install MNE-python module into your environment (local machine/COLAB), try running scripts below.\n",
"\n",
"> Note: Through this step-by-step demonstration, we will use data from one animal (Animal #2). Unnecessary data files will not be downloaded to prevent prolonged download time. To download whole dataset, change dataset_to_download = [2]
into dataset_to_download = [1,2,3,4,5,6]
."
]
},
{
"cell_type": "code",
"metadata": {
"id": "SIt3f7C8Wzj8",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 383
},
"outputId": "63db611f-db1b-4847-da51-2886624bcd5d"
},
"source": [
"# Demo 1-1. Setting an enviroment (download_sample.py)\n",
"from os import listdir, mkdir, path, system, getcwd\n",
"import warnings; warnings.simplefilter(\"ignore\")\n",
"dir_origin = dir_origin = getcwd()+'/' # <- Change this in local machine\n",
"dir_dataset= 'dataset/'\n",
"print('\\n1)============ Start Downloading =================\\n')\n",
"print('Target directory ... => [%s%s]'%(dir_origin,dir_dataset))\n",
"\n",
"#!rm -rf /content/dataset/\n",
"import requests, time\n",
"def download_dataset( animal_list = range(1,7), dir_dataset = dir_dataset ):\n",
" # Check directory\n",
" if not path.isdir('%s%s'%(dir_origin,dir_dataset)):\n",
" mkdir('%s%s'%(dir_origin,dir_dataset))\n",
" mkdir('%s%s/dataset_1/'%(dir_origin,dir_dataset))\n",
" mkdir('%s%s/dataset_2/'%(dir_origin,dir_dataset))\n",
"\n",
" # File names to be downloaded\n",
" file_ids = [ 'meta.csv', 'montage.csv' ]\n",
" for set_id in animal_list:\n",
" file_ids.append( 'dataset_1/epochs_animal%s.set'%set_id )\n",
" file_ids.append( 'dataset_1/epochs_animal%s.fdt'%set_id )\n",
" file_ids.append( 'dataset_2/epochs_animal%s.set'%set_id )\n",
" file_ids.append( 'dataset_2/epochs_animal%s.fdt'%set_id )\n",
"\n",
" # Request & download\n",
" repo_url = 'https://gin.g-node.org/hiobeen/Mouse_hdEEG_ASSR_Hwang_et_al/raw/f361198e4444c29969b4b6014cfd3e771eca381d/'\n",
" for file_id in file_ids:\n",
" fname_dest = \"%s%s%s\"%(dir_origin, dir_dataset, file_id)\n",
" if path.isfile(fname_dest) is False:\n",
" print('...copying to [%s]...'%fname_dest)\n",
" file_url = '%s%s'%(repo_url, file_id)\n",
" r = requests.get(file_url, stream = True)\n",
" with open(fname_dest, \"wb\") as file:\n",
" for block in r.iter_content(chunk_size=1024):\n",
" if block: file.write(block)\n",
" time.sleep(1) # wait a second to prevent possible errors\n",
" else:\n",
" print('...skipping already existing file [%s]...'%fname_dest)\n",
"\n",
"# Initiate downloading\n",
"animal_list = [2] # Partial download to prevent long download time\n",
"#animal_list = [1,2,3,4,5,6] # Full download \n",
"download_dataset(animal_list)\n",
"print('\\n============= Download finished ==================\\n\\n')\n",
"\n",
"# List up 'dataset/' directory\n",
"print('\\n2)=== List of available files in google drive ====\\n')\n",
"print(listdir('%sdataset/'%dir_origin))\n",
"print('\\n============= End of the list ==================\\n\\n')\n",
"\n",
"# Install mne-python module\n",
"system('pip install mne');\n",
"\n",
"# Make figure output directory\n",
"dir_fig = 'figures/'\n",
"if not path.isdir(dir_fig): mkdir('%s%s'%(dir_origin, dir_fig))"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"\n",
"1)============ Start Downloading =================\n",
"\n",
"Target directory ... => [/content/dataset/]\n",
"...copying to [/content/dataset/meta.csv]...\n",
"...copying to [/content/dataset/montage.csv]...\n",
"...copying to [/content/dataset/dataset_1/epochs_animal2.set]...\n",
"...copying to [/content/dataset/dataset_1/epochs_animal2.fdt]...\n",
"...copying to [/content/dataset/dataset_2/epochs_animal2.set]...\n",
"...copying to [/content/dataset/dataset_2/epochs_animal2.fdt]...\n",
"\n",
"============= Download finished ==================\n",
"\n",
"\n",
"\n",
"2)=== List of available files in google drive ====\n",
"\n",
"['dataset_1', 'meta.csv', 'dataset_2', 'montage.csv']\n",
"\n",
"============= End of the list ==================\n",
"\n",
"\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "6sZDBA4On2hT",
"colab_type": "text"
},
"source": [
"### 1-2. Accessing meta-data table\n",
"\n",
"File *meta.csv* contains the detailed information of dataset, including subject demographics, number of trials, etc. \n",
"Using read_csv()
of *pandas* module, meta-datat able can be visualized as follow. \n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"metadata": {
"id": "gmzqwpbdj1gM",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 264
},
"outputId": "58c451da-caa5-445c-cf41-7e35fa719e12"
},
"source": [
"## Demo 1-2. Display meta-data file\n",
"from pandas import read_csv\n",
"meta = read_csv('%s%smeta.csv'%(dir_origin, dir_dataset));\n",
"print('Table 1. Meta-data')\n",
"meta"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"Table 1. Meta-data\n"
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"text/html": [
"
\n", " | subject_name | \n", "age_in_week | \n", "sex | \n", "n_set1_10Hz | \n", "n_set1_20Hz | \n", "n_set1_30Hz | \n", "n_set1_40Hz | \n", "n_set1_50Hz | \n", "n_set2_soundonly | \n", "n_set2_advanced | \n", "n_set2_inphase | \n", "n_set2_oop | \n", "n_set2_delayed | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "animal1 | \n", "4 | \n", "male | \n", "95 | \n", "95 | \n", "98 | \n", "84 | \n", "94 | \n", "84 | \n", "84 | \n", "79 | \n", "88 | \n", "82 | \n", "
1 | \n", "animal2 | \n", "4 | \n", "male | \n", "98 | \n", "95 | \n", "97 | \n", "87 | \n", "98 | \n", "87 | \n", "79 | \n", "74 | \n", "77 | \n", "83 | \n", "
2 | \n", "animal3 | \n", "4 | \n", "male | \n", "96 | \n", "95 | \n", "97 | \n", "53 | \n", "93 | \n", "53 | \n", "56 | \n", "45 | \n", "51 | \n", "50 | \n", "
3 | \n", "animal4 | \n", "4 | \n", "female | \n", "98 | \n", "96 | \n", "95 | \n", "72 | \n", "98 | \n", "72 | \n", "76 | \n", "71 | \n", "70 | \n", "72 | \n", "
4 | \n", "animal5 | \n", "5 | \n", "male | \n", "191 | \n", "191 | \n", "189 | \n", "176 | \n", "189 | \n", "176 | \n", "86 | \n", "167 | \n", "96 | \n", "89 | \n", "
5 | \n", "animal6 | \n", "4 | \n", "male | \n", "196 | \n", "194 | \n", "195 | \n", "179 | \n", "194 | \n", "179 | \n", "86 | \n", "179 | \n", "77 | \n", "86 | \n", "
get_eeg_data()
is defined below. To maintain original dimensionality order (cf. channel-time-trial in EEGLAB of Matlab), np.moveaxis()
was applied. \n"
]
},
{
"cell_type": "code",
"metadata": {
"id": "cJ9x13tYj1gT",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 50
},
"outputId": "855b6a51-44c3-4d7c-f7ad-43516c155476"
},
"source": [
"# Demo 1-3. Data loading and dimensionality check\n",
"from mne.io import read_epochs_eeglab as loadeeg\n",
"import numpy as np\n",
"def get_eeg_data(animal_idx=1, dataset_idx=1, CAL=1e-6):\n",
" f_name = '%s%sdataset_%s/epochs_%s.set'%(dir_origin,dir_dataset,dataset_idx,meta.subject_name[animal_idx])\n",
" EEG = loadeeg(f_name, verbose=False)\n",
" EEG.data = np.moveaxis(EEG.get_data(), 0, 2) / CAL\n",
" return EEG, f_name\n",
"\n",
"# Data loading\n",
"EEG, f_name = get_eeg_data( animal_idx = 1, dataset_idx = 1 ) \n",
"\n",
"# Dimension check\n",
"print('File name : [%s]'%f_name)\n",
"print('File contains [%d channels, %4d time points, %3d trials]'%(EEG.data.shape))"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"File name : [/content/dataset/dataset_1/epochs_animal2.set]\n",
"File contains [38 channels, 5200 time points, 475 trials]\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "86Njkq2-Hnl4",
"colab_type": "text"
},
"source": [
"Note that voltage calibration value (*CAL*) is set to 1e-6 in 0.11.0 version of [eeglab.py](https://github.com/mne-tools/mne-python/blob/master/mne/io/eeglab/eeglab.py]).\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Xo_Pet6cj1ge",
"colab_type": "text"
},
"source": [
"### 1-4. Getting channel coordinates\n",
"\n",
"The EEG data are recorded with 38 electrode array, and two of the electrodes were used as ground and reference site - total 36 channel data are available. Coordinates of each electrode are in the file [data/montage.csv], and can be accessed and visualized by following script.\n"
]
},
{
"cell_type": "code",
"metadata": {
"id": "ii7vy4Jgj1gf",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 354
},
"outputId": "9411bde5-6d6e-44a1-a81f-defc6caa0355"
},
"source": [
"# Demo 1-4. Import montage matrix\n",
"from matplotlib import pyplot as plt; plt.style.use('ggplot')\n",
"plt.rcParams['font.family']='sans-serif'\n",
"plt.rcParams['text.color']='black'; plt.rcParams['axes.labelcolor']='black'\n",
"plt.rcParams['xtick.color']='black'; plt.rcParams['ytick.color']='black'\n",
"\n",
"from pandas import read_csv\n",
"montage_table = read_csv('%s%smontage.csv'%(dir_origin, dir_dataset))\n",
"elec_montage = np.array(montage_table)[:, 1:3]\n",
"\n",
"# Open figure handle\n",
"plt.figure(figsize=(4.5,5))\n",
"\n",
"# Plot EEG channels position (total 36 channels)\n",
"plt.plot( elec_montage[:36,0], elec_montage[:36,1], 'go' )\n",
"for chanIdx in range(36):\n",
" plt.text( elec_montage[chanIdx,0], elec_montage[chanIdx,1]+.2,\n",
" EEG.info['ch_names'][chanIdx][5:], ha='center', fontsize=8 )\n",
"\n",
"# Plot Ref/Gnd electrode position\n",
"plt.plot( elec_montage[36:,0], elec_montage[36:,1], 'rs' )\n",
"plt.text(0, 0.0, 'BP', fontsize=12, weight='bold', ha='center',va='center');\n",
"plt.text(0,-4.2, 'LP', fontsize=12, weight='bold', ha='center',va='center');\n",
"\n",
"plt.xlabel('ML coordinate (mm)'); plt.ylabel('AP coordinate (mm)');\n",
"plt.title('2D electrode montage');\n",
"plt.legend(['Active','Ref/Gnd'], loc='upper right', facecolor='w');\n",
"plt.gca().set_facecolor((1,1,1))\n",
"plt.grid(False); plt.axis([-5.5, 6.5, -7, 6])\n",
"\n",
"# Draw head boundary\n",
"def get_boundary():\n",
" return np.array([\n",
" -4.400, 0.030, -4.180, 0.609, -3.960, 1.148, -3.740, 1.646, -3.520, 2.105, -3.300, 2.525, -3.080, 2.908, -2.860, 3.255,\n",
" -2.640, 3.566, -2.420, 3.843, -2.200, 4.086, -1.980, 4.298, -1.760, 4.4799, -1.540, 4.6321, -1.320, 4.7567, -1.100, 4.8553,\n",
" -0.880, 4.9298, -0.660, 4.9822, -0.440, 5.0150, -0.220, 5.0312,0, 5.035, 0.220, 5.0312, 0.440, 5.0150, 0.660, 4.9822,\n",
" 0.880, 4.9298, 1.100, 4.8553, 1.320, 4.7567, 1.540, 4.6321,1.760, 4.4799, 1.980, 4.2986, 2.200, 4.0867, 2.420, 3.8430,\n",
" 2.640, 3.5662, 2.860, 3.2551, 3.080, 2.9087, 3.300, 2.5258,3.520, 2.1054, 3.740, 1.6466, 3.960, 1.1484, 4.180, 0.6099,\n",
" 4.400, 0.0302, 4.400, 0.0302, 4.467, -0.1597, 4.5268, -0.3497,4.5799, -0.5397, 4.6266, -0.7297, 4.6673, -0.9197, 4.7025, -1.1097,\n",
" 4.7326, -1.2997, 4.7579, -1.4897, 4.7789, -1.6797, 4.7960, -1.8697,4.8095, -2.0597, 4.8199, -2.2497, 4.8277, -2.4397, 4.8331, -2.6297,\n",
" 4.8366, -2.8197, 4.8387, -3.0097, 4.8396, -3.1997, 4.8399, -3.3897,4.8384, -3.5797, 4.8177, -3.7697, 4.7776, -3.9597, 4.7237, -4.1497,\n",
" 4.6620, -4.3397, 4.5958, -4.5297, 4.5021, -4.7197, 4.400, -4.8937,4.1800, -5.1191, 3.9600, -5.3285, 3.7400, -5.5223, 3.5200, -5.7007,\n",
" 3.3000, -5.8642, 3.0800, -6.0131, 2.8600, -6.1478, 2.6400, -6.2688,2.4200, -6.3764, 2.2000, -6.4712, 1.9800, -6.5536, 1.7600, -6.6241,\n",
" 1.5400, -6.6833, 1.3200, -6.7317, 1.1000, -6.7701, 0.8800, -6.7991,0.6600, -6.8194, 0.4400, -6.8322, 0.2200, -6.8385, 0, -6.840,\n",
" -0.220, -6.8385, -0.440, -6.8322, -0.660, -6.8194, -0.880, -6.7991,-1.100, -6.7701, -1.320, -6.7317, -1.540, -6.6833, -1.760, -6.6241,\n",
" -1.980, -6.5536, -2.200, -6.4712, -2.420, -6.3764, -2.640, -6.2688,-2.860, -6.1478, -3.080, -6.0131, -3.300, -5.8642, -3.520, -5.7007,\n",
" -3.740, -5.5223, -3.960, -5.3285, -4.180, -5.1191, -4.400, -4.89370,-4.5021, -4.7197, -4.5958, -4.5297, -4.6620, -4.3397, -4.7237, -4.1497,\n",
" -4.7776, -3.9597, -4.8177, -3.7697, -4.8384, -3.5797, -4.8399, -3.3897,-4.8397, -3.1997, -4.8387, -3.0097, -4.8367, -2.8197, -4.8331, -2.6297,\n",
" -4.8277, -2.4397, -4.8200, -2.2497, -4.8095, -2.0597, -4.7960, -1.8697,-4.7789, -1.6797, -4.7579, -1.4897, -4.7326, -1.2997, -4.7025, -1.1097,\n",
" -4.6673, -0.9197, -4.6266, -0.7297, -4.5799, -0.5397, -4.5268, -0.3497,-4.4670, -0.1597, -4.4000, 0.03025]).reshape(-1, 2)\n",
"boundary = get_boundary()\n",
"for p in range(len(boundary)-1): plt.plot(boundary[p:p+2,0],boundary[p:p+2,1], 'k-')\n",
"plt.gcf().savefig(dir_fig+'fig1-4.png', format='png', dpi=300);"
],
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"