Skip to content

Commit 7509850

Browse files
committed
array
1 parent aa82644 commit 7509850

File tree

3 files changed

+23
-30
lines changed

3 files changed

+23
-30
lines changed

v03_pipeline/lib/methods/sample_qc.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,11 @@ def annotate_filter_flags(
5757
else:
5858
flags['coverage'] = mt.mean_coverage < WGS_CALLRATE_LOW_THRESHOLD
5959

60-
mt = mt.annotate_cols(
61-
filter_flags=hl.set(
60+
return mt.annotate_cols(
61+
filter_flags=hl.array(
6262
[hl.or_missing(filter_cond, name) for name, filter_cond in flags.items()],
6363
).filter(hl.is_defined),
64-
)
65-
return mt.drop(
64+
).drop(
6665
'contamination_rate',
6766
'percent_bases_at_20x',
6867
'mean_coverage',

v03_pipeline/lib/tasks/write_sample_qc_json.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,7 @@ def run(self):
5454
r = dict(row)
5555
sample_id = r.pop('s')
5656
for field, value in r.items():
57-
sample_qc_dict[sample_id][field] = (
58-
list(value) if isinstance(value, set) else value
59-
)
57+
sample_qc_dict[sample_id][field] = value
6058

6159
with self.output().open('w') as f:
6260
json.dump(sample_qc_dict, f)

v03_pipeline/lib/tasks/write_sample_qc_json_test.py

Lines changed: 19 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -103,30 +103,26 @@ def test_call_sample_qc(
103103
self.assertTrue(hfs.exists(task.output().path))
104104

105105
with task.output().open('r') as f:
106+
res = json.load(f)
106107
self.assertCountEqual(
107-
json.load(f),
108+
res['HG00731'],
108109
{
109-
'HG00731': {
110-
'sample_type': 'WGS',
111-
'filter_flags': ['contamination', 'coverage'],
112-
},
113-
'HG00732': {'sample_type': 'WGS', 'filter_flags': ['coverage']},
114-
'HG00733': {
115-
'sample_type': 'WGS',
116-
'filter_flags': ['contamination'],
117-
},
118-
'NA19675': {'sample_type': 'WGS', 'filter_flags': []},
119-
'NA19678': {'sample_type': 'WGS', 'filter_flags': []},
120-
'NA19679': {'sample_type': 'WGS', 'filter_flags': []},
121-
'NA20870': {'sample_type': 'WGS', 'filter_flags': []},
122-
'NA20872': {'sample_type': 'WGS', 'filter_flags': []},
123-
'NA20874': {'sample_type': 'WGS', 'filter_flags': []},
124-
'NA20875': {'sample_type': 'WGS', 'filter_flags': []},
125-
'NA20876': {'sample_type': 'WGS', 'filter_flags': []},
126-
'NA20877': {'sample_type': 'WGS', 'filter_flags': []},
127-
'NA20878': {'sample_type': 'WGS', 'filter_flags': []},
128-
'NA20881': {'sample_type': 'WGS', 'filter_flags': []},
129-
'NA20885': {'sample_type': 'WGS', 'filter_flags': []},
130-
'NA20888': {'sample_type': 'WGS', 'filter_flags': []},
110+
'sample_type': 'WGS',
111+
'filter_flags': ['contamination', 'coverage'],
131112
},
132113
)
114+
self.assertCountEqual(
115+
res['HG00732'],
116+
{'sample_type': 'WGS', 'filter_flags': ['coverage']},
117+
)
118+
self.assertCountEqual(
119+
res['HG00733'],
120+
{
121+
'sample_type': 'WGS',
122+
'filter_flags': ['contamination'],
123+
},
124+
)
125+
self.assertCountEqual(
126+
res['HG00732'],
127+
{'sample_type': 'WGS', 'filter_flags': []},
128+
)

0 commit comments

Comments
 (0)