当前位置: 首页 > news >正文

转录组上游分析流程(三)

环境部署——数据下载——查看数据(非质控)——数据质控——数据过滤(过滤低质量数据)

测序得到的原始序列含有接头序列和低质量序列,为了保证信息分析的准确性,需要对原始数据进行质量控制,得到高质量序列(Clean Reads),原始序列质量控制的建议标准为:

  1. 接头:去除含接头的reads;

  2. 序列质量:过滤去除低质量值数据,确保数据质量;

  3. N碱基比例:去除含有N(无法确定碱基信息)的比例大于5%的reads

数据过滤的两个工具:Trim_Galore 和 Fastp

数据过滤—Trim_Galore

Trim_Galore是一个用于处理高通量测序数据的开源工具。它的主要功能是进行 质量控制 和 接头(adapter)去除,以便得到高质量的下游数据分析结果。

单样本:
  1. --phred33: 指定 Phred 质量得分编码为 Phred+33。这是默认值,也是常用的 Illumina 测序质量得分编码。如果测序质量分数使用的是 Phred+64 编码,需要使用 --phred64。

  2. -q 20: 设置 最低质量阈值。这里的 20 表示修剪掉质量分数低于 20 的碱基。Phred score 为 20 意味着测序错误率小于 1%,即碱基识别的准确率为 99%。

  3. --length 36: 设置最低序列长度。修剪后,保留长度至少为 36 个碱基的序列,短于 36bp 的序列将被丢弃。

  4. --stringency 3:接头匹配的严格度。指定修剪时对于接头序列的严格度。这里的 3 表示在序列的 末端至少有 3 个碱基与接头完全匹配 才会被识别为接头。

  5. --fastqc:在修剪前和修剪后对 数据质量 进行 FastQC 分析。会生成一个详细的 HTML 报告,以供用户检查数据质量。

  6. --paired: 指定输入的数据是 双端测序数据。Trim Galore 会同步处理配对的两个 FASTQ 文件,以确保配对关系不会在修剪过程中丢失。

  7. --max_n 3: 如果序列中有超过 3 个 未确定的碱基 (N),则该序列会被丢弃。这是为了避免包含大量不确定碱基的序列影响下游分析。

  8. -o ./trim_galore/: 指定 输出目录,修剪后的文件和报告会保存在 ./trim_galore/ 目录中。

  9. ./rawdata/SRR23881762_1.fastq.gz 和 ./rawdata/SRR23881762_2.fastq.gz输入的双端测序数据文件。SRR23881762_1.fastq.gz 是 第一端序列,SRR23881762_2.fastq.gz 是 第二端序列。

trim_galore参数有很多具体可以--help查看或者点击参考资料中的链接学习。

trim_galore --phred33 -q 20 --length 36    \
--stringency 3 --fastqc --paired --max_n 3 \
-o ./trim_galore/                          \
./rawdata/SRR23881762_1.fastq        \
./rawdata/SRR23881762_2.fastq
# check一下
ls ./trim_galore

多样本:
  1. ls ./rawdata/*_1.fastq.gz; 使用 ls 列出 ./rawdata/ 目录下所有以 _1.fastq.gz 结尾的文件。这通常是双端测序数据的 第一端 FASTQ 文件。例如:./rawdata/SRR23881762_1.fastq.gz、./rawdata/SRR23881763_1.fastq.gz。

  2. | cut -d"/" -f3; 使用 cut 命令来按 "/" 分隔符拆分路径,提取第 3 个字段。假设 ls 输出为 ./rawdata/SRR23881762_1.fastq.gz,分隔后的部分是 SRR23881762_1.fastq.gz。-f3 表示提取分割后的第三部分,这里就是文件名。

  3. | cut -d "" -f1; 再次使用 cut,这次是按 "" 分隔符拆分文件名,提取第 1 个字段。对 SRR23881762_1.fastq.gz,分割结果为 SRR23881762。-f1 表示提取第一部分,这里就是样本 ID。

  4. 使用 > 将前面命令的输出重定向到 sample.ID 文件中。每个样本 ID 会以新行的形式写入该文件。

ls ./rawdata/*_1.fastq.gz | cut -d"/" -f3 | cut -d "_" -f1 > sample.ID
$ cat sample.ID
SRR23881762
SRR23881763
SRR23881764
写入脚本
cat sample.ID | while read id
dotrim_galore --phred33 -q 20 --length 36    \--stringency 3 --fastqc --paired --max_n 3 \-o ./trim_galore/                          \./rawdata/${id}_1.fastq.gz             \./rawdata/${id}_2.fastq.gz
done
把命令提交到后台
  1. nohup:使用 nohup 运行命令可以使命令在后台持续运行,即使你关闭终端会话,命令也不会被中断。通常用于需要长时间运行的任务。

  2. bash trim_galore.sh:bash 用来执行脚本,trim_galore.sh 是要运行的脚本文件。trim_galore.sh 可能包含多个 trim_galore 命令或其他批处理命令。

  3. 1>trim_galore.log:1> 是将标准输出(即程序正常运行的信息)重定向到 trim_galore.log 文件。trim_galore.log 文件将保存所有的标准输出内容。

  4. 2>&1:2> 是将标准错误(即程序运行时的错误信息)重定向。2>&1 表示将标准错误(文件描述符 2)重定向到与标准输出相同的位置(文件描述符 1)。因此,所有的错误信息也会被记录在 trim_galore.log 文件中。

  5. &:& 用于将整个命令放到后台执行。

nohup  bash  trim_galore.sh  1>trim_galore.log  2>&1  &
数据过滤—fastp
单样本:

fastp 是一个快速且功能强大的质量控制(QC)工具,用于处理 FASTQ 格式的测序数据。

  1. -i ./rawdata/SRR23881762_1.fastq:-i 指定第一个FASTQ 文件的输入路径。这里指定了 ./rawdata/SRR23881762_1.fastq 作为第一个输入文件。

  2. -I ./rawdata/SRR23881762_2.fastq:-I 指定第二个FASTQ 文件的输入路径。这里指定了 ./rawdata/SRR23881762_2.fastq 作为第二个输入文件。这表示使用了双端测序的配对数据。

  3. -o ./fastp/SRR23881762_1.fastp.fq:-o 指定第一个(左端)输出文件的路径,用于保存质量控制和修剪后的数据。输出文件名为 SRR23881762_1.fastp.fq,保存在 ./fastp/ 目录下。

  4. -O ./fastp/SRR23881762_2.fastp.fq:-O 指定第二个(右端)输出文件的路径,用于保存质量控制和修剪后的数据。输出文件名为 SRR23881762_2.fastp.fq,保存在 ./fastp/ 目录下。

  5. -h ./fastp/SRR23881762.html:-h 指定一个 HTML 报告的输出路径,用于质量控制的可视化结果。报告保存为 SRR23881762.html,位于 ./fastp/ 目录中。

  6. -j ./fastp/SRR23881762.json:-j 指定一个 JSON 报告的输出路径,用于保存质量控制的详细统计信息。报告保存为 SRR23881762.json,位于 ./fastp/ 目录中。

  7. -l 36:-l 设置输出序列的最短长度阈值。低于 36 个碱基长度的序列将被过滤掉。这里指定了最短长度为 36。

  8. -q 20:-q 设置质量阈值(Phred 质量值)。低于 20 的碱基将被修剪。这意味着质量低于 20 的碱基被认为是低质量,会被修剪或丢弃。

  9. --compression=2:--compression 设置输出文件的压缩级别。这里使用了 2,表示中等压缩。范围一般为 0(无压缩)到 9(最大压缩)。

fastp -i ./rawdata/SRR23881762_1.fastq \-I ./rawdata/SRR23881762_2.fastq \-o ./fastp/SRR23881762_1.fastp.fq    \-O ./fastp/SRR23881762_2.fastp.fq    \-h ./fastp/SRR23881762.html             \-j ./fastp/SRR23881762.json             \-l 36 -q 20 --compression=2 
# check一下
ls ./fastp

多样本:
cat sample.ID | while read id
do
fastp -i ./rawdata/${id}_1.fastq.gz \-I ./rawdata/${id}_2.fastq.gz \-o ./fastp/${id}_1.fastp.fq.gz    \-O ./fastp/${id}_2.fastp.fq.gz    \-h ./fastp/${id}.html             \-j ./fastp/${id}.json             \-l 36 -q 20 --compression=2
done
nohup  bash  fastp.sh  1>fastp.log  2>&1  &
参考资料:
  1. Trim_galore:https://github.com/FelixKrueger/TrimGalore/blob/master/Docs/Trim_Galore_User_Guide.md

  2. fastp:https://github.com/OpenGene/fastp

  3. 生信技能树:https://mp.weixin.qq.com/s/dxoorMYHU-tlxMcICnTQTg

  4. 生信菜鸟团:https://mp.weixin.qq.com/s/Z5YNRkJ6tlY_tAeuUfL8SA

致谢:感谢曾老师/新叶老师以及生信技能树团队全体成员。

:若对内容有疑惑或者有发现明确错误的朋友,请联系后台(欢迎交流)。更多内容可关注公众号:生信方舟

- END -

相关文章:

转录组上游分析流程(三)

环境部署——数据下载——查看数据(非质控)——数据质控——数据过滤(过滤低质量数据) 测序得到的原始序列含有接头序列和低质量序列,为了保证信息分析的准确性,需要对原始数据进行质量控制,得到高质量序列(Clean Reads),原始序列…...

excel判断某一列(A列)中的数据是否在另一列(B列)中

如B列如果有7个元素,在A列右边的空白列中,输入如下公式: COUNTIF($B$1:$B$7,A1), 其中,$B$1:$B$7代表A列中的所有数据即绝对范围,A1代表B列中的一个单元格....

[环境配置]macOS上怎么查看vscode的commit id

macOS的commit id和windows上有点不一样,windows可以在帮助-关于查看 macOS则需要再左边第一个查看...

.net framework 3.5sp1组件安装进度条不动启动错误怎么解决

安装.NET Framework 3.5 SP1通常需要管理员权限。这是因为安装过程可能需要修改系统文件和注册表项,这些操作通常需要管理员权限才能执行。在Windows系统上,安装.NET Framework 3.5 SP1通常通过控制面板中的“启用或关闭Windows功能”选项进行&#xff0…...

学习threejs,利用THREE.ExtrudeGeometry拉伸几何体实现svg的拉伸

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.ExtrudeGeometry拉伸…...

大模型之三十二-语音合成TTS(coqui) 之二 fine-tune

在 大模型之三十-语音合成TTS(coqui)[shichaog CSDN]中提到了xttsv2的fine-tune。 数据情况: 我是从bilibili up主小Lin说提取了一些视频,然后进行了重新的fine-tune。 训练结果 如下图所示,上面波形幅度较大的是xttsv2原始模型的结果&am…...

JVM的内存模型是什么,每个区域的作用是什么,以及面试题(含答案)

JVM(Java 虚拟机)内存模型定义了 Java 程序在运行时如何分配、管理和优化内存。JVM 内存模型主要分为几个关键区域,每个区域有特定的作用: JVM 内存模型 堆内存(Heap): 作用:用于存…...

《设计模式三》Java代理模式实现

Java代理模式实现 静态代理实现 // Subject.java // 主题接口,定义了请求方法 public interface Subject {void request(); }// RealSubject.java // 真实主题实现类,实现了Subject接口 public class RealSubject implements Subject {Overridepublic …...

vue3中计算属性的用法以及使用场景

在 Vue 3 中,计算属性(computed properties)是一种基于依赖项动态计算并缓存的响应式数据。它与 Vue 2 中的计算属性类似,但在组合式 API 中使用 computed 函数来定义。计算属性的核心优势在于能够自动缓存计算结果,仅…...

pytorh学习笔记——cifar10(六)MobileNet V1网络结构

基础知识储备: 一、深度可分离卷积(Depthwise Separable Convolution) MobileNet的核心是深度可分离卷积(Depthwise Separable Convolution),深度可分离卷积是卷积神经网络(CNN&#xf…...

报表系统-连接数据库操作

本专栏用于解析自己开源的项目代码,作为复盘和学习使用。欢迎大家一起交流 本样例说明源码开源在: ruoyi-reoprt gitee仓库 ruoyi-report github仓库 欢迎大家到到项目中多给点star支持,对项目有建议或者有想要了解的欢迎一起讨论 连接数据库…...

[计算机网络] 常见端口号

前言 ​ 常见的端口号是指互联网协议(如TCP/IP)中预留给特定服务使用的数字范围。它们主要用于标识网络应用程序和服务,并帮助数据包在网络中找到正确的接收方。 按协议类型划分 TCP协议端口: 21:FTP文件传输协议2…...

Linux系统块存储子系统分析记录

1 Linux存储栈 通过网址Linux Storage Stack Diagram - Thomas-Krenn-Wiki-en,可以获取多个linux内核版本下的存储栈概略图,下面是kernel-4.0的存储栈概略图: 2 存储接口、传输速度 和 协议 2.1 硬盘 《深入浅出SSD:固态存储核心…...

大数据——本地威胁检测的全球方法

大数据似乎是众多专业人士关注的话题,从在自然灾害发生时帮助挽救生命,到帮助营销团队设计更有针对性的策略以接触新客户。 对于安全工程师来说,大数据分析被证明是抵御不断演变的网络入侵的有效防御手段,这得益于基于大量不同网…...

使用postman接口测试

一 、postman断言 1、什么是断言 postman 断言借助JavaScript -js 语言编写代码,自动判断预期结果与实际结果是否一致。 断言代码写在 Tests 的标签中。(新版本在Scripts标签中) 2、断言工作原理 3、常用断言 断言响应状态码 // 断言响应状态码 是否为 200 pm.…...

Ubuntu24.04双系统安装(Linux/windows共存一文打通)

他向远方望去,无法看到高山背后的矮山,只能看到一座座更高的山峰。 目录 ​编辑 一.前言 二.虚拟机和双系统比较 三.Windows/Linux双系统安装 1.Rufus-制作U盘启动盘系统工具安装 2.Ubuntu24.04下载 3.Ubuntu-u盘启动盘制作 4.压缩磁盘留足安装空…...

C++ - deque

博客主页:【夜泉_ly】 本文专栏:【C】 欢迎点赞👍收藏⭐关注❤️ 文章目录 💡双端队列简介1. 基本特性2. 与其他容器的比较与 vector与 list 3. 中控数组的设计4. 优缺点优点缺点 5. 应用场景6. 结论 💡双端队列简…...

国产!瑞芯微米尔RK357核心板革新AIoT设备,8核6T高算力

随着科技的快速发展,AIoT智能终端对嵌入式模块的末端计算能力、数据处理能力等要求日益提高。近日,米尔电子发布了一款基于瑞芯微RK3576核心板和开发板。核心板提供4GB/8GB LPDDR4X、32GB/64GB eMMC等多个型号供选择。瑞芯微RK3576核心优势主要包括高性能…...

中国人寿财险青岛市分公司践行绿色金融,助力可持续发展

中国人寿财险青岛市分公司积极响应国家绿色发展战略,大力推进绿色金融实践。在保险产品创新方面,推出一系列绿色保险产品。如新能源汽车保险,为新能源汽车产业发展提供风险保障,促进交通领域的节能减排。环境污染责任保险则助力企…...

ajax 读取文件

DOMException: Failed to read the responseXML property from XMLHttpRequest: The value is only accessible if the objects responseType is or document (was blob). at XMLHttpRequest.r ( $.ajax({ url: 未来之窗_服务, method: GET, …...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

云计算——弹性云计算器(ECS)

弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

dedecms 织梦自定义表单留言增加ajax验证码功能

增加ajax功能模块&#xff0c;用户不点击提交按钮&#xff0c;只要输入框失去焦点&#xff0c;就会提前提示验证码是否正确。 一&#xff0c;模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上&#xff0c;看到基于小智 AI DIY 玩具的演示&#xff0c;感觉有点意思&#xff0c;想着自己也来试试。 如果只是想烧录现成的固件&#xff0c;乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外&#xff0c;还提供了基于网页版的 ESP LA…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案

这个问题我看其他博主也写了&#xff0c;要么要会员、要么写的乱七八糟。这里我整理一下&#xff0c;把问题说清楚并且给出代码&#xff0c;拿去用就行&#xff0c;照着葫芦画瓢。 问题 在继承QWebEngineView后&#xff0c;重写mousePressEvent或event函数无法捕获鼠标按下事…...

如何更改默认 Crontab 编辑器 ?

在 Linux 领域中&#xff0c;crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用&#xff0c;用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益&#xff0c;允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...