转录组上游分析流程(三)
环境部署——数据下载——查看数据(非质控)——数据质控——数据过滤(过滤低质量数据)
测序得到的原始序列含有接头序列和低质量序列,为了保证信息分析的准确性,需要对原始数据进行质量控制,得到高质量序列(Clean Reads),原始序列质量控制的建议标准为:
-
接头:去除含接头的reads;
-
序列质量:过滤去除低质量值数据,确保数据质量;
-
N碱基比例:去除含有N(无法确定碱基信息)的比例大于5%的reads
数据过滤的两个工具:Trim_Galore 和 Fastp
数据过滤—Trim_Galore
Trim_Galore是一个用于处理高通量测序数据的开源工具。它的主要功能是进行 质量控制 和 接头(adapter)去除,以便得到高质量的下游数据分析结果。
单样本:
-
--phred33: 指定 Phred 质量得分编码为 Phred+33。这是默认值,也是常用的 Illumina 测序质量得分编码。如果测序质量分数使用的是 Phred+64 编码,需要使用 --phred64。
-
-q 20: 设置 最低质量阈值。这里的 20 表示修剪掉质量分数低于 20 的碱基。Phred score 为 20 意味着测序错误率小于 1%,即碱基识别的准确率为 99%。
-
--length 36: 设置最低序列长度。修剪后,保留长度至少为 36 个碱基的序列,短于 36bp 的序列将被丢弃。
-
--stringency 3:接头匹配的严格度。指定修剪时对于接头序列的严格度。这里的 3 表示在序列的 末端至少有 3 个碱基与接头完全匹配 才会被识别为接头。
-
--fastqc:在修剪前和修剪后对 数据质量 进行 FastQC 分析。会生成一个详细的 HTML 报告,以供用户检查数据质量。
-
--paired: 指定输入的数据是 双端测序数据。Trim Galore 会同步处理配对的两个 FASTQ 文件,以确保配对关系不会在修剪过程中丢失。
-
--max_n 3: 如果序列中有超过 3 个 未确定的碱基 (N),则该序列会被丢弃。这是为了避免包含大量不确定碱基的序列影响下游分析。
-
-o ./trim_galore/: 指定 输出目录,修剪后的文件和报告会保存在 ./trim_galore/ 目录中。
-
./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
多样本:
-
ls ./rawdata/*_1.fastq.gz; 使用 ls 列出 ./rawdata/ 目录下所有以 _1.fastq.gz 结尾的文件。这通常是双端测序数据的 第一端 FASTQ 文件。例如:./rawdata/SRR23881762_1.fastq.gz、./rawdata/SRR23881763_1.fastq.gz。
-
| cut -d"/" -f3; 使用 cut 命令来按 "/" 分隔符拆分路径,提取第 3 个字段。假设 ls 输出为 ./rawdata/SRR23881762_1.fastq.gz,分隔后的部分是 SRR23881762_1.fastq.gz。-f3 表示提取分割后的第三部分,这里就是文件名。
-
| cut -d "" -f1; 再次使用 cut,这次是按 "" 分隔符拆分文件名,提取第 1 个字段。对 SRR23881762_1.fastq.gz,分割结果为 SRR23881762。-f1 表示提取第一部分,这里就是样本 ID。
-
使用 > 将前面命令的输出重定向到 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
把命令提交到后台
-
nohup:使用 nohup 运行命令可以使命令在后台持续运行,即使你关闭终端会话,命令也不会被中断。通常用于需要长时间运行的任务。
-
bash trim_galore.sh:bash 用来执行脚本,trim_galore.sh 是要运行的脚本文件。trim_galore.sh 可能包含多个 trim_galore 命令或其他批处理命令。
-
1>trim_galore.log:1> 是将标准输出(即程序正常运行的信息)重定向到 trim_galore.log 文件。trim_galore.log 文件将保存所有的标准输出内容。
-
2>&1:2> 是将标准错误(即程序运行时的错误信息)重定向。2>&1 表示将标准错误(文件描述符 2)重定向到与标准输出相同的位置(文件描述符 1)。因此,所有的错误信息也会被记录在 trim_galore.log 文件中。
-
&:& 用于将整个命令放到后台执行。
nohup bash trim_galore.sh 1>trim_galore.log 2>&1 &
数据过滤—fastp
单样本:
fastp 是一个快速且功能强大的质量控制(QC)工具,用于处理 FASTQ 格式的测序数据。
-
-i ./rawdata/SRR23881762_1.fastq:-i 指定第一个FASTQ 文件的输入路径。这里指定了 ./rawdata/SRR23881762_1.fastq 作为第一个输入文件。
-
-I ./rawdata/SRR23881762_2.fastq:-I 指定第二个FASTQ 文件的输入路径。这里指定了 ./rawdata/SRR23881762_2.fastq 作为第二个输入文件。这表示使用了双端测序的配对数据。
-
-o ./fastp/SRR23881762_1.fastp.fq:-o 指定第一个(左端)输出文件的路径,用于保存质量控制和修剪后的数据。输出文件名为 SRR23881762_1.fastp.fq,保存在 ./fastp/ 目录下。
-
-O ./fastp/SRR23881762_2.fastp.fq:-O 指定第二个(右端)输出文件的路径,用于保存质量控制和修剪后的数据。输出文件名为 SRR23881762_2.fastp.fq,保存在 ./fastp/ 目录下。
-
-h ./fastp/SRR23881762.html:-h 指定一个 HTML 报告的输出路径,用于质量控制的可视化结果。报告保存为 SRR23881762.html,位于 ./fastp/ 目录中。
-
-j ./fastp/SRR23881762.json:-j 指定一个 JSON 报告的输出路径,用于保存质量控制的详细统计信息。报告保存为 SRR23881762.json,位于 ./fastp/ 目录中。
-
-l 36:-l 设置输出序列的最短长度阈值。低于 36 个碱基长度的序列将被过滤掉。这里指定了最短长度为 36。
-
-q 20:-q 设置质量阈值(Phred 质量值)。低于 20 的碱基将被修剪。这意味着质量低于 20 的碱基被认为是低质量,会被修剪或丢弃。
-
--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 &
参考资料:
-
Trim_galore:https://github.com/FelixKrueger/TrimGalore/blob/master/Docs/Trim_Galore_User_Guide.md
-
fastp:https://github.com/OpenGene/fastp
-
生信技能树:https://mp.weixin.qq.com/s/dxoorMYHU-tlxMcICnTQTg
-
生信菜鸟团: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功能”选项进行࿰…...

学习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…...

报表系统-连接数据库操作
本专栏用于解析自己开源的项目代码,作为复盘和学习使用。欢迎大家一起交流 本样例说明源码开源在: 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, …...

地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...

MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...

k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...

springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...

七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...

C# 表达式和运算符(求值顺序)
求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...