【发布时间】:2012-06-24 20:59:27
【问题描述】:
我正在尝试在我的机构的数据库中表示遗传变异数据。我们发现了遗传变异,这些变异与它们相关的参考等位基因、突变等位基因、染色体、位置、名称、可能的影响、基因、基因中的位置等。
虽然问题上下文有时有用不是必需的,但我将使用 django 构建它,数据库后端将是 PostgreSQL 或 MySQL(也欢迎在此处提出关于选择的建议,但不是问题的主要焦点)
为了正确地表示这些信息,我已经着手设计一个关系数据库。但是,我在定义最有效的结构时遇到了问题。 我可以这样表示:
变异属于多对一关系中的基因。即一个基因可以有许多变体,但一个变体通常不能跨越一个以上的基因。 (但有时这可能发生在大型 CNV 或两个基因重叠的情况下,所以可能是多对多关系???)
在个体中也发现了变异。个体具有基因型,这只是变体的各种等位基因组合的两个副本。我根本不确定这方面的最佳选择,也许是变异和个体的联合主键,并将基因型记录为突变等位基因的数量(例如 0,1,2)???
所以我的问题是(对所有的序言和生物谈话感到抱歉)我们认为哪种方式是最好的,或者对这三件事有更好的设计: 变体——我要存储的主要信息,基因和个体——对于任何下游分析都是必不可少的。
非常感谢任何建议。再次对这个问题的短暂性感到抱歉。
【问题讨论】:
-
您意识到这不是一个小问题吗?几个问题:1)您是否有尚未注释的“样本”? 2)您是否有尚未归类为具有任何基因型的“人”? 3)你真的必须存储DNA序列,还是只存储“抽象”基因型(如:“有一个B型基因座XYZ”)
-
我知道这是一个难题。按顺序回答您的问题 1) 变异将在插入数据库之前进行注释,但在初始插入后,将发布可能包含新注释以及新变异、基因和个体的批量数据。 2)即使在所有序列分析完成后,也不是每个人都会有一个基因型,并且 3)不需要存储 DNA 序列。谢谢
-
在 biostar 上交叉发布:biostars.org/post/show/47587
-
@DavyKavanagh;我想向您指出一种通常称为
fact-type modelling(FCO_IM,ORM)的信息建模。这种方法允许建模者与以自然语言交流的学科专家密切合作。问题领域(话语宇宙,UoD)以一系列简单的事实(命题)呈现,每个事实都可以被专家标记为真或假。完成后,模型会生成句子返回给主题专家进行评估。无论如何.. 看这里en.wikipedia.org/wiki/Object-Role_Modeling -
(cont..) 当最终对模型感到满意时,该工具将由此生成表 (ER) 或类 (UML)。
标签: database-design bioinformatics django-database