about summary refs log tree commit diff
path: root/scripts
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2025-05-30 13:52:35 -0500
committerFrederick Muriuki Muriithi2025-05-30 13:52:35 -0500
commit8ecb5201fcf9cd872659616aa01ec6e5c709938f (patch)
treed148bf4074a5446ca08f437c951882125bafd5a9 /scripts
parent1459ecc1de040f4b6d94ce8d056e207e14028f87 (diff)
downloadgn-uploader-8ecb5201fcf9cd872659616aa01ec6e5c709938f.tar.gz
Get the species, population and dataset.
Diffstat (limited to 'scripts')
-rw-r--r--scripts/load_phenotypes_to_db.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/scripts/load_phenotypes_to_db.py b/scripts/load_phenotypes_to_db.py
index 93956f8..12183e2 100644
--- a/scripts/load_phenotypes_to_db.py
+++ b/scripts/load_phenotypes_to_db.py
@@ -11,8 +11,11 @@ from MySQLdb.cursors import Cursor, DictCursor
 from gn_libs import jobs, mysqldb, sqlite3
 
 from r_qtl import r_qtl2 as rqtl2
+from uploader.species.models import species_by_id
+from uploader.population.models import population_by_species_and_id
 from uploader.samples.models import samples_by_species_and_population
 from uploader.phenotypes.models import (
+    dataset_by_id,
     save_phenotypes_data,
     create_new_phenotypes)
 from uploader.publications.models import (
@@ -235,6 +238,9 @@ def load_data(conn, job):
     # Steps
     # 0. Read data from the files: can be multiple files per type
     #
+    _species = species_by_id(conn, int(_job_metadata["species_id"]))
+    _population = population_by_species_and_id(conn, _species["SpeciesId"], int(_job_metadata["population_id"]))
+    _dataset = dataset_by_id(conn, _species["SpeciesId"], _population["Id"], int(_job_metadata["dataset_id"]))
     # 1. Just retrive the publication: Don't create publications for now.
     _publication = fetch_publication_by_id(
         conn, int(_job_metadata.get("publicationid", "0"))) or {"Id": 0}
@@ -250,7 +256,7 @@ def load_data(conn, job):
     _phenos = save_phenotypes(conn, _control_data, _outdir)
     dataidmap = {
         row["phenotype_id"]: {
-            "population_id": population["Id"],
+            "population_id": _population["Id"],
             "phenotype_id": row["phenotype_id"],
             "data_id": dataid,
             "publication_id": _publication["Id"],
@@ -261,7 +267,7 @@ def load_data(conn, job):
     samples = {
         row["Name"]: row
         for row in samples_by_species_and_population(
-                conn, species["SpeciesId"], population["PopulationId"])}
+                conn, _species["SpeciesId"], _population["Id"])}
     #    b. Save all the data items (DataIds are vibes), return new IDs
     data = save_pheno_data(conn, dataidmap, samples, _control_data, _outdir)
     # 4. Cross-reference Phenotype, Publication, and PublishData in PublishXRef