环境部署——数据下载——查看数据(非质控)——数据质控——数据过滤(过滤低质量数据)——数据比对及定量
Ensembl官网
左上箭头分别是最新版本号和Fasta文件下载链接
下载primary_assembly.fa.gz文件(复制网页链接+下边需要下载的内容)
右侧有Gene annotation模块。
Download FASTA 可以下载fasta文件,包含了gene和cDNA(转录组);
Download GTF or GFF3 files for genes,cDNAs,ncRNA,proteins包含了参考基因组注释文件,gtf个gff 下载注释文件的时候需要注意版本信息,要前后一致。
比如wget -c ftp://ftp.ensembl.org/pub/release 113/fasta/homo_sapiens/dna/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz
关键就是所有的release信息需要对应起来
## 参考基因组准备:注意参考基因组版本信息
# 下载,Ensembl:http://asia.ensembl.org/index.html
# ftp://ftp.ensembl.org/pub/release-113/fasta/homo_sapiens/dna/
# 下载基因组序列
wget -c ftp://ftp.ensembl.org/pub/release-113/fasta/homo_sapiens/dna/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz
# 下载基因组注释文件
wget -c ftp://ftp.ensembl.org/pub/release-113/gtf/homo_sapiens/Homo_sapiens.GRCh38.113.gtf.gz
wget -c ftp://ftp.ensembl.org/pub/release-113/gtf/homo_sapiens/Homo_sapiens.GRCh38.113.chr.gtf.gz
# 后台运行 注意版本号
nohup wget -c ftp://ftp.ensembl.org/pub/release-113/fasta/homo_sapiens/dna/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz > dan.log &
nohup wget -c ftp://ftp.ensembl.org/pub/release-113/gtf/homo_sapiens/Homo_sapiens.GRCh38.113.gtf.gz > dan.log &
# 检查大文件完整性
gzip -t *.gz
转换成fasta的目的是去除附加和质量控制信息,便于后续分析。
方法1:
方法2:
# 方法1
zless -S ./trim_galore/SRR23881762_1_val_1.fq |awk '{ if(NR%4==1){print">" substr($0,2)} if(NR%4==2){print} }' | less -S
# Tips:substr($1, 2),从第一个字段里的第2个字符开始,一直到结束
# 方法2
zless -S ./trim_galore/SRR23881762_1_val_1.fq |paste - - - - |cut -f 1,2 |tr '@' '>' |tr '\t' '\n' |less -S
方法一:
方法二跟方法一是类似的。
方法三:
# 从gff或者gft文件中获取ID与symbol对应关系,以及biotype类型
# gtf=/Desktop/RNA/Human-3-NPC-Tra/Homo_sapiens.GRCh38.113.gtf.gz
zless -S Homo_sapiens.GRCh38.113.gtf.gz | awk -F'\t' '{if($3=="gene"){print$9}}' |awk -F';' '{print$1,$3,$5}' |awk '{print$2"\t"$4"\t"$6}' |sed 's/"//g' |grep 'protein_coding' > protein_coding_id2name.txt
zless -S $gtf| awk -F'\t' '{if($3=="gene"){print$9}}' |awk -F';' '{print$1,$3,$5}' |awk '{print$2"\t"$4"\t"$6}' |sed 's/"//g' |grep 'protein_coding' > protein_coding_id2name.txt
# 或者
zless Homo_sapiens.GRCh38.113.chr.gtf.gz | grep -v "#" | awk -F '\t' '{if($3=="gene") {print $9}}' | cut -d";" -f1,3,5| cut -d' ' -f2,4,6 | sed 's#"##g' | grep "protein_coding" > protein_coding_id2name.txt
HISAT2(Hierarchical Indexing for Spliced Alignment of Transcripts 2)是一个用于比对 RNA-Seq 数据到参考基因组的高效和快速的比对工具。它是 HISAT 的升级版本,专门设计来处理高通量测序产生的大规模数据集,特别是 RNA-Seq 数据。
使用 hisat2 进行比对,需要对参考基因组进行构建索引。
# cd ~/database/genome
# 其中 fa 文件是参考基因组,后面的是生成索引文件的前缀
# ch是人的小鼠是m
# 下载的时候是gz文件,需要把gz文件解压缩
hisat2-build Homo_sapiens.GRCh38.dna.primary_assembly.fa GRCh38.dna
# 构建好索引,会生成多个 ht 文件
$ ls
GRCh38.dna.1.ht2
GRCh38.dna.2.ht2
GRCh38.dna.3.ht2
GRCh38.dna.4.ht2
GRCh38.dna.5.ht2
GRCh38.dna.6.ht2
GRCh38.dna.7.ht2
GRCh38.dna.8.ht2
Homo_sapiens.GRCh38.dna.primary_assembly.fa
正式比对命令:
里面的路径信息需要更换为使用者自己的。
创建好文件夹,把中间文件放进去
# 返回项目工作目录
cd ~/Desktop/RNA/Human-3-NPC-Tra/
# 赋值索引前缀(就是生成的8个文件)
index=~/Desktop/RNA/Human-3-NPC-Tra/GRCh38.113/hisat2Index/GRCh38.dna
# 单个样本比对
#hisat2 -p 2 -x ${index} \
#-1 ./trim_galore/SRR23881762_1_val_1.fq \
#-2 ./trim_galore/SRR23881762_2_val_2.fq \
#-S ./hisat2/SRR23881762.Hisat_aln.sam
# sam 转 bam,并且进行 sort
#samtools sort -@ 2 ./hisat2/SRR23881762.Hisat_aln.sam -o ./hisat2/SRR23881762.Hisat_aln.sorted.bam
# 通常来说,不需要生成 sam 文件的,上面几句代码可以通过管道符 | 合并为一句,最后需要有占位符 -
hisat2 -p 2 -x ${index} \
-1 ./trim_galore/SRR23881762_1_val_1.fq \
-2 ./trim_galore/SRR23881762_2_val_2.fq \
| samtools sort -@ 2 -o ./hisat2/SRR23881762.Hisat_aln.sorted.bam -
# 对bam建索引
# 这个命令会生成一个 .bai 索引文件,这个索引文件保存了数据在 BAM 文件中的位置信息,以便快速查询。
samtools index ./hisat2/SRR23881762.Hisat_aln.sorted.bam ./hisat2/SRR23881762.Hisat_aln.sorted.bam.bai
得到一个比对结果
index=~/Desktop/RNA/Human-3-NPC-Tra/GRCh38.113/Hisat2Index/GRCh38.dna
cat sample.ID | while read id
do
hisat2 -p 2 -x ${index} \
-1 ./trim_galore/${id}_1_val_1.fq.gz \
-2 ./trim_galore/${id}_2_val_2.fq.gz \
2>${id}.log | \
samtools sort -@ 2 -o ./hisat2/${id}.Hisat_aln.sorted.bam -
done
nohup bash Hisat.sh >Hisat.log &
featureCounts 是一个用于对对齐的 RNA-Seq 数据进行特征计数的工具,常用于生成基因或转录本表达矩阵。
# 返回项目工作目录
cd ~/Desktop/RNA/Human-3-NPC-Tra/
# featureCounts对bam文件进行计数
## 定义输入输出文件
gtf=~/Desktop/RNA/Human-3-NPC-Tra/GRCh38.113/Homo_sapiens.GRCh38.113.chr.gtf.gz
# 如果是Version v2.0.3,使用下面的代码:
featureCounts -a $gtf -o ./featureCounts/all.count.txt -p -T 6 -t exon -g gene_id ./hisat2/*.sorted.bam
# 得到表达矩阵
# 处理表头,要换成自己的路径
grep -v '#' ./featureCounts/all.count.txt |cut -f 1,7- | sed "s@./hisat2/@@g" | sed 's#.Hisat_aln.sorted.bam##g' > ./featureCounts/raw_counts.txt
sed s///
sed s###
sed s%%%
# 列对齐显示
head ./featureCounts/raw_counts.txt | column -t
转录组上游分析流程(一):https://mp.weixin.qq.com/s/bwUFJ-kBdUTp9WyQRQPnyg
转录组上游分析流程(二):https://mp.weixin.qq.com/s/Lq9lES4M6ZzzleXfg0iWCw
转录组上游分析流程(三):https://mp.weixin.qq.com/s/EIoPqIKC4IuOFChCmHlsVQ
致谢:感谢曾老师/新叶老师以及生信技能树团队全体成员。
注:若对内容有疑惑或者有发现明确错误的朋友,请联系后台(欢迎交流)。更多内容可关注公众号:生信方舟
- END -
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。