Hisat2 比对到参考基因组

article/2025/11/5 10:40:11

比对的流程:建立索引→比对到参考基因组→SAM转BAM文件→BAM建立索引 

1.准备参考基因组、建立索引

## 参考基因组准备:注意参考基因组版本信息
# 下载,Ensembl:http://asia.ensembl.org/index.html
# http://ftp.ensembl.org/pub/release-104/fasta/homo_sapiens/dna/# 进入到参考基因组目录
mkdir -p $HOME/database/GRCh38.105
cd $HOME/database/GRCh38.105# 下载基因组序列axel  curl  
nohup wget -c http://ftp.ensembl.org/pub/release-105/fasta/homo_sapiens/dna/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz >dna.log &# 下载转录组序列
nohup wget -c http://ftp.ensembl.org/pub/release-105/fasta/homo_sapiens/cdna/Homo_sapiens.GRCh38.cdna.all.fa.gz >rna.log &# 下载基因组注释文件
nohup wget -c http://ftp.ensembl.org/pub/release-105/gtf/homo_sapiens/Homo_sapiens.GRCh38.105.chr.gtf.gz >gtf.log &nohup wget -c http://ftp.ensembl.org/pub/release-105/gff3/homo_sapiens/Homo_sapiens.GRCh38.105.chr.gff3.gz >gff.log&# 上述文件下载完整后,再解压;否则文件不完整就解压会报错
# 再次强调,一定要在文件下载完后再进行解压!!!
nohup gunzip Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz Homo_sapiens.GRCh38.cdna.all.fa.gz >unzip.log &

2.使用Hisat2比对到参考基因组上

 

 

输入:过滤之后的fastq.gz文件以及参考基因组目录

输出:sam文件

3.samtools

        实现将sam文件转换为bam文件;对bam文件进行排序;为了能够快速访问bam文件,可以为已经基于坐标排序后bam或者cram的文件创建索引,生成以.bai或者.crai为后缀的索引文件。必须使用排序后的文件,否则可能会报错。另外,不能对sam文件使用此命令。

输入:sam文件

输出:sort.bam文件 bai文件

## ----构建索引
# 进入参考基因组目录
cd $HOME/database/GRCh38.105
# Hisat2构建索引,构建索引时间比较长,建议提交后台运行,一般会运行20多分钟左右
## 后续索引可直接使用服务器上已经构建好的进行练习
vim Hisat2Index.sh
mkdir Hisat2Index
fa=Homo_sapiens.GRCh38.dna.primary_assembly.fa
fa_baseName=GRCh38.dna
hisat2-build -p 12 -f ${fa} Hisat2Index/${fa_baseName}# 运行
nohup sh Hisat2Index.sh >Hisat2Index.sh.log &## ----比对
# 进入比对文件夹
cd $HOME.../Mapping/Hisat2## 单个样本比对,步骤分解
index=/home/t_rna/database/GRCh38.104/Hisat2Index/GRCh38.dna
inputdir=$.../data/cleandata/trim_galore/
outdir=$.../Mapping/Hisat2hisat2 -p 10  -x  ${index} \-1 ${inputdir}/SRR1039510_1_val_1.fq.gz \-2 ${inputdir}/SRR1039510_2_val_2.fq.gz \-S ${outdir}/SRR1039510.Hisat_aln.sam# sam转bam
samtools sort -@ 15 -o SRR1039510.Hisat_aln.sorted.bam SRR1039510.Hisat_aln.sam# 对bam建索引
samtools index SRR1039510.Hisat_aln.sorted.bam SRR1039510.Hisat_aln.sorted.bam.bai# 多个样本批量进行比对,排序,建索引
# Hisat.sh内容: 注意命令中的-,表示占位符,表示|管道符前面的输出。
## 此处索引直接使用服务器上已经构建好的进行练习
# vim Hisat.sh
index=/home/t_rna/database/GRCh38.104/Hisat2Index/GRCh38.dna
inputdir=$.../cleandata/trim_galore/
outdir=$.../Mapping/Hisat2cat ../../data/cleandata/trim_galore/ID | while read id
do
hisat2 -p 5 -x ${index} -1 ${inputdir}/${id}_1_val_1.fq.gz -2 ${inputdir}/${id}_2_val_2.fq.gz 2>${id}.log  | samtools sort -@ 3 -o ${outdir}/${id}.Hisat_aln.sorted.bam - &&  samtools index ${outdir}/${id}.Hisat_aln.sorted.bam ${outdir}/${id}.Hisat_aln.sorted.bam.bai
done# 统计比对情况
multiqc -o ./ SRR*log# 提交后台运行
nohup sh Hisat.sh >Hisat.log &b

 统计比对结果 

# 进入比对文件夹
cd .../Mapping/Hisat# 单个样本
samtools flagstat -@ 3 SRR1039510.Hisat_aln.sorted.bam# 多个样本
ls *.sorted.bam | while read id
doecho "samtools flagstat -@ 10 ${id} > ${id/bam/flagstat} "
done >flagstat.sh# 运行
nohup sh flagstat.sh >flagstat.log &# 质控
multiqc -o ./  *.flagstat

 

 

 


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

相关文章

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

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

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

//数据结构基本概念 #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;能被计算机程序处理。 二、数据…

4019 设备树 Linux device tree 概述

一&#xff1a;主要关键字定义说明 <1>. DT :Device Tree <2>. FDT : Flattened Device Tree <3>. OF :Open Firmware <4>. DTS :device tree source <5>. DTSI:device tree source include <6>. DTB :device tree blob <7>.…

修改高通IPQ4019/4018的flash的分区

修改IPQ4019/4018的MTD分区 简介 高通的IPQ4018的SoC使用了ARM的CPU&#xff0c;并使用了高通的QSDK. 在开发中发现很难在它的架构中去修改MTD分区信息。 今天就提供一种可以修改MTD分区的方式。 MTD分区信息是如何从Uboot传到linux的&#xff0c;有几种方式&#xff1f;…