[BioC] graph::edgeMatrix() fails for signature(object="graphBAM")

Paul Shannon paul.thurmond.shannon at gmail.com
Thu Jul 18 15:35:10 CEST 2013


Hi Robert,

Your fix is now in release as well, graph 1.38.3.

Many thanks,

 - Paul

On Jul 16, 2013, at 7:46 AM, Robert Castelo wrote:

> hi Paul,
> 
> the devel version seems to build smoothly, could you push the fix to release?
> 
> thanks!
> robert.
> 
> On 07/08/2013 06:30 AM, Paul Shannon wrote:
>> Hi Robert,
>> 
>> I just added your suggested code to the devel version of methods-graphBAM.R, along with a unit test which first reproduced the bug your found -- and which now testifies to its resolution with your fix in place.
>> 
>> Out of what may be an excess of caution on my part, I will wait a couple of days to see the devel build complete,  before adding your bug fix to release.
>> 
>> Many thanks for helping out.  We are grateful.
>> 
>>  - Paul
>> 
>> On Jul 4, 2013, at 12:02 AM, Robert Castelo wrote:
>> 
>>> hi Paul, just in case it helps, the current definition of the edgeMatrix() method for 'graphBAM' is:
>>> 
>>> setMethod("edgeMatrix", "graphBAM",
>>>          function (object, duplicates = FALSE) {
>>>            bitvec<- object at edgeSet@bit_vector
>>>            nds<- nodes(object)
>>>            df<- .Call(graph_bitarray_rowColPos, bitvec)
>>>            t(df)
>>>          })
>>> 
>>> so clearly the argument 'duplicates' is not taken into account, i believe a possible fix could be the following:
>>> 
>>> setMethod("edgeMatrix", "graphBAM",
>>>          function(object, duplicates=FALSE) {
>>>            bitvec<- object at edgeSet@bit_vector
>>>            nds<- nodes(object)
>>>            df<- .Call(graph_bitarray_rowColPos, bitvec)
>>>            if (duplicates)
>>>              df<- rbind(df, cbind(as.vector(df[, "to"]),
>>>                          as.vector(df[, "from"])))
>>>            t(df)
>>>          })
>>> 
>>> 
>>> cheers,
>>> robert.
>>> 
>>> On 07/04/2013 04:59 AM, Paul Shannon wrote:
>>>> Hi Robert,
>>>> 
>>>> Thanks for your clear bug report.  I will take a look at this over the upcoming weekend.
>>>> 
>>>>  - Paul
>>>> 
>>>> On Jul 3, 2013, at 7:17 AM, Robert Castelo wrote:
>>>> 
>>>>> hi,
>>>>> 
>>>>> i have come across the following problem with the graph::edgeMatrix() function when the input object is a 'graphBAM' object:
>>>>> 
>>>>> library(graph)
>>>>> g<- graphBAM(data.frame(from="1", to="2", weight=1))
>>>>> 
>>>>> edgeMatrix(g, duplicates=FALSE)
>>>>>     [,1]
>>>>> from    1
>>>>> to      2
>>>>> edgeMatrix(g, duplicates=TRUE) ## here is the problem !!
>>>>>     [,1]
>>>>> from    1
>>>>> to      2
>>>>> edgeMatrix(as(g, "graphNEL"), duplicates=TRUE) ## but here works !!
>>>>>     [,1] [,2]
>>>>> from    1    2
>>>>> to      2    1
>>>>> 
>>>>> 
>>>>> note that when coercing 'g' to a 'graphNEL' object, then it works as expected.
>>>>> 
>>>>> 
>>>>> thanks!!
>>>>> robert.
>>>>> ps: sessionInfo()
>>>>> R version 3.0.0 (2013-04-03)
>>>>> Platform: x86_64-unknown-linux-gnu (64-bit)
>>>>> 
>>>>> locale:
>>>>> [1] LC_CTYPE=en_US.UTF8       LC_NUMERIC=C
>>>>> [3] LC_TIME=en_US.UTF8        LC_COLLATE=en_US.UTF8
>>>>> [5] LC_MONETARY=en_US.UTF8    LC_MESSAGES=en_US.UTF8
>>>>> [7] LC_PAPER=C                LC_NAME=C
>>>>> [9] LC_ADDRESS=C              LC_TELEPHONE=C
>>>>> [11] LC_MEASUREMENT=en_US.UTF8 LC_IDENTIFICATION=C
>>>>> 
>>>>> attached base packages:
>>>>> [1] stats     graphics  grDevices utils     datasets  methods   base
>>>>> 
>>>>> other attached packages:
>>>>> [1] graph_1.38.2   vimcom_0.9-8   setwidth_1.0-3 colorout_1.0-0
>>>>> 
>>>>> loaded via a namespace (and not attached):
>>>>> [1] BiocGenerics_0.6.0 parallel_3.0.0     stats4_3.0.0       tools_3.0.0
>>>>> 
>>>>> _______________________________________________
>>>>> Bioconductor mailing list
>>>>> Bioconductor at r-project.org
>>>>> https://stat.ethz.ch/mailman/listinfo/bioconductor
>>>>> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor
>>>> 
>>>> 
>>> 
>>> --
>>> Robert Castelo, PhD
>>> Associate Professor
>>> Dept. of Experimental and Health Sciences
>>> Universitat Pompeu Fabra (UPF)
>>> Barcelona Biomedical Research Park (PRBB)
>>> Dr Aiguader 88
>>> E-08003 Barcelona, Spain
>>> telf: +34.933.160.514
>>> fax: +34.933.160.550
>>> 
>>> _______________________________________________
>>> Bioconductor mailing list
>>> Bioconductor at r-project.org
>>> https://stat.ethz.ch/mailman/listinfo/bioconductor
>>> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor
>> 
>> 
> 
> -- 
> Robert Castelo, PhD
> Associate Professor
> Dept. of Experimental and Health Sciences
> Universitat Pompeu Fabra (UPF)
> Barcelona Biomedical Research Park (PRBB)
> Dr Aiguader 88
> E-08003 Barcelona, Spain
> telf: +34.933.160.514
> fax: +34.933.160.550
> 
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at r-project.org
> https://stat.ethz.ch/mailman/listinfo/bioconductor
> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor



More information about the Bioconductor mailing list