{"id":639,"date":"2024-05-07T22:00:31","date_gmt":"2024-05-07T14:00:31","guid":{"rendered":"https:\/\/linguopeng.top\/?p=639"},"modified":"2024-05-07T22:01:28","modified_gmt":"2024-05-07T14:01:28","slug":"%e5%af%b9cd%e6%95%b0%e6%8d%ae%e6%9f%a5%e8%af%a2%e5%af%b9%e5%ba%94kegg%e7%9a%84id%e4%b8%94%e4%b8%8e%e4%bb%96%e8%a1%a8%e5%8f%96%e4%ba%a4%e9%9b%86","status":"publish","type":"post","link":"https:\/\/linguopeng.top\/?p=639","title":{"rendered":"\u5bf9cd\u6570\u636e\u67e5\u8be2\u5bf9\u5e94KEGG\u7684ID\u4e14\u4e0e\u4ed6\u8868\u53d6\u4ea4\u96c6"},"content":{"rendered":"\n<pre class=\"wp-block-code\"><code>library(KEGGREST)\nlibrary(readxl)\nlibrary(tidyverse)\nlibrary(openxlsx)\nlibrary(tidyverse)\nlibrary(magrittr)\n#######\u8bfb\u53d6\u6570\u636e\uff0cmzcloud\u9608\u503c\u5927\u4e8e80\uff0c\nCD_c18_pos&lt;-read_xlsx(\"CD-c18-pos2.1.xlsx\",sheet = \"Compounds\")\nCD_c18_pos &lt;- CD_c18_pos %>%\n  filter(!is.na(`mzCloud Best Match`))  %>%\n  filter(`mzCloud Best Match` > 80) %>%\n  group_by(Name)\nCD_c18_pos_max&lt;- CD_c18_pos %>%\n             summarise_all(max)\nfecal&lt;-CD_c18_pos_max\nfecal$Name &lt;- gsub(\"^\\\\(\\\\+\\\\)-\", \"\", fecal$Name)\nfecal$Name &lt;- gsub(\"^\\\\(\\\\-\\\\)-\", \"\", fecal$Name)\nfecal$Name &lt;- gsub(\"^\\\\(\\\\+\/-\\\\)-\", \"\", fecal$Name)\nfecal$Name &lt;- gsub(\"^\\\\(\\\\+\/-\\\\)\", \"\", fecal$Name)\nfecal$Name &lt;- gsub(\"^\\\\(\\\\\u00b1\/-\\\\)\", \"\", fecal$Name)\nfecal$Name &lt;- gsub(\"^\\\\(\u00b1\\\\)\", \"\", fecal$Name)\nfecal$Name &lt;- gsub(\"\u03b2\", \"beta\", fecal$Name)\nfecal$Name &lt;- gsub(\"\u03b1\", \"alpha\", fecal$Name)\nfecal &lt;- fecal&#91;!grepl(\"^NP-\", fecal$Name), ]\ndim(fecal)\n###########\nget_kegg_id &lt;- function(name) {\n  kegg_id &lt;- tryCatch(\n    {\n      keggFind(\"compound\", name)\n    },\n    error = function(e) {\n      NA\n    }\n  )\n  return(kegg_id) # \u8fd4\u56deKEGG ID\u6216NA\n}\nkegg &lt;- lapply(fecal$Name, get_kegg_id)\nsplit_values &lt;- data.frame(unlist(kegg))\nsplit_values2 &lt;- data.frame(unlist(strsplit(split_values$unlist.kegg., \"; \")))\ncolnames(split_values2)&lt;-\"kegg\"\ndata &lt;- inner_join(fecal, split_values2, by = c(\"Name\" = \"kegg\"))\ndata&lt;-data&#91;,1]\nkegg_ids &lt;- lapply(data$Name, get_kegg_id)\nnew_df&lt;-c()\nfor (i in 1:length(kegg_ids)) {\n  kegg_id &lt;- kegg_ids&#91;&#91;i]]\n  kegg_id_df &lt;- as.data.frame(print(kegg_id))\n  kegg_id_df$name &lt;- row.names(kegg_id_df)\n  name &lt;- row.names(kegg_id_df)\n  colnames(kegg_id_df) &lt;- c(\"kegg_key\", \"cpd\")\n  for (j in 1:nrow(kegg_id_df)) {\n    split_values &lt;- unlist(strsplit(kegg_id_df$kegg_key&#91;j], \"; \"))\n    new_rows &lt;- data.frame(kegg_key = split_values, cpd = kegg_id_df$cpd&#91;j])\n    new_df &lt;- rbind(new_df, new_rows)\n  }\n}\ndf &lt;- unique(new_df&#91;new_df$kegg_key %in% data$Name,])\ncolnames(df)&lt;-c(\"Name\",\"cpd\")\nfecal_kegg&lt;-left_join(df,fecal,by=\"Name\")\ndistinct_fecal_kegg &lt;- distinct(fecal_kegg, Name, .keep_all = TRUE)\ndistinct_fecal_kegg$cpd &lt;- gsub(\"cpd:\", \"\", distinct_fecal_kegg$cpd)\ndim(distinct_fecal_kegg)\n#> dim(distinct_fecal_kegg)\n#&#91;1]  88 100\n#\u5373CD-c18-pos2.1.xlsx\u542bKEGG\u7684ID\u670988\nMetDNA_C18_pos&lt;-read_xlsx(\"MetDNA_C18_pos.xlsx\",sheet = \"MetDNA_C18_pos\")\ndim(MetDNA_C18_pos)\n#> dim(MetDNA_C18_pos)\n#&#91;1] 4489   69\nMetDNA_C18_pos&lt;-  MetDNA_C18_pos %>%\n          filter(`id_kegg` != \"NA\")\ndim(MetDNA_C18_pos)\n#\u53bb\u9664id_kegg\u4e3aNA\u7684\u884c\n#> dim(MetDNA_C18_pos)\n#&#91;1] 4364   69\ninner&lt;-inner_join(distinct_fecal_kegg,MetDNA_C18_pos,by=c(\"cpd\"=\"id_kegg\"))\ndim(inner)\ninner_bijiao&lt;-inner %>% select(Name, name,confidence_level,everything()) \ndim(inner_bijiao)\n#> dim(inner_bijiao)\n#&#91;1]  57 168\ninner_level1&lt;-inner_bijiao&#91;inner_bijiao$confidence_level==\"level1\",]\ndim(inner_level1)\n#> dim(inner_level1)\n#&#91;1]  39 168\nwrite.xlsx(inner_level1,\"inner_level1.xlsx\")\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-639","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/linguopeng.top\/index.php?rest_route=\/wp\/v2\/posts\/639","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linguopeng.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linguopeng.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linguopeng.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/linguopeng.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=639"}],"version-history":[{"count":1,"href":"https:\/\/linguopeng.top\/index.php?rest_route=\/wp\/v2\/posts\/639\/revisions"}],"predecessor-version":[{"id":640,"href":"https:\/\/linguopeng.top\/index.php?rest_route=\/wp\/v2\/posts\/639\/revisions\/640"}],"wp:attachment":[{"href":"https:\/\/linguopeng.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=639"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linguopeng.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=639"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linguopeng.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=639"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}