Skip to content

Commit

Permalink
Merge pull request #66 from yasinthanvickneswaran/master
Browse files Browse the repository at this point in the history
Test Witvliet
  • Loading branch information
pgleeson authored Feb 15, 2024
2 parents 5ee13fb + d5a8728 commit 02b226c
Show file tree
Hide file tree
Showing 17 changed files with 4,559 additions and 17 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/non_omv.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Non OMV tests
name: Non-OMV-tests

on:
push:
Expand Down
109 changes: 109 additions & 0 deletions c302/VarshneyDataReader.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
from c302.NeuroMLUtilities import ConnectionInfo
from c302.NeuroMLUtilities import analyse_connections

from xlrd import open_workbook
import os

spreadsheet_location = os.path.dirname(os.path.abspath(__file__))+"/data/"

from c302 import print_

READER_DESCRIPTION = """Data extracted from NeuronConnectFormatted.xls for neuronal connectivity"""

def read_data(include_nonconnected_cells=False, neuron_connect=True):



# reading the NeuronConnectFormatted.xls file if neuron_connect = True
if neuron_connect:
conns = []
cells = []
filename = "%sNeuronConnectFormatted.xls"%spreadsheet_location
rb = open_workbook(filename)
print_("Opened the Excel file: " + filename)

for row in range(1,rb.sheet_by_index(0).nrows):
pre = str(rb.sheet_by_index(0).cell(row,0).value)
post = str(rb.sheet_by_index(0).cell(row,1).value)
syntype = rb.sheet_by_index(0).cell(row,2).value
num = int(rb.sheet_by_index(0).cell(row,3).value)
synclass = 'Generic_GJ' if 'EJ' in syntype else 'Chemical_Synapse'

conns.append(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

else:
conns = []
cells = []
filename = "%sCElegansNeuronTables.xls"%spreadsheet_location
rb = open_workbook(filename)

print_("Opened Excel file: " + filename)

known_nonconnected_cells = ['CANL', 'CANR', 'VC6']


for row in range(1,rb.sheet_by_index(0).nrows):
pre = str(rb.sheet_by_index(0).cell(row,0).value)
post = str(rb.sheet_by_index(0).cell(row,1).value)
syntype = rb.sheet_by_index(0).cell(row,2).value
num = int(rb.sheet_by_index(0).cell(row,3).value)
synclass = rb.sheet_by_index(0).cell(row,4).value

conns.append(ConnectionInfo(pre, post, num, syntype, synclass))
if pre not in cells:
cells.append(pre)
if post not in cells:
cells.append(post)

if include_nonconnected_cells:
for c in known_nonconnected_cells: cells.append(c)

return cells, conns

def read_muscle_data():

conns = []
neurons = []
muscles = []

filename = "%sNeuronConnectFormatted.xls"%spreadsheet_location
rb = open_workbook(filename)

print_("Opened Excel file: "+ filename)

sheet = rb.sheet_by_index(0)

for row in range(1,sheet.nrows):
pre = str(sheet.cell(row,0).value)
post = str(sheet.cell(row,1).value)
num = int(sheet.cell(row,3).value)
syntype = 'Send'
synclass = sheet.cell(row,2).value.replace(',', 'plus').replace(' ', '_')

conns.append(ConnectionInfo(pre, post, num, syntype, synclass))
if pre not in neurons:
neurons.append(pre)
if post not in muscles:
muscles.append(post)


return neurons, muscles, conns



def main():

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()
205 changes: 205 additions & 0 deletions c302/W_SpreadsheetDataReader.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,205 @@
from c302.NeuroMLUtilities import ConnectionInfo
from c302.NeuroMLUtilities import analyse_connections

from openpyxl import load_workbook
import os

spreadsheet_location = os.path.dirname(os.path.abspath(__file__))+"/data/"


from c302 import print_


class WitvlietDataReader1:

def read_data(include_nonconnected_cells=False, neuron_connect=False):

if neuron_connect:
conns = []
cells = []
filename = "%switvliet_2020_7.xlsx"%spreadsheet_location
wb = load_workbook(filename)
sheet = wb.worksheets[0]
print_("Opened the Excel file: " + filename)


for row in sheet.iter_rows(min_row=2, values_only=True): # Assuming data starts from the second row
pre = str(row[0])
post = str(row[1])
syntype = str(row[2])
num = int(row[3])
synclass = 'Generic_GJ' if 'electrical' in syntype else 'Chemical_Synapse'

conns.append(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

else:
conns = []
cells = []
filename = "%switvliet_2020_7.xlsx"%spreadsheet_location
wb = load_workbook(filename)
sheet = wb.worksheets[0]

print_("Opened Excel file..: " + filename)

known_nonconnected_cells = ['CANL', 'CANR', 'VC6']


for row in sheet.iter_rows(min_row=2, values_only=True):
pre = str(row[0])
post = str(row[1])
syntype = str(row[2])
num = int(row[3])
synclass = 'Generic_GJ' if 'electrical' in syntype else 'Chemical_Synapse'


conns.append(ConnectionInfo(pre, post, num, syntype, synclass))
if pre not in cells:
cells.append(pre)
if post not in cells:
cells.append(post)

if include_nonconnected_cells:
for c in known_nonconnected_cells: cells.append(c)

return cells, conns


def read_muscle_data():

conns = []
neurons = []
muscles = []

filename = "%switvliet_2020_7.xlsx"%spreadsheet_location
wb = load_workbook(filename)
sheet = wb.worksheets[0]

print_("Opened Excel file: "+ filename)

for row in sheet.iter_rows(min_row=2, values_only=True):
pre = str(row[0])
post = str(row[1])
syntype = str(row[2])
num = int(row[3])
synclass = 'Generic_GJ' if 'electrical' in syntype else 'Chemical_Synapse'

conns.append(ConnectionInfo(pre, post, num, syntype, synclass))
if pre not in neurons:
neurons.append(pre)
if post not in muscles:
muscles.append(post)


return neurons, muscles, conns

def main1():

cells, neuron_conns = WitvlietDataReader1.read_data(include_nonconnected_cells=True)
neurons2muscles, muscles, muscle_conns = WitvlietDataReader1.read_muscle_data()

analyse_connections(cells, neuron_conns, neurons2muscles, muscles, muscle_conns)


class WitvlietDataReader2:
def read_data(include_nonconnected_cells=False, neuron_connect=False):

if neuron_connect:
conns = []
cells = []
filename = "%switvliet_2020_8.xlsx"%spreadsheet_location
wb = load_workbook(filename)
sheet = wb.worksheets[0]
print_("Opened the Excel file: " + filename)


for row in sheet.iter_rows(min_row=2, values_only=True): # Assuming data starts from the second row
pre = str(row[0])
post = str(row[1])
syntype = str(row[2])
num = int(row[3])
synclass = 'Generic_GJ' if 'electrical' in syntype else 'Chemical_Synapse'

conns.append(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

else:
conns = []
cells = []
filename = "%switvliet_2020_8.xlsx"%spreadsheet_location
wb = load_workbook(filename)
sheet = wb.worksheets[0]

print_("Opened Excel file..: " + filename)

known_nonconnected_cells = ['CANL', 'CANR', 'VC6']


for row in sheet.iter_rows(min_row=2, values_only=True):
pre = str(row[0])
post = str(row[1])
syntype = str(row[2])
num = int(row[3])
synclass = 'Generic_GJ' if 'electrical' in syntype else 'Chemical_Synapse'


conns.append(ConnectionInfo(pre, post, num, syntype, synclass))
if pre not in cells:
cells.append(pre)
if post not in cells:
cells.append(post)

if include_nonconnected_cells:
for c in known_nonconnected_cells: cells.append(c)

return cells, conns


def read_muscle_data():

conns = []
neurons = []
muscles = []

filename = "%switvliet_2020_8.xlsx"%spreadsheet_location
wb = load_workbook(filename)
sheet = wb.worksheets[0]

print_("Opened Excel file: "+ filename)

for row in sheet.iter_rows(min_row=2, values_only=True):
pre = str(row[0])
post = str(row[1])
syntype = str(row[2])
num = int(row[3])
synclass = 'Generic_GJ' if 'electrical' in syntype else 'Chemical_Synapse'

conns.append(ConnectionInfo(pre, post, num, syntype, synclass))
if pre not in neurons:
neurons.append(pre)
if post not in muscles:
muscles.append(post)


return neurons, muscles, conns

def main2():

cells, neuron_conns = WitvlietDataReader2.read_data(include_nonconnected_cells=True)
neurons2muscles, muscles, muscle_conns = WitvlietDataReader2.read_muscle_data()

analyse_connections(cells, neuron_conns, neurons2muscles, muscles, muscle_conns)

if __name__ == '__main__':
main1()
main2()
Loading

0 comments on commit 02b226c

Please sign in to comment.