Lassen Sie uns nun fortfahren und die Tox21-Daten untersuchen, mit denen wir arbeiten werden. Bitte folgen Sie mir Jupiter-Notizbuch!
Hier können wir sehen, dass jedes SMILES über 12 Rezeptordaten verfügt. Später werden wir einen dieser 12 für die endgültige Datenanalyse auswählen.
Wir sehen auch viele NaNs, aber wir lassen sie so wie sie sind, da es sich um reale Daten handelt, die häufig fehlen und unübersichtlich sind.
1 ist ein Treffer, 0 ist ein Nicht-Treffer und NaN sind keine Daten.
Hier wählen wir Moleküle mit einem bestimmten Lächeln aus, um einen kleineren, verzerrten Datensatz für das Coaching zu erstellen.
Ich werde Chemprop mit einem trainieren. kleinere Anzahl von Daten b. sorgfältig ausgewählte Daten.
Das Ziel ist;
A. Testen Sie die Grenzen der Vorhersagefähigkeiten von Chemprop (denken Sie daran, dass kleine Datenmengen wie meine zu ungenaueren Vorhersagen führen).
B. Beobachten Sie, wie sich unterschiedliche Eingabedateien auf die Vorhersage von Chemprop auswirken.
Ich habe vier verschiedene Datensätze aus dem Tox21-Datensatz ausgewählt;
1. Zufällig ausgewählter Datensatz
2. LÄCHELN mit Stereozentren
3. LÄCHELT mit Ladungen (+/- oder beides)
4. LÄCHELT mit Ringen
Ich werde D-MPNN mit jedem dieser vier verschiedenen Sätze von Eingabedateien trainieren und die daraus resultierenden Vorhersagen von Chemprop analysieren. Ich werde die Ausgabe auch mit einer „Baseline“-Vorhersage vergleichen, bei der der gesamte Satz (nicht ausgewählte) Tox21-Daten in das ML-Modell eingespeist wurde.
Um zu sehen, wie ich die vier verschiedenen Datensätze ausgewählt habe, schauen Sie sich meinen Github an
Um SMILES mit Ringen auszuwählen, habe ich einen raffinierten Code von Pat Walter verwendet, wie er in seinem Weblog „Sensible Cheminformatics“ zu sehen ist. Bitte schauen Sie sich seine an Post Und Google Colabda ich nicht das volle Potenzial seines Codes gezeigt habe.
Zuerst trainiere ich Chemprop mit den von mir erstellten Datensätzen.
Dann habe ich Chemprop gebeten, anhand von 100 zufällig ausgewählten Zeilen der Tox21-Daten Vorhersagen zu treffen.
Und hier ist die Rohausgabe der Chemprop-Vorhersage. Hier ist die Ausgabe nicht 0 oder 1, sondern zeigt die Wahrscheinlichkeit an.
Rohausgabe:
Um es wieder in eine binäre Ausgabe von 0 oder 1 umzuwandeln, habe ich mir erlaubt, alles über 0,3 in 1 und alles über 0,3 und darunter in Null umzuwandeln. (=IF(B2>0.3,1,0) in Excel)
Ich habe diese Entscheidung getroffen, indem ich verschiedene Werte von 0,0 bis 0,9 in Schritten von 0,1 ausprobiert habe, und 0,3 conflict zufällig derjenige, bei dem die Prävalenz von Einsen der Anzahl von Einsen in den Rohdaten am ähnlichsten conflict.
Dann habe ich mich von den 12 verschiedenen Rezeptoren für „SR-MMP“ entschieden, da dieser die meisten Einsen in seiner Spalte hatte.
Chemplot bietet mehrere Methoden zur Visualisierung des chemischen Raums, und ich werde hier PCA, t-SNE und UMAP zeigen.
Die erste Spalte (bunte Punkte) zeigt den chemischen Raum der sorgfältig ausgewählten Daten.
und die zweite Spalte (blaue Punkte) zeigt den chemischen Raum des gesamten Tox21-Satzes (nicht ausgewählt, alle 7831 Datenpunkte)
* Chemplot ist von Model 0.24.2 von Scikit Study abhängig. Ich musste meine spätere Model von Scikit Study deinstallieren und diese spezielle Model von Scikit Study herunterladen, um Chemplot ausführen zu können.
Beobachtungen:
1. Die ausgewählten Daten umfassen nicht den chemischen Bereich sowie den gesamten Tox21-Datensatz. Es sind Taschen voller Daten zu sehen.
2. Von den ausgewählten Daten decken die Zufallsdaten (orange) und die Ringe (grün) einen größeren chemischen Raum ab als die mehrfach geladenen Daten (blau) und die Stereodaten (rot).
Ich habe mich dann entschieden, die AUC-Zahlen der verschiedenen Datensätze zu vergleichen. Zu diesem Zweck habe ich einen ANOVA-Check mit R durchgeführt, bei dem ich den p-Wert zwischen den AUC-Zahlen von baseline_tox21 und den AUC-Zahlen der ausgewählten Datensätze untersucht habe.
** baseline_tox21 ist die Ausgabe der Chemprop-Vorhersage, als ich sie mit dem gesamten Satz von Tox21-Daten trainiert habe (keine Rosinenauswahl).
Hier ist das Ergebnis:
Anhand der p-Werte (rosa unterstrichen) können wir erkennen, dass zwischen baseline_tox21 und allen ausgewählten Daten eine statistische Signifikanz besteht, die „Ringe“ jedoch am signifikantesten sind, gefolgt von „zufällig“, „stereo“ und ‚vielfach aufgeladen‘. Dies stimmt mit den Daten zum chemischen Raum überein, die wir oben gesehen haben, wobei „zufällig“ und „Ringe“ den größten chemischen Raum abdeckten.
Es ist interessant, dass der p-Wert der „Ringe“ größer ist als der „zufällige“ p-Wert.
Dies liegt vermutlich daran, dass die Definition eines Rings eine große Vielfalt molekularer Spezies umfasst, im Gegensatz zu Ladungen und Stereo, wo spezifische Zeichen (+/- und @) ausgewählt wurden.
Einfaches Rosinenpicken für SMILES mit +/- und @ führt zu stark verzerrten Daten.
Dies liegt daran, dass Moleküle mit Ladungen häufig auf Moleküle beschränkt sind, die Nitrogruppen, Sulfonylgruppen, Sulfonatgruppen, Phosphatgruppen oder Salze enthalten. Darüber hinaus hatten im Fall des Tox21-Datensatzes Moleküle mit Stereozentren im Allgemeinen mehrere Ringe, was den „Stereo“-Datensatz noch weiter verzerrte.
Frage, die ich beantworten wollte:
Wie funktioniert ein ML-Modell zur Vorhersage molekularer Eigenschaften (Chemprop) mit kleinen Mengen verzerrter Daten als Trainingssatz?
Antwort auf die Frage:
Stärker verzerrte Daten (weniger Abdeckung des chemischen Raums) führen zu einer geringeren Vorhersagegenauigkeit. Im Tox21-Datensatz deckten Moleküle mit Ladungen und Stereozentren einen geringeren Teil des chemischen Raums ab als Moleküle mit Ringen. Dies liegt daran, dass „Ringe“ eine große Vielfalt an Molekülarten abdecken, während Moleküle mit Ladungen und Stereozentren dazu neigen, spezifische funktionelle Gruppen zu haben. Dies unterstreicht die Bedeutung der Diversität von Molekülen in Trainingssätzen für die Vorhersage molekularer Eigenschaften.