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

有人不喜欢空谈理论,喜欢 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代码很简单吧?如果你看不懂这两个脚本,那基础知识还得加强,这是入门级的哈,可以考虑加入粉丝群讨论。

粉丝福利

学生信,计算机基础一定要好。毫不夸张地说,计算机基础决定了你能否入门,而生物学修养决定你能走多远。没有出发,如何走得远?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值