diff --git a/.gitignore b/.gitignore
index 8298fba1..8ed29ac6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -95,3 +95,13 @@ arm64
/examples/test/images/c302_C1_Oscillator.net.nml
/examples/test/images/LEMS_c302_C1_Oscillator.xml
/c302/VarshneyDataReader2.py
+/
+/examples/test/images/LEMS_c302_C1_Full.xml
+/examples/test/images/LEMS_c302_C1_Muscles.xml
+/examples/test/images/LEMS_c302_C1_Social.xml
+/examples/test/images/LEMS_c302_C1_Syns.xml
+/examples/test/images/c302_C1_Full.net.nml
+/examples/test/images/c302_C1_Muscles.net.nml
+/examples/test/images/c302_C1_Pharyngeal.net.nml
+/examples/test/images/c302_C1_Social.net.nml
+/examples/test/images/c302_C1_Syns.net.nml
diff --git a/c302/ConnectomeReader.py b/c302/ConnectomeReader.py
index 44663112..8a8a4f91 100644
--- a/c302/ConnectomeReader.py
+++ b/c302/ConnectomeReader.py
@@ -28,11 +28,11 @@ def convert_to_preferred_muscle_name(muscle):
return muscle + "???"
def get_all_muscle_prefixes():
- return ["pm", "vm", "um", "BWM-D", "BWM-V", "LegacyBodyWallMuscles"]
+ return ["pm", "vm", "um", "BWM-D", "BWM-V", "LegacyBodyWallMuscles", "vBWM", "dBWM"]
def get_body_wall_muscle_prefixes():
- return ["BWM-D", "BWM-V", "LegacyBodyWallMuscles"]
+ return ["BWM-D", "BWM-V", "LegacyBodyWallMuscles", "vBWM", "dBWM"]
def is_muscle(cell):
@@ -48,6 +48,15 @@ def is_body_wall_muscle(cell):
def is_neuron(cell):
return not is_body_wall_muscle(cell)
+
+def remove_leading_index_zero(cell):
+ """
+ Returns neuron name with an index without leading zero. E.g. VB01 -> VB1.
+ """
+ if is_neuron(cell) and cell[-2:].startswith("0"):
+ return "%s%s" % (cell[:-2], cell[-1:])
+ return cell
+
class ConnectionInfo:
def __init__(self,
diff --git a/c302/Cook2019DataReader.py b/c302/Cook2019DataReader.py
new file mode 100644
index 00000000..dc7cf361
--- /dev/null
+++ b/c302/Cook2019DataReader.py
@@ -0,0 +1,188 @@
+# -*- coding: utf-8 -*-
+
+############################################################
+
+# A simple script to read the values in herm_full_edgelist.csv.
+
+# This is on of a number of interchangeable "Readers" which can
+# be used to get connection data for c302
+
+############################################################
+
+import csv
+
+from c302.ConnectomeReader import ConnectionInfo
+from c302.ConnectomeReader import analyse_connections
+from c302.ConnectomeReader import convert_to_preferred_muscle_name
+from c302.ConnectomeReader import is_neuron
+from c302.ConnectomeReader import is_body_wall_muscle
+from c302.ConnectomeReader import remove_leading_index_zero
+
+from openpyxl import load_workbook
+
+import os
+import numpy as np
+
+from c302 import print_
+
+spreadsheet_location = os.path.dirname(os.path.abspath(__file__))+"/data/"
+filename = "%sSI 5 Connectome adjacency matrices.xlsx" % spreadsheet_location
+
+HERM_CHEM = 'hermaphrodite chemical'
+HERM_GAP_SYMM = 'herm gap jn symmetric'
+
+pre_range = {HERM_CHEM:range(4,304),
+ HERM_GAP_SYMM:range(4,472)}
+
+post_range = {HERM_CHEM:range(4,457),
+ HERM_GAP_SYMM:range(4,472)}
+
+
+def get_synclass(cell, syntype):
+ #TODO: fix this dirty hack
+ if syntype == "GapJunction":
+ return "Generic_GJ"
+ else:
+ if cell.startswith("DD") or cell.startswith("VD"):
+ return "GABA"
+ return "Acetylcholine"
+
+class Cook2019DataReader():
+
+ verbose = False
+
+ def __init__(self):
+
+ wb = load_workbook(filename)
+ print_("Opened the Excel file: " + filename)
+
+ self.pre_cells = {}
+ self.post_cells = {}
+ self.conn_nums = {}
+
+ for conn_type in [HERM_CHEM, HERM_GAP_SYMM]:
+
+ sheet = wb.get_sheet_by_name(conn_type)
+ print('Looking at sheet: %s'%conn_type)
+
+ self.pre_cells[conn_type] = []
+ self.post_cells[conn_type] = []
+
+ for i in pre_range[conn_type]:
+ self.pre_cells[conn_type].append(sheet['C%i'%i].value)
+
+ if self.verbose: print(' - Pre cells for %s (%i):\n%s'%(conn_type, len(self.pre_cells[conn_type]), self.pre_cells[conn_type]))
+
+ for i in post_range[conn_type]:
+ self.post_cells[conn_type].append(sheet.cell(row=3, column=i).value)
+
+ if self.verbose: print(' - Post cells for %s (%i):\n%s'%(conn_type, len(self.post_cells[conn_type]), self.post_cells[conn_type]))
+
+ self.conn_nums[conn_type] = np.zeros([len(self.pre_cells[conn_type]),len(self.post_cells[conn_type])], dtype=int)
+
+ for i in range(len(self.pre_cells[conn_type])):
+ for j in range(len(self.post_cells[conn_type])):
+ row =4+i
+ col = 4+j
+ val = sheet.cell(row=row, column=col).value
+ #print('Cell (%i,%i) [row %i, col %i] = %s'%(i,j,row, col, val))
+ if val is not None:
+ self.conn_nums[conn_type][i,j] = int(val)
+
+ if self.verbose: print(' - Conns for %s (%s):\n%s'%(conn_type, self.conn_nums[conn_type].shape, self.conn_nums[conn_type]))
+
+
+
+ def read_data(self, include_nonconnected_cells=False):
+ """
+ Args:
+ include_nonconnected_cells (bool): Also append neurons without known connections to other neurons to the 'cells' list. True if they should get appended, False otherwise.
+ Returns:
+ cells (:obj:`list` of :obj:`str`): List of neurons
+ conns (:obj:`list` of :obj:`ConnectionInfo`): List of connections from neuron to neuron
+ """
+
+ if not include_nonconnected_cells:
+ raise Exception('Option include_nonconnected_cells=False not supported')
+
+ conns = []
+ cells = []
+ for conn_type in [HERM_CHEM, HERM_GAP_SYMM]:
+
+ for pre_index in range(len(self.pre_cells[conn_type])):
+ for post_index in range(len(self.post_cells[conn_type])):
+
+ pre = remove_leading_index_zero(self.pre_cells[conn_type][pre_index])
+ post = remove_leading_index_zero(self.post_cells[conn_type][post_index])
+
+ if is_body_wall_muscle(post):
+ continue # post is a BWM so ignore
+
+ num = self.conn_nums[conn_type][pre_index,post_index]
+ if num>0:
+ syntype = 'Send' if conn_type == HERM_CHEM else "GapJunction"
+ synclass = get_synclass(pre, syntype)
+
+ conns.append(ConnectionInfo(pre, post, num, syntype, synclass))
+ #print ConnectionInfo(pre, post, num, syntype, synclass)
+ if pre not in cells:
+ cells.append(pre)
+ if post not in cells:
+ cells.append(post)
+
+ return cells, conns
+
+
+ def read_muscle_data(self):
+ """
+ Returns:
+ neurons (:obj:`list` of :obj:`str`): List of motor neurons. Each neuron has at least one connection with a post-synaptic muscle cell.
+ muscles (:obj:`list` of :obj:`str`): List of muscle cells.
+ conns (:obj:`list` of :obj:`ConnectionInfo`): List of neuron-muscle connections.
+ """
+
+ neurons = []
+ muscles = []
+ conns = []
+
+ '''
+ with open(filename, 'r') as f:
+ reader = csv.DictReader(f)
+ print_("Opened file: " + filename)
+
+ for row in reader:
+ pre, post, num, syntype, synclass = parse_row(row)
+
+ if not (is_neuron(pre) or is_body_wall_muscle(pre)) or not is_body_wall_muscle(post):
+ continue
+
+ if is_neuron(pre):
+ pre = remove_leading_index_zero(pre)
+ else:
+ pre = get_old_muscle_name(pre)
+ post = get_old_muscle_name(post)
+
+ conns.append(ConnectionInfo(pre, post, num, syntype, synclass))
+ if is_neuron(pre) and pre not in neurons:
+ neurons.append(pre)
+ elif is_body_wall_muscle(pre) and pre not in muscles:
+ muscles.append(pre)
+ if post not in muscles:
+ muscles.append(post)'''
+
+ return neurons, muscles, conns
+
+
+def main():
+
+ cdr = Cook2019DataReader()
+ read_data = cdr.read_data
+ read_muscle_data = cdr.read_muscle_data
+
+ cells, neuron_conns = read_data(include_nonconnected_cells=True)
+ neurons2muscles, muscles, muscle_conns = read_muscle_data()
+
+ analyse_connections(cells, neuron_conns, neurons2muscles, muscles, muscle_conns)
+
+if __name__ == '__main__':
+ main()
diff --git a/c302/Cook2019HermReader.py b/c302/Cook2019HermReader.py
new file mode 100644
index 00000000..9ccd96dd
--- /dev/null
+++ b/c302/Cook2019HermReader.py
@@ -0,0 +1,19 @@
+# Temporary class to allow this to be used in comparison notebook.
+# Should be tidied up.
+
+from c302.Cook2019DataReader import Cook2019DataReader
+
+from c302.ConnectomeReader import analyse_connections
+
+cdr = Cook2019DataReader()
+read_data = cdr.read_data
+read_muscle_data = cdr.read_muscle_data
+
+def main1():
+ cells, neuron_conns = read_data(include_nonconnected_cells=True)
+ neurons2muscles, muscles, muscle_conns = read_muscle_data()
+ analyse_connections(cells, neuron_conns, neurons2muscles, muscles, muscle_conns)
+
+
+if __name__ == '__main__':
+ main1()
\ No newline at end of file
diff --git a/c302/__init__.py b/c302/__init__.py
index 31c6f4df..581c08b8 100755
--- a/c302/__init__.py
+++ b/c302/__init__.py
@@ -465,7 +465,7 @@ def _get_cell_info(bnd, cells):
for name in fixed_up_names:
cell = next(ctx(Cell).query(name=name).load(), None)
if cell is None:
- print_("No matching cell for %s" % name)
+ #print_("No matching cell for %s" % name)
continue
normalized_name = cell.name()
diff --git a/c302/c302_utils.py b/c302/c302_utils.py
index 784d321e..7cac4aa7 100644
--- a/c302/c302_utils.py
+++ b/c302/c302_utils.py
@@ -577,6 +577,8 @@ def generate_conn_matrix(nml_doc, save_fig_dir=None, verbose=False, figsize=defa
configs = ['c302_C0_Muscles.net.nml']
configs = ['c302_C0_Syns.net.nml', 'c302_C0_Social.net.nml','c302_C0_Muscles.net.nml','c302_C0_Pharyngeal.net.nml','c302_C0_Oscillator.net.nml','c302_C0_Full.net.nml']
+ figsize=(6.4,4.8)
+
if '-phar' in sys.argv:
configs = ['c302_C0_Pharyngeal.net.nml']
@@ -585,11 +587,21 @@ def generate_conn_matrix(nml_doc, save_fig_dir=None, verbose=False, figsize=defa
configs = ['c302_C1_Oscillator.net.nml']
+ elif '-musc' in sys.argv:
+
+ configs = ['c302_C1_Muscles.net.nml']
+ figsize=(10,10)
+
+ elif '-full' in sys.argv:
+
+ configs = ['c302_C1_Full.net.nml']
+ figsize=(10,10)
+
for c in configs:
nml_doc = read_neuroml2_file('examples/%s'%c)
- generate_conn_matrix(nml_doc, save_fig_dir='./examples/summary/images', figsize=(6.4,4.8))
+ generate_conn_matrix(nml_doc, save_fig_dir='./examples/summary/images', figsize=figsize)
if not '-nogui' in sys.argv:
plt.show()
diff --git a/c302/data/SI 5 Connectome adjacency matrices.xlsx b/c302/data/SI 5 Connectome adjacency matrices.xlsx
new file mode 100644
index 00000000..aa97d043
Binary files /dev/null and b/c302/data/SI 5 Connectome adjacency matrices.xlsx differ
diff --git a/examples/test/Comparison.ipynb b/examples/test/Comparison.ipynb
index 22a63a3a..21db5a81 100644
--- a/examples/test/Comparison.ipynb
+++ b/examples/test/Comparison.ipynb
@@ -75,6 +75,11 @@
"text": [
"c302 >>> Initialising WormNeuroAtlasReader\n",
"\n",
+ "****** Importing dataset Cook2019Herm using c302.Cook2019HermReader ******\n",
+ "c302 >>> Opened the Excel file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/SI 5 Connectome adjacency matrices.xlsx\n",
+ "Looking at sheet: hermaphrodite chemical\n",
+ "Looking at sheet: herm gap jn symmetric\n",
+ "\n",
"Finished loading all the data from the readers!\n"
]
}
@@ -107,6 +112,7 @@
" \"Witvliet1\": \"c302.WitvlietDataReader1\",\n",
" \"Witvliet2\": \"c302.WitvlietDataReader2\",\n",
" \"WormNeuroAtlas\": \"c302.WormNeuroAtlasReader\",\n",
+ " \"Cook2019Herm\": \"c302.Cook2019HermReader\",\n",
" }\n",
"\n",
"def shorten_neurotransmitter(nt):\n",
@@ -194,6 +200,7 @@
"
Witvliet1 | \n",
" Witvliet2 | \n",
" WormNeuroAtlas | \n",
+ " Cook2019Herm | \n",
" \n",
" \n",
" \n",
@@ -210,6 +217,7 @@
" 181 | \n",
" 180 | \n",
" 300 | \n",
+ " 302 | \n",
" \n",
" \n",
" Missing neurons | \n",
@@ -224,6 +232,7 @@
" 121 | \n",
" 122 | \n",
" 2 | \n",
+ " 0 | \n",
"
\n",
" \n",
" Non neurons | \n",
@@ -238,6 +247,7 @@
" 9 | \n",
" 7 | \n",
" 0 | \n",
+ " 96 | \n",
"
\n",
" \n",
" Num muscles | \n",
@@ -252,6 +262,7 @@
" 32 | \n",
" 32 | \n",
" 0 | \n",
+ " 0 | \n",
"
\n",
" \n",
" Num N->N conns | \n",
@@ -266,6 +277,7 @@
" 2251 | \n",
" 2274 | \n",
" 5701 | \n",
+ " 6577 | \n",
"
\n",
" \n",
" Num N with ->M | \n",
@@ -280,6 +292,7 @@
" 58 | \n",
" 47 | \n",
" 0 | \n",
+ " 0 | \n",
"
\n",
" \n",
" Num N->M conns | \n",
@@ -294,6 +307,7 @@
" 230 | \n",
" 216 | \n",
" 0 | \n",
+ " 0 | \n",
"
\n",
" \n",
" N->N neurotrans. | \n",
@@ -308,6 +322,7 @@
" Gen_CS (1979) Gen_GJ (272)
| \n",
" Gen_CS (1970) Gen_GJ (304)
| \n",
" ACh (2017) GABA (631) Gen_CS (431) Gen_GJ (1650) Glu (972)
| \n",
+ " ACh (3859) GABA (64) Gen_GJ (2654)
| \n",
"
\n",
" \n",
" N->M neurotrans. | \n",
@@ -322,6 +337,7 @@
" Gen_CS (230)
| \n",
" Gen_CS (216)
| \n",
" | \n",
+ " | \n",
"
\n",
" \n",
""
@@ -359,7 +375,166 @@
"output_type": "stream",
"text": [
"\n",
- "=== Generating using reader SpreadsheetDataReader\n",
+ "=== Generating using reader c302.SpreadsheetDataReader (SSData)\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C1\n",
+ "c302 >>> Opened Excel file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/CElegansNeuronTables.xls\n",
+ "c302 >>> Opened Excel file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/CElegansNeuronTables.xls\n",
+ "c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Social.net.nml\n",
+ "c302 >>> (Re)written network file to: images/c302_C1_Social.net.nml\n",
+ "c302 >>> Saving connectivity figure to: ./images/Social/SSData_exc_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Social/SSData_elec_neurons_neurons.png\n",
+ "\n",
+ "=== Generating using reader c302.UpdatedSpreadsheetDataReader (UpdSSData)\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C1\n",
+ "c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/herm_full_edgelist.csv\n",
+ "c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/herm_full_edgelist.csv\n",
+ "c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Social.net.nml\n",
+ "c302 >>> (Re)written network file to: images/c302_C1_Social.net.nml\n",
+ "c302 >>> Saving connectivity figure to: ./images/Social/UpdSSData_exc_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Social/UpdSSData_elec_neurons_neurons.png\n",
+ "\n",
+ "=== Generating using reader c302.UpdatedSpreadsheetDataReader2 (UpdSSData2)\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C1\n",
+ "c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/herm_full_edgelist_MODIFIED.csv\n",
+ "c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/herm_full_edgelist_MODIFIED.csv\n",
+ "c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Social.net.nml\n",
+ "c302 >>> (Re)written network file to: images/c302_C1_Social.net.nml\n",
+ "c302 >>> Saving connectivity figure to: ./images/Social/UpdSSData2_exc_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Social/UpdSSData2_elec_neurons_neurons.png\n",
+ "\n",
+ "=== Generating using reader c302.OpenWormReader (OpenWorm)\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C1\n",
+ "c302 >>> Initialising OpenWormReader\n",
+ "c302 >>> Total cells 302 (300 with connections)\n",
+ "c302 >>> Total connections found 5805 \n",
+ "c302 >>> Total cells 397 (254 with connections)\n",
+ "c302 >>> Total connections found 926 \n",
+ "c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Social.net.nml\n",
+ "c302 >>> (Re)written network file to: images/c302_C1_Social.net.nml\n",
+ "c302 >>> Saving connectivity figure to: ./images/Social/OpenWorm_exc_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Social/OpenWorm_elec_neurons_neurons.png\n",
+ "\n",
+ "=== Generating using reader c302.White_A (White_A)\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C1\n",
+ "c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/aconnectome_white_1986_A.csv\n",
+ "c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/aconnectome_white_1986_A.csv\n",
+ "c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Social.net.nml\n",
+ "c302 >>> (Re)written network file to: images/c302_C1_Social.net.nml\n",
+ "c302 >>> Saving connectivity figure to: ./images/Social/White_A_exc_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Social/White_A_elec_neurons_neurons.png\n",
+ "\n",
+ "=== Generating using reader c302.White_L4 (White_L4)\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C1\n",
+ "c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/aconnectome_white_1986_L4.csv\n",
+ "c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/aconnectome_white_1986_L4.csv\n",
+ "c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Social.net.nml\n",
+ "c302 >>> (Re)written network file to: images/c302_C1_Social.net.nml\n",
+ "c302 >>> Saving connectivity figure to: ./images/Social/White_L4_exc_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Social/White_L4_elec_neurons_neurons.png\n",
+ "\n",
+ "=== Generating using reader c302.White_whole (White_whole)\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C1\n",
+ "c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/aconnectome_white_1986_whole.csv\n",
+ "c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/aconnectome_white_1986_whole.csv\n",
+ "c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Social.net.nml\n",
+ "c302 >>> (Re)written network file to: images/c302_C1_Social.net.nml\n",
+ "c302 >>> Saving connectivity figure to: ./images/Social/White_whole_exc_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Social/White_whole_elec_neurons_neurons.png\n",
+ "\n",
+ "=== Generating using reader c302.VarshneyDataReader (Varshney)\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C1\n",
+ "c302 >>> Opened the Excel file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/NeuronConnectFormatted.xlsx\n",
+ "c302 >>> Opened Excel file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/NeuronConnectFormatted.xlsx\n",
+ "c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Social.net.nml\n",
+ "c302 >>> (Re)written network file to: images/c302_C1_Social.net.nml\n",
+ "c302 >>> Saving connectivity figure to: ./images/Social/VarshneyData_exc_to_neurons.png\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/c302_utils.py:369: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`). Consider using `matplotlib.pyplot.close()`.\n",
+ " fig, ax = plt.subplots(figsize=figsize)\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "c302 >>> Saving connectivity figure to: ./images/Social/VarshneyData_elec_neurons_neurons.png\n",
+ "\n",
+ "=== Generating using reader c302.WitvlietDataReader1 (Witvliet1)\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C1\n",
+ "c302 >>> Opened the Excel file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/witvliet_2020_7.xlsx\n",
+ "c302 >>> Opened Excel file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/witvliet_2020_7.xlsx\n",
+ "c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Social.net.nml\n",
+ "c302 >>> (Re)written network file to: images/c302_C1_Social.net.nml\n",
+ "c302 >>> Saving connectivity figure to: ./images/Social/WitvlietData1_exc_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Social/WitvlietData1_elec_neurons_neurons.png\n",
+ "\n",
+ "=== Generating using reader c302.WitvlietDataReader2 (Witvliet2)\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C1\n",
+ "c302 >>> Opened the Excel file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/witvliet_2020_8.xlsx\n",
+ "c302 >>> Opened Excel file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/witvliet_2020_8.xlsx\n",
+ "c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Social.net.nml\n",
+ "c302 >>> (Re)written network file to: images/c302_C1_Social.net.nml\n",
+ "c302 >>> Saving connectivity figure to: ./images/Social/WitvlietData2_exc_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Social/WitvlietData2_elec_neurons_neurons.png\n",
+ "\n",
+ "=== Generating using reader c302.WormNeuroAtlasReader (WormNeuroAtlas)\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C1\n",
+ "c302 >>> Initialising WormNeuroAtlasReader\n",
+ "c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Social.net.nml\n",
+ "c302 >>> (Re)written network file to: images/c302_C1_Social.net.nml\n",
+ "c302 >>> Saving connectivity figure to: ./images/Social/WormNeuroAtlas_exc_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Social/WormNeuroAtlas_elec_neurons_neurons.png\n",
+ "\n",
+ "=== Generating using reader c302.Cook2019HermReader (Cook2019Herm)\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C1\n",
+ "c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Social.net.nml\n",
+ "c302 >>> (Re)written network file to: images/c302_C1_Social.net.nml\n",
+ "c302 >>> Saving connectivity figure to: ./images/Social/Cook2019Herm_exc_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Social/Cook2019Herm_elec_neurons_neurons.png\n",
+ "Finished generation of images!\n",
+ "\n",
+ "=== Generating using reader c302.SpreadsheetDataReader (SSData)\n",
"c302 >>> Set default parameters for C\n",
"c302 >>> Set default parameters for C\n",
"c302 >>> Set default parameters for C\n",
@@ -367,11 +542,11 @@
"c302 >>> Opened Excel file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/CElegansNeuronTables.xls\n",
"c302 >>> Opened Excel file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/CElegansNeuronTables.xls\n",
"c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Oscillator.net.nml\n",
- "c302 >>> Saving connectivity figure to: ./images/SSData_exc_to_neurons.png\n",
- "c302 >>> Saving connectivity figure to: ./images/SSData_inh_to_neurons.png\n",
- "c302 >>> Saving connectivity figure to: ./images/SSData_elec_neurons_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Oscillator/SSData_exc_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Oscillator/SSData_inh_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Oscillator/SSData_elec_neurons_neurons.png\n",
"\n",
- "=== Generating using reader UpdatedSpreadsheetDataReader\n",
+ "=== Generating using reader c302.UpdatedSpreadsheetDataReader (UpdSSData)\n",
"c302 >>> Set default parameters for C\n",
"c302 >>> Set default parameters for C\n",
"c302 >>> Set default parameters for C\n",
@@ -379,11 +554,11 @@
"c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/herm_full_edgelist.csv\n",
"c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/herm_full_edgelist.csv\n",
"c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Oscillator.net.nml\n",
- "c302 >>> Saving connectivity figure to: ./images/UpdSSData_exc_to_neurons.png\n",
- "c302 >>> Saving connectivity figure to: ./images/UpdSSData_inh_to_neurons.png\n",
- "c302 >>> Saving connectivity figure to: ./images/UpdSSData_elec_neurons_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Oscillator/UpdSSData_exc_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Oscillator/UpdSSData_inh_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Oscillator/UpdSSData_elec_neurons_neurons.png\n",
"\n",
- "=== Generating using reader UpdatedSpreadsheetDataReader2\n",
+ "=== Generating using reader c302.UpdatedSpreadsheetDataReader2 (UpdSSData2)\n",
"c302 >>> Set default parameters for C\n",
"c302 >>> Set default parameters for C\n",
"c302 >>> Set default parameters for C\n",
@@ -391,11 +566,11 @@
"c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/herm_full_edgelist_MODIFIED.csv\n",
"c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/herm_full_edgelist_MODIFIED.csv\n",
"c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Oscillator.net.nml\n",
- "c302 >>> Saving connectivity figure to: ./images/UpdSSData2_exc_to_neurons.png\n",
- "c302 >>> Saving connectivity figure to: ./images/UpdSSData2_inh_to_neurons.png\n",
- "c302 >>> Saving connectivity figure to: ./images/UpdSSData2_elec_neurons_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Oscillator/UpdSSData2_exc_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Oscillator/UpdSSData2_inh_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Oscillator/UpdSSData2_elec_neurons_neurons.png\n",
"\n",
- "=== Generating using reader OpenWormReader\n",
+ "=== Generating using reader c302.OpenWormReader (OpenWorm)\n",
"c302 >>> Set default parameters for C\n",
"c302 >>> Set default parameters for C\n",
"c302 >>> Set default parameters for C\n",
@@ -406,50 +581,43 @@
"c302 >>> Total cells 397 (254 with connections)\n",
"c302 >>> Total connections found 926 \n",
"c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Oscillator.net.nml\n",
- "c302 >>> Saving connectivity figure to: ./images/OpenWorm_exc_to_neurons.png\n",
- "c302 >>> Saving connectivity figure to: ./images/OpenWorm_inh_to_neurons.png\n",
- "c302 >>> Saving connectivity figure to: ./images/OpenWorm_elec_neurons_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Oscillator/OpenWorm_exc_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Oscillator/OpenWorm_inh_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Oscillator/OpenWorm_elec_neurons_neurons.png\n",
"\n",
- "=== Generating using reader White_A\n",
+ "=== Generating using reader c302.White_A (White_A)\n",
"c302 >>> Set default parameters for C\n",
"c302 >>> Set default parameters for C\n",
"c302 >>> Set default parameters for C\n",
"c302 >>> Set default parameters for C1\n",
"c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/aconnectome_white_1986_A.csv\n",
- "c302 >>> No matching cell for CEPshVL\n",
- "c302 >>> No matching cell for CEPshDR\n",
- "c302 >>> No matching cell for CEPshVR\n",
"c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/aconnectome_white_1986_A.csv\n",
"c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Oscillator.net.nml\n",
- "c302 >>> Saving connectivity figure to: ./images/White_A_elec_neurons_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Oscillator/White_A_elec_neurons_neurons.png\n",
"\n",
- "=== Generating using reader White_L4\n",
+ "=== Generating using reader c302.White_L4 (White_L4)\n",
"c302 >>> Set default parameters for C\n",
"c302 >>> Set default parameters for C\n",
"c302 >>> Set default parameters for C\n",
"c302 >>> Set default parameters for C1\n",
"c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/aconnectome_white_1986_L4.csv\n",
- "c302 >>> No matching cell for CEPshVL\n",
- "c302 >>> No matching cell for CEPshVR\n",
"c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/aconnectome_white_1986_L4.csv\n",
"c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Oscillator.net.nml\n",
- "c302 >>> Saving connectivity figure to: ./images/White_L4_elec_neurons_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Oscillator/White_L4_elec_neurons_neurons.png\n",
"\n",
- "=== Generating using reader White_whole\n",
+ "=== Generating using reader c302.White_whole (White_whole)\n",
"c302 >>> Set default parameters for C\n",
"c302 >>> Set default parameters for C\n",
"c302 >>> Set default parameters for C\n",
"c302 >>> Set default parameters for C1\n",
"c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/aconnectome_white_1986_whole.csv\n",
- "c302 >>> No matching cell for pm1\n",
- "c302 >>> No matching cell for pm4\n",
"c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/aconnectome_white_1986_whole.csv\n",
"c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Oscillator.net.nml\n",
- "c302 >>> Saving connectivity figure to: ./images/White_whole_exc_to_neurons.png\n",
- "c302 >>> Saving connectivity figure to: ./images/White_whole_inh_to_neurons.png\n",
- "c302 >>> Saving connectivity figure to: ./images/White_whole_elec_neurons_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Oscillator/White_whole_exc_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Oscillator/White_whole_inh_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Oscillator/White_whole_elec_neurons_neurons.png\n",
"\n",
- "=== Generating using reader VarshneyDataReader\n",
+ "=== Generating using reader c302.VarshneyDataReader (Varshney)\n",
"c302 >>> Set default parameters for C\n",
"c302 >>> Set default parameters for C\n",
"c302 >>> Set default parameters for C\n",
@@ -457,47 +625,172 @@
"c302 >>> Opened the Excel file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/NeuronConnectFormatted.xlsx\n",
"c302 >>> Opened Excel file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/NeuronConnectFormatted.xlsx\n",
"c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Oscillator.net.nml\n",
- "c302 >>> Saving connectivity figure to: ./images/VarshneyData_exc_to_neurons.png\n",
- "c302 >>> Saving connectivity figure to: ./images/VarshneyData_elec_neurons_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Oscillator/VarshneyData_exc_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Oscillator/VarshneyData_elec_neurons_neurons.png\n",
"\n",
- "=== Generating using reader WitvlietDataReader1\n",
+ "=== Generating using reader c302.WitvlietDataReader1 (Witvliet1)\n",
"c302 >>> Set default parameters for C\n",
"c302 >>> Set default parameters for C\n",
"c302 >>> Set default parameters for C\n",
"c302 >>> Set default parameters for C1\n",
"c302 >>> Opened the Excel file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/witvliet_2020_7.xlsx\n",
- "c302 >>> No matching cell for CEPshVL\n",
- "c302 >>> No matching cell for CEPshDL\n",
- "c302 >>> No matching cell for CEPshDR\n",
- "c302 >>> No matching cell for CEPshVR\n",
"c302 >>> Opened Excel file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/witvliet_2020_7.xlsx\n",
"c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Oscillator.net.nml\n",
- "c302 >>> Saving connectivity figure to: ./images/WitvlietData1_elec_neurons_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Oscillator/WitvlietData1_elec_neurons_neurons.png\n",
"\n",
- "=== Generating using reader WitvlietDataReader2\n",
+ "=== Generating using reader c302.WitvlietDataReader2 (Witvliet2)\n",
"c302 >>> Set default parameters for C\n",
"c302 >>> Set default parameters for C\n",
"c302 >>> Set default parameters for C\n",
"c302 >>> Set default parameters for C1\n",
"c302 >>> Opened the Excel file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/witvliet_2020_8.xlsx\n",
- "c302 >>> No matching cell for CEPshVL\n",
- "c302 >>> No matching cell for CEPshDL\n",
- "c302 >>> No matching cell for CEPshDR\n",
- "c302 >>> No matching cell for CEPshVR\n",
"c302 >>> Opened Excel file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/witvliet_2020_8.xlsx\n",
"c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Oscillator.net.nml\n",
- "c302 >>> Saving connectivity figure to: ./images/WitvlietData2_elec_neurons_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Oscillator/WitvlietData2_elec_neurons_neurons.png\n",
"\n",
- "=== Generating using reader WormNeuroAtlasReader\n",
+ "=== Generating using reader c302.WormNeuroAtlasReader (WormNeuroAtlas)\n",
"c302 >>> Set default parameters for C\n",
"c302 >>> Set default parameters for C\n",
"c302 >>> Set default parameters for C\n",
"c302 >>> Set default parameters for C1\n",
"c302 >>> Initialising WormNeuroAtlasReader\n",
"c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Oscillator.net.nml\n",
- "c302 >>> Saving connectivity figure to: ./images/WormNeuroAtlas_exc_to_neurons.png\n",
- "c302 >>> Saving connectivity figure to: ./images/WormNeuroAtlas_inh_to_neurons.png\n",
- "c302 >>> Saving connectivity figure to: ./images/WormNeuroAtlas_elec_neurons_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Oscillator/WormNeuroAtlas_exc_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Oscillator/WormNeuroAtlas_inh_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Oscillator/WormNeuroAtlas_elec_neurons_neurons.png\n",
+ "\n",
+ "=== Generating using reader c302.Cook2019HermReader (Cook2019Herm)\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C1\n",
+ "c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Oscillator.net.nml\n",
+ "c302 >>> Saving connectivity figure to: ./images/Oscillator/Cook2019Herm_exc_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Oscillator/Cook2019Herm_inh_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Oscillator/Cook2019Herm_elec_neurons_neurons.png\n",
+ "Finished generation of images!\n",
+ "\n",
+ "=== Generating using reader c302.SpreadsheetDataReader (SSData)\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C1\n",
+ "c302 >>> Opened Excel file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/CElegansNeuronTables.xls\n",
+ "c302 >>> Opened Excel file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/CElegansNeuronTables.xls\n",
+ "c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Pharyngeal.net.nml\n",
+ "c302 >>> Saving connectivity figure to: ./images/Pharyngeal/SSData_exc_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Pharyngeal/SSData_elec_neurons_neurons.png\n",
+ "\n",
+ "=== Generating using reader c302.UpdatedSpreadsheetDataReader (UpdSSData)\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C1\n",
+ "c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/herm_full_edgelist.csv\n",
+ "c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/herm_full_edgelist.csv\n",
+ "c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Pharyngeal.net.nml\n",
+ "c302 >>> Saving connectivity figure to: ./images/Pharyngeal/UpdSSData_exc_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Pharyngeal/UpdSSData_elec_neurons_neurons.png\n",
+ "\n",
+ "=== Generating using reader c302.UpdatedSpreadsheetDataReader2 (UpdSSData2)\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C1\n",
+ "c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/herm_full_edgelist_MODIFIED.csv\n",
+ "c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/herm_full_edgelist_MODIFIED.csv\n",
+ "c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Pharyngeal.net.nml\n",
+ "c302 >>> Saving connectivity figure to: ./images/Pharyngeal/UpdSSData2_exc_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Pharyngeal/UpdSSData2_elec_neurons_neurons.png\n",
+ "\n",
+ "=== Generating using reader c302.OpenWormReader (OpenWorm)\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C1\n",
+ "c302 >>> Initialising OpenWormReader\n",
+ "c302 >>> Total cells 302 (300 with connections)\n",
+ "c302 >>> Total connections found 5805 \n",
+ "c302 >>> Total cells 397 (254 with connections)\n",
+ "c302 >>> Total connections found 926 \n",
+ "c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Pharyngeal.net.nml\n",
+ "c302 >>> Saving connectivity figure to: ./images/Pharyngeal/OpenWorm_exc_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Pharyngeal/OpenWorm_elec_neurons_neurons.png\n",
+ "\n",
+ "=== Generating using reader c302.White_A (White_A)\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C1\n",
+ "c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/aconnectome_white_1986_A.csv\n",
+ "c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/aconnectome_white_1986_A.csv\n",
+ "c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Pharyngeal.net.nml\n",
+ "\n",
+ "=== Generating using reader c302.White_L4 (White_L4)\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C1\n",
+ "c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/aconnectome_white_1986_L4.csv\n",
+ "c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/aconnectome_white_1986_L4.csv\n",
+ "c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Pharyngeal.net.nml\n",
+ "\n",
+ "=== Generating using reader c302.White_whole (White_whole)\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C1\n",
+ "c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/aconnectome_white_1986_whole.csv\n",
+ "c302 >>> Opened file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/aconnectome_white_1986_whole.csv\n",
+ "c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Pharyngeal.net.nml\n",
+ "c302 >>> Saving connectivity figure to: ./images/Pharyngeal/White_whole_exc_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Pharyngeal/White_whole_elec_neurons_neurons.png\n",
+ "\n",
+ "=== Generating using reader c302.VarshneyDataReader (Varshney)\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C1\n",
+ "c302 >>> Opened the Excel file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/NeuronConnectFormatted.xlsx\n",
+ "c302 >>> Opened Excel file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/NeuronConnectFormatted.xlsx\n",
+ "c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Pharyngeal.net.nml\n",
+ "\n",
+ "=== Generating using reader c302.WitvlietDataReader1 (Witvliet1)\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C1\n",
+ "c302 >>> Opened the Excel file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/witvliet_2020_7.xlsx\n",
+ "c302 >>> Opened Excel file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/witvliet_2020_7.xlsx\n",
+ "c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Pharyngeal.net.nml\n",
+ "\n",
+ "=== Generating using reader c302.WitvlietDataReader2 (Witvliet2)\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C1\n",
+ "c302 >>> Opened the Excel file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/witvliet_2020_8.xlsx\n",
+ "c302 >>> Opened Excel file: /opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/c302/data/witvliet_2020_8.xlsx\n",
+ "c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Pharyngeal.net.nml\n",
+ "\n",
+ "=== Generating using reader c302.WormNeuroAtlasReader (WormNeuroAtlas)\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C1\n",
+ "c302 >>> Initialising WormNeuroAtlasReader\n",
+ "c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Pharyngeal.net.nml\n",
+ "c302 >>> Saving connectivity figure to: ./images/Pharyngeal/WormNeuroAtlas_exc_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Pharyngeal/WormNeuroAtlas_elec_neurons_neurons.png\n",
+ "\n",
+ "=== Generating using reader c302.Cook2019HermReader (Cook2019Herm)\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C\n",
+ "c302 >>> Set default parameters for C1\n",
+ "c302 >>> Writing generated network to: /Users/padraig/c302/examples/test/images/c302_C1_Pharyngeal.net.nml\n",
+ "c302 >>> Saving connectivity figure to: ./images/Pharyngeal/Cook2019Herm_exc_to_neurons.png\n",
+ "c302 >>> Saving connectivity figure to: ./images/Pharyngeal/Cook2019Herm_elec_neurons_neurons.png\n",
"Finished generation of images!\n"
]
}
@@ -508,32 +801,51 @@
" \n",
"parameter_set = 'C1'\n",
"\n",
- "from c302.c302_Oscillator import setup\n",
- "from c302.c302_utils import generate_conn_matrix\n",
+ "configs = ['Social','Oscillator', 'Pharyngeal']\n",
"\n",
- "import matplotlib.pyplot as plt\n",
"\n",
- "plt.ioff()\n",
+ "import importlib as IM\n",
"\n",
- "for reader_module in readers.values():\n",
+ "for config in configs:\n",
" \n",
- " reader = reader_module[5:]\n",
+ " with open('%s.md'%config, 'w') as f:\n",
" \n",
- " print(\"\\n=== Generating using reader %s\"%reader)\n",
- " setup(parameter_set, \n",
- " generate=True, \n",
- " target_directory='images',\n",
- " data_reader=reader,\n",
- " verbose=False)\n",
+ " f.write('|EXC|INH|GJ|\\n')\n",
+ " f.write('|-|-|-|\\n')\n",
"\n",
- " nml_filename = 'c302_%s_Oscillator.net.nml'%parameter_set\n",
+ " setup = IM.import_module('c302.c302_%s' % (config)).setup\n",
+ " from c302.c302_utils import generate_conn_matrix\n",
"\n",
- " nml_doc = read_neuroml2_file('images/%s'%nml_filename)\n",
- " nml_doc.networks[0].id = reader.replace('Reader','').replace('Spreadsheet','SS').replace('Updated','Upd')\n",
+ " import matplotlib.pyplot as plt\n",
"\n",
- " generate_conn_matrix(nml_doc, save_fig_dir='./images', figsize=(6,6))\n",
- " \n",
- "print('Finished generation of images!')\n"
+ " plt.ioff()\n",
+ "\n",
+ " for reader_short in readers:\n",
+ " \n",
+ " reader_module = readers[reader_short]\n",
+ "\n",
+ " reader = reader_module[5:]\n",
+ "\n",
+ " print(\"\\n=== Generating using reader %s (%s)\"%(reader_module, reader_short))\n",
+ " setup(parameter_set, \n",
+ " generate=True, \n",
+ " target_directory='images',\n",
+ " data_reader=reader,\n",
+ " verbose=False)\n",
+ "\n",
+ " nml_filename = 'c302_%s_%s.net.nml'%(parameter_set, config)\n",
+ "\n",
+ " nml_doc = read_neuroml2_file('images/%s'%nml_filename)\n",
+ " nml_doc.networks[0].id = reader.replace('Reader','').replace('Spreadsheet','SS').replace('Updated','Upd')\n",
+ " figsize=(6,6)\n",
+ " if config=='Full' or config=='Full':\n",
+ " figsize=(10,10)\n",
+ " generate_conn_matrix(nml_doc, save_fig_dir='./images/%s'%config, figsize=figsize)\n",
+ " \n",
+ " f.write('|![---](./images/%s/%s_exc_to_neurons.png)|![---](./images/%s/%s_inh_to_neurons.png)|![---](./images/%s/%s_elec_neurons_neurons.png)|\\n'%(config, reader_short,config, reader_short,config, reader_short))\n",
+ "\n",
+ "\n",
+ " print('Finished generation of images!')\n"
]
},
{
@@ -541,16 +853,8 @@
"id": "d3640706-413a-4729-850f-8073402aebd6",
"metadata": {},
"source": [
- "|EXC|INH|GJ|\n",
- "|-|-|-|\n",
- "|![exc](./images/SSData_exc_to_neurons.png)|![inh](./images/SSData_inh_to_neurons.png)|![gj](./images/SSData_elec_neurons_neurons.png)|\n",
- "|![exc](./images/UpdSSData_exc_to_neurons.png)|![inh](./images/UpdSSData_inh_to_neurons.png)|![gj](./images/UpdSSData_elec_neurons_neurons.png)|\n",
- "|![exc](./images/UpdSSData2_exc_to_neurons.png)|![inh](./images/UpdSSData2_inh_to_neurons.png)|![gj](./images/UpdSSData2_elec_neurons_neurons.png)|\n",
- "|![exc](./images/OpenWorm_exc_to_neurons.png)|![inh](./images/OpenWorm_inh_to_neurons.png)|![gj](./images/OpenWorm_elec_neurons_neurons.png)|\n",
- "|![exc](./images/White_whole_exc_to_neurons.png)|![inh](./images/White_whole_inh_to_neurons.png)|![gj](./images/White_whole_elec_neurons_neurons.png)|\n",
- "|![exc](./images/VarshneyData_exc_to_neurons.png)|![inh](./images/VarshneyData_inh_to_neurons.png)|![gj](./images/VarshneyData_elec_neurons_neurons.png)|\n",
- "|![exc](./images/WitvlietData2_exc_to_neurons.png)|![inh](./images/WitvlietData2_inh_to_neurons.png)|![gj](./images/WitvlietData2_elec_neurons_neurons.png)|\n",
- "|![exc](./images/WormNeuroAtlas_exc_to_neurons.png)|![inh](./images/WormNeuroAtlas_inh_to_neurons.png)|![gj](./images/WormNeuroAtlas_elec_neurons_neurons.png)|\n",
+ "\n",
+ "## Note: views of matrices moved to Oscillator.md etc.\n",
"\n"
]
},
diff --git a/examples/test/Oscillator.md b/examples/test/Oscillator.md
new file mode 100644
index 00000000..e95f448a
--- /dev/null
+++ b/examples/test/Oscillator.md
@@ -0,0 +1,14 @@
+|EXC|INH|GJ|
+|-|-|-|
+|![---](./images/Oscillator/SSData_exc_to_neurons.png)|![---](./images/Oscillator/SSData_inh_to_neurons.png)|![---](./images/Oscillator/SSData_elec_neurons_neurons.png)|
+|![---](./images/Oscillator/UpdSSData_exc_to_neurons.png)|![---](./images/Oscillator/UpdSSData_inh_to_neurons.png)|![---](./images/Oscillator/UpdSSData_elec_neurons_neurons.png)|
+|![---](./images/Oscillator/UpdSSData2_exc_to_neurons.png)|![---](./images/Oscillator/UpdSSData2_inh_to_neurons.png)|![---](./images/Oscillator/UpdSSData2_elec_neurons_neurons.png)|
+|![---](./images/Oscillator/OpenWorm_exc_to_neurons.png)|![---](./images/Oscillator/OpenWorm_inh_to_neurons.png)|![---](./images/Oscillator/OpenWorm_elec_neurons_neurons.png)|
+|![---](./images/Oscillator/White_A_exc_to_neurons.png)|![---](./images/Oscillator/White_A_inh_to_neurons.png)|![---](./images/Oscillator/White_A_elec_neurons_neurons.png)|
+|![---](./images/Oscillator/White_L4_exc_to_neurons.png)|![---](./images/Oscillator/White_L4_inh_to_neurons.png)|![---](./images/Oscillator/White_L4_elec_neurons_neurons.png)|
+|![---](./images/Oscillator/White_whole_exc_to_neurons.png)|![---](./images/Oscillator/White_whole_inh_to_neurons.png)|![---](./images/Oscillator/White_whole_elec_neurons_neurons.png)|
+|![---](./images/Oscillator/Varshney_exc_to_neurons.png)|![---](./images/Oscillator/Varshney_inh_to_neurons.png)|![---](./images/Oscillator/Varshney_elec_neurons_neurons.png)|
+|![---](./images/Oscillator/Witvliet1_exc_to_neurons.png)|![---](./images/Oscillator/Witvliet1_inh_to_neurons.png)|![---](./images/Oscillator/Witvliet1_elec_neurons_neurons.png)|
+|![---](./images/Oscillator/Witvliet2_exc_to_neurons.png)|![---](./images/Oscillator/Witvliet2_inh_to_neurons.png)|![---](./images/Oscillator/Witvliet2_elec_neurons_neurons.png)|
+|![---](./images/Oscillator/WormNeuroAtlas_exc_to_neurons.png)|![---](./images/Oscillator/WormNeuroAtlas_inh_to_neurons.png)|![---](./images/Oscillator/WormNeuroAtlas_elec_neurons_neurons.png)|
+|![---](./images/Oscillator/Cook2019Herm_exc_to_neurons.png)|![---](./images/Oscillator/Cook2019Herm_inh_to_neurons.png)|![---](./images/Oscillator/Cook2019Herm_elec_neurons_neurons.png)|
diff --git a/examples/test/Pharyngeal.md b/examples/test/Pharyngeal.md
new file mode 100644
index 00000000..5f97afb4
--- /dev/null
+++ b/examples/test/Pharyngeal.md
@@ -0,0 +1,14 @@
+|EXC|INH|GJ|
+|-|-|-|
+|![---](./images/Pharyngeal/SSData_exc_to_neurons.png)|![---](./images/Pharyngeal/SSData_inh_to_neurons.png)|![---](./images/Pharyngeal/SSData_elec_neurons_neurons.png)|
+|![---](./images/Pharyngeal/UpdSSData_exc_to_neurons.png)|![---](./images/Pharyngeal/UpdSSData_inh_to_neurons.png)|![---](./images/Pharyngeal/UpdSSData_elec_neurons_neurons.png)|
+|![---](./images/Pharyngeal/UpdSSData2_exc_to_neurons.png)|![---](./images/Pharyngeal/UpdSSData2_inh_to_neurons.png)|![---](./images/Pharyngeal/UpdSSData2_elec_neurons_neurons.png)|
+|![---](./images/Pharyngeal/OpenWorm_exc_to_neurons.png)|![---](./images/Pharyngeal/OpenWorm_inh_to_neurons.png)|![---](./images/Pharyngeal/OpenWorm_elec_neurons_neurons.png)|
+|![---](./images/Pharyngeal/White_A_exc_to_neurons.png)|![---](./images/Pharyngeal/White_A_inh_to_neurons.png)|![---](./images/Pharyngeal/White_A_elec_neurons_neurons.png)|
+|![---](./images/Pharyngeal/White_L4_exc_to_neurons.png)|![---](./images/Pharyngeal/White_L4_inh_to_neurons.png)|![---](./images/Pharyngeal/White_L4_elec_neurons_neurons.png)|
+|![---](./images/Pharyngeal/White_whole_exc_to_neurons.png)|![---](./images/Pharyngeal/White_whole_inh_to_neurons.png)|![---](./images/Pharyngeal/White_whole_elec_neurons_neurons.png)|
+|![---](./images/Pharyngeal/Varshney_exc_to_neurons.png)|![---](./images/Pharyngeal/Varshney_inh_to_neurons.png)|![---](./images/Pharyngeal/Varshney_elec_neurons_neurons.png)|
+|![---](./images/Pharyngeal/Witvliet1_exc_to_neurons.png)|![---](./images/Pharyngeal/Witvliet1_inh_to_neurons.png)|![---](./images/Pharyngeal/Witvliet1_elec_neurons_neurons.png)|
+|![---](./images/Pharyngeal/Witvliet2_exc_to_neurons.png)|![---](./images/Pharyngeal/Witvliet2_inh_to_neurons.png)|![---](./images/Pharyngeal/Witvliet2_elec_neurons_neurons.png)|
+|![---](./images/Pharyngeal/WormNeuroAtlas_exc_to_neurons.png)|![---](./images/Pharyngeal/WormNeuroAtlas_inh_to_neurons.png)|![---](./images/Pharyngeal/WormNeuroAtlas_elec_neurons_neurons.png)|
+|![---](./images/Pharyngeal/Cook2019Herm_exc_to_neurons.png)|![---](./images/Pharyngeal/Cook2019Herm_inh_to_neurons.png)|![---](./images/Pharyngeal/Cook2019Herm_elec_neurons_neurons.png)|
diff --git a/examples/test/README.md b/examples/test/README.md
new file mode 100644
index 00000000..803fae08
--- /dev/null
+++ b/examples/test/README.md
@@ -0,0 +1,13 @@
+# Analyses of the various readers included in this package
+
+## Oscillator
+
+See [Oscillator.md](Oscillator.md)
+
+## Pharyngeal
+
+See [Pharyngeal.md](Pharyngeal.md)
+
+## Social
+
+See [Social.md](Social.md)
diff --git a/examples/test/Social.md b/examples/test/Social.md
new file mode 100644
index 00000000..6e8909b6
--- /dev/null
+++ b/examples/test/Social.md
@@ -0,0 +1,14 @@
+|EXC|INH|GJ|
+|-|-|-|
+|![---](./images/Social/SSData_exc_to_neurons.png)|![---](./images/Social/SSData_inh_to_neurons.png)|![---](./images/Social/SSData_elec_neurons_neurons.png)|
+|![---](./images/Social/UpdSSData_exc_to_neurons.png)|![---](./images/Social/UpdSSData_inh_to_neurons.png)|![---](./images/Social/UpdSSData_elec_neurons_neurons.png)|
+|![---](./images/Social/UpdSSData2_exc_to_neurons.png)|![---](./images/Social/UpdSSData2_inh_to_neurons.png)|![---](./images/Social/UpdSSData2_elec_neurons_neurons.png)|
+|![---](./images/Social/OpenWorm_exc_to_neurons.png)|![---](./images/Social/OpenWorm_inh_to_neurons.png)|![---](./images/Social/OpenWorm_elec_neurons_neurons.png)|
+|![---](./images/Social/White_A_exc_to_neurons.png)|![---](./images/Social/White_A_inh_to_neurons.png)|![---](./images/Social/White_A_elec_neurons_neurons.png)|
+|![---](./images/Social/White_L4_exc_to_neurons.png)|![---](./images/Social/White_L4_inh_to_neurons.png)|![---](./images/Social/White_L4_elec_neurons_neurons.png)|
+|![---](./images/Social/White_whole_exc_to_neurons.png)|![---](./images/Social/White_whole_inh_to_neurons.png)|![---](./images/Social/White_whole_elec_neurons_neurons.png)|
+|![---](./images/Social/Varshney_exc_to_neurons.png)|![---](./images/Social/Varshney_inh_to_neurons.png)|![---](./images/Social/Varshney_elec_neurons_neurons.png)|
+|![---](./images/Social/Witvliet1_exc_to_neurons.png)|![---](./images/Social/Witvliet1_inh_to_neurons.png)|![---](./images/Social/Witvliet1_elec_neurons_neurons.png)|
+|![---](./images/Social/Witvliet2_exc_to_neurons.png)|![---](./images/Social/Witvliet2_inh_to_neurons.png)|![---](./images/Social/Witvliet2_elec_neurons_neurons.png)|
+|![---](./images/Social/WormNeuroAtlas_exc_to_neurons.png)|![---](./images/Social/WormNeuroAtlas_inh_to_neurons.png)|![---](./images/Social/WormNeuroAtlas_elec_neurons_neurons.png)|
+|![---](./images/Social/Cook2019Herm_exc_to_neurons.png)|![---](./images/Social/Cook2019Herm_inh_to_neurons.png)|![---](./images/Social/Cook2019Herm_elec_neurons_neurons.png)|
diff --git a/examples/test/images/LEMS_c302_C1_Pharyngeal.xml b/examples/test/images/LEMS_c302_C1_Pharyngeal.xml
new file mode 100644
index 00000000..e411e344
--- /dev/null
+++ b/examples/test/images/LEMS_c302_C1_Pharyngeal.xml
@@ -0,0 +1,177 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/examples/test/images/Oscillator/Cook2019Herm_elec_neurons_neurons.png b/examples/test/images/Oscillator/Cook2019Herm_elec_neurons_neurons.png
new file mode 100644
index 00000000..39cc4ee1
Binary files /dev/null and b/examples/test/images/Oscillator/Cook2019Herm_elec_neurons_neurons.png differ
diff --git a/examples/test/images/Oscillator/Cook2019Herm_exc_to_neurons.png b/examples/test/images/Oscillator/Cook2019Herm_exc_to_neurons.png
new file mode 100644
index 00000000..bdc8d5a5
Binary files /dev/null and b/examples/test/images/Oscillator/Cook2019Herm_exc_to_neurons.png differ
diff --git a/examples/test/images/Oscillator/Cook2019Herm_inh_to_neurons.png b/examples/test/images/Oscillator/Cook2019Herm_inh_to_neurons.png
new file mode 100644
index 00000000..be04cdfc
Binary files /dev/null and b/examples/test/images/Oscillator/Cook2019Herm_inh_to_neurons.png differ
diff --git a/examples/test/images/OpenWorm_elec_neurons_neurons.png b/examples/test/images/Oscillator/OpenWorm_elec_neurons_neurons.png
similarity index 100%
rename from examples/test/images/OpenWorm_elec_neurons_neurons.png
rename to examples/test/images/Oscillator/OpenWorm_elec_neurons_neurons.png
diff --git a/examples/test/images/OpenWorm_exc_to_neurons.png b/examples/test/images/Oscillator/OpenWorm_exc_to_neurons.png
similarity index 100%
rename from examples/test/images/OpenWorm_exc_to_neurons.png
rename to examples/test/images/Oscillator/OpenWorm_exc_to_neurons.png
diff --git a/examples/test/images/OpenWorm_inh_to_neurons.png b/examples/test/images/Oscillator/OpenWorm_inh_to_neurons.png
similarity index 100%
rename from examples/test/images/OpenWorm_inh_to_neurons.png
rename to examples/test/images/Oscillator/OpenWorm_inh_to_neurons.png
diff --git a/examples/test/images/SSData_elec_neurons_neurons.png b/examples/test/images/Oscillator/SSData_elec_neurons_neurons.png
similarity index 100%
rename from examples/test/images/SSData_elec_neurons_neurons.png
rename to examples/test/images/Oscillator/SSData_elec_neurons_neurons.png
diff --git a/examples/test/images/SSData_exc_to_neurons.png b/examples/test/images/Oscillator/SSData_exc_to_neurons.png
similarity index 100%
rename from examples/test/images/SSData_exc_to_neurons.png
rename to examples/test/images/Oscillator/SSData_exc_to_neurons.png
diff --git a/examples/test/images/SSData_inh_to_neurons.png b/examples/test/images/Oscillator/SSData_inh_to_neurons.png
similarity index 100%
rename from examples/test/images/SSData_inh_to_neurons.png
rename to examples/test/images/Oscillator/SSData_inh_to_neurons.png
diff --git a/examples/test/images/UpdSSData2_elec_neurons_neurons.png b/examples/test/images/Oscillator/UpdSSData2_elec_neurons_neurons.png
similarity index 100%
rename from examples/test/images/UpdSSData2_elec_neurons_neurons.png
rename to examples/test/images/Oscillator/UpdSSData2_elec_neurons_neurons.png
diff --git a/examples/test/images/UpdSSData2_exc_to_neurons.png b/examples/test/images/Oscillator/UpdSSData2_exc_to_neurons.png
similarity index 100%
rename from examples/test/images/UpdSSData2_exc_to_neurons.png
rename to examples/test/images/Oscillator/UpdSSData2_exc_to_neurons.png
diff --git a/examples/test/images/UpdSSData2_inh_to_neurons.png b/examples/test/images/Oscillator/UpdSSData2_inh_to_neurons.png
similarity index 100%
rename from examples/test/images/UpdSSData2_inh_to_neurons.png
rename to examples/test/images/Oscillator/UpdSSData2_inh_to_neurons.png
diff --git a/examples/test/images/UpdSSData_elec_neurons_neurons.png b/examples/test/images/Oscillator/UpdSSData_elec_neurons_neurons.png
similarity index 100%
rename from examples/test/images/UpdSSData_elec_neurons_neurons.png
rename to examples/test/images/Oscillator/UpdSSData_elec_neurons_neurons.png
diff --git a/examples/test/images/UpdSSData_exc_to_neurons.png b/examples/test/images/Oscillator/UpdSSData_exc_to_neurons.png
similarity index 100%
rename from examples/test/images/UpdSSData_exc_to_neurons.png
rename to examples/test/images/Oscillator/UpdSSData_exc_to_neurons.png
diff --git a/examples/test/images/UpdSSData_inh_to_neurons.png b/examples/test/images/Oscillator/UpdSSData_inh_to_neurons.png
similarity index 100%
rename from examples/test/images/UpdSSData_inh_to_neurons.png
rename to examples/test/images/Oscillator/UpdSSData_inh_to_neurons.png
diff --git a/examples/test/images/VarshneyData_elec_neurons_neurons.png b/examples/test/images/Oscillator/VarshneyData_elec_neurons_neurons.png
similarity index 100%
rename from examples/test/images/VarshneyData_elec_neurons_neurons.png
rename to examples/test/images/Oscillator/VarshneyData_elec_neurons_neurons.png
diff --git a/examples/test/images/VarshneyData_exc_to_neurons.png b/examples/test/images/Oscillator/VarshneyData_exc_to_neurons.png
similarity index 100%
rename from examples/test/images/VarshneyData_exc_to_neurons.png
rename to examples/test/images/Oscillator/VarshneyData_exc_to_neurons.png
diff --git a/examples/test/images/White_A_elec_neurons_neurons.png b/examples/test/images/Oscillator/White_A_elec_neurons_neurons.png
similarity index 100%
rename from examples/test/images/White_A_elec_neurons_neurons.png
rename to examples/test/images/Oscillator/White_A_elec_neurons_neurons.png
diff --git a/examples/test/images/White_L4_elec_neurons_neurons.png b/examples/test/images/Oscillator/White_L4_elec_neurons_neurons.png
similarity index 100%
rename from examples/test/images/White_L4_elec_neurons_neurons.png
rename to examples/test/images/Oscillator/White_L4_elec_neurons_neurons.png
diff --git a/examples/test/images/White_whole_elec_neurons_neurons.png b/examples/test/images/Oscillator/White_whole_elec_neurons_neurons.png
similarity index 100%
rename from examples/test/images/White_whole_elec_neurons_neurons.png
rename to examples/test/images/Oscillator/White_whole_elec_neurons_neurons.png
diff --git a/examples/test/images/White_whole_exc_to_neurons.png b/examples/test/images/Oscillator/White_whole_exc_to_neurons.png
similarity index 100%
rename from examples/test/images/White_whole_exc_to_neurons.png
rename to examples/test/images/Oscillator/White_whole_exc_to_neurons.png
diff --git a/examples/test/images/White_whole_inh_to_neurons.png b/examples/test/images/Oscillator/White_whole_inh_to_neurons.png
similarity index 100%
rename from examples/test/images/White_whole_inh_to_neurons.png
rename to examples/test/images/Oscillator/White_whole_inh_to_neurons.png
diff --git a/examples/test/images/WitvlietData1_elec_neurons_neurons.png b/examples/test/images/Oscillator/WitvlietData1_elec_neurons_neurons.png
similarity index 100%
rename from examples/test/images/WitvlietData1_elec_neurons_neurons.png
rename to examples/test/images/Oscillator/WitvlietData1_elec_neurons_neurons.png
diff --git a/examples/test/images/WitvlietData2_elec_neurons_neurons.png b/examples/test/images/Oscillator/WitvlietData2_elec_neurons_neurons.png
similarity index 100%
rename from examples/test/images/WitvlietData2_elec_neurons_neurons.png
rename to examples/test/images/Oscillator/WitvlietData2_elec_neurons_neurons.png
diff --git a/examples/test/images/WormNeuroAtlas_elec_neurons_neurons.png b/examples/test/images/Oscillator/WormNeuroAtlas_elec_neurons_neurons.png
similarity index 100%
rename from examples/test/images/WormNeuroAtlas_elec_neurons_neurons.png
rename to examples/test/images/Oscillator/WormNeuroAtlas_elec_neurons_neurons.png
diff --git a/examples/test/images/WormNeuroAtlas_exc_to_neurons.png b/examples/test/images/Oscillator/WormNeuroAtlas_exc_to_neurons.png
similarity index 100%
rename from examples/test/images/WormNeuroAtlas_exc_to_neurons.png
rename to examples/test/images/Oscillator/WormNeuroAtlas_exc_to_neurons.png
diff --git a/examples/test/images/WormNeuroAtlas_inh_to_neurons.png b/examples/test/images/Oscillator/WormNeuroAtlas_inh_to_neurons.png
similarity index 100%
rename from examples/test/images/WormNeuroAtlas_inh_to_neurons.png
rename to examples/test/images/Oscillator/WormNeuroAtlas_inh_to_neurons.png
diff --git a/examples/test/images/Pharyngeal/Cook2019Herm_elec_neurons_neurons.png b/examples/test/images/Pharyngeal/Cook2019Herm_elec_neurons_neurons.png
new file mode 100644
index 00000000..b69f90c4
Binary files /dev/null and b/examples/test/images/Pharyngeal/Cook2019Herm_elec_neurons_neurons.png differ
diff --git a/examples/test/images/Pharyngeal/Cook2019Herm_exc_to_neurons.png b/examples/test/images/Pharyngeal/Cook2019Herm_exc_to_neurons.png
new file mode 100644
index 00000000..5bfdb7a0
Binary files /dev/null and b/examples/test/images/Pharyngeal/Cook2019Herm_exc_to_neurons.png differ
diff --git a/examples/test/images/Pharyngeal/OpenWorm_elec_neurons_neurons.png b/examples/test/images/Pharyngeal/OpenWorm_elec_neurons_neurons.png
new file mode 100644
index 00000000..2936cfae
Binary files /dev/null and b/examples/test/images/Pharyngeal/OpenWorm_elec_neurons_neurons.png differ
diff --git a/examples/test/images/Pharyngeal/OpenWorm_exc_to_neurons.png b/examples/test/images/Pharyngeal/OpenWorm_exc_to_neurons.png
new file mode 100644
index 00000000..e7c56903
Binary files /dev/null and b/examples/test/images/Pharyngeal/OpenWorm_exc_to_neurons.png differ
diff --git a/examples/test/images/Pharyngeal/SSData_elec_neurons_neurons.png b/examples/test/images/Pharyngeal/SSData_elec_neurons_neurons.png
new file mode 100644
index 00000000..fa053e37
Binary files /dev/null and b/examples/test/images/Pharyngeal/SSData_elec_neurons_neurons.png differ
diff --git a/examples/test/images/Pharyngeal/SSData_exc_to_neurons.png b/examples/test/images/Pharyngeal/SSData_exc_to_neurons.png
new file mode 100644
index 00000000..93f95253
Binary files /dev/null and b/examples/test/images/Pharyngeal/SSData_exc_to_neurons.png differ
diff --git a/examples/test/images/Pharyngeal/UpdSSData2_elec_neurons_neurons.png b/examples/test/images/Pharyngeal/UpdSSData2_elec_neurons_neurons.png
new file mode 100644
index 00000000..22db168f
Binary files /dev/null and b/examples/test/images/Pharyngeal/UpdSSData2_elec_neurons_neurons.png differ
diff --git a/examples/test/images/Pharyngeal/UpdSSData2_exc_to_neurons.png b/examples/test/images/Pharyngeal/UpdSSData2_exc_to_neurons.png
new file mode 100644
index 00000000..2d8a290f
Binary files /dev/null and b/examples/test/images/Pharyngeal/UpdSSData2_exc_to_neurons.png differ
diff --git a/examples/test/images/Pharyngeal/UpdSSData_elec_neurons_neurons.png b/examples/test/images/Pharyngeal/UpdSSData_elec_neurons_neurons.png
new file mode 100644
index 00000000..630e4126
Binary files /dev/null and b/examples/test/images/Pharyngeal/UpdSSData_elec_neurons_neurons.png differ
diff --git a/examples/test/images/Pharyngeal/UpdSSData_exc_to_neurons.png b/examples/test/images/Pharyngeal/UpdSSData_exc_to_neurons.png
new file mode 100644
index 00000000..cd14cb29
Binary files /dev/null and b/examples/test/images/Pharyngeal/UpdSSData_exc_to_neurons.png differ
diff --git a/examples/test/images/Pharyngeal/White_whole_elec_neurons_neurons.png b/examples/test/images/Pharyngeal/White_whole_elec_neurons_neurons.png
new file mode 100644
index 00000000..3b09e906
Binary files /dev/null and b/examples/test/images/Pharyngeal/White_whole_elec_neurons_neurons.png differ
diff --git a/examples/test/images/Pharyngeal/White_whole_exc_to_neurons.png b/examples/test/images/Pharyngeal/White_whole_exc_to_neurons.png
new file mode 100644
index 00000000..b9995669
Binary files /dev/null and b/examples/test/images/Pharyngeal/White_whole_exc_to_neurons.png differ
diff --git a/examples/test/images/Pharyngeal/WormNeuroAtlas_elec_neurons_neurons.png b/examples/test/images/Pharyngeal/WormNeuroAtlas_elec_neurons_neurons.png
new file mode 100644
index 00000000..3dc8b893
Binary files /dev/null and b/examples/test/images/Pharyngeal/WormNeuroAtlas_elec_neurons_neurons.png differ
diff --git a/examples/test/images/Pharyngeal/WormNeuroAtlas_exc_to_neurons.png b/examples/test/images/Pharyngeal/WormNeuroAtlas_exc_to_neurons.png
new file mode 100644
index 00000000..a3eecd2e
Binary files /dev/null and b/examples/test/images/Pharyngeal/WormNeuroAtlas_exc_to_neurons.png differ
diff --git a/examples/test/images/Social/Cook2019Herm_elec_neurons_neurons.png b/examples/test/images/Social/Cook2019Herm_elec_neurons_neurons.png
new file mode 100644
index 00000000..83ccc219
Binary files /dev/null and b/examples/test/images/Social/Cook2019Herm_elec_neurons_neurons.png differ
diff --git a/examples/test/images/Social/Cook2019Herm_exc_to_neurons.png b/examples/test/images/Social/Cook2019Herm_exc_to_neurons.png
new file mode 100644
index 00000000..fb5f9cbc
Binary files /dev/null and b/examples/test/images/Social/Cook2019Herm_exc_to_neurons.png differ
diff --git a/examples/test/images/Social/OpenWorm_elec_neurons_neurons.png b/examples/test/images/Social/OpenWorm_elec_neurons_neurons.png
new file mode 100644
index 00000000..248a2f38
Binary files /dev/null and b/examples/test/images/Social/OpenWorm_elec_neurons_neurons.png differ
diff --git a/examples/test/images/Social/OpenWorm_exc_to_neurons.png b/examples/test/images/Social/OpenWorm_exc_to_neurons.png
new file mode 100644
index 00000000..25179c62
Binary files /dev/null and b/examples/test/images/Social/OpenWorm_exc_to_neurons.png differ
diff --git a/examples/test/images/Social/SSData_elec_neurons_neurons.png b/examples/test/images/Social/SSData_elec_neurons_neurons.png
new file mode 100644
index 00000000..e069eac4
Binary files /dev/null and b/examples/test/images/Social/SSData_elec_neurons_neurons.png differ
diff --git a/examples/test/images/Social/SSData_exc_to_neurons.png b/examples/test/images/Social/SSData_exc_to_neurons.png
new file mode 100644
index 00000000..12b7535a
Binary files /dev/null and b/examples/test/images/Social/SSData_exc_to_neurons.png differ
diff --git a/examples/test/images/Social/UpdSSData2_elec_neurons_neurons.png b/examples/test/images/Social/UpdSSData2_elec_neurons_neurons.png
new file mode 100644
index 00000000..f9169bc5
Binary files /dev/null and b/examples/test/images/Social/UpdSSData2_elec_neurons_neurons.png differ
diff --git a/examples/test/images/Social/UpdSSData2_exc_to_neurons.png b/examples/test/images/Social/UpdSSData2_exc_to_neurons.png
new file mode 100644
index 00000000..000dc749
Binary files /dev/null and b/examples/test/images/Social/UpdSSData2_exc_to_neurons.png differ
diff --git a/examples/test/images/Social/UpdSSData_elec_neurons_neurons.png b/examples/test/images/Social/UpdSSData_elec_neurons_neurons.png
new file mode 100644
index 00000000..a0c99039
Binary files /dev/null and b/examples/test/images/Social/UpdSSData_elec_neurons_neurons.png differ
diff --git a/examples/test/images/Social/UpdSSData_exc_to_neurons.png b/examples/test/images/Social/UpdSSData_exc_to_neurons.png
new file mode 100644
index 00000000..b3837397
Binary files /dev/null and b/examples/test/images/Social/UpdSSData_exc_to_neurons.png differ
diff --git a/examples/test/images/Social/VarshneyData_elec_neurons_neurons.png b/examples/test/images/Social/VarshneyData_elec_neurons_neurons.png
new file mode 100644
index 00000000..2f6a0e9a
Binary files /dev/null and b/examples/test/images/Social/VarshneyData_elec_neurons_neurons.png differ
diff --git a/examples/test/images/Social/VarshneyData_exc_to_neurons.png b/examples/test/images/Social/VarshneyData_exc_to_neurons.png
new file mode 100644
index 00000000..0aae7ede
Binary files /dev/null and b/examples/test/images/Social/VarshneyData_exc_to_neurons.png differ
diff --git a/examples/test/images/Social/White_A_elec_neurons_neurons.png b/examples/test/images/Social/White_A_elec_neurons_neurons.png
new file mode 100644
index 00000000..9f2d290d
Binary files /dev/null and b/examples/test/images/Social/White_A_elec_neurons_neurons.png differ
diff --git a/examples/test/images/Social/White_A_exc_to_neurons.png b/examples/test/images/Social/White_A_exc_to_neurons.png
new file mode 100644
index 00000000..ddcd0b20
Binary files /dev/null and b/examples/test/images/Social/White_A_exc_to_neurons.png differ
diff --git a/examples/test/images/Social/White_L4_elec_neurons_neurons.png b/examples/test/images/Social/White_L4_elec_neurons_neurons.png
new file mode 100644
index 00000000..717acae7
Binary files /dev/null and b/examples/test/images/Social/White_L4_elec_neurons_neurons.png differ
diff --git a/examples/test/images/Social/White_L4_exc_to_neurons.png b/examples/test/images/Social/White_L4_exc_to_neurons.png
new file mode 100644
index 00000000..a973e908
Binary files /dev/null and b/examples/test/images/Social/White_L4_exc_to_neurons.png differ
diff --git a/examples/test/images/Social/White_whole_elec_neurons_neurons.png b/examples/test/images/Social/White_whole_elec_neurons_neurons.png
new file mode 100644
index 00000000..c9529228
Binary files /dev/null and b/examples/test/images/Social/White_whole_elec_neurons_neurons.png differ
diff --git a/examples/test/images/Social/White_whole_exc_to_neurons.png b/examples/test/images/Social/White_whole_exc_to_neurons.png
new file mode 100644
index 00000000..ca0f3b51
Binary files /dev/null and b/examples/test/images/Social/White_whole_exc_to_neurons.png differ
diff --git a/examples/test/images/Social/WitvlietData1_elec_neurons_neurons.png b/examples/test/images/Social/WitvlietData1_elec_neurons_neurons.png
new file mode 100644
index 00000000..a86c4d74
Binary files /dev/null and b/examples/test/images/Social/WitvlietData1_elec_neurons_neurons.png differ
diff --git a/examples/test/images/Social/WitvlietData1_exc_to_neurons.png b/examples/test/images/Social/WitvlietData1_exc_to_neurons.png
new file mode 100644
index 00000000..debc1e36
Binary files /dev/null and b/examples/test/images/Social/WitvlietData1_exc_to_neurons.png differ
diff --git a/examples/test/images/Social/WitvlietData2_elec_neurons_neurons.png b/examples/test/images/Social/WitvlietData2_elec_neurons_neurons.png
new file mode 100644
index 00000000..6b8a3590
Binary files /dev/null and b/examples/test/images/Social/WitvlietData2_elec_neurons_neurons.png differ
diff --git a/examples/test/images/Social/WitvlietData2_exc_to_neurons.png b/examples/test/images/Social/WitvlietData2_exc_to_neurons.png
new file mode 100644
index 00000000..34324841
Binary files /dev/null and b/examples/test/images/Social/WitvlietData2_exc_to_neurons.png differ
diff --git a/examples/test/images/Social/WormNeuroAtlas_elec_neurons_neurons.png b/examples/test/images/Social/WormNeuroAtlas_elec_neurons_neurons.png
new file mode 100644
index 00000000..d3e55a36
Binary files /dev/null and b/examples/test/images/Social/WormNeuroAtlas_elec_neurons_neurons.png differ
diff --git a/examples/test/images/Social/WormNeuroAtlas_exc_to_neurons.png b/examples/test/images/Social/WormNeuroAtlas_exc_to_neurons.png
new file mode 100644
index 00000000..673bbde7
Binary files /dev/null and b/examples/test/images/Social/WormNeuroAtlas_exc_to_neurons.png differ