Uso de Jupyter Notebooks para volver a entrenar modelos de aprendizaje automático | Revista de quimioinformática

Preparación del conjunto de datos

En este estudio, se utilizaron conjuntos de datos de seis proteínas de transporte transmembrana diferentes (BCRP, BSEP, OATP1B1, OATP1B3, MRP3, P-gp) como estudio de caso. [21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46]. En primer lugar, conjuntos de datos del Vienna LiverTox Workspace (LiverTox) [47] fueron elegidos, ya que estos conjuntos de datos ya estaban publicados y utilizados para el desarrollo de modelos predictivos. El servicio web correspondiente permite la predicción de sustratos e inhibidores para un conjunto de transportadores ABC y SLC.

En segundo lugar, se utilizó un flujo de trabajo KNIME interno para la recuperación de nuevos datos adicionales de plataformas públicas como ChEMBL y PubChem (ChEMBL26 [48]CheEMBL27 [49]ChEMBL28 [50]PubChem [7]). Los datos de ChEMBL 26 y 27 se usaron como conjuntos de entrenamiento adicionales (ver más abajo), mientras que los datos de ChEMBL 28 y los datos adicionales de Pubchem sirvieron como conjuntos de prueba. Los valores de actividad se tomaron de la publicación original y se aplicó el etiquetado de clase para la clasificación binaria en función de un umbral de un valor IC50 de 10 µM. Todos los conjuntos de datos se proporcionaron en formato sdf junto con una clasificación binaria (0/inactivo o 1/activo) para cada uno de los seis criterios de valoración. Para cada compuesto se calcularon los InChIs (Identificadores Químicos Internacionales de la IUPAC), las Claves InChI y SMILES (Especificación de Entrada de Entrada Molecular Simplificada). Todos los conjuntos de datos están disponibles en GitHub en https://github.com/PharminfoVienna/Retraining_Notebook/tree/main/data.

Antes de seguir el protocolo de estandarización, se eliminó la información estereoquímica de los InChI y se identificaron los InChI duplicados. En caso de que los duplicados muestren la misma etiqueta de clase, se mantuvo uno de los compuestos. De lo contrario, se eliminaron ambos compuestos. La limpieza y estandarización de datos se realizó utilizando una versión modificada de Standardizer proporcionada por Atkinson (disponible en https://github.com/flatkinson/standardiser). Esta herramienta se aplicó para remover sales, neutralizar y descartar compuestos no orgánicos. Las tablas 1 y 2 muestran la cantidad de puntos de datos disponibles por transportador para LiverTox y para los conjuntos de datos recién recopilados. Los conjuntos de datos se utilizaron además para generar modelos de clasificación que permiten la predicción de inhibidores para una serie de transportadores hepáticos implicados en efectos secundarios graves.

Tabla 1 Descripción general de los seis conjuntos de datos de transportadores que se proporcionan en el espacio de trabajo LiverTox
Tabla 2 Resumen de los seis conjuntos de datos de transportadores que se usaron para el entrenamiento de los modelos

Selección de descriptores

Para la caracterización del espacio químico relacionado con la inhibición del transportador ABC y SLC, se utilizaron una variedad de descriptores moleculares de la biblioteca RDKit (versión 2020.09.1). [51]. Estos descriptores moleculares permiten la traducción de estructuras químicas en representaciones numéricas de propiedades atómicas o moleculares de compuestos. En total, se eligieron 197 descriptores bidimensionales (2D) como punto de partida para la selección de características aplicables a los transportadores ABC y SLC. En este documento, se aplicaron tres métodos diferentes de selección de funciones de la biblioteca Python de scikit-learn (versión 0.24.2): VarianceThreshold, selección de funciones univariante y eliminación de funciones recursivas. Al aplicar VarianceThreshold, se eliminaron todos los descriptores moleculares calculados con varianza cero. Como siguiente paso, se seleccionaron los mejores descriptores en base a un enfoque estadístico univariante. Se eligió ANOVA-f sobre la información mutua debido a la naturaleza de los seis conjuntos de datos del transportador. Este método estima el grado de dependencia lineal utilizando el enfoque de prueba F. Paralelamente, se realizó la eliminación recursiva de características (RFE) para seleccionar características considerando recursivamente subconjuntos de descriptores moleculares. Se utilizó un envoltorio de bosque aleatorio para asignar los pesos. Como último paso, se compararon los resultados de la selección de características univariante y los métodos de eliminación de características recursivas de cada conjunto de datos. A continuación, los resultados de los descriptores moleculares se alinearon manualmente entre sí. Se encontró que 70 características coincidían dentro de todos los transportadores utilizando el método ANOVA-f de las 50 mejores puntuaciones y 170 utilizando el método RFE. Los 70 descriptores resultantes se utilizaron para la creación de los modelos finales (ver Fig. 1). En la Fig. 2 se puede ver una representación gráfica del flujo de trabajo.

Figura 1
Figura 1

Resumen esquemático del análisis de descriptores llevado a cabo para los transportadores ABC y SLC

Figura 2
Figura 2

Ilustración gráfica del flujo de trabajo para la generación de modelos

Generación de modelos

Para la generación del modelo se utilizaron cuatro clasificadores diferentes, a saber, regresión logística, máquina de vectores de soporte, bosque aleatorio y k-vecino más cercano. Las implementaciones de la biblioteca Python scikit-learn (versión 0.24.2) se utilizaron para entrenar modelos de clasificación binaria para los seis conjuntos de datos mencionados anteriormente.

Búsqueda de cuadrícula de hiperparámetros

Para encontrar los parámetros óptimos para cada clasificador, se realizó una búsqueda en cuadrícula de los hiperparámetros. Se utilizaron los siguientes parámetros:

Regresión logística:

C: 0,01, 0,1, 0,2, 0,3, 0,4, 0,5, 1, 10, 50, 100, 1000

max_iter 1,10,100,100,1000,10000.

Máquinas de vectores soporte:

C: 0.01, 0.1, 1.0, núcleo: lineal.

C: 0.01, 0.1, 0.5, 1.0, 10.0, 50, 100, 1000, núcleo: rbf,

C: 0,01, 0,1, 0,5, 1,0, 10, 50, 100, 1000, gamma: 0,0001, 0,001, 0,01, 0,1, 0,5, 1,0, 10,0, 50,0, 100,0, C: 0,0001, 0,001, 0,01, 0,5,1 1, 10, 50, 100, núcleo: rbf

Bosque aleatorio:

n_estimadores: 10, 25, 50, 75, 100, 250, 500.

profundidad_máxima: 2, 3, 4, 6, 10, 15, 20.

k-vecino más cercano:

n_vecinos: 3, 5, 9, 11, 13, 17, 19,

pesos: uniforme.

métrica de distancia: euclidiana.

Procedimiento de entrenamiento, validación cruzada y evaluación

En un primer paso, se generaron modelos de predicción basados ​​simplemente en el conjunto de datos de LiverTox y la configuración mencionada anteriormente. Se comparó el desempeño de estos modelos con los obtenidos de los modelos LiverTox [47] para validar nuestro enfoque.

En un siguiente paso, los conjuntos de datos recién recopilados de los seis transportadores se utilizaron para el entrenamiento de los modelos reales. El rendimiento de los modelos se evaluó mediante una validación cruzada de diez veces y se calcularon las métricas estadísticas, como la precisión, la sensibilidad, la especificidad y la precisión equilibrada (consulte la Tabla 3). Para ello se utilizó la librería de Python scikit-learn. Además, se utilizó un conjunto de prueba externo para probar los nuevos modelos generados. Este conjunto de prueba se recopiló de ChEMBL28 y PubChem y solo se mantuvieron los datos que eran nuevos para el conjunto de entrenamiento.

Tabla 3 Métricas estadísticas para los cuatro modelos de cada conjunto de datos

Deja un comentario