Das Ziel des vorgeschlagenen Verfahrens ist es, die in einer Mischung von Einzelzellen vorhandenen Zelltypen zu identifizieren. Die Eingabe des Verfahrens ist die Einzelzell-Genexpressionsmatrix (Mgene ×Zelle), in der Zeilen die Gene und Spalten die Zellen darstellen. Im Folgenden geben wir mehr Details über die Eingabedaten und die verschiedenen Schritte des vorgeschlagenen Frameworks. Der Gesamtansatz ist in Fig. 1.
Datenquelle
Die acht öffentlich zugänglichen scRNA-seq-Datensätze sowie die fünf Simulationsdatensätze, die wir in unserer Analyse verwendet haben, sind in den ergänzenden Materialien enthalten. Unter den acht realen Datensätzen werden alle außer drei (Klein51, Patel52, Treutlein53) als ‚Goldstandard‘ betrachtet, da die Beschriftungen der Zellen definitiv bekannt sind. Patel52 und Treutlein53 werden von Kiselev et al.28, da ihre Zellmarkierungen auf der Grundlage der Rechenmethoden und des Wissens der Autoren über die zugrunde liegende Biologie bestimmt werden.
Wir haben die verarbeiteten Daten von der Website von Hemberg lab erhalten (https://hemberg-lab.github.io/scRNA.seq.datasets). In: Hemberg et al.54 verwenden Sie den SingleCellExperiment Bioconductor S4 class55 zum Speichern der Daten und das Scater package56 für die Qualitätskontrolle und zum Plotten. Die normalisierten Daten werden als SingleCellExperiment-Objekt (.RData-Datei) und auf die Zelltypinformationen wird in der Spalte cell_type1 des Slots „colData“ dieses Objekts zugegriffen. Die Genexpressionswerte der Zellen sind als Matrix organisiert, in der Zeilen Zellen und Spalten die Gene sind. In unserer Analyse werden Gene (Merkmale) entfernt, die in keiner Zelle exprimiert werden. Wir haben in dieser Analyse keine Zelle gefiltert.
Genfilterung
Wie in Fig. 1A entfernen wir die Gene / Transkripte, die in keiner Zelle exprimiert werden (Expressionswert ist in allen Zellen Null). Solche Gene können keine nützlichen Informationen liefern, die zwischen Zelltypen unterscheiden können57. Das Ergebnis der Durchführung des Filterverfahrens an der Einzelzell-Genexpressionsmatrix (Mgene×Zelle) wird als Eingabe für das zweite Modul des vorgeschlagenen Frameworks verwendet.
Messen der Unähnlichkeit zwischen den Zellen
Der Abstand zwischen den Zellen wird mit der euklidischen Metrik berechnet (Abb. 1B). Die Ausgabe dieses Schritts ist die Entfernungsmatrix (Unähnlichkeit) Dcell×cell. Wir reduzieren die Dimension von D, indem wir die t-verteilte stochastische Nachbareinbettung (t-SNE) 34,58, die nichtlineare Dimensionsreduktions- / Visualisierungstechnik (Abb. 1C). Wir bezeichnen die Ausgabe als D’Zelle × l, wobei 2 ≤ l ≤ Zelle ist. In dieser Studie beträgt die Anzahl der Dimensionen 2.
Clustering
Ermittlung der optimalen Anzahl von Clustern
Dieser Abschnitt beschreibt das dritte Modul des vorgeschlagenen Verfahrens (Abb. 1C). Bei dieser Analyse wird das t-SNE wiederholt (n = 50) auf die Abstandsmatrix Dcell×cell angewendet, um die dimensionalitätsreduzierte Abstandsmatrix D’cell×l zu erhalten. Um die optimale Anzahl von Clustern k zu finden, wird das k-means-Clustering auf die D‘-Matrix unter Verwendung eines Bereichswerts (Standardwert = 2: 20) angewendet, und das k, das das durchschnittliche Silhouettenmaß maximiert, wird ausgewählt. Schließlich wird der Durchschnitt der ausgewählten Zahlen k über verschiedene Wiederholungen (n = 50) (auf die nächste ganze Zahl gerundet) als die endgültige optimale Anzahl von Clustern betrachtet.
Die Silhouette bewertet die Qualität dieses Clusters basierend darauf, wie gut seine Datenpunkte geclustert sind. Jedem Datenpunkt wird ein Silhouettenmaß zugewiesen, das darstellt, wie nahe ein Datenpunkt im Vergleich zu anderen Clustern an seinem eigenen Cluster liegt. Für jeden Datenpunkt i wird dieses Maß wie folgt berechnet:
wobei a(i) der durchschnittliche Abstand zwischen dem Datenpunkt i und allen anderen Datenpunkten innerhalb desselben Clusters ist. b (i) ist der kleinste durchschnittliche Abstand von i zu allen Punkten in einem anderen Cluster, zu dem i nicht gehört. s (i) nimmt Werte von -1 bis 1 an, wobei ein hoher positiver Wert zeigt, dass der angegebene Datenpunkt gut gruppiert ist (nahe an anderen Punkten in seinem eigenen Cluster und weit entfernt von Punkten in den anderen Clustern). Umgekehrt zeigt ein hoher negativer Wert, dass der Datenpunkt schlecht gruppiert ist.
k-bedeutet Clustering basierend auf der Resampling-Methode
Dieser Abschnitt beschreibt das Detail des letzten Moduls der vorgeschlagenen Methode. Wie in Fig. 2, unter Verwendung der dimensionalitätsreduzierten Abstandsmatrix D’und der gewählten Anzahl von Clustern k aus dem vorherigen Schritt, Wir identifizieren das stabilste Clustering, indem wir verschiedene Clustering-Lösungen generieren (clusteringi (i ∈ )) und messen die Stabilität jeder Clustering-Lösung basierend auf einer Resampling-Methode. Das jedem bestimmten Clustering zugeordnete Stabilitätsmaß (bezeichnet als clusteringi) gibt an, wie oft die zu diesem Clustering gehörenden k Cluster erhalten bleiben, wenn die Eingabedaten (D‘) mehrmals neu abgetastet werden. Die neu abgetasteten Datensätze werden aus D’generiert, indem 5% der Datenpunkte (Zellen) zufällig durch Rauschen ersetzt werden. Diese verrauschten Datensätze werden dann als Eingabe für den k-Means-Algorithmus verwendet. Daher werden mehrere Clusterings (clusteringi, j, j ∈) aus den neu abgetasteten Daten generiert (neu abgetastete Versionen von clusteringi).
Um die Stabilität jedes Clusters c im Clusteringi (ursprüngliches Clustering) zu beurteilen, wird der Cluster c mit allen Clustern im Clustering verglichen, die aus den Resample-Daten (clusteringi, j) basierend auf der Jaccard-Entfernung erhalten werden. Der Jaccard-Koeffizient59, ein Ähnlichkeitsmaß zwischen Mengen, wird verwendet, um die Ähnlichkeit zwischen zwei Clustern wie folgt zu berechnen:
wobei der Term A und B zwei Cluster sind, die aus einigen Datenpunkten in X = {x1, …, xN} bestehen.
Wenn die Jaccard-Ähnlichkeit zwischen dem Cluster c (aus dem ursprünglichen Clustering-Clusteringi) und dem ähnlichsten Cluster im neu abgetasteten Clustering gleich oder größer als 0,75 ist, gilt dieser Cluster als stabil (erhalten). Daher wird die Stabilität jedes Clusters in clusteringi als Prozentsatz der Zeiten berechnet, in denen dieser Cluster erhalten bleibt (Jaccard-Koeffizient ≥ 0.75) über die m verschiedenen Resamplings.
Wir mitteln dann die Stabilitätsmaße der k Cluster, die zu clusteringi gehören, und betrachten sie als das Gesamtstabilitätsmaß von clusteringi. Unter n verschiedenen Clustering-Lösungen (clusteringi (i ∈ )) wählen wir die Clustering-Lösung mit dem maximalen Stabilitätsmaß als endgültige Clustering-Lösung aus.
Abbildung 3 zeigt die Details der Resampling-Methode, die wir durchgeführt haben, um das Stabilitätsmaß für jedes Clustering zu berechnen. Die Cluster, die durch Anwenden von k-mean auf das neu abgetastete Dataset erhalten werden, werden mit den Clustern aus den ursprünglichen Eingabedaten nur basierend auf den Nicht-Rauschdatenpunkten verglichen (die Rauschdatenpunkte werden ausgeschlossen, wenn zwei Cluster basierend auf der Jaccard-Ähnlichkeitsmetrik verglichen werden.
Validierungsmethoden
Wir verwenden 13 verschiedene Datensätze, in denen die Zelltypen (Labels) bekannt sind. Um den Ähnlichkeitsgrad zwischen den Referenzbezeichnungen und den abgeleiteten Bezeichnungen zu messen, die mit jeder Clustermethode erhalten werden, verwenden wir drei verschiedene Metriken: bereinigter Rand-Index (ARI), bereinigte gegenseitige Information (AMI) und V-Maß, wie im Folgenden erläutert.
Bereinigter Rand-Index
Angesichts der Zellbezeichnungen wird der bereinigte Rand-Index (ARI)47 verwendet, um die Ähnlichkeit zwischen dem abgeleiteten Clustering und dem wahren Clustering zu bewerten. ARI reicht von 0 für schlechtes Matching (ein zufälliges Clustering) bis 1 für eine perfekte Übereinstimmung mit dem echten Clustering. Für einen Satz von n Datenpunkten wird die Kontingenztabelle basierend auf der gemeinsamen Anzahl von Datenpunkten zwischen zwei Clustern erstellt. Angenommen, X = {X1, X2, …, XR} und Y = {Y1, Y2, …, YC} repräsentieren zwei verschiedene Cluster mit R- bzw. C-Clustern. Die Überlappung zwischen X und Y kann als Kontingenztabelle MR×C = zusammengefasst werden , wobei i = 1 ist…R, j = 1…C. Xi und Yj bezeichnen einen Cluster in den Clustern X und Y, und i und j beziehen sich auf die Zeilennummer bzw. die Spaltennummer der Kontingenztabelle. Der ARI ist wie folgt definiert:
Angepasste gegenseitige Information
H(X) ist nicht negativ und nimmt den Wert 0 nur an, wenn keine Unsicherheit besteht, die die Clusterzugehörigkeit eines Datenpunkts bestimmt (es gibt nur einen Cluster). Die gegenseitige Information (MI) zwischen zwei Clustern X und Y wird wie folgt berechnet:
wobei P (i, j) bezeichnet die Wahrscheinlichkeit, dass ein Datenpunkt sowohl zum Cluster Xi in X als auch zum Cluster Yj in Y gehört:
MI ist eine nicht negative Größe, die durch die Entropien H(X) und H(Y) begrenzt wird. Es quantifiziert die Informationen, die von den beiden Clustern gemeinsam genutzt werden, und kann daher als Clusterähnlichkeitsmaß angesehen werden. Das angepasste Maß für die gegenseitige Information ist wie folgt definiert:
wobei die erwartete gegenseitige Information zwischen zwei zufälligen Clustern ist:
wobei ai und bj die Teilsummen der Kontingenztabelle sind: \({a}_{i}={\sum }_{j\mathrm{=1}}^{C}{n}_{ij}\) und \({b}_{j}={\sum }_{i\mathrm{=1}}^{R}{n}_{ij}\).
Die Adjusted Mutual Information (AMI) nimmt den Wert 1 an, wenn die beiden Clusterings identisch sind, und 0, wenn die MI zwischen zwei Partitionen dem Wert entspricht, der allein aufgrund des Zufalls erwartet wird.
V-measure
Das V-measure50 ist das harmonische Mittel zwischen zwei Maßen: Homogenität und Vollständigkeit. Das Homogenitätskriterium ist erfüllt, wenn ein Clustering einem einzelnen Cluster nur die Datenpunkte zuweist, die Mitglieder einer einzelnen Klasse (echter Cluster) sind. Daher sollte die Klassenverteilung innerhalb jedes Clusters auf eine einzelne Klasse (Nullentropie) verzerrt sein. Um zu bestimmen, wie nah ein gegebenes Clustering an diesem Ideal ist, wird die bedingte Entropie der Klassenverteilung bei dem identifizierten Clustering als H(C|K) berechnet, wobei C = {C1, C2, …, Cl} ist eine Menge von Klassen und K ist ein Clustering K = {K1, K2, …, Km}. Im perfekt homogenen Fall ist dieser Wert 0. Dieser Wert hängt jedoch von der Größe des Datasets und der Verteilung der Klassengrößen ab. Somit wird diese bedingte Entropie durch die maximale Verringerung der Entropie normalisiert, die die Clustering-Information liefern könnte, H (C). Daher ist die Homogenität wie folgt definiert:
Die Vollständigkeit ist symmetrisch zur Homogenität50. Um die Vollständigkeitskriterien zu erfüllen, muss ein Clustering alle Datenpunkte, die Mitglieder einer einzelnen Klasse sind, einem einzelnen Cluster zuweisen. Um die Vollständigkeit zu messen, wird die Verteilung der Clusterzuweisungen innerhalb jeder Klasse bewertet. In einer perfekt vollständigen Clustering-Lösung wird jede dieser Distributionen vollständig auf einen einzelnen Cluster verzerrt.
In Anbetracht der Homogenität h und Vollständigkeit c wird das V-Maß als gewichteter harmonischer Mittelwert der Homogenität und Vollständigkeit berechnet:
Ist β größer als 1, wird die Vollständigkeit bei der Berechnung stärker gewichtet. Wenn β kleiner als 1 ist, wird die Homogenität stärker gewichtet. Da die Berechnungen von Homogenität, Vollständigkeit und V-Maß völlig unabhängig von der Anzahl der Klassen, der Anzahl der Cluster, der Größe des Datensatzes und dem Clustering-Algorithmus sind, können diese Maßnahmen zur Bewertung jeder Clustering-Lösung verwendet werden.