basilisk

basilisk: a Bioconductor package for managing Python environments - Published in JOSS (2022)

https://github.com/ltla/basilisk

Science Score: 95.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in JOSS metadata
  • Academic publication links
  • Committers with academic emails
    4 of 12 committers (33.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

bioconductor-package

Keywords from Contributors

motif-analysis motif-enrichment-analysis sequence-logo bioinformatics
Last synced: 6 months ago · JSON representation

Repository

Clone of the Bioconductor repository for the basilisk package.

Basic Info
Statistics
  • Stars: 28
  • Watchers: 7
  • Forks: 13
  • Open Issues: 11
  • Releases: 0
Topics
bioconductor-package
Created over 7 years ago · Last pushed 6 months ago
Metadata Files
Readme License

README.md

Managing Python environments within Bioconductor

|Environment|Status| |---|---| |BioC-release|Release OK| |BioC-devel|Devel OK|

basilisk provides a standardized mechanism for handling Python dependencies within Bioconductor packages. It automatically manages different Python versions and virtual environments for each BioC package, ensuring that users are not burdened with the responsibility of satisfying any Python-based SystemRequirements. We integrate with reticulate to allow intuitive calling of Python code within R, with additional protection to ensure that multiple Python environments can be called within the same R session.

Most "users" of this package are expected to be Bioconductor package developers; end users should not need to interact with the basilisk machinery, all going well. Users can follow the typical installation process for Bioconductor packages:

```r install.packages("BiocManager") # if not already installed BiocManager::install("basilisk")

Bioconductor package developers may prefer to use the devel version:

BiocManager::install("basilisk", version="devel") ```

The vignette provides instructions on how to adapt a client package to use basilisk. A minimal example is provided in the inst/example directory and contains code like:

```r

Provision an environment.

myenv <- BasiliskEnvironment(envname="myenv_name", pkgname="name.of.package", packages=c("pandas==0.25.1") )

Run reticulate code using that environment.

res <- basiliskRun(env=myenv, fun=function(args) { out <- reticulate::import("pandas") # Do something with pandas return(somer_object) }) ```

Detailed documentation for each function is available through the usual methods, i.e., ?basiliskRun. See the Bioconductor landing page for more links; some examples of basilisk client packages include crisprScore and velociraptor.

Bugs can be posted to the Issues of this repository. Pull requests are welcome.

Owner

  • Name: Aaron Lun
  • Login: LTLA
  • Kind: user
  • Location: San Francisco
  • Company: @Genentech

It/Its (ノಠ益ಠ)ノ彡┻━┻

JOSS Publication

basilisk: a Bioconductor package for managing Python environments
Published
November 04, 2022
Volume 7, Issue 79, Page 4742
Authors
Aaron T. l. Lun ORCID
Genentech Inc., South San Francisco, USA
Editor
Nikoleta Glynatsi ORCID
Tags
Bioconductor bioinformatics

GitHub Events

Total
  • Issues event: 2
  • Issue comment event: 2
  • Push event: 20
  • Create event: 1
Last Year
  • Issues event: 2
  • Issue comment event: 2
  • Push event: 20
  • Create event: 1

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 502
  • Total Committers: 12
  • Avg Commits per committer: 41.833
  • Development Distribution Score (DDS): 0.08
Past Year
  • Commits: 17
  • Committers: 4
  • Avg Commits per committer: 4.25
  • Development Distribution Score (DDS): 0.294
Top Committers
Name Email Commits
LTLA i****s@g****m 462
Nitesh Turaga n****a@g****m 10
J Wokaty j****y@s****u 10
vjcitn s****c@c****u 4
Aaron Lun a****n@c****k 4
Hervé Pagès h****s 3
Michael Stadler s****l@g****m 2
Aaron Lun l****n@g****m 2
A Wokaty a****y@s****u 2
Martin Grigorov m****g 1
Jean-Philippe Fortin f****6@g****m 1
Charlotte Soneson c****n@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 2
  • Total pull requests: 1
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 15 days
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 4.5
  • Average comments per pull request: 8.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 1
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 15 days
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 4.5
  • Average comments per pull request: 8.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • csoneson (2)
  • vjcitn (1)
Pull Request Authors
  • LTLA (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

DESCRIPTION cran
  • basilisk.utils * imports
  • dir.expiry * imports
  • methods * imports
  • parallel * imports
  • reticulate * imports
  • utils * imports
  • BiocStyle * suggests
  • callr * suggests
  • knitr * suggests
  • rmarkdown * suggests
  • testthat * suggests
inst/example/DESCRIPTION cran
  • basilisk * imports
  • reticulate * imports
  • testthat * suggests
inst/example/inst/test_dummy/setup.py pypi