Cytoscape绘制相关网络图
2020-02-28 本文已影响0人
胡童远
导读
用R软件corr.test函数进行两组数组的相关性分析,用Cytoscape绘制相关网络图。
一、输入数据
示例数据代谢数据:metabo.txt
示例数据16S数据:genus.txt
二、R分析相关性
计算genus和metabo相关性
利用psych函数包中的corr.test函数计算两组数据之间的相关性
参数说明:
pairwise: 样品配对剔除
use: 相关性计算方法pearson/spearman/kendall
adjust: 矫正方法
ci & alpha: 置信区间
minlength: 缩写长度
# 加载函数包
library(psych)
# 数据导入
genus=read.table("genus.txt", row.names=1, header=T, sep="\t")
metabo=read.table("metabo.txt", row.names=1, header=T, sep="\t")
# 计算相关性: print & data.frame调整结果格式
result_pair=data.frame(print(corr.test(genus, metabo, use="pairwise", method="spearman", adjust="fdr", alpha=.05, ci=TRUE, minlength=10), short=FALSE))
# 查看结果
head(result_pair)
三、整理分析结果
pair=rownames(result_pair) # 行名
result_pair2=data.frame(result_pair[, c(2, 4)], pair) # 提取信息
# P值排序
result_pair3=data.frame(result_pair2[order(result_pair2[,"raw.p"], decreasing=F),])
# 统计显著相关的数量
n=0
for(i in 1:nrow(result_pair3))
{
if(result_pair3[i, 2]<=0.05)
{
n=n+1
}
}
# n=71
# 提取显著相关结果
result_pair4=result_pair3[result_pair3$raw.p<=0.05, ]
# 保存提取的结果
write.table(result_pair4, file="corr.txt", sep="\t", row.names=F, quote=F)
查看结果:相关性大于在[-1, 1]之间,绝对值越接近1表示相关性越强
corr.txt四、准备Cytoscape输入文件
相关数据:input_network.txt
用vlookup把genus和keggID换成具体的名称;正相关标记为pos,负相关标记为neg,r值去掉正负。
分组数据:input_group.txt
五、Cytoscape数据导入
- 1 打开cytoscape3.5.1
- 2 点击With Empty Network
- 3 输入network name,点击OK
- 4 导入相关数据
- 5 以genus为source node,kegg为target,点击OK
- 6 导入分组文件:打开,OK
六、Cytoscape图形设置
1 设置图形大小、线条粗细
显著相关越多,图形越大;相关性越强线条越粗
选中所有点 依次点击 依次点击,X掉最后的窗口 依次点击 依次选择、点击 搞定图形大小、线条粗细2 设置图形颜色
3 设置线条颜色
七、保存结果
保存:整个工作
结果示例保存:pdf或png
参考:
微生物研究必备:Cytoscape绘制网络图(一)
微生物研究必备:Cytoscape绘制网络图(二)
微生物研究必备:Cytoscape绘制网络图(三)
微生物研究必备:Cytoscape绘制网络图(四)
微生物研究必备:Cytoscape绘制网络图(五)