Science Score: 10.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
6 of 21 committers (28.6%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.2%) to scientific vocabulary
Keywords from Contributors
Repository
a pipeline for single cell RNA-seq data analysis
Basic Info
- Host: GitHub
- Owner: LuyiTian
- Language: HTML
- Default Branch: master
- Size: 156 MB
Statistics
- Stars: 69
- Watchers: 5
- Forks: 24
- Open Issues: 35
- Releases: 0
Metadata Files
README.md
scPipe

scPipe is an R package that allows barcode demultiplexing, transcript mapping and quality control of raw sequencing data generated by * multiple 3 prime end sequencing protocols for scRNA-Seq including CEL-seq, MARS-seq, Chromium 10x and Drop-seq and, * various scATAC-Seq platforms including sci_ATAC, sc-ATAC, 10X, etc.
RNA-Seq module of scPipe produces a count matrix that is essential for downstream analysis along with a user-friendly HTML report that summarises data quality. These results can be used as input for downstream analyses including normalization, visualization and statistical testing.
ATAC-Seq module of scPipe contains capabilities of pre-processing scATAC-Seq data through scPipe. This functionality allows barcode demultiplexing, peak calling and quality control of raw sequencing data generated by multiple single-cell ATAC-Seq sequencing protocols including 10X, scATAC-Seq, dscATAC-Seq, dsciATAC-Seq, sciATAC-Seq, plate-based ATAC-Seq and scHTS-Seq. ATAC-Seq module also produces a feature-barcode count matrix that is essential for downstream analysis along with a user-friendly HTML report that summarises data quality.
The scATAC-Seq preprocessing module of the package is under active development. Feel free to ask any questions or submit a pull request.
- [01/04/2021] scPipe now uses samtools to remove duplicates from scATAC-Seq data
- [01/04/2021] scPipe now uses MACS3 for scATAC-Seq peak calling
- [01/04/2021] scPipe now uses sinto for scATAC-seq fragment file generation
- [15/02/2021] scPipe scATAC-Seq module also now uses the SingleCellExperiment class.
- [21/01/2021] now uses macsr for peak calling (yet via R developmental version, R.0.1)
- [03/01/2021] add the cell calling function to scATAC-Seq module for ScPipe (using the package DropletUtils)
- [12/12/2020] complete 1st version of scATAC-Seq module for ScPipe
- [13/05/2020] initiate scATAC-Seq module for scPipe
- [21/09/2017] scPipe now uses the SingleCellExperiment class.
Installation
From Bioconductor
if (!requireNamespace("BiocManager", quietly=TRUE))
install.packages("BiocManager")
BiocManager::install("scPipe")
From GitHub (Developmental version)
{r}
install.packages("devtools")
devtools::install_github("LuyiTian/scPipe")
Getting started
The general workflow of scPipe is illustrated in the following figure:

Concept for scRNA-Seq preprocessing
The
sc_trim_barcodefunction will reformat each read and put the cell barcode and UMI sequence into the fastq read names:@ACGATCGA_TAGAGC#SIMULATE_SEQ::002::000::0000::0 AAGACGTCTAAGGGCGGTGTACACCCTTTTGAGCAATGATTGCACAACCTGCGATCACCTTATACAGAATTAT+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfter alignment, the
sc_exon_mappingfunction will put the cell barcode and UMI into the bam file with different tags, together with gene information:AAAGTCAA_AACTCA#SIMULATE_SEQ::007::000::0013::10 0 ERCC-00171 142 40 73M * 0 0 GCCTCGGGAATAAGCTGACGGTGACAAGGTTTCCCCCTAATCGAGACGCTGCAATAACACAGGGGCATACAGT AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA HI:i:1 NH:i:1 NM:i:0 GE:Z:ERCC-00171 YC:Z:AAAGTCAA YM:Z:AACTCA YE:i:-364. In this example the cell barcode is AAAGTCAA with tagYC, the UMI is AACTCA with tagYMand the gene that this read maps to isERCC-00171with tagGE. This read is located 364 bp upstream of the transcription end site (TES), which is stored in theYEtag.The
sc_demultiplexfunction will look for the cell barcode in BAM file (by default in theYCtag) and compare it against the known cell barcode annotation file, which is a csv file consisting of two columns. The first column is the cell name and second column is the cell barcode. For Chromium 10x and Drop-seq data we can runsc_detect_bcto find the barcodes and generate the cell barcode annotation file before runningsc_demultiplex. An example barcode annotation file is available in the package fromsystem.file("extdata", "barcode_anno.csv", package = "scPipe"). The output ofsc_demultiplexwill be multiple csv files corresponding to each cell. Each file has three columns, the first of which contains the gene id, the second column contains the UMI sequence and third column gives the relative location of the read to the TES. These files are used forsc_gene_counting.
For further examples see the vignette.
Concept for scATAC-Seq preprocessing
The
sc_atac_trim_barcodefunction will reformat each read and put the cell barcode and UMI sequence into the fastq read names:@ACGATCGA_TAGAGC#SIMULATE_SEQ::002::000::0000::0 AAGACGTCTAAGGGCGGTGTACACCCTTTTGAGCAATGATTGCACAACCTGCGATCACCTTATACAGAATTAT+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAThe
sc_atac_aligningfunction will align the reformatted fastq files and create bam files.After alignment, the
sc_atac_bam_taggingfunction will put the cell barcode (and UMI, if available) into the bam file with different tags:AAAGTCAA_AACTCA#SIMULATE_SEQ::007::000::0013::10 0 ERCC-00171 142 40 73M * 0 0 GCCTCGGGAATAAGCTGACGGTGACAAGGTTTCCCCCTAATCGAGACGCTGCAATAACACAGGGGCATACAGT AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA HI:i:1 NH:i:1 NM:i:0 GE:Z:ERCC-00171 YC:Z:AAAGTCAA YM:Z:AACTCA YE:i:-364. In this example the cell barcode is AAAGTCAA with tagYC, the UMI is AACTCA with tagYMand the gene that this read maps to isERCC-00171with tagGE. This read is located 364 bp upstream of the transcription end site (TES), which is stored in theYEtag.The
sc_atac_peak_callingfunction can be used to call peaks using macsr via Linux/Mac environment(). However, macsr is yet not compatible with Windows.The
sc_atac_feature_countingfunction will generate a feature-count matrix for the alignment and an input feature file (a genome, a bed file format of features, for example one generated throughsc_atac_peak_callingor MACS2/3). If the feature file is a genome.fasta file a genomebin approach is used to create the features. It would also generate quality statistics that will get stored in the `scPipeatac_stats` folder within the working directory. Cell calling is a function implemented in this function to identify the "true" cells.The function
sc_atac_create_scegenerates theSingle Cell Experimentobject from the feature-count matrix and the quality scores acquired throughout the pipeline. It also allows the user to generate a HTML report which can alternatively be created by thesc_atac_create_reportfunction.The function
sc_atac_create_reportcan be run within thesc_atac_create_sceor independently to create a report based on the quality statistics available through the processed pipeline.
A minimal example for scATAC-Seq module of scPipe is available here. For further examples see the relevant vignette.
Acknowledgments
This package is inspired by the scater, scran and scATAC=pro packages. The idea to put cell barcode and UMI sequences into the BAM file is from Drop-seq tools. Also some features of the scPipe-ATAC module were inspired by the scATAC-pro and SnapTools packages. We thank Dr Aaron Lun for suggestions on package development.
Owner
- Name: Luyi Tian
- Login: LuyiTian
- Kind: user
- Location: Cambridge
- Company: Broad Institute
- Repositories: 33
- Profile: https://github.com/LuyiTian
computational biologist.
GitHub Events
Total
- Watch event: 2
- Fork event: 2
Last Year
- Watch event: 2
- Fork event: 2
Committers
Last synced: almost 3 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Shians | r****u@g****m | 386 |
| Luyi Tian | t****r@h****m | 140 |
| Oliver Voogd | o****d@g****m | 94 |
| Phil Yang | y****p@s****u | 49 |
| shaniAmare | 4****e | 43 |
| Phil Yang | y****p@s****u | 29 |
| Nitesh Turaga | n****a@g****m | 14 |
| Shani Amarasinghe | a****s@v****u | 10 |
| Peter Hickey | p****y@g****m | 8 |
| OliverVoogd | 5****d | 8 |
| mritchie | m****e@w****u | 7 |
| Hervé Pagès | h****s@f****g | 6 |
| Phil Yang | y****p@v****u | 3 |
| J Wokaty | j****y@s****u | 2 |
| vobencha | v****a@g****m | 2 |
| Shian Su | s****s@p****n | 2 |
| vobencha | v****n@r****g | 2 |
| hy-Yang | 5****g | 1 |
| Kayla-Morrell | k****l@r****g | 1 |
| LiNk-NY | m****9@g****m | 1 |
| Phil Yang | 4****7 | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 11 months ago
All Time
- Total issues: 46
- Total pull requests: 54
- Average time to close issues: about 2 months
- Average time to close pull requests: 2 days
- Total issue authors: 15
- Total pull request authors: 3
- Average comments per issue: 2.0
- Average comments per pull request: 0.26
- Merged pull requests: 50
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- Shians (20)
- LuyiTian (8)
- DarioS (3)
- PeteHaitch (3)
- LTLA (2)
- wenchuanxie (1)
- gk-bioin4m8x (1)
- MingBit (1)
- lachlansimpson (1)
- klprint (1)
- steve-englart (1)
- tkigih (1)
- davetang (1)
- ssmax1 (1)
- okorn-src (1)
Pull Request Authors
- Shians (40)
- LuyiTian (10)
- PeteHaitch (4)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- bioconductor 21,214 total
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 5
- Total maintainers: 1
bioconductor.org: scPipe
Pipeline for single cell multi-omic data pre-processing
- Homepage: https://github.com/LuyiTian/scPipe
- Documentation: https://bioconductor.org/packages/release/bioc/vignettes/scPipe/inst/doc/scPipe.pdf
- License: GPL (>= 2)
-
Latest release: 2.8.0
published over 1 year ago
Rankings
Maintainers (1)
Dependencies
- R >= 3.5 depends
- SingleCellExperiment * depends
- AnnotationDbi * imports
- BiocGenerics * imports
- Biostrings * imports
- DropletUtils * imports
- GGally * imports
- GenomicAlignments * imports
- GenomicFeatures * imports
- GenomicRanges * imports
- IRanges * imports
- MASS * imports
- Matrix * imports
- Rcpp >= 0.11.3 imports
- Rhtslib * imports
- Rsamtools * imports
- Rsubread * imports
- S4Vectors * imports
- SingleCellExperiment * imports
- SummarizedExperiment * imports
- basilisk * imports
- biomaRt * imports
- data.table * imports
- dplyr * imports
- ggplot2 * imports
- glue >= 1.3.0 imports
- grid * imports
- hash * imports
- locStra * imports
- magrittr * imports
- mclust * imports
- methods * imports
- org.Hs.eg.db * imports
- org.Mm.eg.db * imports
- purrr * imports
- reshape * imports
- reticulate * imports
- rlang * imports
- robustbase * imports
- rtracklayer * imports
- scales * imports
- scater >= 1.11.0 imports
- stats * imports
- stringr * imports
- tibble * imports
- tidyr * imports
- tools * imports
- utils * imports
- DT * suggests
- RColorBrewer * suggests
- countreg * suggests
- flexmix * suggests
- kableExtra * suggests
- knitr * suggests
- rmarkdown * suggests
- testthat * suggests
- xml2 * suggests