Learn R Programming

CB2

CB2(CRISPRBetaBinomial) is a new algorithm for analyzing CRISPR data based on beta-binomial distribution. We provide CB2 as a R package, and the interal algorithms of CB2 are also implemented in CRISPRCloud.

Update

May 26, 2020

  • Regarding #9, CB2 now provides logFC of gene-level analysis with two different modes. The default option is the same as the previous version, and setting logFC parameter value of measure_gene_stats to gene will provide the logFC calculate by gene-level CPMs.

April 14, 2020

  • Regarding #6, now users can use join_count_and_design function.

December 16, 2019

  • Regarding #4, CB2 now supports gzipped FASTQ file.
  • Regarding #5, calc_mappability() provide total_reads and mapped_reads columns.

July 2, 2019

There are several updates.

  • We have change the function name for the sgRNA-level test to measure_sgrna_stats. The original name run_estimation has been deprecated.
  • CB2 now supports a data.frame with character columns. In other words, you can use

How to install

Currently CB2 is now on CRAN, and you can install it using install.package function.

install.package("CB2")

Installation Github version of CB2 can be done using the following lines of code in your R terminal.

install.packages("devtools")
devtools::install_github("LiuzLab/CB2")

Alternatively, here is a one-liner command line for the installation.

Rscript -e "install.packages('devtools'); devtools::install_github('LiuzLab/CB2')"

A simple example how to use CB2 in R

FASTA <- system.file("extdata", "toydata",
                     "small_sample.fasta",
                     package = "CB2")
df_design <- data.frame()
for(g in c("Low", "High", "Base")) {
  for(i in 1:2) {
    FASTQ <- system.file("extdata", "toydata",
                         sprintf("%s%d.fastq", g, i), 
                         package = "CB2")
    df_design <- rbind(df_design, 
      data.frame(
        group = g, 
        sample_name = sprintf("%s%d", g, i),
        fastq_path = FASTQ, 
        stringsAsFactors = F)
      )
  }
}

MAP_FILE <- system.file("extdata", "toydata", "sg2gene.csv", package="CB2")
sgrna_count <- run_sgrna_quant(FASTA, df_design, MAP_FILE)
  
sgrna_stat <- measure_sgrna_stats(sgrna_count$count, df_design, 
                                  "Base", "Low", 
                                  ge_id = "gene",
                                  sg_id = "id")
gene_stat <- measure_gene_stats(sgrna_stat)

Or you could run the example with the following commented code.

sgrna_count <- run_sgrna_quant(FASTA, df_design)
sgrna_stat <- measure_sgrna_stats(sgrna_count$count, df_design, "Base", "Low")
gene_stat <- measure_gene_stats(sgrna_stat)

More detailed tutorial is available here!

Copy Link

Version

Install

install.packages('CB2')

Monthly Downloads

298

Version

1.3.4

License

MIT + file LICENSE

Maintainer

Hyun-Hwan Jeong

Last Published

July 24th, 2020

Functions in CB2 (1.3.4)

quant

A C++ function to quantify sgRNA abundance from NGS samples.
plot_dotplot

A function to visualize dot plots for a gene.
plot_count_distribution

A function to plot read count distribution.
run_sgrna_quant

A function to run a sgRNA quantification algorithm from NGS sample
Sanson_CRISPRn_A375

A benchmark CRISPRn pooled screen data from Sanson et al.
run_estimation

A function to perform a statistical test at a sgRNA-level, deprecated.
join_count_and_design

A function to join a count table and a design table.
get_CPM

A function to normalize sgRNA read counts.
Evers_CRISPRn_RT112

A benchmark CRISPRn pooled screen data from Evers et al.
measure_gene_stats

A function to perform gene-level test using a sgRNA-level statistics.
calc_mappability

A function to calculate the mappabilities of each NGS sample.
plot_PCA

A function to plot the first two principal components of samples.
plot_corr_heatmap

A function to show a heatmap sgRNA-level corrleations of the NGS samples.
fit_ab

A C++ function to perform a parameter estimation for the sgRNA-level test. It will estimate two different parameters `phat` and `vhat,` and we assume input count data follows the beta-binomial distribution. Dr. Keith Baggerly initially implemented this code in Matlab, and it has been rewritten it in C++ for the speed-up.
measure_sgrna_stats

A function to perform a statistical test at a sgRNA-level