提取基因长度genelength

# 下载gtf:选择的是ensembl的GRCh38.94.gtf:

下载地址:ftp://ftp.ensembl.org/pub/release-94/gtf/homo_sapiens/

下载命令:

axel -n 10 ftp://ftp.ensembl.org/pub/release-94/gtf/homo_sapiens/Homo_sapiens.GRCh38.94.gtf.gz

# 解压:

gunzip Homo_sapiens.GRCh38.94.gtf.gz

# head查看一下gtf的格式:

Homo_sapiens.GRCh38.94.gtf

# 提取exon出来:

awk '{if ($3=="exon") print $0}' Homo_sapiens.GRCh38.94.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

其实这里提取genename/geneid、genelength这两项就够了。

exon.txt

# 查看下有多少exon,多少个gene:

wc -l exon.txt

-> 1262162

awk '{print $6}' exon.txt | sort | uniq |wc -l

-> 58735 (gene_id)

awk '{print $7}' exon.txt | sort | uniq |wc -l

-> 57169 (gene_name)

看来gene_id的数量比genename要多,用name吧。

# 计算长度:

awk 'BEGIN{OFS="\t"}{ s[$7] += $8 }END{for (i in s){print i,s[i]}} ' exon.txt > gene.length.txt

gene.length.txt

wc -l gene.length.txt

-> 57169 (gene_name)

同样的思路也可以对转录本id/name的长度进行统计。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 慢慢看,憋着急!很有用! 前言: 首先呢,在你的Linux系统中新建一个文件,Thanos.txt(紫薯侠赐予你力...
    刘小泽阅读 8,554评论 6 33
  • wget ftp://ftp.ensembl.org/pub/release-87/gtf/homo_sapien...
    白云梦_7阅读 6,976评论 0 0
  • 系统巡检脚本:Version 2016.08.09 ############################ 系统...
    NamasAmitabha阅读 5,176评论 0 0
  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 12,150评论 0 10
  • 月亮,暗了, 是我,不安了。 你说,莫怕,莫怕, 便为我打亮了一旁的星灯。 你的吻轻轻地落在我的额头, 柔柔的指尖...
    二小妹阅读 1,235评论 0 1