1

I'm trying to debug the cosmo R package because I'm trying to find out where all the motifs are. I display some of them printing the "motif" variable but I don't know how to show all of the found motifs in one run.

http://www.bioconductor.org/packages/2.10/bioc/html/cosmo.html

I think that they must be in line 366 in "sites" variable in cosmo.R:

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))

But when I try to debug it I need first to load the cosmo library, then read the data and then run cosmo:

library(cosmo)
seqal <- system.file("Exfiles/short702k.FASTA", package="cosmo")
res <- cosmo(seqs=seqal, constraints="None", minW=10, maxW=10, models="TCM" )

For debugging line 366 I think I should:

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" )

But I don't get any value of any variable..

And it doesn't seem to be the easiest way to get the sites variable values..

4

1 に答える 1

1

setBreakpoint関数がロードされた R コードをデバッグするためのsourceものです。mysource.R が 2 行目で関数がf定義されたソース ファイルである場合、

source('mysource.R')
setBreakpoint('mysource.R', 2)

fは、 2 行目で定義された関数の先頭にブレークポイントを設定します。 の呼び出しは の呼び出しlibrary(cosmo)と同じではないsource('cosmo.R')ため、 への呼び出しはsetBreakpointおそらく「ソース参照が見つかりません」というメッセージを表示します。

cosmoで定義された関数の特定の行にブレークポイントを設定する場合は、次cosmo.Rを使用します。

library(cosmo)
trace(cosmo, at=line.no)

ここline.noで、 は の定義の開始を基準とした行番号ですcosmountraceブレークポイントをオフにします。

于 2012-10-03T16:07:09.753 に答える