diff --git a/api/__init__.py b/api/__init__.py index 7306218..e5d8f34 100644 --- a/api/__init__.py +++ b/api/__init__.py @@ -93,6 +93,8 @@ 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 + from api.resources.super_viewer_gene_expression import super_viewer_gene_expression bar_api.add_namespace(gene_information) bar_api.add_namespace(gaia) @@ -110,6 +112,8 @@ 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.add_namespace(super_viewer_gene_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/super_viewer_gene_expression.py b/api/resources/super_viewer_gene_expression.py new file mode 100644 index 0000000..1f6126e --- /dev/null +++ b/api/resources/super_viewer_gene_expression.py @@ -0,0 +1,128 @@ + +from flask_restx import Namespace, Resource +from markupsafe import escape + +from api.services.efp_data import query_efp_database_dynamic +from api.utils.bar_utils import BARUtils +from api.utils.gene_id_utils import ( + CROSS_SPECIES_DATABASES, + DATABASE_SPECIES, + PROBESET_DATABASES, + convert_gene_to_probeset, + is_probeset_id, + normalize_gene_id, + validate_gene_id, +) + +# Must match MEAN_CTRL_BOT_ID in generate_pseudobulk_dumps.py +MEAN_CTRL_BOT_ID = "Mean_CTRL" + +super_viewer_gene_expression = Namespace( + "SUPeR Viewer Gene Expression", + description=( + "Per-tissue and dataset-wide mean gene expression from SUPeR " + "Viewer eFP pseudobulk databases." + ), + path="/super_viewer_gene_expression", +) + + +def _split_rows(rows): + """ + Split sample_data rows into (tissue_rows, mean_row). + + tissue_rows : list of every row except Mean_CTRL — the normal + per-tissue/condition expression values. + mean_row : the single Mean_CTRL row (or None if the database/gene + predates the Mean_CTRL rollout and has no such row). + + NOTE: query_efp_database_dynamic's rows come back shaped as + {"name": , "value": } — confirmed from a + live response — not {"data_bot_id": ..., "data_signal": ...} as + originally assumed. Update this if the shape changes again. + """ + tissue_rows = [] + mean_row = None + for row in rows: + bot_id = row.get("name") + if bot_id == MEAN_CTRL_BOT_ID: + mean_row = row + else: + tissue_rows.append(row) + return tissue_rows, mean_row + + +@super_viewer_gene_expression.route("/expression//") +@super_viewer_gene_expression.doc( + description=( + "Retrieve per-tissue expression values and the dataset-wide mean " + "(Mean_CTRL) for a gene from a specified SUPeR Viewer eFP database." + ) +) +@super_viewer_gene_expression.param( + "gene_id", + "Gene ID (e.g. AT1G01010 for Arabidopsis, or a probeset like 261585_at)", + _in="path", + default="AT1G01010", +) +@super_viewer_gene_expression.param( + "database", + "Database name (e.g. arabidopsis_NIE_pseudobulk, rice_OW_pseudobulk)", + _in="path", + default="arabidopsis_NIE_pseudobulk", +) +class SUPeRViewerGeneExpression(Resource): + def get(self, database, gene_id): + """Retrieve per-tissue values and the all-cell mean for a gene. + """ + database = str(escape(database)) + gene_id = str(escape(gene_id)) + + # 1. Resolve database species and expected input species. + species = DATABASE_SPECIES.get(database) + if species is None: + return BARUtils.error_exit(f"Unknown database '{database}'"), 400 + input_species = CROSS_SPECIES_DATABASES.get(database, species) + + # 2. If the caller already supplied a probeset ID, use it directly + if is_probeset_id(gene_id): + query_id = gene_id + else: + # 3. Validate gene ID format against the expected input species regex + if not validate_gene_id(gene_id, input_species): + return BARUtils.error_exit(f"Invalid {input_species} gene ID: '{gene_id}'"), 400 + + # 4. Normalise (e.g. strip maize transcript suffix _T##) + gene_id = normalize_gene_id(gene_id, species) + + # 5. Microarray / non-direct databases need gene ID -> probeset conversion + if database in PROBESET_DATABASES: + probeset, err = convert_gene_to_probeset(gene_id, species, database) + if err: + return BARUtils.error_exit(err), 404 + query_id = probeset + else: + query_id = gene_id + + result = query_efp_database_dynamic(database, query_id) + + if not result["success"]: + error_code = result.get("error_code", 500) + if error_code == 404: + return BARUtils.error_exit("No data found for the given gene"), 404 + if error_code == 503: + return BARUtils.error_exit("Database not available"), 503 + return BARUtils.error_exit("An error occurred"), 500 + + rows = result.get("data", []) + tissue_rows, mean_row = _split_rows(rows) + + return BARUtils.success_exit({ + "expression": tissue_rows, + "mean_expression": mean_row, + }) + + +super_viewer_gene_expression.add_resource( + SUPeRViewerGeneExpression, "/expression//" +) diff --git a/api/resources/umap_expression.py b/api/resources/umap_expression.py new file mode 100644 index 0000000..db8ac46 --- /dev/null +++ b/api/resources/umap_expression.py @@ -0,0 +1,136 @@ +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!"