Skip to content

Commit

Permalink
Fix metadata key (#3878)
Browse files Browse the repository at this point in the history
  • Loading branch information
bpblanken authored Feb 13, 2024
1 parent 9c35fe4 commit f6e32f9
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,14 @@ def handle(self, *args, **options):
raise CommandError(f'Run failed for {path}: {version}, unable to load data')

metadata = json.loads(next(line for line in file_iter(gs_path + 'metadata.json')))
families = Family.objects.filter(guid__in=metadata['families'].keys())
if len(families) < len(metadata['families']):
invalid = metadata['families'].keys() - set(families.values_list('guid', flat=True))
families = Family.objects.filter(guid__in=metadata['family_samples'].keys())
if len(families) < len(metadata['family_samples']):
invalid = metadata['family_samples'].keys() - set(families.values_list('guid', flat=True))
raise CommandError(f'Invalid families in run metadata {path}: {version} - {", ".join(invalid)}')

family_project_map = {f.guid: f.project for f in families.select_related('project')}
samples_by_project = defaultdict(list)
for family_guid, sample_ids in metadata['families'].items():
for family_guid, sample_ids in metadata['family_samples'].items():
samples_by_project[family_project_map[family_guid]] += sample_ids

sample_project_tuples = []
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ def test_command(self, mock_logger, mock_send_email, mock_send_slack, mock_subpr
metadata = {
'callsets': ['1kg.vcf.gz'],
'sample_type': 'WES',
'families': {
'family_samples': {
'F0000123_ABC': ['NA22882', 'NA20885'],
'F000012_12': ['NA20888', 'NA20889'],
'F000014_14': ['NA21234'],
Expand All @@ -79,7 +79,7 @@ def test_command(self, mock_logger, mock_send_email, mock_send_slack, mock_subpr
str(ce.exception), 'Invalid families in run metadata GRCh38/SNV_INDEL: auto__2023-08-08 - F0000123_ABC')
mock_logger.warning.assert_called_with('Loading for failed run GRCh38/SNV_INDEL: auto__2023-08-08')

metadata['families']['F000011_11'] = metadata['families'].pop('F0000123_ABC')
metadata['family_samples']['F000011_11'] = metadata['family_samples'].pop('F0000123_ABC')
mock_subprocess.return_value.stdout = [json.dumps(metadata).encode()]
mock_subprocess.return_value.wait.return_value = 0
with self.assertRaises(CommandError) as ce:
Expand All @@ -96,7 +96,7 @@ def test_command(self, mock_logger, mock_send_email, mock_send_slack, mock_subpr
call_command('check_for_new_samples_from_pipeline', 'GRCh38/SNV_INDEL', 'auto__2023-08-08')
self.assertEqual(str(ce.exception), 'Matches not found for sample ids: NA22882')

metadata['families']['F000011_11'] = metadata['families']['F000011_11'][1:]
metadata['family_samples']['F000011_11'] = metadata['family_samples']['F000011_11'][1:]
mock_subprocess.return_value.stdout = [json.dumps(metadata).encode()]

# Test success
Expand Down

0 comments on commit f6e32f9

Please sign in to comment.