启明办公

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
楼主: 宏发饰业

R语言获取人类KEGG通路的所有基因或代谢物

[复制链接]

2

主题

5

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2023-1-16 17:48:35 | 显示全部楼层
谢谢大佬[调皮][调皮][调皮]学到啦
回复

使用道具 举报

3

主题

9

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2023-1-16 17:48:46 | 显示全部楼层
请问大佬知道怎么利用代谢物基因在单细胞转录组数据上降维聚类细胞群吗?就是用代谢物基因取代所有基因进行umap
回复

使用道具 举报

0

主题

4

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2023-1-16 17:49:07 | 显示全部楼层
不是大佬,不用这样叫我[捂脸]。没做过单细胞转录组,不清楚怎么分析。
回复

使用道具 举报

4

主题

9

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2023-1-16 17:49:12 | 显示全部楼层
好的 大佬[赞同]
回复

使用道具 举报

1

主题

5

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2023-1-16 17:49:44 | 显示全部楼层
求教大神:输出图3那种表格样式的话,循环语句应该怎么写[可怜]
回复

使用道具 举报

2

主题

4

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2023-1-16 17:50:07 | 显示全部楼层
将代谢物名称、ID、通路名称和ID各设为四个vector,最外层的for循环是相同的,里面的if语句也是这两种情况。当hsa_compound的长度大于0时,使用for循环分别提取代谢物名称和ID,hsa_compound的长度是多少,通路名和ID就重复几次(写在提取代谢物名称和ID的for循环外)。当hsa_compound的长度等于0时,通路名和ID只重复一次,代谢物名称和ID用NA填充。最后在最外层for循环外面将四个character类型的变量cbind成一个数据框。
回复

使用道具 举报

2

主题

7

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2023-1-16 17:50:25 | 显示全部楼层
pathID <- vector()
path_name <- vector()
cpd <- vector()
cpd_name <- vector()

for (i in 1:nrow(hsa_path)){
  hsa_info <- keggGet(hsa_path[i,"pathID"])
  hsa_compound <- hsa_info[[1]]$COMPOUND

  if(length(hsa_compound)>0){
    for (j in 1:length(hsa_compound)){
      pathID <- rbind(pathID,hsa_path[i,"pathID"])
      path_name <-rbind(path_name,hsa_info[[1]]$NAME)
    }
   
    for (k in 1:length(hsa_compound)){
      cpd <- rbind(cpd,names(hsa_compound)[k])
      cpd_name <-rbind(cpd_name,as.character(hsa_compound)[k])
    }
  }
  
  if(length(hsa_compound)==0){
    pathID <- rbind(pathID,hsa_path[i,"pathID"])
    path_name <-rbind(path_name,hsa_info[[1]]$NAME)
    cpd <- rbind(cpd,NA)
    cpd_name <-rbind(cpd_name,NA)
  }
}

kegg_meta<-cbind(pathID,path_name,cpd,cpd_name)
colnames(kegg_meta)<-c("Pathway_ID","Pathway_Name","Compound_ID","Metabolism_Name")
回复

使用道具 举报

0

主题

7

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2023-1-16 17:50:45 | 显示全部楼层
KEGG的API好像更新了,我的R包现在连接不了,没办法验证你的代码,代码私发给你
回复

使用道具 举报

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2023-1-16 17:51:32 | 显示全部楼层
想请问一下,我的KEGGREST包老是出现以下问题,在使用KEGGGet的时候Error in curl::curl_fetch_memory(url, handle = handle) :
  Recv failure: Connection was aborted
在使用KEGGlink的时候
Error in curl::curl_fetch_memory(url, handle = handle) :
  Failure when receiving data from the peer
[大哭][大哭][大哭]
回复

使用道具 举报

1

主题

3

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2023-1-16 17:52:28 | 显示全部楼层
卸载KEGGREST包,重新安装devtools::install_github("Bioconductor/KEGGREST")
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|天恒办公

Copyright © 2001-2013 Comsenz Inc.Template by Comsenz Inc.All Rights Reserved.

Powered by Discuz!X3.4

快速回复 返回顶部 返回列表