二维码
微世推网

扫一扫关注

当前位置: 首页 » 快闻头条 » 科技资讯 » 正文

单细胞分析工具_ECAUGT提取hECA数据

放大字体  缩小字体 发布日期:2023-02-09 14:45:22    作者:何杰梅    浏览次数:155
导读

基于先前得hECA文献笔记,学习使用python工具ECAUGHT高效提取特定类型得人类单细胞图谱数据。值得注意得是hECA对不同近日数据集仅进行了测序文库得标准化以及log转换,用户可根据特定应用场景进行适当得批次校正处理

基于先前得hECA文献笔记,学习使用python工具ECAUGHT高效提取特定类型得人类单细胞图谱数据。值得注意得是hECA对不同近日数据集仅进行了测序文库得标准化以及log转换,用户可根据特定应用场景进行适当得批次校正处理。

  • 自家教程:感谢分享eca.xglab.tech/ecaugt/index.html

    pip install ECAUGT1、前期准备

    ## 加载包import sysimport pandas as pdimport ECAUGTimport timeimport multiprocessingimport numpy as np## 建立API链接# set parametersendpoint = "感谢分享HCAd-Datasets感谢原创分享者-beijing.ots.aliyuncs感谢原创分享者"access_id = "LTAI5t7t216W9amUD1crMVos" #enter your id and keysaccess_key = "ZJPlUbpLCij5qUPjbsU8GnQHm97IxJ"instance_name = "HCAd-Datasets"table_name = 'HCA_d'# setup clientECAUGT.Setup_Client(endpoint, access_id, access_key, instance_name, table_name)2、表型筛选

    hECA数据储存方式是行名是细胞id,列名包括基因名(43878) + 表型信息(18),共43896列得巨大矩阵。

    首先可根据表型信息(meta.data)筛选目标细胞群,常用得两个条件是器官(organ)与细胞(cell_type)类型

  • 所支持得器官类型 感谢分享eca.xglab.tech/#/organGallery
  • 所支持得细胞类型 感谢分享eca.xglab.tech/#/cellTypeList?viewType=AZ

    ## 如下查询肺组织得T细胞rows_to_get = ECAUGT.search_metadata("organ == Lung && cell_type == T cell")# 14894 cells foundrows_to_get[:5]# [[('cid', 2000932)],# [('cid', 2000962)],# [('cid', 2000971)],# [('cid', 2000978)],# [('cid', 2000987)]]## cell id格式为长度为2得元组,第壹个元素是'cid',第二个元素是数字序号## 常用逻辑操作符# '==' means equal# '<>' means unequal# '&&' means AND operation# '||' means OR operation# '!' means not NOT operation3、下载数据

    df_result = ECAUGT.get_columnsbycell_para( rows_to_get = rows_to_get[:20], ## 返回指定细胞id cols_to_get=None, ## 返回指定基因/表型列 col_filter=None, ## 特定基因表达模式 do_transfer = True, ## 是否返回Dataframe格式 thread_num = multiprocessing.cpu_count()-1)df_result.shape# (20, 43896) 43878个基因信息 + 18列表型信息(metadata)genes = df_result.columns[:43878] # 基因名metaCols = df_result.columns[43878:43878+18] # 表型名# Index(['cell_id', 'cell_type', 'cl_name', 'donor_age', 'donor_gender',# 'donor_id', 'hcad_name', 'marker_gene', 'organ', 'original_name',# 'region', 'sample_status', 'seq_tech', 'study_id', 'subregion',# 'tissue_type', 'uHAF_name', 'user_id'],# dtype='object')meta = df_result.loc[:,metaCols]meta.reset_index(inplace=True)expr = df_result.loc[:,genes]expr.reset_index(inplace=True)expr=expr.drop(['cid'], axis=1)

  • 筛选特定基因表达模式,并返回指定列得细胞数据

    gene_condition = ECAUGT.set_gene_condition("PTPRC > 0.1 && CD3D>=0.1")df_result = ECAUGT.get_columnsbycell_para( rows_to_get = rows_to_get[:20], cols_to_get=['CD3D','PTPRC','donor_id','hcad_name'], col_filter=gene_condition, do_transfer = True, thread_num = multiprocessing.cpu_count()-1)df_result.shape# (5, 4)4、分批下载

  • 若目标细胞群过多,可分成小批量多次下载

    from tqdm import tqdmimport picklefor chunk in tqdm(range(int(1+len(rows_to_get)/500)),ncols=80): # split batches lb, rb = chunk*500, (chunk+1)*500 rows = rows_to_get[lb:rb] if len(rows)<=0:break # download rows from the unified Giant Table (uGT) result = ECAUGT.get_columnsbycell_para(rows_to_get = rows, cols_to_get = None, # download all columns col_filter = None, do_transfer = True, thread_num = 24) result.to_pickle("__temp_%d_%d.pk"%(lb,rb)) #print("downloading %d~%d"%(lb, rb)) #print(len(rows))# load split batchesgiant_table_list = []for chunk in tqdm(range(int(1+len(rows_to_get)/500)),ncols=80): lb, rb = chunk*500, (chunk+1)*500 fname = "__temp_%d_%d.pk" % (lb, rb) with open(fname,'rb') as f: df=pickle.load(f) giant_table_list.append(df)giant_table= giant_table_list[0]for i in range(1, len(giant_table_list)): giant_table = pd.concat([ giant_table, giant_table_list[i] ])# remove intermediate resultsdel giant_table_listimport gcgc.collect()#giant_table.to_pickle("sorted_tcells_raw.pk")df_result = giant_tabledf_result.shape# (14894, 43896)

  •  
    (文/何杰梅)
    打赏
    免责声明
    • 
    本文为何杰梅原创作品•作者: 何杰梅。欢迎转载,转载请注明原文出处:http://www.udxd.com/news/show-368533.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们邮件:weilaitui@qq.com。
     

    Copyright©2015-2023 粤公网安备 44030702000869号

    粤ICP备16078936号

    微信

    关注
    微信

    微信二维码

    WAP二维码

    客服

    联系
    客服

    联系客服:

    24在线QQ: 770665880

    客服电话: 020-82301567

    E_mail邮箱: weilaitui@qq.com

    微信公众号: weishitui

    韩瑞 小英 张泽

    工作时间:

    周一至周五: 08:00 - 24:00

    反馈

    用户
    反馈