Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

improve "third party code" section #45

Open
vjcitn opened this issue Dec 11, 2021 · 1 comment
Open

improve "third party code" section #45

vjcitn opened this issue Dec 11, 2021 · 1 comment

Comments

@vjcitn
Copy link
Contributor

vjcitn commented Dec 11, 2021

The term "third party code" is somewhat vague. We are seeing submissions that attempt to redistribute
standalone binaries in the package, and I don't know that we have a specific policy on this. I don't like
it, but it seems it will be effective in certain circumstances. I think we should state that the redistribution of
binaries can be allowed with explicit licensing for redistribution included with the package; package must
meet all size requirements with the included binaries, and should be checkable on all three platforms.

Another way to handle a binary is to include code for platform-specific installation of the binary in BiocFileCache?

This is coming up in connection with a prospective submission https://github.com/neurogenomics/MAGMA_Celltyping/blob/bschilder_dev/DESCRIPTION ... which would like to redistribute https://ctg.cncr.nl/software/magma.

@vjcitn
Copy link
Contributor Author

vjcitn commented Dec 11, 2021

One question is whether one could think of "Depends/Imports" relationships as use of third-party code. Do we have suggestions on controlling dependencies in this document system? In response to one question about avoiding dependence on minfi to get 450k annotation I proposed

get450kAnno = function() {
  ca = BiocFileCache::BiocFileCache()
  q = BiocFileCache::bfcquery(ca, "450kanno.ilmn12.hg19")
  if (length(q$rpath)>0) return(readRDS(rev(q$rpath)[1])) # if multiple, use last
  if (!requireNamespace("minfi")) stop("install the minfi package to use this function")
  anno = minfi::getAnnotation("IlluminaHumanMethylation450kanno.ilmn12.hg19")
  tf = tempfile()
  saveRDS(anno, tf)
  BiocFileCache::bfcadd(ca, rname="IlluminaHumanMethylation450kanno.ilmn12.hg19", fpath=tf,
    action="move")  # for future
  anno
}

Better to import BiocFileCache than minfi. This might be a basis for a suggestion of somewhat broader scope.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant