700 likes | 896 Views
XML for Model Specification: An Introduction and WorkshopAn Introduction to XML in the NeurosciencesSharon Crook, Arizona State UniversityAn Introduction to NeuroMLFred Howell, University of EdinburghNeuroML for Model Specification in ChannelDB and GENESISDave Beeman, University of Col
E N D
3. Text descriptions define the structure and semantics of the data.
Language elements/schema/object classes.
These are all potential benefits to using XML….Text descriptions define the structure and semantics of the data.
Language elements/schema/object classes.
These are all potential benefits to using XML….
4. Text descriptions define the structure and semantics of the data.
Language elements/schema/object classes.
These are all potential benefits to using XML….Text descriptions define the structure and semantics of the data.
Language elements/schema/object classes.
These are all potential benefits to using XML….
10. Scratch pad Ideas for new slides.
14. Language independent way to store complex structured information.
Huge industry momentum.
Not a programming language – so encourages declarative specifications.
Possible to transform from one format to another – whereas programs have to be recoded by hand
15. Cumbersome to edit by hand
Large text files, need to be compressed
Harder to parse than ad hoc text formats
Not suitable for binary data
18. Put XML model spec on your website, + links to code to run it.
Plus links back to any experimental data used to derive parameters / validate results.
See Robert Gentleman's campaign for “reproducible research”
(and also ModelDB)
19. Lots of levels of scale and detail of models (from protein interactions to large scale networks of neurons)
Different simulators have different and changing capabilities – which creates a moving target for attempts to build any standards
20. Should a model exchange format restrict itself to a standard subset of possible models, or cope with any possible model?
22. SBML : a standard for intracellular pathway models
CellML
MathML
23. “I'm writing a simulator and I'd like to get the models into NeuroML – what do I do?”
(1) Separate out the declarative aspects of the model spec
(2) Serialise the model into XML, using the NeuroML development kit (in Java) or your own code
(3) If any other developers are creating similar models, see if you can agree on a common set of classes to describe the models by hand
25. Data binding
29. simulators adopting own XML formats for serialising model descriptions
common standards working where the domain is stable (SBML, MorphML)
30. How much standardisation is useful?
Just XML in any format?
XML with uniform mapping from classes to <tags>?
A set of rigid standards for compartmental neurons, channels, receptors, networks, ...?
What features are needed from a development kit?
C++, python, java?
50. Building 3D Network Models with neuroConstruct(Summary of main presentation) Padraig Gleeson
University College London
p.gleeson@ucl.ac.uk
WAM-BAMM*05
31 March 2005 This is the presentation given at the 2005 WAM-BAMM meeting in San Antonio Texas.
It's a general introduction to the functionality of neuroConstruct and should provide a good overview of what kind of modelling the application can be used for.This is the presentation given at the 2005 WAM-BAMM meeting in San Antonio Texas.
It's a general introduction to the functionality of neuroConstruct and should provide a good overview of what kind of modelling the application can be used for.
51. Scope of Application Reuses existing base of models/modellers
Adds functionality
Graphical interface
Checks on morphologies
Network building capabilities
Storage/replay/analysis of simulations
Built with Java: runs on any platform
Code produced is native GENESIS/NEURON Some of the ways neuroConstruct adds extra functionality to models developed in NEURON and GENESIS.
The key is that the code produced is GENESIS/NEURON script as opposed to a new format. Modellers familiar wuith these formats can work easily with these generated files.
The extra functionality neuroConstruct adds includes: a better 3D interface, checks on the cell morphology, ability to easily construct networks of cells and simulation management. Some of the ways neuroConstruct adds extra functionality to models developed in NEURON and GENESIS.
The key is that the code produced is GENESIS/NEURON script as opposed to a new format. Modellers familiar wuith these formats can work easily with these generated files.
The extra functionality neuroConstruct adds includes: a better 3D interface, checks on the cell morphology, ability to easily construct networks of cells and simulation management.
52. Visualization Single Cells can be viewed in 3D
Information on morphology
Checks on consistency of cell structure
Segments can be edited
Info on basic electrophysiology One of the most obvious advantages neuroConstruct is the better support for visualisation of the cells. Problems with cell morphology can be isolated quicker, and these issues rectified by editing the cells.
Information on the biophysics of individual segments in the cells can be viewed, and figures for membrane capacitance/resistance, etc. given in the unit system of each of the target simulation environmentsOne of the most obvious advantages neuroConstruct is the better support for visualisation of the cells. Problems with cell morphology can be isolated quicker, and these issues rectified by editing the cells.
Information on the biophysics of individual segments in the cells can be viewed, and figures for membrane capacitance/resistance, etc. given in the unit system of each of the target simulation environments
53. Screenshot: Cell Visualization A view of a single cell in 3D placed at random in a rectangular box.A view of a single cell in 3D placed at random in a rectangular box.
54. Packing in 3D Cell Groups are packed in 3D Regions
Rectangular Box
Spherical
Various Packing Patterns
Random
Cubic close packed
Hexagonal
Single positioned
Evenly spaced in 1D Each of the prototype cells in neuroConstruct can be placed in 3D Regions in Cell Groups.
At the moment, Cells can be placed in either a rectangular box (cubloid) or a spherical region. These can overlap.
Cells can be packed in a number of ways, such as random, regularly spaced or at specified locations.Each of the prototype cells in neuroConstruct can be placed in 3D Regions in Cell Groups.
At the moment, Cells can be placed in either a rectangular box (cubloid) or a spherical region. These can overlap.
Cells can be packed in a number of ways, such as random, regularly spaced or at specified locations.
55. Screenshot: Packing in 3D Screenshot of cells packed in 2 Regions
Cells packed in the same region are packed around one another in the order the Cell Groups are listed in the tableScreenshot of cells packed in 2 Regions
Cells packed in the same region are packed around one another in the order the Cell Groups are listed in the table
56. Simulator Interaction(1) Morphology files can be imported from
GENESIS (*.p readcell format files)
NEURON (most ntscable like files, with create, pt3dadd, connect)
Cvapp (SWC format files)
MorphML
Imported cells are checked for validity: i.e. errors which may cause problems on some platforms
zero length segments
all except root segment have parents
unique names, etc. The various formats in which The various formats in which
57. Simulator Interaction(2) Files can currently be exported to:
NEURON, for simulation
GENESIS, for simulation
MorphML, for publishing/use by other simulators
Cell info held in simulator independent format
Can be mapped to other/future simulators
58. Cell Processes Generic models of Cell Process (channels/synapses) can be used in neuroConstruct
Model separated from experimentally measured parameters
Reuse of tried and tested template files
Can be mapped on to any simulator
Automatic handling of units
59. Modularity of Cell Processes (1)
60. Modularity of Cell Processes (2)
61. Screenshot: Cell Processes
62. Morphology mapping (1) neuroConstruct Concepts
Section: unbranched part of axon/dendrite with the same biophysical properties
Segment: Specifies one 3D point along Section, shaped like conical frustum
Section specifies start point, Segments specify 3D points along
63. Morphology mapping (2) Going from GENESIS -> NEURON
Reasonably straightforward
Compartments in GENESIS mapped to segments in neuroConstruct
Going from NEURON -> GENESIS
Non-trivial: mapping conical sections to cylinders
Simple mapping: each segment to compartment with equivalent surface area
64. NeuroML/MorphML interaction neuroConstruct currently allows:
Import & export of MorphML morphologies
Future support
Greater support for specification of groups/Cell Process locations in MorphML format
Importation of Cell Processes in NeuroML format
Export of network structure in NeuroML format
Generation of simulation code in NeuroML/NeoSim format