Switch to unified view

a b/inst/queries/sparseData.xq
1
; sparseData
2
(fn [dataset samples genes]
3
    (let [getfield (fn [field]
4
                     (:id (car (query {:select [:field.id]
5
                                       :from [:dataset]
6
                                       :join [:field [:= :dataset.id :field.dataset_id]]
7
                                       :where [:and [:= :field.name field] [:= :dataset.name dataset]]}))))
8
          sampleID (getfield "sampleID")]
9
      {:samples (map :value (query {:select [:value]
10
                                    :from [:code]
11
                                    :where [:and [:in :value samples][:= :field_id sampleID]]}))
12
       :rows (xena-query {:select ["ref" "alt" "altGene" "effect" "dna-vaf" "rna-vaf" "amino-acid" "genes" "sampleID" "position"]
13
                          :from [dataset]
14
                          :where [:and [:in :any "genes" genes] [:in "sampleID" samples]]})}))