| Graph {SMRUCC.genomics.Data.GeneOntology.DAG} | .NET clr documentation |
GO DAG graph
GO 的本体是一个有向无环图(DAG),一个子条目可能同时拥有多个父条目, 所以从任意一个条目出发向上的路径数量是指数级的。旧版本的 Graph.Family() 会枚举出所有的祖先路径,而 Builder.CreateClusterMembers() 又会对每一个条目都调用一次 该函数,导致在完整的 go.obo(约5万条目)上面构建时会直接卡死或者内存溢出。
这里改为:
O(N * A);
# namespace SMRUCC.genomics.Data.GeneOntology.DAG
export class Graph {
header: header;
# 获取得到当前的DAG图之中的所有的节点
Terms: iterates(TermNode);
}
header: headerTerms: iterates(TermNode)