Giter VIP home page Giter VIP logo

org.neuroml.model's People

Contributors

adrianq avatar borismarin avatar dependabot[bot] avatar epiasini avatar mattearnshaw avatar pgleeson avatar sanjayankur31 avatar tarelli avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

org.neuroml.model's Issues

Parsing performance

I was doing some profiling of Geppetto to see where the bulk of the time was spent with NeuroML documents, I found the following:

With the Purkinje cell:

[2015-02-07 15:02:54.637] INFO  http-bio-8080-exec-4         o.geppetto.model.neuroml.services.NeuroMLModelInterpreterService  Parsed NeuroML document of size 1170KB, took 1554ms

With the Auditory cortex model:

[2015-02-07 15:06:10.012] INFO  http-bio-8080-exec-5         o.geppetto.model.neuroml.services.NeuroMLModelInterpreterService  Parsed NeuroML document of size 2287KB, took 19064ms 

Auditory is twice the size and takes ten times the time to parse.
Twenty seconds is a LOT (even one second is).

This is the code

            /*
             * NEUROML
             */
            start=System.currentTimeMillis();
            NeuroMLConverter neuromlConverter = new NeuroMLConverter();
            NeuroMLDocument neuroml = neuromlConverter.loadNeuroML(neuromlString);
            _logger.info("Parsed NeuroML document of size "+neuromlString.length()/1024+"KB, took "+(System.currentTimeMillis()-start)+"ms");

Using version 1.4.0. but pretty sure it's the same with any version. This is with single selfcontained neuroml files that contain all the inclusion inside them.
cc @pgleeson @adrianq @borismarin

Add a test on unbranched, non overlapping segmentGroups

e.g. see
https://bitbucket.org/mbezaire/nc_superdeep/src/fab4d82bae57a42a7da0e595d0cf04f203787295/neuroConstruct/generatedNeuroML2/pvbasketcell.cell.nml?at=default

segmentGroups marked with neuroLexId sao864921383, e.g.

<segmentGroup id="bcdendBAS2_2" neuroLexId="sao864921383">
<member segment="39"/>
<member segment="40"/>
</segmentGroup>

can be used to specify a subset of segmentGroups in a cell which contain unbranched (each segment has a unique parent in this group apart from the first) and non overlapping (every segment in cell belongs to one and only one of these segmentGroups) groups.

A test for this should be added to https://github.com/NeuroML/org.neuroml.model/blob/development/src/main/java/org/neuroml/model/util/NeuroML2Validator.java

presynapticPopulation and postsynapticPopulation in projection are not parse as refcomponents but as attributes

When parsing a neuroml doc with jlems, presynapticPopulation and postsynapticPopulation in projection component should be refcomponents. For instance, synapse attribute in a projection component is parse as a refcomponent. However pre and post synaptic population are just attributes.

@pgleeson I have created this issue in this repo as I guess it has to do with neuroml comp definition but maybe it makes more sense to move it to another repo.

ArrayIndexOutOfBoundsException with some h5 files

nc_ca1 h5 file gives

Error reading request, ignored java.lang.ArrayIndexOutOfBoundsException: 3
        at org.neuroml.model.util.hdf5.NetworkHelper.getLocation(NetworkHelper.java:178)
        at org.geppetto.model.neuroml.modelInterpreterUtils.PopulateTypes.createPopulationTypeVariable(PopulateTypes.java:565)

this is fixed in org.neuroml.model development but awaiting release

Add test on numberInternalDivisions

numberInternalDivisions, nseg in NEURON, was recommended for inclusion as a property subelement of annotation in segmentGroup. Some APIs have trouble reading what's inside annotation (because it's defined as <xs:any.. > in the Schema), so now it's recommended to put it outside annotation:

<segmentGroup id = "mainDendSec"  neuroLexId="sao864921383">
    <property tag="numberInternalDivisions" value="3"/>
....

Validator should check for preferred use & possible inconsistency

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.