Bioactive AI

Predicción y priorización de compuestos bioactivos con potencial neuroprotector

Equipo 7 · Ingrid Pamela Ruiz Puga · Artemio Santiago Padilla Robles · José Antonio Vázquez Martínez

Maestría en Inteligencia Artificial Aplicada · TC5035.10 · Tecnológico de Monterrey
Profesora titular: Dra. Grettel Barceló Alonso · Patrocinadora: Dra. Mariana Martínez Ávila

19 de octubre de 2026

De qué trata

A partir del SMILES de un compuesto —su estructura química escrita como texto— predecir y priorizar productos naturales con potencial neuroprotector.

Etapa 1 · ¿Cruza la barrera?

Clasificar si el compuesto atraviesa la barrera hematoencefálica.

7,805 compuestos con clase medida.

Etapa 2 · ¿Tiene efecto?

Predecir actividad sobre dianas asociadas a neuroprotección, y cuál.

202,647 registros · 39 dianas.

Importante

La etapa 1 no es un filtro duro. Un BBB− no descarta al compuesto: existen profármacos, lipidización y nanoacarreadores. Las dos salidas se combinan al final.

Sobre ambas pesa un requisito que la patrocinadora planteó como no negociable: explicabilidad a nivel de subestructura.

Lo que nos dieron

Todo lo que sigue sale de tres archivos de la patrocinadora:

Archivo Qué contiene De dónde viene
Permeabilidad 7,811 compuestos, 7,805 con clase BBB+ / BBB− Deriva de B3DB, estandarizado y cruzado con COCONUT, lo que permite separar naturales de sintéticos
Actividad 202,647 registros de 105,583 compuestos ChEMBL (fármacos) más NPASS y CMAUP (productos naturales)
Dianas 39 dianas con su gen y su enfermedad Curadas a mano por ella desde la farmacología conocida

Un archivo por etapa, y uno que dice qué se mide en la segunda. Cada tramo que sigue parte de una pregunta sobre estos archivos, muestra lo que miramos y termina en una entrada de la Ruta, el registro donde queda cada decisión con lo que se descartó.

Cómo fluyen los datos

%%{init: {"themeVariables": {"fontFamily": "Helvetica, Arial, sans-serif", "fontSize": "16px"}}}%%
flowchart LR
    A["SMILES"] --> B["Descriptores RDKit<br/>203 utilizables"]
    A --> C["Fingerprint ECFP4<br/>2,048 bits"]
    B --> D["Tabla de<br/>características"]
    C --> D
    D --> E["Etapa 1<br/>permeabilidad"]
    D --> F["Etapa 2<br/>actividad"]
    E --> G["Priorización con<br/>atribución a fragmentos"]
    F --> G

El recorrido

  1. Los datos de permeabilidad. Cuántos compuestos distintos hay, si sirve el grupo A–D, si los naturales se comportan distinto.
  2. Cómo evaluamos sin hacernos trampa. Cómo se parte el conjunto y qué tan firme es un umbral.
  3. Cómo convertimos moléculas en números. Qué se probó, qué se descartó y por qué.
  4. La etapa 2. Qué hay en el archivo de actividad y qué no sabemos todavía.
  5. La Ruta del proyecto. Donde quedó todo lo anterior, y lo que le pedimos revisar.

Nota

Cada decisión se cuenta igual: la pregunta, lo que miramos, lo que vimos y lo que decidimos, con su entrada en la Ruta y su estado. Nada está ratificado hasta que ella lo revise.

1 · Los datos de permeabilidad

Qué hay en el archivo, y qué decidimos al mirarlo.

¿Cuántos compuestos distintos hay? La mitad

El conjunto tiene 7,805 filas pero solo 4,018 esqueletos de conectividad distintos.

El ácido fusídico aparece nueve veces, como estereoisómeros o con nombres distintos.

131 esqueletos reúnen estereoisómeros con etiquetas BBB contradictorias entre sí: 429 filas que imponen 151 errores inevitables.

Filas 7,805
Estructuras reales 4,018
Duplicados por esqueleto 3,787

Lo que decidimos: la partición agrupa por estructura y nunca reparte filas al azar. Un split aleatorio pondría estereoisómeros del mismo compuesto a ambos lados.

Nota

En la Ruta: 1.2 (vigente) para la partición, y 1.8 (abierta) para los 131 esqueletos contradictorios.

¿Sirve filtrar por A–D? No, empeora el desbalance

La investigación inicial leía las categorías de B3DB como confiabilidad y recomendaba entrenar solo con A y B. Antes de adoptarlo miramos qué pasa al filtrar. Pruébalo:

Lo que vimos: el grupo D tiene mediana de 3 referencias contra 1 del C, y ningún registro duplicado tiene etiquetas contradictorias. La columna está confundida con la etiqueta: filtrar a A+B baja la clase minoritaria de 36.5% a 27.0%, es decir, empeora el desbalance en vez de limpiar ruido.

Lo que decidimos: se usa para estratificar, nunca para excluir, y el entrenamiento pasó de 4,679 a 7,805 compuestos (+67%).

Nota

En la Ruta: 1.1 (vigente · revisada). La recomendación anterior sigue visible, marcada como superada.

¿Los naturales cruzan peor? Depende del grupo

En conjunto, los naturales cruzan 18.9 puntos menos que el resto (52.7% contra 71.7% BBB+), y 28.3 menos que los compuestos sin equivalente natural (81.0%) si se separan los análogos estereoquímicos, que cruzan aún menos (39.7%). Pero repartida por grupo de B3DB, la brecha desaparece justo donde la etiqueta viene de un logBB medido:

Importante

Puede ser química real o un artefacto de curación, y los datos no lo distinguen. Decidido por el equipo (1.6, vigente): un solo modelo, con el desempeño evaluado por origen dentro de cada grupo A–D y no solo en el global, y la causa declarada como limitación. Entrenar por separado partiría un conjunto que ya es chico para resolver una ambigüedad que los datos no resuelven.

2 · Cómo evaluamos sin hacernos trampa

Cómo se parte el conjunto, y qué tan firme es un número que parece exacto.

¿Cómo se parte el conjunto sin hacer trampa?

Partición n Andamios % BBB+
Entrenamiento 5,557 1,741 64.0
Validación 749 498 72.0
Prueba 1,499 1,390 57.3

Cero andamios y cero esqueletos cruzados. La prueba tiene casi un andamio por molécula.

La prueba quedó con 57.3% BBB+ contra 64.0% del entrenamiento: los andamios raros son menos permeables. El modelo se evalúa sobre una distribución distinta de aquella en la que aprendió, que es la situación realista.

Nota

En la Ruta: 1.2 (vigente). Todo lo que se aprende de los datos —vocabularios, umbrales, escaladores— se ajusta solo con entrenamiento.

El mejor corte de TPSA cambia con los datos, y muchos valen lo mismo

TPSA mide la polaridad de la molécula. La regla es «si TPSA < corte, se predice BBB+». La curva dice qué tan bien separa esa regla las dos clases con cada corte: es el índice J (sensibilidad + especificidad − 1), donde 0 es azar y 1 es perfecto. El pico es el «umbral óptimo». Mueve el corte y cambia de subconjunto; es el mismo dataset en los cuatro casos:

Nota

Dos lecturas: el pico se mueve con el subconjunto, y es plano: con un bootstrap de esqueletos —no de filas, que no son independientes— 28 cortes entre 75 y 110 Ų no se distinguen del mejor (las franjas verdes). Decisión: derivarlo solo con entrenamiento y no citarlo como constante. En la Ruta: supuesto S1.3.

3 · Cómo convertimos moléculas en números

Qué se construyó, qué se probó y qué se descartó, con la evidencia de cada cosa.

De SMILES a números: 217 descriptores y un fingerprint

217 descriptores 2D de RDKit, de los que quedan 203 utilizables tras auditar la matriz por cuatro criterios.

El que casi rompe todo: Ipc llega a 10⁴¹. Es finito en float64, pero no cabe en float32 y scikit-learn convierte internamente. Un chequeo de isfinite no lo detecta, así que costó una ejecución entera antes de encontrarlo.

Morgan/ECFP4, 2,048 bits, con rdFingerprintGenerator.

Cuidado con el nombre: se genera con radius=2 porque el número del nombre es el diámetro, no el radio.

Los descriptores resumen la molécula entera; el fingerprint dice qué fragmentos tiene. Se usan juntos.

Nota

Los embeddings congelados de transformers se descartaron: según la literatura, no superan a esta combinación bajo partición por andamio (no lo medimos nosotros).

Nota

En la Ruta: 1.3 (vigente).

¿Por qué no el fingerprint plegado? Rompe la explicabilidad

Un fingerprint plegado reparte las subestructuras en un número fijo de casillas con una función de dispersión, así que dos subestructuras distintas pueden caer en el mismo bit. Si ese bit resulta importante, no se puede traducir a una estructura concreta — que es exactamente lo que la patrocinadora pidió como no negociable.

Sort & Slice ordena las subestructuras por frecuencia en el entrenamiento y se queda con las L más comunes, una por columna. Sin colisiones: cada columna se puede dibujar.

El costo es que el vocabulario se aprende de los datos, así que se ajusta solo con entrenamiento y las subestructuras que solo aparecen en la prueba quedan fuera.

¿Cuánto vocabulario hace falta?

Nota

Se mantiene L = 2048 como valor de trabajo: es el menor tamaño que el AUPRC no distingue del mejor en dos de los tres modelos. Lo que falta decidir con la patrocinadora no es el número sino la estrategia —desempeño, parsimonia o relevancia química de las subestructuras raras— y ahí su conocimiento de los productos naturales es lo que inclina la balanza. En la Ruta: 1.7 (propuesta).

Escalar no es por el acierto, es por la convergencia

Importante

El argumento fácil sería «los árboles no necesitan escalar». Es cierto para Random Forest, pero el proyecto entrena una regresión logística como modelo interpretable de control, y esa sí es sensible a la escala. Había que medirlo.

Nota

En la Ruta: 1.5 (propuesta · revisada). Esta medición cambió la razón del escalado, y la versión anterior sigue visible.

¿Qué entra al modelo y qué no?

De las 217 columnas de descriptores a la matriz con la que se entrena:

Paso Qué pasa Cuántas quedan
Descriptores utilizables Se quitan 5 constantes, 8 con valores faltantes y Ipc 203
Características derivadas Se suman las tres: tpsa_por_mw, lipo_neta y regla_2p. Medidas con el modelo ninguna aporta —con Random Forest las tres juntas quedan 0.006 de MCC por debajo de no usarlas— pero tampoco estorban 206
Casi constantes Se van 24 columnas cuyo valor modal cubre el 99% del entrenamiento, casi todas conteos de grupos funcionales 182
Filtro de correlación Se van 31 columnas casi iguales a otra, entre ellas lipo_neta, que correlaciona 0.975 con logP 151

Lo que no entra como predictor: group y el indicador de origen natural. Se codifican aparte, pero la matriz principal solo lleva estructura y descriptores. group está confundida con la etiqueta, así que usarla de entrada sería fuga; y cómo tratar los 1,005 análogos de los naturales sigue abierto (1.6).

Nota

Los cortes de 0.01 de varianza y 0.95 de correlación son propuestas operativas medidas en estos datos, no valores ratificados. Si cambian, se repite la selección. En la Ruta: 1.5 y el supuesto S1.11.

Lo que medimos y descartamos

Cinco opciones que se probaron con los datos del proyecto:

Se probó Lo que vimos Qué hicimos
Entrenar solo con grupos A+B La clase minoritaria baja de 36.5% a 27.0% Se usa todo el conjunto (1.1)
No escalar la regresión logística No converge en ninguno de los 15 pliegues; con min–max, 53 iteraciones Se escala (1.5)
Yeo–Johnson Parecía la peor —0.030 de MCC por debajo de min–max— hasta que cada transformación eligió su propio C: con el suyo empatan en 0.695. Los C elegidos están a dos órdenes de magnitud (0.01 contra 1.0) Ya no hay motivo medido para evitarla (S1.9)
PCA Con Random Forest, el MCC cambia −0.008 (IC 95%: −0.070 a +0.055) y las componentes dejan de ser fragmentos Solo como comparación (1.5)
El descriptor Ipc Llega a 10⁴¹ y no cabe en float32 Se excluye (1.3)

Nota

Son decisiones técnicas del equipo. No necesitan su respuesta, pero quedan a la vista por si ella las objeta.

Lo que descartamos sin entrenar un modelo para compararlo

Aquí no hay un experimento comparativo: nadie entrenó un modelo con Box–Cox, por ejemplo. La razón es un conteo en nuestros datos, un argumento o la literatura, y la última columna dice cuál:

Se descartó Por qué Con qué se sostiene
Logaritmo y Box–Cox 193 de los 203 descriptores tienen valores ≤ 0 Un conteo en nuestros datos
Chi-cuadrado Exige valores no negativos y los descriptores son firmados Razonamiento
Análisis factorial Buscamos conservar la correspondencia entre columna y propiedad química, no factores latentes Razonamiento
Discretizar los descriptores Pierde diferencias dentro de cada intervalo y los cortes no están justificados; el TPSA ya mostró que no son constantes Razonamiento
Embeddings congelados de transformers No superan a descriptores más fingerprint bajo partición por andamio Literatura
Dejar que la etapa 1 filtre a la etapa 2 Solo 1,033 esqueletos tienen medición en las dos; para el resto sería una predicción sin verificar Un conteo en nuestros datos

Nota

La diferencia importa: un resultado comparado se revisa repitiendo el experimento con otros datos; un descarte por conteo o por razonamiento, solo con un argumento mejor.

4 · La etapa 2: el archivo de actividad

Qué hay, qué no cuadra y qué necesitamos saber antes de elegir cómo modelarlo.

Las dos etapas casi no comparten compuestos

La cadena completa no se puede validar experimentalmente más que sobre ese subconjunto, y reservarlo costaría la cuarta parte de la fase 1. Confirma por una vía independiente que la etapa 1 no puede ser filtro duro.

El etiquetado deja fuera lo que queremos estudiar

El pChEMBL solo existe para los registros de ChEMBL. Etiquetar únicamente por él descarta:

Qué se pierde Registros
NPASS y CMAUP, las bases de productos naturales 15,293
Mediciones censuradas (> X nM) 54,498
Inactivos declarados por texto 29,730

Los dos últimos no se suman: las 29,730 con texto están dentro de las censuradas. Se etiqueta con la concentración y la relación, que vienen informadas en las tres bases y reproducen el pChEMBL hasta el redondeo donde los dos existen. No es inferir entre bases: es la misma aritmética fila por fila.

Los inactivos por texto quedan fuera, y no porque su límite sea inventado —el comentario de ChEMBL dice «Inhibition < 50% @ 10 uM», así que viene del ensayo— sino porque las 29,730 filas son una sola campaña de tamizaje: 772 compuestos, un solo documento, sin curva dosis-respuesta. Dentro, un protocolo definiría el 61% de la clase negativa.

¿Dónde se corta «activo»? Una sola decisión

La regla de censura del diccionario ata el corte de los inactivos al de los activos: mover uno mueve al otro.

Nota

Los porcentajes de la gráfica son por registro e incluyen fenotípicos. Sobre el par compuesto-diana, que es la unidad del modelo, salen 72.8% de activos con 10 µM y 50.2% con 1 µM.

Importante

Decidido por el equipo: 10 µM principal, 1 µM siempre al lado (2.3, vigente). No es un hallazgo: el archivo no tiene columna de desenlace, así que un umbral no se estima, se elige. Lo que sí está medido es de dónde sale el número — el 67.4% de las mediciones censuradas lo está exactamente en 10 µM, y el comentario de ChEMBL dice «Inhibition < 50% @ 10 uM» —: es la concentración a la que estos ensayos dejaron de mirar.

Precaución

Y lo medible favorece 1 µM: recupera 4,879 censurados más y deja las clases casi balanceadas. Se conserva 10 µM por comparabilidad con el diccionario, y cambiar de principal cuesta una columna, porque el objetivo se guarda como intervalo (2.10).

La prueba apartada: preguntada, contestada, construida

Tip

Contestado el 15 de octubre (2.6, ratificada). Había reservado un 10% al azar; aceptó el argumento de que eso no evalúa generalización estructural y entregó el archivo completo. Su única condición, repetida cuatro veces: que se reserve una prueba que el modelo nunca vea.

Nota

Construida y guardada en el artefacto, no en una celda: 49,425 / 6,986 / 13,973 pares en entrenamiento, validación y prueba, agrupando por andamio. Cero andamios y cero esqueletos cruzados. La validación cruzada de cinco pliegues corre sobre los 54,369 primeros y no toca la prueba (2.7).

¿Con qué dianas se puede entrenar?

Una diana es la proteína sobre la que actúa un compuesto. Las 39 de la lista, 37 genes y dos receptores completos (NMDA y GABA-A), las curó ella a mano; cada una tiene una categoría de enfermedad. Un modelo necesita ejemplos de cada diana para aprender algo. Contamos cuántos hay:

Tip

Contestado el 15 de octubre (2.1, ratificada). Excluyó las cuatro sin datos y acotó el alcance a cinco categorías: Alzheimer, Parkinson, neuroinflamación, depresión y estrés oxidativo. Con eso, el conjunto de la fase 2 son 70,384 pares compuesto-diana sobre 26 dianas.

¿Un modelo por diana, por enfermedad o uno solo?

Cada diana pertenece a una categoría de enfermedad. Los registros se reparten así:

Opción Lo que da Lo que cuesta
Un modelo por diana Cada modelo aprende una sola cosa Las dianas con pocos datos no sostienen un modelo propio
Uno por categoría de enfermedad Junta las dianas de una misma enfermedad Mezcla farmacologías: en Alzheimer conviven una proteasa, una esterasa y un receptor nuclear
Uno multitarea Comparte representación e incluye las dianas pequeñas Mezcla señales de dianas distintas

Importante

Decidido: por diana para once, multitarea para las quince restantes (2.2, vigente). El criterio no es un número de pares sino una condición: mil pares o más y cincuenta casos de la clase minoritaria en todos los pliegues. Son el 85.6% de los pares ajustables.

Precaución

El criterio cambió al comprobarlo. Con «mil pares o más» salían catorce; mirando los pliegues diana por diana, dos de las grandes no sostienen un modelo propio aunque tengan volumen: LRRK2 (2,709 pares, 96.8% activos) deja un pliegue con 13 negativos y GRIN2B (1,592 pares pero solo 172 grupos) deja uno con 5. Si ella prioriza una diana pequeña, la respuesta no es entrenarle un modelo: es esa cifra.

La matriz de la fase 2, y el objetivo guardado como intervalo

De 202,647 mediciones a 70,384 pares compuesto-diana, que es la unidad sobre la que el modelo predice. La llave es el esqueleto de conectividad × gen, no el identificador del compuesto: los identificadores no se comparten entre fuentes, así que con ellos 164 contradicciones quedarían invisibles.

Se guarda Qué es
pActividad la potencia, 6 − log10 µM. Igual al pChEMBL donde los dos existen: mediana de diferencia 0.0021
limite_inferior, limite_superior el intervalo donde cae la potencia, con ±∞ cuando no hay cota
activo_10um, activo_1um la etiqueta, derivada del intervalo

Nota

Guardar el intervalo y no la etiqueta es lo que hace que el umbral sea una decisión de lectura: la clasificación, la regresión y la regresión censurada leen el mismo archivo. La fase 1 aprendió la lección al revés — seleccionó sus columnas sobre una matriz ya transformada, así que cambiar la transformación obligaba a repetirlo todo; se corrigió filtrando sobre los valores crudos, y ahora las 151 columnas son las mismas con cualquiera de las tres transformaciones.

Precaución

Un > 10 µM no es un dato faltante: es una cota. 12,552 pares solo tienen cotas, y tirarlos sería tirar la evidencia negativa. Por eso el objetivo es un intervalo y no un número (2.10).

Tres cosas que la etiqueta esconde, y se publican siempre

Advertencia

1 · El mismo corte no mide lo mismo en cada diana. La mediana de potencia va de 5.02 a 7.40, 241 veces. Con 10 µM, LRRK2 queda en 96.5% de activos —casi constante, inútil como objetivo— y MAOA en 35.0%.

Advertencia

2 · La procedencia está confundida con la etiqueta. Los pares que solo tiene ChEMBL son 75.8% activos; los que solo tiene NPASS, 14.0%. Sesenta y tres puntos. El control de atajo decide si el modelo está aprendiendo química o procedencia: si un modelo que solo ve la fuente se acerca al que ve estructura, se vuelve a ChEMBL.

Advertencia

3 · Y la prueba reservada no es una muestra representativa. Es un andamio por par, tiene 7 puntos más de activos que el entrenamiento, y solo el 5.2% de los pares de NPASS cae en ella —los naturales comparten andamios en familias grandes, y los grupos grandes van a entrenamiento—. Mide generalización a química nueva, que es lo que se quiere; no sirve para comparar por origen con intervalos.

¿Qué error le cuesta más?

Mueve el corte y mira el intercambio con los datos del proyecto:

Importante

Decidido: no se fija un punto de operación (C.5, vigente). La pregunta traía un supuesto escondido —que hay que elegir uno—. Se entrega la curva completa con un corte sugerido en los veinte primeros compuestos, que es lo que un laboratorio puede ensayar en un semestre. Mover el corte es leer otra fila de la misma tabla, no reentrenar.

Nota

Lo que sigue siendo suyo, y se le muestra en vez de preguntárselo: qué espera recibir al final — una lista, un modelo ejecutable o el material de un artículo —, porque eso sí cambia la forma del entregable.

5 · El modelo de referencia

Contra qué se van a comparar los modelos de los Avances 4 y 5.

Tres candidatos, ninguno gana

Las tres familias de la 1.5, con sus hiperparámetros por omisión, la misma partición y las mismas métricas. Sobre permeabilidad:

Canalización AUROC Intervalo del 95%
Bosque aleatorio 0.937 [0.913, 0.955]
Boosting por histogramas 0.935 [0.912, 0.953]
Regresión logística (min–max) 0.914 [0.888, 0.936]

Importante

Los tres intervalos se solapan, así que el baseline no elige ganador: fija el nivel. Con una sola configuración por familia, declarar un ganador sería repetir el error que esta misma entrada ya cometió con el escalado y tuvo que retirar. Afinar es del Avance 4.

Nota

El intervalo sale de remuestrear grupos y no filas: los compuestos del mismo andamio comparten química, así que remuestrear filas las trata como independientes y da un intervalo más estrecho del que corresponde. Y la desviación entre semillas no sirve, porque las tres semillas comparten las mismas filas.

Cómo se agrupa pesa más que qué modelo se usa

El criterio de agrupamiento no es un detalle de implementación. Un esqueleto de conectividad puede aparecer con andamios distintos, y separarlos pone estereoisómeros del mismo compuesto a los dos lados del pliegue:

Agrupamiento Grupos AUROC MCC
Andamio ∪ esqueleto 1,048 0.937 [0.913, 0.955] 0.705
Solo andamio 2,239 0.959 [0.941, 0.973] 0.767

Precaución

2.2 puntos de AUROC y 6.2 de MCC, que es más de lo que separa a las tres canalizaciones entre sí. Dicho al revés: el criterio de partición importa más que la elección de modelo, y una cifra que no diga cómo agrupó no se puede comparar con estas.

Nota

Apareció porque la primera corrida dio 0.957 y no cuadraba con el 0.916 que el proyecto ya tenía documentado. Es la clase de diferencia que pasa por mejora si nadie la contrasta.

En la fase 2, el desempeño no es un número

El mismo arnés sobre los pares compuesto-diana, con el corte en 10 µM y la diana como característica:

Estrato de procedencia Pares Activos AUROC
Solo ChEMBL 50,671 74.8% 0.858 [0.850, 0.867]
Mixtos 1,588 40.3% 0.637 [0.594, 0.687]
Solo NPASS 2,109 12.3% 0.611 [0.572, 0.647]

Importante

El modelo separa mucho peor justo los compuestos que el proyecto existe para priorizar. Es el control de atajo reproducido por otra vía, con otro modelo y otras características, así que no es un artefacto de cómo se midió.

Precaución

Lo que no se puede afirmar todavía es que el modelo no sirva para productos naturales. A igual diana solo hay tres con datos suficientes y el cuadro es heterogéneo: en una la brecha desaparece, en otra es clara, en la tercera no se decide. Afirmarlo haría falta medirlo con más datos por diana, no con más modelos.

Nota

La prueba reservada no se ha mirado, y cuando se mire hay que decir antes que trae 117 pares de NPASS puros: el intervalo sobre naturales va a ser ancho por construcción.

6 · La Ruta del proyecto

Donde quedó cada decisión, con lo que se descartó y lo que cuesta.

Todo queda registrado, y algunas decisiones se revirtieron

Veinticinco entradas con su contexto, lo que se descartó y lo que cuesta, en La ruta del proyecto. Dos están ratificadas —la 2.1 y la 2.6, las primeras del proyecto— porque la patrocinadora las revisó el 15 de octubre; el resto no, y lo dice.

Dos se revirtieron al medir:

Filtrar por grupo A–D

Recomendado por la investigación, desmentido por el EDA. La versión anterior sigue visible y marcada.

Invertir el umbral de etiquetado

Propuesto tras observar 6.7:1 en los registros con pChEMBL; al recalcular con tres vías cambian los porcentajes. La causa de la diferencia no queda determinada por este análisis.

Importante

«No hay patrón aprendible» es un resultado válido. Se reporta honestamente en vez de ajustar hasta que algo se vea bien.

Las siete que la esperaban, y qué pasó con cada una

Siete entradas llevaban semanas marcadas «necesita su definición» y eran el cuello de botella. El 17 de octubre el registro se quedó sin ninguna.

Entrada Qué pasó
2.6 Partición reservada Ratificada el 15 de oct. Entregó el archivo completo; la condición es reservar una prueba
2.1 Dianas y alcance Ratificada el 15 de oct. Cuatro dianas fuera, cinco categorías dentro
2.3 Criterio de «activo» La decide el equipo. Su remedio —revisar por tejido— no se puede ejecutar: esas columnas están vacías en las 108,640 filas que se modelan
2.2 Forma del modelo La decide el equipo. Si señala prioridades cambia el orden, no la forma
2.8 Naturales en la fase 2 La calcula el equipo. Con la fuente como proxy erramos en dos de cada tres esqueletos; el cruce propio es medible
1.6 Naturales en la fase 1 La decide el equipo. Un modelo, evaluación por origen dentro de cada grupo
C.5 Qué se entrega La decide el equipo. La pregunta suponía que hay que elegir un punto; se entrega la curva

Tip

El criterio que lo desatascó: no es si su respuesta sería útil, es si cambiaría el siguiente commit. Tres eran contestables con una medición que nadie había corrido, y en dos la respuesta no cambiaba qué construir. Solo dos la necesitaban de verdad, y las ratificó en una reunión.

Nota

Ninguna de las cinco se declara ratificada y cada una dice qué la haría cambiar. La consulta sigue en pie, pero ya no pide definiciones: muestra lo decidido y lo que costó, para que corrija lo que quiera corregir.

Estado y calendario

Entrega Fecha Estado
Avance 0 · Propuesta 27 sep ✅ entregado
Avance 1 · EDA 4 oct ✅ entregado
Avance 2 · Características 11 oct ✅ notebook y reporte entregados
Avance 3 · Modelo de referencia 18 oct ✅ entregado · notebook
Avance 4 · Modelos alternativos 25 oct en curso
Avance 5 · Ensambles 1 nov pendiente

Cero entradas esperando su definición. De las siete que había: dos ratificadas el 15 de octubre y cinco decididas por el equipo, cada una con lo que la haría cambiar y ninguna declarada ratificada.

Veinticinco entradas en la Ruta: 2 ratificadas, 10 vigentes, 12 propuestas y 1 abierta.

Lo que falta antes de reportar candidatos

  1. Filtro PAINS, con la evidencia empírica de promiscuidad de nuestros propios datos. La curcumina aparece contra 32 dianas distintas cuando el compuesto mediano toca 1.
  2. Resolver los 154 nombres de Spielvogel a estructura: es la única validación externa genuina que tenemos.
  3. Los 131 esqueletos con etiquetas contradictorias: imponen 151 errores inevitables sobre 7,805, un techo de exactitud del 98.1% que no aprieta a nadie. Falta el techo en MCC, que es la métrica del proyecto, y decidir si son señal estereoquímica o ruido de curación.

Precaución

Las conclusiones se formularán como actividad predicha según mecanismo molecular, nunca como neuroprotección demostrada. De 1,026 tratamientos neuroprotectores probados en ictus, ninguno mostró eficacia clínica establecida.

Gracias

Bioactive AI · Equipo 7

Todo el proyecto, con sus datos, sus notebooks y sus decisiones, en antoniovazquezmartinez.github.io/Bioactive-AI