-
Notifications
You must be signed in to change notification settings - Fork 3
/
validation_schema.py
101 lines (99 loc) · 4.96 KB
/
validation_schema.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
from pandas_schema import Column, Schema
from pandas_schema.validation import (
LeadingWhitespaceValidation,
TrailingWhitespaceValidation,
CanConvertValidation,
InListValidation,
CustomElementValidation,
)
EmptyStringValidation = CustomElementValidation(
lambda d: d != "", "This field cannot be empty"
)
nipt_results_schema = Schema(
[
Column("SampleID", [TrailingWhitespaceValidation(), EmptyStringValidation]),
Column("SampleType", []),
Column("Description", []),
Column(
"SampleProject", [TrailingWhitespaceValidation(), EmptyStringValidation]
),
Column("Index1", []),
Column("Index2", []),
Column("Library_nM", []),
Column("QCFlag", []),
Column("Zscore_13", [CanConvertValidation(float)]),
Column("Zscore_18", [CanConvertValidation(float)]),
Column("Zscore_21", [CanConvertValidation(float)]),
Column("Zscore_X", [CanConvertValidation(float)]),
Column("Ratio_13", [CanConvertValidation(float)]),
Column("Ratio_18", [CanConvertValidation(float)]),
Column("Ratio_21", [CanConvertValidation(float)]),
Column("Ratio_X", [CanConvertValidation(float)]),
Column("Ratio_Y", [CanConvertValidation(float)]),
Column("MappedReads", [CanConvertValidation(int)]),
Column("GC_Dropout", [CanConvertValidation(float)]),
Column("AT_Dropout", [CanConvertValidation(float)]),
Column("Chr1_Ratio", [CanConvertValidation(float)]),
Column("Chr2_Ratio", [CanConvertValidation(float)]),
Column("Chr3_Ratio", [CanConvertValidation(float)]),
Column("Chr4_Ratio", [CanConvertValidation(float)]),
Column("Chr5_Ratio", [CanConvertValidation(float)]),
Column("Chr6_Ratio", [CanConvertValidation(float)]),
Column("Chr7_Ratio", [CanConvertValidation(float)]),
Column("Chr8_Ratio", [CanConvertValidation(float)]),
Column("Chr9_Ratio", [CanConvertValidation(float)]),
Column("Chr10_Ratio", [CanConvertValidation(float)]),
Column("Chr11_Ratio", [CanConvertValidation(float)]),
Column("Chr12_Ratio", [CanConvertValidation(float)]),
Column("Chr14_Ratio", [CanConvertValidation(float)]),
Column("Chr15_Ratio", [CanConvertValidation(float)]),
Column("Chr16_Ratio", [CanConvertValidation(float)]),
Column("Chr17_Ratio", [CanConvertValidation(float)]),
Column("Chr19_Ratio", [CanConvertValidation(float)]),
Column("Chr20_Ratio", [CanConvertValidation(float)]),
Column("Chr22_Ratio", [CanConvertValidation(float)]),
Column("Chr1", [CanConvertValidation(float)]),
Column("Chr2", [CanConvertValidation(float)]),
Column("Chr3", [CanConvertValidation(float)]),
Column("Chr4", [CanConvertValidation(float)]),
Column("Chr5", [CanConvertValidation(float)]),
Column("Chr6", [CanConvertValidation(float)]),
Column("Chr7", [CanConvertValidation(float)]),
Column("Chr8", [CanConvertValidation(float)]),
Column("Chr9", [CanConvertValidation(float)]),
Column("Chr10", [CanConvertValidation(float)]),
Column("Chr11", [CanConvertValidation(float)]),
Column("Chr12", [CanConvertValidation(float)]),
Column("Chr13", [CanConvertValidation(float)]),
Column("Chr14", [CanConvertValidation(float)]),
Column("Chr15", [CanConvertValidation(float)]),
Column("Chr16", [CanConvertValidation(float)]),
Column("Chr17", [CanConvertValidation(float)]),
Column("Chr18", [CanConvertValidation(float)]),
Column("Chr19", [CanConvertValidation(float)]),
Column("Chr20", [CanConvertValidation(float)]),
Column("Chr21", [CanConvertValidation(float)]),
Column("Chr22", [CanConvertValidation(float)]),
Column("ChrX", [CanConvertValidation(float)]),
Column("ChrY", [CanConvertValidation(float)]),
Column("FF_Formatted", [CanConvertValidation(float)]),
Column("FFY", [CanConvertValidation(float)]),
Column("FFX", [CanConvertValidation(float)]),
Column("DuplicationRate", [CanConvertValidation(float)]),
Column("Bin2BinVariance", [CanConvertValidation(float)]),
Column("UnfilteredCNVcalls", [CanConvertValidation(float)]),
Column("CNVSegment", [InListValidation(["Found"])]),
Column("Flowcell", []),
Column("SequencingDate", []),
Column("Median_13", [CanConvertValidation(float)]),
Column("Median_18", [CanConvertValidation(float)]),
Column("Median_21", [CanConvertValidation(float)]),
Column("Median_X", [CanConvertValidation(float)]),
Column("Median_Y", [CanConvertValidation(float)]),
Column("Stdev_13", [CanConvertValidation(float)]),
Column("Stdev_18", [CanConvertValidation(float)]),
Column("Stdev_21", [CanConvertValidation(float)]),
Column("Stdev_X", [CanConvertValidation(float)]),
Column("Stdev_Y", [CanConvertValidation(float)]),
]
)