人类疾病相关数据库比对:scDRS软件使用教程

0. scDRS有一个局限性就是,基因和疾病之间的相关性是基于基因组变异来统计的,统计数据也是遗传相关的疾病,数据库相对局限;即使使用自己构建参考数据的方式也不能避免这个问题。单细胞测序多为表达数据,因此个人感觉还是基于表达量差异得到的疾病-基因相关性更有意义。

1. Seurat对象到Anndata对象的转换。

这里使用的是之前经过初步分析的Seurat对象,包括了scale.data的结果。如果直接用SeuratDisk转换的话,Anndata中的X读入的是scale.data数据,不适用于scDRS的分析。

转换流程:

library(Seurat)

library(SeuratDisk)

tumor<-readRDS("tumor.rds")

rna<-tumor@assays$RNA@counts

tumor_1<-CreateSeuratObject(counts=rna)

SaveH5Seurat(tumor_1,filename="tumor_h5Seurat",overwrite = T)

Convert("tumor_h5Seurat.h5seurat",dest="h5ad",assay="RNA",overwrite = T)

这一步得到的tumor_h5Seurat.h5ad文件可以用于后续分析。

2. python平台上scDRS分析

首先需要安装各种单细胞分析的程序包,包括pandas,numpy,seaborn,scipy,anndata,scanpy以及scdrs。使用pip安装或者参考各个软件的安装教程即可。

1) 数据读入,这一步需要在python上运行:

adata_own=sc.read_h5ad('tumor_h5Seurat.h5ad')

df_gs=pd.read_csv('magma_10kb_top1000_zscore.74_traits.rv1.gs',sep='\t',index_col=0) #gs文件下载于scDRs的官方数据库。示例:


2) 计算单个细胞的scDRS-score,这一步需要在终端运行。

scdrs compute-score \

    --h5ad-file tumor_h5Seurat.h5ad \

    --h5ad-species mouse \

    --gs-file magma_10kb_top1000_zscore.74_traits.rv1.gs \

    --gs-species human \

    --cov-file cov.tsv \

    --flag-filter-data True \

    --flag-raw-count False \

    --flag-return-ctrl-raw-score False \

    --flag-return-ctrl-norm-score True \

    --out-folder results/

可以得到根据每个疾病相关基因计算出的单个细胞表达分数。其中,traits数据来源于文章中的数据存储网站,共有74个traits,主要基于UK Biobank构建。

3) 最终生成的文件中,.score.gz文件可以用于后续的分析。可以通过barcode信息把score数据添加到Seurat对象的metadata中。示例代码:

library(data.table)

library(hash)

brcancer<-fread("/storage/work/wangrj/second_YWS_pan02/scDRS_result/own_data/results_all/UKB_460K.cancer_BREAST.score.gz",header=T,sep="\t")

scorehash<-hash()

for(i in 1:length(brcancer$V1)){

  scorehash[brcancer$V1[i]]=brcancer$norm_score[i]

}

scDRS_BC_norm_score<-c()

barall<-colnames(mdata)

bar_br<-brcancer$V1

for(i in 1:length(colnames(mdata))){

  bar<-barall[i]

  if(bar %in% bar_br){

    temp<-scorehash[[bar]]

  }

  else{

    temp<-"NA"

  }

  scDRS_BC_norm_score<-c(scDRS_BC_norm_score,temp)

}

mdata$scDRS_BC_norm_score<-scDRS_BC_norm_score

msub<-subset(mdata,scDRS_BC_norm_score!="NA")

library(ggraph)

library(ggplot2)

msub$scDRS_BC_norm_score<-as.numeric(msub$scDRS_BC_norm_score)

ggplot(data.frame(msub@meta.data, msub@reductions$umap@cell.embeddings), aes(UMAP_1, UMAP_2, color=scDRS_BC_norm_score)) +

  geom_point(size=1.5) + scale_color_viridis(option="H")+

  theme_light(base_size = 15)+labs(title = "Breast cancer score")+

  theme(panel.border = element_rect(fill=NA,color="black", size=1, linetype="solid"))+theme(plot.title = element_text(hjust = 0.5))

ggsave("scDRS_result/umap_of_breast_cancer_score.pdf",height=6,width=8) 

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空