zimoun <zimon.touto...@gmail.com> writes:
> First, note that annotations do not have Git repo; at least not always, > e.g., > > <https://bioconductor.org/packages/release/data/annotation/html/GenomeInfoDbData.html> That’s fine. We just ignore annotation and experiment packages, and use git only for regular packages. > Second, if we go for something like: > > (define* (bioconductor-git-reference name #:optional > (release %bioconductor-version)) > "Return a <git-reference> for the R package archive on Bioconductor for the > RELEASE corresponding to NAME." > (git-reference > (url (string-append %bioconductor-git-url name)) > (commit (string-append "RELEASE_" (string-replace-substring > %bioconductor-version "." "_"))))) > > > then, it raises the question: import/cran.scm or build-system/r.scm ? > i.e., do we put a module dependency against (guix git-download) for the > r-build-system or not? > > TeXLive already has a dependency to svn-download, so why not. Yes, I don’t think that’s a problem. We probably should *not* use RELEASE_3_14 (or whatever) as the commit, though, because that is a moving target. We need to resolve to the actual commit and use its hash. I wonder how the updater would need to be changed. It would need to know about the release branch and look for new commits in that branch only. > Well, I am also in favor to break the API and move %bioconductor-version > and %bioconductor-url to (guix build-system r). WDYT? It would > simplify some things (#36805 and #39885), I guess. We tried this before and we couldn’t do this because of a circular reference. > Back to CHETAH, note that > > guix import cran -a git htpps://git.bioconductor.org/CHETAH > > works but it points to master instead of RELEASE_3_14. Well, I am not > very familiar with the Bioconductor workflow for their release. That’s because the importer doesn’t let us specify a different branch. We should add that, but it’s strictly separate from the migration we’re about to embark on. > Last, using this in gnu/packages/bioconductor.scm, > > (define-public r-chetah > (package > (name "r-chetah") > (version "1.11.2") > (source > (origin > (method git-fetch) > (uri (bioconductor-git-reference "CHETAH")) > (file-name (git-file-name name version)) > (sha256 > (base32 "021v5831zqdy4pirfsb35kbnz8kmz4lxqc4cwi55qgd6r081xlgh")))) > (properties `((upstream-name . "CHETAH"))) > (build-system r-build-system) > (propagated-inputs > (list r-biodist > r-corrplot > r-cowplot > r-dendextend > r-ggplot2 > r-gplots > r-pheatmap > r-plotly > r-reshape2 > r-s4vectors > r-shiny > r-singlecellexperiment > r-summarizedexperiment)) > (native-inputs (list r-knitr)) > (home-page "https://git.bioconductor.org/packages/CHETAH") > (synopsis "Fast and accurate scRNA-seq cell type identification") > (description > "CHETAH (CHaracterization of cEll Types Aided by Hierarchical > classification) is > an accurate, selective and fast scRNA-seq classifier. Classification is > guided > by a reference dataset, preferentially also a scRNA-seq dataset. By > hierarchical clustering of the reference data, CHETAH creates a classification > tree that enables a step-wise, top-to-bottom classification. Using a novel > stopping rule, CHETAH classifies the input cells to the cell types of the > references and to \"intermediate types\": more general classifications that > ended > in an intermediate node of the tree.") > (license #f))) > > it just builds with, > > ./pre-inst-env guix build r-chetah > > > > WDYT? Neat :) -- Ricardo