MatsDahlberg / clinicalDB

0 stars 0 forks source link

Compounds och GTCall #31

Closed robinandeer closed 10 years ago

robinandeer commented 10 years ago

Nu har jag hunnit fundera lite. För mig skulle det vara enklast så här:

  1. Enskild GTCall route som returnerar gt calls för en variant. Routen får gärna se ut som följer: /gt_calls?variant_id=24767801.
  2. Enskild compounds route som returnerar compounds för en variant: /compounds?variant_id=24767801

Tänkte också på att Måns compound-varianter korrekt exkluderar själva utgångspunkts-varianten - det följer med nu också, eller hur?

MatsDahlberg commented 10 years ago

Visst, jag kan fixa det. Kan du ge ett exemple på den exakta JSON som du vill ha i de bägge routsen?

robinandeer commented 10 years ago

Precis som förut egentligen.

Sedan vore det super om "gene_model" separeras med "," eller ";" för att vara in-line med resten av interfacet. Eller ligger det på Henriks bord? :)

root-nyckeln spelar egentligen ingen roll men jag tror att det är standard att inkludera den.

"gtcalls"

{
    "gtcalls": [{
        "filter": null, 
        "gt": "0/1", 
        "ad": "88,68", 
        "gq": 99, 
        "idn": "19-1-2A", 
        "pl": "1519,0,2015", 
        "variantid": 26700453, 
        "pk": 73733087, 
        "dp": null
    }]
}

"compounds"

{
    "compounds": [{
        "functional_annotation": "nonsynonymous SNV", 
        "gt": "0/1", 
        "gene_model": "AR_compound,AD_denovo", 
        "idn": "19-1-2A", 
        "gene_annotation": "exonic", 
        "vpk": 26700453, 
        "rank_score": 23
    },{
        "functional_annotation": "-", 
        "gt": "0/1", 
        "gene_model": "AR_compound,AD_denovo", 
        "idn": "19-1-2A", 
        "gene_annotation": "intronic", 
        "vpk": 26700501, 
        "rank_score": 14
    },{
        "functional_annotation": "-", 
        "gt": "0/1", 
        "gene_model": "AR_compound,AD_denovo", 
        "idn": "19-1-2A", 
        "gene_annotation": "intronic", 
        "vpk": 26701576, 
        "rank_score": -3
    },{
        "functional_annotation": "-", 
        "gt": "0/1", 
        "gene_model": "AR_compound,AD_denovo", 
        "idn": "19-1-2A", 
        "gene_annotation": "intronic", 
        "vpk": 26701575, 
        "rank_score": -3
    }]
}
MatsDahlberg commented 10 years ago

Nu har jag grejat lite. Kolla om:

http://clinical-db:8082/variants/23545337/compounds

och

http://clinical-db:8082/variants/23545337/gtcall

genererar det som du behöver.

robinandeer commented 10 years ago

Precis det jag behöver.

Tänkte bara höra om jag kunde skicka /compounds?variant_id=23545337 och /gtcalls?variant_id=23545337 eller liknande istället för då skulle jag kunna generalisera min kod :)

MatsDahlberg commented 10 years ago

Nu har jag uppdaterat med:

http://clinical-db:8082/compounds?variant_id=23545337
http://clinical-db:8082/gtcalls?variant_id=23545337
robinandeer commented 10 years ago

:+1:

robinandeer commented 10 years ago

Nu får jag tillbaka samma compound-par flera gånger (en för varje sample).

{
    "compounds": [
        {
            "combined_score": 34, 
            "functional_annotation": "nonsynonymous SNV", 
            "gene_annotation": "exonic;splicing", 
            "gt": "0/1", 
            "gene_model": "AR_compound;AD_denovo", 
            "variant": 16156162, 
            "idn": "1-1-4A", 
            "rank_score": 26
        }, 
        {
            "combined_score": 34, 
            "functional_annotation": "nonsynonymous SNV", 
            "gene_annotation": "exonic;splicing", 
            "gt": "0/1", 
            "gene_model": "AR_compound;AD_denovo", 
            "variant": 16156162, 
            "idn": "1-1-3A", 
            "rank_score": 26
        }, 
        {
            "combined_score": 27, 
            "functional_annotation": "nonsynonymous SNV", 
            "gene_annotation": "exonic;splicing", 
            "gt": "0/1", 
            "gene_model": "AR_compound;AD_denovo", 
            "variant": 16156163, 
            "idn": "1-1-4A", 
            "rank_score": 26
        }, 
        {
            "combined_score": 27, 
            "functional_annotation": "nonsynonymous SNV", 
            "gene_annotation": "exonic;splicing", 
            "gt": "0/1", 
            "gene_model": "AR_compound;AD_denovo", 
            "variant": 16156163, 
            "idn": "1-1-3A", 
            "rank_score": 26
        }
    ]
}

Är det tänkt så? Jag kommer ändå att behöva slå ihop dem så att jag får listor med "idn" och "gt" för varje unikt par.

MatsDahlberg commented 10 years ago

Det är ett entry för varja idn, så om det finns två idn så genereras två st entries för varje compound. Jag gjorde så med flit, tänkte att 'gt' kanske kan vara olika i olika samples?

Jag kan ändra på det om det inte är korrekt.

robinandeer commented 10 years ago

Nej, det är korrekt. Jag undrar om det funkar att göra som för /gtcalls när olika "idn" delas upp med ett kommatecken stället för att dubblera information som "combined_score" etc.

{
    "compounds": [
        {
            "combined_score": 34, 
            "functional_annotation": "nonsynonymous SNV", 
            "gene_annotation": "exonic;splicing", 
            "gt": "0/1;0/1", 
            "gene_model": "AR_compound;AD_denovo", 
            "variant": 16156162, 
            "idn": "1-1-4A;1-1-3A", 
            "rank_score": 26
        },
        {
            "combined_score": 27, 
            "functional_annotation": "nonsynonymous SNV", 
            "gene_annotation": "exonic;splicing", 
            "gt": "0/1;0/1", 
            "gene_model": "AR_compound;AD_denovo", 
            "variant": 16156163, 
            "idn": "1-1-4A;1-1-3A", 
            "rank_score": 26
        }
    ]
}

Eller listor? :) ["0/1", "0/1"]

MatsDahlberg commented 10 years ago

Testa igen nu.

robinandeer commented 10 years ago

Wow, that's great!