我已经在网上探索了各种各样的选择和解决方案,但我似乎不能完全弄清楚这一点。我刚开始使用Entrez,所以我不完全了解它是如何工作的,但下面是我的尝试。
我的目标是打印出在线摘要,例如对于Kat 2a,我希望它打印出“启用H3组蛋白乙酰转移酶活性;染色质结合活性;和组蛋白乙酰转移酶活性(H4-K12特异性)。参与了几个过程'...等,从NCBI上的摘要部分。
def get_summary(gene_name):
Entrez.email = 'x'
query = f'{gene_name}[Gene Name]'
handle = Entrez.esearch(db='gene', term=query)
record = Entrez.read(handle)
handle.close()
NCBI_ids = record['IdList']
for id in NCBI_ids:
handle = Entrez.esummary(db='gene', id=id)
record = Entrez.read(handle)
print(record['Summary'])
return 0
字符串
2条答案
按热度按时间rxztt3cl1#
使用Biopython获取与提供的基因名称¹相关的所有基因ID,并收集每个ID²的所有基因摘要
Bio.Entrez.esearch
Bio.Entrez.efetch
你的方向是对的。下面是一个例子,进一步充实了你在问题中提出和提供的方法:
字符串
这导致以下功能行为:
型
查看摘要
例如,以下附加代码:
型
给出了更可读的基因摘要输出:
KAT2A
2648
KAT 2A或GCN 5是组蛋白乙酰转移酶(HAT),其主要起转录激活剂的作用。它还通过以HAT非依赖性方式促进NF-κ-B亚基RELA(MIM 164014)的泛素化而作为NF-κ-B的阻遏物(参见MIM 164011)起作用(Mao等人,2009 [PubMed 19339690])。
14534
使H3组蛋白乙酰转移酶具有活性;染色质结合活性;和组蛋白乙酰转移酶活性(H4-K12特异性)。参与几个过程,包括长期记忆;大分子代谢过程的正调控;和调节性T细胞分化的调节。作用于包括大脑发育在内的几个过程的上游或内部;脊索动物胚胎发育;和组蛋白乙酰化。位于有丝分裂的纺锤体和细胞核中。ATAC复合物和 Saga 复合物的一部分。表现在多个结构中,包括消化系统;中枢神经系统;早期孕体;泌尿生殖系统;和血淋巴系统腺。与人KAT 2A(赖氨酸乙酰转移酶2A)直系同源。[由基因组资源联盟提供,2022年4月]
303539
使染色质结合活性和蛋白磷酸酶结合活性。参与几个过程,包括α-微管蛋白乙酰化;线粒体的细胞内分布;和心肌细胞分化的正调控。位于染色质和细胞核中。与人KAT 2A(赖氨酸乙酰转移酶2A)直系同源。[由基因组资源联盟提供,2022年4月]
555517
预测能够实现N-酰基转移酶活性;染色质结合活性;和转录辅激活因子活性。参与几个过程,包括组蛋白乙酰化;调节骨发育;和调节软骨发育。作用于骨形态发生的上游或内部。预测定位于中心体和细胞核。预测为组蛋白乙酰转移酶复合物的一部分。在大脑中表达;鳍;头;心;和耳泡。与人KAT 2A(赖氨酸乙酰转移酶2A)直系同源。[由基因组资源联盟提供,2022年4月]
编辑-关于Entrez基因数据库数据结构的更多细节&如何按生物体过滤结果(例如,仅限人类)
例如,这里是每个Gene ID返回的XML数据树(转换为Python dict)的每个
['eSummaryResult']['DocumentSummarySet']['DocumentSummary']
分支下包含的完整数据(没有其他重要的索引分支):型
下面的代码被执行:
型
修改函数为按生物体过滤
所以,假设你只想返回人类基因的结果,你可以这样修改上面显示的函数:
型
这导致以下修改的行为:
t2a7ltrp2#
最后,这里是同一函数的进一步增强版本(并且是推荐使用的代码;我留下前面的答案是为了演示)
这个最终版本(当然还可以进行更多的定制)考虑了默认的
Entrez.esearch
最大返回基因ID 20(默认覆盖为100),并且还执行了查询本身按生物体过滤(除非默认的“人类”设置为None
)。字符串
例如,可以使用查询
ALDH*
(星号表示通配符)获得所有人醛脱氢酶基因的基因总结:的数据
在所提供的Python函数中设置
organism=None
,并为同一查询(gene_name='ALDH*'
)设置max_gene_ids=10000
,结果返回9,010个基因ID(即,目前Entrez基因数据库中所有生物体中的9,010个ALDH家族基因)。例如:
型