MCB419 logo  




Homework

MCB 419 Homework 2 (Spring 2009)


Orienting strategies - orthokinesis and klinokinesis

This assignment has two parts. In part I, you will explore a pre-written simulation (Sowbug Demo) that illustrates the principle of orthokinesis. You do not have to write any NetLogo code for this part of the assignment, just run the simlation and answer the questions in the 'Assignment' section.

For the second part of the assignment, you will write your own code to implement a form of bacterial "chemotaxis". More accurately this is a form of "adaptive klinokinesis." A demo version is found on the 'Ecoli Demo' tab; specific guidelines for writing your simulation can be found on the 'Ecoli Specs' tab.

Answer the questions found on the 'Assignment' tab and email your responses along with a copy of your E. coli simulation file to mcb419@gmail.com with 'hw02' in the Subject line.

Here is a NetLogo file that you can download to help get you started on the E. coli simulation: hw02_template.nlogo

This assignment is due by 11:59PM (midnight) on Tue, Feb 3.

Download the source code here: hw02_sowbugs.nlogo

Specific Design Requirements/Guidelines

building the user interface

  • In Settings..., set max-pxcor=32, max-pycor=32, patch-size=6
  • set 'view updates' option to be 'on ticks' (rather than 'continuous')
  • 3 buttons labeled setup, step, and go
  • 1 monitor to show the mean concentration experienced by the bots on the current time step
  • 1 plot to show how the mean concentration experienced by the bots changes over time

button functionality

  • setup
    • the simulation should be cleared (clear-all)
    • the chemical concentration of the patches should be set to
      exp( -1 * (d / b) ^ 2 ), where
      d is the distance of the patch from the origin (distancexy 0 0)
      and b is a constant equal to max-pxcor / 2
    • patches should be drawn in varying shades of green, in proportion to their concentration value (see scale-color)
    • 10 bots should be created
    • a custom shape should be created for the bots that looks like a bacterium
    • bot positions should be randomly distributed around the perimeter of the concentration gradient at a distance of 0.9 * max-pxcor from the origin
    • bot headings should be randomized (0 to 360)
    • bots should start with their drawing pen in the 'down' state
  • step
    • all bots execute a SINGLE STEP of the behavior
    • the clock is updated (tick)
    • the plot of mean conc versus time is updated
  • go
    • same as step, except runs continuously

bot behavior

  • adaptive klinotaxis
    on each tick:
    move forward 1 unit
    "tumble" (random turn 0-360) if new concentration is less than previous concentration value

Assignment

You can access a copy of the assignment file HERE, or copy and paste from the text below.

=================================================================
MCB 419 Homework 2 (Spring 2009)

When you've finished answering all the questions, email a copy 
of this file (hw02.txt) with your responses as PLAIN TEXT in
the main body of the email message, and attach a copy of your
Netlogo simulation file (e.g. hw02.nlogo). 

Email to mcb419@gmail.com with 'hw02' in the Subject line. 

=================================================================

Part I: Sowbug Demo (hw2_sowbug.nlogo)

1. In the sowbug demo with  default parameters 
   (speed-on-grass = 1.0, speed-under-board = 0.02), 
   about how many ticks does it take for at least 
   80% (8/10) of the bugs to end up under the board?

2. For those bugs that are underneath the board at 
   that point in time, do they tend to be clustered
   near the edges or near the center of the board? Why?
   (hint: use the "show-bugs-under-board?" switch)

3. a) Set the slider values to:
      speed-on-grass = 1.0, speed-under-board = 1.0.
      Reset and run the simulation for about 1000 ticks.  
      On average, about how many bugs are under the
      board at any given time?

   b) Now set:
      speed-on-grass = 1.0, speed-under-board = 0.3.
      Continue running for another 1000 ticks.  
      What changes?

   c) Now set:
      speed-on-grass = 1.0, speed-under-board = 0.0.
      Run for another 1000 ticks.  What changes?


4. If real sowbugs used this particular strategy, what 
   might be the disadvantage, from a survival perspective, 
   of having "speed-under-board" equal to zero (i.e.,
   stop moving completely)?


5. a) Look at the NetLogo code in hw2_sowbug.nlogo. 
      What property of the SIMULATED environment are the 
      simulated sowbugs using to modify their response?  

   b) In the REAL WORLD, what sensing modalities would 
      most likely be involved in detecting a suitable 
      environment under the wood plank?

Part II: Bacterial "chemotaxis" (adaptive klinokinesis)

6. About how many ticks are required for the mean
   concentration experienced by the bots to reach 90% 
   of maximum?  Do you think this is faster or slower 
   than could be accomplished using an orthokinesis 
   strategy (like the sowbugs)? Why?
   

7. Modify your code to create a "noisy" Gaussian bump.
   Specifically, during setup, have each patch multiply 
   its "pconc" value by a random number between 0 and 1 
   relative to the original (smooth Gaussian) value. 
   Rerun the simulation and describe the behavior.  What
   implications does this result have for E. coli in the 
   real world?

8. The paper by Jurica and Stoddard summarizes the molecular
   signaling network for bacterial chemotaxis. The paper by
   Dusenbery summarizes the sorts of challenges that microbes
   face in their natural environment. In your own words, define
   the "problem" for which the chemotaxis signaling network is
   the "solution."  Try to be as specific as possible in your
   problem definition (e.g., "finding food" is too vague).
   Imagine, for example, that you're specifying the "problem" 
   for an engineer who has to come up with a solution for 
   controlling a nano-robot to perform the task.  What would
   the engineer need to know about the "problem"?

 
=================================================================
END OF THE ASSIGNMENT
=================================================================

Solution

This is just one possible solution. You can download the full NetLogo file (hw02_solution.nlogo), or just look at the code below.


 

Copyright © Mark E. Nelson, University of Illinois at Urbana-Champaign, 2005-2009. All rights reserved.