From e2949f2acd59fc3389c68f679edad66c99c3166e Mon Sep 17 00:00:00 2001 From: Hana Snow Date: Thu, 5 Dec 2024 16:46:38 -0500 Subject: [PATCH 1/9] multi build abstraction --- hail_search/queries/base.py | 22 ++++++++++++++-------- hail_search/queries/snv_indel.py | 4 ++++ hail_search/queries/snv_indel_37.py | 14 ++++++++++++++ 3 files changed, 32 insertions(+), 8 deletions(-) diff --git a/hail_search/queries/base.py b/hail_search/queries/base.py index cd0496f3f5..1ba0d56760 100644 --- a/hail_search/queries/base.py +++ b/hail_search/queries/base.py @@ -1222,7 +1222,7 @@ def gene_counts(self): def _filter_variant_ids(self, ht, variant_ids): return ht - def lookup_variants(self, variant_ids): + def lookup_variants(self, variant_ids, additional_annotations=None): self._parse_intervals(intervals=None, variant_ids=variant_ids, variant_keys=variant_ids) ht = self._read_table('annotations.ht', drop_globals=['versions']) ht = self._filter_variant_ids(ht, variant_ids) @@ -1232,6 +1232,8 @@ def lookup_variants(self, variant_ids): k: v for k, v in self.annotation_fields(include_genotype_overrides=False).items() if k not in {FAMILY_GUID_FIELD, GENOTYPES_FIELD} } + if additional_annotations: + annotation_fields.update(additional_annotations) formatted = self._format_results(ht.key_by(), annotation_fields=annotation_fields, include_genotype_overrides=False) return formatted.aggregate(hl.agg.take(formatted.row, len(variant_ids))) @@ -1240,15 +1242,19 @@ def _import_variant_projects_ht(self, project_samples, variant_id): projects_ht, _ = self._import_and_filter_multiple_project_hts(project_samples, n_partitions=1) return self._filter_variant_ids(projects_ht, [variant_id]).key_by() + def _get_variant_project_data(self, variant, sample_data, variant_id): + projects_ht = self._import_variant_projects_ht(sample_data, variant_id) + project_data = projects_ht.aggregate(hl.agg.take(projects_ht.row, 1)) + return project_data[0] if project_data else {} + def lookup_variant(self, variant_id, sample_data): - variants = self.lookup_variants([variant_id]) + variants = self.lookup_variants([variant_id], additional_annotations=self._lookup_variant_annotations()) if not variants: raise HTTPNotFound() variant = dict(variants[0]) - - projects_ht = self._import_variant_projects_ht(sample_data, variant_id) - project_data = projects_ht.aggregate(hl.agg.take(projects_ht.row, 1)) - if project_data: - variant.update(project_data[0]) - + variant.update(self._get_variant_project_data(variant, sample_data, variant_id)) return variant + + @staticmethod + def _lookup_variant_annotations(): + return {} diff --git a/hail_search/queries/snv_indel.py b/hail_search/queries/snv_indel.py index d55eaf52a6..808eee0667 100644 --- a/hail_search/queries/snv_indel.py +++ b/hail_search/queries/snv_indel.py @@ -96,3 +96,7 @@ def _get_annotation_override_filters(self, ht, annotation_overrides): ) return annotation_filters + + @staticmethod + def _lookup_variant_annotations(): + return {'liftover_locus': lambda r: r.rg37_locus} diff --git a/hail_search/queries/snv_indel_37.py b/hail_search/queries/snv_indel_37.py index bd0453b5a5..5ce2582f46 100644 --- a/hail_search/queries/snv_indel_37.py +++ b/hail_search/queries/snv_indel_37.py @@ -133,3 +133,17 @@ def _get_annotation_override_filters(self, ht, annotation_overrides): @staticmethod def _stat_has_non_ref(s): return (s.het_samples > 0) | (s.hom_samples > 0) + + @staticmethod + def _lookup_variant_annotations(): + return {'liftover_locus': lambda r: r.rg38_locus} + + def _get_variant_project_data(self, variant, sample_data, variant_id): + project_data = super()._get_variant_project_data(variant, sample_data, variant_id) + liftover_locus = variant.pop('liftover_locus') + if liftover_locus: + # TODO change build version + lift_project_data = super()._get_variant_project_data(variant, sample_data, variant_id) + project_data['familyGenotypes'].update(lift_project_data['familyGenotypes']) + + return project_data From a6ad490c99ef94e9c9bd0768e3753e56ea92c5e7 Mon Sep 17 00:00:00 2001 From: Hana Snow Date: Thu, 5 Dec 2024 17:07:16 -0500 Subject: [PATCH 2/9] clean up --- hail_search/queries/snv_indel_37.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hail_search/queries/snv_indel_37.py b/hail_search/queries/snv_indel_37.py index 5ce2582f46..a00c3ae17c 100644 --- a/hail_search/queries/snv_indel_37.py +++ b/hail_search/queries/snv_indel_37.py @@ -138,12 +138,12 @@ def _stat_has_non_ref(s): def _lookup_variant_annotations(): return {'liftover_locus': lambda r: r.rg38_locus} - def _get_variant_project_data(self, variant, sample_data, variant_id): - project_data = super()._get_variant_project_data(variant, sample_data, variant_id) + def _get_variant_project_data(self, variant_id, variant=None, **kwargs): + project_data = super()._get_variant_project_data(variant_id, **kwargs) liftover_locus = variant.pop('liftover_locus') if liftover_locus: # TODO change build version - lift_project_data = super()._get_variant_project_data(variant, sample_data, variant_id) + lift_project_data = super()._get_variant_project_data(variant_id, **kwargs) project_data['familyGenotypes'].update(lift_project_data['familyGenotypes']) return project_data From 9b9f3334156fe09a8f882fb4ebcfa9330c3b1db6 Mon Sep 17 00:00:00 2001 From: Hana Snow Date: Fri, 6 Dec 2024 12:19:51 -0500 Subject: [PATCH 3/9] actually query lift version --- hail_search/queries/snv_indel.py | 3 ++- hail_search/queries/snv_indel_37.py | 11 +++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/hail_search/queries/snv_indel.py b/hail_search/queries/snv_indel.py index 808eee0667..ed4e598aa1 100644 --- a/hail_search/queries/snv_indel.py +++ b/hail_search/queries/snv_indel.py @@ -2,7 +2,7 @@ import hail as hl from hail_search.constants import GENOME_VERSION_GRCh38, SCREEN_KEY, PREFILTER_FREQ_CUTOFF, ALPHAMISSENSE_SORT, \ - UTR_ANNOTATOR_KEY, EXTENDED_SPLICE_KEY, MOTIF_FEATURES_KEY, REGULATORY_FEATURES_KEY + UTR_ANNOTATOR_KEY, EXTENDED_SPLICE_KEY, MOTIF_FEATURES_KEY, REGULATORY_FEATURES_KEY, GENOME_VERSION_GRCh37 from hail_search.queries.base import BaseHailTableQuery, PredictionPath from hail_search.queries.snv_indel_37 import SnvIndelHailTableQuery37 @@ -12,6 +12,7 @@ class SnvIndelHailTableQuery(SnvIndelHailTableQuery37): GENOME_VERSION = GENOME_VERSION_GRCh38 + LIFT_GENOME_VERSION = GENOME_VERSION_GRCh37 PREDICTION_FIELDS_CONFIG = { **SnvIndelHailTableQuery37.PREDICTION_FIELDS_CONFIG, 'fathmm': PredictionPath('dbnsfp', 'fathmm_MKL_coding_score'), diff --git a/hail_search/queries/snv_indel_37.py b/hail_search/queries/snv_indel_37.py index a00c3ae17c..6cfed55fd1 100644 --- a/hail_search/queries/snv_indel_37.py +++ b/hail_search/queries/snv_indel_37.py @@ -3,7 +3,7 @@ from hail_search.constants import CLINVAR_KEY, HGMD_KEY, HGMD_PATH_RANGES, \ GNOMAD_GENOMES_FIELD, PREFILTER_FREQ_CUTOFF, PATH_FREQ_OVERRIDE_CUTOFF, PATHOGENICTY_HGMD_SORT_KEY, \ - SPLICE_AI_FIELD, GENOME_VERSION_GRCh37 + SPLICE_AI_FIELD, GENOME_VERSION_GRCh37, GENOME_VERSION_GRCh38 from hail_search.queries.base import PredictionPath, QualityFilterFormat from hail_search.queries.mito import MitoHailTableQuery @@ -12,6 +12,7 @@ class SnvIndelHailTableQuery37(MitoHailTableQuery): DATA_TYPE = 'SNV_INDEL' GENOME_VERSION = GENOME_VERSION_GRCh37 + LIFT_GENOME_VERSION = GENOME_VERSION_GRCh38 GENOTYPE_FIELDS = {f.lower(): f for f in ['DP', 'GQ', 'AB']} QUALITY_FILTER_FORMAT = { @@ -138,11 +139,17 @@ def _stat_has_non_ref(s): def _lookup_variant_annotations(): return {'liftover_locus': lambda r: r.rg38_locus} + @classmethod + def _get_lifted_table_path(cls, path): + return f'{cls._get_table_dir(path)}/{cls.LIFT_GENOME_VERSION}/{cls.DATA_TYPE}/{path}' + def _get_variant_project_data(self, variant_id, variant=None, **kwargs): project_data = super()._get_variant_project_data(variant_id, **kwargs) liftover_locus = variant.pop('liftover_locus') if liftover_locus: - # TODO change build version + interval = hl.eval(hl.interval(liftover_locus, liftover_locus, includes_start=True, includes_end=True)) + self._load_table_kwargs['_intervals'] = [interval] + self._get_table_path = self._get_lifted_table_path lift_project_data = super()._get_variant_project_data(variant_id, **kwargs) project_data['familyGenotypes'].update(lift_project_data['familyGenotypes']) From 44bda85ae6af33f7bd067112e270ef576412ed57 Mon Sep 17 00:00:00 2001 From: Hana Snow Date: Fri, 6 Dec 2024 13:02:42 -0500 Subject: [PATCH 4/9] track build lifted guid buid --- hail_search/queries/snv_indel_37.py | 1 + seqr/views/apis/variant_search_api.py | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/hail_search/queries/snv_indel_37.py b/hail_search/queries/snv_indel_37.py index 6cfed55fd1..243fce026b 100644 --- a/hail_search/queries/snv_indel_37.py +++ b/hail_search/queries/snv_indel_37.py @@ -152,5 +152,6 @@ def _get_variant_project_data(self, variant_id, variant=None, **kwargs): self._get_table_path = self._get_lifted_table_path lift_project_data = super()._get_variant_project_data(variant_id, **kwargs) project_data['familyGenotypes'].update(lift_project_data['familyGenotypes']) + project_data = project_data.annotate(liftedFamilyGuids=sorted(lift_project_data['familyGenotypes'].keys())) return project_data diff --git a/seqr/views/apis/variant_search_api.py b/seqr/views/apis/variant_search_api.py index 56b6a02160..99cf4f345d 100644 --- a/seqr/views/apis/variant_search_api.py +++ b/seqr/views/apis/variant_search_api.py @@ -602,9 +602,11 @@ def _update_lookup_variant(variant, response): for genotype in variant['familyGenotypes'].pop(family_guid) }) - for i, genotypes in enumerate(variant.pop('familyGenotypes').values()): + for i, (unmapped_family_guid, genotypes) in enumerate(variant.pop('familyGenotypes').items()): family_guid = f'F{i}_{variant["variantId"]}' variant['lookupFamilyGuids'].append(family_guid) + if unmapped_family_guid in variant.get('liftedFamilyGuids', []): + variant['liftedFamilyGuids'][variant['liftedFamilyGuids'].index(unmapped_family_guid)] = family_guid for j, genotype in enumerate(genotypes): individual_guid = f'I{j}_{family_guid}' individual = individual_summary_map[(genotype.pop('familyGuid'), genotype.pop('sampleId'))] From 594148c6227bf2866cbb1e16ad814f047fbc792f Mon Sep 17 00:00:00 2001 From: Hana Snow Date: Fri, 6 Dec 2024 15:13:57 -0500 Subject: [PATCH 5/9] show lookup genome version in ui --- .../SummaryData/components/VariantLookup.jsx | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/ui/pages/SummaryData/components/VariantLookup.jsx b/ui/pages/SummaryData/components/VariantLookup.jsx index 9e6ad7e00e..0e9ef3e8a0 100644 --- a/ui/pages/SummaryData/components/VariantLookup.jsx +++ b/ui/pages/SummaryData/components/VariantLookup.jsx @@ -1,7 +1,7 @@ import React from 'react' import { connect } from 'react-redux' import PropTypes from 'prop-types' -import { Grid, Header } from 'semantic-ui-react' +import { Grid, Header, Label } from 'semantic-ui-react' import { RECEIVE_DATA } from 'redux/utils/reducerUtils' import { QueryParamsEditor } from 'shared/components/QueryParamEditor' @@ -14,7 +14,7 @@ import FamilyReads from 'shared/components/panel/family/FamilyReads' import FamilyVariantTags from 'shared/components/panel/variants/FamilyVariantTags' import Variants, { Variant, StyledVariantRow } from 'shared/components/panel/variants/Variants' import { FamilyVariantIndividuals } from 'shared/components/panel/variants/VariantIndividuals' -import { GENOME_VERSION_FIELD } from 'shared/utils/constants' +import { GENOME_VERSION_FIELD, GENOME_VERSION_37, GENOME_VERSION_38 } from 'shared/utils/constants' import { sendVlmContactEmail } from '../reducers' import { getVlmDefaultContactEmails, getVlmFamiliesByContactEmail } from '../selectors' @@ -43,10 +43,19 @@ const mapContactDispatchToProps = { const ContactButton = connect(null, mapContactDispatchToProps)(SendEmailButton) -const LookupFamilyLayout = ({ topContent, bottomContent, children, ...buttonProps }) => ( +const liftoverGenomeVersion = genomeVersion => ( + genomeVersion === GENOME_VERSION_37 ? GENOME_VERSION_38 : GENOME_VERSION_37 +) + +const LookupFamilyLayout = ({ topContent, bottomContent, hasLiftover, genomeVersion, children, ...buttonProps }) => ( {topContent} + @@ -60,6 +69,8 @@ LookupFamilyLayout.propTypes = { topContent: PropTypes.node, bottomContent: PropTypes.node, children: PropTypes.node, + hasLiftover: PropTypes.bool, + genomeVersion: PropTypes.string, } const InternalFamily = ({ familyGuid, variant, reads, showReads }) => ( @@ -70,6 +81,8 @@ const InternalFamily = ({ familyGuid, variant, reads, showReads }) => ( )} bottomContent={{reads}} + hasLiftover={variant.liftedFamilyGuids?.includes(familyGuid)} + genomeVersion={variant.genomeVersion} > {showReads} @@ -96,6 +109,8 @@ const BaseLookupVariant = ({ variant, familiesByContactEmail, vlmDefaultContactE key={contactEmail} defaultEmail={vlmDefaultContactEmails[contactEmail]} modalId={contactEmail} + hasLiftover={(variant.liftedFamilyGuids || []).some(familyGuid => families.includes(familyGuid))} + genomeVersion={variant.genomeVersion} > {families.map(familyGuid => ( From b73dc2d131fdb8c33bac92f443411357ee9f8030 Mon Sep 17 00:00:00 2001 From: Hana Snow Date: Thu, 2 Jan 2025 11:26:26 -0500 Subject: [PATCH 6/9] handle missing lifted variant --- hail_search/queries/snv_indel_37.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/hail_search/queries/snv_indel_37.py b/hail_search/queries/snv_indel_37.py index 243fce026b..1368dbdf78 100644 --- a/hail_search/queries/snv_indel_37.py +++ b/hail_search/queries/snv_indel_37.py @@ -1,3 +1,4 @@ +from aiohttp.web import HTTPNotFound from collections import OrderedDict import hail as hl @@ -147,11 +148,18 @@ def _get_variant_project_data(self, variant_id, variant=None, **kwargs): project_data = super()._get_variant_project_data(variant_id, **kwargs) liftover_locus = variant.pop('liftover_locus') if liftover_locus: - interval = hl.eval(hl.interval(liftover_locus, liftover_locus, includes_start=True, includes_end=True)) - self._load_table_kwargs['_intervals'] = [interval] - self._get_table_path = self._get_lifted_table_path - lift_project_data = super()._get_variant_project_data(variant_id, **kwargs) - project_data['familyGenotypes'].update(lift_project_data['familyGenotypes']) - project_data = project_data.annotate(liftedFamilyGuids=sorted(lift_project_data['familyGenotypes'].keys())) + liftover_data = self._get_liftover_variant_project_data(variant_id, liftover_locus, **kwargs) + if liftover_data: + project_data['familyGenotypes'].update(liftover_data['familyGenotypes']) + project_data = project_data.annotate(liftedFamilyGuids=sorted(liftover_data['familyGenotypes'].keys())) return project_data + + def _get_liftover_variant_project_data(self, variant_id, liftover_locus, **kwargs): + interval = hl.eval(hl.interval(liftover_locus, liftover_locus, includes_start=True, includes_end=True)) + self._load_table_kwargs['_intervals'] = [interval] + self._get_table_path = self._get_lifted_table_path + try: + return super()._get_variant_project_data(variant_id, **kwargs) + except HTTPNotFound: + return None From fde9df94738696e753e7660890e9a154596f8050 Mon Sep 17 00:00:00 2001 From: Hana Snow Date: Thu, 2 Jan 2025 11:46:29 -0500 Subject: [PATCH 7/9] fix super --- hail_search/queries/snv_indel_37.py | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/hail_search/queries/snv_indel_37.py b/hail_search/queries/snv_indel_37.py index 1368dbdf78..71323282b1 100644 --- a/hail_search/queries/snv_indel_37.py +++ b/hail_search/queries/snv_indel_37.py @@ -147,19 +147,14 @@ def _get_lifted_table_path(cls, path): def _get_variant_project_data(self, variant_id, variant=None, **kwargs): project_data = super()._get_variant_project_data(variant_id, **kwargs) liftover_locus = variant.pop('liftover_locus') - if liftover_locus: - liftover_data = self._get_liftover_variant_project_data(variant_id, liftover_locus, **kwargs) - if liftover_data: - project_data['familyGenotypes'].update(liftover_data['familyGenotypes']) - project_data = project_data.annotate(liftedFamilyGuids=sorted(liftover_data['familyGenotypes'].keys())) - - return project_data - - def _get_liftover_variant_project_data(self, variant_id, liftover_locus, **kwargs): + if not liftover_locus: + return project_data interval = hl.eval(hl.interval(liftover_locus, liftover_locus, includes_start=True, includes_end=True)) self._load_table_kwargs['_intervals'] = [interval] self._get_table_path = self._get_lifted_table_path try: - return super()._get_variant_project_data(variant_id, **kwargs) + lift_project_data = super()._get_variant_project_data(variant_id, **kwargs) except HTTPNotFound: - return None + return project_data + project_data['familyGenotypes'].update(lift_project_data['familyGenotypes']) + return project_data.annotate(liftedFamilyGuids=sorted(lift_project_data['familyGenotypes'].keys())) From ded2cddc68cd40e36a18fdd3e5c8379965fa5263 Mon Sep 17 00:00:00 2001 From: Hana Snow Date: Thu, 2 Jan 2025 13:11:40 -0500 Subject: [PATCH 8/9] testmutli build lookup --- .../GRCh37/SNV_INDEL/lookup.ht/.README.txt.crc | Bin 12 -> 12 bytes .../SNV_INDEL/lookup.ht/.metadata.json.gz.crc | Bin 12 -> 12 bytes .../GRCh37/SNV_INDEL/lookup.ht/README.txt | 2 +- .../lookup.ht/globals/parts/.part-0.crc | Bin 12 -> 12 bytes .../SNV_INDEL/lookup.ht/globals/parts/part-0 | Bin 69 -> 114 bytes .../.index.crc | Bin 12 -> 0 bytes .../.metadata.json.gz.crc | Bin 12 -> 0 bytes .../index | Bin 65 -> 0 bytes .../metadata.json.gz | Bin 185 -> 0 bytes .../.index.crc | Bin 0 -> 12 bytes .../.metadata.json.gz.crc | Bin 0 -> 12 bytes .../index | Bin 0 -> 75 bytes .../metadata.json.gz | Bin 0 -> 183 bytes .../GRCh37/SNV_INDEL/lookup.ht/metadata.json.gz | Bin 356 -> 356 bytes .../lookup.ht/rows/.metadata.json.gz.crc | Bin 16 -> 16 bytes .../SNV_INDEL/lookup.ht/rows/metadata.json.gz | Bin 606 -> 618 bytes ...t-0-c11f065f-e1bb-4a1f-9f2d-ad814a396818.crc | Bin 12 -> 0 bytes ...t-0-d213a419-0c77-4952-b924-b6af300f393b.crc | Bin 0 -> 12 bytes .../part-0-c11f065f-e1bb-4a1f-9f2d-ad814a396818 | Bin 52 -> 0 bytes .../part-0-d213a419-0c77-4952-b924-b6af300f393b | Bin 0 -> 70 bytes .../.README.txt.crc | Bin 0 -> 12 bytes .../R0004_non_analyst_project.ht/._SUCCESS.crc | Bin 0 -> 8 bytes .../.metadata.json.gz.crc | Bin 0 -> 12 bytes .../WGS/R0004_non_analyst_project.ht/README.txt | 3 +++ .../WGS/R0004_non_analyst_project.ht/_SUCCESS | 0 .../globals/.metadata.json.gz.crc | Bin 0 -> 12 bytes .../globals/metadata.json.gz | Bin 0 -> 333 bytes .../globals/parts/.part-0.crc | Bin 0 -> 12 bytes .../globals/parts/part-0 | Bin 0 -> 141 bytes .../.index.crc | Bin 0 -> 12 bytes .../.metadata.json.gz.crc | Bin 0 -> 12 bytes .../index | Bin 0 -> 63 bytes .../metadata.json.gz | Bin 0 -> 184 bytes .../metadata.json.gz | Bin 0 -> 372 bytes .../rows/.metadata.json.gz.crc | Bin 0 -> 16 bytes .../rows/metadata.json.gz | Bin 0 -> 619 bytes ...t-0-85535ceb-5403-4697-bec1-5eccf7ff958a.crc | Bin 0 -> 12 bytes .../part-0-85535ceb-5403-4697-bec1-5eccf7ff958a | Bin 0 -> 58 bytes hail_search/test_utils.py | 5 +++++ 39 files changed, 9 insertions(+), 1 deletion(-) delete mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/index/part-0-c11f065f-e1bb-4a1f-9f2d-ad814a396818.idx/.index.crc delete mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/index/part-0-c11f065f-e1bb-4a1f-9f2d-ad814a396818.idx/.metadata.json.gz.crc delete mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/index/part-0-c11f065f-e1bb-4a1f-9f2d-ad814a396818.idx/index delete mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/index/part-0-c11f065f-e1bb-4a1f-9f2d-ad814a396818.idx/metadata.json.gz create mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/index/part-0-d213a419-0c77-4952-b924-b6af300f393b.idx/.index.crc create mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/index/part-0-d213a419-0c77-4952-b924-b6af300f393b.idx/.metadata.json.gz.crc create mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/index/part-0-d213a419-0c77-4952-b924-b6af300f393b.idx/index create mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/index/part-0-d213a419-0c77-4952-b924-b6af300f393b.idx/metadata.json.gz delete mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/rows/parts/.part-0-c11f065f-e1bb-4a1f-9f2d-ad814a396818.crc create mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/rows/parts/.part-0-d213a419-0c77-4952-b924-b6af300f393b.crc delete mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/rows/parts/part-0-c11f065f-e1bb-4a1f-9f2d-ad814a396818 create mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/rows/parts/part-0-d213a419-0c77-4952-b924-b6af300f393b create mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/.README.txt.crc create mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/._SUCCESS.crc create mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/.metadata.json.gz.crc create mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/README.txt create mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/_SUCCESS create mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/globals/.metadata.json.gz.crc create mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/globals/metadata.json.gz create mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/globals/parts/.part-0.crc create mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/globals/parts/part-0 create mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/index/part-0-85535ceb-5403-4697-bec1-5eccf7ff958a.idx/.index.crc create mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/index/part-0-85535ceb-5403-4697-bec1-5eccf7ff958a.idx/.metadata.json.gz.crc create mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/index/part-0-85535ceb-5403-4697-bec1-5eccf7ff958a.idx/index create mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/index/part-0-85535ceb-5403-4697-bec1-5eccf7ff958a.idx/metadata.json.gz create mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/metadata.json.gz create mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/rows/.metadata.json.gz.crc create mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/rows/metadata.json.gz create mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/rows/parts/.part-0-85535ceb-5403-4697-bec1-5eccf7ff958a.crc create mode 100644 hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/rows/parts/part-0-85535ceb-5403-4697-bec1-5eccf7ff958a diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/.README.txt.crc b/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/.README.txt.crc index b8eaa2d478e189846de5e8165c6d446d224fa9af..17e2f8ae70ba902a4fb797c1a1b41c429b64b6ac 100644 GIT binary patch literal 12 TcmYc;N@ieSU}AVLXWt3{5}5-G literal 12 TcmYc;N@ieSU}8AI)a?ua5&r_y diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/.metadata.json.gz.crc b/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/.metadata.json.gz.crc index 8d6507b0100c50e8d6ee30420d567d9a808e7ef5..55d0cdd18d688c3a7c902325c814d92771301803 100644 GIT binary patch literal 12 TcmYc;N@ieSU}E6-v?mq-5=#S4 literal 12 TcmYc;N@ieSU}DI;?y3v`5>^7^ diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/README.txt b/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/README.txt index 5daea17753..22050e815e 100644 --- a/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/README.txt +++ b/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/README.txt @@ -1,3 +1,3 @@ This folder comprises a Hail (www.hail.is) native Table or MatrixTable. Written with version 0.2.128-eead8100a1c1 - Created at 2024/08/16 15:39:04 \ No newline at end of file + Created at 2025/01/02 17:23:59 \ No newline at end of file diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/globals/parts/.part-0.crc b/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/globals/parts/.part-0.crc index 905a30feecaf6f082dfeb576d78198faa8bee189..871216cce145dda17e10d163a766e88221cc3d16 100644 GIT binary patch literal 12 TcmYc;N@ieSU}AX8BJ=|Q5;OxW literal 12 TcmYc;N@ieSU}7-2V166`5%mK- diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/globals/parts/part-0 b/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/globals/parts/part-0 index 05ec205c54a6ecbeb75db969956d48149ca772d3..c33540def91eb8f00ead25af95785a68ee7b3dcc 100644 GIT binary patch literal 114 zcma!LU|^^LVvVi(e-&z4nHat>GcqwSa0VF|7#PMIW~VcUy9P5daJm^7#Tzj&NSegw z<>$pG<|XD-7MH{q6y;~7CYLaWy93p58Jff!nlP|3IG8Np4E{W2$NWIH1)RJf literal 69 zcmXqDU|=u+VvVi(e-#X585wRcGBPl51{oL_7{(iBr!$AU1~W2nx)~V78!<33IGjDv Pq{a(W4+3C43_#@o#7_+y diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/index/part-0-c11f065f-e1bb-4a1f-9f2d-ad814a396818.idx/.index.crc b/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/index/part-0-c11f065f-e1bb-4a1f-9f2d-ad814a396818.idx/.index.crc deleted file mode 100644 index 78fad9791a2cb58bbe1666966c0af14f039b3b79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmYc;N@ieSU}D(g@^vZz6T1V& diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/index/part-0-c11f065f-e1bb-4a1f-9f2d-ad814a396818.idx/.metadata.json.gz.crc b/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/index/part-0-c11f065f-e1bb-4a1f-9f2d-ad814a396818.idx/.metadata.json.gz.crc deleted file mode 100644 index ca274b3389a33a5773a7d1ce93a6b7b617301ef4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmYc;N@ieSU}BiCA|nX^66ymz diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/index/part-0-c11f065f-e1bb-4a1f-9f2d-ad814a396818.idx/index b/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/index/part-0-c11f065f-e1bb-4a1f-9f2d-ad814a396818.idx/index deleted file mode 100644 index 3d8c9a969ba727feb8ae1c78543e6b46e2aed60b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65 ycmb1PU|`?}VvVi(e--#Efh-0_M)Ns`R=6-RIx@O5$N~ifVDbWuAXy+rQUCyR*$d+U diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/index/part-0-c11f065f-e1bb-4a1f-9f2d-ad814a396818.idx/metadata.json.gz b/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/index/part-0-c11f065f-e1bb-4a1f-9f2d-ad814a396818.idx/metadata.json.gz deleted file mode 100644 index 14e2c0d67c660e738ce10971071199f6c6915139..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 185 zcmV;q07m~GiwFP!0000009B5`3c@fDME_+^3OQ6;s^%tw9uyQ6FXADs+a?$iNw#1p z{dc$CybKF7`(}D*jKv#6+dM z5-t?FntJQ&F3Q8Glihiv^TkvsYtdqq>kw4BbC8LT0R$-LJSpPJf5_;$J*Eh9CcwBS neol%s2YxrZ!FxJ3O+=oN^A1H!tvW(}>4)J9{jxpC&j0`bO+iqn diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/index/part-0-d213a419-0c77-4952-b924-b6af300f393b.idx/.index.crc b/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/index/part-0-d213a419-0c77-4952-b924-b6af300f393b.idx/.index.crc new file mode 100644 index 0000000000000000000000000000000000000000..9e82cfb61effec80dffe2ecec0f03363fe0e0794 GIT binary patch literal 12 TcmYc;N@ieSU}C6Zee4VX5r6{V literal 0 HcmV?d00001 diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/index/part-0-d213a419-0c77-4952-b924-b6af300f393b.idx/.metadata.json.gz.crc b/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/index/part-0-d213a419-0c77-4952-b924-b6af300f393b.idx/.metadata.json.gz.crc new file mode 100644 index 0000000000000000000000000000000000000000..e05cfb69de77e5d8801db170fbdd78f4463d7999 GIT binary patch literal 12 TcmYc;N@ieSU}BK`=k*T&5^w{W literal 0 HcmV?d00001 diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/index/part-0-d213a419-0c77-4952-b924-b6af300f393b.idx/index b/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/index/part-0-d213a419-0c77-4952-b924-b6af300f393b.idx/index new file mode 100644 index 0000000000000000000000000000000000000000..0734b2c39522db842dd14621aa7ebbc3f5161394 GIT binary patch literal 75 zcmY#qU|^5}VvVi(e-)%I0$B`9jE2VpnV1}%866oI&F36i;ljk|$mlL81C-;3Ddn$Z LU|?hfVuV@%3PKHi literal 0 HcmV?d00001 diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/index/part-0-d213a419-0c77-4952-b924-b6af300f393b.idx/metadata.json.gz b/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/index/part-0-d213a419-0c77-4952-b924-b6af300f393b.idx/metadata.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..879fa5f3300aa66735f6a61d98898c8a04706b93 GIT binary patch literal 183 zcmV;o07(BIiwFP!0000009B5`3c@fDME_+^3ON*8s^%tw9uyQ6FXADs+a?$iNw#1p z{dc#$c^L*~_RaRt7>jod(Rc^4EVE)IpbE;>+PHS7YVrYOk*!Ms8cnMS;35;B0|-#gc~Zoa|Bx|r2TXC=Fz$ul lvm(uf$#WXKr&H5J1I|mM342`3lO-hum+C5#=_HxVlH~&c-!Es=DW8cMp~S%f9B2VPcc601 zu?X;04G8kj5RbKmP}y~d=BUgkS8R)}64+R0zCd7p;H6X&JbznDf$6TY3etc`eWd4C zMxUJH^&n;$jZV)?JM{4E%=~4~TKWw&OO+9or(7ve;4|vXDUQ-t*jx9!d)};y`Qkou zY}EVO8ac+=h3KNf4u-ird(k*gXaRVum~yPNVa7J>OqkLd4H`XR4LPr?|J1zf*0}jt zuOhOwAo`oQtWQ7kZBWhW|Gpj$Cd(a44ELT3Qw=i=0q?Q2>MOTlkx!GX%W=j+;9-<- o5eLth+Dng83sm(h)UYQkY!lixqz(T559+P$FWO-QFuDQ&0MC!AoB#j- delta 342 zcmV-c0jd7v0^|aa7k|W7n3A`lFvj*URQ6Iz$>P;!OOue?PKxxuFRhJI*~4Di=G^a` zd%5X}?4^R@2b`Bi6ZSZtr3*?*F4a{e(@8o>(!~P+-z}2qlqVt~lsMRf11-Q84pd<| zmI1!10YUy5;<2$1D%Rz-(Jv1zA9(KG5?k zr%%rDW)Sn7MyKbM9eQ|nX8yA0E&YauWy*-!Q?3*!@Hutn7)R+V?5%s=J+GJLY8Fk>5bCQN0G292Ju6FIM||J1zd*0}yy zEhDnAAo`oQtWQ7kZBWhe|Gpj$Cd(a44EJ6LQx7u?0q?Q2>?^lnk7rZC0hld diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/rows/metadata.json.gz b/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/rows/metadata.json.gz index 5e76d5dbbaef5c6bee2b7bbe5fbd6d340eaf98c7..d379d392863f9df5b67d3f6d185cd947c1f308d1 100644 GIT binary patch literal 618 zcmV-w0+szAiwFP!000000NqwyZ`v>v{V#snw4}=yWaJGPtB|T`f@u${P-Nm8a2uS+ zF;f}JfA4it5|S`!RO(B4h{(Ce_nu=PDLxWGcR&I%7Yv?&Eq;AnW)L~VAmJk%NN`V* zG}`C*PLl)@$jJ&zQOY3FL=qfN9ey4%VAHyQEYJ{EKFuaHhozGHNFB>|K?{mfq4-8) zTu^y1vNY$4rvj0=P_9!LFS8LCOGyv+C+f<`WcmP+3UftOQ*UU^6bW&d(_L2eDH|JG zP<<@jb+KZ#Dzu?LFNRuH?)3A+?P9uh{g1WMN&phM*mPA^wVKft*O%58){?c}$1%vx zaoo)&w)17ulnfGWdBV;p6EyIM`dXy52ABLV5{83;JM1s}ohw!@y>cB|1-k35Ec6de za2>#ohxrLB^C%(tLDd%Vo14!iU84!mxJ=!DMe#fkF_*atIeV&(dFUCK_*TXmE>?m! zjB#P4ah!vyl~5s4%u2QTY(`OBOk!i@%t$L>+Q7B3tyT3jb=16*04k7zCf_kPuM1Q; zPlC7{p)#>y%o7MZhusfig}iy_sxcCxRI?*rg9IO-D!6zh;E)yslIXj?Z@kYelabRIkrnZdt_RX@0;Fe;F#-?0^9Q3QPEsHaQJwNj4{FU zCLq}5CVsn#=Q_S+`%b43l5WdBTtvy9VXjM6Xd7y5rblR`&_<|IQco(1XIpiB>@^7h E0Pq4NZ~y=R literal 606 zcmV-k0-^mMiwFP!000000Ns|~Z`v>r$Nv{UZEDgHem8HWV--?0O)%|Y6^e{~2DibE z95a=n{O>&{C6I(lqgr3eLqzV*ci*r5k>VXubPXgV6UE^P`1IG;Spuw0JQ6*^mW1~t z)@+mFJB?$AAtiH6G0lOwLK5!w9e!>T;5TIgtH6aYb1@##6lT_JnBC>=!b*r~W#!Vv zq@rf)B|4Q>YK4)BvYmG3z0AhIwJ~&izb~D8iO~2`Xv>I^=YQVRiCDAlqqv&fYdb#YB;O<@&Ti;WOq zYUgn`9tG{;=#cUVTgjLom5k89BkHRZEnILW|6)PE*X#6~%YLVp=S$CAhgN~E>nk(& zLle>wSo1L1$8sPI#6PHAVf^y)OJ44xF;J0X_fISy10keIZ6x_qam@X$hsakTJJez( zd`FHmPYaQPEtOEEG_q2xKAMqbCrLb5IWkfK%o#Wr+fr3SQ%%hW0nma`H2#j&65s<> diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/rows/parts/.part-0-d213a419-0c77-4952-b924-b6af300f393b.crc b/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/rows/parts/.part-0-d213a419-0c77-4952-b924-b6af300f393b.crc new file mode 100644 index 0000000000000000000000000000000000000000..433649fc5733e5365581e99b364cdf2c1bc8631f GIT binary patch literal 12 TcmYc;N@ieSU}DJ1DfkHh5=8@g literal 0 HcmV?d00001 diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/rows/parts/part-0-c11f065f-e1bb-4a1f-9f2d-ad814a396818 b/hail_search/fixtures/GRCh37/SNV_INDEL/lookup.ht/rows/parts/part-0-c11f065f-e1bb-4a1f-9f2d-ad814a396818 deleted file mode 100644 index 2389c50627052e0f0994fdb969360ce6e3c060ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52 xcmb1VU|XM(jWj)IVvVi(e-%^|85tNE4UY#hF*!OjIx;abGJyol=Nww$!o=vv=*|QbVq|3C O1!@2RuqFmZ1_l6ox(Y7< literal 0 HcmV?d00001 diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/.README.txt.crc b/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/.README.txt.crc new file mode 100644 index 0000000000000000000000000000000000000000..d5ad8f7e2d0c422b4ea5c846b528c45ab59b55de GIT binary patch literal 12 TcmYc;N@ieSU}6y2dG0Cz5^Mvj literal 0 HcmV?d00001 diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/._SUCCESS.crc b/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/._SUCCESS.crc new file mode 100644 index 0000000000000000000000000000000000000000..3b7b044936a890cd8d651d349a752d819d71d22c GIT binary patch literal 8 PcmYc;N@ieSU}69O2$TUk literal 0 HcmV?d00001 diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/.metadata.json.gz.crc b/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/.metadata.json.gz.crc new file mode 100644 index 0000000000000000000000000000000000000000..cbb87d8879b009e207acf7fa2dd30e188b0978c3 GIT binary patch literal 12 TcmYc;N@ieSU}E6;F^v%b5yb-5 literal 0 HcmV?d00001 diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/README.txt b/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/README.txt new file mode 100644 index 0000000000..c7b6eb301a --- /dev/null +++ b/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/README.txt @@ -0,0 +1,3 @@ +This folder comprises a Hail (www.hail.is) native Table or MatrixTable. + Written with version 0.2.128-eead8100a1c1 + Created at 2025/01/02 17:57:36 \ No newline at end of file diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/_SUCCESS b/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/_SUCCESS new file mode 100644 index 0000000000..e69de29bb2 diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/globals/.metadata.json.gz.crc b/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/globals/.metadata.json.gz.crc new file mode 100644 index 0000000000000000000000000000000000000000..52404ebea7b5583be6004f74544a0fd27afab689 GIT binary patch literal 12 TcmYc;N@ieSU}9j6{S66|9<@lpVHI0@R(@YYly zo+biS;2>nYkg^&gqb)aW&5A0AM2b4_!bh!Hvk$3MOgFJVa0YEi_NZ?w!30h1ZI-W2A?M^ zrrt_E+WeWYpX*@L6!c;dFCo2KJJUk{>Zw4I*mg*m&T0Iwexg80{dRT;{pHxUu&3V literal 0 HcmV?d00001 diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/globals/parts/.part-0.crc b/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/globals/parts/.part-0.crc new file mode 100644 index 0000000000000000000000000000000000000000..581ceab411ec4b01ec95392a47a11df0956f26c8 GIT binary patch literal 12 TcmYc;N@ieSU}6yMii`vR5PbrS literal 0 HcmV?d00001 diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/globals/parts/part-0 b/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/globals/parts/part-0 new file mode 100644 index 0000000000000000000000000000000000000000..2da408adba902a707a40c7ef734fb23acf74e6b0 GIT binary patch literal 141 zcmbFXD#78dEIB$gx= zr7Ud=8=$9Gml_jU?C8bv}GH|&W i0D+-NyrBsLGXt}8gMqc%u6b#^Kzl&|Y&QcV0|Nk~yd@m~ literal 0 HcmV?d00001 diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/index/part-0-85535ceb-5403-4697-bec1-5eccf7ff958a.idx/.index.crc b/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/index/part-0-85535ceb-5403-4697-bec1-5eccf7ff958a.idx/.index.crc new file mode 100644 index 0000000000000000000000000000000000000000..3b5f783b8e930aa21db2d7858d126e992a06d3d6 GIT binary patch literal 12 TcmYc;N@ieSU}Ct!wSGSU6AJ@} literal 0 HcmV?d00001 diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/index/part-0-85535ceb-5403-4697-bec1-5eccf7ff958a.idx/.metadata.json.gz.crc b/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/index/part-0-85535ceb-5403-4697-bec1-5eccf7ff958a.idx/.metadata.json.gz.crc new file mode 100644 index 0000000000000000000000000000000000000000..8a49d39d8085dd41ffe821e1211bdc6c6781861a GIT binary patch literal 12 TcmYc;N@ieSU}AXEINbsO6Zr#g literal 0 HcmV?d00001 diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/index/part-0-85535ceb-5403-4697-bec1-5eccf7ff958a.idx/index b/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/index/part-0-85535ceb-5403-4697-bec1-5eccf7ff958a.idx/index new file mode 100644 index 0000000000000000000000000000000000000000..bf0064cce9c3895da769e8c935bed73361b53c01 GIT binary patch literal 63 wcmb1UU|`?_VvVi(e--!&fh-0_M#JNQOiYf>jE)R4Kt4ZAn!gex3B(9_05X9I*#H0l literal 0 HcmV?d00001 diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/index/part-0-85535ceb-5403-4697-bec1-5eccf7ff958a.idx/metadata.json.gz b/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/index/part-0-85535ceb-5403-4697-bec1-5eccf7ff958a.idx/metadata.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..63e4c6ca648f383ce11aebc2c60d085419c3f4f4 GIT binary patch literal 184 zcmV;p07w5HiwFP!0000009B5`3c@f9hTkP8g&w9GQ+pFZ4+@Hk7xB=|Y%P{n+6*jX z?{4PJO9=d5zWhBj#^Mb_G~R(M%dA)msDg5}Hm=>OntT9RWUEquM$>8nIT!H4bWLvr z2^R`oO}+JX7v*7`lihiv^TkvsYtdqq>kw4BGswor00NYAo)q!Rf617+J*Eh9CcwBS meol%s1HYZq;5{9iCL-6!nNh^nsw3o+ei*)=Z@VJT0001)VNsa? literal 0 HcmV?d00001 diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/metadata.json.gz b/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/metadata.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..e43fa94230e053472621205068ac2368e7081a1b GIT binary patch literal 372 zcmV-)0gL`0iwFP!000000F9DSYr-%Th5t*QHps+Qn3A`xG8x;0Q`w7@64R@OrAbNB zNh$sByRB_Sw}-uiL_FVNyf1UW%BDF~2W56#v9-5_@Rj3Pj)Y7dd$N|7 zThygK#I!3kR(95Ck*C~)V{7mOw&$5tWpXHfCv>HAkYjTxdK!Ax+_NAz;+=li1Hi(-XYjQvyt`Y{Z^ITJ@bY5!VRrv-bq=ez{psq2k S^SA%2wbnnC1;vKg0ssI_q_^Y% literal 0 HcmV?d00001 diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/rows/.metadata.json.gz.crc b/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/rows/.metadata.json.gz.crc new file mode 100644 index 0000000000000000000000000000000000000000..3ee859d28626d945787dbad2d30f83702e4c182f GIT binary patch literal 16 XcmYc;N@ieSU}Bh);PHx|$(RuUAlCz~ literal 0 HcmV?d00001 diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/rows/metadata.json.gz b/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/rows/metadata.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..4b5589861446b21bd5ee70902d845fb6705532a3 GIT binary patch literal 619 zcmV-x0+jt9iwFP!000000NqwwZ`v>z{V#snw4~z}E_oxABBW~SpxVPKgpBhAyaoq3 zW-3Ge@BN&RD@+=l`cfXiIp6IZ`v5)?LAO9$G8I0&fIs_jJKq6o5sNIJ;XvFc5=Lwv z<1-CI2q7j546(=uW)g{e%sM;J& z?)WZ@s9E1WWa#Aaw9<=(Ho|_NgjFQnoA*zX*=W=5ea;!D(=d^Xb-{KHs=%s5(}KM0 z#4o2;VwaN};joO_Y99n3Ye#cG_L{A}SA;CWHazr8DISV=Mn09Kl>z7c4<>XSr`yz>E46u{2yV<+(=g4j#G4Yr2dXxR-`spn(hV8{4H5_blP${@2)K;Z zlKU^I=eivW-Cyxrk&6-c9WAY`CGr0A)-G(+o)ZY-pfgjD=w1YB#~oYfhp z8k-MdK>V5t8h%6HyvC!P0SS0<+q^|T~z5^BS zohz^FuB*P@sh6buMaV}qFK*f!|DTdQD0ZjXMHAC}N2R*s<{p4o1M^@v>^`z|7_4lk z(`ehB?x1I{fHiFg7z=tqFmU=bxisN!3$VEO0 F0074CCXxUE literal 0 HcmV?d00001 diff --git a/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/rows/parts/.part-0-85535ceb-5403-4697-bec1-5eccf7ff958a.crc b/hail_search/fixtures/GRCh37/SNV_INDEL/projects/WGS/R0004_non_analyst_project.ht/rows/parts/.part-0-85535ceb-5403-4697-bec1-5eccf7ff958a.crc new file mode 100644 index 0000000000000000000000000000000000000000..006238b850c6201686ae4d16e8c515f91596bbd0 GIT binary patch literal 12 TcmYc;N@ieSU}BidbD Date: Thu, 2 Jan 2025 15:03:04 -0500 Subject: [PATCH 9/9] update lookup test --- seqr/views/apis/variant_search_api_tests.py | 32 +++++++++++++++------ 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/seqr/views/apis/variant_search_api_tests.py b/seqr/views/apis/variant_search_api_tests.py index eef51399c7..c8e03aa305 100644 --- a/seqr/views/apis/variant_search_api_tests.py +++ b/seqr/views/apis/variant_search_api_tests.py @@ -804,12 +804,14 @@ def test_variant_lookup(self, mock_variant_lookup): expected_variant = { **VARIANT_LOOKUP_VARIANT, 'familyGuids': [], - 'lookupFamilyGuids': ['F0_1-10439-AC-A', 'F1_1-10439-AC-A'], + 'lookupFamilyGuids': ['F0_1-10439-AC-A', 'F1_1-10439-AC-A', 'F2_1-10439-AC-A'], + 'liftedFamilyGuids': ['F2_1-10439-AC-A'], 'genotypes': { 'I0_F0_1-10439-AC-A': {'ab': 0.0, 'dp': 60, 'gq': 20, 'numAlt': 0, 'filters': [], 'sampleType': 'WES'}, 'I1_F0_1-10439-AC-A': {'ab': 0.0, 'dp': 24, 'gq': 0, 'numAlt': 0, 'filters': [], 'sampleType': 'WES'}, 'I2_F0_1-10439-AC-A': {'ab': 0.5, 'dp': 10, 'gq': 99, 'numAlt': 1, 'filters': [], 'sampleType': 'WES'}, 'I0_F1_1-10439-AC-A': {'ab': 1.0, 'dp': 6, 'gq': 16, 'numAlt': 2, 'filters': [], 'sampleType': 'WES'}, + 'I0_F2_1-10439-AC-A': {'ab': 0.531000018119812, 'dp': 27, 'gq': 87, 'numAlt': 1, 'filters': None, 'sampleType': 'WGS'}, }, } del expected_variant['familyGenotypes'] @@ -830,6 +832,11 @@ def test_variant_lookup(self, mock_variant_lookup): 'features': [{'category': 'HP:0001626', 'label': '1 terms'}, {'category': 'Other', 'label': '1 terms'}], 'vlmContactEmail': 'seqr-test@gmail.com,test@broadinstitute.org', }, + 'I0_F2_1-10439-AC-A': { + 'affected': 'A', 'familyGuid': 'F2_1-10439-AC-A', 'features': [], + 'individualGuid': 'I0_F2_1-10439-AC-A', 'sex': 'F', + 'vlmContactEmail': 'vlm@broadinstitute.org', + }, 'I1_F0_1-10439-AC-A': { 'affected': 'N', 'familyGuid': 'F0_1-10439-AC-A', 'features': [], 'individualGuid': 'I1_F0_1-10439-AC-A', 'sex': 'M', @@ -860,7 +867,7 @@ def test_variant_lookup(self, mock_variant_lookup): response_variant['variantId'] = '1-248367227-TC-T' response_variant['genomeVersion'] = '37' - self.login_collaborator() + self.login_manager() response = self.client.get(url.replace("38", "37")) self.assertEqual(response.status_code, 200) @@ -869,9 +876,11 @@ def test_variant_lookup(self, mock_variant_lookup): ('I000005_hg00732', 'I1_F0_1-10439-AC-A', {'sampleId': 'HG00732', 'familyGuid': 'F000002_2'}), ('I000004_hg00731', 'I2_F0_1-10439-AC-A', {'sampleId': 'HG00731', 'familyGuid': 'F000002_2'}), ('I000015_na20885', 'I0_F1_1-10439-AC-A', {'sampleId': 'NA20885', 'familyGuid': 'F000011_11'}), + ('I000018_na21234', 'I0_F2_1-10439-AC-A', {'sampleId': 'NA21234', 'familyGuid': 'F000014_14'}), ] expected_variant.update({ - 'lookupFamilyGuids': ['F000002_2', 'F000011_11'], + 'lookupFamilyGuids': ['F000002_2', 'F000011_11', 'F000014_14'], + 'liftedFamilyGuids': ['F000014_14'], 'genotypes': { individual_guid: {**expected_variant['genotypes'][anon_individual_guid], **genotype} for individual_guid, anon_individual_guid, genotype in individual_guid_map @@ -881,32 +890,37 @@ def test_variant_lookup(self, mock_variant_lookup): }) expected_body.update({ **{k: {**EXPECTED_SEARCH_RESPONSE[k]} for k in { - 'savedVariantsByGuid', 'variantTagsByGuid', 'variantNotesByGuid', + 'mmeSubmissionsByGuid', 'variantTagsByGuid', 'variantNotesByGuid', }}, **EXPECTED_TRANSCRIPTS_RESPONSE, + 'omimIntervals': {}, + 'savedVariantsByGuid': {'SV0000002_1248367227_r0390_100': EXPECTED_SAVED_VARIANT}, 'variantFunctionalDataByGuid': {}, 'locusListsByGuid': EXPECTED_SEARCH_CONTEXT_RESPONSE['locusListsByGuid'], 'projectsByGuid': { p: {k: mock.ANY for k in PROJECT_TAG_TYPE_FIELDS} - for p in [PROJECT_GUID, 'R0003_test'] + for p in [PROJECT_GUID, 'R0003_test', 'R0004_non_analyst_project'] }, 'familiesByGuid': { f: {k: mock.ANY for k in [*FAMILY_FIELDS, 'individualGuids']} - for f in ['F000002_2', 'F000011_11'] + for f in ['F000002_2', 'F000011_11', 'F000014_14'] }, 'individualsByGuid': { i[0]: {k: mock.ANY for k in [*INDIVIDUAL_FIELDS, 'igvSampleGuids']} - for i in individual_guid_map + for i in individual_guid_map + [('I000019_na21987',)] }, }) expected_body['genesById']['ENSG00000227232'] = expected_pa_gene - del expected_body['savedVariantsByGuid']['SV0000001_2103343353_r0390_100'] + expected_body['mmeSubmissionsByGuid']['MS000018_P0004517'] = expected_body['mmeSubmissionsByGuid'].pop('MS000001_na19675') + expected_body['savedVariantsByGuid']['SV0000006_1248367227_r0004_non'] = mock.ANY + expected_body['variantTagsByGuid']['VT1726970_2103343353_r0004_tes'] = EXPECTED_TAG + expected_body['variantTagsByGuid']['VT1726961_2103343353_r0005_tes'] = EXPECTED_TAG for k in ['VT1708633_2103343353_r0390_100', 'VT1726961_2103343353_r0390_100']: del expected_body['variantTagsByGuid'][k] self.assertDictEqual(response.json(), expected_body) mock_variant_lookup.assert_called_with( - self.collaborator_user, ('1', 10439, 'AC', 'A'), genome_version='37', + self.manager_user, ('1', 10439, 'AC', 'A'), genome_version='37', ) @mock.patch('seqr.views.apis.variant_search_api.sv_variant_lookup')