MIRA使用教程 | single-cell Multi-omics
在我申请之前(6-8月),合作就已经开始了,估计是2022年1月,Cliff(Shirley组)在开发MIRA,已经到投稿阶段,而Nialy也已经在测序multi-omics了,就差人分析了。
multi-omics看似就是多了个ATAC-seq,但复杂度最少比单纯的RNA-seq多了5倍,Allen显然不想接手,就等着去graduate school,然后我就被选中了。
MIRA说实话,我觉得一般,就是个autoencoder,玩烂了,然后加上一个joint KNN,基本原理不能太简单。
然后其实出来的topic也非完全unsupervised,layer就2-3层,topic也就10-50个,对RNA还好,但对有165033个peak的ATAC而言,计算量就太大了,基本要上3-5个GPU才行。
项目最大的问题:
- Allen的分析基本是shit,他完全用这个数据来开发MIRA dev,然后dev又没有release,只能说苦了接盘的我;(但Allen的美言确实给我加了不少分)
- 没有充分理由的移除了WT2和Day-14的样本,哥,一个样本多少钱你知道吗?你知道它的价值吗?
- 我没有GPU,不可能重新训练,然后Allen分享的model pth文件也用不了,后来折腾了好久才知道模型做了全面的升级(Dirichlet),想私自转化模型是不可能的;
现在,我有了GPU,也有了Allen最初的embedding,整个项目我基本可以接管了,只要MIRA有的功能我都可以分析。Nilay只能理解他能理解的东西,RA这个项目我打辅助就行,不必过于上心。
注意:
- 在训练ATAC数据的时候,各项资源一定要给足,否则HMS O2会直接kill掉你的kernel,这对RNA则不会。
必须要完成的任务!
安装MIRA
# https://docs.conda.io/en/main/miniconda.html#linux-installers # install Python 3.7, not Python 3.10 # 把conda环境搞崩了,需要删除【其实是装错conda版本了】 conda deactivate conda env remove -n mira-env conda clean -a # 安装指定Python版本 conda create --name mira-env python=3.7 # 进入环境 conda activate mira-env # 查看版本 python # 用pip来装,比conda快 pip install mira-multiome scanpy jupyter jupyterlab leidenalg # 把kernel加入jupyter python -m ipykernel install --user --name mira-env # 安装指定版本的pytorch,https://pytorch.org/get-started/locally/ pip install torch torchvision torchaudio pip install mira-multiome==1.0.4 pip install optuna==2.10.1 # 2.10.1 # 否则tuner.tune(data, n_workers=4)会报错 pip install sqlalchemy==1.4.46