Cálculo IC50 [cerrado]

Soy estudiante de informática y estoy en prácticas en un instituto de investigación en genómica y biotecnologías. Mi tarea actual es calcular el IC50 y el EC50 dado un conjunto de datos en forma de tabla.

ingrese la descripción de la imagen aquí

La cuestión es que debo encontrar una manera de automatizar estos cálculos, actualmente trabajando en Excel. Lo que resulta ser realmente difícil para mí, que no tiene experiencia en biología. He preguntado y la gente allí amablemente me explicó qué es el IC50 y por qué es necesario, cómo se recopilan los datos, qué herramientas usan para recopilarlos, etc. Sin embargo, mi problema es que lo que necesito es una forma de calcularlo. Una forma matemática, algo que podría usar para escribir una fórmula en Excel, o preferiblemente un software que podría escribir. (Una vez que sepa cómo calcularlo) Durante mi investigación encontré este video sobre cómo calcular el IC50 usando una función macro de Excel , pero no sé si realmente funciona, ya que se me proporcionó una cantidad limitada de datos de prueba. (No estoy seguro de qué tan confiable es ese algoritmo tampoco)

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

¿Puede alguien ayudarme con una forma matemática real de calcular el IC50/EC50? Mi lectura parece no ser de mucha ayuda, sin importar cuánto intente usar los recursos gratuitos de Internet para recopilar información teórica sobre el tema.

Ok, la pregunta parece haber sido marcada como tarea fuera de tema porque no presenté mi forma de resolverla. En primer lugar, no es tarea, es un problema de trabajo que he encontrado y necesito ayuda. En segundo lugar, aquí está mi intento de resolverlo usando una macro de 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

Este código básicamente dibuja una línea en la memoria entre los puntos que están antes y después del punto IC50/EC50 en el gráfico y calcula la concentración correspondiente de EC/IC en función de su eficacia real. Sin embargo, no estoy seguro de cuán confiable es este método.

Hm... ¿Responde a tu pregunta? - youtube.com/watch?v=fMghQw2Ry2c
Voto para cerrar esta pregunta como fuera de tema porque está mal investigada. Las fórmulas se pueden encontrar en abundancia con una simple búsqueda en Google. Como estudiante de ciencias de la computación, implementar algunos números en una regresión basada en una función conocida debería ser una tontería.
Consulte las páginas wiki sobre IC50 y EC50 .
He pasado por eso, Ilan, pero ahí está la IP y el SP que no puedo recopilar de mis datos, así que eso también es un callejón sin salida para mí. Y gracias por los enlaces AliceD, pero ya los revisé sin avances significativos. Lo digo en serio, quien no mira wikipedia primero...
El problema con la pregunta es que debe preguntar sobre biología aquí y sobre programación en StackOverflow. Son dos temas diferentes: biológico, cómo modelar, programación, cómo implementar.
Nuevamente, si tiene un modelo, debería poder preguntar cómo ajustar los datos. O aprende por tu cuenta. Estos son dos temas diferentes: ajuste/matemáticas y modelo/biología. ¿Está claro?
No voy a votar para reabrir: el voto de tarea para cerrar no solo se usa para la tarea ( biology.stackexchange.com/help/how-to-ask ), sino también para aquellos que muestran un esfuerzo de investigación deficiente. Usted solicita una "forma matemática de calcular el IC50/EC50": el script que ha publicado no muestra realmente un intento de autoayuda, intente encontrar los cálculos por sí mismo, luego muestre las matemáticas, no un script de computadora, y dinos lo que no entiendes. Además, tal como está, la pregunta solo es accesible para aquellos que están familiarizados con las macros de Excel
No pareces entenderme. He hecho mi parte justa de la investigación, es decir, 2 días sin resultados reales. La cuestión es que puedo leer todos los artículos que quiero, aunque no entiendo lo que dicen. Porque no tengo formación en biología. Y todo lo que puedo investigar es seguir ese camino que, de nuevo, no produce resultados para alguien que quiere calcular sin saber en teoría. La razón por la que no estoy publicando en Stack overflow es porque la programación no es mi problema aquí. No se que implementar. Sé lo que significan todos, pero no cómo procesar los datos, qué hacer con ellos.
Además, el script usa un gráfico virtual que es geometría, que es matemática... No tengo qué cálculos mostrar además de eso, ya que eso es exactamente lo que estoy preguntando aquí. como calculo. Necesito poder resolverlo en papel. Mi mente no es capaz de comprender un proceso de cálculo de algo simplemente sabiendo para qué se usa o qué significa. Necesito fórmulas, estadísticas, algo palpable... Solo a partir de ahí puedo construir mi camino hacia el resultado.
No tienes que publicar la macro de Excel. Por esfuerzo nos referimos a la idea básica o un enfoque que ha probado o que cree que es razonable. La macro no sería de ayuda si no explica qué enfoque o metodología analítica está tratando de implementar. El primer paso es comprender qué es realmente IC50. Había respondido una pregunta similar en química.SE ; puedes echar un vistazo allí.

Respuestas (1)

Según tengo entendido, lo que realmente estás preguntando es:

¿Cuál es el modelo matemático que se puede usar para ajustar los datos de letalidad/eficiencia de las drogas?

Con la respuesta a eso, puede ir a stackexchange y corregirlos para que ajusten la solución en el idioma de su elección. Sin embargo, la respuesta a eso es bastante complicada, depende de su sistema y experimento. Y también, qué tan bien quiere modelar su observación.

Sugeriría comenzar con algo como sigmoide de 4 parámetros, que en su caso se degradará a sigmoide de dos parámetros: LD50 (desplazamiento a lo largo de X) y pendiente (qué tan rápido pasa de la vida a la muerte) con casos extremos que son 0 o 1.

Ahora, este documento analiza un modelo (sigmoide de 4 parámetros). se ve más o menos como y = X 1 + mi α ( X L D 50 ) , dónde α es el parámetro de inclinación

Otra forma de hacer tal ajuste es usar la función de error . Esa es una integral de distribución gaussiana. Me gusta ese enfoque (teóricamente) porque la distribución normal es importante en el análisis de datos de observaciones independientes, y muchos valores aleatorios en biología se comportan normalmente.

Permítanme reiterar. En primer lugar, debe tener un modelo para sus datos. Tal vez la letalidad baje un poco después de LD50. Tal vez usted tiene algunas otras cosas raras. Lo que puede hacer es elegir un modelo y luego ver qué tan bien describe sus datos.

Los paquetes drfit y drc en R proporcionan herramientas para dicho ajuste de curvas de dosis-respuesta. Trabajar con estas herramientas de R puede ser más eficiente que escribir código nuevo o tratar de obligar a Excel a hacer cosas que realmente no debe hacer.
@EdM No se trata de qué software está utilizando para implementar el modelo. Lo importante es entender o formular un modelo y aaaaaa está hablando de un modelo de ejemplo.
@WYSIWYG: de acuerdo, pero el OP parecía tan centrado en la implementación que esperaba que conocer las herramientas disponibles permitiera centrarse más en el modelo.
eso es útil, también esas páginas discuten modelos.