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

article/2025/11/5 10:37:26

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

data :2023.7.25

recorder :CYH-BI

特别注意:本文为我自己学习的学习记录,没有任何权威,只能仅供初学者提供思路与参考。
本文知乎地址:https://zhuanlan.zhihu.com/p/645765898


Hisat2介绍:

Hisat2是一款短序列比对的工具,主要用于转录组数据的比对,是Hisat比对工具的升级版。Hisat2优化了索引建立的策略,采用了新的比对策略,使其与Bowtie/TopHat2等软件相比具有更高的敏感性和更快的运算速度。Hisat2支持剪切位点的识别和转录本的重构:Hisat2可以利用已知或发现的剪切位点信息进行剪切比对,提高比对率和准确性;同时,Hisat2可以结合StringTie等软件进行转录本的重构和定量,提供更全面和精确的转录组信息。

原理 ( 文献 )

HISAT: a fast spliced aligner with low memory requirements | Nature Methods

Download Hisat2 to RNA sequence Maching

方法一:官网下载安装包安装

一: 使用 wget 下载Hista2 安装包(该地址可能会变,仅供参考)

 wget ftp://ftp.ccb.jhu.edu/pub/infphilo/hisat2/downloads/hisat2-2.1.0-Linux_x86_64.zip

解压(压缩包为 .zip文件,使用unzip解压)

unzip unzip /home/cyh/biosoft/hisat2-2.1.0-Linux_x86_64.zip

配置环境,将信息写入 ~/.bashrc或者 /etc/profile

vim ~/.bashrc   #编辑该该文件
export PATH="/home/cyh/biosoft/hisat2-2.1.0: $PATH"  #在末尾输入这行内容,路径是你自己的
source ~/.bashrc  #重启文件,立即生效

方法二:使用conda安装

conda install -c bioconda hisat2

注意:使用该方法安装的前提你预先安装了miniconda3或anaconda

二:下载基因组文件(.fan格式)(以human为例)

下载地址:Genome List - Genome - NCBI (nih.gov) 如果是人类就在该页面搜索human
在这里插入图片描述

点击Homo sapiens

在这里插入图片描述

wget -c https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/001/405/GCF_000001405.40_GRCh38.p14/GCF_000001405.40_GRCh38.p14_genomic.fna.gz

-c 该参数防止断网或其他机器原因终端后导致下载失败,重新联网或排除故障后继续下载。

下载基因注释文件

wget -c https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/001/405/GCF_000001405.40_GRCh38.p14/GCF_000001405.40_GRCh38.p14_genomic.gff.gz

解压

gunzip GCF_000001405.40_GRCh38.p14_genomic.fna.gz
gunzip GCF_000001405.40_GRCh38.p14_genomic.gff.gz

三、手动建立索引

extract_exons.py /home/chenyh/ly_NT_RNAseq/reference_GRCh38/GCF_000001405.40_GRCh38.p14_genomic.gff > GRCh38.p14_genome.exon    #(可选)

在构建HISAT2索引时,你需要准备基因组序列文件(通常是以.fa或.fasta为扩展名的文件)作为主要的输入数据。这个文件包含了基因组的DNA序列信息。

至于.gff文件,它通常用于注释基因组的功能元素,如基因、外显子、剪接位点等。在构建HISAT2索引时,如果你有.gff文件提供的注释信息,可以使用其他工具(如hisat2_extract_splice_sites.py和hisat2_extract_exons.py)将.gff文件转换为HISAT2所需的外显子(exon)和剪接位点(splice site)信息文件,然后将这些转换后的文件作为参数传递给hisat2-build命令。

因此,要构建HISAT2索引,你至少需要基因组序列文件作为输入数据,而.gff文件需要进行额外的处理和转换才能用于构建索引。(下面命令必选)

我脚本里的内容:

hisat2-build ./GCF_000001405.40_GRCh38.p14_genomic.fna GRCh38_index #index.sh

运行脚本:(将返回信息输入至index-log.txt

nohup bash index.sh >  2>&1 &

四、序列比对

hisat2 -p 4 --dta -x /home/cyh/Desktop/hugene_dir/GRCh38_index -1 /home/cyh/Desktop/fastq_dir/ly1_1.fa -2 /home/cyh/Desktop/fastq_dir/ly1_2.fa -S /home/cyh/Desktop/ly1_seq_mached.sam #脚本核心内容
nohup bash hisat2.sh > hisat2-log.txt 2>&1 &  #运行时间长,后台运行代码

代码解释:

-p 4个核;

–dta :--dta参数用于生成RNA-Seq数据分析过程中的转录组装(transcriptome assembl;简称"TA")文件。当设置了--dta参数后,Hisat2在比对过程中会记录每个比对结果的详细信息,并将这些信息存储在转录组装文件中。

-1,第一个fq文件;-2 ,第二个fq文件;

-S ,输出文件为.sam格式;


如需要查看hisat2的其他功能,请看使用手册或其他博主的博客

官网地址:Manual | HISAT2 (daehwankimlab.github.io)

推荐博主博文:

1、(4条消息) RNA-seq流程学习笔记(7)-使用Hisat2进行序列比对_垚垚爸爱学习的博客-CSDN博客

2、转录组分析 | 使用Hisat2进行序列比对-腾讯云开发者社区-腾讯云 (tencent.com)


题外内容

1、extract_splice_sites.py

extract_splice_sites.py genemo.gtf > genemo.ss

这是一个使用extract_splice_sites.py脚本从基因注释文件中提取剪接位点信息的命令。下面是各个参数的详细解释:

genemo.gtf :指定基因注释文件的路径和文件名,这里使用的是genemo基因组的基因注释文件。

genemo.ss :将提取的剪接位点信息输出到genemo.ss文件中。

综上,这个命令的作用是从genemo基因组的基因注释文件中提取剪接位点信息,并将结果输出到genemo.ss文件中。这个过程可以为后续的RNA测序数据分析提供剪接位点信息。

extract_splice_sites.py是一个用于从GTF或GFF3格式的基因注释文件中提取剪接位点信息的Python脚本。它可以生成一个包含所有剪接位点信息的文件,以供后续的RNA测序数据分析使用。使用extract_splice_sites.py时,需要指定输入的基因注释文件路径和文件名,以及输出剪接位点信息的文件路径和文件名。.ss文件是从基因注释文件中提取的剪接位点信息文件。这个文件包含了基因组上所有的剪接位点信息,包括剪接位点所在的染色体、位置、剪接类型等信息。这个文件通常用于RNA测序数据分析中的剪接分析,可以帮助识别不同的剪接事件并进行定量分析

2、extract_exons.py

extract_exons.py genemo_data/genes/genemo.gtf >genemo.exon

这是一个使用extract_exons.py脚本从基因注释文件中提取外显子信息的命令。下面是各个参数的详细解释:

genemo_data/genes/genemo.gtf:指定基因注释文件的路径和文件名,这里使用的是genemo基因组的基因注释文件。

genemo.exon:将提取的外显子信息输出到genemo.exon文件中。

.exon文件是从基因注释文件中提取的外显子信息文件。这个文件包含了基因组上所有基因的外显子信息,包括外显子所在的染色体、位置、外显子编号、外显子长度等信息。这个文件通常用于RNA测序数据分析中的外显子定量分析,可以帮助识别外显子的边界和进行定量分析

综上,这个命令的作用是从genemo基因组的基因注释文件中提取外显子信息,并将结果输出到genemo.exon文件中。这个过程可以为后续的RNA测序数据分析提供外显子信息。

3、hisat2-build

hisat2-build --ss genemo.ss --exon genemo.exon genemo_data/genome/genemo.fa genemo_tran

这是一个使用Hisat2软件构建基因组索引的命令。下面是各个参数的详细解释:

–ss genemo.ss:指定包含剪接位点信息的文件路径和文件名,这里使用的是从genemo基因组的基因注释文件中提取的剪接位点信息文件genemo.ss。

–exon genemo.exon:指定包含外显子信息的文件路径和文件名,这里使用的是从genemo基因组的基因注释文件中提取的外显子信息文件genemo.exon。

genemo_data/genome/genemo.fa:指定基因组序列文件的路径和文件名,这里使用的是genemo基因组的FASTA格式序列文件。

genemo_tran:指定输出的索引文件名,这里输出的索引文件将包含转录本信息,以便在RNA测序数据比对时考虑剪接事件和外显子信息。

这里使用的是从genemo基因组的基因注释文件中提取的外显子信息文件genemo.exon。

genemo_data/genome/genemo.fa:指定基因组序列文件的路径和文件名,这里使用的是genemo基因组的FASTA格式序列文件。

genemo_tran:指定输出的索引文件名,这里输出的索引文件将包含转录本信息,以便在RNA测序数据比对时考虑剪接事件和外显子信息。

综上,这个命令的作用是使用Hisat2软件构建基因组索引,将包含剪接位点信息和外显子信息的文件与基因组序列文件一起作为输入,构建包含转录本信息的索引文件genemo_tran。这个索引文件可以用于后续的RNA测序数据比对和分析。


到此,本文内容结束,这篇文章是经过了自己学习实践出来的,参考了很多资料,如若有大佬能指出错误,我将感激


http://chatgpt.dhexx.cn/article/8Rvx4YV2.shtml

相关文章

Hisat2安装及比对

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

Hisat2 比对到参考基因组

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

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

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

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

//数据结构基本概念 #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;学生表也是由 数…

element el-transfer穿梭框的使用,自定义穿梭框的数据项

本文概述基本穿梭框效果自定义数据项实现右侧列表元素变化时触发方法 本文概述 查看element官方文档可以了解到 el-transfer穿梭框的基本使用方法&#xff0c;本文主要介绍数据项的自定义渲染和右侧列表元素变化时触发方法的实现。 自定义数据项&#xff0c;除了基本的el-tra…

数据结构之数据、数据元素、数据项、数据对象之间的关系

首图 # 前言 博主介绍&#xff1a; -- 本人是小奇&#xff0c;一个喜欢读书、交友、技术分享的Java程序员&#xff0c;更喜欢整理分享一些Java面试题&#xff0c;如果大家有需要可以关注我的公众号『小奇Java面试』领取资料。 文章目录 首图 前言 文章目录 关键字定义 1、数…

数据、数据元素、数据项、数据对象的理解

理解数据结构与算法时&#xff0c;觉得大多数的书上讲的定义特别抽象&#xff0c; 数据、数据元素、数据项、数据对象这四个概念特别难懂 本人理解如下&#xff1a; 假设有两张表&#xff0c;A表为人员表&#xff0c;B表为课程表&#xff0c;这两张表就是数据 、 而单独的一…

数据结构中数据、数据对象、数据元素、数据项之间的关系

数据、数据对象、数据元素、数据项 我们在学习数据结构时首先熟悉的一定是这四个名词&#xff0c;那么在数据家族里这四位成员都是什么关系呢&#xff1f; 严蔚敏的数据结构c语言版一书中解释是这样的&#xff1a; 数据&#xff1a;是客观事物的符号表示&#xff0c;是所有能…

快速理解数据,数据对象,数据元素,数据项间的关系

个人学习路途的记录&#xff0c;有问题可在评论区留言&#xff0c;随缘在线 —————————————————分割线————————————————————- 由于看了较多的文章&#xff0c;并没有找到一篇胎教级的描述&#xff0c;所以个人总结了一下。 首先是教科…

数据、数据元素、数据项、数据对象的介绍和理解

最近在读《大话数据结构》这本书 第一章上面的介绍数据结构相关概念 总结如下图&#xff1a; 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 对于数据 数据对象 数据元素 数据项 这四个概念 理解的不是很好 我先说下课本上是怎么说的 然后再根据自己和网上的理…

数据,数据元素,数据项,数据对象的区别

数据&#xff0c;数据元素&#xff0c;数据项&#xff0c;数据对象的区别 1. 数据&#xff1a;客观事物的符号表示&#xff0c;是所有能输入计算机中并被计算机程序处理的符号的总称。 2. 数据元素&#xff1a;数据的基本单位&#xff0c;在计算机中通常作为一个整体进行考虑…

数据元素、数据项、组合项、数据结构

数据元素&#xff1a; 数据中的一个“个体”&#xff08;数据本身就是一个集合&#xff09; &#xff0c;是数据结构中讨论的基本单位。 注意&#xff1a; 数据元素不是数据结构中讨论的最小单位。它可以由多个数据项组成&#xff0c;是数据项的集合。 数据项&#xff1a; 数…

数据、数据元素、数据项、数据对象

《大话数据结构》——基本概念和术语 程序设计 数据结构 算法 什么是数据结构&#xff0c;首先需要知道以下的几个基本概念和术语&#xff1a; 1.数据 数据&#xff1a;是描述客观事物的符号&#xff0c;是计算机中可以操作的对象&#xff0c;是能被计算机识别&#xff0c;…

数据结构的基本组成及概念,数据项,数据元素,数据对象,逻辑结构等(基础)

程序数据结构算法 什么是数据结构&#xff1f; 数据&#xff1a;是所有能够输入到计算机中&#xff0c;且能被计算机处理的符号的集合。 结构&#xff1a;是指数据之间的关系。 数据结构&#xff1a;就是将数据及其之间的关系有效地存储在计算机中并进行基本操作。 算法&#…

数据结构基本概念和术语(数据、数据元素,数据对象,数据项)及举例描述

1、数据(Data) 是对信息的一种符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。如图象、声音等都可以通过编码而归之于数据的范畴。 2、数据元素(Data Element) 是数据的基本单位&#xff0c;在计算机程序中通常作为一个整…

数据、数据元素和数据项

一、数据 数据&#xff1a;是描述客观事物的符号&#xff0c;是计算机中可以操作的对象&#xff0c; 是能被计算机识别&#xff0c;并输入给计算机处理的符号集合。 数据就是符号&#xff0c;两个条件&#xff1a;可以输入到计算机中&#xff1b;能被计算机程序处理。 二、数据…