美文网首页NGS测序笔记收入即学习
RNAseq003 转录组入门(3):了解fastq测序数据

RNAseq003 转录组入门(3):了解fastq测序数据

作者: caoqiansheng | 来源:发表于2020-08-26 17:15 被阅读0次

    1 基础了解

    NGS008 测序常用名词
    NGS009 生信常用数据格式
    NGS010 测序数据质控

    2 fasta与fastq

    一般NGS测序数据均为Fastq格式
    FASTQ格式的序列一般都包含有四行,第一行由'@'开始,后面跟着序列的描述信息,这点跟FASTA格式是一样的。第二行是序列。第三行由'+'开始,后面也可以跟着序列的描述信息。第四行是第二行序列的质量评价(quality values,注:应该是测序的质量评价),字符数跟第二行的序列是相等的

    image.png

    首行:@SRR3589956.1 D5VG2KN1:224:C4VAYACXX:5:1101:1159:2173 length=102

    Tag 描述
    SRR3589956.1 数据名称
    D5VG2KN1 仪器编号
    224 run id
    C4VAYACXX flowcell编号
    5 flowcell lane
    1101 flowcell lane中的tile编号
    1159 簇的“x”坐标
    2173 簇的“y”坐标

    已比对的数据一般以Fasta格式存储
    fasta格式文件的第一行是由大于号“>”(较常用)或分号“;”打头的任意文字说明,用于序列标记。从第二行开始为序列本身,只允许使用既定的核苷酸或氨基酸编码符号(参见支持代码类型)。通常核苷酸符号大小写均可,而氨基酸常用大写字母。使用时应注意有些程序对大小写有明确要求。一般每行60~80个字母。

    image.png

    3 Fastqc

    3.1 软件安装

    Linux010 Miniconda安装及使用
    Linux012 Fastqc安装及使用
    Linux018 conda虚拟环境
    linux023 conda安装常用生信软件

    FastQC是一款基于Java的软件,它可以快速地对测序数据进行质量评估,其官网为:http://www.bioinformatics.babraham.ac.uk/projects/fastqc/
    安装过程详见2.1节

    3.2 语法

    fastqc seqfile1 seqfile2 .. seqfileN
    fastqc [-o output dir] [--(no)extract] [-f fastq|bam|sam][-c contaminant file] seqfile1 .. seqfileN

    3.3 主要参数

    -h --help
    -v --version
    -o -output dir
    -casave 文件来自原始 casave 输出
    -nano 文件来自 naopore 序列,采用 fast5 格式
    -extract 如果设置,则压缩输出
    -j --java java二进制文件完整路径
    -nogroup 禁止读取2500bp以上的碱基组
    -f 跳过正常文件格式检测,强制使用指定格式 bam | sam | bam_mapped | sam_mapped | fastq
    -t --threads 多线程,每个线程 250 M
    -c --contamin 指定包含列表的非默认文件,污染物筛选过多的序列(哈希)
    -a -adapters 指定包含列表的非默认文件,包含一组已经命名的Adapter(哈希)
    -l 指定一个非默认文件,限制将用于确认 warning / Fairure,或者从结果中删除一些模块, cofiguration --> limits.txt
    -k -kmers 指定要在Kmer中查找的长度,必须在2-10 之间,默认为7
    -q -quiet 安静模式,在标准输出上禁止所有的进度消息,只报错
    -d --dir 一个目录用于写入临时文件当生成图像时, 默认系统临时目录

    3.4 运行结果

    Fastqc运行结束后生成两个文件:一个html网页文件和一个zip压缩文件
    使用浏览器打开html网页文件如下:


    image.png
    3.4.1 基本统计 Basic Statistics
    image.png
    3.4.2 碱基序列质量 Per base sequence quality
    image.png

    碱基质量值均在30以上,也即Q30比例很高,测序质量很好

    3.4.3 每tile序列质量
    image.png

    横轴代表101个碱基的不同位置,纵轴是tile的编号,代表在芯片中的位置
    蓝色代表测序质量很高,暖色代表测序质量不高,如果某些tile出现暖色,可以在后续分析中把该tail测序的结果全部都去除

    3.4.4 每个序列的质量得分 Per sequence quality scores
    image.png

    这个图可以看出各个序列质量的分布情况,上图可以看出绝大部分序列质量都在30以上。

    3.4.5 每个碱基的含量 Per base sequence content
    image.png

    从图中可以看是AGCT的分布比较均一,因该图采用的是PE50测序,所以在正反向测序的起始几个碱基,会有一定的波动,总体看来,碱基是平衡的

    3.4.6 每个序列的GC含量 Per sequence GC content
    image.png

    蓝色的线是程序根据经验分布给出的理论值,红色是真实值,两个应该比较接近才比较好
    当红色的线出现双峰,基本肯定是混入了其他物种的DNA序列

    3.4.7 N碱基数量 Per base N content
    image.png

    序列中各个位点的N含量,越小越好

    3.4.8 序列长度分布 Sequence Length Distribution
    image.png

    序列测序长度统计,从图中可以看出序列的平均长度为102

    3.4.9 序列重复水平 Sequence Duplication Levels
    image.png

    在测序过程中有较多的原因会导致产生Duplication,dup越高说明文库的复杂度偏低,有效数据量偏少

    3.4.10 Overrepresented sequences
    image.png

    over-represented意为某个序列大量出现,fastqc的标准是占全部reads的0.1%以上。为了计算方便,只取了fq数据的前200,000条reads进行统计,所以有可能over-represented reads不在里面。而且大于75bp的reads也是只取50bp。当发现超过总reads数0.1%的reads时报"黄色!",当发现超过总reads数1%的reads时报"红色×"。

    3.4.11 接头含量 Adapter Content
    image.png

    出现接头的主要原因是某些较短的reads在测序过程中被测通了,如果有接头混入,需要对数据进行去接头处理,得到clean reads

    4 multiqc

    fastqc是一款基于java的软件,能够对测序数据的质量进行评估。一个样本生成一个报告,当样本量过多时,逐一查看样本质量就稍显不方便
    multiqc是一个基于Python的模块, 用于整合其它软件的报告的软件,能将fastqc生成的多个报告整合成一个报告的软件,这样能方便的查看所有测序数据的质量。

    4.1 软件安装

    multiqc可以通过conda进行安装

    # 默认安装最新版
    conda install  multiqc
    # -c选定镜像安装
    conda install -c bioconda multiqc
    # 安装特定版本X
    conda install -c bioconda multiqc=X
    
    4.2 使用及参数

    multiqc [OPTIONS] <analysis directory>

    4.3 运行结果
    image.png

    5 批量运行

    5.1 文件转换

    如果是下载sra文件,需要使用sratoolkit中的fastq-dump命令进行转换

    # 单份文件太大,--split进行分割为三份
    for id in `seq 56 62`
    do 
    fastq-dump --gzip --split-3 -O /mnt/f/Data/RNA-Seq -A SRR35899${id}
    done
    
    5.2 文件合并及质控
    那么分割的文件怎么去运行fastqc呢?

    如下图:


    image.png
    # 因为文件均是.fastq.gz,可以使用通配符代替文件名
    fastqc *.fastq.gz
    # 或者也可以将同样本的数据进行合并
    cat SRR3589956*.fastq.gz > SRR3589956.fastq.gz
    fastqc *.fastq.gz
    
    利用循环

    linux027 循环语句 for,while,until

    # 通过循环将同一数据的多个压缩包进行合并qc,-o指定输出文件夹,----noextract不解压文件
    for i in {56..62};do cat SRR35899$i*.fastq.gz > SRR35899$i.fastq.gz;fastqc -o /home/cqs/biotest/RNA --noextract SRR35899$i.fastq.gz;done
    # 或是for((i=56;i<=62;i++));do cat SRR35899$i*.fastq.gz > SRR35899$i.fastq.gz;fastqc -o /home/cqs/biotest/RNA --noextract SRR35899$i.fastq.gz;done
    # 上述命令也可以写成如下形式
    for i in {56..62}
    do 
          cat SRR35899$i*.fastq.gz > SRR35899$i.fastq.gz
          fastqc -o /home/cqs/biotest/RNA --noextract SRR35899$i.fastq.gz
    done
    # 也可以将上述循环分开,?仅代表单个字符,对合并后的文件进行质控 fastqc SRR35899??.fastq.gz
    # 对文件夹内fastqc质控文件进行合并
    cd /home/cqs/biotest/RNA
    multiqc ./
    
    需要注意的是,把文件合并后,合并前的文件仍在,如下图,整个存储空间会翻倍
    image.png
    fastqc以及multiqc结果
    image.png
    • multiqc_report_html


      image.png
    • multiqc_data


      image.png
    • multiqc_fastqc.txt
    less -SN multiqc_fastqc.txt
    
    image.png

    参考

    https://zhuanlan.zhihu.com/p/93186419
    http://www.biotrainee.com/thread-1931-1-1.html
    http://www.biotrainee.com/thread-1750-1-1.html
    http://www.biotrainee.com/thread-1831-1-1.html

    相关文章

      网友评论

        本文标题:RNAseq003 转录组入门(3):了解fastq测序数据

        本文链接:https://www.haomeiwen.com/subject/rohxsktx.html