Skip to content

Commit

Permalink
add r-archr (#51295)
Browse files Browse the repository at this point in the history
* add r-archr

* add build.sh

* skip build lint

* use release; reset build; apply patch

* add 0001-cap-threads.patch

* patch name

* no win

* r 4.1 only; tidy quotes

* no stdlib func

* lint

* drop bin patch

* squash patch
  • Loading branch information
mfansler authored Oct 14, 2024
1 parent d4726c0 commit 984b675
Show file tree
Hide file tree
Showing 3 changed files with 155 additions and 0 deletions.
3 changes: 3 additions & 0 deletions recipes/r-archr/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash
export DISABLE_AUTOBREW=1
${R} CMD INSTALL --build . ${R_ARGS}
116 changes: 116 additions & 0 deletions recipes/r-archr/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
{% set version = '1.0.2' %}
{% set github = 'https://github.com/GreenleafLab/ArchR' %}
{% set posix = 'm2-' if win else '' %}

package:
name: r-archr
version: {{ version|replace('-', '_') }}

source:
url: {{ github }}/archive/refs/tags/v{{ version }}.tar.gz
sha256: afe4d82975e9d75018e9ec9fda3d116f34f99ad1d45990cbc5a2be7dea8df352
patches:
- patches/0001-cap-threads.patch

build:
number: 0
rpaths:
- lib/R/lib/
- lib/
run_exports:
- {{ pin_subpackage('r-archr', max_pin='x.x') }}

requirements:
build:
- cross-r-base {{ r_base }} # [build_platform != target_platform]
- {{ compiler('c') }}
- {{ compiler('cxx') }}
host:
- r-base =4.1
- bioconductor-biocgenerics
- bioconductor-biostrings
- bioconductor-chromvar
- bioconductor-complexheatmap
- bioconductor-genomicranges
- bioconductor-motifmatchr
- bioconductor-rhdf5
- bioconductor-rsamtools
- bioconductor-s4vectors >=0.9.25
- bioconductor-summarizedexperiment
- r-data.table
- r-ggplot2
- r-ggrepel
- r-gridextra
- r-gtable
- r-gtools
- r-magrittr
- r-matrix
- r-matrixstats
- r-nabor
- r-plyr
- r-rcpp >=0.12.16
- r-stringr
- r-uwot
run:
- r-base =4.1
- bioconductor-biocgenerics
- bioconductor-biostrings
- bioconductor-chromvar
- bioconductor-complexheatmap
- bioconductor-genomicranges
- bioconductor-motifmatchr
- bioconductor-rhdf5
- bioconductor-rsamtools
- bioconductor-s4vectors >=0.9.25
- bioconductor-summarizedexperiment
- r-data.table
- r-ggplot2
- r-ggrepel
- r-gridextra
- r-gtable
- r-gtools
- r-magrittr
- r-matrix
- r-matrixstats
- r-nabor
- r-plyr
- r-rcpp >=0.12.16
- r-stringr
- r-uwot

test:
commands:
- $R -e "library('ArchR')"

about:
home: https://www.archrproject.com
dev_url: {{ github }}
doc_url: https://www.archrproject.com/bookdown/index.html
license: GPL-2.0-or-later
summary: This package is designed to streamline scATAC analyses in R.
license_family: GPL2
license_file:
- {{ environ['PREFIX'] }}/lib/R/share/licenses/GPL-2
- {{ environ['PREFIX'] }}/lib/R/share/licenses/GPL-3

extra:
recipe-maintainers:
- jdblischak
- mfansler

# Package: ArchR
# Type: Package
# Date: 2022-04-03
# Title: Analyzing single-cell regulatory chromatin in R.
# Version: 1.0.2
# Authors@R: c( person("Jeffrey", "Granja", email = "jgranja.stanford@gmail.com", role = c("aut","cre")), person("Ryan", "Corces", role = "aut"))
# Description: This package is designed to streamline scATAC analyses in R.
# Roxygen: list(markdown = TRUE)
# License: GPL (>= 2)
# LinkingTo: Rcpp
# LazyData: TRUE
# RoxygenNote: 7.1.2
# Encoding: UTF-8
# Imports: ggplot2, SummarizedExperiment, data.table, Matrix, rhdf5, magrittr, S4Vectors (>= 0.9.25), BiocGenerics, Rcpp (>= 0.12.16), matrixStats, plyr, nabor, motifmatchr, chromVAR, uwot, ggrepel, Rsamtools, gtable, gtools, stringr, grid, gridExtra, Biostrings, ComplexHeatmap, GenomicRanges
# Depends:
# Collate: 'AllClasses.R' 'AnnotationGenome.R' 'AnnotationPeaks.R' 'ArchRBrowser.R' 'ArchRHeatmap.R' 'ArrowRead.R' 'ArrowUtils.R' 'ArrowWrite.R' 'BulkProjection.R' 'Clustering.R' 'ColorPalettes.R' 'CreateArrow.R' 'DoubletsScores.R' 'Embedding.R' 'FilterCells.R' 'Footprinting.R' 'GRangesUtils.R' 'GgplotUtils.R' 'GlobalDefaults.R' 'GroupCoverages.R' 'HelperUtils.R' 'GroupExport.R' 'Harmony.R' 'HiddenUtils.R' 'Imputation.R' 'InputData.R' 'IntegrativeAnalysis.R' 'IterativeLSI.R' 'LoggerUtils.R' 'MarkerFeatures.R' 'MatrixDeviations.R' 'MatrixFeatures.R' 'MatrixGeneExpression.R' 'MatrixGeneScores.R' 'MatrixTiles.R' 'ModuleScore.R' 'MultiModal.R' 'ProjectMethods.R' 'QualityControl.R' 'RNAIntegration.R' 'RcppExports.R' 'ReproduciblePeakSet.R' 'Trajectory.R' 'ValidationUtils.R' 'VisualizeData.R'
36 changes: 36 additions & 0 deletions recipes/r-archr/patches/0001-cap-threads.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
From f512a5eaab8b12ef4c78414ffdf813c7ebc872c5 Mon Sep 17 00:00:00 2001
From: Mervin Fansler <mervin.fansler@bric.ku.dk>
Date: Fri, 11 Oct 2024 12:50:25 +0200
Subject: [PATCH] bugfix threads not capped to threads input

---
R/CreateArrow.R | 2 +-
R/MatrixGeneScores.R | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/R/CreateArrow.R b/R/CreateArrow.R
index ac0be626..08243139 100644
--- a/R/CreateArrow.R
+++ b/R/CreateArrow.R
@@ -205,7 +205,7 @@ createArrowFiles <- function(
if(subThreading){
h5disableFileLocking()
}else{
- args$threads <- length(inputFiles)
+ args$threads <- min(length(inputFiles), threads)
}

args$minTSS <- NULL
diff --git a/R/MatrixGeneScores.R b/R/MatrixGeneScores.R
index 1d1d10b3..fd342a1a 100644
--- a/R/MatrixGeneScores.R
+++ b/R/MatrixGeneScores.R
@@ -125,7 +125,7 @@ addGeneScoreMatrix <- function(
if(subThreading){
h5disableFileLocking()
}else{
- args$threads <- length(ArrowFiles)
+ args$threads <- min(length(ArrowFiles), threads)
}

#Remove Input from args

0 comments on commit 984b675

Please sign in to comment.