如何获取hg19的CDS、UTR、intergenic、intron等的位置信息?

参考手册:

Hg19 regions for Intergenic, Promoters, Enhancer, Exon, Intron, 5-UTR, 3-UTR

怎么从gtf文件获取genome feature的区间

The coding region of a gene, also known as the CDS (from coding sequence), is that portion of a gene's DNA or RNA that codes for protein. The region usually begins at the 5' end by a start codon and ends at the 3' end with a stop codon.

CDS就是所有exon的组合

有细微的差别:

Exons = gene - introns

CDS = gene - introns - UTRs

therefore also:

CDS = Exons - UTRs

就是UTR也算作了exon了。

也就是exon算是一个比较大的概念,所以文章里用的CDS区域来统计,而不是exon。

获取数据的方法:

1. UCSC - 最全,最个性化

How to download the most similar annotation file as the author required from UCSC browser directly.

Go to UCSC brower and Tool, Table caterogy. and pick you reference genome and select right version under clade/genome/assembly
Make sure the group is "Genes and Gene Predictions"
Choose your preferred track (RefSeq/RefGene or UCSC gene/KnownGene)
Choose the table that gives gene information (RefSeq or KnownGene)
Select your region or the entire genome to get coordinates for
Select BED format as your output format
Name your output file
Click "get output"
Be careful, the ouput files don't have exon, intron, integenic, 5-UTR, 3-UTR informatics if you save it as a single file. You can save them as separated files so that you know the information for each subset.

需要自己再sort一下:

cat raw.txt/Gene.txt | egrep  "^chr([0-9]{1,2})" | grep -v random | bedtools sort -g ../genome.txt > Gene.bed
cat raw.txt/UTR3.txt | egrep "^chr([0-9]{1,2})" | grep -v random | bedtools sort -g ../genome.txt > UTR3.bed
cat raw.txt/UTR5.txt | egrep "^chr([0-9]{1,2})" | grep -v random | bedtools sort -g ../genome.txt > UTR5.bed
cat raw.txt/down2K.txt | egrep "^chr([0-9]{1,2})" | grep -v random | bedtools sort -g ../genome.txt > Down2K.bed
cat raw.txt/CDS.txt | egrep "^chr([0-9]{1,2})" | grep -v random | bedtools sort -g ../genome.txt > CDS.bed
cat raw.txt/exon.txt | egrep "^chr([0-9]{1,2})" | grep -v random | bedtools sort -g ../genome.txt > Exon.bed
cat raw.txt/up2K.txt | egrep "^chr([0-9]{1,2})" | grep -v random | bedtools sort -g ../genome.txt > Up2K.bed
cat raw.txt/intron.txt | egrep "^chr([0-9]{1,2})" | grep -v random | bedtools sort -g ../genome.txt > Intron.bed

  

这里得到的CDS是有overlap的,因为是按转录本算的,同一个基因有多个转录本。

2. genecode - 最自动化,全部用代码搞定

3. 其他

RSeQC有比较好的bed注释文件,但是不是完全的明文,不好利用。

附录:

intergenic的需要自己计算

wget http://ftp.ensembl.org/pub/release-75/gtf/homo_sapiens/Homo_sapiens.GRCh37.75.gtf.gz
grep -v "_" hg19.chrlen.bed | egrep  "^chr([0-9]{1,2})" | cut -f1,3 > hg19.chrlen.1_22.bed
# sort -k1,1 hg19.chrlen.1_22.bed > sorted.genome
bedtools complement -i UCSC.anno/Gene.bed -g hg19.chrlen.1_22.bed > intergenic.bed
sort -k1,1 -k2,2n intergenic.bed > sorted.intergenic.bed
bedtools merge -i sorted.intergenic.bed > merged.sorted.intergenic.bed

  

  

hg19基因组 | 功能区域 | 位置提取的更多相关文章

  1. 从引物序列出发查找pcr产物的内容和在基因组上的位置

    1.利用primer_blast工具,找出这对引物序列在基因组上的位置: 结果大概会像这样: 2.这些结果都是根据hg38基因组来定位的,转换成hg19: 利用UCSCde hgLiftover 在线 ...

  2. 根据所处位置提取单元格内容的函数(left、right、mid)和查找字符串位于单元格内容第几位的函数(find)

    1.从左到右提取:left(value,num_chars) 注释:value为操纵单元格,num_chars表示截取的字符的数量 2.从右往左提取:right(value,num_chars) 注释 ...

  3. OpenCV入门笔记(七) 文字区域的提取

    https://blog.csdn.net/huobanjishijian/article/details/63685503 前面我们已经学了一些OpenCV中基本的图片处理的知识,可以拿来做一些小应 ...

  4. 如何提取一个转录本的3'UTR区域的序列

    庐州月光 如何提取一个转录本的3'UTR区域的序列 在做microRNA 和 mRNA 相互作用预测的时候,大家都知道microRNA 作用的靶点是位于mRNA 的3'UTR取,所以只需要提取mRNA ...

  5. 个人永久性免费-Excel催化剂功能第55波-Excel批注相关的批量删除作者、提取所有批注信息等

    Excel里的批注,许多人很喜欢用,但批注真的值得我们大量使用吗?批注的使用场景在哪里?这些问题可能更值得花时间来思考下.同样因为不规范地使用批注,也带出了一大堆的后续擦屁股的事情来,从批注中找回有价 ...

  6. 利用修改div的位置+js对象存储div信息 实现简单的div自定义布局功能

    原文:利用修改div的位置+js对象存储div信息 实现简单的div自定义布局功能 利用修改div的位置+js对象存储div信息 实现简单的div自定义布局功能1.在界面上添加几个checkbox和一 ...

  7. 使用js实现html锚功能,可以任意定位锚的位置,比锚更加灵活

    今天记录一个js功能,发现该功能很实用,拿出来跟大家分享. 这里我使用js的window.scrollTo()函数,该函数的用法给大家重复一下,语法为scrollTo(x,y),这里x表示在窗口文档显 ...

  8. 优动漫PAINT提取线稿功能-亮度转化透明度

    优动漫PAINT在绘制漫画的过程中,难免会遇到图像质感的构建,那么我们如何将图像变得更加有质感,优动漫PAINT就相当人性化了.小白上手也是分分钟的事. 我们在进行绘画创作时,有时会忘了分层而将线稿直 ...

  9. Excel—LEFT、RIGHT、MID函数提取不同位置的字段

    概述 函数方法不只是适用下述场景,主要目的是在不同业务场景中个人解决问题的思维方法: 下图中数据都为测试数据,不具备真实性! 场景一 数据库Task表中存储的实际任务id太长,但PC/移动端看到展示的 ...

随机推荐

  1. docker中安装及使用mysql

    打算构造一个环境较全的linux环境,所以在本地弄了个docker.然后pull了一个centos的镜像,并打算在此镜像的基本上,构建适合自己的镜像.但在使用时,发现了各种问题,还是费了一些功夫.原因 ...

  2. 技术分享 | mysql 表数据校验

    1. checksum table. checksum table 会对表一行一行进行计算,直到计算出最终的 checksum 结果.比如对表 n4 进行校验(记录数 157W,大小为 4G) [yt ...

  3. MySQL对数据表已有表进行分区表

    原文:https://blog.51cto.com/13675040/2114580 1.由于数据量较大,对现有的表进行分区 操作方式.可以使用ALTER TABLE来进行更改表为分区表,这个操作会创 ...

  4. loadrunner中web_submit_data与web_submit_form区别

    以loadrunner自带的订票系统为例 当选择红框选中的模式时,所录脚本如下:回放时可以正常回放,登录成功 选另一种所录脚本如下:回放时登录不成功,session失效, 其中web_submit_f ...

  5. Pushing Boxes(广度优先搜索)

    题目传送门 首先说明我这个代码和lyd的有点不同:可能更加复杂 既然要求以箱子步数为第一关键字,人的步数为第二关键字,那么我们可以想先找到箱子的最短路径.但单单找到箱子的最短路肯定不行啊,因为有时候不 ...

  6. 项目Beta冲刺--1/7

    项目Beta冲刺--1/7 作业要求 这个作业属于哪个课程 软件工程1916-W(福州大学) 这个作业要求在哪里 项目Beta冲刺 团队名称 基于云的胜利冲锋队 项目名称 云评:高校学生成绩综合评估及 ...

  7. flask实战-个人博客-使用工厂函数创建程序实例 --

    使用工厂函数创建程序实例 使用蓝本还有一个重要的好处,那就是允许使用工厂函数来创建程序实例.在OOP(Object-Oriented Programming,面向对象编程)中,工厂(factory)是 ...

  8. loj10017. 「一本通 1.2 练习 4」传送带(三分套三分)

    题目描述 在一个2维平面上有两条传送带,每一条传送带可以看成是一条线段.两条传送带分别为线段AB和线段CD.lxhgww在AB上的移动速度为P,在CD上的移动速度为Q,在平面上的移动速度R.现在lxh ...

  9. CodeForces - 348D:Turtles(LGV定理)

    题意:给定N*M的矩阵,'*'表示可以通过,'#'表示不能通过,现在要找两条路径从[1,1]到[N,M]去,使得除了起点终点,没有交点. 思路:没有思路,就是裸题.  Lindström–Gessel ...

  10. 命令行的方式启动和关闭Mysql

    命令行的方式启动和关闭Mysql mysql -h 主机名 -P 端口号 -u 用户名 -p 密码 例如:mysql -h localhost -P 3306 -u root -p11111(p和密码 ...