README.md

Summary

fgcQC is an R package that provides implementations of CRISPR QC metric calcluations pertaining to sequencing, laboratory, and analysis data - both standard and novel metrics are included. It is designed to ingest data produced by the AZ-CRUK CRISPR analysis pipeline.

Dependencies

Design

Assumptions

Usage

In the below command, multiple bcl2fastq Stats.json files can be provided in a single comma-separated string. For ‘lethality’ screens, set the argument bagel_treat_plasmid to NULL (bagel_ctrl_plasmid may also be set to NULL in case Bagel was unable to produce any output).

qc <- QC_fgc_crispr_data(analysis_config = "path/to/analysis_config.json",
                         combined_counts = "path/to/combined_counts.csv",
                         bagel_ctrl_plasmid = "path/to/bagel_Control_vs_Plasmid.bf",
                         bagel_treat_plasmid = "path/to/bagel_Treatment_vs_Plasmid.bf",
                         bcl2fastq = "path/to/first/Stats.json,path/to/second/Stats.json",
                         library = "path/to/gRNA-library-file/cleanr.tsv",
                         comparison_name = "Single_Comparison_name",
                         output = "qc-out.csv",
                         output_R_object = "qc-out",
                         mock_missing_data = FALSE)

If mock_missing_data is set to TRUE (defaults to FALSE) then one or both of bcl2fastq and library can be set to NULL and the missing data will be mocked within the function and the mocked column data will be set to NA values in the output. When this is the case, a mock ‘qc’ section will also be included in the analysis config if it is missing.

A summary of the return object can be printed to the console:

qc
####  fgcQC summary  ####
SLX_ID: SLX-19037
Screen Type: n
Screen Goal: lethality
Number of Flowcells: 1
AUROC for pan-cancer Sanger (Control vs Plasmid): 0.996
AUROC for Hart essentials (Control vs Plasmid): 0.887
AUROC for Moderately negative (Control vs Plasmid): 0.932
AUROC for Weakly negative (Control vs Plasmid): 0.634

Unit Tests

All unit tests can be run from the root of the R package directory:

devtools::test("path/to/fgcQC")

QC metrics

QC metrics to the left of the SampleId column are experiment-wide, comparison-wide, or calculated for pairs of samples (e.g. control vs plasmid). QC metrics to the right of the SampleId column are sample-specific metrics. In the below tables, <comp> is one of ctrl_plasmid, treat_plasmid, or treat_ctrl, and <gene_set> is the name of a gene set, e.g. hart_essential.

Standard

QC metric Description AUROC.<comp>.<gene_set> Area Under the Receiver Operating Curve for Bagel Bayes Factors. AUPrRc.<comp>.<gene_set> Area Under the Precision-Recall curve for Bagel Bayes Factors. Sensitivity_FDR_10pct.<comp>.<gene_set> Sensitivity at 10% FDR for Bagel Bayes Factors. NNMD.<comp>.<gene_set> log2 fold change Null-Normalized Mean Difference relative to plasmid. NNMD_robust.<comp>.<gene_set> log2 fold change Null-Normalized Mean Difference relative to plasmid defined using the median and median absolute deviation. repl_log2FC_pearson_corr.<comp> Pearson correlation of log-fold change values for replicate pairs belonging to the same sample type. Only calculated for the first two replicates when there are >2 total replicates. cas_activity Cas-9 activity. virus_batch Batch ID of virus. plasmid_batch Batch ID of plasmid. minimum_split_cell_number Cell density when cell populations are split. cell_population_doublings Doubling rate of cell lines. library_dna_yield_ng.ul Amplified library DNA yield. index_plate The index plate ID for prepping the library. index_plate_well_id The well ID for the index plate. percent_low_count_plasmid_gRNAs Percentage of plasmid gRNAs with less than 30 reads. percent_zero_plasmid_gRNAs Percentage of plasmid gRNAs with zero-count reads.

Novel

QC metric Description GICC.<comp>.<gene_set> Generalized Intraclass Correlation Coefficient of normalized counts - multivariate measure of reproducibility (fits a linear model and returns the proportion of the total variance attributable to between-sample variance). Values range between 0 and 1 - higher values indicate more reproducible data. mahalanobis_dist_ratio.<comp> Mahalanobis distance ratio of control or treatment samples relative to the plasmid for normalized counts. Lower values indicate the control or treatment samples cluster away from the plasmid. Values 1 indicate control or treatment samples are close to the plasmid and should be investigated. dispersion_adj_gRNA.treat_ctrl An empirical-Bayesian shrinkage estimator for the dispersion of gRNA counts - the mean across gRNAs is returned. Only calculated for Treatment-vs-Control. distcorr_GC_content_counts A ‘distance correlation’ (allows for non-linear, non-monotonic relationships) for gRNA GC content and normalized counts distcorr_GC_content_logfc.<comp> A ‘distance correlation’ (allows for non-linear, non-monotonic relationships) for gRNA GC content and log fold changes gini_coefficient_counts The Gini coefficient for count data. Values range between 0 and 1 with high values indicating most reads belong to a small number of gRNAs. norm_counts_GCC_ratio gRNAs with GCC in the 4 bases upstream of the PAM have been found to be inefficient. This metric captures the ratio of median normalized counts for gRNAs with GCC versus the median of all gRNAs. norm_counts_TT_ratio gRNAs with TT in the 4 bases upstream of the PAM have been found to be inefficient. This metric captures the ratio of median normalized counts for gRNAs with TT versus the median of all gRNAs. log2FC_GCC_diff.<comp> gRNAs with GCC in the 4 bases upstream of the PAM have been found to be inefficient. This metric captures the logFC difference for gRNAs with GCC versus all gRNAs. log2FC_TT_diff.<comp> gRNAs with TT in the 4 bases upstream of the PAM have been found to be inefficient. This metric captures the logFC difference for gRNAs with TT versus all gRNAs. NNMD.<comp>.control_guides NNMD for non-targeting control gRNAs. Expected to be > 0 since they do not incur the cost of dsDNA cuts. NNMD_robust.<comp>.control_guides NNMD_robust for non-targeting control gRNAs. Expected to be > 0 since they do not incur the cost of dsDNA cuts.

Sequencing

When more than one flowcell has been used, the worst example of each flowcell-level QC metric is reported (min or max depending on the metric).

QC metric Description ReadsPF_percent The percentage of reads Passing Filter (PF) for the experiment as a whole. Should be high. Non_Demultiplexed_Reads_percent The percentage of non-demultiplexed reads for the experiment as a whole. Sample_Representation The percentage of reads assigned to each sample. percent_reads_matching_gRNAs The percentage of reads that match a gRNA sequence in each sample. Q30_bases_percent The percentage of reads with quality scores in excess of 30 for each sample. Should be high. Average_base_quality Average base quality score for each sample. Index_OneBaseMismatch_percent The percentage of 1-base index mismatches per sample. Should be low.

Gene sets

Bugs, Issues, or Requests

Please contact Alex Kalinka



alex-kalinka-cruk/fgcQC documentation built on June 23, 2020, 9:05 p.m.