【发布时间】:2016-05-23 20:46:09
【问题描述】:
from Bio import Entrez
accessions = ['NM_001195662','NM_001289467','NM_008866']
list1 = []
for i in accessions:
Entrez.email = "A.N.Other@example.com"
handle = Entrez.efetch(db="nucleotide", id= i , rettype='gb', retmode='xml')
record = Entrez.read(handle)
#print record
dict1= record[0]["GBSeq_feature-table"]
dict2 = dict1[1]["GBFeature_quals"]
insert = []
insert.append(i)
insert.append(dict2[0]['GBQualifier_value'])
insert.append(dict2[2]['GBQualifier_value'])
insert1 = tuple(insert)
#print insert1
list1.append(insert1)
print list1
输出:
[('NM_001195662', 'Rp1', 'retinitis pigmentosa 1 (human)'), ('NM_001289467', 'Sox17', 'GeneID:20671'), ('NM_008866', 'Lypla1', 'lysophospholipase 1')]
我正在尝试从给定来源获取登录号列表,将其放入列表中,并从中获取基因符号和基因名称,并将它们按基因登录、基因符号和基因名称的顺序附加到列表中.然而,当从 NCBI 核苷酸 xml 解析数据时,每个查询的输出都不相同;给我一个应该有基因名称的 GeneID。如何确保我的所有输出都是通用格式的?
【问题讨论】:
-
答案解决了你的问题吗?
-
确实如此。我很感激。很抱歉没有尽快回复。
-
完全没问题。很高兴它起作用了:)
标签: xml parsing bioinformatics biopython