首页 > 其他分享 >fastqc和Trimmomatic的使用

fastqc和Trimmomatic的使用

时间:2024-07-16 22:55:04浏览次数:13  
标签:fastqc 碱基 gz paired 过滤 使用 序列 Trimmomatic unpaired

1.FastQC分析检测报告

在先前的记录中,我们已经得到了我们的QC报告,现在要针对我们的报告对原始数据进行过滤
其中

都表明该数据需要去接头,并对序列进行处理

2.Trimmomatic的下载

首先,使用conda安装Trimmomatic
conda install Trimmomatic
就可以安装完毕了,安装完使用trimmomatic -h检测是否安装成功

成功了是这样的。
注意:安装前记得先安Java
https://www.jianshu.com/p/43b564783e32

3.开始过滤

可以参考
https://blog.csdn.net/I_LiYY/article/details/105533946
在开始过滤之前,先准备好几个东西:
①.确认好数据是phred33还是phred64,具体的讲解内容在这个帖子里:
https://www.jianshu.com/p/248308513e2e
但是这里只要区分清楚这两种是有区别的就可以,不要搞错了,可以使用脚本来判断,原理是解压1000条出来看看是哪种编码

使用的脚本在这里,非常方便:https://www.jianshu.com/p/9ceabb21be12
②.提前写好的命令:按照自己的需求提前写好,现场一个一个输很麻烦的,而且写好以后可以批量处理
使用命令
trimmomatic PE -threads 8 -phred33 SRR13810477_1.fastq.gz SRR13810477_2.fastq.gz paired_1_R1_paired.fq.gz unpaired_1_R1_unpaired.fq.gz paired_1_R2_paired.fq.gz unpaired_1_R2_unpaired.fq.gz ILLUMINACLIP:/root/anaconda3/pkgs/trimmomatic-0.39-hdfd78af_2/share/trimmomatic-0.39-2/adapters/NexteraPE-PE.fa:2:30:10 SLIDINGWINDOW:4:15 MINLEN:30 LEADING:3 TRAILING:3 MINLEN:30
主要分为三部分,这里解释一下其中各参数都代表什么:
第一部分:
PE:是双端模式,给双端测序数据用的,如果是单端测序,用SE
-threads:这是线程数,你可以选择合适的线程加快进度,不然默认单核,超慢
-phred33:这就是之前提到的,不多赘述
SRR13810477_1.fastq.gz SRR13810477_2.fastq.gz:这是你要处理的数据,因为是双端测序所以有两个
paired_1_R1_paired.fq.gz unpaired_1_R1_unpaired.fq.gz paired_1_R2_paired.fq.gz unpaired_1_R2_unpaired.fq.gz:这是要输出的四个文件,输出文件有四个,使用 -baseout 参数指定输出文件的 basename,软件会自动为四个输出文件命名,过滤之后双端序列都保留的就是 paired,反之如果其中一端序列过滤之后被丢弃了另一端序列保留下来了就是 unpaired(即 成对的clean reads, 未成对的正向序列以及未成对的反向序列),如图:
接下来的参数主要参与去接头的第二部分:
ILLUMINACLIP:/root/anaconda3/pkgs/trimmomatic-0.39-hdfd78af_2/share/trimmomatic-0.39-2/adapters/NexteraPE-PE.fa:2:30:10
/root/anaconda3/pkgs/trimmomatic-0.39-hdfd78af_2/share/trimmomatic-0.39-2/adapters/NexteraPE-PE.fa:参数后面分别接adapter序列的fasta文件:第一步 seed 搜索时允许的最大错配碱基个数2:palindrome模式下匹配碱基数阈值30:simple模式下的匹配碱基数阈值10(7-15之间):palindrome 模式允许切除的最短接头序列为 8bp(默认值):palindrome 模式去除与 R1 完全反向互补的 R2(默认去除false),但在有些情况下,例如需要用到 paired reads 的 bowtie2 流程,就要将这个参数改为 true,否则会损失一部分 paired reads。

按照规定顺序,ILLUMINACLIP 各个参数之间以冒号分开,PE测序需要注意最后一个参数。对于SE测序最后两个参数可以不设置

其中,导入adapter序列的fasta文件时,记得使用绝对路径,不明白的朋友可以直接find来找,如find / -name TruSeq3-PE-2.fa,找到路径之后可以去看一下,是这个样子的:
一般测序公司在给你数据的时候这个也会给你,不过Trimmomatic自带这些Illumina 平台的接头,所以直接用也可以
第三部分,就是关于过滤剪切的参数了,强烈建议一步一步来,先去接头,再过滤剪切。看自己的需要调整选择:
LEADING:3 切除首端碱基质量小于3的碱基
#Illumina平台有些低质量的碱基质量值被标记为 2 ,所以设置为3可以过滤掉这部分低质量碱基。
TRAILING:3 切除尾端碱基质量小于3的碱基
SLIDINGWINDOW:15:20
滑窗质量过滤,一般一个read的低质量序列都是集中在末端,也有很少部分在开头。从5'端开始进行滑动,当滑动位点周围一段序列(window)的平均碱基低于阈值,则从该处进行切除。Windows的size是15个碱基(一般设置在10-30之间),其平均碱基质量小于20,则切除
MINLEN:50 可被保留的最短reads长度,应根据原始序列的长度而定
HEADCROP: 在reads的首端切除指定的长度
CROP: 保留reads到指定的长度
TOPHRED33 将碱基质量转换为pred33格式
TOPHRED64 将碱基质量转换为pred64格式

调整好参数后就可以开始过滤了,过滤的过程主要是这样的:

这里是他输出的四个文件:

4.确认过滤效果

将这四个文件中“paired”的两个拿出来做QC,确认过滤效果

由此可见,我们已经将接头全部切掉了,接下来就可以等待比对了。

标签:fastqc,碱基,gz,paired,过滤,使用,序列,Trimmomatic,unpaired
From: https://www.cnblogs.com/wu8567612/p/18306271

相关文章

  • 在存储过程输入输出参数中使用json
    SqlServer从2016开始支持json操作,JSON支持适用于SqlServer2016及以上版本和AzureSQLDatabase。sqlserver文档参考这里。有了这个json支持,默认过程只传入一个json字符串参数就可以了,方便很多。我们可以在内部做很多事情。甚至可以校验参数,鉴权或将结果集封装为标准的......
  • vue 使用svg文件图片或者组件方式
    代码<template><!--svg使用--><divclass="box"><div><!--设置stylefill:ref方式可以直接修改svg颜色样式--><svgstyle="fill:red"xmlns="http://www.w3.org/2000/svg"......
  • C++多态的使用
    多态(Polymorphism)是面向对象程序设计中一个重要的概念,它允许同样的操作在不同的对象上有不同的行为。在C++中,多态可以通过虚函数(VirtualFunction)和继承来实现。实现多态的基本步骤:定义基类(BaseClass)和派生类(DerivedClass):基类定义通用的接口和虚函数。派生类继承基类,并......
  • 驱动 ioctl使用
     驱动程序部分创建一个简单的字符设备驱动程序。#include<linux/module.h>#include<linux/fs.h>#include<linux/uaccess.h>#include<linux/cdev.h>#include<linux/device.h>#defineDEVICE_NAME"mychardev"#defineCLASS_NAME"mycharclas......
  • 使用 GitHub 跟踪博文数据,并自动同步到 cnblogs
    导读开通了博客园的VIP发现了会员服务中的GitHub跟踪和同步博文数据的功能,测试发现习惯使用GitHub的话,这个还是一个挺不错的功能。本文主要分两部分,一是介绍说明如何使用该功能,并做相关个人的经验分享,二是作为个人GitHub同步cnblogs的文章的索引教程:如何使用适合人......
  • Django项目中使用markdown语法
    要让Django项目支持Markdown语言,你可以使用第三方库markdown来转换Markdown文本到HTML。以下是如何在Django项目中集成Markdown支持的步骤:1.安装Markdown库首先,安装Markdown库:pipinstallmarkdown2.在视图中使用Markdown在你的视图函数中,使用Markdown库将Markdown文本转......
  • 阿贝云永久免费云服务器1核1G5M服务器使用评测
    最近关注到了阿贝云,申请了一台,做个评测,供大家参考使用。永久免费服务器规格(CPU1核,内存1G,公网带宽5M,SSD数据盘10G),网络还是防御200G的高防BGP,还提供了两个快照服务,作为免费服务器来说还是非常不错的。使用 i-abc/Speedtest 三网测速大陆三网+教育网IPv4单线程测速-------......
  • 第八天笔记(项目测试工具悟道使用)
    禅道一、禅道的介绍(1)定义禅道是一个项目管理工具,也是一个bug管理工具,还是一个用例管理工具。(2)作用:为了解决众多企业在管理中出现混乱,无序的现象,开发出来(3)来源:禅道属易软天川公司(4)禅道是集于产品管理,项目管理,测试管理于一身,同时包含事务管理,组织管理8众多功能,是中小企业管理......
  • 使用四元数解决欧拉角万向锁问题(二)
    使用四元数规避欧拉角万向锁问题(二)一、背景二、具体应用公式1.单位四元数对应旋转作用于向量2.轴角表示转四元数三、代码及实验1.python2.实验结果以及分析四、验证五、存在问题六、参考资料一、背景在使用四元数解决欧拉角万向锁问题(一)一文中已经实现了基于固......
  • sqldumper.exe 是 SQL Server 的一个重要组件,专门用于捕获和处理关键错误,帮助管理员和
     sqldumper.exe的起源可以追溯到MicrosoftSQLServer的开发和运行时管理中。它作为SQLServer的一部分,主要用于处理数据库引擎遇到的关键错误和异常情况。具体来说,sqldumper.exe主要功能包括:异常处理和故障捕获:当SQLServer数据库引擎遇到严重错误时,如内存访问错误......