从gtf文件提取gene长度,gene外显子id,外显子起始和终止位置等方法
## 下载gtf:选择的是ensembl 的小鼠的Mus_musculus.GRCm38.102.gtf:
\ ## 下载好的gtf文件,导入到服务器中
参考链接:
https://www.jianshu.com/p/d53416962fa8
操作
# 解压:
gunzip Mus_musculus.GRCm38.102.gtf.gz
# head查看一下gtf的格式:
head Mus_musculus.GRCm38.102.gtf
# 提取exon出来:
awk '{if ($3=="exon") print $0}' Mus_musculus.GRCm38.102.gtf > exon.gtf
# 去掉 exon.gtf 文件中的双引号:
sed -i 's/"//g' exon.gtf
# 提取需要的信息到txt:
awk 'BEGIN{FS="\t| |;";OFS="\t"}{print $1,$3,$4,$5,$7,$10,$25,$5-$4+1}' exon.gtf > exon.txt
# 查看exon.txt 的内容
# 查看下有多少exon,多少个gene:
wc -l exon.txt (有多少exon)
awk '{print $6}' exon.txt | sort | uniq |wc -l (gene_id数量)
awk '{print $7}' exon.txt | sort | uniq |wc -l (gene_name 数量)
#看来gene_id的数量比genename要多,用name吧
# 计算gene长度:
awk 'BEGIN{OFS="\t"}{ s[$7] += $8 }END{for (i in s){print i,s[i]}} ' exon.txt > gene.length.txt
#查看 gene.length.txt 内容:
head gene.length.txt