RNA-seq——上游分析练习(数据下载+hisat2+samtools+htseq-count)

article/2025/11/5 8:59:14

步骤

  • 0. 练习前准备
  • 1. 找到文章对应的数据集
  • 2. 下载数据集
  • 3. 与参考基因组进行比对
  • 4. reads计数
  • 5. 踩过的一点小坑

写在前面——之前使用的数据是单端测序,但是现在的数据基本都是双端测序。所以又找了个双端测序的例子来练习。之前在单端测序数据中,因为参考基因组注释文件找的不对,所以reads计数没有做好。这次数据质量不错,所以省略了质控和清洗,直接进入主题。由于租的服务器是2核+8G的,所以在生成sam文件和sort以及htseq-count都花费了大量的时间(四个样本集整整跑了将近一整天)。不过最后结果算是复现出来了,甚是欣慰。

文章名:AKAP95 regulates splicing through scaffolding RNAs and RNA processing factors

参考:https://www.jianshu.com/p/6d4cba26bb60

0. 练习前准备

a. 建好相关文件夹
在这里插入图片描述
b. 00ref:存放参考基因组和基因组注释文件(红色框框内为本文需要的文件)
在这里插入图片描述
c. 01raw_data:双端测序,所以一个样本有两个文件。
在这里插入图片描述
d. clean_data:存放处理过后的数据,本文数据质量不错,所以不用清洗即可使用
e. align_data:存放比对后的文件
f. matrix:存放reads计数文件

1. 找到文章对应的数据集

在这里插入图片描述
https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE81916

2. 下载数据集

具体:快速下载SRA数据

for ((i=59;i<=62;i++)) ;do prefetch -v SRR35899$i; done
fastq-dump --gzip --split-3 SRR35899*.sra# 在另一个Linux用户下载的,需要传到自己的目录下
scp SRR35899*.gz root@dzfly:/root/project/RNA/akap95/01raw_data/

检测公司给的数据是否完整:md5sum -c md5.txt

在这里插入图片描述

3. 与参考基因组进行比对

# 使用hisat2进行比对
# -t 显示时间
# -p 设置线程
for ((i=59;i<=62;i++)); do hisat2 -t -p 2 -x 00ref/mm10/genome -1 01raw_data/SRR35899${i}_1.fastq.gz -2 01raw_data/SRR35899${i}_2.fastq.gz -S 03align_out/SRR35899${i}.sam; done# 默认为pos排序,即默认按染色体顺序排列
for ((i=59;i<=62;i++)); do samtools sort -O bam -@ 2 -o SRR35899${i}.bam SRR35899${i}.sam; done
for ((i=59;i<=62;i++)); do samtools index SRR35899${i}.bam; done# flagstat检查一下结果
for ((i=59;i<=62;i++)); do samtools flagstat -@ 2 SRR35899${i}.bam > SRR35899${i}.flagstat; done

在这里插入图片描述

具体意义例子 参考:https://cloud.tencent.com/developer/article/1703017

在这里插入图片描述
注意:sam文件真的很大,一个大概有30G。如果你的服务器磁盘容量不够,建议生成一个sam就将其转化为bam文件,然后将sam文件删除,再进行下一个。

for ((i=59;i<=62;i++)); do hisat2 -t -p 2 -x 00ref/mm10/genome -1 01raw_data/SRR35899${i}._1.fastq.gz -2 01raw_data/SRR35899${i}._2.fastq.gz -S 03align_out/SRR35899${i}.sam | samtools sort -O bam -@ 2 -o SRR35899${i}.bam SRR35899${i}.sam | samtools index SRR35899${i}.bam | rm SRR35899${i}.sam; done

4. reads计数

# 方法一
# 首先将bam文件按照name进行排序,默认为pos排序
for ((i=59;i<=62;i++)); do samtools sort -@ 2 -n SRR35899${i}.bam -o SRR35899${i}_nsorted.bam; done
# 使用htseq-count进行计算
for ((i=59;i<=62;i++)); do htseq-count -r name -f bam 03align_out/SRR35899${i}_nsorted.bam 00ref/gencode.vM10.chr_patch_hapl_scaff.annotation.gtf > 04matrix/SRR35899${i}.count; done# 方法二
# 不按name排序,直接计算
for ((i=59;i<=62;i++)); do htseq-count -r pos -f bam 03align_out/SRR35899${i}.bam 00ref/gencode.vM10.chr_patch_hapl_scaff.annotation.gtf > 04matrix/SRR35899${i}.count; donehead -n 4 SRR35899*.count
tail -n 4 SRR35899*.count

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

no_feature:比对区域与任何基因都没有重叠 。

ambiguous:比对区域与多个基因都发生重叠

too_low_aQual:比对质量低于设定阈值(默认是10)

not_aligned:无法比对上

alignment_not_unique:比对位置不唯一

至此,上游分析就结束了。最后获得的count文件真是来之不易呀。之后就可以使用R语言等进行分析、绘图等等了。在这里插入图片描述

5. 踩过的一点小坑

没有找到对应的参考基因组注释文件,导致我的htseq-count结果全都是0。后来发现参数使用的也不对。具体如下:

注意 -r name;这里我用的文件其实是按默认pos排序的bam文件,所以结果都是0!!!

htseq-count -r name -f bam 03align_out/SRR3589959.bam 00ref/Mus_musculus.GRCm38.102.gtf > 04matrix/test1.count

在这里插入图片描述
看一下htseq-count的具体参数 :
-f 可以自动识别文件类型
-r 默认处理按name排序的文件
在这里插入图片描述
这里使用 -r pos,但是结果还是0。所以是参考基因组注释文件的问题。

htseq-count -r pos -f bam 03align_out/SRR3589959.bam 00ref/Mus_musculus.GRCm38.102.gtf > 04matrix/test2.count

在这里插入图片描述
找到准确的参考基因组注释文件:https://www.gencodegenes.org/mouse/release_M10.html
将文件按照name排序,再进行计算,结果终于不是0了!!!

samtools sort -n SRR3589959.bam -o SRR3589959_nsorted.bamhtseq-count -r name -f bam 03align_out/SRR3589959_nsorted.bam 00ref/gencode.vM10.chr_patch_hapl_scaff.annotation.gtf > 04matrix/test3.count

在这里插入图片描述
这里设置 -r pos,直接对没有按name排序的文件进行计算,可以看到结果跟test3一样。( •̀ ω •́ )y

htseq-count -n 10 -r pos -f bam 03align_out/SRR3589959.bam 00ref/gencode.vM10.chr_patch_hapl_scaff.annotation.gtf > 04matrix/test4.count

在这里插入图片描述
这个问题告诉我们,在处理数据之前一定要确保参考基因组和注释文件是正确的。不然会浪费很多时间!!!


http://chatgpt.dhexx.cn/article/JmGWbD6W.shtml

相关文章

测序比对软件的总结----hisat2

hisat2的官网的manual&#xff1a; https://github.com/DaehwanKimLab/hisat2/blob/master/MANUAL 在这里记载了详细用法和介绍&#xff0c;此处仅为学习笔记&#xff0c;和实例记录。 HISAT2 is a fast and sensitive alignment program for mapping next-generation sequenc…

【bioinfo】hisat2/bowtie2比对结果summary文件解读

hisat2/bowtie2比对后&#xff0c;比对结果基本信息统计的summary文件解读。 参考&#xff1a; https://www.cnblogs.com/leezx/p/8540862.htmlseqanswers 论坛上的一个问答 使用seqanswers上的一个结果文件示例&#xff1a; 以及对应的回答&#xff1a; 整理该汇总文件中…

Hisat2 Bowtie2比对结果解读

Bowtie的中文意思是&#xff1a;领结&#xff0c;蝴蝶结 Bowtie2用户手册&#xff1a; http://bowtie-bio.sourceforge.net/bowtie2/manual.shtml 在看比对结果前需要了解三个概念&#xff1a; 1.Aligned concordantly 合理比对 主要和比对参数&#xff1a;–fr/–rf/–ff 有…

hisat2构建转录组索引的问题

hisat2构建转录组索引的问题 目前最新版为为hisat2. 安装过程如下 wget ftp://ftp.ccb.jhu.edu/pub/infphilo/hisat2/downloads/hisat2-2.1.0-Linux_x86_64.zip unzip hisat2-2.1.0-Linux_x86_64.zip 下载解压缩即可。 在进行比对前&#xff0c;首先需要对参考基因组建立索引…

hisat2比对结果图文解析

hisat2比对结果图文解析 看到hisat2输出的这个比对结果统计信息&#xff0c;是不是有点懵&#xff1f; 下面用图的方式进行简单剖析&#xff1a; 以上参考自https://blog.csdn.net/weixin_34191845/article/details/86453897 参考文献 Hisat2 bowtie2比对结果解读&#xff08…

RNA-seq——三、使用Hisat2进行序列比对

步骤 1. 下载对应的index2. 序列比对3. samtools&#xff1a;将sam文件转为bam文件4. 将bam文件载入IGV 为什么要比对&#xff1a;https://www.jianshu.com/p/681e02e7f9af Jimmy老师主要演示了四种比对工具&#xff0c;分别为hisat2、subjunc、bowtie2、bwa。除了subjunc能够直…

hisat2的index差别

下载的时候发下hisat2 主页中有多个index文件&#xff0c;一时间不解&#xff0c;搜索后发现如下评价。 目录 1.下载三个index&#xff1a;2.重命名为&#xff1a;3.hisat2比对命令&#xff1a;4.比对率&#xff1a;结论 1.下载三个index&#xff1a; 2.重命名为&#xff1a; …

Hisat2下载

功能&#xff1a; 将测序结果比对到参考基因组上 网站&#xff1a; http://ccb.jhu.edu/software/hisat2/index.shtml 安装&#xff1a;mkdir ~/biosoft && cd ~/biosoft wget ftp://ftp.ccb.jhu.edu/pub/infphilo/hisat2/downloads/hisat2-2.1.0-Linux_x86_64.zip …

安装Hisat2

一、&#xff08;MobaXterm_Personal&#xff09;安装aspera 首先进行预编译解压安装&#xff1a; mkdir Biosofts unzip hisat2-2.2.1-Linux_x86_64.zip -d ~/Biosofts/ cd ~/Biosofts ll ###zip文件&#xff0c;unzip解压&#xff0c;-d制指定目录 安装完成&#xff1a; 设置…

RNA-seq流程学习笔记(7)-使用Hisat2进行序列比对

参考文章&#xff1a; RNAseq(4)–Hisat2进行序列比对及Samtools格式转化 RNA-seq(5):序列比对&#xff1a;Hisat2 hisat2比对软件将reads比对到参考基因组 hisat2比对 RNA-seq数据分析使用方法&#xff08;陈建国 译&#xff09; 转录组分析2——比对基因组 RNA-seq练习 第二部…

RNA-seq分析htseq-count的使用

HTSeq作为一款可以处理高通量数据的python包,由Simon Anders, Paul Theodor Pyl, Wolfgang Huber等人携手推出HTSeq — A Python framework to work with high-throughput sequencing data。自发布以来就备受广大分析人员青睐,其提供了许多功能给那些熟悉python的大佬们去自信…

转录组学习之序列比对(Hisat2)[学习笔记通俗易懂版]

转录组学习之序列比对&#xff08;hisat2&#xff09;[学习笔记通俗易懂版] data :2023.7.25 recorder :CYH-BI 特别注意&#xff1a;本文为我自己学习的学习记录&#xff0c;没有任何权威&#xff0c;只能仅供初学者提供思路与参考。 本文知乎地址&#xff1a;https://zhua…

Hisat2安装及比对

Hisat2和STAR是目前转录组分析过程中用来做比对的两款主要工具&#xff0c;记得有一篇好像是2017年的文章专门比较了几款转录组比对工具对结果的影响&#xff0c;结论中认为两款软件在实际使用过程中对结果影响及耗时区别不大&#xff0c;我认为选一款就可以&#xff0c;之前总…

Hisat2 比对到参考基因组

比对的流程&#xff1a;建立索引→比对到参考基因组→SAM转BAM文件→BAM建立索引 1.准备参考基因组、建立索引 ## 参考基因组准备:注意参考基因组版本信息 # 下载&#xff0c;Ensembl&#xff1a;http://asia.ensembl.org/index.html # http://ftp.ensembl.org/pub/release-…

数据项组成数据元素,数据元素组成数据

数据元素&#xff1a;是组成数据的、有一定意义的基本单位。 数据项&#xff1a;一个数据可以由若干个数据项组成。数据项是数据不可分割的最小单位。 数据元素&#xff1a;字段、域、属性 数据项&#xff1a;元素、结点、顶点、记录 数据项组成数据元素&#xff0c;数据元…

数据结构 基本概念(数据项--数据元素--数据对象-数据类型-抽象数据类型)

//数据结构基本概念 #include<iostream> using namespace std;/* 数据 – 程序的操作对象&#xff0c;用于描述客观事物 数据的特点&#xff1a; 可以输入到计算机 可以被计算机程序处理 数据是一个抽象的概念&#xff0c;将其进行分类后得到程序设计语言中的类型。如&am…

根据结构体数组中某一数据项对结构体数组排序

/* *copyright(c) 2018,HH *All rights reserved. *作 者&#xff1a;HH *完成日期&#xff1a;2018年8月17日 *版本号&#xff1a;v1.0 * *问题描述:输入结构体数组&#xff0c;并根据结构体中的某一数据项对整个结构体数组进行排序 *输入描述&#xff1a;&#xff1b; *程序输…

点击echarts柱状图动态改变数据项颜色样式

首先附上参考文章连接&#xff1a;https://blog.csdn.net/weixin_42870683/article/details/103528254添加链接描述 今天来实现点击echarts柱状图&#xff0c;动态改变柱状图数据项颜色样式的案例。只要认真做&#xff0c;很容易学会~ 首先引入ECharts.js文件 <!-- 引入 …

数据结构考研:数据、数据元素、数据项、数据对象、数据结构的区别/详细解释(计算机/软件工程/王道论坛)

一、问题背景 博主最近在准备2020年春招复习数据结构这门功课时&#xff0c;采用了王道论坛的《2020年数据结构考研复习指导》这本书&#xff0c;该书的第一章节便是数据结构的基本概念&#xff1a;数据、数据元素、数据项、数据对象、数据结构。但该书对这几个容易混淆的概念…

数据,数据元素 数据项,数据对象的详细理解

1.数据(Data)&#xff1a;数据就是用户输入到计算机被计算机程序处理的一些符号&#xff0c;比如图片还有声音等.... 2.数据元素(Data Element)&#xff1a;是数据的基本单位&#xff0c;数据元素用于完整的描述一个对象&#xff0c;比如一个学生表&#xff0c;学生表也是由 数…