美文网首页
Scanpy 计算DEG格式转换 2024-09-05

Scanpy 计算DEG格式转换 2024-09-05

作者: 黄甫一 | 来源:发表于2024-09-04 16:59 被阅读0次
用惯了Seurat计算DEGs,使用Scanpy进行计算得到的格式会很不适应,可读性有点差,因此可以使用以下函数进行格式转换,并且根据FC进行了排序筛选Top基因。
#calculate DEG
def calculate_deg(adata,incol='leiden',use_raw=False):
    sc.tl.rank_genes_groups(adata, groupby=incol, use_raw=use_raw)
    result = adata.uns['rank_genes_groups']
    groups = result['names'].dtype.names
    df = pd.DataFrame({group + '_' + key[:1]: result[key][group] for group in groups for key in ['names', 'scores', 'logfoldchanges','pvals_adj']}).head(2000)
    splits = [ df[i] for i in df.columns]
    lnames=[]
    lscores=[]
    llog2fc=[]
    lpvalue=[]
    lcluster=[]
    for n in range(0,int(len(splits)/4)):
        lnames+=(list(splits[4*n]))
        lscores+=(list(splits[4*n+1]))
        llog2fc+=(list(splits[4*n+2]))
        lpvalue+=(list(splits[4*n+3]))
        lcluster+=(list([str(splits[4*n].name.replace('_n',''))]*len(splits[n])))

    mydict={'gene':lnames,'score':lscores,'log2fc':llog2fc,'p_value':lpvalue,'cluster':lcluster}
    out=pd.DataFrame(mydict)
    out['fc']=[ pow(2,i) for i in out['log2fc']]
    out=out.sort_values(by=['cluster','log2fc'],na_position='first',ascending=False)
    out.to_csv(incol+'_out_deg.xls',sep='\t', header=True, index=True)

相关文章

  • CSS3----2D转换模块

    2D转换:transform 1、旋转 rotate(45deg) 45deg表示是旋转45度格式:{trans...

  • 2D转换模块

    2D转换模块 格式:transform:值; 取值:transform: rotate(45deg);(顺时针旋转...

  • Python时间处理方式汇总

    目录1.时间获取&计算2.多种时间格式相互转换 1.时间获取&计算 2.多种时间格式相互转换

  • Android下的几种时间格式转换

    将毫秒转换为小时:分钟:秒格式 将毫秒转换为标准日期格式 标准时间转换为时间戳 计算时间差 计算与当前的时间差

  • NSDate

    目录:1、时区转换2、日期格式转换3、时间格式转换4、计算今天开始7天内日期、星期(今天,01-13|星期六,01...

  • 2D转换模块

    2D转换模块 transform:rotate(45deg);_________旋转 transform:tran...

  • transform使用方法

    A transform2D转换 1.transform:translate(x,y) rotate(30deg) ...

  • 六、GEO差异基因功能注释之KEGG和GO

    一、ENTREZID转换 进行功能注释,首先需要对差异基因deg数据集进行ENTREZID转换 二、输入数据准备 ...

  • day20-CSS-2D转换模块

    2D转换模块 旋转transform:rotate(45deg)--代表旋转45° 平移transform:tra...

  • 网络基础

    应用层例如邮件,微信等,会在发送邮件时加入标签信息:内容+收件人 表示层网络数据格式的转换,将计算机使用的格式转换...

网友评论

      本文标题:Scanpy 计算DEG格式转换 2024-09-05

      本文链接:https://www.haomeiwen.com/subject/nktrljtx.html