R|fastqcr QC数据处理

简介: R|fastqcr QC数据处理

FastQC是一款较常用的高通量数据质控软件,每个样本会得到一个zip和html的结果文件,查看略有不便。

fastqcr R包可以整理并分析多样不的zip格式的结果报告,当然也可以直接做fastQC分析。

一 加载安装R包

install.packages("fastqcr")
library(fastqcr)


二 R跑FastQC程序

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


三 Fastcq结果整理绘图

3.1 读入fastqc的zip结果文件

qc.dir <- system.file("fastqc_results", package = "fastqcr")
qc.dir
# [1] "C:/Users/MJ/Documents/R/win-library/3.3/fastqcr/fastqc_results"

查看文件夹中文件

list.files(qc.dir) 
#[1] "A1.R2.clean_fastqc.zip" "A1_R1.clean_fastqc.zip" "A2.R1.clean_fastqc.zip"
#[4] "A2.R2.clean_fastqc.zip"


3.2 整体统计结果 Aggregate & summary

1)Aggregate函数,Sample的基本统计;qc_stats()类似

qc <- qc_aggregate(qc.dir)
head(qc,3)
  sample                      module        status tot.seq seq.length pct.gc pct.dup
  <chr>                       <chr>         <chr>  <chr>   <chr>       <dbl>   <dbl>
1 170197A-Ti-1.R1.clean.fq.gz Basic Statis~ PASS   364589~ 150           51.    18.0
2 170197A-Ti-1.R1.clean.fq.gz Per base seq~ PASS   364589~ 150           51.    18.0
3 170197A-Ti-1.R1.clean.fq.gz Per tile seq~ WARN   364589~ 150           51.    18.0

其中:

sample: sample names
module: fastqc modules
status: fastqc module status for each sample
tot.seq: total sequences (i.e.: the number of reads)
seq.length: sequence length
pct.gc: percentage of GC content
pct.dup: percentage of duplicate reads

2)summary函数,Module的基本统计

head(summary(qc),3)

 module           nb_samples nb_fail nb_pass nb_warn failed                  warned

<chr>                 <dbl>   <dbl>   <dbl>   <dbl> <chr>                   <chr> 
1 Adapter Content          4.      0.      4.      0. NA                      NA    
2 Basic Statistics         4.      0.      4.      0. NA                      NA    
3 Kmer Content             4.      4.      0.      0. 170197A-Ti-1.R1.clean.~ NA

其中:

module: fastqc modules
nb_samples: the number of samples tested
nb_pass, nb_fail, nb_warn: the number of samples that passed, failed and warned, respectively.
failed, warned: the name of samples that failed and warned, respectively.

3)dplyr函数

aggregated完可以使用dplyr得到重点关注的信息:如WARN和FALL样本:

library(dplyr)
qc %>%select(sample, module, status) %>% filter(status %in% c("WARN", "FAIL")) %>%arrange(sample)
   sample                       module                    status
   <chr>                        <chr>                     <chr> 
 1 170197A-Ti-1.R1.clean.fq.gz  Per tile sequence quality WARN  
 2 170197A-Ti-1.R1.clean.fq.gz  Per sequence GC content   WARN  
 3 170197A-Ti-1.R1.clean.fq.gz  Kmer Content              FAIL

附:dplyr简单介绍 dplyr


3.3 异常信息统计

1) Module异常:qc_warns & qc_problems函数

qc_warns(qc, "module") # See which module warned in the most samples
  module                    nb_problems sample                                      
  <chr>                           <int> <chr>                                       
1 Per sequence GC content             4 170197A-Ti-1.R1.clean.fq.gz, 170197A-Ti-1.R~
2 Per tile sequence quality           2 170197A-Ti-1.R1.clean.fq.gz, 170197A-Ti-10.~

查看特定模块的异常

qc_problems(qc, "module",  name = "Per sequence GC content")
  module                  nb_problems sample                       status
  <chr>                         <int> <chr>                        <chr> 
1 Per sequence GC content           4 170197A-Ti-1.R1.clean.fq.gz  WARN  
2 Per sequence GC content           4 170197A-Ti-1.R2.clean.fq.gz  WARN  
3 Per sequence GC content           4 170197A-Ti-10.R1.clean.fq.gz WARN  
4 Per sequence GC content           4 170197A-Ti-10.R2.clean.fq.gz WARN


2)Sample 异常 : qc_fails & qc_problems 函数

qc_problems(qc, "sample", compact = FALSE) #fail 和 warn的 ,compact展示方式 
sample                       nb_problems module                    status
   <chr>                              <int> <chr>                     <chr> 
 1 170197A-Ti-1.R1.clean.fq.gz            3 Kmer Content              FAIL  
 2 170197A-Ti-1.R1.clean.fq.gz            3 Per tile sequence quality WARN  
 3 170197A-Ti-1.R1.clean.fq.gz            3 Per sequence GC content   WARN  
 4 170197A-Ti-1.R2.clean.fq.gz            3 Per tile sequence quality FAIL  
 5 170197A-Ti-1.R2.clean.fq.gz            3 Kmer Content              FAIL  
 6 170197A-Ti-1.R2.clean.fq.gz            3 Per sequence GC content   WARN


四 绘图及生成报告


4.1 导入单个样本fastq结果

qc.file <- system.file("fastqc_results", "170197A-Ti-1.R1.clean_fastqc.zip", package = "fastqcr")
qc <- qc_read(qc.file) #读入qc的结果,后续绘图使用
names(qc) #查看包含的元素


4.2 绘制样本基本图形

qc_plot(qc, "Per sequence GC content")
qc_plot(qc, "Per base sequence quality")
qc_plot(qc, "Per sequence quality scores")
qc_plot(qc, "Per base sequence content")
qc_plot(qc, "Sequence duplication levels")

4.3 生成单样本网页报告

1)图形有解释信息的报告

qc_report(qc.file, result.file = "one-sample-report-with-interpretation",interpret = TRUE)

在工作目录下生成html的网页报告,图形含有解释信息(如下),表格可交互。

2)图形无解释信息的报告

qc_report(qc.file, result.file = "one-sample-report",interpret = FALSE)


4.4 多样本网页报告

qc.dir <- system.file("fastqc_results", package = "fastqcr")
qc_report(qc.dir, result.file = "~/Desktop/multi-qc-result",experiment = "Exome sequencing")


相关文章
|
4月前
|
SQL 关系型数据库 分布式数据库
深度解析PolarDB数据库并行查询技术
深度解析PolarDB数据库并行查询技术:加速SQL执行的关键问题和核心技术 随着数据规模的不断扩大,用户SQL的执行时间越来越长,这不仅对数据库的优化能力提出更高的要求,并且对数据库的执行模式也提出了新的挑战。为了解决这个问题,许多数据库系统,包括Oracle、SQL Server等,都开始提供并行查询引擎的支持,以充分利用系统资源,达到加速SQL执行的效果。本文将深入探讨基于代价进行并行优化、并行执行的云数据库的并行查询引擎的关键问题和核心技术。
123 2
|
4月前
|
数据库 Python
Python-ElasticSearch客户端的封装(聚合查询、统计查询、全量数据)
Python-ElasticSearch客户端的封装(聚合查询、统计查询、全量数据)
55 0
|
8月前
|
数据采集 数据挖掘 Java
Sentieon数据质控QC模块介绍
Sentieon数据质控QC模块介绍
84 0
|
10月前
|
数据挖掘 数据处理
tidyverse|数据分析常规操作-分组汇总(sumamrise+group_by)
tidyverse|数据分析常规操作-分组汇总(sumamrise+group_by)
|
10月前
|
数据采集 缓存 负载均衡
大数据数据采集的数据采集(收集/聚合)的Flume之数据采集流程的Sink Processor的Load Balancing Sink Processor
在大数据处理和管理中,数据采集是非常重要的一环。为了更加高效地进行数据采集,Flume作为一种流式数据采集工具得到了广泛的应用。其中,Flume的Sink Processor模块是实现数据输出和处理的核心模块之一。本文将介绍Flume中的Load Balancing Sink Processor,讲解其数据采集流程。
108 0
|
SQL
openGauss并行查询测试(二)
openGauss并行查询测试
714 0
|
SQL 存储 并行计算
openGauss并行查询测试(一)
openGauss并行查询测试
585 0
|
SQL 数据库
|
Web App开发 测试技术 应用服务中间件
QC使用中问题点汇总
QC 使用中问题点汇总,包括以下四个方面:   1、不兼容IE7,IE8的问题(服务器端设置)   2、无法在Win 7下正常下载页面(客户端设置)   3、在QC中填写中文内容后无法正常提交到数据库(客户端设置)   4、在QC中填写中文内容出现乱码的现象(待修改)        5、Win 7 IE下QC无法访问        6、QC中文版本改英文版本需修改        7.
1375 0