前一篇推送为大家解读了2019年发表的PNAS文章,介绍了如何利用两组时间序列转录组数据构建特定的基因共表达网络以及利用这个网络可以得到哪些信息。
这一期推送聚焦于具体的分析过程,以github上的示例数据为例演示构建该网络的过程。
一 软件下载
Fig 1
Fig 2
Github地址https://github.com/petitmingchang/TO-GCN (Fig 1)
该软件支持Mac、Windows、Linux,演示在Linux中进行。
直接git clone https://github.com/petitmingchang/TO-GCN.git 下载即可
下载后可以看到里面一共三个脚本(Fig 2):Cutoff.cpp-GCN.cpp-TO-GCN.cpp,依次运行即可。
二 测试数据
Fig 3
测试数据说明:所有基因(25489个)包含TF基因(1718个)和纯基因(23771个),有n个时间点
测试数据提供的输入文件有三个
1-All_genes_25489.tsv:第一列是所有基因的id,前1718行是TF基因,后面是纯基因id,从第二列开始是condition1的n个时间点表达量(作者用的RPKM),列完condition1的从n+2列开始时condition2的n个时间点,由于测试数据作者在condition1和2共用的T0时间点,所以T0的RPKM出现了两次。
2-TFs_1718.tsv: 相当于All_genes_25489.tsv文件的前1718行。
3-seeds.txt:指定一个种子节点(初始节点),需要满足在condition1和2中均第一个阶段表达最高,后面的阶段单调递减。
种子节点是为了计算时序。
三 构建TO-GCN
Step1-Cutoff: Determining the cutoff values
Fig 4
Fig 5
第一步即定义共表达相关系数的阈值。
运行Cutoff 脚本(Fig 4),需要给定四个参数:condition1的样本数、condition2的样本数、TF基因的表达矩阵、所有基因的表达矩阵,两个表达矩阵均用tab分隔
运行后会计算两种条件下TF基因和所有基因间的皮尔森相关系数(Pearson’s Correlation Coefficients, PCC),利用所有的PCC生成概率密度函数(Probability Density Function, PDF)和累积密度函数(Cumulative Density Function, CDF)的分布(Fig 5),根据CDF可以生成建议每个条件的正和负截止值,以满足p < 0.05。
Step2-GCN: Constructing eight GCNs for different types
Fig 6
第二步即构建8个共表达网络(C1+C2+, C1+C20, C1+C2–, C10C2+ C1–C2+, C1–C2–, C1–C20, C10C2–)
八个GCN的输出文件以逗号分隔的值(.csv)格式列出。五列分别表示TF基因ID、共表达类型、基因ID、条件1下的PCC、条件2下的PCC。
Step3-TO-GCN: Determining time-ordered level in the interesting GCN
Fig 7
第三步即确定感兴趣的GCN中节点的时间顺序。
时间顺序由广度优先搜索算法(BFS)分配,需要指定一个种子节点,种子节点需满足在condition1和2中均第一个阶段表达最高,后面的阶段单调递减。
在测试数据中,作者选择Zm00001d041056基因,运行TO-GCN程序,分配C1+C2+ GCN中节点的时间顺序(级别)。因此,我们只需要condition1 和condition2 的正截止值和另外两个参数,分别表示种子节点基因ID和共表达类型(0、1或2),其中0、1和2分别表示C1+C2+、C1+C20和C10C2+
每个节点的级别和GCN(从step2获得)都可以导入到Cytoscape中构建网络。
至此,TO-GCN的所有流程完成,后面可以利用Cytoscape等软件构建网络。
四 网络可视化
Fig 8
Fig 9
Fig 10
因为我们是一个没有方向的网络,所以TF指定为source node,gene指定为target node即可。点击OK后会构建出该网络,展示出所有节点和边(Fig 8-10)。
Fig 11
Analyze Network可以计算该网络的度等信息(Fig 11)。
Fig 12
Fig 13
为了展示转录因子的时序信息,我们可以再把TF的level导入进去,然后根据level进行分组(Fig 12-13)。
Fig 14
最后手动调整即可做出文章中的转录因子时序网络 (Fig 14)。
我们在这里只展示了Cytoscape一点点最基本的功能,它有非常丰富的功能有待我们去探索。
本文使用 文章同步助手 同步