= !NeuroTools = !NeuroTools is not a neural simulator, but rather a collection of tools to support all tasks associated with a neural simulation project which are not handled by the simulation engine. !NeuroTools is written in Python, and works best with [http://neuralensemble.org/PyNN PyNN], or one of the growing list of simulation engines with a Python front-end such as [http://www.neuron.yale.edu/neuron NEURON], [http://www.nest-initiative.org NEST], [http://sourceforge.net/projects/pcsim/ PCSIM], [http://wwwasic.kip.uni-heidelberg.de/asicnew/vision/projects/facets/software_and_experiments/ FACETS Neuromorphic VLSI], [http://brian.di.ens.fr/ Brian], [http://moose.sourceforge.net MOOSE/GENESIS], [http://neurospaces.sourceforge.net/ Neurospaces/GENESIS]. !NeuroTools provides modules to facilitate simulation setup, parameterization, data management, analysis and visualization. The data-related tools are equally suited to analysis of experimental data, although that is not the primary motivation for their development. !NeuroTools aims to: 1. increase the productivity of individual modellers by automating, simplifying, and establishing best-practices for common tasks, 2. increase the productivity of the neuroscience modelling community by reducing the amount of code duplication across simulation communities, 3. increase the reliability of data analysis tools leveraging [http://en.wikipedia.org/wiki/Given_enough_eyeballs Linus's law]: "given enough eyeballs, all bugs are shallow." !NeuroTools is open-source software, and anyone who is interested is welcome to contribute ([http://neuralensemble.org/trac/NeuroTools#Developerpages more]). For installation instructions, see [source:trunk/INSTALL INSTALL]. == Users' Guide == !NeuroTools functionality is modularized as follows: * The [wiki:signals signals] module provides core functionality that allows manipulation of and calculations with spike trains and analog signals. * The [wiki:spike2 spike2] module offers an easy way for reading data from CED's Spike2 Son files into the !NeuroTools enviroment. * The [wiki:parameters parameters] module contains classes to make managing large, hierarchical parameter sets easier. * The [wiki:analysis analysis] module contains miscellaneous analysis functions * The [wiki:stgen stgen] module contains various stochastic process generators relevant for Neuroscience (OU, poisson, inhomogenous gamma, ...). * The [wiki:utilities utilities] sub-package contains`srblib`, an easy-to-use interface for interacting with [http://www.sdsc.edu/srb/index.php/Main_Page SRB] servers. * The [wiki:io io] module is the gateway for all reading/writing of files, in different formats, in NeuroTools. * The [wiki:plotting plotting] module contains a collection of tools for plotting and image processing, based on Matplotlib and the Python Imaging Library. * The [wiki:datastore datastore] module presents a consistent interface for persistent data storage (e.g., for caching intermediate results), irrespective of storage back-end. See also the ExampleScripts, more real-world [wiki:examples] and the [http://neuralensemble.org/cookbook NeuralEnsemble Cookbook]. If you have questions, there are nice people to answer them at the !NeuralEnsemble [http://groups.google.com/group/neuralensemble googlegroup]. If you feel you have discovered a bug, please let us know so we can fix it by posting a ticket using the "New Ticket" button in the toolbar above. == API documentation == (automatically generated from docstrings by source:trunk/doc/wikidoc.py - very likely to be out of date - check the source code for the latest changes) * [wiki:api:signals `signals` module] * [wiki:api:analysis `analysis` module] * [wiki:api:parameters `parameters` module] * [wiki:api:stgen `stgen` module] * [wiki:api:utilities `utilities` module] * [wiki:api:plotting `plotting` module] * [wiki:api:datastore `datastore` module] * [wiki:api:spike2 `spike2` module] == Developer pages == For those interested in contributing to the development of !NeuroTools, please browse the following links. * [wiki:DeveloperGuidlines] - Guidelines and resources for code contributors to help with normalization * [wiki:management] - who is the maintainer for which module * [wiki:nose] - results of running the unit test suite * [wiki:dist] - testing installation, dependencies, packaging * Notes on HdfTools = Links = * [http://neuralensemble.org] - The !NeuralEnsemble initiative * [http://software.incf.org] - The !INCF software center, a resource that makes it easy for neuroscientists to find, use and share software tools. * [http://neuralensemble.org/cookbook NeuralEnsemble Cookbook] - share your recipies! * [http://neuralensemble.org/PyNN PyNN] - simulator-independent specification of neuronal network models in Python * [http://neuralensemble.org/trac/OpenElectrophy OpenElectrophy] - simplified data and analysis sharing for intra- and extra-cellular recordings leveraging !MySQL. * [http://www.neuron.yale.edu/neuron NEURON] - a standard package in the community for empirically-based simulations of neurons and networks of neurons. * [http://www.nest-initiative.org NEST] - for simulating large heterogeneous networks of point neurons or neurons with a small number of compartments. * [http://sourceforge.net/projects/pcsim/ PCSIM] - a tool for distributed simulation of heterogeneous networks composed of different model neurons and synapses. * [http://wwwasic.kip.uni-heidelberg.de/asicnew/vision/projects/facets/software_and_experiments/ FACETS Neuromorphic VLSI] - networks with billions of synapses operating 10^4^ times faster than biological nervous systems. * [http://brian.di.ens.fr/ Brian] - a new simulator for spiking neural networks with in Python, well suited for rapid development of new models, especially networks of single-compartment neurons, and teaching computational neuroscience. * [http://moose.sourceforge.net MOOSE/GENESIS] - The Multiscale Object-Oriented Simulation Environment. It is the base and numerical core for large, detailed simulations including Computational Neuroscience and Systems Biology. * [http://neurospaces.sourceforge.net/ Neurospaces/GENESIS] is a development center for software components of computational neuroscience simulators. * [http://incf.org/programs/modeling/music-multi-simulation-coordinator MUSIC] - MUlti-SImulation Coordinator * [http://pybrain.org PyBrain] is a modular Machine Learning Library for Python. * [http://brahms.pbwiki.com/ BRAHMS] is a Modular Execution Framework, knitting together process software written independently into a single integrated system, and supervising the deployment and execution of that system. * [http://mdp-toolkit.sourceforge.net/ MDP] - Modular toolkit for Data Processing (MDP) is a Python data processing framework. * [http://www.psychopy.org/ PsychoPy] is an open-source package for creating psychology stimuli in Python combining the graphical strengths of OpenGL with the easy Python syntax. * [http://www.visionegg.org/ VisionEgg] is a high level interface between Python and OpenGL for automatic generation of traditional visual stimuli. * [http://userwww.service.emory.edu/~cgunay/pandora PANDORA's Toolbox] is a set of database analysis and visualization tools in MATLAB (c) for simulated and recorded electrophysiological data. = License = NeuroTools: Analysis, visualization and management of real and simulated neuroscience data. Copyright (C) 2010 Daniel Bruederle, Andrew Davison, Jens Kremkow, Eric Mueller, Eilif Muller, Martin Nawrot, Michael Pereira, Laurent Perrinet, Michael Schmuker, Pierre Yger. NeuroTools is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. The GNU General Public License does not permit this software to be redistributed in proprietary programs. = Acknowledgments = !NeuroTools is a community-driven open-source project with many hard working contributors: [source:trunk/AUTHORS AUTHORS], [source:trunk/THANKS THANKS]. !NeuroTools software development is supported in part by the EU under the grant IST-2005-15879 ([http://www.facets-project.org FACETS]).