美文网首页
用二代测序分析软件来跑一代的结果

用二代测序分析软件来跑一代的结果

作者: 临窗听风雨 | 来源:发表于2020-07-11 21:24 被阅读0次

2013年左右,二代测试开始崛起,不到一年大有横扫测序行业的势头。记得当时二代测序服务公司的业务员到我们实验室推销业务,宣传册十分“高大上”的样子,一问价格,内心直哆嗦。但当时实验室有ABi 3500的机器,正玩的飞起,根本没在意二代测序,不过世间万物逃不过“真香”,研三下学期已经对二代十分感兴趣,后来还做了一段二代测序试剂研发。

一转眼,从上家公司离职一年半了,二代数据分析的方法和流程也忘得差不多了。最近解读一代的结果时,需要收集突变信息,就想到了能不能用二代call SNP的方法来跑跑一代的数据。跑出来的结果还是没有肉眼直观,好在程序能复用,也可以复习下二代软件的使用,记录一下过程。

基本流程
  1. ab1数据转换成fastq文件
  2. 质控fastq文件
  3. 构建参考序列index
  4. 序列比对
  5. 突变位点分析
软件准备
  1. extract_fastq.exe
    该程序属于Staden Package软件包的一个组件,Staden Package是sanger测序结果分析、拼接、编辑的强大工具,感兴趣的自己研究。Staden Package有windows版和linux版,由于本系列涉及工具大多在linux平台,windows的就不介绍了。下载源码自己编译,命令三部曲:
    ./configure
    make
    make install
    安装成功后,执行“extract_fastq -h”会显示帮助信息,用法为:
    extract_fastq XXX.ab1 > out.fastq
    windows版使用也需要在cmd命令行启动。
  2. cutadapt
    cutadapt是python语言编写的去接头程序,如果你已经安装python和pip,那就好办了,直接:"pip install cutadapt --upgrade"就搞定了。cutadapt的使用比较简单,具体方法可参考官方文档:https://cutadapt.readthedocs.io/en/stable/guide.html,可以记住几个常用参数:
    cutadapt [参数] -o out.fastq in.fastq
    -a "ATCG..." 去3‘端接头
    -g "ATCG..." 去5’端接头
    -q 20,20 切除质量Q值低于20的碱基,如果仅有一个数字仅去除3‘端低质量碱基
    -t 4 线程数
    cutadapt可用于单端fastq文件质控也可用于双端配对fastq质控,我们用ab1转换成的fastq一般按单端处理,如果是双向测通也可以当作双端测序文件,命令格式如下:
    cutadapt -a ADAPTER_FWD -A ADAPTER_REV -o out.1.fastq -p out.2.fastq reads.1.fastq reads.2.fastq
    -a 去fastq1的3‘端接头
    -A 去fastq2(与fastq1配对)的3‘端接头(大写代表第二的fastq文件的参数)
    -o 输出fastq1的处理结果
    -p 输出fastq2的处理结果
    cutadapt处理文件时会给出统计信息,可以看到处理了 多少reads,砍掉了多少碱基等。
  3. bwa
    大名鼎鼎的bwa,网上教程很多,下载和使用说明在这里:http://bio-bwa.sourceforge.net/,下载后解压,同样是编译安装三部曲:
    ./configure
    make
    make install
    经过extract_fastq.exe和cutadapt的处理,ab1文件已经成为可用的fastq文件,在序列比对之前需要用bwa index命令构建参考序列的索引文件,命令如下:
    bwa index -a is -p 参考序列名 XXX.fasta
    短序列和小型基因组用"-a is"参数,大型基因组用"-a bwtsw"参数,-p 指定index文件的名称,不指定就会以fasta文件全名做名称。
  4. samtools
    李恒博士的另一大作,与bwa配套使用,下载及使用说明网址:http://samtools.sourceforge.net/,下载安装过程同bwa。常用命令有:
    samtools view 查看bam文件
    samtools sort 将bam文件的比对结果按在参考序列上的位置从前往后排序,samtools depth,samtools mpileup等依赖于该命令。
    samtools depth 查看测序文件对参考序列的覆盖深度
    samtools mpileup 输出测序文件对参考序列的突变情况
操作步骤

假设有参考序列A,保存成fasta格式:A.fasta/A.fa,
Sanger测序结果:A-1_xxx.ab1、A-2_xxx.ab1、A-3_xxx.ab1、...。
ab1文件保存了测序的序列、测序质量、峰图等信息,它有着特定的格式(ab1文件格式说明看这里),除序列外一般无法直接提取其他信息,我们可以使用专业软件将ab1转换为文本。
①将所有ab1文件转换为fastq格式并写入到一个文件中:
touch A.fastq #创建一个空文件用来接收转换结果
ls *.ab1 | sort | xargs 你自己的软件安装路径/extract_fastq.exe >> A.fastq
②去除低质量测序碱基,碱基Q值与准确率P的对应关系是:Q=-10×lg(1-P),Q值越高准确率越高。Q=10,准确率=90%;Q=20,准确率=99%;Q=30,准确率=99.9%。一般99%的准确度足够用于分析,质控命令为:
cutadapt -q 20,20 -o A.cut.fastq A.fastq
③构建参考序列index:
bwa index -a is -p A A.fasta
④序列比对,使用bwa mem命令,该命令采用BWA-MEM算法,适合70bp-1Mbp的长序列比对,命令及参数为:
bwa mem -R '@RG\tID:A_all\tPL:Sanger\tLB:20200711\tSM:A' A
A.cut.fastq | samtools view -S -b - > A.bam
⑤将比对结果进行排序:
samtools sort -o A.sorted.bam --reference A.fasta A.bam
要处理bam文件,需要对其格式有所了解,可以参考这篇文章:https://www.jianshu.com/p/a584d31418f3,或者直接查看格式文档:https://samtools.github.io/hts-specs/SAMv1.pdf。其中对CIGRA式的理解十分重要,M代表匹配到参考序列但不代表与参考序列一致,可能是突变,突变详情会在MD:Z:xxxxx字段记录,详查SAM文件说明。D代表缺失突变,I代表插入突变,S代表不匹配序列。
bam文件中对统计突变信息有用的就是第4,6,13列,可以单独输出到txt文件中进一步分析:
samtools view A.sorted.bam | cut -f 4,6,13 > A.bam.txt
⑥提取序列的突变信息:
samtools mpileup -aa -t DP,AD --reference A.fasta A.sorted.bam > A.mutant.txt
要解读samtools mpileup结果需要了解其输出格式,可以参考这篇文章https://www.cnblogs.com/ywliao/articles/7657761.html。一般我们只关注前6列:
第1列是参考序列名称,第2列是在参考序列上的位置,第3列是参考序列的碱基,第4列是测序深度,第5列是每个测序位点的情况,第6列是该位点测序结果的质量值。
A 31 G 8 ..T..... XXXXXX^X
A 37 T 8 ....-1A...-1A. SSSLSSLS
A 610 G 8 ......+1C.. XXXXXHXX
A 2165 G 17 .......-1A,,,,,,-1a,,., NXNNINNXXXXXRXXNX
其中第5列最为关键,一般有多大深度该列就有多少种情况,对于突变我们只关注上面的四种情况:

  • 有ATCG字符,代表某次测序该位置为其他碱基,如第一行,参考序列为G,8次测序,其中一次为T。
  • 负数加碱基,代表该位置之后存在缺失,如第二行,参考序列第37bp后,缺失一个T碱基,两次测序存在缺失,其他6次正常。
  • 正数加碱基,代表该位置之后存在插入,如第三行,参考序列第610bp后,有一次测序结果插入1个C碱基
  • 小写碱基,代表负链突变,大写代表正链,如第四行,参考序列第2165bp后,一次测序正链缺失,一次测序负链同一位置缺失,这表明有两次测序在该位置重叠,且一为正向,一为反向。
结果分析

根据目的提取或者处理结果,需要依赖一定的编程能力,首推python。经过前面的处理,可以得到每个样本的突变位置及突变类型,利用python很容易从A.bam.txt文件或A.mutant.txt提取这样的信息。比如克隆子测序,可以得到每个克隆子的基因型。

用二代测序的分析流程,处理一代的结果,好处是可复用,可以把所有命令写入一个shell脚本,每次仅一行调用命令即可,缺点是不直观。

相关文章

  • 用二代测序分析软件来跑一代的结果

    2013年左右,二代测试开始崛起,不到一年大有横扫测序行业的势头。记得当时二代测序服务公司的业务员到我们实验室推销...

  • 学习小组Day7--二胖

    测序知识 一代测序flow 二代测序flow

  • 测序原理免费资源收集

    一代测序 Sanger 测序 二代测序 Illumina测序HiSeq工作原理二代测序原理及fastq数据 三代测...

  • NGS019 二代测序的图象处理和碱基识别

    二代测序的数据分析通常分为初级分析、次级分析和高级分析三个层次。以Illumina测序平台为例,讨论二代测序的图象...

  • 2021-09-19二代测序技术-1

    第二代测序技术又称为下一代测序(NGS),与第一代相比主要是1.高通量测序2.边合成边测序。回顾二代测序的发展史1...

  • 学习小组Day7笔记--何小娜

    学习内容: 一代、二代、三代测序 二代测序的大体流程 NGS组学都包含哪些分类 原理理解 一代测序(桑格尔-双脱氧...

  • NGS-文库的构建

    DNA文库构建 当我们使用二代测序技术对样本进行测序时,主要经过样本核酸提取、文库构建、上机测序、数据分析和结果验...

  • 学习小组Day7

    测序知识 测序原理 一代测序 sanger法这里就不多说了 二代测序 边合成边测序 名词① flowcell:反应...

  • 使用Unicycler进行细菌基因组组装

    二代测序技术的迅速发展大幅度的降低了高通量测序价格且提高了测序质量,同时高通量测序相关的数据处理和分析的软件也是越...

  • 三代测序原理

    第一代测序—Sanger法测序又称双脱氧法测序 第二代测序—illumina测序原理 第三代测序—牛津纳米孔测序

网友评论

      本文标题:用二代测序分析软件来跑一代的结果

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