Hi @cjb-apis and welcome to our Community!
- Regarding the weights and association scores
You are right in observing that amending the weights using thedatasourcesparameter 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.”
- The propagate boolean
Thepropagateboolean determines if the evidence from a given data source should be propagated using the ontology. You can learn more about it here. If you setpropagatetotrue, 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