Skip to content

Commit

Permalink
Feat/find by germplasm and trait names (#62)
Browse files Browse the repository at this point in the history
* Add generation of germplasm names list for studies

* Add traitNames field in datadiscovery
  • Loading branch information
cpommier committed Apr 29, 2023
1 parent 4708d7c commit fdf7d6f
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 1 deletion.
13 changes: 13 additions & 0 deletions config/transform-elasticsearch/documents/datadiscovery_study.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,10 @@
"{flatten_distinct}": [
"{.germplasmURIs => .accessionNumber}"
]
},"germplasmNames": {
"{flatten_distinct}": [
"{.germplasmURIs => .germplasmName}"
]
},
"@id": "{.studyPUI}",
"identifier": "{.studyDbId}",
Expand Down Expand Up @@ -183,6 +187,15 @@
]
}
},
"traitNames": {
"{list}": [
"{.observationVariableURIs => .observationVariableName + .name + .trait.name}"
],
"{transform}": [
"flatten",
"distinct"
]
},
"node": "{.source}",
"databaseName": {
"{join}": [
Expand Down
1 change: 0 additions & 1 deletion config/transform-uri.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{
"ignore-links": [
"observation",
"observationVariable",
"trait",
"breedingMethod",
"method",
Expand Down
17 changes: 17 additions & 0 deletions tests/transform/integration/test_es_integration.py
Original file line number Diff line number Diff line change
Expand Up @@ -118,3 +118,20 @@ def test_all_contacts_generated(self):
expected_vib = json.load(expected_vib_f)

self.assertEqual(DeepDiff(actual_vib, expected_vib), {})

def test_germplasNames_generated(self):
with gzip.open(self._actual_data_dir+"VIB/datadiscovery-1.json.gz") as actual_vib_f:
actual_vib = json.load(actual_vib_f)
for document_i in actual_vib:
if "studyType" in document_i:
self.assertTrue("germplasmNames" in document_i)

def test_traitNames_generated(self):
with gzip.open(self._actual_data_dir+"VIB/datadiscovery-1.json.gz") as actual_vib_f:
actual_vib = json.load(actual_vib_f)
for document_i in actual_vib:
if "studyType" in document_i:
self.assertTrue("traitNames" in document_i)
self.assertFalse(document_i["observationVariableDbIds"][0] in document_i["traitNames"])


0 comments on commit fdf7d6f

Please sign in to comment.