首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将基因表达数据存储在MySQL连接表中?

将基因表达数据存储在MySQL连接表中?
EN

Stack Overflow用户
提问于 2016-05-03 13:21:30
回答 1查看 341关注 0票数 3

我有几个m矩阵的基因表达数据,我想存储在MySQL。

M约为30,000个基因(唯一可识别的)

N是大约3,000个样本(大部分是唯一可识别的)

我不知道最好的方法是存储这些数据。最初,我将矩阵直接读取到MySQL表中,但后来有人告诉我,这不是一种很好的方法,因为列(样本)的数量是一个可变的数量。我无法转换矩阵并以这种方式存储它们,因为在创建列时,有比MySQL允许的更多的基因。

从那时起,我就被告知“联合桌”可能是一种更好的方法。不过,在看了几段YouTube视频之后,我一点也不聪明。我还搜索过谷歌,似乎没有关于使用连接表在MySQL中存储基因表达数据的教程。那么,有没有人对如何最好地存储这些数据有任何建议呢?我真诚地期望会有一个关于这方面的大量文献,所以如果你有有用的链接,也会受到很大的赞赏。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-03 13:52:12

为此您只需要几个表,我正在使用mysql语法:

代码语言:javascript
复制
CREATE TABLE genes (
`gene_id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`gene_name` varchar(99) not null
)ENGINE=InnoDB;

CREATE TABLE samples (
`sample_id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`sample_name` varchar(99) not null
)ENGINE=InnoDB;

CREATE TABLE gene_sample (
`gene_id` INT NOT NULL,
`sample_id` INT NOT NULL,
FOREIGN KEY(`gene_id`) REFERENCES genes (`gene_id`),
FOREIGN KEY(`sample_id`) REFERENCES sample (`sample_id`),
)ENGINE=InnoDB;

对于样本中的每一个基因,将gene_idsample_id插入到gene_sample表中。

在SELECT中使用两个联接表达式来重建完整的数据:

代码语言:javascript
复制
SELECT genes.*, samples.* 
FROM gene_sample 
LEFT JOIN genes USING (gene_id) 
LEFT JOIN samples USING (sample_id);
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37005373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档