Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

### Categorical variants with Boolean operators #92

Open
DanielPuthawala opened this issue Dec 19, 2024 · 4 comments
Open

### Categorical variants with Boolean operators #92

DanielPuthawala opened this issue Dec 19, 2024 · 4 comments

Comments

@DanielPuthawala
Copy link
Collaborator

Categorical variant constraints need Boolean operators

We need ways to represent complex CatVars such as "Met Amplification and TP53 Loss".

Originally posted by @rhdolin in #86 (comment)

@jsstevenson
Copy link
Contributor

👍

it would, for example, be nice to make sure that we can faithfully support CIViC molecular profiles -- and, or, not, and grouping via parentheticals

@DanielPuthawala
Copy link
Collaborator Author

I'm going to ramble here for a bit and try to get some of my thinking out on paper (so to speak) here. Cat-VRS currently supports What I am going to call here Simplex CatVars, ie single hyperintensioanl set-theoretic objects, like the either of the examples referenced above. _MET_ Amplification is a Simplex CatVar, as is _TP53_ Loss, which are defined by a single set of constraints on set membership. Multiple constraints in a given Simplex CatVar are treated as boolean AND. So for a contextual variant to be a member of _MET_ Amplification, it has to both pertain to the _MET_ gene AND Copy Gain.

@DanielPuthawala
Copy link
Collaborator Author

I was writing something up here yesterday, and then lost it all when I accidentally reloaded the page. I'm re-writing it up in another document and will paste it here once it's all up.

@brendanreardon
Copy link
Collaborator

brendanreardon commented Jan 2, 2025

Oh no! I'm sorry that you lost your notes, Daniel. Two relevant items to this discussion, from Daniel and I talking on Dec 20th:

  • The JSON schema supports the NOT operator.
  • We discussed the idea of making a "complex catvar class" versus using recipes to string together multiple cat-vars. A major challenge (which can be punted to the future, after PRC) with complex cat-vars in the current model (e.g., MET amplification and TP53 loss of function) is that there would have to be away to selectively associate constraints within a single cat-var. In this example, MET amplification and TP53 loss of function would each be described with a set of constraints, and there would have to be a way to distinguish which constraints are associated with each genomic event within the single catvar. Otherwise, the statement would be ambiguous and also match to MET loss of function and TP53 amplification.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants