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

 Download zip file 
Help downloading and running models
Accession:59582
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.
References:
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):
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: Java;
Model Concept(s): Development;
Implementer(s): Graham, Bruce [B.Graham at cs.stir.ac.uk];
/* ArrayStats.java

Methods for generating statistics from arrays of doubles

BPG 22-1-98
*/

import java.lang.Math;


public final class ArrayStats extends Object {

  // Mean of array (int)
  public static double mean(int[] a, int n) {
    // data in array "a"
    // length of array in "n"

    double sum=0;
    int i;

    for (i = 0; i < n; i++)
      sum = sum + (double)a[i];
    return(sum/(double)n);

  }

  // Mean of array (float)
  public static double mean(float[] a, int n) {
    // data in array "a"
    // length of array in "n"

    double sum=0;
    int i;

    for (i = 0; i < n; i++)
      sum = sum + (double)a[i];
    return(sum/(double)n);

  }

  // Mean of array (double)
  public static double mean(double[] a, int n) {
    // data in array "a"
    // length of array in "n"

    double sum=0;
    int i;

    for (i = 0; i < n; i++)
      sum = sum + a[i];
    return(sum/(double)n);

  }


  // Variance of array (unbiased estimate)
  public static double var(int[] a, int n) {
    double sum=0, mn;
    int i;

    if (n < 2)
      return 0;
    mn = mean(a, n);
    for (i = 0; i < n; i++)
      sum = sum + (((double)a[i]-mn)*((double)a[i]-mn));
    return(sum/(double)(n-1));

  }

  // Variance of array (unbiased estimate)
  public static double var(float[] a, int n) {
    double sum=0, mn;
    int i;

    if (n < 2)
      return 0;
    mn = mean(a, n);
    for (i = 0; i < n; i++)
      sum = sum + (((double)a[i]-mn)*((double)a[i]-mn));
    return(sum/(double)(n-1));

  }

  // Variance of array (unbiased estimate)
  public static double var(double[] a, int n) {
    double sum=0, mn;
    int i;

    if (n < 2)
      return 0;
    mn = mean(a, n);
    for (i = 0; i < n; i++)
      sum = sum + ((a[i]-mn)*(a[i]-mn));
    return(sum/(double)(n-1));

  }


  // Standard deviation of array
  public static double std(int[] a, int n) {
    return(Math.sqrt(var(a, n)));
  }

  // Standard deviation of array
  public static double std(float[] a, int n) {
    return(Math.sqrt(var(a, n)));
  }

  // Standard deviation of array
  public static double std(double[] a, int n) {
    return(Math.sqrt(var(a, n)));
  }

}

Loading data, please wait...