生信编程直播第10题:根据指定染色体及坐标得到位置信息
问题描述
这个题目是来源于生信编程直播学员的真实需求!
我也遇到过这个需求:
任意给定基因组的 chr:pos, 判断它在哪个基因上面?这个程序难吗?基因的chr,start,end都是已知的 (这个文件需要下载,可以是UCSC,或者NCBI)
学术一点讲述这个问题:已知CNV数据在染色体上的position如chr1:2075000-2930999,怎样批量获取其对应的Gene Symbol呢?
而且还可以更复杂,我不仅想知道自己指定的坐标是否在某个基因上:如果在基因上,我还想知道在内含子还是外显子,进一步说是第几个外显子或者内含子!如果不在基因上,我想知道我指定的坐标距离哪一个基因的TSS(转录起始位点)最近呢?其实就是就是对指定位点或者区间做genomic features的注释!
当然,这个大把的已经造好的轮子可以做到,比如annovar,snpEFF,VEP就是做单个位点注释genomic features的,其它CHIP-seq的软件,都可以做单个区间的批量注释到genomic features!既然有现成的轮子,我推荐大家去学习一下就好了。
练习题
既然有现成的轮子,我推荐大家去学习一下就好了。我们的练习题还是简单一点好!就是指定位置注释是否在基因上面吧!
01 02 03 04 05 06 07 08 09 10 |
|
首先,拿到上面文件里面每一个区间的序列,然后告诉我该区间是什么基因!所采用的坐标是hg38系统的。如果你不想写程序,那么熟练使用bedtools就可以了,bedtools这些简单的功能都可以实现。
hg38的基因的起始坐标是:
因为这个比较复杂,所以我就专门写了一个帖子来做这件事:
历史题目:
生物信息学技能面试题(第1题)-人类基因组的外显子区域到底有多长
生物信息学技能面试题(第4题)-多个同样的行列式文件合并起来
生物信息学技能面试题(第5题)-根据GTF画基因的多个转录本结构