Compartmental models of growing neurites (Graham and van Ooyen 2004)

 Download zip file 
Help downloading and running models
Simulator for models of neurite outgrowth. The principle model is a biophysical model of neurite outgrowth described in Graham and van Ooyen (2004). In the model, branching depends on the concentration of a branch-determining substance in each terminal segment. The substance is produced in the cell body and is transported by active transport and diffusion to the terminals. The model reveals that transport-limited effects may give rise to the same modulation of branching as indicated by the stochastic BESTL model. Different limitations arise if transport is dominated by active transport or by diffusion.
1 . Graham BP, van Ooyen A (2004) Transport limited effects in a model of dendritic branching. J Theor Biol 230:421-32 [PubMed]
2 . Graham BP, van Ooyen A (2006) Mathematical modelling and numerical simulation of the morphological development of neurons. BMC Neurosci 7 Suppl 1:S9 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Axon; Dendrite;
Brain Region(s)/Organism:
Cell Type(s):
Gap Junctions:
Simulation Environment: Java;
Model Concept(s): Development;
Implementer(s): Graham, Bruce [B.Graham at];

General purpose data entry class
  - updated for Java 2

BPG 23-9-99

import java.awt.*;
import java.awt.event.*;

// Data entry class
public class DataEntry extends Dialog {

  Dialog thisDE;
  Button acc_butt, def_butt, can_butt;
  String[][] linfo;  // local info
  int lnEntries;  // local nEntries
  TextField[] data;  // data entry points 

  // Constructor for data entry
  public DataEntry(Frame parent, String title, String[][] info, int nEntries) {

    // Create data entry window
    super(parent, title, true);
    thisDE = this;  // for use by event handlers

    // Local references
    linfo = info;
    lnEntries = nEntries;

    // Layout manager
    this.setLayout(new BorderLayout(15, 15));

    // Panel of data entry fields
    int i;
    data = new TextField[nEntries];
    Panel pd = new Panel();
    pd.setLayout(new GridLayout(nEntries, 2, 1, 5));
    for (i = 0; i < nEntries; i++)  {
      pd.add(new Label(info[i][0]));
      pd.add(data[i] = new TextField(info[i][2], 3));
    this.add("Center", pd);  // put data entry in middle

    // Panel of control buttons
    Panel pb = new Panel();
    pb.setLayout(new FlowLayout(FlowLayout.CENTER, 15, 5));
    pb.add(acc_butt = new Button("Accept"));
    pb.add(def_butt = new Button("Default"));
    pb.add(can_butt = new Button("Cancel"));
    this.add("South", pb);  // put buttons at bottom of data entry

    // Actions for each button
    acc_butt.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent event) {
        for (int j = 0; j < lnEntries; j++)
          linfo[j][2] = data[j].getText();
    def_butt.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent event) {
        for (int j = 0; j < lnEntries; j++)
    can_butt.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent event) {

    // Set window to preferred size



Loading data, please wait...