From d6a605c484d1b1dd2da43f73c3e6c9f806d0bc2c Mon Sep 17 00:00:00 2001 From: Vin Date: Tue, 22 Sep 2026 01:53:21 -0400 Subject: [PATCH 1/4] Generate UMAP models from a registry dict instead of one file per database api/models/umap_dynamic.py follows efp_dynamic.py: UMAP_DATABASES maps each database to its species, and a factory builds the coords and expression models per database with unique class names. Only arabidopsis_NIE_umap is registered here, so this is a pure refactor. UMAPUtils.get_tables is now a lookup against that registry and returns the same dict, so the routes and responses are untouched. The escaped database name is wrapped in str() before the lookup. Proof of no behaviour change: tests/resources/test_umap_gene_expression.py passes without a single edit. --- api/models/arabidopsis_NIE_umap.py | 19 ----------- api/models/umap_dynamic.py | 46 +++++++++++++++++++++++++++ api/resources/umap_gene_expression.py | 15 ++++----- 3 files changed, 53 insertions(+), 27 deletions(-) delete mode 100644 api/models/arabidopsis_NIE_umap.py create mode 100644 api/models/umap_dynamic.py diff --git a/api/models/arabidopsis_NIE_umap.py b/api/models/arabidopsis_NIE_umap.py deleted file mode 100644 index d73edfa..0000000 --- a/api/models/arabidopsis_NIE_umap.py +++ /dev/null @@ -1,19 +0,0 @@ -from api import db - - -class UmapCoords(db.Model): - __bind_key__ = "arabidopsis_NIE_umap" - __tablename__ = "umap_coords" - - cell_id: db.Mapped[int] = db.mapped_column(db.Integer, nullable=False, primary_key=True) - umap_1: db.Mapped[float] = db.mapped_column(db.Float, nullable=False) - umap_2: db.Mapped[float] = db.mapped_column(db.Float, nullable=False) - cell_type: db.Mapped[str] = db.mapped_column(db.String(128), nullable=False) - - -class UmapExpression(db.Model): - __bind_key__ = "arabidopsis_NIE_umap" - __tablename__ = "umap_expression" - - gene_id: db.Mapped[str] = db.mapped_column(db.String(32), nullable=False, primary_key=True) - expression: db.Mapped[dict] = db.mapped_column(db.JSON, nullable=False) diff --git a/api/models/umap_dynamic.py b/api/models/umap_dynamic.py new file mode 100644 index 0000000..5e47538 --- /dev/null +++ b/api/models/umap_dynamic.py @@ -0,0 +1,46 @@ +"""Every SUPeR Viewer UMAP database exposes the same umap_coords and umap_expression +tables, so instead of hand-writing a model file per database we generate them here.""" + +from api import db + +# Every UMAP database and the species its gene ids belong to. UMAP databases have no +# catalog entry, so the species that selects the gene id pattern is declared here. +UMAP_DATABASES = { + "arabidopsis_NIE_umap": "arabidopsis", +} + + +def _class_prefix(database): + return "".join(part.capitalize() for part in database.split("_")) + + +def _umap_coords_model(database): + return type( + _class_prefix(database) + "UmapCoords", + (db.Model,), + { + "__bind_key__": database, + "__tablename__": "umap_coords", + "cell_id": db.mapped_column(db.Integer, nullable=False, primary_key=True), + "umap_1": db.mapped_column(db.Float, nullable=False), + "umap_2": db.mapped_column(db.Float, nullable=False), + "cell_type": db.mapped_column(db.String(128), nullable=False), + }, + ) + + +def _umap_expression_model(database): + return type( + _class_prefix(database) + "UmapExpression", + (db.Model,), + { + "__bind_key__": database, + "__tablename__": "umap_expression", + "gene_id": db.mapped_column(db.String(32), nullable=False, primary_key=True), + "expression": db.mapped_column(db.JSON, nullable=False), + }, + ) + + +UMAP_COORDS_MODELS = {database: _umap_coords_model(database) for database in UMAP_DATABASES} +UMAP_EXPRESSION_MODELS = {database: _umap_expression_model(database) for database in UMAP_DATABASES} diff --git a/api/resources/umap_gene_expression.py b/api/resources/umap_gene_expression.py index 683d136..4a6c8ee 100644 --- a/api/resources/umap_gene_expression.py +++ b/api/resources/umap_gene_expression.py @@ -1,8 +1,7 @@ from flask_restx import Namespace, Resource from markupsafe import escape from api import db -from api.models.arabidopsis_NIE_umap import UmapCoords as ArabidopsisNIEUmapCoords -from api.models.arabidopsis_NIE_umap import UmapExpression as ArabidopsisNIEUmapExpression +from api.models.umap_dynamic import UMAP_COORDS_MODELS, UMAP_DATABASES, UMAP_EXPRESSION_MODELS from api.utils.bar_utils import BARUtils, load_combined_master umap_gene_expression = Namespace( @@ -20,14 +19,14 @@ def get_tables(database): :return: dict with the coordinates table, expression table and species """ # Set database - if database == "arabidopsis_NIE_umap": - coords_table = ArabidopsisNIEUmapCoords - expression_table = ArabidopsisNIEUmapExpression - species = "arabidopsis" - - else: + database = str(database) + if database not in UMAP_DATABASES: return {"success": False, "error": "Invalid database", "error_code": 400} + coords_table = UMAP_COORDS_MODELS[database] + expression_table = UMAP_EXPRESSION_MODELS[database] + species = UMAP_DATABASES[database] + return {"success": True, "coords_table": coords_table, "expression_table": expression_table, "species": species} From 6f871f1fc7df035cc5a1d0cf3b7462d46f9cdcf3 Mon Sep 17 00:00:00 2001 From: Vin Date: Tue, 22 Sep 2026 02:14:41 -0400 Subject: [PATCH 2/4] Add CI fixtures and wiring for 13 SUPeR Viewer database pairs 26 fixture dumps generated from the full dumps from prod that I checked myself: 3 genes per pseudobulk database carrying all of that database's rows per gene including Mean_CTRL, and 8 cells per UMAP database with each gene's expression trimmed to those cells. Every UMAP gene keeps at least one gap cell, so a server that filled in zeros would fail the tests. Each file keeps its source dump's header, DDL and footer verbatim; only the data rows were cut down. Filenames follow the NIE convention: _dump.sql for pseudobulk and .sql for UMAP. Verified before wiring: every CREATE DATABASE name matches its filename, and every rows-per-gene matches the manifest and the dataset table. fixture_manifest.json stays uncommitted. --- config/BAR_API.cfg | 26 ++++++ ...arabidopsis_flower_lee_pseudobulk_dump.sql | 59 +++++++++++++ .../databases/arabidopsis_flower_lee_umap.sql | 83 +++++++++++++++++++ ...rabidopsis_root_shahan_pseudobulk_dump.sql | 59 +++++++++++++ .../arabidopsis_root_shahan_umap.sql | 83 +++++++++++++++++++ ...dopsis_rosette_21d_lee_pseudobulk_dump.sql | 60 ++++++++++++++ .../arabidopsis_rosette_21d_lee_umap.sql | 83 +++++++++++++++++++ ...dopsis_rosette_30d_lee_pseudobulk_dump.sql | 60 ++++++++++++++ .../arabidopsis_rosette_30d_lee_umap.sql | 83 +++++++++++++++++++ ...rabidopsis_seed_0d_lee_pseudobulk_dump.sql | 60 ++++++++++++++ .../arabidopsis_seed_0d_lee_umap.sql | 83 +++++++++++++++++++ ...rabidopsis_seed_martin_pseudobulk_dump.sql | 59 +++++++++++++ .../arabidopsis_seed_martin_umap.sql | 83 +++++++++++++++++++ ...opsis_seedling_12d_lee_pseudobulk_dump.sql | 60 ++++++++++++++ .../arabidopsis_seedling_12d_lee_umap.sql | 83 +++++++++++++++++++ ...dopsis_seedling_3d_lee_pseudobulk_dump.sql | 60 ++++++++++++++ .../arabidopsis_seedling_3d_lee_umap.sql | 83 +++++++++++++++++++ ...dopsis_seedling_6d_lee_pseudobulk_dump.sql | 60 ++++++++++++++ .../arabidopsis_seedling_6d_lee_umap.sql | 83 +++++++++++++++++++ ...rabidopsis_shoot_zhang_pseudobulk_dump.sql | 60 ++++++++++++++ .../arabidopsis_shoot_zhang_umap.sql | 83 +++++++++++++++++++ ...rabidopsis_silique_lee_pseudobulk_dump.sql | 59 +++++++++++++ .../arabidopsis_silique_lee_umap.sql | 83 +++++++++++++++++++ .../arabidopsis_stem_lee_pseudobulk_dump.sql | 59 +++++++++++++ .../databases/arabidopsis_stem_lee_umap.sql | 83 +++++++++++++++++++ config/databases/rice_OW_pseudobulk_dump.sql | 59 +++++++++++++ config/databases/rice_OW_umap.sql | 83 +++++++++++++++++++ config/init.sh | 26 ++++++ 28 files changed, 1905 insertions(+) create mode 100644 config/databases/arabidopsis_flower_lee_pseudobulk_dump.sql create mode 100644 config/databases/arabidopsis_flower_lee_umap.sql create mode 100644 config/databases/arabidopsis_root_shahan_pseudobulk_dump.sql create mode 100644 config/databases/arabidopsis_root_shahan_umap.sql create mode 100644 config/databases/arabidopsis_rosette_21d_lee_pseudobulk_dump.sql create mode 100644 config/databases/arabidopsis_rosette_21d_lee_umap.sql create mode 100644 config/databases/arabidopsis_rosette_30d_lee_pseudobulk_dump.sql create mode 100644 config/databases/arabidopsis_rosette_30d_lee_umap.sql create mode 100644 config/databases/arabidopsis_seed_0d_lee_pseudobulk_dump.sql create mode 100644 config/databases/arabidopsis_seed_0d_lee_umap.sql create mode 100644 config/databases/arabidopsis_seed_martin_pseudobulk_dump.sql create mode 100644 config/databases/arabidopsis_seed_martin_umap.sql create mode 100644 config/databases/arabidopsis_seedling_12d_lee_pseudobulk_dump.sql create mode 100644 config/databases/arabidopsis_seedling_12d_lee_umap.sql create mode 100644 config/databases/arabidopsis_seedling_3d_lee_pseudobulk_dump.sql create mode 100644 config/databases/arabidopsis_seedling_3d_lee_umap.sql create mode 100644 config/databases/arabidopsis_seedling_6d_lee_pseudobulk_dump.sql create mode 100644 config/databases/arabidopsis_seedling_6d_lee_umap.sql create mode 100644 config/databases/arabidopsis_shoot_zhang_pseudobulk_dump.sql create mode 100644 config/databases/arabidopsis_shoot_zhang_umap.sql create mode 100644 config/databases/arabidopsis_silique_lee_pseudobulk_dump.sql create mode 100644 config/databases/arabidopsis_silique_lee_umap.sql create mode 100644 config/databases/arabidopsis_stem_lee_pseudobulk_dump.sql create mode 100644 config/databases/arabidopsis_stem_lee_umap.sql create mode 100644 config/databases/rice_OW_pseudobulk_dump.sql create mode 100644 config/databases/rice_OW_umap.sql diff --git a/config/BAR_API.cfg b/config/BAR_API.cfg index debbc6a..631fb2c 100755 --- a/config/BAR_API.cfg +++ b/config/BAR_API.cfg @@ -12,8 +12,32 @@ SQLALCHEMY_TRACK_MODIFICATIONS = False SQLALCHEMY_BINDS = { 'annotations_lookup': 'mysql://root:root@localhost/annotations_lookup', 'arabidopsis_ecotypes': 'mysql://root:root@localhost/arabidopsis_ecotypes', + 'arabidopsis_flower_lee_pseudobulk': 'mysql://root:root@localhost/arabidopsis_flower_lee_pseudobulk', + 'arabidopsis_flower_lee_umap': 'mysql://root:root@localhost/arabidopsis_flower_lee_umap', 'arabidopsis_NIE_pseudobulk': 'mysql://root:root@localhost/arabidopsis_NIE_pseudobulk', 'arabidopsis_NIE_umap': 'mysql://root:root@localhost/arabidopsis_NIE_umap', + 'arabidopsis_root_shahan_pseudobulk': 'mysql://root:root@localhost/arabidopsis_root_shahan_pseudobulk', + 'arabidopsis_root_shahan_umap': 'mysql://root:root@localhost/arabidopsis_root_shahan_umap', + 'arabidopsis_rosette_21d_lee_pseudobulk': 'mysql://root:root@localhost/arabidopsis_rosette_21d_lee_pseudobulk', + 'arabidopsis_rosette_21d_lee_umap': 'mysql://root:root@localhost/arabidopsis_rosette_21d_lee_umap', + 'arabidopsis_rosette_30d_lee_pseudobulk': 'mysql://root:root@localhost/arabidopsis_rosette_30d_lee_pseudobulk', + 'arabidopsis_rosette_30d_lee_umap': 'mysql://root:root@localhost/arabidopsis_rosette_30d_lee_umap', + 'arabidopsis_seed_0d_lee_pseudobulk': 'mysql://root:root@localhost/arabidopsis_seed_0d_lee_pseudobulk', + 'arabidopsis_seed_0d_lee_umap': 'mysql://root:root@localhost/arabidopsis_seed_0d_lee_umap', + 'arabidopsis_seed_martin_pseudobulk': 'mysql://root:root@localhost/arabidopsis_seed_martin_pseudobulk', + 'arabidopsis_seed_martin_umap': 'mysql://root:root@localhost/arabidopsis_seed_martin_umap', + 'arabidopsis_seedling_12d_lee_pseudobulk': 'mysql://root:root@localhost/arabidopsis_seedling_12d_lee_pseudobulk', + 'arabidopsis_seedling_12d_lee_umap': 'mysql://root:root@localhost/arabidopsis_seedling_12d_lee_umap', + 'arabidopsis_seedling_3d_lee_pseudobulk': 'mysql://root:root@localhost/arabidopsis_seedling_3d_lee_pseudobulk', + 'arabidopsis_seedling_3d_lee_umap': 'mysql://root:root@localhost/arabidopsis_seedling_3d_lee_umap', + 'arabidopsis_seedling_6d_lee_pseudobulk': 'mysql://root:root@localhost/arabidopsis_seedling_6d_lee_pseudobulk', + 'arabidopsis_seedling_6d_lee_umap': 'mysql://root:root@localhost/arabidopsis_seedling_6d_lee_umap', + 'arabidopsis_shoot_zhang_pseudobulk': 'mysql://root:root@localhost/arabidopsis_shoot_zhang_pseudobulk', + 'arabidopsis_shoot_zhang_umap': 'mysql://root:root@localhost/arabidopsis_shoot_zhang_umap', + 'arabidopsis_silique_lee_pseudobulk': 'mysql://root:root@localhost/arabidopsis_silique_lee_pseudobulk', + 'arabidopsis_silique_lee_umap': 'mysql://root:root@localhost/arabidopsis_silique_lee_umap', + 'arabidopsis_stem_lee_pseudobulk': 'mysql://root:root@localhost/arabidopsis_stem_lee_pseudobulk', + 'arabidopsis_stem_lee_umap': 'mysql://root:root@localhost/arabidopsis_stem_lee_umap', 'arachis': 'mysql://root:root@localhost/arachis', 'cannabis': 'mysql://root:root@localhost/cannabis', 'canola_nssnp' : 'mysql://root:root@localhost/canola_nssnp', @@ -35,6 +59,8 @@ SQLALCHEMY_BINDS = { 'physcomitrella_db' : 'mysql://root:root@localhost/physcomitrella_db', 'poplar_nssnp' : 'mysql://root:root@localhost/poplar_nssnp', 'rice_interactions': 'mysql://root:root@localhost/rice_interactions', + 'rice_OW_pseudobulk': 'mysql://root:root@localhost/rice_OW_pseudobulk', + 'rice_OW_umap': 'mysql://root:root@localhost/rice_OW_umap', 'selaginella': 'mysql://root:root@localhost/selaginella', 'shoot_apex': 'mysql://root:root@localhost/shoot_apex', 'silique': 'mysql://root:root@localhost/silique', diff --git a/config/databases/arabidopsis_flower_lee_pseudobulk_dump.sql b/config/databases/arabidopsis_flower_lee_pseudobulk_dump.sql new file mode 100644 index 0000000..99ee154 --- /dev/null +++ b/config/databases/arabidopsis_flower_lee_pseudobulk_dump.sql @@ -0,0 +1,59 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: arabidopsis_flower_lee_pseudobulk +-- ------------------------------------------------------ +-- Server version 9.4.0 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `arabidopsis_flower_lee_pseudobulk` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `arabidopsis_flower_lee_pseudobulk` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `arabidopsis_flower_lee_pseudobulk`; + +-- +-- Table structure for table `sample_data` +-- + +DROP TABLE IF EXISTS `sample_data`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `sample_data` ( + `data_probeset_id` varchar(16) NOT NULL, + `data_signal` float DEFAULT '0', + `data_signal_std` float DEFAULT '0', + `data_bot_id` varchar(64) NOT NULL, + KEY `data_probeset_id` (`data_probeset_id`,`data_bot_id`,`data_signal`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `sample_data` +-- + +LOCK TABLES `sample_data` WRITE; +/*!40000 ALTER TABLE `sample_data` DISABLE KEYS */; +INSERT INTO `sample_data` VALUES ('AT1G01010',0.00849616,0.149845,'Unknown'),('AT1G01010',0.00382709,0.0747515,'Tapetum'),('AT1G01010',0.00555427,0.11437,'Gynoecium and developing ovule'),('AT1G01010',0.0165317,0.193183,'Anther'),('AT1G01010',0.0168979,0.204127,'Epidermal'),('AT1G01010',0.0129372,0.163582,'Male meiocyte'),('AT1G01010',0.00575536,0.116394,'Pollen'),('AT1G01010',0.0666808,0.380699,'Vascular'),('AT1G01010',0,0,'Developing ovule'),('AT1G01010',0.0116959,0.167702,'Mean_CTRL'),('AT1G01020',0.0269661,0.272391,'Unknown'),('AT1G01020',0.0461319,0.33191,'Tapetum'),('AT1G01020',0.0293728,0.20296,'Gynoecium and developing ovule'),('AT1G01020',0.0247412,0.224438,'Anther'),('AT1G01020',0.00594706,0.115624,'Epidermal'),('AT1G01020',0.0889595,0.422899,'Male meiocyte'),('AT1G01020',0.0318393,0.28948,'Pollen'),('AT1G01020',0.0792938,0.40418,'Vascular'),('AT1G01020',0.0426172,0.292169,'Developing ovule'),('AT1G01020',0.03165,0.277587,'Mean_CTRL'),('AT1G01030',0.0345644,0.306613,'Unknown'),('AT1G01030',0.0224953,0.231296,'Tapetum'),('AT1G01030',0.0265322,0.225368,'Gynoecium and developing ovule'),('AT1G01030',0.0483986,0.335871,'Anther'),('AT1G01030',0.0118251,0.163059,'Epidermal'),('AT1G01030',0.0297713,0.270059,'Male meiocyte'),('AT1G01030',0.0856332,0.416266,'Pollen'),('AT1G01030',0.047488,0.339749,'Vascular'),('AT1G01030',0.0739971,0.359961,'Developing ovule'),('AT1G01030',0.0373011,0.306399,'Mean_CTRL'); +/*!40000 ALTER TABLE `sample_data` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +-- Dump completed on 2026-07-30 00:24:07 diff --git a/config/databases/arabidopsis_flower_lee_umap.sql b/config/databases/arabidopsis_flower_lee_umap.sql new file mode 100644 index 0000000..63a680d --- /dev/null +++ b/config/databases/arabidopsis_flower_lee_umap.sql @@ -0,0 +1,83 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: arabidopsis_flower_lee_umap +-- ------------------------------------------------------ +-- Server version 9.4.0 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `arabidopsis_flower_lee_umap` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `arabidopsis_flower_lee_umap` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `arabidopsis_flower_lee_umap`; + +-- +-- Table structure for table `umap_coords` +-- + +DROP TABLE IF EXISTS `umap_coords`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `umap_coords` ( + `cell_id` INT NOT NULL, + `umap_1` FLOAT NOT NULL, + `umap_2` FLOAT NOT NULL, + `cell_type` VARCHAR(128) NOT NULL, + PRIMARY KEY (`cell_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `umap_coords` +-- + +LOCK TABLES `umap_coords` WRITE; +/*!40000 ALTER TABLE `umap_coords` DISABLE KEYS */; +INSERT INTO `umap_coords` VALUES (4,-3.454307,0.662751,'Unknown'),(45,-3.101461,1.666404,'Unknown'),(71,2.584931,-6.196103,'Gynoecium and developing ovule'),(157,-4.351600,1.759395,'Unknown'),(329,-0.016035,4.015458,'Male meiocyte'),(359,-4.663122,1.347665,'Unknown'),(685,-3.734362,1.471752,'Unknown'),(817,-3.904004,-0.424860,'Unknown'); +/*!40000 ALTER TABLE `umap_coords` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `umap_expression` +-- + +DROP TABLE IF EXISTS `umap_expression`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `umap_expression` ( + `gene_id` VARCHAR(32) NOT NULL, + `expression` JSON NOT NULL, + PRIMARY KEY (`gene_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `umap_expression` +-- + +LOCK TABLES `umap_expression` WRITE; +/*!40000 ALTER TABLE `umap_expression` DISABLE KEYS */; +INSERT INTO `umap_expression` VALUES ('AT1G01010','{\"157\": 2.640544, \"685\": 2.787718, \"817\": 2.576473}'),('AT1G01020','{\"71\": 1.386144, \"329\": 2.122614, \"359\": 3.014546}'),('AT1G01030','{\"4\": 2.117453, \"45\": 3.218108}'); +/*!40000 ALTER TABLE `umap_expression` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +-- Dump completed on 2026-07-30 01:27:00 diff --git a/config/databases/arabidopsis_root_shahan_pseudobulk_dump.sql b/config/databases/arabidopsis_root_shahan_pseudobulk_dump.sql new file mode 100644 index 0000000..18f6687 --- /dev/null +++ b/config/databases/arabidopsis_root_shahan_pseudobulk_dump.sql @@ -0,0 +1,59 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: arabidopsis_root_shahan_pseudobulk +-- ------------------------------------------------------ +-- Server version 9.4.0 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `arabidopsis_root_shahan_pseudobulk` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `arabidopsis_root_shahan_pseudobulk` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `arabidopsis_root_shahan_pseudobulk`; + +-- +-- Table structure for table `sample_data` +-- + +DROP TABLE IF EXISTS `sample_data`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `sample_data` ( + `data_probeset_id` varchar(16) NOT NULL, + `data_signal` float DEFAULT '0', + `data_signal_std` float DEFAULT '0', + `data_bot_id` varchar(64) NOT NULL, + KEY `data_probeset_id` (`data_probeset_id`,`data_bot_id`,`data_signal`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `sample_data` +-- + +LOCK TABLES `sample_data` WRITE; +/*!40000 ALTER TABLE `sample_data` DISABLE KEYS */; +INSERT INTO `sample_data` VALUES ('AT1G01010',0.157898,0.422084,'Mean_CTRL'),('AT1G01010',0.0291868,0.110369,'shr2_top_endodermis'),('AT1G01010',0.0291868,0.110369,'shr2_side_endodermis'),('AT1G01010',0.0291868,0.110369,'shr2_tip_endodermis'),('AT1G01010',0.0841449,0.295676,'shr2_tip_lateral_root_cap'),('AT1G01010',0.541465,0.453214,'shr2_top_phloem'),('AT1G01010',0.541465,0.453214,'shr2_side_phloem'),('AT1G01010',0.186628,0.498255,'shr2_top_procambium'),('AT1G01010',0.186628,0.498255,'shr2_side_procambium'),('AT1G01010',0.325798,0.468653,'shr2_tip_cortex'),('AT1G01010',0.325798,0.468653,'shr2_top_cortex'),('AT1G01010',0.325798,0.468653,'shr2_side_cortex'),('AT1G01010',0.212179,0.587404,'shr2_xpp_circle'),('AT1G01010',0.336566,0.545843,'shr2_proto_circle'),('AT1G01010',0.870751,0.69034,'shr2_ppp_circle'),('AT1G01010',0,0,'shr2_meta_circle'),('AT1G01010',0.173986,0.34659,'scr4_top_endodermis'),('AT1G01010',0.173986,0.34659,'scr4_side_endodermis'),('AT1G01010',0.173986,0.34659,'scr4_tip_endodermis'),('AT1G01010',0.0555967,0.238622,'scr4_tip_lateral_root_cap'),('AT1G01010',0.480513,0.469044,'scr4_top_phloem'),('AT1G01010',0.480513,0.469044,'scr4_side_phloem'),('AT1G01010',0.27563,0.544907,'scr4_top_procambium'),('AT1G01010',0.27563,0.544907,'scr4_side_procambium'),('AT1G01010',0.3307,0.475607,'scr4_tip_cortex'),('AT1G01010',0.3307,0.475607,'scr4_top_cortex'),('AT1G01010',0.3307,0.475607,'scr4_side_cortex'),('AT1G01010',0.246466,0.658447,'scr4_xpp_circle'),('AT1G01010',0.344688,0.528917,'scr4_proto_circle'),('AT1G01010',0.71456,0.668174,'scr4_ppp_circle'),('AT1G01010',0.158992,0.395162,'scr4_meta_circle'),('AT1G01010',0.217057,0.420266,'col0_top_endodermis'),('AT1G01010',0.217057,0.420266,'col0_side_endodermis'),('AT1G01010',0.217057,0.420266,'col0_tip_endodermis'),('AT1G01010',0.0437373,0.236872,'col0_tip_lateral_root_cap'),('AT1G01010',0.337514,0.407831,'col0_top_phloem'),('AT1G01010',0.337514,0.407831,'col0_side_phloem'),('AT1G01010',0.0994925,0.402853,'col0_top_procambium'),('AT1G01010',0.0994925,0.402853,'col0_side_procambium'),('AT1G01010',0.193213,0.463268,'col0_tip_cortex'),('AT1G01010',0.193213,0.463268,'col0_top_cortex'),('AT1G01010',0.193213,0.463268,'col0_side_cortex'),('AT1G01010',0.104103,0.383042,'col0_xpp_circle'),('AT1G01010',0.128259,0.352872,'col0_proto_circle'),('AT1G01010',0.570925,0.720127,'col0_ppp_circle'),('AT1G01010',0.0538516,0.257377,'col0_meta_circle'),('AT1G01010',0.168283,0.272921,'shr2_top_xylem'),('AT1G01010',0.168283,0.272921,'shr2_side_xylem'),('AT1G01010',0.25184,0.330116,'scr4_top_xylem'),('AT1G01010',0.25184,0.330116,'scr4_side_xylem'),('AT1G01010',0.0910555,0.218381,'col0_top_xylem'),('AT1G01010',0.0910555,0.218381,'col0_side_xylem'),('AT1G01010',0.217057,0.420266,'col0_Root endodermis'),('AT1G01010',0.0608264,0.325211,'col0_Columella root cap'),('AT1G01010',0.0437373,0.236872,'col0_Lateral root cap'),('AT1G01010',0.111837,0.303563,'col0_Root hair'),('AT1G01010',0.150572,0.365804,'col0_Non-hair'),('AT1G01010',0.177415,0.486415,'col0_Phloem'),('AT1G01010',0.0994925,0.402853,'col0_Root procambium'),('AT1G01010',0.193213,0.463268,'col0_Root cortex'),('AT1G01010',0.104103,0.383042,'col0_Xylem pole pericycle'),('AT1G01010',0.128259,0.352872,'col0_Protoxylem'),('AT1G01010',0.0800572,0.407333,'col0_G1/G0 phase'),('AT1G01010',0.570925,0.720127,'col0_Phloem pole pericycle'),('AT1G01010',0.110655,0.355552,'col0_S phase'),('AT1G01010',0.0594327,0.329344,'col0_G2/M phase'),('AT1G01010',0.0605843,0.216512,'col0_Root cap'),('AT1G01010',0.0538516,0.257377,'col0_Metaxylem'),('AT1G01010',0.0555967,0.238622,'scr4_Lateral root cap'),('AT1G01010',0.27563,0.544907,'scr4_Root procambium'),('AT1G01010',0.110345,0.321187,'scr4_Non-hair'),('AT1G01010',0.0749179,0.308523,'scr4_Root hair'),('AT1G01010',0.061901,0.32257,'scr4_Columella root cap'),('AT1G01010',0.344688,0.528917,'scr4_Protoxylem'),('AT1G01010',0.0629752,0.192638,'scr4_Root cap'),('AT1G01010',0.71456,0.668174,'scr4_Phloem pole pericycle'),('AT1G01010',0.3307,0.475607,'scr4_Root cortex'),('AT1G01010',0.364091,0.650631,'scr4_Phloem'),('AT1G01010',0.203875,0.382229,'scr4_S phase'),('AT1G01010',0.246466,0.658447,'scr4_Xylem pole pericycle'),('AT1G01010',0.173986,0.34659,'scr4_Root endodermis'),('AT1G01010',0.0791793,0.36554,'scr4_G1/G0 phase'),('AT1G01010',0.0147565,0.11962,'scr4_G2/M phase'),('AT1G01010',0.158992,0.395162,'scr4_Metaxylem'),('AT1G01010',0.133816,0.281958,'shr2_Root hair'),('AT1G01010',0.204278,0.352879,'shr2_Non-hair'),('AT1G01010',0.186628,0.498255,'shr2_Root procambium'),('AT1G01010',0.0841449,0.295676,'shr2_Lateral root cap'),('AT1G01010',0.325798,0.468653,'shr2_Root cortex'),('AT1G01010',0.336566,0.545843,'shr2_Protoxylem'),('AT1G01010',0.0463252,0.23303,'shr2_Columella root cap'),('AT1G01010',0.132007,0.318597,'shr2_Root cap'),('AT1G01010',0.0489388,0.19453,'shr2_G2/M phase'),('AT1G01010',0.212179,0.587404,'shr2_Xylem pole pericycle'),('AT1G01010',0.870751,0.69034,'shr2_Phloem pole pericycle'),('AT1G01010',0.178982,0.354641,'shr2_S phase'),('AT1G01010',0.0508625,0.298955,'shr2_G1/G0 phase'),('AT1G01010',0.214053,0.533097,'shr2_Phloem'),('AT1G01010',0.0291868,0.110369,'shr2_Root endodermis'),('AT1G01010',0,0,'shr2_Metaxylem'),('AT1G01020',0.0793918,0.261753,'Mean_CTRL'),('AT1G01020',0.0107739,0.0559826,'shr2_top_endodermis'),('AT1G01020',0.0107739,0.0559826,'shr2_side_endodermis'),('AT1G01020',0.0107739,0.0559826,'shr2_tip_endodermis'),('AT1G01020',0.0840454,0.299978,'shr2_tip_lateral_root_cap'),('AT1G01020',0.0849218,0.177104,'shr2_top_phloem'),('AT1G01020',0.0849218,0.177104,'shr2_side_phloem'),('AT1G01020',0.0408241,0.238884,'shr2_top_procambium'),('AT1G01020',0.0408241,0.238884,'shr2_side_procambium'),('AT1G01020',0.105248,0.226542,'shr2_tip_cortex'),('AT1G01020',0.105248,0.226542,'shr2_top_cortex'),('AT1G01020',0.105248,0.226542,'shr2_side_cortex'),('AT1G01020',0.0451906,0.241859,'shr2_xpp_circle'),('AT1G01020',0.132347,0.286712,'shr2_proto_circle'),('AT1G01020',0.124653,0.25878,'shr2_ppp_circle'),('AT1G01020',0,0,'shr2_meta_circle'),('AT1G01020',0.0503626,0.208009,'scr4_top_endodermis'),('AT1G01020',0.0503626,0.208009,'scr4_side_endodermis'),('AT1G01020',0.0503626,0.208009,'scr4_tip_endodermis'),('AT1G01020',0.0587421,0.233423,'scr4_tip_lateral_root_cap'),('AT1G01020',0.0562563,0.129686,'scr4_top_phloem'),('AT1G01020',0.0562563,0.129686,'scr4_side_phloem'),('AT1G01020',0.0428933,0.228341,'scr4_top_procambium'),('AT1G01020',0.0428933,0.228341,'scr4_side_procambium'),('AT1G01020',0.0581068,0.199668,'scr4_tip_cortex'),('AT1G01020',0.0581068,0.199668,'scr4_top_cortex'),('AT1G01020',0.0581068,0.199668,'scr4_side_cortex'),('AT1G01020',0.0175599,0.126747,'scr4_xpp_circle'),('AT1G01020',0.11462,0.243974,'scr4_proto_circle'),('AT1G01020',0.0949526,0.226294,'scr4_ppp_circle'),('AT1G01020',0.0520413,0.165982,'scr4_meta_circle'),('AT1G01020',0.0747876,0.229748,'col0_top_endodermis'),('AT1G01020',0.0747876,0.229748,'col0_side_endodermis'),('AT1G01020',0.0747876,0.229748,'col0_tip_endodermis'),('AT1G01020',0.056373,0.241031,'col0_tip_lateral_root_cap'),('AT1G01020',0.0707794,0.173418,'col0_top_phloem'),('AT1G01020',0.0707794,0.173418,'col0_side_phloem'),('AT1G01020',0.0409772,0.237163,'col0_top_procambium'),('AT1G01020',0.0409772,0.237163,'col0_side_procambium'),('AT1G01020',0.0649612,0.255741,'col0_tip_cortex'),('AT1G01020',0.0649612,0.255741,'col0_top_cortex'),('AT1G01020',0.0649612,0.255741,'col0_side_cortex'),('AT1G01020',0.0437148,0.22499,'col0_xpp_circle'),('AT1G01020',0.0909369,0.246741,'col0_proto_circle'),('AT1G01020',0.097844,0.263961,'col0_ppp_circle'),('AT1G01020',0.0445524,0.218399,'col0_meta_circle'),('AT1G01020',0.0661733,0.143356,'shr2_top_xylem'),('AT1G01020',0.0661733,0.143356,'shr2_side_xylem'),('AT1G01020',0.0833307,0.147541,'scr4_top_xylem'),('AT1G01020',0.0833307,0.147541,'scr4_side_xylem'),('AT1G01020',0.0677447,0.164757,'col0_top_xylem'),('AT1G01020',0.0677447,0.164757,'col0_side_xylem'),('AT1G01020',0.0747876,0.229748,'col0_Root endodermis'),('AT1G01020',0.101621,0.358224,'col0_Columella root cap'),('AT1G01020',0.056373,0.241031,'col0_Lateral root cap'),('AT1G01020',0.125596,0.278059,'col0_Root hair'),('AT1G01020',0.0756919,0.225451,'col0_Non-hair'),('AT1G01020',0.0710282,0.283291,'col0_Phloem'),('AT1G01020',0.0409772,0.237163,'col0_Root procambium'),('AT1G01020',0.0649612,0.255741,'col0_Root cortex'),('AT1G01020',0.0437148,0.22499,'col0_Xylem pole pericycle'),('AT1G01020',0.0909369,0.246741,'col0_Protoxylem'),('AT1G01020',0.0440985,0.291468,'col0_G1/G0 phase'),('AT1G01020',0.097844,0.263961,'col0_Phloem pole pericycle'),('AT1G01020',0.117853,0.27869,'col0_S phase'),('AT1G01020',0.0783936,0.310518,'col0_G2/M phase'),('AT1G01020',0.128504,0.290728,'col0_Root cap'),('AT1G01020',0.0445524,0.218399,'col0_Metaxylem'),('AT1G01020',0.0587421,0.233423,'scr4_Lateral root cap'),('AT1G01020',0.0428933,0.228341,'scr4_Root procambium'),('AT1G01020',0.0577154,0.233425,'scr4_Non-hair'),('AT1G01020',0.0605598,0.257689,'scr4_Root hair'),('AT1G01020',0.0698613,0.279606,'scr4_Columella root cap'),('AT1G01020',0.11462,0.243974,'scr4_Protoxylem'),('AT1G01020',0.0934256,0.22747,'scr4_Root cap'),('AT1G01020',0.0949526,0.226294,'scr4_Phloem pole pericycle'),('AT1G01020',0.0581068,0.199668,'scr4_Root cortex'),('AT1G01020',0.0852355,0.316806,'scr4_Phloem'),('AT1G01020',0.147875,0.292863,'scr4_S phase'),('AT1G01020',0.0175599,0.126747,'scr4_Xylem pole pericycle'),('AT1G01020',0.0503626,0.208009,'scr4_Root endodermis'),('AT1G01020',0.0354968,0.245291,'scr4_G1/G0 phase'),('AT1G01020',0.0636652,0.254647,'scr4_G2/M phase'),('AT1G01020',0.0520413,0.165982,'scr4_Metaxylem'),('AT1G01020',0.210068,0.283538,'shr2_Root hair'),('AT1G01020',0.123948,0.225389,'shr2_Non-hair'),('AT1G01020',0.0408241,0.238884,'shr2_Root procambium'),('AT1G01020',0.0840454,0.299978,'shr2_Lateral root cap'),('AT1G01020',0.105248,0.226542,'shr2_Root cortex'),('AT1G01020',0.132347,0.286712,'shr2_Protoxylem'),('AT1G01020',0.133729,0.41704,'shr2_Columella root cap'),('AT1G01020',0.13114,0.307581,'shr2_Root cap'),('AT1G01020',0.186986,0.316867,'shr2_G2/M phase'),('AT1G01020',0.0451906,0.241859,'shr2_Xylem pole pericycle'),('AT1G01020',0.124653,0.25878,'shr2_Phloem pole pericycle'),('AT1G01020',0.199415,0.293689,'shr2_S phase'),('AT1G01020',0.0270584,0.179779,'shr2_G1/G0 phase'),('AT1G01020',0.0964119,0.298177,'shr2_Phloem'),('AT1G01020',0.0107739,0.0559826,'shr2_Root endodermis'),('AT1G01020',0,0,'shr2_Metaxylem'),('AT1G01030',0.010148,0.0959647,'Mean_CTRL'),('AT1G01030',0.101838,0.529167,'shr2_top_endodermis'),('AT1G01030',0.101838,0.529167,'shr2_side_endodermis'),('AT1G01030',0.101838,0.529167,'shr2_tip_endodermis'),('AT1G01030',0.00867252,0.0917182,'shr2_tip_lateral_root_cap'),('AT1G01030',0.0334486,0.113033,'shr2_top_phloem'),('AT1G01030',0.0334486,0.113033,'shr2_side_phloem'),('AT1G01030',0.0100604,0.122335,'shr2_top_procambium'),('AT1G01030',0.0100604,0.122335,'shr2_side_procambium'),('AT1G01030',0.0211101,0.0968937,'shr2_tip_cortex'),('AT1G01030',0.0211101,0.0968937,'shr2_top_cortex'),('AT1G01030',0.0211101,0.0968937,'shr2_side_cortex'),('AT1G01030',0.0117075,0.114001,'shr2_xpp_circle'),('AT1G01030',0.010979,0.0944244,'shr2_proto_circle'),('AT1G01030',0.0551896,0.195217,'shr2_ppp_circle'),('AT1G01030',0,0,'shr2_meta_circle'),('AT1G01030',0.01514,0.0896206,'scr4_top_endodermis'),('AT1G01030',0.01514,0.0896206,'scr4_side_endodermis'),('AT1G01030',0.01514,0.0896206,'scr4_tip_endodermis'),('AT1G01030',0.00679946,0.0726202,'scr4_tip_lateral_root_cap'),('AT1G01030',0.0144931,0.0801919,'scr4_top_phloem'),('AT1G01030',0.0144931,0.0801919,'scr4_side_phloem'),('AT1G01030',0.00561171,0.0873818,'scr4_top_procambium'),('AT1G01030',0.00561171,0.0873818,'scr4_side_procambium'),('AT1G01030',0.0133979,0.0907899,'scr4_tip_cortex'),('AT1G01030',0.0133979,0.0907899,'scr4_top_cortex'),('AT1G01030',0.0133979,0.0907899,'scr4_side_cortex'),('AT1G01030',0.0109594,0.133777,'scr4_xpp_circle'),('AT1G01030',0.0059466,0.0433129,'scr4_proto_circle'),('AT1G01030',0.0180267,0.088469,'scr4_ppp_circle'),('AT1G01030',0,0,'scr4_meta_circle'),('AT1G01030',0.0415058,0.168481,'col0_top_endodermis'),('AT1G01030',0.0415058,0.168481,'col0_side_endodermis'),('AT1G01030',0.0415058,0.168481,'col0_tip_endodermis'),('AT1G01030',0.00626964,0.0819658,'col0_tip_lateral_root_cap'),('AT1G01030',0.00248154,0.0383945,'col0_top_phloem'),('AT1G01030',0.00248154,0.0383945,'col0_side_phloem'),('AT1G01030',0.00113621,0.0396563,'col0_top_procambium'),('AT1G01030',0.00113621,0.0396563,'col0_side_procambium'),('AT1G01030',0.0121525,0.113553,'col0_tip_cortex'),('AT1G01030',0.0121525,0.113553,'col0_top_cortex'),('AT1G01030',0.0121525,0.113553,'col0_side_cortex'),('AT1G01030',0.00176179,0.0565391,'col0_xpp_circle'),('AT1G01030',0.000536889,0.0193927,'col0_proto_circle'),('AT1G01030',0.0032013,0.0519603,'col0_ppp_circle'),('AT1G01030',0.000800753,0.0212719,'col0_meta_circle'),('AT1G01030',0.00548948,0.0472122,'shr2_top_xylem'),('AT1G01030',0.00548948,0.0472122,'shr2_side_xylem'),('AT1G01030',0.0029733,0.0216565,'scr4_top_xylem'),('AT1G01030',0.0029733,0.0216565,'scr4_side_xylem'),('AT1G01030',0.000668821,0.0143924,'col0_top_xylem'),('AT1G01030',0.000668821,0.0143924,'col0_side_xylem'),('AT1G01030',0.0415058,0.168481,'col0_Root endodermis'),('AT1G01030',0.0151757,0.143513,'col0_Columella root cap'),('AT1G01030',0.00626964,0.0819658,'col0_Lateral root cap'),('AT1G01030',0.00138063,0.0423728,'col0_Root hair'),('AT1G01030',0.00103356,0.0328703,'col0_Non-hair'),('AT1G01030',0.00206241,0.0582335,'col0_Phloem'),('AT1G01030',0.00113621,0.0396563,'col0_Root procambium'),('AT1G01030',0.0121525,0.113553,'col0_Root cortex'),('AT1G01030',0.00176179,0.0565391,'col0_Xylem pole pericycle'),('AT1G01030',0.000536889,0.0193927,'col0_Protoxylem'),('AT1G01030',0.00658923,0.130495,'col0_G1/G0 phase'),('AT1G01030',0.0032013,0.0519603,'col0_Phloem pole pericycle'),('AT1G01030',0.00747973,0.0833332,'col0_S phase'),('AT1G01030',0.0032293,0.0728348,'col0_G2/M phase'),('AT1G01030',0.0282723,0.148779,'col0_Root cap'),('AT1G01030',0.000800753,0.0212719,'col0_Metaxylem'),('AT1G01030',0.00679946,0.0726202,'scr4_Lateral root cap'),('AT1G01030',0.00561171,0.0873818,'scr4_Root procambium'),('AT1G01030',0.000661494,0.0182874,'scr4_Non-hair'),('AT1G01030',0.0010585,0.0366156,'scr4_Root hair'),('AT1G01030',0.0177986,0.158565,'scr4_Columella root cap'),('AT1G01030',0.0059466,0.0433129,'scr4_Protoxylem'),('AT1G01030',0.0185244,0.11273,'scr4_Root cap'),('AT1G01030',0.0180267,0.088469,'scr4_Phloem pole pericycle'),('AT1G01030',0.0133979,0.0907899,'scr4_Root cortex'),('AT1G01030',0.00134072,0.0372276,'scr4_Phloem'),('AT1G01030',0.0142697,0.11001,'scr4_S phase'),('AT1G01030',0.0109594,0.133777,'scr4_Xylem pole pericycle'),('AT1G01030',0.01514,0.0896206,'scr4_Root endodermis'),('AT1G01030',0.00261377,0.060994,'scr4_G1/G0 phase'),('AT1G01030',0.000328219,0.00701654,'scr4_G2/M phase'),('AT1G01030',0,0,'scr4_Metaxylem'),('AT1G01030',0.00146656,0.0169922,'shr2_Root hair'),('AT1G01030',0.00336851,0.0338991,'shr2_Non-hair'),('AT1G01030',0.0100604,0.122335,'shr2_Root procambium'),('AT1G01030',0.00867252,0.0917182,'shr2_Lateral root cap'),('AT1G01030',0.0211101,0.0968937,'shr2_Root cortex'),('AT1G01030',0.010979,0.0944244,'shr2_Protoxylem'),('AT1G01030',0.0131716,0.12821,'shr2_Columella root cap'),('AT1G01030',0.0244826,0.14863,'shr2_Root cap'),('AT1G01030',0.00818613,0.0561263,'shr2_G2/M phase'),('AT1G01030',0.0117075,0.114001,'shr2_Xylem pole pericycle'),('AT1G01030',0.0551896,0.195217,'shr2_Phloem pole pericycle'),('AT1G01030',0.017031,0.0937088,'shr2_S phase'),('AT1G01030',0.00826074,0.122537,'shr2_G1/G0 phase'),('AT1G01030',0.0106394,0.0773276,'shr2_Phloem'),('AT1G01030',0.101838,0.529167,'shr2_Root endodermis'),('AT1G01030',0,0,'shr2_Metaxylem'); +/*!40000 ALTER TABLE `sample_data` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +-- Dump completed on 2026-08-12 03:32:21 diff --git a/config/databases/arabidopsis_root_shahan_umap.sql b/config/databases/arabidopsis_root_shahan_umap.sql new file mode 100644 index 0000000..b0baadc --- /dev/null +++ b/config/databases/arabidopsis_root_shahan_umap.sql @@ -0,0 +1,83 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: arabidopsis_root_shahan_umap +-- ------------------------------------------------------ +-- Server version 9.4.0 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `arabidopsis_root_shahan_umap` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `arabidopsis_root_shahan_umap` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `arabidopsis_root_shahan_umap`; + +-- +-- Table structure for table `umap_coords` +-- + +DROP TABLE IF EXISTS `umap_coords`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `umap_coords` ( + `cell_id` INT NOT NULL, + `umap_1` FLOAT NOT NULL, + `umap_2` FLOAT NOT NULL, + `cell_type` VARCHAR(128) NOT NULL, + PRIMARY KEY (`cell_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `umap_coords` +-- + +LOCK TABLES `umap_coords` WRITE; +/*!40000 ALTER TABLE `umap_coords` DISABLE KEYS */; +INSERT INTO `umap_coords` VALUES (3,-5.369063,13.085638,'col0_Root endodermis'),(16,-2.009994,7.254005,'col0_Phloem'),(36,-0.523138,2.255024,'col0_Phloem pole pericycle'),(44,-0.023207,2.463476,'col0_Phloem pole pericycle'),(62,6.431638,11.482953,'col0_Metaxylem'),(82,-4.284084,-11.077536,'col0_Root hair'),(89,5.733176,3.742696,'col0_Lateral root cap'),(159,-0.406075,15.254973,'col0_Root endodermis'); +/*!40000 ALTER TABLE `umap_coords` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `umap_expression` +-- + +DROP TABLE IF EXISTS `umap_expression`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `umap_expression` ( + `gene_id` VARCHAR(32) NOT NULL, + `expression` JSON NOT NULL, + PRIMARY KEY (`gene_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `umap_expression` +-- + +LOCK TABLES `umap_expression` WRITE; +/*!40000 ALTER TABLE `umap_expression` DISABLE KEYS */; +INSERT INTO `umap_expression` VALUES ('AT1G01010','{\"3\": 2.205624, \"16\": 0.762018, \"44\": 1.738013, \"159\": 0.902622}'),('AT1G01020','{\"36\": 1.82633, \"62\": 0.80323, \"82\": 0.967385, \"89\": 1.572109}'),('AT1G01030','{\"89\": 1.572109, \"159\": 0.549872}'); +/*!40000 ALTER TABLE `umap_expression` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +-- Dump completed on 2026-08-12 01:40:46 diff --git a/config/databases/arabidopsis_rosette_21d_lee_pseudobulk_dump.sql b/config/databases/arabidopsis_rosette_21d_lee_pseudobulk_dump.sql new file mode 100644 index 0000000..bbfb20e --- /dev/null +++ b/config/databases/arabidopsis_rosette_21d_lee_pseudobulk_dump.sql @@ -0,0 +1,60 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: arabidopsis_rosette_21d_lee_pseudobulk +-- ------------------------------------------------------ +-- Server version 9.4.0 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `arabidopsis_rosette_21d_lee_pseudobulk` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `arabidopsis_rosette_21d_lee_pseudobulk` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `arabidopsis_rosette_21d_lee_pseudobulk`; + +-- +-- Table structure for table `sample_data` +-- + +DROP TABLE IF EXISTS `sample_data`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `sample_data` ( + `data_probeset_id` varchar(32) NOT NULL, + `data_signal` float DEFAULT '0', + `data_signal_std` float DEFAULT '0', + `data_bot_id` varchar(64) NOT NULL, + UNIQUE KEY `uq_probeset_bot` (`data_probeset_id`,`data_bot_id`), + KEY `data_probeset_id` (`data_probeset_id`,`data_bot_id`,`data_signal`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `sample_data` +-- + +LOCK TABLES `sample_data` WRITE; +/*!40000 ALTER TABLE `sample_data` DISABLE KEYS */; +INSERT INTO `sample_data` VALUES ('AT1G01010',0.00208968,0.0380007,'Stele'),('AT1G01010',0.00214788,0.0390398,'Unannotated'),('AT1G01010',0.00401068,0.0544864,'Guard'),('AT1G01010',0.00421181,0.0552776,'Epidermal'),('AT1G01010',0.00686284,0.088776,'Meristematic'),('AT1G01010',0.00284308,0.0456808,'Mean_CTRL'),('AT1G01020',0.0448297,0.177427,'Stele'),('AT1G01020',0.0346777,0.1556,'Unannotated'),('AT1G01020',0.0560412,0.198242,'Guard'),('AT1G01020',0.0601855,0.204921,'Epidermal'),('AT1G01020',0.0484286,0.184833,'Meristematic'),('AT1G01020',0.0439676,0.175693,'Mean_CTRL'),('AT1G01030',0.01792,0.111815,'Stele'),('AT1G01030',0.0199028,0.123603,'Unannotated'),('AT1G01030',0.0279518,0.14577,'Guard'),('AT1G01030',0.0204626,0.125661,'Epidermal'),('AT1G01030',0.0173515,0.114875,'Meristematic'),('AT1G01030',0.0212323,0.126861,'Mean_CTRL'); +/*!40000 ALTER TABLE `sample_data` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +-- Dump completed on 2026-09-02 12:37:18 diff --git a/config/databases/arabidopsis_rosette_21d_lee_umap.sql b/config/databases/arabidopsis_rosette_21d_lee_umap.sql new file mode 100644 index 0000000..43f5bd1 --- /dev/null +++ b/config/databases/arabidopsis_rosette_21d_lee_umap.sql @@ -0,0 +1,83 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: arabidopsis_rosette_21d_lee_umap +-- ------------------------------------------------------ +-- Server version 9.4.0 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `arabidopsis_rosette_21d_lee_umap` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `arabidopsis_rosette_21d_lee_umap` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `arabidopsis_rosette_21d_lee_umap`; + +-- +-- Table structure for table `umap_coords` +-- + +DROP TABLE IF EXISTS `umap_coords`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `umap_coords` ( + `cell_id` INT NOT NULL, + `umap_1` FLOAT NOT NULL, + `umap_2` FLOAT NOT NULL, + `cell_type` VARCHAR(128) NOT NULL, + PRIMARY KEY (`cell_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `umap_coords` +-- + +LOCK TABLES `umap_coords` WRITE; +/*!40000 ALTER TABLE `umap_coords` DISABLE KEYS */; +INSERT INTO `umap_coords` VALUES (18,-0.423832,-0.107109,'Stele'),(19,-0.810030,2.770356,'Stele'),(31,1.540967,-4.477988,'Guard'),(56,3.173458,-0.707526,'Stele'),(71,6.609934,-0.060135,'Epidermal'),(84,0.063264,-6.048057,'Guard'),(169,-5.134893,-5.174132,'Guard'),(443,6.784662,-4.711861,'Guard'); +/*!40000 ALTER TABLE `umap_coords` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `umap_expression` +-- + +DROP TABLE IF EXISTS `umap_expression`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `umap_expression` ( + `gene_id` VARCHAR(32) NOT NULL, + `expression` JSON NOT NULL, + PRIMARY KEY (`gene_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `umap_expression` +-- + +LOCK TABLES `umap_expression` WRITE; +/*!40000 ALTER TABLE `umap_expression` DISABLE KEYS */; +INSERT INTO `umap_expression` VALUES ('AT1G01010','{\"71\": 1.098612, \"169\": 0.693147, \"443\": 0.693147}'),('AT1G01020','{\"18\": 0.693147, \"31\": 0.693147, \"56\": 1.098612}'),('AT1G01030','{\"19\": 0.693147, \"31\": 0.693147, \"84\": 0.693147}'); +/*!40000 ALTER TABLE `umap_expression` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +-- Dump completed on 2026-09-02 12:47:13 diff --git a/config/databases/arabidopsis_rosette_30d_lee_pseudobulk_dump.sql b/config/databases/arabidopsis_rosette_30d_lee_pseudobulk_dump.sql new file mode 100644 index 0000000..0343ad0 --- /dev/null +++ b/config/databases/arabidopsis_rosette_30d_lee_pseudobulk_dump.sql @@ -0,0 +1,60 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: arabidopsis_rosette_30d_lee_pseudobulk +-- ------------------------------------------------------ +-- Server version 9.4.0 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `arabidopsis_rosette_30d_lee_pseudobulk` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `arabidopsis_rosette_30d_lee_pseudobulk` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `arabidopsis_rosette_30d_lee_pseudobulk`; + +-- +-- Table structure for table `sample_data` +-- + +DROP TABLE IF EXISTS `sample_data`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `sample_data` ( + `data_probeset_id` varchar(32) NOT NULL, + `data_signal` float DEFAULT '0', + `data_signal_std` float DEFAULT '0', + `data_bot_id` varchar(64) NOT NULL, + UNIQUE KEY `uq_probeset_bot` (`data_probeset_id`,`data_bot_id`), + KEY `data_probeset_id` (`data_probeset_id`,`data_bot_id`,`data_signal`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `sample_data` +-- + +LOCK TABLES `sample_data` WRITE; +/*!40000 ALTER TABLE `sample_data` DISABLE KEYS */; +INSERT INTO `sample_data` VALUES ('AT1G01010',0.00325586,0.0479114,'Epidermal'),('AT1G01010',0.00541272,0.06101,'Stele'),('AT1G01010',0.00597775,0.0640906,'Meristematic'),('AT1G01010',0.00476521,0.0575352,'Unannotated'),('AT1G01010',0.00237031,0.0404645,'Mesophyll'),('AT1G01010',0.00132533,0.0302802,'Guard'),('AT1G01010',0.00445705,0.0556244,'Mean_CTRL'),('AT1G01020',0.0292335,0.14248,'Epidermal'),('AT1G01020',0.0279543,0.139355,'Stele'),('AT1G01020',0.0333544,0.150104,'Meristematic'),('AT1G01020',0.0232038,0.127067,'Unannotated'),('AT1G01020',0.0189625,0.113069,'Mesophyll'),('AT1G01020',0.0331332,0.147879,'Guard'),('AT1G01020',0.0263362,0.135038,'Mean_CTRL'),('AT1G01030',0.013915,0.101089,'Epidermal'),('AT1G01030',0.0150714,0.106465,'Stele'),('AT1G01030',0.0143343,0.103106,'Meristematic'),('AT1G01030',0.0211872,0.126206,'Unannotated'),('AT1G01030',0.0110338,0.088,'Mesophyll'),('AT1G01030',0.0303829,0.165249,'Guard'),('AT1G01030',0.017151,0.113482,'Mean_CTRL'); +/*!40000 ALTER TABLE `sample_data` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +-- Dump completed on 2026-09-02 12:38:41 diff --git a/config/databases/arabidopsis_rosette_30d_lee_umap.sql b/config/databases/arabidopsis_rosette_30d_lee_umap.sql new file mode 100644 index 0000000..9f0046b --- /dev/null +++ b/config/databases/arabidopsis_rosette_30d_lee_umap.sql @@ -0,0 +1,83 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: arabidopsis_rosette_30d_lee_umap +-- ------------------------------------------------------ +-- Server version 9.4.0 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `arabidopsis_rosette_30d_lee_umap` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `arabidopsis_rosette_30d_lee_umap` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `arabidopsis_rosette_30d_lee_umap`; + +-- +-- Table structure for table `umap_coords` +-- + +DROP TABLE IF EXISTS `umap_coords`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `umap_coords` ( + `cell_id` INT NOT NULL, + `umap_1` FLOAT NOT NULL, + `umap_2` FLOAT NOT NULL, + `cell_type` VARCHAR(128) NOT NULL, + PRIMARY KEY (`cell_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `umap_coords` +-- + +LOCK TABLES `umap_coords` WRITE; +/*!40000 ALTER TABLE `umap_coords` DISABLE KEYS */; +INSERT INTO `umap_coords` VALUES (3,-0.911351,6.472776,'Mesophyll'),(52,1.461724,-2.366193,'Meristematic'),(76,-1.320678,5.685218,'Mesophyll'),(77,0.948061,-1.466408,'Meristematic'),(114,-1.021625,-3.742095,'Unannotated'),(116,5.469567,-1.190131,'Epidermal'),(775,1.697314,9.245426,'Meristematic'),(783,-0.933947,-4.218981,'Stele'); +/*!40000 ALTER TABLE `umap_coords` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `umap_expression` +-- + +DROP TABLE IF EXISTS `umap_expression`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `umap_expression` ( + `gene_id` VARCHAR(32) NOT NULL, + `expression` JSON NOT NULL, + PRIMARY KEY (`gene_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `umap_expression` +-- + +LOCK TABLES `umap_expression` WRITE; +/*!40000 ALTER TABLE `umap_expression` DISABLE KEYS */; +INSERT INTO `umap_expression` VALUES ('AT1G01010','{\"52\": 0.693147, \"775\": 0.693147, \"783\": 0.693147}'),('AT1G01020','{\"76\": 0.693147, \"77\": 0.693147, \"116\": 0.693147}'),('AT1G01030','{\"3\": 0.693147, \"114\": 0.693147}'); +/*!40000 ALTER TABLE `umap_expression` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +-- Dump completed on 2026-09-02 12:48:37 diff --git a/config/databases/arabidopsis_seed_0d_lee_pseudobulk_dump.sql b/config/databases/arabidopsis_seed_0d_lee_pseudobulk_dump.sql new file mode 100644 index 0000000..2754c5f --- /dev/null +++ b/config/databases/arabidopsis_seed_0d_lee_pseudobulk_dump.sql @@ -0,0 +1,60 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: arabidopsis_seed_0d_lee_pseudobulk +-- ------------------------------------------------------ +-- Server version 9.4.0 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `arabidopsis_seed_0d_lee_pseudobulk` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `arabidopsis_seed_0d_lee_pseudobulk` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `arabidopsis_seed_0d_lee_pseudobulk`; + +-- +-- Table structure for table `sample_data` +-- + +DROP TABLE IF EXISTS `sample_data`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `sample_data` ( + `data_probeset_id` varchar(32) NOT NULL, + `data_signal` float DEFAULT '0', + `data_signal_std` float DEFAULT '0', + `data_bot_id` varchar(64) NOT NULL, + UNIQUE KEY `uq_probeset_bot` (`data_probeset_id`,`data_bot_id`), + KEY `data_probeset_id` (`data_probeset_id`,`data_bot_id`,`data_signal`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `sample_data` +-- + +LOCK TABLES `sample_data` WRITE; +/*!40000 ALTER TABLE `sample_data` DISABLE KEYS */; +INSERT INTO `sample_data` VALUES ('AT1G01010',0.0117191,0.0912511,'Epidermal'),('AT1G01010',0.00522766,0.0612526,'Unannotated'),('AT1G01010',0.010466,0.0861984,'Stele'),('AT1G01010',0.00392083,0.0519834,'Guard'),('AT1G01010',0.00686284,0.0686284,'Seed_coat'),('AT1G01010',0.0281947,0.138674,'Meristematic'),('AT1G01010',0.00980994,0.0833147,'Mean_CTRL'),('AT1G01020',0.032747,0.150545,'Epidermal'),('AT1G01020',0.0177622,0.112333,'Unannotated'),('AT1G01020',0.0331729,0.150827,'Stele'),('AT1G01020',0.0274248,0.138409,'Guard'),('AT1G01020',0.00686284,0.0686284,'Seed_coat'),('AT1G01020',0.0768422,0.229481,'Meristematic'),('AT1G01020',0.031434,0.148299,'Mean_CTRL'),('AT1G01030',0.0184874,0.118412,'Epidermal'),('AT1G01030',0.0110814,0.0895827,'Unannotated'),('AT1G01030',0.0142002,0.0981885,'Stele'),('AT1G01030',0.0166187,0.109376,'Guard'),('AT1G01030',0.024603,0.144425,'Seed_coat'),('AT1G01030',0.0502043,0.186249,'Meristematic'),('AT1G01030',0.0182901,0.115757,'Mean_CTRL'); +/*!40000 ALTER TABLE `sample_data` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +-- Dump completed on 2026-09-02 12:36:46 diff --git a/config/databases/arabidopsis_seed_0d_lee_umap.sql b/config/databases/arabidopsis_seed_0d_lee_umap.sql new file mode 100644 index 0000000..7927018 --- /dev/null +++ b/config/databases/arabidopsis_seed_0d_lee_umap.sql @@ -0,0 +1,83 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: arabidopsis_seed_0d_lee_umap +-- ------------------------------------------------------ +-- Server version 9.4.0 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `arabidopsis_seed_0d_lee_umap` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `arabidopsis_seed_0d_lee_umap` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `arabidopsis_seed_0d_lee_umap`; + +-- +-- Table structure for table `umap_coords` +-- + +DROP TABLE IF EXISTS `umap_coords`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `umap_coords` ( + `cell_id` INT NOT NULL, + `umap_1` FLOAT NOT NULL, + `umap_2` FLOAT NOT NULL, + `cell_type` VARCHAR(128) NOT NULL, + PRIMARY KEY (`cell_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `umap_coords` +-- + +LOCK TABLES `umap_coords` WRITE; +/*!40000 ALTER TABLE `umap_coords` DISABLE KEYS */; +INSERT INTO `umap_coords` VALUES (0,-3.483606,-3.622488,'Unannotated'),(3,-3.336813,4.617902,'Stele'),(21,-4.812844,-0.637196,'Stele'),(31,-3.406760,5.177473,'Epidermal'),(56,-3.112603,4.975980,'Meristematic'),(125,-3.929438,4.709672,'Epidermal'),(154,1.034460,0.664576,'Epidermal'),(208,-4.420340,-1.704154,'Unannotated'); +/*!40000 ALTER TABLE `umap_coords` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `umap_expression` +-- + +DROP TABLE IF EXISTS `umap_expression`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `umap_expression` ( + `gene_id` VARCHAR(32) NOT NULL, + `expression` JSON NOT NULL, + PRIMARY KEY (`gene_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `umap_expression` +-- + +LOCK TABLES `umap_expression` WRITE; +/*!40000 ALTER TABLE `umap_expression` DISABLE KEYS */; +INSERT INTO `umap_expression` VALUES ('AT1G01010','{\"125\": 0.693147, \"154\": 0.693147, \"208\": 0.693147}'),('AT1G01020','{\"21\": 0.693147, \"31\": 0.693147, \"56\": 0.693147}'),('AT1G01030','{\"0\": 0.693147, \"3\": 0.693147}'); +/*!40000 ALTER TABLE `umap_expression` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +-- Dump completed on 2026-09-02 12:46:49 diff --git a/config/databases/arabidopsis_seed_martin_pseudobulk_dump.sql b/config/databases/arabidopsis_seed_martin_pseudobulk_dump.sql new file mode 100644 index 0000000..ac915cc --- /dev/null +++ b/config/databases/arabidopsis_seed_martin_pseudobulk_dump.sql @@ -0,0 +1,59 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: arabidopsis_seed_martin_pseudobulk +-- ------------------------------------------------------ +-- Server version 9.4.0 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `arabidopsis_seed_martin_pseudobulk` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `arabidopsis_seed_martin_pseudobulk` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `arabidopsis_seed_martin_pseudobulk`; + +-- +-- Table structure for table `sample_data` +-- + +DROP TABLE IF EXISTS `sample_data`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `sample_data` ( + `data_probeset_id` varchar(16) NOT NULL, + `data_signal` float DEFAULT '0', + `data_signal_std` float DEFAULT '0', + `data_bot_id` varchar(64) NOT NULL, + KEY `data_probeset_id` (`data_probeset_id`,`data_bot_id`,`data_signal`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `sample_data` +-- + +LOCK TABLES `sample_data` WRITE; +/*!40000 ALTER TABLE `sample_data` DISABLE KEYS */; +INSERT INTO `sample_data` VALUES ('AT1G01010',0.0601091,0.286256,'3DAP PEN'),('AT1G01010',0.0321791,0.244714,'3DAP ii1'),('AT1G01010',0.0170441,0.178483,'3DAP oi1'),('AT1G01010',0.0137644,0.164545,'3DAP ii2'),('AT1G01010',0.0505907,0.294547,'3DAP CZSC'),('AT1G01010',0.00534443,0.100509,'3DAP oi2'),('AT1G01010',0.144423,0.490845,'3DAP CPT'),('AT1G01010',0.0555227,0.333345,'3DAP OVL'),('AT1G01010',0.0146878,0.169103,'3DAP FUN'),('AT1G01010',0.0203065,0.190947,'3DAP EMB'),('AT1G01010',0.016546,0.152041,'3DAP ii1\''),('AT1G01010',0.0243619,0.177423,'3DAP MCE'),('AT1G01010',0.0994317,0.352975,'3DAP CZE'),('AT1G01010',0.0147733,0.157772,'5DAP PEN'),('AT1G01010',0.0111931,0.153213,'5DAP ii2'),('AT1G01010',0.00651571,0.121674,'5DAP oi1'),('AT1G01010',0.00463773,0.100961,'5DAP oi2'),('AT1G01010',0.0296403,0.251748,'5DAP CZSC'),('AT1G01010',0.0160562,0.170725,'5DAP MCE'),('AT1G01010',0.0803857,0.334126,'5DAP CZE'),('AT1G01010',0.0127608,0.169058,'5DAP ii1'),('AT1G01010',0.00713133,0.125965,'5DAP ii1\''),('AT1G01010',0.0139914,0.184559,'5DAP FUN'),('AT1G01010',0.0328821,0.25152,'5DAP CPT'),('AT1G01010',0,0,'5DAP EMB'),('AT1G01010',0.00425808,0.104908,'7DAP oi2'),('AT1G01010',0.00329044,0.0839212,'7DAP EMB'),('AT1G01010',0.00348073,0.0884537,'7DAP MCE'),('AT1G01010',0.00651507,0.119327,'7DAP CZE'),('AT1G01010',0.0119078,0.168846,'7DAP oi1'),('AT1G01010',0.00712321,0.118632,'7DAP PEN'),('AT1G01010',0.00651322,0.106626,'7DAP ii1\''),('AT1G01010',0,0,'7DAP CZSC'),('AT1G01010',0.0198663,0.210023,'7DAP ii1'),('AT1G01010',0.0171608,0.176218,'Mean_CTRL'),('AT1G01020',0,0,'3DAP PEN'),('AT1G01020',0.00233679,0.0607506,'3DAP ii1'),('AT1G01020',0.00861673,0.132525,'3DAP oi1'),('AT1G01020',0.000736223,0.031495,'3DAP ii2'),('AT1G01020',0.0161523,0.169613,'3DAP CZSC'),('AT1G01020',0.00105827,0.0459939,'3DAP oi2'),('AT1G01020',0.00209935,0.0516372,'3DAP CPT'),('AT1G01020',0.00918794,0.120148,'3DAP OVL'),('AT1G01020',0.0315428,0.257609,'3DAP FUN'),('AT1G01020',0.195594,0.551587,'3DAP EMB'),('AT1G01020',0.0103975,0.138143,'3DAP ii1\''),('AT1G01020',0,0,'3DAP MCE'),('AT1G01020',0,0,'3DAP CZE'),('AT1G01020',0.134691,0.472488,'5DAP PEN'),('AT1G01020',0,0,'5DAP ii2'),('AT1G01020',0.0278,0.246442,'5DAP oi1'),('AT1G01020',0.012578,0.177932,'5DAP oi2'),('AT1G01020',0.0105267,0.148167,'5DAP CZSC'),('AT1G01020',0.098548,0.404489,'5DAP MCE'),('AT1G01020',0.0162573,0.172432,'5DAP CZE'),('AT1G01020',0,0,'5DAP ii1'),('AT1G01020',0.0188971,0.200635,'5DAP ii1\''),('AT1G01020',0,0,'5DAP FUN'),('AT1G01020',0,0,'5DAP CPT'),('AT1G01020',0.188544,0.601838,'5DAP EMB'),('AT1G01020',0.0209647,0.233398,'7DAP oi2'),('AT1G01020',0.173037,0.630443,'7DAP EMB'),('AT1G01020',0.120352,0.50387,'7DAP MCE'),('AT1G01020',0.200776,0.610878,'7DAP CZE'),('AT1G01020',0.0807067,0.428892,'7DAP oi1'),('AT1G01020',0.16914,0.586366,'7DAP PEN'),('AT1G01020',0,0,'7DAP ii1\''),('AT1G01020',0.0292243,0.2635,'7DAP CZSC'),('AT1G01020',0.0108162,0.193486,'7DAP ii1'),('AT1G01020',0.0557825,0.343745,'Mean_CTRL'),('AT1G01030',0,0,'3DAP PEN'),('AT1G01030',0.000468759,0.0270545,'3DAP ii1'),('AT1G01030',0.000188384,0.0175588,'3DAP oi1'),('AT1G01030',0,0,'3DAP ii2'),('AT1G01030',0.000543876,0.0223453,'3DAP CZSC'),('AT1G01030',0.000338093,0.0206707,'3DAP oi2'),('AT1G01030',0.0206483,0.191598,'3DAP CPT'),('AT1G01030',0,0,'3DAP OVL'),('AT1G01030',0.00266616,0.0677646,'3DAP FUN'),('AT1G01030',0,0,'3DAP EMB'),('AT1G01030',0,0,'3DAP ii1\''),('AT1G01030',0,0,'3DAP MCE'),('AT1G01030',0,0,'3DAP CZE'),('AT1G01030',0,0,'5DAP PEN'),('AT1G01030',0,0,'5DAP ii2'),('AT1G01030',0,0,'5DAP oi1'),('AT1G01030',0,0,'5DAP oi2'),('AT1G01030',0,0,'5DAP CZSC'),('AT1G01030',0,0,'5DAP MCE'),('AT1G01030',0,0,'5DAP CZE'),('AT1G01030',0,0,'5DAP ii1'),('AT1G01030',0,0,'5DAP ii1\''),('AT1G01030',0,0,'5DAP FUN'),('AT1G01030',0,0,'5DAP CPT'),('AT1G01030',0,0,'5DAP EMB'),('AT1G01030',0.00261802,0.0645015,'7DAP oi2'),('AT1G01030',0.0119539,0.166269,'7DAP EMB'),('AT1G01030',0,0,'7DAP MCE'),('AT1G01030',0.000909156,0.0405148,'7DAP CZE'),('AT1G01030',0.00140264,0.0643536,'7DAP oi1'),('AT1G01030',0,0,'7DAP PEN'),('AT1G01030',0,0,'7DAP ii1\''),('AT1G01030',0,0,'7DAP CZSC'),('AT1G01030',0,0,'7DAP ii1'),('AT1G01030',0.00160503,0.0590966,'Mean_CTRL'); +/*!40000 ALTER TABLE `sample_data` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +-- Dump completed on 2026-07-30 00:24:00 diff --git a/config/databases/arabidopsis_seed_martin_umap.sql b/config/databases/arabidopsis_seed_martin_umap.sql new file mode 100644 index 0000000..8a4b8fc --- /dev/null +++ b/config/databases/arabidopsis_seed_martin_umap.sql @@ -0,0 +1,83 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: arabidopsis_seed_martin_umap +-- ------------------------------------------------------ +-- Server version 9.4.0 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `arabidopsis_seed_martin_umap` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `arabidopsis_seed_martin_umap` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `arabidopsis_seed_martin_umap`; + +-- +-- Table structure for table `umap_coords` +-- + +DROP TABLE IF EXISTS `umap_coords`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `umap_coords` ( + `cell_id` INT NOT NULL, + `umap_1` FLOAT NOT NULL, + `umap_2` FLOAT NOT NULL, + `cell_type` VARCHAR(128) NOT NULL, + PRIMARY KEY (`cell_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `umap_coords` +-- + +LOCK TABLES `umap_coords` WRITE; +/*!40000 ALTER TABLE `umap_coords` DISABLE KEYS */; +INSERT INTO `umap_coords` VALUES (10,8.344676,-8.215873,'3DAP oi2'),(143,3.972635,-2.963634,'3DAP ii1'),(145,-11.484012,0.582345,'3DAP EMB'),(155,-6.672769,5.337488,'3DAP EMB'),(171,1.259632,-2.768722,'3DAP CPT'),(233,-7.632393,8.056568,'3DAP EMB'),(1593,4.338395,-0.805375,'3DAP CPT'),(1723,4.518142,-0.694390,'3DAP CPT'); +/*!40000 ALTER TABLE `umap_coords` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `umap_expression` +-- + +DROP TABLE IF EXISTS `umap_expression`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `umap_expression` ( + `gene_id` VARCHAR(32) NOT NULL, + `expression` JSON NOT NULL, + PRIMARY KEY (`gene_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `umap_expression` +-- + +LOCK TABLES `umap_expression` WRITE; +/*!40000 ALTER TABLE `umap_expression` DISABLE KEYS */; +INSERT INTO `umap_expression` VALUES ('AT1G01010','{\"10\": 1.861718, \"143\": 1.803946, \"171\": 1.09107}'),('AT1G01020','{\"145\": 1.924449, \"155\": 2.062221, \"233\": 1.183419}'),('AT1G01030','{\"1593\": 2.044163, \"1723\": 1.635541}'); +/*!40000 ALTER TABLE `umap_expression` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +-- Dump completed on 2026-07-30 01:26:46 diff --git a/config/databases/arabidopsis_seedling_12d_lee_pseudobulk_dump.sql b/config/databases/arabidopsis_seedling_12d_lee_pseudobulk_dump.sql new file mode 100644 index 0000000..3aea942 --- /dev/null +++ b/config/databases/arabidopsis_seedling_12d_lee_pseudobulk_dump.sql @@ -0,0 +1,60 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: arabidopsis_seedling_12d_lee_pseudobulk +-- ------------------------------------------------------ +-- Server version 9.4.0 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `arabidopsis_seedling_12d_lee_pseudobulk` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `arabidopsis_seedling_12d_lee_pseudobulk` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `arabidopsis_seedling_12d_lee_pseudobulk`; + +-- +-- Table structure for table `sample_data` +-- + +DROP TABLE IF EXISTS `sample_data`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `sample_data` ( + `data_probeset_id` varchar(32) NOT NULL, + `data_signal` float DEFAULT '0', + `data_signal_std` float DEFAULT '0', + `data_bot_id` varchar(64) NOT NULL, + UNIQUE KEY `uq_probeset_bot` (`data_probeset_id`,`data_bot_id`), + KEY `data_probeset_id` (`data_probeset_id`,`data_bot_id`,`data_signal`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `sample_data` +-- + +LOCK TABLES `sample_data` WRITE; +/*!40000 ALTER TABLE `sample_data` DISABLE KEYS */; +INSERT INTO `sample_data` VALUES ('AT1G01010',0.0312034,0.264766,'Epidermal'),('AT1G01010',0.0266119,0.262566,'Unannotated'),('AT1G01010',0.0282123,0.263241,'Mesophyll'),('AT1G01010',0.0310298,0.263461,'Stele'),('AT1G01010',0.0269372,0.257111,'Guard'),('AT1G01010',0.0295017,0.263786,'Mean_CTRL'),('AT1G01020',0.0481521,0.32917,'Epidermal'),('AT1G01020',0.0464434,0.346216,'Unannotated'),('AT1G01020',0.0510458,0.357233,'Mesophyll'),('AT1G01020',0.0527607,0.339871,'Stele'),('AT1G01020',0.0400739,0.313522,'Guard'),('AT1G01020',0.0487004,0.339183,'Mean_CTRL'),('AT1G01030',0.0556473,0.366797,'Epidermal'),('AT1G01030',0.0630286,0.400463,'Unannotated'),('AT1G01030',0.0647222,0.397249,'Mesophyll'),('AT1G01030',0.0589233,0.363391,'Stele'),('AT1G01030',0.0632857,0.393308,'Guard'),('AT1G01030',0.0595717,0.380804,'Mean_CTRL'); +/*!40000 ALTER TABLE `sample_data` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +-- Dump completed on 2026-09-02 12:42:46 diff --git a/config/databases/arabidopsis_seedling_12d_lee_umap.sql b/config/databases/arabidopsis_seedling_12d_lee_umap.sql new file mode 100644 index 0000000..6e735d3 --- /dev/null +++ b/config/databases/arabidopsis_seedling_12d_lee_umap.sql @@ -0,0 +1,83 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: arabidopsis_seedling_12d_lee_umap +-- ------------------------------------------------------ +-- Server version 9.4.0 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `arabidopsis_seedling_12d_lee_umap` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `arabidopsis_seedling_12d_lee_umap` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `arabidopsis_seedling_12d_lee_umap`; + +-- +-- Table structure for table `umap_coords` +-- + +DROP TABLE IF EXISTS `umap_coords`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `umap_coords` ( + `cell_id` INT NOT NULL, + `umap_1` FLOAT NOT NULL, + `umap_2` FLOAT NOT NULL, + `cell_type` VARCHAR(128) NOT NULL, + PRIMARY KEY (`cell_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `umap_coords` +-- + +LOCK TABLES `umap_coords` WRITE; +/*!40000 ALTER TABLE `umap_coords` DISABLE KEYS */; +INSERT INTO `umap_coords` VALUES (19,0.130242,-1.335484,'Guard'),(98,-3.723774,3.388860,'Guard'),(141,4.260452,-2.361257,'Stele'),(157,-8.356693,1.355865,'Epidermal'),(237,-8.067365,-3.086233,'Stele'),(241,-7.416145,3.449753,'Epidermal'),(489,-5.336765,2.592849,'Guard'),(557,-8.670267,-1.064709,'Guard'); +/*!40000 ALTER TABLE `umap_coords` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `umap_expression` +-- + +DROP TABLE IF EXISTS `umap_expression`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `umap_expression` ( + `gene_id` VARCHAR(32) NOT NULL, + `expression` JSON NOT NULL, + PRIMARY KEY (`gene_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `umap_expression` +-- + +LOCK TABLES `umap_expression` WRITE; +/*!40000 ALTER TABLE `umap_expression` DISABLE KEYS */; +INSERT INTO `umap_expression` VALUES ('AT1G01010','{\"19\": 3.136643, \"489\": 2.412569, \"557\": 2.289018}'),('AT1G01020','{\"98\": 2.770716, \"157\": 2.314096, \"237\": 2.590051}'),('AT1G01030','{\"141\": 2.491071, \"241\": 2.729593}'); +/*!40000 ALTER TABLE `umap_expression` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +-- Dump completed on 2026-09-02 12:49:51 diff --git a/config/databases/arabidopsis_seedling_3d_lee_pseudobulk_dump.sql b/config/databases/arabidopsis_seedling_3d_lee_pseudobulk_dump.sql new file mode 100644 index 0000000..d0286ac --- /dev/null +++ b/config/databases/arabidopsis_seedling_3d_lee_pseudobulk_dump.sql @@ -0,0 +1,60 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: arabidopsis_seedling_3d_lee_pseudobulk +-- ------------------------------------------------------ +-- Server version 9.4.0 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `arabidopsis_seedling_3d_lee_pseudobulk` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `arabidopsis_seedling_3d_lee_pseudobulk` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `arabidopsis_seedling_3d_lee_pseudobulk`; + +-- +-- Table structure for table `sample_data` +-- + +DROP TABLE IF EXISTS `sample_data`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `sample_data` ( + `data_probeset_id` varchar(32) NOT NULL, + `data_signal` float DEFAULT '0', + `data_signal_std` float DEFAULT '0', + `data_bot_id` varchar(64) NOT NULL, + UNIQUE KEY `uq_probeset_bot` (`data_probeset_id`,`data_bot_id`), + KEY `data_probeset_id` (`data_probeset_id`,`data_bot_id`,`data_signal`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `sample_data` +-- + +LOCK TABLES `sample_data` WRITE; +/*!40000 ALTER TABLE `sample_data` DISABLE KEYS */; +INSERT INTO `sample_data` VALUES ('AT1G01010',0.00802182,0.0751622,'Vascular'),('AT1G01010',0.00601548,0.0642921,'Mesophyll'),('AT1G01010',0.00874817,0.0786151,'Unknown'),('AT1G01010',0.00450096,0.0556738,'Epidermis'),('AT1G01010',0.00560685,0.0620883,'Phloem'),('AT1G01010',0.00415403,0.0563294,'Dividing'),('AT1G01010',0.00653912,0.0670061,'Trichoblast'),('AT1G01010',0,0,'Phloem parenchyma'),('AT1G01010',0.00687618,0.0697902,'Mean_CTRL'),('AT1G01020',0.0171793,0.111266,'Vascular'),('AT1G01020',0.00984352,0.0820136,'Mesophyll'),('AT1G01020',0.00947456,0.0804824,'Unknown'),('AT1G01020',0.00900191,0.0784769,'Epidermis'),('AT1G01020',0.0159479,0.110233,'Phloem'),('AT1G01020',0.0115125,0.0894566,'Dividing'),('AT1G01020',0.0052313,0.0599891,'Trichoblast'),('AT1G01020',0,0,'Phloem parenchyma'),('AT1G01020',0.0117318,0.0909308,'Mean_CTRL'),('AT1G01030',0.00764325,0.0746365,'Vascular'),('AT1G01030',0.00344112,0.0504889,'Mesophyll'),('AT1G01030',0.00496287,0.0584419,'Unknown'),('AT1G01030',0,0,'Epidermis'),('AT1G01030',0.00140171,0.0311389,'Phloem'),('AT1G01030',0.00580647,0.0631734,'Dividing'),('AT1G01030',0.00392347,0.0520014,'Trichoblast'),('AT1G01030',0,0,'Phloem parenchyma'),('AT1G01030',0.00505709,0.0598023,'Mean_CTRL'); +/*!40000 ALTER TABLE `sample_data` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +-- Dump completed on 2026-09-02 12:39:03 diff --git a/config/databases/arabidopsis_seedling_3d_lee_umap.sql b/config/databases/arabidopsis_seedling_3d_lee_umap.sql new file mode 100644 index 0000000..4d83d90 --- /dev/null +++ b/config/databases/arabidopsis_seedling_3d_lee_umap.sql @@ -0,0 +1,83 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: arabidopsis_seedling_3d_lee_umap +-- ------------------------------------------------------ +-- Server version 9.4.0 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `arabidopsis_seedling_3d_lee_umap` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `arabidopsis_seedling_3d_lee_umap` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `arabidopsis_seedling_3d_lee_umap`; + +-- +-- Table structure for table `umap_coords` +-- + +DROP TABLE IF EXISTS `umap_coords`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `umap_coords` ( + `cell_id` INT NOT NULL, + `umap_1` FLOAT NOT NULL, + `umap_2` FLOAT NOT NULL, + `cell_type` VARCHAR(128) NOT NULL, + PRIMARY KEY (`cell_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `umap_coords` +-- + +LOCK TABLES `umap_coords` WRITE; +/*!40000 ALTER TABLE `umap_coords` DISABLE KEYS */; +INSERT INTO `umap_coords` VALUES (1,-1.756371,-5.709124,'Vascular'),(32,2.636179,-0.806592,'Mesophyll'),(63,-0.628472,-5.605352,'Vascular'),(92,-2.196535,5.460723,'Unknown'),(112,-10.629578,-1.125716,'Phloem'),(166,-4.116625,2.496614,'Unknown'),(354,2.630245,-1.129717,'Vascular'),(381,-2.128983,2.146512,'Unknown'); +/*!40000 ALTER TABLE `umap_coords` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `umap_expression` +-- + +DROP TABLE IF EXISTS `umap_expression`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `umap_expression` ( + `gene_id` VARCHAR(32) NOT NULL, + `expression` JSON NOT NULL, + PRIMARY KEY (`gene_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `umap_expression` +-- + +LOCK TABLES `umap_expression` WRITE; +/*!40000 ALTER TABLE `umap_expression` DISABLE KEYS */; +INSERT INTO `umap_expression` VALUES ('AT1G01010','{\"63\": 0.693147, \"92\": 1.098612, \"112\": 0.693147}'),('AT1G01020','{\"1\": 0.693147, \"166\": 0.693147, \"354\": 0.693147}'),('AT1G01030','{\"32\": 0.693147, \"381\": 0.693147}'); +/*!40000 ALTER TABLE `umap_expression` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +-- Dump completed on 2026-09-02 12:48:54 diff --git a/config/databases/arabidopsis_seedling_6d_lee_pseudobulk_dump.sql b/config/databases/arabidopsis_seedling_6d_lee_pseudobulk_dump.sql new file mode 100644 index 0000000..e0288b1 --- /dev/null +++ b/config/databases/arabidopsis_seedling_6d_lee_pseudobulk_dump.sql @@ -0,0 +1,60 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: arabidopsis_seedling_6d_lee_pseudobulk +-- ------------------------------------------------------ +-- Server version 9.4.0 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `arabidopsis_seedling_6d_lee_pseudobulk` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `arabidopsis_seedling_6d_lee_pseudobulk` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `arabidopsis_seedling_6d_lee_pseudobulk`; + +-- +-- Table structure for table `sample_data` +-- + +DROP TABLE IF EXISTS `sample_data`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `sample_data` ( + `data_probeset_id` varchar(32) NOT NULL, + `data_signal` float DEFAULT '0', + `data_signal_std` float DEFAULT '0', + `data_bot_id` varchar(64) NOT NULL, + UNIQUE KEY `uq_probeset_bot` (`data_probeset_id`,`data_bot_id`), + KEY `data_probeset_id` (`data_probeset_id`,`data_bot_id`,`data_signal`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `sample_data` +-- + +LOCK TABLES `sample_data` WRITE; +/*!40000 ALTER TABLE `sample_data` DISABLE KEYS */; +INSERT INTO `sample_data` VALUES ('AT1G01010',0.0460905,0.31377,'Epidermal'),('AT1G01010',0.0419908,0.291346,'Stele'),('AT1G01010',0.027972,0.234605,'Mesophyll'),('AT1G01010',0.0302014,0.230313,'Meristematic'),('AT1G01010',0,0,'Guard'),('AT1G01010',0.0379364,0.27957,'Mean_CTRL'),('AT1G01020',0.0811752,0.407418,'Epidermal'),('AT1G01020',0.0852094,0.413528,'Stele'),('AT1G01020',0.0901723,0.419696,'Mesophyll'),('AT1G01020',0.103695,0.427988,'Meristematic'),('AT1G01020',0.139633,0.533116,'Guard'),('AT1G01020',0.0864976,0.41424,'Mean_CTRL'),('AT1G01030',0.0849239,0.422615,'Epidermal'),('AT1G01030',0.11446,0.479229,'Stele'),('AT1G01030',0.0865413,0.413141,'Mesophyll'),('AT1G01030',0.10632,0.437025,'Meristematic'),('AT1G01030',0.0727643,0.353228,'Guard'),('AT1G01030',0.0899645,0.426446,'Mean_CTRL'); +/*!40000 ALTER TABLE `sample_data` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +-- Dump completed on 2026-09-02 12:39:46 diff --git a/config/databases/arabidopsis_seedling_6d_lee_umap.sql b/config/databases/arabidopsis_seedling_6d_lee_umap.sql new file mode 100644 index 0000000..e9d21b6 --- /dev/null +++ b/config/databases/arabidopsis_seedling_6d_lee_umap.sql @@ -0,0 +1,83 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: arabidopsis_seedling_6d_lee_umap +-- ------------------------------------------------------ +-- Server version 9.4.0 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `arabidopsis_seedling_6d_lee_umap` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `arabidopsis_seedling_6d_lee_umap` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `arabidopsis_seedling_6d_lee_umap`; + +-- +-- Table structure for table `umap_coords` +-- + +DROP TABLE IF EXISTS `umap_coords`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `umap_coords` ( + `cell_id` INT NOT NULL, + `umap_1` FLOAT NOT NULL, + `umap_2` FLOAT NOT NULL, + `cell_type` VARCHAR(128) NOT NULL, + PRIMARY KEY (`cell_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `umap_coords` +-- + +LOCK TABLES `umap_coords` WRITE; +/*!40000 ALTER TABLE `umap_coords` DISABLE KEYS */; +INSERT INTO `umap_coords` VALUES (1,-1.624959,-3.549993,'Stele'),(14,-3.982634,-0.261779,'Epidermal'),(19,3.092637,-4.230665,'Meristematic'),(50,-7.398050,-0.084165,'Meristematic'),(106,-2.365161,0.405073,'Stele'),(118,-3.922566,4.035084,'Epidermal'),(119,1.429272,0.170757,'Epidermal'),(269,-3.150418,1.525333,'Epidermal'); +/*!40000 ALTER TABLE `umap_coords` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `umap_expression` +-- + +DROP TABLE IF EXISTS `umap_expression`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `umap_expression` ( + `gene_id` VARCHAR(32) NOT NULL, + `expression` JSON NOT NULL, + PRIMARY KEY (`gene_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `umap_expression` +-- + +LOCK TABLES `umap_expression` WRITE; +/*!40000 ALTER TABLE `umap_expression` DISABLE KEYS */; +INSERT INTO `umap_expression` VALUES ('AT1G01010','{\"106\": 1.420628, \"118\": 1.558638, \"269\": 2.512673}'),('AT1G01020','{\"1\": 1.292535, \"50\": 0.895021, \"119\": 2.362304}'),('AT1G01030','{\"14\": 2.626154, \"19\": 2.423746}'); +/*!40000 ALTER TABLE `umap_expression` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +-- Dump completed on 2026-09-02 12:49:23 diff --git a/config/databases/arabidopsis_shoot_zhang_pseudobulk_dump.sql b/config/databases/arabidopsis_shoot_zhang_pseudobulk_dump.sql new file mode 100644 index 0000000..af35801 --- /dev/null +++ b/config/databases/arabidopsis_shoot_zhang_pseudobulk_dump.sql @@ -0,0 +1,60 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: arabidopsis_shoot_zhang_pseudobulk +-- ------------------------------------------------------ +-- Server version 9.4.0 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `arabidopsis_shoot_zhang_pseudobulk` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `arabidopsis_shoot_zhang_pseudobulk` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `arabidopsis_shoot_zhang_pseudobulk`; + +-- +-- Table structure for table `sample_data` +-- + +DROP TABLE IF EXISTS `sample_data`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `sample_data` ( + `data_probeset_id` varchar(32) NOT NULL, + `data_signal` float DEFAULT '0', + `data_signal_std` float DEFAULT '0', + `data_bot_id` varchar(64) NOT NULL, + UNIQUE KEY `uq_probeset_bot` (`data_probeset_id`,`data_bot_id`), + KEY `data_probeset_id` (`data_probeset_id`,`data_bot_id`,`data_signal`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `sample_data` +-- + +LOCK TABLES `sample_data` WRITE; +/*!40000 ALTER TABLE `sample_data` DISABLE KEYS */; +INSERT INTO `sample_data` VALUES ('AT1G01010',0.0118031,0.117995,'Proliferating cell'),('AT1G01010',0.00625838,0.0816509,'Unknown'),('AT1G01010',0.00710315,0.0839763,'Shoot system epidermis'),('AT1G01010',0.0307755,0.237696,'Shoot system vascular system'),('AT1G01010',0.00195312,0.044151,'Shoot system endodermis'),('AT1G01010',0.0153229,0.162467,'Mesophyll cell'),('AT1G01010',0.00417537,0.0644818,'Leaf guard cell'),('AT1G01010',0.0108696,0.116056,'Companion cell'),('AT1G01010',0.00943396,0.0966693,'Shoot apical meristem'),('AT1G01010',0.011989,0.13384,'Mean_CTRL'),('AT1G01020',0.0889001,0.315935,'Proliferating cell'),('AT1G01020',0.0449262,0.225724,'Unknown'),('AT1G01020',0.0600679,0.253937,'Shoot system epidermis'),('AT1G01020',0.0523184,0.238686,'Shoot system vascular system'),('AT1G01020',0.0145399,0.130132,'Shoot system endodermis'),('AT1G01020',0.0923021,0.313079,'Mesophyll cell'),('AT1G01020',0.0688935,0.269254,'Leaf guard cell'),('AT1G01020',0.0258152,0.158582,'Companion cell'),('AT1G01020',0.132075,0.413806,'Shoot apical meristem'),('AT1G01020',0.0622745,0.262763,'Mean_CTRL'),('AT1G01030',0.0754646,0.33195,'Proliferating cell'),('AT1G01030',0.00178811,0.0422495,'Unknown'),('AT1G01030',0.0220815,0.165718,'Shoot system epidermis'),('AT1G01030',0.00287238,0.0572252,'Shoot system vascular system'),('AT1G01030',0.00195312,0.044151,'Shoot system endodermis'),('AT1G01030',0.104159,0.44295,'Mesophyll cell'),('AT1G01030',0.00626305,0.0788914,'Leaf guard cell'),('AT1G01030',0.00679348,0.110371,'Companion cell'),('AT1G01030',0,0,'Shoot apical meristem'),('AT1G01030',0.038467,0.251784,'Mean_CTRL'); +/*!40000 ALTER TABLE `sample_data` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +-- Dump completed on 2026-09-02 12:38:13 diff --git a/config/databases/arabidopsis_shoot_zhang_umap.sql b/config/databases/arabidopsis_shoot_zhang_umap.sql new file mode 100644 index 0000000..3893e7c --- /dev/null +++ b/config/databases/arabidopsis_shoot_zhang_umap.sql @@ -0,0 +1,83 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: arabidopsis_shoot_zhang_umap +-- ------------------------------------------------------ +-- Server version 9.4.0 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `arabidopsis_shoot_zhang_umap` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `arabidopsis_shoot_zhang_umap` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `arabidopsis_shoot_zhang_umap`; + +-- +-- Table structure for table `umap_coords` +-- + +DROP TABLE IF EXISTS `umap_coords`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `umap_coords` ( + `cell_id` INT NOT NULL, + `umap_1` FLOAT NOT NULL, + `umap_2` FLOAT NOT NULL, + `cell_type` VARCHAR(128) NOT NULL, + PRIMARY KEY (`cell_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `umap_coords` +-- + +LOCK TABLES `umap_coords` WRITE; +/*!40000 ALTER TABLE `umap_coords` DISABLE KEYS */; +INSERT INTO `umap_coords` VALUES (5,-5.997522,-2.483305,'Shoot system vascular system'),(8,-5.257519,-3.655165,'Shoot system vascular system'),(13,4.146407,-6.852833,'Mesophyll cell'),(18,-3.839248,-2.667391,'Shoot system endodermis'),(23,1.456766,-4.353417,'Shoot system vascular system'),(30,1.845046,-1.393502,'Mesophyll cell'),(36,-5.941816,-2.888986,'Shoot system vascular system'),(37,3.584518,-7.277533,'Mesophyll cell'); +/*!40000 ALTER TABLE `umap_coords` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `umap_expression` +-- + +DROP TABLE IF EXISTS `umap_expression`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `umap_expression` ( + `gene_id` VARCHAR(32) NOT NULL, + `expression` JSON NOT NULL, + PRIMARY KEY (`gene_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `umap_expression` +-- + +LOCK TABLES `umap_expression` WRITE; +/*!40000 ALTER TABLE `umap_expression` DISABLE KEYS */; +INSERT INTO `umap_expression` VALUES ('AT1G01010','{\"23\": 1.0, \"30\": 1.0, \"36\": 2.0}'),('AT1G01020','{\"5\": 1.0, \"8\": 1.0, \"18\": 1.0, \"30\": 2.0}'),('AT1G01030','{\"13\": 1.0, \"37\": 1.0}'); +/*!40000 ALTER TABLE `umap_expression` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +-- Dump completed on 2026-09-02 12:48:13 diff --git a/config/databases/arabidopsis_silique_lee_pseudobulk_dump.sql b/config/databases/arabidopsis_silique_lee_pseudobulk_dump.sql new file mode 100644 index 0000000..849015f --- /dev/null +++ b/config/databases/arabidopsis_silique_lee_pseudobulk_dump.sql @@ -0,0 +1,59 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: arabidopsis_silique_lee_pseudobulk +-- ------------------------------------------------------ +-- Server version 9.4.0 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `arabidopsis_silique_lee_pseudobulk` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `arabidopsis_silique_lee_pseudobulk` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `arabidopsis_silique_lee_pseudobulk`; + +-- +-- Table structure for table `sample_data` +-- + +DROP TABLE IF EXISTS `sample_data`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `sample_data` ( + `data_probeset_id` varchar(16) NOT NULL, + `data_signal` float DEFAULT '0', + `data_signal_std` float DEFAULT '0', + `data_bot_id` varchar(64) NOT NULL, + KEY `data_probeset_id` (`data_probeset_id`,`data_bot_id`,`data_signal`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `sample_data` +-- + +LOCK TABLES `sample_data` WRITE; +/*!40000 ALTER TABLE `sample_data` DISABLE KEYS */; +INSERT INTO `sample_data` VALUES ('AT1G01010',0.00320834,0.0470464,'Young_silique'),('AT1G01010',0.00849673,0.0783515,'Meristematic'),('AT1G01010',0.00426805,0.0556196,'Seed_(silique)'),('AT1G01010',0.0048397,0.0583574,'Stele'),('AT1G01010',0.00538508,0.0616613,'Epidermal'),('AT1G01010',0.00467711,0.0567459,'Guard'),('AT1G01010',0.00333244,0.0479455,'Mature_silique'),('AT1G01010',0.00496354,0.0593082,'Mean_CTRL'),('AT1G01020',0.011807,0.0915424,'Young_silique'),('AT1G01020',0.0236043,0.126986,'Meristematic'),('AT1G01020',0.0279497,0.138574,'Seed_(silique)'),('AT1G01020',0.023964,0.130114,'Stele'),('AT1G01020',0.0182852,0.11307,'Epidermal'),('AT1G01020',0.033481,0.149623,'Guard'),('AT1G01020',0.0166622,0.106168,'Mature_silique'),('AT1G01020',0.0222446,0.124802,'Mean_CTRL'),('AT1G01030',0.000875002,0.0246138,'Young_silique'),('AT1G01030',0.00210105,0.0381041,'Meristematic'),('AT1G01030',0.000714585,0.0222437,'Seed_(silique)'),('AT1G01030',0.0014921,0.0330832,'Stele'),('AT1G01030',0.0012279,0.0291472,'Epidermal'),('AT1G01030',0.000467711,0.0179991,'Guard'),('AT1G01030',0,0,'Mature_silique'),('AT1G01030',0.00131167,0.0306192,'Mean_CTRL'); +/*!40000 ALTER TABLE `sample_data` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +-- Dump completed on 2026-07-30 00:24:58 diff --git a/config/databases/arabidopsis_silique_lee_umap.sql b/config/databases/arabidopsis_silique_lee_umap.sql new file mode 100644 index 0000000..80b1acb --- /dev/null +++ b/config/databases/arabidopsis_silique_lee_umap.sql @@ -0,0 +1,83 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: arabidopsis_silique_lee_umap +-- ------------------------------------------------------ +-- Server version 9.4.0 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `arabidopsis_silique_lee_umap` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `arabidopsis_silique_lee_umap` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `arabidopsis_silique_lee_umap`; + +-- +-- Table structure for table `umap_coords` +-- + +DROP TABLE IF EXISTS `umap_coords`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `umap_coords` ( + `cell_id` INT NOT NULL, + `umap_1` FLOAT NOT NULL, + `umap_2` FLOAT NOT NULL, + `cell_type` VARCHAR(128) NOT NULL, + PRIMARY KEY (`cell_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `umap_coords` +-- + +LOCK TABLES `umap_coords` WRITE; +/*!40000 ALTER TABLE `umap_coords` DISABLE KEYS */; +INSERT INTO `umap_coords` VALUES (28,-0.853213,-3.256183,'Young_silique'),(34,4.023620,-2.208688,'Stele'),(104,-10.935958,-5.119408,'Guard'),(120,-12.450217,-4.194304,'Guard'),(278,-4.992161,7.653759,'Stele'),(370,-0.470753,-5.081298,'Young_silique'),(799,1.210444,12.869716,'Meristematic'),(987,-4.361052,7.332940,'Stele'); +/*!40000 ALTER TABLE `umap_coords` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `umap_expression` +-- + +DROP TABLE IF EXISTS `umap_expression`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `umap_expression` ( + `gene_id` VARCHAR(32) NOT NULL, + `expression` JSON NOT NULL, + PRIMARY KEY (`gene_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `umap_expression` +-- + +LOCK TABLES `umap_expression` WRITE; +/*!40000 ALTER TABLE `umap_expression` DISABLE KEYS */; +INSERT INTO `umap_expression` VALUES ('AT1G01010','{\"28\": 0.693147, \"278\": 0.693147, \"370\": 0.693147}'),('AT1G01020','{\"34\": 0.693147, \"104\": 0.693147, \"120\": 0.693147}'),('AT1G01030','{\"799\": 0.693147, \"987\": 0.693147}'); +/*!40000 ALTER TABLE `umap_expression` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +-- Dump completed on 2026-07-30 01:27:39 diff --git a/config/databases/arabidopsis_stem_lee_pseudobulk_dump.sql b/config/databases/arabidopsis_stem_lee_pseudobulk_dump.sql new file mode 100644 index 0000000..b8e872d --- /dev/null +++ b/config/databases/arabidopsis_stem_lee_pseudobulk_dump.sql @@ -0,0 +1,59 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: arabidopsis_stem_lee_pseudobulk +-- ------------------------------------------------------ +-- Server version 9.4.0 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `arabidopsis_stem_lee_pseudobulk` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `arabidopsis_stem_lee_pseudobulk` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `arabidopsis_stem_lee_pseudobulk`; + +-- +-- Table structure for table `sample_data` +-- + +DROP TABLE IF EXISTS `sample_data`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `sample_data` ( + `data_probeset_id` varchar(16) NOT NULL, + `data_signal` float DEFAULT '0', + `data_signal_std` float DEFAULT '0', + `data_bot_id` varchar(64) NOT NULL, + KEY `data_probeset_id` (`data_probeset_id`,`data_bot_id`,`data_signal`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `sample_data` +-- + +LOCK TABLES `sample_data` WRITE; +/*!40000 ALTER TABLE `sample_data` DISABLE KEYS */; +INSERT INTO `sample_data` VALUES ('AT1G01010',0.0026444,0.0804203,'Phloem'),('AT1G01010',0.00903136,0.147637,'Unknown'),('AT1G01010',0.0100426,0.14251,'Epidermal'),('AT1G01010',0,0,'Vascular'),('AT1G01010',0.00801156,0.146785,'Cambium'),('AT1G01010',0.00498133,0.106099,'Xylem'),('AT1G01010',0.0197243,0.216412,'Trichome'),('AT1G01010',0.00864758,0.124717,'Guard'),('AT1G01010',0.00751716,0.131966,'Mean_CTRL'),('AT1G01020',0.048775,0.353962,'Phloem'),('AT1G01020',0.0779243,0.433307,'Unknown'),('AT1G01020',0.0590652,0.326225,'Epidermal'),('AT1G01020',0.0375977,0.304534,'Vascular'),('AT1G01020',0.0735435,0.410739,'Cambium'),('AT1G01020',0.084458,0.451044,'Xylem'),('AT1G01020',0.067462,0.376558,'Trichome'),('AT1G01020',0.0487924,0.267407,'Guard'),('AT1G01020',0.0695734,0.401791,'Mean_CTRL'),('AT1G01030',0,0,'Phloem'),('AT1G01030',0,0,'Unknown'),('AT1G01030',0,0,'Epidermal'),('AT1G01030',0.00520999,0.101695,'Vascular'),('AT1G01030',0.00204135,0.0641324,'Cambium'),('AT1G01030',0.000738231,0.0423181,'Xylem'),('AT1G01030',0,0,'Trichome'),('AT1G01030',0.0130387,0.133916,'Guard'),('AT1G01030',0.00053516,0.0321555,'Mean_CTRL'); +/*!40000 ALTER TABLE `sample_data` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +-- Dump completed on 2026-07-30 00:25:06 diff --git a/config/databases/arabidopsis_stem_lee_umap.sql b/config/databases/arabidopsis_stem_lee_umap.sql new file mode 100644 index 0000000..15f163b --- /dev/null +++ b/config/databases/arabidopsis_stem_lee_umap.sql @@ -0,0 +1,83 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: arabidopsis_stem_lee_umap +-- ------------------------------------------------------ +-- Server version 9.4.0 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `arabidopsis_stem_lee_umap` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `arabidopsis_stem_lee_umap` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `arabidopsis_stem_lee_umap`; + +-- +-- Table structure for table `umap_coords` +-- + +DROP TABLE IF EXISTS `umap_coords`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `umap_coords` ( + `cell_id` INT NOT NULL, + `umap_1` FLOAT NOT NULL, + `umap_2` FLOAT NOT NULL, + `cell_type` VARCHAR(128) NOT NULL, + PRIMARY KEY (`cell_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `umap_coords` +-- + +LOCK TABLES `umap_coords` WRITE; +/*!40000 ALTER TABLE `umap_coords` DISABLE KEYS */; +INSERT INTO `umap_coords` VALUES (100,-7.012577,2.260986,'Xylem'),(144,-9.243169,-1.838689,'Cambium'),(162,-7.496518,2.218189,'Xylem'),(522,-7.903540,-2.617334,'Cambium'),(598,-4.392389,2.060507,'Epidermal'),(814,-7.459464,0.766465,'Cambium'),(9526,-6.040127,-1.044228,'Cambium'),(9544,0.872937,-2.713217,'Guard'); +/*!40000 ALTER TABLE `umap_coords` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `umap_expression` +-- + +DROP TABLE IF EXISTS `umap_expression`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `umap_expression` ( + `gene_id` VARCHAR(32) NOT NULL, + `expression` JSON NOT NULL, + PRIMARY KEY (`gene_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `umap_expression` +-- + +LOCK TABLES `umap_expression` WRITE; +/*!40000 ALTER TABLE `umap_expression` DISABLE KEYS */; +INSERT INTO `umap_expression` VALUES ('AT1G01010','{\"522\": 3.190889, \"598\": 2.585501, \"814\": 2.297024}'),('AT1G01020','{\"100\": 1.881255, \"144\": 1.929464, \"162\": 1.258146}'),('AT1G01030','{\"9526\": 2.016856, \"9544\": 1.174689}'); +/*!40000 ALTER TABLE `umap_expression` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +-- Dump completed on 2026-07-30 01:28:00 diff --git a/config/databases/rice_OW_pseudobulk_dump.sql b/config/databases/rice_OW_pseudobulk_dump.sql new file mode 100644 index 0000000..0b86fd5 --- /dev/null +++ b/config/databases/rice_OW_pseudobulk_dump.sql @@ -0,0 +1,59 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: rice_OW_pseudobulk +-- ------------------------------------------------------ +-- Server version 9.4.0 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `rice_OW_pseudobulk` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `rice_OW_pseudobulk` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `rice_OW_pseudobulk`; + +-- +-- Table structure for table `sample_data` +-- + +DROP TABLE IF EXISTS `sample_data`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `sample_data` ( + `data_probeset_id` varchar(16) NOT NULL, + `data_signal` float DEFAULT '0', + `data_signal_std` float DEFAULT '0', + `data_bot_id` varchar(64) NOT NULL, + KEY `data_probeset_id` (`data_probeset_id`,`data_bot_id`,`data_signal`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `sample_data` +-- + +LOCK TABLES `sample_data` WRITE; +/*!40000 ALTER TABLE `sample_data` DISABLE KEYS */; +INSERT INTO `sample_data` VALUES ('Os01g0100100',0.129185,0.530995,'Mild.Drought_Mesophyll.Precursor'),('Os01g0100100',0.106975,0.46405,'Mild.Drought_Mesophyll'),('Os01g0100100',0.151811,0.516815,'Mild.Drought_Meristem'),('Os01g0100100',0.132724,0.488526,'Mild.Drought_Phloem.SE'),('Os01g0100100',0.12683,0.500265,'Mild.Drought_Procambium'),('Os01g0100100',0.109141,0.484893,'Mild.Drought_Mestome.Sheath'),('Os01g0100100',0.125236,0.505634,'Mild.Drought_Large.Parenchyma'),('Os01g0100100',0.120893,0.502762,'Mild.Drought_Epidermis'),('Os01g0100100',0.132058,0.495218,'Mild.Drought_Epidermal.Precursor'),('Os01g0100100',0.112158,0.505641,'Mild.Drought_Xylem.Parenchyma'),('Os01g0100100',0.100015,0.453001,'Mild.Drought_Bundle.Sheath'),('Os01g0100100',0.160374,0.525898,'Mild.Drought_Xylem'),('Os01g0100100',0.0934676,0.425296,'Mild.Drought_Phloem.CC'),('Os01g0100100',0.082868,0.397654,'Mild.Drought_Fibre'),('Os01g0100100',0.113234,0.451226,'Mild.Salinity_Epidermis'),('Os01g0100100',0.141241,0.501154,'Mild.Salinity_Large.Parenchyma'),('Os01g0100100',0.113952,0.443924,'Mild.Salinity_Mesophyll'),('Os01g0100100',0.144946,0.533016,'Mild.Salinity_Mesophyll.Precursor'),('Os01g0100100',0.153651,0.510159,'Mild.Salinity_Epidermal.Precursor'),('Os01g0100100',0.152906,0.515587,'Mild.Salinity_Fibre'),('Os01g0100100',0.182268,0.550966,'Mild.Salinity_Meristem'),('Os01g0100100',0.165656,0.54804,'Mild.Salinity_Procambium'),('Os01g0100100',0.166638,0.613442,'Mild.Salinity_Xylem.Parenchyma'),('Os01g0100100',0.148959,0.490888,'Mild.Salinity_Bundle.Sheath'),('Os01g0100100',0.114692,0.460839,'Mild.Salinity_Phloem.CC'),('Os01g0100100',0.11211,0.447056,'Mild.Salinity_Phloem.SE'),('Os01g0100100',0.172487,0.576142,'Mild.Salinity_Xylem'),('Os01g0100100',0.0550576,0.286011,'Mild.Salinity_Mestome.Sheath'),('Os01g0100100',0.175404,0.526929,'Moderate.Drought_Meristem'),('Os01g0100100',0.100094,0.421708,'Moderate.Drought_Mesophyll'),('Os01g0100100',0.145837,0.504885,'Moderate.Drought_Epidermal.Precursor'),('Os01g0100100',0.134881,0.516218,'Moderate.Drought_Mesophyll.Precursor'),('Os01g0100100',0.145586,0.509715,'Moderate.Drought_Large.Parenchyma'),('Os01g0100100',0.178613,0.567032,'Moderate.Drought_Fibre'),('Os01g0100100',0.145843,0.517616,'Moderate.Drought_Procambium'),('Os01g0100100',0.126689,0.484529,'Moderate.Drought_Epidermis'),('Os01g0100100',0.117171,0.466344,'Moderate.Drought_Bundle.Sheath'),('Os01g0100100',0.136332,0.489258,'Moderate.Drought_Phloem.SE'),('Os01g0100100',0.186774,0.540855,'Moderate.Drought_Xylem'),('Os01g0100100',0.107581,0.458867,'Moderate.Drought_Phloem.CC'),('Os01g0100100',0.101266,0.447594,'Moderate.Drought_Xylem.Parenchyma'),('Os01g0100100',0.0869355,0.377102,'Moderate.Drought_Mestome.Sheath'),('Os01g0100100',0.143541,0.521343,'Moderate.Salinity_Mesophyll.Precursor'),('Os01g0100100',0.141676,0.508878,'Moderate.Salinity_Procambium'),('Os01g0100100',0.130862,0.486061,'Moderate.Salinity_Large.Parenchyma'),('Os01g0100100',0.0963355,0.419142,'Moderate.Salinity_Epidermis'),('Os01g0100100',0.10797,0.438712,'Moderate.Salinity_Mesophyll'),('Os01g0100100',0.154966,0.49645,'Moderate.Salinity_Meristem'),('Os01g0100100',0.13686,0.494768,'Moderate.Salinity_Epidermal.Precursor'),('Os01g0100100',0.195956,0.551093,'Moderate.Salinity_Xylem'),('Os01g0100100',0.185312,0.579004,'Moderate.Salinity_Bundle.Sheath'),('Os01g0100100',0.123884,0.457882,'Moderate.Salinity_Phloem.SE'),('Os01g0100100',0.135465,0.490025,'Moderate.Salinity_Phloem.CC'),('Os01g0100100',0.231051,0.662818,'Moderate.Salinity_Fibre'),('Os01g0100100',0.0416138,0.259696,'Moderate.Salinity_Mestome.Sheath'),('Os01g0100100',0.120685,0.538305,'Moderate.Salinity_Xylem.Parenchyma'),('Os01g0100100',0.161996,0.54257,'Well.Watered_Epidermal.Precursor'),('Os01g0100100',0.152254,0.531447,'Well.Watered_Procambium'),('Os01g0100100',0.142733,0.529409,'Well.Watered_Mesophyll.Precursor'),('Os01g0100100',0.139095,0.497106,'Well.Watered_Large.Parenchyma'),('Os01g0100100',0.104085,0.452645,'Well.Watered_Epidermis'),('Os01g0100100',0.143517,0.504735,'Well.Watered_Fibre'),('Os01g0100100',0.111729,0.461803,'Well.Watered_Mesophyll'),('Os01g0100100',0.164855,0.528581,'Well.Watered_Meristem'),('Os01g0100100',0.0873551,0.367031,'Well.Watered_Phloem.SE'),('Os01g0100100',0.155796,0.530873,'Well.Watered_Phloem.CC'),('Os01g0100100',0.140626,0.509396,'Well.Watered_Bundle.Sheath'),('Os01g0100100',0.208249,0.594796,'Well.Watered_Xylem'),('Os01g0100100',0.118218,0.481877,'Well.Watered_Xylem.Parenchyma'),('Os01g0100100',0.171145,0.540487,'Well.Watered_Mestome.Sheath'),('Os01g0100100',0.136496,0.502172,'Mean_CTRL'),('Os01g0100200',0.00738657,0.130927,'Mild.Drought_Mesophyll.Precursor'),('Os01g0100200',0.0104456,0.141262,'Mild.Drought_Mesophyll'),('Os01g0100200',0.00448664,0.0830525,'Mild.Drought_Meristem'),('Os01g0100200',0.0189626,0.183522,'Mild.Drought_Phloem.SE'),('Os01g0100200',0.00399196,0.0900256,'Mild.Drought_Procambium'),('Os01g0100200',0,0,'Mild.Drought_Mestome.Sheath'),('Os01g0100200',0.00841034,0.12738,'Mild.Drought_Large.Parenchyma'),('Os01g0100200',0.00504638,0.106478,'Mild.Drought_Epidermis'),('Os01g0100200',0.00197271,0.0641973,'Mild.Drought_Epidermal.Precursor'),('Os01g0100200',0.0144042,0.185263,'Mild.Drought_Xylem.Parenchyma'),('Os01g0100200',0.0245603,0.229491,'Mild.Drought_Bundle.Sheath'),('Os01g0100200',0.0143058,0.167841,'Mild.Drought_Xylem'),('Os01g0100200',0.0253699,0.236555,'Mild.Drought_Phloem.CC'),('Os01g0100200',0.00837696,0.110657,'Mild.Drought_Fibre'),('Os01g0100200',0.0053613,0.0953559,'Mild.Salinity_Epidermis'),('Os01g0100200',0.0109159,0.129877,'Mild.Salinity_Large.Parenchyma'),('Os01g0100200',0.0124702,0.145982,'Mild.Salinity_Mesophyll'),('Os01g0100200',0.00955549,0.143529,'Mild.Salinity_Mesophyll.Precursor'),('Os01g0100200',0.00387259,0.0794972,'Mild.Salinity_Epidermal.Precursor'),('Os01g0100200',0,0,'Mild.Salinity_Fibre'),('Os01g0100200',0.00615797,0.0946232,'Mild.Salinity_Meristem'),('Os01g0100200',0.0055789,0.100838,'Mild.Salinity_Procambium'),('Os01g0100200',0.0313209,0.247988,'Mild.Salinity_Xylem.Parenchyma'),('Os01g0100200',0.0205056,0.186147,'Mild.Salinity_Bundle.Sheath'),('Os01g0100200',0.0420808,0.26087,'Mild.Salinity_Phloem.CC'),('Os01g0100200',0.0231191,0.216834,'Mild.Salinity_Phloem.SE'),('Os01g0100200',0.00690645,0.105648,'Mild.Salinity_Xylem'),('Os01g0100200',0,0,'Mild.Salinity_Mestome.Sheath'),('Os01g0100200',0.00412395,0.0856665,'Moderate.Drought_Meristem'),('Os01g0100200',0.0106567,0.143533,'Moderate.Drought_Mesophyll'),('Os01g0100200',0.00289559,0.0747592,'Moderate.Drought_Epidermal.Precursor'),('Os01g0100200',0.0071865,0.118759,'Moderate.Drought_Mesophyll.Precursor'),('Os01g0100200',0.00353124,0.0805061,'Moderate.Drought_Large.Parenchyma'),('Os01g0100200',0.0214104,0.204478,'Moderate.Drought_Fibre'),('Os01g0100200',0.00350135,0.0856624,'Moderate.Drought_Procambium'),('Os01g0100200',0.00771271,0.118341,'Moderate.Drought_Epidermis'),('Os01g0100200',0.0214586,0.217467,'Moderate.Drought_Bundle.Sheath'),('Os01g0100200',0.0165541,0.167014,'Moderate.Drought_Phloem.SE'),('Os01g0100200',0.00691668,0.125266,'Moderate.Drought_Xylem'),('Os01g0100200',0.00568534,0.101065,'Moderate.Drought_Phloem.CC'),('Os01g0100200',0,0,'Moderate.Drought_Xylem.Parenchyma'),('Os01g0100200',0,0,'Moderate.Drought_Mestome.Sheath'),('Os01g0100200',0.00820331,0.127211,'Moderate.Salinity_Mesophyll.Precursor'),('Os01g0100200',0.00384979,0.084491,'Moderate.Salinity_Procambium'),('Os01g0100200',0.0068307,0.110401,'Moderate.Salinity_Large.Parenchyma'),('Os01g0100200',0.00198041,0.0539856,'Moderate.Salinity_Epidermis'),('Os01g0100200',0.0159071,0.171258,'Moderate.Salinity_Mesophyll'),('Os01g0100200',0.00560438,0.0990714,'Moderate.Salinity_Meristem'),('Os01g0100200',0.0049882,0.100297,'Moderate.Salinity_Epidermal.Precursor'),('Os01g0100200',0,0,'Moderate.Salinity_Xylem'),('Os01g0100200',0.0210378,0.208092,'Moderate.Salinity_Bundle.Sheath'),('Os01g0100200',0.021074,0.200359,'Moderate.Salinity_Phloem.SE'),('Os01g0100200',0.0192359,0.196126,'Moderate.Salinity_Phloem.CC'),('Os01g0100200',0.0134408,0.184781,'Moderate.Salinity_Fibre'),('Os01g0100200',0.0488674,0.289187,'Moderate.Salinity_Mestome.Sheath'),('Os01g0100200',0.0158716,0.173865,'Moderate.Salinity_Xylem.Parenchyma'),('Os01g0100200',0.00364267,0.0833239,'Well.Watered_Epidermal.Precursor'),('Os01g0100200',0.00609431,0.105266,'Well.Watered_Procambium'),('Os01g0100200',0.0112379,0.151491,'Well.Watered_Mesophyll.Precursor'),('Os01g0100200',0.0229204,0.203998,'Well.Watered_Large.Parenchyma'),('Os01g0100200',0.00722957,0.119805,'Well.Watered_Epidermis'),('Os01g0100200',0.00709271,0.120159,'Well.Watered_Fibre'),('Os01g0100200',0.025075,0.215915,'Well.Watered_Mesophyll'),('Os01g0100200',0.0071372,0.115137,'Well.Watered_Meristem'),('Os01g0100200',0.0257618,0.219045,'Well.Watered_Phloem.SE'),('Os01g0100200',0.0331528,0.245837,'Well.Watered_Phloem.CC'),('Os01g0100200',0.0211594,0.193883,'Well.Watered_Bundle.Sheath'),('Os01g0100200',0.0140548,0.157633,'Well.Watered_Xylem'),('Os01g0100200',0.0063573,0.104655,'Well.Watered_Xylem.Parenchyma'),('Os01g0100200',0,0,'Well.Watered_Mestome.Sheath'),('Os01g0100200',0.00848389,0.12733,'Mean_CTRL'),('Os01g0100400',0.0313312,0.261155,'Mild.Drought_Mesophyll.Precursor'),('Os01g0100400',0.0498995,0.318805,'Mild.Drought_Mesophyll'),('Os01g0100400',0.0728932,0.367215,'Mild.Drought_Meristem'),('Os01g0100400',0.0823147,0.408341,'Mild.Drought_Phloem.SE'),('Os01g0100400',0.0327094,0.256599,'Mild.Drought_Procambium'),('Os01g0100400',0.0501618,0.31659,'Mild.Drought_Mestome.Sheath'),('Os01g0100400',0.0284393,0.230135,'Mild.Drought_Large.Parenchyma'),('Os01g0100400',0.0184736,0.196248,'Mild.Drought_Epidermis'),('Os01g0100400',0.0226484,0.212387,'Mild.Drought_Epidermal.Precursor'),('Os01g0100400',0.00666406,0.121059,'Mild.Drought_Xylem.Parenchyma'),('Os01g0100400',0.0892638,0.429907,'Mild.Drought_Bundle.Sheath'),('Os01g0100400',0.0896354,0.402818,'Mild.Drought_Xylem'),('Os01g0100400',0.126235,0.493144,'Mild.Drought_Phloem.CC'),('Os01g0100400',0.0120885,0.159655,'Mild.Drought_Fibre'),('Os01g0100400',0.0211561,0.192842,'Mild.Salinity_Epidermis'),('Os01g0100400',0.0194,0.19279,'Mild.Salinity_Large.Parenchyma'),('Os01g0100400',0.0353049,0.255794,'Mild.Salinity_Mesophyll'),('Os01g0100400',0.0348313,0.264582,'Mild.Salinity_Mesophyll.Precursor'),('Os01g0100400',0.0238516,0.205391,'Mild.Salinity_Epidermal.Precursor'),('Os01g0100400',0.030989,0.25445,'Mild.Salinity_Fibre'),('Os01g0100400',0.0678461,0.336451,'Mild.Salinity_Meristem'),('Os01g0100400',0.0474255,0.303938,'Mild.Salinity_Procambium'),('Os01g0100400',0.0399301,0.315842,'Mild.Salinity_Xylem.Parenchyma'),('Os01g0100400',0.0871675,0.393361,'Mild.Salinity_Bundle.Sheath'),('Os01g0100400',0.139002,0.515538,'Mild.Salinity_Phloem.CC'),('Os01g0100400',0.0960242,0.422965,'Mild.Salinity_Phloem.SE'),('Os01g0100400',0.0205265,0.191488,'Mild.Salinity_Xylem'),('Os01g0100400',0.0214002,0.192602,'Mild.Salinity_Mestome.Sheath'),('Os01g0100400',0.0664962,0.335898,'Moderate.Drought_Meristem'),('Os01g0100400',0.0273033,0.220303,'Moderate.Drought_Mesophyll'),('Os01g0100400',0.0222782,0.203386,'Moderate.Drought_Epidermal.Precursor'),('Os01g0100400',0.0259845,0.228898,'Moderate.Drought_Mesophyll.Precursor'),('Os01g0100400',0.0186042,0.185566,'Moderate.Drought_Large.Parenchyma'),('Os01g0100400',0.0147004,0.170015,'Moderate.Drought_Fibre'),('Os01g0100400',0.0468147,0.292589,'Moderate.Drought_Procambium'),('Os01g0100400',0.0221867,0.200224,'Moderate.Drought_Epidermis'),('Os01g0100400',0.0524078,0.309226,'Moderate.Drought_Bundle.Sheath'),('Os01g0100400',0.125287,0.466678,'Moderate.Drought_Phloem.SE'),('Os01g0100400',0.030251,0.210608,'Moderate.Drought_Xylem'),('Os01g0100400',0.0601601,0.327276,'Moderate.Drought_Phloem.CC'),('Os01g0100400',0.0201403,0.200191,'Moderate.Drought_Xylem.Parenchyma'),('Os01g0100400',0.0628024,0.354985,'Moderate.Drought_Mestome.Sheath'),('Os01g0100400',0.0354411,0.260916,'Moderate.Salinity_Mesophyll.Precursor'),('Os01g0100400',0.0549155,0.317356,'Moderate.Salinity_Procambium'),('Os01g0100400',0.0312315,0.241889,'Moderate.Salinity_Large.Parenchyma'),('Os01g0100400',0.0241878,0.214254,'Moderate.Salinity_Epidermis'),('Os01g0100400',0.0376156,0.256783,'Moderate.Salinity_Mesophyll'),('Os01g0100400',0.0740645,0.348506,'Moderate.Salinity_Meristem'),('Os01g0100400',0.033431,0.244942,'Moderate.Salinity_Epidermal.Precursor'),('Os01g0100400',0.0323639,0.234487,'Moderate.Salinity_Xylem'),('Os01g0100400',0.115759,0.453403,'Moderate.Salinity_Bundle.Sheath'),('Os01g0100400',0.138389,0.465301,'Moderate.Salinity_Phloem.SE'),('Os01g0100400',0.079379,0.385696,'Moderate.Salinity_Phloem.CC'),('Os01g0100400',0.0175796,0.171397,'Moderate.Salinity_Fibre'),('Os01g0100400',0.0438501,0.265154,'Moderate.Salinity_Mestome.Sheath'),('Os01g0100400',0.0144441,0.158227,'Moderate.Salinity_Xylem.Parenchyma'),('Os01g0100400',0.0302499,0.236497,'Well.Watered_Epidermal.Precursor'),('Os01g0100400',0.0505523,0.314985,'Well.Watered_Procambium'),('Os01g0100400',0.0391295,0.287743,'Well.Watered_Mesophyll.Precursor'),('Os01g0100400',0.0423554,0.275996,'Well.Watered_Large.Parenchyma'),('Os01g0100400',0.0260048,0.225352,'Well.Watered_Epidermis'),('Os01g0100400',0.0710863,0.377935,'Well.Watered_Fibre'),('Os01g0100400',0.0441145,0.290909,'Well.Watered_Mesophyll'),('Os01g0100400',0.0771836,0.364403,'Well.Watered_Meristem'),('Os01g0100400',0.128817,0.477777,'Well.Watered_Phloem.SE'),('Os01g0100400',0.093579,0.432103,'Well.Watered_Phloem.CC'),('Os01g0100400',0.0731546,0.363258,'Well.Watered_Bundle.Sheath'),('Os01g0100400',0.0455864,0.296806,'Well.Watered_Xylem'),('Os01g0100400',0.0479942,0.323023,'Well.Watered_Xylem.Parenchyma'),('Os01g0100400',0.0387572,0.291312,'Well.Watered_Mestome.Sheath'),('Os01g0100400',0.0413686,0.279097,'Mean_CTRL'); +/*!40000 ALTER TABLE `sample_data` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +-- Dump completed on 2026-07-30 00:18:24 diff --git a/config/databases/rice_OW_umap.sql b/config/databases/rice_OW_umap.sql new file mode 100644 index 0000000..2644047 --- /dev/null +++ b/config/databases/rice_OW_umap.sql @@ -0,0 +1,83 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: rice_OW_umap +-- ------------------------------------------------------ +-- Server version 9.4.0 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `rice_OW_umap` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `rice_OW_umap` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `rice_OW_umap`; + +-- +-- Table structure for table `umap_coords` +-- + +DROP TABLE IF EXISTS `umap_coords`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `umap_coords` ( + `cell_id` INT NOT NULL, + `umap_1` FLOAT NOT NULL, + `umap_2` FLOAT NOT NULL, + `cell_type` VARCHAR(128) NOT NULL, + PRIMARY KEY (`cell_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `umap_coords` +-- + +LOCK TABLES `umap_coords` WRITE; +/*!40000 ALTER TABLE `umap_coords` DISABLE KEYS */; +INSERT INTO `umap_coords` VALUES (28,4.169194,-0.093138,'Mild.Drought_Mestome.Sheath'),(36,1.489732,-4.531291,'Mild.Drought_Phloem.SE'),(38,5.240719,5.009850,'Mild.Drought_Large.Parenchyma'),(40,-1.985161,7.215361,'Mild.Drought_Mesophyll'),(82,3.058005,-1.310818,'Mild.Drought_Bundle.Sheath'),(123,5.759590,1.726379,'Mild.Drought_Phloem.CC'),(180,1.011132,-2.744384,'Mild.Drought_Phloem.SE'),(279,3.111691,-1.251301,'Mild.Drought_Bundle.Sheath'); +/*!40000 ALTER TABLE `umap_coords` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `umap_expression` +-- + +DROP TABLE IF EXISTS `umap_expression`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `umap_expression` ( + `gene_id` VARCHAR(32) NOT NULL, + `expression` JSON NOT NULL, + PRIMARY KEY (`gene_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `umap_expression` +-- + +LOCK TABLES `umap_expression` WRITE; +/*!40000 ALTER TABLE `umap_expression` DISABLE KEYS */; +INSERT INTO `umap_expression` VALUES ('Os01g0100100','{\"36\": 1.978312, \"38\": 2.48399, \"40\": 2.624965}'),('Os01g0100200','{\"82\": 1.976703, \"180\": 1.763575, \"279\": 1.730714}'),('Os01g0100400','{\"28\": 1.847175, \"123\": 1.959751}'); +/*!40000 ALTER TABLE `umap_expression` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +-- Dump completed on 2026-08-12 01:41:39 diff --git a/config/init.sh b/config/init.sh index 1e92e5c..5ebc661 100755 --- a/config/init.sh +++ b/config/init.sh @@ -11,8 +11,32 @@ echo "Welcome to the BAR API. Running init!" mysql -u $DB_USER -p$DB_PASS < ./config/databases/annotations_lookup.sql mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_ecotypes.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_flower_lee_pseudobulk_dump.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_flower_lee_umap.sql mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_NIE_pseudobulk_dump.sql mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_NIE_umap.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_root_shahan_pseudobulk_dump.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_root_shahan_umap.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_rosette_21d_lee_pseudobulk_dump.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_rosette_21d_lee_umap.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_rosette_30d_lee_pseudobulk_dump.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_rosette_30d_lee_umap.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_seed_0d_lee_pseudobulk_dump.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_seed_0d_lee_umap.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_seed_martin_pseudobulk_dump.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_seed_martin_umap.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_seedling_12d_lee_pseudobulk_dump.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_seedling_12d_lee_umap.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_seedling_3d_lee_pseudobulk_dump.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_seedling_3d_lee_umap.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_seedling_6d_lee_pseudobulk_dump.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_seedling_6d_lee_umap.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_shoot_zhang_pseudobulk_dump.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_shoot_zhang_umap.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_silique_lee_pseudobulk_dump.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_silique_lee_umap.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_stem_lee_pseudobulk_dump.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_stem_lee_umap.sql mysql -u $DB_USER -p$DB_PASS < ./config/databases/arachis.sql mysql -u $DB_USER -p$DB_PASS < ./config/databases/cannabis.sql mysql -u $DB_USER -p$DB_PASS < ./config/databases/canola_nssnp.sql @@ -34,6 +58,8 @@ mysql -u $DB_USER -p$DB_PASS < ./config/databases/phelipanche.sql mysql -u $DB_USER -p$DB_PASS < ./config/databases/physcomitrella_db.sql mysql -u $DB_USER -p$DB_PASS < ./config/databases/poplar_nssnp.sql mysql -u $DB_USER -p$DB_PASS < ./config/databases/rice_interactions.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/rice_OW_pseudobulk_dump.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/rice_OW_umap.sql mysql -u $DB_USER -p$DB_PASS < ./config/databases/selaginella.sql mysql -u $DB_USER -p$DB_PASS < ./config/databases/shoot_apex.sql mysql -u $DB_USER -p$DB_PASS < ./config/databases/silique.sql From 496ebb8aca0a413a35210b2310ad66a5a59a608f Mon Sep 17 00:00:00 2001 From: Vin Date: Tue, 22 Sep 2026 02:57:40 -0400 Subject: [PATCH 3/4] Catalog the 13 new SUPeR Viewer pseudobulk databases Each entry copies arabidopsis_NIE_pseudobulk field for field; only species and gene_id_pattern differ, and only for rice_OW_pseudobulk. The expression endpoint is catalog-driven, so no endpoint code changes. pseudobulk_std.assigned_databases goes 1 -> 14. databases stays ASCII-sorted at 207 entries. UMAP databases get no catalog entry: they have no sample_data table, so an entry would build a model for a table that does not exist. schema_verified / schema_source are copied from NIE but so far rest on the dump files, not prod. Confirm with verify_master_against_prod.py after IT loads the databases, before merging. test_gene_expression.py's expected set is now the explicit list of all 14 pseudobulk databases, written out rather than derived from the catalog so the test still fails if the catalog gains an unintended pseudobulk_std entry. --- data/efp_info/combined_master.json | 275 +++++++++++++++++++++++- tests/resources/test_gene_expression.py | 20 +- 2 files changed, 293 insertions(+), 2 deletions(-) diff --git a/data/efp_info/combined_master.json b/data/efp_info/combined_master.json index e8b1530..be7361a 100644 --- a/data/efp_info/combined_master.json +++ b/data/efp_info/combined_master.json @@ -708,7 +708,7 @@ } }, "pseudobulk_std": { - "assigned_databases": 1, + "assigned_databases": 14, "tables": { "sample_data": { "columns": { @@ -1609,6 +1609,258 @@ "schema_source": "prod_information_schema", "status": "active" }, + "arabidopsis_flower_lee_pseudobulk": { + "species": "arabidopsis", + "source": "super_viewer", + "platform": "rna_seq", + "schema_variant": "pseudobulk_std", + "schema_verified": true, + "value_semantics": { + "quantity": null, + "unit": null, + "scale": null + }, + "identifier_type": "gene_model", + "gene_id_pattern": "arabidopsis", + "used_by": [], + "views": {}, + "tables_present": [ + "sample_data" + ], + "schema_source": "prod_information_schema", + "status": "active" + }, + "arabidopsis_root_shahan_pseudobulk": { + "species": "arabidopsis", + "source": "super_viewer", + "platform": "rna_seq", + "schema_variant": "pseudobulk_std", + "schema_verified": true, + "value_semantics": { + "quantity": null, + "unit": null, + "scale": null + }, + "identifier_type": "gene_model", + "gene_id_pattern": "arabidopsis", + "used_by": [], + "views": {}, + "tables_present": [ + "sample_data" + ], + "schema_source": "prod_information_schema", + "status": "active" + }, + "arabidopsis_rosette_21d_lee_pseudobulk": { + "species": "arabidopsis", + "source": "super_viewer", + "platform": "rna_seq", + "schema_variant": "pseudobulk_std", + "schema_verified": true, + "value_semantics": { + "quantity": null, + "unit": null, + "scale": null + }, + "identifier_type": "gene_model", + "gene_id_pattern": "arabidopsis", + "used_by": [], + "views": {}, + "tables_present": [ + "sample_data" + ], + "schema_source": "prod_information_schema", + "status": "active" + }, + "arabidopsis_rosette_30d_lee_pseudobulk": { + "species": "arabidopsis", + "source": "super_viewer", + "platform": "rna_seq", + "schema_variant": "pseudobulk_std", + "schema_verified": true, + "value_semantics": { + "quantity": null, + "unit": null, + "scale": null + }, + "identifier_type": "gene_model", + "gene_id_pattern": "arabidopsis", + "used_by": [], + "views": {}, + "tables_present": [ + "sample_data" + ], + "schema_source": "prod_information_schema", + "status": "active" + }, + "arabidopsis_seed_0d_lee_pseudobulk": { + "species": "arabidopsis", + "source": "super_viewer", + "platform": "rna_seq", + "schema_variant": "pseudobulk_std", + "schema_verified": true, + "value_semantics": { + "quantity": null, + "unit": null, + "scale": null + }, + "identifier_type": "gene_model", + "gene_id_pattern": "arabidopsis", + "used_by": [], + "views": {}, + "tables_present": [ + "sample_data" + ], + "schema_source": "prod_information_schema", + "status": "active" + }, + "arabidopsis_seed_martin_pseudobulk": { + "species": "arabidopsis", + "source": "super_viewer", + "platform": "rna_seq", + "schema_variant": "pseudobulk_std", + "schema_verified": true, + "value_semantics": { + "quantity": null, + "unit": null, + "scale": null + }, + "identifier_type": "gene_model", + "gene_id_pattern": "arabidopsis", + "used_by": [], + "views": {}, + "tables_present": [ + "sample_data" + ], + "schema_source": "prod_information_schema", + "status": "active" + }, + "arabidopsis_seedling_12d_lee_pseudobulk": { + "species": "arabidopsis", + "source": "super_viewer", + "platform": "rna_seq", + "schema_variant": "pseudobulk_std", + "schema_verified": true, + "value_semantics": { + "quantity": null, + "unit": null, + "scale": null + }, + "identifier_type": "gene_model", + "gene_id_pattern": "arabidopsis", + "used_by": [], + "views": {}, + "tables_present": [ + "sample_data" + ], + "schema_source": "prod_information_schema", + "status": "active" + }, + "arabidopsis_seedling_3d_lee_pseudobulk": { + "species": "arabidopsis", + "source": "super_viewer", + "platform": "rna_seq", + "schema_variant": "pseudobulk_std", + "schema_verified": true, + "value_semantics": { + "quantity": null, + "unit": null, + "scale": null + }, + "identifier_type": "gene_model", + "gene_id_pattern": "arabidopsis", + "used_by": [], + "views": {}, + "tables_present": [ + "sample_data" + ], + "schema_source": "prod_information_schema", + "status": "active" + }, + "arabidopsis_seedling_6d_lee_pseudobulk": { + "species": "arabidopsis", + "source": "super_viewer", + "platform": "rna_seq", + "schema_variant": "pseudobulk_std", + "schema_verified": true, + "value_semantics": { + "quantity": null, + "unit": null, + "scale": null + }, + "identifier_type": "gene_model", + "gene_id_pattern": "arabidopsis", + "used_by": [], + "views": {}, + "tables_present": [ + "sample_data" + ], + "schema_source": "prod_information_schema", + "status": "active" + }, + "arabidopsis_shoot_zhang_pseudobulk": { + "species": "arabidopsis", + "source": "super_viewer", + "platform": "rna_seq", + "schema_variant": "pseudobulk_std", + "schema_verified": true, + "value_semantics": { + "quantity": null, + "unit": null, + "scale": null + }, + "identifier_type": "gene_model", + "gene_id_pattern": "arabidopsis", + "used_by": [], + "views": {}, + "tables_present": [ + "sample_data" + ], + "schema_source": "prod_information_schema", + "status": "active" + }, + "arabidopsis_silique_lee_pseudobulk": { + "species": "arabidopsis", + "source": "super_viewer", + "platform": "rna_seq", + "schema_variant": "pseudobulk_std", + "schema_verified": true, + "value_semantics": { + "quantity": null, + "unit": null, + "scale": null + }, + "identifier_type": "gene_model", + "gene_id_pattern": "arabidopsis", + "used_by": [], + "views": {}, + "tables_present": [ + "sample_data" + ], + "schema_source": "prod_information_schema", + "status": "active" + }, + "arabidopsis_stem_lee_pseudobulk": { + "species": "arabidopsis", + "source": "super_viewer", + "platform": "rna_seq", + "schema_variant": "pseudobulk_std", + "schema_verified": true, + "value_semantics": { + "quantity": null, + "unit": null, + "scale": null + }, + "identifier_type": "gene_model", + "gene_id_pattern": "arabidopsis", + "used_by": [], + "views": {}, + "tables_present": [ + "sample_data" + ], + "schema_source": "prod_information_schema", + "status": "active" + }, "arachis": { "species": "arachis", "source": "efp", @@ -30252,6 +30504,27 @@ "schema_source": "prod_information_schema", "status": "inactive" }, + "rice_OW_pseudobulk": { + "species": "rice", + "source": "super_viewer", + "platform": "rna_seq", + "schema_variant": "pseudobulk_std", + "schema_verified": true, + "value_semantics": { + "quantity": null, + "unit": null, + "scale": null + }, + "identifier_type": "gene_model", + "gene_id_pattern": "rice", + "used_by": [], + "views": {}, + "tables_present": [ + "sample_data" + ], + "schema_source": "prod_information_schema", + "status": "active" + }, "rice_abiotic_stress_sc_pseudobulk": { "species": "rice", "source": "efp", diff --git a/tests/resources/test_gene_expression.py b/tests/resources/test_gene_expression.py index 0b0e164..ed59da2 100644 --- a/tests/resources/test_gene_expression.py +++ b/tests/resources/test_gene_expression.py @@ -62,7 +62,25 @@ def setUp(self): def test_only_the_pseudobulk_model_maps_data_signal_std(self): """The variant-aware model generator has to stay a no-op for every other database.""" with_std = {name for name, model in SAMPLE_DATA_MODELS.items() if hasattr(model, "data_signal_std")} - self.assertEqual(with_std, {"arabidopsis_NIE_pseudobulk"}) + self.assertEqual( + with_std, + { + "arabidopsis_NIE_pseudobulk", + "arabidopsis_flower_lee_pseudobulk", + "arabidopsis_root_shahan_pseudobulk", + "arabidopsis_rosette_21d_lee_pseudobulk", + "arabidopsis_rosette_30d_lee_pseudobulk", + "arabidopsis_seed_0d_lee_pseudobulk", + "arabidopsis_seed_martin_pseudobulk", + "arabidopsis_seedling_12d_lee_pseudobulk", + "arabidopsis_seedling_3d_lee_pseudobulk", + "arabidopsis_seedling_6d_lee_pseudobulk", + "arabidopsis_shoot_zhang_pseudobulk", + "arabidopsis_silique_lee_pseudobulk", + "arabidopsis_stem_lee_pseudobulk", + "rice_OW_pseudobulk", + }, + ) def test_pseudobulk_rows_carry_value_std(self): response = self.client.get("/gene_expression/expression/arabidopsis_NIE_pseudobulk/AT1G01010") From bafa6fe8674e441146f1098f51cf685472b5acab Mon Sep 17 00:00:00 2001 From: Vin Date: Tue, 22 Sep 2026 03:21:10 -0400 Subject: [PATCH 4/4] Register the 13 new UMAP databases and test all 26 new databases UMAP_DATABASES gains the 13 new databases with their species. Routes, response shapes and the existing NIE tests are untouched. tests/resources/test_superviewer_databases.py drives both endpoints from literal tables, with a subTest per database and gene. The literals were taken from the committed fixtures; the tests never read the manifest. Pseudobulk: every fixture gene returns its database's full row count with the name/value/value_std keys and exactly one Mean_CTRL carrying its stored values. Several databases share a row count, so the Mean_CTRL values are what catch a bind pointing at the wrong database. UMAP: coordinates return exactly the fixture cells, and each gene returns exactly its non-zero cells, so a server filling in gap cells would fail. --- api/models/umap_dynamic.py | 13 + tests/resources/test_superviewer_databases.py | 297 ++++++++++++++++++ 2 files changed, 310 insertions(+) create mode 100644 tests/resources/test_superviewer_databases.py diff --git a/api/models/umap_dynamic.py b/api/models/umap_dynamic.py index 5e47538..9073389 100644 --- a/api/models/umap_dynamic.py +++ b/api/models/umap_dynamic.py @@ -7,6 +7,19 @@ # catalog entry, so the species that selects the gene id pattern is declared here. UMAP_DATABASES = { "arabidopsis_NIE_umap": "arabidopsis", + "arabidopsis_flower_lee_umap": "arabidopsis", + "arabidopsis_root_shahan_umap": "arabidopsis", + "arabidopsis_rosette_21d_lee_umap": "arabidopsis", + "arabidopsis_rosette_30d_lee_umap": "arabidopsis", + "arabidopsis_seed_0d_lee_umap": "arabidopsis", + "arabidopsis_seed_martin_umap": "arabidopsis", + "arabidopsis_seedling_12d_lee_umap": "arabidopsis", + "arabidopsis_seedling_3d_lee_umap": "arabidopsis", + "arabidopsis_seedling_6d_lee_umap": "arabidopsis", + "arabidopsis_shoot_zhang_umap": "arabidopsis", + "arabidopsis_silique_lee_umap": "arabidopsis", + "arabidopsis_stem_lee_umap": "arabidopsis", + "rice_OW_umap": "rice", } diff --git a/tests/resources/test_superviewer_databases.py b/tests/resources/test_superviewer_databases.py new file mode 100644 index 0000000..d34710e --- /dev/null +++ b/tests/resources/test_superviewer_databases.py @@ -0,0 +1,297 @@ +from api import app +from unittest import TestCase + + +# Each database, its rows per gene, and each fixture gene's stored Mean_CTRL row as the +# endpoint renders it. Several databases share a rows per gene, so the Mean_CTRL values +# are what catch a bind pointing at the wrong database. +PSEUDOBULK_DATABASES = [ + ( + "arabidopsis_flower_lee_pseudobulk", + 10, + { + "AT1G01010": ("0.0116959", "0.167702"), + "AT1G01020": ("0.03165", "0.277587"), + "AT1G01030": ("0.0373011", "0.306399"), + }, + ), + ( + "arabidopsis_root_shahan_pseudobulk", + 100, + { + "AT1G01010": ("0.157898", "0.422084"), + "AT1G01020": ("0.0793918", "0.261753"), + "AT1G01030": ("0.010148", "0.0959647"), + }, + ), + ( + "arabidopsis_rosette_21d_lee_pseudobulk", + 6, + { + "AT1G01010": ("0.00284308", "0.0456808"), + "AT1G01020": ("0.0439676", "0.175693"), + "AT1G01030": ("0.0212323", "0.126861"), + }, + ), + ( + "arabidopsis_rosette_30d_lee_pseudobulk", + 7, + { + "AT1G01010": ("0.00445705", "0.0556244"), + "AT1G01020": ("0.0263362", "0.135038"), + "AT1G01030": ("0.017151", "0.113482"), + }, + ), + ( + "arabidopsis_seed_0d_lee_pseudobulk", + 7, + { + "AT1G01010": ("0.00980994", "0.0833147"), + "AT1G01020": ("0.031434", "0.148299"), + "AT1G01030": ("0.0182901", "0.115757"), + }, + ), + ( + "arabidopsis_seed_martin_pseudobulk", + 35, + { + "AT1G01010": ("0.0171608", "0.176218"), + "AT1G01020": ("0.0557825", "0.343745"), + "AT1G01030": ("0.00160503", "0.0590966"), + }, + ), + ( + "arabidopsis_seedling_12d_lee_pseudobulk", + 6, + { + "AT1G01010": ("0.0295017", "0.263786"), + "AT1G01020": ("0.0487004", "0.339183"), + "AT1G01030": ("0.0595717", "0.380804"), + }, + ), + ( + "arabidopsis_seedling_3d_lee_pseudobulk", + 9, + { + "AT1G01010": ("0.00687618", "0.0697902"), + "AT1G01020": ("0.0117318", "0.0909308"), + "AT1G01030": ("0.00505709", "0.0598023"), + }, + ), + ( + "arabidopsis_seedling_6d_lee_pseudobulk", + 6, + { + "AT1G01010": ("0.0379364", "0.27957"), + "AT1G01020": ("0.0864976", "0.41424"), + "AT1G01030": ("0.0899645", "0.426446"), + }, + ), + ( + "arabidopsis_shoot_zhang_pseudobulk", + 10, + { + "AT1G01010": ("0.011989", "0.13384"), + "AT1G01020": ("0.0622745", "0.262763"), + "AT1G01030": ("0.038467", "0.251784"), + }, + ), + ( + "arabidopsis_silique_lee_pseudobulk", + 8, + { + "AT1G01010": ("0.00496354", "0.0593082"), + "AT1G01020": ("0.0222446", "0.124802"), + "AT1G01030": ("0.00131167", "0.0306192"), + }, + ), + ( + "arabidopsis_stem_lee_pseudobulk", + 9, + { + "AT1G01010": ("0.00751716", "0.131966"), + "AT1G01020": ("0.0695734", "0.401791"), + "AT1G01030": ("0.00053516", "0.0321555"), + }, + ), + ( + "rice_OW_pseudobulk", + 71, + { + "Os01g0100100": ("0.136496", "0.502172"), + "Os01g0100200": ("0.00848389", "0.12733"), + "Os01g0100400": ("0.0413686", "0.279097"), + }, + ), +] + +# Each database, its fixture cells, and the cells that carry an expression value for each +# fixture gene. The cells left out are the gaps: an absent key means zero expression. +UMAP_DATABASES = [ + ( + "arabidopsis_flower_lee_umap", + [4, 45, 71, 157, 329, 359, 685, 817], + { + "AT1G01010": [157, 685, 817], + "AT1G01020": [71, 329, 359], + "AT1G01030": [4, 45], + }, + ), + ( + "arabidopsis_root_shahan_umap", + [3, 16, 36, 44, 62, 82, 89, 159], + { + "AT1G01010": [3, 16, 44, 159], + "AT1G01020": [36, 62, 82, 89], + "AT1G01030": [89, 159], + }, + ), + ( + "arabidopsis_rosette_21d_lee_umap", + [18, 19, 31, 56, 71, 84, 169, 443], + { + "AT1G01010": [71, 169, 443], + "AT1G01020": [18, 31, 56], + "AT1G01030": [19, 31, 84], + }, + ), + ( + "arabidopsis_rosette_30d_lee_umap", + [3, 52, 76, 77, 114, 116, 775, 783], + { + "AT1G01010": [52, 775, 783], + "AT1G01020": [76, 77, 116], + "AT1G01030": [3, 114], + }, + ), + ( + "arabidopsis_seed_0d_lee_umap", + [0, 3, 21, 31, 56, 125, 154, 208], + { + "AT1G01010": [125, 154, 208], + "AT1G01020": [21, 31, 56], + "AT1G01030": [0, 3], + }, + ), + ( + "arabidopsis_seed_martin_umap", + [10, 143, 145, 155, 171, 233, 1593, 1723], + { + "AT1G01010": [10, 143, 171], + "AT1G01020": [145, 155, 233], + "AT1G01030": [1593, 1723], + }, + ), + ( + "arabidopsis_seedling_12d_lee_umap", + [19, 98, 141, 157, 237, 241, 489, 557], + { + "AT1G01010": [19, 489, 557], + "AT1G01020": [98, 157, 237], + "AT1G01030": [141, 241], + }, + ), + ( + "arabidopsis_seedling_3d_lee_umap", + [1, 32, 63, 92, 112, 166, 354, 381], + { + "AT1G01010": [63, 92, 112], + "AT1G01020": [1, 166, 354], + "AT1G01030": [32, 381], + }, + ), + ( + "arabidopsis_seedling_6d_lee_umap", + [1, 14, 19, 50, 106, 118, 119, 269], + { + "AT1G01010": [106, 118, 269], + "AT1G01020": [1, 50, 119], + "AT1G01030": [14, 19], + }, + ), + ( + "arabidopsis_shoot_zhang_umap", + [5, 8, 13, 18, 23, 30, 36, 37], + { + "AT1G01010": [23, 30, 36], + "AT1G01020": [5, 8, 18, 30], + "AT1G01030": [13, 37], + }, + ), + ( + "arabidopsis_silique_lee_umap", + [28, 34, 104, 120, 278, 370, 799, 987], + { + "AT1G01010": [28, 278, 370], + "AT1G01020": [34, 104, 120], + "AT1G01030": [799, 987], + }, + ), + ( + "arabidopsis_stem_lee_umap", + [100, 144, 162, 522, 598, 814, 9526, 9544], + { + "AT1G01010": [522, 598, 814], + "AT1G01020": [100, 144, 162], + "AT1G01030": [9526, 9544], + }, + ), + ( + "rice_OW_umap", + [28, 36, 38, 40, 82, 123, 180, 279], + { + "Os01g0100100": [36, 38, 40], + "Os01g0100200": [82, 180, 279], + "Os01g0100400": [28, 123], + }, + ), +] + + +class TestIntegrations(TestCase): + def setUp(self): + self.app_client = app.test_client() + + def test_get_superviewer_pseudobulk_expression(self): + """This tests the pseudobulk expression data returned for every SUPeR Viewer database + :return: + """ + for database, rows_per_gene, mean_ctrl in PSEUDOBULK_DATABASES: + for gene, (value, value_std) in mean_ctrl.items(): + with self.subTest(database=database, gene=gene): + response = self.app_client.get("/gene_expression/expression/{}/{}".format(database, gene)) + self.assertEqual(response.status_code, 200) + data = response.json["data"] + + # Every gene carries all of its database's rows, Mean_CTRL included + self.assertEqual(data["record_count"], rows_per_gene) + self.assertEqual(len(data["data"]), rows_per_gene) + for row in data["data"]: + self.assertEqual(set(row), {"name", "value", "value_std"}) + + # Mean_CTRL comes back inline, exactly once, with its stored values + controls = [row for row in data["data"] if row["name"] == "Mean_CTRL"] + self.assertEqual(len(controls), 1) + self.assertEqual(controls[0]["value"], value) + self.assertEqual(controls[0]["value_std"], value_std) + + def test_get_superviewer_umap_coordinates(self): + """This tests the UMAP coordinates returned for every SUPeR Viewer database + :return: + """ + for database, cells, _expression_cells in UMAP_DATABASES: + with self.subTest(database=database): + response = self.app_client.get("/umap_gene_expression/{}".format(database)) + self.assertEqual(response.status_code, 200) + self.assertEqual(sorted(int(cell) for cell in response.json["data"]), cells) + + def test_get_superviewer_umap_expression(self): + """This tests that UMAP expression stays sparse: gap cells have no key + :return: + """ + for database, _cells, expression_cells in UMAP_DATABASES: + for gene, cells in expression_cells.items(): + with self.subTest(database=database, gene=gene): + response = self.app_client.get("/umap_gene_expression/{}/{}".format(database, gene)) + self.assertEqual(response.status_code, 200) + self.assertEqual(sorted(int(cell) for cell in response.json["data"]), cells)