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

Feat/nsgr integration #243

Merged
merged 24 commits into from
Sep 19, 2023
Merged

Feat/nsgr integration #243

merged 24 commits into from
Sep 19, 2023

Conversation

sanjayankur31
Copy link
Member

No description provided.

@sanjayankur31 sanjayankur31 changed the base branch from master to development July 27, 2023 16:35
@sanjayankur31 sanjayankur31 force-pushed the feat/nsgr-integration branch from 381389a to 772bf19 Compare July 27, 2023 16:59
@sanjayankur31 sanjayankur31 marked this pull request as ready for review July 28, 2023 16:59
@sanjayankur31
Copy link
Member Author

For the moment, I used the HH example from docs to test it out. It was submitted and ran fine but threw up this error that I now need to debug:

  File "LEMS_HH_single_compartment_example_sim_nrn.py", line 202
    py_v_pop0_0_/v_output0 = [ float(x  / 1000.0) for x in h.v_pop0_0_/v_output0.to_python() ]  # Convert to Python list for speed, variable has dim: voltage
    ^
SyntaxError: cannot assign to operator

Can reproduce on my local machine too, will debug and see what's causing it.

TODO for this PR: add a test

@sanjayankur31
Copy link
Member Author

A simple test in the pyneuroml/examples directory:

python -c 'from pyneuroml.nsgr import run_on_nsg ; run_on_nsg("jneuroml_neuron", "LEMS_NML2_Ex5_DetCell.xml")'

fails because the output is expected in a results directory, but the simulation does run.

It seems these are not re-generated by jnml if they already exist, and
so, they're not picked up here. Simplest to delete them all so that they
are always regenerated
Just makes it easier to test
@sanjayankur31 sanjayankur31 marked this pull request as draft August 4, 2023 13:38
@sanjayankur31
Copy link
Member Author

TODO: tweak netpyne run

This function

- gets a list of all the LEMS/NeuroML files that are required
- copies them to a new, clean directory
- generates all the simulation engine related files
- creates a zip with all these to send to NSG
- sends to NSG

If it is not interrupted, when the job finishes, the data from the job
is also downloaded to the new runner directory.
@sanjayankur31 sanjayankur31 marked this pull request as ready for review August 17, 2023 11:21
@sanjayankur31
Copy link
Member Author

This is now ready for review. It doesn't rely on newly generated files. It creates a new directory and does all its work there, so it should not be affected by any old files at all.

To test netpyne, in the examples folder, run (replace engine with jneuroml_neuron for neuron:

python -c 'from pyneuroml.nsgr import run_on_nsg ; run_on_nsg("jneuroml_netpyne", "LEMS_NML2_Ex5_DetCell.xml")'

Note that netpyne on nsgr is too old from the looks of it: NeuroML/NeuroML2#213

Copy commands do not re-create missing directories in the destination
path, so we need to re-create them manually.
@sanjayankur31 sanjayankur31 added T: enhancement Type: enhancement S: ready for review Status: ready for review labels Sep 15, 2023
@pgleeson pgleeson changed the base branch from development to experimental September 19, 2023 14:18
@pgleeson pgleeson merged commit 86fab33 into experimental Sep 19, 2023
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S: ready for review Status: ready for review T: enhancement Type: enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants