我有一个SBML 文件,其中包含一系列生化反应的详细信息。每个反应都有一组反应物(代谢物)。我的目标是获取每个反应的反应物列表。我可以手动访问反应物列表,如下所示。
library(SBMLR)
currentFile = readSBML("Sample.xml")
currentReactants = currentFile$reactions$R_DM_4CRSOL$reactants
这里R_DM_4CRSOL是第一个反应的名称。每次我想获取反应物列表时,我都需要指定反应 ID。但问题是我有 2700 个反应,我需要自动化这个过程。我尝试将 ReactioinID 分配给一个变量并执行如下命令。但它不起作用如下。
a = "R_DM_4CRSOL"
b = currentFile$reactions$a$reactants
最后我想到了为每个反应创建一个可执行命令的字符串。我能够创建字符串,但我不知道如何执行它。我尝试使用 sys 但它给了我如下警告。
a = "$R_DM_4CRSOL"
b = paste("currentFile$reactions",a,"$reactants",sep="")
d = system(b)
警告消息:运行命令 'currentFile$reactions$R_DM_4CRSOL$reactants' 的状态为 127
有人可以告诉我如何实现这一目标吗?先感谢您。