[PYTHON] Essayez d'utiliser la fonction d'intégration de données de scanpy (sc.tl.ingest)

Qu'est-ce que scanpy

scanpy est un outil pour analyser les données scRNA-seq avec python. Beaucoup de gens peuvent utiliser R seurat, mais je pense qu'il y a un certain nombre de personnes qui veulent analyser les données scRNAseq avec python. C'est un outil qui répond à ces personnes. Récemment ~~ (il y a environ six mois) ~~ J'ai un tutoriel pour intégrer des données dans le scanpy. (À partir du 18/04/2020)

Intégration de données implémentée dans Scanpy

Comme déjà mentionné ci-dessus, depuis la version 1.4.5 de scanpy, une fonction appelée sc.tl.ingest a été implémentée pour intégrer les données nouvellement acquises avec les données de référence. Il existe déjà un tutoriel. (Intégration des données à l'aide d'ingest et de BBKNN: https://scanpy-tutorials.readthedocs.io/en/latest/integrating-data-using-ingest.html)

Hou la la! Je veux l'utiliser!

Je pense qu'il y a beaucoup de gens qui disent cela. Cependant, lorsque j'essaye d'installer en utilisant conda comme indiqué ci-dessous

.sh


$ conda install -c bioconda scanpy
Collecting package metadata (repodata.json): done

(Omission)

The following NEW packages will be INSTALLED:
  scanpy             bioconda/noarch::scanpy-1.4.3-py_0

Sera affiché. Si vous l'installez tel quel, scanpy-1.4.3 sera installé et vous ne pourrez pas utiliser la fonction d'intégration de données (même s'il existe un tutoriel!).

Je pense que la bioconde de conda sera mise à jour vers une version supérieure à scanpy 1.4.5, mais c'est un gros problème, alors utilisons-la d'abord.

pip installe la dernière version de scanpy

[Mise en garde!] ** Ne mélangez pas conda et pip! Il y a une réclamation **. (Bien que certaines personnes affirment qu'il n'y a pas de mal à les mélanger ...) Ci-dessous, soyez à vos risques et périls.

Page d'accueil de scanpy (https://scanpy.readthedocs.io/en/latest) En regardant, la dernière version semble être la 1.4.6. Alors, pip installons scanpy-1.4.6.

.sh


$ pip install scanpy=="1.4.6"
Collecting scanpy==1.4.6

(Omission)

Successfully installed anndata-0.7.1 h5py-2.10.0 matplotlib-3.2.1 scanpy-1.4.6

L'installation de pip s'est bien déroulée.

Vérifier la version

Cependant, il est encore tôt pour être soulagé. Au cas où, vérifions si la 1.4.6 est vraiment installée à partir de python.

import scanpy as sc
sc.logging.print_versions()
>scanpy==1.4.6 anndata==0.7.1 umap==0.3.10 numpy==1.17.4 scipy==1.4.1  pandas==1.0.3 scikit-learn==0.22 statsmodels==0.10.1 python-igraph==0.7.1 louvain==0.6.1

Il semble que la version 1.4.6 de scanpy soit installée avec succès.

Cependant, vous pouvez obtenir une erreur lorsque vous utilisez réellement la fonction que vous souhaitez intégrer. Tutoriel (https://scanpy-tutorials.readthedocs.io/en/latest/integrating-data-using-ingest.html) Nous continuerons.

(Omission)
sc.tl.ingest(adata, adata_ref, obs='leiden')
>running ingest
    finished (0:00:06)

La fonction d'intégration de données a également fonctionné! (Bien que cela ne soit pas mentionné dans cet article, il peut également être intégré à l'aide de la méthode bbknn.)

Après l'intégration à l'aide de cette fonction, si vous la visualisez, vous pouvez voir comment la référence et l'effet de lot des nouvelles données se chevauchent. image.png Citation: https://scanpy-tutorials.readthedocs.io/en/latest/integrating-data-using-ingest.html

finalement

Quand j'analyse, je pense toujours que la bioinformatique est un domaine où différents outils sortent et si vous les utilisez, vous obtiendrez des résultats comme ça pour le moment. Cette fois, je n'ai pas vérifié la certitude de l'intégration, mais j'aimerais en savoir plus à ce sujet. Si vous avez des erreurs ou des conseils, nous vous serions reconnaissants de bien vouloir nous donner des conseils.

Les références

1,Seurat:https://satijalab.org/seurat/ 2,Scanpy:https://scanpy-tutorials.readthedocs.io/en/latest/integrating-data-using-ingest.html 3, à propos de la gestion des paquets avec conda et pip: https://qiita.com/ynakayama/items/29efebeb38604d10acef

Recommended Posts

Essayez d'utiliser la fonction d'intégration de données de scanpy (sc.tl.ingest)
Essayez l'optimisation des fonctions à l'aide d'Hyperopt
Essayez d'utiliser django-import-export pour ajouter des données csv à django
Essayez d'utiliser docker-py
Essayez d'utiliser Cookiecutter
Essayez d'utiliser PDFMiner
Essayez d'utiliser des géopandas
Essayez d'utiliser Selenium
Essayez d'utiliser scipy
Essayez d'utiliser pandas.DataFrame
Essayez d'utiliser django-swiftbrowser
Essayez d'utiliser matplotlib
Essayez d'utiliser tf.metrics
Essayez d'utiliser PyODE
Essayez d'utiliser les données ouvertes de COVID-19 de Yokohama / Tokyo / Osaka
Analyse des données à l'aide de xarray
Ajustement de fonction (à l'aide de Keras)
Essayez d'utiliser virtualenv (virtualenvwrapper)
Nettoyage des données 2 Nettoyage des données à l'aide de DataFrame
Nettoyage des données à l'aide de Python
[Azure] Essayez d'utiliser Azure Functions
Essayez d'utiliser virtualenv maintenant
Essayez d'utiliser W & B
Essayez d'utiliser Django templates.html
[Kaggle] Essayez d'utiliser LGBM
Essayez d'utiliser l'analyseur de flux de Python.
Essayez d'utiliser Tkinter de Python
Essayez d'utiliser Tweepy [Python2.7]
Essayez d'utiliser collate_fn de Pytorch
Essayez d'accéder aux données AWS Redshift à l'aide d'Oracle Cloud Infrastructure Data Science
Essayez d'exécuter une fonction écrite en Python à l'aide de Fn Project
Essayez le chiffrement / déchiffrement à l'aide de la clé OpenSSL avec la fonction pow de Python3