我正在尝试调试cosmo
R包,因为我试图找出所有主题的位置。
我显示其中一些打印“motif”变量,但我不知道如何在一次运行中显示所有找到的图案。
http://www.bioconductor.org/packages/2.10/bioc/html/cosmo.html
我认为它们必须在cosmo.R中的“sites”变量中位于第366行:
for (i in 1:com$selNumSites){
site <- seqMat[com$alignStarts[i]:(com$alignStarts[i]+com$selWidth-1),
com$alignSeqs[i]]
sites <- c(sites, toString(site))
但是当我尝试调试它时,首先需要加载cosmo库,然后读取数据然后运行cosmo:
library(cosmo)
seqal <- system.file("Exfiles/short702k.FASTA", package="cosmo")
res <- cosmo(seqs=seqal, constraints="None", minW=10, maxW=10, models="TCM" )
对于调试行366,我认为我应该:
library(cosmo)
seqal <- system.file("Exfiles/short702k.FASTA", package="cosmo")
setBreakpoint("cosmo.R",366)
res <- cosmo(seqs=seqal, constraints="None", minW=10, maxW=10, models="TCM" )
但我没有得到任何变量的值..
它似乎不是获取网站变量值的最简单方法..
答案 0 :(得分:1)
setBreakpoint
用于调试使用source
函数加载的R代码。如果mysource.R是某个源文件,其中第2行定义了函数f
,那么
source('mysource.R')
setBreakpoint('mysource.R', 2)
会在第2行定义的函数f
的开头设置断点。调用library(cosmo)
与调用source('cosmo.R')
不同,因此您调用{{1}可能会给你一个消息'找不到源代码'。
如果要在setBreakpoint
中定义的cosmo
函数的特定行设置断点,请使用
cosmo.R
其中library(cosmo)
trace(cosmo, at=line.no)
是相对于line.no
定义开头的行号。 cosmo
关闭了断点。