Skip to content

Commit f090867

Browse files
authored
Update clinical trial terms (#409)
Follow-up to obi-ontology/obi#1858 and obi-ontology/obi#1831, part of #411 This PR rewires new OBI terms for clinical trials
1 parent 9f5e241 commit f090867

1 file changed

Lines changed: 32 additions & 33 deletions

File tree

src/pyobo/sources/clinicaltrials.py

Lines changed: 32 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -27,49 +27,48 @@
2727
is_metadata_tag=True,
2828
)
2929

30-
STUDY_TERM = Term(reference=default_reference(PREFIX, "study", name="study"))
30+
INVESTIGATION_TERM = Term(
31+
reference=Reference(prefix="obi", identifier="0000066", name="investigation")
32+
)
3133

32-
CLINICAL_TRIAL_TERM = Term(
33-
reference=default_reference(PREFIX, "clinical-trial", name="clinical trial")
34-
).append_parent(STUDY_TERM)
34+
OBSERVATIONAL_INVESTIGATION_TERM = Term(
35+
reference=Reference(prefix="obi", identifier="0003693", name="observational investigation")
36+
).append_parent(INVESTIGATION_TERM)
3537

36-
INTERVENTIONAL_CLINICAL_TRIAL_TERM = Term(
37-
reference=default_reference(
38-
PREFIX, "interventional-clinical-trial", name="interventional clinical trial"
39-
)
40-
).append_parent(CLINICAL_TRIAL_TERM)
38+
CLINICAL_INVESTIGATION_TERM = Term(
39+
reference=Reference(prefix="obi", identifier="0003697", name="clinical investigation")
40+
).append_parent(INVESTIGATION_TERM)
41+
42+
CLINICAL_TRIAL_TERM = Term(
43+
reference=Reference(prefix="obi", identifier="0003699", name="clinical trial")
44+
).append_parent(CLINICAL_INVESTIGATION_TERM)
4145

4246
RANDOMIZED_INTERVENTIONAL_CLINICAL_TRIAL_TERM = Term(
43-
reference=default_reference(
44-
PREFIX,
45-
"randomized-interventional-clinical-trial",
46-
name="randomized interventional clinical trial",
47+
reference=Reference(
48+
prefix="obi",
49+
identifier="0004001",
50+
name="randomized clinical trial",
4751
)
48-
).append_parent(INTERVENTIONAL_CLINICAL_TRIAL_TERM)
52+
).append_parent(CLINICAL_TRIAL_TERM)
4953

5054
NON_RANDOMIZED_INTERVENTIONAL_CLINICAL_TRIAL_TERM = Term(
51-
reference=default_reference(
52-
PREFIX,
53-
"non-randomized-interventional-clinical-trial",
54-
name="non-randomized interventional clinical trial",
55-
)
56-
).append_parent(INTERVENTIONAL_CLINICAL_TRIAL_TERM)
57-
58-
OBSERVATIONAL_CLINICAL_TRIAL_TERM = Term(
59-
reference=default_reference(
60-
PREFIX, "observational-clinical-trial", name="observational clinical trial"
55+
reference=Reference(
56+
prefix="obi",
57+
identifier="0004002",
58+
name="non-randomized clinical trial",
6159
)
6260
).append_parent(CLINICAL_TRIAL_TERM)
6361

62+
# TODO request OBI term
6463
EXPANDED_ACCESS_STUDY_TERM = Term(
6564
reference=default_reference(PREFIX, "expanded-access-study", name="expanded access study")
66-
).append_parent(STUDY_TERM)
65+
).append_parent(INVESTIGATION_TERM)
6766

6867
TERMS = [
69-
STUDY_TERM,
68+
INVESTIGATION_TERM,
69+
CLINICAL_INVESTIGATION_TERM,
70+
OBSERVATIONAL_INVESTIGATION_TERM,
7071
CLINICAL_TRIAL_TERM,
71-
OBSERVATIONAL_CLINICAL_TRIAL_TERM,
72-
INTERVENTIONAL_CLINICAL_TRIAL_TERM,
7372
EXPANDED_ACCESS_STUDY_TERM,
7473
RANDOMIZED_INTERVENTIONAL_CLINICAL_TRIAL_TERM,
7574
NON_RANDOMIZED_INTERVENTIONAL_CLINICAL_TRIAL_TERM,
@@ -79,13 +78,13 @@
7978
# types in ClinicalTrials.gov. See summary script at
8079
# https://gist.github.com/cthoyt/12a3cb3c63ad68d73fe5a2f0d506526f
8180
PARENTS: dict[tuple[str | None, str | None], Term] = {
82-
("INTERVENTIONAL", None): INTERVENTIONAL_CLINICAL_TRIAL_TERM,
83-
("INTERVENTIONAL", "NA"): INTERVENTIONAL_CLINICAL_TRIAL_TERM,
81+
("INTERVENTIONAL", None): CLINICAL_TRIAL_TERM,
82+
("INTERVENTIONAL", "NA"): CLINICAL_TRIAL_TERM,
8483
("INTERVENTIONAL", "RANDOMIZED"): RANDOMIZED_INTERVENTIONAL_CLINICAL_TRIAL_TERM,
8584
("INTERVENTIONAL", "NON_RANDOMIZED"): NON_RANDOMIZED_INTERVENTIONAL_CLINICAL_TRIAL_TERM,
86-
("OBSERVATIONAL", None): OBSERVATIONAL_CLINICAL_TRIAL_TERM,
85+
("OBSERVATIONAL", None): OBSERVATIONAL_INVESTIGATION_TERM,
8786
("EXPANDED_ACCESS", None): EXPANDED_ACCESS_STUDY_TERM,
88-
(None, None): STUDY_TERM,
87+
(None, None): INVESTIGATION_TERM,
8988
}
9089

9190

@@ -95,7 +94,7 @@ class ClinicalTrialsGetter(Obo):
9594
ontology = PREFIX
9695
dynamic_version = True
9796
typedefs = [has_contributor, INVESTIGATES_CONDITION, HAS_INTERVENTION]
98-
root_terms = [STUDY_TERM.reference]
97+
root_terms = [INVESTIGATION_TERM.reference]
9998

10099
def iter_terms(self, force: bool = False) -> Iterable[Term]:
101100
"""Iterate over terms for studies."""

0 commit comments

Comments
 (0)