Gènes marqueurs Seurat & annotation des types cellulaires en R (pbmc3k)
Trouvez les gènes qui définissent chaque regroupement avec FindAllMarkers, lisez les marqueurs PBMC canoniques sur l’UMAP, et attribuez des étiquettes biologiques de types cellulaires pour produire un UMAP annoté
Un guide pratique pour trouver les gènes marqueurs et annoter les types cellulaires dans des données de RNA-seq single-cell avec Seurat. À partir d’un objet pbmc3k regroupé, exécutez FindAllMarkers pour obtenir les gènes qui distinguent chaque regroupement, visualisez les marqueurs PBMC canoniques avec FeaturePlot et VlnPlot, raisonnez de ces marqueurs vers une étiquette de type cellulaire pour chaque regroupement, réétiquetez avec RenameIdents, et produisez l’UMAP annoté que vous mettez dans un article.
Date de publication
29 juin 2026
Modifié
7 juillet 2026
AstucePoints clés
Les regroupements 0–8 sont des groupes anonymes de cellules similaires. FindAllMarkers() trouve les gènes que chaque regroupement sur-exprime par rapport à tous les autres — la preuve statistique à partir de laquelle vous annotez.
Exécutez-le en positif seulement et légèrement filtré : FindAllMarkers(only.pos = TRUE, min.pct = 0.25, logfc.threshold = 0.25) (un test de Wilcoxon par gène et par regroupement). Triez par avg_log2FC pour les marqueurs les plus forts de chaque regroupement.
Annotez en faisant correspondre les marqueurs à des types cellulaires connus. Tracez les marqueurs PBMC canoniques sur l’UMAP avec FeaturePlot() / VlnPlot() et lisez quel regroupement s’illumine : IL7R → CD4 T, CD14/LYZ → monocytes, MS4A1 → B, CD8A → CD8 T, GNLY/NKG7 → NK, FCER1A → cellules dendritiques, PPBP → plaquettes.
RenameIdents() transforme les numéros de regroupement en noms de types cellulaires ; le DimPlot() réétiqueté est la figure emblématique de toute l’analyse.
Soyez honnête sur ce que les marqueurs peuvent et ne peuvent pas résoudre. Naive vs memory CD4 T est une distinction réellement subtile, et les regroupements rares (DC, plaquette) reposent sur un seul marqueur fort — étiquetez-les, mais dites-le.
Introduction
Le regroupement vous a donné neuf groupes, étiquetés de 0 à 8. Ces numéros sont arbitraires : le regroupement 0, c’est « 684 cellules que le graphe a placées ensemble », pas « des lymphocytes T ». Cette leçon fait le travail d’interprétation qui rend l’analyse utile — elle nomme les regroupements. La logique est simple et c’est celle que tout immunologiste utilise à la paillasse : trouver les gènes qui sont activés dans un regroupement et éteints dans le reste, reconnaître ces gènes comme les marqueurs d’un type cellulaire connu, et étiqueter le regroupement en conséquence.
Deux étapes suffisent. D’abord, FindAllMarkers() calcule, pour chaque regroupement, les gènes qui le distinguent de toutes les autres cellules — la preuve issue des données. Ensuite, vous faites correspondre les marqueurs aux identités en confrontant une courte liste de marqueurs PBMC canoniques aux regroupements et en raisonnant de la biologie vers un nom. Nous reprenons depuis la leçon de regroupement sur le même objet pbmc3k, de sorte que le workflow se transpose directement à vos propres données regroupées.
Reprendre à partir de C4 : reconstruire l’objet regroupé
Chaque bloc de code ici est autonome : il commence donc par recréer l’objet regroupé de la leçon précédente — charger la matrice 10x, construire l’objet Seurat, filtrer en CQ, normaliser, trouver les gènes variables, mettre à l’échelle, exécuter la PCA, construire le graphe de voisinage, regrouper à la résolution 0.5, et exécuter l’UMAP. C’est exactement l’objet sur lequel vous avez terminé C4 : 2 638 cellules dans 9 regroupements.
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
Number of nodes: 2638
Number of edges: 95927
Running Louvain algorithm...
Maximum modularity in 10 random starts: 0.8728
Number of communities: 9
Elapsed time: 0 seconds
pbmc <-RunUMAP(pbmc, dims =1:10)table(Idents(pbmc)) # 9 clusters, largest first
Neuf regroupements, de 684 cellules jusqu’à 13. Tout ce qui suit s’exécute sur cet objet.
Trouver les gènes marqueurs de chaque regroupement
Un gène marqueur d’un regroupement est un gène exprimé bien plus dans ce regroupement que dans le reste des cellules. FindAllMarkers() les trouve en testant, un regroupement à la fois, l’expression de chaque gène dans ce regroupement contre toutes les autres cellules avec un test de rang de Wilcoxon, et en renvoyant les gènes qui passent. Trois arguments gardent la sortie centrée sur les marqueurs exploitables :
only.pos = TRUE — ne garder que les gènes à la hausse dans le regroupement (c’est la sur-expression qui nomme un type cellulaire ; on n’annote pas à partir des gènes qu’un regroupement n’a pas).
min.pct = 0.25 — ignorer les gènes détectés dans moins de 25 % des cellules de l’un ou l’autre groupe (un marqueur présent dans une poignée de cellules n’est pas une caractéristique définissante).
logfc.threshold = 0.25 — ignorer les gènes dont le fold-change log₂ est inférieur à 0,25 (sauter les gènes à peine différents ; c’est aussi ce qui rend la fonction assez rapide pour s’exécuter sur chaque regroupement).
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
Number of nodes: 2638
Number of edges: 95927
Running Louvain algorithm...
Maximum modularity in 10 random starts: 0.8728
Number of communities: 9
Elapsed time: 0 seconds
# One Wilcoxon test per gene per cluster; keep up-regulated, well-expressed, clearly-changed genesmarkers <-FindAllMarkers(pbmc, only.pos =TRUE, min.pct =0.25, logfc.threshold =0.25)# The two strongest markers per cluster, ranked by fold-changemarkers %>%group_by(cluster) %>%slice_max(avg_log2FC, n =2) %>%ungroup() %>%as.data.frame()
Lisez les colonnes. avg_log2FC est le fold-change log₂ moyen (regroupement vs reste) — la force du marqueur ; pct.1 et pct.2 sont la fraction de cellules exprimant le gène à l’intérieur du regroupement vs à l’extérieur. Un bon marqueur a un avg_log2FC élevé et un pct.1 bien au-dessus de pct.2. Le meilleur résultat du regroupement 0, CCR7 (avg_log2FC ≈ 2,4, détecté dans 45 % de ses cellules contre 11 % ailleurs), en est un exemple typique.
Certains regroupements se signalent d’eux-mêmes ici — CCR7/LEF1 (regroupement 0) sont des gènes de lymphocytes T naïfs, CD79A (regroupement 3) est un gène de lymphocyte B, GZMK (regroupement 4) est un gène de lymphocyte T cytotoxique, FCER1A (regroupement 7) est un gène de cellule dendritique. D’autres (FOLR3, CKB, AKR1C3) sont de vrais marqueurs très spécifiques, mais pas les noms que la plupart des gens reconnaissent. Donc plutôt que d’annoter gène par gène à partir de ce tableau, nous confrontons un court panel de marqueurs PBMC canoniques aux regroupements — la façon rapide et robuste d’attribuer les identités.
Visualiser les marqueurs canoniques sur l’UMAP
La façon fiable d’annoter consiste à prendre une poignée de marqueurs PBMC classiques — un ou deux par type cellulaire attendu — et à demander quel regroupement exprime chacun d’eux. FeaturePlot() colore l’UMAP selon l’expression d’un gène, donc la réponse est visuelle : le regroupement qui s’illumine pour CD14 correspond aux monocytes, celui qui s’illumine pour MS4A1 correspond aux lymphocytes B, et ainsi de suite.
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
Number of nodes: 2638
Number of edges: 95927
Running Louvain algorithm...
Maximum modularity in 10 random starts: 0.8728
Number of communities: 9
Elapsed time: 0 seconds
pbmc <-RunUMAP(pbmc, dims =1:10)# One canonical marker per expected PBMC populationFeaturePlot(pbmc, features =c("IL7R", "CD14", "LYZ", "MS4A1", "CD8A","FCGR3A", "GNLY", "FCER1A", "PPBP"))
Chaque panneau localise un marqueur dans une région de la carte. IL7R (récepteur de l’interleukine-7) est élevé sur tout le grand îlot supérieur — les lymphocytes T CD4. CD14 et LYZ marquent les monocytes ; LYZ déborde aussi dans le regroupement des cellules dendritiques (les deux sont myéloïdes). MS4A1 marque proprement l’îlot séparé des lymphocytes B. CD8A et GNLY/NKG7 séparent le coin cytotoxique en lymphocytes T CD8 et cellules NK. FCER1A et PPBP illuminent chacun un seul tout petit regroupement — les cellules dendritiques et les plaquettes.
Un graphique en violon dit la même chose quantitativement : la distribution de l’expression de chaque marqueur au sein de chaque regroupement, de sorte que vous voyez non seulement où un gène est activé, mais aussi avec quelle intensité et dans quelle fraction des cellules.
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
Number of nodes: 2638
Number of edges: 95927
Running Louvain algorithm...
Maximum modularity in 10 random starts: 0.8728
Number of communities: 9
Elapsed time: 0 seconds
Les violons rendent la spécificité de regroupement indéniable : chaque marqueur est élevé dans un ou deux regroupements et plat, proche de zéro, dans le reste. CD14 est élevé uniquement dans le regroupement 1 ; MS4A1uniquement dans le regroupement 3 ; PPBPuniquement dans le regroupement 8. Ce motif un-à-un est exactement ce qui vous permet d’attribuer un nom à chaque regroupement en toute confiance.
Faire correspondre les regroupements aux types cellulaires
Lisez maintenant les marqueurs sur les graphiques et raisonnez vers une étiquette pour chaque regroupement. Le tableau ci-dessous est le résultat de ce raisonnement — chaque ligne présente la preuve issue des marqueurs de cette exécution plus le panel canonique, et l’identité qu’elle implique.
Regroupement
Marqueurs qui l’ont défini (cette exécution)
Type cellulaire
0
IL7R, CCR7, LEF1 (élevés), aucun gène cytotoxique
Naive CD4 T
1
CD14, LYZ, S100A8/9/12
CD14+ Mono
2
IL7R élevé mais CCR7/LEF1 faibles, S100A4, CD2
Memory CD4 T
3
MS4A1, CD79A
B
4
CD8A, GZMK, NKG7
CD8 T
5
FCGR3A, MS4A7, CDKN1C, CD14 faible
FCGR3A+ Mono
6
GNLY, NKG7 très élevés, aucun CD8A
NK
7
FCER1A, CST3
DC
8
PPBP, PF4
Platelet
Quelques-unes de ces attributions méritent que leur raisonnement soit explicité, car l’annotation est un jugement, pas une simple consultation :
Les regroupements 0 et 2 sont tous deux des lymphocytes T CD4, et les distinguer est l’appréciation subtile. Les deux sont IL7R-élevés sans gènes cytotoxiques, donc les deux sont des lymphocytes T auxiliaires (CD4). Ce qui les sépare, c’est CCR7 et LEF1 : élevés dans le regroupement 0 (une signature naïve) et faibles dans le regroupement 2, qui porte à la place S100A4 (un marqueur de mémoire/activation). Ils sont côte à côte sur l’UMAP pour exactement cette raison — leur biologie est proche. Appeler l’un « naïf » et l’autre « mémoire » est défendable ici, mais c’est l’attribution que vous signaleriez comme la moins certaine.
Les regroupements 4 et 6 partagent les marqueurs cytotoxiquesNKG7 et GNLY. Ce qui les sépare, c’est CD8A : présent dans le regroupement 4 (lymphocytes T CD8) et absent du regroupement 6, dont les GNLY/NKG7 sont extrêmement élevés sans CD8 — la signature des cellules NK.
Les regroupements 5 vs 1 sont tous deux des monocytes, mais de types différents. Le regroupement 1 est CD14-élevé (classique, CD14+) ; le regroupement 5 est CD14-faible et FCGR3A/MS4A7-élevé (non classique, FCGR3A+).
Les regroupements 7 (DC) et 8 (plaquette) sont rares — 32 et 13 cellules. Chacun repose sur un seul marqueur très fort (FCER1A pour les cellules dendritiques, PPBP pour les plaquettes). Les marqueurs sont sans ambiguïté, mais avec si peu de cellules, traitez ces étiquettes comme bien étayées plutôt que richement caractérisées.
Cette correspondance coïncide avec l’annotation pbmc3k établie de longue date — rassurant, mais notez que nous l’avons dérivée des propres marqueurs de cette exécution, sans la supposer. Annotez toujours à partir de vos données : les numéros de regroupement sont arbitraires et changent avec les paramètres, de sorte que l’identité d’un regroupement vient de ses gènes, jamais de son numéro.
Réétiqueter les regroupements et tracer l’UMAP annoté
La correspondance étant arrêtée, RenameIdents() remplace les numéros de regroupement par des noms de types cellulaires, dans l’ordre des regroupements (0 → 8). Le DimPlot() réétiqueté est la figure vers laquelle toute l’analyse tendait — une carte du sang, avec chaque population nommée.
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
Number of nodes: 2638
Number of edges: 95927
Running Louvain algorithm...
Maximum modularity in 10 random starts: 0.8728
Number of communities: 9
Elapsed time: 0 seconds
pbmc <-RunUMAP(pbmc, dims =1:10)# Map cluster numbers (0-8, in order) to the cell types we read from the markersnew.ids <-c("Naive CD4 T", "CD14+ Mono", "Memory CD4 T", "B", "CD8 T","FCGR3A+ Mono", "NK", "DC", "Platelet")names(new.ids) <-levels(pbmc)pbmc <-RenameIdents(pbmc, new.ids)DimPlot(pbmc, reduction ="umap", label =TRUE, pt.size =0.5) +NoLegend()
Lisez-la comme la biologie qu’elle encode désormais. Les lymphocytes T CD4 (naïfs et mémoire) se regroupent avec les lymphocytes T CD8 et les cellules NK dans un seul territoire connecté — le continuum lymphocytaire, avec les populations cytotoxiques (lymphocytes T CD8, NK) à un bord. Les deux populations de monocytes forment un second îlot, avec les cellules dendritiques à proximité (toutes myéloïdes). Les lymphocytes B se tiennent à l’écart comme leur propre îlot, et les plaquettes — la population la plus distincte de toutes — sont complètement isolées. La géométrie que vous voyiez sous forme de regroupements numérotés dans C4 est maintenant une carte étiquetée du sang périphérique.
Rapportez-le comme ceci. Une phrase de méthodes que vous pouvez coller dans un article :
Les cellules ont été regroupées sur les 10 premières composantes principales (FindNeighbors/FindClusters, résolution 0.5), donnant 9 regroupements. Les gènes marqueurs ont été identifiés avec FindAllMarkers (test de rang de Wilcoxon, only.pos = TRUE, min.pct = 0.25, logfc.threshold = 0.25), et les regroupements ont été annotés par des marqueurs PBMC canoniques (IL7R, CCR7, S100A4, CD14, LYZ, MS4A1, CD8A, GZMK, FCGR3A, MS4A7, GNLY, NKG7, FCER1A, CST3, PPBP) comme lymphocytes T CD4 naïfs, lymphocytes T CD4 mémoire, lymphocytes T CD8, cellules NK, monocytes CD14+, monocytes FCGR3A+, lymphocytes B, cellules dendritiques et plaquettes (Seurat 5.4.0).
Problèmes fréquents
Les meilleurs marqueurs par fold-change ne sont pas toujours ceux des manuels. Trier par avg_log2FC fait remonter les gènes les plus spécifiques, qui peuvent être obscurs (FOLR3, LY6G6F) plutôt que les marqueurs célèbres (CD14, PPBP). C’est attendu — un gène rare, parfaitement spécifique d’un regroupement, obtient un fold-change énorme. Utilisez le tableau des meilleurs marqueurs non biaisé pour caractériser un regroupement, mais annotez les identités à partir d’un panel de marqueurs canoniques sélectionné, tracé avec FeaturePlot/VlnPlot, où ce sont les gènes des manuels qui nomment.
RenameIdents() attribue les étiquettes par position, donc l’ordre compte.names(new.ids) <- levels(pbmc) apparie vos étiquettes avec les identités actuelles dans l’ordre (0, 1, 2, …). Si votre vecteur d’étiquettes est dans le désordre, vous étiquetterez tous les regroupements à tort en toute confiance. Après le renommage, vérifiez toujours avec un DimPlot et quelques VlnPlot que chaque regroupement nommé exprime le marqueur que vous annoncez.
Un regroupement sans marqueurs clairs, ou portant les marqueurs de deux types cellulaires à la fois. Parfois un regroupement exprime les marqueurs de deux lignées (un possible doublet) ou n’a aucun gène distinctif (cellules de basse qualité passées au travers du CQ). Ne forcez pas une étiquette. Signalez-la, envisagez de resserrer le CQ ou la résolution, et — pour les doublets en particulier — un outil dédié comme DoubletFinder est la bonne étape suivante.
Questions fréquentes
NoteComment trouver les gènes marqueurs des regroupements dans Seurat ?
Exécutez FindAllMarkers(pbmc, only.pos = TRUE, min.pct = 0.25, logfc.threshold = 0.25) sur votre objet regroupé. Il réalise un test de rang de Wilcoxon pour chaque gène de chaque regroupement (regroupement vs toutes les autres cellules) et renvoie les gènes à la hausse, bien exprimés et nettement modifiés. Triez les marqueurs de chaque regroupement par avg_log2FC pour voir ses gènes définissants les plus forts.
NoteQuelle est la différence entre FindAllMarkers et FindMarkers ?
FindAllMarkers() teste chaque regroupement contre tous les autres en un seul appel — utilisez-le pour annoter l’ensemble du jeu de données. FindMarkers(ident.1 = "A", ident.2 = "B") compare deux groupes spécifiques — utilisez-le quand vous voulez les gènes différentiellement exprimés entre, par exemple, deux sous-ensembles de lymphocytes T, ou un regroupement contre un autre.
NoteComment annoter les types cellulaires à partir des gènes marqueurs ?
Tracez un court panel de marqueurs canoniques pour votre tissu (pour les PBMC : IL7R, CD14, LYZ, MS4A1, CD8A, FCGR3A, GNLY, NKG7, FCER1A, PPBP) avec FeaturePlot() ou VlnPlot(), voyez quel regroupement chaque marqueur illumine, puis faites correspondre regroupement → type cellulaire et appliquez-le avec RenameIdents(). Dérivez toujours la correspondance des marqueurs de vos propres données — les numéros de regroupement sont arbitraires et changent avec les paramètres.
NoteQue signifient avg_log2FC, pct.1 et pct.2 dans le tableau des marqueurs ?
avg_log2FC est le fold-change log₂ moyen du gène dans le regroupement par rapport à toutes les autres cellules (plus élevé = marqueur plus fort). pct.1 est la fraction de cellules dans le regroupement exprimant le gène ; pct.2 est la fraction à l’extérieur. Un marqueur fort a un avg_log2FC élevé et un pct.1 bien plus grand que pct.2.
NoteQuels marqueurs PBMC identifient chaque type cellulaire ?
Pour le sang périphérique : IL7R/CCR7 (lymphocytes T CD4 naïfs), IL7R/S100A4 (lymphocytes T CD4 mémoire), CD8A/GZMK (lymphocytes T CD8), GNLY/NKG7 (NK), CD14/LYZ (monocytes CD14+), FCGR3A/MS4A7 (monocytes FCGR3A+), MS4A1/CD79A (lymphocytes B), FCER1A/CST3 (cellules dendritiques), et PPBP/PF4 (plaquettes).
Testez vos connaissances
ImportantÀ vous de jouer : trouvez les marqueurs d’un regroupement et vérifiez une étiquette
À partir de l’objet pbmc3k regroupé, exécutez FindAllMarkers avec les réglages standard, extrayez les 5 meilleurs marqueurs du regroupement 3 par avg_log2FC, et confirmez avec un VlnPlot de MS4A1 que le regroupement 3 correspond aux lymphocytes B.
AstuceIndice
Filtrez le data frame des marqueurs sur cluster == 3, puis slice_max(avg_log2FC, n = 5). VlnPlot(pbmc, features = "MS4A1") montre la distribution par regroupement — le regroupement des lymphocytes B devrait être le seul à être élevé.
AstuceSolution
library(Seurat)library(dplyr)pbmc.data <-Read10X("_data/filtered_gene_bc_matrices/hg19")pbmc <-CreateSeuratObject(pbmc.data, project ="pbmc3k",min.cells =3, min.features =200)pbmc[["percent.mt"]] <-PercentageFeatureSet(pbmc, pattern ="^MT-")pbmc <-subset(pbmc, subset = nFeature_RNA >200& nFeature_RNA <2500& percent.mt <5)pbmc <-NormalizeData(pbmc)pbmc <-FindVariableFeatures(pbmc, selection.method ="vst", nfeatures =2000)pbmc <-ScaleData(pbmc)pbmc <-RunPCA(pbmc, features =VariableFeatures(pbmc))pbmc <-FindNeighbors(pbmc, dims =1:10)pbmc <-FindClusters(pbmc, resolution =0.5)markers <-FindAllMarkers(pbmc, only.pos =TRUE, min.pct =0.25, logfc.threshold =0.25)markers %>%filter(cluster ==3) %>%slice_max(avg_log2FC, n =5) # LINC00926, VPREB3, CD79A, ... — all B-cell genesVlnPlot(pbmc, features ="MS4A1") # high only in cluster 3
Les meilleurs marqueurs du regroupement 3 incluent CD79A et MS4A1 — deux gènes de lymphocytes B — et le violon de MS4A1 est élevé dans le seul regroupement 3. L’étiquette « lymphocytes B » est bien étayée.
NoteVérification rapide : un regroupement est élevé en GNLY et NKG7 mais n’a presque pas de CD8A. Qu’est-ce que c’est ?
A. Lymphocytes T CD8 — ils expriment des gènes cytotoxiques. B. Cellules NK — marqueurs cytotoxiques sans CD8. C. Monocytes CD14+.
AstuceAfficher la réponse
B. Cellules NK. Les lymphocytes T CD8 comme les cellules NK expriment les gènes cytotoxiques GNLY et NKG7, donc ceux-ci seuls ne les distinguent pas. Le discriminant est CD8A : présent dans les lymphocytes T CD8, absent des cellules NK. Des marqueurs cytotoxiques élevés sansCD8A, c’est la signature NK.
Conclusion
L’annotation est la récompense du workflow single-cell, et elle tient en deux gestes. FindAllMarkers(only.pos = TRUE, min.pct = 0.25, logfc.threshold = 0.25) vous donne les gènes qui définissent chaque regroupement, et un panel sélectionné de marqueurs canoniques — tracé avec FeaturePlot et VlnPlot — vous indique de quel type cellulaire connu relève chaque regroupement. Vous avez raisonné des marqueurs vers les identités (naïf vs mémoire CD4 T d’après CCR7 ; CD8 T vs NK d’après CD8A ; monocytes classiques vs non classiques d’après CD14 vs FCGR3A), réétiqueté avec RenameIdents(), et tracé l’UMAP annoté — une carte nommée du sang périphérique. La leçon durable : les numéros de regroupement sont arbitraires, les identités viennent des gènes, et une annotation honnête dit quelles étiquettes sont certaines et lesquelles relèvent du jugement.
Cela achève l’analyse guidée de pbmc3k — d’une matrice 10x brute jusqu’à des types cellulaires nommés. Aller plus loin signifie généralement plus de cellules et plus de conditions : intégrer plusieurs échantillons, corriger les effets de lot, scorer les états cellulaires, ou modéliser des trajectoires de différenciation — des analyses à la fois lourdes en pipeline et en calcul. C’est là qu’un environnement de calcul géré gagne sa place : les leçons gratuites enseignent le moteur (Seurat), et l’exécuter à grande échelle sur de vrais jeux de données, c’est précisément ce pour quoi Arkon est conçu.
Demandez à Prova« comment trouver les gènes marqueurs de mes regroupements Seurat et les annoter en types cellulaires ? » — elle répond avec du code R que vous pouvez exécuter sur votre propre objet, lance FindAllMarkers, trace vos marqueurs canoniques avec FeaturePlot/VlnPlot, et vous aide à raisonner des marqueurs vers une correspondance RenameIdents. The runtime is the judge.Demander à Prova →
Cette page vous a-t-elle été utile ?
Merci pour votre retour !
Recevez les nouvelles leçons R & Python par e-mail
Pratique, reproductible, sans spam. Désinscription à tout moment.
Double opt-in. Nous ne partageons jamais votre e-mail.
Cette leçon est reproductible : chaque figure et chaque nombre ont été produits par le code montré — copiez n’importe quel bloc et exécutez-le pour les reproduire. The runtime is the judge.
Références
Hao, Y., et al. (2021). Integrated analysis of multimodal single-cell data (Seurat v4). Cell, 184(13), 3573–3587.
Satija, R., Farrell, J. A., Gennert, D., Schier, A. F., & Regev, A. (2015). Spatial reconstruction of single-cell gene expression data. Nature Biotechnology, 33(5), 495–502.
Stuart, T., et al. (2019). Comprehensive integration of single-cell data. Cell, 177(7), 1888–1902.
10x Genomics. 3k PBMCs from a Healthy Donor — la matrice gène–code-barres filtrée pbmc3k canonique (Cell Ranger 1.1.0).