前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >转录组数据分析-比对

转录组数据分析-比对

原创
作者头像
用户10412487
发布2023-05-09 22:13:34
5050
发布2023-05-09 22:13:34
举报
文章被收录于专栏:生信技能树-R生信技能树-R

·1.参考基因组准备

·2.比对:Hisat2 Salmon

1.参考基因组准备

参考基因组数据库

常用参考基因组数据库

Ensembl:www.ensembl.org #用得最多数据库完善有基因对应的ID

NCBI:https://www.ncbi.nlm.nih.gov/projects/genome/gu ide/human/index.shtml #美国

UCSC:http://www.genome.ucsc.edu/ #物种较少

代码语言:txt
复制
## 参考基因组准备:注意参考基因组版本信息
# 下载,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 &
(rna) Mar402 16:48:59 ~/database/GRCh38.105
$ ll       #查看 dna.log
total 75568
drwxrwxr-x 2 Mar402 Mar402     4096 Apr 23 16:46 ./
drwxrwxr-x 3 Mar402 Mar402     4096 Apr  7 11:12 ../
-rw-rw-r-- 1 Mar402 Mar402     4793 Apr 23 16:50 dna.log
-rw-rw-r-- 1 Mar402 Mar402 77251337 Apr 23 16:50 Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz
-rw-rw-r-- 1 Mar402 Mar402   106723 Apr 23 16:50 wget-log
(rna) Mar402 16:50:29 ~/database/GRCh38.105
$ less dna.log  #查看下载进度
(rna) Mar402 16:51:32 ~/database/GRCh38.105
$ ll        #查看 dna.log 大小已经变了
total 99352
drwxrwxr-x 2 Mar402 Mar402      4096 Apr 23 16:46 ./
drwxrwxr-x 3 Mar402 Mar402      4096 Apr  7 11:12 ../
-rw-rw-r-- 1 Mar402 Mar402      7618 Apr 23 16:51 dna.log
-rw-rw-r-- 1 Mar402 Mar402 101580297 Apr 23 16:51 Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz
-rw-rw-r-- 1 Mar402 Mar402    139091 Apr 23 16:51 wget-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 &
下载参考基因组
下载参考基因组
Ensembl数据库
Ensembl数据库

基因比对 Hisat2,Subjunc

·基因比对:1建索引 2比对参考基因组 3sam转bam

Hisat2

----1.构建索引

代码语言:txt
复制
# 进入参考基因组目录
cd $HOME/database/GRCh38.105 #进入文件,保证有解压过的fa文件
# Hisat2构建索引,构建索引时间比较长,建议提交后台运行,一般会运行20多分钟左右
## 后续索引可直接使用服务器上已经构建好的进行练习
# vim Hisat2Index.sh
mkdir Hisat2Index
fa=Homo_sapiens.GRCh38.dna.primary_assembly.fa 
fa_baseName=GRCh38.dna  #索引名称
hisat2-build -p 5 -f ${fa} Hisat2Index/${fa_baseName}   #-p 线程 -f 接的参考序列 接的索引

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

----2.比对

代码语言:txt
复制
# 进入比对文件夹
cd $HOME/project/Human-16-Asthma-Trans/Mapping/Hisat2

## 单个样本比对,步骤分解
index=/home/t_rna/database/GRCh38.104/Hisat2Index/GRCh38.dna #输入
inputdir=$HOME/project/Human-16-Asthma-Trans/data/cleandata/trim_galore/
outdir=$HOME/project/Human-16-Asthma-Trans/Mapping/Hisat2 #输出

hisat2 -p 5  -x  ${index} \  #-p 5 5线程 ;-x前缀 ;\手动换行
	   -1 ${inputdir}/SRR1039510_1_val_1.fq.gz \
       -2 ${inputdir}/SRR1039510_2_val_2.fq.gz \
       -S ${outdir}/SRR1039510.Hisat_aln.sam  #匹配的项目文件

比对完生成结果如图a

图a
图a

----3.sam转bam

代码语言:txt
复制
samtools sort -@ 5 -o SRR1039510.Hisat_aln.sorted.bam SRR1039510.Hisat_aln.sam #sort 排序; -@ 线程数;-o生成的bam文件

结果图b

图b
图b

多个样本批量进行比对,排序,建索引

Hisat.sh内容: 注意命令中的-,表示占位符,表示|管道符前面的输出。

此处索引直接使用服务器上已经构建好的进行练习

代码语言:txt
复制
# vim Hisat.sh
index=/home/t_rna/database/GRCh38.104/Hisat2Index/GRCh38.dna
inputdir=$HOME/project/Human-16-Asthma-Trans/data/cleandata/trim_galore/
outdir=$HOME/project/Human-16-Asthma-Trans/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 - 
done#图c

# 统计比对情况
multiqc -o ./ SRR*log #使用multiqc 生成统计图(图E)

# 提交后台运行
nohup sh Hisat.sh >Hisat.log & 
#结果图D
图c
图c
图D
图D
图E
图E

比对结果文件bam/sam文件格式

查看bam文件

代码语言:txt
复制
(rna) Mar402 21:10:13 ~/project/Human-16-Asthma-Trans/Mapping/Hisat2
$ samtools view -h SRR1039510.Hisat_aln.sorted.bam | less -S #-h 显示表头

SAM(The Sequence Alignment/Map format)格式,即序列比对文件格式,详细

介绍见:http://samtools.github.io/hts-specs/SAMv1.pdf

BAM是SAM的二进制文件(B源自binary) #PPT转录组DAY3

subjunc 比对

代码语言:txt
复制
## ----构建索引
# 进入参考基因组目录
cd $HOME/database/GRCh38.105
# subjunc构建索引,构建索引时间比较长大约40分钟左右,建议携程sh脚本提交后台运行
## 后续索引可直接使用服务器上已经构建好的进行练习
# vim SubjuncIndex.sh
mkdir SubjuncIndex
fa=Homo_sapiens.GRCh38.dna.primary_assembly.fa
fa_baseName=GRCh38.dna
subread-buildindex -o SubjuncIndex/${fa_baseName} ${fa}

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


## ----比对
# 进入文件夹
cd $HOME/project/Human-16-Asthma-Trans/Mapping/Subjunc

# vim subjunc.sh
index=/home/t_rna/database/GRCh38.104/SubjuncIndex/GRCh38.dna
inputdir=$HOME/project/Human-16-Asthma-Trans/data/cleandata/trim_galore
outdir=$HOME/project/Human-16-Asthma-Trans/Mapping/Subjunc

cat ../../data/cleandata/trim_galore/ID | while read id
do
  subjunc -T 5 -i ${index} -r ${inputdir}/${id}_1_val_1.fq.gz -R ${inputdir}/${id}_2_val_2.fq.gz -o ${outdir}/${id}.Subjunc.bam 1>${outdir}/${id}.Subjunc.log 2>&1 && samtools sort -@ 6 -o ${outdir}/${id}.Subjunc.sorted.bam  ${outdir}/${id}.Subjunc.bam 
done
## &&说明前面的任务和后面的任务是独立的,只有前面的任务运行成功后才运行后面的任务。
# 运行
nohup sh subjunc.sh >subjunc.log &

结果图F

图F
图F
5.sam/bam应用
5.1 统计比对结果
代码语言:txt
复制
# 单个样本
samtools flagstat -@ 3 SRR1039510.Hisat_aln.sorted.bam

# 多个样本,vim flagstat.sh
ls *.sorted.bam | while read id
do
  samtools flagstat -@ 3 ${id} > ${id/bam/flagstat}
done
# 质控
multiqc -o ./  *.flagstat

# 运行
nohup sh flagstat.sh >flagstat.log &
5.2 samtools工具使用
代码语言:txt
复制
##----view查看bam文件
samtools view SRR1039510.Hisat_aln.sorted.bam
samtools view -H SRR1039510.Hisat_aln.sorted.bam
samtools view -h SRR1039510.Hisat_aln.sorted.bam

##----index对bam文件建索引
samtools index SRR1039510.Hisat_aln.sorted.bam SRR1039510.Hisat_aln.sorted.bam.bai

##----flagstat统计比对结果
samtools flagstat -@ 3 SRR1039510.Hisat_aln.sorted.bam

##----sort排序 sam转bam并排序
samtools sort -@ 3 -o SRR1039510.Hisat_aln.sorted.bam SRR1039510.Hisat_aln.sam

##----depth统计测序深度
# 得到的结果中,一共有3列以指标分隔符分隔的数据,第一列为染色体名称,第二列为位点,第三列为覆盖深度
samtools depth SRR1039510.Hisat_aln.sorted.bam >SRR1039510.Hisat_aln.sorted.bam.depth.txt

##----计算某一个基因的测序深度
# 找到基因的坐标
zless -S Homo_sapiens.GRCh38.95.gff3.gz |awk '{if($3=="gene")print}' |grep 'ID=gene:ENSG00000186092' |awk '{print $1"\t"$4"\t"$5}' >ENSG00000186092.bed
samtools depth  -b  ENSG00000186092.bed SRR1039510.Hisat_aln.sorted.bam >ENSG00000186092.bed.depth

# 如何找到多比对的reads,flag值的理解
# (0x100) 代表着多比对情况,所以直接用samtools view -f 0x100可以提取 multiple比对的 情况

-----来自于生信技能树------

(大概估计)10个样本 转录组估算使用空间:

一个样本1.5G大小 *10

1、质控:cleandata 1.5GG*10

2、比对: sam 13G10 2(膨胀),bam 2G*10

共约 410G

简单粗暴 转录组数据多大*4~6倍

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.参考基因组准备
    • 参考基因组数据库
    • 基因比对 Hisat2,Subjunc
      • Hisat2
        • ----1.构建索引
          • ----2.比对
          • ----3.sam转bam
          • 多个样本批量进行比对,排序,建索引
          • Hisat.sh内容: 注意命令中的-,表示占位符,表示|管道符前面的输出。
            • 此处索引直接使用服务器上已经构建好的进行练习
            • 比对结果文件bam/sam文件格式
              • 查看bam文件
                • subjunc 比对
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档