IT评测·应用市场-qidao123.com技术社区

标题: 细胞内与细胞间网络整合分析!神经网络+细胞通讯,这个单细胞分析工具一箭双雕了(scTenifoldXct) [打印本页]

作者: 雁过留声    时间: 2025-3-28 09:45
标题: 细胞内与细胞间网络整合分析!神经网络+细胞通讯,这个单细胞分析工具一箭双雕了(scTenifoldXct)
生信碱移
细胞间-细胞内通讯网络分析
   scTenifoldXct,一种联合了细胞内和细胞间基因网络的盘算工具,使用 scRNA-seq 数据检测细胞间相互作用。
  单细胞 RNA 测序(scRNA-seq)能够以妥当且可重复的方式同时收集数万个细胞的转录组信息。使用 scRNA-seq 数据,可以通过复杂组织中细胞特异性配体-受体(LR)的映射来研究细胞通信网络。不断发展的 scRNA-seq 数据空间已经催生了很多用于发掘细胞间通信信息的盘算工具。然而,在检测结果中获得可靠的统计置信度仍然难以实现。


▲DOI:10.1016/j.cels.2023.01.004。
来得意克萨斯农工大学的研究者开发了一种半监视工具 scTenifoldXct,用于检测配体-受体(LR)介导的细胞间相互作用并绘制细胞通信图,于2023年4月发表于Cell Systems [IF:9.0]。在真实数据集的测试中,scTenifoldXct 方法检测到的相互作用与已有方法具有高度同等性。更紧张的是,scTenifoldXct 展现了其他方法忽略的微弱但具有生物学相关性的相互作用。


▲scTenifoldXct原理示意:scTenifoldXct 方法基于流形对齐,使用 LR 对作为数据间对应关系,将相互作用细胞中表达的配体和受体基因嵌入到统一的潜在空间中。任务损失通过神经网络最小化对应基因之间的间隔,同时保持基因回归网络的布局来实现。。
从功能上讲,scTenifoldXct 是半监视的,因此可以①在有或没有参考 LR 对的环境下使用。除了外部的细胞通讯以外,该软件还联合了细胞内基因网络,以是能够②同时分析细胞间-细胞内的整合网络。不仅如此,scTenifoldXct 还能够③举行差异相互作用分析,比较组织样本之间的细胞间相互作用模式。在举行比较分析时,scTenifoldXct 以整合的方式组合和分析两个样本的数据,而不是分别处理这两个样本,使得分析在检测眇小差异相互作用方面更增强大
本文简要介绍scTenifoldXct的安装使用,感兴趣的铁子可以参考下述链接:

软件安装

① 使用conda创建独立环境scTenifold:
  1. git clone https://github.com/cailab-tamu/scTenifoldXct.git
  2. cd scTenifoldXct
  3. conda env create -f environment.yml
  4. conda activate scTenifold
复制代码
② 安装scTenifoldXct软件,其紧张基于python解释器运行:
  1. pip install git+https://github.com/cailab-tamu/scTenifoldXct.git 
复制代码
细胞通讯分析示例

① 导入相关库:
  1. import scanpy as sc
  2. import scTenifoldXct as st
  3. from scTenifoldXct.visualization import get_Xct_pairs, plot_XNet
  4. import warnings
  5. warnings.filterwarnings("ignore")
复制代码
② 读取示例单细胞数据:
  1. # load scRNA-seq data
  2. adata = sc.read_h5ad('data/adata_short_example.h5ad')
  3. adata
  4. #AnnData object with n_obs × n_vars = 202 × 3000
  5. #    obs: 'nCount_RNA', 'nFeature_RNA', 'patient.id', 'condition', 'ident'
  6. #    layers: 'log1p', 'raw'
复制代码
③ 建立scTenifoldXct对象。注意,此处设置source_celltype与target_celltype两个参数分别指定必要分析的配体细胞与受体细胞,obs_label参数设定注释的列名即adata.obs注释信息的ident列:
  1. # build a scTenifoldXct object, including GRNs
  2. xct = st.scTenifoldXct(data = adata, 
  3.                         source_celltype = 'Inflam. FIB',
  4.                         target_celltype = 'Inflam. DC',
  5.                         obs_label = 'ident',
  6.                         rebuild_GRN = False, # timer
  7.                         GRN_file_dir = 'Net_example',  
  8.                         verbose = True,
  9.                         n_cpus = 8)
  10. #(cell, feature): (121, 3000)
  11. #(cell, feature): (81, 3000)
  12. #selected 107 LR pairs
  13. #load GRN Inflam. FIB
  14. #load GRN Inflam. DC
  15. #build correspondence and initiate a trainer
  16. #scTenifoldXct init completed
复制代码
获得模子嵌入:
  1. # get embeddings
  2. emb = xct.get_embeds(train = True)
  3. emb.shape
复制代码
④ 提取明显的受配体对:
  1. # get significant L-R pairs
  2. xct_pairs = xct.null_test()
  3. xct_pairs
  4. #Total enriched: 27 / 9000000
  5. #ligand receptor dist correspondence p_val enriched_rank
  6. #CCL19_CCR7 CCL19 CCR7 0.000128 589.686707 0.001662 1
  7. #CXCL14_CCR7 CXCL14 CCR7 0.000128 504.256439 0.001684 2
  8. #CCL2_CCR7 CCL2 CCR7 0.000133 334.575897 0.001792 3
  9. #CCL19_CXCR4 CCL19 CXCR4 0.000141 412.651093 0.002101 4
  10. #CXCL14_CXCR4 CXCL14 CXCR4 0.000141 352.868683 0.002114 5
  11. #CCL2_CXCR4 CCL2 CXCR4 0.000146 234.129593 0.002230 6
  12. #CXCL12_CCR7 CXCL12 CCR7 0.000169 300.260742 0.002611 7
  13. #CXCL12_CXCR4 CXCL12 CXCR4 0.000182 210.116516 0.002801 8
  14. #VCAM1_ITGB2 VCAM1 ITGB2 0.000419 65.863914 0.005519 9
  15. #CTGF_ITGB2 CTGF ITGB2 0.000982 28.104105 0.008874 10
  16. #CCL2_TNF CCL2 TNF 0.001712 68.953850 0.012622 11
  17. #CYR61_ITGB2 CYR61 ITGB2 0.002227 18.407639 0.015574 12
  18. #CCL26_CCR7 CCL26 CCR7 0.002398 52.882790 0.016629 13
  19. #CCL26_CXCR4 CCL26 CXCR4 0.002411 37.006329 0.016706 14
  20. #CXCL1_CCR7 CXCL1 CCR7 0.002522 56.795914 0.017351 15
  21. #CXCL1_CXCR4 CXCL1 CXCR4 0.002534 39.744656 0.017410 16
  22. #DCN_VEGFA DCN VEGFA 0.002935 120.561394 0.019466 17
  23. #CCL2_VEGFA CCL2 VEGFA 0.002940 45.123440 0.019535 18
  24. #FGF7_VEGFA FGF7 VEGFA 0.004041 7.320776 0.026219 19
  25. #BMP4_VEGFA BMP4 VEGFA 0.004526 6.237480 0.029334 20
  26. #CXCL2_CCR7 CXCL2 CCR7 0.005031 27.005573 0.032559 21
  27. #CXCL2_CXCR4 CXCL2 CXCR4 0.005043 18.897964 0.032684 22
  28. #CCL19_CCR6 CCL19 CCR6 0.005051 35.079029 0.032802 23
  29. #CXCL14_CCR6 CXCL14 CCR6 0.005052 29.996990 0.032805 24
  30. #CCL2_CCR6 CCL2 CCR6 0.005056 19.903107 0.032870 25
  31. #CXCL12_CCR6 CXCL12 CCR6 0.005084 17.861782 0.033104 26
  32. #CCL26_CCR6 CCL26 CCR6 0.006778 3.145869 0.048953 27
复制代码
⑤ 可视化细胞间-细胞内通讯网络:
  1. # 提取受配体对,看一下前5个
  2. targets = get_Xct_pairs(xct_pairs)
  3. targets[:5]
  4. #(['CCL19', 'CCR7'],
  5. # ['CXCL14', 'CCR7'],
  6. # ['CCL2', 'CCR7'],
  7. # ['CCL19', 'CXCR4'],
  8. # ['CXCL14', 'CXCR4'])
  9. # 可视化第一个受配体对的细胞内-细胞间网络
  10. i = 0
  11. s = xct.plot_pcNet_graph(view='sender', gene_names=[targets[i][0]],
  12.                              top_edges=20, show = False, verbose = True)
  13. t = xct.plot_pcNet_graph(view='receiver', gene_names=[targets[i][1]], 
  14.                              top_edges=20, show = False, verbose = True)
  15. plot_XNet(s, t, gene_pairs = [targets[i]], df_enriched = xct_pairs, show = True, verbose = True)
复制代码


▲ 第一个受配体对网络的结果,展示了CCL19-CCR7及其附属网络。对应的泉源细胞和target细胞为第三步设置参数时选择的细胞。
细胞通讯+细胞类调控网络
一鱼多吃?还是半监视学习
各位佬哥佬姐可以试试

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/) Powered by Discuz! X3.4