目录

  • 0. 质控
    • 0.1 使用 fastqc 批量质控
    • 0.2 使用 multiqc 整合 fastqc 的结果
  • 1. 比对
    • 1.1 比对并查看比对质量
    • 1.2 生成bam文件并索引
  • 2. 统计 countmatrix
    • 2.1 使用 featrueCounts
  • 3. 使用 scater 进行下游分析
    • 3.1 导入数据并生成 SingleCellExpriment对象
    • 3.2 标记 spike-in 和 线粒体基因
    • 3.3 进行自动质控
    • 3.4 画出质控后的小提琴图

0. 质控

这一步主要看接头,其他由于 ERCC 等等原因,会和 fastqc 提供的正常报告有区别。

0.1 使用 fastqc 批量质控

find ./RAW/ERR*fastq.gz | xargs ./app/fastqc -t 6 -o ./fastqc_result

0.2 使用 multiqc 整合 fastqc 的结果

cd fastqc_results
multiqc .
firefox multiqc_report.html
  • 用firefox之前的登录记得要用 ssh -X

1. 比对

如果有 spike-in,参考基因组应该加上 spike-in 的序列,同时,gtf 文件也要加上 spike-in。
spike-in fasta和gtf的下载地址

cat ERCC92.fa >> GRCh38.fa
cat ERCC92.gtf >> GRCh38.annotation.gtf

1.1 比对并查看比对质量

nohup ls *gz | while read id; do STAR --runMode alignReads --runThreadN 4 --readFilesIn ${id} --outFileNamePrefix ../alignment_result/${id%%.*} --genomeDir ../ref --readFilesCommand zcat; done > alignment.log 2>&1 &# 整合多个文件的总reads数,比对率等等
ls *.final.out | while read id; do (cat ${id} |sed '1i ID |'${id%%.*} | awk 'BEGIN{FS="|"} {i=2;while(i <= NF){col[i]=col[i] $i " ";i=i+1}} END {i=1;while(i<=NF){print col[i];i=i+1}}' | sed 's/[ \t]*$//g' >> QC.matrix);done

1.2 生成bam文件并索引

samtools view -@ 10 -S SRR0011223344.sam -b > SRR0011223344.bam
#.bam排序,默认按照染色体位置
samtools sort SRR0011223344.bam -o SRR0011223344.sorted.bam
#索引
samtools index SRR0011223344.sorted.bam

2. 统计 countmatrix

2.1 使用 featrueCounts

../app/subread-2.0.0-Linux-x86_64/bin/featureCounts -T 6 -t exon -g gene_id -a ../ref/GRCh38_ERCC.gtf -o CountsRaw.txt  *.sorted.bam 1>FeatureCounts.log 2>&1

3. 使用 scater 进行下游分析

不同的 r 对应安装的 scater 版本不一样。最新版本的 scater,需要 r 4.0。且不同版本的 scater 用法有一点不同。这里用的是 scater 1.15.32 。

#当前版本的测试数据
example_sce = mockSCE()

3.1 导入数据并生成 SingleCellExpriment对象

#FeatureCounts得到的matrix前五列都是基因信息,第六列之后才是counts。
countmatrix2=countmatrix[,-(1:5)]#把列名改一下,FeatureCounts的输出是以文件名为列名,带有 sorted.bam 后缀
y=sapply(colnames(countmatrix2),function(x) strsplit(x,split = '.sorted.bam'))
colnames(countmatrix2)=y#读取细胞信息,行名为细胞,列名为细胞的各种信息
cellinfo=read.table("./cellinfo.txt",header=T,sep = '\t',row.names = 1)#as.matrix这一步很重要,不然后续会报错类型不对
sce=SingleCellExperiment(assays=list(counts=as.matrix(countmatrix2)),colData=cellinfo)

3.2 标记 spike-in 和 线粒体基因

is.spike <- grepl("^ERCC-", rownames(sce))
sce <- splitAltExps(sce, ifelse(is.spike, "ERCC", "gene"))is.mito=grepl("^MT", countmatrix[1:nrow(countmatrix),1])

3.3 进行自动质控

sce<- addPerCellQC(sce, subsets=list(Mito=is.mito))
reasons <- quickPerCellQC(sce, percent_subsets=c("subsets_Mito_percent","altexps_ERCC_percent"))
colSums(as.matrix(reasons))
sce$discard=reasons$discard

3.4 画出质控后的小提琴图

plotColData(sce, x="Characteristics.individual.", y="altexps_ERCC_percent", colour_by=I(discard))plotColData(sce, x="Characteristics.individual.", y="subsets_Mito_percent", colour_by=I(discard))plotColData(sce, x="Characteristics.individual.", y="sum", colour_by=I(discard))plotColData(sce, x="Characteristics.individual.", y="detected", colour_by=I(discard))


可见 ERCC 含量过高的都被去除了

SMART-seq2 单细胞转录组分析workflow相关推荐

  1. 中科院单细胞分析算法开发博士带你做单细胞转录组分析

    " 福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现决定安排扩增子16S分析.宏基因组和Python课程的线上直播课.报名参加线上直播课的老师可在1年内选择参加同课程的一次 ...

  2. 单细胞转录组分析R包安装

    下载了R语言和Rstudio以后,要进行单细胞转录组分析,首先要下载安装单细胞转录组分析所需的R包,这些包分为用install.package命令可以直接从CRAN下载安装的基础包.用BioManag ...

  3. 跟着Cell学单细胞转录组分析(五):单细胞转录组marker基因鉴定及细胞群注释

    书接上回(跟着Cell学单细胞转录组分析(四):单细胞转录组测序UMAP降维聚类).完成数据降维和细胞聚类后,最主要的环节和工作就是确定各个细胞群,明确是什么类型的细胞,正群的细胞定群很关键,涉及到整 ...

  4. 跟着Cell学单细胞转录组分析(八):单细胞转录组差异基因分析及多组结果可视化

    接着单细胞下游分析: 从Cell学单细胞转录组分析(一):开端!!! 跟着Cell学单细胞转录组分析(二):单细胞转录组测序文件的读入及Seurat对象构建 跟着Cell学单细胞转录组分析(三):单细 ...

  5. 从Cell学单细胞转录组分析(一):开端

    你们要的单细胞转录组分析系列它来了!!!这个系列会很长,但是我们相信,从开端到结束,你一定能够上手单细胞转录组的分析! 单细胞测序的发展时至今日,已经非常成熟了,无论是细胞的捕获.还是建库.后期数据分 ...

  6. 跟着Cell学单细胞转录组分析(十二):转录因子分析

    转录因子分析可以了解细胞异质性背后的基因调控网络的异质性.转录因子分析也是单细胞转录组常见的分析内容,R语言分析一般采用的是SCENIC包,具体原理可参考两篇文章.1.<SCENIC : sin ...

  7. 文章复现 子宫腺肌病在位内膜和异位病灶的单细胞转录组分析

    Single‑cell transcriptomic analysis of eutopic endometrium and ectopic lesions of adenomyosis 发表杂志:C ...

  8. 跟着Cell学单细胞转录组分析(十三):单细胞GSVA分析|这个包涵盖大多数物种

    之前我们发过GSVA分析(有了这个包,猪的GSEA和GSVA分析也不在话下(第一集),[后续来了]有了这个包,猪的GSEA和GSVA分析也不在话下(第二集)),接着单细胞系列,重新说一下GSVA分析. ...

  9. 跟着Cell学单细胞转录组分析(七):细胞亚群分析及细胞互作

    想获取更多,请至公众号-KS科研分享与服务- 其实之前我们细胞的分群是很粗糙的,只是一个大概的方向,随着深入的研究,需要对特定细胞的更多亚群进行分析,这里我们选择免疫细胞进行分析,主要是为了跟随文章的 ...

最新文章

  1. 2016.4.2 动态规划练习--讲课整理
  2. Common tasks for MySQL
  3. 分布式ID-美团(Leaf)
  4. 38译码器数码管c语言代码,38译码器驱动数码管电路图
  5. hooks组件封装 react_react-hooks amp; context 编写可复用react组件的一种实践
  6. Springboot 配置文件的加载位置以及优先级和外部配置文件加载的优先级
  7. 本人译著《Professional Xcode 3》现已翻译完毕
  8. 通过shell访问hive_Spark入门:连接Hive读写数据(DataFrame)
  9. ASP.NET MVC的客户端验证:jQuery验证在Model验证中的实现
  10. 使用Java的JNI调用C
  11. 构建系统发育树~序列对比 MEGA、MAFFT(图文教程)
  12. 十二个“一”---十二位胜似亲人的悲情向团体详解
  13. canvas卡通兔子萝卜飞行动画
  14. 泰拉瑞亚服务器怎么修改密码,泰拉瑞亚账号系统功能使用说明 怎么绑定手机号...
  15. NO.3 微信第三方平台代创建小程序审核发布以及小程序信息(头像,名称,简介)修改 以及微信错误码 返回信息
  16. mysql5.7卸载服务_Mysql5.7.28安装配置、卸载—CentOS7.6生产环境下的微服务部署(四)...
  17. 曝!苹果折叠iPhone要问世了
  18. 【机器学习】基于mnist数据集的手写数字识别
  19. 【程序人生】跟小伙伴们聊聊我有趣的大学生活和我那两个好基友!
  20. 宝塔linux输入bt,Linux宝塔面板如何挂载硬盘?BT宝塔面板磁盘挂载超简单教程来了!...

热门文章

  1. 【ERP】仓库管理|电子物料存储环境及温度要求
  2. 收藏!万字Matplotlib实操总结,几行代码实现数据绘图
  3. android 系统时间改变颜色吗,安卓手机通知栏时间、日期、通知颜色修改教程
  4. 2021-08-01数据导出到Excel表格
  5. 程序员必读书单 (仅供参考)
  6. 高度集成的可编程逻辑器件fpga芯片处理能力与作用
  7. Java程序员面试笔试宝典-Java基础知识(一)
  8. vim快捷键的使用案例
  9. bzoj3930【CQOI2015】选数
  10. 2021-07-12 POS机是否可以异地刷卡_那些地方不落地