diff --git a/api/__init__.py b/api/__init__.py index 7306218..b402091 100644 --- a/api/__init__.py +++ b/api/__init__.py @@ -93,6 +93,7 @@ def create_app(): from api.resources.llama3 import llama3 from api.resources.gene_expression import gene_expression from api.resources.gene_density import gene_density + from api.resources.umap_expression import umap_expression bar_api.add_namespace(gene_information) bar_api.add_namespace(gaia) @@ -110,6 +111,7 @@ def create_app(): bar_api.add_namespace(llama3) bar_api.add_namespace(gene_expression) bar_api.add_namespace(gene_density) + bar_api.add_namespace(umap_expression) bar_api.init_app(bar_app) return bar_app diff --git a/api/models/efp_schemas.py b/api/models/efp_schemas.py index 4bcbdd2..012c693 100644 --- a/api/models/efp_schemas.py +++ b/api/models/efp_schemas.py @@ -237,6 +237,21 @@ def _schema(species: str, charset: str = "latin1") -> DatabaseSpec: ("wheat_meiosis", "wheat"), ("wheat_root", "wheat"), ("willow", "willow"), + ("arabidopsis_NIE_pseudobulk", "arabidopsis"), + ("rice_OW_pseudobulk", "rice"), + ("rice_OW_umap", "rice"), + ("arabidopsis_stem_lee_pseudobulk", "arabidopsis"), + ("arabidopsis_flower_lee_pseudobulk", "arabidopsis"), + ("arabidopsis_silique_lee_pseudobulk", "arabidopsis"), + ("arabidopsis_root_rs_pseudobulk", "arabidopsis"), + ("arabidopsis_seed_martin_pseudobulk", "arabidopsis"), + ("arabidopsis_NIE_umap", "arabidopsis"), + ("arabidopsis_root_shahan_umap", "arabidopsis"), + ("arabidopsis_seed_martin_umap", "arabidopsis"), + ("arabidopsis_flower_lee_umap", "arabidopsis"), + ("arabidopsis_silique_lee_umap", "arabidopsis"), + ("arabidopsis_stem_lee_umap", "arabidopsis"), + ] # Databases that store Affymetrix/microarray probeset IDs instead of gene identifiers. diff --git a/api/resources/umap_expression.py b/api/resources/umap_expression.py new file mode 100644 index 0000000..0fec911 --- /dev/null +++ b/api/resources/umap_expression.py @@ -0,0 +1,148 @@ +""" +Steven Qiao | BCB330 Project 2025-2026 | University of Toronto + +REST endpoint for per-cell UMAP coordinate + expression queries. + +Routes: GET /umap_expression/umap// + +All gene IDs are validated by species before reaching the query layer. +Expression is stored as a JSON array per gene in umap_expression; UMAP +coordinates are stored once per dataset in umap_coords. The two are +merged server-side by position before returning to the client. +""" +import json + +from flask_restx import Namespace, Resource +from markupsafe import escape +from sqlalchemy import text +from sqlalchemy.exc import SQLAlchemyError +from sqlalchemy.orm import Session + +from api import db +from api.utils.bar_utils import BARUtils +from api.utils.gene_id_utils import ( + CROSS_SPECIES_DATABASES, + DATABASE_SPECIES, + normalize_gene_id, + validate_gene_id, +) + +umap_expression = Namespace( + "UMAP Expression", + description="Per-cell UMAP coordinates and expression data for SUPeR Viewer", + path="/umap_expression", +) + +# Maps UMAP database names to their pseudobulk counterpart species. +# Add a new entry here whenever a new UMAP dump is generated. +UMAP_DATABASE_SPECIES: dict[str, str] = { + "rice_OW_umap": "rice", + "arabidopsis_NIE_umap": "arabidopsis", + "arabidopsis_root_shahan_umap": "arabidopsis", + "arabidopsis_seed_martin_umap": "arabidopsis", + "arabidopsis_flower_lee_umap": "arabidopsis", + "arabidopsis_silique_lee_umap": "arabidopsis", + "arabidopsis_stem_lee_umap": "arabidopsis", +} + + +@umap_expression.route("//") +@umap_expression.doc(description="Retrieve per-cell UMAP coordinates and expression values for a gene.") +@umap_expression.param( + "gene_id", + "Gene ID (e.g. AT1G01010 for Arabidopsis, Os10g0168500 for rice)", + _in="path", + default="Os10g0168500", +) +@umap_expression.param( + "database", + "UMAP database name (e.g. rice_OW_umap, arabidopsis_NIE_umap)", + _in="path", + default="rice_OW_umap", +) +class UMAPExpression(Resource): + def get(self, database, gene_id): + """Retrieve per-cell UMAP coordinates and expression for a gene.""" + database = str(escape(database)) + gene_id = str(escape(gene_id)) + + # 1. Resolve database species + species = UMAP_DATABASE_SPECIES.get(database) + if species is None: + return BARUtils.error_exit( + f"Unknown UMAP database '{database}'. " + f"Available: {', '.join(sorted(UMAP_DATABASE_SPECIES.keys()))}" + ), 400 + + # 2. Validate gene ID format against the expected input species regex + input_species = CROSS_SPECIES_DATABASES.get(database, species) + if not validate_gene_id(gene_id, input_species): + return BARUtils.error_exit(f"Invalid {input_species} gene ID: '{gene_id}'"), 400 + + # 3. Normalise (e.g. strip maize transcript suffix _T##) + gene_id = normalize_gene_id(gene_id, species) + + # 4. Get SQLAlchemy bind engine for this database + engine = db.engines.get(database) + if engine is None: + return BARUtils.error_exit("Database not available"), 503 + + # 5. Query expression JSON array for this gene (single PK lookup) + expr_sql = text( + "SELECT expression FROM umap_expression WHERE gene_id = :gene_id" + ) + + try: + with Session(engine) as session: + row = session.execute(expr_sql, {"gene_id": gene_id}).first() + except SQLAlchemyError as exc: + return BARUtils.error_exit(f"Database query failed: {str(exc)}"), 500 + + # Retry with uppercase (some datasets store IDs in uppercase) + if row is None: + try: + with Session(engine) as session: + row = session.execute(expr_sql, {"gene_id": gene_id.upper()}).first() + except SQLAlchemyError as exc: + return BARUtils.error_exit(f"Database query failed: {str(exc)}"), 500 + + if row is None: + return BARUtils.error_exit("No data found for the given gene"), 404 + + # Parse expression JSON array: [val0, val1, val2, ...] + expr_raw = row.expression + expr_list = json.loads(expr_raw) if isinstance(expr_raw, str) else expr_raw + + # 6. Query all coords ordered by cell_id (same for every gene) + coords_sql = text( + "SELECT cell_id, umap_1, umap_2, cell_type " + "FROM umap_coords ORDER BY cell_id" + ) + + try: + with Session(engine) as session: + coords = session.execute(coords_sql).all() + except SQLAlchemyError as exc: + return BARUtils.error_exit(f"Database query failed: {str(exc)}"), 500 + + # 7. Merge coords + expression by position + data = [ + { + "umap_1": float(c.umap_1), + "umap_2": float(c.umap_2), + "expression": float(expr_list.get(str(c.cell_id), 0.0)), + "cell_type": str(c.cell_type), + } + for i, c in enumerate(coords) + ] + + return BARUtils.success_exit({ + "gene_id": gene_id, + "database": database, + "species": species, + "record_count": len(data), + "data": data, + }) + + +umap_expression.add_resource(UMAPExpression, "//") \ No newline at end of file diff --git a/api/utils/bar_utils.py b/api/utils/bar_utils.py index 89cdf37..adac812 100644 --- a/api/utils/bar_utils.py +++ b/api/utils/bar_utils.py @@ -69,15 +69,19 @@ def is_poplar_gene_valid(gene): def is_rice_gene_valid(gene, isoform_id=False): """This function verifies if rice gene is valid :param gene: - :param isoform_id: True if you want to verifiy isoform ID + :param isoform_id: True if you want to verify isoform ID :return: True if valid """ - if isoform_id and re.search(r"^LOC_Os\d{2}g\d{5}\.\d{1,2}$", gene, re.I): - return True - elif isoform_id is False and re.search(r"^LOC_Os\d{2}g\d{5}$", gene, re.I): - return True + if isoform_id: + return bool( + re.search(r"^LOC_Os\d{2}g\d{5}\.\d{1,2}$", gene, re.I) or + re.search(r"^Os\d{2}g\d{7}\.\d{1,2}$", gene, re.I) + ) else: - return False + return bool( + re.search(r"^LOC_Os\d{2}g\d{5}$", gene, re.I) or + re.search(r"^Os\d{2}g\d{7}$", gene, re.I) + ) @staticmethod def is_tomato_gene_valid(gene, isoform_id=False): diff --git a/api/utils/gene_id_utils.py b/api/utils/gene_id_utils.py index e326c92..edf1193 100644 --- a/api/utils/gene_id_utils.py +++ b/api/utils/gene_id_utils.py @@ -75,6 +75,7 @@ def is_probeset_id(gene_id: str) -> bool: "shoot_apex": "arabidopsis", "silique": "arabidopsis", "single_cell": "arabidopsis", + # Actinidia (kiwifruit) "actinidia_bud_development": "actinidia", "actinidia_flower_fruit_development": "actinidia", @@ -285,6 +286,20 @@ def is_probeset_id(gene_id: str) -> bool: "willow": "willow", # Test "sample_data": "arabidopsis", + 'arabidopsis_NIE_pseudobulk': "arabidopsis", + "arabidopsis_stem_lee_pseudobulk": "arabidopsis", + "arabidopsis_flower_lee_pseudobulk": "arabidopsis", + "arabidopsis_silique_lee_pseudobulk": "arabidopsis", + "arabidopsis_root_rs_pseudobulk": "arabidopsis", + "arabidopsis_seed_martin_pseudobulk": "arabidopsis", + "rice_OW_pseudobulk": "rice", + "rice_OW_umap": "rice", + "arabidopsis_NIE_umap": "arabidopsis", + "arabidopsis_root_shahan_umap": "arabidopsis", + "arabidopsis_seed_martin_umap": "arabidopsis", + "arabidopsis_flower_lee_umap": "arabidopsis", + "arabidopsis_silique_lee_umap": "arabidopsis", + "arabidopsis_stem_lee_umap": "arabidopsis", } # fmt: on diff --git a/config/BAR_API.cfg b/config/BAR_API.cfg index a241974..a9b7392 100755 --- a/config/BAR_API.cfg +++ b/config/BAR_API.cfg @@ -43,5 +43,19 @@ SQLALCHEMY_BINDS = { 'tomato_nssnp' : 'mysql://root:root@localhost/tomato_nssnp', 'tomato_sequence' : 'mysql://root:root@localhost/tomato_sequence', 'triphysaria' : 'mysql://root:root@localhost/triphysaria', - 'gaia' : 'mysql://root:root@localhost/gaia' + 'gaia' : 'mysql://root:root@localhost/gaia', + 'rice_OW_pseudobulk': 'mysql://root:root@localhost/rice_OW_pseudobulk', + 'arabidopsis_NIE_pseudobulk': 'mysql://root:root@localhost/arabidopsis_NIE_pseudobulk', + 'arabidopsis_stem_lee_pseudobulk': 'mysql://root:root@localhost/arabidopsis_stem_lee_pseudobulk', + 'arabidopsis_flower_lee_pseudobulk': 'mysql://root:root@localhost/arabidopsis_flower_lee_pseudobulk', + 'arabidopsis_silique_lee_pseudobulk': 'mysql://root:root@localhost/arabidopsis_silique_lee_pseudobulk', + 'arabidopsis_root_rs_pseudobulk': 'mysql://root:root@localhost/arabidopsis_root_rs_pseudobulk', + 'arabidopsis_seed_martin_pseudobulk': 'mysql://root:root@localhost/arabidopsis_seed_martin_pseudobulk', + 'rice_OW_umap': 'mysql://root:root@localhost/rice_OW_umap', + 'arabidopsis_NIE_umap': 'mysql://root:root@localhost/arabidopsis_NIE_umap', + 'arabidopsis_root_shahan_umap': 'mysql://root:root@localhost/arabidopsis_root_shahan_umap', + 'arabidopsis_seed_martin_umap': 'mysql://root:root@localhost/arabidopsis_seed_martin_umap', + 'arabidopsis_flower_lee_umap': 'mysql://root:root@localhost/arabidopsis_flower_lee_umap', + 'arabidopsis_silique_lee_umap': 'mysql://root:root@localhost/arabidopsis_silique_lee_umap', + 'arabidopsis_stem_lee_umap': 'mysql://root:root@localhost/arabidopsis_stem_lee_umap' } diff --git a/config/databases/arabidopsis_NIE_pseudobulk_dump.sql b/config/databases/arabidopsis_NIE_pseudobulk_dump.sql new file mode 100644 index 0000000..6ad7a21 --- /dev/null +++ b/config/databases/arabidopsis_NIE_pseudobulk_dump.sql @@ -0,0 +1,63 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: arabidopsis_NIE_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_NIE_pseudobulk` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `arabidopsis_NIE_pseudobulk` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `arabidopsis_NIE_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.0346533,0.224356,'D0_Mesophyll'),('AT1G01010',0.0251518,0.185286,'D0_Sieve element_responsive'),('AT1G01010',0.0297745,0.203837,'D0_Guard'),('AT1G01010',0.0550332,0.260401,'D0_Defense state'),('AT1G01010',0.0424581,0.239094,'D0_Epidermal'),('AT1G01010',0.0163655,0.146177,'D0_Phloem Parenchyma'),('AT1G01010',0.0389615,0.234467,'D0_Metabolic stress state'),('AT1G01010',0.0292404,0.198967,'D0_Phloem companion'),('AT1G01010',0.0510094,0.226118,'D0_Trichome'),('AT1G01010',0.027103,0.181704,'D0_Dividing'),('AT1G01010',0.0692417,0.276578,'D0_Stress responsive'),('AT1G01010',0.0110158,0.119154,'D0_Sugar metabolic state'),('AT1G01010',0.0565404,0.272046,'D0_Immune active'),('AT1G01010',0.0513775,0.273271,'D0_Hydathode'),('AT1G01010',0.045102,0.247266,'D0_Vascular'),('AT1G01010',0.0256331,0.169289,'D0_Myrosin'),('AT1G01010',0.0274436,0.177235,'W0_Vascular'),('AT1G01010',0.024174,0.172252,'W0_Mesophyll'),('AT1G01010',0.0213485,0.15354,'W0_Phloem Parenchyma'),('AT1G01010',0.0286998,0.178188,'W0_Dividing'),('AT1G01010',0.0278313,0.182473,'W0_Epidermal'),('AT1G01010',0.0563447,0.251333,'W0_Immune active'),('AT1G01010',0.0343054,0.201204,'W0_Sieve element_responsive'),('AT1G01010',0.0574457,0.253535,'W0_Defense state'),('AT1G01010',0.0136855,0.12117,'W0_Guard'),('AT1G01010',0.0272221,0.169833,'W0_Phloem companion'),('AT1G01010',0.0715313,0.271057,'W0_Stress responsive'),('AT1G01010',0.00820466,0.0673068,'W0_Myrosin'),('AT1G01010',0.0393423,0.199799,'W0_Sugar metabolic state'),('AT1G01010',0.0339956,0.217678,'W0_Metabolic stress state'),('AT1G01010',0.0214199,0.133693,'W0_Trichome'),('AT1G01010',0.0571251,0.236552,'W0_Hydathode'),('AT1G01010',0.0422542,0.250415,'W15_Dividing'),('AT1G01010',0.0446,0.254963,'W15_Mesophyll'),('AT1G01010',0.037824,0.236808,'W15_Phloem Parenchyma'),('AT1G01010',0.0420744,0.251218,'W15_Immune active'),('AT1G01010',0.0387755,0.241218,'W15_Epidermal'),('AT1G01010',0.104241,0.43291,'W15_Hydathode'),('AT1G01010',0.104467,0.324257,'W15_Stress responsive'),('AT1G01010',0.03282,0.228891,'W15_Guard'),('AT1G01010',0.0783275,0.325689,'W15_Defense state'),('AT1G01010',0.0205945,0.15169,'W15_Myrosin'),('AT1G01010',0.0290853,0.203305,'W15_Phloem companion'),('AT1G01010',0.0409241,0.246531,'W15_Vascular'),('AT1G01010',0,0,'W15_Trichome'),('AT1G01010',0.0304135,0.206024,'W15_Sieve element_responsive'),('AT1G01010',0,0,'W15_Sugar metabolic state'),('AT1G01010',0.0573618,0.262866,'W15_Metabolic stress state'),('AT1G01010',0.0187317,0.156752,'R15_Sieve element_responsive'),('AT1G01010',0.0287312,0.191696,'R15_Immune active'),('AT1G01010',0.0329913,0.213788,'R15_Mesophyll'),('AT1G01010',0.0130775,0.14382,'R15_Guard'),('AT1G01010',0.0547408,0.257222,'R15_Defense state'),('AT1G01010',0.0541722,0.243631,'R15_Stress responsive'),('AT1G01010',0.02531,0.180358,'R15_Phloem Parenchyma'),('AT1G01010',0.0400045,0.239473,'R15_Epidermal'),('AT1G01010',0.0300884,0.196556,'R15_Vascular'),('AT1G01010',0.0282214,0.199286,'R15_Dividing'),('AT1G01010',0.034919,0.214859,'R15_Phloem companion'),('AT1G01010',0.018792,0.157063,'R15_Metabolic stress state'),('AT1G01010',0.0528136,0.261553,'R15_Trichome'),('AT1G01010',0,0,'R15_Myrosin'),('AT1G01010',0.0564275,0.281679,'R15_Hydathode'),('AT1G01010',0.0462055,0.222434,'R15_Sugar metabolic state'); +INSERT INTO `sample_data` VALUES ('AT1G01010',0.0242853,0.114475,'W0_Phloem average'); +INSERT INTO `sample_data` VALUES ('AT1G01010',0.0228029,0.123446,'D0_Phloem average'); +INSERT INTO `sample_data` VALUES ('AT1G01010',0.0301145,0.140262,'R15_Phloem average'); +INSERT INTO `sample_data` VALUES ('AT1G01010',0.0334546,0.156053,'W15_Phloem average'); +/*!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-17 01:32:31 diff --git a/config/databases/arabidopsis_NIE_umap.sql b/config/databases/arabidopsis_NIE_umap.sql new file mode 100644 index 0000000..ed5b9d6 --- /dev/null +++ b/config/databases/arabidopsis_NIE_umap.sql @@ -0,0 +1,83 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: arabidopsis_NIE_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_NIE_umap` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `arabidopsis_NIE_umap` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `arabidopsis_NIE_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.696337,-0.631605,'Vascular'); +/*!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 ('AT3G55980','{}'); +/*!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-17 01:12:53 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..d588f42 --- /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.00328525,0.0572235,'Unknown'),('AT1G01010',0.00271003,0.0519873,'Tapetum'),('AT1G01010',0.00235294,0.0484501,'Gynoecium and developing ovule'),('AT1G01010',0.00793651,0.0887326,'Anther'),('AT1G01010',0.00791557,0.0886167,'Epidermal'),('AT1G01010',0.00625,0.0788095,'Male meiocyte'),('AT1G01010',0.00243902,0.0493263,'Pollen'),('AT1G01010',0.0306905,0.172478,'Vascular'),('AT1G01010',0,0,'Developing ovule'); +/*!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-17 01:38:03 diff --git a/config/databases/arabidopsis_flower_lee_umap.sql b/config/databases/arabidopsis_flower_lee_umap.sql new file mode 100644 index 0000000..4338dea --- /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 (0,-6.162047,-2.984256,'Vascular'); +/*!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 ('AT3G15510','{}'); +/*!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-17 01:19:53 diff --git a/config/databases/arabidopsis_root_rs_pseudobulk_dump.sql b/config/databases/arabidopsis_root_rs_pseudobulk_dump.sql new file mode 100644 index 0000000..f0e2ac4 --- /dev/null +++ b/config/databases/arabidopsis_root_rs_pseudobulk_dump.sql @@ -0,0 +1,59 @@ +-- MySQL dump 10.13 Distrib 9.4.0, for Linux (x86_64) +-- +-- Host: localhost Database: arabidopsis_root_rs_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_rs_pseudobulk` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `arabidopsis_root_rs_pseudobulk` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `arabidopsis_root_rs_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.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'); +/*!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-17 01:37:36 diff --git a/config/databases/arabidopsis_root_shahan_umap.sql b/config/databases/arabidopsis_root_shahan_umap.sql new file mode 100644 index 0000000..4f3585c --- /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 (0,-4.902692,0.721032,'Xylem pole pericycle'); +/*!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 ('AT1G79580','{}'); +/*!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-17 01:18:41 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..c2be2d7 --- /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.0530547,0.254381,'3DAP PEN'),('AT1G01010',0.0216086,0.173621,'3DAP ii1'),('AT1G01010',0.0103579,0.111004,'3DAP oi1'),('AT1G01010',0.0076461,0.0931657,'3DAP ii2'),('AT1G01010',0.0337478,0.199283,'3DAP CZSC'),('AT1G01010',0.00294196,0.0541595,'3DAP oi2'),('AT1G01010',0.10066,0.365283,'3DAP CPT'),('AT1G01010',0.0406977,0.271892,'3DAP OVL'),('AT1G01010',0.00927357,0.110809,'3DAP FUN'),('AT1G01010',0.011236,0.105403,'3DAP EMB'),('AT1G01010',0.0123457,0.110424,'3DAP ii1\''),('AT1G01010',0.0209924,0.156104,'3DAP MCE'),('AT1G01010',0.084788,0.30424,'3DAP CZE'),('AT1G01010',0.00975836,0.102921,'5DAP PEN'),('AT1G01010',0.00544218,0.0735699,'5DAP ii2'),('AT1G01010',0.00364564,0.0738595,'5DAP oi1'),('AT1G01010',0.00275356,0.0605298,'5DAP oi2'),('AT1G01010',0.0168612,0.156074,'5DAP CZSC'),('AT1G01010',0.0140845,0.167244,'5DAP MCE'),('AT1G01010',0.0578662,0.241111,'5DAP CZE'),('AT1G01010',0.00572519,0.075448,'5DAP ii1'),('AT1G01010',0.00319489,0.0564329,'5DAP ii1\''),('AT1G01010',0.00571429,0.0753766,'5DAP FUN'),('AT1G01010',0.0172414,0.13017,'5DAP CPT'),('AT1G01010',0,0,'5DAP EMB'),('AT1G01010',0.00164474,0.040522,'7DAP oi2'),('AT1G01010',0.00156678,0.0395512,'7DAP EMB'),('AT1G01010',0.00155521,0.0394052,'7DAP MCE'),('AT1G01010',0.0035229,0.0672088,'7DAP CZE'),('AT1G01010',0.00617284,0.0896332,'7DAP oi1'),('AT1G01010',0.00374813,0.0611072,'7DAP PEN'),('AT1G01010',0.00371747,0.0608576,'7DAP ii1\''),('AT1G01010',0,0,'7DAP CZSC'),('AT1G01010',0.00934579,0.0962206,'7DAP ii1'); +/*!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-17 01:38: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..4cd90ae --- /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 (0,13.585819,4.483196,'7DAP oi2'); +/*!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 ('AT2G42840','{}'); +/*!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-17 01:19:25 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..16ca786 --- /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 ('AT3G62230',0.0706862,0.31542,'Young_silique'),('AT3G62230',0.733355,7.09161,'Meristematic'),('AT3G62230',0.107002,0.51633,'Seed_(silique)'),('AT3G62230',0.912326,8.1105,'Stele'),('AT3G62230',0.0960795,0.450791,'Epidermal'),('AT3G62230',0.0697413,0.39891,'Guard'),('AT3G62230',0.0312072,0.257404,'Mature_silique'); +/*!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-17 01:38:13 diff --git a/config/databases/arabidopsis_silique_lee_umap.sql b/config/databases/arabidopsis_silique_lee_umap.sql new file mode 100644 index 0000000..54ac1be --- /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 (0,-0.375122,-4.285366,'Young_silique'); +/*!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 ('AT3G24140','{}'); +/*!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-17 01:20:48 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..f16e4fb --- /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.00110294,0.033192,'Phloem'),('AT1G01010',0.00376124,0.0612126,'Unknown'),('AT1G01010',0.00569801,0.0752695,'Epidermal'),('AT1G01010',0,0,'Vascular'),('AT1G01010',0.00303644,0.0550201,'Cambium'),('AT1G01010',0.00273806,0.057785,'Xylem'),('AT1G01010',0.00826446,0.0905325,'Trichome'),('AT1G01010',0.00478469,0.0690057,'Guard'); +/*!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-17 01:38:19 diff --git a/config/databases/arabidopsis_stem_lee_umap.sql b/config/databases/arabidopsis_stem_lee_umap.sql new file mode 100644 index 0000000..3051f26 --- /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 (0,-5.448315,-0.628197,'Xylem'); +/*!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 ('AT5G26000','{}'); +/*!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-17 01:21:35 diff --git a/config/databases/rice_OW_pseudobulk_dump.sql b/config/databases/rice_OW_pseudobulk_dump.sql new file mode 100644 index 0000000..98ea4f6 --- /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'); +/*!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-17 01:33:32 diff --git a/config/databases/rice_OW_umap.sql b/config/databases/rice_OW_umap.sql new file mode 100644 index 0000000..a57c5fe --- /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 (0,2.269168,1.439900,'Xylem.Parenchyma'); +/*!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 ('Os10g0168500','{}'); +/*!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-17 01:16:09 diff --git a/config/init.sh b/config/init.sh index 2002159..fb92b6a 100755 --- a/config/init.sh +++ b/config/init.sh @@ -49,6 +49,20 @@ mysql -u $DB_USER -p$DB_PASS < ./config/databases/tomato_nssnp.sql mysql -u $DB_USER -p$DB_PASS < ./config/databases/tomato_sequence.sql mysql -u $DB_USER -p$DB_PASS < ./config/databases/triphysaria.sql mysql -u $DB_USER -p$DB_PASS < ./config/databases/gaia.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_NIE_pseudobulk.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/rice_OW_pseudobulk.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_stem_lee_pseudobulk.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_flower_lee_pseudobulk.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_silique_lee_pseudobulk.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_root_rs_pseudobulk.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/arabidopsis_seed_martin_pseudobulk.sql +mysql -u $DB_USER -p$DB_PASS < ./config/databases/rice_OW_umap.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_umap.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_flower_lee_umap.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_umap.sql echo "Data are now loaded. Preparing API config" echo "Please manually edit config file!"