Test htsworkflow under several different django & python versions
[htsworkflow.git] / encode_submission / antibody.sql
1 -- \pset format unaligned
2 -- \pset fieldsep '\t'
3 with
4   experiment as (
5   select uri as Experiment,
6          payload->>'accession' as Experiment_Accession,
7          payload->>'description' as Experiment_Description,
8          payload->>'status' as Experiment_Status,
9          payload->>'date_released' as Experiment_Released,
10          payload->>'assay_title' as Experiment_Type,
11          jsonb_array_elements_text(payload->'replicates') as Replicate
12   from item
13   where object_type = 'Experiment' and
14         payload->'lab' @> '"/labs/michael-snyder/"'::jsonb
15   ),
16   replicate as (
17     select uri as Replicate,
18            payload->>'library' as Library,
19            payload->>'antibody' as Antibody
20     from item
21     where object_type = 'Replicate'
22   ),
23   antibody_lot as (
24     select uri as AntibodyLot,
25            payload->>'antigen_description' as Antigen_Description,
26            payload->>'clonality' as clonality,
27            jsonb_array_elements_text(payload->'targets') as Target,
28            jsonb_array_elements_text(payload->'characterizations') as Characterization
29     from item
30     where object_type = 'AntibodyLot'
31   ),
32   antibody_characterization as (
33     select uri as AntibodyCharacterization
34     from item
35     where object_type = 'AntibodyCharcterization'
36   ),
37   library as (
38     select uri as Library,
39            payload->>'accession' as Library_Accession,
40            payload->>'date_created' as Library_Created,
41            payload->>'biosample' as Biosample
42     from item
43     where object_type = 'Library'
44   ),
45   biosample as (
46      select uri as Biosample,
47             payload->>'donor' as Donor
48         from item
49         where object_type = 'Biosample'
50   ),
51   donor as (
52      select uri as Donor,
53             payload->>'organism' as Organism
54       from item
55   )
56 select
57   Experiment,
58   Experiment_Status,
59   Replicate.Replicate,
60   Replicate.Antibody,
61   AntibodyLot
62 from experiment
63      JOIN replicate ON experiment.Replicate = replicate.Replicate
64      JOIN antibody_lot on replicate.Antibody = antibody_lot.AntibodyLot
65 -- limit 10
66 ;