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

Adding glif_psc_double_alpha model #2861

Closed
wants to merge 0 commits into from
Closed

Conversation

shixnya
Copy link
Contributor

@shixnya shixnya commented Jul 18, 2023

An extension of the glif_psc. This model uses sum of two alpha functions instead of a single alpha function as the post synaptic current input.

@shixnya shixnya marked this pull request as ready for review August 1, 2023 17:51
@heplesser heplesser requested a review from janskaar August 3, 2023 09:13
@heplesser heplesser added T: Enhancement New functionality, model or documentation S: Normal Handle this with default priority I: No breaking change Previously written code will work as before, no one should note anything changing (aside the fix) labels Aug 3, 2023
Copy link
Contributor

@heplesser heplesser left a comment

Choose a reason for hiding this comment

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

I just put in a formal block until formalities are in place.

@heplesser heplesser requested a review from nicolossus August 3, 2023 09:18
Copy link
Contributor

@janskaar janskaar left a comment

Choose a reason for hiding this comment

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

Since this is the only model with this type of postsynaptic current, should there perhaps also be included a test of its correctness?

@clinssen clinssen self-requested a review August 8, 2023 13:27
@shixnya
Copy link
Contributor Author

shixnya commented Aug 11, 2023

Since this is the only model with this type of postsynaptic current, should there perhaps also be included a test of its correctness?

Hi janskaar,

Thank you for the code review. I want to make a file for testing the synaptic connection of this model. Where do you think is the most appropriate place for it? Will it be 'testsuite/pytests/sli2py_neurons' or 'testsuite/unittests/?

@janskaar
Copy link
Contributor

Since this is the only model with this type of postsynaptic current, should there perhaps also be included a test of its correctness?

Hi janskaar,

Thank you for the code review. I want to make a file for testing the synaptic connection of this model. Where do you think is the most appropriate place for it? Will it be 'testsuite/pytests/sli2py_neurons' or 'testsuite/unittests/?

Hi, thanks for your reply.

The tests can be placed in testsuite/pytests/

Copy link
Contributor

@heplesser heplesser left a comment

Choose a reason for hiding this comment

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

The formalities are in place now, so I approve concerning the formalities. The usual code review should continue.

@shixnya
Copy link
Contributor Author

shixnya commented Aug 16, 2023

I made change to my PR so that all the parameters associated with the fast synaptic components are marked with '_fast'. I also added a file for checking some properties of the double alpha synapses (based on the test for glif_psc model), and fixed two other files that required extra parameters for testing the 'glif_psc_double_alpha' model.

Copy link
Contributor

@clinssen clinssen left a comment

Choose a reason for hiding this comment

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

Apologies, the underscore should not be prefixed when it's in a \text{} block. I made some suggestions to fix the rendering.

As these are just some small changes, I am already approving this PR. Many thanks!

I would recommend to tackle the issues with glif_psc.h in a separate PR to keep each individual PR lean.

Copy link
Member

@nicolossus nicolossus left a comment

Choose a reason for hiding this comment

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

@shixnya Thanks for this PR! This looks overall good to me. I have a few nitpicks, however, see comments below.

Could you also include a simple example that highlights the difference between this model and glif_psc?

@shixnya
Copy link
Contributor Author

shixnya commented Aug 31, 2023

Thank you all, for thorough reviews on the code and documentation. I think I addressed all the issues raised. Please let me know if there are any other things that need to be changed. Now I see "1 workflow awaiting approval". How can we proceed from here?

@nicolossus
Copy link
Member

@shixnya I also think the code and documentation is good to go. I still think an example that showcases the difference in dynamics of glif_psc_double_alpha and glif_psc should be added.

Examples reside in the pynest/examples/ directory. You can for instance take a look at the glif_psc example ( pynest/examples/glif_psc_neuron.py) for how examples are structured and formatted. In order to include the example in the documentation, you need to add it to

.. grid-item-card:: GLIF (from Allen institute)
:img-top: ../static/img/pynest/glif_cond.png
* :doc:`../auto_examples/glif_cond_neuron`
* :doc:`../auto_examples/glif_psc_neuron`

and also at the bottom of the same file

../auto_examples/glif_cond_neuron
../auto_examples/glif_psc_neuron

We need either @clinssen or @heplesser to start the CI workflow.

@shixnya
Copy link
Contributor Author

shixnya commented Sep 1, 2023

@nicolossus Thank you for reminding me! Yes. I added an example file for the double alpha synapse. And reapplied clang-format for the .h file that was modified. I hope this addresses all the concerns!

Copy link
Member

@nicolossus nicolossus left a comment

Choose a reason for hiding this comment

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

@shixnya Thanks! I have some minor grammatical suggestions in the example, but overall this looks good to me so I will go ahead and approve 👍

@shixnya
Copy link
Contributor Author

shixnya commented Sep 7, 2023

Sorry. I accidentally closed this PR while trying to rebase to the updated upstream master.
Please let me open another PR for this.

@nicolossus
Copy link
Member

@shixnya I think you just can undo the rebase and reopen this PR.

@shixnya
Copy link
Contributor Author

shixnya commented Sep 7, 2023

@nicolossus Thanks for the comment. There is a newly added test in the updated portion of the code that requires some changes to accept the glif_psc_double_alpha model, so undoing the rebase will fail the test.

Now I see an option to 'Reopen' this PR, but somehow I see 0 changes between nest-simulator/master and shixnya/master in this page, even though mine contains all the changes I made.

Without seeing your message, I've already created a new PR. Should I proceed with it, or try to stick with this one?

@nicolossus
Copy link
Member

I see, I am not quite sure what the preferred option is then. We could probably proceed with the new PR, but I think we need green light from a senior developer first (@heplesser).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I: No breaking change Previously written code will work as before, no one should note anything changing (aside the fix) S: Normal Handle this with default priority T: Enhancement New functionality, model or documentation
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

5 participants