Saltar al contingut

Disseny

Durant les primeres etapes del descobriment de fàrmacs, el cribratge virtual basat en intel·ligència artificial/aprenentatge automàtic/aprenentatge profund s’ha convertit en una eina essencial.

En aquesta eina, s’utilitza un model entrenat per examinar (provar)

  • un catàleg de molècules petites per identificar potencials candidats a fàrmacs contra una proteïna objectiu (per al descobriment de fàrmacs) o proteïnes d’un organisme contra un fàrmac (per a la reutilització de fàrmacs).

L’objectiu és o bé predir

  • si la molècula petita interactua amb la proteïna o no (anomenada predicció d’interacció fàrmac-diana que requereix un model classificador amb una sortida binària) o

  • un valor d’afinitat entre la molècula petita i la proteïna (anomenada predicció d’afinitat fàrmac-diana que requereix un model de regressió amb una sortida de valor continu).

Els mètodes de cribratge virtual basats en aprenentatge automàtic es poden categoritzar en dos tipus segons l’entrada:

  • basat en lligand (només el compost/lligand es dona com a entrada) i
  • entrada per parelles (tant el compost/lligand com la proteïna es presenten com a entrada).

https://www.openchemistry.org/gsoc/

DeepChemm

Terminal window
uv install deepchem

Instal·la UV:

Terminal window
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env

We are going to use a model based on tensorflow, because of that we’ve added [tensorflow] to the uv add command to ensure the necessary dependencies are also installed

Terminal window
uv init chem
cd chem
uv add deepchem tensorflow[and-cuda]

Instal.la PyCharm

Terminal window
tar xzf pycharm-*.tar.gz -C
cd pycharm-*/bin
sh pycharm.sh
import deepchem as dc
tasks, datasets, transformers = dc.molnet.load_delaney(featurizer='GraphConv')
train_dataset, valid_dataset, test_dataset = datasets
model = dc.models.GraphConvModel(n_tasks=1, mode='regression', dropout=0.2,batch_normalize=False)
model.fit(train_dataset, nb_epoch=100)
metric = dc.metrics.Metric(dc.metrics.pearson_r2_score)
print("Training set score:", model.evaluate(train_dataset, [metric], transformers))
print("Test set score:", model.evaluate(test_dataset, [metric], transformers))
solubilities = model.predict_on_batch(test_dataset.X[:10])
for molecule, solubility, test_solubility in zip(test_dataset.ids, solubilities, test_dataset.y):
print(solubility, test_solubility, molecule)

Medium- Google

Tutorial


El contingut d'aquest lloc web té llicència CC BY-NC-ND 4.0.

©2022-2025 xtec.dev