{"id":13592065,"url":"https://github.com/catavallejos/BASiCS","last_synced_at":"2025-04-08T18:31:57.104Z","repository":{"id":32304627,"uuid":"35879656","full_name":"catavallejos/BASiCS","owner":"catavallejos","description":"BASiCS: Bayesian Analysis of Single-Cell Sequencing Data. This is an unstable experimental version. Please see http://bioconductor.org/packages/BASiCS/ for the official release version","archived":false,"fork":false,"pushed_at":"2024-05-28T13:45:49.000Z","size":94786,"stargazers_count":84,"open_issues_count":31,"forks_count":17,"subscribers_count":7,"default_branch":"devel","last_synced_at":"2024-12-06T22:39:16.803Z","etag":null,"topics":["bayesian","bioconductor-package","gene-expression","r","rcpp","rcpparmadillo","scrna-seq","single-cell"],"latest_commit_sha":null,"homepage":"","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/catavallejos.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-05-19T12:05:07.000Z","updated_at":"2024-09-23T07:02:58.000Z","dependencies_parsed_at":"2023-01-14T21:01:15.291Z","dependency_job_id":"37b2f097-ea01-4724-9456-b5299b9f90df","html_url":"https://github.com/catavallejos/BASiCS","commit_stats":{"total_commits":836,"total_committers":19,"mean_commits":44.0,"dds":0.5227272727272727,"last_synced_commit":"1c8eab5410780505edb09664c1de73ce71ac8af5"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catavallejos%2FBASiCS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catavallejos%2FBASiCS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catavallejos%2FBASiCS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catavallejos%2FBASiCS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/catavallejos","download_url":"https://codeload.github.com/catavallejos/BASiCS/tar.gz/refs/heads/devel","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247509235,"owners_count":20950232,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bayesian","bioconductor-package","gene-expression","r","rcpp","rcpparmadillo","scrna-seq","single-cell"],"created_at":"2024-08-01T16:01:05.420Z","updated_at":"2025-04-08T18:31:52.093Z","avatar_url":"https://github.com/catavallejos.png","language":"R","funding_links":[],"categories":["Software packages"],"sub_categories":["RNA-seq","Count modelling and normalization"],"readme":"[![R build\nstatus](https://github.com/catavallejos/BASiCS/workflows/R-CMD-check/badge.svg)](https://github.com/catavallejos/BASiCS/actions)\n[![codecov.io Code Coverage](https://codecov.io/gh/catavallejos/BASiCS/branch/master/graph/badge.svg)](https://codecov.io/gh/catavallejos/BASiCS/branch/master)\n\n\n# BASiCS\n\nSingle-cell mRNA sequencing can uncover novel cell-to-cell heterogeneity in gene \nexpression levels within seemingly homogeneous populations of cells. However, \nthese experiments are prone to high levels of technical noise, creating new \nchallenges for identifying genes that show genuine heterogeneous expression \nwithin the group of cells under study. \n\nBASiCS (**B**ayesian **A**nalysis of **Si**ngle-**C**ell **S**equencing data) is \nan integrated Bayesian hierarchical model that propagates statistical \nuncertainty by simultaneously performing data normalisation (global scaling), \ntechnical noise quantification and two types of **supervised** downstream\nanalyses: \n\n- **For a single group of cells** [1]: BASiCS provides a criterion to identify \nhighly (and lowly) variable genes within the group. \n\n- **For two (or more) groups of cells** [2]: BASiCS allows the identification \nof differentially expressed genes between the groups. As in traditional \ndifferential expression tools, BASiCS can uncover changes in mean expression \nbetween the groups. Besides this, BASiCS can also uncover changes in \n*over-dispersion* --- a measure for the excess cell-to-cell variation that is \nobserved after accounting for technical noise. This feature has led, \nfor example, to novel insights in the context of immune cells across aging [3]. \nMore recently, the BASiCS model has been extended to address the confounding\nbetween mean and variability that is typically observed in scRNA-seq datasets.\nThis is achieved by introducing a *residual over-dispersion* parameter that \nis not confounded by mean expression [4]. \n\nIn both cases, a probabilistic output is provided, with posterior probability \nthresholds calibrated through the expected false discovery rate (EFDR) [5].\n\nThe original implementation of BASiCS relies on the use of **spike-in genes** \n--- that are artificially introduced to each cell's lysate --- to perform these \nanalyses. However, our latest work has extended the BASiCS model to datasets\nin which spike-ins are not available (multiple *batches* are required) [4].\n\n\n**Important: BASiCS has been designed in the context of supervised experiments where the groups of cells (e.g. experimental conditions, cell types) under study are known a priori (e.g. case-control studies). Therefore, we DO NOT advise the use of BASiCS in unsupervised settings where the aim is to uncover sub-populations of cells through clustering.**\n\nFor technical details, references are provided at the bottom of this document. \n\n## Installation\n\nBASiCS is available in [Bioconductor](https://bioconductor.org/packages/BASiCS).\nTo install the current release use:\n\n```R\nif (!requireNamespace(\"BiocManager\", quietly=TRUE))\n    install.packages(\"BiocManager\")\nBiocManager::install(\"BASiCS\")\n```\n\nRepeat using the [devel](https://bioconductor.org/developers/how-to/useDevel/) \nversion of Bioconductor for the latest development version. \n\nAlternatively, the experimental version of BASiCS (this might be unstable)\ncan be installed from GitHub:\n\n```R\n# install.packages(\"devtools\")\ndevtools::install_github(\"catavallejos/BASiCS\", build_vignettes = TRUE)\n```\n\nThis installation might fail if some of the dependency libraries are not yet \ninstalled. If so, please run the following lines and repeat the installation. \n\n```R\n#library(devtools)\n#if (!requireNamespace(\"BiocManager\", quietly=TRUE))\n    #install.packages(\"BiocManager\")\n#BiocManager::install(\"BiocGenerics\")\n#BiocManager::install(\"scran\")\n#install.packages(\"Rcpp\")\n```\n\nAfter a successful installation, the BASiCS library can be \nloaded using[^footnoteInstall] \n\n```R\nlibrary(BASiCS)\n```\n\n[^footnoteInstall]: The warning `\"No methods found in \"BiocGenerics\"\"` might \nappear. Please ignore. `BASiCS` imports some of the generic functions provided \nby `BiocGenerics` that do not have any methods attached.\n\n## Installation troubleshooting\n\nA summary of the installation errors that have been reported for BASiCS is \nprovided [here](https://github.com/catavallejos/BASiCS/wiki/7.-Installation-troubleshooting). \nIf you encounter any additional issues, **please let us know so that we can update this information**.\n\n## How to use BASiCS?\n\nBASiCS includes a vignette where its usage is illutrated. \nTo access the vignette, please use:\n\n```R\nvignette('BASiCS')\n```\n\nIndividual topics are summarized in the BASiCS wiki:\n\n- [Quick start](https://github.com/catavallejos/BASiCS/wiki/1.-Quick-start)\n\n- [Input preparation](https://github.com/catavallejos/BASiCS/wiki/2.-Input-preparation)\n\n- [Running the MCMC](https://github.com/catavallejos/BASiCS/wiki/3.-Running-the-MCMC)\n\n- [MCMC convergence](https://github.com/catavallejos/BASiCS/wiki/4.-MCMC-convergence)\n\n- [Posterior summary](https://github.com/catavallejos/BASiCS/wiki/5.-Posterior-summary)\n\n- [HVL \u0026 LVG detection](https://github.com/catavallejos/BASiCS/wiki/6.-HVG-\u0026-LVG-detection) for a single group of cells\n\n- [Differential analysis](https://github.com/catavallejos/BASiCS/wiki/7.-Differential-analysis) between 2 groups of cells (mean and over-dispersion)\n\n\n\u003c!---- To detect changes whose expression changes between 2 or more populations of cells (mean and over-dispersion), please refer to the supplementary material related to \u003ca href=\"http://dx.doi.org/10.1186/s13059-016-0930-3\"\u003eVallejos \u003cem\u003eet al.\u003c/em\u003e, 2016\u003c/a\u003e TODO: a quick start for BASiCS. Like vignette(\"some-stuff\") ---\u003e \n\n## Authors\n\n- [Catalina Vallejos](https://sites.google.com/view/catalinavallejos) (cvallejos 'at' turing.ac.uk)\n- [Nils Eling](https://github.com/nilseling)\n- [Alan O'Callaghan](https://github.com/Alanocallaghan)\n- John Marioni\n- Sylvia Richardson\n\n## Acknowledgements\n\nWe thank several members of the Marioni laboratory (EMBL-EBI; CRUK-CI) for \nsupport and discussions throughout the development of this R library. \nIn particular, we are grateful to Aaron Lun (@LTLA, CRUK-CI) for advise and \nsupport during the preparation the Bioconductor submission. \n\nWe also acknowledge feedback and/or contributions from (Github aliases provided \nwithin parenthesis): Alan O'Callaghan (@Alanocallaghan), Ben Dulken (@bdulken), \nChang Xu (@xuchang116), Danilo Horta (@Horta), Dmitriy Zhukov (@dvzhukov), \nJens Preußner (@jenzopr), Joanna Dreux (@Joannacodes), Kevin Rue-Albrecht \n(@kevinrue), Luke Zappia (@lazappi), Mike Morgan (@MikeDMorgan), Muad Abd El Hay \n(@Cumol), Nitesh Turaga (@nturaga), Simon Anders (@s-andrews), Yongchao Ge and \nYuan Cao (@yuancao90), among others. \n\nThis work has been funded by the MRC Biostatistics Unit (MRC grant no. \nMRC_MC_UP_0801/1; Catalina Vallejos and Sylvia Richardson), \nEMBL European Bioinformatics Institute (core European Molecular Biology \nLaboratory funding; Catalina Vallejos, Nils Eling and John Marioni), \nCRUK Cambridge Institute (core CRUK funding; John Marioni), The Alan Turing \nInstitute (EPSRC grant no. EP/N510129/1; Catalina Vallejos) and the University\nof Edinburgh (Catalina Vallejos and Alan O'Callaghan).\n\n## References\n\n- [1] \u003ca href=\"http://dx.doi.org/10.1371/journal.pcbi.1004333\"\u003eVallejos \u003cem\u003eet al.\u003c/em\u003e (2015). PLoS Computational Biology. \u003c/a\u003e\n- [2] \u003ca href=\"http://dx.doi.org/10.1186/s13059-016-0930-3\"\u003eVallejos \u003cem\u003eet al.\u003c/em\u003e (2016). Genome Biology. \u003c/a\u003e\n- [3] \u003ca href=\"http://science.sciencemag.org/content/355/6332/1433\"\u003eMartinez-Jimenes \u003cem\u003eet al.\u003c/em\u003e (2017). Science. \u003c/a\u003e\n- [4] \u003ca href=\"https://www.cell.com/cell-systems/fulltext/S2405-4712(18)30278-3\"\u003eEling \u003cem\u003eet al.\u003c/em\u003e (2018). Cell Systems. \u003c/a\u003e\n- [5] \u003ca href=\"https://www.ncbi.nlm.nih.gov/pubmed/15054023\"\u003eNewton \u003cem\u003eet al.\u003c/em\u003e (2004). Biostatistics. \u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcatavallejos%2FBASiCS","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcatavallejos%2FBASiCS","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcatavallejos%2FBASiCS/lists"}