A target expression threshold dictates invader defense and autoimmunity by CRISPR-Cas13
Description
Immune systems must recognize and clear foreign invaders without eliciting autoimmunity. CRISPR-Cas immune systems in prokaryotes manage this task by following two criteria: extensive guide:target complementarity and a defined target-flanking motif. Here we report an additional requirement for RNA-targeting CRISPR-Cas13 systems: expression of the target transcript exceeding a threshold. This finding is based on targeting endogenous non-essential transcripts, which rarely elicited dormancy through collateral RNA degradation. Instead, eliciting dormancy required over-expressing targeted transcripts above a threshold. A genome-wide screen confirmed target expression levels as the principal determinant of cytotoxic autoimmunity and revealed that the threshold shifts with the guide:target pair. This expression threshold ensured defense against a lytic bacteriophage yet allowed tolerance of a targeted beneficial gene expressed from an invading plasmid. These findings establish target expression levels as a third criterion for immune defense by RNA-targeting CRISPR-Cas systems, buffering against autoimmunity and distinguishing pathogenic and benign invaders.
Files
Steps to reproduce
For screen analysis: 1. The sequence data of library screening is available with accession number GSE179913. After merging the pair-end reads, run "screen_analysis_read_count.py" to obtain the counts of crRNAs. A summary table of counts from all samples is also available in GSE179913. 2. To obtain the differential abundance (depletion score) of crRNAs, run "screen_analysis_differential_abundance.R" . The result file "targeting-nt_QLFTest.csv" is included here. 3. To investigate the relationship between expression level and depletion scores for each gene, run "Depletion_ExpressionLevel_comparison.py". Expression level data can be assessed in GSE179914. For applying machine learning: 1. To optimize machine learning model using automated machine learning tool auto-sklearn, run "machine_learning_model_optimization_autosklearn.py". 2. To evaluate and interprete the optimized model from auto-sklearn, run "machine_learning_model_interpretation_treeSHAP.py" (optimized model has been implemented in the script). 3. To further explore the contribution of guide features to depletion, run "machine_learning_guide_contribution_MERF.py". For each Python script, "-h" shows the detailed description, options and example to run the script.