前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >项目实战代码:TCGA 20 条肿瘤信号通路整理

项目实战代码:TCGA 20 条肿瘤信号通路整理

作者头像
简说基因
发布2022-11-11 16:13:34
3300
发布2022-11-11 16:13:34
举报
文章被收录于专栏:简说基因简说基因

有人不喜欢空谈理论,喜欢 show me the code,好吧,今天就分享肿瘤项目实战中用到的两个脚本,完全免费。

背景知识

本文以分享代码为主,不过多涉及背景方面的知识,不太清楚的朋友可以自行查阅相关资料了解。这里只简单说下,TCGA 的 20 条肿瘤信号通路,分为两类:

  • 一类是有丝分裂相关的,有 10 条。
  • 一类是 DNA 损伤修复相关的,有 10 条。

通路与基因的对应关系列表,网上论文中可以下载到,但会发现,信息很乱。现在想知道,每个通路里到底有哪些基因,下面分享的两个脚本能够回答这个问题。

脚本一:get_pathway_gene_mit.py

这个脚本把 TCGA 10 条有丝分裂相关的信号通路中的基因提取出来,保存到一个json文件中。

源代码

import sys
import json
import pandas as pd
from collections import OrderedDict

pathway_ten_fn = "TCGA_10_Oncogenic_Pathway.tsv"
pathway_mitosis = "pathway_mit.json"
# TCGA 10条肿瘤通路基因
df_ten = pd.read_table(pathway_ten_fn)

ptw = OrderedDict()
for i, r in df_ten.iterrows():
    g = r['Gene']
    p = r['Pathway']
    p = 'MIT_' + p.replace('-', '_')
    # 如果通路名没有在字典中,则将通路名放入字典,将第一个基因放入列表
    if p not in ptw:
        ptw[p] = []
    # 如果通路名已经在字典中了,则将基因名附加到列表后,最终将通路与基因在字典中关联起来
    ptw[p].append(g)

with open(pathway_mitosis, 'w') as fh:
    json.dump(ptw, fh, indent = 4)

使用方法

将上面的代码保存到脚本get_pathway_gene_mit.py中,然后在终端运行以下命令:

python get_pathway_gene_mit.py

完成后,通路与基因的对应关系就保存到pathway_mit.json中了。

脚本二:get_pathway_gene_ddr.py

这个脚本把 TCGA 10 条 DNA 损伤修复相关的信号通路中的基因提取出来,保存到一个json文件中。

源代码

import sys
import json
import pandas as pd
from collections import OrderedDict

pathway_ddr_fn = "TCGA_DDR_276_Gene_Pathway.xlsx"
pathway_json = "pathway_ddr.json"

# TCGA DDR 276个基因
df_ddr = pd.read_excel(pathway_ddr_fn, skiprows = 3)

ptw = OrderedDict()
for i, r in df_ddr.iterrows():
    g = r['gene']
    pws = r['DDR Pathway'].split(',')
    for p in pws:
        p = 'DDR_' + p
        if p not in ptw:
            ptw[p] = []
        ptw[p].append(g)

with open(pathway_json, "w") as fh:
    json.dump(ptw, fh, indent = 4)

使用方法

将上面的代码保存到脚本get_pathway_gene_ddr.py中,然后在终端运行以下命令:

python get_pathway_gene_ddr.py

完成后,通路与基因的对应关系就保存到pathway_ddr.json中了。

最后总结

两个脚本主要用到了三个Python库:

  • json
  • pandas
  • collections

Python代码很简单吧?如果你看不懂这两个脚本,那基础知识还得加强,这是入门级的哈。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-07-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 简说基因 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景知识
  • 脚本一:get_pathway_gene_mit.py
    • 源代码
      • 使用方法
      • 脚本二:get_pathway_gene_ddr.py
        • 源代码
          • 使用方法
          • 最后总结
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档