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