Hisat2 比对到参考基因组

比对的流程:建立索引→比对到参考基因组→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/Hisat2

hisat2 -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/Hisat2

cat ../../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
do
    echo "samtools flagstat -@ 10 ${id} > ${id/bam/flagstat} "
done >flagstat.sh

# 运行
nohup sh flagstat.sh >flagstat.log &

# 质控
multiqc -o ./  *.flagstat

 

 

 

  • 3
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HISAT2 支持多个参考基因组文件的比对。为了生成正确的 HISAT2基因组比对代码,您需要考虑以下几个方面: 1. 参考基因组文件:需要准备好多个参考基因组文件,可以是 FASTA 格式的基因组序列文件,也可以是 HISAT2 索引文件。如果没有可用的参考基因组文件,可以从 NCBI 等公共数据库下载。 2. RNA-seq 数据:需要准备好 RNA-seq 数据文件,可以是单端或双端测序数据,可以是 FASTQ 格式的数据文件,也可以是 SAM 或 BAM 格式的对齐结果文件。 3. HISAT2 命令行参数:在运行 HISAT2 时,需要指定一些命令行参数,以控制比对过程中的各个步骤。例如,可以使用 "-x" 参数来指定参考基因组索引文件,使用 "-U" 参数来指定单端或双端测序数据文件,使用 "-S" 参数来指定输出的 SAM 文件名,还可以使用其他参数来控制比对的参数和输出格式等。 4. 多基因组比对参数设置:在实际使用过程中,需要根据具体的数据和分析任务,设置一些多基因组比对的参数。例如,可以使用 "-x ref1,ref2,ref3" 参数来指定多个参考基因组索引文件,使用 "--sensitive" 参数来提高比对灵敏度,使用 "--max-intronlen 10000" 参数来限制最大内含子长度等。 下面是一个简单的 HISAT2基因组比对示例: ``` hisat2 -x ref_genome1,ref_genome2,ref_genome3 -U reads.fastq -S output.sam --sensitive --max-intronlen 10000 ``` 该命令将使用参考基因组索引文件 "ref_genome1"、"ref_genome2" 和 "ref_genome3",对单端测序数据文件 "reads.fastq" 进行多基因组比对,输出结果到 SAM 文件 "output.sam" 中,并使用 "--sensitive" 和 "--max-intronlen 10000" 参数来提高比对灵敏度并限制最大内含子长度。 希望这些信息能够帮助您生成正确的 HISAT2基因组比对代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值