For illustration purpose, we only took the unstimulated cell data applied in CROP-seq as an example.
r
require(devtools)
install_github("BinDuan/MASCOT")
library(MASCOT)
```rdim(crop_unstimulated_expression_profile)
r
crop_unstimulated_expression_profile[1:3,1:3]
r
length(crop_unstimulated_sample_info_gene) ```
```
r
class(crop_unstimulated_sample_info_gene)
head(crop_unstimalated_sample_info_gene)
r
length(crop_unstimulated_sample_info_sgRNA)
r
class(crop_unstimulated_sample_info_sgRNA)
head(crop_unstimulated_sample_info_sgRNA)
```
crop_seq_list<-Input_preprocess(crop_unstimulated_expression_profile,crop_unstimulated_sample_info_gene,crop_unstimulated_sample_info_sgRNA,sample_info_batch=NULL)
```
```r
crop_seq_qc<-Cell_qc(crop_seq_list$expression_profile,crop_seq_list$sample_info_gene,gene_low=500,species="Hs",plot=T) ```
```r
crop_seq_filtered<-Cell_filtering(crop_seq_qc$expression_profile_qc,crop_seq_qc$sample_info_gene_qc,crop_seq_list$sample_info_sgRNA,nonzero=0.01,grna_cell_num=10,fold_change=0.5,plot=T) ```
```r
component<-Plot_filtering_overview(crop_seq_list$sample_info_gene,crop_seq_qc$sample_info_gene_qc,crop_seq_filtered$nonzeroRatio,crop_seq_filtered$sample_info_gene_qc_zr_se,crop_seq_filtered$sample_info_gene_qc_zr_se_pc) ```
crop_seq_vargene<-Get_high_var_genes(crop_seq_filtered$expression_profile_qc_zr_se_pc,crop_seq_filtered$sample_info_gene_qc_zr_se_pc,plot=T) ```
```r
optimal_topics<-Get_topics(crop_seq_vargene,crop_seq_filtered$sample_info_gene_qc_zr_se_pc,plot=T) ```
```r
Plot_cell_topic(optimal_topics) ```
```r
topic_func<-Topic_func_anno(optimal_topics,species="Hs",plot=T) ```
```r
library(CRISPRseek) library("BSgenome.Hsapiens.UCSC.hg38") library(TxDb.Hsapiens.UCSC.hg38.knownGene) library(org.Hs.eg.db) library(org.Mm.eg.db) gRNAFilePath<-"extdata/crop_unstimulated_sgrna.fa" crop_results <- offTargetAnalysis(inputFilePath = gRNAFilePath, findgRNAs = FALSE,findgRNAsWithREcutOnly = FALSE,findPairedgRNAOnly = FALSE, BSgenomeName = Hsapiens,txdb = TxDb.Hsapiens.UCSC.hg38.knownGene,min.score=1,scoring.method = "CFDscore",orgAnn = org.Hs.egSYMBOL, max.mismatch = 3,outputDir=getwd(), overwrite = TRUE)
offTarget_Info<-Get_offtarget(crop_results,crop_seq_filtered$expression_profile_qc_zr_se_pc,crop_seq_filtered$sample_info_gene_qc_zr_se_pc,crop_seq_list$sample_info_sgRNA)
* The third step: perturbation effect prioritizing
r
distri_Diff<-Get_distribution_diff(optimal_topics,crop_seq_filtered$sample_info_gene_qc_zr_se_pc,crop_seq_filtered$KO_efficiency)
rank_overall_result<-Rank_overall(distri_Diff)
rank_topic_specific_result<-Rank_topic_specific(rank_overall_result$rank_overall_result_detail)
* output
r
write.table(rank_overall_result$rank_overall_result_summary,"~/rank_overall_result_summary.txt",col.names=T,row.names=F,quote=F,sep="\t") write.table(rank_overall_result$rank_overall_result_detail,"~/rank_overall_result_detail.txt",col.names=T,row.names=F,quote=F,sep="\t")
write.table(rank_topic_specific_result$rank_topic_specific_result_summary,"~/rank_topic_specific_result_summary.txt",col.names=T,row.names=F,quote=F,sep="\t") write.table(rank_topic_specific_result$rank_topic_specific_result_detail,"~/rank_topic_specific_result_detail.txt",col.names=T,row.names=F,quote=F,sep="\t")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.