Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mojaveazure/seurat-disk

Interfaces for HDF5-based Single Cell File Formats
https://github.com/mojaveazure/seurat-disk

hdf5-format single-cell-genomics single-cell-rna-seq

Last synced: 3 days ago
JSON representation

Interfaces for HDF5-based Single Cell File Formats

Awesome Lists containing this project

README

        

---
output: github_document
---

```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```

```{r gh.url, echo=FALSE}
ghurl <- function(x) {
x <- unlist(x = strsplit(x = x, split = ','))
x <- trimws(x = x)
x <- grep(pattern = "https://github.com", x = x, value = TRUE)[1]
return(unname(obj = x))
}
```

```{r cran.cannoncial, echo=FALSE}
cran.cannoncial <- "https://cran.r-project.org/package="
```

```{r parse.description, echo=FALSE}
description <- read.dcf(file = "DESCRIPTION")
# Get package name
pkg <- as.vector(x = description[, "Package"])
# Get GitHub URL
github.url <- ghurl(x = description[, "URL"])
# Get depedencies
deps <- as.vector(x = description[, c("Depends", "Imports")])
deps <- unlist(x = strsplit(x = deps, split = "\n"))
deps <- vapply(
X = deps,
FUN = function(x) {
return(unlist(x = strsplit(x = x, split = "(", fixed = TRUE))[1])
},
FUN.VALUE = character(length = 1L),
USE.NAMES = FALSE
)
deps <- trimws(x = deps)
deps <- gsub(pattern = ",$", replacement = "", x = deps)
deps <- deps[deps != "R"]
```

```{r parse.version, echo=FALSE}
pkg.version <- package_version(x = description[1, 'Version'])
stage <- if (pkg.version >= package_version(x = "1.0.0")) {
"stable"
} else if (pkg.version >= package_version(x = "0.1.0")) {
"maturing"
} else {
"experimental"
}
color <- c("experimental" = "orange", "maturing" = "blue", "stable" = "brightgreen")[stage]
```

# `r pkg` v`r pkg.version`

[![CRAN/METACRAN](https://img.shields.io/cran/v/`r pkg`)](`r paste0(cran.cannoncial, pkg)`)
[![Lifecycle](https://img.shields.io/badge/lifecycle-`r stage`-`r color`.svg)](`r github.url`)

```{r description, echo=FALSE, results='asis'}
cat(gsub(pattern = '\n', replacement = ' ', x = description[, "Description"]))
```

## Installation

`r pkg` is not currently available on CRAN.
You can install it from [GitHub](`r github.url`) with:

``` r
if (!requireNamespace("remotes", quietly = TRUE)) {
install.packages("remotes")
}
remotes::install_github("mojaveazure/seurat-disk")
```

## Dependencies

`r pkg` depends on the following non-standard packages:

| Package | CRAN Webpage | Source | Website |
|:-------:|:------------:|:------:|:-------:|
```{r dependencies, echo=FALSE, results='asis'}
cran.pkgs <- tools::CRAN_package_db()
cran.pkgs <- subset(x = cran.pkgs, subset = Package %in% deps)
deps.md <- vector(mode = "character", length = length(x = deps))
url.na <- "| –"
names(x = deps.md) <- deps
for (dep in deps) {
if (!dep %in% cran.pkgs$Package) {
# deps.md[[dep]] <- paste(
# "|",
# dep,
# paste(replicate(n = 3, expr = url.na), collapse = " "),
# "|"
# )
next
}
pkg.info <- subset(x = cran.pkgs, subset = Package == dep)[1, , drop = FALSE]
pkg.cran <- paste0("| [CRAN](", cran.cannoncial, dep, ")")
pkg.github <- ghurl(x = pkg.info$URL)
pkg.other <- ifelse(
test = is.na(x = pkg.github),
yes = pkg.info$URL,
no = gsub(pattern = pkg.github, replacement = "", x = pkg.info$URL)
)
pkg.other <- if (nchar(x = pkg.other)) {
pkg.other <- trimws(x = unlist(x = strsplit(x = pkg.other, split = ","))[1])
paste0("| [Website](", pkg.other, ")")
} else {
url.na
}
pkg.github <- if (is.na(x = pkg.github)) {
url.na
} else {
paste0("| [GitHub](", pkg.github, ")")
}
deps.md[[dep]] <- paste(dep, pkg.cran, pkg.github, pkg.other, "|")
}
cat("|", paste(Filter(f = nchar, x = deps.md), collapse = "\n"))
```