Background Information

Source Control

Source or version control is a system that records changes to a file or set of files over time so that you can recall specific versions later. It also prevents files from being altered by more than one person at a time.

Git

Git is a distributed version control system (DVCS) with an emphasis on fast performance and nonlinear editing. Initially conceived in 2005 as a development tool for the Linux kernel codebase, it is as of 2014 one of the most widely adopted version control technologies. Git is free and open source and it has been designed to handle everything from small to very large projects with speed and efficiency.

GitHub

Going through this 15-minutes in-browser tutorial is the quickest way of getting started with Git and GitHub. Another good option is this Hello World Guide for GitHub. This screencast by Ralf Ebert is a good all-around introduction (especially if you are already familiar with version control systems), while for a more systematic treatment see the excellent Pro Git book by Scott Chacon, available as part of the official documentation on Git’s website. The Visual Git Reference by Mark Lodato is very helpful when trying to understand some of the more advanced concepts.

Why GitHub?

Born in 2008, GitHub is now the largest open source code hosting service on the web, with more than 10 million repositories as of January 2013. It offers free hosting for open source, public git repositories as well as paid-for hosting for private ones, and an array of powerful tools for collaborative coding and social networking functionality such as feeds, followers, wikis, etc. It can be used via the web interface or standalone clients (see below).

Graphical clients for Windows and Mac

While many people interact with Git repositories through the command line interface, graphical applications are becoming increasingly popular for managing multiple local and remote repositories. GitHub has useful GUIs for interacting with repositories hosted there for Windows:

and Mac:

Alternatively, a more complex and general-purpose version control GUI is SourceTree (Windows and Mac):

Alternative Version Control System (VCSs) and hosting services

While GitHub is the hosting service we (strongly) recommend for new users, for those with specific technical requirements Open Source Brain supports Mercurial repositories hosted on Bitbucket (see for example Self Sustained Network Activity - Destexhe 2009) and self-hosted SVN/Git/Mercurial/Bazaar public repositories.

Computational Neuroscience

This document is intended to help newcomers to get into computational neuroscience.
Note that this is a living document and it will regularly be updated.
Offers of help to complete this are very welcome!

Books

####1. Neuroscience

- Cognitive Neuroscience, Michael S. Gazzaniga, Richard B. Ivry and George R. Mangun
- Principles of Neural Science, Eric Kandel

####2. Computational modelling/theoretical neuroscience

- Theoretical Neuroscience: Computational and Mathematical Modeling of Neural Systems, Peter Dayan and LF Abbott
- Methods in Neuronal Modeling: from Ions to Networks, C. Koch and I. Segev (eds.)
- Principles of Computational Modelling in Neuroscience, David Sterratt, Bruce Graham, Andrew Gillies and David Willshaw (eds.)
- Neuronal Dynamics - from single neurons to networks and models of cognition, Wulfram Gerstner, Werner M. Kistler, Richard Naud and Liam Paninski (freely available online!)
- Computational Neuroscience: Realistic Modeling for Experimentalists. E. De Schutter (ed.)
- Introduction To The Theory Of Neural Computation, John A. Hertz, Anders S. Krogh and Richard G. Palmer
- Vision: A Computational Investigation into the Human Representation and Processing of Visual Information, David Marr

- The handbook of brain theory and neural networks, Michael A. Arbib (ed.)

####3. Programming

- Matlab for Neuroscientists

- SciPy and NumPy

- Python for Data Analysis

- Think Stats

- Dive into Python

####4. Machine learning
- Pattern Recognition and Machine Learnign, Christopher M Bishop
- Machine Learning, A Probabalistic perspective, Kevin P. Murphy

Publications

####1. Review articles
- Atick, J.J., 1992. Could information theory provide an ecological theory of sensory processing?. Network: Computation in neural systems, 3(2), pp.213-251.
- Hines, M.L. and Carnevale, N.T., 1997. The NEURON simulation environment. Neural computation, 9(6), pp.1179-1209.
- Oztop, E., Kawato, M. and Arbib, M., 2006. Mirror neurons and imitation: A computationally guided review. Neural Networks, 19(3), pp.254-271.
- Bower, J.M., 2013. 20 years of computational neuroscience. New York: Springer.

- Brette, R., Rudolph, M., Carnevale, T., Hines, M., Beeman, D., Bower, J.M., Diesmann, M., Morrison, A., Goodman, P.H., Harris Jr, F.C. and Zirpe, M., 2007. Simulation of networks of spiking neurons: a review of tools and strategies. Journal of computational neuroscience, 23(3), pp.349-398.

####2. Classic papers

- Hodgkin, A.L. and Huxley, A.F., 1952. A quantitative description of membrane current and its application to conduction and excitation in nerve. The Journal of physiology, 117(4), p.500.
- McCulloch, W.S. and Pitts, W., 1943. A logical calculus of the ideas immanent in nervous activity. The bulletin of mathematical biophysics, 5(4), pp.115-133.
- Donald O.Hebb, The Organization of Behavior, New York: Wiley, Introduction and Chapter 4, "The first stage of perception: growth of the assembly," pp. xi-xix, 60-78.
- Lashley, K.S., 1950. In search of the engram.
- Von Neumann, J. and Kurzweil, R., 2012. The computer and the brain. Yale University Press.
- Rosenblatt, F., 1958. The perceptron: a probabilistic model for information storage and organization in the brain. Psychological review, 65(6), p.386
- Marr, D. and Poggio, T., 1976. Cooperative computation of stereo disparity. Science, 194(4262), pp.283-287.
- Grossberg, S., 1982. How does a brain build a cognitive code?. In Studies of mind and brain (pp. 1-52). Springer Netherlands.
- Ackley, D.H., Hinton, G.E. and Sejnowski, T.J., 1985. A learning algorithm for Boltzmann machines. Cognitive science, 9(1), pp.147-169.

Open Source Brain projects

See here for a list of OSB projects which contain tutorials, exercises, etc. in computational neuroscience.

Software

####1. Modelling

An overview of the main target simulators for models in Open Source Brain can be found here.

####2. Markup Languages

- A Model Description Language for Computational Neuroscience (NeuroML)

- Systems Biology Markup Language (SBML)

- CellML

####4. Libraries

Various usefull libraries include-

####4.1 Data analysis and scientific computing
- Pandas, python

- NumPy, python

- SciPy, python

####4.2 Data visualization

####4.3 Machine learning

Databases

Organisations

  • Organization for Computational Neurosciences (OCNS)
  • International Neuroinformatics Coordinating Facility (INCF)

Institutions, Laboratories and Research Groups

####1. Asia

- Computational Neuroscience Laboratories, ATR

- RIKEN Brain Science Institute (BSI)

- Neural Computation Unit, OIST

- Computational Neuroscience Unit, OIST
- Neurophysics lab, Hebrew University of Jerusalem, Israel
- Prof. Upinder S. Bhalla, NCBS, India

####2. Europe

- National Bernstein Network Computational Neuroscience

- Gatsby Computational Neuroscience Unit

- Centre for Computational Neuroscience and Cognitive Robotics (CNCR)
- Prof. Wolfgang Maass, Institute for Theoretical Computer Science, TU Graz

####3. USA

- Allen Institute of Brain Science
- Swartz Center for Computational Neuroscience, UCSD, CA
- Center for the Neural Basis of Cognition
- Seung Lab, Priceton, NY
- Neural Dynamics and Computation Lab, Stanford, CA
- Center for Theoretical Neuroscience, Columbia University, NY
- Sejnowski Lab, UCSD, CA

A more comprehensive list of labs, centers and researchers can be found here.

Mailing Lists, Blogs and News

####1. Mailing lists

- Computational Neuroscience (Comp-neuro)

- Computational and Systems Neuroscience (Cosyne)

- The connectionists mailing list (connectionists)

####2. Blogs
- Neuroskeptic
- Oscillatory Thoughts
- The Scicurious Brain
- xcorr : comp neuro
- PLOS Neuro
- Brain Box

####3. News

- Science Daily

- Neuroscience News

Online courses

####1. Coursera

- Computational Neuroscience

- Exploring Neural Data

- Machine Learning

- Synapses, Neurons and Brains

####2. edX

- Fundamentals of Neuroscience, Part I

- Fundamentals of Neuroscience, Part II

####3. Wulfram Gerstner

- Neuronal Dynamics - Computational Neuroscience of Single Neurons

- Modeling of Biological Neurons and Neural Networks

####4. OCW MIT

- Introduction to Computational Neuroscience

- Computational Cognitive Science

Other resources