Расчет IC50 [закрыт]

Я студент компьютерных наук и прохожу стажировку в научно-исследовательском институте геномики и биотехнологий. Моя текущая задача состоит в том, чтобы рассчитать IC50 и EC50, учитывая набор данных в виде таблицы.

введите описание изображения здесь

Дело в том, что я должен найти способ автоматизировать эти вычисления, в настоящее время работая в Excel. Что оказывается очень сложным для меня, не имеющего биологического образования. Я поспрашивал, и люди там любезно объяснили мне, что такое IC50 и зачем он нужен, как собираются данные, какие инструменты они используют для их сбора и так далее. Моя проблема, однако, в том, что мне нужен способ его расчета. Математический способ, что-то, что я мог бы использовать для написания формулы в Excel, или, предпочтительно, программное обеспечение, которое я мог бы написать (как только я научусь его вычислять). Во время моего исследования я нашел это видео о том, как рассчитать IC50 с помощью макрофункции Excel , но я не знаю, работает ли он на самом деле, поскольку мне был предоставлен ограниченный объем тестовых данных. (Я не уверен, насколько надежен этот алгоритм)

https://www.youtube.com/watch?v=ynMcHziZhvs

Может ли кто-нибудь помочь мне с фактическим математическим способом расчета IC50/EC50? Кажется, что мое чтение не очень помогает, как бы я ни пытался использовать бесплатные ресурсы Интернета для сбора теоретической информации по теме.

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

Function HalfWay(Ys As Range) As Double
    Dim pMin As Double, pMax As Double
    pMin = WorksheetFunction.Min(Ys)
    pMax = WorksheetFunction.Max(Ys)
    HalfWay = pMax - (pMax - pMin) / 2 
    End Function  
Function ECIC(X As Range, Y As Range) As Variant 
    Y50=HalfWay(Y)
    Dim iRow1 As Integer, iRow2 As Integer, Asc As Integer, X1 As String, Y1 As String
    If Y.Cells(1, 1) < Y.Cells(2, 1) Then Asc = 1 Else Asc = -1
    iRow1 = WorksheetFunction.Match(Y50, Y, Asc)
    iRow2 = WorksheetFunction.Match(Y50, Y, Asc) + 1
    X1 = X.Cells(iRow1, 1).Address & ":" & X.Cells(iRow2, 1).Address
    Y1 = Y.Cells(iRow1, 1).Address & ":" & Y.Cells(iRow2, 1).Address
    ECIC = WorksheetFunction.Trend(Range(X1), Range(Y1), Y50) 
    End Function

Этот код в основном рисует линию в памяти между точками, которые находятся до и после точки IC50/EC50 на графике, и вычисляет соответствующую концентрацию EC/IC на основе ее фактической эффективности. Я не уверен, насколько надежен этот метод.

Хм... Это отвечает на ваш вопрос - youtube.com/watch?v=fMghQw2Ry2c
Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что он плохо изучен. Формулы можно найти в большом количестве с помощью простого поиска в Google. Будучи студентом-информатиком, реализовать несколько чисел в регрессии, основанной на известной функции, не составит труда.
См. вики-страницы по IC50 и EC50 .
Я прошел через это, Илан, но там есть IP и SP, которые я не могу собрать из своих данных, так что для меня это тоже тупик. А за ссылки спасибо AliceD, но я их уже прошел без существенного прорыва. Я имею в виду серьезно, кто не просматривает сначала википедию...
Проблема с вопросом в том, что вы должны спросить о биологии здесь и о программировании на StackOverflow. Это две разные проблемы: биологическая — как моделировать, программирование — как реализовать.
Опять же, если у вас есть модель, вы должны иметь возможность спросить, как сопоставить данные. Или учиться самостоятельно. Это два разных вопроса: подгонка/математика и модель/биология. Это ясно?
Я не голосую за повторное открытие - голосование за закрытие домашних заданий используется не только для домашних заданий ( biology.stackexchange.com/help/how-to-ask ), но и для тех, кто демонстрирует плохие исследовательские усилия. Вы просите «математический способ расчета IC50 / EC50» - опубликованный вами сценарий на самом деле не показывает попытку самопомощи, попробуйте найти расчеты для себя, а затем покажите математику - не компьютерный сценарий, и скажите нам, что вы не получаете. Кроме того, в его нынешнем виде вопрос доступен только тем, кто знаком с макросами Excel.
Вы, кажется, не понимаете меня. Я сделал свою долю исследований, то есть 2 дня без реальных результатов. Дело в том, что я могу читать все статьи, которые хочу, но я не понимаю, о чем они говорят. Потому что у меня нет биологического образования. И все, что я могу исследовать, это следовать по этому пути, который опять же не дает никаких результатов тому, кто хочет вычислить незнание в теории. Причина, по которой я не пишу о переполнении стека, заключается в том, что программирование здесь не моя проблема. Я не знаю, что реализовать. Я знаю, что они все означают, но не знаю, как обрабатывать данные, что с ними делать.
Кроме того, скрипт использует виртуальный график, который представляет собой геометрию, которая является математикой... У меня нет никаких расчетов, чтобы показать, кроме этого, поскольку это именно то, что я прошу здесь. Как мне рассчитать. Мне нужно решить ее на бумаге. Мой разум не в состоянии понять процесс вычисления чего-либо, просто зная, для чего это используется или что это значит. Мне нужны формулы, статистика, что-то осязаемое... Только оттуда я могу выстроить свой путь к результату.
Вам не нужно публиковать макрос excel. Под усилием мы подразумеваем основную идею или подход, который вы пробовали или считаете разумным. Макрос не поможет, если вы не объясните, какой подход или аналитическую методологию вы пытаетесь внедрить. Первый шаг — понять, что такое IC50 на самом деле. Я ответил на аналогичный вопрос в химии. SE ; можете посмотреть там.

Ответы (1)

Насколько я понимаю, вы действительно спрашиваете:

Какую математическую модель можно использовать для подбора данных о летальности/эффективности наркотиков?

С ответом на этот вопрос вы можете пойти на stackexchange и найти подходящее решение на выбранном вами языке. Однако ответить на этот вопрос довольно сложно, это зависит от вашей системы и эксперимента. А также, насколько хорошо вы хотите смоделировать свое наблюдение.

Я бы предложил начать с чего-то вроде сигмоиды с 4 параметрами, которая в вашем случае ухудшится до сигмоиды с двумя параметрами: LD50 (сдвиг по X) и крутизна (насколько быстро вы переходите от жизни к смерти) с крайними случаями, которые либо 0 или 1.

Теперь в этой статье обсуждается одна модель (4-параметрическая сигмоида). Это выглядит примерно так у "=" Икс 1 + е α ( Икс л Д 50 ) , где α параметр крутизны

Другой способ сделать такую ​​подгонку — использовать функцию ошибки . Это интеграл гауссовского распределения. Мне нравится такой подход (теоретически), потому что нормальное распределение важно при анализе данных независимых наблюдений, а многие случайные величины в биологии ведут себя нормально.

Позвольте мне повторить. У вас должна быть модель для ваших данных в первую очередь. Возможно, летальность немного падает после LD50. Может быть, у вас есть какие-то другие странные вещи. Что вы можете сделать, так это выбрать модель, а затем посмотреть, насколько хорошо она описывает ваши данные.

Пакеты drfit и drc в R предоставляют инструменты для такой подгонки кривых доза-реакция . Работа с этими инструментами R может быть более эффективной, чем написание нового кода или попытка заставить Excel делать то, для чего он на самом деле не предназначен.
@EdM Дело не в том, какое программное обеспечение вы используете для реализации модели. Важно понять или сформулировать модель, а аааааа говорит о примерной модели.
@WYSIWYG: согласен, но ОП казался настолько сосредоточенным на реализации, что я надеялся, что знание доступных инструментов позволит больше сосредоточиться на модели.
это полезно, и на этих страницах обсуждаются модели.