安装scVI及使用教程

首先
在这里插入图片描述参考教程
https://docs.scvi-tools.org/en/0.6.3/tutorials/basic_tutorial.html
其中输入
首先需要安装pytorch

pip install torch==1.10.2
pip install scvi[notebooks]

即可,然后下载scVI自带数据需要注意
例如

import sys
show_plot = True
test_mode = False
save_path = "data/"

if not test_mode:
    save_path = "data/"

import os
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scvi.dataset import CortexDataset, RetinaDataset
from scvi.models import VAE
from scvi.inference import UnsupervisedTrainer, load_posterior
from scvi import set_seed
import torch

# Control UMAP numba warnings
import warnings; warnings.simplefilter('ignore')
%matplotlib inline
# Sets torch and numpy random seeds, run after all scvi imports
set_seed(0)


retina_dataset = RetinaDataset(save_path=save_path)

这里数据总是下载失败,可以去源码里找到下载loom文件的原始链接,然后浏览器下载保存在data文件里,就可以离线家在,但是我发现加载这个数据会出现一个问题,就是
在这里插入图片描述解决办法

pip install h5py==2.10.0

使用教程参考
https://docs.scvi-tools.org/en/0.6.3/tutorials/basic_tutorial.html

我今天刚发现,scVI是有两个,其实可能不止两个,我上面的安装是做单batch 分析的

svVI-tools(integration)安装

反正我到是没搞懂,为社么scVI不弄成一个环境,
安装教程
https://docs.scvi-tools.org/en/stable/installation.html

conda create -n scvi-env python=3.9
conda activate scvi-env
pip install scvi-tools[tutorials]
pip install ipykernel
python -m ipykernel install --name scvi_env --user

** 这个环境叫scvi_env,而之前安装的环境叫scVI**
这个两个不同的环境,就离谱为啥要弄成两个环境,感觉作者是有病
使用教程参考
https://docs.scvi-tools.org/en/stable/tutorials/notebooks/api_overview.html

我发现一个问题,就是最新的scvi-tools里面的scanpy是1.9.1,但是1.9.1写入的h5ad在scanpy1.7.2中读取不了,很奇怪,我暂时不管这个问题了,所以我在python3.6.10中装了scvi-tools的0.7.1,已经是很旧的版本了,下面记录一下怎么使用旧版本的教程
首先google scvi-tools
第一个点入进去,是
在这里插入图片描述点击Docs->tutorials
在这里插入图片描述
这里显示的是最新版的教程,有函数已经被弃掉了,就是说scvi-tools最新版的教程用scvi-tools 0.7.1是会报错的,
在这里插入图片描述

所以切换之前的版本的教程
在这里插入图片描述
但是这样点其实是没用的

真正的做法是点击 Project Home,然后出现的界面是
在这里插入图片描述
然后点击自己对应的版本,就可以进入之前版本的scvi-tools的教程了,最终的界面如下

在这里插入图片描述

然后点击User guide,然后点击
在这里插入图片描述这个就就可以进入scvi-tools==0.8.1 的RNA-seq的data integration的教程了

scvi-tools(0.8.1 tutorial)

import scvi

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd
import scanpy as sc

print(scvi.__version__)
print(sc.__version__)
import sys
print(sys.version)
import umap
print(umap.__version__)

sc.set_figure_params(figsize=(4, 4))

结果如下
在这里插入图片描述

adata=sc.read("4batch_4celltype_multi.h5ad")
print(adata)

在这里插入图片描述

adata.layers["counts"] = adata.X.copy()
sc.pp.normalize_total(adata, target_sum=1e4)
sc.pp.log1p(adata)
adata.raw = adata  # keep full dimension safe
sc.pp.highly_variable_genes(
    adata,
    flavor="seurat_v3",
    n_top_genes=1000,
    layer="counts",
    batch_key="BATCH",
    subset=True
)
# sc.tl.pca(adata)
# sc.pp.neighbors(adata)
# sc.tl.umap(adata)
# sc.pl.umap(adata,color=["celltype","BATCH"])

在这里插入图片描述

scvi.data.setup_anndata(adata, layer="counts", batch_key="BATCH")

在这里插入图片描述

vae = scvi.model.SCVI(adata)
vae.train()
adata.obsm["X_scVI"] = vae.get_latent_representation()
sc.pp.neighbors(adata, use_rep="X_scVI")
sc.tl.louvain(adata)
sc.tl.umap(adata)
sc.pl.umap(
    adata,
    color=["BATCH", "louvain"],
    frameon=False,
    ncols=1,
)

结果如下
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

注意这里使用不同版本的scVI默认都是使用GPU加速的,如果想强制设置成cpu运行,那么scVI 0.8.1的方式是
在这里插入图片描述而scVI 0.17.1使用的方式是
在这里插入图片描述两者不一样

在这里插入图片描述
会自动安装pytorch以及cuda
然后安装

pip install scib-metrics

然后运行教程
https://docs.scvi-tools.org/en/stable/tutorials/notebooks/harmonization.html

使用教程2

https://ccbskillssem.github.io/assets/scvi_notebook.html

这里程序感觉是有一个bug
比如


评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值