|
11 | 11 | "cell_type": "markdown",
|
12 | 12 | "metadata": {},
|
13 | 13 | "source": [
|
14 |
| - "The following tutorial describes [BBKNN](https://github.com/Teichlab/bbknn) [[Polanski19]](https://10.1093/bioinformatics/btz625) and a simple PCA-based method for integrating data we call [ingest](https://scanpy.readthedocs.io/en/latest/api/scanpy.tl.ingest.html).\n", |
| 14 | + "The following tutorial describes a simple PCA-based method for integrating data we call [ingest](https://scanpy.readthedocs.io/en/latest/api/scanpy.tl.ingest.html) and compares it with [BBKNN](https://github.com/Teichlab/bbknn) [[Polanski19]](https://10.1093/bioinformatics/btz625). BBKNN integrates well with the Scanpy workflow and is accessible through the [bbknn](https://scanpy.readthedocs.io/en/stable/external/scanpy.external.pp.bbknn.html) function.\n", |
15 | 15 | " \n",
|
16 |
| - "BBKNN integrates well with the Scanpy workflow and is accessible through [bbknn](https://scanpy.readthedocs.io/en/stable/external/scanpy.external.pp.bbknn.html)\n", |
17 |
| - " \n", |
18 |
| - "The [ingest](https://scanpy.readthedocs.io/en/latest/api/scanpy.tl.ingest.html) function assumes an annotated reference dataset that essentially captures the relevant biological variability and is well-embedded already. The rational is to fit a model (for the time being, a PCA) on the reference data and use it to project new data. Similar PCA-based integrations have been used in many papers before, for instance, in [Weinreb18](https://doi.org/10.1101/467886).\n", |
| 16 | + "The [ingest](https://scanpy.readthedocs.io/en/latest/api/scanpy.tl.ingest.html) function assumes an annotated reference dataset that captures the biological variability of interest. The rational is to fit a model on the reference data and use it to project new data. For the time being, this model is a PCA combined with a neighbor lookup search tree, for which we use UMAP's implementation [[McInnes18]](https://arxiv.org/abs/1802.03426). Similar PCA-based integrations have been used before, for instance, in [[Weinreb18]](https://doi.org/10.1101/467886).\n", |
19 | 17 | "\n",
|
20 |
| - "* As the `ingest` is simple and the procedure clear, the workflow is transparent and fast.\n", |
21 |
| - "* Like BBKNN, `ingest` leaves the data matrix invariant.\n", |
22 |
| - "* Unlike BBKNN, `ingest` solves the label mapping problem and maintains an embedding that might have desired properties - like displaying trajectories.\n", |
| 18 | + "* As [ingest](https://scanpy.readthedocs.io/en/latest/api/scanpy.tl.ingest.html) is simple and the procedure clear, the workflow is transparent and fast.\n", |
| 19 | + "* Like BBKNN, [ingest](https://scanpy.readthedocs.io/en/latest/api/scanpy.tl.ingest.html) leaves the data matrix itself invariant.\n", |
| 20 | + "* Unlike BBKNN, [ingest](https://scanpy.readthedocs.io/en/latest/api/scanpy.tl.ingest.html) solves the label mapping problem (like scmap) and maintains an embedding that might have desired properties like specific clusters or trajectories.\n", |
23 | 21 | "\n",
|
24 |
| - "We refer to this *asymmetric* dataset integration as *ingesting* annotations from an annotated reference `adata_ref` into an `adata` that still lacks this annotation. This is different from learning a joint representation that integrates datasets in a symmetric way as [BBKNN](https://github.com/Teichlab/bbknn), MNN, Scanorma, Conos, CCA (e.g. in Seurat) or a conditional VAE (e.g. in scVI, trVAE) would do. Take a look at tools in the [external API](https://scanpy.readthedocs.io/en/latest/external/#data-integration) or at the [ecoystem page](https://scanpy.readthedocs.io/en/latest/ecosystem/#data-integration) to get a start with other tools." |
| 22 | + "We refer to this *asymmetric* dataset integration as *ingesting* annotations from an annotated reference `adata_ref` into an `adata` that still lacks this annotation. It is different from learning a joint representation that integrates datasets in a symmetric way as [BBKNN](https://github.com/Teichlab/bbknn), Scanorma, Conos, CCA (e.g. in Seurat) or a conditional VAE (e.g. in scVI, trVAE) would do, but comparable to the initiall MNN implementation in scran. Take a look at tools in the [external API](https://scanpy.readthedocs.io/en/latest/external/#data-integration) or at the [ecoystem page](https://scanpy.readthedocs.io/en/latest/ecosystem/#data-integration) to get a start with other tools." |
25 | 23 | ]
|
26 | 24 | },
|
27 | 25 | {
|
|
0 commit comments