Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace syn_type_id with connection_model for synapses. #23

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions source/recipe.rst
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,8 @@ To assign synapse properties, the classification field needs to be set:
.. note::

The type has to start with either ``E`` for excitatory connections or
``I`` for inhibitory connections.
``I`` for inhibitory connections. This legacy behavior may be overriden by
specifying the `connection_model` parameter for the `SynapsesClassification` section.

Two optional attributes may be set:

Expand Down Expand Up @@ -318,7 +319,7 @@ property name:
Truncated Normal distributions are limited to the central value ±σ and are
re-rolled until positive values has been obtained.

Two optional attributes can be specified, where each attribute will have to
Three optional attributes can be specified, where each attribute will have to
be given for all `SynapsesClassification` elements:

- `gsynSRSF`, the scale factor for the conductance; `SRSF`: 'synaptic receptor scaling factor'
Expand All @@ -332,6 +333,9 @@ be given for all `SynapsesClassification` elements:
where :math:`ca` denotes the simulated calcium concentration in
millimolar and :math:`y` a scalar such that at
:math:`ca = 2.0:\ u_\text{final} = u`. (Markram et al., 2015)
- `connection_model`, to specify the filename stub (without a final extension) that should
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a matter of personal taste, but I would more easily relate the concepts if this was named synapse_model. Please disregard if we will model connections which are not synapses

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would prefer that we stay with the generic 'model_template' like they have specified for edges in the SONATA paper with Allen: https://github.com/AllenInstitute/sonata/blob/master/docs/SONATA_DEVELOPER_GUIDE.md#representing-edges
In NEURON and other simulators, the generic word 'model' is used for various objects: ion channels, firing behavior, synapse, gap junction, etc

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Whatever is decided, it should match what is chosen for the column in #5. I'd prefer that we don't duplicate names in nodes and edges, simply because it makes it easier to grep for one or the other and it reduces potential confusion, but it's not a deal breaker for me.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

connection_model makes me think about the anatomical connection. synapse_model seems more appropriate to me.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

synapse_model does not work for the reason mentioned by @jamesgking - it is not only about synapses.

appear in the field with the same name in the corresponding SONATA edge file. Presence
of this attribute will suppress creating the `syn_type_id` field in the edge file.

These attributes will be copied for each synapse corresponding to its
classification. If they are not specified, no corresponding columns will
Expand Down
5 changes: 3 additions & 2 deletions source/sonata_tech.rst
Original file line number Diff line number Diff line change
Expand Up @@ -288,10 +288,11 @@ Group column represents the HDF group where the dataset is located under /<popul
where :math:`ca` denotes the simulated calcium concentration in
millimolar and :math:`y` a scalar such that at :math:`ca = 2.0:\ u_\text{final} = u`. (Markram et al., 2015)

/0 ``syn_type_id`` uint32 Mandatory Takes the value 0 for inhibitory synapses, 100 for excitatory synapses (numerical values due to historic reasons)
/0 ``syn_type_id`` uint32 Mandatory Takes the value 0 for inhibitory synapses, 100 for excitatory synapses (numerical values due to historic reasons). Deprecated, replaced by ``connection_model``.
/0 ``connection_model`` uft8 Mandatory Template or class of the model for the edge, should be an stored as an enumeration in the `@library` group.
/0 ``syn_property_rule`` uint32 Mandatory The position of the rule that leads to the synapse in the recipe
/0 ``delay`` float32 Mandatory The axonal delay (in ms, ``NaN`` for dendro-dendritic synapses).
/0/@library ``spine_morphology`` utf8 Optional Spine morphology file relative path, without the file extension.
/0 ``spine_morphology`` utf8 Optional Spine morphology file relative path, without the file extension. Should be stored as an enumeration in the `@library` group.
Example "mymorphology" or "mypath/mymorphology". Set to an empty string if synapse forms on the shaft.
/ ``edge_type_id`` int64 Mandatory Links an edge to the underlying CSV file; not used at BBP.
/ ``source_node_id`` uint64 Mandatory The id of the presynaptic neuron.
Expand Down