生信人 RNA-seq

news2025/1/16 15:59:05

RNA-seq:6-qc-2

#先跑一个综合的 Multiqc 报告
#将fastqc生成的多个报告整合成一个报告,方便查看所有测序数据的质量。
conda install multiqc -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
cd /home/yinwen/RNA-seq_report/
multiqc .

用我们自己的DG数据分析一下:

① General Statistics:

 在这里我们能看到各个样本的概况或基本信息

解读:

  • %Dups:Duplicate Reads Percent,重复reads的比例
  • %GC:Average %GC Content,平均GC含量百分比
  • M Seqs:Total Sequences,总测序量
  • Length:Average Sequence Length,平均序列长度
  • %Failed:Percentage of modules failed in FastQC report,报告中不合格数据的百分比

点击左侧的 Configure Columns 可以自定义展示列参数

② Sequence Counts

该部分对每个样本序列进行了计数,横坐标为总的reads数(和General Stats中的M seqs一致),纵坐标为不同样本。蓝色和黑色下方有标记。

③ Sequence Quality Histograms

此部分为reads中每个位置(从0到150bp)的平均质量值,横坐标为位置。X轴并不是均匀的;纵坐标为质量分数,计算公式为

所以当质量分数为40的时候,p就是0.0001。

图中绿色表示合格(通过),黄色代表(警告红色则代表失败(不合格)。

图上所示DG的综合数据的质量分数在35%~40%之间,说明p值低,错误率低,质量好。

 Per Sequence Quality Scores

该部分为reads次数平均质量分数之间的关系,可以理解为reads质量的分布情况当质量小于27时报“警告”,小于20时报“失败”

由图中可以看出来:

值越靠右代表高质量的reads越多,数据也就越好,说明我们的DG数据质量好

⑤ Per Base Sequence Content

MultiQC:能很直观的看到哪些样本是“WARN”,哪些是“FAIL”。当把鼠标放到图上时,还能清楚的看到每一个位置碱基的分布情况。

FastQC:该部分展现了reads每一个位置的ATCG四种碱基的分布情况。

· 横轴为位置,纵轴为碱基含量,正常情况下每个位置每种碱基出现的概率是相近的,四条线应该平行且相近。当部分位置碱基的比例出现分歧时,即四条线在某些位置纷乱交织,往往提示我们有污染。当任一位置的A/T比例与G/C比例相差超过10%,报"WARN";当任一位置的A/T比例与G/C比例相差超过20%,报"FAIL"。

分析:我们的DG的图前15bp,碱基频率有明显的差别,按道理说明有污染。但是,在大多数RNAseq文库制备方法中,前10-15bp碱基分布明显不均匀,这是正常的,具体取决于使用的文库试剂盒的类型。即使序列完全正确,这种碱基组成不均匀的数据也会被认为是不合格。

⑥ Per Sequence GC Content(用于评估污染)

该部分展现了reads的平均GC含量,我们能看到有12个“警告”。

上图的fastqc报告来自我们非常高质量的RNA-seq数据,但FastQC仍然认定为“警告”,因为它比理论曲线窄。这种情况非常正常,因此可以忽略警告

⑦ Per Base N Content

该部分展现了不同样本不同位置N的比例。当测序仪器不能辨别某条reads的某个位置到底是什么碱基时,就会产生“N”正常情况下,N值非常小。当任意位置的N的比例超过5%,报"WARN";当任意位置的N的比例超过20%,报"FAIL"。

⑧ Sequence Length Distribution

该部分为reads的长度分布,当reads长度不一致时报"WARN";当有长度为0的reads时报“FAIL”。

⑨ Sequence Duplication Levels

MultiQC报告的结果 12个都为FAIL

该部分展现了不同拷贝数的reads的频率。横坐标是duplication的次数,纵坐标是Deduplicated reads的百分比,以unique reads的总数作为100%。

当非unique的reads占总数的比例大于20%时,报"WARN";

当非unique的reads占总数的比例大于50%时,报"FAIL“。

扩展:通常有两种重复reads的来源,PCR重复即 biased PCR富集 和 真正高表达的序列。前者会错误的反映样本序列中的真实比例,后者是正常情况。测序深度越高,越容易产生一定程度的duplication;但如果duplication的程度很高,就提示我们可能有bias的存在。

接下来是过滤

①下载trim_galore

​#查找自己已经建立的环境
conda info --envs
#进入python2的环境
conda activate py2env
#查看依赖的安装包是否下载好
cutadapt -h
fastqc -h

#下载trim-galore
conda install trim-galore

# 查看是否安装好
trim_galore --help

#我们回到报告中查看接头,截取一段
zcat DG5_1_R1.fq.gz |grep TTCTAAGTTCATCT

如上图,说明里面含有接头,这些序列是没有意义的,需要过滤

#先用视频里的trim_galore处理单个样本,跑完就是过滤好的数据了
fq1=/home/yinwen/biosoft/DNG_part/DG5_1_R1.fq.gz
fq2=/home/yinwen/biosoft/DNG_part/DG5_2_R1.fq.gz
trim_galore -q 25 --phred33 --length 75 -e 0.1 --stringence 3 --paired --fastqc -o /home/yinwen/clean/ $fq1 $fq2

这里发现跑出来的报告不对,接头还在,序列重复水平依很高,过滤失败。

观察模块的结果,为后续过滤,做好准备
观察后发现:

①5’端的碱基,剪掉18bp。

②3’端的碱基不需要修剪,质量很高。

③Adapt接头序列进行修剪。

④重复序列偏多,需要去除。

#修饰参数,5’端的碱基,剪掉18bp,接头内容正常了。
trim_galore -q 20 --phred33 --fastqc --stringency 3 --length 75 -e 0.1 --paired --dont_gzip --clip_R1 18 --clip_R2 18 --illumina -o ./ /home/yinwen/biosoft/DNG_part/DG5_1_R1.fq.gz /home/yinwen/biosoft/DNG_part/DG5_1_R2.fq.gz

#看一下重复序列
zcat DG5_1_R1.fq.gz |grep CCTCGTTCTCGGCGGCAGGAGCATCCACGACGACGGTGTCCATGGAGCGG

#还要继续用其他软件去除那个重复序列??

#决定下载 trimmomatic了

conda install -c bioconda trimmomatic
trimmomatic --help

#部分参数介绍
ILLUMINACLIP: Cut adapter and other illumina-specific sequences from the read.
ILLUMINACLIP:TruSeq3-PE.fa:2:30:10 # 切除TruSeq3-PE中提供的Illumina适配器,去接头
SLIDINGWINDOW: Perform a sliding window trimming, cutting once the average quality within the window falls below a threshold.
SLIDINGWINDOW:4:15 #扫描4个碱基宽滑动窗口,当每个碱基的平均质量下降到15以下时进行剪切
LEADING: Cut bases off the start of a read, if below a threshold quality
LEADING:3      # 删除前低质量碱基(低于质量3)
TRAILING: Cut bases off the end of a read, if below a threshold quality
TRAILING:3      # 删除后低质量碱基(低于质量3)
CROP: Cut the read to a specified length
CROP:length    #从reads开始开始所要保留的碱基数为length
HEADCROP: Cut the specified number of bases from the start of the read
HEADCROP:12      #删除前12个碱基
MINLEN: Drop the read if it is below a specified length
MINLEN:36      # 上述步骤完成后,删除小于36个碱基的reads (放最后)
TOPHRED33: Convert quality scores to Phred-33
-phred33    #表示将质量分数转换为 Phred-33
TOPHRED64: Convert quality scores to Phred-64
-phred64    #表示将质量分数转换为 Phred-64
trimmomatic PE -phred33 DG5_1_R1.fq.gz DG5_1_R2.fq.gz output_forward1__paired.fq.gz output_forward1_unpaired.fq.gz output_reverse2_paired.fq.gz output_reverse2_unpaired.fq.gz ILLUMINACLIP:/home/yinwen/miniconda3/pkgs/trimmomatic-0.39-hdfd78af_2/share/trimmomatic-0.39-2/adapters/TruSeq3-PE.fa:2:30:10 LEADING:3 TRAILING:20 SLIDINGWINDOW:4:15 HEADCROP:18 MINLEN:75

跑完后之前的又又又失败了,显路径不对,我也是用connda安装的,改路径,不报错,再跑。

会用trimmomatic了,但是序列重复还是没解决。

对于“Sequence Duplication Levels"中的大量重复我查阅资料发现在单细胞数据中是正常的。

也或许要的就是这个过表达的效果?

我跑出来获得的过表达序列的图:

经过过滤,其reads长度集中分布在120-130nt的位置几平与测序读长一致,且未见明显的小片段reads,表明测序数据质量良好。此处报“WARN”是由于reads长度不一致 (clean reads长度不一完全属正常现象)
 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【算法与数据结构】474、LeetCode一和零

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:本题要找strs数组的最大子集,这个子集最多含有 m m m个0和 n n n个1。本题也可以抽象成一个…

【LeetCode每日一题】2809. 使数组和小于等于 x 的最少时间

2024-1-19 文章目录 [2809. 使数组和小于等于 x 的最少时间](https://leetcode.cn/problems/minimum-time-to-make-array-sum-at-most-x/)思路: 2809. 使数组和小于等于 x 的最少时间 思路: 获取两个列表的长度n,并初始化一个二维数组f&…

Spring Boot整合Redis的高效数据缓存实践

引言 在现代Web应用开发中,数据缓存是提高系统性能和响应速度的关键。Redis作为一种高性能的缓存和数据存储解决方案,被广泛应用于各种场景。本文将研究如何使用Spring Boot整合Redis,通过这个强大的缓存工具提高应用的性能和可伸缩性。 整合…

从零开始c++精讲:第四篇——模板初阶

文章目录 一、泛型编程二、函数模板2.1函数模板概念2.2函数模板格式2.3函数模板原理2.4函数模板实例化2.5函数模板匹配原则 三、类模板3.1类模板的定义格式3.2类模板的实例化 一、泛型编程 如何实现一个通用的交换函数呢? void Swap(int& left, int& righ…

TCP/IP协议及配置、IP地址、子网掩码、网关地址、DNS与DHCP介绍

一、什么是服务器 能够为其他计算机提供服务的更高级的电脑 尺寸:Unit 1u1.75英寸44.45mm4.445cm IDC(机房) C/S结构 Client/Server客户端和服务端 二、TCP/IP协议 计算机与计算机之间通信的协议 三要素: IP地址 子网掩码 IP路由 I…

C++设计模式之 模板方法模式

【声明】本题目来源于卡码网(题目页面 (kamacoder.com)) 【提示:如果不想看文字介绍,可以直接跳转到C编码部分】 【设计模式大纲】 【简介】 --什么是模板方法模式(第18种设计模式) 模板方法模式&#xff0…

大数据安全 | 期末复习(上)| 补档

文章目录 📚概述⭐️🐇大数据的定义、来源、特点🐇大数据安全的含义🐇大数据安全威胁🐇保障大数据安全🐇采集、存储、挖掘环节的安全技术🐇大数据用于安全🐇隐私的定义、属性、分类、…

Transformer 可解释性论文整理(超级详细)

Transformer 可解释性论文整理 前段时间想进一步的了解transformer的工作原理,于是找到了几篇可解释性的文章进行阅读,发现了许多比较有趣的现象和结论,对每篇文章都有自己的深度思考和理解,在此记录,欢迎交流。 1. …

「优选算法刷题」:二分查找

一、题目 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums [-1,0,3,5,9,12], target 9 输出: 4 …

【JavaEE进阶】实现验证码

文章目录 🌲实现说明🍃Kaptcha插件介绍🚩插件原理🚩引入依赖🚩⽣成验证码🚩Kaptcha详细配置 🍀准备⼯作🌴约定前后端交互接⼝🚩需求分析🚩接⼝定义&#x1f6…

力扣 第 122 场双周赛 解题报告 | 珂学家 | 脑筋急转弯 + 滑窗反悔堆

前言 整体评价 倒开差点崩盘,T4这个反悔堆写吐了,T3往众数上去猜了,幸好case良心。 T1. 将数组分成最小总代价的子数组 I 思路: 取 nums[1:] 的最小2个值 可以部分排序,这样更快捷 class Solution {public int minimumCost(in…

Github操作网络异常笔记

Github操作网络异常笔记 1. 源由2. 解决2.1 方案一2.2 方案二 3. 总结 1. 源由 开源技术在国内永远是“蛋疼”,这些"政治"问题对于追求技术的我们,形成无法回避的障碍。 $ git pull ssh: connect to host github.com port 22: Connection ti…

Qt QCustomPlot 绘制子轴

抄大神杰作:QCustomplot(五)QCPAxisRect进行子绘图-CSDN博客文章浏览阅读5.9k次,点赞7次,收藏60次。文中介绍了QCustomPlot 子绘图需要掌握的类,也就是Matlab中的subplot,最后给出了一个完整的例…

EtherNet/IP开发:C++搭建基础模块,EtherNet/IP源代码

这里是CIP资料的协议层级图,讲解协议构造。 ODVA(www.ODVA.org)成立于1995年,是一个全球性协会,其成员包括世界领先的自动化公司。结合其成员的支持,ODVA的使命是在工业自动化中推进开放、可互操作的信息和…

人工智能原理实验1(2)——传教士与野人问题

🧡🧡实验内容🧡🧡 有n个牧师和n个野人准备渡河,但只有一条能容纳c个人的小船,为了防止野人侵犯牧师,要求无论在何处,牧师的人数不得少于野人的人数(除非牧师人数为0),且假…

算法练习-替换数字(思路+流程图+代码)

难度参考 难度:简单 分类:字符串 难度与分类由我所参与的培训课程提供,但需要注意的是,难度与分类仅供参考。以下内容均为个人笔记,旨在督促自己认真学习。 题目 给定一个字符串S,它包含小写字母和数字字符&#xff0…

全国各省市上市公司数量数据,Shp、excel格式,含上市企业数量、行政区划中心点位经纬度等字段

基本信息. 数据名称: 全国各省市上市公司数量数据 数据格式: Shp、excel 数据时间: 2023年1月 数据几何类型: 面 数据坐标系: WGS84 数据来源:网络公开数据 数据字段: 序号字段名称字段说明1province省份名称2provin_dm省份代码3city城市名…

力扣刷MySQL-第七弹(详细讲解)

🎉欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克🍹 ✨博客主页:小小恶斯法克的博客 🎈该系列文章专栏:力扣刷题讲解-MySQL 🍹文章作者技术和水平很有限,如果文中出…

如何快速搭建springboot+前后端分离(vue),多商户客户端实现微信小程序+ios+app使用uniapp(一处编写,处处编译)

kxmalls外卖生鲜多商户,针对中小商户、企业和个人学习者开发。使用Java编码,采用SpringBoot、Mybatis-Plus等易用框架,适合个人学习研究。同时支持单机部署、集群部署,用户与店铺范围动态定位,中小商户企业可根据业务动…

C语言的编译和链接

每日一言 要保持希望在每天清晨太阳升起。 --自己 前言 当我们写下C语言代码(源文件、以.c为后缀)的时候,他需要经过一个翻译环境,被处理后形成一个可执行程序(以.exe为后缀)。形成的这个可执行程序里面放…