МЕТОДИ ТОКСИКОЛОГІЧНОГО АНАЛІЗУ

УДК 57.08+61-07[:31:681.31]

П.Н. Бабич, к.м.н., А.В. Чубенко, к.м.н., С.Н. Лапач

ПРИМЕНЕНИЕ ПРОБИТ-АНАЛИЗА В ТОКСИКОЛОГИИ И ФАРМАКОЛОГИИ С ИСПОЛЬЗОВАНИЕМ ПРОГРАММЫ MICROSOFT EXCEL ДЛЯ ОЦЕНКИ ФАРМАКОЛОГИЧЕСКОЙ АКТИВНОСТИ ПРИ АЛЬТЕРНАТИВНОЙ ФОРМЕ УЧЕТА РЕАКЦИЙ

Институт фармакологии и токсикологии АМН Украины, г. Киев

Пробит-анализ кривых летальности в отечественной количественной фармакологии и токсикологии стал "классическим" с момента появления книги Н.Л. Беленького [1]. Вместе с тем этот метод имеет ряд существенных трудностей, связанных с процессом вычисления [2, 3]. С появлением персональных компьютеров эти и другие несовершенства, связанные с определением количественной оценки фармакологического эффекта, стали легко преодолимы.

В данной работе мы остановимся на применении пробит-анализа при оценке активности биологически активных веществ при альтернативной форме учета реакций. Нами приведена программа для решения ряда задач с использованием Microsoft Excel и с целью простоты изложения описаны конкретные примеры вычисления величин LD50, LD16, LD84 и др. Данная программа реализована на языке программирования высокого уровня Visual Basic for Application (VBA), который глубоко интегрирован в MS Excel. В ее основу положен взвешенный метод наименьших квадратов (МНК) с использованием пробит-анализа. Кроме того изложено, как при помощи стандартных средств MS Excel с использованием формул рабочего листа решается данная задача.

Известно, что в фармакологических и токсикологических исследованиях в ряде случаев наиболее приемлемая количественная оценка активности вещества достигается при учете реакции на действие этого вещества в альтернативной форме. Альтернативной реакцией называется такая реакция, которая наступает или не наступает и которая может быть надежно идентифицирована исследователем. Иногда говорят, что это реакция типа "все или ничего" ("all-or-non reaction"). Следует помнить, что в качестве критерия фармакологической активности должны выбираться такие реакции, наличие или отсутствие которых не вызывает сомнений, например, гибель животного, судороги, рвота, "боковое положение" и т. д. Альтернативная форма учета фармакологических эффектов позволяет дать наиболее точную характеристику фармакологической активности изучаемого вещества.

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

Согласно [1, 2, 4, 5], решение задачи вычисления вышеуказанных доз в конечном итоге сводится к нахождению по экспериментальным данным коэффициентов линейного уравнения регрессии: n=b0+b1x, где n — нормальное эквивалентное отклонение, связанное с пробитами на основе следующего соотношения:

Y=n+5,

где Y — пробит. Далее, с использованием коэффициентов b0 и b1 вычисляются ld50, ld16, ld84 и т.д.

Для примера рассмотрим данные, полученные в результате изучения действия препарата ЛК-37 на крыс (табл. 1).

Вариант 1. Рассчитаем показатели летальности (LD50, LD16, LD84) на основании исходных данных с использованием функция рабочего листа Excel.

1. Занесем на основании таблиц приложения Н величины эффекта в пробитах (Y) (табл. 5) и весовые коэффициенты пробит (z) (табл. 6).

2. Рассчитаем столбцы произведений XYZ, XZ, YZ, X2Z и суммы по этим столбцам и столбцу Z (рис. 3). Для этого в ячейки рабочего листа необходимо занести формулы, приведенные в табл. 2. 3. Рассчитаем коэффициенты и используя формулы (1) и (2), а также используя формулы (3), (4) и (5) показатели летальности LD50, LD16, LD84, LD100 и стандартную ошибку LD50. Для этого в ячейки рабочего листа необходимо занести формулы, приведенные в табл. 3. Результаты расчетов приведены на рис. 2.

formula,    (1)

formula,    (2)

где xii-е значение дозы препарата в мг/кг массы тела животного; yii-е значение пробита эффекта, соответствующего определенной дозе xi; zii-е значение весового коэффициента пробита, соответствующего yi; N — число опытов (количество доз).

formula,    (3)

где X — соответствующее значение эффективной (или летальной) дозы, Y — значение пробита соответствующего этой дозе.

formula,    (4)

где N — количество животных в группах, использованных для испытания доз, которые находятся в пределах значений пробитов от 3,5 до 6,5.

formula    (5)

Вариант 2. Рассчитаем показатели летальности (LD50, LD16, LD84) на основании исходных данных посредством подпрограммы Accute_LD50_Calc, реализованной на VBA. Данная подпрограмма позволяет значительно ускорить все расчеты и освобождает пользователя от рутинной работы. Далее приводится текст этой подпрограммы вместе с подпрограммами, которые она использует.

Option Base 1

Dim Pvt(13, 16) As Double 'Таблица пробитов
Dim Zd(5, 10) As Double 'Таблица весовых коэффициентов

Private Sub Ini_Prob_data()
'Инициализация массива представляющего таблицу эффектов
'исследования в пробитах

Pvt(1, 1) = 3.62: Pvt(1, 2) = 4.57: Pvt(1, 3) = 5.43: Pvt(1, 4) = 6.38

Pvt(2, 1) = 3.47: Pvt(2, 2) = 4.33: Pvt(2, 3) = 5: Pvt(2, 4) = 5.67: Pvt(2, 5) = 6.53

Pvt(3, 1) = 3.36: Pvt(3, 2) = 4.16: Pvt(3, 3) = 4.75
Pvt(3, 4) = 5.25: Pvt(3, 5) = 5.84: Pvt(3, 6) = 6.64

Pvt(4, 1) = 3.27: Pvt(4, 2) = 4.03: Pvt(4, 3) = 4.57: Pvt(4, 4) = 5
Pvt(4, 5) = 5.43: Pvt(4, 6) = 5.97: Pvt(4, 7) = 6.73

Pvt(5, 1) = 3.2: Pvt(5, 2) = 3.93: Pvt(5, 3) = 4.43: Pvt(5, 4) = 4.82
Pvt(5, 5) = 5.18: Pvt(5, 6) = 5.57: Pvt(5, 7) = 6.07: Pvt(5, 8) = 6.8

Pvt(6, 1) = 3.13: Pvt(6, 2) = 3.85: Pvt(6, 3) = 4.33: Pvt(6, 4) = 4.68
Pvt(6, 5) = 5: Pvt(6, 6) = 5.32: Pvt(6, 7) = 5.67: Pvt(6, 8) = 6.15
Pvt(6, 9) = 6.87

Pvt(7, 1) = 3.09: Pvt(7, 2) = 3.78: Pvt(7, 3) = 4.23: Pvt(7, 4) = 4.57
Pvt(7, 5) = 4.86: Pvt(7, 6) = 5.14: Pvt(7, 7) = 5.43: Pvt(7, 8) = 5.77
Pvt(7, 9) = 6.22: Pvt(7, 10) = 6.91

Pvt(8, 1) = 3.04: Pvt(8, 2) = 3.72: Pvt(8, 3) = 4.16: Pvt(8, 4) = 4.48
Pvt(8, 5) = 4.75: Pvt(8, 6) = 5: Pvt(8, 7) = 5.25: Pvt(8, 8) = 5.52
Pvt(8, 9) = 5.84: Pvt(8, 10) = 6.28: Pvt(8, 11) = 6.96

Pvt(9, 1) = 3: Pvt(9, 2) = 3.67: Pvt(9, 3) = 4.09: Pvt(9, 4) = 4.4
Pvt(9, 5) = 4.65: Pvt(9, 6) = 4.89: Pvt(9, 7) = 5.11: Pvt(9, 8) = 5.35
Pvt(9, 9) = 5.6: Pvt(9, 10) = 5.91: Pvt(9, 11) = 6.33: Pvt(9, 12) = 7

Pvt(10, 1) = 2.97: Pvt(10, 2) = 3.61: Pvt(10, 3) = 4.03: Pvt(10, 4) = 4.33
Pvt(10, 5) = 4.57: Pvt(10, 6) = 4.79: Pvt(10, 7) = 5: Pvt(10, 8) = 5.21
Pvt(10, 9) = 5.43: Pvt(10, 10) = 5.67: Pvt(10, 11) = 5.97: Pvt(10, 12) = 6.39
Pvt(10, 13) = 7.03

Pvt(11, 1) = 2.93: Pvt(11, 2) = 3.57: Pvt(11, 3) = 3.98: Pvt(11, 4) = 4.26
Pvt(11, 5) = 4.5: Pvt(11, 6) = 4.71: Pvt(11, 7) = 4.9: Pvt(11, 8) = 5.1
Pvt(11, 9) = 5.29: Pvt(11, 10) = 5.5: Pvt(11, 11) = 5.74: Pvt(11, 12) = 6.02
Pvt(11, 13) = 6.43: Pvt(11, 14) = 7.07

Pvt(12, 1) = 2.9: Pvt(12, 2) = 5.53: Pvt(12, 3) = 3.93: Pvt(12, 4) = 4.21
Pvt(12, 5) = 4.43: Pvt(12, 6) = 4.63: Pvt(12, 7) = 4.82: Pvt(12, 8) = 5
Pvt(12, 9) = 5.18: Pvt(12, 10) = 5.37: Pvt(12, 11) = 5.57: Pvt(12, 12) = 5.79
Pvt(12, 13) = 6.07: Pvt(12, 14) = 6.47: Pvt(12, 15) = 7.1

Pvt(13, 1) = 2.87: Pvt(13, 2) = 3.5: Pvt(13, 3) = 3.89: Pvt(13, 4) = 4.16
Pvt(13, 5) = 4.38: Pvt(13, 6) = 4.57: Pvt(13, 7) = 4.75: Pvt(13, 8) = 4.92
Pvt(13, 9) = 5.08: Pvt(13, 10) = 5.25: Pvt(13, 11) = 5.43: Pvt(13, 12) = 5.62
Pvt(13, 13) = 5.84: Pvt(13, 14) = 6.11: Pvt(13, 15) = 6.5: Pvt(13, 16) = 7.13
End Sub

Private Sub Ini_Z_data()
Zd(1, 1) = 1: Zd(1, 2) = 1.2: Zd(1, 3) = 1.4: Zd(1, 4) = 1.6
Zd(1, 5) = 1.8: Zd(1, 6) = 2: Zd(1, 7) = 2.3: Zd(1, 8) = 2.6
Zd(1, 9) = 2.9: Zd(1, 10) = 3.2

Zd(2, 1) = 3.5: Zd(2, 2) = 3.7: Zd(2, 3) = 3.9: Zd(2, 4) = 4.1
Zd(2, 5) = 4.3: Zd(2, 6) = 4.5: Zd(2, 7) = 4.6: Zd(2, 8) = 4.7
Zd(2, 9) = 4.8: Zd(2, 10) = 4.9

Zd(3, 1) = 5: Zd(3, 2) = 4.9: Zd(3, 3) = 4.8: Zd(3, 4) = 4.7
Zd(3, 5) = 4.6: Zd(3, 6) = 4.5: Zd(3, 7) = 4.3: Zd(3, 8) = 4.1
Zd(3, 9) = 3.9: Zd(3, 10) = 3.7

Zd(4, 1) = 3.5: Zd(4, 2) = 3.2: Zd(4, 3) = 2.9: Zd(4, 4) = 2.6
Zd(4, 5) = 2.3: Zd(4, 6) = 2: Zd(4, 7) = 1.8: Zd(4, 8) = 1.6
Zd(4, 9) = 1.4: Zd(4, 10) = 1.2

Zd(5, 1) = 1: Zd(5, 2) = 0.8: Zd(5, 3) = 0.65: Zd(5, 4) = 0.5
Zd(5, 5) = 0.35: Zd(5, 6) = 0.3: Zd(5, 7) = 0.25: Zd(5, 8) = 0.15
Zd(5, 9) = 0.1: Zd(5, 10) = 0

End Sub

Sub Accute_LD50_Calc()
'Подпрограмма вычисления LD50 и сопутствующих значений
Probit_Analysis (0)
End Sub

Sub Cumulate_Calc()
'Подпрограмма вычисления коэффициента кумуляции
'и сопутствующих значений
Probit_Analysis (1)
End Sub

Sub Cumulate_Calc2()
'Подпрограмма вычисления коэффициента кумуляции
'и сопутствующих значений
Probit_Analysis (2)
End Sub

Private Sub Probit_Analysis(mode As Integer)
Dim PROB_Y() As Double
Dim PROB_Z() As Double
Dim S1 As Double
Dim Sn As Double
Dim Kcum As Double
Ini_Prob_data
Ini_Z_data

'Начало блока ввода исходных данных
If mode = 1 Then
Set Accute_D = Application.InputBox( _
Title:="Ввод даных для расчета кумуляции", _
prompt:="Введите ссылку на диапазон ячеек, содержащих " & _
"LD50, LD16 и LD84 для однократного введения", _
Type:=8)
End If
If mode = 2 Then
Set Accute_D = Application.InputBox( _
Title:="Ввод даных для расчета кумуляции", _
prompt:="Введите ссылку на ячееку, содержащую " & _
"LD50(1) для однократного введения", _
Type:=8)
End If

Set DOSA_X = Application.InputBox( _
Title:="Ввод доз", _
prompt:="Введите ссылку на диапазон ячеек, содержащих значения доз", _
Type:=8)

Set EFFECT = Application.InputBox( _
Title:="Ввод эффектов", _
prompt:="Введите ссылку на диапазон ячеек, " & _
"содержащих значения эффектов", _
Type:=8)

Set ALL_NUM = Application.InputBox( _
prompt:="Введите ссылку на диапазон ячеек, " & _
"содержащих количество животных в группах", _
Type:=8)

Set RESALTS = Application.InputBox( _
prompt:="Введите ссылку на ячейку, " & _
"с которой будут выводится результаты", _
Type:=8)
'Завершение блока ввода данных

Num_exp = DOSA_X.Cells.Count 'Вычисление количества опытов

'Проверка ограничений, налагаемых программой
For i = 1 To Num_exp
If ALL_NUM.Cells(i) < 3 Or ALL_NUM.Cells(i) > 15 Then
MsgBox "Количество животных в " & i & "-й группе" & _
" слишком мало или велико"
Exit Sub
End If
Next i

ReDim PROB_Y(Num_exp)
ReDim PROB_Z(Num_exp)

'Формирование массива пробитов эффектов (Y) и
'массива весовых коэффициентов пробитов (Z)

For i = 1 To Num_exp
PROB_Y(i) = Pvt(Int(ALL_NUM.Cells(i).Value) - 2, _
Int(EFFECT.Cells(i).Value) + 1)
Y_tmp = Round(PROB_Y(i), 1)
Y_int = Int(PROB_Y(i))
Y_dec = (Y_tmp - Y_int) * 10
If Y_dec = 10 Then
Y_dec = 0
Y_int = Y_int + 1
End If

PROB_Z(i) = Zd(Y_int - 2, Y_dec + 1)
Next i

'Вычисление значений, на основе которых будут вычислены b1 и b0
XYZ = 0: Z = 0: XZ = 0: YZ = 0: X2Z = 0

For i = 1 To Num_exp
XYZ = XYZ + DOSA_X.Cells(i).Value * PROB_Y(i) * PROB_Z(i)
Z = Z + PROB_Z(i)
XZ = XZ + DOSA_X.Cells(i).Value * PROB_Z(i)
YZ = YZ + PROB_Y(i) * PROB_Z(i)
X2Z = X2Z + DOSA_X.Cells(i).Value ^ 2 * PROB_Z(i)
Next i

'Вычисление коэффициентов b1 и b0
b1 = (XYZ * Z - XZ * YZ) / (Z * X2Z - XZ ^ 2)
b0 = (YZ - b1 * XZ) / Z

'Вычисление показателей эффективной (летальной) дозы
LD50 = (5 - b0) / b1
LD16 = (4 - b0) / b1
LD84 = (6 - b0) / b1
LD100 = LD84 + (LD84 - LD50) / 2

'Вычисление стандартной ошибки эффективной (летальной) дозы ED50 (LD50)
'1. Выявление количества животных в группах использованных
' для испытания доз, которые находятся в пределах значений
' пробитов от 3,5 до 6,5.
N_animals = 0

For i = 1 To Num_exp
If PROB_Y(i) >= 3.5 And PROB_Y(i) <= 6.5 Then
N_animals = N_animals + ALL_NUM.Cells(i).Value
End If
Next i

'2. Вычисление стандартной ошибки LD50 по формуле
SLD50 = (LD84 - LD16) / Sqr(2 * N_animals)

'3. Вычисление коэфициента кумуляции
' и выполнение сопутствующих ему расчетов
If mode = 1 Then
S1 = (Accute_D.Cells(3).Value / Accute_D.Cells(1).Value + _
Accute_D.Cells(1).Value / Accute_D.Cells(2).Value) / 2
Sn = (LD84 / LD50 + LD50 / LD16) / 2
Kcum = (Accute_D.Cells(1).Value * S1) / (LD50 * Sn)
End If
If mode = 2 Then
Kcum = LD50 / Accute_D.Cells(1).Value
End If

'-------Формирование и вывод таблицы результатов---------
If mode = 0 Then
RESALTS.Offset(0, 0).Value = _
"Результаты вычисления эффективных (летальных) доз"
ElseIf mode = 1 Then
RESALTS.Offset(0, 0).Value = _
"Результаты вычисления коэфициента кумуляции"
End If

'---------Вывод шапки таблицы результатов----------------
RESALTS.Offset(1, 0).Value = "№ опыта (дозы)"
RESALTS.Offset(1, 0).Range("A1:A2").Select
Selection.Merge
Selection.WrapText = True
RESALTS.Offset(1, 0).Columns("A:A").EntireColumn.ColumnWidth = 8.2

RESALTS.Offset(1, 1).Value = "Доза препарата, мг/кг (X)"
RESALTS.Offset(1, 1).Range("A1:A2").Select
Selection.Merge
Selection.WrapText = True
RESALTS.Offset(1, 1).Columns("A:A").EntireColumn.ColumnWidth = 9.6

RESALTS.Offset(1, 2).Value = _
"Результаты испытания (количество животных)"
RESALTS.Offset(1, 2).Range("A1:B1").Select
Selection.Merge
Selection.WrapText = True
RESALTS.Offset(1, 2).Rows("1:1").EntireRow.RowHeight = 27

RESALTS.Offset(1, 4).Value = _
"Величина эффекта в про- битах (Y)"
RESALTS.Offset(1, 4).Range("A1:A2").Select
Selection.Merge
Selection.WrapText = True
RESALTS.Offset(1, 4).Columns("A:A").EntireColumn.ColumnWidth = 8.7

RESALTS.Offset(1, 5).Value = _
"Весовой коэффи- циент пробит (Z)"
RESALTS.Offset(1, 5).Range("A1:A2").Select
Selection.Merge
Selection.WrapText = True
RESALTS.Offset(1, 5).Columns("A:A").EntireColumn.ColumnWidth = 9.3

RESALTS.Offset(2, 2).Value = _
"Количество животных с обнаруженным эффектом"
RESALTS.Offset(2, 2).Range("A1").Select
Selection.WrapText = True
RESALTS.Offset(2, 2).Rows("1:1").EntireRow.RowHeight = 27
RESALTS.Offset(2, 2).Columns("A:A").EntireColumn.ColumnWidth = 22.2

RESALTS.Offset(2, 3).Value = _
"Всего живот- ных в группе"
RESALTS.Offset(2, 3).Range("A1").Select
Selection.WrapText = True
RESALTS.Offset(2, 3).Columns("A:A").EntireColumn.ColumnWidth = 11.9

RESALTS.Offset(1, 0).Range("A1:F2").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
RESALTS.Offset(Num_exp + 2, 0).Range("A1:F1").Select
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
' ------завершение вывода шапки таблицы результатов ---------

' Вывод содержимого таблицы
For i = 1 To Num_exp
RESALTS.Offset(2 + i, 0).Value = i
RESALTS.Offset(2 + i, 1).Value = DOSA_X.Cells(i).Value
RESALTS.Offset(2 + i, 2).Value = EFFECT.Cells(i).Value
RESALTS.Offset(2 + i, 3).Value = ALL_NUM.Cells(i).Value
RESALTS.Offset(2 + i, 4).Value = PROB_Y(i)
RESALTS.Offset(2 + i, 5).Value = PROB_Z(i)
Next i

'Вывод результатов работы программы
If mode = 0 Then
RESALTS.Offset(Num_exp + 3, 0).Value = "LD50 = "
RESALTS.Offset(Num_exp + 3, 1).Value = Round(LD50, 4)
RESALTS.Offset(Num_exp + 4, 0).Value = "LD16 = "
RESALTS.Offset(Num_exp + 4, 1).Value = Round(LD16, 4)
RESALTS.Offset(Num_exp + 5, 0).Value = "LD84 = "
RESALTS.Offset(Num_exp + 5, 1).Value = Round(LD84, 4)
RESALTS.Offset(Num_exp + 6, 0).Value = "LD100 = "
RESALTS.Offset(Num_exp + 6, 1).Value = Round(LD100, 4)
RESALTS.Offset(Num_exp + 7, 0).Value = "S_LD50 ="
RESALTS.Offset(Num_exp + 7, 1).Value = Round(SLD50, 4)
ElseIf mode = 1 Or mode = 2 Then
RESALTS.Offset(Num_exp + 3, 0).Value = "LD50(1) = "
RESALTS.Offset(Num_exp + 3, 1).Value = Accute_D.Cells(1).Value
If mode = 1 Then
RESALTS.Offset(Num_exp + 4, 0).Value = "LD16(1) = "
RESALTS.Offset(Num_exp + 4, 1).Value = Accute_D.Cells(2).Value
RESALTS.Offset(Num_exp + 5, 0).Value = "LD84(1) = "
RESALTS.Offset(Num_exp + 5, 1).Value = Accute_D.Cells(3).Value
End If
RESALTS.Offset(Num_exp + 6, 0).Value = "LD50(n) = "
RESALTS.Offset(Num_exp + 6, 1).Value = Round(LD50, 4)
RESALTS.Offset(Num_exp + 7, 0).Value = "LD16(n) = "
RESALTS.Offset(Num_exp + 7, 1).Value = Round(LD16, 4)
RESALTS.Offset(Num_exp + 8, 0).Value = "LD84(n) = "
RESALTS.Offset(Num_exp + 8, 1).Value = Round(LD84, 4)
RESALTS.Offset(Num_exp + 9, 0).Value = "Kкум ="
RESALTS.Offset(Num_exp + 9, 1).Value = Round(Kcum, 4)
End If
End Sub

Для пользования данной программой необходимо подготовить только три столбца данных (табл. 4), а недостающую информацию (значения пробитов и весовые коэффициенты пробитов) она назначит автоматически на основе соответствующих таблиц.

В качестве исходных данных задействуем данные, приведенные в табл. 1. Их вид на рабочем листе приведен на рис. 3.

Для запуска подпрограммы в меню последовательно выбираем "Сервис", "Макрос" (для Excel-97 и выше еще и "Макросы"). В появившемся окне выбираем макрос Accute_LD50_Calc (рис. 4).

После этого в последовательно появляющихся окнах вводим ссылки на необходимые для программы ячейки, содержащие данные. Сначала вводится ссылка на диапазон ячеек, в которых содержаться величины испытуемых в эксперименте доз (рис. 5). Для этого достаточно выделить посредством манипулятора "мышь" требуемый диапазон ячеек на рабочем листе или ввести его посредством клавиатуры.

Далее необходимо ввести ссылку на диапазон ячеек с количествами животных, у которых обнаружен эффект (рис. 6), и ссылку на диапазон ячеек с общими количествами животных в группах (рис. 7).

Завершает процесс ввода исходных данных запрос на ввод ссылки на ячейку (нужно указать только одну ячейку, а не диапазон!!!), начиная с которой будут выводится результаты работы программы (рис. 8).

Далее подпрограмма рассчитает все необходимые показатели. Результаты ее работы приведены на рис. 9, где ld50, ld16, ld84 — соответствующие летальные дозы, а s_ld50 — стандартная ошибка ld50.

Описанная программа приведена на CD (вместе с комплектом других прикладных программ) в монографии [5].

Литература
1. Беленький М.Л. Элементы количественной оценки фармакологического эффекта. —2-е изд. перераб. и доп. —Л.: Медгиз, 1963. —152 с.
2. В.Б. Прозоровский Использование метода наименьших квадратов для пробит-анализа кривых летальности // Фармакол. и токсиколог. —1962. —№1. —С. 115—119.
3. Статистические расчеты, используемые в фармакологии и токсикологии (методы альтернативного анализа). —http://www.statsoft.ru/home/portal/applications/medicine/pharma.htm.
4. Иванов Ю.И. Погорелюк О.Н. Статистическая обработка результатов медико-биологических исследований на микрокалькуляторах по программам. —М.: Медицина, 1990. —224 с.
5. ЛапачС.Н., Чубенко А.В., Бабич П.Н. Статистика в науке и бизнесе. —К.: МОРИОН, 2002. —640 с.


| Зміст |