【8.2】基因组坐标转基因名(pyensembl)
坐标转基因
一、pyensembl
1.1 安装pyensembl
activate3
pip install pyensembl
下载gtf注释文件
cd /data/database/genome
wget -c https://hgdownload.soe.ucsc.edu/goldenPath/hg38/bigZips/genes/hg38.refGene.gtf.gz
gzip -d hg38.refGene.gtf.gz
grep -v fix /data/database/genome/hg38/gtf/hg38.refGene.gtf >/data/database/genome/hg38/gtf/hg38.refGene_remove_fix.gtf
grep -v alt /data/database/genome/hg38/gtf/hg38.refGene_remove_fix.gtf >/data/database/genome/hg38/gtf/hg38.refGene_remove.gtf
grep -v MIR /data/database/genome/hg38/gtf/hg38.refGene_remove.gtf >/data/database/genome/hg38/gtf/hg38.refGene_remove_3.gtf
1.2 python使用示例
import os
import sys
import pyensembl
import sqlite3
from pyensembl import EnsemblRelease
from pyensembl.genome import Genome
from bpkit.utils import safe_mkdir
os.environ['PYENSEMBL_CACHE_DIR'] = '/data/tmp'
print(sys.modules['pyensembl'])
def get_genname_by_loc():
data = Genome(
reference_name='hg38',
annotation_name='features',
gtf_path_or_url='/data/database/genome/hg38/gtf/hg38.refGene_remove_3.gtf') # gtf_path_or_url用来指定gtf的路径
# parse GTF and construct database of genomic features
data.index() # 建立index,其实就是建立sqlite的书哭哭
gene_names = data.gene_ids_at_locus(contig='chr12', position=25245365 )
# gene_names = data.gene_names_at_locus(contig='chr12', position=2524)
# exon_ids = data.exon_ids_of_gene_name('KRAS')
print(gene_names)
# print(exon_ids)
三、讨论
3.1 多个版本的参考基因组
https://hgdownload.soe.ucsc.edu/goldenPath/hg38/bigZips/genes/
- hg38.ensGene.gtf.gz
- hg38.knownGene.gtf.gz
- hg38.ncbiRefSeq.gtf.gz
- hg38.refGene.gtf.gz
OR4F16 在refGene中,在5号染色体和1号染色体中都存在;但是在ncbiRefSeq中只存在与1号染色体。
不同版本对应关系 hg19,GRCH37和Ensembl75是三种国际生物信息学数据库资源收集存储单位,即NCBI,UCSC和ENSEMBL各自发布的基因组信息。
hg系列,hg18/19/38来自UCSC,也是目前使用频率最高的基因组。从出道至今我就只看过hg19了,但是建议大家都转为hg38,因为它是目前的最新版本。
基因组各种版本对应关系综合来看如下所示:
GRCh36 (hg18): ENSEMBL release_52.
GRCh37 (hg19): ENSEMBL release_59/61/64/68/69/75.
GRCh38 (hg38): ENSEMBL release_76/77/78/80/81/82.
3.2 网页版基于坐标或者基于基因名查看信息
参考资料
这里是一个广告位,,感兴趣的都可以发邮件聊聊:tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn