Home

Tutorial on agent-based models in NetLogo

image

Contents

1. Tutorial on agent based models in NetLogo Instructor Catherine Beauchemin cbeau ryerson ca Assistant Laura Liao Department of Physics Ryerson University June 16 2011 Abstract This tutorial written in NetLogo will introduce the participant to designing and implementing an agent based model The project will consist of modelling T cell move ment within a lymph node It is broken into a series of incremental steps of increasing complexity Each step is described in detail and the code to type in is initially pro vided However the project has room to grow in complexity and biological realism so participants who finish more rapidly will be assisted in bringing their project beyond the scope of the tutorial or in developing a project of their own Suggested reading In preparation for the class and tutorial participants are encouraged to read e N Moreira In pixels and in health Computer modeling pushes the threshold of medical research Science News 169 3 40 44 21 Jan 2006 e C Beauchemin J Samuel J Tuszynski A simple cellular automaton model for influenza A viral infections J Theor Biol 232 2 223 234 21 Jan 2005 doi 10 1016 j jtbi 2004 08 001 e DM Catron AA Itano KA Pape DL Mueller and MK Jenkins Visualizing the first 50 hr of the primary immune response to a soluble antigen Immunity 21 3 341 347 Sep 2004 doi 10 1016 j immuni 2004 08 007 1 NetLogo A basic introduction 1 1 Getting NetLogo
2. de Boer Lymph node topology dictates T cell migration behavior J Exp Med 204 4 771 780 2007 2 T R Mempel S E Henrickson and U H von Adrian T cell priming by dendritic cells in lymph nodes occurs in three distinct phases Nature 427 6970 154 159 8 January 2004 3 M J Miller A S Hejazi S H Wei M D Cahalan and I Parker T cell repertoire scanning is promoted by dynamic dendritic cell behavior and random T cell motility in the lymph node P Natl Acad Sci USA 101 4 998 1003 27 January 2004 4 M J Miller S H Wei I Parker and M D Cahalan Two photon imaging of lymphocyte motility and antigen response in intact lymph node Science 296 5574 1869 1873 7 June 2002 10
3. To obtain NetLogo for your computer operating system Mac Linux Windows visit the NetLogo website at http ccl northwestern edu netlogo 1 1 2 Looking at a finished model from the Models Library We ll now have a look at what an example finished client looks like 1 Select File Models Library 2 Select Sample Models Biology Tumor You see 3 tabs Interface Where the simulation gets displayed and the end user can interact with it using the available sliders buttons etc which were made available by the author of the model Information Where you can find general information about the model what it is how to use it etc It is essentially the help page for the model Procedure Where the NetLogo code driving the model is located You can modify it and see what happens or you can write brand new code 1 2 1 Exploring the Interface tab The setup button is a standard button in NetLogo and it is used to initialize the model i e set up the starting conditions for your model For example how many cells do you want initially where should they be what colour should they be what should be their initial state e g infected uninfected dead The go button does exactly what you d expect it makes the simulation go But be sure to press setup before you press go The remaining buttons allow you to trigger certain actions during the course of the simulations The var
4. to later It s good to make your changes incrementally Now check that your code still works as before by pressing the setup and go buttons Ifall is still working you re ready to start creating the identify DCbound tcells function What we want is to e Create a directed link from the DC and all T cells within a 2 patch diameter e Make the link red just like the DC e Set the tDCfree to 3 min e Make the linked T cells blue Here is how you do this in NetLogo to identify DCbound tcells function to identify DC bound T cells ask DCs create links to tcells with color blue in radius 2 set color red make the link red set tDCfree 3 bound for 3 minutes ask end2 set color blue make the linked T cell blue end For each DC create links to creates a link from that DC to all T cells whose colour is not blue which are located within a radius of 2 patches The with color blue ensures that only T cells that are not blue i e that are not already linked to a DC are considered The ask end2 means ask the turtle at the end of the link in this case it is a T cell since the directed link is from the DC to the T cell to become blue That s great but now the T cells remain blue forever and their link to the DCs are never removed Time to write our update link status function to update link status function to update the DC T cell links ask links set tDCfree tDCfree dt update time remaini
5. ased on whatever rules are defined for its motion Because it can move a turtle agent is identified not by its coordinate but instead by a who number Turtles can also hold variables and you can have different breeds of turtles different types of turtle agents e g rabbits and hares Link A connection which can be created between two turtle agents It appears as a line corresponding to the shortest path between the two turtles A link is identified by the who number of the two turtles it links Links can hold variables and you can have different breeds of links Note that by default the NetLogo world uses toroidal boundary conditions meaning that anything which disappears off one edge of the world reappears on the opposite side You can change this in NetLogo 2D only under Settings by unchecking the World wraps checkboxes For our two projects we ll use the default periodic boundary conditions 2 Project T cell movement within lymph nodes 2 1 Project description This project consists of T cells moving around within a 3D lymph node encountering antigen loaded dendritic cells DCs and making brief contacts You will first create 100 T cells and have them move around randomly You ll then introduce 2 DCs and when a T cell encounters a DC the T cell will stop moving for 3 min before resuming its regular motion You will keep track of how many T cells have encountered a DC and you ll plot how that number evolves
6. d and check the Forever checkbox Click the button wow look at these T cells go You can adjust the speed with the slider But perhaps you d like to create a button to see the T cells move by one step only Sure create a button as before enter go in the Command but this time do not check the Forever checkbox and you might want to change the display name to one step or something similar to distinguish it from the other go button 2 2 3 Let s get Physical Alright we have nice little balls moving around a grid travelling at a speed of one patch per time step What is that We need to map the time and space in our model to REAL physical time and space Here is how to do this Since we did not specify the size of our tcells NetLogo created them with a diameter of one 1 So without even noticing we have decided that a distance of 1 in our simulation space corresponds to a physical distance of 8 um in real life i e the diameter of a T cell This seems like a good choice so we ll leave it like that As for time let s decide that each time step of our simulation corresponds to 0 5 min or 30 s So let s define 0 5 min dt 1 time step 8 ds a 1 patch Based on the two photon microscopy literature we know T cells move at a speed of about 16 um min How do we convert that to units of patch per time step for use in NetLogo UNetLogo gt um 0 5 min 1 patch l
7. d each DC You could also use colour to visually identify those T cells which have encountered both 2 3 2 The effect of T cell movement This extension consists of exploring how different modes of movement for T cells affect the number of DC T cell encounters over the course of the simulation For inspiration for T cell movement check out these references 1 2 4 2 3 3 Random walk versus chemotaxis This extension consists of exploring the effect of chemokine biased T cell movement You could make your DCs secrete chemokines into their patch have the chemokines diffuse check out the diffuse function to neighbouring sites and have T cells move preferentially towards the sites with more chemokines check out the uphill function 2 4 A new project altogether If you d rather try another project why not try to model the progress of an influenza viral infection in vitro in a cell culture You could create a grid of 50 x 50 confluent cells which will be either uninfected white latently infected green infectious red or dead black At each time step you would determine if uninfected cells become infected based on the number of infectious neighbours they have would turn latently infected cells into infectious cells after 6 h and would turn infectious cells into dead cells after 24 h You could plot the fraction of cells in each state over time References 1 J B Beltman A F Mar e J N Lynch M J Miller and R J
8. ell green setxyz random xcor random ycor random zcor put T cell at random location create DCs 2 set size 2 make DC of size 2 twice that of T cells set color red make DC red setxyz random xcor random ycor random zcor end Let s link the setup function to a setup button Go to your Interface tab Make sure Button is selected press Add and click anywhere in the Interface window Under Commands type setup i e the name of the function you just created Every time you click the setup button your setup function is run Click it a few times to see how your initial setup changes 2 2 2 Setting the T cells in motion We d like to make our T cells move To begin with let s make them move randomly but with a preference for continuing in their current direction i e no drastic turn arounds We ll create a go function just below our setup function in our Procedure tab to go ask tcells right random normal 0 90 Pick random turn angle avg 0 std dev 90 deg roll right random normal 0 90 Pick random roll angle forward 1 end The right angle command turns your turtle to the right by angle degrees Here instead of specifying the exact angle we use random normal 0 90 which will pick a random angle from a normal distribution of mean zero and standard deviation 90 Now create a button as before but this time enter go in the Comman
9. iate names for the x and y axis labels e g time min and Number Now run the simulation and see what happens cool 2 3 Open ended problems Well that was fun Now it s your turn Below are a few challenging additions for you to work into your code If you have time dive in and see how far you can get To assist you in writing the code the following resources will be invaluable NetLogo User Manual You will find it at http ccl northwestern edu netlogo docs In particular under Reference check out the Programming Guide and the NetLogo Dictionary from the left hand side menu Models Library You will find those within NetLogo under File Models Library In particular check out the Code Examples models which are very helpful Most of these codes are also available online at http ccl northwestern edu netlogo models but not the Code Examples unfortunately Read the Models description to see if it is likely to contain the type of code behaviour you are looking to code up in your own simulation 2 3 1 A 2 antigen system This extension consists of making each of the 2 DCs bear different antigens and tracking how many cells have encountered each DC and how many have encountered both You could for example assign a different colour to your 2 DCs and have T cells change their colour to match that of the DC they have encountered and have each T cell record internally how many times they have encountere
10. ious sliders and switches allow you to adjust various parameters or conditions of the simulations You can play around with them even as the simulation is running Finally the monitors and plots are used to display variables of the simulations e g how many cells there are Note that if you want to restart the simulation you can press go to stop the currently running simulation and then press setup to reinitialize it Now that you know how to run a model let s learn how to make one 1 3 Some NetLogo basics The NetLogo User Manual is available at http ccl northwestern edu netlogo docs Here I will provide a quick intro to help you get started A NetLogo simulation consists of a world made up of rectangles in 2D or blocks in 3D called patches within which mobile agents called turtles can move and evolve based on the turtles and patches around them and those encountered along their path The patches can also evolve more on that later There are 3 types of agents of importance for us in NetLogo Patch A small rectangle in 2D or block in 3D of the simulation world A patch is identified by its coordinate x y or x y z Thus it CANNOT move but it can hold variables e g its colour how long ago it was visited what type of a site it is You cannot have different breeds of patches there is only one set of patches making up your world Turtle A mobile agent which can go from one patch to another b
11. min 1 time step 8 um 7 1 patch 1 time step 8 um 1 patch 1 time step 8 um So more generally if you want to convert your real speed to a NetLogo speed you d write real time 1 patch dt Ureal life X ds UNetLogo Vreal life X i 1 time step real space So let s adjust our simulation accordingly At the top of our file above all functions add the following line globals dt ds tcell step dt duration of one step in min time step ds size of one patch in um patch tcell step size of tcell step in patches time step in to setup add set dt 0 5 0 5 min per time step set ds 8 8 um per patch set tcell step 16 ds dt 16 um min 1 patch 8 um 0 5 min time step and modify your to go to be to go ask tcells right random normal 0 90 roll right random normal 0 90 forward tcell step tick advance dt end Now your tick counter in the 3D View is in minutes Let s adjust its label accordingly Click on Settings and under Tick counter label enter Time min and hit Ok I also recommend you set the update to on ticks rather than continuous 2 2 4 Designing T cell DC contacts Two photon microscopy has taught us that when a T cell encounters a DC it will pause for about 3 min before resuming its regular motion We also know that DCs have dendrites approximately 19 um 3 Therefore we can design T cell DC contact by imposing the following t
12. ng for link if tDCfree lt 0 if tDCfree has elapsed ask end2 set color green set T cell to its green colour die kill the link delete it end Wow this is awesome But I sure wish we could track of how many encounters took place 2 2 5 Counting the DC T cell encounters It would be nice to know how many DC T cell encounters occured That s where a Monitor comes in handy First let s create a global variable in our Procedure to keep track of DC T cell encounters we ll call it nDCmeet So globals dt ds tcell step nDCmeet 2 nDCmeet number of DC T cell encounters and then somewhere within create links to in the identify DCbound tcells function you can add set nDCmeet nDCmeet 1 Now in your Interface tab add a Monitor Under Reporter enter nDCmeet and under Display name something like Number of DC T cell encounters for clarity Now run the simulation and see how the Monitor gets updated and keeps growing as more and more encounters occur 2 2 6 Plotting the DC T cell encounters Ah yes a graph would be nice indeed Here s how you do this In your to go function just above tick advance dt add the following line plotxy ticks nDCmeet This will plot the number of DC T cell contacts made thus far nDCmeet as a function of time ticks In your Interface tab add a Plot call it something meaningful like Number of DC T cell encounters and set appropr
13. over time You will also plot the tracks of some T cells much like what gets recorded during two photon microscopy experiments Some extensions of this project include making each DC bear different antigens and tracking how many cells have encountered each DC and how many have encountered both tracking how the number of contacts changes for different T cell movement models 2 2 Step by step instructions 2 2 1 Creating our set of T cells and DCs This project is in 3D so you will need to use Netlogo 3D Since our T cells and DCs will be moving around they will be turtles To make things clearer we ll create two breeds of turtles T cells and DCs At the very top of your Procedure tab you should enter breed tcells tcell the T cells breed DCs DC the dendritic cells DCs When creating a new breed the first word is the plural name of the breed and the second is its singular name For example if we were creating a breed of mice we d probably want breed mice mouse Note that is used to indicate a comment everything after the is ignored by NetLogo We ll create the T cells and DCs as circles which map to spheres in NetLogo 3D We ll make the DCs twice as large as the T cells We ll make 100 green T cells and 2 red DCs So let s write the setup function to do this to setup clear all set default shape turtles circle all turtles will be circles spheres create tcells 100 set color green make T c
14. wo rules e A T cell is considered in contact with a DC if it is within a radius of 19 um of the DC Note that for us this corresponds to a distance of 2 patches 19 um x 1 patch 8 um e A T cell stops moving for 3 min once it is in contact with a DC For this purpose it might make sense to use links We will create a link between a T cell and a DC when the distance requirement is met and we could give the link a property tDCfree which would keep track of the time left before the T cell is free from the DC At the top of the file before the functions add links own tDCfree This states that all links will now have a variable called tDCfree It is like globals variables but it belongs only to a specific type of agent in this case the link agents Next we ll break the to go function into several functions to make the code clearer In your code replace the to go function with to go move tcells move T cell movement commands into a function identify DCbound tcells new function to identify DC bound T cells update link status new function to update DC T cell links tick advance dt end to move tcells function for T cell motion ask tcells right random normal 0 90 roll right random normal 0 90 forward tcell step end to identify DCbound tcells function to identify DC bound T cells end to update link status function to update the DC T cell links end Here we ve left the definition of the two new functions

Download Pdf Manuals

image

Related Search

Related Contents

Samsung 913BM Инструкция по использованию  QuadroControl II Bordelektronik für Quadrocopter - QC  Hawking Technology HWUG1 User's Manual  Versione - Nuova Simonelli  Full user Manual  DeLOCK 82891      MANUAL DE INSTRUÇÕES  Video Borescope - Extech Instruments  

Copyright © All rights reserved.
Failed to retrieve file