Skip to content
Prev 19116 / 21312 Next

[Bioc-devel] External software dependencies, bioc builders, and docs maintenance

Hi Vince,

Thanks for the thoughtful reply. I agree about the license in this case
being an issue, too.

I agree having builder images available could be very helpful for dev
purposes. What I have done for my own testing is build a container from the
base bioc docker image and install meme and it's system deps on top of
that, then use this image for testing. My architecture for that has gone a
little stale, but the temporary solution I was planning on was a gh-action
to rebuild weekly after the bioc docker image is built, install a few
different MEME versions, then run some rounds of integration testing across
versions & release/dev branches. I know the bioc docker image isn't a build
system mirror, but it seems to do pretty well for most things. As for the
MEME official docker images, the source for those is closed and I'm not
sure how the images are licensed (I imagine restrictively). This whole
license mess around their tooling was really an oversight on my part. If
this turns out to be incompatible with Bioconductor's principles, I'm happy
to pull the package and host on R-universe.

As for your issues with deps, I don't think I've ever passed all `make
check` or `make test`'s from MEME installs on any system I've tried.
Although the tests I have issue with are ones that check the webserver
utilities, and I just use the binaries on the cli so failing these hasn't
been an issue. There are a series of extra system dependencies needed for
the webserver that are dispensable for the cli to work. In case it helps,
here is the base Dockerfile I use, including some of the cpanm deep magic
required to get the install working & most tests passing:
https://github.com/snystrom/bioconductor_docker_meme/blob/master/Dockerfile.

Finally, to your point about integration testing, I completely agree. For
what it's worth, I only skip tests on builders that call out to the MEME
binaries (this is implemented by skipping if the package can't detect a
local meme install, so should that resolve on builders, the tests will
auto-enable). I packaged a lot of pre-generated results so that I can run
as many unit & integration tests as possible that don't require actually
running MEME tools, but this too has its shortcomings.

Best,
  -Spencer

On Sat, Aug 13, 2022 at 6:44 AM Vincent Carey <stvjc at channing.harvard.edu>
wrote: