duncantl/CodeDepends

The graph package moved from suggests to imports.

wlandau opened this issue · 10 comments

The graph package was removed from CRAN, so I do not think the strict dependency bodes well for reverse dependencies such as drake. Unless graph will reappear on CRAN. Do you think that is likely to happen, or will Bioconductor remain the primary/only destination for releases?

It may be within the rules, but I worry that it will create extra friction during installation for CodeDepends and all its reverse dependencies. For me, devtools::install_github("duncantl/CodeDepends") failed because I did not have graph installed. I think this is related to r-lib/devtools#700. Does graph really need to be in Imports:? If so, what about adding a blank biocViews: field to the DESCRIPTION? (from this post).

Moving to igraph would also fix #25. Maybe I can help. What is the compilation error exactly? What platform do you use?

For this release I've cleaned up the import to clobber the warnings but haven't made the jump to igraph. If you're still interested/willing to help I'd like to explore that further and see how close it could come to a drop-in replacement.

Which functions require graph? Any besides makeCallGraph(), makeVariableGraph(), and makeTaskGraph()? If not, would it be enough for now to move graph to Suggests: and check for it in those functions (with instructions to install from Bioconductor if graph is not found)?

I am still interested in helping to make the transition to igraph, and this first step seems like a good way to work up to an understanding of the internals.

I understand. I have been using CodeDepends exclusively for getInputs(), so I did not know just how central the other functionality was.

dgkf commented

Hey @gmbecker - this dependency recently caused a bit of friction when trying to roll out scriptgloss.

As a stop-gap measure, the recommended installation is through BiocManager - that method was new to me and might be a barrier to adoption for those more accustom to the usual devtools practices. Furthermore, BiocManager seems to be only available for R >=3.5.0 and I'd really like to make my package available for all R versions for which shiny is available (R >= 3.0.2)- or at least support it as far back as possible.

I would certainly support a move to igraph to lower this installation barrier. I'm sure there are plenty of other considerations as to which package was chosen, but this was the sticking point from my perspective. I hope it adds to the discussion.