<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article SYSTEM "http://jats.nlm.nih.gov/archiving/1.2/JATS-archivearticle1.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="1.2" article-type="research-article" xml:lang="en"><?properties open_access?><front><journal-meta><journal-id journal-id-type="publisher-id">12859</journal-id><journal-title-group><journal-title>BMC Bioinformatics</journal-title><abbrev-journal-title abbrev-type="publisher">BMC Bioinformatics</abbrev-journal-title></journal-title-group><issn pub-type="epub">1471-2105</issn><publisher><publisher-name>BioMed Central</publisher-name><publisher-loc>London</publisher-loc></publisher></journal-meta><article-meta><article-id pub-id-type="publisher-id">s12859-022-05085-z</article-id><article-id pub-id-type="manuscript">5085</article-id><article-id pub-id-type="doi">10.1186/s12859-022-05085-z</article-id><article-categories><subj-group subj-group-type="heading"><subject>Software</subject></subj-group></article-categories><title-group><article-title xml:lang="en">SC3s: efficient scaling of single cell consensus clustering to millions of cells</article-title></title-group><contrib-group><contrib contrib-type="author" id="Au1"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-4616-5324</contrib-id><name><surname>Quah</surname><given-names>Fu Xiang</given-names></name><xref ref-type="aff" rid="Aff1">1</xref><xref ref-type="aff" rid="Aff2">2</xref></contrib><contrib contrib-type="author" corresp="yes" id="Au2"><contrib-id contrib-id-type="orcid">http://orcid.org/0000-0001-8895-5239</contrib-id><name><surname>Hemberg</surname><given-names>Martin</given-names></name><xref ref-type="aff" rid="Aff1">1</xref><xref ref-type="aff" rid="Aff3">3</xref><xref ref-type="corresp" rid="IDs1285902205085z_cor2">b</xref></contrib><aff id="Aff1"><label>1</label><institution-wrap><institution-id institution-id-type="GRID">grid.10306.34</institution-id><institution-id institution-id-type="ISNI">0000 0004 0606 5382</institution-id><institution content-type="org-name">Wellcome Sanger Institute</institution></institution-wrap><addr-line content-type="street">Wellcome Genome Campus</addr-line><addr-line content-type="postcode">CB10 1SA</addr-line><addr-line content-type="city">Hinxton</addr-line><country country="GB">UK</country></aff><aff id="Aff2"><label>2</label><institution-wrap><institution-id institution-id-type="GRID">grid.5335.0</institution-id><institution-id institution-id-type="ISNI">0000000121885934</institution-id><institution content-type="org-division">The Gurdon Institute</institution><institution content-type="org-name">University of Cambridge</institution></institution-wrap><addr-line content-type="street">Tennis Court Road</addr-line><addr-line content-type="postcode">CB2 1QN</addr-line><addr-line content-type="city">Cambridge</addr-line><country country="GB">UK</country></aff><aff id="Aff3"><label>3</label><institution-wrap><institution-id institution-id-type="GRID">grid.38142.3c</institution-id><institution-id institution-id-type="ISNI">000000041936754X</institution-id><institution content-type="org-division">Evergrande Center for Immunologic Diseases</institution><institution content-type="org-name">Harvard Medical School and Brigham and Women’s Hospital</institution></institution-wrap><addr-line content-type="street">75 Francis Street</addr-line><addr-line content-type="postcode">02115</addr-line><addr-line content-type="city">Boston</addr-line><addr-line content-type="state">MA</addr-line><country country="US">USA</country></aff></contrib-group><author-notes><corresp id="IDs1285902205085z_cor2"><label>b</label><email>mhemberg@bwh.harvard.edu</email></corresp></author-notes><pub-date date-type="pub" publication-format="electronic"><day>12</day><month>12</month><year>2022</year></pub-date><pub-date date-type="collection" publication-format="electronic"><month>12</month><year>2022</year></pub-date><volume>23</volume><issue seq="478">1</issue><elocation-id>536</elocation-id><history><date date-type="registration"><day>28</day><month>11</month><year>2022</year></date><date date-type="received"><day>3</day><month>8</month><year>2022</year></date><date date-type="accepted"><day>25</day><month>11</month><year>2022</year></date><date date-type="online"><day>12</day><month>12</month><year>2022</year></date></history><permissions><copyright-statement>© The Author(s) 2022</copyright-statement><copyright-year>2022</copyright-year><license license-type="open-access" xlink:href="http://creativecommons.org/licenses/by/4.0/"><license-p><bold>Open Access</bold>This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit <ext-link xlink:href="http://creativecommons.org/licenses/by/4.0/" ext-link-type="url">http://creativecommons.org/licenses/by/4.0/</ext-link>. The Creative Commons Public Domain Dedication waiver (<ext-link xlink:href="http://creativecommons.org/publicdomain/zero/1.0/" ext-link-type="url">http://creativecommons.org/publicdomain/zero/1.0/</ext-link>) applies to the data made available in this article, unless otherwise stated in a credit line to the data.</license-p></license></permissions><abstract id="Abs1" xml:lang="en"><title>Abstract</title><sec id="ASec1"><title>Background</title><p id="Par1">Today it is possible to profile the transcriptome of individual cells, and a key step in the analysis of these datasets is unsupervised clustering. For very large datasets, efficient algorithms are required to ensure that analyses can be conducted with reasonable time and memory requirements.</p></sec><sec id="ASec2"><title>Results</title><p id="Par2">Here, we present a highly efficient k-means based approach, and we demonstrate that it scales favorably with the number of cells with regards to time and memory.</p></sec><sec id="ASec3"><title>Conclusions</title><p id="Par3">We have demonstrated that our streaming k-means clustering algorithm gives state-of-the-art performance while resource requirements scale favorably for up to 2 million cells.</p></sec></abstract><kwd-group xml:lang="en"><title>Keywords</title><kwd>k-Means clustering</kwd><kwd>Streaming clustering</kwd><kwd>scRNAseq</kwd></kwd-group><custom-meta-group><custom-meta><meta-name>publisher-imprint-name</meta-name><meta-value>BioMed Central</meta-value></custom-meta><custom-meta><meta-name>volume-issue-count</meta-name><meta-value>1</meta-value></custom-meta><custom-meta><meta-name>issue-article-count</meta-name><meta-value>478</meta-value></custom-meta><custom-meta><meta-name>issue-toc-levels</meta-name><meta-value>0</meta-value></custom-meta><custom-meta><meta-name>issue-pricelist-year</meta-name><meta-value>2022</meta-value></custom-meta><custom-meta><meta-name>issue-copyright-holder</meta-name><meta-value>The Author(s)</meta-value></custom-meta><custom-meta><meta-name>issue-copyright-year</meta-name><meta-value>2022</meta-value></custom-meta><custom-meta><meta-name>article-contains-esm</meta-name><meta-value>Yes</meta-value></custom-meta><custom-meta><meta-name>article-numbering-style</meta-name><meta-value>Unnumbered</meta-value></custom-meta><custom-meta><meta-name>article-registration-date-year</meta-name><meta-value>2022</meta-value></custom-meta><custom-meta><meta-name>article-registration-date-month</meta-name><meta-value>11</meta-value></custom-meta><custom-meta><meta-name>article-registration-date-day</meta-name><meta-value>28</meta-value></custom-meta><custom-meta><meta-name>article-toc-levels</meta-name><meta-value>0</meta-value></custom-meta><custom-meta><meta-name>toc-levels</meta-name><meta-value>0</meta-value></custom-meta><custom-meta><meta-name>volume-type</meta-name><meta-value>Regular</meta-value></custom-meta><custom-meta><meta-name>journal-product</meta-name><meta-value>ArchiveJournal</meta-value></custom-meta><custom-meta><meta-name>numbering-style</meta-name><meta-value>Unnumbered</meta-value></custom-meta><custom-meta><meta-name>article-grants-type</meta-name><meta-value>OpenChoice</meta-value></custom-meta><custom-meta><meta-name>metadata-grant</meta-name><meta-value>OpenAccess</meta-value></custom-meta><custom-meta><meta-name>abstract-grant</meta-name><meta-value>OpenAccess</meta-value></custom-meta><custom-meta><meta-name>bodypdf-grant</meta-name><meta-value>OpenAccess</meta-value></custom-meta><custom-meta><meta-name>bodyhtml-grant</meta-name><meta-value>OpenAccess</meta-value></custom-meta><custom-meta><meta-name>bibliography-grant</meta-name><meta-value>OpenAccess</meta-value></custom-meta><custom-meta><meta-name>esm-grant</meta-name><meta-value>OpenAccess</meta-value></custom-meta><custom-meta><meta-name>online-first</meta-name><meta-value>false</meta-value></custom-meta><custom-meta><meta-name>pdf-file-reference</meta-name><meta-value>BodyRef/PDF/12859_2022_Article_5085.pdf</meta-value></custom-meta><custom-meta><meta-name>pdf-type</meta-name><meta-value>Typeset</meta-value></custom-meta><custom-meta><meta-name>target-type</meta-name><meta-value>OnlinePDF</meta-value></custom-meta><custom-meta><meta-name>issue-type</meta-name><meta-value>Regular</meta-value></custom-meta><custom-meta><meta-name>article-type</meta-name><meta-value>OriginalPaper</meta-value></custom-meta><custom-meta><meta-name>journal-subject-primary</meta-name><meta-value>Life Sciences</meta-value></custom-meta><custom-meta><meta-name>journal-subject-secondary</meta-name><meta-value>Bioinformatics</meta-value></custom-meta><custom-meta><meta-name>journal-subject-secondary</meta-name><meta-value>Microarrays</meta-value></custom-meta><custom-meta><meta-name>journal-subject-secondary</meta-name><meta-value>Computational Biology/Bioinformatics</meta-value></custom-meta><custom-meta><meta-name>journal-subject-secondary</meta-name><meta-value>Computer Appl. in Life Sciences</meta-value></custom-meta><custom-meta><meta-name>journal-subject-secondary</meta-name><meta-value>Algorithms</meta-value></custom-meta><custom-meta><meta-name>journal-subject-collection</meta-name><meta-value>Biomedical and Life Sciences</meta-value></custom-meta><custom-meta><meta-name>open-access</meta-name><meta-value>true</meta-value></custom-meta></custom-meta-group></article-meta><notes notes-type="ESMHint"><title>Supplementary Information</title><p>The online version contains supplementary material available at <ext-link xlink:href="https://doi.org/10.1186/s12859-022-05085-z" ext-link-type="doi">https://doi.org/10.1186/s12859-022-05085-z</ext-link>.</p></notes></front><body><sec id="Sec1"><title>Background</title><p id="Par7">Technological advances have paved the way for single cell RNAseq (scRNAseq) datasets containing several million cells [<xref ref-type="bibr" rid="CR1">1</xref>]. Such large datasets require highly efficient algorithms to enable analyses at reasonable times and hardware requirements [<xref ref-type="bibr" rid="CR2">2</xref>]. A crucial step in single cell workflows is unsupervised clustering, which aims to delineate putative cell types or cell states based on transcriptional similarity [<xref ref-type="bibr" rid="CR3">3</xref>]. The most popular methods for unsupervised clustering of scRNAseq data are the Louvain and Leiden algorithms. They represent cells as a neighborhood graph where densely connected modules are identified as clusters [<xref ref-type="bibr" rid="CR4">4</xref>]. However, these methods can be biased by a poorly specified graph, running the risk of identifying structures that are not present in the data [<xref ref-type="bibr" rid="CR5">5</xref>]. More generally, as it can be shown that no single clustering algorithm will feature all desired statistical properties and perform well for all datasets, the field would benefit from additional methodologies [<xref ref-type="bibr" rid="CR6">6</xref>].</p><p id="Par8">One of the most widely used unsupervised clustering in general is k-means clustering, and it forms the basis of several methodologies, including scCCESS [<xref ref-type="bibr" rid="CR7">7</xref>], SCCAF [<xref ref-type="bibr" rid="CR8">8</xref>] and the single cell consensus clustering (SC3) algorithm [<xref ref-type="bibr" rid="CR9">9</xref>]. To achieve robust and accurate results SC3 uses a consensus approach whereby a large number of parameter combinations are evaluated and subsequently combined. However, both the k-means clustering and the consensus algorithm come at significant computational costs: both the run time and memory use scale more than quadratically with the number of cells, prohibiting application to large datasets, which are becoming increasingly commonplace with ever improving sequencing technologies.</p></sec><sec id="Sec2"><title>Implementation</title><p id="Par9">Here, we present a new version of this algorithm, single cell consensus clustering with speed (SC3s), where several steps of the original workflow have been optimized to ensure that both run time and memory usage scale linearly with the number of cells (Fig. <xref rid="Fig1" ref-type="fig">1</xref>; Additional file <xref ref-type="supplementary-material" rid="MOESM1">1</xref>: Fig. S1). This is achieved by using a streaming approach for the k-means clustering [<xref ref-type="bibr" rid="CR10">10</xref>], as implemented in the <italic>scikit-learn</italic> package [<xref ref-type="bibr" rid="CR11">11</xref>], which makes it possible to only process a small subset of cells in each iteration. Each of the subsets can be efficiently processed at constant time and memory. In addition, as part of an intermediary step, which was not part of the original method, a large number of microclusters are calculated. The microclusters can be reused for different choices of <italic>k</italic>, and this allows substantial savings when analyzing multiple values of <italic>k</italic>, something that is very common in practice during data exploration. We have also improved the consensus step by adopting a one-hot encoding approach [<xref ref-type="bibr" rid="CR12">12</xref>], as opposed to the original co-association based method, on which the k-means clustering algorithm could be run more efficiently (Additional file <xref ref-type="supplementary-material" rid="MOESM1">1</xref>: Fig. S2).<fig id="Fig1"><label>Fig. 1</label><caption xml:lang="en"><p>The SC3s framework for single cell consensus clustering. SC3s takes as input the gene-by-cell expression matrix, after preprocessing and dimensionality reduction via PCA using Scanpy commands. To achieve consensus clustering, SC3s attempts to combine the results of multiple clustering runs, where the number of principal components is changed (<italic>d</italic> range). All this information is then encoded into a binary matrix, which can be efficiently used to produce the final <italic>k</italic> cell clusters. The key difference from the original SC3 is that for each <italic>d</italic>, the cells are first grouped into microclusters which can be reused for multiple values of <italic>k</italic>, saving time in computation</p></caption><p><graphic specific-use="HTML" mime-subtype="PNG" xlink:href="MediaObjects/12859_2022_5085_Fig1_HTML.png" id="MO1"/></p></fig></p></sec><sec id="Sec3" sec-type="results"><title>Results</title><p id="Par10">To evaluate the accuracy of SC3s we used eight datasets with &lt; 10,000 cells where the cell labels are known or have been defined using orthogonal methods, allowing us to compare the results of the transcriptome clustering to a ground truth [<xref ref-type="bibr" rid="CR9">9</xref>] (Additional file <xref ref-type="supplementary-material" rid="MOESM1">1</xref>: Table S1). These benchmarks show that SC3s has an accuracy which is comparable to the original algorithm (Fig. <xref rid="Fig2" ref-type="fig">2</xref>), and that the performance is robust across a broad range of user-customisable parameters (Additional file <xref ref-type="supplementary-material" rid="MOESM1">1</xref>: Figs. S3-S5). Finally, SC3s compares favorably against other clustering methodologies, such as Scanpy, Seurat, FastPG and scDHA, in terms of its accuracy, memory usage and runtime (Fig. <xref rid="Fig2" ref-type="fig">2</xref>; Additional file <xref ref-type="supplementary-material" rid="MOESM1">1</xref>: Figs. S1, S6).<fig id="Fig2"><label>Fig. 2</label><caption xml:lang="en"><p>Clustering accuracy benchmarks on gold-standard datasets with &lt; 10,000 cells. Boxplots show the ARI distribution across 25 realizations of each algorithm. Numbers in parentheses denote the cell count in the specified dataset. The performance of the original SC3 is shown in blue. Leiden refers to the algorithm of the same name as implemented in Scanpy. Seurat refers to its SNN modularity optimization clustering algorithm. ARI: Adjusted Rand index (ARI)</p></caption><p><graphic specific-use="HTML" mime-subtype="PNG" xlink:href="MediaObjects/12859_2022_5085_Fig2_HTML.png" id="MO2"/></p></fig></p><p id="Par11">To examine the performance for large datasets, SC3s was benchmarked on the mouse organogenesis cell atlas dataset which contains 2,026,641 cells [<xref ref-type="bibr" rid="CR1">1</xref>]. Processing, filtering and dimensionality reduction were performed as in the original publication, after which the clustering performance of SC3s was assessed. Compared to the other packages, SC3s was able to achieve both a short runtime and a low memory usage, whilst producing consistent clusters. For example, when compared to the Leiden algorithm, the peak memory usage was similar, but SC3s was ~ 18 times faster (20 min vs 6 h), even when evaluating five <italic>k</italic> values (Table <xref rid="Tab1" ref-type="table">1</xref>). The slightly lower accuracy was expected because cell labels used for comparison originated from the Louvain algorithm, a method very similar to the Leiden algorithm, making them an imperfect ground truth. Visual inspection of the assigned labels also revealed that SC3s was able to capture the major structures identified by the authors (Additional file <xref ref-type="supplementary-material" rid="MOESM1">1</xref>: Fig. S7).<table-wrap id="Tab1"><label>Table 1</label><caption xml:lang="en"><p>Runtime, memory and ARI performance benchmarked on the 2 million mouse organogenesis cell atlas dataset</p></caption><table frame="hsides" rules="groups"><thead><tr><th align="left"><p>Method</p></th><th align="left"><p>Runtime (hr:min:s)</p></th><th align="left"><p>Peak memory (GB)</p></th><th align="left"><p>ARI</p></th></tr></thead><tbody><tr><td align="left"><p>SC3s (one k)</p></td><td char="." align="char"><p>00:11:12</p></td><td char="." align="char"><p>22.65</p></td><td char="." align="char"><p>0.408</p></td></tr><tr><td align="left"><p>SC3s (one k)</p></td><td char="." align="char"><p>00:21:01</p></td><td char="." align="char"><p>26.45</p></td><td char="." align="char"><p>0.400</p></td></tr><tr><td align="left"><p>Scanpy Leiden</p></td><td char="." align="char"><p>05:27:17</p></td><td char="." align="char"><p>33.83</p></td><td char="." align="char"><p>0.536</p></td></tr><tr><td align="left"><p>SEURAT</p></td><td char="." align="char"><p>01:53:54</p></td><td char="." align="char"><p>91.36</p></td><td char="." align="char"><p>0.257</p></td></tr><tr><td align="left"><p>FastPG</p></td><td char="." align="char"><p>00:15:05</p></td><td char="." align="char"><p>72.75</p></td><td char="." align="char"><p>0.463</p></td></tr></tbody></table><table-wrap-foot><p>Results are the average of five iterations</p></table-wrap-foot></table-wrap></p></sec><sec id="Sec4" sec-type="conclusions"><title>Conclusions</title><p id="Par12">Overall, SC3s is a major improvement over its predecessor, and it represents a scalable and accurate alternative to the widely used neighborhood graph clustering methodologies. Moreover, it is integrated with the popular Scanpy package and utilizes the same underlying data structures [<xref ref-type="bibr" rid="CR13">13</xref>], making it easy for users to incorporate into existing workflows and to make full use of upstream and downstream functionalities in the ecosystem. Thus, SC3s will allow researchers to analyze scRNAseq datasets as they scale to millions of cells.</p><sec id="Sec5"><title>Availability and requirements</title><p id="Par13">Project name: SC3s. Project home page: <ext-link xlink:href="https://github.com/hemberg-lab/sc3s/" ext-link-type="url">https://github.com/hemberg-lab/sc3s/</ext-link><underline>.</underline> Operating system: Platform independent. Programming language: python. License: BSD-3. Other requirements: None. Restrictions to use by non-academics: None.</p></sec></sec></body><back><ack><title>Acknowledgements</title><p>We would like to thank the Cellular Genetics Informatics team at the Wellcome Trust Sanger Institute for providing compute resources, particularly Simon Murray for helping package SC3s.</p></ack><sec sec-type="author-contribution"><title>Author contributions</title><p>The project was conceived by FXQ and MH. FXQ wrote the code and analyzed the data. MH supervised the research. FXQ and MH wrote the manuscript. All authors read and approved the final manuscript.</p></sec><sec><title>Funding</title><p>FXQ was supported by a Wellcome Trust PhD studentship. MH was funded by a core grant from the Wellcome Trust. The funder did not play any role in the design of the study and collection, analysis, and interpretation of data and in writing the manuscript.</p></sec><sec sec-type="data-availability"><title>Availability of data and materials</title><p>All datasets used for benchmarking are available publically, and they are listed in Additional file <xref ref-type="supplementary-material" rid="MOESM1">1</xref>: Table S1. The Python code for SC3s is licensed under a BSD-3 Clause License. Instructions to install from pip and conda channels are available on GitHub: <ext-link xlink:href="https://github.com/hemberg-lab/sc3s" ext-link-type="url">https://github.com/hemberg-lab/sc3s</ext-link>.</p></sec><sec sec-type="ethics-statement"><title>Declarations</title><sec id="FPar1"><title>Ethics approval and consent to participate</title><p id="Par14">Not applicable.</p></sec><sec id="FPar2"><title>Consent for publication</title><p id="Par15">Not applicable.</p></sec><sec id="FPar3" sec-type="COI-statement"><title>Competing interests</title><p id="Par16">None.</p></sec></sec><ref-list id="Bib1"><title>References</title><ref-list><ref id="CR1"><label>1.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Cao</surname><given-names>J</given-names></name><name><surname>Spielmann</surname><given-names>M</given-names></name><name><surname>Qiu</surname><given-names>X</given-names></name><name><surname>Huang</surname><given-names>X</given-names></name><name><surname>Ibrahim</surname><given-names>DM</given-names></name><name><surname>Hill</surname><given-names>AJ</given-names></name><etal/></person-group><article-title xml:lang="en">The single-cell transcriptional landscape of mammalian organogenesis</article-title><source>Nature</source><year>2019</year><volume>566</volume><fpage>496</fpage><lpage>502</lpage><pub-id pub-id-type="doi">10.1038/s41586-019-0969-x</pub-id></mixed-citation></ref><ref id="CR2"><label>2.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Melsted</surname><given-names>P</given-names></name><name><surname>Booeshaghi</surname><given-names>AS</given-names></name><name><surname>Liu</surname><given-names>L</given-names></name><name><surname>Gao</surname><given-names>F</given-names></name><name><surname>Lu</surname><given-names>L</given-names></name><name><surname>Min</surname><given-names>KHJ</given-names></name><etal/></person-group><article-title xml:lang="en">Modular, efficient and constant-memory single-cell RNA-seq preprocessing</article-title><source>Nat Biotechnol</source><year>2021</year><pub-id pub-id-type="doi">10.1038/s41587-021-00870-2</pub-id></mixed-citation></ref><ref id="CR3"><label>3.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Kiselev</surname><given-names>VY</given-names></name><name><surname>Andrews</surname><given-names>TS</given-names></name><name><surname>Hemberg</surname><given-names>M</given-names></name></person-group><article-title xml:lang="en">Challenges in unsupervised clustering of single-cell RNA-seq data</article-title><source>Nat Rev Genet</source><year>2019</year><volume>20</volume><fpage>273</fpage><lpage>282</lpage><pub-id pub-id-type="doi">10.1038/s41576-018-0088-9</pub-id></mixed-citation></ref><ref id="CR4"><label>4.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Traag</surname><given-names>VA</given-names></name><name><surname>Waltman</surname><given-names>L</given-names></name><name><surname>van Eck</surname><given-names>NJ</given-names></name></person-group><article-title xml:lang="en">From Louvain to Leiden: guaranteeing well-connected communities</article-title><source>Sci Rep</source><year>2019</year><volume>9</volume><fpage>5233</fpage><pub-id pub-id-type="doi">10.1038/s41598-019-41695-z</pub-id></mixed-citation></ref><ref id="CR5"><label>5.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Pasta</surname><given-names>MQ</given-names></name><name><surname>Zaidi</surname><given-names>F</given-names></name></person-group><article-title xml:lang="en">Topology of complex networks and performance limitations of community detection algorithms</article-title><source>IEEE Access</source><year>2017</year><volume>5</volume><fpage>10901</fpage><lpage>10914</lpage><pub-id pub-id-type="doi">10.1109/ACCESS.2017.2714018</pub-id></mixed-citation></ref><ref id="CR6"><label>6.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Sun</surname><given-names>S</given-names></name><name><surname>Zhu</surname><given-names>J</given-names></name><name><surname>Ma</surname><given-names>Y</given-names></name><name><surname>Zhou</surname><given-names>X</given-names></name></person-group><article-title xml:lang="en">Accuracy, robustness and scalability of dimensionality reduction methods for single-cell RNA-seq analysis</article-title><source>Genome Biol</source><year>2019</year><volume>20</volume><fpage>269</fpage><pub-id pub-id-type="doi">10.1186/s13059-019-1898-6</pub-id></mixed-citation></ref><ref id="CR7"><label>7.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Geddes</surname><given-names>TA</given-names></name><name><surname>Kim</surname><given-names>T</given-names></name><name><surname>Nan</surname><given-names>L</given-names></name><name><surname>Burchfield</surname><given-names>JG</given-names></name><name><surname>Yang</surname><given-names>JYH</given-names></name><name><surname>Tao</surname><given-names>D</given-names></name><etal/></person-group><article-title xml:lang="en">Autoencoder-based cluster ensembles for single-cell RNA-seq data analysis</article-title><source>BMC Bioinform</source><year>2019</year><volume>20</volume><issue>Suppl 19</issue><fpage>660</fpage><pub-id pub-id-type="doi">10.1186/s12859-019-3179-5</pub-id></mixed-citation></ref><ref id="CR8"><label>8.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Miao</surname><given-names>Z</given-names></name><name><surname>Moreno</surname><given-names>P</given-names></name><name><surname>Huang</surname><given-names>N</given-names></name><name><surname>Papatheodorou</surname><given-names>I</given-names></name><name><surname>Brazma</surname><given-names>A</given-names></name><name><surname>Teichmann</surname><given-names>SA</given-names></name></person-group><article-title xml:lang="en">Putative cell type discovery from single-cell gene expression data</article-title><source>Nat Methods</source><year>2020</year><volume>17</volume><fpage>621</fpage><lpage>628</lpage><pub-id pub-id-type="doi">10.1038/s41592-020-0825-9</pub-id></mixed-citation></ref><ref id="CR9"><label>9.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Kiselev</surname><given-names>VY</given-names></name><name><surname>Kirschner</surname><given-names>K</given-names></name><name><surname>Schaub</surname><given-names>MT</given-names></name><name><surname>Andrews</surname><given-names>T</given-names></name><name><surname>Yiu</surname><given-names>A</given-names></name><name><surname>Chandra</surname><given-names>T</given-names></name><etal/></person-group><article-title xml:lang="en">SC3: consensus clustering of single-cell RNA-seq data</article-title><source>Nat Methods</source><year>2017</year><volume>14</volume><fpage>483</fpage><lpage>486</lpage><pub-id pub-id-type="doi">10.1038/nmeth.4236</pub-id></mixed-citation></ref><ref id="CR10"><label>10.</label><mixed-citation publication-type="other">Sculley D. Web-scale k-means clustering. In: Proceedings of the 19th international conference on World wide web. New York: Association for Computing Machinery; 2010. p. 1177–8.</mixed-citation></ref><ref id="CR11"><label>11.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Pedregosa</surname><given-names>F</given-names></name><name><surname>Varoquaux</surname><given-names>G</given-names></name><name><surname>Gramfort</surname><given-names>A</given-names></name><name><surname>Michel</surname><given-names>V</given-names></name><name><surname>Thirion</surname><given-names>B</given-names></name><name><surname>Grisel</surname><given-names>O</given-names></name><etal/></person-group><article-title xml:lang="en">Scikit-learn: machine learning in python</article-title><source>J Mach Learn Res</source><year>2011</year><volume>12</volume><fpage>2825</fpage><lpage>2830</lpage></mixed-citation></ref><ref id="CR12"><label>12.</label><mixed-citation publication-type="other">Liu H, Liu T, Wu J, Tao D, Fu Y. Spectral ensemble clustering. In: Proceedings of the 21th ACM SIGKDD international conference on knowledge discovery and data mining. ACM; 2015. p. 715–24.</mixed-citation></ref><ref id="CR13"><label>13.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Wolf</surname><given-names>FA</given-names></name><name><surname>Angerer</surname><given-names>P</given-names></name><name><surname>Theis</surname><given-names>FJ</given-names></name></person-group><article-title xml:lang="en">SCANPY: large-scale single-cell gene expression data analysis</article-title><source>Genome Biol</source><year>2018</year><volume>19</volume><fpage>15</fpage><pub-id pub-id-type="doi">10.1186/s13059-017-1382-0</pub-id></mixed-citation></ref></ref-list></ref-list><app-group><app id="App1"><sec id="Sec6"><title>Supplementary Information</title><p id="Par17"><supplementary-material content-type="local-data" id="MOESM1" xlink:title="Supplementary Information"><media xlink:href="MediaObjects/12859_2022_5085_MOESM1_ESM.docx" mimetype="application" mime-subtype="msword"><caption xml:lang="en"><p><bold>Additional file 1.</bold> Contains <bold>Fig S1-S7</bold> which provides more details about SC3s performance, and <bold>Table S1</bold> which details the datasets used for benchmarking.</p></caption></media></supplementary-material></p></sec></app></app-group><glossary><title>Abbreviations</title><def-list><def-item><term>scRNAseq</term><def><p id="Par4">Single cell RNAseq</p></def></def-item><def-item><term>SC3</term><def><p id="Par5">Single cell consensus clustering</p></def></def-item><def-item><term>SC3s</term><def><p id="Par6">Single cell consensus clustering with speed</p></def></def-item></def-list></glossary><notes notes-type="Misc"><title>Publisher's Note</title><p>Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.</p></notes></back></article>