diff options
-rw-r--r-- | scripts/load_phenotypes_to_db.py | 10 |
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 |