Математическая модель движения популяции клеток

Исследование механизмов активации нейтрофилов и условности их деления на медленные, средние и быстрые. Экспериментальные измерения скоростей нейтрофилов в популяции. Создание математической модели движения популяции клеток в виде компьютерной программы.

Рубрика Биология и естествознание
Вид дипломная работа
Язык русский
Дата добавления 09.06.2011
Размер файла 1,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Применение веществ, которые привлекают клетку к себе (хемоаттрактанты) увеличивают интервал времени, в течении которого клетка движется целенаправленно. Само по себе это не удивительно. Однако в литературе широко принято связывать это явление с клеточной памятью. Наша модель была в принципе марковской. В ней небыло памяти в строгом смысле слова. В не строго смысле некий элемент, который можно трактовать как память был. Нулевой угол поворота был более предпочтителен, а при применении хемоаттрактанта вероятность нулевого угла увеличивалась. Тем не менее модель воспроизводила экспериментальные данные с поразительной точностью. Воспроизводилось даже время с целенаправленным движением. Таким образом попытки интерпретации этого времени как клеточной памяти вызывают серьезные сомнения. Очень важными оказались результаты моделирования среднеквадратичного отклонения на больших временах. График зависимости среднеквадратичного отклонения от времени начинает отклоняться от теоретического в случайном направлении, в плоть до того, что среднеквадратичное отклонение начинает уменьшаться. Эта особенность, полученная в эксперименте, "вызвало панику" у экспериментаторов. Уменьшение среднеквадратичного отклонения можно было интерпретировать только как целенаправленное возвращение клетки обратно. Физически это можно представить себе как возвращение клетки вдоль некоторого дефекта подложки, невидимого в микроскоп. Разумеется, это ставит под сомнение качество всего эксперимента. На модели показано, что это явление связано всего лишь с недостатком статистики для последнего участка кривой.

Выводы

Создана популяционная математическая модель случайного блуждания нейтрофилов, которая описывает основные характеристики движения;

Широко принятое в литературе деление нейтрофилов на медленные, средние и быстрые следует считать условным. Экспериментальные измерения скоростей нейтрофилов в популяции распределены непрерывно;

Модель подвергает сомнению широко принятое мнение о существовании памяти нейтрофилов. Экспериментальные данные хорошо описываются в рамках марковской модели;

Наблюдаемое в эксперименте закономерное возвращение некоторых нейтрофилов к начальной точке связано только с недостатком статистики для измерения среднеквадратичного отклонения на больших временах.

Список литературы

Boyden S. The chemotactic effect of mixtures of antibody and antigen on polymorphonuclear leukocytes. J. Exp.Med., 1962, v.115, 453-465.

Coates T.D. et al. Relationship of F-actin distribution to development of polar shape in human polymorphonuclear neutrophils. J.Cell Biol. 1992, v.117, N4, 765-774.

Crawford N., Chahal H., Jackson P. The isolation and characterisation of guineapig polymorphonuclear leucocyte actin and myosin. Biochim. et diophis acta, 1980, v.626, N1, 218-233.

Harris H. Chemotaxis of granulocytes. J. Pathol. Bacteriol., 1953, v.66, 135-140.

Hartman R.S., Lau K. The fundamental motor of the human neutrophil is not random: Evidence for local non-Markov movement in neutrophils. Biophys. J., 1994, v.67, 2535-2545.

King C.A. et al. Cell-substrate interactions during amoeboid locomotion of neutrophyl leukocytes., Exp. Cell Res., 1980, v.126, 453-458.

Nelson R.D., Quie P.G. Chemotaxis under agarose: a new and simple method for measuring chemotaxis and spontaneous migration of human polymorphonuclear leukocytes and monocytes. J. Immunol., 1975, v.115, 1650-1656.

Omann G.M. et al. Signal transduction and cytoskeletal activation in the neutrophil. Physiol. Rev, 1987, v.67, N1, 285-319.

Quie P. G., Mills E. L., McPhail L. C., Johnston R. B. Phagocytic Defects Springer Semin. Immunopathol 1978, v. 1, 323-337.

Repo H. Defects in fagocytic functions. Annals of Clinical

Research. 1987, v.19, 263-279.

Senda N., Tamura H., Shibata N. The mechanism of the movement of leucocytes. Exp. Cell Res., 1975, v.91, N2, 393-407.

Snyderman R., Goetzl E. J. Molecular and cellular mechnisms of leukocyte chemotaxis. Scince 1981, v.213, 830-837.

Springer T. A. Adhesion receptors of the immune system. Nature, 1990, v 346, 425-434.

Stossel T.P. On the crawling of animal cells. Science 1993, v.260, 1086-1094.

Адо А.Д. Патофизиология фагоцитов. 1961.

Васильев Ю.М., Гельфанд И.М. Движение и морфогенетические реакции тканевых клеток в культуре. В сб. Движ.нем.кл.1977г.

Галкин А.А. и соавт. 1994

Красовская И.Е. Сократительные белки немышечных клеток . I. Актино- и миозиноподобные белки. в сб. Движение немышечных клеток и их компонентов. 1977г.

Маянский А.Н., Маянский Д.Н. 1989г.

Нерсесова Л.С. Движение немышечных клеток и их компонентов., Ленинград, "Наука" 1977г.

Туманов Е.А. и соавт. Бюлл. Эксп. Биол. Мед. 1990, N6, 594-597.

Приложение

Текст программы математического моделирования случайного блуждания популяции нейтровилов

program neutro;

uses dos, crt, graph;

const

uparrow = #72;

leftarrow = #75;

rightarrow = #77;

downarrow = #80;

type

gr_descriptor = record

x_0,y_0 : word;

X_len,y_len : word;

X_scale, Y_scale : real;

end;

prob_mov = record

max_step : real;

cell_name : string;

step, manual : array[0..10] of real;

cent, cummulate : array[0..10] of word;

end;

scr_mod = (name_edit, arg_edit, fun_edit, diag_edit);

cell_typ = (slow, mean, fast);

par_typ = (g_shift, l_shift, angle);

scr_adr=record

x : integer;

y : integer;

end;

cell_descriptor = record

speed : cell_typ;

x, y, angle : array[1..100] of real;

end;

var

cell : array[1..30] of cell_descriptor;

step_distri : array[g_shift..angle] of prob_mov;

max_shift : array[1..30] of real;

start_x, start_y, counter : integer;

graph_scale : gr_descriptor;

key : char;

N_line, N_pix_inline : integer;

graph_X, graph_Y : array[slow..fast] of integer;

marker_place : array[arg_edit..diag_edit, 1..11] of scr_adr;

name_place, cell_place : scr_adr;

step_len, step_ang, current_x, current_y, current_a : real;

choose_cell : cell_typ;

sign : integer;

procedure draw_axis;

var

i, j : word;

bintext : string;

begin

with graph_scale do

begin

x_0:=round(N_pix_inline/40);

y_0:=round(N_line/40);

X_len:=round(N_pix_InLine-2*x_0);

Y_len:=round(N_line-2*y_0);

setlinestyle(0,0,1);

rectangle(x_0,Y_0,x_0+X_len,Y_0+Y_len);

end;

end;

procedure opengraph;

var

grdriver, grmode : integer;

begin

detectgraph(grdriver,grmode);

initgraph(grdriver,grmode,'');

N_line:=getmaxY;

N_pix_inline:=getmaxX;

start_x:=n_pix_inline div 2;

start_y:=n_line div 2;

SetBkColor(Black);

SetColor(LightRed);

cleardevice;

draw_axis;

end;

procedure readscreen(fname : string; Tcl,Tbg : word);

var

x, y, j, txt_b, txt_c : word;

i : array [arg_edit..diag_edit] of word;

a : char;

d : text;

begin

assign(d,fname);

reset(d);

txt_b:=Black;

TextBackground(txt_b);

clrscr;

y:=0;

i[arg_edit]:=0; i[fun_edit]:=0; i[diag_edit]:=0;

repeat

y:=y+1; x:=0;

repeat

x:=x+1;

read(d,a);

case a of

'.' : begin

if txt_b=Black then txt_b:=Tbg else txt_b:=Black;

txt_c:=Tcl;

textbackground(txt_b);

textcolor(txt_c);

WRITE(' ');

end;

'*' : begin

name_place.x:=x;

name_place.y:=y;

write(' ');

end;

'$' : begin

cell_place.x:=x;

cell_place.y:=y;

write(' ');

end;

'#' : begin

write(' ');

i[arg_edit]:=i[arg_edit]+1;

marker_place[arg_edit,i[arg_edit]].x:=x;

marker_place[arg_edit,i[arg_edit]].y:=y;

end;

'~' : begin

write(' ');

i[fun_edit]:=i[fun_edit]+1;

marker_place[fun_edit,i[fun_edit]].x:=x;

marker_place[fun_edit,i[fun_edit]].y:=y;

end;

'!' : begin

write(' ');

i[diag_edit]:=i[diag_edit]+1;

marker_place[diag_edit,i[diag_edit]].x:=x;

marker_place[diag_edit,i[diag_edit]].y:=y;

end;

else

write(a);

end;

until eoln(d);

readln(d); writeln;

until eof(d);

close(d);

end;

procedure readreal(var value : real; a : char; len : word; ad : scr_adr);

var LI : array[1..10] of char;

x,y,old : integer;

st : string;

begin

write(' ':len);

gotoXY(ad.x,ad.y);

LI[1]:=a; write(a); y:=2;

if a<>#13 then

repeat

a:=readkey;

if a=',' then a:='.';

if ((a='O') or (a='o')) then a:='0';

if ((a>='0') and (a<='9')) or (a='.')

then begin LI[y]:=a; write(a); y:=y+1 end;

if a=#8 then

begin y:=y-1;

gotoXY(ad.x+y-1,ad.y);

write(' ');

gotoXY(ad.x+y-1,ad.y);

end;

until a=#13;

st:=LI[1];

for x:=2 to y-1 do st:=concat(st,LI[x]);

val(st,value,old);

end;

procedure setmarker(m : scr_mod; i : integer);

begin

gotoxy(marker_place[m,i].x,marker_place[m,i].y);

end;

procedure wri_val(x : real; i : integer; old : boolean);

begin

if old

then begin textbackground(Black);

textcolor(LightGray)

end

else begin textbackground(LightGray);

textcolor(Black)

end;

setmarker(fun_edit,i+1);

write(' ':4);

setmarker(fun_edit,i+1);

write(x:4:1);

setmarker(fun_edit,i+1);

end;

procedure edit_prob(index : par_typ);

var

st : real;

j : integer;

a : char;

begin

with step_distri[index] do

begin

readscreen('distrib.scr',LightGray,Red);

gotoXY(name_place.x,name_place.y);

case index of

g_shift : write('Глобальный шаг');

l_shift : write('Локальный шаг');

angle : write('Угол');

end;

st:=max_step/10;

for j:=0 to 10 do

begin

step[j]:=j*st;

gotoXY(marker_place[arg_edit,j+1].x,marker_place[arg_edit,j+1].y);

write(step[j]:4:1);

gotoXY(marker_place[fun_edit,j+1].x,marker_place[fun_edit,j+1].y);

write(manual[j]:4:1);

end;

j:=0;

repeat

setmarker(fun_edit,j+1);

wri_val(manual[j],j,false);

setmarker(fun_edit,j+1);

a:=readkey;

if a=#0 then

begin

a:=readkey;

wri_val(manual[j],j,true);

case a of

rightarrow, downarrow : j:=j+1;

leftarrow, uparrow : j:=j-1;

end;

if j>10 then j:=10;

if j<0 then j:=0;

end;

if ((a>='0') and (a<='9')) or (a='-')

then

begin

readreal(st,a,4,marker_place[fun_edit,j+1]);

manual[j]:=st;

end;

until ((a=chr(27)) or (a=' '));

end;

end;

procedure normalize;

var

j : word;

s : par_typ;

x : real;

begin

for s:=g_shift to angle do

begin

x:=0;

for j:=0 to 10 do x:=x+step_distri[s].manual[j];

for j:=0 to 10 do

begin

step_distri[s].cent[j]:=round(100*step_distri[s].manual[j]/x);

end;

step_distri[s].cummulate[0]:=step_distri[s].cent[0];

for j:=1 to 10 do

begin step_distri[s].cummulate[j]:=

step_distri[s].cummulate[j-1]+

step_distri[s].cent[j];

end;

end;

end;

procedure make_population;

var

i, j, x : word;

begin

clrscr;

for i:=1 to 30 do

begin

x:=random(100);

j:=0;

while x>step_distri[g_shift].cummulate[j] do j:=j+1;

step_len:=step_distri[g_shift].step[j];

max_shift[i]:=step_len;

cell[i].x[1]:=500+random(1000);

cell[i].y[1]:=500+random(1000);

cell[i].angle[1]:=random(180);

if random(100)<50 then cell[i].angle[1]:=-cell[i].angle[1];

if max_shift[i]>=15 then cell[i].speed:=fast;

if (max_shift[i]>=7) and (max_shift[i]<15) then cell[i].speed:=mean;

if max_shift[i]<=7 then cell[i].speed:=slow;

end;

end;

procedure init;

var

j : word;

s : par_typ;

x : real;

c : cell_typ;

begin

step_distri[g_shift].max_step:=30;

step_distri[g_shift].cell_name:='Глобальный';

step_distri[l_shift].max_step:=30;

step_distri[l_shift].cell_name:='Локальный';

step_distri[angle].max_step:=180;

step_distri[angle].cell_name:='Углы';

s:=g_shift;

for j:=0 to 10 do step_distri[s].manual[j]:=100*sin(pi*j/10)*sin(pi*j/10);

s:=l_shift;

for j:=0 to 10 do step_distri[s].manual[j]:=100*sin(pi*j/10)*sin(pi*j/10);

s:=angle;

for j:=0 to 10 do step_distri[s].manual[j]:=100*exp(-j/2);

edit_prob(g_shift);

edit_prob(l_shift);

edit_prob(angle);

clrscr;

normalize;

make_population;

end;

procedure calc_step(i : word);

var

x, j : word;

begin

x:=random(100);

j:=0;

while x>step_distri[l_shift].cummulate[j] do j:=j+1;

step_len:=step_distri[l_shift].step[j]*max_shift[i]/30;

x:=random(100);

j:=0;

while x>step_distri[angle].cummulate[j] do j:=j+1;

step_ang:=step_distri[angle].step[j];

x:=random(100);

if x>50 then sign:=-1 else sign:=1;

end;

procedure make_all_steps;

var i, j : word;

begin

for i:=1 to 30 do

with cell[i] do

for j:=2 to 100 do

begin

calc_step(i);

angle[j]:=angle[j-1]+step_ang*sign;

x[j]:=x[j-1]+step_len*cos(angle[j]*pi/180);

y[j]:=y[j-1]+step_len*sin(angle[j]*pi/180);

end;

end;

procedure print_coord;

var i, j, k : word;

f : text;

begin

for i:=1 to 30 do

with cell[i] do

for j:=1 to 100 do

begin

writeln(i:5,x[j]:9:2,y[j]:9:2);

if j mod 20 = 0 then readln(k);

end;

end;

procedure speed_meas;

var

i,j : word;

z : real;

shift : array[1..30] of real;

begin

clrscr;

for i:=1 to 30 do shift[i]:=0;

for i:=1 to 30 do

with cell[i] do

for j:=2 to 100 do

begin

z:=sqrt((x[j]-x[j-1])*(x[j]-x[j-1])+(y[j]-y[j-1])*(y[j]-y[j-1]));

shift[i]:=shift[i]+z;

end;

for i:=1 to 30 do

begin shift[i]:=shift[i]/100;

end;

end;

procedure write_shift;

var i, j, k : word;

z : real;

shift : array[1..30] of real;

f : text;

begin

assign(f,'treck.txt');

rewrite(f);

for j:=1 to 30 do shift[j]:=0;

j:=2;

repeat

j:=j+1;

write(f,j:3);

for i:=1 to 30 do

with cell[i] do

begin

z:=sqrt((x[j]-x[j-1])*(x[j]-x[j-1])+(y[j]-y[j-1])*(y[j]-y[j-1]));

shift[i]:=shift[i]+z;

write(f,shift[i]:9:2);

end;

writeln(f);

until j=100;

close(f);

end;

procedure write_angle;

var i, j, k : word;

z : real;

shift : array[1..30] of real;

f : text;

begin

assign(f,'angle.txt');

rewrite(f);

with step_distri[angle] do

for j:=0 to 10 do writeln(f,step[j]:10:2,cent[j]:10,cummulate[j]:10);

close(f);

end;

procedure write_disp;

var i, j, k : word;

z : real;

shift, loc_calc : array[1..30] of real;

f : text;

begin

assign(f,'disper.txt');

rewrite(f);

for j:=1 to 30 do begin loc_calc[j]:=0; shift[j]:=0; end;

j:=1;

repeat

j:=j+1;

write(f,ln(j):10:2);

for i:=1 to 30 do

with cell[i] do

begin

loc_calc[i]:=0;

for k:=j+1 to 100 do

begin

z:=(x[k]-x[k-j])*(x[k]-x[k-j])+(y[k]-y[k-j])*(y[k]-y[k-j]);

loc_calc[i]:=loc_calc[i]+z;

end;

shift[i]:=loc_calc[i]/(100-j);

write(f,0.5*ln(shift[i]):10:2);

end;

writeln(f);

until j=98;

close(f);

end;

procedure write_distr;

var i, j, k : word;

z : word;

shift : array[0..35] of word;

f : text;

begin

assign(f,'dist_sp.txt');

rewrite(f);

for j:=0 to 35 do shift[j]:=0;

for i:=1 to 30 do

with cell[i] do

begin

for j:=2 to 100 do

begin

z:=round(sqrt((x[j]-x[j-1])*(x[j]-x[j-1])+(y[j]-y[j-1])*(y[j]-y[j-1])));

shift[z]:=shift[z]+1;

end;

end;

for j:=0 to 30 do writeln(f,j:3,shift[j]:10);

close(f);

end;

procedure draw_cell(c : cell_typ; x, y : real);

var

color, graph_x, graph_y : integer;

begin

case c of

slow : color:=lightcyan;

mean : color:=yellow;

fast : color:=white;

end;

graph_x:=round(x*n_pix_inline/2000);

graph_y:=round(y*n_line/2000);

putpixel(graph_x,graph_y,color);

end;

procedure draw_picture;

var

i,j : word;

begin

for i:=1 to 30 do

with cell[i] do

for j:=1 to 100 do

begin

draw_cell(speed,x[j],y[j]);

end;

end;

begin

randomize;

init;

make_all_steps;

speed_meas;

write_shift;

write_distr;

write_disp;

write_angle;

opengraph;

draw_picture;

key:=readkey;

closegraph;

end.

Размещено на Allbest.ru


Подобные документы

  • Динамические характеристики популяции: рождаемость, смертность, выживаемость. Пространственное распределение особей, составляющих популяции. Рассмотрение колебания численности популяции как авторегулируемого процесса. Число доступных для жизни мест.

    презентация [867,8 K], добавлен 25.03.2015

  • Структура популяции прыткой ящерицы на территории г. Мозырь и окрестностей. Пространственная структура популяции вида Lacerta agilis. Половая структура поселений. Характеристика пространственной структуры, плотности поселений. Возрастной состав популяции.

    научная работа [9,1 M], добавлен 18.01.2011

  • Понятие и принцип работы генетического алгоритма. Вычисление функций приспособленности для особей популяции. Модель "эволюционного процесса". Основные операции генетических алгоритмов. Восстановление генов, выпавших из популяции в ходе операции выбора.

    презентация [8,4 M], добавлен 25.06.2013

  • Рассмотрение популяции как элементарной единицы эволюционного процесса, изучение ее демографической структуры. Особенности возрастной, половой и пространственной популяции. Исследование роли социальных контактов в индивидуализированных сообществах.

    реферат [23,0 K], добавлен 05.09.2014

  • Исследование эволюции экологической системы при различных условиях. Прогнозирование развития популяции. Определение стационарных значений численности популяций хищников и жертв. Определение начальных условий, при которых возможно вымирание популяции.

    лабораторная работа [329,9 K], добавлен 22.03.2015

  • Популяция как надорганизменная биологическая макросистема. Пространственная, половая, генетическая, возрастная и этологическая структуры популяции. Механизмы гомеостаза и саморегуляции. Статистические и динамические показатели. Типы кривых выживания.

    курсовая работа [64,6 K], добавлен 25.01.2010

  • Учение В.И. Вернадского о биосфере. Ноосфера как новая стадия эволюции биосферы. Статические и динамические показатели популяции. Продолжительность жизни, рост численности популяции. Изучение процесса урбанизации. Экологические обязанности граждан.

    контрольная работа [43,7 K], добавлен 24.02.2010

  • Японский журавль как вид, находящийся под угрозой уничтожения, его внешнее описание, распространение, питание, размножение, охрана популяции. Деградация и сельскохозяйственное освоение земель как основные лимитирующие факторы популяции редких животных.

    реферат [30,9 K], добавлен 30.10.2009

  • Определение удельной скорости роста популяции бактерий. Решение дифференциального уравнения первого порядка. Нахождение общего и частного решения, постоянной С. Подставка известных чисел в уравнение. Расчет численности популяции бактерий через 4 часа.

    презентация [4,7 M], добавлен 23.03.2014

  • Понятие и сущность популяции; функция системы. Ареал, численность, плотность, рождаемость и смертность как основные популяционные характеристики. Возрастная и половая структура внутри вида. Изучение периодических колебаний популяции зайца-беляка и рыси.

    презентация [1008,2 K], добавлен 14.06.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.