我正在尝试在我的机构的数据库中表示遗传变异数据。我们发现了与之相关的参考等位基因、突变等位基因、染色体、位置、名称、可能的效应、基因、基因中的位置等遗传变异。
虽然这不是必须的,因为问题上下文有时是有用的,但我将使用django构建它,db后端将是PostgreSQL或MySQL (也欢迎关于选择的建议,尽管不是问题的主要焦点)
为了正确地表示这些信息,我已经着手设计一个关系数据库。然而,我在定义最有效的结构时遇到了问题。我可以将其表示为:
变体属于多对一关系中的基因。也就是说,一个基因可以有多个变体,但一个变体通常不能跨越多个基因。(然而,有时这可能发生在较大的CNV或两个基因重叠的地方,因此可能是多对多关系?)
在个体中也发现了变异。个体有基因型,这只是变异的各种等位基因组合的两个副本。我根本不确定最好的方法是什么,也许是变种和个体的联合主键,并记录基因型作为突变等位基因的数量(例如0,1,2)?
所以我的问题是(抱歉所有的开场白和自传)我们用什么方式做事情是最好的,或者是这三件事的更好的设计:变体-我想要存储信息的主要东西,以及基因和个体-这两个对于任何下游分析都是必不可少的。
任何建议都是非常感谢的。再次为这个问题的短暂性质道歉。
发布于 2012-06-30 08:14:06
嗯,我对基因一无所知,也不会说生物术语。然而,我从你的问题和维基百科中收集了一些建议,并提出了这个建议。主要是作为建模的练习,使用FCO方法。所以这里有一些语句,你应该能够将每一个标记为真或假。
E275<可以在person.中发现许多具有许多genotypes.
Person具有许多观察到phenotypes.
Variant的person.
的/code>

https://stackoverflow.com/questions/11181142
复制相似问题