mysql - 在 MySQL 中存储基因表达数据
问题描述
我有 mxn 个基因表达数据矩阵,我想将它们存储在 MySQL 中,以便可以使用 PHP 编程进行搜索。
m 是大约 100000 个样本(唯一可识别)
n 是大约 23,300 个基因(唯一可识别)
我创建了三个表如下
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,
`Expression_value` INT ,
FOREIGN KEY(`gene_id`) REFERENCES genes (`gene_id`),
FOREIGN KEY(`sample_id`) REFERENCES sample (`sample_id`),
) ENGINE=InnoDB;
问题是我如何在 mXn 矩阵的第三个表(gene_sample)中插入值?
我如何在gene_sample表中存储对应于样本和基因的表达值?
解决方案
假设genes
和samples
表已经被填充,并且您想gene_sample
使用所有可能的组合来填充连接表,您可以尝试使用带有交叉连接的插入:
INSERT INTO gene_sample (gene_id, sample_id)
SELECT g.gene_id, s.sample_id
FROM genes g
CROSS JOIN samples s;
当然,这不会为该Expression_value
列分配任何值。但理想情况下,该列甚至不属于联结表。
推荐阅读
- javascript - MobX:避免在视图中未使用对象键时触发重新渲染
- node.js - Joi 验证功能
- java - 如何将字符串转换为 ECDH PublicKey 并检查其连接性
- c# - 将设置从 .bot 文件迁移到 appsettings 时如何修复机器人配置
- php - 归并排序时为什么会出现堆栈溢出?
- python-3.x - 我在源文件夹中有 100 个 xml 文件,我想使用 python 将这些文件移动到 3 个不同的目标文件夹
- python - 在 colab 中导入 gensim 包时出错
- hyperledger-fabric - 打包链码
- php - 如何将 Rate Yo 添加到数据库中
- mongodb - 何时从流中清除 mongodb 更改流事件