You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: genotyping/resources/assay/Haplotype/queries/AggregatedAnalysisResults.sql
+53-54Lines changed: 53 additions & 54 deletions
Original file line number
Diff line number
Diff line change
@@ -16,57 +16,56 @@
16
16
-- query to display analysis results with one animal per row
17
17
-- NOTE: this query could probably use some optimization at some point.
18
18
SELECT
19
-
Summary.AnimalId,
20
-
Summary.TotalReads,
21
-
Summary.TotalIdentifiedReads,
22
-
Summary.TotalPercentUnknown,
23
-
a.ConcatenatedHaplotypes,
24
-
CASE WHEN ac.AssignmentCount>2 THEN TRUE ELSE FALSE END AS InconsistentAssignments,
25
-
ac.AssignmentCount,
26
-
-- We don't know the names of all of the haplotype types (A, B, DR, STR, etc), so we have to select *
27
-
iht.*
28
-
FROM (
29
-
-- Get the read counts
30
-
SELECT
31
-
Data.AnimalId,
32
-
SUM(Data.TotalReads) AS TotalReads,
33
-
SUM(Data.IdentifiedReads) AS TotalIdentifiedReads,
34
-
CAST(CASE WHEN SUM(Data.TotalReads) =0 THEN NULL ELSE ((1.0- CAST(SUM(Data.IdentifiedReads) AS DOUBLE) / CAST(SUM(Data.TotalReads) AS DOUBLE)) *100.0) END AS DOUBLE) AS TotalPercentUnknown
35
-
FROM
36
-
Data
37
-
WHEREData.Enabled= TRUE
38
-
GROUP BYData.AnimalId
39
-
) Summary
40
-
JOINgenotyping.AnimalAS a ONa.RowId=Summary.AnimalId
41
-
JOIN (
42
-
-- Get all the haplotype assignments, pivoted by type (A, B, DR, STR, etc)
43
-
SELECT
44
-
aa.AnimalIdAS HiddenAnimalId @Hidden, -- Hide so that we only get a single AnimalId column
45
-
MIN(CASE WHEN aha.DiploidNumber=1 THEN h.Name ELSE NULL END) AS Haplotype1,
46
-
MIN(CASE WHEN aha.DiploidNumber=2 THEN h.Name ELSE NULL END) AS Haplotype2,
47
-
h.TypeAS Type
48
-
FROMgenotyping.AnimalHaplotypeAssignmentAS aha
49
-
JOINgenotyping.HaplotypeAS h ONaha.HaplotypeId=h.RowId
50
-
JOINgenotyping.AnimalAnalysisAS aa ONaha.AnimalAnalysisId=aa.RowId
51
-
WHEREaa.Enabled= TRUE
52
-
GROUP BYaa.AnimalId, h.Type
53
-
PIVOT Haplotype1, Haplotype2 BY Type
54
-
) iht
55
-
ONSummary.AnimalId=iht.HiddenAnimalId
56
-
JOIN (
57
-
SELECT
58
-
MAX(AssignmentCount) AS AssignmentCount,
59
-
HiddenAnimalId @Hidden
60
-
FROM (
61
-
SELECT
62
-
aa.AnimalIdAS HiddenAnimalId @Hidden, -- Hide so that we only get a single AnimalId column
63
-
COUNT (DISTINCT h.Name) AS AssignmentCount @Hidden
64
-
FROMgenotyping.AnimalHaplotypeAssignmentAS aha
65
-
JOINgenotyping.HaplotypeAS h ONaha.HaplotypeId=h.RowId
66
-
JOINgenotyping.AnimalAnalysisAS aa ONaha.AnimalAnalysisId=aa.RowId
67
-
WHEREaa.Enabled= TRUE
68
-
GROUP BYaa.AnimalId, h.Type
69
-
) X
70
-
GROUP BY HiddenAnimalId
71
-
) ac
72
-
ONSummary.AnimalId=ac.HiddenAnimalId
19
+
20
+
Summary.AnimalId,
21
+
Summary.TotalReads,
22
+
Summary.TotalIdentifiedReads,
23
+
Summary.TotalPercentUnknown,
24
+
25
+
a.ConcatenatedHaplotypes,
26
+
CASE WHEN iht.AssignmentCount>2 THEN TRUE ELSE FALSE END AS InconsistentAssignments,
27
+
iht.AssignmentCount,
28
+
-- We don't know the names of all of the haplotype types (A, B, DR, STR, etc), so we have to select *
29
+
iht.*
30
+
FROM
31
+
genotyping.AnimalAS a
32
+
33
+
JOIN (
34
+
-- Get all the haplotype assignments, pivoted by type (A, B, DR, STR, etc)
35
+
SELECT
36
+
HiddenAnimalId @Hidden,
37
+
MIN(Haplotype1) AS Haplotype1,
38
+
MIN(Haplotype2) AS Haplotype2,
39
+
MIN(AssignmentCount) AS AssignmentCount @Hidden,
40
+
Type
41
+
FROM (
42
+
SELECT
43
+
aa.AnimalIdAS HiddenAnimalId @Hidden, -- Hide so that we only get a single AnimalId column
44
+
MIN(CASE WHEN aha.DiploidNumber=1 THEN h.Name ELSE NULL END) AS Haplotype1,
45
+
MIN(CASE WHEN aha.DiploidNumber=2 THEN h.Name ELSE NULL END) AS Haplotype2,
46
+
COUNT (DISTINCT h.Name) AS AssignmentCount @Hidden,
47
+
h.TypeAS Type
48
+
FROMgenotyping.AnimalHaplotypeAssignmentAS aha
49
+
JOINgenotyping.HaplotypeAS h ONaha.HaplotypeId=h.RowId
50
+
JOINgenotyping.AnimalAnalysisAS aa ONaha.AnimalAnalysisId=aa.RowId
51
+
WHEREaa.Enabled= TRUE
52
+
GROUP BYaa.AnimalId, h.Type
53
+
) x
54
+
GROUP BY HiddenAnimalId, Type
55
+
PIVOT Haplotype1, Haplotype2 BY Type IN (SELECT DISTINCT Type FROMgenotyping.Haplotype)
56
+
) iht
57
+
ONa.RowId=iht.HiddenAnimalId
58
+
59
+
JOIN (
60
+
-- Get the read counts
61
+
SELECT
62
+
AnimalId,
63
+
SUM(TotalReads) AS TotalReads,
64
+
SUM(IdentifiedReads) AS TotalIdentifiedReads,
65
+
CAST(CASE WHEN SUM(TotalReads) =0 THEN NULL ELSE ((1.0- CAST(SUM(IdentifiedReads) AS DOUBLE) / CAST(SUM(TotalReads) AS DOUBLE)) *100.0) END AS DOUBLE) AS TotalPercentUnknown
0 commit comments