clingen-data-model / clingen-interpretation

Allele (variant) interpretation model and API for ClinGen
3 stars 1 forks source link

ConditionMechanism #16

Closed cbizon closed 7 years ago

cbizon commented 7 years ago

ConditionMechanism is a way to say things like "Nonsense variants in gene X are the primary cause of disease Y". The strength of the mechanism can be primary, established, common, and suggested. These terms were chosen following the text of the ACMG guidelines.

We now have 4 separate boolean attributes. Would it make more sense to have a single attribute with a 4-value code? or some kind of numerical scale instead?

rrfreimuth commented 7 years ago

Since the "strength" terms are qualifying the mechanism, I'd much prefer seeing ConditionMechanism.strength with a value set that includes the 4 terms, which would allow us to extend the terms as needed without changing the model. I would not advocate for a numerical scale.

larrybabb commented 7 years ago

Yes

Sent from my iPhone

On Nov 11, 2016, at 12:51 PM, cbizon notifications@github.com wrote:

ConditionMechanism is a way to say things like "Nonsense variants in gene X are the primary cause of disease Y". The strength of the mechanism can be primary, established, common, and suggested. These terms were chosen following the text of the ACMG guidelines.

We now have 4 separate boolean attributes. Would it make more sense to have a single attribute with a 4-value code? or some kind of numerical scale instead?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

larrybabb commented 7 years ago

If agreeable I will change the model from the four ConditionMechansim "cause" boolean attributes,

to a single attribute called "cause" with a value set made of of these qualifying values

established, primary, common, suggested,

and we might want to add the values: none and/or unknown.

cbizon commented 7 years ago

Yes. I don't like none here, but I think unknown is reasonable.

larrybabb commented 7 years ago

@cbizon
In our example BP1.3 we have one ConditionMechanism data item that has two "strengths" one is true and one if false.

ConditionMechanism:
        ID: CM205
        Condition: C2
        Gene: G3
        Mechanism: Missense
        **Primary: false
        Established: true**
        Explanation: Truncating variants in TTN are associated with DCM. However, if missense variants are located in the A-band, impact the A-band, or are in a highly expressed region, they can also be associated with DCM.

Should I drop the false one, since we are now combining the levels of strength and thus would only have one strength (e.g. established)? Or is it important to know which strength is NOT the level?

larrybabb commented 7 years ago

I've changed the data model to have a single "strength" attribute in place of the 4 booleans. I've created a value set called "ConditionMechanismStrength" with the 5 values "established, primary, suggested, common and unknown" and I've updated the examples to use this value.

I removed the "primary: false" value from the comment above. I will reopen this issue if I hear back from others that it is important to capture the "false" levels of strength.