Skip to content

Commit 7a52fc8

Browse files
is_mcq_subject_qnode() in trapi.py made more tolerant of set_interpretation annotation on secondary query nodes. Release 0.1.0 also has partial implementation (incomplete) supporting a Docker Compose managed local semsim server (but keeps the default mode as external Monarch API semsimian calls for now).
1 parent 3052cd5 commit 7a52fc8

11 files changed

+537
-199
lines changed

CHANGELOG.md

+5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Change Log
22

3+
## 0.1.0
4+
5+
- Constraints relaxed for the filtering of Query Node specification of set_interpretation such that incomplete nodes (which may be specified as a part of multistep MCQ) generate a warning but are ignored (they don't now raise an exception).
6+
- minor release includes partial implementation (including SEMSIMIAN related environment variables, including a new SEMSIMIAN_MODE flag to tag two distinct layers of SemSimian access: server and (indirect) Monarch)
7+
38
## 0.0.12
49

510
- Input Query Graph list of nodes more robustly checked for constrain of having one and only one well-formed MCQ node with a set_interpretation directive

DEVELOPER_README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@ Steps to properly issue a new project release:
2424

2525
1. Run the unit test suite to ensure that nothing fails. Iterate to fix failures (in the code or in terms of revised unit tests to reflect fresh code designs)
2626
2. Document release changes in the **CHANGELOG.md**
27-
3. Update the **`[Tool Poetry]version =`** field in the **pyprojects.yaml**, e.g. "0.0.12"
27+
3. Update the **`[Tool Poetry]version =`** field in the **pyprojects.yaml**, e.g. "0.1.0"
2828
4. Run **`poetry update`** (preferably, within a **`poetry shell`**)
2929
5. The project pip **requirements.txt** file snapshot of dependencies should also be updated at this point (type **`$ poetry export --output requirements.txt`**, assuming that the [proper poetry export plugin is installed](https://python-poetry.org/docs/pre-commit-hooks#poetry-export)). This may facilitate module deployment within environments that prefer to use pip rather than poetry to manage their deployments.
3030
6. Commit or pull request merge all files (including the **poetry.lock** file) to the local **main** branch.
31-
7. Add the equivalent Git **tag** to **main**. This should be the Semantic Version string from step 4 with an added 'v' prefix, e.g. "v0.0.9".
31+
7. Add the equivalent Git **tag** to **main**. This should be the Semantic Version string from step 4 with an added 'v' prefix, e.g. "v0.1.0".
3232
8. Push **main** to remote.
3333
9. Check if Git Actions for testing and documentation complete successfully.
3434
10. Create a Git package release using the same release tag, e.g. "v0.0.9".

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ Please note that the MMCQ server itself must be running (see below) for the Jupy
3333
# SemSimian backend API for 'development' environment
3434
# (see the '.env-template' file for possible alternat
3535
# parameters for a 'production' deployment)
36+
SEMSIMIAN_MODE="monarch"
3637
SEMSIMIAN_SCHEME="http://"
3738
SEMSIMIAN_HOST="api-v3.monarchinitiative.org"
3839
SEMSIMIAN_PORT="" # default is HTTP port '80'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,289 @@
1+
{
2+
"subject": {
3+
"id": "MONDO:0008807",
4+
"category": "biolink:Disease",
5+
"name": "obsolete apnea, central sleep",
6+
"full_name": null,
7+
"deprecated": true,
8+
"description": null,
9+
"xref": [
10+
"OMIM:107640",
11+
"OMIM:207720"
12+
],
13+
"provided_by": "phenio_nodes",
14+
"in_taxon": null,
15+
"in_taxon_label": null,
16+
"symbol": null,
17+
"synonym": [
18+
"apnea, central sleep",
19+
"sleep apnea",
20+
"lethal central"
21+
],
22+
"uri": "http://purl.obolibrary.org/obo/MONDO_0008807",
23+
"iri": null,
24+
"namespace": "MONDO",
25+
"has_phenotype": [
26+
"HP:0001699",
27+
"HP:0010535"
28+
],
29+
"has_phenotype_label": [
30+
"Sudden death",
31+
"Sleep apnea"
32+
],
33+
"has_phenotype_closure": [
34+
"GO:0050896",
35+
"UBERON:0001004",
36+
"HP:0002360",
37+
"UPHENO:0002433",
38+
"HP:0002795",
39+
"UBERON:0010000",
40+
"UPHENO:0049587",
41+
"UPHENO:0002536",
42+
"HP:0010535",
43+
"UBERON:0001062",
44+
"GO:0030431",
45+
"NBO:0000313",
46+
"UBERON:0000061",
47+
"BFO:0000003",
48+
"HP:0011446",
49+
"BFO:0000001",
50+
"UPHENO:0082875",
51+
"HP:0002104",
52+
"HP:0000708",
53+
"UPHENO:0075696",
54+
"UPHENO:0001002",
55+
"UPHENO:0001003",
56+
"UBERON:0001016",
57+
"HP:0002086",
58+
"UPHENO:0001001",
59+
"HP:0012638",
60+
"BFO:0000020",
61+
"HP:0000118",
62+
"PATO:0000001",
63+
"HP:0002793",
64+
"HP:0025142",
65+
"UPHENO:0002448",
66+
"UPHENO:0004536",
67+
"UPHENO:0034024",
68+
"UBERON:0000465",
69+
"UPHENO:0004523",
70+
"UPHENO:0001005",
71+
"GO:0007610",
72+
"UPHENO:0049586",
73+
"BFO:0000002",
74+
"GO:0032501",
75+
"BFO:0000004",
76+
"HP:0001699",
77+
"UBERON:0000467",
78+
"HP:0000707",
79+
"UPHENO:0079826",
80+
"HP:0000001",
81+
"UPHENO:0002332",
82+
"UBERON:0000468",
83+
"GO:0008150",
84+
"GO:0007585",
85+
"UPHENO:0049622",
86+
"BFO:0000040",
87+
"UPHENO:0080585",
88+
"BFO:0000015",
89+
"UPHENO:0078461"
90+
],
91+
"has_phenotype_closure_label": [
92+
"anatomical structure",
93+
"abnormal biological_process",
94+
"multicellular organism",
95+
"response to stimulus",
96+
"Abnormality of the respiratory system",
97+
"multicellular organismal process",
98+
"multicellular anatomical structure",
99+
"Abnormality of the nervous system",
100+
"biological_process",
101+
"abnormal response to stimulus",
102+
"material entity",
103+
"absent respiratory gaseous exchange by respiratory system",
104+
"abnormal nervous system",
105+
"Abnormality of mental function",
106+
"occurrent",
107+
"phenotype by ontology source",
108+
"abnormal behavior",
109+
"Sudden death",
110+
"abnormality of nervous system physiology",
111+
"continuant",
112+
"Constitutional symptom",
113+
"Abnormal pattern of respiration",
114+
"nervous system",
115+
"All",
116+
"Phenotypic abnormality",
117+
"entity",
118+
"Sleep apnea",
119+
"specifically dependent continuant",
120+
"abnormal phenotype by ontology source",
121+
"phenotype",
122+
"quality",
123+
"behavior process",
124+
"independent continuant",
125+
"abnormal respiratory system",
126+
"sleep",
127+
"Abnormal respiratory system physiology",
128+
"material anatomical entity",
129+
"anatomical system",
130+
"anatomical entity",
131+
"respiratory gaseous exchange by respiratory system",
132+
"Sleep disturbance",
133+
"Apnea",
134+
"process",
135+
"Atypical behavior",
136+
"abnormal behavior process",
137+
"behavior",
138+
"abnormality of anatomical entity physiology",
139+
"respiratory system",
140+
"abnormal anatomical entity",
141+
"absent biological_process",
142+
"Abnormal nervous system physiology",
143+
"abnormality of respiratory system physiology"
144+
],
145+
"has_phenotype_count": 2
146+
},
147+
"score": 13.190702260828903,
148+
"similarity": {
149+
"subject_termset": {
150+
"HP:0001699": {
151+
"id": "HP:0001699",
152+
"label": "Sudden death"
153+
},
154+
"HP:0010535": {
155+
"id": "HP:0010535",
156+
"label": "Sleep apnea"
157+
}
158+
},
159+
"object_termset": {
160+
"HP:0002104": {
161+
"id": "HP:0002104",
162+
"label": "Apnea"
163+
},
164+
"HP:0012378": {
165+
"id": "HP:0012378",
166+
"label": "Fatigue"
167+
}
168+
},
169+
"subject_best_matches": {
170+
"HP:0001699": {
171+
"match_source": "HP:0001699",
172+
"match_source_label": "Sudden death",
173+
"match_target": "HP:0012378",
174+
"match_target_label": "Fatigue",
175+
"score": 11.35921975446769,
176+
"match_subsumer": null,
177+
"match_subsumer_label": null,
178+
"similarity": {
179+
"subject_id": "HP:0001699",
180+
"subject_label": null,
181+
"subject_source": null,
182+
"object_id": "HP:0012378",
183+
"object_label": null,
184+
"object_source": null,
185+
"ancestor_id": "HP:0025142",
186+
"ancestor_label": "Constitutional symptom",
187+
"ancestor_source": null,
188+
"object_information_content": null,
189+
"subject_information_content": null,
190+
"ancestor_information_content": 11.35921975446769,
191+
"jaccard_similarity": 0.8461538461538461,
192+
"cosine_similarity": null,
193+
"dice_similarity": null,
194+
"phenodigm_score": 3.100265711926896
195+
},
196+
"score_metric": "ancestor_information_content"
197+
},
198+
"HP:0010535": {
199+
"match_source": "HP:0010535",
200+
"match_source_label": "Sleep apnea",
201+
"match_target": "HP:0002104",
202+
"match_target_label": "Apnea",
203+
"score": 15.022184767190119,
204+
"match_subsumer": null,
205+
"match_subsumer_label": null,
206+
"similarity": {
207+
"subject_id": "HP:0010535",
208+
"subject_label": null,
209+
"subject_source": null,
210+
"object_id": "HP:0002104",
211+
"object_label": null,
212+
"object_source": null,
213+
"ancestor_id": "HP:0002104",
214+
"ancestor_label": "Apnea",
215+
"ancestor_source": null,
216+
"object_information_content": null,
217+
"subject_information_content": null,
218+
"ancestor_information_content": 15.022184767190119,
219+
"jaccard_similarity": 0.6285714285714286,
220+
"cosine_similarity": null,
221+
"dice_similarity": null,
222+
"phenodigm_score": 3.072867738672891
223+
},
224+
"score_metric": "ancestor_information_content"
225+
}
226+
},
227+
"object_best_matches": {
228+
"HP:0002104": {
229+
"match_source": "HP:0002104",
230+
"match_source_label": "Apnea",
231+
"match_target": "HP:0010535",
232+
"match_target_label": "Sleep apnea",
233+
"score": 15.022184767190119,
234+
"match_subsumer": null,
235+
"match_subsumer_label": null,
236+
"similarity": {
237+
"subject_id": "HP:0002104",
238+
"subject_label": null,
239+
"subject_source": null,
240+
"object_id": "HP:0010535",
241+
"object_label": null,
242+
"object_source": null,
243+
"ancestor_id": "HP:0002104",
244+
"ancestor_label": "Apnea",
245+
"ancestor_source": null,
246+
"object_information_content": null,
247+
"subject_information_content": null,
248+
"ancestor_information_content": 15.022184767190119,
249+
"jaccard_similarity": 0.6285714285714286,
250+
"cosine_similarity": null,
251+
"dice_similarity": null,
252+
"phenodigm_score": 3.072867738672891
253+
},
254+
"score_metric": "ancestor_information_content"
255+
},
256+
"HP:0012378": {
257+
"match_source": "HP:0012378",
258+
"match_source_label": "Fatigue",
259+
"match_target": "HP:0001699",
260+
"match_target_label": "Sudden death",
261+
"score": 11.35921975446769,
262+
"match_subsumer": null,
263+
"match_subsumer_label": null,
264+
"similarity": {
265+
"subject_id": "HP:0012378",
266+
"subject_label": null,
267+
"subject_source": null,
268+
"object_id": "HP:0001699",
269+
"object_label": null,
270+
"object_source": null,
271+
"ancestor_id": "HP:0025142",
272+
"ancestor_label": "Constitutional symptom",
273+
"ancestor_source": null,
274+
"object_information_content": null,
275+
"subject_information_content": null,
276+
"ancestor_information_content": 11.35921975446769,
277+
"jaccard_similarity": 0.8461538461538461,
278+
"cosine_similarity": null,
279+
"dice_similarity": null,
280+
"phenodigm_score": 3.100265711926896
281+
},
282+
"score_metric": "ancestor_information_content"
283+
}
284+
},
285+
"average_score": 13.190702260828903,
286+
"best_score": 15.022184767190119,
287+
"metric": "AncestorInformationContent"
288+
}
289+
}

0 commit comments

Comments
 (0)