零基础入门转录组上游分析——第三章(质控及数据过滤)

张开发
2026/4/10 8:59:51 15 分钟阅读

分享文章

零基础入门转录组上游分析——第三章(质控及数据过滤)
零基础入门转录组上游分析——第三章质控及数据过滤目录零基础入门转录组上游分析——第三章质控及数据过滤1. 查看原始数据2. 质控3. 质控进阶4. 质控结果合并5. multiqc结果解读1General Statistics2Sequence Counts3Sequence Quality Histograms4Per Sequence Quality Scores5Per Base Sequence Content6Per Sequence GC Content7Per Base N Content8Sequence Length Distribution9Sequence Duplication Levels10Overrepresented sequences和Adapter Content6. 数据过滤我这里使用的虚拟机是vmwarewokstation版本16.0.0 linux系统是ubantu64位版本20.04.3 上一章我们准备了原始数据和参考基因组以及注释信息这一章我们要用到上一章准备好的原始数据。 本实验选用的是模式生物——C57BL/6J小鼠。 实验分组药物处理组对照组每组6只鼠。 软件vimfastqcmultiqc trim-galore1. 查看原始数据上一章我们在linux桌面上创建了个名为00_raw_data文件夹并将所有原始数据拷贝到了文件夹中接下来的操作需要通过终端指令完成。1通过cd Desktop/00_raw_data/切换到原始数据文件下。2输入ls -lh查看当前文件夹下所有文件的详细信息如下图所示。注为了方便后续的显示和操作我这里只拷贝了两个原始文件。3准备样本信息文件输入指令ls -lh sample_info这时你能发现会多出来一个sample_info的文件。4输入vim sample_info打开文件文件信息如下图所示。5键盘上点一下字母i为了开始编辑模式删除第一行和最后一行的内容处理后的数据如下图所示一共是9列。6处理后先点一下键盘上Esc之后输入:wq即可保存退出。2. 质控1保存好样本信息后接下来做质控回到终端输入fastqc A2_1.fq.gz软件就会开始对样本做质量分析分析过程如下图所示。2运行结束后当前目录下会出现两个文件一个是html文件一个是zip压缩包这里我们重点关注html文件因为html文件里存有质控的结果信息。3打开linux左侧收藏栏中文件资源管理器4逐层找到00_raw_dara文件夹中的html文件双击就可打开查看质控结果能打开是因为ubantu自带火狐浏览器也可以拖拽到宿主机中再查看注质控结果的分析可以参考质控结果分析1质控结果分析2。3. 质控进阶刚才我们通过fastqc A2_1.fq.gz指令输出了一个样本的质控信息但是我们一共有12个样本为了节省时间需要写一个脚本让系统自动运行。这一步就会用到第一步准备好的样本信息表1第一步创建的sample_info文件中第9列是所有样本的名称。2输入指令awk {print fastqc $9} sample_info fastqc_run.sh这段指令的意思仅提取sample_info文件第9列并在每一行前面加上fastqc最后输出结果为fastqc_run.sh脚本。3cat fastqc_run.sh查看脚本如下图所示每一行都是fastqc XXX.fq.gz4最后通过bash fastqc_run.sh指令执行脚本这时系统就开始一行一行执行代码直到最后一个样本被分析完。注脚本执行后应该会产生大量的html文件和zip文件如果感兴趣的小伙伴可以一一通过生成的html文件查看每个样本的质量分析结果。4. 质控结果合并通过指令multiqc .对当前目录下所有质控结果合并正常运行过程如下图所示。指令运行结束后会在当前目录下输出一个名为multiqc_data的文件夹和一个名为multiqc_report.html的网页重点关注multiqc_report.html文件查看方式同步骤二。5. multiqc结果解读1General StatisticsGeneral Statistics——所有样本数据基本情况统计%Dups——重复reads的比例比例越高代表重复reads数量就越多有用的reads就少。%GC——GC含量占总碱基的比例比例越小越好M Seqs——总测序量单位millions2Sequence Counts这里可以每个样本重复reads比例鼠标移到每一个柱子上时会显示每个样本的比例黑色代表重复的reads蓝色表示没有重复的reads。3Sequence Quality Histograms每个read各位置碱基的平均测序质量绿色区间——质量很好橙色区间——质量合理红色区间——质量不好4Per Sequence Quality Scores具有平均质量分数的reads的数量绿色区间——质量很好橙色区间——质量合理红色区间——质量不好5Per Base Sequence Content表示每个样本各位置碱基ATCG的比例一般前一段ATCG比例会有波动属于正常情况注这张图是个热图就是12个样本汇总后的可视化方式如果想看单独样本的信息可以如上图所示移到 图中黑线的位置上方蓝色显示样本名左键单击可以单独查看每个样本信息。6Per Sequence GC Contentreads的平均GC含量正常的样本的GC含量曲线会趋近于正态分布曲线7Per Base N Content每条reads各位置N碱基含量比例当不能辨别reads的某个位置到底是什么碱基时就会产生一个N所以N值越大就表明未知碱基越多好的样本N值应该如图所示N值很小基本为0。8Sequence Length Distribution序列长度分布这里主要显示测序长度和read counts的对应关系我这里12个样本测序长度是150bp对应的read counts基本都在15000000~20000000。9Sequence Duplication Levels序列的相对重复水平序列重复水平分布是统计序列完全一样的Reads的频率通过该指标可以提示我们测序过程产生的偏差横轴是序列的重复水平数字代表重复次数纵轴是该重复水平下的Reads数目百分比。理想情况应该是左侧非常高往右越低越好趋于直线如上图就代表序列相对重复较高。10Overrepresented sequences和Adapter ContentOverrepresented sequences——文库中过表达序列的比例Adapter Content——接头含量注最后这两个值一般都没什么问题但是接头含量要注意下一步质量过滤的时候会去除接头。从上图我们可以看到除了重复序列其他的指标基本都没问题实际上转录组数据一般不看重复序列因为 这个很有可能是由于表达量高造成的多条重复序列一般情况可以看看比对效率GC含量多比对结果这些如果 没问题就可以。6. 数据过滤如果我们拿到的原始数据含有接头或数据质量不好就需要先进行数据过滤后才能进行后续分析。数据过滤要用到的软件是trim-galore首先我们要了解trim-galore的参数我这里只介绍部分会用到的参数如果对全部参数感兴趣可以自行百度或在linux终端下通过trim_galore -help指令查看。--quality设定Phred quality score阈值默认为20表示质量分数小于20的会被舍弃分析时可改成25稍微严格一些。 --stringency设定可以忍受的前后adapter重叠的碱基数默认为1非常苛刻值越大越宽松可以根据实验需求适度放宽。 --length设定输出reads长度阈值就是长度不达标的reads会被抛弃。 --paired对于双端测序结果一对reads中如果有一个被剔除那么另一个会被同样抛弃而不管是否达到标准。 --output_dir输出目录就是过滤后的文件输出的路径需要提前建立目录否则运行会报错。在linux系统桌面下首先要通过指令mkdir 02_clean_data创建一个文件夹名为02_clean_data需要提前创建好输出文件夹否则会报错之后通过cd 00_raw_data切换到存放原始数据的文件夹目录下开始样本质量过滤质量过滤代码如下trim_galore --quality 25 --stringency 1 --length 50 --paired --output_dir /home/daizhuer/Desktop/02_clean_data/ A2_1.fq.gz A2_2.fq.gz我这里设定的quality是25代表质量小于25会被剔除stringency参数是1代表对接头种重叠碱基数检查非常严格如果接头中重叠碱基数大于1在后面的分析报告中就会显示出来length参数我设定的是50表明reads长度小于50的会被弃去paired表明是双端测序output_dir输出路径是桌面上的02_clean_data文件夹质量过滤的结果会保存到这个文件夹中最后两个是传入的原始文件因为是双端测序所以需要上传两个文件。注这一步比较慢运行结束后02_clean_data文件夹下会生成四个文件XXX.fq.gz是过滤后的文件XXX.txt是质量过滤的结果报告打开XXX.txt文件如下图所示是质量过滤结果的详细报告。我们可以看到质量过滤结果的详细信息1代表的是质量分数阈值前面代码设置的是25这里自然就是25表示质量小于25的都会被去除。2可以忍受的前后接头重叠的碱基数由于参数设定的是1所以这里显示的是1bp。3表示输出reads长度阈值参数设定的是50代表长度小于50的reads都会被去除。4完成质量过滤所消耗的时间。5表示接头重叠碱基数大于1的reads我这里显示有36.4%的reads接头重叠碱基数大于1。6最后一个表示质量小于25的占有0.3%自然这一部分会被去除如果quality参数设的越大这个值就会越大。这部分代码只运行了1个样本如果样本量比较大的同学可以参照质控进阶那一节 通过awk指令编写一个sh脚本自动运行剩余样本。补充质量过滤依个人情况而定做完质控分析后如果发现样本不太好就可以试着做过滤了。结语以上就是零基础入门转录组上游分析——第三章质控及数据过滤的所有过程如果有什么需要补充或不懂的地方大家可以私聊我或者在下方评论。如果觉得本教程对你有所帮助希望广大学习者能够点赞收藏加关注关于我们我们的团队是领航生信如果大家想要系统学习常规SCI生信套路和流程或者了解更多生信相关知识可以在下方公众号链接找到我们~~~祝大家能够开心学习轻松学习在学习的路上少一些坎坷~~~目录部分跳转链接零基础入门生信转录组数据分析——导读

更多文章