labsquare / cutevariant

A standalone and free application to explore genetics variations from VCF file
https://cutevariant.labsquare.org/
GNU General Public License v3.0
102 stars 21 forks source link

[VQL] Add $selected features #423

Open dridk opened 2 years ago

dridk commented 2 years ago

Create a new keywords $selected in VQL language

# WIl select expand genotype fields 
SELECT samples[$selected].gt  FROM variants 

SELECT samples[$selected].gt  FROM variants samples[$selected].gt > 1 

usage :

See https://github.com/labsquare/cutevariant/pull/422

dridk commented 2 years ago

image

antonylebechec commented 2 years ago

in PR #422 (fix selected samples as state for query list #421), 2 state variables are created in "Samples" plugin:

antonylebechec commented 2 years ago

Cela permettra de créer des requêtes (notamment avec "Query List") avec le keyword "$current", et ensuite une navigation entre les samples "selected" avec le keyword "$selected" (un peu à l'instar du Quick Search").

Dans les faits, on pourra alors : 1 - créer un set de samples (e.g. un "run", les samples par encore validé...) et y appliquer par défaut les queries :

SELECT chr,pos,ref,alt FROM variants samples[$current].gt > 1

2 - se focaliser/zoomer sur certains samples (e.g. un "trio", un sample en particulier) :

SELECT chr,pos,ref,alt,samples[$selected].gt FROM variants samples[$current].gt > 1 AND samples[$selected].gt

ou aussi (mais ça pose un problème si les colonnes ne sont pas regroupées par sample) :

SELECT chr,pos,ref,alt,samples[$selected].gt,samples[$selected].vaf FROM variants samples[$current].gt > 1 AND samples[$selected].gt

On peut aussi garder la flexibilité (comme avec "Quick Search") et ajouter "à la volée" les fields et firlters pour la partie "selected" (comme déjà dans le PR #422) :

SELECT chr,pos,ref,alt,samples["sample1"].gt,samples["sample2"].gt FROM variants samples[$current].gt > 1 AND (samples["sample1"].gt >1 OR samples["sample2"].gt >1)
dridk commented 2 years ago

C'est quoi la difference entre $current et $selected ?

antonylebechec commented 2 years ago

On peut discuter de ces deux notions.

Pour faire simple :

antonylebechec commented 2 years ago

Partially solved using source "current_samples". $selected still usefull