6.windows ubuntu 子系统 测序数据质量控制。

上一个分享,我们对测序数据进行了质量评估,接下来我们需要对数据进行数据质量控制。

数据预处理(Data Preprocessing):包括去除接头序列(adapter trimming)、去除低质量序列(quality filtering)、去除含有未知碱基的序列等,以净化原始测序数据。

进行质量控制的软件有fastp,Trimmomatic, trim_galore等,这里我们对这三个软件进行简要使用。

fastp的用法:以a1.fq.gz  a2.fq.gz为例。

fastp --thread 4 -i ./a1.fq.gz -I ./a2.fq.gz -o ./a1.clean.fq.gz -O ./a2.clean.fq.gz -h L.html

fastp 是一个用于快速处理高通量测序数据的工具,主要用于质量控制和数据预处理。

  1. -i, --in1:指定输入文件的路径,这通常是第一对(read1)原始测序数据的文件路径。

  2. -I, --in2:指定第二个输入文件的路径,这通常是第二对(read2)原始测序数据的文件路径。

  3. -o, --out1:指定第一个输出文件的路径,这是处理后的第一对测序数据(read1)的输出路径。

  4. -O, --out2:指定第二个输出文件的路径,这是处理后的第二对测序数据(read2)的输出路径。

  5. -h, --html:生成 HTML 格式的质量控制报告文件。

  6. -j, --json:生成JSON格式的质量控制报告文件。

  7. --thread:指定线程数,用于加速数据处理过程。

  8. -q, --qualified_quality_phred:设定质量值阈值,低于该值的碱基将被截断。

  9. -n, --low_complexity_filter:开启低复杂度序列过滤功能,用于去除包含低复杂度序列的 reads。

  10. -e, --correction:开启错误校正功能,用于纠正测序错误。

  11. -w, --overrepresentation_analysis:进行富集分析,检测PCR重复、接头污染等问题。

 conda install -c bioconda Trimmomatic -y #安装 Trimmomatic,Trimmomatic是基于Java开发的,因此需要提前安装Java,才能使用Trimmomatic。

Trimmomatic -h #出现技术参数说明即可使用。

 trimmomatic PE -phred33 -threads 4 a1.fq.gz a2.fq.gz a1_paired.fq.gz a1_unpaired.fq.gz a2_paired.fq.gz a2_unpaired.fq.gz LEADING:3 TRAILING:3 SLIDINGWINDOW:4:15 MINLEN:36

  • PE 表示处理双端测序数据。
  • -phred33 指定输入数据的 phred 分数编码为 phred33 格式。
  • -threads 4 指定了线程数为 4。
  • a1.fq.gz 和 a2.fq.gz 是输入的双端测序数据文件。
  • a1_paired.fq.gz 和 a1_unpaired.fq.gz 是第一个样本处理后的输出文件,分别包含配对的 reads 和未配对的 reads。
  • a2_paired.fq.gz 和 a2_unpaired.fq.gz 是第二个样本处理后的输出文件,分别包含配对的 reads 和未配对的 reads。
  • LEADING:3 TRAILING:3 SLIDINGWINDOW:4:15 MINLEN:36 是指定的 trimmer 参数,用于指导 Trimmomatic 进行质量控制和去除接头序列等操作。

优势:

1、可使用参数更多,如滑窗剪切,可以直接选择使用内置的接头序列等等;

2、默认可生成paired和unpaired两种文件,更利于下游分析。

劣势:

1、代码非常长,而且容易写错,最好写在一个脚本里;

2、参数比较难记,像ILLUMINACLIP中的几个数字分别代表什么必须要对照说明书才能看懂;

3、运行时间较长;

4、只适用于illumina测序得到的数据,不适用于其他测序平台。

conda install -c bioconda trim_galore -y #需要python=3.7,创建一个新的环境指定python为3.7即可。

trim_galore --help #出现技术说明即可

 trim_galore -q 20 --phred33 --length 36 -e 0.1 --stringency 3 --paired -o cleandata/ ./a1.fq.gz ./a2.fq.gz -j 15

-q 20:设置最低质量阈值为20,低于该值的碱基将被修剪。
--phred33:指定输入文件的质量值编码为Phred33格式。
--length 36:设置修剪后的读长为36,短于该长度的序列将被丢弃。
-e 0.1:设置错误率阈值为0.1,超过该阈值的序列将被丢弃。
--stringency 3:设置修剪的严格程度为3。
--paired:指示输入文件是成对的双端测序数据。
-o cleandata/:指定输出目录为"cleandata/",修剪后的结果文件将保存在该目录中。
./a1fq.gz ./a2.fq.gz:输入的成对测序数据文件。
-j 15:使用4个线程进行处理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/484957.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

STM32通过串口发送指令控制LED灯亮灭OLED并显示命令

先来看看程序运行的结果吧: 接下来就不说废话了,自己看源代码吧!每一行我都做了注释: 首先是主函数main.c文件: #include "stm32f10x.h" // Device header #include "OLED.h" …

Redis中RDB中的文件写入

RDB文件的创建与载入。 有两个Redis命令可以用于生成RDB文件,一个是SAVE,另一个是BGSAVE. SAVE命令会阻塞Redis服务器进程,直到RDB文件创建完毕为止,在服务器进程阻塞期间,服务器 不能处理任何命令请求: 127.0.0.1:6…

竞赛 python opencv 深度学习 指纹识别算法实现

1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 python opencv 深度学习 指纹识别算法实现 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:4分创新点:4分 该项目较为新颖…

如何使用OpenCV扫描图像、查找表和时间测量

返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV4.9.0开源计算机视觉库核心功能(核心模块) ​ 编辑 目标 我们将寻求以下问题的答案: 如何浏览图像的每个像素?OpenCV 矩…

SVN的branch分支合并完要不要删除

在 SVN 中,当一个分支(branch)的工作已经完成并成功合并回主干(trunk)后,通常不需要立即删除该分支。保留分支可以有一些好处,例如: 历史记录和追溯:保留分支可以帮助团…

pycharm搭建新的解释器及删除处理

目录 1.创建虚拟环境 个人实际操作: 对于“继承全局站点包”: 2.创建一个新项目 3.删除操作 (1)删除解释器 (2)删除新建项目 1.创建虚拟环境 Pycharm官方文档说明网址: Configure a virt…

StringRedisTemplate

Redis快速入门 3.2.3.StringRedisTemplate 为了节省内存空间,我们可以不使用JSON序列化器来处理value,而是统一使用String序列化器,要求只能存储String类型的key和value。当需要存储Java对象时,手动完成对象的序列化和反序列化。…

芯片工程系列(5)2.5D 3D封装

0 英语缩写 硅通孔(Through Silicon Via,TSV)硅中介层(Silicon Interposer)物理气象沉淀法(Physical Vapor Deposition,PVD)DRIE、CVD、PVD、CMP等设备CoWoS(Chip on Wa…

SpringMVC | SpringMVC中的 “文件上传和下载”

目录: 一、文件上传1.1 文件上传“概述”1.2 文件上传“具体配置” :“前端”中配置“文件上传” ( type“file” 满足3个条件 )“后端”中配置“文件上传” ( 配置id为“CommonsMultipartResolver”的bean 配置“文件上传”的“约束条件” 通过“MultipartFile接口”参数接…

【C语言数据结构】排序

1.排序的概念 在深入研究各个排序算法之前,首先,我们要对排序有个大概的了解,即与排序相关的一些概念 Q:什么是排序? A:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小…

Rust egui(3) 增加多个tab

话说不知道咋写,要不直接上git patch吧。代码都是移植的官方demo,核心改动就是把原来的line_demo换成了plot_demo,里面实现多个ui,然后点击tab标题会切换不同的ui。 如下图,Lines和Markers两个不同的标签对应不同的ui。…

pytest框架的封装以及用例管理框架

pytest框架的封装以及用例管理框架 公共类统一封装requests_util02.pytest_api01.py 自动化测试的基础自动化测试的介入点自动化测试和手工测试占比自动化实施过程 pytest元素定位元素定位查找元素定位的方式通过 ID 定位通过 Name 定位通过 Class Name 定位通过 Tag Name 定位…

数据结构面试常见问题之串的模式匹配(KMP算法)系列-简单解决方案

😀前言 字符串匹配是计算机科学中一个常见的问题,指的是在一个长字符串中查找一个短字符串的出现位置。在文本编辑、生物信息学、数据挖掘等领域都有着广泛的应用。 本文将介绍 KMP 算法,一种用于解决字符串匹配问题的经典算法。KMP 算法可以…

鸿蒙网络开发学习:【ylong_http】

简介 ylong_http 构建了完整的 HTTP 能力,支持用户使用 HTTP 能力完成通信场景的需求。 ylong_http 使用 Rust 编写,为 OpenHarmony 的 Rust 能力构筑提供支持。 ylong_http 在 OpenHarmony 中的位置 ylong_http 向 OpenHarmony 系统服务层中的网络协…

flutter实现视频播放器,可根据指定视频地址播放、设置声音,进度条拖动,下载等

需要装依赖&#xff1a; gallery_saver: ^2.3.2video_player: ^2.8.3 AndroidManifest.xml <uses-permission android:name"android.permission.INTERNET"/> 实现代码 import dart:async; import dart:io;import package:flutter/material.dart; import pa…

深入理解栈和队列(二):队列

个人主页&#xff1a;17_Kevin-CSDN博客 专栏&#xff1a;《数据结构》 一、队列的概念和结构 队列是只允许在一端进行插入数据操作&#xff0c;在另一端进行删除数据操作的特殊线性表&#xff0c;队列具有先进先出 FIFO(First In First Out) 入队列&#xff1a;进行插入操作的…

OC对象 - 关联对象(如何给分类添加成员变量)

文章目录 OC对象 - 关联对象&#xff08;如何给分类添加成员变量&#xff09;1. 基本使用1.1 提供的API1.1.1 添加关联对象1.1.2 获得关联对象1.1.3 移除所有关联对象1.1.3 修饰符 1.2 使用方法1.2 Key的常见用法1.2.1 使用的get方法的selecor作为key1.2.2 使用指针的地址作为k…

【Node.js】zlib

gzip 和 deflate 的基本使用 const zlib require("zlib"); const fs require(fs)// 压缩 1. createGzip .gz 2. createDeflate .deflate // const readStream fs.createReadStream(index.txt) // const writeStream fs.createWriteStream(index.txt.gz) // rea…

Python Flask 自定义404错误

from flask import Flask, abort, make_response, request, render_templateapp Flask(__name__)# 重定向到百度 app.route(/index, methods["GET", "POST"]) def index():if request.method "GET":return render_template("index.html&q…

Python Flask 自定义过滤器

{{ data.list | li2 }} li2就是自定义的 from flask import Flask, render_templateapp Flask(__name__)app.route("/index") def index():data {name: "张三","age": 18,list: [123123, 41, 123]}return render_template("index2.html…