0

我有一个脚本,在该脚本中,我正在运行一个来自包的命令:来自 ensembldb 包的 proteinToGenome()。

我使用for () {}结构迭代地运行命令,并且在每次迭代时,它将返回更多的“进度”消息,无论命令的成功/失败如何输出,而不是警告消息:

Checking CDS and protein sequence lengths ... 1/1 OK

Fetching CDS for 1 proteins ... 1 found

或者:

Fetching CDS for 1 proteins ... 1 found

Checking CDS and protein sequence lengths ... 0/0 OK

如何抑制这些消息?我发现的其他问题似乎不适用于这些问题,他们的解决方案似乎也无法阻止这些问题。我已经尝试了以下所有解决方案:

抑制函数的输出

我累了:

capture.output(for (x in length(DF)) { 
        OutputDF <- function(DF[x])
})

和:

sink(for (x in length(DF)) { 
        OutputDF <- function(DF[x])
})

也试过:

hush=function(code){
  sink("NUL") # use /dev/null in UNIX
  tmp = code
  sink()
  return(tmp)
}
hush(for (x in length(DF)) { 
        OutputDF <- function(DF[x])
})

另外,我使用 for 和 not 的原因lapply()是因为我检查了是否为空,并在循环OutputDF中使用if(){}else{}命令相应地采取措施for(){}

4

1 回答 1

1

怎么样:

suppressMessages(proteinToGenome(...))

您在模型中使用的参数替换的位置...

于 2022-01-24T18:14:48.897 回答