Swarm Modeling and Simulation : Meeting Minutes
We began the meeting by discussing a project web page. Cindy agreed to take care of the web page, and we briefly discussed password protecting its contents before deciding against doing so. Good. Post the minutes there also.
We turned our attention to what properties the cells of the tumor should have. Li suggested that we consider oxygen pressure and the area and density of the tumor and create a schedule of objects. Cindy then expressed a desire for a more "top-down" approach, and so we talked about what we wanted the system to do. We agreed that we wanted to simulate growth using a constant growth rate. For the present, we will ignore quiescent and necrotic populations and cell death. I agree it is a good idea to get a simple working program first, even if you know that lots of changes will need to be made. Later, you’ll need to define different cell states, and rules for how they influence each other’s behavior. We also decided that there should be a certain size or number of cells comprising a tumor at which growth ceases, Later you will need to remove this condition. There is no evidence that any one cell is aware of the size (#) of the cell mass that contains it. but we could not reach a consensus on whether size or number of cells should be used. Cells should divide when there is enough nutrient available and at either a certain time or a certain size (we could not reach a consensus on this topic, and it is one that we debated for quite some time). Amy H. also introduced the idea of random cell sizes or random dividing times (e.g., if these conditions are met, then Prob. = p that division will initiate at the start of the step) as having all the cells in the tumor divide at the same time seemed artificial.
At this point we believed that having two classes, a class for cells and a class for the environment, would be the best option, and we attempted to determine rules and properties for the cells and the environment. However, we disagreed about if there should be “levels” for the cells. Cindy thought that the cells and the environment should be on the same level and that their interactions would be mediated by something on a higher level (Is there evidence to support this position?). Amy H. and Li expected that the cells should make “decisions” on their own without such an upper level. Each of us then drew out her own idea of the structure of the program. The concept behind Li’s program was that if there was sufficient amounts of nutrient (N>Nd) and sufficient cell size (S=2S0) but the tumor itself was small enough (it hadn’t reached its limiting size) that a cell would consume some nutrient (Nd) and split into two cells of size S0. Microscopy on spheroids tends to show that daughter cells tend to be smaller after division. They then increase to adult size. Once a daughter cell reaches adult size, there is only a small change in cell size as it then moves through cell the cell cycle. Amy H. questioned the availability of nutrient to a cell at a particular location, and the group agreed to assume that nutrient was freely diffusing through the environment rather than being concentrated at some point.
Cindy still had some concerns about the plan of attack, so we tried to come up with properties and rules that the cells and the environment would have or follow. It became clear that it would be challenging to separate the rules for the environment and the cells. For example when a cell consumes some nutrient, it affects both the cell’s size (it grows) and the amount of nutrient left in the environment. How could we account for both of these consequences? We experimented with the following: if N ≥ Nd, then S=2S0 (the cell would immediately grow to division size) and N=N-Nd. This plan only allows for the splitting of one cell though. Li then suggested that we eliminate the environment class and instead have a fixed amount of nutrient present only as a parameter. However, this did not avoid the problem of how much nutrient is consumed at a particular time step. Important point We realized that we needed to have a count of the cells to determine how much total nutrient is consumed. Our next iteration: at t=0, there are C0 cells and N nutrients. If N ≥ C0Nd, then C0=2C0 (cells split) and N=N-C0Nd (each cell consumes Nd nutrient). If N < Nd, stop. Amy H. pointed out that this strategy left nutrients unused, an unlikely scenario, and Li modified by adding another loop: if Nd ≤ N < C0Nd, C1 = int(N/ Nd ) for some integer C1, so C0= C0+C1 (the C1 cells split). Cindy proposed a different approach where each cell checks the availability of resources (nutrients) for itself only. In other words, if N≥Nd, cell 1 splits. Then if N≥Nd, cell 2 splits, etc. Li thought this approach impractical as cells can split at the same time, but Cindy argued that the tactic was necessary from a programming perspective. Amy H. was displeased with both methods since it seemed unreasonable that a cell would “know” if there was enough nutrient for all cells (as the first approach appeared to suggest) nor did it seem appropriate for each cell to individually wait his turn before splitting. Two good points
The meeting concluded with our decision to look into some Swarm examples to get some other ideas for how to proceed and also to determine if it was possible to program things in parallel (so that the cells can do things simultaneously). The group will meet again on Monday at 3:00 p.m. in a location to be announced.
Good job, team!
The premise of the agent paradigm, its related theory and methodologies together with advances in multilevel modeling of complex systems of interactions opened new frontiers for advancing the physical, natural, social, military, and information sciences and engineering...