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

Visualise/verify network connectivity as exported in NML2 #16

Closed
pgleeson opened this issue Jan 4, 2016 · 17 comments
Closed

Visualise/verify network connectivity as exported in NML2 #16

pgleeson opened this issue Jan 4, 2016 · 17 comments

Comments

@pgleeson
Copy link
Member

pgleeson commented Jan 4, 2016

Issue OpenSourceBrain/redmine#245 should be resolved now...

First requirement with all of this is making sure the network is valid... Could you commit an example of the exported network if you're still having problems @JustasB?

@JustasB
Copy link
Contributor

JustasB commented Jan 4, 2016

@pgleeson Ok, take a look at this net
https://github.com/JustasB/MiglioreEtAl14_OlfactoryBulb3D/blob/master/NeuroML2/Networks/Bulb_2MC_20GC.net.nml

It validates with jnml -validate (at least locally). Don't know if this will show at all, as I haven't gotten nC to run yet.

@pgleeson
Copy link
Member Author

pgleeson commented Jan 5, 2016

One issue with nC is that you'd have to manually import all of the Mitral/GC cells to the nc project to be able to visualise a network with connections... The command line import needs work: NeuralEnsemble/neuroConstruct#47

Better in the shorter term is the OSB visualisation option or the SVG export.

To allow you to test the visualisation of networks and cells (I see you've restructured the nml2 files in your fork) you could add a new OSB project and point it at your fork on github. Then you would be able to visualise any *.nml cels in the drop down menus in OSB 3D explorer

Note this however: openworm/org.geppetto#463

@JustasB
Copy link
Contributor

JustasB commented Jan 6, 2016

Ok, got it into a private OSB project. When I load it in the 3d explorer, it just spins the star icon saying it's taking longer than usual. Console is frozen, so don't know if there are any errors.

http://opensourcebrain.org/projects/d-olfactory-bulb-network?explorer=https%253A%252F%252Fraw.githubusercontent.com%252FJustasB%252FMig3DTest%252Fmaster%252FNeuroML2%252FNetworks%252FBulb_2MC_20GC.net.nml#

I'll mess with a bunch of different versions of the network to see if it will render.

@JustasB
Copy link
Contributor

JustasB commented Jan 6, 2016

Ok jnml -svg is showing something:
screen shot 2016-01-06 at 9 52 15 am

I'll try a few more models

@adrianq
Copy link

adrianq commented Jan 6, 2016

@JustasB I have just had a look at your network. OSB Explorer is not able to reproduce the network because you are using a ComponentType as the synapse. It should be a component instead. So the best option is probably to include another NeuroML file with the synapse (component) as we are doing here.

@JustasB
Copy link
Contributor

JustasB commented Jan 6, 2016

@adrianq Thank you. Anyway to make that into an error message visible in the console? I don't want to take up your guys' time with small mistakes like that.

@pgleeson
Copy link
Member Author

pgleeson commented Jan 6, 2016

@JustasB Good point re that check. Would be better to put that in jnml -validate to catch such errors earlier. It had been mentioned here: NeuroML/org.neuroml.model#12 (comment).

I've just locally implemented that check (and others, e.g. component pointed to by population not found, which is also a problem with your file, Granule_0_92389 etc.). Will do some tests on other NML examples on OSB and commit in the next day or two...

@adrianq
Copy link

adrianq commented Jan 6, 2016

@JustasB you are right. This is something we should expose to the user but at the moment there is not an easy way to implement it. I will try to find a solution for the next release and let you know...

@JustasB
Copy link
Contributor

JustasB commented Jan 6, 2016

Take a look at svg export with 100 mitrals and ~1000 granules

screen shot 2016-01-06 at 11 43 45 am

@pgleeson
Copy link
Member Author

pgleeson commented Jan 6, 2016

Nice... I think what's happening though is the somas of the mitral cells are already in place, i.e. not at (0,0,0), but you're positioning them at that location, i.e. they're being shifted twice. Try using

 <location x="0" y="0" z="0"/>

Also a nice tool to try is pynml-povray in pyNeuroML. You can even make movies...

@JustasB
Copy link
Contributor

JustasB commented Jan 6, 2016

OK, here is the full mitral cell set (635) with ~1000 granules. This is with mitral location xyz=0

screen shot 2016-01-06 at 4 37 56 pm

@scrook
Copy link
Member

scrook commented Jan 7, 2016

Beautiful!

@pgleeson
Copy link
Member Author

pgleeson commented Jan 8, 2016

@JustasB updates to validator mentioned above have been committed, you'll get them if you pull & build jNeuroML from source again (python getNeuroML.py development).

@JustasB
Copy link
Contributor

JustasB commented Jan 23, 2016

@pgleeson Is there any way to specify the orientation of the cells? For example in the above network, all the gran cells are pointing in one direction. Do you have any examples of setting the orientation of the cell, or does it all have to be done via the segment positions in the cell definition?

@pgleeson
Copy link
Member Author

Currently, there is no way to (re)orient the cells in a population. This is part of the long term plans for nml2, but won't be there any time soon. I see you have done the next best thing currently available and exported an instance of each Grc & included those. Looks good.

@JustasB
Copy link
Contributor

JustasB commented Feb 2, 2018

The verified connectivity has been implemented here: This has been implemented here: #25

@JustasB JustasB closed this as completed Feb 2, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants