我从此链接http://www.geneontology.org/GO.downloads.ontology.shtml
上传了完整的Gene Ontology Terms文件我用图表表示数据,其中GO Terms是节点,isA和PartOf关系是边缘。根据我的研究,这个图中只有一个根是GO术语,加入“GO:0008150”。
现在,我希望为每个GO Term分配一个级别,以便进行一些算法。我假设节点的级别是从根开始到结束的最长路径上的节点数。
问题在于,在大约60,000个术语中,我发现只能从根访问大约30,000个节点。因此,剩下的30,000个术语不能有一个级别。这使我无法进行算法。
这个问题的解决方案是什么?
这是我想到的解决方案,您认为这是一个好主意吗?
无法平衡的GO条款没有父母。然而,几乎所有这些(叶子除外)都有儿子,因此,我的想法是检查每个节点中最深层次的儿子,然后将节点的子级别分配给最深层次减去1。例如,如果我们在1 - 3 - 5级有3个儿子,我们将父亲分配给4级,因为它是最深子的级别减1级。
答案 0 :(得分:1)
更直接的是,我会联系GO帮助台提出问题 - 他们非常敏感:
go-helpdesk at ebi.ac.uk
您下载的文件中有三个本体,其中GO:0008150只是一个根。此外,即使您使用了所有三个本体,is_a和part_of也不足以完全连接图形 - 涉及许多其他关系,并且传递性可能很复杂,尤其是在考虑多个路径时:
http://www.geneontology.org/GO.ontology.relations.shtml
最后,您可能想要考虑一下您实际尝试从图表中提取哪些信息,因为GO(一个充满概念)中的“级别”实际上并不包含很多(如果有的话)信息。
答案 1 :(得分:0)