1 / 22

USC Brain Project: Lab Resources and Modeling Tools

USC Brain Project: Lab Resources and Modeling Tools. James Bonaiuto. Lab Resources. Wiki – Serves as our lab web page, provides lab member pages, collaboration and project pages, and links to our other resources

cree
Download Presentation

USC Brain Project: Lab Resources and Modeling Tools

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. USC Brain Project: Lab Resources and Modeling Tools James Bonaiuto

  2. Lab Resources Wiki – Serves as our lab web page, provides lab member pages, collaboration and project pages, and links to our other resources Calendar – Online calendar that all lab members can use to view, add, and edit lab events Mailing Lists – Automatic emails for bugs and SVN repository commits SVN Repository – Change tracking and centralized storage for all model, simulator, and web application code Bugzilla – Documentation and administration of model, simulator, and web application bugs

  3. Wiki – http://neuroinformatics.usc.edu All lab members can add and edit pages Wiki syntax cheat sheet: http://meta.wikimedia.org/wiki/Cheatsheet

  4. Wiki – Projects

  5. Wiki - Members Please create your user page and link to it here

  6. Wiki Member Page Format After logging in, click here to access your member page Then click here to edit Click Upload File to upload your (tasteful) image

  7. Wiki – Internal Resources Only lab members can access these pages

  8. Lab Calendar Accessed via the wiki: Or via Google calendar (tell me if you want me to share the calendar with you this way): USCBP Calendar USCBP Events Only lab members can access the calendar

  9. Mailing Lists • There are two mailing lists: • uscbp-vcs-l • Emails are automatically sent whenever code is committed to the SVN repository • uscbp-bugs-l • Emails are automatically sent whenever a bug is added to Bugzilla or the status of an existing bug has been changed (i.e. FIXED) • Tell me if you would like to be subscribed to either list. • There was a third list, uscbp-l, for general emails to the entire group. No one ever uses it. Should we revive it?

  10. SVN Repository – svn://neuroinformatics.usc.edu • Subversion (SVN) provides a code repository that can be used to track changes and maintain a central copy of code that multiple people can work on. • Instructions for accessing and using SVN and our repository are on the wiki: • http://neuroinformatics.usc.edu/mediawiki/index.php/SVN_Instructions • The repository currently contains the code for NSL, SCS, BODB (old and new versions), and several models including ACQ, MNS/MNS2, ILGM, TAM-WG, etc.

  11. Bugzilla – http://neuroinformatics.usc.edu/Bugzilla • (currently down!) Provides utilities to document, assign, and track the status of bugs See the wiki Internal Resources page for bug writing guidelines

  12. Use the Wiki!!!

  13. Modeling Tools • Neural Simulation Language (NSL) – provides programming language and simulation environment for neural modeling • Goal: Provide necessary framework so the modeler can focus on modeling • Schematic Capture System (SCS) – provides a graphical environment for model development using NSL • Goal: Make modeling easier for non-programmers • Brain Operation Database (BODB) – provides environment for model documentation and comparison • Goal: Increase the number of acronyms used by our lab • (Primary) Goal: Facilitate model comparison and evaluation NSL and SCS are documented on the wiki. There is a short paragraph and link to BODB, but we should put the BODB manual on the wiki as well.

  14. Neural Simulation Language NSL:Object-Oriented with Modules and Ports • A module in NSL includes a set of input and output (data) ports. • The module, the basic component in NSL, is somewhat analogous to the object in object-oriented applications. • A module encapsulates the internal complexity of its implementation by separating the internal details from the external interface. The external portion of the module is the part of the module seen by other modules. • Crucial features of NSL: • Explicit input and output ports for each module • Explicit construct for interconnecting module instances via ports with matching data types to form new modules

  15. Neural Simulation Language (NSL)Multi-level Simulation • Recursive Definition in a Module • A Leaf Level Module is equipped with the ability to: • initialize neurons • calculate membrane potentials and firing rates for neurons • A Recursively Defined Module is equipped with the ability to: • create neurons, layers, regions, or systems • connect neurons, layers, regions, or systems • initialize neurons, layers, regions, or systems • Hierarchical Models • Neurons can form layers • Layers can form regions • Regions can form systems • Systems can form models

  16. NSL Canvases • Various canvases are available to visualize module variables. In most canvases the canvas type and attributes (i.e. x and y limits) can be changed on the fly during simulation. Canvases can also be added during simulation. Canvas data can be saved in Matlab or Gnuplot format. Examples: Grayscale, Thermal, Spatial, Area, Temporal, Raster, Histogram, Input

  17. NSL Integration with MATLAB • NSL Modules can be of two types: NslJavaModule or NslMatlabModule • To create a NslMatlabModule, create the module and add the variables, input ports, and output ports and then save the module. • Empty Matlab functions will be created for the initRun, simRun, etc. methods. You can fill these in with Matlab code. • The module can be used and linked to in SCS just like any other module. • During simulation NSL will open Matlab, pass the values of the module input ports to the Matlab code, and retrieve the values of the output ports • Data from any type of module can be saved in Matlab format

  18. NSL 3D Simulation • NSL is now linked to the physics simulator ODE (Open Dynamics Engine) • This is a general rigid-body simulator that lets you specify the parameters of bodies and it will calculate their motion and contact forces and do collision detection and application of frictive force. • This system is coupled with Java3D to visualize these bodies in a 3D world – each body is associate with a 3D appearance. The simulator can be run with or without the physics turned on. “Viewports” can be attached to the simulated world to generate third- or first-person views and provide visual input to the model from a realistic perspective. Development is still ongoing, but all this functionality is in the Nsl3dCanvas class It works in Windows too!!

  19. Schematic Capture System (SCS) • SCS allows users to define modules in terms of input and output ports, submodules, and connections between them • For leaf-level modules the NSL code can be specified • The hierarchical structure of a model can be browsed, moving up and down in the module hierarchy • From SCS, the user can then compile the project, and launch the NSL simulator in either run or debug mode Top-Level Basal Ganglia GP/SNr

  20. SCS Installer • SCS has a sweet GUI installer that works with Windows and Linux (and reportedly Mac) on 32- and 64-bit architectures. • The installer will detect your OS and architecture and automatically install the appropriate libraries.

  21. Future Goals • Integrating NSL/SCS model development with BODB model documentation and evaluation. This requires • Methods for capturing simulation results and uploading them to BODB • Example: Synthetic brain imaging • Formal specification and mapping between experimental and simulation protocols • Extended module documentation functionality in SCS with the ability to upload model diagrams and descriptions to BODB and create diagrams in BODB • NSL currently contains raster and histogram canvases, but I’d like to bring in some functionality from NeuroBench for visualization and analysis of spike trains from experimental data and simulation • SCS currently saves all module information in a binary sif file and exports the NSL mod file. There are a lot of problems with this – we should use something like an XML file to save module information.

  22. Use the Wiki!!!!

More Related