Fastqc用腻了,来试下这个R包吧

简介: 平时拿到数据后首先要进行质控环节,其中FastaQC软件的使用最为广泛,它可以为每一个样品生成一个html报告和一个‘zip’ 文件,zip解压之后生成fastqc_data.txt和summary.txt的文件,里面包含了测序样品的质量信息,但是如果有几十个甚至上百个数据时候,我们总不可能一一的打开每个html文件查看,因此Multiqc软件成为了解决这一问题的首选方案,可以基于结果zip文件进行多样品的整合分析,信息生成在一张报告上。然而哪里有问题,哪里就有R包,对于R语言爱好者,这里再提供一种可替代的方法--fastqcr包,好处就是不管有没有linux环境时候,都可以快速对数据进行质检

主要功能


1) 安装和运行

  • fastqc_install(): Unix环境下(MAC OSX和Linux)安装最新版的FastaQC
  • fastqc(): R中运行FastQC

2) 汇总多样品FastQC报告

  • qc <- qc_aggregate():合并多样品的FastQC报告至一个数据框
  • summary(qc):针对qc_aggregate的结果生成汇总表
  • qc_stats(): FastaQC报告的一般统计信息

3) 查看问题

  • qc_fails(qc):显示失败的样本或模块。
  • qc_warns(qc): 显示警告的样本或模块。
  • qc_problems(qc): qc_fails()和qc_warns()的并集。 显示哪些样本或模块失败或警告。

4) 导入绘制Fastqc报告

  • qc_read(): 读取FastQC数据到R种
  • qc_plot(): 绘制FastQC数据

5)生成单样品和多样品QC报告

  • qc_report():创建一个HTML文件,其中包含一个或多个文件的FastQC报告。 输入可以是包含多个FastQC报告的目录,也可以是单个样本FastQC报告。

安装加载


## 两种方式
# Cran
install.packages("fastqcr")
# Github
if(!require(devtools)) install.packages("devtools")
devtools::install_github("kassambara/fastqcr")
library(fastqcr)

使用

fastqc函数,输入样品fq格式文件,输出样品的zip压缩包。

fastqc(fq.dir = "~/Documents/FASTQ", # FASTQ files directory
       qc.dir = "~/Documents/FASTQC", # Results direcory
       threads = 4                    # Number of threads
       )

Demo数据:在该包的目录文件下有现成的5个样品S1-S5的zip压缩包文件,这里直接作为示例数据进行演示

library(fastqcr)
# Demo QC dir
qc.dir <- system.file("fastqc_results", package = "fastqcr")
qc.dir
# 列出文件
list.files(qc.dir)
[1] "S1_fastqc.zip" "S2_fastqc.zip" "S3_fastqc.zip" "S4_fastqc.zip" "S5_fastqc.zip"

汇总FastQC报告

qc <- qc_aggregate(qc.dir)
qc

28d0191f4fdc630b2e1fd451e1d68d4.png

汇总信息

生成7列信息:

  • sample: 样品名字
  • module:fastqc模块
  • status:每个样品的fastqc 模块特征
  • tot.seq: 全部序列
  • seq.length:测序长度
  • pct.gc: GC含量
  • pct.dup: 重复序列百分比

查看质控状态是“Warn”或者“FAIL”的样品及模块

library(dplyr)
qc %>%
  select(sample, module, status) %>%    
  filter(status %in% c("WARN", "FAIL")) %>%
  arrange(sample)

0c0af827e994bba780f4a856d47397f.png

Warn和Fail信息

统计信息,查看每个模块各种状态上的样品个数

# Summary of qc
summary(qc)
# 生成一般统计信息
qc_stats(qc)

e6f20dbcba055d6a8902d2d4d0b163f.png

汇总信息

我们也可以针对模块特征去查询

# 哪些样品是失败的
qc_fails(qc, "module")
# 看那些样品是警告
qc_warns(qc, "module")
# 看哪些样品是有问题的 包含警告与失败
qc_problems(qc, "module")
# 另外加上compact = FALSE使表格不那么紧凑
qc_problems(qc, "module", compact = FALSE)

114a2a9dcaee7b5e7e224dcbd168686.png

问题模块查询

生成HTML报告

直接全部样品生成报告,类似Multiqc功能。

qc.dir <- system.file("fastqc_results", package = "fastqcr")
qc.dir
# 生成报告
qc_report(qc.dir, result.file = "~/Desktop/multi-qc-result",
          experiment = "Exome sequencing of colon cancer cell lines")

86d9f89638652f130ca9e1ca1486abf.png

多样品汇总

我们也可以针对单样品生成报告,比如只生成S1样品,加上interpret= TRUE参数具有交互式。

qc.file <- system.file("fastqc_results", "S1_fastqc.zip", package = "fastqcr")
qc.file
# 生成报告
 qc_report(qc.file, result.file = "one-sample-report-with-interpretation",
   interpret = TRUE)

bdcd9759235d3927572da5e883a9cd3.png

单样品

针对某个模块画图

我们都知道fastqc基本包括如下几个模块:

  • “Summary”,
  • “Basic Statistics”,
  • “Per base sequence quality”,
  • “Per sequence quality scores”,
  • “Per base sequence content”,
  • “Per sequence GC content”,
  • “Per base N content”,
  • “Sequence Length Distribution”,
  • “Sequence Duplication Levels”,
  • “Overrepresented sequences”,
  • “Adapter Content”

若我们只想快速度看其中某个模块的情况,通过qc_plot(qc,"模块名称")即可出图

library(patchwork)
A1 <- qc_plot(qc.file, "Per sequence GC content")
A2 <- qc_plot(qc.file, "Per base sequence quality")
A3 <- qc_plot(qc.file, "Per sequence quality scores")
A4 <- qc_plot(qc.file, "Per base sequence content")
(A1+A2)/(A3+A4)

c29b01b82994f4a27474f31474a4f61.png

针对模块作图

总之该包的函数使用非常简单,花费一点点时间即可快速掌握,除了Multiqc软件,该方法其实也不失为一种备选方案。

参考: http://www.sthda.com/english/wiki/fastqcr-an-r-package-facilitating-quality-controls-of-sequencing-data-for-large-numbers-of-samples

相关文章
|
9月前
单细胞分析|映射和注释查询数据集
单细胞分析|映射和注释查询数据集
127 3
|
8月前
|
存储 数据可视化 算法
空间单细胞|基于图像的空间数据分析(2)
空间单细胞|基于图像的空间数据分析(2)
173 0
|
5月前
|
JSON 数据挖掘 API
京东商品评论数据接口:洞察消费者心声的重要渠道
京东商品评论数据接口提供了商品用户评价信息,包括评价内容、时间、星级、用户头像、昵称、图片和视频地址等。使用时需注册京东开放平台账号,获取认证信息,查阅API文档,明确所需商品信息并调用接口,解析返回的JSON数据以获取评论。此接口适用于市场分析、产品改进、提升用户体验、品牌塑造与口碑营销以及电商运营决策等多个场景,帮助企业深入了解消费者需求,优化产品和服务。
|
7月前
|
机器学习/深度学习 自然语言处理 异构计算
预训练与微调
预训练与微调
259 5
|
6月前
|
数据可视化 数据挖掘 Python
"揭秘Visium HD黑科技:空间数据分析大揭秘,可视化与整合的艺术之旅!"
【8月更文挑战第20天】近年来,空间转录组技术,特别是Visium HD技术,因其高分辨率与高通量特性,在单细胞生物学领域受到广泛关注。本文通过Python演示了Visium HD数据的全流程分析:从数据准备(读取表达矩阵和空间坐标)、空间数据分析(计算基因表达统计量)、数据可视化(绘制基因表达热图和空间点分布图),到多样本数据整合,为读者提供了实用的分析指南,助力深入探索空间转录组学的奥秘。
127 4
|
6月前
Typora快捷键设置教程
Typora快捷键设置教程
180 2
|
7月前
|
机器学习/深度学习 人工智能 Python
性能调优:提升AI模型准确率的策略
【7月更文第17天】在人工智能的世界里,打造一个预测精准、表现优异的模型就像是烹饪一道美味佳肴,不仅要选对食材(特征),还得掌握火候(超参数调整)和调味技巧(正则化)。今天,我们就来聊聊如何通过《性能调优:提升AI模型准确率的策略》,让我们的AI模型变得更加聪明伶俐。
685 0
|
数据处理
R|fastqcr QC数据处理
R|fastqcr QC数据处理
204 0
|
9月前
|
人工智能 机器人 图形学
2023 年最好的36款 AI 生产力工具(上)
本文主要展示了36 款 AI 应用,可以帮助读者更快、更好地工作。每个人都在与ChatGPT交流,从完整的博客文章到特定代码行的功能都在询问。其结果令人惊叹。虽然我们仍在探索如何将这项技术纳入我们的工作流程中,但明显的是,人工智能工具正在改变游戏规则。尽管ChatGPT是目前最受欢迎的,但它远不是首款进入市场的人工智能应用程序。
1162 1
|
数据可视化 数据挖掘 Go
RNA-seq丨转录组分析标准流程与常用工具
RNA-seq丨转录组分析标准流程与常用工具

热门文章

最新文章