Disclaimer: If you are new contributor, please do not work on this issue at this time. If you would like to contribute, please find a different issue, and make sure that there is no Pull Request already open for that issue.
I have a question regarding #661 that I can't make sense of.
My understanding is that @raj1701 implemented a function called _update_end_pts in cell.py which allows us to access information on the section end points in python and not in NEURON, which helps with pickeling parallelization etc.
I do not understand why in cells_default.py we define end points that we don't end up using anyway.
E.g. the end points for the L2/3 pyramidal neuron in cells_default.py is
end_pts = {
'soma': [[-50, 0, 765], [-50, 0, 778]],
'apical_trunk': [[-50, 0, 778], [-50, 0, 813]],
'apical_oblique': [[-50, 0, 813], [-250, 0, 813]],
'apical_1': [[-50, 0, 813], [-50, 0, 993]],
'apical_tuft': [[-50, 0, 993], [-50, 0, 1133]],
'basal_1': [[-50, 0, 765], [-50, 0, 715]],
'basal_2': [[-50, 0, 715], [-156, 0, 609]],
'basal_3': [[-50, 0, 715], [56, 0, 609]],
}
but the actual end points (from net.cell_type['L2_pyramidal'].sections[section].end_pts) are:
end_pts = {
'soma': [[0, 0, 0], [0, 0, 22.1]],
'apical_trunk': [[0,0,22.099999999999987], [0,0,81.59999999999998]],
'apical_oblique': [[0,0,81.59999999999998], [-340, 0, 81.59999999999998]],
'apical_1': [[0, 0, 81.59999999999997], [0,0, 387.59999999999997]],
'apical_tuft': [[0, 0, 387.5999999999999], [0, 0, 625.5999999999999]],
'basal_1': [[0,0,0], [0,0,-85.0]],
'basal_2': [[2.842170943040401e-14, 0, -84.99999999999997], [-180.3122292025696, 0, -265.3122292025696]],
'basal_3': [[-2.842170943040401e-14, 0, -84.99999999999997], [180.3122292025696, 0, -265.312229202569]],
}
I think @rythorpe asked the same question in that PR too but I don't see a clear answer to it.
This does not seem to change the behavior of the cell as far as I can tell based on some clamping that I have done,
but it has caused confusion when developing new plots of the network cells.
Why define the "wrong" end points in cells_default.py to then overwrite them in private functions in cell.py?
@ntolley @jasmainak @rythorpe could you explain so that we can document this?
Thanks!
Disclaimer: If you are new contributor, please do not work on this issue at this time. If you would like to contribute, please find a different issue, and make sure that there is no Pull Request already open for that issue.
I have a question regarding #661 that I can't make sense of.
My understanding is that @raj1701 implemented a function called _update_end_pts in cell.py which allows us to access information on the section end points in python and not in NEURON, which helps with pickeling parallelization etc.
I do not understand why in cells_default.py we define end points that we don't end up using anyway.
E.g. the end points for the L2/3 pyramidal neuron in cells_default.py is
end_pts = {
'soma': [[-50, 0, 765], [-50, 0, 778]],
'apical_trunk': [[-50, 0, 778], [-50, 0, 813]],
'apical_oblique': [[-50, 0, 813], [-250, 0, 813]],
'apical_1': [[-50, 0, 813], [-50, 0, 993]],
'apical_tuft': [[-50, 0, 993], [-50, 0, 1133]],
'basal_1': [[-50, 0, 765], [-50, 0, 715]],
'basal_2': [[-50, 0, 715], [-156, 0, 609]],
'basal_3': [[-50, 0, 715], [56, 0, 609]],
}
but the actual end points (from net.cell_type['L2_pyramidal'].sections[section].end_pts) are:
end_pts = {
'soma': [[0, 0, 0], [0, 0, 22.1]],
'apical_trunk': [[0,0,22.099999999999987], [0,0,81.59999999999998]],
'apical_oblique': [[0,0,81.59999999999998], [-340, 0, 81.59999999999998]],
'apical_1': [[0, 0, 81.59999999999997], [0,0, 387.59999999999997]],
'apical_tuft': [[0, 0, 387.5999999999999], [0, 0, 625.5999999999999]],
'basal_1': [[0,0,0], [0,0,-85.0]],
'basal_2': [[2.842170943040401e-14, 0, -84.99999999999997], [-180.3122292025696, 0, -265.3122292025696]],
'basal_3': [[-2.842170943040401e-14, 0, -84.99999999999997], [180.3122292025696, 0, -265.312229202569]],
}
I think @rythorpe asked the same question in that PR too but I don't see a clear answer to it.
This does not seem to change the behavior of the cell as far as I can tell based on some clamping that I have done,
but it has caused confusion when developing new plots of the network cells.
Why define the "wrong" end points in cells_default.py to then overwrite them in private functions in cell.py?
@ntolley @jasmainak @rythorpe could you explain so that we can document this?
Thanks!