怎么确定一个基因有多少内含子多少外显子
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么确定一个基因有多少内含子多少外显子相关的知识,希望对你有一定的参考价值。
在NCBI上的OMIM数据库输入基因名,在TITLE上就会显示它的学名。用学名检索基因是比较靠谱的。建议用ENSEMBL找基因,显示其外显子和内含子。进入ENSEMBL的方法有两种,1.NCBI上进入基因的检索条以后,summary里会有相应的ENSEMBL的链接(see related);2.直接进入ENSEMBL主页检索该基因。进入基因的检索条以后,点左侧的CDNA和EXONS就能相应地看到转录本的注释信息,包括外显子和内含子的注释,5‘和3’UTR的注释,和密码子的注释。 参考技术A 在NCBI上的OMIM数据库输入基因名,在TITLE上就会显示它的学名。
用学名检索基因是比较靠谱的。建议用ENSEMBL找基因,显示其外显子和内含子。进入ENSEMBL的方法有两种,1.NCBI上进入基因的检索条以后,summary里会有相应的ENSEMBL的链接(see related);2.直接进入ENSEMBL主页检索该基因。进入基因的检索条以后,点左侧的CDNA和EXONS就能相应地看到转录本的注释信息,包括外显子和内含子的注释,5‘和3’UTR的注释,和密码子的注释。
计算基因组外显子长度
下载基因组外显子信心
网站 ftp://ftp.ncbi.nlm.nih.gov/pub/CCDS/current_human/
wget ftp://ftp.ncbi.nlm.nih.gov/pub/CCDS/current_human/CCDS.current.txt
运行下列代码 得到外显子大约36M
import
re
import
os
from
collections
import
OrderedDict
from
operator
import
itemgetter
os.chdir(
‘/Users/yangqin/Desktop/biotree/python/‘
)
exonLength
=
0
# 外显子长度尚未计算
overlapExons
=
OrderedDict()
with
open
(
‘CCDS.current.txt‘
,
‘rt‘
) as f:
# 把CCCDS.current.txt打开定义为f
for
line
in
f:
# 逐行读取f
if
line.startswith(
‘#‘
): # 如果该行以井号开头,该行为表头
continue
# 跳过该行
line
=
line.rstrip()
# 把右边的空格去掉,_.rstrip()把右边的空格去掉
lst
=
line.split(
‘\t‘
)
# 用split分开该行的各列数据,以\t分隔
if
lst[
-
2
]
=
=
‘-‘
:
# 如果倒数第二列是‘-’,没有外显子
continue
# 跳过该行
lst[
-
2
]
=
re.sub(
‘\[|\]‘
,
‘ ‘
, lst[
-
2
])
# 正则表达式,去掉倒数第二列两端的[],换成空格
exons
=
lst[
-
2
].split(
‘, ‘
)
# 把该列(每个基因)多个外显子隔开
for
exon
in
exons:
# 对于每一个外显子
start
=
int
(exon.split(
‘-‘
)[
0
])
# 拿到该外显子的起始坐标
end
=
int
(exon.split(
‘-‘
)[
1
])
# 拿到该外显子的终止坐标
coordinate
=
lst[
0
]
+
‘:‘
+
exon
# 定义每一个外显子,以防重复计算
if
coordinate
not
in
overlapExons.keys():
# 如果该外显子尚未计算
overlapExons[coordinate]
=
1
# 加入该外显子
exonLength
+
=
end
-
start
# 计算长度
print
(exonLength)
36061455
以上是关于怎么确定一个基因有多少内含子多少外显子的主要内容,如果未能解决你的问题,请参考以下文章