Skip to content

Commit fcee374

Browse files
authored
Merge pull request #5048 from broadinstitute/airtable-remap-issue
use correct field for querying sample remap
2 parents 4661f97 + c8a3631 commit fcee374

File tree

3 files changed

+7
-7
lines changed

3 files changed

+7
-7
lines changed

seqr/views/apis/data_manager_api.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -389,8 +389,8 @@ def _get_valid_search_individuals(project, airtable_samples, vcf_samples, datase
389389
}
390390
def fetch_missing_vcf_samples(missing_vcf_samples):
391391
samples = _get_dataset_type_samples_for_matched_pdos(
392-
LOADABLE_PDO_STATUSES + AVAILABLE_PDO_STATUSES, **get_sample_kwargs,
393-
additional_sample_filters={'VCFIDWithMismatch': sorted(missing_vcf_samples)},
392+
LOADABLE_PDO_STATUSES + AVAILABLE_PDO_STATUSES, **get_sample_kwargs, sample_fields=['VCFIDWithMismatch'],
393+
additional_sample_filters={'SeqrIDWithMismatch': sorted(missing_vcf_samples)},
394394
)
395395
vcf_sample_id_map.update({
396396
s['sample_id']: s['VCFIDWithMismatch'] for s in samples

seqr/views/apis/data_manager_api_tests.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1889,8 +1889,8 @@ def _assert_expected_airtable_call(self, required_sample_field, project_guid, ca
18891889

18901890
def _assert_expected_airtable_vcf_id_call(self, required_sample_field=None, additional_vcf_ids='', **kwargs):
18911891
self._assert_expected_airtable_call(
1892-
required_sample_field, 'R0004_non_analyst_project', **kwargs, additional_fields=['VCFIDWithMismatch'],
1893-
additional_filter=f"OR(VCFIDWithMismatch='NA21234'{additional_vcf_ids})",
1892+
required_sample_field, 'R0004_non_analyst_project', **kwargs, additional_fields=['VCFIDWithMismatch', 'SeqrIDWithMismatch'],
1893+
additional_filter=f"OR(SeqrIDWithMismatch='NA21234'{additional_vcf_ids})",
18941894
additional_pdo_statuses=",SEARCH('Methods (Loading)',ARRAYJOIN(PDOStatus,';')),SEARCH('On hold for phenotips, but ready to load',ARRAYJOIN(PDOStatus,';'))",
18951895
)
18961896

@@ -1944,7 +1944,7 @@ def _trigger_error(self, url, body, variables, mock_open, mock_gzip_open, mock_m
19441944
body['sampleType'] = 'WGS'
19451945
self.assertEqual(len(responses.calls), 1)
19461946
self._assert_expected_airtable_vcf_id_call(
1947-
required_sample_field='gCNV_CallsetPath', additional_vcf_ids=",VCFIDWithMismatch='NA21987'",
1947+
required_sample_field='gCNV_CallsetPath', additional_vcf_ids=",SeqrIDWithMismatch='NA21987'",
19481948
)
19491949

19501950
responses.calls.reset()

seqr/views/utils/airtable_utils.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ def get_samples_for_sample_ids(self, sample_ids, fields):
171171
records_by_id.update(self._get_samples_for_id_field(missing, 'SeqrCollaboratorSampleID', fields))
172172
return records_by_id
173173

174-
def get_samples_for_matched_pdos(self, pdo_statuses, pdo_fields=None, additional_sample_filters=None, project_guid=None, required_sample_fields=None):
174+
def get_samples_for_matched_pdos(self, pdo_statuses, pdo_fields=None, sample_fields=None, additional_sample_filters=None, project_guid=None, required_sample_fields=None):
175175
pdo_fields = pdo_fields or []
176176
additional_and_filters = [
177177
f'LEN({{{required_sample_field}}})>0' for required_sample_field in required_sample_fields or []
@@ -182,7 +182,7 @@ def get_samples_for_matched_pdos(self, pdo_statuses, pdo_fields=None, additional
182182
sample_records = self.fetch_records(
183183
'Samples', fields=[
184184
'CollaboratorSampleID', 'SeqrCollaboratorSampleID', 'PDOStatus', 'SeqrProject', *pdo_fields,
185-
*(additional_sample_filters or {}).keys(),
185+
*(sample_fields or []), *(additional_sample_filters or {}).keys(),
186186
],
187187
or_filters={'PDOStatus': pdo_statuses},
188188
and_filters={'SeqrProject': f'{BASE_URL}project/{project_guid}/project_page'} if project_guid else {},

0 commit comments

Comments
 (0)