Hi,
I have come across a statement, “The default weights used in the web application can be modified by the user in the API, to adjust to different prioritisation strategies.”. Can you please tell me how to do this?
Thanks
Philge
Hi,
I have come across a statement, “The default weights used in the web application can be modified by the user in the API, to adjust to different prioritisation strategies.”. Can you please tell me how to do this?
Thanks
Philge
Hi,
Once you are fetching associations (associated diseases for a fixed target or associated targets for a fix disease), you have the option to specify datasource weights in the query as follows:
query DiseaseAssociationsQuery {
disease(efoId: "EFO_0005774") {
id
associatedTargets(
page: { index: 0, size: 50 }
orderByScore: "score"
BFilter: ""
aggregationFilters: []
datasources: [{ id: "ot_genetics", weight: 0.5, propagate: false }]
) {
count
rows {
target {
id
approvedSymbol
approvedName
}
score
datatypeScores {
componentId: id
score
}
}
}
}
}
You can try out here. For details, take a look at the API documentation and schema.
Hi. I found the above helpful, thank you Philge and Daniel for posting the question and response.
From what I can see, amending these weightings affects only the overall association score, rather than the individual score for each of the 7 evidence types - at least this seems to be the response from my queries. Is there a way to amend the API query to adjust the 7 individual association scores as well as the overall score?
I am also wondering if you could provide an explanation for the ‘propagate’ boolean?
Many thanks,
Charles
Hi @cjb-apis and welcome to our Community!
datasources
parameter in your query directly impacts the overall association score. The purpose behind this design is that these weights are applied to each datasource when combining the associations by datasource. Only when these are combined do we compute the associations by datatype or the overall associations. Until that point, they aren’t considered, and hence the API doesn’t return weighted associations by datasource. As described in our documentation:“To calculate both data type and overall association scores, evidence is weighted using a factor that aims to calibrate the relevance of each data source relative to others.”
propagate
boolean determines if the evidence from a given data source should be propagated using the ontology. You can learn more about it here. If you set propagate
to true
, it means you’re allowing this ontological propagation for that specific datasource in your query. To provide more context, the default values for all datasources with respect to the propagate boolean can be obtained using the following query:query associatedTargets {
disease(efoId: "EFO_0000349") {
id
name
associatedTargets {
datasources {
id
weight
propagate
}
}
}
}
By default, propagate
is set to True
for all data sources, except for Expression Atlas (RNA Expression), as mentioned in our documentation.
I hope you found this helpful! We understand the complexity of our API schema, we will work on documenting an accurate description of each endpoint. Let us know if you have further questions.
Best,
Irene