转录组上游分析流程(三)
环境部署——数据下载——查看数据(非质控)——数据质控——数据过滤(过滤低质量数据)
测序得到的原始序列含有接头序列和低质量序列,为了保证信息分析的准确性,需要对原始数据进行质量控制,得到高质量序列(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, …...

wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...