Studio della relazione quantitativa tra struttura molecolare e attivitá biologica (QSAR) di alcuni composti della classe dei Tiloroni
mediante l’impiego di reti neurali (RN)

Antonio Poletti - Rossana Della Ventura
Universita' degli Studi di Perugia
Dipartimento di Chimica


  • RIASSUNTO
    É stata impostata una analisi QSAR sui Tiloroni, una classe di molecole che mostra proprietá farmacologiche antivirali, utilizzando l'approccio di Hansch che utilizza proprietá lipofile, elettroniche, steriche e molecolari e l'approccio topologico che impiega appunto alcuni indici topologici molecolari. La capacitá di previsione delle attivitá biologiche delle RN sviluppate é stata verificata mediante la tecnica di cross-validation. É stato eseguito un confronto tra le capacitá di fitting e di previsione delle RN e il metodo tradizionale che utilizza tecniche di regressione (PLS) L'implementazione delle reti neurali é stata realizzata utilizzando il toolbox della MATLAB, Neural Network.


  • Introduzione
    Questo lavoro s’inserisce nell'ambito della ricerca delle relazioni che esistono tra la struttura di un composto e le sue proprietá (biologiche, chimiche, farmacologiche, etc...),e che riguarda i Tiloroni, una classe di farmaci ad attivitá antivirale,. La loro formula generale é la seguente:

    [FIGURA]

    dove R e' una catena costituita da:

    • un ponte: O (etere) oppure CO ( chetone) ;
    • una catena: - (CH2)n- ;
    • testa basica :
    [FIGURA]

    Ad esempio:

    R= -O-CH2-CH2-N(CH3)2

    Questo lavoro si propone in modo particolare di fare un confronto tra i metodi classicamente utilizzati per l'analisi QSAR, quali i classici metodi multivariati, PCA, PLS, ect,., ed un algoritmo di tipo neurale, che in questi ultimi tempi sembra richiamare molta attenzione. Nella descrizione del modello associato alle reti neurali faremo riferimento esclusivamente al tipo di archittetura utilizzata in questo lavoro,e che impiega l'algoritmo di apprendimento basato sulla retro propagazione dell'errore. Una completa descrizione puó essere ricercata in bibliografia. Le reti neurali sono state sviluppate in origine come modello dell'elaborazione di informazione del cervello. A differenza dei convenzionali computer, basati sull'architettura di von Neumann cioe' sequenziale, il cervello elabora le informazioni, o impulsi, che riceve, in parallelo, l' unita' di elaborazione e' la cellula neurale. Le reti neurali sono quindi costituite da semplici unita' di elaborazione, i neuroni, che simulano anche se in modo grezzo e esemplificato il comportamento della cellula biologica.
    Da un punto di vista matematico il neurone artificiale e' un dispositivo che svolge un'operazione di somma pesata su tutti gli impulsi che riceve ed opera una opportuna trasformazione sul risultato ottenuto. Cosí se chiamiamo con xi l'i-esimo impulso, ed wi il peso ad esso associato, possiamo rappresentare le operazioni eseguite da un neurone secondo le seguenti relazioni:

    [FIGURA]

    dove n é il numero di input o connessioni del neurone, b é detto valore di soglia o bias, f rappresenta una qualsiasi funzione di trasformazione (o di trasferimento) di y , risultato della somma pesata tra gli input ed i pesi del neurone, ed O é il valore finale prodotto dal neurone. Vediamo in figura 1 una rappresentazione grafica del neurone.

    Figura 1 - Rappresentazione del neurone artificiale

    La funzione di trasferimento svolge un ruolo molto importante poiché determina la trasformazione che subisce il risultato della somma pesata, di conseguenza determina la risposta del neurone.
    La funzione di trasferimento genericamente piú utilizzata é una sigmoide di tipo esponenziale la cui espressione e':

    [FIGURA]

    Come nel cervello, i neuroni artificiali sono tra loro collegati in maniera tale che il ''responso'' finale scaturisca dall' elaborazione successiva e contemporanea delle informazioni iniziali. Ogni neurone trasferisce il responso finale o output ai neuroni presenti in un eventuale strato successivo. Nelle reti neurali di tipo back-propagation, usate in questo lavoro, i neuroni sono organizzati a strati, dove ogni strato é alimentato dallo strato precedente ed alimenta quello successivo. Una importante proprietá delle RN risiede nella capacita' di apprendere. Per le reti neurali di tipo back-propagation l'apprendimento é basato sulla variazione dei pesi dei neuroni per ottenere il risultato voluto. Proviamo a descrivere in maniera qualitativa l'algoritmo di retro propagazione dell' errore.

    Una volta definito il problema, il tipo di input da utilizzare e la risposta voluta, puó essere definita l'architettura delle rete neurale (numero di strati, numero dei neuroni per ogni strato, funzione di trasferimento). A questo punto la rete neurale deve imparare a fornire il risultato voluto per una certa serie di input (apprendimento ). Inizialmente i valori dei pesi e dei bias vengono impostati casualmente. Chiameremo step l'elaborazione della rete quando ad essa forniamo una serie di input. Con i pesi e biases inizialmente scelti viene eseguito un primo step. A questo punto la rete produce un risultato che viene confrontato con il valore desiderato. L'errore tra i due valori viene utilizzato per variare i pesi e biases dell'ultimo strato di neuroni, cioé quello che fornisce la risposta finale, per correggere poi via via gli strati precedenti fino al primo strato, si ha cioé una retro propagazione dell' errore prodotto sul risultato finale. Chiamiamo epoca una correzione dei pesi e biases che segue lo step. Possiamo ritenere finito l'apprendimento della rete neurale sia quando ha raggiunto un errore accettabile sul valore prodotto, che quando ha eseguito un certo numero massimo prestabilito di epoche.

    Lavori precedentemente svolti hanno dimostrato che una rete neurale di tipo back-propagation, a due strati, con due ed un neurone rispettivamente, é in grado di riprodurre una qualsiasi funzione matematica e di interpolare un insieme di punti anche se scelti casualmente. L' implementazione, lo sviluppo e l'elaborazione delle reti neurali sono stati svolti mediante il toolbox di MATLAB, Neural Network.


  • Sviluppo del modello
    Nell'affrontare una analisi di QSAR ci si propone di trovare una relazione tra le proprietá strutturali di una molecola e la sua attivitá biologica. Nel nostro caso vogliamo insegnare ad una rete neurale a riconoscere l'attivitá di una molecola fornendogli esclusivamente degli indici ad elevato contenuto informativo circa le sue proprietá strutturali. Volendo fare un confronto con i metodi classici di analisi QSAR é stato fatto riferimento alle proprietá strutturali utilizzate in un precedente lavoro di QSAR svolto da Clementi,1983, sui Tiloroni.

    Nello svolgere l'apprendimento la rete neurale dovrá riprodurre correttamente l'attivitá antivirale di un composto allorché vengano fornite le sue proprietá strutturali attraverso indici opportuni. Riportiamo in tabella 1 le proprietá strutturali usate, i campioni scelti ed i valori delle proprietá per ogni campione.
    Come prova preliminare é stato pensato di eseguire un apprendimento utilizzando tutti i campioni e tutte le variabili e operare un confronto iniziale con il metodo PLS impiegato da Clementi,1983, per i Tiloroni.
    In tabella 2 vengono riportati i risultati del confronto. Il primo problema da affrontare riguardava la scelta dell' architettura. Da alcune prove eseguite in precedenza e dai lavori trovati in letteratura, sembra esserci una relazione tra il numero di campioni utilizzati per l'apprendimento e la capacitá di previsione. Infatti sebbene una RN aumenti la velocitá di apprendimento con l’aumentare del numero di neuroni, ció va a scapito della capacitá di previsione. Non avendo a disposizione nessun tipo di relazione che correli il numero di input usati, il numero di campioni e il numero di neuroni ottimali per la previsione, sono state saggiate inizialmente tre architetture: rete 231, rete 361, rete 31. La funzione di trasferimento usata é la sigmoide esponenziale. Poiché questa funzione, é' limitata su tutto R tra 0 e 1, é stato necessario scalare i valori dell' attivitá antiviale tra 0 e 1, operando la trasformazione:

    [FIGURA]

    dove Tscl é il vettore delle attivitá scalato tra 0 e 1, T é il vettore delle attivitá riportate in tabella 1.
    A questo punto occorre definire:

    1. l' errore accettabile per fermare l'apprendimento;
    2. il criterio di scelta della migliore architettura.
    L' errore accettabile o desiderato, é stato definito considerando la precisione con cui erano forniti i dati di attivitá antivirale. Poiché questi non hanno una precisione che scende al di sotto del * 0.01, con questo é stato determinato l'errore al di sotto del quale fermare l'apprendimento. Come criterio per la scelta della migliore architettura é stata utilizzata la tecnica di cross-validation che consiste in:
    1. eslusione dalla matrice di apprendimento degli input della rete neurale di un campione per volta, in rotazione progressiva;
    2. apprendimento della rete neurale con la matrice composta con i rimanenti 12 campioni (n -1);
    3. verifica della previsione del campione escluso. Ogni cross-validation é stata ripetuta 20 volte e il valore previsto é quello medio.
    Le RN implementate sono state elaborate con il programma MATLAB, imponendo peró alcune variazioni sui programmi base. Riportiamo in tabella 3 i risultati delle cross-validation per le tre architutture. I risultati dimostrano come la rete che porti ad una migliore previsione su 20 prove é la rete piú semplice delle tre. Con questa rete sono state poi eseguite prove successive:
    1. Determinata l' architettura migliore (rete 31), sono stati presi in considerazione i valori dei pesi al termine dell' apprendimento nelle cross-validation che hanno portato ad una migliore previsione. Scelte le variabili che appaiono avere il maggior peso nella rete, con esse sono state eseguite altre cross-validation. La rete sembra migliorare la sua previsione al diminuire degli input (minimo 5 variabili) seppur raggiungendo il risultato piú lentamente.

    2. Nel cercare ancora un confronto con i metodi classici di QSAR, é stata studiata l'influenza di una iniziale manipolazione della matrice degli input con le equazioni classiche di scaling, autoscaling e normalizazione. I risultati non sembrano dimostrare miglioramenti nella previsione dei campioni, quanto peró una risposta piú precisa e sensibile.

    3. Utilizzando ancora una rete 31 sono stati usati gli indici topologici di Wiemer, Randic e Balaban al posto delle proprietá strutturali. I risultati finora raccolti appaiono dimostrare una buona previsione utilizzando insieme questi tre indici.
  • Conclusioni
    Le notevoli capacitá previsionali dimostrate dall’algoritmo neurale nella QSAR dei Tiloroni insieme alla versatilitá e facilitá d’impiego, lasciano ampio spazio per ulteriori ricerche e ulteriori promettenti sviluppi.